@ixo/decision-oracle 0.0.0-stage → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +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 +121 -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,278 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The facts API's types — everything a provider's handler is handed and everything it may hand
|
|
3
|
+
* back, public through `@ixo/decision-oracle/facts`.
|
|
4
|
+
*
|
|
5
|
+
* The shape of the deal (spec §3.4): a handler answers ONE named fact off the rubric's work order
|
|
6
|
+
* (the engine's manifest — the kit never parses a rubric). It gets the pulled claim, the frozen
|
|
7
|
+
* ctx, the declaration the engine published for that name, the `send` payload already resolved,
|
|
8
|
+
* and `tools` — the kit's own machinery (the stock lane, HTTP with UCAN, the AI judge, attachment
|
|
9
|
+
* bytes, C2PA, the buyer statement) so a handler almost never has to reach for `fetch`. It returns
|
|
10
|
+
* a value; the RUNNER (lib/facts/runner.ts) turns that into a frozen fact under rules a handler
|
|
11
|
+
* cannot break — a plain return is an `ok` fact, an error carries the MANIFEST's `onError`, and a
|
|
12
|
+
* throw is an error too. That is the invariant: a fact handler can never turn a failure into an
|
|
13
|
+
* approve. Only `fact.retryLater()` gets out, as the transient signal the workflow step retries on.
|
|
14
|
+
*
|
|
15
|
+
* Type-only, on purpose: this file must stay loadable in plain node (the `./facts` subpath is what
|
|
16
|
+
* a provider imports from their test suite), so it imports nothing but types.
|
|
17
|
+
*/
|
|
18
|
+
import type { Config } from "../config.js";
|
|
19
|
+
import type { OracleEnv } from "../env.js";
|
|
20
|
+
import type { Agreement, Manifest, ManifestAi, ManifestExt } from "../lib/engine/types.js";
|
|
21
|
+
import type { AiFact, CtxFacts, ExtFact, FactSettings, FrequencyFact, Provenance, Transcript, UniqueFact } from "../lib/facts/factset.js";
|
|
22
|
+
import type { FrequencyRule, UniqueRule } from "../lib/facts/stock/rule-defaults.js";
|
|
23
|
+
import type { PulledClaim } from "../lib/ixo/index.js";
|
|
24
|
+
import type { Attachment, AttachmentBody } from "../lib/ixo/attachments.js";
|
|
25
|
+
import type { ClaimIntent, LinkedResource } from "../lib/ixo/blocksync/types.js";
|
|
26
|
+
import type { QueryClient } from "../lib/ixo/chain.js";
|
|
27
|
+
import type { Logger } from "../lib/logger.js";
|
|
28
|
+
/** The chain shapes a handler reading `tools.chain` types against — re-exported through `./facts`. */
|
|
29
|
+
export type { ClaimIntent, LinkedResource };
|
|
30
|
+
/**
|
|
31
|
+
* A `send` entry in declared order: a scalar value, or an attachment on the named question. Defined
|
|
32
|
+
* here rather than in the AI connector because it is what `tools.ai.judge()` takes — the connector
|
|
33
|
+
* (stock/ai-check.ts) imports it back from this file.
|
|
34
|
+
*/
|
|
35
|
+
export type AiSendEntry = {
|
|
36
|
+
kind: "text";
|
|
37
|
+
key: string;
|
|
38
|
+
value: unknown;
|
|
39
|
+
} | {
|
|
40
|
+
kind: "attachment";
|
|
41
|
+
key: string;
|
|
42
|
+
attachment: Attachment;
|
|
43
|
+
};
|
|
44
|
+
/** What EVERY handler sees: the claim, its answers, the build's frozen ctx, and the work order. */
|
|
45
|
+
export interface FactInputBase {
|
|
46
|
+
claim: PulledClaim;
|
|
47
|
+
/** `claim.body` — the credentialSubject, verbatim. */
|
|
48
|
+
answers: Record<string, unknown>;
|
|
49
|
+
/** The build's ONE clock read and the collection window — never re-read the clock in a handler. */
|
|
50
|
+
ctx: CtxFacts;
|
|
51
|
+
/** The oracle's ai/image policy for this build (`defineOracle` `policies`). */
|
|
52
|
+
settings: FactSettings;
|
|
53
|
+
/** The whole work order — `fields`, `derived`, `ctx`, `usedBy`: context a handler may read. */
|
|
54
|
+
manifest: Manifest;
|
|
55
|
+
}
|
|
56
|
+
export interface ExtInput extends FactInputBase {
|
|
57
|
+
/** The `<name>` in `ext.<name>` — the work-order key this handler is answering. */
|
|
58
|
+
name: string;
|
|
59
|
+
expected: ManifestExt;
|
|
60
|
+
/** The declared `send` map resolved against the answers + ctx (`~derived` slots are null). */
|
|
61
|
+
send: Record<string, unknown>;
|
|
62
|
+
/** The `~derived` refs the engine, not the kit, computes — reported, never guessed. */
|
|
63
|
+
unresolved: string[];
|
|
64
|
+
}
|
|
65
|
+
export interface AiInput extends FactInputBase {
|
|
66
|
+
name: string;
|
|
67
|
+
check: ManifestAi;
|
|
68
|
+
send: Record<string, unknown>;
|
|
69
|
+
unresolved: string[];
|
|
70
|
+
/** The `send` map as typed, ordered model inputs — attachments on the lane, scalars as text. */
|
|
71
|
+
inputs: AiSendEntry[];
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* ONE call, SEVERAL declared sources — what a grouped handler (`group([...], handler)`) is handed.
|
|
75
|
+
* The case it exists for: four criteria judged by one structured model call. Answering them as four
|
|
76
|
+
* single handlers buys four completions for one judgment; a group buys one.
|
|
77
|
+
*
|
|
78
|
+
* It is a cheaper way to ANSWER, never a looser way to fail — every name a group returns is held to
|
|
79
|
+
* exactly the rules a single handler's fact meets (the manifest's `onError`, the fact cache, the
|
|
80
|
+
* type check), and a name it leaves out becomes that name's own error fact. See `runner.ts`.
|
|
81
|
+
*/
|
|
82
|
+
export interface GroupInput extends FactInputBase {
|
|
83
|
+
/**
|
|
84
|
+
* The names THIS call must answer: the group's declared names, minus any the work order does not
|
|
85
|
+
* declare and any a previous attempt already paid for (the fact cache wins). Answer these.
|
|
86
|
+
*/
|
|
87
|
+
names: string[];
|
|
88
|
+
/** Per name, the same input a single `ExtHandler` gets — its declaration and its resolved `send`. */
|
|
89
|
+
sources: Record<string, ExtInput>;
|
|
90
|
+
}
|
|
91
|
+
/** One fact per name. A name left out is that name's `error` fact, with the rubric's own `onError`. */
|
|
92
|
+
export type GroupResult = Record<string, ExtResult>;
|
|
93
|
+
/**
|
|
94
|
+
* What `group(names, handler)` builds — an entry in `defineFacts({ groups: [...] })`. Two handlers
|
|
95
|
+
* for one name is refused where the table is written (`defineFacts`), not raced at runtime.
|
|
96
|
+
*/
|
|
97
|
+
export interface FactGroup {
|
|
98
|
+
readonly kind: "fact-group";
|
|
99
|
+
names: readonly string[];
|
|
100
|
+
handler: GroupHandler;
|
|
101
|
+
}
|
|
102
|
+
export interface UniqueInput extends FactInputBase {
|
|
103
|
+
rule: UniqueRule;
|
|
104
|
+
}
|
|
105
|
+
export interface FrequencyInput extends FactInputBase {
|
|
106
|
+
/** Null when the manifest declared the rule without `max`/`per` — unrunnable by the stock lane. */
|
|
107
|
+
rule: FrequencyRule | null;
|
|
108
|
+
}
|
|
109
|
+
/** `fact.error(detail)` — the runner stamps the manifest's onError; a handler never chooses it. */
|
|
110
|
+
export interface FactErrorDraft {
|
|
111
|
+
status: "error";
|
|
112
|
+
detail: string;
|
|
113
|
+
transcript?: Transcript;
|
|
114
|
+
}
|
|
115
|
+
export type ExtResult = boolean | number | ExtFact | FactErrorDraft;
|
|
116
|
+
export type AiResult = boolean | AiFact | FactErrorDraft;
|
|
117
|
+
export type ExtHandler = (input: ExtInput, tools: ExtTools) => Promise<ExtResult> | ExtResult;
|
|
118
|
+
export type AiHandler = (input: AiInput, tools: AiTools) => Promise<AiResult> | AiResult;
|
|
119
|
+
export type GroupHandler = (input: GroupInput, tools: FactTools) => Promise<GroupResult> | GroupResult;
|
|
120
|
+
export type UniqueHandler = (input: UniqueInput, tools: FactTools) => Promise<UniqueFact> | UniqueFact;
|
|
121
|
+
export type FrequencyHandler = (input: FrequencyInput, tools: FactTools) => Promise<FrequencyFact> | FrequencyFact;
|
|
122
|
+
/**
|
|
123
|
+
* What `defineFacts()` returns — the per-name handler table the runner routes through. Every name
|
|
124
|
+
* the provider did NOT list runs the stock lane, so a config is always a diff against stock, never
|
|
125
|
+
* a replacement of it. The `"*"` key under `ai` is the one wildcard: it catches every check the
|
|
126
|
+
* table does not name (a named handler still wins).
|
|
127
|
+
*/
|
|
128
|
+
export interface FactsConfig {
|
|
129
|
+
readonly kind: "facts-config";
|
|
130
|
+
ext: Record<string, ExtHandler>;
|
|
131
|
+
ai: Record<string, AiHandler>;
|
|
132
|
+
/** `group([...], handler)` entries — one handler answering several sources from one call. */
|
|
133
|
+
groups: FactGroup[];
|
|
134
|
+
unique?: UniqueHandler;
|
|
135
|
+
frequency?: FrequencyHandler;
|
|
136
|
+
}
|
|
137
|
+
/** What a provider writes — everything optional; `defineFacts` fills the gaps. */
|
|
138
|
+
export interface FactsDeclaration {
|
|
139
|
+
ext?: Record<string, ExtHandler>;
|
|
140
|
+
ai?: Record<string, AiHandler>;
|
|
141
|
+
groups?: FactGroup[];
|
|
142
|
+
unique?: UniqueHandler;
|
|
143
|
+
frequency?: FrequencyHandler;
|
|
144
|
+
}
|
|
145
|
+
export interface HttpJsonInit {
|
|
146
|
+
method?: "GET" | "POST";
|
|
147
|
+
headers?: Record<string, string>;
|
|
148
|
+
body?: unknown;
|
|
149
|
+
timeoutMs?: number;
|
|
150
|
+
/** Default 3. Only a 5xx, 408, 429 or network error is retried; any other 4xx is answered once. */
|
|
151
|
+
attempts?: number;
|
|
152
|
+
/**
|
|
153
|
+
* Sign the call as this oracle: a self-signed UCAN from its did:web to THE HOST OF `url` (never
|
|
154
|
+
* an audience you name, so a token can only reach the host it was minted for). `true` signs
|
|
155
|
+
* `{ can: "*", with: "ixo:external-source" }`; `{ capability }` signs yours — set in code, never
|
|
156
|
+
* the rubric's `expected.capability`. An IXO service capability throws (an error fact).
|
|
157
|
+
*/
|
|
158
|
+
ucan?: true | {
|
|
159
|
+
capability: {
|
|
160
|
+
can: string;
|
|
161
|
+
with: string;
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
export interface HttpJsonResult<T = unknown> {
|
|
166
|
+
ok: boolean;
|
|
167
|
+
/** null = no HTTP response at all (network error / timeout on every attempt). */
|
|
168
|
+
status: number | null;
|
|
169
|
+
body: T | null;
|
|
170
|
+
/** The §A.14.1 "why did the engine decide this" record — hand it back on the fact. */
|
|
171
|
+
transcript: Transcript;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* The chain, as a handler may read it. The package's `exports` block deep imports, so without this
|
|
175
|
+
* a handler answering a chain-shaped fact (is the agent's card still the one we agreed to?) would
|
|
176
|
+
* hand-roll GraphQL against `config.BLOCKSYNC_GRAPHQL_URL` — untyped, unparsed, and duplicated per
|
|
177
|
+
* oracle.
|
|
178
|
+
*
|
|
179
|
+
* READS ONLY, and generic on purpose: nothing here knows what an agent card is. The act lane
|
|
180
|
+
* (signing) is the package's, never a handler's. Nor is there a general message-history read: the
|
|
181
|
+
* ONE thing an oracle may look up about what preceded a claim is the agent's own commitment
|
|
182
|
+
* (`claimIntent`), and it is on this interface precisely so it can be one filtered query rather
|
|
183
|
+
* than a handler paging the chain.
|
|
184
|
+
*
|
|
185
|
+
* Blocksync being unreachable throws (`AppError.unavailable`), which the runner lets through as the
|
|
186
|
+
* workflow step's retry signal — the deliberate opposite of an empty answer, which is a FACT (this
|
|
187
|
+
* entity anchors nothing; this agent filed no intent). Catch one only if "could not read the chain"
|
|
188
|
+
* is genuinely the fact you mean, and say so with `fact.error`.
|
|
189
|
+
*/
|
|
190
|
+
export interface ChainTools {
|
|
191
|
+
/** The LinkedResources an entity DID anchors — `#rub`, `#vct`, a card, with their `proof` hashes. */
|
|
192
|
+
linkedResources(entityDid: string): Promise<LinkedResource[]>;
|
|
193
|
+
/**
|
|
194
|
+
* The newest `MsgClaimIntent` this agent filed on this collection before `before` (the claim's
|
|
195
|
+
* submission date), or null when it filed none — a clock to measure delivery from, and the tx
|
|
196
|
+
* hash to cite for it. Pass `after` to floor the search: nothing filed before the user consented
|
|
197
|
+
* can be this agreement's commitment, so an older intent from a previous engagement on the same
|
|
198
|
+
* collection must not be picked up as this claim's clock.
|
|
199
|
+
*
|
|
200
|
+
* ONE server-side filtered query, never a scan: the indexer narrows by message type, by the
|
|
201
|
+
* agent/collection inside the message's jsonb `value`, and by time, and returns at most one row.
|
|
202
|
+
* A handler must not page the chain looking for this itself.
|
|
203
|
+
*/
|
|
204
|
+
claimIntent(params: {
|
|
205
|
+
agentAddress: string;
|
|
206
|
+
collectionId: string;
|
|
207
|
+
before: string;
|
|
208
|
+
after?: string;
|
|
209
|
+
}): Promise<ClaimIntent | null>;
|
|
210
|
+
/**
|
|
211
|
+
* The chain RPC query client (`@ixo/impactxclient-sdk`) for this oracle's network — balances,
|
|
212
|
+
* grants, module state. The SDK is heavy, so it loads on FIRST call and the client is memoised
|
|
213
|
+
* per isolate; a handler that never asks never pays for it.
|
|
214
|
+
*/
|
|
215
|
+
query(): Promise<QueryClient>;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* The kit's machinery, per fact — what makes a handler a few lines instead of a connector. Built
|
|
219
|
+
* per target so `stock()` means "the stock lane for THIS fact": wrap it, fall back to it, or
|
|
220
|
+
* ignore it.
|
|
221
|
+
*
|
|
222
|
+
* The type parameter is which fact `stock()` answers, so `return tools.stock()` type-checks as the
|
|
223
|
+
* body of a handler with no cast: an ext handler sees `Promise<ExtFact>`, an ai handler
|
|
224
|
+
* `Promise<AiFact>` (`ExtTools` / `AiTools` below). `unique`/`frequency` handlers get the bare
|
|
225
|
+
* union — their `stock()` throws by design, because such a handler REPLACES its lane wholesale.
|
|
226
|
+
*/
|
|
227
|
+
export interface FactTools<F extends ExtFact | AiFact = ExtFact | AiFact> {
|
|
228
|
+
/** The stock lane for this fact — the batteries a custom handler wraps rather than reimplements. */
|
|
229
|
+
stock(): Promise<F>;
|
|
230
|
+
http: {
|
|
231
|
+
json<T = unknown>(url: string, init?: HttpJsonInit): Promise<HttpJsonResult<T>>;
|
|
232
|
+
/**
|
|
233
|
+
* A self-signed UCAN invocation addressed to `audience` — this oracle's did:web signs it.
|
|
234
|
+
* `audience` must be the did:web of the host you send it to; prefer `json(url, { ucan })`,
|
|
235
|
+
* which binds it for you. `capability` defaults to `ixo:external-source`; yours is set in
|
|
236
|
+
* code, never the rubric's `expected.capability`. An IXO service capability throws.
|
|
237
|
+
*/
|
|
238
|
+
ucanHeaders(audience: string, capability?: {
|
|
239
|
+
can: string;
|
|
240
|
+
with: string;
|
|
241
|
+
}): Promise<Record<string, string>>;
|
|
242
|
+
};
|
|
243
|
+
ai: {
|
|
244
|
+
judge(instructions: string[], inputs: AiSendEntry[], opts?: {
|
|
245
|
+
model?: string;
|
|
246
|
+
}): Promise<AiFact>;
|
|
247
|
+
/** The declared `send` map as the judge's typed inputs — the attachment lane included. */
|
|
248
|
+
inputsFor(check: ManifestAi): AiSendEntry[];
|
|
249
|
+
};
|
|
250
|
+
attachments: {
|
|
251
|
+
on(question: string): Attachment[];
|
|
252
|
+
bytes(att: Attachment, opts?: {
|
|
253
|
+
maxBytes?: number;
|
|
254
|
+
timeoutMs?: number;
|
|
255
|
+
}): Promise<AttachmentBody>;
|
|
256
|
+
size(att: Attachment): Promise<number | null>;
|
|
257
|
+
};
|
|
258
|
+
c2pa: {
|
|
259
|
+
screen(bytes: Uint8Array | ArrayBuffer, mediaType?: string): Promise<Provenance | null>;
|
|
260
|
+
};
|
|
261
|
+
/** Blocksync + chain RPC reads — see `ChainTools`. */
|
|
262
|
+
chain: ChainTools;
|
|
263
|
+
/**
|
|
264
|
+
* The engine's buyer statement — read LAST, right before returning the fact it feeds (the engine
|
|
265
|
+
* records the snapshot current at decision time on its receipt). Omit `counterparty` for the
|
|
266
|
+
* claim's own agent, the usual question; pass an explicit `null` for the COLLECTION's own terms,
|
|
267
|
+
* the statement that names no counterparty.
|
|
268
|
+
*/
|
|
269
|
+
agreement(counterparty?: string | null): Promise<Agreement | null>;
|
|
270
|
+
logger: Logger;
|
|
271
|
+
config: Config;
|
|
272
|
+
env: OracleEnv;
|
|
273
|
+
}
|
|
274
|
+
/** `FactTools` as an ext handler sees it: `stock()` is the external-source lane for its own name. */
|
|
275
|
+
export type ExtTools = FactTools<ExtFact>;
|
|
276
|
+
/** `FactTools` as an ai handler sees it: `stock()` is the OpenRouter lane for its own check. */
|
|
277
|
+
export type AiTools = FactTools<AiFact>;
|
|
278
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/facts/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The facts API's types — everything a provider's handler is handed and everything it may hand
|
|
3
|
+
* back, public through `@ixo/decision-oracle/facts`.
|
|
4
|
+
*
|
|
5
|
+
* The shape of the deal (spec §3.4): a handler answers ONE named fact off the rubric's work order
|
|
6
|
+
* (the engine's manifest — the kit never parses a rubric). It gets the pulled claim, the frozen
|
|
7
|
+
* ctx, the declaration the engine published for that name, the `send` payload already resolved,
|
|
8
|
+
* and `tools` — the kit's own machinery (the stock lane, HTTP with UCAN, the AI judge, attachment
|
|
9
|
+
* bytes, C2PA, the buyer statement) so a handler almost never has to reach for `fetch`. It returns
|
|
10
|
+
* a value; the RUNNER (lib/facts/runner.ts) turns that into a frozen fact under rules a handler
|
|
11
|
+
* cannot break — a plain return is an `ok` fact, an error carries the MANIFEST's `onError`, and a
|
|
12
|
+
* throw is an error too. That is the invariant: a fact handler can never turn a failure into an
|
|
13
|
+
* approve. Only `fact.retryLater()` gets out, as the transient signal the workflow step retries on.
|
|
14
|
+
*
|
|
15
|
+
* Type-only, on purpose: this file must stay loadable in plain node (the `./facts` subpath is what
|
|
16
|
+
* a provider imports from their test suite), so it imports nothing but types.
|
|
17
|
+
*/
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/facts/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@ixo/decision-oracle` — the package index: what a provider's worker entry imports.
|
|
3
|
+
*
|
|
4
|
+
* The whole runtime surface is `defineOracle()` (define-oracle.ts): it validates and registers the
|
|
5
|
+
* provider's config and hands back every export the Workers runtime needs. Everything else here is
|
|
6
|
+
* types — the config shape, the env contract a provider's wrangler.jsonc must satisfy (env.ts),
|
|
7
|
+
* the validated config, and the network table `IXO_NETWORK` defaults from (networks.ts), exported
|
|
8
|
+
* so a provider can name a network or a default without hardcoding a URL.
|
|
9
|
+
*
|
|
10
|
+
* NOT the worker entry any more: `wrangler.jsonc` points at src/dev-worker.ts, this package's own
|
|
11
|
+
* dev/test oracle, which is never published.
|
|
12
|
+
*
|
|
13
|
+
* The act seam's types are here too, since `policies.act` is written in the same config object;
|
|
14
|
+
* the FUNCTION that releases a held decision is worker-only and lives at
|
|
15
|
+
* `@ixo/decision-oracle/runtime` (src/runtime.ts).
|
|
16
|
+
*/
|
|
17
|
+
export type { ActContext, ActDecision, ActFacts, ActPolicy } from "./act.js";
|
|
18
|
+
export type { Config } from "./config.js";
|
|
19
|
+
export type { OracleWorker } from "./define-oracle.js";
|
|
20
|
+
export { defineOracle } from "./define-oracle.js";
|
|
21
|
+
export type { OracleBindings, OracleEnv, OracleVars } from "./env.js";
|
|
22
|
+
export type { IxoNetwork } from "./networks.js";
|
|
23
|
+
export { NETWORKS, networkDefaults } from "./networks.js";
|
|
24
|
+
export type { ArchiveAbout, ArchiveAnswerView, ArchiveAsk, ArchiveDoc, ArchiveHooks, ArchiveKind, OracleConfig, } from "./oracle.js";
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC1E,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvD,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,YAAY,GACb,MAAM,UAAU,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@ixo/decision-oracle` — the package index: what a provider's worker entry imports.
|
|
3
|
+
*
|
|
4
|
+
* The whole runtime surface is `defineOracle()` (define-oracle.ts): it validates and registers the
|
|
5
|
+
* provider's config and hands back every export the Workers runtime needs. Everything else here is
|
|
6
|
+
* types — the config shape, the env contract a provider's wrangler.jsonc must satisfy (env.ts),
|
|
7
|
+
* the validated config, and the network table `IXO_NETWORK` defaults from (networks.ts), exported
|
|
8
|
+
* so a provider can name a network or a default without hardcoding a URL.
|
|
9
|
+
*
|
|
10
|
+
* NOT the worker entry any more: `wrangler.jsonc` points at src/dev-worker.ts, this package's own
|
|
11
|
+
* dev/test oracle, which is never published.
|
|
12
|
+
*
|
|
13
|
+
* The act seam's types are here too, since `policies.act` is written in the same config object;
|
|
14
|
+
* the FUNCTION that releases a held decision is worker-only and lives at
|
|
15
|
+
* `@ixo/decision-oracle/runtime` (src/runtime.ts).
|
|
16
|
+
*/
|
|
17
|
+
export { defineOracle } from "./define-oracle.js";
|
|
18
|
+
export { NETWORKS, networkDefaults } from "./networks.js";
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The door from the API router into durable execution — the `startApiClaim` seam
|
|
3
|
+
* (src/contracts/start-api-claim.ts, Go Prod §4.6, §11.3). Two calls because only a paid claim may
|
|
4
|
+
* run (§11.4): `recordApiClaims` after `/verify` has reserved the price, then `startApiClaims`.
|
|
5
|
+
*
|
|
6
|
+
* `recordApiClaims` writes each claim in ONE `db.batch` — `claim_ingests` (`queued`, `lane: api`),
|
|
7
|
+
* `api_claims` (canonical body, its digest, the erasure-proof `submitterDigest`) and `api_charges`
|
|
8
|
+
* (`reserved`) — every insert `onConflictDoNothing`, so the `claim_ingests` primary key stays the
|
|
9
|
+
* whole duplicate guard, as it is for the cron. It starts nothing.
|
|
10
|
+
*
|
|
11
|
+
* `startApiClaims` starts only what may run: a claim whose price is reserved, or a free one. The
|
|
12
|
+
* caller's word is not enough for money (§1.3 "never for an unpaid run"), so the charge row is read
|
|
13
|
+
* again here. `createBatch` skips an id that already exists, so a repeat is free. The `accepted`
|
|
14
|
+
* event (timeline + `claim.accepted`) is the workflow's first notify, not this request's: a
|
|
15
|
+
* 100-claim batch must not wait on 100 records built and posted.
|
|
16
|
+
*/
|
|
17
|
+
import type { RecordApiClaims, StartApiClaims, SubmitClaimRequest } from "../../contracts/index.js";
|
|
18
|
+
import type { ApiClaimContent } from "../engine/types.js";
|
|
19
|
+
/**
|
|
20
|
+
* The claim CONTENT (contract "The claim content and `contentDigest`", company authority D3): the
|
|
21
|
+
* strict-parsed submit minus transport (`webhookUrl`), with the resolved `protocolDid`. Only the
|
|
22
|
+
* caller's own `submitter` — an oracle fill is never the app's word — and the attachments as sent,
|
|
23
|
+
* before media-type detection rewrites them, so the SDK recomputes the same digest from what the
|
|
24
|
+
* app holds. An absent optional stays absent.
|
|
25
|
+
*/
|
|
26
|
+
export declare function claimContent(body: SubmitClaimRequest, protocolDid: string): ApiClaimContent;
|
|
27
|
+
export declare const recordApiClaims: RecordApiClaims;
|
|
28
|
+
export declare const startApiClaims: StartApiClaims;
|
|
29
|
+
//# sourceMappingURL=accept.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accept.d.ts","sourceRoot":"","sources":["../../../src/lib/api-lane/accept.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EAEV,eAAe,EAEf,cAAc,EACd,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AA0BvD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,GAAG,eAAe,CAQ3F;AAED,eAAO,MAAM,eAAe,EAAE,eAW7B,CAAC;AAwHF,eAAO,MAAM,cAAc,EAAE,cAM5B,CAAC"}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The door from the API router into durable execution — the `startApiClaim` seam
|
|
3
|
+
* (src/contracts/start-api-claim.ts, Go Prod §4.6, §11.3). Two calls because only a paid claim may
|
|
4
|
+
* run (§11.4): `recordApiClaims` after `/verify` has reserved the price, then `startApiClaims`.
|
|
5
|
+
*
|
|
6
|
+
* `recordApiClaims` writes each claim in ONE `db.batch` — `claim_ingests` (`queued`, `lane: api`),
|
|
7
|
+
* `api_claims` (canonical body, its digest, the erasure-proof `submitterDigest`) and `api_charges`
|
|
8
|
+
* (`reserved`) — every insert `onConflictDoNothing`, so the `claim_ingests` primary key stays the
|
|
9
|
+
* whole duplicate guard, as it is for the cron. It starts nothing.
|
|
10
|
+
*
|
|
11
|
+
* `startApiClaims` starts only what may run: a claim whose price is reserved, or a free one. The
|
|
12
|
+
* caller's word is not enough for money (§1.3 "never for an unpaid run"), so the charge row is read
|
|
13
|
+
* again here. `createBatch` skips an id that already exists, so a repeat is free. The `accepted`
|
|
14
|
+
* event (timeline + `claim.accepted`) is the workflow's first notify, not this request's: a
|
|
15
|
+
* 100-claim batch must not wait on 100 records built and posted.
|
|
16
|
+
*/
|
|
17
|
+
import { and, eq, inArray, isNull, like } from "drizzle-orm";
|
|
18
|
+
import { getDb } from "../../db/client.js";
|
|
19
|
+
import { apiCharges, apiClaims, apiUploads, claimIngests } from "../../db/schema.js";
|
|
20
|
+
import { AppError } from "../errors.js";
|
|
21
|
+
import { hmacDigest } from "../facts/stock/normalize.js";
|
|
22
|
+
import { contentDigest } from "../hash.js";
|
|
23
|
+
import { instanceIdFor } from "../ids.js";
|
|
24
|
+
import { depsFromEnv } from "../ixo/index.js";
|
|
25
|
+
import { currentCorrelation } from "../metrics.js";
|
|
26
|
+
import { schemeOf, sealHeader } from "../payments/header-seal.js";
|
|
27
|
+
import { apiScopeId, UPLOAD_KEY_PREFIX } from "./ids.js";
|
|
28
|
+
import { withMediaTypes } from "./media-type.js";
|
|
29
|
+
import { bodyDigest } from "./source.js";
|
|
30
|
+
/** Under createBatch's ceiling (100) and D1's 100 bound parameters per statement, which the
|
|
31
|
+
* start read spends on the ids PLUS its `status = 'queued'`. */
|
|
32
|
+
const CHUNK = 99;
|
|
33
|
+
/** Upload ids per bind UPDATE — 90 ids + 4 other bound parameters stays under D1's 100. */
|
|
34
|
+
const UPLOADS_PER_BIND = 90;
|
|
35
|
+
function chunk(items, size) {
|
|
36
|
+
const out = [];
|
|
37
|
+
for (let i = 0; i < items.length; i += size)
|
|
38
|
+
out.push(items.slice(i, i + size));
|
|
39
|
+
return out;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The claim CONTENT (contract "The claim content and `contentDigest`", company authority D3): the
|
|
43
|
+
* strict-parsed submit minus transport (`webhookUrl`), with the resolved `protocolDid`. Only the
|
|
44
|
+
* caller's own `submitter` — an oracle fill is never the app's word — and the attachments as sent,
|
|
45
|
+
* before media-type detection rewrites them, so the SDK recomputes the same digest from what the
|
|
46
|
+
* app holds. An absent optional stays absent.
|
|
47
|
+
*/
|
|
48
|
+
export function claimContent(body, protocolDid) {
|
|
49
|
+
return {
|
|
50
|
+
protocolDid,
|
|
51
|
+
answers: body.answers,
|
|
52
|
+
...(body.attachments !== undefined ? { attachments: body.attachments } : {}),
|
|
53
|
+
...(body.submitter !== undefined ? { submitter: body.submitter } : {}),
|
|
54
|
+
...(body.metadata !== undefined ? { metadata: body.metadata } : {}),
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export const recordApiClaims = async (env, claims) => {
|
|
58
|
+
const { config, logger } = depsFromEnv(env);
|
|
59
|
+
const db = getDb(env);
|
|
60
|
+
// Stored as detected, so every evaluate and fold reads one frozen type; `requestDigest` was taken
|
|
61
|
+
// over the caller's own request, so an identical resubmit still compares equal.
|
|
62
|
+
const attachments = await withMediaTypes(claims.map((c) => c.attachments));
|
|
63
|
+
return Promise.all(claims.map((c, i) => recordOne(db, logger, config, { ...c, attachments: attachments[i] ?? [] })));
|
|
64
|
+
};
|
|
65
|
+
async function recordOne(db, logger, config, claim) {
|
|
66
|
+
const { claimId, sourceId } = claim;
|
|
67
|
+
const digest = await submitterDigest(logger, config.UNIQUE_HMAC_KEY, sourceId, claim.submitter);
|
|
68
|
+
// The verified header embeds the payer's reusable payment delegation: kept sealed, its scheme in
|
|
69
|
+
// the clear beside it (payments/header-seal.ts).
|
|
70
|
+
const header = claim.charge?.paymentHeader;
|
|
71
|
+
const paymentHeader = header ? await sealHeader(config, header) : null;
|
|
72
|
+
const uploadIds = claim.attachments.flatMap((a) => ("uploadId" in a ? [a.uploadId] : []));
|
|
73
|
+
const [ingest] = await db.batch([
|
|
74
|
+
db
|
|
75
|
+
.insert(claimIngests)
|
|
76
|
+
.values({
|
|
77
|
+
claimId,
|
|
78
|
+
collectionId: apiScopeId(sourceId, claim.protocolDid),
|
|
79
|
+
status: "queued",
|
|
80
|
+
lane: "api",
|
|
81
|
+
})
|
|
82
|
+
.onConflictDoNothing()
|
|
83
|
+
.returning({ claimId: claimIngests.claimId }),
|
|
84
|
+
db
|
|
85
|
+
.insert(apiClaims)
|
|
86
|
+
.values({
|
|
87
|
+
claimId,
|
|
88
|
+
sourceId,
|
|
89
|
+
protocolDid: claim.protocolDid,
|
|
90
|
+
body: claim.answers,
|
|
91
|
+
bodyDigest: await bodyDigest(claim.answers),
|
|
92
|
+
attachments: claim.attachments,
|
|
93
|
+
submitter: claim.submitter,
|
|
94
|
+
submitterDigest: digest,
|
|
95
|
+
metadata: claim.metadata,
|
|
96
|
+
idempotencyKey: claim.idempotencyKey,
|
|
97
|
+
requestDigest: claim.requestDigest,
|
|
98
|
+
content: claim.content,
|
|
99
|
+
contentDigest: await contentDigest(claim.content),
|
|
100
|
+
submittedBy: claim.submittedBy,
|
|
101
|
+
submittedVia: claim.submittedVia?.name ?? null,
|
|
102
|
+
submittedViaVerified: claim.submittedVia?.verified ?? null,
|
|
103
|
+
webhookUrl: claim.webhookUrl,
|
|
104
|
+
via: claim.oauth ? `oauth:${claim.oauth.clientId}` : null,
|
|
105
|
+
})
|
|
106
|
+
.onConflictDoNothing(),
|
|
107
|
+
// The uploads the claim names become ITS files: bound once (never re-bound to another claim),
|
|
108
|
+
// and kept until the organisation erases the claim (retention.ts) — `deleteAt` cleared, so an
|
|
109
|
+
// upload made before the owner's 2026-10-11 rule loses the old orphan clock it carried. Chunked:
|
|
110
|
+
// the ids plus the source, the prefix and the two set values must fit D1's 100 bound
|
|
111
|
+
// parameters, and a claim may name 100 uploads — one statement failed here AFTER `/verify`
|
|
112
|
+
// reserved the price. Still inside this one batch, so the bind is all or nothing.
|
|
113
|
+
...chunk(uploadIds, UPLOADS_PER_BIND).map((ids) => db
|
|
114
|
+
.update(apiUploads)
|
|
115
|
+
.set({ claimId, deleteAt: null })
|
|
116
|
+
.where(and(inArray(apiUploads.uploadId, ids), eq(apiUploads.sourceId, sourceId), isNull(apiUploads.claimId),
|
|
117
|
+
// checkSubmission refused an export already; the bind never takes one either.
|
|
118
|
+
like(apiUploads.r2Key, `${UPLOAD_KEY_PREFIX}%`)))),
|
|
119
|
+
...(claim.charge
|
|
120
|
+
? [
|
|
121
|
+
db
|
|
122
|
+
.insert(apiCharges)
|
|
123
|
+
.values({
|
|
124
|
+
claimId,
|
|
125
|
+
sourceId,
|
|
126
|
+
amount: claim.charge.amount,
|
|
127
|
+
amountCents: claim.charge.amountCents,
|
|
128
|
+
offerId: claim.charge.offerId,
|
|
129
|
+
payerDid: claim.charge.payerDid,
|
|
130
|
+
paymentHeader,
|
|
131
|
+
scheme: header ? schemeOf(header) : null,
|
|
132
|
+
keyPrefix: claim.keyPrefix,
|
|
133
|
+
via: claim.oauth ? `oauth:${claim.oauth.grantId}` : null,
|
|
134
|
+
status: "reserved",
|
|
135
|
+
})
|
|
136
|
+
.onConflictDoNothing(),
|
|
137
|
+
]
|
|
138
|
+
: []),
|
|
139
|
+
]);
|
|
140
|
+
if (ingest.length > 0)
|
|
141
|
+
return { claimId, status: "recorded" };
|
|
142
|
+
const charge = await db.query.apiCharges.findFirst({
|
|
143
|
+
columns: { status: true },
|
|
144
|
+
where: eq(apiCharges.claimId, claimId),
|
|
145
|
+
});
|
|
146
|
+
// `offered` is a chain claim's charge state (review billing), never an API claim's.
|
|
147
|
+
const status = charge?.status === "offered" ? null : (charge?.status ?? null);
|
|
148
|
+
return { claimId, status: "exists", charge: status };
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* HMAC of `sourceId|submitter` (§6.1): the frequency count's key, and it survives erasure. Without
|
|
152
|
+
* `UNIQUE_HMAC_KEY` a submitter could never be counted — not now and not after the key is set, the
|
|
153
|
+
* digest is written once — so the accept refuses loudly (a 500 the operator fixes) rather than
|
|
154
|
+
* store a claim whose frequency fact is `unresolved` forever.
|
|
155
|
+
*/
|
|
156
|
+
async function submitterDigest(logger, key, sourceId, submitter) {
|
|
157
|
+
if (!submitter)
|
|
158
|
+
return null;
|
|
159
|
+
if (!key) {
|
|
160
|
+
logger.error("api.submitter-digest-unkeyed", { sourceId });
|
|
161
|
+
throw AppError.internal("UNIQUE_HMAC_KEY is not set: a submitter cannot be recorded");
|
|
162
|
+
}
|
|
163
|
+
return hmacDigest(key, [sourceId, "|", submitter]);
|
|
164
|
+
}
|
|
165
|
+
export const startApiClaims = async (env, claimIds) => {
|
|
166
|
+
const { logger } = depsFromEnv(env);
|
|
167
|
+
const db = getDb(env);
|
|
168
|
+
for (let i = 0; i < claimIds.length; i += CHUNK) {
|
|
169
|
+
await startChunk(env, db, logger, claimIds.slice(i, i + CHUNK));
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
async function startChunk(env, db, logger, claimIds) {
|
|
173
|
+
const ids = [...claimIds];
|
|
174
|
+
// Only a claim still `queued` may start — the cron's `filterUnseen`: past the instance retention
|
|
175
|
+
// window `createBatch` would happily start a processed or failed claim again (a second decide).
|
|
176
|
+
const [claims, charges] = await Promise.all([
|
|
177
|
+
db
|
|
178
|
+
.select({
|
|
179
|
+
claimId: apiClaims.claimId,
|
|
180
|
+
sourceId: apiClaims.sourceId,
|
|
181
|
+
protocolDid: apiClaims.protocolDid,
|
|
182
|
+
receivedAt: apiClaims.receivedAt,
|
|
183
|
+
})
|
|
184
|
+
.from(apiClaims)
|
|
185
|
+
.innerJoin(claimIngests, eq(claimIngests.claimId, apiClaims.claimId))
|
|
186
|
+
.where(and(inArray(apiClaims.claimId, ids), eq(claimIngests.status, "queued"))),
|
|
187
|
+
db
|
|
188
|
+
.select({ claimId: apiCharges.claimId, status: apiCharges.status })
|
|
189
|
+
.from(apiCharges)
|
|
190
|
+
.where(inArray(apiCharges.claimId, ids)),
|
|
191
|
+
]);
|
|
192
|
+
const chargeOf = new Map(charges.map((c) => [c.claimId, c.status]));
|
|
193
|
+
const runnable = claims.filter((c) => {
|
|
194
|
+
const status = chargeOf.get(c.claimId);
|
|
195
|
+
return status === undefined || status === "reserved";
|
|
196
|
+
});
|
|
197
|
+
const held = ids.filter((id) => !runnable.some((c) => c.claimId === id));
|
|
198
|
+
if (held.length > 0) {
|
|
199
|
+
logger.warn("api.start-held", {
|
|
200
|
+
claimIds: held,
|
|
201
|
+
reason: "not recorded, already started, or the charge is not reserved",
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
if (runnable.length === 0)
|
|
205
|
+
return;
|
|
206
|
+
const correlation = currentCorrelation();
|
|
207
|
+
await env.CLAIM_WORKFLOW.createBatch(await Promise.all(runnable.map(async (c) => ({
|
|
208
|
+
id: await instanceIdFor(c.claimId),
|
|
209
|
+
params: {
|
|
210
|
+
claimId: c.claimId,
|
|
211
|
+
collectionId: apiScopeId(c.sourceId, c.protocolDid),
|
|
212
|
+
lane: "api",
|
|
213
|
+
// The accepting request's trace, read off its scope so the seam's signature stays put.
|
|
214
|
+
...correlation,
|
|
215
|
+
},
|
|
216
|
+
}))));
|
|
217
|
+
}
|
|
218
|
+
//# sourceMappingURL=accept.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/lib/api-lane/accept.ts"],"names":[],"mappings":"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"}
|