@pome-sh/cli 0.1.1 → 0.2.0
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/README.md +5 -6
- package/dist/build-info.json +3 -3
- package/dist/src/cli/eval.js +26 -8
- package/dist/src/cli/init-sdk.d.ts +0 -3
- package/dist/src/cli/init-sdk.js +117 -24
- package/dist/src/cli/main.js +23 -69
- package/dist/src/cli/register.d.ts +9 -0
- package/dist/src/cli/register.js +51 -5
- package/dist/src/cli/session.d.ts +7 -1
- package/dist/src/cli/session.js +87 -27
- package/dist/src/demo/runDemo.js +3 -2
- package/dist/src/hosted/client.d.ts +41 -5
- package/dist/src/hosted/client.js +333 -19
- package/dist/src/hosted/errors.d.ts +11 -1
- package/dist/src/hosted/errors.js +8 -1
- package/dist/src/hosted/evalResultView.d.ts +2 -0
- package/dist/src/hosted/evalResultView.js +22 -0
- package/dist/src/hosted/uploadAndFinalize.d.ts +18 -1
- package/dist/src/hosted/uploadAndFinalize.js +51 -3
- package/dist/src/recorder/inspect.js +20 -2
- package/dist/src/runner/mergeAdapterSignals.js +2 -2
- package/dist/src/runner/ports.js +3 -0
- package/dist/src/runner/runScenario.d.ts +79 -2
- package/dist/src/runner/runScenario.js +94 -36
- package/dist/src/runner/runScenarioHosted.d.ts +37 -0
- package/dist/src/runner/runScenarioHosted.js +257 -58
- package/dist/src/runner/runTrialGroup.d.ts +1 -3
- package/dist/src/runner/runTrialGroup.js +1 -3
- package/dist/src/scenario/parseScenario.d.ts +5 -0
- package/dist/src/scenario/parseScenario.js +135 -8
- package/dist/src/scenario/scenarioSchema.d.ts +200 -3
- package/dist/src/scenario/scenarioSchema.js +12 -1
- package/dist/src/twin/twinHarness.d.ts +10 -0
- package/dist/src/twin/twinHarness.js +6 -2
- package/dist/src/twin/twinStart.d.ts +19 -0
- package/dist/src/twin/twinStart.js +156 -0
- package/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +121 -0
- package/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +204 -0
- package/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +1 -0
- package/node_modules/@pome-sh/sdk/dist/parity.d.ts +55 -0
- package/node_modules/@pome-sh/sdk/dist/parity.js +112 -0
- package/node_modules/@pome-sh/sdk/dist/parity.js.map +1 -0
- package/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +15 -0
- package/node_modules/@pome-sh/sdk/dist/server-helpers.js +96 -0
- package/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +1 -1
- package/node_modules/@pome-sh/sdk/dist/server.d.ts +1 -1
- package/node_modules/@pome-sh/sdk/dist/server.js +9 -7
- package/node_modules/@pome-sh/sdk/dist/server.js.map +1 -1
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/errors.d.ts +39 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/errors.js +33 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/errors.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/evaluator-hooks.d.ts +13 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/evaluator-hooks.js +6 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/evaluator-hooks.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +215 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +83 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +175 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/github-access-control.js +182 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/identity.d.ts +90 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/identity.js +72 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/identity.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/index.d.ts +27 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/index.js +34 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +286 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +33 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +65 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +455 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +39 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +47 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +25 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/index.js +27 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +100 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +185 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +64 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +112 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +26 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/nano.js +61 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +42 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/project.js +96 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +51 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +74 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +134 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +152 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +418 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.js +234 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +2 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/redaction.js +152 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/redaction.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/rest.d.ts +198 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/rest.js +225 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/run.d.ts +201 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/run.js +166 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +446 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-state.js +167 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +53 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/sessions.js +51 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +66 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task-vocab.js +84 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task.d.ts +483 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task.js +60 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task.js.map +1 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/package.json +54 -0
- package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/trace-contract.json +41 -0
- package/node_modules/@pome-sh/sdk/package.json +6 -2
- package/node_modules/@pome-sh/shared-types/dist/errors.d.ts +39 -0
- package/node_modules/@pome-sh/shared-types/dist/errors.js +33 -0
- package/node_modules/@pome-sh/shared-types/dist/errors.js.map +1 -0
- package/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +252 -0
- package/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +122 -0
- package/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -0
- package/node_modules/@pome-sh/shared-types/dist/identity.d.ts +90 -0
- package/node_modules/@pome-sh/shared-types/dist/identity.js +72 -0
- package/node_modules/@pome-sh/shared-types/dist/identity.js.map +1 -0
- package/node_modules/@pome-sh/shared-types/dist/index.d.ts +13 -1353
- package/node_modules/@pome-sh/shared-types/dist/index.js +14 -568
- package/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -1
- package/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +45 -0
- package/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +8 -0
- package/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -1
- package/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +7 -0
- package/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -1
- package/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +62 -0
- package/node_modules/@pome-sh/shared-types/dist/recorder-events.js +36 -0
- package/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -1
- package/node_modules/@pome-sh/shared-types/dist/rest.d.ts +245 -0
- package/node_modules/@pome-sh/shared-types/dist/rest.js +303 -0
- package/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -0
- package/node_modules/@pome-sh/shared-types/dist/run.d.ts +7 -0
- package/node_modules/@pome-sh/shared-types/dist/run.js +4 -0
- package/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -1
- package/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +14 -0
- package/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +46 -0
- package/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +1 -0
- package/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +446 -0
- package/node_modules/@pome-sh/shared-types/dist/seed-state.js +167 -0
- package/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -0
- package/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +53 -0
- package/node_modules/@pome-sh/shared-types/dist/sessions.js +51 -0
- package/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -0
- package/node_modules/@pome-sh/shared-types/dist/task.d.ts +485 -0
- package/node_modules/@pome-sh/shared-types/dist/task.js +60 -0
- package/node_modules/@pome-sh/shared-types/dist/task.js.map +1 -0
- package/node_modules/@pome-sh/shared-types/package.json +2 -1
- package/node_modules/@pome-sh/shared-types/trace-contract.json +1 -1
- package/node_modules/@pome-sh/twin-github/FIDELITY.md +127 -67
- package/node_modules/@pome-sh/twin-github/README.md +3 -7
- package/node_modules/@pome-sh/twin-github/dist/examples/claude-github-agent.js +4 -20
- package/node_modules/@pome-sh/twin-github/dist/examples/claude-github-agent.js.map +1 -1
- package/node_modules/@pome-sh/twin-github/dist/src/access-control.d.ts +3 -3
- package/node_modules/@pome-sh/twin-github/dist/src/domain.d.ts +141 -3
- package/node_modules/@pome-sh/twin-github/dist/src/domain.js +0 -0
- package/node_modules/@pome-sh/twin-github/dist/src/domain.js.map +1 -1
- package/node_modules/@pome-sh/twin-github/dist/src/routes.js +2 -0
- package/node_modules/@pome-sh/twin-github/dist/src/routes.js.map +1 -1
- package/node_modules/@pome-sh/twin-github/dist/src/seed.d.ts +1 -1
- package/node_modules/@pome-sh/twin-github/dist/src/serializers.d.ts +2 -2
- package/node_modules/@pome-sh/twin-github/dist/src/server.js +7 -6
- package/node_modules/@pome-sh/twin-github/dist/src/server.js.map +1 -1
- package/node_modules/@pome-sh/twin-github/dist/src/tools.d.ts +168 -18
- package/node_modules/@pome-sh/twin-github/dist/src/tools.js +23 -0
- package/node_modules/@pome-sh/twin-github/dist/src/tools.js.map +1 -1
- package/node_modules/@pome-sh/twin-github/fidelity.inventory.json +773 -0
- package/node_modules/@pome-sh/twin-github/package.json +5 -4
- package/node_modules/@pome-sh/twin-slack/FIDELITY.md +121 -35
- package/node_modules/@pome-sh/twin-slack/README.md +2 -6
- package/node_modules/@pome-sh/twin-slack/dist/scripts/fidelity-parity.d.ts +1 -0
- package/node_modules/@pome-sh/twin-slack/dist/scripts/fidelity-parity.js +92 -0
- package/node_modules/@pome-sh/twin-slack/dist/scripts/fidelity-parity.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/dist/scripts/smoke.js +3 -3
- package/node_modules/@pome-sh/twin-slack/dist/scripts/smoke.js.map +1 -1
- package/node_modules/@pome-sh/twin-slack/dist/scripts/validate-mcp.js +1 -1
- package/node_modules/@pome-sh/twin-slack/dist/scripts/validate-mcp.js.map +1 -1
- package/node_modules/@pome-sh/twin-slack/dist/src/server.js +7 -6
- package/node_modules/@pome-sh/twin-slack/dist/src/server.js.map +1 -1
- package/node_modules/@pome-sh/twin-slack/dist/src/tools.d.ts +30 -4
- package/node_modules/@pome-sh/twin-slack/dist/src/tools.js +48 -1
- package/node_modules/@pome-sh/twin-slack/dist/src/tools.js.map +1 -1
- package/node_modules/@pome-sh/twin-slack/fidelity.inventory.json +377 -0
- package/node_modules/@pome-sh/twin-slack/package.json +5 -4
- package/node_modules/@pome-sh/twin-stripe/FIDELITY.md +151 -50
- package/node_modules/@pome-sh/twin-stripe/README.md +42 -45
- package/node_modules/@pome-sh/twin-stripe/dist/scripts/fidelity-parity.d.ts +1 -0
- package/node_modules/@pome-sh/twin-stripe/dist/scripts/fidelity-parity.js +186 -0
- package/node_modules/@pome-sh/twin-stripe/dist/scripts/fidelity-parity.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/dist/scripts/smoke.js +8 -4
- package/node_modules/@pome-sh/twin-stripe/dist/scripts/smoke.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/db.js +26 -2
- package/node_modules/@pome-sh/twin-stripe/dist/src/db.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/billing.d.ts +101 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/billing.js +195 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/billing.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/charges.d.ts +15 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/charges.js +17 -5
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/charges.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/customers.d.ts +47 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/customers.js +103 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/customers.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/events.d.ts +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/events.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/index.d.ts +6 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/index.js +3 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/index.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-intents.d.ts +61 -2
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-intents.js +214 -52
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-intents.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-methods.d.ts +45 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-methods.js +159 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-methods.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/refunds.d.ts +6 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/refunds.js +16 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/refunds.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/schema.d.ts +1 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/schema.js +144 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/schema.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/stripe-domain.d.ts +420 -43
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/stripe-domain.js +442 -13
- package/node_modules/@pome-sh/twin-stripe/dist/src/domain/stripe-domain.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/errors.d.ts +19 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/errors.js +15 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/errors.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/ids.d.ts +2 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/ids.js +2 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/ids.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.d.ts +8 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.js +105 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/routes/billing.d.ts +4 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/routes/billing.js +117 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/routes/billing.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/routes/customers.d.ts +4 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/routes/customers.js +47 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/routes/customers.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/routes/index.js +6 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/routes/index.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-intents.js +28 -102
- package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-intents.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-methods.d.ts +4 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-methods.js +33 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-methods.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/seed.d.ts +10 -8
- package/node_modules/@pome-sh/twin-stripe/dist/src/seed.js +3 -2
- package/node_modules/@pome-sh/twin-stripe/dist/src/seed.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/serializers.d.ts +181 -21
- package/node_modules/@pome-sh/twin-stripe/dist/src/serializers.js +257 -34
- package/node_modules/@pome-sh/twin-stripe/dist/src/serializers.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/server.js +7 -6
- package/node_modules/@pome-sh/twin-stripe/dist/src/server.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/tools.d.ts +107 -5
- package/node_modules/@pome-sh/twin-stripe/dist/src/tools.js +139 -6
- package/node_modules/@pome-sh/twin-stripe/dist/src/tools.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/types.d.ts +73 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/upstream-types.d.ts +8 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/x402.js +6 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/x402.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/fidelity.inventory.json +425 -0
- package/node_modules/@pome-sh/twin-stripe/package.json +5 -4
- package/package.json +8 -8
- package/skills/pome-setup/SKILL.md +1 -1
package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts
ADDED
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* recorder-events — twin runtime trace format
|
|
3
|
+
*
|
|
4
|
+
* Single source of truth for the per-request event a twin runtime emits into
|
|
5
|
+
* its recorder ring buffer. Consumed by:
|
|
6
|
+
* - twin runtimes (`@pome-sh/twin-github`, `@pome-sh/twin-stripe`) — emit shape
|
|
7
|
+
* - `@pome-sh/sdk` — read shape for post-run analysis
|
|
8
|
+
* - `pome-cloud` correlator — input to trace correlation on ingest
|
|
9
|
+
* - `pome-cloud` recorder writers — persisted shape for events.jsonl S3 blob
|
|
10
|
+
*
|
|
11
|
+
* v1.0 freeze of the twin runtime trace format. Breaking changes go through a
|
|
12
|
+
* documented deprecation policy.
|
|
13
|
+
*/
|
|
14
|
+
import { z } from "zod";
|
|
15
|
+
export declare const KNOWN_TWIN_IDS: readonly ["github", "stripe", "slack"];
|
|
16
|
+
export type KnownTwinId = (typeof KNOWN_TWIN_IDS)[number];
|
|
17
|
+
export declare const twinIdSchema: z.ZodString;
|
|
18
|
+
export type TwinId = z.infer<typeof twinIdSchema>;
|
|
19
|
+
export declare const recorderFidelitySchema: z.ZodEnum<{
|
|
20
|
+
semantic: "semantic";
|
|
21
|
+
unsupported: "unsupported";
|
|
22
|
+
}>;
|
|
23
|
+
export type RecorderFidelity = z.infer<typeof recorderFidelitySchema>;
|
|
24
|
+
export declare const stateDeltaSchema: z.ZodNullable<z.ZodObject<{
|
|
25
|
+
before: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
26
|
+
after: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
27
|
+
}, z.core.$strip>>;
|
|
28
|
+
export type StateDelta = z.infer<typeof stateDeltaSchema>;
|
|
29
|
+
export declare const recorderEventSchema: z.ZodPipe<z.ZodObject<{
|
|
30
|
+
ts: z.ZodString;
|
|
31
|
+
run_id: z.ZodString;
|
|
32
|
+
twin: z.ZodString;
|
|
33
|
+
request_id: z.ZodString;
|
|
34
|
+
correlation_id: z.ZodOptional<z.ZodString>;
|
|
35
|
+
task_step_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
36
|
+
scenario_step_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
37
|
+
step_id: z.ZodNullable<z.ZodString>;
|
|
38
|
+
tool_call_id: z.ZodNullable<z.ZodString>;
|
|
39
|
+
method: z.ZodString;
|
|
40
|
+
path: z.ZodString;
|
|
41
|
+
request_body: z.ZodUnknown;
|
|
42
|
+
status: z.ZodNumber;
|
|
43
|
+
response_body: z.ZodUnknown;
|
|
44
|
+
latency_ms: z.ZodNumber;
|
|
45
|
+
fidelity: z.ZodEnum<{
|
|
46
|
+
semantic: "semantic";
|
|
47
|
+
unsupported: "unsupported";
|
|
48
|
+
}>;
|
|
49
|
+
state_mutation: z.ZodBoolean;
|
|
50
|
+
state_delta: z.ZodNullable<z.ZodObject<{
|
|
51
|
+
before: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
52
|
+
after: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
53
|
+
}, z.core.$strip>>;
|
|
54
|
+
idempotency_dedupe: z.ZodOptional<z.ZodBoolean>;
|
|
55
|
+
error: z.ZodNullable<z.ZodString>;
|
|
56
|
+
}, z.core.$strip>, z.ZodTransform<{
|
|
57
|
+
ts: string;
|
|
58
|
+
run_id: string;
|
|
59
|
+
twin: string;
|
|
60
|
+
request_id: string;
|
|
61
|
+
step_id: string | null;
|
|
62
|
+
tool_call_id: string | null;
|
|
63
|
+
method: string;
|
|
64
|
+
path: string;
|
|
65
|
+
request_body: unknown;
|
|
66
|
+
status: number;
|
|
67
|
+
response_body: unknown;
|
|
68
|
+
latency_ms: number;
|
|
69
|
+
fidelity: "semantic" | "unsupported";
|
|
70
|
+
state_mutation: boolean;
|
|
71
|
+
state_delta: {
|
|
72
|
+
before: Record<string, unknown> | null;
|
|
73
|
+
after: Record<string, unknown> | null;
|
|
74
|
+
} | null;
|
|
75
|
+
error: string | null;
|
|
76
|
+
correlation_id?: string | undefined;
|
|
77
|
+
task_step_id?: string | null | undefined;
|
|
78
|
+
scenario_step_id?: string | null | undefined;
|
|
79
|
+
idempotency_dedupe?: boolean | undefined;
|
|
80
|
+
}, {
|
|
81
|
+
ts: string;
|
|
82
|
+
run_id: string;
|
|
83
|
+
twin: string;
|
|
84
|
+
request_id: string;
|
|
85
|
+
step_id: string | null;
|
|
86
|
+
tool_call_id: string | null;
|
|
87
|
+
method: string;
|
|
88
|
+
path: string;
|
|
89
|
+
request_body: unknown;
|
|
90
|
+
status: number;
|
|
91
|
+
response_body: unknown;
|
|
92
|
+
latency_ms: number;
|
|
93
|
+
fidelity: "semantic" | "unsupported";
|
|
94
|
+
state_mutation: boolean;
|
|
95
|
+
state_delta: {
|
|
96
|
+
before: Record<string, unknown> | null;
|
|
97
|
+
after: Record<string, unknown> | null;
|
|
98
|
+
} | null;
|
|
99
|
+
error: string | null;
|
|
100
|
+
correlation_id?: string | undefined;
|
|
101
|
+
task_step_id?: string | null | undefined;
|
|
102
|
+
scenario_step_id?: string | null | undefined;
|
|
103
|
+
idempotency_dedupe?: boolean | undefined;
|
|
104
|
+
}>>;
|
|
105
|
+
export type RecorderEvent = z.infer<typeof recorderEventSchema>;
|
|
106
|
+
export declare const twinHttpEventSchema: z.ZodObject<{
|
|
107
|
+
ts: z.ZodString;
|
|
108
|
+
run_id: z.ZodString;
|
|
109
|
+
twin: z.ZodString;
|
|
110
|
+
request_id: z.ZodString;
|
|
111
|
+
correlation_id: z.ZodOptional<z.ZodString>;
|
|
112
|
+
task_step_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
113
|
+
scenario_step_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
114
|
+
step_id: z.ZodNullable<z.ZodString>;
|
|
115
|
+
tool_call_id: z.ZodNullable<z.ZodString>;
|
|
116
|
+
method: z.ZodString;
|
|
117
|
+
path: z.ZodString;
|
|
118
|
+
request_body: z.ZodUnknown;
|
|
119
|
+
status: z.ZodNumber;
|
|
120
|
+
response_body: z.ZodUnknown;
|
|
121
|
+
latency_ms: z.ZodNumber;
|
|
122
|
+
fidelity: z.ZodEnum<{
|
|
123
|
+
semantic: "semantic";
|
|
124
|
+
unsupported: "unsupported";
|
|
125
|
+
}>;
|
|
126
|
+
state_mutation: z.ZodBoolean;
|
|
127
|
+
state_delta: z.ZodNullable<z.ZodObject<{
|
|
128
|
+
before: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
129
|
+
after: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
130
|
+
}, z.core.$strip>>;
|
|
131
|
+
idempotency_dedupe: z.ZodOptional<z.ZodBoolean>;
|
|
132
|
+
error: z.ZodNullable<z.ZodString>;
|
|
133
|
+
kind: z.ZodLiteral<"TwinHttpEvent">;
|
|
134
|
+
event_id: z.ZodString;
|
|
135
|
+
parent_id: z.ZodNullable<z.ZodString>;
|
|
136
|
+
}, z.core.$strip>;
|
|
137
|
+
export type TwinHttpEvent = z.infer<typeof twinHttpEventSchema>;
|
|
138
|
+
export declare const llmCallEventSchema: z.ZodObject<{
|
|
139
|
+
kind: z.ZodLiteral<"LlmCallEvent">;
|
|
140
|
+
host: z.ZodString;
|
|
141
|
+
port: z.ZodNumber;
|
|
142
|
+
latency_ms: z.ZodNumber;
|
|
143
|
+
bytes_in: z.ZodNumber;
|
|
144
|
+
bytes_out: z.ZodNumber;
|
|
145
|
+
url: z.ZodNullable<z.ZodString>;
|
|
146
|
+
method: z.ZodNullable<z.ZodString>;
|
|
147
|
+
status: z.ZodNullable<z.ZodNumber>;
|
|
148
|
+
model: z.ZodNullable<z.ZodString>;
|
|
149
|
+
prompt_tokens: z.ZodNullable<z.ZodNumber>;
|
|
150
|
+
completion_tokens: z.ZodNullable<z.ZodNumber>;
|
|
151
|
+
cost_usd: z.ZodNullable<z.ZodNumber>;
|
|
152
|
+
ts: z.ZodString;
|
|
153
|
+
event_id: z.ZodString;
|
|
154
|
+
parent_id: z.ZodNullable<z.ZodString>;
|
|
155
|
+
}, z.core.$strip>;
|
|
156
|
+
export type LlmCallEvent = z.infer<typeof llmCallEventSchema>;
|
|
157
|
+
export declare const toolUseEventSchema: z.ZodObject<{
|
|
158
|
+
kind: z.ZodLiteral<"ToolUseEvent">;
|
|
159
|
+
tool_use_id: z.ZodString;
|
|
160
|
+
tool_name: z.ZodString;
|
|
161
|
+
input: z.ZodUnknown;
|
|
162
|
+
ts: z.ZodString;
|
|
163
|
+
event_id: z.ZodString;
|
|
164
|
+
parent_id: z.ZodNullable<z.ZodString>;
|
|
165
|
+
}, z.core.$strip>;
|
|
166
|
+
export type ToolUseEvent = z.infer<typeof toolUseEventSchema>;
|
|
167
|
+
export declare const toolResultEventSchema: z.ZodObject<{
|
|
168
|
+
kind: z.ZodLiteral<"ToolResultEvent">;
|
|
169
|
+
tool_use_id: z.ZodString;
|
|
170
|
+
output: z.ZodUnknown;
|
|
171
|
+
is_error: z.ZodBoolean;
|
|
172
|
+
ts: z.ZodString;
|
|
173
|
+
event_id: z.ZodString;
|
|
174
|
+
parent_id: z.ZodNullable<z.ZodString>;
|
|
175
|
+
}, z.core.$strip>;
|
|
176
|
+
export type ToolResultEvent = z.infer<typeof toolResultEventSchema>;
|
|
177
|
+
export declare const subagentSpawnEventSchema: z.ZodObject<{
|
|
178
|
+
kind: z.ZodLiteral<"SubagentSpawnEvent">;
|
|
179
|
+
parent_tool_use_id: z.ZodString;
|
|
180
|
+
ts: z.ZodString;
|
|
181
|
+
event_id: z.ZodString;
|
|
182
|
+
parent_id: z.ZodNullable<z.ZodString>;
|
|
183
|
+
}, z.core.$strip>;
|
|
184
|
+
export type SubagentSpawnEvent = z.infer<typeof subagentSpawnEventSchema>;
|
|
185
|
+
export declare const hookEventSchema: z.ZodObject<{
|
|
186
|
+
kind: z.ZodLiteral<"HookEvent">;
|
|
187
|
+
hook_name: z.ZodString;
|
|
188
|
+
tool_name: z.ZodNullable<z.ZodString>;
|
|
189
|
+
ts: z.ZodString;
|
|
190
|
+
event_id: z.ZodString;
|
|
191
|
+
parent_id: z.ZodNullable<z.ZodString>;
|
|
192
|
+
}, z.core.$strip>;
|
|
193
|
+
export type HookEvent = z.infer<typeof hookEventSchema>;
|
|
194
|
+
export declare const eventSchema: z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
195
|
+
ts: z.ZodString;
|
|
196
|
+
run_id: z.ZodString;
|
|
197
|
+
twin: z.ZodString;
|
|
198
|
+
request_id: z.ZodString;
|
|
199
|
+
correlation_id: z.ZodOptional<z.ZodString>;
|
|
200
|
+
task_step_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
201
|
+
scenario_step_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
202
|
+
step_id: z.ZodNullable<z.ZodString>;
|
|
203
|
+
tool_call_id: z.ZodNullable<z.ZodString>;
|
|
204
|
+
method: z.ZodString;
|
|
205
|
+
path: z.ZodString;
|
|
206
|
+
request_body: z.ZodUnknown;
|
|
207
|
+
status: z.ZodNumber;
|
|
208
|
+
response_body: z.ZodUnknown;
|
|
209
|
+
latency_ms: z.ZodNumber;
|
|
210
|
+
fidelity: z.ZodEnum<{
|
|
211
|
+
semantic: "semantic";
|
|
212
|
+
unsupported: "unsupported";
|
|
213
|
+
}>;
|
|
214
|
+
state_mutation: z.ZodBoolean;
|
|
215
|
+
state_delta: z.ZodNullable<z.ZodObject<{
|
|
216
|
+
before: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
217
|
+
after: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
218
|
+
}, z.core.$strip>>;
|
|
219
|
+
idempotency_dedupe: z.ZodOptional<z.ZodBoolean>;
|
|
220
|
+
error: z.ZodNullable<z.ZodString>;
|
|
221
|
+
kind: z.ZodLiteral<"TwinHttpEvent">;
|
|
222
|
+
event_id: z.ZodString;
|
|
223
|
+
parent_id: z.ZodNullable<z.ZodString>;
|
|
224
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
225
|
+
kind: z.ZodLiteral<"LlmCallEvent">;
|
|
226
|
+
host: z.ZodString;
|
|
227
|
+
port: z.ZodNumber;
|
|
228
|
+
latency_ms: z.ZodNumber;
|
|
229
|
+
bytes_in: z.ZodNumber;
|
|
230
|
+
bytes_out: z.ZodNumber;
|
|
231
|
+
url: z.ZodNullable<z.ZodString>;
|
|
232
|
+
method: z.ZodNullable<z.ZodString>;
|
|
233
|
+
status: z.ZodNullable<z.ZodNumber>;
|
|
234
|
+
model: z.ZodNullable<z.ZodString>;
|
|
235
|
+
prompt_tokens: z.ZodNullable<z.ZodNumber>;
|
|
236
|
+
completion_tokens: z.ZodNullable<z.ZodNumber>;
|
|
237
|
+
cost_usd: z.ZodNullable<z.ZodNumber>;
|
|
238
|
+
ts: z.ZodString;
|
|
239
|
+
event_id: z.ZodString;
|
|
240
|
+
parent_id: z.ZodNullable<z.ZodString>;
|
|
241
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
242
|
+
kind: z.ZodLiteral<"ToolUseEvent">;
|
|
243
|
+
tool_use_id: z.ZodString;
|
|
244
|
+
tool_name: z.ZodString;
|
|
245
|
+
input: z.ZodUnknown;
|
|
246
|
+
ts: z.ZodString;
|
|
247
|
+
event_id: z.ZodString;
|
|
248
|
+
parent_id: z.ZodNullable<z.ZodString>;
|
|
249
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
250
|
+
kind: z.ZodLiteral<"ToolResultEvent">;
|
|
251
|
+
tool_use_id: z.ZodString;
|
|
252
|
+
output: z.ZodUnknown;
|
|
253
|
+
is_error: z.ZodBoolean;
|
|
254
|
+
ts: z.ZodString;
|
|
255
|
+
event_id: z.ZodString;
|
|
256
|
+
parent_id: z.ZodNullable<z.ZodString>;
|
|
257
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
258
|
+
kind: z.ZodLiteral<"SubagentSpawnEvent">;
|
|
259
|
+
parent_tool_use_id: z.ZodString;
|
|
260
|
+
ts: z.ZodString;
|
|
261
|
+
event_id: z.ZodString;
|
|
262
|
+
parent_id: z.ZodNullable<z.ZodString>;
|
|
263
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
264
|
+
kind: z.ZodLiteral<"HookEvent">;
|
|
265
|
+
hook_name: z.ZodString;
|
|
266
|
+
tool_name: z.ZodNullable<z.ZodString>;
|
|
267
|
+
ts: z.ZodString;
|
|
268
|
+
event_id: z.ZodString;
|
|
269
|
+
parent_id: z.ZodNullable<z.ZodString>;
|
|
270
|
+
}, z.core.$strip>], "kind">, z.ZodTransform<{
|
|
271
|
+
ts: string;
|
|
272
|
+
run_id: string;
|
|
273
|
+
twin: string;
|
|
274
|
+
request_id: string;
|
|
275
|
+
step_id: string | null;
|
|
276
|
+
tool_call_id: string | null;
|
|
277
|
+
method: string;
|
|
278
|
+
path: string;
|
|
279
|
+
request_body: unknown;
|
|
280
|
+
status: number;
|
|
281
|
+
response_body: unknown;
|
|
282
|
+
latency_ms: number;
|
|
283
|
+
fidelity: "semantic" | "unsupported";
|
|
284
|
+
state_mutation: boolean;
|
|
285
|
+
state_delta: {
|
|
286
|
+
before: Record<string, unknown> | null;
|
|
287
|
+
after: Record<string, unknown> | null;
|
|
288
|
+
} | null;
|
|
289
|
+
error: string | null;
|
|
290
|
+
kind: "TwinHttpEvent";
|
|
291
|
+
event_id: string;
|
|
292
|
+
parent_id: string | null;
|
|
293
|
+
correlation_id?: string | undefined;
|
|
294
|
+
task_step_id?: string | null | undefined;
|
|
295
|
+
scenario_step_id?: string | null | undefined;
|
|
296
|
+
idempotency_dedupe?: boolean | undefined;
|
|
297
|
+
} | {
|
|
298
|
+
kind: "LlmCallEvent";
|
|
299
|
+
host: string;
|
|
300
|
+
port: number;
|
|
301
|
+
latency_ms: number;
|
|
302
|
+
bytes_in: number;
|
|
303
|
+
bytes_out: number;
|
|
304
|
+
url: string | null;
|
|
305
|
+
method: string | null;
|
|
306
|
+
status: number | null;
|
|
307
|
+
model: string | null;
|
|
308
|
+
prompt_tokens: number | null;
|
|
309
|
+
completion_tokens: number | null;
|
|
310
|
+
cost_usd: number | null;
|
|
311
|
+
ts: string;
|
|
312
|
+
event_id: string;
|
|
313
|
+
parent_id: string | null;
|
|
314
|
+
} | {
|
|
315
|
+
kind: "ToolUseEvent";
|
|
316
|
+
tool_use_id: string;
|
|
317
|
+
tool_name: string;
|
|
318
|
+
input: unknown;
|
|
319
|
+
ts: string;
|
|
320
|
+
event_id: string;
|
|
321
|
+
parent_id: string | null;
|
|
322
|
+
} | {
|
|
323
|
+
kind: "ToolResultEvent";
|
|
324
|
+
tool_use_id: string;
|
|
325
|
+
output: unknown;
|
|
326
|
+
is_error: boolean;
|
|
327
|
+
ts: string;
|
|
328
|
+
event_id: string;
|
|
329
|
+
parent_id: string | null;
|
|
330
|
+
} | {
|
|
331
|
+
kind: "SubagentSpawnEvent";
|
|
332
|
+
parent_tool_use_id: string;
|
|
333
|
+
ts: string;
|
|
334
|
+
event_id: string;
|
|
335
|
+
parent_id: string | null;
|
|
336
|
+
} | {
|
|
337
|
+
kind: "HookEvent";
|
|
338
|
+
hook_name: string;
|
|
339
|
+
tool_name: string | null;
|
|
340
|
+
ts: string;
|
|
341
|
+
event_id: string;
|
|
342
|
+
parent_id: string | null;
|
|
343
|
+
}, {
|
|
344
|
+
ts: string;
|
|
345
|
+
run_id: string;
|
|
346
|
+
twin: string;
|
|
347
|
+
request_id: string;
|
|
348
|
+
step_id: string | null;
|
|
349
|
+
tool_call_id: string | null;
|
|
350
|
+
method: string;
|
|
351
|
+
path: string;
|
|
352
|
+
request_body: unknown;
|
|
353
|
+
status: number;
|
|
354
|
+
response_body: unknown;
|
|
355
|
+
latency_ms: number;
|
|
356
|
+
fidelity: "semantic" | "unsupported";
|
|
357
|
+
state_mutation: boolean;
|
|
358
|
+
state_delta: {
|
|
359
|
+
before: Record<string, unknown> | null;
|
|
360
|
+
after: Record<string, unknown> | null;
|
|
361
|
+
} | null;
|
|
362
|
+
error: string | null;
|
|
363
|
+
kind: "TwinHttpEvent";
|
|
364
|
+
event_id: string;
|
|
365
|
+
parent_id: string | null;
|
|
366
|
+
correlation_id?: string | undefined;
|
|
367
|
+
task_step_id?: string | null | undefined;
|
|
368
|
+
scenario_step_id?: string | null | undefined;
|
|
369
|
+
idempotency_dedupe?: boolean | undefined;
|
|
370
|
+
} | {
|
|
371
|
+
kind: "LlmCallEvent";
|
|
372
|
+
host: string;
|
|
373
|
+
port: number;
|
|
374
|
+
latency_ms: number;
|
|
375
|
+
bytes_in: number;
|
|
376
|
+
bytes_out: number;
|
|
377
|
+
url: string | null;
|
|
378
|
+
method: string | null;
|
|
379
|
+
status: number | null;
|
|
380
|
+
model: string | null;
|
|
381
|
+
prompt_tokens: number | null;
|
|
382
|
+
completion_tokens: number | null;
|
|
383
|
+
cost_usd: number | null;
|
|
384
|
+
ts: string;
|
|
385
|
+
event_id: string;
|
|
386
|
+
parent_id: string | null;
|
|
387
|
+
} | {
|
|
388
|
+
kind: "ToolUseEvent";
|
|
389
|
+
tool_use_id: string;
|
|
390
|
+
tool_name: string;
|
|
391
|
+
input: unknown;
|
|
392
|
+
ts: string;
|
|
393
|
+
event_id: string;
|
|
394
|
+
parent_id: string | null;
|
|
395
|
+
} | {
|
|
396
|
+
kind: "ToolResultEvent";
|
|
397
|
+
tool_use_id: string;
|
|
398
|
+
output: unknown;
|
|
399
|
+
is_error: boolean;
|
|
400
|
+
ts: string;
|
|
401
|
+
event_id: string;
|
|
402
|
+
parent_id: string | null;
|
|
403
|
+
} | {
|
|
404
|
+
kind: "SubagentSpawnEvent";
|
|
405
|
+
parent_tool_use_id: string;
|
|
406
|
+
ts: string;
|
|
407
|
+
event_id: string;
|
|
408
|
+
parent_id: string | null;
|
|
409
|
+
} | {
|
|
410
|
+
kind: "HookEvent";
|
|
411
|
+
hook_name: string;
|
|
412
|
+
tool_name: string | null;
|
|
413
|
+
ts: string;
|
|
414
|
+
event_id: string;
|
|
415
|
+
parent_id: string | null;
|
|
416
|
+
}>>;
|
|
417
|
+
export type Event = z.infer<typeof eventSchema>;
|
|
418
|
+
export declare function isLegacyEventRow(row: unknown): boolean;
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
/**
|
|
3
|
+
* recorder-events — twin runtime trace format
|
|
4
|
+
*
|
|
5
|
+
* Single source of truth for the per-request event a twin runtime emits into
|
|
6
|
+
* its recorder ring buffer. Consumed by:
|
|
7
|
+
* - twin runtimes (`@pome-sh/twin-github`, `@pome-sh/twin-stripe`) — emit shape
|
|
8
|
+
* - `@pome-sh/sdk` — read shape for post-run analysis
|
|
9
|
+
* - `pome-cloud` correlator — input to trace correlation on ingest
|
|
10
|
+
* - `pome-cloud` recorder writers — persisted shape for events.jsonl S3 blob
|
|
11
|
+
*
|
|
12
|
+
* v1.0 freeze of the twin runtime trace format. Breaking changes go through a
|
|
13
|
+
* documented deprecation policy.
|
|
14
|
+
*/
|
|
15
|
+
import { z } from "zod";
|
|
16
|
+
// `twin` is an open string at the schema level so SDK-based community twins
|
|
17
|
+
// can set their own id without forcing a shared-types schema bump. Dashboard
|
|
18
|
+
// rendering pattern-matches against `KNOWN_TWIN_IDS` and falls back to
|
|
19
|
+
// generic rendering for unknown values — losing a recording to parse failure
|
|
20
|
+
// would be worse than rendering it generically. First-party twins SHOULD use
|
|
21
|
+
// the canonical values for type-aware UI.
|
|
22
|
+
export const KNOWN_TWIN_IDS = ["github", "stripe", "slack"];
|
|
23
|
+
export const twinIdSchema = z.string().min(1);
|
|
24
|
+
export const recorderFidelitySchema = z.enum(["semantic", "unsupported"]);
|
|
25
|
+
// stateDelta captures the row-level before/after for a mutation. State-inspector
|
|
26
|
+
// renders these as a key/value diff. `before: null` = row was inserted (no prior
|
|
27
|
+
// state); `after: null` = row was deleted. Parent `null` = no mutation (read-only
|
|
28
|
+
// call — should also have `state_mutation: false`). Per-twin types are NOT
|
|
29
|
+
// enforced — each twin owns its row shape, and forcing a strong type here would
|
|
30
|
+
// couple shared-types to twin schemas.
|
|
31
|
+
export const stateDeltaSchema = z
|
|
32
|
+
.object({
|
|
33
|
+
before: z.record(z.string(), z.unknown()).nullable(),
|
|
34
|
+
after: z.record(z.string(), z.unknown()).nullable(),
|
|
35
|
+
})
|
|
36
|
+
.nullable();
|
|
37
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
38
|
+
// Legacy single-shape recorder event (pre-FDRS-398).
|
|
39
|
+
//
|
|
40
|
+
// Kept exported as-is for the 58 callers across twin runtimes, SDK, correlator,
|
|
41
|
+
// CLI, and cloud control plane that still emit/consume this shape on disk.
|
|
42
|
+
// Their migration to the unified discriminated-union `eventSchema` below is
|
|
43
|
+
// owned by downstream M0 tickets (FDRS-402 / 403 / 412 / 415 / 417).
|
|
44
|
+
// `isLegacyEventRow` lets readers detect this shape during the rollout.
|
|
45
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
46
|
+
// Internal plain-object shape. Kept as a `ZodObject` so `twinHttpEventSchema`
|
|
47
|
+
// can `.extend` it and stay a discriminated-union member; the exported
|
|
48
|
+
// `recorderEventSchema` wraps it with the FDRS-653 task-vocab normalization.
|
|
49
|
+
const recorderEventObjectSchema = z.object({
|
|
50
|
+
ts: z.string().datetime(),
|
|
51
|
+
run_id: z.string().min(1),
|
|
52
|
+
twin: twinIdSchema,
|
|
53
|
+
request_id: z.string().min(1),
|
|
54
|
+
correlation_id: z.string().min(1).optional(),
|
|
55
|
+
// task_step_id is set by the task author in .yaml (static expectation:
|
|
56
|
+
// "this HTTP call is expected at step 2"). step_id below is set post-hoc by
|
|
57
|
+
// the correlator (dynamic grouping: "this event landed in Step stp_xyz").
|
|
58
|
+
// 90% of events use only one; both can coexist.
|
|
59
|
+
//
|
|
60
|
+
// W3 vocab (FDRS-653): `task_step_id` is canonical; `scenario_step_id` is
|
|
61
|
+
// the 0.3.0-era spelling. BOTH stay in the schema for the tolerant-reader
|
|
62
|
+
// window — this row shape is the frozen v1 trace format and its emitters
|
|
63
|
+
// (twin runtimes, shipped CLIs on vendored 0.3.0) still write the old key.
|
|
64
|
+
// The exported reader schemas normalize: when only `scenario_step_id` is
|
|
65
|
+
// present, `task_step_id` is populated from it at parse time. New emitters
|
|
66
|
+
// write `task_step_id`.
|
|
67
|
+
task_step_id: z.string().min(1).nullable().optional(),
|
|
68
|
+
scenario_step_id: z.string().min(1).nullable().optional(),
|
|
69
|
+
step_id: z.string().nullable(),
|
|
70
|
+
// tool_call_id is set by the `@pome-sh/adapter-claude-sdk` adapter when active.
|
|
71
|
+
// Null for the heuristic-correlator path (no adapter signal available).
|
|
72
|
+
tool_call_id: z.string().nullable(),
|
|
73
|
+
method: z.string().min(1),
|
|
74
|
+
path: z.string(),
|
|
75
|
+
request_body: z.unknown(),
|
|
76
|
+
status: z.number().int(),
|
|
77
|
+
response_body: z.unknown(),
|
|
78
|
+
latency_ms: z.number().int().min(0),
|
|
79
|
+
fidelity: recorderFidelitySchema,
|
|
80
|
+
state_mutation: z.boolean(),
|
|
81
|
+
state_delta: stateDeltaSchema,
|
|
82
|
+
// True iff the twin's idempotency layer replayed a cached response without
|
|
83
|
+
// re-invoking the handler. Optional + additive so existing recordings parse
|
|
84
|
+
// unchanged; dashboards/SDKs can render dedupe hits distinctly without
|
|
85
|
+
// inferring from request_body. Absent on the original mutation, present and
|
|
86
|
+
// true on the replayed event.
|
|
87
|
+
idempotency_dedupe: z.boolean().optional(),
|
|
88
|
+
error: z.string().nullable(),
|
|
89
|
+
});
|
|
90
|
+
// FDRS-653 tolerant reader: populate the canonical `task_step_id` from the
|
|
91
|
+
// 0.3.0-era `scenario_step_id` when only the old key was written. The old key
|
|
92
|
+
// is preserved as-sent (additive normalization — a re-serialized row still
|
|
93
|
+
// parses under a 0.3.0 reader, which treats both keys as optional).
|
|
94
|
+
function normalizeTaskStepVocab(event) {
|
|
95
|
+
if (event.task_step_id == null && event.scenario_step_id != null) {
|
|
96
|
+
return { ...event, task_step_id: event.scenario_step_id };
|
|
97
|
+
}
|
|
98
|
+
return event;
|
|
99
|
+
}
|
|
100
|
+
export const recorderEventSchema = recorderEventObjectSchema.transform(normalizeTaskStepVocab);
|
|
101
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
102
|
+
// FDRS-398 — unified events.jsonl discriminated-union schema (v1).
|
|
103
|
+
//
|
|
104
|
+
// Hard-cut from the legacy single-shape `RecorderEvent`. The on-disk row is
|
|
105
|
+
// now a tagged union over `kind`. Every variant carries:
|
|
106
|
+
// - `event_id` — unique row id (uuid/nanoid, set by emitter)
|
|
107
|
+
// - `parent_id` — points at the spawning row's `event_id`, or null at the
|
|
108
|
+
// root of a parent chain (e.g. top-level twin HTTP calls,
|
|
109
|
+
// the first LLM call in a turn).
|
|
110
|
+
// - `kind` — the discriminator literal (see each schema below)
|
|
111
|
+
//
|
|
112
|
+
// Provenance:
|
|
113
|
+
// - PR/FAQ: linear.app/pome-sh/project/agent-trace-v1-af8924d607f0
|
|
114
|
+
// - Milestone M0 "Universal Floor"
|
|
115
|
+
// - /plan-eng-review 2026-05-26 amendments:
|
|
116
|
+
// • Dropped OtelSpanEvent from this frozen v1 union (FDRS-400 cancelled).
|
|
117
|
+
// It later shipped additively (FDRS-480): the schema + mapper live in
|
|
118
|
+
// `./otel/` and are composed into `otelEventSchema` (= eventSchema ∪
|
|
119
|
+
// OtelSpanEvent). This v1 union is intentionally left unchanged.
|
|
120
|
+
// • LlmCallEvent per-call token/model/cost reclassified
|
|
121
|
+
// "TLS-terminate-only" — they are `nullable()` across both baseline
|
|
122
|
+
// CONNECT-tunnel mode AND CAS adapter mode in v1. CAS surfaces those
|
|
123
|
+
// at the per-turn aggregate level on the run summary, NOT here.
|
|
124
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
125
|
+
// Common fields on every event variant. Spread (not extend) so the resulting
|
|
126
|
+
// Zod object types stay readable.
|
|
127
|
+
const eventBaseShape = {
|
|
128
|
+
ts: z.string().datetime(),
|
|
129
|
+
event_id: z.string().min(1),
|
|
130
|
+
parent_id: z.string().min(1).nullable(),
|
|
131
|
+
};
|
|
132
|
+
// `TwinHttpEvent` is the legacy RecorderEvent shape extended with the union
|
|
133
|
+
// discriminator + parent-chain fields. `extend` keeps it in lockstep with
|
|
134
|
+
// the RecorderEvent object shape so updates to the underlying HTTP-call shape
|
|
135
|
+
// flow through automatically. NOTE: as a discriminated-union member this stays
|
|
136
|
+
// a plain `ZodObject` — the FDRS-653 task-vocab normalization is applied by
|
|
137
|
+
// the exported `recorderEventSchema` / `eventSchema` readers, not here.
|
|
138
|
+
export const twinHttpEventSchema = recorderEventObjectSchema.extend({
|
|
139
|
+
kind: z.literal("TwinHttpEvent"),
|
|
140
|
+
event_id: z.string().min(1),
|
|
141
|
+
parent_id: z.string().min(1).nullable(),
|
|
142
|
+
});
|
|
143
|
+
// `LlmCallEvent` baseline fields are populated by the HTTP_PROXY CONNECT
|
|
144
|
+
// tunnel `pome capture-server` (M0). TLS-terminate-only fields stay null in
|
|
145
|
+
// baseline mode and in CAS adapter mode; they get populated only by the v2
|
|
146
|
+
// opt-in TLS-terminate proxy. Per-turn aggregate cost/model from CAS lives
|
|
147
|
+
// on the run summary, not on individual LlmCallEvent rows.
|
|
148
|
+
export const llmCallEventSchema = z.object({
|
|
149
|
+
...eventBaseShape,
|
|
150
|
+
kind: z.literal("LlmCallEvent"),
|
|
151
|
+
// Baseline (always populated)
|
|
152
|
+
host: z.string().min(1),
|
|
153
|
+
port: z.number().int().min(1).max(65535),
|
|
154
|
+
latency_ms: z.number().int().min(0),
|
|
155
|
+
bytes_in: z.number().int().min(0),
|
|
156
|
+
bytes_out: z.number().int().min(0),
|
|
157
|
+
// TLS-terminate-only — nullable, not optional. Writers must emit explicit
|
|
158
|
+
// null in baseline/CAS mode so the on-disk JSON shape is stable.
|
|
159
|
+
url: z.string().nullable(),
|
|
160
|
+
method: z.string().nullable(),
|
|
161
|
+
status: z.number().int().nullable(),
|
|
162
|
+
model: z.string().nullable(),
|
|
163
|
+
prompt_tokens: z.number().int().min(0).nullable(),
|
|
164
|
+
completion_tokens: z.number().int().min(0).nullable(),
|
|
165
|
+
cost_usd: z.number().nullable(),
|
|
166
|
+
});
|
|
167
|
+
// `ToolUseEvent` — emitted by the CAS adapter (FDRS-408) for each tool_use
|
|
168
|
+
// content block in an `SDKAssistantMessage`. `input` is opaque (already
|
|
169
|
+
// redactor-scrubbed by the writer) so we type it as `unknown`.
|
|
170
|
+
export const toolUseEventSchema = z.object({
|
|
171
|
+
...eventBaseShape,
|
|
172
|
+
kind: z.literal("ToolUseEvent"),
|
|
173
|
+
tool_use_id: z.string().min(1),
|
|
174
|
+
tool_name: z.string().min(1),
|
|
175
|
+
input: z.unknown(),
|
|
176
|
+
});
|
|
177
|
+
// `ToolResultEvent` — emitted by the CAS adapter (FDRS-408) for each
|
|
178
|
+
// tool_result content block in a user message. `tool_use_id` matches the
|
|
179
|
+
// originating `ToolUseEvent.tool_use_id`; `parent_id` typically points at
|
|
180
|
+
// that ToolUseEvent's `event_id`.
|
|
181
|
+
export const toolResultEventSchema = z.object({
|
|
182
|
+
...eventBaseShape,
|
|
183
|
+
kind: z.literal("ToolResultEvent"),
|
|
184
|
+
tool_use_id: z.string().min(1),
|
|
185
|
+
output: z.unknown(),
|
|
186
|
+
is_error: z.boolean(),
|
|
187
|
+
});
|
|
188
|
+
// `SubagentSpawnEvent` — emitted once per sub-agent (FDRS-409), the first
|
|
189
|
+
// time the adapter sees a non-null `parent_tool_use_id` on an
|
|
190
|
+
// `SDKAssistantMessage`.
|
|
191
|
+
export const subagentSpawnEventSchema = z.object({
|
|
192
|
+
...eventBaseShape,
|
|
193
|
+
kind: z.literal("SubagentSpawnEvent"),
|
|
194
|
+
parent_tool_use_id: z.string().min(1),
|
|
195
|
+
});
|
|
196
|
+
// `HookEvent` — thin audit-trail row written by the adapter for each of the
|
|
197
|
+
// SDK's 25 hook invocations (FDRS-407). `tool_name` is null when the hook
|
|
198
|
+
// isn't tool-scoped (e.g. SessionStarted, PreCompact, PermissionGranted on a
|
|
199
|
+
// non-tool resource).
|
|
200
|
+
export const hookEventSchema = z.object({
|
|
201
|
+
...eventBaseShape,
|
|
202
|
+
kind: z.literal("HookEvent"),
|
|
203
|
+
hook_name: z.string().min(1),
|
|
204
|
+
tool_name: z.string().min(1).nullable(),
|
|
205
|
+
});
|
|
206
|
+
// The unified event row. Discriminated on `kind` — adding a future variant
|
|
207
|
+
// (e.g. `OtelSpanEvent` in v2) is a non-breaking extension. The exported
|
|
208
|
+
// reader applies the FDRS-653 task-vocab normalization to `TwinHttpEvent`
|
|
209
|
+
// rows (the only variant carrying the step-expectation key).
|
|
210
|
+
const eventUnionSchema = z.discriminatedUnion("kind", [
|
|
211
|
+
twinHttpEventSchema,
|
|
212
|
+
llmCallEventSchema,
|
|
213
|
+
toolUseEventSchema,
|
|
214
|
+
toolResultEventSchema,
|
|
215
|
+
subagentSpawnEventSchema,
|
|
216
|
+
hookEventSchema,
|
|
217
|
+
]);
|
|
218
|
+
export const eventSchema = eventUnionSchema.transform((event) => event.kind === "TwinHttpEvent" ? normalizeTaskStepVocab(event) : event);
|
|
219
|
+
// Detect a pre-FDRS-398 legacy row on disk. A new-shape row always carries a
|
|
220
|
+
// string `kind` discriminator; a legacy row does not. Non-object inputs
|
|
221
|
+
// (`null`, arrays, primitives) are not event rows at all — return false so
|
|
222
|
+
// the caller surfaces the underlying type error rather than treating them as
|
|
223
|
+
// legacy.
|
|
224
|
+
//
|
|
225
|
+
// A row whose `kind` is present but not a string also routes through the
|
|
226
|
+
// legacy path: the discriminated union will reject it with a clear error,
|
|
227
|
+
// which is more useful than silently treating it as new-shape.
|
|
228
|
+
export function isLegacyEventRow(row) {
|
|
229
|
+
if (typeof row !== "object" || row === null || Array.isArray(row)) {
|
|
230
|
+
return false;
|
|
231
|
+
}
|
|
232
|
+
return typeof row.kind !== "string";
|
|
233
|
+
}
|
|
234
|
+
//# sourceMappingURL=recorder-events.js.map
|
package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recorder-events.js","sourceRoot":"","sources":["../src/recorder-events.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,4EAA4E;AAC5E,6EAA6E;AAC7E,uEAAuE;AACvE,6EAA6E;AAC7E,6EAA6E;AAC7E,0CAA0C;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAGrE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAG9C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;AAG1E,iFAAiF;AACjF,iFAAiF;AACjF,kFAAkF;AAClF,2EAA2E;AAC3E,gFAAgF;AAChF,uCAAuC;AACvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CACpD,CAAC;KACD,QAAQ,EAAE,CAAC;AAGd,gFAAgF;AAChF,qDAAqD;AACrD,EAAE;AACF,gFAAgF;AAChF,2EAA2E;AAC3E,4EAA4E;AAC5E,qEAAqE;AACrE,wEAAwE;AACxE,gFAAgF;AAEhF,8EAA8E;AAC9E,uEAAuE;AACvE,6EAA6E;AAC7E,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,IAAI,EAAE,YAAY;IAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5C,uEAAuE;IACvE,4EAA4E;IAC5E,0EAA0E;IAC1E,gDAAgD;IAChD,EAAE;IACF,0EAA0E;IAC1E,0EAA0E;IAC1E,yEAAyE;IACzE,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,wBAAwB;IACxB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACrD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,gFAAgF;IAChF,wEAAwE;IACxE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;IACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACxB,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE;IAC1B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,QAAQ,EAAE,sBAAsB;IAChC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE;IAC3B,WAAW,EAAE,gBAAgB;IAC7B,2EAA2E;IAC3E,4EAA4E;IAC5E,uEAAuE;IACvE,4EAA4E;IAC5E,8BAA8B;IAC9B,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH,2EAA2E;AAC3E,8EAA8E;AAC9E,2EAA2E;AAC3E,oEAAoE;AACpE,SAAS,sBAAsB,CAE7B,KAAQ;IACR,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,IAAI,KAAK,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;QACjE,OAAO,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC;IAC5D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;AAG/F,gFAAgF;AAChF,mEAAmE;AACnE,EAAE;AACF,4EAA4E;AAC5E,yDAAyD;AACzD,gEAAgE;AAChE,4EAA4E;AAC5E,4EAA4E;AAC5E,mDAAmD;AACnD,sEAAsE;AACtE,EAAE;AACF,cAAc;AACd,qEAAqE;AACrE,qCAAqC;AACrC,8CAA8C;AAC9C,gFAAgF;AAChF,8EAA8E;AAC9E,6EAA6E;AAC7E,yEAAyE;AACzE,8DAA8D;AAC9D,4EAA4E;AAC5E,6EAA6E;AAC7E,wEAAwE;AACxE,gFAAgF;AAEhF,6EAA6E;AAC7E,kCAAkC;AAClC,MAAM,cAAc,GAAG;IACrB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC/B,CAAC;AAEX,4EAA4E;AAC5E,0EAA0E;AAC1E,8EAA8E;AAC9E,+EAA+E;AAC/E,4EAA4E;AAC5E,wEAAwE;AACxE,MAAM,CAAC,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,MAAM,CAAC;IAClE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAGH,yEAAyE;AACzE,4EAA4E;AAC5E,2EAA2E;AAC3E,2EAA2E;AAC3E,2DAA2D;AAC3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,GAAG,cAAc;IACjB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC/B,8BAA8B;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,0EAA0E;IAC1E,iEAAiE;IACjE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAGH,2EAA2E;AAC3E,wEAAwE;AACxE,+DAA+D;AAC/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,GAAG,cAAc;IACjB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;CACnB,CAAC,CAAC;AAGH,qEAAqE;AACrE,yEAAyE;AACzE,0EAA0E;AAC1E,kCAAkC;AAClC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,GAAG,cAAc;IACjB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;CACtB,CAAC,CAAC;AAGH,0EAA0E;AAC1E,8DAA8D;AAC9D,yBAAyB;AACzB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,GAAG,cAAc;IACjB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;IACrC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACtC,CAAC,CAAC;AAGH,4EAA4E;AAC5E,0EAA0E;AAC1E,6EAA6E;AAC7E,sBAAsB;AACtB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,GAAG,cAAc;IACjB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAGH,2EAA2E;AAC3E,yEAAyE;AACzE,0EAA0E;AAC1E,6DAA6D;AAC7D,MAAM,gBAAgB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACpD,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;IAClB,qBAAqB;IACrB,wBAAwB;IACxB,eAAe;CAChB,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAC9D,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CACvE,CAAC;AAGF,6EAA6E;AAC7E,wEAAwE;AACxE,2EAA2E;AAC3E,6EAA6E;AAC7E,UAAU;AACV,EAAE;AACF,yEAAyE;AACzE,0EAA0E;AAC1E,+DAA+D;AAC/D,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,OAAQ,GAA+B,CAAC,IAAI,KAAK,QAAQ,CAAC;AACnE,CAAC"}
|