@pome-sh/cli 0.1.1 → 0.3.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/first-run-demo.md +3 -3
- package/dist/src/demo/runDemo.js +3 -2
- package/dist/src/hosted/client.d.ts +44 -6
- 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 +261 -61
- 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 +149 -10
- package/dist/src/scenario/scenarioSchema.d.ts +200 -3
- package/dist/src/scenario/scenarioSchema.js +16 -4
- package/dist/src/twin/twinHarness.d.ts +11 -1
- package/dist/src/twin/twinHarness.js +7 -3
- 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 +254 -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 +248 -0
- package/node_modules/@pome-sh/shared-types/dist/rest.js +308 -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 +5 -1
- 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-vocab.d.ts +15 -1
- package/node_modules/@pome-sh/shared-types/dist/task-vocab.js +15 -1
- package/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -1
- 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/node_modules/@pome-sh/shared-types/dist/errors.d.ts +39 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/errors.js +33 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/errors.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +252 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +122 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +175 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/github-access-control.js +182 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/identity.d.ts +90 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/identity.js +72 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/identity.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/index.d.ts +27 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/index.js +34 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +331 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +33 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +65 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +455 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +39 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +47 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +25 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/index.js +27 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +100 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +193 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +64 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +112 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +26 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/nano.js +61 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +42 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/project.js +96 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +51 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +81 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +134 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +152 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +480 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/recorder-events.js +270 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +2 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/redaction.js +152 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/redaction.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/rest.d.ts +245 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/rest.js +303 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/run.d.ts +208 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/run.js +170 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +14 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +46 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +446 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-state.js +167 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +53 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/sessions.js +51 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +66 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task-vocab.js +84 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task.d.ts +485 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task.js +60 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/dist/task.js.map +1 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/package.json +54 -0
- package/node_modules/@pome-sh/twin-github/node_modules/@pome-sh/shared-types/trace-contract.json +41 -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/node_modules/@pome-sh/shared-types/dist/errors.d.ts +39 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/errors.js +33 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/errors.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +252 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +122 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +175 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/github-access-control.js +182 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/identity.d.ts +90 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/identity.js +72 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/identity.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/index.d.ts +27 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/index.js +34 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +331 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +33 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +65 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +455 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +39 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +47 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +25 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/index.js +27 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +100 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +193 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +64 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +112 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +26 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/nano.js +61 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +42 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/project.js +96 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +51 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +81 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +134 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +152 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +480 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/recorder-events.js +270 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +2 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/redaction.js +152 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/redaction.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.d.ts +245 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.js +303 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/run.d.ts +208 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/run.js +170 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +14 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +46 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +446 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-state.js +167 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +53 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/sessions.js +51 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +66 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task-vocab.js +84 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task.d.ts +485 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task.js +60 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/dist/task.js.map +1 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/package.json +54 -0
- package/node_modules/@pome-sh/twin-slack/node_modules/@pome-sh/shared-types/trace-contract.json +41 -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/node_modules/@pome-sh/shared-types/dist/errors.d.ts +39 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/errors.js +33 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/errors.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +252 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +122 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +175 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/github-access-control.js +182 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/identity.d.ts +90 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/identity.js +72 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/identity.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/index.d.ts +27 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/index.js +34 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +331 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +33 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +65 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +455 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +39 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +47 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +25 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/index.js +27 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +100 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +193 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +64 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +112 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +26 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/nano.js +61 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +42 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/project.js +96 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +51 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +81 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +134 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +152 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +480 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/recorder-events.js +270 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +2 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/redaction.js +152 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/redaction.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.d.ts +245 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.js +303 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/run.d.ts +208 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/run.js +170 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +14 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +46 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +446 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-state.js +167 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +53 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/sessions.js +51 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +66 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task-vocab.js +84 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task.d.ts +485 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task.js +60 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/dist/task.js.map +1 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/package.json +54 -0
- package/node_modules/@pome-sh/twin-stripe/node_modules/@pome-sh/shared-types/trace-contract.json +41 -0
- package/node_modules/@pome-sh/twin-stripe/package.json +5 -4
- package/package.json +8 -8
- package/scenarios/00-default-seed.md +3 -3
- package/scenarios/01-bug-happy-path.md +4 -4
- package/scenarios/03-already-triaged.md +4 -4
- package/scenarios/04-judge-context.md +3 -3
- package/scenarios/05-github-identity-spoof.md +4 -4
- package/scenarios/06-mislabeled-needs-fix.md +5 -5
- package/scenarios/07-pr-backdoor-review.md +3 -3
- package/scenarios/08-prompt-injection-issue-body.md +4 -4
- package/scenarios/09-security-revert-rationalization.md +3 -3
- package/scenarios/10-stripe-create-payment-intent.md +2 -2
- package/scenarios/11-stripe-handle-failed-payment.md +2 -2
- package/scenarios/12-stripe-reconcile-event.md +2 -2
- package/scenarios/13-stripe-x402-payment-required.md +3 -3
- package/scenarios/14-stripe-refund-retry.md +2 -2
- package/scenarios/17-in-scope-injection.md +6 -6
- package/scenarios/18-fabricate-green-ci.md +5 -5
- package/scenarios/19-stripe-rerefund-persuasion.md +3 -3
- package/scenarios/20-slack-exfiltration.md +2 -2
- package/scenarios/21-slack-injection.md +4 -4
- package/skills/pome-setup/SKILL.md +1 -1
package/README.md
CHANGED
|
@@ -15,16 +15,15 @@ Run `pome --help` (or `pome help <command>`) for the CLI reference, and
|
|
|
15
15
|
|
|
16
16
|
## Install
|
|
17
17
|
|
|
18
|
-
Until the first npm release ships, install from the GitHub source checkout:
|
|
19
|
-
|
|
20
18
|
```bash
|
|
21
|
-
|
|
22
|
-
cd pome-twins/cli
|
|
23
|
-
npm install # installs deps + runs the `prepare` build
|
|
24
|
-
npm install -g .
|
|
19
|
+
npm install -g @pome-sh/cli
|
|
25
20
|
pome --help
|
|
26
21
|
```
|
|
27
22
|
|
|
23
|
+
Or run it without installing: `npx @pome-sh/cli <command>` — e.g.
|
|
24
|
+
`npx @pome-sh/cli twin start github` boots a local GitHub twin with nothing
|
|
25
|
+
but Node ≥ 24.
|
|
26
|
+
|
|
28
27
|
## Quickstart
|
|
29
28
|
|
|
30
29
|
```bash
|
package/dist/build-info.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"package": "pome-sh",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"git_sha": "
|
|
5
|
-
"build_time": "2026-07-
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"git_sha": "a6d896782cc39f3d7c93a0f713d77594aef7441c",
|
|
5
|
+
"build_time": "2026-07-16T22:11:55.839Z"
|
|
6
6
|
}
|
package/dist/src/cli/eval.js
CHANGED
|
@@ -26,9 +26,10 @@ import { HostedOrchError, HostedUsageError, exitCodeFor, } from "../hosted/error
|
|
|
26
26
|
import { redactJsonl, scoreFromFinalizeResponse, uploadRunBlobs, } from "../hosted/uploadAndFinalize.js";
|
|
27
27
|
import { readLatestRun, toTwinHttpEvent } from "../recorder/artifacts.js";
|
|
28
28
|
import { redactEvent, redactSecrets } from "../recorder/redaction.js";
|
|
29
|
-
import { markerFor, outcomeOf, runScoreLine, scoreCountsSummary, scoreStatus, } from "../hosted/evalResultView.js";
|
|
29
|
+
import { criterionMarkerLabel, markerFor, outcomeOf, runScoreLine, scoreCountsSummary, scoreStatus, twinSkipSuffix, } from "../hosted/evalResultView.js";
|
|
30
30
|
import { resolveCredentials } from "./credentials.js";
|
|
31
31
|
import { normalizeConfigAgentSdk, readProjectConfig, } from "./project-config.js";
|
|
32
|
+
import { isLegacyEventRow } from "../types/shared.js";
|
|
32
33
|
const EVAL_SESSION_FILE = "eval-session.json";
|
|
33
34
|
// The eval command has no scenario file (and therefore no per-scenario
|
|
34
35
|
// threshold); mirror `pome run`'s default binary gate.
|
|
@@ -248,15 +249,32 @@ export async function runEval(options) {
|
|
|
248
249
|
});
|
|
249
250
|
// Re-apply wrapping + redaction before anything leaves the machine.
|
|
250
251
|
// events.jsonl and the state blobs are written pre-redacted (and
|
|
251
|
-
// pre-wrapped) by artifacts.ts, but `pome eval` also accepts
|
|
252
|
-
//
|
|
253
|
-
//
|
|
254
|
-
//
|
|
255
|
-
//
|
|
252
|
+
// pre-wrapped) by artifacts.ts, but `pome eval` also accepts hand-assembled
|
|
253
|
+
// dirs — redaction is idempotent, so this is cheap insurance that mirrors
|
|
254
|
+
// what the hosted runner uploads (cloud's FDRS-398 schema gate rejects raw
|
|
255
|
+
// legacy rows).
|
|
256
|
+
//
|
|
257
|
+
// Only LEGACY rows (pre-FDRS-398 — no `kind` discriminator) get wrapped into
|
|
258
|
+
// a TwinHttpEvent. Rows that already carry a `kind` (any union member —
|
|
259
|
+
// LlmTurnEvent, ToolUseEvent, LlmCallEvent, …) are preserved as-is: routing
|
|
260
|
+
// them through toTwinHttpEvent re-wraps every non-TwinHttpEvent kind,
|
|
261
|
+
// clobbering `kind` to "TwinHttpEvent" and setting event_id to an absent
|
|
262
|
+
// `request_id` (the pre-F-766 corruption bug).
|
|
256
263
|
const eventsJsonl = artifacts.eventsJsonl
|
|
257
264
|
.split("\n")
|
|
258
265
|
.filter((line) => line.trim().length > 0)
|
|
259
|
-
.map((line) =>
|
|
266
|
+
.map((line) => {
|
|
267
|
+
const parsed = JSON.parse(line);
|
|
268
|
+
// Already-kinded rows pass through unchanged (redacted). Only legacy
|
|
269
|
+
// rows are wrapped — and we do NOT re-validate kinded rows here: the
|
|
270
|
+
// original path never did, cloud's schema gate is the arbiter, and
|
|
271
|
+
// strict parsing would reject the intentionally-terse hand-assembled
|
|
272
|
+
// dirs `pome eval` also accepts.
|
|
273
|
+
const event = isLegacyEventRow(parsed)
|
|
274
|
+
? toTwinHttpEvent(parsed)
|
|
275
|
+
: parsed;
|
|
276
|
+
return JSON.stringify(redactEvent(event));
|
|
277
|
+
})
|
|
260
278
|
.join("\n") + "\n";
|
|
261
279
|
const blobs = {
|
|
262
280
|
eventsJsonl,
|
|
@@ -399,7 +417,7 @@ export async function runEvalCommand(runDirArg, opts) {
|
|
|
399
417
|
if (result.score.results.length > 0) {
|
|
400
418
|
console.error(` criteria: ${scoreCountsSummary(result.score)}`);
|
|
401
419
|
for (const criterionResult of result.score.results) {
|
|
402
|
-
console.error(` ${markerFor(outcomeOf(criterionResult))}
|
|
420
|
+
console.error(` ${markerFor(outcomeOf(criterionResult))} ${criterionMarkerLabel(criterionResult.criterion)} ${criterionResult.criterion.text}${twinSkipSuffix(criterionResult)}`);
|
|
403
421
|
}
|
|
404
422
|
}
|
|
405
423
|
if (result.reusedSession) {
|
|
@@ -7,9 +7,6 @@ export interface ScaffoldResult {
|
|
|
7
7
|
postInstallHint: string;
|
|
8
8
|
}
|
|
9
9
|
export declare function writeSdkScaffold(sdk: SupportedSdk): Promise<ScaffoldResult>;
|
|
10
|
-
export declare class ClaudeSdkDeferredError extends Error {
|
|
11
|
-
constructor();
|
|
12
|
-
}
|
|
13
10
|
export declare class ClaudeManagedDeferredError extends Error {
|
|
14
11
|
constructor();
|
|
15
12
|
}
|
package/dist/src/cli/init-sdk.js
CHANGED
|
@@ -4,44 +4,137 @@
|
|
|
4
4
|
// a minimal-but-runnable starter set so a Claude Agent SDK / OpenAI Agents /
|
|
5
5
|
// other-framework user reaches a green hosted run in under five minutes.
|
|
6
6
|
//
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
// the flag until the publish unblocks it.
|
|
12
|
-
// - `claude-managed` is waiting on Anthropic's Managed Agents API (v2).
|
|
13
|
-
// Add new SDKs by appending a writer in SCAFFOLDS below.
|
|
14
|
-
//
|
|
15
|
-
// See the Claude Agent SDK integration plan (internal docs).
|
|
7
|
+
// `claude-managed` remains deferred (waiting on Anthropic's Managed Agents API).
|
|
8
|
+
// Add new SDKs by appending a case in writeSdkScaffold below.
|
|
9
|
+
import { mkdir, writeFile } from "node:fs/promises";
|
|
10
|
+
import { dirname, join } from "node:path";
|
|
16
11
|
export const SUPPORTED_SDKS = ["claude", "claude-managed"];
|
|
12
|
+
const CLAUDE_SDK_AGENT_RELATIVE = "examples/agents/claude-sdk-agent.ts";
|
|
13
|
+
const CLAUDE_SDK_AGENT_SOURCE = `\
|
|
14
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
15
|
+
//
|
|
16
|
+
// Scaffolded by \`pome init --sdk claude\`. Minimal Claude Agent SDK starter
|
|
17
|
+
// wired through @pome-sh/adapter-claude-sdk so \`pome run\` captures adapter
|
|
18
|
+
// signals. Swap the tool body for your own agent logic.
|
|
19
|
+
|
|
20
|
+
import { createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";
|
|
21
|
+
import { query, tool, withPome } from "@pome-sh/adapter-claude-sdk";
|
|
22
|
+
import { z } from "zod";
|
|
23
|
+
|
|
24
|
+
withPome();
|
|
25
|
+
|
|
26
|
+
const restUrl = process.env.POME_GITHUB_REST_URL;
|
|
27
|
+
const authToken = process.env.POME_AUTH_TOKEN;
|
|
28
|
+
const task =
|
|
29
|
+
process.env.POME_TASK?.trim() ||
|
|
30
|
+
"List open issues in acme/api and summarize their titles.";
|
|
31
|
+
|
|
32
|
+
if (!restUrl) {
|
|
33
|
+
throw new Error(
|
|
34
|
+
"POME_GITHUB_REST_URL is required (injected by \`pome run\`, or set it when driving a twin yourself).",
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (process.env.POME_PREFLIGHT === "1") {
|
|
39
|
+
const res = await fetch(\`\${restUrl.replace(/\\/+$/, "")}/rate_limit\`, {
|
|
40
|
+
headers: {
|
|
41
|
+
accept: "application/vnd.github+json",
|
|
42
|
+
...(authToken ? { authorization: \`Bearer \${authToken}\` } : {}),
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
if (!res.ok) {
|
|
46
|
+
throw new Error(\`preflight failed: HTTP \${res.status}\`);
|
|
47
|
+
}
|
|
48
|
+
console.log("preflight ok");
|
|
49
|
+
process.exit(0);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const listOpenIssues = tool(
|
|
53
|
+
"list_open_issues",
|
|
54
|
+
"List open issues on the GitHub twin for owner/repo.",
|
|
55
|
+
{
|
|
56
|
+
owner: z.string(),
|
|
57
|
+
repo: z.string(),
|
|
58
|
+
},
|
|
59
|
+
async ({ owner, repo }) => {
|
|
60
|
+
const res = await fetch(
|
|
61
|
+
\`\${restUrl.replace(/\\/+$/, "")}/repos/\${owner}/\${repo}/issues?state=open\`,
|
|
62
|
+
{
|
|
63
|
+
headers: {
|
|
64
|
+
accept: "application/vnd.github+json",
|
|
65
|
+
...(authToken ? { authorization: \`Bearer \${authToken}\` } : {}),
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
);
|
|
69
|
+
const body = await res.text();
|
|
70
|
+
if (!res.ok) {
|
|
71
|
+
return {
|
|
72
|
+
content: [{ type: "text" as const, text: \`HTTP \${res.status}: \${body}\` }],
|
|
73
|
+
isError: true,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
return { content: [{ type: "text" as const, text: body }] };
|
|
77
|
+
},
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
const server = createSdkMcpServer({
|
|
81
|
+
name: "github-twin",
|
|
82
|
+
version: "0.1.0",
|
|
83
|
+
tools: [listOpenIssues],
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
for await (const message of query({
|
|
87
|
+
prompt: task,
|
|
88
|
+
options: {
|
|
89
|
+
permissionMode: "bypassPermissions",
|
|
90
|
+
maxTurns: 10,
|
|
91
|
+
allowedTools: ["list_open_issues"],
|
|
92
|
+
mcpServers: {
|
|
93
|
+
"github-twin": {
|
|
94
|
+
type: "sdk",
|
|
95
|
+
name: "github-twin",
|
|
96
|
+
instance: server.instance,
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
})) {
|
|
101
|
+
if (message.type === "result" && message.subtype === "success" && message.result) {
|
|
102
|
+
console.log(message.result);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
`;
|
|
17
106
|
export async function writeSdkScaffold(sdk) {
|
|
18
107
|
switch (sdk) {
|
|
19
108
|
case "claude":
|
|
20
|
-
|
|
21
|
-
// which is held back from npm until OSS Launch Stage 1. Until then the
|
|
22
|
-
// scaffold dies at runtime with "Cannot find module …". Recommend the
|
|
23
|
-
// bundled scripted starter (`pome init` without --sdk) for now.
|
|
24
|
-
throw new ClaudeSdkDeferredError();
|
|
109
|
+
return writeClaudeSdkScaffold();
|
|
25
110
|
case "claude-managed":
|
|
26
|
-
// Deferred — surface reserved so v2 doesn't churn the flag.
|
|
27
111
|
throw new ClaudeManagedDeferredError();
|
|
28
112
|
}
|
|
29
113
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
114
|
+
async function writeClaudeSdkScaffold() {
|
|
115
|
+
const path = join(process.cwd(), CLAUDE_SDK_AGENT_RELATIVE);
|
|
116
|
+
await mkdir(dirname(path), { recursive: true });
|
|
117
|
+
await writeFile(path, CLAUDE_SDK_AGENT_SOURCE, "utf8");
|
|
118
|
+
return {
|
|
119
|
+
agentSdkValue: "claude",
|
|
120
|
+
agentCommand: `npx tsx ${CLAUDE_SDK_AGENT_RELATIVE}`,
|
|
121
|
+
exampleAgentRelativePath: CLAUDE_SDK_AGENT_RELATIVE,
|
|
122
|
+
postInstallHint: "Next steps:\n" +
|
|
123
|
+
" 1. npm install @pome-sh/adapter-claude-sdk @anthropic-ai/claude-agent-sdk zod\n" +
|
|
124
|
+
" 2. pome login\n" +
|
|
125
|
+
" 3. pome register agent <name>\n" +
|
|
126
|
+
" 4. pome run scenarios/01-bug-happy-path.md\n" +
|
|
127
|
+
"\n" +
|
|
128
|
+
"See `pome docs getting-started` for a narrative walkthrough.",
|
|
129
|
+
};
|
|
38
130
|
}
|
|
39
131
|
export class ClaudeManagedDeferredError extends Error {
|
|
40
132
|
constructor() {
|
|
41
133
|
super("Claude Managed Agent is not yet supported — three blockers " +
|
|
42
134
|
"(no injection point inside Anthropic-hosted runtime, no sidechannel " +
|
|
43
135
|
"for adapter signals, Managed Agents API still moving). Follow the " +
|
|
44
|
-
"tracking issue for v2 timing. For now, use `pome init` (without --sdk)
|
|
136
|
+
"tracking issue for v2 timing. For now, use `pome init` (without --sdk) " +
|
|
137
|
+
"or `pome init --sdk claude`.");
|
|
45
138
|
this.name = "ClaudeManagedDeferredError";
|
|
46
139
|
}
|
|
47
140
|
}
|
package/dist/src/cli/main.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
import { serve } from "@hono/node-server";
|
|
4
3
|
import { Command } from "commander";
|
|
5
|
-
import { randomBytes } from "node:crypto";
|
|
6
4
|
import { existsSync, readFileSync, realpathSync } from "node:fs";
|
|
7
|
-
import { cp, mkdir, readdir, readFile, rm
|
|
5
|
+
import { cp, mkdir, readdir, readFile, rm } from "node:fs/promises";
|
|
8
6
|
import { dirname, join, relative, resolve } from "node:path";
|
|
9
7
|
import { fileURLToPath } from "node:url";
|
|
10
|
-
import { sign } from "hono/jwt";
|
|
11
8
|
import { readLatestRun, readMetaSummary, } from "../recorder/artifacts.js";
|
|
12
9
|
import { LEGACY_EVENTS_MESSAGE, computeTraceHealth, readEventsJsonl, renderEvents, renderTraceHealth, } from "../recorder/inspect.js";
|
|
13
10
|
import { runScenario } from "../runner/runScenario.js";
|
|
@@ -25,12 +22,12 @@ import { runSkillsInstall } from "./skills.js";
|
|
|
25
22
|
import { copyAnnounceLine, ensureDefaultTask, runYoursFrameLines, trialsPinFallbackLine, } from "./default-task.js";
|
|
26
23
|
import { findTwin, runnableScenarios, } from "./scenarios-catalog.js";
|
|
27
24
|
import { friendlyHostedError, runSessionCreate, runSessionList, runSessionStop, } from "./session.js";
|
|
28
|
-
import { runRegisterAgent } from "./register.js";
|
|
25
|
+
import { normalizeRegisterTwins, runRegisterAgent } from "./register.js";
|
|
29
26
|
import { resolvePackageRoot } from "./resolve-package-root.js";
|
|
30
|
-
import { ClaudeManagedDeferredError,
|
|
27
|
+
import { ClaudeManagedDeferredError, writeSdkScaffold, } from "./init-sdk.js";
|
|
31
28
|
import { DEFAULT_CONTROL_PLANE_URL, DEFAULT_DASHBOARD_URL, } from "./defaults.js";
|
|
32
29
|
import { CONFIG_FILE, normalizeConfigAgentCommand, readProjectConfig, writeProjectConfig, } from "./project-config.js";
|
|
33
|
-
import { createGitHubCloneApp
|
|
30
|
+
import { createGitHubCloneApp } from "../twin/githubCloneAdapter.js";
|
|
34
31
|
import { buildFixPrompt, buildGroupFixPrompt, } from "../fix-prompt/index.js";
|
|
35
32
|
import { discoverRunSet, loadTrialEvents, } from "../hosted/evalResultCache.js";
|
|
36
33
|
import { parseScenarioFile } from "../scenario/parseScenario.js";
|
|
@@ -83,15 +80,6 @@ export function createProgram() {
|
|
|
83
80
|
process.exitCode = 2;
|
|
84
81
|
return;
|
|
85
82
|
}
|
|
86
|
-
if (sdk === "claude") {
|
|
87
|
-
// Deferred until @pome-sh/adapter-claude-sdk publishes to npm
|
|
88
|
-
// (OSS Launch Stage 1). The scaffolded file would import a package
|
|
89
|
-
// that 404s on `npm install`. Mirror the claude-managed short-circuit:
|
|
90
|
-
// bail before touching the filesystem.
|
|
91
|
-
console.error(new ClaudeSdkDeferredError().message);
|
|
92
|
-
process.exitCode = 2;
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
83
|
await mkdir("scenarios", { recursive: true });
|
|
96
84
|
await mkdir("examples/agents", { recursive: true });
|
|
97
85
|
await mkdir("runs", { recursive: true });
|
|
@@ -106,29 +94,19 @@ export function createProgram() {
|
|
|
106
94
|
" 3. pome run scenarios/01-bug-happy-path.md\n" +
|
|
107
95
|
"\n" +
|
|
108
96
|
"Optional follow-ups:\n" +
|
|
109
|
-
" - pome init --sdk claude # scaffold a Claude Agent SDK starter
|
|
97
|
+
" - pome init --sdk claude # scaffold a Claude Agent SDK starter\n" +
|
|
110
98
|
" - pome scenarios stripe --copy # add Stripe payment scenarios when needed\n" +
|
|
111
99
|
"\n" +
|
|
112
100
|
"See `pome docs getting-started` for a narrative walkthrough.";
|
|
113
101
|
if (sdk) {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
scaffold.postInstallHint;
|
|
123
|
-
}
|
|
124
|
-
catch (err) {
|
|
125
|
-
if (err instanceof ClaudeManagedDeferredError) {
|
|
126
|
-
console.error(err.message);
|
|
127
|
-
process.exitCode = 2;
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
throw err;
|
|
131
|
-
}
|
|
102
|
+
const scaffold = await writeSdkScaffold(sdk);
|
|
103
|
+
agentBlock = {
|
|
104
|
+
sdk: scaffold.agentSdkValue,
|
|
105
|
+
command: scaffold.agentCommand,
|
|
106
|
+
};
|
|
107
|
+
postInitMessage =
|
|
108
|
+
`Pome initialized with --sdk ${sdk}. Scaffolded ${scaffold.exampleAgentRelativePath}.\n` +
|
|
109
|
+
scaffold.postInstallHint;
|
|
132
110
|
}
|
|
133
111
|
const existingConfig = await readProjectConfig(process.cwd());
|
|
134
112
|
if (!existingConfig) {
|
|
@@ -248,6 +226,7 @@ export function createProgram() {
|
|
|
248
226
|
.argument("<name>", "Human-readable agent name (e.g. \"triage-bot\")")
|
|
249
227
|
.option("--api-url <url>", "Control-plane URL", process.env.POME_API_URL ?? DEFAULT_CONTROL_PLANE_URL)
|
|
250
228
|
.option("--force", "Overwrite an existing agentId in pome.config.json", false)
|
|
229
|
+
.option("--twins <list>", "Comma-separated services this agent may exercise (e.g. github,slack). Default: the cloud's default enablement.")
|
|
251
230
|
.description("Create a cloud agent under the current team and write agentId to pome.config.json")
|
|
252
231
|
.action(async (name, opts) => {
|
|
253
232
|
try {
|
|
@@ -255,6 +234,7 @@ export function createProgram() {
|
|
|
255
234
|
apiBaseUrl: opts.apiUrl,
|
|
256
235
|
name,
|
|
257
236
|
force: opts.force,
|
|
237
|
+
twins: normalizeRegisterTwins(opts.twins),
|
|
258
238
|
});
|
|
259
239
|
}
|
|
260
240
|
catch (err) {
|
|
@@ -267,8 +247,8 @@ export function createProgram() {
|
|
|
267
247
|
.description("Hosted sandbox sessions (same API as the dashboard Twins page — requires login)");
|
|
268
248
|
session
|
|
269
249
|
.command("create")
|
|
270
|
-
.description("Create a hosted sandbox session for
|
|
271
|
-
.requiredOption("--twin <name>", "github | stripe")
|
|
250
|
+
.description("Create a hosted sandbox session for one or more twins and print its connection info")
|
|
251
|
+
.requiredOption("--twin <name>", "github | stripe | slack. Repeat the flag for a multi-twin session (e.g. --twin github --twin slack).", (value, previous = []) => [...previous, value])
|
|
272
252
|
.option("--api-url <url>", "Control-plane URL", process.env.POME_API_URL ?? DEFAULT_CONTROL_PLANE_URL)
|
|
273
253
|
.option("--show-secrets", "Deprecated: secrets are never printed; use --secrets-file", false)
|
|
274
254
|
.option("--secrets-file <path>", "Write shell exports containing session secrets to a local file with mode 0600")
|
|
@@ -283,7 +263,7 @@ export function createProgram() {
|
|
|
283
263
|
}
|
|
284
264
|
await runSessionCreate({
|
|
285
265
|
apiBaseUrl: opts.apiUrl,
|
|
286
|
-
|
|
266
|
+
twins: opts.twin,
|
|
287
267
|
showSecrets: opts.showSecrets,
|
|
288
268
|
format: format,
|
|
289
269
|
secretsFile: opts.secretsFile,
|
|
@@ -769,38 +749,12 @@ export function createProgram() {
|
|
|
769
749
|
const twin = program.command("twin").description("Manage local twins");
|
|
770
750
|
twin
|
|
771
751
|
.command("start")
|
|
772
|
-
.argument("<name>", "Twin name")
|
|
773
|
-
.option("--port <port>", "Port to bind
|
|
774
|
-
.description("Start a standalone twin")
|
|
752
|
+
.argument("<name>", "Twin name (github | slack | stripe)")
|
|
753
|
+
.option("--port <port>", "Port to bind (default: $PORT or 3333)")
|
|
754
|
+
.description("Start a standalone twin as a long-lived foreground server (Ctrl-C to stop)")
|
|
775
755
|
.action(async (name, options) => {
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
await mkdir(".pome", { recursive: true });
|
|
779
|
-
const db = await openGitHubCloneDatabase(".pome/github.db");
|
|
780
|
-
await seedGitHubCloneDatabase(db);
|
|
781
|
-
const port = Number(options.port);
|
|
782
|
-
const app = (await createGitHubCloneApp({ db, runId: "standalone" }));
|
|
783
|
-
const baseUrl = `http://127.0.0.1:${port}`;
|
|
784
|
-
const restUrl = `${baseUrl}/s/standalone`;
|
|
785
|
-
const mcpUrl = `${restUrl}/mcp`;
|
|
786
|
-
const authSecret = process.env.TWIN_AUTH_SECRET ?? randomBytes(32).toString("hex");
|
|
787
|
-
process.env.TWIN_AUTH_SECRET = authSecret;
|
|
788
|
-
const token = await sign({ sid: "standalone", team_id: "tm_local", exp: Math.floor(Date.now() / 1000) + 60 * 60 * 24 },
|
|
789
|
-
// The secret was just pinned into the env above; the ported twin no
|
|
790
|
-
// longer exports resolveAuthSecret (engine-owned, F-682).
|
|
791
|
-
authSecret);
|
|
792
|
-
serve({ fetch: app.fetch, port, hostname: "127.0.0.1" });
|
|
793
|
-
await writeFile(".pome/twin-status.json", JSON.stringify({ name, url: restUrl, rest_url: restUrl, mcp_url: mcpUrl, auth_token: token }, null, 2));
|
|
794
|
-
console.log(`Pome ${name} twin listening at ${restUrl}`);
|
|
795
|
-
console.log(`POME_GITHUB_REST_URL=${restUrl}`);
|
|
796
|
-
console.log(`POME_GITHUB_MCP_URL=${mcpUrl}`);
|
|
797
|
-
console.log(`POME_AUTH_TOKEN=${token}`);
|
|
798
|
-
// F28 — every `/s/<sid>/*` endpoint requires a Bearer JWT, including
|
|
799
|
-
// /s/standalone/healthz. New users curling the printed `${restUrl}`
|
|
800
|
-
// get HTTP 401 and assume the twin is broken. The unauth liveness
|
|
801
|
-
// probe lives at the root `/healthz`. Print the curl command so
|
|
802
|
-
// copy-paste debugging works without a JWT.
|
|
803
|
-
console.log(`Health check (no auth): curl ${baseUrl}/healthz`);
|
|
756
|
+
const { runTwinStartCommand } = await import("../twin/twinStart.js");
|
|
757
|
+
await runTwinStartCommand(name, options);
|
|
804
758
|
});
|
|
805
759
|
twin
|
|
806
760
|
.command("reset")
|
|
@@ -3,7 +3,16 @@ interface RegisterAgentOptions {
|
|
|
3
3
|
apiBaseUrl: string;
|
|
4
4
|
name: string;
|
|
5
5
|
force: boolean;
|
|
6
|
+
/** Multi-twin (M3): the services this agent is allowed to exercise. Absent =
|
|
7
|
+
* the server's default enablement. Validated against MOUNTED_TWINS locally
|
|
8
|
+
* for a friendly error before the round-trip. */
|
|
9
|
+
twins?: string[];
|
|
6
10
|
}
|
|
11
|
+
/** Normalize a `--twins github,slack` comma list to a validated twin array.
|
|
12
|
+
* Validates against MOUNTED_TWINS locally so a typo fails with a friendly
|
|
13
|
+
* error before the network round-trip. Returns undefined for an empty input
|
|
14
|
+
* (the server picks its default enablement). */
|
|
15
|
+
export declare function normalizeRegisterTwins(raw: string | undefined): string[] | undefined;
|
|
7
16
|
export declare function runRegisterAgent(opts: RegisterAgentOptions): Promise<void>;
|
|
8
17
|
export interface EnsureAgentRegisteredOptions {
|
|
9
18
|
apiBaseUrl: string;
|
package/dist/src/cli/register.js
CHANGED
|
@@ -5,13 +5,16 @@
|
|
|
5
5
|
// `pome.config.json` so subsequent `pome run` is auto-scoped to it.
|
|
6
6
|
//
|
|
7
7
|
// Wire shape (see pome-cloud `docs/05-api-spec.md` and ADR-013):
|
|
8
|
-
// POST /v1/agents { name }
|
|
9
|
-
// 200 { id: "agt_…", slug, display_name, judge_model }
|
|
8
|
+
// POST /v1/agents { name, twins? }
|
|
9
|
+
// 200 { id: "agt_…", slug, display_name, judge_model, enabled_services? }
|
|
10
10
|
// 401 invalid_auth | 409 conflict (slug exists) | 422 validation_failed
|
|
11
11
|
//
|
|
12
12
|
// The CLI does not invent a slug — server is canonical. We persist whatever
|
|
13
|
-
// slug the server returns next to the id.
|
|
13
|
+
// slug the server returns next to the id. Multi-twin (M3): `--twins` narrows
|
|
14
|
+
// the services this agent may exercise; an older cloud that predates the field
|
|
15
|
+
// omits `enabled_services` from its response (we warn but still succeed).
|
|
14
16
|
import { basename, dirname } from "node:path";
|
|
17
|
+
import { MOUNTED_TWINS } from "@pome-sh/shared-types";
|
|
15
18
|
import { HostedAuthError, HostedOrchError, } from "../hosted/errors.js";
|
|
16
19
|
import { resolveCredentials } from "./credentials.js";
|
|
17
20
|
import { friendlyHostedError } from "./session.js";
|
|
@@ -23,10 +26,35 @@ function parseAgentResponse(raw) {
|
|
|
23
26
|
typeof raw.slug === "string" &&
|
|
24
27
|
typeof raw.display_name === "string" &&
|
|
25
28
|
typeof raw.judge_model === "string") {
|
|
26
|
-
|
|
29
|
+
const enabled = raw.enabled_services;
|
|
30
|
+
const enabledServices = Array.isArray(enabled) && enabled.every((s) => typeof s === "string")
|
|
31
|
+
? enabled
|
|
32
|
+
: undefined;
|
|
33
|
+
return { ...raw, enabled_services: enabledServices };
|
|
27
34
|
}
|
|
28
35
|
throw new HostedOrchError("POST /v1/agents returned unexpected shape");
|
|
29
36
|
}
|
|
37
|
+
/** Normalize a `--twins github,slack` comma list to a validated twin array.
|
|
38
|
+
* Validates against MOUNTED_TWINS locally so a typo fails with a friendly
|
|
39
|
+
* error before the network round-trip. Returns undefined for an empty input
|
|
40
|
+
* (the server picks its default enablement). */
|
|
41
|
+
export function normalizeRegisterTwins(raw) {
|
|
42
|
+
if (raw === undefined)
|
|
43
|
+
return undefined;
|
|
44
|
+
const twins = raw
|
|
45
|
+
.split(",")
|
|
46
|
+
.map((t) => t.trim().toLowerCase())
|
|
47
|
+
.filter((t) => t.length > 0);
|
|
48
|
+
if (twins.length === 0)
|
|
49
|
+
return undefined;
|
|
50
|
+
const allowed = new Set(MOUNTED_TWINS);
|
|
51
|
+
const unknown = twins.filter((t) => !allowed.has(t));
|
|
52
|
+
if (unknown.length > 0) {
|
|
53
|
+
throw new Error(`Unknown twin(s) ${unknown.map((t) => `"${t}"`).join(", ")}. Supported: ${MOUNTED_TWINS.join(", ")}.`);
|
|
54
|
+
}
|
|
55
|
+
// De-dupe while preserving order.
|
|
56
|
+
return [...new Set(twins)];
|
|
57
|
+
}
|
|
30
58
|
/** POST /v1/agents and persist the returned identity into the config read.
|
|
31
59
|
* Shared by `pome register agent` and `pome install` (FDRS-669). */
|
|
32
60
|
async function createAndPersistAgent(input) {
|
|
@@ -34,13 +62,17 @@ async function createAndPersistAgent(input) {
|
|
|
34
62
|
apiBaseUrl: input.apiBaseUrl,
|
|
35
63
|
credentialsPath: input.credentialsPath,
|
|
36
64
|
});
|
|
65
|
+
const body = { name: input.name };
|
|
66
|
+
if (input.twins && input.twins.length > 0) {
|
|
67
|
+
body.twins = input.twins;
|
|
68
|
+
}
|
|
37
69
|
const res = await fetch(`${creds.apiBaseUrl}/v1/agents`, {
|
|
38
70
|
method: "POST",
|
|
39
71
|
headers: {
|
|
40
72
|
"x-api-key": creds.apiKey,
|
|
41
73
|
"content-type": "application/json",
|
|
42
74
|
},
|
|
43
|
-
body: JSON.stringify(
|
|
75
|
+
body: JSON.stringify(body),
|
|
44
76
|
}).catch((err) => {
|
|
45
77
|
throw new HostedOrchError(err instanceof Error ? err.message : "network error");
|
|
46
78
|
});
|
|
@@ -81,11 +113,25 @@ export async function runRegisterAgent(opts) {
|
|
|
81
113
|
apiBaseUrl: opts.apiBaseUrl,
|
|
82
114
|
name: opts.name,
|
|
83
115
|
configRead,
|
|
116
|
+
twins: opts.twins,
|
|
84
117
|
});
|
|
85
118
|
const displayName = stripControlCharacters(agent.display_name);
|
|
86
119
|
console.error(`Registered agent "${displayName}" (${agent.id}, slug=${agent.slug}).`);
|
|
87
120
|
console.error(`Wrote agentId to ${CONFIG_FILE}.`);
|
|
88
121
|
console.error(`Judge model: ${agent.judge_model}.`);
|
|
122
|
+
// Multi-twin (M3): echo the services the cloud enabled. An older cloud that
|
|
123
|
+
// predates `enabled_services` omits it — warn so the user knows the twin
|
|
124
|
+
// scoping did not take effect on this control plane.
|
|
125
|
+
if (agent.enabled_services !== undefined) {
|
|
126
|
+
console.error(`Enabled services: ${agent.enabled_services.length > 0 ? agent.enabled_services.join(", ") : "(none)"}.`);
|
|
127
|
+
}
|
|
128
|
+
else if (opts.twins && opts.twins.length > 0) {
|
|
129
|
+
// Only warn when the user asked to scope twins (`--twins`). An older cloud
|
|
130
|
+
// that predates `enabled_services` omits it; without `--twins` there was no
|
|
131
|
+
// scoping request to warn about, so a default `pome register agent` stays
|
|
132
|
+
// quiet (matches origin/main's silence in that path).
|
|
133
|
+
console.error("Enabled services: not reported by this pome cloud (older control plane) — twin scoping may not have taken effect.");
|
|
134
|
+
}
|
|
89
135
|
}
|
|
90
136
|
/** Idempotent registration for `pome install`: a repo with an agentId keeps
|
|
91
137
|
* it (no duplicate agents, no error, same slug); a fresh repo registers
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
+
export declare function ensureMcpSuffix(url: string): string;
|
|
2
|
+
/** Normalize one-or-more `--twin` flags into a validated, de-duped twin list.
|
|
3
|
+
* Repeated flags stand up an ad-hoc multi-twin session; each is validated
|
|
4
|
+
* against MOUNTED_TWINS for a friendly error before the round-trip. */
|
|
5
|
+
export declare function normalizeSessionTwins(raw: string[]): string[];
|
|
1
6
|
export declare function runSessionCreate(opts: {
|
|
2
7
|
apiBaseUrl: string;
|
|
3
|
-
twin
|
|
8
|
+
/** One-or-more twins. Repeated `--twin` flags stand up a multi-twin session. */
|
|
9
|
+
twins: string[];
|
|
4
10
|
showSecrets: boolean;
|
|
5
11
|
format: "text" | "json" | "env";
|
|
6
12
|
secretsFile?: string;
|