@ixo/decision-oracle 0.0.0-stage → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +794 -2
- package/dist/act.d.ts +87 -0
- package/dist/act.d.ts.map +1 -0
- package/dist/act.js +20 -0
- package/dist/act.js.map +1 -0
- package/dist/app.d.ts +22 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +128 -0
- package/dist/app.js.map +1 -0
- package/dist/c2pa.wasm +0 -0
- package/dist/cli/commands/api.d.ts +50 -0
- package/dist/cli/commands/api.d.ts.map +1 -0
- package/dist/cli/commands/api.js +737 -0
- package/dist/cli/commands/api.js.map +1 -0
- package/dist/cli/commands/create-collection.d.ts +40 -0
- package/dist/cli/commands/create-collection.d.ts.map +1 -0
- package/dist/cli/commands/create-collection.js +318 -0
- package/dist/cli/commands/create-collection.js.map +1 -0
- package/dist/cli/commands/create-deed.d.ts +31 -0
- package/dist/cli/commands/create-deed.d.ts.map +1 -0
- package/dist/cli/commands/create-deed.js +208 -0
- package/dist/cli/commands/create-deed.js.map +1 -0
- package/dist/cli/commands/delegation.d.ts +26 -0
- package/dist/cli/commands/delegation.d.ts.map +1 -0
- package/dist/cli/commands/delegation.js +162 -0
- package/dist/cli/commands/delegation.js.map +1 -0
- package/dist/cli/commands/derive.d.ts +22 -0
- package/dist/cli/commands/derive.d.ts.map +1 -0
- package/dist/cli/commands/derive.js +53 -0
- package/dist/cli/commands/derive.js.map +1 -0
- package/dist/cli/commands/engine.d.ts +25 -0
- package/dist/cli/commands/engine.d.ts.map +1 -0
- package/dist/cli/commands/engine.js +107 -0
- package/dist/cli/commands/engine.js.map +1 -0
- package/dist/cli/commands/erase.d.ts +17 -0
- package/dist/cli/commands/erase.d.ts.map +1 -0
- package/dist/cli/commands/erase.js +117 -0
- package/dist/cli/commands/erase.js.map +1 -0
- package/dist/cli/commands/facts-run.d.ts +30 -0
- package/dist/cli/commands/facts-run.d.ts.map +1 -0
- package/dist/cli/commands/facts-run.js +409 -0
- package/dist/cli/commands/facts-run.js.map +1 -0
- package/dist/cli/commands/facts-scaffold.d.ts +22 -0
- package/dist/cli/commands/facts-scaffold.d.ts.map +1 -0
- package/dist/cli/commands/facts-scaffold.js +208 -0
- package/dist/cli/commands/facts-scaffold.js.map +1 -0
- package/dist/cli/commands/init.d.ts +18 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +34 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/login.d.ts +9 -0
- package/dist/cli/commands/login.d.ts.map +1 -0
- package/dist/cli/commands/login.js +16 -0
- package/dist/cli/commands/login.js.map +1 -0
- package/dist/cli/commands/logout.d.ts +10 -0
- package/dist/cli/commands/logout.d.ts.map +1 -0
- package/dist/cli/commands/logout.js +28 -0
- package/dist/cli/commands/logout.js.map +1 -0
- package/dist/cli/commands/manifest.d.ts +12 -0
- package/dist/cli/commands/manifest.d.ts.map +1 -0
- package/dist/cli/commands/manifest.js +48 -0
- package/dist/cli/commands/manifest.js.map +1 -0
- package/dist/cli/commands/oracle-init.d.ts +48 -0
- package/dist/cli/commands/oracle-init.d.ts.map +1 -0
- package/dist/cli/commands/oracle-init.js +1122 -0
- package/dist/cli/commands/oracle-init.js.map +1 -0
- package/dist/cli/commands/org.d.ts +28 -0
- package/dist/cli/commands/org.d.ts.map +1 -0
- package/dist/cli/commands/org.js +309 -0
- package/dist/cli/commands/org.js.map +1 -0
- package/dist/cli/commands/protocol-review.d.ts +20 -0
- package/dist/cli/commands/protocol-review.d.ts.map +1 -0
- package/dist/cli/commands/protocol-review.js +162 -0
- package/dist/cli/commands/protocol-review.js.map +1 -0
- package/dist/cli/commands/publish-protocol.d.ts +43 -0
- package/dist/cli/commands/publish-protocol.d.ts.map +1 -0
- package/dist/cli/commands/publish-protocol.js +345 -0
- package/dist/cli/commands/publish-protocol.js.map +1 -0
- package/dist/cli/commands/register.d.ts +16 -0
- package/dist/cli/commands/register.d.ts.map +1 -0
- package/dist/cli/commands/register.js +54 -0
- package/dist/cli/commands/register.js.map +1 -0
- package/dist/cli/commands/relink.d.ts +11 -0
- package/dist/cli/commands/relink.d.ts.map +1 -0
- package/dist/cli/commands/relink.js +36 -0
- package/dist/cli/commands/relink.js.map +1 -0
- package/dist/cli/commands/rubric-fetch-form.d.ts +16 -0
- package/dist/cli/commands/rubric-fetch-form.d.ts.map +1 -0
- package/dist/cli/commands/rubric-fetch-form.js +83 -0
- package/dist/cli/commands/rubric-fetch-form.js.map +1 -0
- package/dist/cli/commands/rubric-validate.d.ts +72 -0
- package/dist/cli/commands/rubric-validate.d.ts.map +1 -0
- package/dist/cli/commands/rubric-validate.js +163 -0
- package/dist/cli/commands/rubric-validate.js.map +1 -0
- package/dist/cli/commands/scan.d.ts +13 -0
- package/dist/cli/commands/scan.d.ts.map +1 -0
- package/dist/cli/commands/scan.js +39 -0
- package/dist/cli/commands/scan.js.map +1 -0
- package/dist/cli/commands/skills.d.ts +11 -0
- package/dist/cli/commands/skills.d.ts.map +1 -0
- package/dist/cli/commands/skills.js +19 -0
- package/dist/cli/commands/skills.js.map +1 -0
- package/dist/cli/commands/submit-claim.d.ts +25 -0
- package/dist/cli/commands/submit-claim.d.ts.map +1 -0
- package/dist/cli/commands/submit-claim.js +155 -0
- package/dist/cli/commands/submit-claim.js.map +1 -0
- package/dist/cli/index.d.ts +15 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +206 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/lib/agent-card-schema.d.ts +8 -0
- package/dist/cli/lib/agent-card-schema.d.ts.map +1 -0
- package/dist/cli/lib/agent-card-schema.js +169 -0
- package/dist/cli/lib/agent-card-schema.js.map +1 -0
- package/dist/cli/lib/ai-rest.d.ts +12 -0
- package/dist/cli/lib/ai-rest.d.ts.map +1 -0
- package/dist/cli/lib/ai-rest.js +36 -0
- package/dist/cli/lib/ai-rest.js.map +1 -0
- package/dist/cli/lib/args.d.ts +33 -0
- package/dist/cli/lib/args.d.ts.map +1 -0
- package/dist/cli/lib/args.js +24 -0
- package/dist/cli/lib/args.js.map +1 -0
- package/dist/cli/lib/authhub.d.ts +7 -0
- package/dist/cli/lib/authhub.d.ts.map +1 -0
- package/dist/cli/lib/authhub.js +210 -0
- package/dist/cli/lib/authhub.js.map +1 -0
- package/dist/cli/lib/chain.d.ts +264 -0
- package/dist/cli/lib/chain.d.ts.map +1 -0
- package/dist/cli/lib/chain.js +584 -0
- package/dist/cli/lib/chain.js.map +1 -0
- package/dist/cli/lib/devvars.d.ts +59 -0
- package/dist/cli/lib/devvars.d.ts.map +1 -0
- package/dist/cli/lib/devvars.js +206 -0
- package/dist/cli/lib/devvars.js.map +1 -0
- package/dist/cli/lib/engine.d.ts +54 -0
- package/dist/cli/lib/engine.d.ts.map +1 -0
- package/dist/cli/lib/engine.js +112 -0
- package/dist/cli/lib/engine.js.map +1 -0
- package/dist/cli/lib/identity-cards.d.ts +188 -0
- package/dist/cli/lib/identity-cards.d.ts.map +1 -0
- package/dist/cli/lib/identity-cards.js +261 -0
- package/dist/cli/lib/identity-cards.js.map +1 -0
- package/dist/cli/lib/matrix-account.d.ts +79 -0
- package/dist/cli/lib/matrix-account.d.ts.map +1 -0
- package/dist/cli/lib/matrix-account.js +228 -0
- package/dist/cli/lib/matrix-account.js.map +1 -0
- package/dist/cli/lib/oracle-account.d.ts +108 -0
- package/dist/cli/lib/oracle-account.d.ts.map +1 -0
- package/dist/cli/lib/oracle-account.js +207 -0
- package/dist/cli/lib/oracle-account.js.map +1 -0
- package/dist/cli/lib/project.d.ts +22 -0
- package/dist/cli/lib/project.d.ts.map +1 -0
- package/dist/cli/lib/project.js +62 -0
- package/dist/cli/lib/project.js.map +1 -0
- package/dist/cli/lib/session.d.ts +109 -0
- package/dist/cli/lib/session.d.ts.map +1 -0
- package/dist/cli/lib/session.js +354 -0
- package/dist/cli/lib/session.js.map +1 -0
- package/dist/cli/lib/workorder.d.ts +57 -0
- package/dist/cli/lib/workorder.d.ts.map +1 -0
- package/dist/cli/lib/workorder.js +101 -0
- package/dist/cli/lib/workorder.js.map +1 -0
- package/dist/config.d.ts +221 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +431 -0
- package/dist/config.js.map +1 -0
- package/dist/context.d.ts +88 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +9 -0
- package/dist/context.js.map +1 -0
- package/dist/contracts/api.d.ts +3367 -0
- package/dist/contracts/api.d.ts.map +1 -0
- package/dist/contracts/api.js +1303 -0
- package/dist/contracts/api.js.map +1 -0
- package/dist/contracts/capabilities.d.ts +126 -0
- package/dist/contracts/capabilities.d.ts.map +1 -0
- package/dist/contracts/capabilities.js +164 -0
- package/dist/contracts/capabilities.js.map +1 -0
- package/dist/contracts/claim-source.d.ts +98 -0
- package/dist/contracts/claim-source.d.ts.map +1 -0
- package/dist/contracts/claim-source.js +17 -0
- package/dist/contracts/claim-source.js.map +1 -0
- package/dist/contracts/errors.d.ts +150 -0
- package/dist/contracts/errors.d.ts.map +1 -0
- package/dist/contracts/errors.js +121 -0
- package/dist/contracts/errors.js.map +1 -0
- package/dist/contracts/index.d.ts +15 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +11 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/payment-gate.d.ts +129 -0
- package/dist/contracts/payment-gate.d.ts.map +1 -0
- package/dist/contracts/payment-gate.js +24 -0
- package/dist/contracts/payment-gate.js.map +1 -0
- package/dist/contracts/start-api-claim.d.ts +90 -0
- package/dist/contracts/start-api-claim.d.ts.map +1 -0
- package/dist/contracts/start-api-claim.js +22 -0
- package/dist/contracts/start-api-claim.js.map +1 -0
- package/dist/contracts/webhooks.d.ts +1487 -0
- package/dist/contracts/webhooks.d.ts.map +1 -0
- package/dist/contracts/webhooks.js +71 -0
- package/dist/contracts/webhooks.js.map +1 -0
- package/dist/contracts/work-order.d.ts +29 -0
- package/dist/contracts/work-order.d.ts.map +1 -0
- package/dist/contracts/work-order.js +12 -0
- package/dist/contracts/work-order.js.map +1 -0
- package/dist/cron/ai-cost.d.ts +29 -0
- package/dist/cron/ai-cost.d.ts.map +1 -0
- package/dist/cron/ai-cost.js +80 -0
- package/dist/cron/ai-cost.js.map +1 -0
- package/dist/cron/api-lane.d.ts +39 -0
- package/dist/cron/api-lane.d.ts.map +1 -0
- package/dist/cron/api-lane.js +203 -0
- package/dist/cron/api-lane.js.map +1 -0
- package/dist/cron/backlog.d.ts +50 -0
- package/dist/cron/backlog.d.ts.map +1 -0
- package/dist/cron/backlog.js +115 -0
- package/dist/cron/backlog.js.map +1 -0
- package/dist/cron/billing.d.ts +11 -0
- package/dist/cron/billing.d.ts.map +1 -0
- package/dist/cron/billing.js +69 -0
- package/dist/cron/billing.js.map +1 -0
- package/dist/cron/collection.d.ts +50 -0
- package/dist/cron/collection.d.ts.map +1 -0
- package/dist/cron/collection.js +118 -0
- package/dist/cron/collection.js.map +1 -0
- package/dist/cron/funding.d.ts +16 -0
- package/dist/cron/funding.d.ts.map +1 -0
- package/dist/cron/funding.js +262 -0
- package/dist/cron/funding.js.map +1 -0
- package/dist/cron/payer-billing.d.ts +38 -0
- package/dist/cron/payer-billing.d.ts.map +1 -0
- package/dist/cron/payer-billing.js +119 -0
- package/dist/cron/payer-billing.js.map +1 -0
- package/dist/cron/scan.d.ts +43 -0
- package/dist/cron/scan.d.ts.map +1 -0
- package/dist/cron/scan.js +250 -0
- package/dist/cron/scan.js.map +1 -0
- package/dist/db/client.d.ts +14 -0
- package/dist/db/client.d.ts.map +1 -0
- package/dist/db/client.js +14 -0
- package/dist/db/client.js.map +1 -0
- package/dist/db/index.d.ts +7 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +7 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/schema.d.ts +6738 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +1433 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/define-oracle.d.ts +32 -0
- package/dist/define-oracle.d.ts.map +1 -0
- package/dist/define-oracle.js +80 -0
- package/dist/define-oracle.js.map +1 -0
- package/dist/dev-oracle.d.ts +9 -0
- package/dist/dev-oracle.d.ts.map +1 -0
- package/dist/dev-oracle.js +19 -0
- package/dist/dev-oracle.js.map +1 -0
- package/dist/dev-worker.d.ts +10 -0
- package/dist/dev-worker.d.ts.map +1 -0
- package/dist/dev-worker.js +12 -0
- package/dist/dev-worker.js.map +1 -0
- package/dist/env.d.ts +146 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +10 -0
- package/dist/env.js.map +1 -0
- package/dist/facts/exif.d.ts +43 -0
- package/dist/facts/exif.d.ts.map +1 -0
- package/dist/facts/exif.js +224 -0
- package/dist/facts/exif.js.map +1 -0
- package/dist/facts/fact.d.ts +62 -0
- package/dist/facts/fact.d.ts.map +1 -0
- package/dist/facts/fact.js +105 -0
- package/dist/facts/fact.js.map +1 -0
- package/dist/facts/geo.d.ts +55 -0
- package/dist/facts/geo.d.ts.map +1 -0
- package/dist/facts/geo.js +267 -0
- package/dist/facts/geo.js.map +1 -0
- package/dist/facts/index.d.ts +31 -0
- package/dist/facts/index.d.ts.map +1 -0
- package/dist/facts/index.js +27 -0
- package/dist/facts/index.js.map +1 -0
- package/dist/facts/linked-doc.d.ts +60 -0
- package/dist/facts/linked-doc.d.ts.map +1 -0
- package/dist/facts/linked-doc.js +101 -0
- package/dist/facts/linked-doc.js.map +1 -0
- package/dist/facts/types.d.ts +278 -0
- package/dist/facts/types.d.ts.map +1 -0
- package/dist/facts/types.js +19 -0
- package/dist/facts/types.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/api-lane/accept.d.ts +29 -0
- package/dist/lib/api-lane/accept.d.ts.map +1 -0
- package/dist/lib/api-lane/accept.js +218 -0
- package/dist/lib/api-lane/accept.js.map +1 -0
- package/dist/lib/api-lane/claim-list.d.ts +44 -0
- package/dist/lib/api-lane/claim-list.d.ts.map +1 -0
- package/dist/lib/api-lane/claim-list.js +92 -0
- package/dist/lib/api-lane/claim-list.js.map +1 -0
- package/dist/lib/api-lane/company.d.ts +56 -0
- package/dist/lib/api-lane/company.d.ts.map +1 -0
- package/dist/lib/api-lane/company.js +103 -0
- package/dist/lib/api-lane/company.js.map +1 -0
- package/dist/lib/api-lane/events.d.ts +21 -0
- package/dist/lib/api-lane/events.d.ts.map +1 -0
- package/dist/lib/api-lane/events.js +111 -0
- package/dist/lib/api-lane/events.js.map +1 -0
- package/dist/lib/api-lane/ids.d.ts +39 -0
- package/dist/lib/api-lane/ids.d.ts.map +1 -0
- package/dist/lib/api-lane/ids.js +78 -0
- package/dist/lib/api-lane/ids.js.map +1 -0
- package/dist/lib/api-lane/index.d.ts +16 -0
- package/dist/lib/api-lane/index.d.ts.map +1 -0
- package/dist/lib/api-lane/index.js +16 -0
- package/dist/lib/api-lane/index.js.map +1 -0
- package/dist/lib/api-lane/linked.d.ts +264 -0
- package/dist/lib/api-lane/linked.d.ts.map +1 -0
- package/dist/lib/api-lane/linked.js +272 -0
- package/dist/lib/api-lane/linked.js.map +1 -0
- package/dist/lib/api-lane/media-type.d.ts +15 -0
- package/dist/lib/api-lane/media-type.d.ts.map +1 -0
- package/dist/lib/api-lane/media-type.js +73 -0
- package/dist/lib/api-lane/media-type.js.map +1 -0
- package/dist/lib/api-lane/member-emails.d.ts +83 -0
- package/dist/lib/api-lane/member-emails.d.ts.map +1 -0
- package/dist/lib/api-lane/member-emails.js +213 -0
- package/dist/lib/api-lane/member-emails.js.map +1 -0
- package/dist/lib/api-lane/members.d.ts +42 -0
- package/dist/lib/api-lane/members.d.ts.map +1 -0
- package/dist/lib/api-lane/members.js +75 -0
- package/dist/lib/api-lane/members.js.map +1 -0
- package/dist/lib/api-lane/notify.d.ts +47 -0
- package/dist/lib/api-lane/notify.d.ts.map +1 -0
- package/dist/lib/api-lane/notify.js +240 -0
- package/dist/lib/api-lane/notify.js.map +1 -0
- package/dist/lib/api-lane/pause.d.ts +41 -0
- package/dist/lib/api-lane/pause.d.ts.map +1 -0
- package/dist/lib/api-lane/pause.js +155 -0
- package/dist/lib/api-lane/pause.js.map +1 -0
- package/dist/lib/api-lane/record.d.ts +76 -0
- package/dist/lib/api-lane/record.d.ts.map +1 -0
- package/dist/lib/api-lane/record.js +337 -0
- package/dist/lib/api-lane/record.js.map +1 -0
- package/dist/lib/api-lane/retention.d.ts +43 -0
- package/dist/lib/api-lane/retention.d.ts.map +1 -0
- package/dist/lib/api-lane/retention.js +176 -0
- package/dist/lib/api-lane/retention.js.map +1 -0
- package/dist/lib/api-lane/review.d.ts +76 -0
- package/dist/lib/api-lane/review.d.ts.map +1 -0
- package/dist/lib/api-lane/review.js +355 -0
- package/dist/lib/api-lane/review.js.map +1 -0
- package/dist/lib/api-lane/reviewers.d.ts +109 -0
- package/dist/lib/api-lane/reviewers.d.ts.map +1 -0
- package/dist/lib/api-lane/reviewers.js +755 -0
- package/dist/lib/api-lane/reviewers.js.map +1 -0
- package/dist/lib/api-lane/source-delete.d.ts +16 -0
- package/dist/lib/api-lane/source-delete.d.ts.map +1 -0
- package/dist/lib/api-lane/source-delete.js +50 -0
- package/dist/lib/api-lane/source-delete.js.map +1 -0
- package/dist/lib/api-lane/source.d.ts +19 -0
- package/dist/lib/api-lane/source.d.ts.map +1 -0
- package/dist/lib/api-lane/source.js +226 -0
- package/dist/lib/api-lane/source.js.map +1 -0
- package/dist/lib/api-lane/submitter.d.ts +22 -0
- package/dist/lib/api-lane/submitter.d.ts.map +1 -0
- package/dist/lib/api-lane/submitter.js +34 -0
- package/dist/lib/api-lane/submitter.js.map +1 -0
- package/dist/lib/api-lane/timeline.d.ts +20 -0
- package/dist/lib/api-lane/timeline.d.ts.map +1 -0
- package/dist/lib/api-lane/timeline.js +23 -0
- package/dist/lib/api-lane/timeline.js.map +1 -0
- package/dist/lib/api-lane/webhook-crypto.d.ts +44 -0
- package/dist/lib/api-lane/webhook-crypto.d.ts.map +1 -0
- package/dist/lib/api-lane/webhook-crypto.js +103 -0
- package/dist/lib/api-lane/webhook-crypto.js.map +1 -0
- package/dist/lib/api-lane/webhooks.d.ts +117 -0
- package/dist/lib/api-lane/webhooks.d.ts.map +1 -0
- package/dist/lib/api-lane/webhooks.js +503 -0
- package/dist/lib/api-lane/webhooks.js.map +1 -0
- package/dist/lib/archive.d.ts +64 -0
- package/dist/lib/archive.d.ts.map +1 -0
- package/dist/lib/archive.js +305 -0
- package/dist/lib/archive.js.map +1 -0
- package/dist/lib/bech32.d.ts +8 -0
- package/dist/lib/bech32.d.ts.map +1 -0
- package/dist/lib/bech32.js +39 -0
- package/dist/lib/bech32.js.map +1 -0
- package/dist/lib/claim-erase.d.ts +22 -0
- package/dist/lib/claim-erase.d.ts.map +1 -0
- package/dist/lib/claim-erase.js +44 -0
- package/dist/lib/claim-erase.js.map +1 -0
- package/dist/lib/cursor.d.ts +11 -0
- package/dist/lib/cursor.d.ts.map +1 -0
- package/dist/lib/cursor.js +20 -0
- package/dist/lib/cursor.js.map +1 -0
- package/dist/lib/email/send.d.ts +43 -0
- package/dist/lib/email/send.d.ts.map +1 -0
- package/dist/lib/email/send.js +71 -0
- package/dist/lib/email/send.js.map +1 -0
- package/dist/lib/email/template.d.ts +217 -0
- package/dist/lib/email/template.d.ts.map +1 -0
- package/dist/lib/email/template.js +713 -0
- package/dist/lib/email/template.js.map +1 -0
- package/dist/lib/engine/adr36.d.ts +56 -0
- package/dist/lib/engine/adr36.d.ts.map +1 -0
- package/dist/lib/engine/adr36.js +76 -0
- package/dist/lib/engine/adr36.js.map +1 -0
- package/dist/lib/engine/client.d.ts +162 -0
- package/dist/lib/engine/client.d.ts.map +1 -0
- package/dist/lib/engine/client.js +473 -0
- package/dist/lib/engine/client.js.map +1 -0
- package/dist/lib/engine/types.d.ts +1356 -0
- package/dist/lib/engine/types.d.ts.map +1 -0
- package/dist/lib/engine/types.js +562 -0
- package/dist/lib/engine/types.js.map +1 -0
- package/dist/lib/errors.d.ts +73 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +96 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/facts/builder.d.ts +88 -0
- package/dist/lib/facts/builder.d.ts.map +1 -0
- package/dist/lib/facts/builder.js +239 -0
- package/dist/lib/facts/builder.js.map +1 -0
- package/dist/lib/facts/ctx.d.ts +34 -0
- package/dist/lib/facts/ctx.d.ts.map +1 -0
- package/dist/lib/facts/ctx.js +51 -0
- package/dist/lib/facts/ctx.js.map +1 -0
- package/dist/lib/facts/expected.d.ts +23 -0
- package/dist/lib/facts/expected.d.ts.map +1 -0
- package/dist/lib/facts/expected.js +16 -0
- package/dist/lib/facts/expected.js.map +1 -0
- package/dist/lib/facts/fact-cache.d.ts +469 -0
- package/dist/lib/facts/fact-cache.d.ts.map +1 -0
- package/dist/lib/facts/fact-cache.js +52 -0
- package/dist/lib/facts/fact-cache.js.map +1 -0
- package/dist/lib/facts/factset.d.ts +608 -0
- package/dist/lib/facts/factset.d.ts.map +1 -0
- package/dist/lib/facts/factset.js +226 -0
- package/dist/lib/facts/factset.js.map +1 -0
- package/dist/lib/facts/producer.d.ts +190 -0
- package/dist/lib/facts/producer.d.ts.map +1 -0
- package/dist/lib/facts/producer.js +15 -0
- package/dist/lib/facts/producer.js.map +1 -0
- package/dist/lib/facts/runner.d.ts +111 -0
- package/dist/lib/facts/runner.d.ts.map +1 -0
- package/dist/lib/facts/runner.js +438 -0
- package/dist/lib/facts/runner.js.map +1 -0
- package/dist/lib/facts/stock/ai-check.d.ts +100 -0
- package/dist/lib/facts/stock/ai-check.d.ts.map +1 -0
- package/dist/lib/facts/stock/ai-check.js +526 -0
- package/dist/lib/facts/stock/ai-check.js.map +1 -0
- package/dist/lib/facts/stock/ai-inputs.d.ts +104 -0
- package/dist/lib/facts/stock/ai-inputs.d.ts.map +1 -0
- package/dist/lib/facts/stock/ai-inputs.js +332 -0
- package/dist/lib/facts/stock/ai-inputs.js.map +1 -0
- package/dist/lib/facts/stock/ai-provider.d.ts +105 -0
- package/dist/lib/facts/stock/ai-provider.d.ts.map +1 -0
- package/dist/lib/facts/stock/ai-provider.js +250 -0
- package/dist/lib/facts/stock/ai-provider.js.map +1 -0
- package/dist/lib/facts/stock/ai-unique.d.ts +85 -0
- package/dist/lib/facts/stock/ai-unique.d.ts.map +1 -0
- package/dist/lib/facts/stock/ai-unique.js +208 -0
- package/dist/lib/facts/stock/ai-unique.js.map +1 -0
- package/dist/lib/facts/stock/archive.d.ts +63 -0
- package/dist/lib/facts/stock/archive.d.ts.map +1 -0
- package/dist/lib/facts/stock/archive.js +349 -0
- package/dist/lib/facts/stock/archive.js.map +1 -0
- package/dist/lib/facts/stock/c2pa-trust-list.d.ts +16 -0
- package/dist/lib/facts/stock/c2pa-trust-list.d.ts.map +1 -0
- package/dist/lib/facts/stock/c2pa-trust-list.js +637 -0
- package/dist/lib/facts/stock/c2pa-trust-list.js.map +1 -0
- package/dist/lib/facts/stock/c2pa.d.ts +56 -0
- package/dist/lib/facts/stock/c2pa.d.ts.map +1 -0
- package/dist/lib/facts/stock/c2pa.js +234 -0
- package/dist/lib/facts/stock/c2pa.js.map +1 -0
- package/dist/lib/facts/stock/call.d.ts +91 -0
- package/dist/lib/facts/stock/call.d.ts.map +1 -0
- package/dist/lib/facts/stock/call.js +281 -0
- package/dist/lib/facts/stock/call.js.map +1 -0
- package/dist/lib/facts/stock/capability.d.ts +39 -0
- package/dist/lib/facts/stock/capability.d.ts.map +1 -0
- package/dist/lib/facts/stock/capability.js +59 -0
- package/dist/lib/facts/stock/capability.js.map +1 -0
- package/dist/lib/facts/stock/ext-source.d.ts +51 -0
- package/dist/lib/facts/stock/ext-source.d.ts.map +1 -0
- package/dist/lib/facts/stock/ext-source.js +201 -0
- package/dist/lib/facts/stock/ext-source.js.map +1 -0
- package/dist/lib/facts/stock/frequency-fact.d.ts +59 -0
- package/dist/lib/facts/stock/frequency-fact.d.ts.map +1 -0
- package/dist/lib/facts/stock/frequency-fact.js +86 -0
- package/dist/lib/facts/stock/frequency-fact.js.map +1 -0
- package/dist/lib/facts/stock/frequency.d.ts +32 -0
- package/dist/lib/facts/stock/frequency.d.ts.map +1 -0
- package/dist/lib/facts/stock/frequency.js +48 -0
- package/dist/lib/facts/stock/frequency.js.map +1 -0
- package/dist/lib/facts/stock/index.d.ts +27 -0
- package/dist/lib/facts/stock/index.d.ts.map +1 -0
- package/dist/lib/facts/stock/index.js +28 -0
- package/dist/lib/facts/stock/index.js.map +1 -0
- package/dist/lib/facts/stock/normalize.d.ts +45 -0
- package/dist/lib/facts/stock/normalize.d.ts.map +1 -0
- package/dist/lib/facts/stock/normalize.js +135 -0
- package/dist/lib/facts/stock/normalize.js.map +1 -0
- package/dist/lib/facts/stock/phash.d.ts +55 -0
- package/dist/lib/facts/stock/phash.d.ts.map +1 -0
- package/dist/lib/facts/stock/phash.js +256 -0
- package/dist/lib/facts/stock/phash.js.map +1 -0
- package/dist/lib/facts/stock/rule-defaults.d.ts +72 -0
- package/dist/lib/facts/stock/rule-defaults.d.ts.map +1 -0
- package/dist/lib/facts/stock/rule-defaults.js +55 -0
- package/dist/lib/facts/stock/rule-defaults.js.map +1 -0
- package/dist/lib/facts/stock/send.d.ts +52 -0
- package/dist/lib/facts/stock/send.d.ts.map +1 -0
- package/dist/lib/facts/stock/send.js +148 -0
- package/dist/lib/facts/stock/send.js.map +1 -0
- package/dist/lib/facts/stock/unique-score.d.ts +138 -0
- package/dist/lib/facts/stock/unique-score.d.ts.map +1 -0
- package/dist/lib/facts/stock/unique-score.js +257 -0
- package/dist/lib/facts/stock/unique-score.js.map +1 -0
- package/dist/lib/facts/stock/unique-store.d.ts +420 -0
- package/dist/lib/facts/stock/unique-store.d.ts.map +1 -0
- package/dist/lib/facts/stock/unique-store.js +328 -0
- package/dist/lib/facts/stock/unique-store.js.map +1 -0
- package/dist/lib/facts/stock/unique.d.ts +35 -0
- package/dist/lib/facts/stock/unique.d.ts.map +1 -0
- package/dist/lib/facts/stock/unique.js +327 -0
- package/dist/lib/facts/stock/unique.js.map +1 -0
- package/dist/lib/facts/tools.d.ts +57 -0
- package/dist/lib/facts/tools.d.ts.map +1 -0
- package/dist/lib/facts/tools.js +325 -0
- package/dist/lib/facts/tools.js.map +1 -0
- package/dist/lib/facts/validate.d.ts +33 -0
- package/dist/lib/facts/validate.d.ts.map +1 -0
- package/dist/lib/facts/validate.js +137 -0
- package/dist/lib/facts/validate.js.map +1 -0
- package/dist/lib/hash.d.ts +44 -0
- package/dist/lib/hash.d.ts.map +1 -0
- package/dist/lib/hash.js +80 -0
- package/dist/lib/hash.js.map +1 -0
- package/dist/lib/http/client.d.ts +113 -0
- package/dist/lib/http/client.d.ts.map +1 -0
- package/dist/lib/http/client.js +330 -0
- package/dist/lib/http/client.js.map +1 -0
- package/dist/lib/ids.d.ts +17 -0
- package/dist/lib/ids.d.ts.map +1 -0
- package/dist/lib/ids.js +26 -0
- package/dist/lib/ids.js.map +1 -0
- package/dist/lib/ixo/attachments.d.ts +116 -0
- package/dist/lib/ixo/attachments.d.ts.map +1 -0
- package/dist/lib/ixo/attachments.js +290 -0
- package/dist/lib/ixo/attachments.js.map +1 -0
- package/dist/lib/ixo/authz.d.ts +40 -0
- package/dist/lib/ixo/authz.d.ts.map +1 -0
- package/dist/lib/ixo/authz.js +113 -0
- package/dist/lib/ixo/authz.js.map +1 -0
- package/dist/lib/ixo/blocksync/index.d.ts +90 -0
- package/dist/lib/ixo/blocksync/index.d.ts.map +1 -0
- package/dist/lib/ixo/blocksync/index.js +251 -0
- package/dist/lib/ixo/blocksync/index.js.map +1 -0
- package/dist/lib/ixo/blocksync/queries.d.ts +15 -0
- package/dist/lib/ixo/blocksync/queries.d.ts.map +1 -0
- package/dist/lib/ixo/blocksync/queries.js +144 -0
- package/dist/lib/ixo/blocksync/queries.js.map +1 -0
- package/dist/lib/ixo/blocksync/types.d.ts +184 -0
- package/dist/lib/ixo/blocksync/types.d.ts.map +1 -0
- package/dist/lib/ixo/blocksync/types.js +108 -0
- package/dist/lib/ixo/blocksync/types.js.map +1 -0
- package/dist/lib/ixo/cellnode.d.ts +35 -0
- package/dist/lib/ixo/cellnode.d.ts.map +1 -0
- package/dist/lib/ixo/cellnode.js +43 -0
- package/dist/lib/ixo/cellnode.js.map +1 -0
- package/dist/lib/ixo/chain-write.d.ts +130 -0
- package/dist/lib/ixo/chain-write.d.ts.map +1 -0
- package/dist/lib/ixo/chain-write.js +460 -0
- package/dist/lib/ixo/chain-write.js.map +1 -0
- package/dist/lib/ixo/chain.d.ts +1046 -0
- package/dist/lib/ixo/chain.d.ts.map +1 -0
- package/dist/lib/ixo/chain.js +279 -0
- package/dist/lib/ixo/chain.js.map +1 -0
- package/dist/lib/ixo/claim-bot.d.ts +49 -0
- package/dist/lib/ixo/claim-bot.d.ts.map +1 -0
- package/dist/lib/ixo/claim-bot.js +141 -0
- package/dist/lib/ixo/claim-bot.js.map +1 -0
- package/dist/lib/ixo/delegation-verify.d.ts +44 -0
- package/dist/lib/ixo/delegation-verify.d.ts.map +1 -0
- package/dist/lib/ixo/delegation-verify.js +101 -0
- package/dist/lib/ixo/delegation-verify.js.map +1 -0
- package/dist/lib/ixo/did.d.ts +13 -0
- package/dist/lib/ixo/did.d.ts.map +1 -0
- package/dist/lib/ixo/did.js +85 -0
- package/dist/lib/ixo/did.js.map +1 -0
- package/dist/lib/ixo/grant-chain.d.ts +55 -0
- package/dist/lib/ixo/grant-chain.d.ts.map +1 -0
- package/dist/lib/ixo/grant-chain.js +185 -0
- package/dist/lib/ixo/grant-chain.js.map +1 -0
- package/dist/lib/ixo/identity.d.ts +32 -0
- package/dist/lib/ixo/identity.d.ts.map +1 -0
- package/dist/lib/ixo/identity.js +104 -0
- package/dist/lib/ixo/identity.js.map +1 -0
- package/dist/lib/ixo/index.d.ts +118 -0
- package/dist/lib/ixo/index.d.ts.map +1 -0
- package/dist/lib/ixo/index.js +395 -0
- package/dist/lib/ixo/index.js.map +1 -0
- package/dist/lib/ixo/payment.d.ts +104 -0
- package/dist/lib/ixo/payment.d.ts.map +1 -0
- package/dist/lib/ixo/payment.js +136 -0
- package/dist/lib/ixo/payment.js.map +1 -0
- package/dist/lib/ixo/ucan-store.d.ts +30 -0
- package/dist/lib/ixo/ucan-store.d.ts.map +1 -0
- package/dist/lib/ixo/ucan-store.js +134 -0
- package/dist/lib/ixo/ucan-store.js.map +1 -0
- package/dist/lib/ixo/ucan.d.ts +96 -0
- package/dist/lib/ixo/ucan.d.ts.map +1 -0
- package/dist/lib/ixo/ucan.js +216 -0
- package/dist/lib/ixo/ucan.js.map +1 -0
- package/dist/lib/ixo/verified-read.d.ts +43 -0
- package/dist/lib/ixo/verified-read.d.ts.map +1 -0
- package/dist/lib/ixo/verified-read.js +73 -0
- package/dist/lib/ixo/verified-read.js.map +1 -0
- package/dist/lib/ixo/vfs.d.ts +27 -0
- package/dist/lib/ixo/vfs.d.ts.map +1 -0
- package/dist/lib/ixo/vfs.js +42 -0
- package/dist/lib/ixo/vfs.js.map +1 -0
- package/dist/lib/ixo/web-did.d.ts +7 -0
- package/dist/lib/ixo/web-did.d.ts.map +1 -0
- package/dist/lib/ixo/web-did.js +9 -0
- package/dist/lib/ixo/web-did.js.map +1 -0
- package/dist/lib/logger.d.ts +34 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +126 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/matrix/api.d.ts +57 -0
- package/dist/lib/matrix/api.d.ts.map +1 -0
- package/dist/lib/matrix/api.js +58 -0
- package/dist/lib/matrix/api.js.map +1 -0
- package/dist/lib/matrix/client.d.ts +41 -0
- package/dist/lib/matrix/client.d.ts.map +1 -0
- package/dist/lib/matrix/client.js +104 -0
- package/dist/lib/matrix/client.js.map +1 -0
- package/dist/lib/matrix/deliver.d.ts +224 -0
- package/dist/lib/matrix/deliver.d.ts.map +1 -0
- package/dist/lib/matrix/deliver.js +788 -0
- package/dist/lib/matrix/deliver.js.map +1 -0
- package/dist/lib/matrix/events.d.ts +114 -0
- package/dist/lib/matrix/events.d.ts.map +1 -0
- package/dist/lib/matrix/events.js +143 -0
- package/dist/lib/matrix/events.js.map +1 -0
- package/dist/lib/matrix/mxid.d.ts +24 -0
- package/dist/lib/matrix/mxid.d.ts.map +1 -0
- package/dist/lib/matrix/mxid.js +47 -0
- package/dist/lib/matrix/mxid.js.map +1 -0
- package/dist/lib/metrics.d.ts +105 -0
- package/dist/lib/metrics.d.ts.map +1 -0
- package/dist/lib/metrics.js +204 -0
- package/dist/lib/metrics.js.map +1 -0
- package/dist/lib/oauth/approvals.d.ts +160 -0
- package/dist/lib/oauth/approvals.d.ts.map +1 -0
- package/dist/lib/oauth/approvals.js +273 -0
- package/dist/lib/oauth/approvals.js.map +1 -0
- package/dist/lib/oauth/standing.d.ts +152 -0
- package/dist/lib/oauth/standing.d.ts.map +1 -0
- package/dist/lib/oauth/standing.js +299 -0
- package/dist/lib/oauth/standing.js.map +1 -0
- package/dist/lib/oauth/token.d.ts +60 -0
- package/dist/lib/oauth/token.d.ts.map +1 -0
- package/dist/lib/oauth/token.js +129 -0
- package/dist/lib/oauth/token.js.map +1 -0
- package/dist/lib/payments/extend.d.ts +42 -0
- package/dist/lib/payments/extend.d.ts.map +1 -0
- package/dist/lib/payments/extend.js +98 -0
- package/dist/lib/payments/extend.js.map +1 -0
- package/dist/lib/payments/facilitator.d.ts +220 -0
- package/dist/lib/payments/facilitator.d.ts.map +1 -0
- package/dist/lib/payments/facilitator.js +451 -0
- package/dist/lib/payments/facilitator.js.map +1 -0
- package/dist/lib/payments/gate.d.ts +207 -0
- package/dist/lib/payments/gate.d.ts.map +1 -0
- package/dist/lib/payments/gate.js +481 -0
- package/dist/lib/payments/gate.js.map +1 -0
- package/dist/lib/payments/header-seal.d.ts +33 -0
- package/dist/lib/payments/header-seal.d.ts.map +1 -0
- package/dist/lib/payments/header-seal.js +76 -0
- package/dist/lib/payments/header-seal.js.map +1 -0
- package/dist/lib/payments/index.d.ts +12 -0
- package/dist/lib/payments/index.d.ts.map +1 -0
- package/dist/lib/payments/index.js +11 -0
- package/dist/lib/payments/index.js.map +1 -0
- package/dist/lib/payments/price.d.ts +25 -0
- package/dist/lib/payments/price.d.ts.map +1 -0
- package/dist/lib/payments/price.js +43 -0
- package/dist/lib/payments/price.js.map +1 -0
- package/dist/lib/payments/reconcile.d.ts +77 -0
- package/dist/lib/payments/reconcile.d.ts.map +1 -0
- package/dist/lib/payments/reconcile.js +317 -0
- package/dist/lib/payments/reconcile.js.map +1 -0
- package/dist/lib/payments/refund.d.ts +34 -0
- package/dist/lib/payments/refund.d.ts.map +1 -0
- package/dist/lib/payments/refund.js +123 -0
- package/dist/lib/payments/refund.js.map +1 -0
- package/dist/lib/payments/review-billing.d.ts +222 -0
- package/dist/lib/payments/review-billing.d.ts.map +1 -0
- package/dist/lib/payments/review-billing.js +609 -0
- package/dist/lib/payments/review-billing.js.map +1 -0
- package/dist/lib/payments/settle.d.ts +44 -0
- package/dist/lib/payments/settle.d.ts.map +1 -0
- package/dist/lib/payments/settle.js +306 -0
- package/dist/lib/payments/settle.js.map +1 -0
- package/dist/lib/payments/terms.d.ts +27 -0
- package/dist/lib/payments/terms.d.ts.map +1 -0
- package/dist/lib/payments/terms.js +21 -0
- package/dist/lib/payments/terms.js.map +1 -0
- package/dist/lib/payouts.d.ts +20 -0
- package/dist/lib/payouts.d.ts.map +1 -0
- package/dist/lib/payouts.js +30 -0
- package/dist/lib/payouts.js.map +1 -0
- package/dist/lib/readiness.d.ts +42 -0
- package/dist/lib/readiness.d.ts.map +1 -0
- package/dist/lib/readiness.js +130 -0
- package/dist/lib/readiness.js.map +1 -0
- package/dist/lib/redact.d.ts +23 -0
- package/dist/lib/redact.d.ts.map +1 -0
- package/dist/lib/redact.js +67 -0
- package/dist/lib/redact.js.map +1 -0
- package/dist/lib/register.d.ts +85 -0
- package/dist/lib/register.d.ts.map +1 -0
- package/dist/lib/register.js +390 -0
- package/dist/lib/register.js.map +1 -0
- package/dist/lib/review/attestation.d.ts +92 -0
- package/dist/lib/review/attestation.d.ts.map +1 -0
- package/dist/lib/review/attestation.js +264 -0
- package/dist/lib/review/attestation.js.map +1 -0
- package/dist/lib/review/reviewer-grant.d.ts +146 -0
- package/dist/lib/review/reviewer-grant.d.ts.map +1 -0
- package/dist/lib/review/reviewer-grant.js +359 -0
- package/dist/lib/review/reviewer-grant.js.map +1 -0
- package/dist/lib/review/tasks.d.ts +18 -0
- package/dist/lib/review/tasks.d.ts.map +1 -0
- package/dist/lib/review/tasks.js +36 -0
- package/dist/lib/review/tasks.js.map +1 -0
- package/dist/lib/sentry.d.ts +89 -0
- package/dist/lib/sentry.d.ts.map +1 -0
- package/dist/lib/sentry.js +284 -0
- package/dist/lib/sentry.js.map +1 -0
- package/dist/lib/spans.d.ts +14 -0
- package/dist/lib/spans.d.ts.map +1 -0
- package/dist/lib/spans.js +28 -0
- package/dist/lib/spans.js.map +1 -0
- package/dist/lib/tracing.d.ts +31 -0
- package/dist/lib/tracing.d.ts.map +1 -0
- package/dist/lib/tracing.js +66 -0
- package/dist/lib/tracing.js.map +1 -0
- package/dist/lib/ttl-cache.d.ts +26 -0
- package/dist/lib/ttl-cache.d.ts.map +1 -0
- package/dist/lib/ttl-cache.js +61 -0
- package/dist/lib/ttl-cache.js.map +1 -0
- package/dist/lib/validator.d.ts +19 -0
- package/dist/lib/validator.d.ts.map +1 -0
- package/dist/lib/validator.js +32 -0
- package/dist/lib/validator.js.map +1 -0
- package/dist/lib/work-order/form.d.ts +40 -0
- package/dist/lib/work-order/form.d.ts.map +1 -0
- package/dist/lib/work-order/form.js +316 -0
- package/dist/lib/work-order/form.js.map +1 -0
- package/dist/lib/work-order/index.d.ts +20 -0
- package/dist/lib/work-order/index.d.ts.map +1 -0
- package/dist/lib/work-order/index.js +66 -0
- package/dist/lib/work-order/index.js.map +1 -0
- package/dist/middleware/api/audit.d.ts +9 -0
- package/dist/middleware/api/audit.d.ts.map +1 -0
- package/dist/middleware/api/audit.js +38 -0
- package/dist/middleware/api/audit.js.map +1 -0
- package/dist/middleware/api/auth.d.ts +29 -0
- package/dist/middleware/api/auth.d.ts.map +1 -0
- package/dist/middleware/api/auth.js +105 -0
- package/dist/middleware/api/auth.js.map +1 -0
- package/dist/middleware/api/console.d.ts +92 -0
- package/dist/middleware/api/console.d.ts.map +1 -0
- package/dist/middleware/api/console.js +446 -0
- package/dist/middleware/api/console.js.map +1 -0
- package/dist/middleware/api/errors.d.ts +48 -0
- package/dist/middleware/api/errors.d.ts.map +1 -0
- package/dist/middleware/api/errors.js +133 -0
- package/dist/middleware/api/errors.js.map +1 -0
- package/dist/middleware/api/idempotency.d.ts +23 -0
- package/dist/middleware/api/idempotency.d.ts.map +1 -0
- package/dist/middleware/api/idempotency.js +158 -0
- package/dist/middleware/api/idempotency.js.map +1 -0
- package/dist/middleware/api/keys.d.ts +14 -0
- package/dist/middleware/api/keys.d.ts.map +1 -0
- package/dist/middleware/api/keys.js +66 -0
- package/dist/middleware/api/keys.js.map +1 -0
- package/dist/middleware/api/membership.d.ts +32 -0
- package/dist/middleware/api/membership.d.ts.map +1 -0
- package/dist/middleware/api/membership.js +48 -0
- package/dist/middleware/api/membership.js.map +1 -0
- package/dist/middleware/api/oauth.d.ts +28 -0
- package/dist/middleware/api/oauth.d.ts.map +1 -0
- package/dist/middleware/api/oauth.js +109 -0
- package/dist/middleware/api/oauth.js.map +1 -0
- package/dist/middleware/api/rate-limit.d.ts +23 -0
- package/dist/middleware/api/rate-limit.d.ts.map +1 -0
- package/dist/middleware/api/rate-limit.js +70 -0
- package/dist/middleware/api/rate-limit.js.map +1 -0
- package/dist/middleware/api/types.d.ts +92 -0
- package/dist/middleware/api/types.d.ts.map +1 -0
- package/dist/middleware/api/types.js +7 -0
- package/dist/middleware/api/types.js.map +1 -0
- package/dist/middleware/api/wait.d.ts +21 -0
- package/dist/middleware/api/wait.d.ts.map +1 -0
- package/dist/middleware/api/wait.js +85 -0
- package/dist/middleware/api/wait.js.map +1 -0
- package/dist/middleware/capability.d.ts +32 -0
- package/dist/middleware/capability.d.ts.map +1 -0
- package/dist/middleware/capability.js +113 -0
- package/dist/middleware/capability.js.map +1 -0
- package/dist/middleware/database.d.ts +14 -0
- package/dist/middleware/database.d.ts.map +1 -0
- package/dist/middleware/database.js +18 -0
- package/dist/middleware/database.js.map +1 -0
- package/dist/middleware/error-handler.d.ts +13 -0
- package/dist/middleware/error-handler.d.ts.map +1 -0
- package/dist/middleware/error-handler.js +127 -0
- package/dist/middleware/error-handler.js.map +1 -0
- package/dist/middleware/observability.d.ts +32 -0
- package/dist/middleware/observability.d.ts.map +1 -0
- package/dist/middleware/observability.js +134 -0
- package/dist/middleware/observability.js.map +1 -0
- package/dist/middleware/rate-limit.d.ts +16 -0
- package/dist/middleware/rate-limit.d.ts.map +1 -0
- package/dist/middleware/rate-limit.js +56 -0
- package/dist/middleware/rate-limit.js.map +1 -0
- package/dist/middleware/ucan-auth.d.ts +39 -0
- package/dist/middleware/ucan-auth.d.ts.map +1 -0
- package/dist/middleware/ucan-auth.js +278 -0
- package/dist/middleware/ucan-auth.js.map +1 -0
- package/dist/networks.d.ts +34 -0
- package/dist/networks.d.ts.map +1 -0
- package/dist/networks.js +49 -0
- package/dist/networks.js.map +1 -0
- package/dist/oracle.d.ts +193 -0
- package/dist/oracle.d.ts.map +1 -0
- package/dist/oracle.js +245 -0
- package/dist/oracle.js.map +1 -0
- package/dist/routes/health.d.ts +16 -0
- package/dist/routes/health.d.ts.map +1 -0
- package/dist/routes/health.js +29 -0
- package/dist/routes/health.js.map +1 -0
- package/dist/routes/v1/admin.d.ts +18 -0
- package/dist/routes/v1/admin.d.ts.map +1 -0
- package/dist/routes/v1/admin.js +101 -0
- package/dist/routes/v1/admin.js.map +1 -0
- package/dist/routes/v1/api/admin-claims.d.ts +14 -0
- package/dist/routes/v1/api/admin-claims.d.ts.map +1 -0
- package/dist/routes/v1/api/admin-claims.js +82 -0
- package/dist/routes/v1/api/admin-claims.js.map +1 -0
- package/dist/routes/v1/api/admin-facilitator.d.ts +20 -0
- package/dist/routes/v1/api/admin-facilitator.d.ts.map +1 -0
- package/dist/routes/v1/api/admin-facilitator.js +64 -0
- package/dist/routes/v1/api/admin-facilitator.js.map +1 -0
- package/dist/routes/v1/api/admin.d.ts +9 -0
- package/dist/routes/v1/api/admin.d.ts.map +1 -0
- package/dist/routes/v1/api/admin.js +110 -0
- package/dist/routes/v1/api/admin.js.map +1 -0
- package/dist/routes/v1/api/audit.d.ts +8 -0
- package/dist/routes/v1/api/audit.d.ts.map +1 -0
- package/dist/routes/v1/api/audit.js +56 -0
- package/dist/routes/v1/api/audit.js.map +1 -0
- package/dist/routes/v1/api/batch.d.ts +17 -0
- package/dist/routes/v1/api/batch.d.ts.map +1 -0
- package/dist/routes/v1/api/batch.js +192 -0
- package/dist/routes/v1/api/batch.js.map +1 -0
- package/dist/routes/v1/api/claims-read.d.ts +43 -0
- package/dist/routes/v1/api/claims-read.d.ts.map +1 -0
- package/dist/routes/v1/api/claims-read.js +123 -0
- package/dist/routes/v1/api/claims-read.js.map +1 -0
- package/dist/routes/v1/api/claims.d.ts +131 -0
- package/dist/routes/v1/api/claims.d.ts.map +1 -0
- package/dist/routes/v1/api/claims.js +407 -0
- package/dist/routes/v1/api/claims.js.map +1 -0
- package/dist/routes/v1/api/collections-link.d.ts +14 -0
- package/dist/routes/v1/api/collections-link.d.ts.map +1 -0
- package/dist/routes/v1/api/collections-link.js +97 -0
- package/dist/routes/v1/api/collections-link.js.map +1 -0
- package/dist/routes/v1/api/export.d.ts +48 -0
- package/dist/routes/v1/api/export.d.ts.map +1 -0
- package/dist/routes/v1/api/export.js +251 -0
- package/dist/routes/v1/api/export.js.map +1 -0
- package/dist/routes/v1/api/index.d.ts +16 -0
- package/dist/routes/v1/api/index.d.ts.map +1 -0
- package/dist/routes/v1/api/index.js +68 -0
- package/dist/routes/v1/api/index.js.map +1 -0
- package/dist/routes/v1/api/keys.d.ts +9 -0
- package/dist/routes/v1/api/keys.d.ts.map +1 -0
- package/dist/routes/v1/api/keys.js +95 -0
- package/dist/routes/v1/api/keys.js.map +1 -0
- package/dist/routes/v1/api/me.d.ts +21 -0
- package/dist/routes/v1/api/me.d.ts.map +1 -0
- package/dist/routes/v1/api/me.js +122 -0
- package/dist/routes/v1/api/me.js.map +1 -0
- package/dist/routes/v1/api/members.d.ts +17 -0
- package/dist/routes/v1/api/members.d.ts.map +1 -0
- package/dist/routes/v1/api/members.js +406 -0
- package/dist/routes/v1/api/members.js.map +1 -0
- package/dist/routes/v1/api/meta.d.ts +12 -0
- package/dist/routes/v1/api/meta.d.ts.map +1 -0
- package/dist/routes/v1/api/meta.js +59 -0
- package/dist/routes/v1/api/meta.js.map +1 -0
- package/dist/routes/v1/api/openapi.gen.d.ts +2 -0
- package/dist/routes/v1/api/openapi.gen.d.ts.map +1 -0
- package/dist/routes/v1/api/openapi.gen.js +7 -0
- package/dist/routes/v1/api/openapi.gen.js.map +1 -0
- package/dist/routes/v1/api/protocols.d.ts +22 -0
- package/dist/routes/v1/api/protocols.d.ts.map +1 -0
- package/dist/routes/v1/api/protocols.js +153 -0
- package/dist/routes/v1/api/protocols.js.map +1 -0
- package/dist/routes/v1/api/review-billing.d.ts +18 -0
- package/dist/routes/v1/api/review-billing.d.ts.map +1 -0
- package/dist/routes/v1/api/review-billing.js +196 -0
- package/dist/routes/v1/api/review-billing.js.map +1 -0
- package/dist/routes/v1/api/review.d.ts +30 -0
- package/dist/routes/v1/api/review.d.ts.map +1 -0
- package/dist/routes/v1/api/review.js +302 -0
- package/dist/routes/v1/api/review.js.map +1 -0
- package/dist/routes/v1/api/sources.d.ts +10 -0
- package/dist/routes/v1/api/sources.d.ts.map +1 -0
- package/dist/routes/v1/api/sources.js +293 -0
- package/dist/routes/v1/api/sources.js.map +1 -0
- package/dist/routes/v1/api/uploads.d.ts +37 -0
- package/dist/routes/v1/api/uploads.d.ts.map +1 -0
- package/dist/routes/v1/api/uploads.js +414 -0
- package/dist/routes/v1/api/uploads.js.map +1 -0
- package/dist/routes/v1/api/views.d.ts +18 -0
- package/dist/routes/v1/api/views.d.ts.map +1 -0
- package/dist/routes/v1/api/views.js +95 -0
- package/dist/routes/v1/api/views.js.map +1 -0
- package/dist/routes/v1/api/webhooks.d.ts +14 -0
- package/dist/routes/v1/api/webhooks.d.ts.map +1 -0
- package/dist/routes/v1/api/webhooks.js +282 -0
- package/dist/routes/v1/api/webhooks.js.map +1 -0
- package/dist/routes/v1/api/work-orders.d.ts +45 -0
- package/dist/routes/v1/api/work-orders.d.ts.map +1 -0
- package/dist/routes/v1/api/work-orders.js +171 -0
- package/dist/routes/v1/api/work-orders.js.map +1 -0
- package/dist/routes/v1/claims.d.ts +21 -0
- package/dist/routes/v1/claims.d.ts.map +1 -0
- package/dist/routes/v1/claims.js +153 -0
- package/dist/routes/v1/claims.js.map +1 -0
- package/dist/routes/v1/collections.d.ts +45 -0
- package/dist/routes/v1/collections.d.ts.map +1 -0
- package/dist/routes/v1/collections.js +201 -0
- package/dist/routes/v1/collections.js.map +1 -0
- package/dist/routes/v1/index.d.ts +13 -0
- package/dist/routes/v1/index.d.ts.map +1 -0
- package/dist/routes/v1/index.js +41 -0
- package/dist/routes/v1/index.js.map +1 -0
- package/dist/routes/v1/info.d.ts +14 -0
- package/dist/routes/v1/info.d.ts.map +1 -0
- package/dist/routes/v1/info.js +75 -0
- package/dist/routes/v1/info.js.map +1 -0
- package/dist/routes/v1/mcp/index.d.ts +33 -0
- package/dist/routes/v1/mcp/index.d.ts.map +1 -0
- package/dist/routes/v1/mcp/index.js +252 -0
- package/dist/routes/v1/mcp/index.js.map +1 -0
- package/dist/routes/v1/mcp/oauth.d.ts +27 -0
- package/dist/routes/v1/mcp/oauth.d.ts.map +1 -0
- package/dist/routes/v1/mcp/oauth.js +500 -0
- package/dist/routes/v1/mcp/oauth.js.map +1 -0
- package/dist/routes/v1/mcp/tools.d.ts +71 -0
- package/dist/routes/v1/mcp/tools.d.ts.map +1 -0
- package/dist/routes/v1/mcp/tools.js +432 -0
- package/dist/routes/v1/mcp/tools.js.map +1 -0
- package/dist/routes/v1/mcp/ui.d.ts +45 -0
- package/dist/routes/v1/mcp/ui.d.ts.map +1 -0
- package/dist/routes/v1/mcp/ui.js +454 -0
- package/dist/routes/v1/mcp/ui.js.map +1 -0
- package/dist/routes/v1/oauth.d.ts +29 -0
- package/dist/routes/v1/oauth.d.ts.map +1 -0
- package/dist/routes/v1/oauth.js +256 -0
- package/dist/routes/v1/oauth.js.map +1 -0
- package/dist/routes/v1/reviewers.d.ts +22 -0
- package/dist/routes/v1/reviewers.d.ts.map +1 -0
- package/dist/routes/v1/reviewers.js +165 -0
- package/dist/routes/v1/reviewers.js.map +1 -0
- package/dist/routes/v1/reviews.d.ts +38 -0
- package/dist/routes/v1/reviews.d.ts.map +1 -0
- package/dist/routes/v1/reviews.js +234 -0
- package/dist/routes/v1/reviews.js.map +1 -0
- package/dist/routes/v1/shared.d.ts +586 -0
- package/dist/routes/v1/shared.d.ts.map +1 -0
- package/dist/routes/v1/shared.js +229 -0
- package/dist/routes/v1/shared.js.map +1 -0
- package/dist/routes/well-known.d.ts +15 -0
- package/dist/routes/well-known.d.ts.map +1 -0
- package/dist/routes/well-known.js +35 -0
- package/dist/routes/well-known.js.map +1 -0
- package/dist/runtime.d.ts +100 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +144 -0
- package/dist/runtime.js.map +1 -0
- package/dist/testing/fake-tools.d.ts +104 -0
- package/dist/testing/fake-tools.d.ts.map +1 -0
- package/dist/testing/fake-tools.js +213 -0
- package/dist/testing/fake-tools.js.map +1 -0
- package/dist/testing/index.d.ts +54 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +104 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/samples.d.ts +70 -0
- package/dist/testing/samples.d.ts.map +1 -0
- package/dist/testing/samples.js +92 -0
- package/dist/testing/samples.js.map +1 -0
- package/dist/workflows/claim-ingest.d.ts +250 -0
- package/dist/workflows/claim-ingest.d.ts.map +1 -0
- package/dist/workflows/claim-ingest.js +1020 -0
- package/dist/workflows/claim-ingest.js.map +1 -0
- package/dist/workflows/claim-source.d.ts +25 -0
- package/dist/workflows/claim-source.d.ts.map +1 -0
- package/dist/workflows/claim-source.js +107 -0
- package/dist/workflows/claim-source.js.map +1 -0
- package/dist/workflows/review-complete.d.ts +82 -0
- package/dist/workflows/review-complete.d.ts.map +1 -0
- package/dist/workflows/review-complete.js +455 -0
- package/dist/workflows/review-complete.js.map +1 -0
- package/dist/workflows/steps.d.ts +125 -0
- package/dist/workflows/steps.d.ts.map +1 -0
- package/dist/workflows/steps.js +325 -0
- package/dist/workflows/steps.js.map +1 -0
- package/docs/api.md +2595 -0
- package/docs/guide.md +1525 -0
- package/migrations/0000_init.sql +108 -0
- package/migrations/0001_review_attestation.sql +1 -0
- package/migrations/0002_decisions_facts.sql +1 -0
- package/migrations/0003_api_lane.sql +171 -0
- package/migrations/0004_api_v1_1.sql +19 -0
- package/migrations/0005_member_notify.sql +3 -0
- package/migrations/0006_source_collections.sql +16 -0
- package/migrations/0007_api_settlement.sql +27 -0
- package/migrations/0008_review_extend.sql +1 -0
- package/migrations/0009_card_refunds.sql +4 -0
- package/migrations/0010_even_scorpion.sql +16 -0
- package/migrations/0011_mcp_oauth.sql +27 -0
- package/migrations/0012_mcp_standing.sql +21 -0
- package/migrations/0013_unknown_krista_starr.sql +2 -0
- package/migrations/0014_last_carnage.sql +14 -0
- package/migrations/0015_company_authority.sql +26 -0
- package/migrations/0016_owner_only_links.sql +6 -0
- package/migrations/0017_organisations.sql +35 -0
- package/migrations/0018_remove_app_signed.sql +4 -0
- package/migrations/0019_submitted_via.sql +2 -0
- package/migrations/0020_drop_decision_to_pay.sql +4 -0
- package/migrations/0021_manual_erase.sql +25 -0
- package/migrations/0022_errored_facts.sql +1 -0
- package/migrations/0023_review_billing.sql +20 -0
- package/migrations/0024_pending_task_details.sql +1 -0
- package/migrations/meta/0000_snapshot.json +707 -0
- package/migrations/meta/0001_snapshot.json +714 -0
- package/migrations/meta/0002_snapshot.json +721 -0
- package/migrations/meta/0003_snapshot.json +1845 -0
- package/migrations/meta/0004_snapshot.json +1969 -0
- package/migrations/meta/0005_snapshot.json +1991 -0
- package/migrations/meta/0006_snapshot.json +2097 -0
- package/migrations/meta/0007_snapshot.json +2128 -0
- package/migrations/meta/0008_snapshot.json +2133 -0
- package/migrations/meta/0009_snapshot.json +2161 -0
- package/migrations/meta/0010_snapshot.json +2265 -0
- package/migrations/meta/0011_snapshot.json +2448 -0
- package/migrations/meta/0012_snapshot.json +2577 -0
- package/migrations/meta/0013_snapshot.json +2594 -0
- package/migrations/meta/0014_snapshot.json +2602 -0
- package/migrations/meta/0015_snapshot.json +2778 -0
- package/migrations/meta/0016_snapshot.json +2778 -0
- package/migrations/meta/0017_snapshot.json +2792 -0
- package/migrations/meta/0018_snapshot.json +2778 -0
- package/migrations/meta/0019_snapshot.json +2792 -0
- package/migrations/meta/0020_snapshot.json +2785 -0
- package/migrations/meta/0021_snapshot.json +2762 -0
- package/migrations/meta/0022_snapshot.json +2769 -0
- package/migrations/meta/0023_snapshot.json +2900 -0
- package/migrations/meta/0024_snapshot.json +2907 -0
- package/migrations/meta/_journal.json +181 -0
- package/openapi/decision-api.yaml +12204 -0
- package/package.json +123 -4
- package/skills/README.md +19 -0
- package/skills/add-openhands-support/SKILL.md +113 -0
- package/skills/create-collection/SKILL.md +199 -0
- package/skills/create-collection/reference/claims-stack.md +106 -0
- package/skills/create-collection/reference/collection.md +111 -0
- package/skills/create-oracle/SKILL.md +400 -0
- package/skills/create-rubric/SKILL.md +130 -0
- package/skills/create-rubric/reference/format-cheatsheet.md +186 -0
- package/skills/create-rubric/templates/claim-form.example.json +60 -0
- package/skills/decision-api-client/SKILL.md +236 -0
- package/skills/decision-api-oracle/SKILL.md +336 -0
- package/skills/publish-protocol/SKILL.md +151 -0
- package/skills/publish-protocol/reference/publishing.md +116 -0
- package/skills/reference/engine-contract.md +222 -0
- package/skills/write-facts/SKILL.md +221 -0
- package/skills/write-facts/reference/examples/http-vendor.ts +88 -0
- package/skills/write-facts/reference/examples/price-matches-agreement.ts +67 -0
- package/skills/write-facts/reference/facts-api.md +232 -0
- package/templates/project/.dev.vars.example +93 -0
- package/templates/project/.editorconfig +9 -0
- package/templates/project/CLAUDE.md +45 -0
- package/templates/project/README.md +199 -0
- package/templates/project/biome.json +37 -0
- package/templates/project/gitignore +29 -0
- package/templates/project/package.json +32 -0
- package/templates/project/src/facts/index.ts +19 -0
- package/templates/project/src/index.ts +25 -0
- package/templates/project/test/api-lane.test.ts +57 -0
- package/templates/project/test/facts.test.ts +14 -0
- package/templates/project/tsconfig.json +25 -0
- package/templates/project/vitest.config.ts +13 -0
- package/templates/project/wrangler.jsonc +446 -0
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `decision-oracle create-deed` — create a DEED (the domain entity people submit claims against) and
|
|
3
|
+
* link it to an already-published protocol the way the portal's creator-studio does, so the portal's
|
|
4
|
+
* collection block lists the protocol in its picker. Signs REAL transactions — see lib/chain.ts for
|
|
5
|
+
* the `--yes` confirm gate every write goes through.
|
|
6
|
+
*
|
|
7
|
+
* decision-oracle create-deed --protocol did:ixo:entity:… --title "…" [--description "…"]
|
|
8
|
+
* [--type deed] [--network devnet] [--phase entity|room|claims|all] [--entity did:ixo:entity:…] [--yes]
|
|
9
|
+
*
|
|
10
|
+
* The claims stack is THREE objects, created in a fixed order, each pointing at the previous one:
|
|
11
|
+
*
|
|
12
|
+
* protocol (`protocol/verifiableClaim`: the claim SCHEMA — #vct + #rub; a template, owns nothing)
|
|
13
|
+
* → deed (a domain: hosts claims; its `linkedClaim` names the protocol)
|
|
14
|
+
* → collection (`MsgCreateCollection` entity = the deed, protocol = the protocol — `create-collection`)
|
|
15
|
+
*
|
|
16
|
+
* Passing the protocol DID where the deed belongs is what the portal reports as "No claim protocols
|
|
17
|
+
* are linked to <did>": its picker is given the ENTITY, reads its `linkedClaim[]`, resolves each to
|
|
18
|
+
* a claims-config doc, and lists `entityClaims[].template.id` — which must be a bare protocol DID,
|
|
19
|
+
* never a creator-studio `ref:<node>:did` placeholder (those render greyed-out).
|
|
20
|
+
*
|
|
21
|
+
* Phases (default `all`): `entity` — MsgCreateEntity of `--type` (default `deed`), skipped with
|
|
22
|
+
* `--entity`; `room` — source the deed's Matrix room + invite the claim bot (a collection's claims
|
|
23
|
+
* land in ITS entity's room, so without this every submission is IXO_ROOM_NOT_FOUND); `claims` —
|
|
24
|
+
* write the claims-config doc into the deed's room state at key `claims`, path `<cid>`, with a
|
|
25
|
+
* public ACL — exactly where the portal reads it — then ONE tx: MsgAddLinkedClaim `{id}#claims`
|
|
26
|
+
* (serviceEndpoint `matrix:<cid>`, proof `<cid>`) + MsgAddService `{id}#matrix`. Resume a
|
|
27
|
+
* half-finished run with `--entity <did> --phase room|claims|all`; `room` is idempotent and `claims`
|
|
28
|
+
* re-writes the same doc.
|
|
29
|
+
*/
|
|
30
|
+
import { CID } from "multiformats/cid";
|
|
31
|
+
import { sha256 } from "multiformats/hashes/sha2";
|
|
32
|
+
import { NETWORKS } from "../../networks.js";
|
|
33
|
+
import { parse } from "../lib/args.js";
|
|
34
|
+
import { addServiceMsg, broadcast, confirm, createEntity, fail, matrixBots, matrixLoginFromSession, resolveEntity, resolveNetwork, STANDARD_FEE, sourceEntityRoom, } from "../lib/chain.js";
|
|
35
|
+
import { buildSigner } from "../lib/session.js";
|
|
36
|
+
function resolvePhase(value) {
|
|
37
|
+
const phase = value ?? "all";
|
|
38
|
+
if (phase !== "entity" && phase !== "room" && phase !== "claims" && phase !== "all") {
|
|
39
|
+
fail(`unknown --phase '${phase}' (entity|room|claims|all)`);
|
|
40
|
+
}
|
|
41
|
+
return phase;
|
|
42
|
+
}
|
|
43
|
+
const RUNS = {
|
|
44
|
+
entity: (p) => p === "entity" || p === "all",
|
|
45
|
+
room: (p) => p === "room" || p === "all",
|
|
46
|
+
claims: (p) => p === "claims" || p === "all",
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* The claims-config doc, verbatim the shape impacts-x-webapp's `addLinkedClaimOnConnection.ts`
|
|
50
|
+
* writes (envelope, `entityClaims[].template` fields) with `template.id` already the bare protocol
|
|
51
|
+
* DID — the one thing creator-studio only resolves at publish time and the portal's picker insists on.
|
|
52
|
+
*/
|
|
53
|
+
function claimsConfigDoc(protocolDid, title, description) {
|
|
54
|
+
return {
|
|
55
|
+
"@context": {
|
|
56
|
+
ixo: "https://w3id.org/ixo/vocab/v1",
|
|
57
|
+
web3: "https://ipfs.io/ipfs/",
|
|
58
|
+
id: "@id",
|
|
59
|
+
type: "@type",
|
|
60
|
+
"@protected": true,
|
|
61
|
+
},
|
|
62
|
+
id: "{id}#claims",
|
|
63
|
+
type: "ixo:Claims",
|
|
64
|
+
entityClaims: [
|
|
65
|
+
{
|
|
66
|
+
id: "claims",
|
|
67
|
+
template: {
|
|
68
|
+
id: protocolDid,
|
|
69
|
+
type: "verifiableClaim",
|
|
70
|
+
title,
|
|
71
|
+
description,
|
|
72
|
+
creator: "",
|
|
73
|
+
createdAt: new Date().toISOString(),
|
|
74
|
+
},
|
|
75
|
+
isEncrypted: false,
|
|
76
|
+
isHeadlineMetric: true,
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
/** CIDv1 / raw / sha256 of the bytes — `createCIDFromBase64` in impacts-x-webapp's `storage/utils.ts`,
|
|
82
|
+
* minus its base64 detour (the multibase decode there just yields these bytes back). */
|
|
83
|
+
async function cidOf(bytes) {
|
|
84
|
+
return CID.create(1, 0x55, await sha256.digest(bytes)).toString();
|
|
85
|
+
}
|
|
86
|
+
async function linkClaims(signer, entityDid, protocolDid, title, description, yes) {
|
|
87
|
+
const matrixBase = NETWORKS[signer.network].matrix.replace(/\/+$/, "");
|
|
88
|
+
const doc = claimsConfigDoc(protocolDid, title, description);
|
|
89
|
+
const bytes = new TextEncoder().encode(JSON.stringify(doc));
|
|
90
|
+
const cid = await cidOf(bytes);
|
|
91
|
+
confirm({
|
|
92
|
+
network: signer.network,
|
|
93
|
+
signer: signer.did,
|
|
94
|
+
action: "write claims-config doc to the deed's room state (state-bot) + set public ACL",
|
|
95
|
+
lines: [
|
|
96
|
+
`entity: ${entityDid}`,
|
|
97
|
+
`template.id: ${protocolDid}`,
|
|
98
|
+
`room state key: claims, path: ${cid}`,
|
|
99
|
+
],
|
|
100
|
+
}, yes);
|
|
101
|
+
// State-bot writes carry only the session's UCAN — no Matrix login. `matrixBots` (UCAN-only here)
|
|
102
|
+
// resolves the room and mints the UCAN; the writes themselves (`setState`, `setAcl`) go straight
|
|
103
|
+
// through the SDK's state-bot client.
|
|
104
|
+
const bots = await matrixBots(signer);
|
|
105
|
+
const roomId = await bots.roomId(entityDid);
|
|
106
|
+
const { createMatrixStateBotClient } = await import("@ixo/matrixclient-sdk");
|
|
107
|
+
const urls = await bots.urls(entityDid);
|
|
108
|
+
const ucan = await bots.ucan(entityDid, "stateBot");
|
|
109
|
+
const stateBot = createMatrixStateBotClient({
|
|
110
|
+
botUrl: urls.stateBot,
|
|
111
|
+
accessToken: "",
|
|
112
|
+
homeServerUrl: urls.homeServer,
|
|
113
|
+
});
|
|
114
|
+
await stateBot.state.v1beta1.setState(roomId, "claims", cid, JSON.stringify(doc), ucan);
|
|
115
|
+
await stateBot.acl.v1beta1.setAcl(roomId, "claims", cid, JSON.stringify({ canAccess: ["*"], canEdit: [] }), ucan);
|
|
116
|
+
console.log(`✓ claims-config doc stored in ${roomId} at claims/${cid} (public ACL)`);
|
|
117
|
+
confirm({
|
|
118
|
+
network: signer.network,
|
|
119
|
+
signer: signer.address,
|
|
120
|
+
action: "MsgAddLinkedClaim {id}#claims + MsgAddService Matrix",
|
|
121
|
+
lines: [`entity: ${entityDid}`, `serviceEndpoint: matrix:${cid}`, `proof: ${cid}`],
|
|
122
|
+
fee: STANDARD_FEE,
|
|
123
|
+
}, yes);
|
|
124
|
+
const { ixo } = await import("@ixo/impactxclient-sdk");
|
|
125
|
+
const linkedClaim = {
|
|
126
|
+
typeUrl: "/ixo.iid.v1beta1.MsgAddLinkedClaim",
|
|
127
|
+
value: ixo.iid.v1beta1.MsgAddLinkedClaim.fromPartial({
|
|
128
|
+
id: entityDid,
|
|
129
|
+
linkedClaim: ixo.iid.v1beta1.LinkedClaim.fromPartial({
|
|
130
|
+
id: "{id}#claims",
|
|
131
|
+
type: "protocol/verifiableClaim",
|
|
132
|
+
description,
|
|
133
|
+
serviceEndpoint: `matrix:${cid}`,
|
|
134
|
+
proof: cid,
|
|
135
|
+
encrypted: "false",
|
|
136
|
+
right: "",
|
|
137
|
+
}),
|
|
138
|
+
signer: signer.address,
|
|
139
|
+
}),
|
|
140
|
+
};
|
|
141
|
+
const svc = await addServiceMsg(entityDid, { id: "{id}#matrix", type: "Matrix", serviceEndpoint: matrixBase }, signer.address);
|
|
142
|
+
const { hash } = await broadcast(signer, [linkedClaim, svc], "create-deed: claims");
|
|
143
|
+
console.log(`✓ linkedClaim + Matrix service added (tx ${hash})`);
|
|
144
|
+
return cid;
|
|
145
|
+
}
|
|
146
|
+
export async function run(argv) {
|
|
147
|
+
const { values } = parse(argv, {
|
|
148
|
+
options: {
|
|
149
|
+
protocol: { type: "string" },
|
|
150
|
+
title: { type: "string" },
|
|
151
|
+
description: { type: "string" },
|
|
152
|
+
type: { type: "string" },
|
|
153
|
+
network: { type: "string" },
|
|
154
|
+
phase: { type: "string" },
|
|
155
|
+
entity: { type: "string" },
|
|
156
|
+
yes: { type: "boolean" },
|
|
157
|
+
},
|
|
158
|
+
});
|
|
159
|
+
const protocolDid = values.protocol ?? fail("--protocol <did> is required");
|
|
160
|
+
const title = values.title ?? fail('--title "<deed name>" is required');
|
|
161
|
+
const description = values.description ?? "";
|
|
162
|
+
const entityType = values.type ?? "deed";
|
|
163
|
+
const network = resolveNetwork(values.network);
|
|
164
|
+
const phase = resolvePhase(values.phase);
|
|
165
|
+
const yes = values.yes === true;
|
|
166
|
+
let entityDid = values.entity;
|
|
167
|
+
const blocksync = NETWORKS[network].blocksync;
|
|
168
|
+
const protocol = await resolveEntity(blocksync, protocolDid);
|
|
169
|
+
if (protocol.type !== "protocol/verifiableClaim") {
|
|
170
|
+
fail(`${protocolDid} is ${protocol.type ?? "not on blocksync"} — --protocol must be a protocol/verifiableClaim entity (publish-protocol first)`);
|
|
171
|
+
}
|
|
172
|
+
if (!protocol.linkedResources.some((r) => r.id.endsWith("#rub"))) {
|
|
173
|
+
fail(`${protocolDid} has no #rub linked resource — finish publish-protocol before linking a deed`);
|
|
174
|
+
}
|
|
175
|
+
const signer = await buildSigner(network);
|
|
176
|
+
console.log(`signer: ${signer.address} (${network})`);
|
|
177
|
+
// The one Matrix login (the `room` phase's join/invite), minted only past its confirm gate.
|
|
178
|
+
let matrixLogin;
|
|
179
|
+
const matrixToken = () => (matrixLogin ??= matrixLoginFromSession(signer));
|
|
180
|
+
let roomId;
|
|
181
|
+
let cid;
|
|
182
|
+
if (RUNS.entity(phase)) {
|
|
183
|
+
if (entityDid) {
|
|
184
|
+
console.log(`using existing entity ${entityDid} (--entity given) — skipping creation`);
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
entityDid = await createEntity(signer, entityType, yes);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
if (RUNS.room(phase)) {
|
|
191
|
+
if (!entityDid)
|
|
192
|
+
fail("--phase room needs --entity <did> (or run --phase entity/all first)");
|
|
193
|
+
roomId = await sourceEntityRoom(signer, entityDid, matrixToken, yes);
|
|
194
|
+
}
|
|
195
|
+
if (RUNS.claims(phase)) {
|
|
196
|
+
if (!entityDid)
|
|
197
|
+
fail("--phase claims needs --entity <did> (or run --phase entity/all first)");
|
|
198
|
+
cid = await linkClaims(signer, entityDid, protocolDid, title, description, yes);
|
|
199
|
+
}
|
|
200
|
+
console.log("\n════ deed ════");
|
|
201
|
+
console.log(`deed DID : ${entityDid ?? "(not created this run)"}`);
|
|
202
|
+
console.log(`protocol : ${protocolDid}`);
|
|
203
|
+
console.log(`room id : ${roomId ?? "(not run this phase)"}`);
|
|
204
|
+
console.log(`claims cid : ${cid ?? "(not run this phase)"} (linkedClaim proof)`);
|
|
205
|
+
console.log(`next : decision-oracle create-collection --entity ${entityDid ?? "<deed>"} --protocol ${protocolDid} --eval-amount <uixo>\n`);
|
|
206
|
+
return 0;
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=create-deed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-deed.js","sourceRoot":"","sources":["../../../src/cli/commands/create-deed.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `decision-oracle delegation` — mint an owner→oracle UCAN delegation CAR for the Matrix claim-bot
|
|
3
|
+
* resource. Without it, an oracle granted Evaluate/Submit on a collection still can't pull claim
|
|
4
|
+
* bodies: the claim bot needs a delegation, not just an on-chain claims-authz grant.
|
|
5
|
+
*
|
|
6
|
+
* decision-oracle delegation --audience did:ixo:<oracle wallet address> --out delegation.car \
|
|
7
|
+
* [--network devnet] [--days 30] [--yes]
|
|
8
|
+
*
|
|
9
|
+
* `--for engine` mints a DIFFERENT delegation instead: the oracle OWNER's billing delegation to the
|
|
10
|
+
* DECISION ENGINE — what `register()` posts as `ownerDelegation` so the engine can find (and bill)
|
|
11
|
+
* the owner's subscription. Same signer, same AuthHub session, different audience/capabilities/
|
|
12
|
+
* resource:
|
|
13
|
+
*
|
|
14
|
+
* decision-oracle delegation --for engine --audience did:web:<engine host> \
|
|
15
|
+
* --oracle did:web:<oracle host> --out owner-delegation.car [--network devnet] \
|
|
16
|
+
* [--days 36500] [--yes]
|
|
17
|
+
*
|
|
18
|
+
* Requires an AuthHub session (`decision-oracle login --network <n>` first) — the owner is whoever is
|
|
19
|
+
* logged in. Signs with the session's `edSigningMnemonic` directly (the ed25519 key AuthHub already
|
|
20
|
+
* provisions for UCAN signing) — no Matrix-vault mnemonic derivation, no PIN.
|
|
21
|
+
* The resource is always `ixo:matrix-claims-bot` — the only thing the (default) bot delegation is for.
|
|
22
|
+
*
|
|
23
|
+
* The CAR is WRITTEN to `--out`, never printed: it is a bearer credential.
|
|
24
|
+
*/
|
|
25
|
+
export declare function run(argv: string[]): Promise<number>;
|
|
26
|
+
//# sourceMappingURL=delegation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegation.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/delegation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAgCH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA+GzD"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `decision-oracle delegation` — mint an owner→oracle UCAN delegation CAR for the Matrix claim-bot
|
|
3
|
+
* resource. Without it, an oracle granted Evaluate/Submit on a collection still can't pull claim
|
|
4
|
+
* bodies: the claim bot needs a delegation, not just an on-chain claims-authz grant.
|
|
5
|
+
*
|
|
6
|
+
* decision-oracle delegation --audience did:ixo:<oracle wallet address> --out delegation.car \
|
|
7
|
+
* [--network devnet] [--days 30] [--yes]
|
|
8
|
+
*
|
|
9
|
+
* `--for engine` mints a DIFFERENT delegation instead: the oracle OWNER's billing delegation to the
|
|
10
|
+
* DECISION ENGINE — what `register()` posts as `ownerDelegation` so the engine can find (and bill)
|
|
11
|
+
* the owner's subscription. Same signer, same AuthHub session, different audience/capabilities/
|
|
12
|
+
* resource:
|
|
13
|
+
*
|
|
14
|
+
* decision-oracle delegation --for engine --audience did:web:<engine host> \
|
|
15
|
+
* --oracle did:web:<oracle host> --out owner-delegation.car [--network devnet] \
|
|
16
|
+
* [--days 36500] [--yes]
|
|
17
|
+
*
|
|
18
|
+
* Requires an AuthHub session (`decision-oracle login --network <n>` first) — the owner is whoever is
|
|
19
|
+
* logged in. Signs with the session's `edSigningMnemonic` directly (the ed25519 key AuthHub already
|
|
20
|
+
* provisions for UCAN signing) — no Matrix-vault mnemonic derivation, no PIN.
|
|
21
|
+
* The resource is always `ixo:matrix-claims-bot` — the only thing the (default) bot delegation is for.
|
|
22
|
+
*
|
|
23
|
+
* The CAR is WRITTEN to `--out`, never printed: it is a bearer credential.
|
|
24
|
+
*/
|
|
25
|
+
import { chmod, lstat, rename, rm, writeFile } from "node:fs/promises";
|
|
26
|
+
import { basename, dirname, join } from "node:path";
|
|
27
|
+
import { parse } from "../lib/args.js";
|
|
28
|
+
import { confirm, fail, resolveNetwork } from "../lib/chain.js";
|
|
29
|
+
import { buildSigner } from "../lib/session.js";
|
|
30
|
+
const RESOURCE = "ixo:matrix-claims-bot";
|
|
31
|
+
/** `--for engine`: the oracle OWNER's delegation to the DECISION ENGINE — subscriptions-api answers
|
|
32
|
+
* `GET /subscriptions` for the root of this chain, and `billing/pay` binds the CAR to ONE oracle so
|
|
33
|
+
* a leaked file can't bill its owner for a stranger. */
|
|
34
|
+
const ENGINE_CAPABILITIES = (oracleDid) => [
|
|
35
|
+
{ can: "subscriptions/read", with: "ixo:subscriptions" },
|
|
36
|
+
{ can: "billing/pay", with: oracleDid },
|
|
37
|
+
];
|
|
38
|
+
/** Lifetimes are typed in days but read in the unit that fits: `30d` is a number a human holds,
|
|
39
|
+
* `36500d` is not. A year or more prints as years. */
|
|
40
|
+
function lifetime(days) {
|
|
41
|
+
return days < 365 ? `${days}d` : `${Number((days / 365).toFixed(1))}y`;
|
|
42
|
+
}
|
|
43
|
+
/** `@ixo/ucan`'s `signerFromMnemonic` wants its DID as a `did:ixo:${string}` template literal type. */
|
|
44
|
+
function asIxoDid(value) {
|
|
45
|
+
if (!value.startsWith("did:ixo:"))
|
|
46
|
+
fail(`AuthHub session did must be a did:ixo: DID, got: ${value}`);
|
|
47
|
+
return value;
|
|
48
|
+
}
|
|
49
|
+
export async function run(argv) {
|
|
50
|
+
const { values } = parse(argv, {
|
|
51
|
+
options: {
|
|
52
|
+
for: { type: "string" },
|
|
53
|
+
audience: { type: "string" },
|
|
54
|
+
out: { type: "string" },
|
|
55
|
+
oracle: { type: "string" },
|
|
56
|
+
network: { type: "string" },
|
|
57
|
+
days: { type: "string" },
|
|
58
|
+
yes: { type: "boolean" },
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
const target = values.for ?? "bot";
|
|
62
|
+
if (target !== "bot" && target !== "engine") {
|
|
63
|
+
fail(`--for must be "bot" or "engine", got: ${target}`);
|
|
64
|
+
}
|
|
65
|
+
const audience = values.audience ??
|
|
66
|
+
fail(target === "engine"
|
|
67
|
+
? "--audience did:web:<engine host> is required with --for engine"
|
|
68
|
+
: "--audience <did:ixo:oracle…> is required");
|
|
69
|
+
const out = values.out ?? fail("--out <file> is required");
|
|
70
|
+
const network = resolveNetwork(values.network);
|
|
71
|
+
// The two defaults are deliberately far apart — don't tidy them into one number.
|
|
72
|
+
// The bot delegation keeps its 30d: it carries `{ can: "*", with: RESOURCE }`, every capability on
|
|
73
|
+
// the claims bot, and for a capability that broad a short life IS the containment.
|
|
74
|
+
// The engine delegation gets 100 years because NOTHING renews it. The engine checks expiry only at
|
|
75
|
+
// registration, re-parses the stored CAR on every billing call, and the billing cron never looks at
|
|
76
|
+
// it — so the old 365d default meant each oracle silently began failing billing on the engine's
|
|
77
|
+
// 400 "ownerDelegation is already expired" a year after it was minted, one at a time, on a rolling
|
|
78
|
+
// schedule nobody is watching. Past a handful of oracles that is not fixable by hand.
|
|
79
|
+
// The price of removing that cliff, stated plainly: the engine has no revocation anywhere, so a
|
|
80
|
+
// leaked owner→engine CAR is a bearer credential that can read the owner's subscription and bill
|
|
81
|
+
// them for the life of the delegation — now effectively forever. We accept it because the loss is
|
|
82
|
+
// bounded by the capability pair itself (subscriptions/read, and billing/pay bound to ONE oracle
|
|
83
|
+
// did:web), while the expiry cliff was not bounded by anything. Leaked → rotate the owner's key.
|
|
84
|
+
const days = Number(values.days ?? (target === "engine" ? "36500" : "30"));
|
|
85
|
+
const yes = values.yes === true;
|
|
86
|
+
const oracle = target === "engine"
|
|
87
|
+
? (values.oracle ?? fail("--oracle <did:web:oracle host> is required with --for engine"))
|
|
88
|
+
: undefined;
|
|
89
|
+
if (target === "engine" && !audience.startsWith("did:web:")) {
|
|
90
|
+
fail(`--for engine requires --audience did:web:<engine host>, got: ${audience}`);
|
|
91
|
+
}
|
|
92
|
+
const signer = await buildSigner(network);
|
|
93
|
+
const ownerDid = asIxoDid(signer.session.did);
|
|
94
|
+
console.log(`owner: ${ownerDid} (wallet ${signer.address}, ${network})`);
|
|
95
|
+
confirm({
|
|
96
|
+
network,
|
|
97
|
+
signer: ownerDid,
|
|
98
|
+
action: target === "engine"
|
|
99
|
+
? "mint owner→engine UCAN delegation"
|
|
100
|
+
: "mint owner→oracle UCAN delegation",
|
|
101
|
+
lines: target === "engine"
|
|
102
|
+
? [
|
|
103
|
+
`audience: ${audience}`,
|
|
104
|
+
`capabilities: subscriptions/read on ixo:subscriptions · billing/pay on ${oracle}`,
|
|
105
|
+
`expires: ${lifetime(days)}`,
|
|
106
|
+
`out: ${out}`,
|
|
107
|
+
"signs with the AuthHub session's edSigningMnemonic (no Matrix-vault PIN decrypt needed)",
|
|
108
|
+
]
|
|
109
|
+
: [
|
|
110
|
+
`audience: ${audience}`,
|
|
111
|
+
`resource: ${RESOURCE}`,
|
|
112
|
+
`expires: ${lifetime(days)}`,
|
|
113
|
+
`out: ${out}`,
|
|
114
|
+
"signs with the AuthHub session's edSigningMnemonic (no Matrix-vault PIN decrypt needed)",
|
|
115
|
+
],
|
|
116
|
+
}, yes);
|
|
117
|
+
const edSigningMnemonic = signer.session.edSigningMnemonic ??
|
|
118
|
+
fail("AuthHub session has no edSigningMnemonic — re-run login");
|
|
119
|
+
const { signerFromMnemonic, createDelegation, serializeDelegation } = await import("@ixo/ucan");
|
|
120
|
+
const { signer: ucanSigner } = await signerFromMnemonic(edSigningMnemonic, ownerDid);
|
|
121
|
+
const delegation = await createDelegation({
|
|
122
|
+
issuer: ucanSigner,
|
|
123
|
+
audience,
|
|
124
|
+
capabilities: target === "engine" ? ENGINE_CAPABILITIES(oracle) : [{ can: "*", with: RESOURCE }],
|
|
125
|
+
expiration: Math.floor(Date.now() / 1000) + days * 24 * 3600,
|
|
126
|
+
});
|
|
127
|
+
const car = await serializeDelegation(delegation);
|
|
128
|
+
await writeSecretFile(out, car);
|
|
129
|
+
if (target === "engine") {
|
|
130
|
+
console.log(`✓ owner→engine delegation written to ${out}`);
|
|
131
|
+
console.log(` Set it in your .dev.vars: OWNER_DELEGATION_CAR="<contents of ${out}>"`);
|
|
132
|
+
console.log(" If register answers 402: buy credits in the Decision Console (Billing › Credits) as this same account, then register again.");
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
console.log(`✓ delegation ${ownerDid} → ${audience}`);
|
|
136
|
+
console.log(` resource ${RESOURCE} · expires in ${lifetime(days)} · ${car.length} bytes → ${out}`);
|
|
137
|
+
}
|
|
138
|
+
return 0;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Write a bearer credential so it is never readable by anyone else, not even for a moment: a fresh
|
|
142
|
+
* temp file beside `out`, created exclusively (`wx`) at 0600 and chmodded before the secret goes in
|
|
143
|
+
* (umask can only narrow `mode`), then renamed over `out`. A symlink at `out` is refused — the
|
|
144
|
+
* credential would land wherever it points.
|
|
145
|
+
*/
|
|
146
|
+
async function writeSecretFile(out, content) {
|
|
147
|
+
const existing = await lstat(out).catch(() => null);
|
|
148
|
+
if (existing?.isSymbolicLink())
|
|
149
|
+
fail(`--out ${out} is a symlink — refusing to write a credential through it`);
|
|
150
|
+
const tmp = join(dirname(out), `.${basename(out)}.${crypto.randomUUID()}.tmp`);
|
|
151
|
+
try {
|
|
152
|
+
await writeFile(tmp, "", { mode: 0o600, flag: "wx" });
|
|
153
|
+
await chmod(tmp, 0o600);
|
|
154
|
+
await writeFile(tmp, content);
|
|
155
|
+
await rename(tmp, out);
|
|
156
|
+
}
|
|
157
|
+
catch (err) {
|
|
158
|
+
await rm(tmp, { force: true });
|
|
159
|
+
throw err;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=delegation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegation.js","sourceRoot":"","sources":["../../../src/cli/commands/delegation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,QAAQ,GAAG,uBAAuB,CAAC;AAEzC;;yDAEyD;AACzD,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAgB,EAAE,CAAC;IAC/D,EAAE,GAAG,EAAE,oBAAoB,EAAE,IAAI,EAAE,mBAAmB,EAAE;IACxD,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,SAAkC,EAAE;CACjE,CAAC;AAEF;uDACuD;AACvD,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACzE,CAAC;AAED,uGAAuG;AACvG,SAAS,QAAQ,CAAC,KAAa;IAC7B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC;QAC/B,IAAI,CAAC,oDAAoD,KAAK,EAAE,CAAC,CAAC;IACpE,OAAO,KAA4B,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc;IACtC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE;QAC7B,OAAO,EAAE;YACP,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SACzB;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC;IACnC,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC5C,IAAI,CAAC,yCAAyC,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,QAAQ,GACZ,MAAM,CAAC,QAAQ;QACf,IAAI,CACF,MAAM,KAAK,QAAQ;YACjB,CAAC,CAAC,gEAAgE;YAClE,CAAC,CAAC,0CAA0C,CAC/C,CAAC;IACJ,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/C,iFAAiF;IACjF,mGAAmG;IACnG,mFAAmF;IACnF,mGAAmG;IACnG,oGAAoG;IACpG,gGAAgG;IAChG,mGAAmG;IACnG,sFAAsF;IACtF,gGAAgG;IAChG,iGAAiG;IACjG,kGAAkG;IAClG,iGAAiG;IACjG,iGAAiG;IACjG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC;IAEhC,MAAM,MAAM,GACV,MAAM,KAAK,QAAQ;QACjB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,8DAA8D,CAAC,CAAC;QACzF,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,MAAM,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC,gEAAgE,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,UAAU,QAAQ,YAAY,MAAM,CAAC,OAAO,KAAK,OAAO,GAAG,CAAC,CAAC;IAEzE,OAAO,CACL;QACE,OAAO;QACP,MAAM,EAAE,QAAQ;QAChB,MAAM,EACJ,MAAM,KAAK,QAAQ;YACjB,CAAC,CAAC,mCAAmC;YACrC,CAAC,CAAC,mCAAmC;QACzC,KAAK,EACH,MAAM,KAAK,QAAQ;YACjB,CAAC,CAAC;gBACE,aAAa,QAAQ,EAAE;gBACvB,0EAA0E,MAAM,EAAE;gBAClF,aAAa,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAC7B,aAAa,GAAG,EAAE;gBAClB,yFAAyF;aAC1F;YACH,CAAC,CAAC;gBACE,aAAa,QAAQ,EAAE;gBACvB,aAAa,QAAQ,EAAE;gBACvB,aAAa,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAC7B,aAAa,GAAG,EAAE;gBAClB,yFAAyF;aAC1F;KACR,EACD,GAAG,CACJ,CAAC;IAEF,MAAM,iBAAiB,GACrB,MAAM,CAAC,OAAO,CAAC,iBAAiB;QAChC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IAElE,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAChG,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,kBAAkB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC;QACxC,MAAM,EAAE,UAAU;QAClB,QAAQ;QACR,YAAY,EACV,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC9F,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,IAAI;KAC7D,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAEhC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,oEAAoE,GAAG,IAAI,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CACT,+HAA+H,CAChI,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,MAAM,QAAQ,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CACT,cAAc,QAAQ,iBAAiB,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,YAAY,GAAG,EAAE,CACvF,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,OAAe;IACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,QAAQ,EAAE,cAAc,EAAE;QAC5B,IAAI,CAAC,SAAS,GAAG,2DAA2D,CAAC,CAAC;IAChF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC/E,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACxB,MAAM,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9B,MAAM,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `decision-oracle derive` — the chain identity behind an `ORACLE_SECP_MNEMONIC`, derived exactly as
|
|
3
|
+
* the oracle derives it at first use (lib/engine/adr36.ts `deriveOracleKey`: cosmos path
|
|
4
|
+
* m/44'/118'/0'/0/0, `ixo` bech32) — i.e. the three public vars the config needs
|
|
5
|
+
* (`ORACLE_ADDRESS`, `ORACLE_DID`, `ORACLE_MATRIX_USER_ID`), printed as `.dev.vars` lines.
|
|
6
|
+
* `ORACLE_ADDRESS` is asserted against this derivation before the first proof or signature, so a
|
|
7
|
+
* hand-typed one that differs fails loud.
|
|
8
|
+
*
|
|
9
|
+
* decision-oracle derive "<12/24-word mnemonic>" derive from a mnemonic you hold
|
|
10
|
+
* decision-oracle derive --new generate a fresh 24-word one first
|
|
11
|
+
* … [--network devnet] [--homeserver devmx.ixo.earth] the MXID's server (the network's, by default)
|
|
12
|
+
*
|
|
13
|
+
* The mnemonic must be valid BIP-39 English: the ADR-36 proof would accept any string, but the
|
|
14
|
+
* chain signer (`DirectSecp256k1HdWallet`) refuses a bad checksum — so it is refused here first. A
|
|
15
|
+
* fresh one from `--new` also serves as a `SERVICE_ED25519_MNEMONIC` (that key is SHA-256 of the
|
|
16
|
+
* string — lib/ixo/identity.ts — so real words are convention, not a rule).
|
|
17
|
+
*
|
|
18
|
+
* Nothing here touches the network or writes a file: the four lines go to stdout, and a provider
|
|
19
|
+
* pastes them into `.dev.vars` themselves.
|
|
20
|
+
*/
|
|
21
|
+
export declare function run(argv: string[]): Promise<number>;
|
|
22
|
+
//# sourceMappingURL=derive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/derive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AASH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BzD"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `decision-oracle derive` — the chain identity behind an `ORACLE_SECP_MNEMONIC`, derived exactly as
|
|
3
|
+
* the oracle derives it at first use (lib/engine/adr36.ts `deriveOracleKey`: cosmos path
|
|
4
|
+
* m/44'/118'/0'/0/0, `ixo` bech32) — i.e. the three public vars the config needs
|
|
5
|
+
* (`ORACLE_ADDRESS`, `ORACLE_DID`, `ORACLE_MATRIX_USER_ID`), printed as `.dev.vars` lines.
|
|
6
|
+
* `ORACLE_ADDRESS` is asserted against this derivation before the first proof or signature, so a
|
|
7
|
+
* hand-typed one that differs fails loud.
|
|
8
|
+
*
|
|
9
|
+
* decision-oracle derive "<12/24-word mnemonic>" derive from a mnemonic you hold
|
|
10
|
+
* decision-oracle derive --new generate a fresh 24-word one first
|
|
11
|
+
* … [--network devnet] [--homeserver devmx.ixo.earth] the MXID's server (the network's, by default)
|
|
12
|
+
*
|
|
13
|
+
* The mnemonic must be valid BIP-39 English: the ADR-36 proof would accept any string, but the
|
|
14
|
+
* chain signer (`DirectSecp256k1HdWallet`) refuses a bad checksum — so it is refused here first. A
|
|
15
|
+
* fresh one from `--new` also serves as a `SERVICE_ED25519_MNEMONIC` (that key is SHA-256 of the
|
|
16
|
+
* string — lib/ixo/identity.ts — so real words are convention, not a rule).
|
|
17
|
+
*
|
|
18
|
+
* Nothing here touches the network or writes a file: the four lines go to stdout, and a provider
|
|
19
|
+
* pastes them into `.dev.vars` themselves.
|
|
20
|
+
*/
|
|
21
|
+
import { generateMnemonic, validateMnemonic } from "@scure/bip39";
|
|
22
|
+
import { wordlist } from "@scure/bip39/wordlists/english.js";
|
|
23
|
+
import { deriveOracleKey } from "../../lib/engine/adr36.js";
|
|
24
|
+
import { NETWORKS } from "../../networks.js";
|
|
25
|
+
import { parse, UsageError } from "../lib/args.js";
|
|
26
|
+
import { resolveNetwork } from "../lib/chain.js";
|
|
27
|
+
export async function run(argv) {
|
|
28
|
+
const { values, positionals } = parse(argv, {
|
|
29
|
+
options: {
|
|
30
|
+
new: { type: "boolean" },
|
|
31
|
+
homeserver: { type: "string" },
|
|
32
|
+
network: { type: "string" },
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
const network = resolveNetwork(values.network);
|
|
36
|
+
const mnemonic = values.new ? generateMnemonic(wordlist, 256) : positionals[0];
|
|
37
|
+
if (!mnemonic)
|
|
38
|
+
throw new UsageError('derive needs "<mnemonic>" or --new');
|
|
39
|
+
if (!validateMnemonic(mnemonic, wordlist)) {
|
|
40
|
+
console.error("not a valid BIP-39 English mnemonic (wordlist/checksum) — the chain signer would refuse it");
|
|
41
|
+
return 2;
|
|
42
|
+
}
|
|
43
|
+
// The MXID's home server is the network's Matrix home server unless told otherwise — the same
|
|
44
|
+
// per-network map every other command reads, so devnet keeps printing devnet's.
|
|
45
|
+
const homeserver = values.homeserver ?? new URL(NETWORKS[network].matrix).host;
|
|
46
|
+
const { address } = deriveOracleKey(mnemonic);
|
|
47
|
+
console.log(`ORACLE_SECP_MNEMONIC="${mnemonic}"`);
|
|
48
|
+
console.log(`ORACLE_ADDRESS=${address}`);
|
|
49
|
+
console.log(`ORACLE_DID=did:ixo:${address}`);
|
|
50
|
+
console.log(`ORACLE_MATRIX_USER_ID=@did-ixo-${address}:${homeserver}`);
|
|
51
|
+
return 0;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=derive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derive.js","sourceRoot":"","sources":["../../../src/cli/commands/derive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc;IACtC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE;QAC1C,OAAO,EAAE;YACP,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACxB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC5B;KACF,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/E,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,UAAU,CAAC,oCAAoC,CAAC,CAAC;IAC1E,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC1C,OAAO,CAAC,KAAK,CACX,4FAA4F,CAC7F,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,8FAA8F;IAC9F,gFAAgF;IAChF,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;IAE/E,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,yBAAyB,QAAQ,GAAG,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,kCAAkC,OAAO,IAAI,UAAU,EAAE,CAAC,CAAC;IACvE,OAAO,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `decision-oracle engine register` — register this oracle with the decision engine NOW, instead of
|
|
3
|
+
* lazily at its first decide (docs/ENGINE-CONTRACT.md "Registration"). The engine prices an oracle
|
|
4
|
+
* by its plan, and an unregistered oracle has none: the payments facilitator refuses its offers
|
|
5
|
+
* (`plan_inactive`) until it exists there. Registered with no plan row of its own, it runs at the
|
|
6
|
+
* engine's Standard plan at once — payable and listed. Only IXO's OWN oracles move to the IXO-owned
|
|
7
|
+
* plan (staff, in the engine's admin editor); a third-party oracle needs nothing more.
|
|
8
|
+
*
|
|
9
|
+
* It is the oracle's OWN engine client (cli/lib/engine.ts) — the exact `POST /v1/oracles/register`
|
|
10
|
+
* the Worker makes: an invocation minted as `did:web:<ORACLE_HOSTNAME>`, the ADR-36 proof over the
|
|
11
|
+
* `ORACLE_SECP_MNEMONIC` address, and the owner's `OWNER_DELEGATION_CAR`. The engine resolves that
|
|
12
|
+
* did:web by fetching `https://<ORACLE_HOSTNAME>/.well-known/did.json`, so run it against the env
|
|
13
|
+
* that is deployed (`--env devnet`) once the deploy has landed. Idempotent on the engine: running it
|
|
14
|
+
* again re-proves the same binding. Then it reads `GET /v1/oracles/me` for the billing status.
|
|
15
|
+
*
|
|
16
|
+
* It reads `GET /v1/oracles/me` FIRST: the engine upserts by did:web, so registering a did:web the
|
|
17
|
+
* engine already binds to ANOTHER address moves the oracle's identity (its fees, its plan, the
|
|
18
|
+
* address the chain's grants name). That is refused without `--yes`; same address or not yet
|
|
19
|
+
* registered ⇒ it proceeds.
|
|
20
|
+
*
|
|
21
|
+
* decision-oracle engine register [--env <name>] [--env-file <path>] [--engine-url <url>]
|
|
22
|
+
* [--network devnet] [--yes] [--json]
|
|
23
|
+
*/
|
|
24
|
+
export declare function run(argv: string[]): Promise<number>;
|
|
25
|
+
//# sourceMappingURL=engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AASH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAyEzD"}
|