Commit Graph

31 Commits

Author SHA1 Message Date
0a24c71112 code: hpp,dbal,cpp (2 files) 2025-12-26 06:22:43 +00:00
7bfcb4623d code: cpp,dbal,client (2 files) 2025-12-26 06:21:41 +00:00
7f94ebe426 docs: dbal,cpp,txt (4 files) 2025-12-26 06:20:05 +00:00
2735dda76a code: cpp,dbal,client (2 files) 2025-12-26 06:18:46 +00:00
d31131dc33 code: hpp,dbal,cpp (2 files) 2025-12-26 06:16:56 +00:00
753cc8ad53 code: cpp,dbal,hpp (3 files) 2025-12-26 06:15:20 +00:00
62374a10f9 docs: dbal,frontends,json (6 files) 2025-12-26 06:10:35 +00:00
7b529ad36e code: cpp,dbal,hpp (3 files) 2025-12-26 06:06:58 +00:00
da0c42ce33 code: types,hpp,dbal (1 files) 2025-12-26 06:06:25 +00:00
920dc0cd6c code: cpp,dbal,client (2 files) 2025-12-26 06:04:38 +00:00
85465de036 code: types,hpp,dbal (1 files) 2025-12-26 06:02:27 +00:00
608d7c9a30 docs: dbal,cpp,hpp (3 files) 2025-12-26 05:56:30 +00:00
79fdc08bde code: types,hpp,dbal (1 files) 2025-12-26 05:54:05 +00:00
9e4e9f3e4a docs: dbal,cpp,hpp (6 files) 2025-12-26 03:53:08 +00:00
30fe2785c1 code: hpp,dbal,cpp (4 files) 2025-12-26 03:52:20 +00:00
1c2111b13b code: session,nextjs,frontends (5 files) 2025-12-26 03:52:04 +00:00
1653e06a68 code: toggle,package,nextjs (2 files) 2025-12-26 03:51:16 +00:00
39502f4916 code: dbal,hpp,cpp (7 files) 2025-12-26 02:37:03 +00:00
115b679983 docs: nextjs,frontends,session (86 files) 2025-12-26 00:03:46 +00:00
8fa6de14c0 stuff 2025-12-25 23:33:10 +00:00
391cb39523 code: dbal,hpp,cpp (2 files) 2025-12-25 23:06:01 +00:00
f643db3746 config: hpp,dbal,cpp (3 files) 2025-12-25 23:05:45 +00:00
a566b3e775 code: dbal,cpp,hpp (3 files) 2025-12-25 23:04:57 +00:00
30de0d63f4 code: cpp,dbal,hpp (3 files) 2025-12-25 23:04:41 +00:00
63518a390c code: hpp,dbal,cpp (1 files) 2025-12-25 23:04:09 +00:00
323022ea2f config: dbal,hpp,cpp (3 files) 2025-12-25 23:03:53 +00:00
copilot-swe-agent[bot]
61d6558ace Add comprehensive docstrings and industry-standard C++ linting
Implemented professional documentation and code quality tools:

**Docstrings (Doxygen-style):**
- Comprehensive file-level documentation
- Class and struct documentation with examples
- Function documentation (params, returns, throws)
- Member variable inline documentation
- Example code blocks
- Cross-references

**Linting Configuration:**
- .clang-tidy - Industry-standard static analysis
  - bugprone, cert, cppcoreguidelines checks
  - Google C++ Style Guide compliance
  - Modern C++ suggestions
  - Performance optimizations
- .clang-format - Automatic code formatting
  - Based on Google style with customizations
  - 4-space indentation, 100-char line limit
  - Consistent pointer/reference alignment

**Lint Script (lint.sh):**
- Automated quality checks
- clang-tidy static analysis
- clang-format formatting verification
- cppcheck additional analysis
- Long function detection
- TODO/FIXME tracking
- --fix flag for auto-formatting

