@qlever-llc/trellis 0.10.22 → 0.11.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/auth/mod.d.ts +1 -1
- package/esm/auth/mod.d.ts.map +1 -1
- package/esm/auth/mod.js +1 -1
- package/esm/auth/protocol.d.ts +55 -0
- package/esm/auth/protocol.d.ts.map +1 -1
- package/esm/browser.d.ts +3 -3
- package/esm/browser.d.ts.map +1 -1
- package/esm/browser.js +1 -1
- package/esm/client_connect.d.ts +12 -3
- package/esm/client_connect.d.ts.map +1 -1
- package/esm/client_connect.js +112 -7
- package/esm/codec.d.ts +7 -6
- package/esm/codec.d.ts.map +1 -1
- package/esm/codec.js +125 -6
- package/esm/contract_support/canonical.d.ts +3 -0
- package/esm/contract_support/canonical.d.ts.map +1 -1
- package/esm/contract_support/canonical.js +3 -0
- package/esm/contract_support/mod.d.ts +125 -10
- package/esm/contract_support/mod.d.ts.map +1 -1
- package/esm/contract_support/mod.js +159 -5
- package/esm/contract_support/protocol.d.ts +92 -7
- package/esm/contract_support/protocol.d.ts.map +1 -1
- package/esm/contract_support/protocol.js +41 -7
- package/esm/contract_support/runtime.d.ts +4 -1
- package/esm/contract_support/runtime.d.ts.map +1 -1
- package/esm/errors/SchemaValidationError.d.ts +49 -0
- package/esm/errors/SchemaValidationError.d.ts.map +1 -0
- package/esm/errors/SchemaValidationError.js +67 -0
- package/esm/errors/index.d.ts +38 -9
- package/esm/errors/index.d.ts.map +1 -1
- package/esm/errors/index.js +16 -0
- package/esm/generated-sdk/auth/api.d.ts +33 -605
- package/esm/generated-sdk/auth/api.d.ts.map +1 -1
- package/esm/generated-sdk/auth/api.js +6 -1
- package/esm/generated-sdk/auth/client.d.ts +129 -134
- package/esm/generated-sdk/auth/client.d.ts.map +1 -1
- package/esm/generated-sdk/auth/contract.d.ts +2 -601
- package/esm/generated-sdk/auth/contract.d.ts.map +1 -1
- package/esm/generated-sdk/auth/contract.js +310 -93
- package/esm/generated-sdk/auth/mod.d.ts +1 -1
- package/esm/generated-sdk/auth/mod.d.ts.map +1 -1
- package/esm/generated-sdk/auth/owned_api.d.ts +88 -86
- package/esm/generated-sdk/auth/owned_api.d.ts.map +1 -1
- package/esm/generated-sdk/auth/owned_api.js +6 -0
- package/esm/generated-sdk/auth/schemas.d.ts +284 -136
- package/esm/generated-sdk/auth/schemas.d.ts.map +1 -1
- package/esm/generated-sdk/auth/schemas.js +231 -92
- package/esm/generated-sdk/auth/types.d.ts +565 -89
- package/esm/generated-sdk/auth/types.d.ts.map +1 -1
- package/esm/generated-sdk/auth/types.js +1 -1
- package/esm/generated-sdk/health/api.d.ts +29 -18
- package/esm/generated-sdk/health/api.d.ts.map +1 -1
- package/esm/generated-sdk/health/client.d.ts +7 -21
- package/esm/generated-sdk/health/client.d.ts.map +1 -1
- package/esm/generated-sdk/health/contract.d.ts +2 -15
- package/esm/generated-sdk/health/contract.d.ts.map +1 -1
- package/esm/generated-sdk/health/contract.js +2 -10
- package/esm/generated-sdk/health/mod.d.ts +1 -1
- package/esm/generated-sdk/health/mod.d.ts.map +1 -1
- package/esm/generated-sdk/health/owned_api.d.ts +2 -2
- package/esm/generated-sdk/health/schemas.d.ts +1 -14
- package/esm/generated-sdk/health/schemas.d.ts.map +1 -1
- package/esm/generated-sdk/health/schemas.js +1 -9
- package/esm/generated-sdk/health/types.d.ts +10 -5
- package/esm/generated-sdk/health/types.d.ts.map +1 -1
- package/esm/generated-sdk/health/types.js +1 -2
- package/esm/generated-sdk/jobs/api.d.ts +29 -109
- package/esm/generated-sdk/jobs/api.d.ts.map +1 -1
- package/esm/generated-sdk/jobs/client.d.ts +21 -33
- package/esm/generated-sdk/jobs/client.d.ts.map +1 -1
- package/esm/generated-sdk/jobs/contract.d.ts +2 -106
- package/esm/generated-sdk/jobs/contract.d.ts.map +1 -1
- package/esm/generated-sdk/jobs/contract.js +268 -1
- package/esm/generated-sdk/jobs/mod.d.ts +1 -1
- package/esm/generated-sdk/jobs/mod.d.ts.map +1 -1
- package/esm/generated-sdk/jobs/owned_api.d.ts +22 -9
- package/esm/generated-sdk/jobs/owned_api.d.ts.map +1 -1
- package/esm/generated-sdk/jobs/owned_api.js +20 -1
- package/esm/generated-sdk/jobs/schemas.d.ts +437 -0
- package/esm/generated-sdk/jobs/schemas.d.ts.map +1 -1
- package/esm/generated-sdk/jobs/schemas.js +211 -0
- package/esm/generated-sdk/jobs/types.d.ts +195 -12
- package/esm/generated-sdk/jobs/types.d.ts.map +1 -1
- package/esm/generated-sdk/jobs/types.js +1 -1
- package/esm/generated-sdk/state/api.d.ts +29 -68
- package/esm/generated-sdk/state/api.d.ts.map +1 -1
- package/esm/generated-sdk/state/client.d.ts +17 -31
- package/esm/generated-sdk/state/client.d.ts.map +1 -1
- package/esm/generated-sdk/state/contract.d.ts +1 -64
- package/esm/generated-sdk/state/contract.d.ts.map +1 -1
- package/esm/generated-sdk/state/mod.d.ts +1 -1
- package/esm/generated-sdk/state/mod.d.ts.map +1 -1
- package/esm/generated-sdk/state/owned_api.d.ts +7 -7
- package/esm/generated-sdk/state/types.d.ts +52 -9
- package/esm/generated-sdk/state/types.d.ts.map +1 -1
- package/esm/generated-sdk/trellis-core/api.d.ts +33 -45
- package/esm/generated-sdk/trellis-core/api.d.ts.map +1 -1
- package/esm/generated-sdk/trellis-core/api.js +6 -1
- package/esm/generated-sdk/trellis-core/client.d.ts +31 -20
- package/esm/generated-sdk/trellis-core/client.d.ts.map +1 -1
- package/esm/generated-sdk/trellis-core/contract.d.ts +2 -41
- package/esm/generated-sdk/trellis-core/contract.d.ts.map +1 -1
- package/esm/generated-sdk/trellis-core/contract.js +91 -1
- package/esm/generated-sdk/trellis-core/mod.d.ts +1 -1
- package/esm/generated-sdk/trellis-core/mod.d.ts.map +1 -1
- package/esm/generated-sdk/trellis-core/owned_api.d.ts +4 -4
- package/esm/generated-sdk/trellis-core/schemas.d.ts +113 -0
- package/esm/generated-sdk/trellis-core/schemas.d.ts.map +1 -1
- package/esm/generated-sdk/trellis-core/schemas.js +81 -0
- package/esm/generated-sdk/trellis-core/types.d.ts +54 -7
- package/esm/generated-sdk/trellis-core/types.d.ts.map +1 -1
- package/esm/generated-sdk/trellis-core/types.js +1 -1
- package/esm/health.d.ts +1 -1
- package/esm/health.d.ts.map +1 -1
- package/esm/health.js +1 -1
- package/esm/index.d.ts +4 -4
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +2 -2
- package/esm/jobs.d.ts +69 -3
- package/esm/jobs.d.ts.map +1 -1
- package/esm/jobs.js +92 -3
- package/esm/server/health.d.ts +2 -6
- package/esm/server/health.d.ts.map +1 -1
- package/esm/server/health_schemas.d.ts +0 -8
- package/esm/server/health_schemas.d.ts.map +1 -1
- package/esm/server/health_schemas.js +0 -5
- package/esm/server/internal_jobs/bindings.d.ts +11 -0
- package/esm/server/internal_jobs/bindings.d.ts.map +1 -1
- package/esm/server/internal_jobs/job-manager.d.ts +58 -2
- package/esm/server/internal_jobs/job-manager.d.ts.map +1 -1
- package/esm/server/internal_jobs/job-manager.js +429 -55
- package/esm/server/internal_jobs/key-coordinator.d.ts +269 -0
- package/esm/server/internal_jobs/key-coordinator.d.ts.map +1 -0
- package/esm/server/internal_jobs/key-coordinator.js +677 -0
- package/esm/server/internal_jobs/projection.d.ts.map +1 -1
- package/esm/server/internal_jobs/projection.js +2 -0
- package/esm/server/internal_jobs/runtime-worker.d.ts +5 -1
- package/esm/server/internal_jobs/runtime-worker.d.ts.map +1 -1
- package/esm/server/internal_jobs/runtime-worker.js +14 -2
- package/esm/server/internal_jobs/types.d.ts +5 -5
- package/esm/server/internal_jobs/types.d.ts.map +1 -1
- package/esm/server/internal_jobs/types.js +6 -0
- package/esm/server/runtime.d.ts.map +1 -1
- package/esm/server/service.d.ts +81 -112
- package/esm/server/service.d.ts.map +1 -1
- package/esm/server/service.js +372 -130
- package/esm/server.d.ts +3 -3
- package/esm/server.d.ts.map +1 -1
- package/esm/service/deno.d.ts +1 -1
- package/esm/service/deno.d.ts.map +1 -1
- package/esm/service/drizzle.d.ts +52 -0
- package/esm/service/drizzle.d.ts.map +1 -0
- package/esm/service/drizzle.js +108 -0
- package/esm/service/mod.d.ts +3 -3
- package/esm/service/mod.d.ts.map +1 -1
- package/esm/service/mod.js +2 -2
- package/esm/service/node.d.ts +1 -1
- package/esm/service/node.d.ts.map +1 -1
- package/esm/service/outbox_inbox.d.ts +76 -22
- package/esm/service/outbox_inbox.d.ts.map +1 -1
- package/esm/service/outbox_inbox.js +231 -70
- package/esm/telemetry/metrics.d.ts +55 -0
- package/esm/telemetry/metrics.d.ts.map +1 -1
- package/esm/telemetry/metrics.js +86 -0
- package/esm/telemetry/mod.d.ts +2 -1
- package/esm/telemetry/mod.d.ts.map +1 -1
- package/esm/telemetry/mod.js +1 -1
- package/esm/trellis.d.ts +62 -30
- package/esm/trellis.d.ts.map +1 -1
- package/esm/trellis.js +125 -42
- package/package.json +14 -2
- package/script/auth/mod.d.ts +1 -1
- package/script/auth/mod.d.ts.map +1 -1
- package/script/auth/mod.js +11 -4
- package/script/auth/protocol.d.ts +55 -0
- package/script/auth/protocol.d.ts.map +1 -1
- package/script/browser.d.ts +3 -3
- package/script/browser.d.ts.map +1 -1
- package/script/browser.js +3 -2
- package/script/client_connect.d.ts +12 -3
- package/script/client_connect.d.ts.map +1 -1
- package/script/client_connect.js +111 -6
- package/script/codec.d.ts +7 -6
- package/script/codec.d.ts.map +1 -1
- package/script/codec.js +124 -5
- package/script/contract_support/canonical.d.ts +3 -0
- package/script/contract_support/canonical.d.ts.map +1 -1
- package/script/contract_support/canonical.js +3 -0
- package/script/contract_support/mod.d.ts +125 -10
- package/script/contract_support/mod.d.ts.map +1 -1
- package/script/contract_support/mod.js +165 -5
- package/script/contract_support/protocol.d.ts +92 -7
- package/script/contract_support/protocol.d.ts.map +1 -1
- package/script/contract_support/protocol.js +42 -8
- package/script/contract_support/runtime.d.ts +4 -1
- package/script/contract_support/runtime.d.ts.map +1 -1
- package/script/errors/SchemaValidationError.d.ts +49 -0
- package/script/errors/SchemaValidationError.d.ts.map +1 -0
- package/script/errors/SchemaValidationError.js +74 -0
- package/script/errors/index.d.ts +38 -9
- package/script/errors/index.d.ts.map +1 -1
- package/script/errors/index.js +20 -1
- package/script/generated-sdk/auth/api.d.ts +33 -605
- package/script/generated-sdk/auth/api.d.ts.map +1 -1
- package/script/generated-sdk/auth/api.js +6 -1
- package/script/generated-sdk/auth/client.d.ts +129 -134
- package/script/generated-sdk/auth/client.d.ts.map +1 -1
- package/script/generated-sdk/auth/contract.d.ts +2 -601
- package/script/generated-sdk/auth/contract.d.ts.map +1 -1
- package/script/generated-sdk/auth/contract.js +310 -93
- package/script/generated-sdk/auth/mod.d.ts +1 -1
- package/script/generated-sdk/auth/mod.d.ts.map +1 -1
- package/script/generated-sdk/auth/owned_api.d.ts +88 -86
- package/script/generated-sdk/auth/owned_api.d.ts.map +1 -1
- package/script/generated-sdk/auth/owned_api.js +6 -0
- package/script/generated-sdk/auth/schemas.d.ts +284 -136
- package/script/generated-sdk/auth/schemas.d.ts.map +1 -1
- package/script/generated-sdk/auth/schemas.js +231 -92
- package/script/generated-sdk/auth/types.d.ts +565 -89
- package/script/generated-sdk/auth/types.d.ts.map +1 -1
- package/script/generated-sdk/auth/types.js +1 -1
- package/script/generated-sdk/health/api.d.ts +29 -18
- package/script/generated-sdk/health/api.d.ts.map +1 -1
- package/script/generated-sdk/health/client.d.ts +7 -21
- package/script/generated-sdk/health/client.d.ts.map +1 -1
- package/script/generated-sdk/health/contract.d.ts +2 -15
- package/script/generated-sdk/health/contract.d.ts.map +1 -1
- package/script/generated-sdk/health/contract.js +2 -10
- package/script/generated-sdk/health/mod.d.ts +1 -1
- package/script/generated-sdk/health/mod.d.ts.map +1 -1
- package/script/generated-sdk/health/owned_api.d.ts +2 -2
- package/script/generated-sdk/health/schemas.d.ts +1 -14
- package/script/generated-sdk/health/schemas.d.ts.map +1 -1
- package/script/generated-sdk/health/schemas.js +1 -9
- package/script/generated-sdk/health/types.d.ts +10 -5
- package/script/generated-sdk/health/types.d.ts.map +1 -1
- package/script/generated-sdk/health/types.js +1 -2
- package/script/generated-sdk/jobs/api.d.ts +29 -109
- package/script/generated-sdk/jobs/api.d.ts.map +1 -1
- package/script/generated-sdk/jobs/client.d.ts +21 -33
- package/script/generated-sdk/jobs/client.d.ts.map +1 -1
- package/script/generated-sdk/jobs/contract.d.ts +2 -106
- package/script/generated-sdk/jobs/contract.d.ts.map +1 -1
- package/script/generated-sdk/jobs/contract.js +268 -1
- package/script/generated-sdk/jobs/mod.d.ts +1 -1
- package/script/generated-sdk/jobs/mod.d.ts.map +1 -1
- package/script/generated-sdk/jobs/owned_api.d.ts +22 -9
- package/script/generated-sdk/jobs/owned_api.d.ts.map +1 -1
- package/script/generated-sdk/jobs/owned_api.js +19 -0
- package/script/generated-sdk/jobs/schemas.d.ts +437 -0
- package/script/generated-sdk/jobs/schemas.d.ts.map +1 -1
- package/script/generated-sdk/jobs/schemas.js +212 -1
- package/script/generated-sdk/jobs/types.d.ts +195 -12
- package/script/generated-sdk/jobs/types.d.ts.map +1 -1
- package/script/generated-sdk/jobs/types.js +1 -1
- package/script/generated-sdk/state/api.d.ts +29 -68
- package/script/generated-sdk/state/api.d.ts.map +1 -1
- package/script/generated-sdk/state/client.d.ts +17 -31
- package/script/generated-sdk/state/client.d.ts.map +1 -1
- package/script/generated-sdk/state/contract.d.ts +1 -64
- package/script/generated-sdk/state/contract.d.ts.map +1 -1
- package/script/generated-sdk/state/mod.d.ts +1 -1
- package/script/generated-sdk/state/mod.d.ts.map +1 -1
- package/script/generated-sdk/state/owned_api.d.ts +7 -7
- package/script/generated-sdk/state/types.d.ts +52 -9
- package/script/generated-sdk/state/types.d.ts.map +1 -1
- package/script/generated-sdk/trellis-core/api.d.ts +33 -45
- package/script/generated-sdk/trellis-core/api.d.ts.map +1 -1
- package/script/generated-sdk/trellis-core/api.js +6 -1
- package/script/generated-sdk/trellis-core/client.d.ts +31 -20
- package/script/generated-sdk/trellis-core/client.d.ts.map +1 -1
- package/script/generated-sdk/trellis-core/contract.d.ts +2 -41
- package/script/generated-sdk/trellis-core/contract.d.ts.map +1 -1
- package/script/generated-sdk/trellis-core/contract.js +91 -1
- package/script/generated-sdk/trellis-core/mod.d.ts +1 -1
- package/script/generated-sdk/trellis-core/mod.d.ts.map +1 -1
- package/script/generated-sdk/trellis-core/owned_api.d.ts +4 -4
- package/script/generated-sdk/trellis-core/schemas.d.ts +113 -0
- package/script/generated-sdk/trellis-core/schemas.d.ts.map +1 -1
- package/script/generated-sdk/trellis-core/schemas.js +81 -0
- package/script/generated-sdk/trellis-core/types.d.ts +54 -7
- package/script/generated-sdk/trellis-core/types.d.ts.map +1 -1
- package/script/generated-sdk/trellis-core/types.js +1 -1
- package/script/health.d.ts +1 -1
- package/script/health.d.ts.map +1 -1
- package/script/health.js +1 -2
- package/script/index.d.ts +4 -4
- package/script/index.d.ts.map +1 -1
- package/script/index.js +2 -2
- package/script/jobs.d.ts +69 -3
- package/script/jobs.d.ts.map +1 -1
- package/script/jobs.js +93 -3
- package/script/server/health.d.ts +2 -6
- package/script/server/health.d.ts.map +1 -1
- package/script/server/health_schemas.d.ts +0 -8
- package/script/server/health_schemas.d.ts.map +1 -1
- package/script/server/health_schemas.js +1 -6
- package/script/server/internal_jobs/bindings.d.ts +11 -0
- package/script/server/internal_jobs/bindings.d.ts.map +1 -1
- package/script/server/internal_jobs/job-manager.d.ts +58 -2
- package/script/server/internal_jobs/job-manager.d.ts.map +1 -1
- package/script/server/internal_jobs/job-manager.js +429 -54
- package/script/server/internal_jobs/key-coordinator.d.ts +269 -0
- package/script/server/internal_jobs/key-coordinator.d.ts.map +1 -0
- package/script/server/internal_jobs/key-coordinator.js +690 -0
- package/script/server/internal_jobs/projection.d.ts.map +1 -1
- package/script/server/internal_jobs/projection.js +2 -0
- package/script/server/internal_jobs/runtime-worker.d.ts +5 -1
- package/script/server/internal_jobs/runtime-worker.d.ts.map +1 -1
- package/script/server/internal_jobs/runtime-worker.js +14 -2
- package/script/server/internal_jobs/types.d.ts +5 -5
- package/script/server/internal_jobs/types.d.ts.map +1 -1
- package/script/server/internal_jobs/types.js +6 -0
- package/script/server/runtime.d.ts.map +1 -1
- package/script/server/service.d.ts +81 -112
- package/script/server/service.d.ts.map +1 -1
- package/script/server/service.js +369 -127
- package/script/server.d.ts +3 -3
- package/script/server.d.ts.map +1 -1
- package/script/service/deno.d.ts +1 -1
- package/script/service/deno.d.ts.map +1 -1
- package/script/service/drizzle.d.ts +52 -0
- package/script/service/drizzle.d.ts.map +1 -0
- package/script/service/drizzle.js +113 -0
- package/script/service/mod.d.ts +3 -3
- package/script/service/mod.d.ts.map +1 -1
- package/script/service/mod.js +4 -3
- package/script/service/node.d.ts +1 -1
- package/script/service/node.d.ts.map +1 -1
- package/script/service/outbox_inbox.d.ts +76 -22
- package/script/service/outbox_inbox.d.ts.map +1 -1
- package/script/service/outbox_inbox.js +233 -70
- package/script/telemetry/metrics.d.ts +55 -0
- package/script/telemetry/metrics.d.ts.map +1 -1
- package/script/telemetry/metrics.js +88 -0
- package/script/telemetry/mod.d.ts +2 -1
- package/script/telemetry/mod.d.ts.map +1 -1
- package/script/telemetry/mod.js +3 -1
- package/script/trellis.d.ts +62 -30
- package/script/trellis.d.ts.map +1 -1
- package/script/trellis.js +124 -41
- package/src/auth/mod.ts +7 -0
- package/src/browser.ts +5 -7
- package/src/client_connect.ts +200 -12
- package/src/codec.ts +186 -11
- package/src/contract_support/canonical.ts +3 -0
- package/src/contract_support/mod.ts +380 -9
- package/src/contract_support/protocol.ts +57 -10
- package/src/contract_support/runtime.ts +7 -0
- package/src/errors/SchemaValidationError.ts +67 -0
- package/src/errors/index.ts +28 -0
- package/src/health.ts +0 -1
- package/src/index.ts +7 -8
- package/src/jobs.ts +138 -1
- package/src/sdk/_generated/auth/api.ts +38 -7
- package/src/sdk/_generated/auth/client.ts +168 -530
- package/src/sdk/_generated/auth/contract.ts +310 -93
- package/src/sdk/_generated/auth/mod.ts +0 -1
- package/src/sdk/_generated/auth/owned_api.ts +92 -86
- package/src/sdk/_generated/auth/schemas.ts +231 -92
- package/src/sdk/_generated/auth/types.ts +1069 -273
- package/src/sdk/_generated/core/api.ts +38 -7
- package/src/sdk/_generated/core/client.ts +47 -73
- package/src/sdk/_generated/core/contract.ts +91 -1
- package/src/sdk/_generated/core/mod.ts +0 -1
- package/src/sdk/_generated/core/owned_api.ts +4 -4
- package/src/sdk/_generated/core/schemas.ts +81 -0
- package/src/sdk/_generated/core/types.ts +79 -15
- package/src/sdk/_generated/health/api.ts +29 -5
- package/src/sdk/_generated/health/client.ts +11 -58
- package/src/sdk/_generated/health/contract.ts +2 -10
- package/src/sdk/_generated/health/mod.ts +0 -1
- package/src/sdk/_generated/health/owned_api.ts +2 -2
- package/src/sdk/_generated/health/schemas.ts +1 -9
- package/src/sdk/_generated/health/types.ts +23 -2
- package/src/sdk/_generated/jobs/api.ts +29 -5
- package/src/sdk/_generated/jobs/client.ts +25 -109
- package/src/sdk/_generated/jobs/contract.ts +269 -1
- package/src/sdk/_generated/jobs/mod.ts +0 -1
- package/src/sdk/_generated/jobs/owned_api.ts +30 -9
- package/src/sdk/_generated/jobs/schemas.ts +213 -0
- package/src/sdk/_generated/jobs/types.ts +252 -18
- package/src/sdk/_generated/state/api.ts +29 -5
- package/src/sdk/_generated/state/client.ts +18 -95
- package/src/sdk/_generated/state/mod.ts +0 -1
- package/src/sdk/_generated/state/owned_api.ts +7 -7
- package/src/sdk/_generated/state/types.ts +91 -15
- package/src/server/health.ts +2 -6
- package/src/server/health_schemas.ts +0 -6
- package/src/server/internal_jobs/bindings.ts +11 -0
- package/src/server/internal_jobs/job-manager.ts +553 -24
- package/src/server/internal_jobs/key-coordinator.ts +1080 -0
- package/src/server/internal_jobs/projection.ts +2 -0
- package/src/server/internal_jobs/runtime-worker.ts +17 -1
- package/src/server/internal_jobs/types.ts +6 -0
- package/src/server/runtime.ts +4 -0
- package/src/server/service.ts +645 -625
- package/src/server.ts +14 -7
- package/src/service/deno.ts +0 -5
- package/src/service/drizzle.ts +184 -0
- package/src/service/mod.ts +17 -7
- package/src/service/node.ts +0 -5
- package/src/service/outbox_inbox.ts +354 -88
- package/src/telemetry/metrics.ts +198 -1
- package/src/telemetry/mod.ts +6 -0
- package/src/trellis.ts +286 -105
package/script/trellis.js
CHANGED
|
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var _Trellis_instances, _Trellis_log, _Trellis_tasks, _Trellis_hasExplicitApi, _Trellis_noResponderMaxRetries, _Trellis_noResponderRetryMs, _Trellis_onSessionNotFound, _Trellis_operationStore, _Trellis_eventConsumers, _Trellis_durableEventLoops, _Trellis_createStateFacade, _Trellis_createRpcFacade, _Trellis_createRpcHandleFacade, _Trellis_createEventFacade, _Trellis_createEventPublishFacade, _Trellis_createFeedFacade, _Trellis_createHandlerTrellis, _Trellis_createOperationFacade, _Trellis_unknownApiError, _Trellis_requestBuiltRpcUnknown, _Trellis_requestBuiltRpc, _Trellis_handleBrowserAuthRequired, _Trellis_authenticateFeedRequest, _Trellis_subscribeFeed, _Trellis_handleFeed, _Trellis_processFeedMessage, _Trellis_handleRPC, _Trellis_processRPCMessage, _Trellis_respondWithPayload, _Trellis_respondWithError, _Trellis_startEphemeralEvent, _Trellis_invokeEventHandler, _Trellis_resolveEventConsumerGroup, _Trellis_registerDurableEventHandler, _Trellis_startDurableEventConsumer, _Trellis_durableEventConsumerGroupReady, _Trellis_runDurableEventConsumer, _Trellis_handleDurableEvent, _Trellis_handleDurableEventConsumer, _Trellis_parseEventMessage, _Trellis_escapeSubjectToken, _Trellis_currentIat, _Trellis_createProof, _Trellis_requestMessageWithRetry, _Trellis_requestJson, _Trellis_watchJson;
|
|
13
|
+
var _Trellis_instances, _Trellis_log, _Trellis_tasks, _Trellis_hasExplicitApi, _Trellis_noResponderMaxRetries, _Trellis_noResponderRetryMs, _Trellis_onSessionNotFound, _Trellis_operationStore, _Trellis_eventConsumers, _Trellis_durableEventConsumerBeforeReadinessCheck, _Trellis_durableEventLoops, _Trellis_durableEventListenersStopped, _Trellis_createStateFacade, _Trellis_createRpcFacade, _Trellis_createRpcHandleFacade, _Trellis_createEventFacade, _Trellis_createEventPublishFacade, _Trellis_createFeedFacade, _Trellis_createHandlerTrellis, _Trellis_createOperationFacade, _Trellis_unknownApiError, _Trellis_requestBuiltRpcUnknown, _Trellis_requestBuiltRpc, _Trellis_handleBrowserAuthRequired, _Trellis_authenticateFeedRequest, _Trellis_subscribeFeed, _Trellis_handleFeed, _Trellis_processFeedMessage, _Trellis_handleRPC, _Trellis_processRPCMessage, _Trellis_respondWithPayload, _Trellis_respondWithError, _Trellis_startEphemeralEvent, _Trellis_invokeEventHandler, _Trellis_resolveEventConsumerGroup, _Trellis_registerDurableEventHandler, _Trellis_startDurableEventConsumer, _Trellis_durableEventConsumerGroupReady, _Trellis_runDurableEventConsumer, _Trellis_handleDurableEvent, _Trellis_handleDurableEventConsumer, _Trellis_parseEventMessage, _Trellis_escapeSubjectToken, _Trellis_currentIat, _Trellis_createProof, _Trellis_requestMessageWithRetry, _Trellis_requestJson, _Trellis_watchJson;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.Trellis = exports.DurableOperationRecordSchema = void 0;
|
|
16
16
|
exports.safeJson = safeJson;
|
|
@@ -321,25 +321,28 @@ function isTerminalRuntimeOperationSnapshot(value) {
|
|
|
321
321
|
value.state === "cancelled");
|
|
322
322
|
}
|
|
323
323
|
function createEventListenerContext(args) {
|
|
324
|
-
const
|
|
325
|
-
|
|
326
|
-
: undefined;
|
|
327
|
-
const id = typeof header === "object" && header !== null
|
|
328
|
-
? Reflect.get(header, "id")
|
|
329
|
-
: undefined;
|
|
330
|
-
const time = typeof header === "object" && header !== null
|
|
331
|
-
? Reflect.get(header, "time")
|
|
332
|
-
: undefined;
|
|
324
|
+
const messageId = readMessageHeader(args.message, "Nats-Msg-Id");
|
|
325
|
+
const messageTime = readMessageHeader(args.message, "Trellis-Event-Time");
|
|
333
326
|
const sequence = Reflect.get(args.message, "seq");
|
|
334
327
|
return {
|
|
335
|
-
id:
|
|
336
|
-
time: new Date(
|
|
328
|
+
id: messageId ?? "",
|
|
329
|
+
time: new Date(messageTime ?? 0),
|
|
337
330
|
subject: args.subject,
|
|
338
331
|
mode: args.mode,
|
|
339
332
|
...(args.group ? { group: args.group } : {}),
|
|
340
333
|
...(typeof sequence === "number" ? { sequence } : {}),
|
|
341
334
|
};
|
|
342
335
|
}
|
|
336
|
+
function readMessageHeader(message, key) {
|
|
337
|
+
const headers = Reflect.get(message, "headers");
|
|
338
|
+
if (typeof headers !== "object" || headers === null)
|
|
339
|
+
return undefined;
|
|
340
|
+
const get = Reflect.get(headers, "get");
|
|
341
|
+
if (typeof get !== "function")
|
|
342
|
+
return undefined;
|
|
343
|
+
const value = get.call(headers, key);
|
|
344
|
+
return typeof value === "string" ? value : undefined;
|
|
345
|
+
}
|
|
343
346
|
function eventConsumerGroupEvents(group) {
|
|
344
347
|
const events = new Set();
|
|
345
348
|
for (const groupEvents of Object.values(group.uses ?? {})) {
|
|
@@ -350,21 +353,25 @@ function eventConsumerGroupEvents(group) {
|
|
|
350
353
|
events.add(event);
|
|
351
354
|
return [...events].sort();
|
|
352
355
|
}
|
|
353
|
-
|
|
356
|
+
function isConsumerNotFoundError(error) {
|
|
357
|
+
return error instanceof Error && (error.name === "ConsumerNotFoundError" ||
|
|
358
|
+
error.message.includes("consumer not found"));
|
|
359
|
+
}
|
|
360
|
+
const internalEventConsumers = Symbol("trellis.internal.eventConsumers");
|
|
361
|
+
const internalDurableEventConsumerBeforeReadinessCheck = Symbol("trellis.internal.durableEventConsumerBeforeReadinessCheck");
|
|
354
362
|
/**
|
|
355
363
|
* Creates a Trellis runtime with bootstrap-resolved bindings.
|
|
356
364
|
*
|
|
357
365
|
* @internal
|
|
358
366
|
*/
|
|
359
367
|
function createTrellisInternal(name, nats, auth, opts) {
|
|
360
|
-
const { eventConsumers, ...publicOpts } = opts ?? {};
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
}
|
|
368
|
+
const { durableEventConsumerBeforeReadinessCheck, eventConsumers, ...publicOpts } = opts ?? {};
|
|
369
|
+
const internalOpts = {
|
|
370
|
+
...publicOpts,
|
|
371
|
+
[internalEventConsumers]: eventConsumers,
|
|
372
|
+
[internalDurableEventConsumerBeforeReadinessCheck]: durableEventConsumerBeforeReadinessCheck,
|
|
373
|
+
};
|
|
374
|
+
return new Trellis(name, nats, auth, internalOpts);
|
|
368
375
|
}
|
|
369
376
|
function surfaceGroupName(key) {
|
|
370
377
|
return lowerCamelIdent(key.split(".")[0] ?? key);
|
|
@@ -460,7 +467,23 @@ function joinStatePath(prefix, key) {
|
|
|
460
467
|
.join("/");
|
|
461
468
|
}
|
|
462
469
|
function validateStateValue(schema, value) {
|
|
463
|
-
|
|
470
|
+
const result = parseRuntimeSchema(schema, value);
|
|
471
|
+
// State validation is an internal path; collapse SchemaValidationError
|
|
472
|
+
// into ValidationError to keep internal error types narrow.
|
|
473
|
+
if (result.isOk()) {
|
|
474
|
+
return result;
|
|
475
|
+
}
|
|
476
|
+
const resultError = result.error;
|
|
477
|
+
if (resultError instanceof index_js_1.SchemaValidationError) {
|
|
478
|
+
return result_1.Result.err(new index_js_1.ValidationError({
|
|
479
|
+
errors: resultError.issues.map((i) => ({
|
|
480
|
+
path: i.path,
|
|
481
|
+
message: i.message,
|
|
482
|
+
})),
|
|
483
|
+
cause: resultError.cause,
|
|
484
|
+
}));
|
|
485
|
+
}
|
|
486
|
+
return result;
|
|
464
487
|
}
|
|
465
488
|
function validateStateGetResult(descriptor, result) {
|
|
466
489
|
if ("migrationRequired" in result) {
|
|
@@ -820,7 +843,10 @@ class Trellis {
|
|
|
820
843
|
_Trellis_onSessionNotFound.set(this, void 0);
|
|
821
844
|
_Trellis_operationStore.set(this, void 0);
|
|
822
845
|
_Trellis_eventConsumers.set(this, void 0);
|
|
846
|
+
_Trellis_durableEventConsumerBeforeReadinessCheck.set(this, void 0);
|
|
823
847
|
_Trellis_durableEventLoops.set(this, new Map());
|
|
848
|
+
_Trellis_durableEventListenersStopped.set(this, false);
|
|
849
|
+
const internalOpts = opts;
|
|
824
850
|
const api = opts?.api;
|
|
825
851
|
this.name = name;
|
|
826
852
|
this.nats = nats;
|
|
@@ -838,7 +864,8 @@ class Trellis {
|
|
|
838
864
|
__classPrivateFieldSet(this, _Trellis_noResponderRetryMs, opts?.noResponderRetry?.baseDelayMs ??
|
|
839
865
|
DEFAULT_NO_RESPONDER_RETRY_MS, "f");
|
|
840
866
|
__classPrivateFieldSet(this, _Trellis_onSessionNotFound, opts?.onSessionNotFound, "f");
|
|
841
|
-
__classPrivateFieldSet(this, _Trellis_eventConsumers,
|
|
867
|
+
__classPrivateFieldSet(this, _Trellis_eventConsumers, internalOpts?.[internalEventConsumers] ?? {}, "f");
|
|
868
|
+
__classPrivateFieldSet(this, _Trellis_durableEventConsumerBeforeReadinessCheck, internalOpts?.[internalDurableEventConsumerBeforeReadinessCheck], "f");
|
|
842
869
|
this.connection = opts?.connection ??
|
|
843
870
|
new connection_js_1.TrellisConnection({ kind: "client" });
|
|
844
871
|
__classPrivateFieldSet(this, _Trellis_tasks, new tasks_js_1.TrellisTasks({ log: __classPrivateFieldGet(this, _Trellis_log, "f") }), "f");
|
|
@@ -987,10 +1014,7 @@ class Trellis {
|
|
|
987
1014
|
id: (0, ulid_1.ulid)(),
|
|
988
1015
|
time: new Date().toISOString(),
|
|
989
1016
|
};
|
|
990
|
-
const payload = Object.freeze({
|
|
991
|
-
...data,
|
|
992
|
-
header: Object.freeze(header),
|
|
993
|
-
});
|
|
1017
|
+
const payload = Object.freeze({ ...data });
|
|
994
1018
|
const msg = (0, codec_js_1.encodeSchema)(ctx.event, payload).take();
|
|
995
1019
|
if ((0, result_1.isErr)(msg)) {
|
|
996
1020
|
globals_js_1.logger.error({ err: msg.error }, "Failed to encode event.");
|
|
@@ -1005,6 +1029,7 @@ class Trellis {
|
|
|
1005
1029
|
}
|
|
1006
1030
|
const headers = (0, nats_core_1.headers)();
|
|
1007
1031
|
headers.set("Nats-Msg-Id", header.id);
|
|
1032
|
+
headers.set("Trellis-Event-Time", header.time);
|
|
1008
1033
|
(0, mod_js_2.injectTraceContext)((0, mod_js_2.createNatsHeaderCarrier)(headers));
|
|
1009
1034
|
const headerRecord = {};
|
|
1010
1035
|
for (const [key, value] of headers) {
|
|
@@ -1013,6 +1038,7 @@ class Trellis {
|
|
|
1013
1038
|
return (0, result_1.ok)(Object.freeze({
|
|
1014
1039
|
event: event.toString(),
|
|
1015
1040
|
subject,
|
|
1041
|
+
header: Object.freeze(header),
|
|
1016
1042
|
payload,
|
|
1017
1043
|
encodedPayload: msg,
|
|
1018
1044
|
headers: Object.freeze(headerRecord),
|
|
@@ -1085,7 +1111,7 @@ class Trellis {
|
|
|
1085
1111
|
if ((0, result_1.isErr)(subject))
|
|
1086
1112
|
return subject;
|
|
1087
1113
|
if (opts?.mode === "ephemeral") {
|
|
1088
|
-
return __classPrivateFieldGet(this, _Trellis_instances, "m", _Trellis_startEphemeralEvent).call(this, eventName, ctx, subject, fn, opts.signal);
|
|
1114
|
+
return await __classPrivateFieldGet(this, _Trellis_instances, "m", _Trellis_startEphemeralEvent).call(this, eventName, ctx, subject, fn, opts.signal);
|
|
1089
1115
|
}
|
|
1090
1116
|
if (opts?.durableName) {
|
|
1091
1117
|
return (0, result_1.err)(new index_js_1.UnexpectedError({
|
|
@@ -1118,6 +1144,14 @@ class Trellis {
|
|
|
1118
1144
|
wait() {
|
|
1119
1145
|
return __classPrivateFieldGet(this, _Trellis_tasks, "f").wait();
|
|
1120
1146
|
}
|
|
1147
|
+
/** Stops durable event listener loops without closing the underlying transport. */
|
|
1148
|
+
stopEventListeners() {
|
|
1149
|
+
__classPrivateFieldSet(this, _Trellis_durableEventListenersStopped, true, "f");
|
|
1150
|
+
for (const loop of __classPrivateFieldGet(this, _Trellis_durableEventLoops, "f").values()) {
|
|
1151
|
+
loop.registrations.splice(0, loop.registrations.length);
|
|
1152
|
+
loop.messages?.stop();
|
|
1153
|
+
}
|
|
1154
|
+
}
|
|
1121
1155
|
// FIXME: If are validating things twice in most cases...
|
|
1122
1156
|
template(subject, data, allowWildcards = false) {
|
|
1123
1157
|
// Find all template placeholders and check if values exist
|
|
@@ -1155,7 +1189,7 @@ class Trellis {
|
|
|
1155
1189
|
}
|
|
1156
1190
|
}
|
|
1157
1191
|
exports.Trellis = Trellis;
|
|
1158
|
-
_Trellis_log = new WeakMap(), _Trellis_tasks = new WeakMap(), _Trellis_hasExplicitApi = new WeakMap(), _Trellis_noResponderMaxRetries = new WeakMap(), _Trellis_noResponderRetryMs = new WeakMap(), _Trellis_onSessionNotFound = new WeakMap(), _Trellis_operationStore = new WeakMap(), _Trellis_eventConsumers = new WeakMap(), _Trellis_durableEventLoops = new WeakMap(), _Trellis_instances = new WeakSet(), _Trellis_createStateFacade = function _Trellis_createStateFacade(state) {
|
|
1192
|
+
_Trellis_log = new WeakMap(), _Trellis_tasks = new WeakMap(), _Trellis_hasExplicitApi = new WeakMap(), _Trellis_noResponderMaxRetries = new WeakMap(), _Trellis_noResponderRetryMs = new WeakMap(), _Trellis_onSessionNotFound = new WeakMap(), _Trellis_operationStore = new WeakMap(), _Trellis_eventConsumers = new WeakMap(), _Trellis_durableEventConsumerBeforeReadinessCheck = new WeakMap(), _Trellis_durableEventLoops = new WeakMap(), _Trellis_durableEventListenersStopped = new WeakMap(), _Trellis_instances = new WeakSet(), _Trellis_createStateFacade = function _Trellis_createStateFacade(state) {
|
|
1159
1193
|
const stores = (state ?? {});
|
|
1160
1194
|
const facade = Object.fromEntries(Object.entries(stores).map(([store, descriptor]) => {
|
|
1161
1195
|
if (descriptor.kind === "value") {
|
|
@@ -1275,6 +1309,7 @@ _Trellis_log = new WeakMap(), _Trellis_tasks = new WeakMap(), _Trellis_hasExplic
|
|
|
1275
1309
|
prepare: (event, data) => this.prepare(event, data),
|
|
1276
1310
|
publish: (event, data) => this.publish(event, data),
|
|
1277
1311
|
publishPrepared: (event) => this.publishPrepared(event),
|
|
1312
|
+
stopEventListeners: () => this.stopEventListeners(),
|
|
1278
1313
|
};
|
|
1279
1314
|
}, _Trellis_createOperationFacade = function _Trellis_createOperationFacade() {
|
|
1280
1315
|
const surface = {};
|
|
@@ -1993,6 +2028,8 @@ _Trellis_log = new WeakMap(), _Trellis_tasks = new WeakMap(), _Trellis_hasExplic
|
|
|
1993
2028
|
}
|
|
1994
2029
|
let caller;
|
|
1995
2030
|
const callerSessionKey = msg.headers?.get("session-key") ?? "";
|
|
2031
|
+
const handlerRequestIdFromHeader = msg.headers?.get("request-id") ?? "";
|
|
2032
|
+
const handlerTraceIdFromHeader = traceIdFromTraceparent(msg.headers?.get("traceparent"));
|
|
1996
2033
|
const authRequired = ctx.authRequired ?? true;
|
|
1997
2034
|
if (!authRequired) {
|
|
1998
2035
|
caller = {
|
|
@@ -2204,6 +2241,8 @@ _Trellis_log = new WeakMap(), _Trellis_tasks = new WeakMap(), _Trellis_hasExplic
|
|
|
2204
2241
|
context: {
|
|
2205
2242
|
caller,
|
|
2206
2243
|
sessionKey: callerSessionKey,
|
|
2244
|
+
requestId: handlerRequestIdFromHeader || undefined,
|
|
2245
|
+
traceId: handlerTraceIdFromHeader || undefined,
|
|
2207
2246
|
},
|
|
2208
2247
|
client: handlerTrellis,
|
|
2209
2248
|
})));
|
|
@@ -2340,14 +2379,29 @@ _Trellis_log = new WeakMap(), _Trellis_tasks = new WeakMap(), _Trellis_hasExplic
|
|
|
2340
2379
|
return;
|
|
2341
2380
|
}
|
|
2342
2381
|
__classPrivateFieldGet(this, _Trellis_instances, "m", _Trellis_respondWithPayload).call(this, msg, serialized.take(), { headers: hdrs }, { method: context.method, responseKind: "error" });
|
|
2343
|
-
}, _Trellis_startEphemeralEvent = function _Trellis_startEphemeralEvent(event, ctx, subject, fn, signal) {
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
|
|
2382
|
+
}, _Trellis_startEphemeralEvent = async function _Trellis_startEphemeralEvent(event, ctx, subject, fn, signal) {
|
|
2383
|
+
let sub;
|
|
2384
|
+
try {
|
|
2385
|
+
sub = this.nats.subscribe(subject);
|
|
2386
|
+
if (signal) {
|
|
2387
|
+
if (signal.aborted) {
|
|
2388
|
+
sub.unsubscribe();
|
|
2389
|
+
return (0, result_1.ok)(undefined);
|
|
2390
|
+
}
|
|
2391
|
+
signal.addEventListener("abort", () => sub?.unsubscribe(), {
|
|
2392
|
+
once: true,
|
|
2393
|
+
});
|
|
2394
|
+
}
|
|
2395
|
+
await this.nats.flush();
|
|
2396
|
+
}
|
|
2397
|
+
catch (cause) {
|
|
2398
|
+
if (sub) {
|
|
2347
2399
|
sub.unsubscribe();
|
|
2348
|
-
return (0, result_1.ok)(undefined);
|
|
2349
2400
|
}
|
|
2350
|
-
|
|
2401
|
+
return (0, result_1.err)(new index_js_1.UnexpectedError({
|
|
2402
|
+
cause,
|
|
2403
|
+
context: { event: String(event), subject },
|
|
2404
|
+
}));
|
|
2351
2405
|
}
|
|
2352
2406
|
const task = result_1.AsyncResult.try(async () => {
|
|
2353
2407
|
for await (const msg of sub) {
|
|
@@ -2398,7 +2452,6 @@ _Trellis_log = new WeakMap(), _Trellis_tasks = new WeakMap(), _Trellis_hasExplic
|
|
|
2398
2452
|
};
|
|
2399
2453
|
try {
|
|
2400
2454
|
const result = await Promise.resolve(args.fn(args.payload, createEventListenerContext({
|
|
2401
|
-
payload: args.payload,
|
|
2402
2455
|
subject: args.message.subject,
|
|
2403
2456
|
mode: args.mode,
|
|
2404
2457
|
...(args.group ? { group: args.group } : {}),
|
|
@@ -2455,7 +2508,7 @@ _Trellis_log = new WeakMap(), _Trellis_tasks = new WeakMap(), _Trellis_hasExplic
|
|
|
2455
2508
|
}
|
|
2456
2509
|
return (0, result_1.ok)(group);
|
|
2457
2510
|
}, _Trellis_registerDurableEventHandler = function _Trellis_registerDurableEventHandler(args) {
|
|
2458
|
-
if (args.signal?.aborted)
|
|
2511
|
+
if (args.signal?.aborted || __classPrivateFieldGet(this, _Trellis_durableEventListenersStopped, "f"))
|
|
2459
2512
|
return;
|
|
2460
2513
|
const loop = __classPrivateFieldGet(this, _Trellis_durableEventLoops, "f").get(args.group) ?? {
|
|
2461
2514
|
registrations: [],
|
|
@@ -2479,7 +2532,8 @@ _Trellis_log = new WeakMap(), _Trellis_tasks = new WeakMap(), _Trellis_hasExplic
|
|
|
2479
2532
|
}, { once: true });
|
|
2480
2533
|
__classPrivateFieldGet(this, _Trellis_instances, "m", _Trellis_startDurableEventConsumer).call(this, args.group, loop);
|
|
2481
2534
|
}, _Trellis_startDurableEventConsumer = function _Trellis_startDurableEventConsumer(group, loop) {
|
|
2482
|
-
if (
|
|
2535
|
+
if (__classPrivateFieldGet(this, _Trellis_durableEventListenersStopped, "f") || loop.started ||
|
|
2536
|
+
!__classPrivateFieldGet(this, _Trellis_instances, "m", _Trellis_durableEventConsumerGroupReady).call(this, group, loop)) {
|
|
2483
2537
|
return;
|
|
2484
2538
|
}
|
|
2485
2539
|
loop.started = true;
|
|
@@ -2504,10 +2558,21 @@ _Trellis_log = new WeakMap(), _Trellis_tasks = new WeakMap(), _Trellis_hasExplic
|
|
|
2504
2558
|
return await jsm.consumers.info(binding.stream, binding.consumerName);
|
|
2505
2559
|
});
|
|
2506
2560
|
const info = infoResult.take();
|
|
2507
|
-
if ((0, result_1.isErr)(info))
|
|
2561
|
+
if ((0, result_1.isErr)(info)) {
|
|
2562
|
+
if (__classPrivateFieldGet(this, _Trellis_durableEventListenersStopped, "f") ||
|
|
2563
|
+
!__classPrivateFieldGet(this, _Trellis_instances, "m", _Trellis_durableEventConsumerGroupReady).call(this, group, loop)) {
|
|
2564
|
+
return (0, result_1.ok)(undefined);
|
|
2565
|
+
}
|
|
2566
|
+
if (isConsumerNotFoundError(info.error.cause)) {
|
|
2567
|
+
__classPrivateFieldGet(this, _Trellis_log, "f").debug({ group, stream: binding.stream, consumer: binding.consumerName }, "Durable event consumer is not available yet; retrying");
|
|
2568
|
+
await sleep(25);
|
|
2569
|
+
return (0, result_1.ok)(undefined);
|
|
2570
|
+
}
|
|
2508
2571
|
return info;
|
|
2572
|
+
}
|
|
2509
2573
|
const consumer = this.js.consumers.getConsumerFromInfo(info);
|
|
2510
|
-
while (__classPrivateFieldGet(this,
|
|
2574
|
+
while (!__classPrivateFieldGet(this, _Trellis_durableEventListenersStopped, "f") &&
|
|
2575
|
+
__classPrivateFieldGet(this, _Trellis_instances, "m", _Trellis_durableEventConsumerGroupReady).call(this, group, loop)) {
|
|
2511
2576
|
const messages = await consumer.fetch({
|
|
2512
2577
|
max_messages: 1,
|
|
2513
2578
|
expires: 30_000,
|
|
@@ -2521,10 +2586,24 @@ _Trellis_log = new WeakMap(), _Trellis_tasks = new WeakMap(), _Trellis_hasExplic
|
|
|
2521
2586
|
.orThrow();
|
|
2522
2587
|
}
|
|
2523
2588
|
}
|
|
2589
|
+
catch (cause) {
|
|
2590
|
+
if (__classPrivateFieldGet(this, _Trellis_durableEventListenersStopped, "f") ||
|
|
2591
|
+
!__classPrivateFieldGet(this, _Trellis_instances, "m", _Trellis_durableEventConsumerGroupReady).call(this, group, loop)) {
|
|
2592
|
+
return (0, result_1.ok)(undefined);
|
|
2593
|
+
}
|
|
2594
|
+
if (isConsumerNotFoundError(cause)) {
|
|
2595
|
+
__classPrivateFieldGet(this, _Trellis_log, "f").debug({ group, stream: binding.stream, consumer: binding.consumerName }, "Durable event consumer is not available yet; retrying");
|
|
2596
|
+
await sleep(25);
|
|
2597
|
+
return (0, result_1.ok)(undefined);
|
|
2598
|
+
}
|
|
2599
|
+
return (0, result_1.err)(new index_js_1.UnexpectedError({ cause, context: { group } }));
|
|
2600
|
+
}
|
|
2524
2601
|
finally {
|
|
2525
2602
|
loop.started = false;
|
|
2526
2603
|
loop.messages = undefined;
|
|
2527
|
-
__classPrivateFieldGet(this,
|
|
2604
|
+
if (!__classPrivateFieldGet(this, _Trellis_durableEventListenersStopped, "f")) {
|
|
2605
|
+
__classPrivateFieldGet(this, _Trellis_instances, "m", _Trellis_startDurableEventConsumer).call(this, group, loop);
|
|
2606
|
+
}
|
|
2528
2607
|
}
|
|
2529
2608
|
return (0, result_1.ok)(undefined);
|
|
2530
2609
|
})());
|
|
@@ -2561,6 +2640,10 @@ _Trellis_log = new WeakMap(), _Trellis_tasks = new WeakMap(), _Trellis_hasExplic
|
|
|
2561
2640
|
}, _Trellis_handleDurableEventConsumer = function _Trellis_handleDurableEventConsumer(group, loop, messages) {
|
|
2562
2641
|
return result_1.AsyncResult.try(async () => {
|
|
2563
2642
|
for await (const msg of messages) {
|
|
2643
|
+
await __classPrivateFieldGet(this, _Trellis_durableEventConsumerBeforeReadinessCheck, "f")?.call(this, {
|
|
2644
|
+
group,
|
|
2645
|
+
subject: msg.subject,
|
|
2646
|
+
});
|
|
2564
2647
|
if (!__classPrivateFieldGet(this, _Trellis_instances, "m", _Trellis_durableEventConsumerGroupReady).call(this, group, loop)) {
|
|
2565
2648
|
messages.stop();
|
|
2566
2649
|
break;
|
package/src/auth/mod.ts
CHANGED
|
@@ -90,6 +90,8 @@ export {
|
|
|
90
90
|
AuthCapabilityGroupsListSchema,
|
|
91
91
|
AuthCapabilityGroupsPutResponseSchema,
|
|
92
92
|
AuthCapabilityGroupsPutSchema,
|
|
93
|
+
AuthCatalogIssuesResolveResponseSchema,
|
|
94
|
+
AuthCatalogIssuesResolveSchema,
|
|
93
95
|
type AuthDeployment,
|
|
94
96
|
type AuthDeploymentAuthorityAcceptMigrationInput,
|
|
95
97
|
AuthDeploymentAuthorityAcceptMigrationSchema,
|
|
@@ -189,6 +191,10 @@ export {
|
|
|
189
191
|
AuthPortalsLoginSettingsGetSchema,
|
|
190
192
|
AuthPortalsLoginSettingsResponseSchema,
|
|
191
193
|
AuthPortalsLoginSettingsUpdateSchema,
|
|
194
|
+
AuthPortalsPutResponseSchema,
|
|
195
|
+
AuthPortalsPutSchema,
|
|
196
|
+
AuthPortalsRemoveResponseSchema,
|
|
197
|
+
AuthPortalsRemoveSchema,
|
|
192
198
|
AuthPortalsRoutesPutResponseSchema,
|
|
193
199
|
AuthPortalsRoutesPutSchema,
|
|
194
200
|
AuthPortalsRoutesRemoveResponseSchema,
|
|
@@ -270,6 +276,7 @@ export {
|
|
|
270
276
|
DeploymentAuthorityUpdateSchema,
|
|
271
277
|
DeploymentPortalRouteSchema,
|
|
272
278
|
DeploymentResourceBindingSchema,
|
|
279
|
+
DeviceActivationActorSchema,
|
|
273
280
|
type DeviceActivationRecord,
|
|
274
281
|
DeviceActivationRecordSchema,
|
|
275
282
|
DeviceActivationReviewSchema,
|
package/src/browser.ts
CHANGED
|
@@ -39,7 +39,7 @@ export {
|
|
|
39
39
|
export type { InferSchemaType, JsonValue, TrellisAPI } from "./contracts.js";
|
|
40
40
|
export { TrellisConnection } from "./connection.js";
|
|
41
41
|
export type { TrellisConnectionStatus } from "./connection.js";
|
|
42
|
-
export { defineError } from "./contract_support/mod.js";
|
|
42
|
+
export { defineError, withTrellisValidation } from "./contract_support/mod.js";
|
|
43
43
|
export {
|
|
44
44
|
buildCursorPage,
|
|
45
45
|
buildPageResponse,
|
|
@@ -65,6 +65,8 @@ export type {
|
|
|
65
65
|
RpcErrorClass,
|
|
66
66
|
RuntimeRpcErrorDesc,
|
|
67
67
|
SerializableErrorData,
|
|
68
|
+
TrellisValidationExtension,
|
|
69
|
+
TrellisValidationIssueHint,
|
|
68
70
|
} from "./contract_support/mod.js";
|
|
69
71
|
export {
|
|
70
72
|
defineAgentContract,
|
|
@@ -170,7 +172,6 @@ export type {
|
|
|
170
172
|
AcceptedOperation,
|
|
171
173
|
ClientTrellis,
|
|
172
174
|
ConnectedTrellisClient,
|
|
173
|
-
EventHandler,
|
|
174
175
|
EventListenerContext,
|
|
175
176
|
EventName,
|
|
176
177
|
EventOpts,
|
|
@@ -187,25 +188,22 @@ export type {
|
|
|
187
188
|
HandlerTrellisForContract,
|
|
188
189
|
MapStateStoreClient,
|
|
189
190
|
OperationHandlerContext,
|
|
191
|
+
OperationHandlerErrorOf,
|
|
190
192
|
OperationRegistration,
|
|
191
193
|
OperationRuntimeHandle,
|
|
192
194
|
OperationTransferContextOf,
|
|
193
195
|
OperationTransferHandle,
|
|
194
196
|
PreparedTrellisEvent,
|
|
195
197
|
RequestOpts,
|
|
196
|
-
RpcArgs,
|
|
197
198
|
RpcHandlerContext,
|
|
198
|
-
RpcHandlerErrorOf,
|
|
199
|
-
RpcHandlerFn,
|
|
200
199
|
RpcInputOf,
|
|
201
200
|
RpcMethodNameOf,
|
|
202
201
|
RpcOutputOf,
|
|
203
202
|
RpcRequestErrorOf,
|
|
204
|
-
RpcResult,
|
|
205
203
|
RuntimeStateStoresForContract,
|
|
206
204
|
RuntimeStateStoreShape,
|
|
205
|
+
SessionCaller,
|
|
207
206
|
StateFacade,
|
|
208
|
-
TrellisFor,
|
|
209
207
|
ValueStateStoreClient,
|
|
210
208
|
} from "./trellis.js";
|
|
211
209
|
export type { TrellisAuth } from "./trellis.js";
|