@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,460 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The act lane — acting on the verdict (README "How a claim flows" step 6). Runs as the `act` step in BOTH
|
|
3
|
+
* workflows (ClaimIngest after `evaluate`, ReviewComplete after the fold): durable step-native
|
|
4
|
+
* retries own delivery; the step reads the just-recorded decision and submits `MsgEvaluateClaim`
|
|
5
|
+
* through the sequence-manager DO. A trimmed port of eval-engine's chain-write.ts — no disputes,
|
|
6
|
+
* no zero-payout parking, no reconcile lane, no fee claims: the collection's evaluation payment IS
|
|
7
|
+
* this oracle's income, split 80/10/10 by the chain on this very message.
|
|
8
|
+
*
|
|
9
|
+
* Self-contained by design: `deliverChainEvaluation(deps, claimId)` reads everything it needs from
|
|
10
|
+
* the `decisions` row and the chain — including the claim's PAYMENT plane, which decides whether
|
|
11
|
+
* we may set the payout at all (payment.ts: ordinary claim ⇒ echo its coins · intent claim ⇒ send
|
|
12
|
+
* none, the escrow governs) — so both workflows pass only the claimId. A clean no-op (one log
|
|
13
|
+
* line) when: the row carries no terminal approve/reject (`pending_review` waits for the fold;
|
|
14
|
+
* `review` / `unusable` / `invalid_facts` never act), the policy says a human signs
|
|
15
|
+
* (`act.manual` — a manual-sign route is a later lane), `ORACLE_SECP_MNEMONIC` is unset, or the
|
|
16
|
+
* claim was already delivered (`chainStatus = submitted` — the delivered-once guard, since step
|
|
17
|
+
* retries re-enter), or the oracle's own act policy said `skip`.
|
|
18
|
+
*
|
|
19
|
+
* That policy (`policies.act`, src/act.ts) is the provider's seam on this lane: asked once every
|
|
20
|
+
* guard above has passed and before the grant is read, it may sign (with an amount only it can
|
|
21
|
+
* compute — a payout pooled across claims — which stands only where the collection's owner set
|
|
22
|
+
* `operatorAmounts: allowed`), `skip`, or HOLD the row (`chainStatus = held`, which is explicitly
|
|
23
|
+
* NOT a delivered state). `signEvaluation()` below is the release pass that signs a
|
|
24
|
+
* held row later, policy not consulted.
|
|
25
|
+
*
|
|
26
|
+
* `verification_proof` is the engine's signed receipt CID — the receipt is the engine's product
|
|
27
|
+
* (resolvable at its `/v1/receipts/:cid`, verifiable against its issuer keys), so a terminal
|
|
28
|
+
* decision WITHOUT one is a contract violation parked `blocked`, never delivered with an invented
|
|
29
|
+
* proof. The other park no retry can fix — a missing `EvaluateClaimAuthorization` (only the
|
|
30
|
+
* collection owner can grant it) — is `blocked` too, WITHOUT failing the step; a rerun re-attempts
|
|
31
|
+
* both. A failed broadcast records `chainError` and THROWS so the step retries with backoff —
|
|
32
|
+
* except the chain's "insufficient funds: payment withdrawal failed": the
|
|
33
|
+
* collection's admin account cannot pay what the message draws from it — the evaluation leg on
|
|
34
|
+
* EVERY evaluation, plus the approval payment on an ordinary approve or the rejection payment on a
|
|
35
|
+
* reject (`adminDraw`, payment.ts) — so no retry and no sibling claim can succeed until the owner
|
|
36
|
+
* tops it up. That one parks `blocked` AND pauses the collection `admin-unfunded` (the owner is
|
|
37
|
+
* told which account and how much, per denom); `cron/funding.ts` lifts the pause and re-delivers
|
|
38
|
+
* the parked rows once the balance covers the largest parked draw.
|
|
39
|
+
*/
|
|
40
|
+
import { eq } from "drizzle-orm";
|
|
41
|
+
import { decisions } from "../../db/schema.js";
|
|
42
|
+
import { getOracle } from "../../oracle.js";
|
|
43
|
+
import { pauseCollection } from "../../workflows/steps.js";
|
|
44
|
+
import { AppError } from "../errors.js";
|
|
45
|
+
import { queryEvaluateGrant } from "./authz.js";
|
|
46
|
+
import { getClaimById, getCollection, getEntityOwner } from "./blocksync/index.js";
|
|
47
|
+
import { getIxoSdk, getOracleSigner } from "./chain.js";
|
|
48
|
+
import { adminDraw, claimPayment, evaluationAmount, rowFee } from "./payment.js";
|
|
49
|
+
/**
|
|
50
|
+
* The chain's refusal when the collection's admin account cannot pay a leg of the message
|
|
51
|
+
* (`x/claims/keeper/payments.go` — "spendable balance 0uixo is smaller than 1000000uixo:
|
|
52
|
+
* insufficient funds: payment withdrawal failed"). Seen either as a thrown simulate/CheckTx error
|
|
53
|
+
* ("Query failed with (6): …") or in a failed DeliverTx's rawLog — the text is the same.
|
|
54
|
+
*/
|
|
55
|
+
const ADMIN_UNFUNDED = /insufficient funds|payment withdrawal failed/i;
|
|
56
|
+
/**
|
|
57
|
+
* The chain's refusal when a terminal evaluation already landed for this claim
|
|
58
|
+
* (`ErrClaimDuplicateEvaluation`, x/claims — "claim with id … already evaluated"). Not a failure:
|
|
59
|
+
* the claim is final, someone else got there first, and every retry earns the same refusal.
|
|
60
|
+
*/
|
|
61
|
+
const ALREADY_EVALUATED = /already evaluated|ErrClaimDuplicateEvaluation/i;
|
|
62
|
+
/** The spendable amount the refusal quoted, when in a denom the draw needs — else unknown. */
|
|
63
|
+
function quotedBalance(text, required) {
|
|
64
|
+
const m = /spendable balance (\d+)([a-z][a-z0-9/:._-]*)/i.exec(text);
|
|
65
|
+
return m?.[1] && m[2] && required.some((coin) => coin.denom === m[2])
|
|
66
|
+
? { denom: m[2], amount: m[1] }
|
|
67
|
+
: undefined;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* The MsgExec-wrapped `MsgEvaluateClaim` — grantee = this oracle's account, message shapes
|
|
71
|
+
* verbatim from subscriptions-api's `buildEvaluateClaimMsg`. `verificationProof` carries the
|
|
72
|
+
* engine's receipt CID: the proto documents the field as "the cid of the evaluation Verifiable
|
|
73
|
+
* Credential", and the receipt is exactly that.
|
|
74
|
+
*
|
|
75
|
+
* `claimAmount` is the ORDINARY lane's payout only (see `evaluationAmount`): by default the claim's
|
|
76
|
+
* own coins, in the claim's own denom — the kit never picks one. The oracle's act policy MAY
|
|
77
|
+
* (act.ts `ActDecision.amount`, or the caller of `signEvaluation`), denom included: a provider
|
|
78
|
+
* pooling several claims into one payout is the only party that can compute it. Omitted ⇒ the
|
|
79
|
+
* chain uses the collection's default approval payment (or, on an intent claim, the escrowed
|
|
80
|
+
* terms, which is why an override is ignored there).
|
|
81
|
+
*/
|
|
82
|
+
export async function buildEvaluateClaimMsg(input) {
|
|
83
|
+
const { cosmos, ixo } = await getIxoSdk();
|
|
84
|
+
return {
|
|
85
|
+
typeUrl: "/cosmos.authz.v1beta1.MsgExec",
|
|
86
|
+
value: cosmos.authz.v1beta1.MsgExec.fromPartial({
|
|
87
|
+
grantee: input.oracleAddress,
|
|
88
|
+
msgs: [
|
|
89
|
+
{
|
|
90
|
+
typeUrl: "/ixo.claims.v1beta1.MsgEvaluateClaim",
|
|
91
|
+
value: ixo.claims.v1beta1.MsgEvaluateClaim.encode(ixo.claims.v1beta1.MsgEvaluateClaim.fromPartial({
|
|
92
|
+
adminAddress: input.adminAddress,
|
|
93
|
+
agentAddress: input.oracleAddress,
|
|
94
|
+
agentDid: input.oracleDid,
|
|
95
|
+
oracle: input.oracleDid,
|
|
96
|
+
claimId: input.claimId,
|
|
97
|
+
collectionId: input.collectionId,
|
|
98
|
+
status: input.evaluationStatus,
|
|
99
|
+
reason: 1,
|
|
100
|
+
verificationProof: input.verificationProof,
|
|
101
|
+
amount: input.claimAmount
|
|
102
|
+
? [
|
|
103
|
+
{
|
|
104
|
+
amount: input.claimAmount.amount.toString(),
|
|
105
|
+
denom: input.claimAmount.denom,
|
|
106
|
+
},
|
|
107
|
+
]
|
|
108
|
+
: undefined,
|
|
109
|
+
})).finish(),
|
|
110
|
+
},
|
|
111
|
+
],
|
|
112
|
+
}),
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* The act step's delivery: the lane WITH the provider's act policy consulted (act.ts). Both
|
|
117
|
+
* workflows call this, and so does the funding cron's re-delivery of parked rows.
|
|
118
|
+
*/
|
|
119
|
+
export async function deliverChainEvaluation(deps, claimId) {
|
|
120
|
+
return deliver(deps, claimId, { consultPolicy: true });
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* The RELEASE pass: the same lane without the policy, for a row the policy `held`. A provider
|
|
124
|
+
* whose payout is pooled (a site paid once every patch on it is done) calls this when the pool
|
|
125
|
+
* closes, with the amount only they can compute — `@ixo/decision-oracle/runtime` exposes it env-first.
|
|
126
|
+
*
|
|
127
|
+
* Every other guard still holds: `AUTO_SIGN`, the mnemonic, the receipt, the frozen facts, an
|
|
128
|
+
* evaluation that already landed, and the grant — and `amount` is the policy's, so it stands only
|
|
129
|
+
* where the owner opted in (`operatorAmounts`); otherwise the lane's default is paid. A row that is already `submitted` /
|
|
130
|
+
* `owner_submitted` is `skipped`, so calling it twice cannot double-sign.
|
|
131
|
+
*
|
|
132
|
+
* One consequence worth knowing: a release that parks `blocked` (the admin-unfunded lane) is
|
|
133
|
+
* re-delivered later by `cron/funding.ts`, which goes through `deliverChainEvaluation` — so the
|
|
134
|
+
* policy IS consulted on that re-delivery and may hold the row again, and `amount` is this call's
|
|
135
|
+
* alone: the re-delivery pays the lane's default. Call this again once the pause lifts if the
|
|
136
|
+
* pooled amount still matters.
|
|
137
|
+
*/
|
|
138
|
+
export async function signEvaluation(deps, claimId, amount) {
|
|
139
|
+
return deliver(deps, claimId, { consultPolicy: false, amountOverride: amount });
|
|
140
|
+
}
|
|
141
|
+
async function deliver(deps, claimId, opts) {
|
|
142
|
+
const { config, logger, db } = deps;
|
|
143
|
+
const skip = (reason) => {
|
|
144
|
+
logger.info("act.skipped", { claimId, reason });
|
|
145
|
+
return "skipped";
|
|
146
|
+
};
|
|
147
|
+
const setChain = (values) => db.update(decisions).set(values).where(eq(decisions.claimId, claimId));
|
|
148
|
+
const park = async (collectionId, detail) => {
|
|
149
|
+
await setChain({ chainStatus: "blocked", chainError: detail });
|
|
150
|
+
logger.warn("act.blocked", { claimId, collectionId, detail });
|
|
151
|
+
return "blocked";
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* An evaluation this claim already carries on chain — recorded for what it is, never fought. The
|
|
155
|
+
* chain locks a claim on its FIRST terminal evaluation, so it is final either way and `ours` only
|
|
156
|
+
* decides which name that finality gets. Two places reach it: the pre-flight read (step 6), and a
|
|
157
|
+
* broadcast the chain refuses as a duplicate because someone landed one in between (step 9).
|
|
158
|
+
*/
|
|
159
|
+
const recordLanded = async (landed, collectionId, at) => {
|
|
160
|
+
const ours = landed.oracle === config.ORACLE_DID;
|
|
161
|
+
await setChain({ chainStatus: ours ? "submitted" : "owner_submitted", chainError: null });
|
|
162
|
+
logger.info("act.already-landed", { claimId, collectionId, oracle: landed.oracle, ours, at });
|
|
163
|
+
return ours ? "submitted" : "owner_submitted";
|
|
164
|
+
};
|
|
165
|
+
// 1 — a `decided` approve/reject to act on. Anything else is a recorded non-action: the fold
|
|
166
|
+
// re-enters this lane once a `pending_review` becomes final, and `unusable` — receipt or not —
|
|
167
|
+
// is never signed (nothing was judged).
|
|
168
|
+
const row = await db.query.decisions.findFirst({
|
|
169
|
+
where: (t, { eq: eqOp }) => eqOp(t.claimId, claimId),
|
|
170
|
+
});
|
|
171
|
+
if (!row)
|
|
172
|
+
return skip("no decision recorded");
|
|
173
|
+
const engineDecision = row.decision;
|
|
174
|
+
const evaluationStatus = engineDecision?.evaluationStatus;
|
|
175
|
+
if (row.status !== "decided" ||
|
|
176
|
+
!engineDecision ||
|
|
177
|
+
(evaluationStatus !== 1 && evaluationStatus !== 2)) {
|
|
178
|
+
return skip(`no terminal approve/reject verdict (${row.status} / ${row.verdict ?? "none"})`);
|
|
179
|
+
}
|
|
180
|
+
const { collectionId } = row;
|
|
181
|
+
// 2 — policy: unattended signing needs BOTH the provider's say (the oracle config) and the
|
|
182
|
+
// deploy's (`AUTO_SIGN`). Off ⇒ the decision stands recorded and receipted; a human submits it.
|
|
183
|
+
if (!getOracle().config.policies.autoSign || !config.AUTO_SIGN) {
|
|
184
|
+
logger.info("act.manual", { claimId, collectionId, verdict: row.verdict });
|
|
185
|
+
return "skipped";
|
|
186
|
+
}
|
|
187
|
+
// 3 — fail-safe: no signer configured ⇒ the lane is off; the decision is never affected.
|
|
188
|
+
if (!config.ORACLE_SECP_MNEMONIC)
|
|
189
|
+
return skip("ORACLE_SECP_MNEMONIC not configured");
|
|
190
|
+
// 4 — delivered-once: step retries re-enter here; a submitted row is final. `held` is NOT on
|
|
191
|
+
// this list — it is the policy's "not yet", and `signEvaluation` signs it later.
|
|
192
|
+
if (row.chainStatus === "submitted")
|
|
193
|
+
return skip("already submitted");
|
|
194
|
+
if (row.chainStatus === "owner_submitted")
|
|
195
|
+
return skip("already evaluated on chain by another");
|
|
196
|
+
// 5 — what this signature rests on. The engine mints a receipt for every FINAL decision
|
|
197
|
+
// (contract: null only for pending_review, which never reaches here), so its absence is the
|
|
198
|
+
// engine's bug; the frozen facts are OUR side of the same rule — `record` writes them with every
|
|
199
|
+
// decided row (claim-ingest.ts), a decided row without them is an ingest fault, and signing one
|
|
200
|
+
// would mean the act policy judging a payout on facts nobody can show.
|
|
201
|
+
if (!row.receiptCid) {
|
|
202
|
+
return park(collectionId, "terminal decision without a receipt CID — engine contract violation");
|
|
203
|
+
}
|
|
204
|
+
const facts = row.facts;
|
|
205
|
+
if (!facts) {
|
|
206
|
+
return park(collectionId, "decided row without frozen facts — ingest contract violation");
|
|
207
|
+
}
|
|
208
|
+
// 6 — the chain plane: the collection's admin (the grant's granter) and the claim itself (its
|
|
209
|
+
// payment lane, and whether an evaluation already landed). Transient trouble throws → retry.
|
|
210
|
+
const [collection, claim] = await Promise.all([
|
|
211
|
+
getCollection(deps, collectionId),
|
|
212
|
+
getClaimById(deps, claimId),
|
|
213
|
+
]);
|
|
214
|
+
if (!collection?.admin) {
|
|
215
|
+
throw AppError.unavailable(`Collection ${collectionId} has no resolvable admin`);
|
|
216
|
+
}
|
|
217
|
+
if (!claim)
|
|
218
|
+
throw AppError.unavailable(`Claim ${claimId} is not on-chain`);
|
|
219
|
+
// The chain locks a claim on its FIRST terminal evaluation (`ErrClaimDuplicateEvaluation`): one
|
|
220
|
+
// that already landed — the owner from the portal, or a broadcast of ours recorded as lost — is
|
|
221
|
+
// recorded for what it is and never fought. Same finality as `submitted`, different author.
|
|
222
|
+
const landed = claim.evaluationByClaimId;
|
|
223
|
+
if (landed?.status != null)
|
|
224
|
+
return recordLanded(landed, collectionId, "pre-flight");
|
|
225
|
+
// 7 — the provider's say (act.ts). The payment plane is read first because the policy is told
|
|
226
|
+
// what the lane WOULD pay: the claim's own coins on an ordinary claim, nothing on an intent one.
|
|
227
|
+
const payment = claimPayment(claim);
|
|
228
|
+
const defaultAmount = evaluationAmount(payment);
|
|
229
|
+
// The owner's opt-in, as it stands NOW: read once, and only by a caller that needs it — the
|
|
230
|
+
// policy is told it, step 9 needs it for an amount — so a plain claim costs no extra read.
|
|
231
|
+
let optIn;
|
|
232
|
+
const operatorAmounts = () => {
|
|
233
|
+
optIn ??= operatorAmountsOf(deps, collectionId, collection.entity);
|
|
234
|
+
return optIn;
|
|
235
|
+
};
|
|
236
|
+
let override = opts.amountOverride;
|
|
237
|
+
const policy = opts.consultPolicy ? getOracle().config.policies.act : undefined;
|
|
238
|
+
if (policy) {
|
|
239
|
+
const consult = await consultActPolicy(policy, {
|
|
240
|
+
claimId,
|
|
241
|
+
collectionId,
|
|
242
|
+
evaluationStatus,
|
|
243
|
+
verdict: row.verdict,
|
|
244
|
+
decision: engineDecision,
|
|
245
|
+
receiptCid: row.receiptCid,
|
|
246
|
+
facts,
|
|
247
|
+
payment,
|
|
248
|
+
defaultAmount,
|
|
249
|
+
operatorAmounts: await operatorAmounts(),
|
|
250
|
+
claim,
|
|
251
|
+
env: deps.env,
|
|
252
|
+
logger,
|
|
253
|
+
}, { logger, setChain, park });
|
|
254
|
+
if (consult.outcome)
|
|
255
|
+
return consult.outcome;
|
|
256
|
+
if (consult.amount)
|
|
257
|
+
override = consult.amount;
|
|
258
|
+
}
|
|
259
|
+
// 8 — the grant this whole lane rests on. Without it the chain rejects the MsgExec on EVERY
|
|
260
|
+
// claim ("authorization not found"), and each doomed attempt still consumes a signing sequence —
|
|
261
|
+
// which then breaks the NEXT claim with a sequence mismatch. So park rather than throw: the fix
|
|
262
|
+
// is the owner granting, not a retry. Read fresh, never through the KV cache — a stale negative
|
|
263
|
+
// would park a claim the owner just granted rights for.
|
|
264
|
+
const granted = await queryEvaluateGrant(config, collection.admin, config.ORACLE_ADDRESS, collectionId);
|
|
265
|
+
if (!granted) {
|
|
266
|
+
return park(collectionId, `no EvaluateClaimAuthorization from ${collection.admin} to ${config.ORACLE_ADDRESS} for collection ${collectionId}`);
|
|
267
|
+
}
|
|
268
|
+
// 9 — the submission. The payout per lane (payment.ts): the claim's own coins on an ordinary
|
|
269
|
+
// claim; NOTHING on an intent claim, where the chain overwrites `msg.Amount` with the escrowed
|
|
270
|
+
// terms anyway and a non-empty amount is still measured against the grant's `MaxCustomAmount` —
|
|
271
|
+
// so an override is dropped there rather than risking the whole MsgExec for zero effect, and
|
|
272
|
+
// said out loud, because the provider asked for something they will not get. On an ordinary
|
|
273
|
+
// claim the amount is the operator's money judgement over the owner's collection, so it stands
|
|
274
|
+
// only where the OWNER opted in (`operatorAmounts`, company authority D7/F6): otherwise the lane
|
|
275
|
+
// pays its default and says so — read here, per signature, so an opt-out lands on the next one.
|
|
276
|
+
let claimAmount = defaultAmount;
|
|
277
|
+
if (override) {
|
|
278
|
+
if (payment.useIntent) {
|
|
279
|
+
logger.warn("act.amount-ignored-intent", { claimId, collectionId, amount: override });
|
|
280
|
+
}
|
|
281
|
+
else if ((await operatorAmounts()) !== "allowed") {
|
|
282
|
+
logger.warn("act.amount-ignored-not-opted-in", {
|
|
283
|
+
claimId,
|
|
284
|
+
collectionId,
|
|
285
|
+
amount: override,
|
|
286
|
+
paid: claimAmount ?? null,
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
claimAmount = override;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
const signer = await getOracleSigner(config, deps.sequenceManager);
|
|
294
|
+
const msg = await buildEvaluateClaimMsg({
|
|
295
|
+
claimId,
|
|
296
|
+
collectionId,
|
|
297
|
+
adminAddress: collection.admin,
|
|
298
|
+
oracleAddress: signer.address,
|
|
299
|
+
oracleDid: config.ORACLE_DID,
|
|
300
|
+
evaluationStatus,
|
|
301
|
+
verificationProof: row.receiptCid,
|
|
302
|
+
claimAmount,
|
|
303
|
+
});
|
|
304
|
+
try {
|
|
305
|
+
const res = await timedBroadcast(deps.metrics, () => signer.signAndBroadcast([msg], getOracle().config.name));
|
|
306
|
+
if (res.code !== 0) {
|
|
307
|
+
throw AppError.unavailable(`MsgEvaluateClaim failed (code ${res.code}): ${res.rawLog}`);
|
|
308
|
+
}
|
|
309
|
+
await setChain({ chainStatus: "submitted", txHash: res.transactionHash, chainError: null });
|
|
310
|
+
logger.info("act.submitted", {
|
|
311
|
+
claimId,
|
|
312
|
+
collectionId,
|
|
313
|
+
evaluationStatus,
|
|
314
|
+
receiptCid: row.receiptCid,
|
|
315
|
+
// Which lane paid: `useIntent` ⇒ the escrow released/refunded on the chain's terms, not ours.
|
|
316
|
+
useIntent: payment.useIntent,
|
|
317
|
+
claimAmount: claimAmount ?? null,
|
|
318
|
+
txHash: res.transactionHash,
|
|
319
|
+
});
|
|
320
|
+
return "submitted";
|
|
321
|
+
}
|
|
322
|
+
catch (err) {
|
|
323
|
+
const detail = String(err);
|
|
324
|
+
// Our pre-flight saw no evaluation, so a racing pass landed one between that read and this
|
|
325
|
+
// broadcast — our own release against the cron's, or the owner from the portal. That is the
|
|
326
|
+
// same finality step 6 records, found a moment later, so record it the same way instead of
|
|
327
|
+
// retrying into an identical refusal and logging it as a broadcast failure. Confirmed against
|
|
328
|
+
// the chain first: a duplicate refusal we cannot SEE an evaluation for is not a terminal state
|
|
329
|
+
// we may invent, so it falls through and is retried like any other error.
|
|
330
|
+
if (ALREADY_EVALUATED.test(detail)) {
|
|
331
|
+
const fresh = await getClaimById(deps, claimId).catch(() => null);
|
|
332
|
+
const landedNow = fresh?.evaluationByClaimId;
|
|
333
|
+
if (landedNow?.status != null)
|
|
334
|
+
return recordLanded(landedNow, collectionId, "broadcast");
|
|
335
|
+
}
|
|
336
|
+
if (!ADMIN_UNFUNDED.test(detail)) {
|
|
337
|
+
// Recorded for the claim read, then rethrown: the workflow step owns the retry.
|
|
338
|
+
await setChain({ chainError: detail }).catch(() => { });
|
|
339
|
+
throw err;
|
|
340
|
+
}
|
|
341
|
+
// Deterministic: park like a missing grant, and stop the scan — every further decision would
|
|
342
|
+
// be billed by the engine and parked the same way. The notice names what THIS message draws
|
|
343
|
+
// from the admin account (`adminDraw`: the evaluation leg plus this verdict's payment, per
|
|
344
|
+
// denom — the chain refuses the whole message unless every leg is covered); the watched row's
|
|
345
|
+
// accepted fee stands in for the evaluation leg only where Blocksync has no payments.
|
|
346
|
+
const watched = await db.query.watchedCollections.findFirst({
|
|
347
|
+
where: (t, { eq: eqOp }) => eqOp(t.collectionId, collectionId),
|
|
348
|
+
columns: { evaluationDenom: true, evaluationAmount: true },
|
|
349
|
+
});
|
|
350
|
+
const required = adminDraw({
|
|
351
|
+
payments: collection.payments,
|
|
352
|
+
fee: rowFee(watched),
|
|
353
|
+
verdict: { approve: evaluationStatus === 1, payment, claimAmount },
|
|
354
|
+
});
|
|
355
|
+
await park(collectionId, detail);
|
|
356
|
+
await pauseCollection(db, deps, collectionId, "admin-unfunded", {
|
|
357
|
+
adminAddress: collection.admin,
|
|
358
|
+
verdict: evaluationStatus === 1 ? "approve" : "reject",
|
|
359
|
+
required,
|
|
360
|
+
balance: quotedBalance(detail, required),
|
|
361
|
+
});
|
|
362
|
+
return "blocked";
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* `chain.broadcast` — one MsgEvaluateClaim broadcast, sequence healing included: status the tx code
|
|
367
|
+
* (`-` when the broadcast threw), outcome `ok` only for code 0.
|
|
368
|
+
*/
|
|
369
|
+
async function timedBroadcast(metrics, broadcast) {
|
|
370
|
+
const started = Date.now();
|
|
371
|
+
let code = null;
|
|
372
|
+
try {
|
|
373
|
+
const res = await broadcast();
|
|
374
|
+
code = res.code;
|
|
375
|
+
return res;
|
|
376
|
+
}
|
|
377
|
+
finally {
|
|
378
|
+
metrics.timing("chain.broadcast", Date.now() - started, {
|
|
379
|
+
status: code,
|
|
380
|
+
outcome: code === 0 ? "ok" : "error",
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* The owner's `operatorAmounts` as it stands on chain NOW: `allowed` only while whoever said yes
|
|
386
|
+
* (`operatorAmountsBy`) is still the collection entity's owner. An ownership transfer hands the
|
|
387
|
+
* collection to someone who never agreed to the operator's amounts, so their yes is the one that
|
|
388
|
+
* counts — read live (step 6 already has the entity), never trusted off the row. An unwatched
|
|
389
|
+
* collection never opted in. Chain trouble throws, like every other step-6 read.
|
|
390
|
+
*/
|
|
391
|
+
async function operatorAmountsOf(deps, collectionId, entity) {
|
|
392
|
+
const watched = await deps.db.query.watchedCollections.findFirst({
|
|
393
|
+
where: (t, { eq: eqOp }) => eqOp(t.collectionId, collectionId),
|
|
394
|
+
columns: { operatorAmounts: true, operatorAmountsBy: true },
|
|
395
|
+
});
|
|
396
|
+
// No yes on the row: nothing to check on chain.
|
|
397
|
+
if (watched?.operatorAmounts !== "allowed" || !watched.operatorAmountsBy || !entity)
|
|
398
|
+
return "off";
|
|
399
|
+
return operatorAmountsEffective(watched, await getEntityOwner(deps, entity)) ? "allowed" : "off";
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* THE reading of the owner's yes, shared by the act lane (`operatorAmountsOf`) and the settings read
|
|
403
|
+
* (`GET /v1/collections/:id/settings`), so what a portal shows can never drift from what the lane
|
|
404
|
+
* pays: `allowed`, said by whoever is the live owner now. Pure — `owner` is the caller's live read.
|
|
405
|
+
*/
|
|
406
|
+
export function operatorAmountsEffective(watched, owner) {
|
|
407
|
+
return (watched.operatorAmounts === "allowed" &&
|
|
408
|
+
watched.operatorAmountsBy !== null &&
|
|
409
|
+
watched.operatorAmountsBy === owner);
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* Ask the act policy (act.ts), and turn its answer into what the lane does next.
|
|
413
|
+
*
|
|
414
|
+
* Fail-closed by construction: the call AND the dispatch on its answer sit inside one `try`, and
|
|
415
|
+
* the `switch` is exhaustive with a parking `default` — so a hook that throws, returns nothing, or
|
|
416
|
+
* returns a shape this version does not know (`{ mode: "Hold" }`, a mode a newer kit added) can
|
|
417
|
+
* never fall through into a broadcast. A payout is a one-way door and an unrecognised answer is a
|
|
418
|
+
* bug; the only safe reading of a bug is "do not sign". The alternative — an `if` chain ending in
|
|
419
|
+
* "carry on" — signs on every one of those.
|
|
420
|
+
*/
|
|
421
|
+
async function consultActPolicy(policy, ctx, lane) {
|
|
422
|
+
const { claimId, collectionId } = ctx;
|
|
423
|
+
const { logger, setChain, park } = lane;
|
|
424
|
+
try {
|
|
425
|
+
const answer = await policy(ctx);
|
|
426
|
+
switch (answer?.mode) {
|
|
427
|
+
case "hold":
|
|
428
|
+
// Not delivered and not parked: a deliberate "not yet" the release pass picks up. No grant
|
|
429
|
+
// read, no broadcast, no sequence consumed.
|
|
430
|
+
await setChain({ chainStatus: "held", chainError: null });
|
|
431
|
+
logger.info("act.held", { claimId, collectionId, reason: answer.reason ?? null });
|
|
432
|
+
return { outcome: "held" };
|
|
433
|
+
case "skip":
|
|
434
|
+
// The row is left exactly as it was — the same clean no-op as `AUTO_SIGN` off.
|
|
435
|
+
logger.info("act.policy-skipped", { claimId, collectionId, reason: answer.reason ?? null });
|
|
436
|
+
return { outcome: "skipped" };
|
|
437
|
+
case "sign":
|
|
438
|
+
return { amount: answer.amount };
|
|
439
|
+
default:
|
|
440
|
+
// Parked like any other fault no retry can fix by itself: the answer is recorded verbatim
|
|
441
|
+
// so the provider can see what their hook returned.
|
|
442
|
+
return {
|
|
443
|
+
outcome: await park(collectionId, `act policy returned an unknown mode: ${JSON.stringify(answer)}`),
|
|
444
|
+
};
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
catch (err) {
|
|
448
|
+
// Recorded for the claim read, then rethrown: the act step owns the retry, and a policy bug
|
|
449
|
+
// must never fall through into an unconditional signature. A D1 blip must not swallow the
|
|
450
|
+
// policy's error either — the record is best-effort, the throw is not.
|
|
451
|
+
try {
|
|
452
|
+
await setChain({ chainError: String(err) });
|
|
453
|
+
}
|
|
454
|
+
catch (dbErr) {
|
|
455
|
+
logger.warn("act.policy-error-unrecorded", { claimId, collectionId, detail: String(dbErr) });
|
|
456
|
+
}
|
|
457
|
+
throw err;
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
//# sourceMappingURL=chain-write.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-write.js","sourceRoot":"","sources":["../../../src/lib/ixo/chain-write.ts"],"names":[],"mappings":"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"}
|