**Documentation:**
- README.Linting.md - Complete linting guide
  - Tool installation
  - Usage examples
  - Pre-commit hooks
  - IDE integration (VSCode, CLion)
  - Common issues and fixes
  - CI/CD integration

**Standards:**
- Naming conventions enforced
- C++ Core Guidelines compliance
- Secure coding (CERT guidelines)
- Readability and maintainability
- Performance best practices

Production-grade code quality infrastructure.

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-25 00:49:56 +00:00
copilot-swe-agent[bot]
9bfa454dca Add comprehensive multi-tenant system with access control, quotas, and KV store
Implemented full multi-tenant support for blob storage and structured data:

**Blob Storage (1-4):**
1.  Multi-tenant isolation - Namespace-based separation
2.  Access control - Role-based permissions (owner/admin/member/viewer)
3.  Storage quotas - Max size, count, per-file limits
4.  Virtual root directories - Scoped views with sandboxing

**Structured Data (1-3):**
1.  Multi-tenant isolation - Tenant-scoped KV store
2.  Access control - Permission checks on all operations
3.  Storage quotas - Record count, data size, list length limits

**Key-Value Store:**
- Primitives: string, number, boolean, null
- Complex: objects, arrays/lists
- Operations: get/set/delete/exists
- List support: add/get/remove/length/clear
- Batch: mget/mset
- Query: list/count/clear
- TTL support for expiration

**TypeScript Implementation (3 new files):**
- tenant-context.ts - Identity, quotas, permissions
- kv-store.ts - Multi-tenant KV store with list support
- tenant-aware-storage.ts - Blob storage wrapper

**C++ Implementation (2 new headers):**
- tenant_context.hpp - Complete tenant context
- kv_store.hpp - KV store interface

**Documentation:**
- MULTI_TENANT_SYSTEM.md - Complete guide with examples

All features working with comprehensive access control and quota enforcement.

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-24 23:37:21 +00:00
copilot-swe-agent[bot]
ff7c504410 Add blob storage support: S3, filesystem, in-memory
Implemented comprehensive blob storage for DBAL:

TypeScript (Production-ready):
- S3 storage (AWS, MinIO, S3-compatible)
- Filesystem storage (local, Samba/CIFS, NFS)
- In-memory storage (testing)
- Full streaming support
- Presigned URLs (S3)
- Metadata management
- Range requests

C++:
- Complete interface definition
- Memory storage implementation
- Ready for S3/filesystem impl

Features:
- Upload/download with streaming
- Copy, delete, exists operations
- List with pagination
- Metadata and statistics
- Path traversal protection
- AWS SDK v3 integration

Libraries used:
- @aws-sdk/client-s3 (optional)
- @aws-sdk/lib-storage (optional)
- @aws-sdk/s3-request-presigner (optional)

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-24 23:21:31 +00:00
copilot-swe-agent[bot]
b309b20ccc Implement C++ daemon with CMake, Ninja build system
Created complete C++ implementation:
- Core library (client, errors, capabilities)
- Query engine (AST, builder, normalizer)
- Utilities (UUID generation, exponential backoff)
- SQLite adapter and connection pool
- Daemon server with security manager
- Unit, integration, and conformance tests

