@pome-sh/cli 0.1.0 → 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/doctor/checks.js +2 -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/db.d.ts +4 -4
- package/node_modules/@pome-sh/sdk/dist/db.js +93 -25
- package/node_modules/@pome-sh/sdk/dist/db.js.map +1 -1
- 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 +7 -7
- 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 +5 -8
- 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 -5
- 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.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 -5
- package/node_modules/@pome-sh/twin-stripe/FIDELITY.md +151 -50
- package/node_modules/@pome-sh/twin-stripe/README.md +44 -47
- 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 -5
- package/package.json +9 -10
- package/skills/pome-setup/SKILL.md +1 -1
- package/dist/src/recorder/verdictArtifact.d.ts +0 -71
- package/dist/src/recorder/verdictArtifact.js +0 -207
- package/dist/src/score/view.d.ts +0 -38
- package/dist/src/score/view.js +0 -59
- package/dist/src/twin/github/app.d.ts +0 -10
- package/dist/src/twin/github/app.js +0 -316
- package/dist/src/twin/github/db/migrations.d.ts +0 -2
- package/dist/src/twin/github/db/migrations.js +0 -64
- package/dist/src/twin/github/db/openDatabase.d.ts +0 -2
- package/dist/src/twin/github/db/openDatabase.js +0 -13
- package/dist/src/twin/github/db/queries.d.ts +0 -77
- package/dist/src/twin/github/db/queries.js +0 -93
- package/dist/src/twin/github/domain/seed.d.ts +0 -74
- package/dist/src/twin/github/domain/seed.js +0 -104
- package/dist/src/twin/github/domain/serializers.d.ts +0 -113
- package/dist/src/twin/github/domain/serializers.js +0 -76
- package/dist/src/twin/github/types.d.ts +0 -66
- package/dist/src/twin/github/types.js +0 -1
- package/dist/src/twin-github/app.d.ts +0 -9
- package/dist/src/twin-github/app.js +0 -327
- package/dist/src/twin-github/auth.d.ts +0 -16
- package/dist/src/twin-github/auth.js +0 -142
- package/dist/src/twin-github/build-info.d.ts +0 -7
- package/dist/src/twin-github/build-info.js +0 -52
- package/dist/src/twin-github/db.d.ts +0 -4
- package/dist/src/twin-github/db.js +0 -362
- package/dist/src/twin-github/domain.d.ts +0 -1649
- package/dist/src/twin-github/domain.js +0 -957
- package/dist/src/twin-github/errors.d.ts +0 -14
- package/dist/src/twin-github/errors.js +0 -34
- package/dist/src/twin-github/index.d.ts +0 -9
- package/dist/src/twin-github/index.js +0 -7
- package/dist/src/twin-github/mcp.d.ts +0 -17
- package/dist/src/twin-github/mcp.js +0 -281
- package/dist/src/twin-github/recorder.d.ts +0 -2
- package/dist/src/twin-github/recorder.js +0 -29
- package/dist/src/twin-github/seed.d.ts +0 -74
- package/dist/src/twin-github/seed.js +0 -107
- package/dist/src/twin-github/serializers.d.ts +0 -449
- package/dist/src/twin-github/serializers.js +0 -429
- package/dist/src/twin-github/server.js +0 -34
- package/dist/src/twin-github/tools.d.ts +0 -1545
- package/dist/src/twin-github/tools.js +0 -347
- package/dist/src/twin-github/types.d.ts +0 -198
- package/dist/src/twin-github/unsupported-envelope.d.ts +0 -10
- package/dist/src/twin-github/unsupported-envelope.js +0 -29
- package/dist/src/twin-github/util.d.ts +0 -13
- package/dist/src/twin-github/util.js +0 -61
- package/dist/src/twin-slack/app.d.ts +0 -17
- package/dist/src/twin-slack/app.js +0 -683
- package/dist/src/twin-slack/auth.d.ts +0 -38
- package/dist/src/twin-slack/auth.js +0 -219
- package/dist/src/twin-slack/build-info.d.ts +0 -7
- package/dist/src/twin-slack/build-info.js +0 -9
- package/dist/src/twin-slack/db.d.ts +0 -4
- package/dist/src/twin-slack/db.js +0 -213
- package/dist/src/twin-slack/domain.d.ts +0 -236
- package/dist/src/twin-slack/domain.js +0 -1293
- package/dist/src/twin-slack/errors.d.ts +0 -16
- package/dist/src/twin-slack/errors.js +0 -60
- package/dist/src/twin-slack/index.d.ts +0 -8
- package/dist/src/twin-slack/index.js +0 -8
- package/dist/src/twin-slack/mcp.d.ts +0 -17
- package/dist/src/twin-slack/mcp.js +0 -226
- package/dist/src/twin-slack/recorder.d.ts +0 -2
- package/dist/src/twin-slack/recorder.js +0 -15
- package/dist/src/twin-slack/seed.d.ts +0 -49
- package/dist/src/twin-slack/seed.js +0 -139
- package/dist/src/twin-slack/serializers.d.ts +0 -141
- package/dist/src/twin-slack/serializers.js +0 -377
- package/dist/src/twin-slack/tools.d.ts +0 -97
- package/dist/src/twin-slack/tools.js +0 -171
- package/dist/src/twin-slack/types.d.ts +0 -164
- package/dist/src/twin-slack/types.js +0 -1
- package/dist/src/twin-slack/unsupported-envelope.d.ts +0 -12
- package/dist/src/twin-slack/unsupported-envelope.js +0 -61
- package/dist/src/twin-slack/upstream-types.d.ts +0 -19
- package/dist/src/twin-slack/upstream-types.js +0 -1
- package/dist/src/twin-slack/util.d.ts +0 -31
- package/dist/src/twin-slack/util.js +0 -136
- package/node_modules/base64-js/LICENSE +0 -21
- package/node_modules/base64-js/README.md +0 -34
- package/node_modules/base64-js/base64js.min.js +0 -1
- package/node_modules/base64-js/index.d.ts +0 -3
- package/node_modules/base64-js/index.js +0 -150
- package/node_modules/base64-js/package.json +0 -47
- package/node_modules/better-sqlite3/LICENSE +0 -21
- package/node_modules/better-sqlite3/README.md +0 -99
- package/node_modules/better-sqlite3/binding.gyp +0 -38
- package/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
- package/node_modules/better-sqlite3/deps/common.gypi +0 -68
- package/node_modules/better-sqlite3/deps/copy.js +0 -31
- package/node_modules/better-sqlite3/deps/defines.gypi +0 -42
- package/node_modules/better-sqlite3/deps/download.sh +0 -123
- package/node_modules/better-sqlite3/deps/patches/1208.patch +0 -15
- package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.c +0 -269395
- package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.h +0 -14347
- package/node_modules/better-sqlite3/deps/sqlite3/sqlite3ext.h +0 -739
- package/node_modules/better-sqlite3/deps/sqlite3.gyp +0 -80
- package/node_modules/better-sqlite3/deps/test_extension.c +0 -21
- package/node_modules/better-sqlite3/lib/database.js +0 -90
- package/node_modules/better-sqlite3/lib/index.js +0 -3
- package/node_modules/better-sqlite3/lib/methods/aggregate.js +0 -43
- package/node_modules/better-sqlite3/lib/methods/backup.js +0 -67
- package/node_modules/better-sqlite3/lib/methods/function.js +0 -31
- package/node_modules/better-sqlite3/lib/methods/inspect.js +0 -7
- package/node_modules/better-sqlite3/lib/methods/pragma.js +0 -12
- package/node_modules/better-sqlite3/lib/methods/serialize.js +0 -16
- package/node_modules/better-sqlite3/lib/methods/table.js +0 -189
- package/node_modules/better-sqlite3/lib/methods/transaction.js +0 -78
- package/node_modules/better-sqlite3/lib/methods/wrappers.js +0 -54
- package/node_modules/better-sqlite3/lib/sqlite-error.js +0 -20
- package/node_modules/better-sqlite3/lib/util.js +0 -12
- package/node_modules/better-sqlite3/package.json +0 -59
- package/node_modules/better-sqlite3/src/addon.cpp +0 -47
- package/node_modules/better-sqlite3/src/better_sqlite3.cpp +0 -74
- package/node_modules/better-sqlite3/src/objects/backup.cpp +0 -120
- package/node_modules/better-sqlite3/src/objects/backup.hpp +0 -36
- package/node_modules/better-sqlite3/src/objects/database.cpp +0 -417
- package/node_modules/better-sqlite3/src/objects/database.hpp +0 -103
- package/node_modules/better-sqlite3/src/objects/statement-iterator.cpp +0 -113
- package/node_modules/better-sqlite3/src/objects/statement-iterator.hpp +0 -50
- package/node_modules/better-sqlite3/src/objects/statement.cpp +0 -383
- package/node_modules/better-sqlite3/src/objects/statement.hpp +0 -58
- package/node_modules/better-sqlite3/src/util/bind-map.cpp +0 -73
- package/node_modules/better-sqlite3/src/util/binder.cpp +0 -193
- package/node_modules/better-sqlite3/src/util/constants.cpp +0 -172
- package/node_modules/better-sqlite3/src/util/custom-aggregate.cpp +0 -121
- package/node_modules/better-sqlite3/src/util/custom-function.cpp +0 -59
- package/node_modules/better-sqlite3/src/util/custom-table.cpp +0 -409
- package/node_modules/better-sqlite3/src/util/data-converter.cpp +0 -17
- package/node_modules/better-sqlite3/src/util/data.cpp +0 -194
- package/node_modules/better-sqlite3/src/util/helpers.cpp +0 -109
- package/node_modules/better-sqlite3/src/util/macros.cpp +0 -90
- package/node_modules/better-sqlite3/src/util/query-macros.cpp +0 -71
- package/node_modules/better-sqlite3/src/util/row-builder.cpp +0 -49
- package/node_modules/bindings/LICENSE.md +0 -22
- package/node_modules/bindings/README.md +0 -98
- package/node_modules/bindings/bindings.js +0 -221
- package/node_modules/bindings/package.json +0 -28
- package/node_modules/bl/.travis.yml +0 -17
- package/node_modules/bl/BufferList.js +0 -396
- package/node_modules/bl/LICENSE.md +0 -13
- package/node_modules/bl/README.md +0 -247
- package/node_modules/bl/bl.js +0 -84
- package/node_modules/bl/package.json +0 -37
- package/node_modules/bl/test/convert.js +0 -21
- package/node_modules/bl/test/indexOf.js +0 -492
- package/node_modules/bl/test/isBufferList.js +0 -32
- package/node_modules/bl/test/test.js +0 -869
- package/node_modules/buffer/AUTHORS.md +0 -70
- package/node_modules/buffer/LICENSE +0 -21
- package/node_modules/buffer/README.md +0 -410
- package/node_modules/buffer/index.d.ts +0 -186
- package/node_modules/buffer/index.js +0 -1817
- package/node_modules/buffer/package.json +0 -96
- package/node_modules/chownr/LICENSE +0 -15
- package/node_modules/chownr/README.md +0 -3
- package/node_modules/chownr/chownr.js +0 -167
- package/node_modules/chownr/package.json +0 -29
- package/node_modules/decompress-response/index.d.ts +0 -22
- package/node_modules/decompress-response/index.js +0 -58
- package/node_modules/decompress-response/license +0 -9
- package/node_modules/decompress-response/package.json +0 -56
- package/node_modules/decompress-response/readme.md +0 -48
- package/node_modules/deep-extend/CHANGELOG.md +0 -46
- package/node_modules/deep-extend/LICENSE +0 -20
- package/node_modules/deep-extend/README.md +0 -91
- package/node_modules/deep-extend/index.js +0 -1
- package/node_modules/deep-extend/lib/deep-extend.js +0 -150
- package/node_modules/deep-extend/package.json +0 -62
- package/node_modules/detect-libc/LICENSE +0 -201
- package/node_modules/detect-libc/README.md +0 -163
- package/node_modules/detect-libc/index.d.ts +0 -14
- package/node_modules/detect-libc/lib/detect-libc.js +0 -313
- package/node_modules/detect-libc/lib/elf.js +0 -39
- package/node_modules/detect-libc/lib/filesystem.js +0 -51
- package/node_modules/detect-libc/lib/process.js +0 -24
- package/node_modules/detect-libc/package.json +0 -44
- package/node_modules/end-of-stream/LICENSE +0 -21
- package/node_modules/end-of-stream/README.md +0 -54
- package/node_modules/end-of-stream/index.js +0 -96
- package/node_modules/end-of-stream/package.json +0 -37
- package/node_modules/expand-template/.travis.yml +0 -6
- package/node_modules/expand-template/LICENSE +0 -21
- package/node_modules/expand-template/README.md +0 -43
- package/node_modules/expand-template/index.js +0 -26
- package/node_modules/expand-template/package.json +0 -29
- package/node_modules/expand-template/test.js +0 -67
- package/node_modules/file-uri-to-path/.npmignore +0 -1
- package/node_modules/file-uri-to-path/.travis.yml +0 -30
- package/node_modules/file-uri-to-path/History.md +0 -21
- package/node_modules/file-uri-to-path/LICENSE +0 -20
- package/node_modules/file-uri-to-path/README.md +0 -74
- package/node_modules/file-uri-to-path/index.d.ts +0 -2
- package/node_modules/file-uri-to-path/index.js +0 -66
- package/node_modules/file-uri-to-path/package.json +0 -32
- package/node_modules/file-uri-to-path/test/test.js +0 -24
- package/node_modules/file-uri-to-path/test/tests.json +0 -13
- package/node_modules/fs-constants/LICENSE +0 -21
- package/node_modules/fs-constants/README.md +0 -26
- package/node_modules/fs-constants/browser.js +0 -1
- package/node_modules/fs-constants/index.js +0 -1
- package/node_modules/fs-constants/package.json +0 -19
- package/node_modules/github-from-package/.travis.yml +0 -4
- package/node_modules/github-from-package/LICENSE +0 -18
- package/node_modules/github-from-package/example/package.json +0 -8
- package/node_modules/github-from-package/example/url.js +0 -3
- package/node_modules/github-from-package/index.js +0 -17
- package/node_modules/github-from-package/package.json +0 -30
- package/node_modules/github-from-package/readme.markdown +0 -53
- package/node_modules/github-from-package/test/a.json +0 -8
- package/node_modules/github-from-package/test/b.json +0 -5
- package/node_modules/github-from-package/test/c.json +0 -5
- package/node_modules/github-from-package/test/d.json +0 -7
- package/node_modules/github-from-package/test/e.json +0 -5
- package/node_modules/github-from-package/test/url.js +0 -19
- package/node_modules/ieee754/LICENSE +0 -11
- package/node_modules/ieee754/README.md +0 -51
- package/node_modules/ieee754/index.d.ts +0 -10
- package/node_modules/ieee754/index.js +0 -85
- package/node_modules/ieee754/package.json +0 -52
- package/node_modules/inherits/LICENSE +0 -16
- package/node_modules/inherits/README.md +0 -42
- package/node_modules/inherits/inherits.js +0 -9
- package/node_modules/inherits/inherits_browser.js +0 -27
- package/node_modules/inherits/package.json +0 -29
- package/node_modules/ini/LICENSE +0 -15
- package/node_modules/ini/README.md +0 -102
- package/node_modules/ini/ini.js +0 -206
- package/node_modules/ini/package.json +0 -33
- package/node_modules/mimic-response/index.d.ts +0 -17
- package/node_modules/mimic-response/index.js +0 -77
- package/node_modules/mimic-response/license +0 -9
- package/node_modules/mimic-response/package.json +0 -42
- package/node_modules/mimic-response/readme.md +0 -78
- package/node_modules/minimist/.eslintrc +0 -29
- package/node_modules/minimist/.github/FUNDING.yml +0 -12
- package/node_modules/minimist/.nycrc +0 -14
- package/node_modules/minimist/CHANGELOG.md +0 -298
- package/node_modules/minimist/LICENSE +0 -18
- package/node_modules/minimist/README.md +0 -121
- package/node_modules/minimist/example/parse.js +0 -4
- package/node_modules/minimist/index.js +0 -263
- package/node_modules/minimist/package.json +0 -75
- package/node_modules/minimist/test/all_bool.js +0 -34
- package/node_modules/minimist/test/bool.js +0 -177
- package/node_modules/minimist/test/dash.js +0 -43
- package/node_modules/minimist/test/default_bool.js +0 -37
- package/node_modules/minimist/test/dotted.js +0 -24
- package/node_modules/minimist/test/kv_short.js +0 -32
- package/node_modules/minimist/test/long.js +0 -33
- package/node_modules/minimist/test/num.js +0 -38
- package/node_modules/minimist/test/parse.js +0 -209
- package/node_modules/minimist/test/parse_modified.js +0 -11
- package/node_modules/minimist/test/proto.js +0 -64
- package/node_modules/minimist/test/short.js +0 -69
- package/node_modules/minimist/test/stop_early.js +0 -17
- package/node_modules/minimist/test/unknown.js +0 -104
- package/node_modules/minimist/test/whitespace.js +0 -10
- package/node_modules/mkdirp-classic/LICENSE +0 -21
- package/node_modules/mkdirp-classic/README.md +0 -18
- package/node_modules/mkdirp-classic/index.js +0 -98
- package/node_modules/mkdirp-classic/package.json +0 -18
- package/node_modules/napi-build-utils/.github/workflows/run-npm-tests.yml +0 -31
- package/node_modules/napi-build-utils/LICENSE +0 -21
- package/node_modules/napi-build-utils/README.md +0 -52
- package/node_modules/napi-build-utils/index.js +0 -214
- package/node_modules/napi-build-utils/index.md +0 -0
- package/node_modules/napi-build-utils/package.json +0 -42
- package/node_modules/node-abi/LICENSE +0 -21
- package/node_modules/node-abi/README.md +0 -54
- package/node_modules/node-abi/abi_registry.json +0 -453
- package/node_modules/node-abi/index.js +0 -179
- package/node_modules/node-abi/package.json +0 -45
- package/node_modules/once/LICENSE +0 -15
- package/node_modules/once/README.md +0 -79
- package/node_modules/once/once.js +0 -42
- package/node_modules/once/package.json +0 -33
- package/node_modules/prebuild-install/CHANGELOG.md +0 -131
- package/node_modules/prebuild-install/CONTRIBUTING.md +0 -6
- package/node_modules/prebuild-install/LICENSE +0 -21
- package/node_modules/prebuild-install/README.md +0 -163
- package/node_modules/prebuild-install/asset.js +0 -44
- package/node_modules/prebuild-install/bin.js +0 -78
- package/node_modules/prebuild-install/download.js +0 -142
- package/node_modules/prebuild-install/error.js +0 -14
- package/node_modules/prebuild-install/help.txt +0 -16
- package/node_modules/prebuild-install/index.js +0 -1
- package/node_modules/prebuild-install/log.js +0 -33
- package/node_modules/prebuild-install/package.json +0 -67
- package/node_modules/prebuild-install/proxy.js +0 -35
- package/node_modules/prebuild-install/rc.js +0 -64
- package/node_modules/prebuild-install/util.js +0 -143
- package/node_modules/pump/.github/FUNDING.yml +0 -2
- package/node_modules/pump/.travis.yml +0 -5
- package/node_modules/pump/LICENSE +0 -21
- package/node_modules/pump/README.md +0 -74
- package/node_modules/pump/SECURITY.md +0 -5
- package/node_modules/pump/empty.js +0 -1
- package/node_modules/pump/index.js +0 -86
- package/node_modules/pump/package.json +0 -30
- package/node_modules/pump/test-browser.js +0 -66
- package/node_modules/pump/test-node.js +0 -53
- package/node_modules/rc/LICENSE.APACHE2 +0 -15
- package/node_modules/rc/LICENSE.BSD +0 -26
- package/node_modules/rc/LICENSE.MIT +0 -24
- package/node_modules/rc/README.md +0 -227
- package/node_modules/rc/browser.js +0 -7
- package/node_modules/rc/cli.js +0 -4
- package/node_modules/rc/index.js +0 -53
- package/node_modules/rc/lib/utils.js +0 -104
- package/node_modules/rc/package.json +0 -29
- package/node_modules/rc/test/ini.js +0 -16
- package/node_modules/rc/test/nested-env-vars.js +0 -50
- package/node_modules/rc/test/test.js +0 -59
- package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
- package/node_modules/readable-stream/GOVERNANCE.md +0 -136
- package/node_modules/readable-stream/LICENSE +0 -47
- package/node_modules/readable-stream/README.md +0 -106
- package/node_modules/readable-stream/errors-browser.js +0 -127
- package/node_modules/readable-stream/errors.js +0 -116
- package/node_modules/readable-stream/experimentalWarning.js +0 -17
- package/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
- package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
- package/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
- package/node_modules/readable-stream/lib/_stream_transform.js +0 -190
- package/node_modules/readable-stream/lib/_stream_writable.js +0 -641
- package/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
- package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
- package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
- package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
- package/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
- package/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
- package/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
- package/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
- package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
- package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
- package/node_modules/readable-stream/package.json +0 -68
- package/node_modules/readable-stream/readable-browser.js +0 -9
- package/node_modules/readable-stream/readable.js +0 -16
- package/node_modules/safe-buffer/LICENSE +0 -21
- package/node_modules/safe-buffer/README.md +0 -584
- package/node_modules/safe-buffer/index.d.ts +0 -187
- package/node_modules/safe-buffer/index.js +0 -65
- package/node_modules/safe-buffer/package.json +0 -51
- package/node_modules/semver/LICENSE +0 -15
- package/node_modules/semver/README.md +0 -680
- package/node_modules/semver/bin/semver.js +0 -195
- package/node_modules/semver/classes/comparator.js +0 -143
- package/node_modules/semver/classes/index.js +0 -7
- package/node_modules/semver/classes/range.js +0 -577
- package/node_modules/semver/classes/semver.js +0 -350
- package/node_modules/semver/functions/clean.js +0 -8
- package/node_modules/semver/functions/cmp.js +0 -54
- package/node_modules/semver/functions/coerce.js +0 -62
- package/node_modules/semver/functions/compare-build.js +0 -9
- package/node_modules/semver/functions/compare-loose.js +0 -5
- package/node_modules/semver/functions/compare.js +0 -7
- package/node_modules/semver/functions/diff.js +0 -60
- package/node_modules/semver/functions/eq.js +0 -5
- package/node_modules/semver/functions/gt.js +0 -5
- package/node_modules/semver/functions/gte.js +0 -5
- package/node_modules/semver/functions/inc.js +0 -21
- package/node_modules/semver/functions/lt.js +0 -5
- package/node_modules/semver/functions/lte.js +0 -5
- package/node_modules/semver/functions/major.js +0 -5
- package/node_modules/semver/functions/minor.js +0 -5
- package/node_modules/semver/functions/neq.js +0 -5
- package/node_modules/semver/functions/parse.js +0 -18
- package/node_modules/semver/functions/patch.js +0 -5
- package/node_modules/semver/functions/prerelease.js +0 -8
- package/node_modules/semver/functions/rcompare.js +0 -5
- package/node_modules/semver/functions/rsort.js +0 -5
- package/node_modules/semver/functions/satisfies.js +0 -12
- package/node_modules/semver/functions/sort.js +0 -5
- package/node_modules/semver/functions/truncate.js +0 -48
- package/node_modules/semver/functions/valid.js +0 -8
- package/node_modules/semver/index.js +0 -93
- package/node_modules/semver/internal/constants.js +0 -37
- package/node_modules/semver/internal/debug.js +0 -11
- package/node_modules/semver/internal/identifiers.js +0 -29
- package/node_modules/semver/internal/lrucache.js +0 -42
- package/node_modules/semver/internal/parse-options.js +0 -17
- package/node_modules/semver/internal/re.js +0 -223
- package/node_modules/semver/package.json +0 -78
- package/node_modules/semver/preload.js +0 -4
- package/node_modules/semver/range.bnf +0 -17
- package/node_modules/semver/ranges/gtr.js +0 -6
- package/node_modules/semver/ranges/intersects.js +0 -9
- package/node_modules/semver/ranges/ltr.js +0 -6
- package/node_modules/semver/ranges/max-satisfying.js +0 -27
- package/node_modules/semver/ranges/min-satisfying.js +0 -26
- package/node_modules/semver/ranges/min-version.js +0 -63
- package/node_modules/semver/ranges/outside.js +0 -82
- package/node_modules/semver/ranges/simplify.js +0 -49
- package/node_modules/semver/ranges/subset.js +0 -249
- package/node_modules/semver/ranges/to-comparators.js +0 -10
- package/node_modules/semver/ranges/valid.js +0 -13
- package/node_modules/simple-concat/.travis.yml +0 -3
- package/node_modules/simple-concat/LICENSE +0 -20
- package/node_modules/simple-concat/README.md +0 -44
- package/node_modules/simple-concat/index.js +0 -15
- package/node_modules/simple-concat/package.json +0 -47
- package/node_modules/simple-concat/test/basic.js +0 -41
- package/node_modules/simple-get/.github/dependabot.yml +0 -15
- package/node_modules/simple-get/.github/workflows/ci.yml +0 -23
- package/node_modules/simple-get/LICENSE +0 -20
- package/node_modules/simple-get/README.md +0 -333
- package/node_modules/simple-get/index.js +0 -108
- package/node_modules/simple-get/package.json +0 -67
- package/node_modules/string_decoder/LICENSE +0 -48
- package/node_modules/string_decoder/README.md +0 -47
- package/node_modules/string_decoder/lib/string_decoder.js +0 -296
- package/node_modules/string_decoder/package.json +0 -34
- package/node_modules/strip-json-comments/index.js +0 -70
- package/node_modules/strip-json-comments/license +0 -21
- package/node_modules/strip-json-comments/package.json +0 -42
- package/node_modules/strip-json-comments/readme.md +0 -64
- package/node_modules/tar-fs/.travis.yml +0 -6
- package/node_modules/tar-fs/LICENSE +0 -21
- package/node_modules/tar-fs/README.md +0 -165
- package/node_modules/tar-fs/index.js +0 -392
- package/node_modules/tar-fs/package.json +0 -46
- package/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
- package/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
- package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
- package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
- package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
- package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
- package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
- package/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
- package/node_modules/tar-fs/test/fixtures/e/file +0 -0
- package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
- package/node_modules/tar-fs/test/index.js +0 -457
- package/node_modules/tar-stream/LICENSE +0 -21
- package/node_modules/tar-stream/README.md +0 -168
- package/node_modules/tar-stream/extract.js +0 -257
- package/node_modules/tar-stream/headers.js +0 -295
- package/node_modules/tar-stream/index.js +0 -2
- package/node_modules/tar-stream/pack.js +0 -255
- package/node_modules/tar-stream/package.json +0 -58
- package/node_modules/tar-stream/sandbox.js +0 -11
- package/node_modules/tunnel-agent/LICENSE +0 -55
- package/node_modules/tunnel-agent/README.md +0 -4
- package/node_modules/tunnel-agent/index.js +0 -244
- package/node_modules/tunnel-agent/package.json +0 -22
- package/node_modules/util-deprecate/History.md +0 -16
- package/node_modules/util-deprecate/LICENSE +0 -24
- package/node_modules/util-deprecate/README.md +0 -53
- package/node_modules/util-deprecate/browser.js +0 -67
- package/node_modules/util-deprecate/node.js +0 -6
- package/node_modules/util-deprecate/package.json +0 -27
- package/node_modules/wrappy/LICENSE +0 -15
- package/node_modules/wrappy/README.md +0 -36
- package/node_modules/wrappy/package.json +0 -29
- package/node_modules/wrappy/wrappy.js +0 -33
- /package/{dist/src/twin-github/server.d.ts → node_modules/@pome-sh/twin-slack/dist/scripts/fidelity-parity.d.ts} +0 -0
- /package/{dist/src/twin-github/types.js → node_modules/@pome-sh/twin-stripe/dist/scripts/fidelity-parity.d.ts} +0 -0
|
@@ -114,9 +114,9 @@ export declare const seedStateSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
|
114
114
|
context: z.ZodDefault<z.ZodString>;
|
|
115
115
|
state: z.ZodDefault<z.ZodEnum<{
|
|
116
116
|
error: "error";
|
|
117
|
-
success: "success";
|
|
118
117
|
failure: "failure";
|
|
119
118
|
pending: "pending";
|
|
119
|
+
success: "success";
|
|
120
120
|
}>>;
|
|
121
121
|
description: z.ZodDefault<z.ZodString>;
|
|
122
122
|
}, z.core.$strip>>>;
|
|
@@ -147,6 +147,104 @@ export declare const seedStateSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
|
147
147
|
body: z.ZodUnknown;
|
|
148
148
|
}, z.core.$strip>>>;
|
|
149
149
|
}, z.core.$strict>]>;
|
|
150
|
+
export declare const seedEnvelopeSchema: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
|
|
151
|
+
team: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
152
|
+
users: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
153
|
+
channels: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
154
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
155
|
+
users: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
156
|
+
login: z.ZodString;
|
|
157
|
+
type: z.ZodDefault<z.ZodEnum<{
|
|
158
|
+
User: "User";
|
|
159
|
+
Organization: "Organization";
|
|
160
|
+
}>>;
|
|
161
|
+
name: z.ZodDefault<z.ZodString>;
|
|
162
|
+
}, z.core.$strip>>>;
|
|
163
|
+
repositories: z.ZodArray<z.ZodObject<{
|
|
164
|
+
owner: z.ZodString;
|
|
165
|
+
name: z.ZodString;
|
|
166
|
+
description: z.ZodDefault<z.ZodString>;
|
|
167
|
+
private: z.ZodDefault<z.ZodBoolean>;
|
|
168
|
+
default_branch: z.ZodDefault<z.ZodString>;
|
|
169
|
+
collaborators: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
170
|
+
labels: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
171
|
+
name: z.ZodString;
|
|
172
|
+
color: z.ZodDefault<z.ZodString>;
|
|
173
|
+
description: z.ZodDefault<z.ZodString>;
|
|
174
|
+
}, z.core.$strip>>>;
|
|
175
|
+
files: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
176
|
+
path: z.ZodString;
|
|
177
|
+
content: z.ZodString;
|
|
178
|
+
branch: z.ZodOptional<z.ZodString>;
|
|
179
|
+
}, z.core.$strip>>>;
|
|
180
|
+
issues: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
181
|
+
number: z.ZodOptional<z.ZodNumber>;
|
|
182
|
+
title: z.ZodString;
|
|
183
|
+
body: z.ZodDefault<z.ZodString>;
|
|
184
|
+
state: z.ZodDefault<z.ZodEnum<{
|
|
185
|
+
open: "open";
|
|
186
|
+
closed: "closed";
|
|
187
|
+
}>>;
|
|
188
|
+
labels: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
189
|
+
assignees: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
190
|
+
}, z.core.$strip>>>;
|
|
191
|
+
pull_requests: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
192
|
+
number: z.ZodOptional<z.ZodNumber>;
|
|
193
|
+
title: z.ZodString;
|
|
194
|
+
body: z.ZodDefault<z.ZodString>;
|
|
195
|
+
head: z.ZodString;
|
|
196
|
+
base: z.ZodDefault<z.ZodString>;
|
|
197
|
+
state: z.ZodDefault<z.ZodEnum<{
|
|
198
|
+
open: "open";
|
|
199
|
+
closed: "closed";
|
|
200
|
+
}>>;
|
|
201
|
+
author: z.ZodOptional<z.ZodString>;
|
|
202
|
+
reviews: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
203
|
+
author: z.ZodString;
|
|
204
|
+
state: z.ZodDefault<z.ZodEnum<{
|
|
205
|
+
APPROVED: "APPROVED";
|
|
206
|
+
CHANGES_REQUESTED: "CHANGES_REQUESTED";
|
|
207
|
+
COMMENTED: "COMMENTED";
|
|
208
|
+
}>>;
|
|
209
|
+
body: z.ZodDefault<z.ZodString>;
|
|
210
|
+
}, z.core.$strip>>>;
|
|
211
|
+
statuses: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
212
|
+
context: z.ZodDefault<z.ZodString>;
|
|
213
|
+
state: z.ZodDefault<z.ZodEnum<{
|
|
214
|
+
error: "error";
|
|
215
|
+
failure: "failure";
|
|
216
|
+
pending: "pending";
|
|
217
|
+
success: "success";
|
|
218
|
+
}>>;
|
|
219
|
+
description: z.ZodDefault<z.ZodString>;
|
|
220
|
+
}, z.core.$strip>>>;
|
|
221
|
+
}, z.core.$strip>>>;
|
|
222
|
+
}, z.core.$strip>>;
|
|
223
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
224
|
+
api_keys: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
225
|
+
key: z.ZodDefault<z.ZodString>;
|
|
226
|
+
sid: z.ZodDefault<z.ZodString>;
|
|
227
|
+
account_id: z.ZodOptional<z.ZodString>;
|
|
228
|
+
}, z.core.$strip>>>;
|
|
229
|
+
customers: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
230
|
+
products: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
231
|
+
prices: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
232
|
+
payment_intents: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
233
|
+
charges: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
234
|
+
events: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
235
|
+
balances: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
236
|
+
failure_injection: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
237
|
+
method: z.ZodString;
|
|
238
|
+
path: z.ZodString;
|
|
239
|
+
attempt: z.ZodNumber;
|
|
240
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
241
|
+
before_handler: "before_handler";
|
|
242
|
+
after_handler: "after_handler";
|
|
243
|
+
}>>;
|
|
244
|
+
status: z.ZodNumber;
|
|
245
|
+
body: z.ZodUnknown;
|
|
246
|
+
}, z.core.$strip>>>;
|
|
247
|
+
}, z.core.$strict>]>>;
|
|
150
248
|
export declare const scenarioSchema: z.ZodObject<{
|
|
151
249
|
slug: z.ZodString;
|
|
152
250
|
title: z.ZodString;
|
|
@@ -161,6 +259,7 @@ export declare const scenarioSchema: z.ZodObject<{
|
|
|
161
259
|
P: "P";
|
|
162
260
|
}>, z.ZodTransform<"model" | "code", "model" | "code" | "D" | "P">>;
|
|
163
261
|
text: z.ZodString;
|
|
262
|
+
twin: z.ZodOptional<z.ZodString>;
|
|
164
263
|
}, z.core.$strip>>;
|
|
165
264
|
config: z.ZodObject<{
|
|
166
265
|
twins: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
@@ -168,7 +267,7 @@ export declare const scenarioSchema: z.ZodObject<{
|
|
|
168
267
|
runs: z.ZodDefault<z.ZodNumber>;
|
|
169
268
|
passThreshold: z.ZodDefault<z.ZodNumber>;
|
|
170
269
|
}, z.core.$strip>;
|
|
171
|
-
seedState: z.ZodUnion<readonly [z.ZodObject<{
|
|
270
|
+
seedState: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
|
|
172
271
|
team: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
173
272
|
users: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
174
273
|
channels: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
@@ -233,9 +332,106 @@ export declare const scenarioSchema: z.ZodObject<{
|
|
|
233
332
|
context: z.ZodDefault<z.ZodString>;
|
|
234
333
|
state: z.ZodDefault<z.ZodEnum<{
|
|
235
334
|
error: "error";
|
|
335
|
+
failure: "failure";
|
|
336
|
+
pending: "pending";
|
|
236
337
|
success: "success";
|
|
338
|
+
}>>;
|
|
339
|
+
description: z.ZodDefault<z.ZodString>;
|
|
340
|
+
}, z.core.$strip>>>;
|
|
341
|
+
}, z.core.$strip>>>;
|
|
342
|
+
}, z.core.$strip>>;
|
|
343
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
344
|
+
api_keys: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
345
|
+
key: z.ZodDefault<z.ZodString>;
|
|
346
|
+
sid: z.ZodDefault<z.ZodString>;
|
|
347
|
+
account_id: z.ZodOptional<z.ZodString>;
|
|
348
|
+
}, z.core.$strip>>>;
|
|
349
|
+
customers: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
350
|
+
products: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
351
|
+
prices: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
352
|
+
payment_intents: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
353
|
+
charges: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
354
|
+
events: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
355
|
+
balances: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
356
|
+
failure_injection: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
357
|
+
method: z.ZodString;
|
|
358
|
+
path: z.ZodString;
|
|
359
|
+
attempt: z.ZodNumber;
|
|
360
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
361
|
+
before_handler: "before_handler";
|
|
362
|
+
after_handler: "after_handler";
|
|
363
|
+
}>>;
|
|
364
|
+
status: z.ZodNumber;
|
|
365
|
+
body: z.ZodUnknown;
|
|
366
|
+
}, z.core.$strip>>>;
|
|
367
|
+
}, z.core.$strict>]>, z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
|
|
368
|
+
team: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
369
|
+
users: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
370
|
+
channels: z.ZodDefault<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
371
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
372
|
+
users: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
373
|
+
login: z.ZodString;
|
|
374
|
+
type: z.ZodDefault<z.ZodEnum<{
|
|
375
|
+
User: "User";
|
|
376
|
+
Organization: "Organization";
|
|
377
|
+
}>>;
|
|
378
|
+
name: z.ZodDefault<z.ZodString>;
|
|
379
|
+
}, z.core.$strip>>>;
|
|
380
|
+
repositories: z.ZodArray<z.ZodObject<{
|
|
381
|
+
owner: z.ZodString;
|
|
382
|
+
name: z.ZodString;
|
|
383
|
+
description: z.ZodDefault<z.ZodString>;
|
|
384
|
+
private: z.ZodDefault<z.ZodBoolean>;
|
|
385
|
+
default_branch: z.ZodDefault<z.ZodString>;
|
|
386
|
+
collaborators: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
387
|
+
labels: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
388
|
+
name: z.ZodString;
|
|
389
|
+
color: z.ZodDefault<z.ZodString>;
|
|
390
|
+
description: z.ZodDefault<z.ZodString>;
|
|
391
|
+
}, z.core.$strip>>>;
|
|
392
|
+
files: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
393
|
+
path: z.ZodString;
|
|
394
|
+
content: z.ZodString;
|
|
395
|
+
branch: z.ZodOptional<z.ZodString>;
|
|
396
|
+
}, z.core.$strip>>>;
|
|
397
|
+
issues: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
398
|
+
number: z.ZodOptional<z.ZodNumber>;
|
|
399
|
+
title: z.ZodString;
|
|
400
|
+
body: z.ZodDefault<z.ZodString>;
|
|
401
|
+
state: z.ZodDefault<z.ZodEnum<{
|
|
402
|
+
open: "open";
|
|
403
|
+
closed: "closed";
|
|
404
|
+
}>>;
|
|
405
|
+
labels: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
406
|
+
assignees: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
407
|
+
}, z.core.$strip>>>;
|
|
408
|
+
pull_requests: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
409
|
+
number: z.ZodOptional<z.ZodNumber>;
|
|
410
|
+
title: z.ZodString;
|
|
411
|
+
body: z.ZodDefault<z.ZodString>;
|
|
412
|
+
head: z.ZodString;
|
|
413
|
+
base: z.ZodDefault<z.ZodString>;
|
|
414
|
+
state: z.ZodDefault<z.ZodEnum<{
|
|
415
|
+
open: "open";
|
|
416
|
+
closed: "closed";
|
|
417
|
+
}>>;
|
|
418
|
+
author: z.ZodOptional<z.ZodString>;
|
|
419
|
+
reviews: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
420
|
+
author: z.ZodString;
|
|
421
|
+
state: z.ZodDefault<z.ZodEnum<{
|
|
422
|
+
APPROVED: "APPROVED";
|
|
423
|
+
CHANGES_REQUESTED: "CHANGES_REQUESTED";
|
|
424
|
+
COMMENTED: "COMMENTED";
|
|
425
|
+
}>>;
|
|
426
|
+
body: z.ZodDefault<z.ZodString>;
|
|
427
|
+
}, z.core.$strip>>>;
|
|
428
|
+
statuses: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
429
|
+
context: z.ZodDefault<z.ZodString>;
|
|
430
|
+
state: z.ZodDefault<z.ZodEnum<{
|
|
431
|
+
error: "error";
|
|
237
432
|
failure: "failure";
|
|
238
433
|
pending: "pending";
|
|
434
|
+
success: "success";
|
|
239
435
|
}>>;
|
|
240
436
|
description: z.ZodDefault<z.ZodString>;
|
|
241
437
|
}, z.core.$strip>>>;
|
|
@@ -265,7 +461,7 @@ export declare const scenarioSchema: z.ZodObject<{
|
|
|
265
461
|
status: z.ZodNumber;
|
|
266
462
|
body: z.ZodUnknown;
|
|
267
463
|
}, z.core.$strip>>>;
|
|
268
|
-
}, z.core.$strict>]>;
|
|
464
|
+
}, z.core.$strict>]>>]>;
|
|
269
465
|
}, z.core.$strip>;
|
|
270
466
|
export type Criterion = z.infer<typeof criterionSchema>;
|
|
271
467
|
export type ScenarioConfig = z.infer<typeof scenarioConfigSchema>;
|
|
@@ -274,4 +470,5 @@ export type StripeSeedState = z.infer<typeof stripeSeedStateSchema>;
|
|
|
274
470
|
export type SlackSeedState = z.infer<typeof slackSeedStateSchema>;
|
|
275
471
|
export type StripeFailureInjectionRule = z.infer<typeof stripeFailureInjectionRuleSchema>;
|
|
276
472
|
export type SeedState = z.infer<typeof seedStateSchema>;
|
|
473
|
+
export type SeedEnvelope = z.infer<typeof seedEnvelopeSchema>;
|
|
277
474
|
export type Scenario = z.infer<typeof scenarioSchema>;
|
|
@@ -78,6 +78,14 @@ export const seedStateSchema = z.union([
|
|
|
78
78
|
githubSeedStateSchema,
|
|
79
79
|
stripeSeedStateSchema
|
|
80
80
|
]);
|
|
81
|
+
// Multi-twin (M3): a per-twin seed envelope `{ <twin>: <flat seed> }`, produced
|
|
82
|
+
// ONLY for scenarios whose `config.twins` has >1 entry (the envelope-iff-multi-twin
|
|
83
|
+
// rule, decided from `twins` alone — never by sniffing the seed shape). Each value
|
|
84
|
+
// is one twin's flat seed, the same shapes `seedStateSchema` unions. Single-twin
|
|
85
|
+
// scenarios keep the flat shape byte-identical. parseScenario builds and validates
|
|
86
|
+
// the envelope value-by-value with each twin's own schema; this record is the outer
|
|
87
|
+
// shape scenarioSchema re-validates against.
|
|
88
|
+
export const seedEnvelopeSchema = z.record(z.string(), seedStateSchema);
|
|
81
89
|
export const scenarioSchema = z.object({
|
|
82
90
|
slug: z.string().min(1),
|
|
83
91
|
title: z.string().min(1),
|
|
@@ -86,5 +94,8 @@ export const scenarioSchema = z.object({
|
|
|
86
94
|
expectedBehavior: z.string().default(""),
|
|
87
95
|
criteria: z.array(criterionSchema).min(1),
|
|
88
96
|
config: scenarioConfigSchema,
|
|
89
|
-
|
|
97
|
+
// Flat single-twin seed OR the multi-twin per-twin envelope. Flat is tried
|
|
98
|
+
// first so single-twin seeds match their strict arms; the envelope only
|
|
99
|
+
// matches when the flat union can't (its keys are twin ids, not seed fields).
|
|
100
|
+
seedState: z.union([seedStateSchema, seedEnvelopeSchema])
|
|
90
101
|
});
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type Recorder } from "../recorder/recorder.js";
|
|
1
2
|
import type { RecorderEvent } from "@pome-sh/shared-types";
|
|
2
3
|
export declare const STRIPE_LOCAL_ACCOUNT_ID = "acct_default";
|
|
3
4
|
export type TwinHarness = {
|
|
@@ -37,4 +38,13 @@ export declare function bootTwin(opts: {
|
|
|
37
38
|
* twin-core durable recorder (same file capture-server appends to).
|
|
38
39
|
*/
|
|
39
40
|
eventsPath?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Multi-twin (M3): a SHARED recorder so every twin harness in one local run
|
|
43
|
+
* buffers into a single events stream / events.jsonl. When provided, this
|
|
44
|
+
* harness does NOT own the recorder — `close()` releases only its DB handle
|
|
45
|
+
* and the caller is responsible for `flush()`/`close()` on the recorder. When
|
|
46
|
+
* omitted (single-twin), the harness creates and owns its own recorder, so
|
|
47
|
+
* `close()` flushes + closes it exactly as before.
|
|
48
|
+
*/
|
|
49
|
+
recorder?: Recorder;
|
|
40
50
|
}): Promise<TwinHarness>;
|
|
@@ -37,13 +37,17 @@ export class UnsupportedTwinError extends Error {
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
export async function bootTwin(opts) {
|
|
40
|
-
const
|
|
40
|
+
const ownsRecorder = opts.recorder === undefined;
|
|
41
|
+
const recorder = opts.recorder ?? createRecorder({ eventsPath: opts.eventsPath });
|
|
41
42
|
const flushRecorder = async () => {
|
|
42
43
|
await recorder.flush?.();
|
|
43
44
|
};
|
|
44
45
|
const closeRecorderAndDb = async (dbClose) => {
|
|
45
46
|
await flushRecorder();
|
|
46
|
-
|
|
47
|
+
// A shared recorder is owned by the caller — only flush here, never close
|
|
48
|
+
// it out from under sibling harnesses still writing to it.
|
|
49
|
+
if (ownsRecorder)
|
|
50
|
+
await recorder.close?.();
|
|
47
51
|
dbClose();
|
|
48
52
|
};
|
|
49
53
|
switch (opts.twin) {
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const SUPPORTED_STANDALONE_TWINS: readonly ["github", "slack", "stripe"];
|
|
2
|
+
export type StandaloneAuthSecret = {
|
|
3
|
+
secret: string;
|
|
4
|
+
source: "env" | "persisted" | "ephemeral";
|
|
5
|
+
/** Set when `source` is "persisted": the file the secret was read from. */
|
|
6
|
+
path?: string;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Read side of the F-708 secret contract. Resolution order:
|
|
10
|
+
* 1. env `TWIN_AUTH_SECRET` (always wins — same rule as the twin boots)
|
|
11
|
+
* 2. the persisted `.pome-data/<twin>/secret` (`POME_TWIN_DATA_DIR`
|
|
12
|
+
* overrides the directory); blank file = absent, < 32 chars = loud
|
|
13
|
+
* error (never mint against a weak HS256 key, never guess)
|
|
14
|
+
* 3. a fresh per-boot secret, NOT persisted (loopback dev path)
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveStandaloneAuthSecret(twin: string, env?: NodeJS.ProcessEnv): StandaloneAuthSecret;
|
|
17
|
+
export declare function runTwinStartCommand(name: string, options: {
|
|
18
|
+
port?: string;
|
|
19
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
//
|
|
3
|
+
// `pome twin start <twin>` (F-709) — the docker-free front door. Boots any
|
|
4
|
+
// of the three twins as a long-lived foreground server (Ctrl-C to stop) on
|
|
5
|
+
// the same in-process boot path `pome run --local` uses (`bootTwin`), so
|
|
6
|
+
// `npx @pome-sh/cli twin start github` serves the identical control plane
|
|
7
|
+
// the packaged twin entries serve, with zero installs beyond Node ≥ 24.
|
|
8
|
+
//
|
|
9
|
+
// Auth: the twin's bearer middleware reads `TWIN_AUTH_SECRET` from the env
|
|
10
|
+
// (engine contract). The CLI resolves the secret the same way an operator
|
|
11
|
+
// would — an env-injected `TWIN_AUTH_SECRET` always wins, else the secret a
|
|
12
|
+
// prior twin boot persisted at `.pome-data/<twin>/secret` (F-708 write side;
|
|
13
|
+
// `POME_TWIN_DATA_DIR` overrides the directory) is reused, else a per-boot
|
|
14
|
+
// ephemeral secret is generated. Loopback binds deliberately do NOT persist
|
|
15
|
+
// a new secret file — that mirrors F-708's loopback carve-out, and the
|
|
16
|
+
// ready-to-use JWT is reprinted on every boot anyway.
|
|
17
|
+
import { randomBytes } from "node:crypto";
|
|
18
|
+
import { readFileSync } from "node:fs";
|
|
19
|
+
import { mkdir, writeFile } from "node:fs/promises";
|
|
20
|
+
import { join } from "node:path";
|
|
21
|
+
import { serve } from "@hono/node-server";
|
|
22
|
+
import { sign } from "hono/jwt";
|
|
23
|
+
import { defaultSeedState as defaultSlackSeedState } from "@pome-sh/twin-slack";
|
|
24
|
+
import { defaultSeed as defaultStripeSeed } from "@pome-sh/twin-stripe";
|
|
25
|
+
import { bootTwin } from "./twinHarness.js";
|
|
26
|
+
export const SUPPORTED_STANDALONE_TWINS = ["github", "slack", "stripe"];
|
|
27
|
+
/** The fixed session id a standalone twin serves under (`/s/standalone`). */
|
|
28
|
+
const STANDALONE_SID = "standalone";
|
|
29
|
+
/**
|
|
30
|
+
* Read side of the F-708 secret contract. Resolution order:
|
|
31
|
+
* 1. env `TWIN_AUTH_SECRET` (always wins — same rule as the twin boots)
|
|
32
|
+
* 2. the persisted `.pome-data/<twin>/secret` (`POME_TWIN_DATA_DIR`
|
|
33
|
+
* overrides the directory); blank file = absent, < 32 chars = loud
|
|
34
|
+
* error (never mint against a weak HS256 key, never guess)
|
|
35
|
+
* 3. a fresh per-boot secret, NOT persisted (loopback dev path)
|
|
36
|
+
*/
|
|
37
|
+
export function resolveStandaloneAuthSecret(twin, env = process.env) {
|
|
38
|
+
const injected = env.TWIN_AUTH_SECRET;
|
|
39
|
+
if (injected)
|
|
40
|
+
return { secret: injected, source: "env" };
|
|
41
|
+
const dataDir = env.POME_TWIN_DATA_DIR || join(".pome-data", twin);
|
|
42
|
+
const secretPath = join(dataDir, "secret");
|
|
43
|
+
let raw;
|
|
44
|
+
try {
|
|
45
|
+
raw = readFileSync(secretPath, "utf8");
|
|
46
|
+
}
|
|
47
|
+
catch (err) {
|
|
48
|
+
if (err.code !== "ENOENT")
|
|
49
|
+
throw err;
|
|
50
|
+
}
|
|
51
|
+
const persisted = raw?.trim() ?? "";
|
|
52
|
+
if (persisted.length >= 32) {
|
|
53
|
+
return { secret: persisted, source: "persisted", path: secretPath };
|
|
54
|
+
}
|
|
55
|
+
if (persisted.length > 0) {
|
|
56
|
+
// Same rule as the engine's readSecretFile (F-708): a short secret is
|
|
57
|
+
// operator content we must not silently serve or regenerate over.
|
|
58
|
+
throw new Error(`The persisted secret at ${secretPath} is shorter than 32 chars — fix or delete the file, or inject TWIN_AUTH_SECRET.`);
|
|
59
|
+
}
|
|
60
|
+
return { secret: randomBytes(32).toString("hex"), source: "ephemeral" };
|
|
61
|
+
}
|
|
62
|
+
function defaultSeedFor(twin) {
|
|
63
|
+
switch (twin) {
|
|
64
|
+
case "slack":
|
|
65
|
+
return defaultSlackSeedState();
|
|
66
|
+
case "stripe":
|
|
67
|
+
return defaultStripeSeed();
|
|
68
|
+
default:
|
|
69
|
+
// github: bootTwin's adapter seeds the default world when the seed is
|
|
70
|
+
// undefined (pre-existing standalone behavior).
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
export async function runTwinStartCommand(name, options) {
|
|
75
|
+
if (!SUPPORTED_STANDALONE_TWINS.includes(name)) {
|
|
76
|
+
throw new Error(`Unknown twin '${name}'. Supported: ${SUPPORTED_STANDALONE_TWINS.join(", ")}.`);
|
|
77
|
+
}
|
|
78
|
+
// `PORT` fallback keeps the spawn surface env-drivable (the contract
|
|
79
|
+
// suite injects PORT, same as the packaged twin entries).
|
|
80
|
+
const portRaw = options.port ?? process.env.PORT ?? "3333";
|
|
81
|
+
const port = Number(portRaw);
|
|
82
|
+
// Port 0 (ephemeral) is rejected: every printed URL and the status-file
|
|
83
|
+
// token would name a port nobody can discover from outside the process.
|
|
84
|
+
if (!Number.isInteger(port) || port < 1 || port > 65535) {
|
|
85
|
+
throw new Error(`pome twin start: invalid --port "${portRaw}"`);
|
|
86
|
+
}
|
|
87
|
+
const resolved = resolveStandaloneAuthSecret(name);
|
|
88
|
+
// The in-process twin's auth middleware (resolveAuthSecret) reads the env;
|
|
89
|
+
// pinning the resolved secret here is what makes the minted JWT and the
|
|
90
|
+
// running twin agree.
|
|
91
|
+
process.env.TWIN_AUTH_SECRET = resolved.secret;
|
|
92
|
+
const baseUrl = `http://127.0.0.1:${port}`;
|
|
93
|
+
const harness = await bootTwin({
|
|
94
|
+
twin: name,
|
|
95
|
+
seedState: defaultSeedFor(name),
|
|
96
|
+
runId: STANDALONE_SID,
|
|
97
|
+
twinBaseUrl: baseUrl,
|
|
98
|
+
});
|
|
99
|
+
const token = await sign({
|
|
100
|
+
sid: STANDALONE_SID,
|
|
101
|
+
team_id: "tm_local",
|
|
102
|
+
// Same claims `pome run --local` mints: `login` so the GitHub REST
|
|
103
|
+
// merge gate resolves the agent user; twin-supplied extras (stripe's
|
|
104
|
+
// `account_id`) so the token lands on the seeded account.
|
|
105
|
+
login: "pome-agent",
|
|
106
|
+
...(harness.extraClaims ?? {}),
|
|
107
|
+
exp: Math.floor(Date.now() / 1000) + 60 * 60 * 24,
|
|
108
|
+
}, resolved.secret);
|
|
109
|
+
const restUrl = `${baseUrl}/s/${STANDALONE_SID}`;
|
|
110
|
+
const mcpUrl = `${restUrl}/mcp`;
|
|
111
|
+
const server = serve({ fetch: harness.app.fetch, port, hostname: "127.0.0.1" });
|
|
112
|
+
try {
|
|
113
|
+
await mkdir(".pome", { recursive: true });
|
|
114
|
+
await writeFile(".pome/twin-status.json", JSON.stringify({ name, url: restUrl, rest_url: restUrl, mcp_url: mcpUrl, auth_token: token }, null, 2));
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
// Boot fails loudly or not at all: without this, the rejection leaves a
|
|
118
|
+
// bound listener keeping the process alive behind the error message.
|
|
119
|
+
await new Promise((resolve) => server.close(() => resolve()));
|
|
120
|
+
await harness.close();
|
|
121
|
+
throw err;
|
|
122
|
+
}
|
|
123
|
+
console.log(`Pome ${name} twin listening at ${restUrl}`);
|
|
124
|
+
if (resolved.source === "persisted") {
|
|
125
|
+
console.log(`Auth: using the persisted secret from ${resolved.path} (an env-injected TWIN_AUTH_SECRET overrides it).`);
|
|
126
|
+
}
|
|
127
|
+
console.log(`POME_${harness.envName}_REST_URL=${restUrl}`);
|
|
128
|
+
console.log(`POME_${harness.envName}_MCP_URL=${mcpUrl}`);
|
|
129
|
+
console.log(`POME_AUTH_TOKEN=${token}`);
|
|
130
|
+
// F28 — every `/s/<sid>/*` endpoint requires a Bearer JWT, including
|
|
131
|
+
// /s/standalone/healthz. New users curling the printed `${restUrl}` get
|
|
132
|
+
// HTTP 401 and assume the twin is broken. The unauth liveness probe lives
|
|
133
|
+
// at the root `/healthz`. Print the curl command so copy-paste debugging
|
|
134
|
+
// works without a JWT.
|
|
135
|
+
console.log(`Health check (no auth): curl ${baseUrl}/healthz`);
|
|
136
|
+
console.log("Ctrl-C to stop.");
|
|
137
|
+
// Foreground server: the bound socket keeps the event loop alive until a
|
|
138
|
+
// signal lands. Graceful path closes the listener, then flushes the
|
|
139
|
+
// recorder and releases the SQLite handle via the harness.
|
|
140
|
+
const shutdown = () => {
|
|
141
|
+
void (async () => {
|
|
142
|
+
// `close()` alone waits for in-flight keep-alive connections, so a
|
|
143
|
+
// stuck client would turn Ctrl-C into a hang: sever connections first,
|
|
144
|
+
// and keep an unref'd hard deadline in case a close callback never
|
|
145
|
+
// resolves anyway.
|
|
146
|
+
const hardExit = setTimeout(() => process.exit(1), 10_000);
|
|
147
|
+
hardExit.unref();
|
|
148
|
+
server.closeAllConnections?.();
|
|
149
|
+
await new Promise((resolve) => server.close(() => resolve()));
|
|
150
|
+
await harness.close();
|
|
151
|
+
process.exit(0);
|
|
152
|
+
})();
|
|
153
|
+
};
|
|
154
|
+
process.once("SIGINT", shutdown);
|
|
155
|
+
process.once("SIGTERM", shutdown);
|
|
156
|
+
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Mutation outcome — the shape both better-sqlite3's `RunResult` and
|
|
3
|
-
* node:sqlite's `StatementResultingChanges` return
|
|
4
|
-
*
|
|
3
|
+
* node:sqlite's `StatementResultingChanges` return; `changes` is coerced to
|
|
4
|
+
* number, `lastInsertRowid` may be a bigint for rowids beyond safe-integer
|
|
5
|
+
* range.
|
|
5
6
|
*/
|
|
6
7
|
export interface TwinRunResult {
|
|
7
8
|
changes: number;
|
|
@@ -15,8 +16,7 @@ export interface TwinStatement {
|
|
|
15
16
|
/**
|
|
16
17
|
* A wrapped transaction function (better-sqlite3's shape). The `.immediate`
|
|
17
18
|
* variant takes the write lock up front (BEGIN IMMEDIATE) — github's domain
|
|
18
|
-
* runs its mutations under it.
|
|
19
|
-
* call forms with explicit BEGIN [IMMEDIATE]/COMMIT/ROLLBACK.
|
|
19
|
+
* runs its mutations under it.
|
|
20
20
|
*/
|
|
21
21
|
export type TwinTransaction<F extends (...args: never[]) => unknown> = F & {
|
|
22
22
|
immediate: F;
|
|
@@ -1,28 +1,97 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
//
|
|
3
|
-
// Engine SQLite driver wrapper (F-681)
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
// database never pay for (or compile) the native module.
|
|
3
|
+
// Engine SQLite driver wrapper (F-681), backed by node:sqlite since F-703 —
|
|
4
|
+
// zero native deps, no compiler toolchain at install. Twins never import a
|
|
5
|
+
// sqlite driver directly — they call `openTwinDatabase()` and consume the
|
|
6
|
+
// `TwinDatabase` interface below. The interface keeps better-sqlite3's shape
|
|
7
|
+
// (prepare/exec/pragma/transaction/close) because twin domain code has dozens
|
|
8
|
+
// of call sites relying on it; node:sqlite ships no pragma()/transaction()
|
|
9
|
+
// equivalents, so this file emulates them: `pragma()` prepares a `PRAGMA …`
|
|
10
|
+
// statement, `transaction(fn)` (+ `.immediate`) wraps fn in explicit
|
|
11
|
+
// BEGIN [IMMEDIATE]/COMMIT/ROLLBACK at the outermost level and in a SAVEPOINT
|
|
12
|
+
// when called inside an open transaction — better-sqlite3's nesting semantics,
|
|
13
|
+
// which twin-github's seed() relies on (it wraps createIssue et al., each of
|
|
14
|
+
// which opens its own transaction).
|
|
16
15
|
import { mkdirSync } from "node:fs";
|
|
17
|
-
import { createRequire } from "node:module";
|
|
18
16
|
import { dirname } from "node:path";
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
17
|
+
import { DatabaseSync } from "node:sqlite";
|
|
18
|
+
class NodeSqliteTwinDatabase {
|
|
19
|
+
#db;
|
|
20
|
+
#savepointId = 0;
|
|
21
|
+
constructor(path) {
|
|
22
|
+
this.#db = new DatabaseSync(path);
|
|
23
|
+
}
|
|
24
|
+
prepare(sql) {
|
|
25
|
+
const statement = this.#db.prepare(sql);
|
|
26
|
+
return {
|
|
27
|
+
run: (...params) => {
|
|
28
|
+
const result = statement.run(...params);
|
|
29
|
+
return { changes: Number(result.changes), lastInsertRowid: result.lastInsertRowid };
|
|
30
|
+
},
|
|
31
|
+
get: (...params) => statement.get(...params),
|
|
32
|
+
all: (...params) => statement.all(...params),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
exec(sql) {
|
|
36
|
+
this.#db.exec(sql);
|
|
37
|
+
}
|
|
38
|
+
pragma(statement, options = {}) {
|
|
39
|
+
const rows = this.#db.prepare(`PRAGMA ${statement}`).all();
|
|
40
|
+
if (!options.simple)
|
|
41
|
+
return rows;
|
|
42
|
+
const row = rows[0];
|
|
43
|
+
if (row === undefined)
|
|
44
|
+
return undefined;
|
|
45
|
+
return row[Object.keys(row)[0]];
|
|
46
|
+
}
|
|
47
|
+
transaction(fn) {
|
|
48
|
+
const wrap = (begin) => ((...args) => {
|
|
49
|
+
if (this.#db.isTransaction)
|
|
50
|
+
return this.#nested(fn, args);
|
|
51
|
+
this.#db.exec(begin);
|
|
52
|
+
try {
|
|
53
|
+
const out = fn(...args);
|
|
54
|
+
this.#db.exec("COMMIT");
|
|
55
|
+
return out;
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
// Certain failures (e.g. ON CONFLICT ROLLBACK) end the transaction
|
|
59
|
+
// themselves — only roll back when one is still open.
|
|
60
|
+
if (this.#db.isTransaction)
|
|
61
|
+
this.#db.exec("ROLLBACK");
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
const tx = wrap("BEGIN");
|
|
66
|
+
tx.immediate = wrap("BEGIN IMMEDIATE");
|
|
67
|
+
return tx;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* A transaction function called inside an open transaction joins it under a
|
|
71
|
+
* SAVEPOINT (better-sqlite3's semantics): success releases the savepoint,
|
|
72
|
+
* failure rolls back only the inner work. The BEGIN variant is irrelevant
|
|
73
|
+
* here — the outermost transaction already holds the lock mode.
|
|
74
|
+
*/
|
|
75
|
+
#nested(fn, args) {
|
|
76
|
+
const name = `_pome_tx_${this.#savepointId++}`;
|
|
77
|
+
this.#db.exec(`SAVEPOINT ${name}`);
|
|
78
|
+
try {
|
|
79
|
+
const out = fn(...args);
|
|
80
|
+
this.#db.exec(`RELEASE ${name}`);
|
|
81
|
+
return out;
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
if (this.#db.isTransaction) {
|
|
85
|
+
this.#db.exec(`ROLLBACK TO ${name}`);
|
|
86
|
+
this.#db.exec(`RELEASE ${name}`);
|
|
87
|
+
}
|
|
88
|
+
throw error;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
close() {
|
|
92
|
+
if (this.#db.isOpen)
|
|
93
|
+
this.#db.close();
|
|
24
94
|
}
|
|
25
|
-
return driver;
|
|
26
95
|
}
|
|
27
96
|
/**
|
|
28
97
|
* Open a twin database with the pome pragma set applied:
|
|
@@ -34,11 +103,10 @@ export function openTwinDatabase(path = ":memory:", options = {}) {
|
|
|
34
103
|
if (path !== ":memory:") {
|
|
35
104
|
mkdirSync(dirname(path), { recursive: true });
|
|
36
105
|
}
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
db.
|
|
40
|
-
db.
|
|
41
|
-
db.pragma("foreign_keys = ON");
|
|
106
|
+
const db = new NodeSqliteTwinDatabase(path);
|
|
107
|
+
db.exec("PRAGMA busy_timeout = 5000");
|
|
108
|
+
db.exec("PRAGMA journal_mode = WAL");
|
|
109
|
+
db.exec("PRAGMA foreign_keys = ON");
|
|
42
110
|
options.migrate?.(db);
|
|
43
111
|
return db;
|
|
44
112
|
}
|