Build system:
- CMakeLists.txt with optional Conan dependencies
- Renamed build assistant to .cjs for ES module compatibility
- Fixed conanfile.txt format for Conan 2.x
- All tests passing, daemon runs successfully

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-24 22:46:00 +00:00
49f40177b5 Generated by Spark: I was thinking more like this, you can replace python with ts if you like: dbal/
README.md
  LICENSE
  AGENTS.md

  api/                          # Language-agnostic contract (source of truth)
    schema/
      entities/                 # Entity definitions (conceptual models)
        user.yaml
        session.yaml
        ...
      operations/               # CRUD + domain operations (semantic, not SQL)
        user.ops.yaml
        ...
      errors.yaml               # Standard error codes (conflict, not_found, etc.)
      capabilities.yaml         # Feature flags per backend (tx, joins, ttl, etc.)
    idl/
      dbal.proto                # Optional: RPC/IPC contract if needed
      dbal.fbs                  # Optional: FlatBuffers schema if you prefer
    versioning/
      compat.md                 # Compatibility rules across TS/C++

  common/                       # Shared test vectors + fixtures + golden results
    fixtures/
      seed/
      datasets/
    golden/
      query_results/
    contracts/
      conformance_cases.yaml

  ts/                           # Development implementation in TypeScript
    package.json
    tsconfig.json
    src/
      index.ts                  # Public entrypoint (creates client)
      core/
        client.ts               # DBAL client facade
        types.ts                # TS types mirroring api/schema
        errors.ts               # Error mapping to api/errors.yaml
        validation/             # Runtime validation (zod/io-ts/etc.)
          input.ts
          output.ts
        capabilities.ts         # Capability negotiation
        telemetry/
          logger.ts
          metrics.ts
          tracing.ts
      adapters/                 # Backend implementations (TS)
        prisma/
          index.ts
          prisma_client.ts      # Wraps Prisma client (server-side only)
          mapping.ts            # DB <-> entity mapping, select shaping
          migrations/           # Optional: Prisma migration helpers
        sqlite/
          index.ts
          sqlite_driver.ts
          schema.ts
          migrations/
        mongodb/
          index.ts
          mongo_driver.ts
          schema.ts
      query/                    # Query builder / AST (no backend leakage)
        ast.ts
        builder.ts
        normalize.ts
        optimize.ts
      runtime/
        config.ts               # DBAL config (env, URLs, pool sizes)
        secrets.ts              # Secret loading boundary (server-only)
      util/
        assert.ts
        retry.ts
        backoff.ts
        time.ts
    tests/
      unit/
      integration/
      conformance/              # Runs common/contract vectors on TS adapters
      harness/
        setup.ts

  cpp/                          # Production implementation in C++
    CMakeLists.txt
    include/
      dbal/
        dbal.hpp                # Public API
        client.hpp              # Facade
        types.hpp               # Entity/DTO types
        errors.hpp
        capabilities.hpp
        telemetry.hpp
        query/
          ast.hpp
          builder.hpp
          normalize.hpp
        adapters/
          adapter.hpp           # Adapter interface
          sqlite/
            sqlite_adapter.hpp
          mongodb/
            mongodb_adapter.hpp
          prisma/
            prisma_adapter.hpp  # Usually NOT direct; see note below
        util/
          expected.hpp
          result.hpp
          uuid.hpp
    src/
      client.cpp
      errors.cpp
      capabilities.cpp
      telemetry.cpp
      query/
        ast.cpp
        builder.cpp
        normalize.cpp
      adapters/
        sqlite/
          sqlite_adapter.cpp
          sqlite_pool.cpp
          sqlite_migrations.cpp
        mongodb/
          mongodb_adapter.cpp
          mongo_pool.cpp
        prisma/
          prisma_adapter.cpp    # See note below (often an RPC bridge)
      util/
        uuid.cpp
        backoff.cpp
    tests/
      unit/
      integration/
      conformance/              # Runs common/contract vectors on C++ adapters
      harness/
        main.cpp

  backends/                     # Backend-specific assets not tied to one lang
    sqlite/
      schema.sql
      migrations/
    mongodb/
      indexes.json
    prisma/
      schema.prisma
      migrations/

  tools/                        # Codegen + build helpers (prefer Python)
    codegen/
      gen_types.py              # api/schema -> ts/core/types.ts and cpp/types.hpp
      gen_errors.py
      gen_capabilities.py
    conformance/
      run_all.py                # runs TS + C++ conformance suites
    dev/
      lint.py
      format.py

  scripts/                      # Cross-platform entrypoints (Python per your pref)
    build.py
    test.py
    conformance.py
    package.py

  dist/                         # Build outputs (gitignored)
  .github/
    workflows/
      ci.yml

  .gitignore
  .editorconfig
2025-12-24 20:13:18 +00:00