@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,438 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The facts runner — ONE place that runs a handler, whoever wrote it (spec §3.4). The stock
|
|
3
|
+
* producer is this with an empty handler table; a provider's `defineFacts({ ext, ai, … })` is the
|
|
4
|
+
* same run with some names routed elsewhere. That is the point: the guarantees below hold
|
|
5
|
+
* identically for both, because there is only one code path.
|
|
6
|
+
*
|
|
7
|
+
* What the runner guarantees around every handler:
|
|
8
|
+
* - **Normalization** — a plain `true` / `8200` becomes an `ok` fact; a `fact.error(...)` draft
|
|
9
|
+
* becomes a full error fact.
|
|
10
|
+
* - **Fail closed** — an error fact carries the MANIFEST's `onError`, stamped here, overriding
|
|
11
|
+
* whatever the handler put there. A THROW is the same thing: an error fact, never an approve,
|
|
12
|
+
* never a lost claim. A handler cannot upgrade its own failure.
|
|
13
|
+
* - **One retry signal** — `fact.retryLater()`, the kit's own loud `AppError`s, and a retryable
|
|
14
|
+
* `EngineError` (the eval engine's own 5xx / `UNAVAILABLE` / `RATE_LIMITED`, e.g.
|
|
15
|
+
* `tools.agreement()`'s read) all get out, as `unavailable`, so the workflow step retries
|
|
16
|
+
* instead of freezing a verdict — the stock ext and AI lanes throw the same way for an outage.
|
|
17
|
+
* BOUNDED: on the step's last attempt (`finalAttempt`) the transient ones freeze as the
|
|
18
|
+
* rubric's `onError` instead, so an outage that outlives the retries still ends as a fact. The rule (task-14, 2026-09-14): a deterministic failure is a
|
|
19
|
+
* fact; a transient one is a retry — claims are decided once, so a claim held for review over
|
|
20
|
+
* trouble the engine never actually judged can never be re-run. A NON-retryable `EngineError`
|
|
21
|
+
* (a real 404 / wrong-shaped document / counterparty mismatch) is still a fact: that IS the
|
|
22
|
+
* engine's answer.
|
|
23
|
+
* - **The fact cache** — a prior crashed attempt's paid answer is returned verbatim and the
|
|
24
|
+
* handler never runs (producer.ts `FactCache`; `unique`/`frequency` never go through it).
|
|
25
|
+
* - **The fan-out cap** — at most `MAX_CONCURRENT_CONNECTORS` ext/ai handlers in flight.
|
|
26
|
+
*
|
|
27
|
+
* NODE-SAFE by construction: this module is what `@ixo/decision-oracle/facts` and a provider's test
|
|
28
|
+
* suite pull in, so it imports only types, the pure `send.ts` / `rule-defaults.ts` readers, the
|
|
29
|
+
* `fact` helpers and `AppError`. Nothing here may reach `cloudflare:*`, a `.wasm`, D1 or KV — the
|
|
30
|
+
* stock lanes arrive as `deps.stock`, already built by whoever has a runtime.
|
|
31
|
+
*/
|
|
32
|
+
import { fact, RetryLater } from "../../facts/fact.js";
|
|
33
|
+
import { EngineError } from "../engine/types.js";
|
|
34
|
+
import { AppError } from "../errors.js";
|
|
35
|
+
import { frequencyRuleOf, uniqueRuleOf } from "./stock/rule-defaults.js";
|
|
36
|
+
import { aiEntries, derivedSendRefs, resolveSendPayload } from "./stock/send.js";
|
|
37
|
+
/**
|
|
38
|
+
* Connector fan-out cap over the ext+ai lanes: a rubric declaring 30 AI checks must not open 30
|
|
39
|
+
* model calls at once — the isolate allows 6 simultaneous outbound connections, OpenRouter
|
|
40
|
+
* throttles bursts, and a misauthored rubric should degrade to "slower", never to a socket/429
|
|
41
|
+
* storm. 4 keeps a typical rubric fully parallel; results are keyed by name, so order never
|
|
42
|
+
* matters. `unique`/`frequency` run beside the pool — one registry/count read each, not fan-out.
|
|
43
|
+
*/
|
|
44
|
+
export const MAX_CONCURRENT_CONNECTORS = 4;
|
|
45
|
+
/** Run tasks with at most `limit` in flight — the tiny worker pool the cap needs, nothing more. */
|
|
46
|
+
async function inPool(limit, tasks) {
|
|
47
|
+
let next = 0;
|
|
48
|
+
const worker = async () => {
|
|
49
|
+
while (next < tasks.length) {
|
|
50
|
+
const task = tasks[next++];
|
|
51
|
+
if (task)
|
|
52
|
+
await task();
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
await Promise.all(Array.from({ length: Math.min(limit, tasks.length) }, worker));
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The basics every handler input is built from — one object, built once per run, spread into each
|
|
59
|
+
* ext/ai/unique/frequency input. Exported because `tools.stock()` (lib/facts/tools.ts) has to hand
|
|
60
|
+
* a stock lane the SAME input the runner would have: two builders would drift.
|
|
61
|
+
*/
|
|
62
|
+
export function factInputBase(claim, manifest, deps) {
|
|
63
|
+
return { claim, answers: claim.body, ctx: deps.ctx, settings: deps.settings, manifest };
|
|
64
|
+
}
|
|
65
|
+
/** One declared source's input: the `send` map resolved, the `~derived` refs reported. */
|
|
66
|
+
export function buildExtInput(base, name, expected) {
|
|
67
|
+
return {
|
|
68
|
+
...base,
|
|
69
|
+
name,
|
|
70
|
+
expected,
|
|
71
|
+
send: resolveSendPayload(expected.send, base.claim.body, base.ctx),
|
|
72
|
+
unresolved: derivedSendRefs(expected.send),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/** One declared check's input — plus the `send` map as the model's typed, ordered inputs. */
|
|
76
|
+
export function buildAiInput(base, name, check) {
|
|
77
|
+
const send = resolveSendPayload(check.send, base.claim.body, base.ctx);
|
|
78
|
+
return {
|
|
79
|
+
...base,
|
|
80
|
+
name,
|
|
81
|
+
check,
|
|
82
|
+
send,
|
|
83
|
+
unresolved: derivedSendRefs(check.send),
|
|
84
|
+
inputs: aiEntries(base.claim, check, send),
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* A handler that returned something that is neither a plain value nor a fact (a string, a number
|
|
89
|
+
* where only a boolean is a verdict, `undefined`, `null`, a bare object) is a bug in the handler —
|
|
90
|
+
* and it has to read as an unanswered fact that NAMES the problem, not as `detail: undefined` or a
|
|
91
|
+
* "cannot read properties" crash three lines later.
|
|
92
|
+
*/
|
|
93
|
+
function badReturn(result, onError, expected) {
|
|
94
|
+
const kind = result === null ? "null" : typeof result;
|
|
95
|
+
return { status: "error", onError, detail: `handler returned ${kind} — expected ${expected}` };
|
|
96
|
+
}
|
|
97
|
+
/** A plain return becomes an `ok` fact; anything that failed carries the manifest's `onError`. */
|
|
98
|
+
export function normalizeExt(result, onError) {
|
|
99
|
+
if (typeof result === "boolean" || typeof result === "number")
|
|
100
|
+
return fact.ok(result);
|
|
101
|
+
if (typeof result !== "object" || result === null) {
|
|
102
|
+
return badReturn(result, onError, "boolean/number/a fact");
|
|
103
|
+
}
|
|
104
|
+
if (result.status === "ok")
|
|
105
|
+
return result;
|
|
106
|
+
if (result.status !== "error")
|
|
107
|
+
return badReturn(result, onError, "boolean/number/a fact");
|
|
108
|
+
return {
|
|
109
|
+
status: "error",
|
|
110
|
+
onError,
|
|
111
|
+
detail: result.detail,
|
|
112
|
+
...(result.transcript ? { transcript: result.transcript } : {}),
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
/** Same, for an AI check: a bare `true`/`false` is a verdict nothing failed under. */
|
|
116
|
+
export function normalizeAi(result, onError) {
|
|
117
|
+
if (typeof result === "boolean")
|
|
118
|
+
return fact.ai.ok(result);
|
|
119
|
+
if (typeof result !== "object" || result === null) {
|
|
120
|
+
return badReturn(result, onError, "boolean/a fact");
|
|
121
|
+
}
|
|
122
|
+
if (result.status === "ok")
|
|
123
|
+
return result;
|
|
124
|
+
if (result.status !== "error")
|
|
125
|
+
return badReturn(result, onError, "boolean/a fact");
|
|
126
|
+
return {
|
|
127
|
+
status: "error",
|
|
128
|
+
onError,
|
|
129
|
+
detail: result.detail,
|
|
130
|
+
...(result.transcript ? { transcript: result.transcript } : {}),
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* What a throw out of an ext/ai handler becomes. Three things are let through instead of frozen:
|
|
135
|
+
* `fact.retryLater()`, the public "not the claim's fault, ask me again"; an `AppError` — the kit's
|
|
136
|
+
* own fail-loudly signal, which the stock lanes throw for a signing/config fault the workflow step
|
|
137
|
+
* must retry rather than pay a verdict for; and a retryable `EngineError` — the eval engine's own
|
|
138
|
+
* 5xx / `UNAVAILABLE` / `RATE_LIMITED` (`tools.agreement()`'s read, task-14 2026-09-14: a devnet
|
|
139
|
+
* claim was held for review on every fact because the engine's own outage got frozen as an error
|
|
140
|
+
* fact, and a claim is decided once, so it could never be re-run). The rule is the same one chain
|
|
141
|
+
* reads already follow (`tools.chain` — an outage throws and retries; an empty answer is a fact):
|
|
142
|
+
* **a deterministic failure is a fact; a transient one is a retry.** A NON-retryable `EngineError`
|
|
143
|
+
* (a real 404 / wrong-shaped document / counterparty mismatch) is still the handler crashing on a
|
|
144
|
+
* genuine answer, and reads as an unanswered fact with the rubric's fallback — never as an approve.
|
|
145
|
+
*
|
|
146
|
+
* Split in two because a GROUP owes several names one detail: it stamps the same crash onto each
|
|
147
|
+
* of them, under each one's own `onError`.
|
|
148
|
+
*/
|
|
149
|
+
function detailForThrow(deps, kind, name, err) {
|
|
150
|
+
const transient = err instanceof RetryLater ||
|
|
151
|
+
(err instanceof AppError && err.status === 503) ||
|
|
152
|
+
(err instanceof EngineError && err.retryable);
|
|
153
|
+
// The step's last attempt: no retry is left to wait the outage out, so the fallback is the fact.
|
|
154
|
+
if (transient && deps.finalAttempt) {
|
|
155
|
+
const detail = `still unavailable on the last attempt: ${err.message}`;
|
|
156
|
+
deps.logger.warn("facts.retries-exhausted", { kind, name, detail });
|
|
157
|
+
return detail;
|
|
158
|
+
}
|
|
159
|
+
if (err instanceof RetryLater)
|
|
160
|
+
throw AppError.unavailable(err.message, err);
|
|
161
|
+
if (err instanceof AppError)
|
|
162
|
+
throw err;
|
|
163
|
+
if (err instanceof EngineError && err.retryable)
|
|
164
|
+
throw AppError.unavailable(err.message, err);
|
|
165
|
+
deps.logger.warn("facts.handler-threw", { kind, name, error: String(err) });
|
|
166
|
+
return err instanceof Error ? err.message : String(err);
|
|
167
|
+
}
|
|
168
|
+
function factForThrow(deps, kind, name, onError, err) {
|
|
169
|
+
return { status: "error", onError, detail: detailForThrow(deps, kind, name, err) };
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* `facts.handler` around one handler call: op the lane (`ext-source` / `ai-check` for the stock
|
|
173
|
+
* lanes, `custom` for a provider's, `group` / `unique` / `frequency`), route the fact's name,
|
|
174
|
+
* outcome what came back (`ok` / `error`) — `error` too for a throw let out as a retry. A
|
|
175
|
+
* fact-cache hit is recorded by the caller as `cached`, with no call to time. The call also runs
|
|
176
|
+
* inside a `facts.handler` trace span, labelled like the metric (observability spec §4).
|
|
177
|
+
*/
|
|
178
|
+
async function timeHandler(deps, op, name, run, outcomeOf) {
|
|
179
|
+
const started = Date.now();
|
|
180
|
+
let outcome = "error";
|
|
181
|
+
try {
|
|
182
|
+
const fact = await inHandlerSpan(deps, op, name, run);
|
|
183
|
+
outcome = outcomeOf(fact);
|
|
184
|
+
return fact;
|
|
185
|
+
}
|
|
186
|
+
finally {
|
|
187
|
+
deps.metrics?.timing("facts.handler", Date.now() - started, {
|
|
188
|
+
op,
|
|
189
|
+
route: name,
|
|
190
|
+
outcome,
|
|
191
|
+
id: deps.protocolDid,
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
const inHandlerSpan = (deps, op, route, fn) => deps.span ? deps.span("facts.handler", { op, route, id: deps.protocolDid }, fn) : fn();
|
|
196
|
+
const statusOf = (fact) => fact.status;
|
|
197
|
+
const answered = () => "ok";
|
|
198
|
+
/** `unique`/`frequency` have no error shape — a throw is loud, `retryLater` still means retry. */
|
|
199
|
+
function rethrow(err) {
|
|
200
|
+
throw err instanceof RetryLater ? AppError.unavailable(err.message, err) : err;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Produce every fact the work order names: `facts.<kind>[name]` if the provider listed it, the
|
|
204
|
+
* stock lane otherwise. The result is exactly what a `FactsProducer` returns — validate.ts holds
|
|
205
|
+
* it to the order before anything is frozen.
|
|
206
|
+
*/
|
|
207
|
+
export async function runHandlers(facts, claim, manifest, deps) {
|
|
208
|
+
const { logger } = deps;
|
|
209
|
+
const base = factInputBase(claim, manifest, deps);
|
|
210
|
+
// A handler for a name the rubric never declares produces nothing — say so once, loudly enough
|
|
211
|
+
// to find in logs: a typo'd key is otherwise a silently-stock fact. `ai["*"]` is the wildcard.
|
|
212
|
+
for (const name of Object.keys(facts.ext)) {
|
|
213
|
+
if (!(name in manifest.ext))
|
|
214
|
+
logger.warn("facts.handler-unused", { kind: "ext", name });
|
|
215
|
+
}
|
|
216
|
+
for (const name of Object.keys(facts.ai)) {
|
|
217
|
+
if (name !== "*" && !(name in manifest.ai)) {
|
|
218
|
+
logger.warn("facts.handler-unused", { kind: "ai", name });
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
// A group's names are ext names too, so the same rule applies to each of them — and the ones the
|
|
222
|
+
// work order DOES declare are claimed here, because a grouped name must not also run the single
|
|
223
|
+
// (or stock) lane: that would be two answers for one fact, decided by whichever wrote last.
|
|
224
|
+
const groupedNames = new Set();
|
|
225
|
+
for (const g of facts.groups) {
|
|
226
|
+
for (const name of g.names) {
|
|
227
|
+
if (name in manifest.ext)
|
|
228
|
+
groupedNames.add(name);
|
|
229
|
+
else
|
|
230
|
+
logger.warn("facts.handler-unused", { kind: "ext", name });
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
// Same for the rule lanes: a `unique`/`frequency` handler written for a rubric that declares no
|
|
234
|
+
// such rule is dead code, and silence would read as "my dup handler ran".
|
|
235
|
+
if (facts.unique && !manifest.unique)
|
|
236
|
+
logger.warn("facts.handler-unused", { kind: "unique" });
|
|
237
|
+
if (facts.frequency && !manifest.frequency) {
|
|
238
|
+
logger.warn("facts.handler-unused", { kind: "frequency" });
|
|
239
|
+
}
|
|
240
|
+
// A declared frequency rule without `max`/`per` (an older engine's `{ ruleId }`) cannot run:
|
|
241
|
+
// the stock lane produces nothing, and validate.ts refuses the build as our/the engine's bug
|
|
242
|
+
// (rule-defaults.ts). A CUSTOM handler still runs — it may know the rule another way.
|
|
243
|
+
const frequencyRule = manifest.frequency ? frequencyRuleOf(manifest.frequency) : null;
|
|
244
|
+
if (manifest.frequency && !frequencyRule && !facts.frequency) {
|
|
245
|
+
logger.warn("stock.frequency-unrunnable", { ruleId: manifest.frequency.ruleId });
|
|
246
|
+
}
|
|
247
|
+
// A prior crashed attempt's already-resolved answers (fact-cache.ts), read ONCE before any
|
|
248
|
+
// handler runs: a hit is returned verbatim — transcript, error status and all — instead of
|
|
249
|
+
// re-running (and re-paying) it. A cached fact may predate THIS attempt's `frozenAt`; that is
|
|
250
|
+
// sound: the wire only asserts `frozenAt === ctx.now` (factset.ts), and a fact's own timing
|
|
251
|
+
// lives in its transcript. `unique`/`frequency` never go through here — registry state and
|
|
252
|
+
// calendar windows must be fresh per attempt.
|
|
253
|
+
const declared = Object.keys(manifest.ext).length > 0 || Object.keys(manifest.ai).length > 0;
|
|
254
|
+
const cached = new Map((deps.factCache && declared ? await deps.factCache.read(claim.claimId) : []).flatMap((row) => row.kind === "ext" || row.kind === "ai"
|
|
255
|
+
? [[`${row.kind}:${row.name}`, row.fact]]
|
|
256
|
+
: []));
|
|
257
|
+
// `stock.fact-cache-hit` — and `stock.frequency-unrunnable` above — keep their `stock.` names
|
|
258
|
+
// though both moved here from stock/index.ts: deployed log queries already name them.
|
|
259
|
+
const cacheHit = (kind, name) => {
|
|
260
|
+
const hit = cached.get(`${kind}:${name}`);
|
|
261
|
+
if (hit)
|
|
262
|
+
logger.info("stock.fact-cache-hit", { claimId: claim.claimId, kind, name });
|
|
263
|
+
return hit;
|
|
264
|
+
};
|
|
265
|
+
/**
|
|
266
|
+
* The per-fact wrapper, written ONCE for both lanes: cache hit short-circuits (and is never
|
|
267
|
+
* re-written), the handler runs under the try/catch, whatever comes back is normalized against
|
|
268
|
+
* the MANIFEST's `onError`, and the resolved fact is cached. Splitting this per kind is how the
|
|
269
|
+
* guarantees would drift — a rule changed on `ext` and forgotten on `ai`.
|
|
270
|
+
*/
|
|
271
|
+
const runFact = async (kind, name, onError, target, input, handler, normalize, op) => {
|
|
272
|
+
const hit = cacheHit(kind, name);
|
|
273
|
+
if (hit) {
|
|
274
|
+
deps.metrics?.timing("facts.handler", 0, {
|
|
275
|
+
op,
|
|
276
|
+
route: name,
|
|
277
|
+
outcome: "cached",
|
|
278
|
+
id: deps.protocolDid,
|
|
279
|
+
});
|
|
280
|
+
return hit;
|
|
281
|
+
}
|
|
282
|
+
const resolved = await timeHandler(deps, op, name, async () => {
|
|
283
|
+
try {
|
|
284
|
+
// `deps.tools` is target-blind in its TYPE (it answers every kind), but the target it
|
|
285
|
+
// is given picks the lane `stock()` runs — so tools for an ext target are `ExtTools`
|
|
286
|
+
// and for an ai target `AiTools`, which is what the handler is declared to take.
|
|
287
|
+
return normalize(await handler(input, deps.tools(target)), onError);
|
|
288
|
+
}
|
|
289
|
+
catch (err) {
|
|
290
|
+
// The one cast: an error fact is the same object in both unions (factset.ts).
|
|
291
|
+
return factForThrow(deps, kind, name, onError, err);
|
|
292
|
+
}
|
|
293
|
+
}, statusOf);
|
|
294
|
+
await deps.factCache?.write(claim.claimId, kind, name, resolved);
|
|
295
|
+
return resolved;
|
|
296
|
+
};
|
|
297
|
+
const ext = {};
|
|
298
|
+
const ai = {};
|
|
299
|
+
/**
|
|
300
|
+
* A grouped handler: ONE call, one slot in the fan-out cap, several facts — for the oracle whose
|
|
301
|
+
* four criteria come out of a single structured model call. Everything the per-fact wrapper
|
|
302
|
+
* guarantees still holds per NAME: each fact carries its OWN declaration's `onError`, each is
|
|
303
|
+
* cached on its own, and a crash freezes every name the call owed. What a group adds is the
|
|
304
|
+
* silence rule — a name the handler forgot is that name's error, because "no fact" is not an
|
|
305
|
+
* answer and must never read as one — and a name nobody asked for, which is dropped with a warning
|
|
306
|
+
* rather than written (a rule could not read it anyway).
|
|
307
|
+
*/
|
|
308
|
+
const runGroup = async (g, declared) => {
|
|
309
|
+
const pending = [];
|
|
310
|
+
const cachedHere = new Set();
|
|
311
|
+
for (const [name, expected] of declared) {
|
|
312
|
+
const hit = cacheHit("ext", name);
|
|
313
|
+
if (hit) {
|
|
314
|
+
ext[name] = hit;
|
|
315
|
+
cachedHere.add(name);
|
|
316
|
+
}
|
|
317
|
+
else
|
|
318
|
+
pending.push([name, expected]);
|
|
319
|
+
}
|
|
320
|
+
// Every name already paid for by an earlier attempt — the CALL is what the cache is saving here.
|
|
321
|
+
if (pending.length === 0)
|
|
322
|
+
return;
|
|
323
|
+
const names = pending.map(([name]) => name);
|
|
324
|
+
const sources = {};
|
|
325
|
+
for (const [name, expected] of pending)
|
|
326
|
+
sources[name] = buildExtInput(base, name, expected);
|
|
327
|
+
const label = `group(${g.names.join(", ")})`;
|
|
328
|
+
let answers = {};
|
|
329
|
+
let failure = null;
|
|
330
|
+
// `error` until the call answers — also when a retry signal escapes the catch below.
|
|
331
|
+
let outcome = "error";
|
|
332
|
+
const started = Date.now();
|
|
333
|
+
try {
|
|
334
|
+
const returned = await inHandlerSpan(deps, "group", label, async () => g.handler({ ...base, names, sources }, deps.tools({ kind: "group", names })));
|
|
335
|
+
if (typeof returned !== "object" || returned === null) {
|
|
336
|
+
const kind = returned === null ? "null" : typeof returned;
|
|
337
|
+
failure = `handler returned ${kind} — expected an object of facts, one per name`;
|
|
338
|
+
}
|
|
339
|
+
else {
|
|
340
|
+
answers = returned;
|
|
341
|
+
outcome = "ok";
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
catch (err) {
|
|
345
|
+
failure = detailForThrow(deps, "ext", label, err);
|
|
346
|
+
}
|
|
347
|
+
finally {
|
|
348
|
+
// One point per CALL, like the fan-out cap: a group's names share it. The call answered
|
|
349
|
+
// (even `{}` — the missing names are each their own error fact) unless it failed or threw.
|
|
350
|
+
deps.metrics?.timing("facts.handler", Date.now() - started, {
|
|
351
|
+
op: "group",
|
|
352
|
+
route: label,
|
|
353
|
+
outcome,
|
|
354
|
+
id: deps.protocolDid,
|
|
355
|
+
});
|
|
356
|
+
}
|
|
357
|
+
for (const name of Object.keys(answers)) {
|
|
358
|
+
// A name this call was not asked for: undeclared by the rubric, or owned by another handler.
|
|
359
|
+
// Never written — but never silent either. A name answered from the CACHE above is neither:
|
|
360
|
+
// a handler that always returns all of them is right, and the cached fact simply wins.
|
|
361
|
+
if (!names.includes(name) && !cachedHere.has(name)) {
|
|
362
|
+
logger.warn("facts.group-extra-fact", { group: label, name });
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
for (const [name, expected] of pending) {
|
|
366
|
+
const resolved = failure !== null
|
|
367
|
+
? { status: "error", onError: expected.onError, detail: failure }
|
|
368
|
+
: name in answers
|
|
369
|
+
? normalizeExt(answers[name], expected.onError)
|
|
370
|
+
: {
|
|
371
|
+
status: "error",
|
|
372
|
+
onError: expected.onError,
|
|
373
|
+
detail: `handler returned no fact for ${name}`,
|
|
374
|
+
};
|
|
375
|
+
ext[name] = resolved;
|
|
376
|
+
await deps.factCache?.write(claim.claimId, "ext", name, resolved);
|
|
377
|
+
}
|
|
378
|
+
};
|
|
379
|
+
// ONE task per group, not one per name: the cap counts the CALL, which is what costs money. A
|
|
380
|
+
// group none of whose names the work order declares has nothing to call (each name warned above).
|
|
381
|
+
const groupTasks = [];
|
|
382
|
+
for (const g of facts.groups) {
|
|
383
|
+
const declared = Object.entries(manifest.ext).filter(([name]) => g.names.includes(name));
|
|
384
|
+
if (declared.length > 0)
|
|
385
|
+
groupTasks.push(() => runGroup(g, declared));
|
|
386
|
+
}
|
|
387
|
+
const connectors = [
|
|
388
|
+
...groupTasks,
|
|
389
|
+
...Object.entries(manifest.ext)
|
|
390
|
+
.filter(([name]) => !groupedNames.has(name))
|
|
391
|
+
.map(([name, expected]) => async () => {
|
|
392
|
+
ext[name] = await runFact("ext", name, expected.onError, { kind: "ext", name, expected }, buildExtInput(base, name, expected), facts.ext[name] ?? deps.stock.ext, normalizeExt, facts.ext[name] ? "custom" : "ext-source");
|
|
393
|
+
}),
|
|
394
|
+
...Object.entries(manifest.ai).map(([name, check]) => async () => {
|
|
395
|
+
ai[name] = await runFact("ai", name, check.onError, { kind: "ai", name, check }, buildAiInput(base, name, check),
|
|
396
|
+
// `ai["*"]` is the catch-all for every check the table does not name — one handler for a
|
|
397
|
+
// rubric with thirty checks. A named handler still wins.
|
|
398
|
+
facts.ai[name] ?? facts.ai["*"] ?? deps.stock.ai, normalizeAi, (facts.ai[name] ?? facts.ai["*"]) ? "custom" : "ai-check");
|
|
399
|
+
}),
|
|
400
|
+
];
|
|
401
|
+
const runUnique = async () => {
|
|
402
|
+
if (!manifest.unique)
|
|
403
|
+
return undefined;
|
|
404
|
+
const input = { ...base, rule: uniqueRuleOf(manifest.unique) };
|
|
405
|
+
try {
|
|
406
|
+
return await timeHandler(deps, "unique", manifest.unique.ruleId, async () => (facts.unique ?? deps.stock.unique)(input, deps.tools({ kind: "unique" })), answered);
|
|
407
|
+
}
|
|
408
|
+
catch (err) {
|
|
409
|
+
return rethrow(err);
|
|
410
|
+
}
|
|
411
|
+
};
|
|
412
|
+
const runFrequency = async () => {
|
|
413
|
+
// Declared-but-unrunnable is only the stock lane's dead end (warned above) — a custom handler
|
|
414
|
+
// is still asked, with a null rule.
|
|
415
|
+
if (!manifest.frequency || (!frequencyRule && !facts.frequency))
|
|
416
|
+
return undefined;
|
|
417
|
+
const input = { ...base, rule: frequencyRule };
|
|
418
|
+
try {
|
|
419
|
+
return await timeHandler(deps, "frequency", manifest.frequency.ruleId, async () => (facts.frequency ?? deps.stock.frequency)(input, deps.tools({ kind: "frequency" })), answered);
|
|
420
|
+
}
|
|
421
|
+
catch (err) {
|
|
422
|
+
return rethrow(err);
|
|
423
|
+
}
|
|
424
|
+
};
|
|
425
|
+
const [, unique, frequency] = await Promise.all([
|
|
426
|
+
inPool(MAX_CONCURRENT_CONNECTORS, connectors),
|
|
427
|
+
runUnique(),
|
|
428
|
+
runFrequency(),
|
|
429
|
+
]);
|
|
430
|
+
const produced = { ext, ai };
|
|
431
|
+
// Keys only when produced: the FactSet is strict and its key set is the wire contract.
|
|
432
|
+
if (unique)
|
|
433
|
+
produced.unique = unique;
|
|
434
|
+
if (frequency)
|
|
435
|
+
produced.frequency = frequency;
|
|
436
|
+
return produced;
|
|
437
|
+
}
|
|
438
|
+
//# sourceMappingURL=runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/lib/facts/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The AI-check connector (§A.15) — the stock way a rubric's `ai.<name>` gets its value: the
|
|
3
|
+
* configured AI provider (ai-provider.ts — Cloudflare AI Gateway by default, OpenRouter opt-in) with
|
|
4
|
+
* the pinned `AI_CHECK_MODEL`, a deterministic prompt composed from the
|
|
5
|
+
* authored `instructions`, typed + labelled inputs (ai-inputs.ts lanes, archive expansion, and the
|
|
6
|
+
* C2PA provenance short-circuit for images), strict structured output, the confidence floor, and
|
|
7
|
+
* the frozen transcript. Same retry/onError/freeze discipline as the external-source connector.
|
|
8
|
+
*
|
|
9
|
+
* Run as the stock `ai` lane (../tools.ts `stockLanes`) for every check in the work order; a
|
|
10
|
+
* provider's handler may wrap it (`tools.stock()`), reach the judge with its own rules
|
|
11
|
+
* (`tools.ai.judge`), or replace it per check — or for all of them: the model call is a vendor
|
|
12
|
+
* trade-off, which is exactly why it lives in the oracle and not in the engine.
|
|
13
|
+
*/
|
|
14
|
+
import type { AiSendEntry } from "../../../facts/types.js";
|
|
15
|
+
import type { PulledClaim } from "../../ixo/index.js";
|
|
16
|
+
import type { ExpectedAi } from "../expected.js";
|
|
17
|
+
import type { AiFact } from "../factset.js";
|
|
18
|
+
import type { ProducerDeps } from "../producer.js";
|
|
19
|
+
/** One AI check (§A.15): the claim, the declared check and its typed, ordered inputs (runner.ts). */
|
|
20
|
+
export interface AiCheckInput {
|
|
21
|
+
claim: PulledClaim;
|
|
22
|
+
/** The `<name>` in `ai.<name>` — the work-order key (expected.ts). */
|
|
23
|
+
name: string;
|
|
24
|
+
check: ExpectedAi;
|
|
25
|
+
entries: AiSendEntry[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The cap for lanes that ride to the model as base64 (image/pdf/video/audio) — above it the file
|
|
29
|
+
* becomes a descriptor input instead (§6.1). A constant, not config: it guards the request size,
|
|
30
|
+
* not a policy anyone tunes (`maxSizeMB` rules are where oversize is policy). Exported because
|
|
31
|
+
* `tools.attachments.bytes` defaults to the SAME cap — a handler reading a file itself must not
|
|
32
|
+
* quietly get a different limit from the lane beside it.
|
|
33
|
+
*/
|
|
34
|
+
export declare const MAX_AI_ATTACHMENT_BYTES: number;
|
|
35
|
+
/**
|
|
36
|
+
* The fixed evaluator prompt. The instruction boilerplate is a STATIC prefix shared by EVERY check
|
|
37
|
+
* (prompt-cache hit across checks); the per-check numbered RULESET sits at the END of the system
|
|
38
|
+
* message, and the labelled inputs arrive in the user message, LAST.
|
|
39
|
+
*
|
|
40
|
+
* DATA BOUNDARY belongs to that static prefix, not to any check: the inputs are authored by the
|
|
41
|
+
* party being evaluated, and `valid` is derived from `failed_rules` while the confidence floor
|
|
42
|
+
* reads `score` — the two fields an injected instruction would aim at. A per-run nonce delimiter
|
|
43
|
+
* would bust the cached prefix for every check, so the boundary is stated instead.
|
|
44
|
+
*
|
|
45
|
+
* THREE outcomes per rule, not two (eval critique P0-4): a rule the evidence refutes FAILS; a rule
|
|
46
|
+
* the evidence cannot be READ for (too blurred, dark, cropped, a file not sent) is UNDETERMINABLE,
|
|
47
|
+
* which the code turns into an error fact (the rubric's `onError`) — an unreadable photo is not
|
|
48
|
+
* evidence of anything, so it must never become `valid:false` and a gate reject.
|
|
49
|
+
*
|
|
50
|
+
* COMPARISON is the one variant of the prefix, added when two or more images reach the model (a
|
|
51
|
+
* before/after pair): the work being judged changes the subject between the photos, so an
|
|
52
|
+
* expected change (cleaner, a colour revealed, other light) must not read as a different subject —
|
|
53
|
+
* the generalisation of the wording Spongy Shine had to write into its `sameBoat` rule.
|
|
54
|
+
*/
|
|
55
|
+
export declare function aiSystemPrompt(check: Pick<ExpectedAi, "instructions">, opts?: {
|
|
56
|
+
comparison?: boolean;
|
|
57
|
+
}): string;
|
|
58
|
+
/** What the judge needs off `ProducerDeps` — no db, no engine: a model call and its evidence. */
|
|
59
|
+
export type JudgeDeps = Pick<ProducerDeps, "config" | "logger" | "trace" | "media" | "cache" | "settings" | "aiSpend" | "aiCalls" | "env">;
|
|
60
|
+
/**
|
|
61
|
+
* One DECLARED AI check (§A.15): the judge below, run with the rubric's own `instructions` and
|
|
62
|
+
* `onError`. Nothing else distinguishes it — which is why `tools.ai.judge` can offer the same
|
|
63
|
+
* machinery to a handler that answers a check its own way.
|
|
64
|
+
*/
|
|
65
|
+
export declare function resolveAiCheck(input: AiCheckInput, deps: JudgeDeps): Promise<AiFact>;
|
|
66
|
+
/**
|
|
67
|
+
* The judge (§A.15) via OpenRouter — `reasoning: {effort: "low"}`, no `temperature` key
|
|
68
|
+
* (GPT-5.x rejects it), no `max_tokens` cap (the strict schema bounds the shape),
|
|
69
|
+
* `provider: {sort: "latency"}`, strict json_schema out, `model` defaulting to the pinned
|
|
70
|
+
* `AI_CHECK_MODEL`.
|
|
71
|
+
*
|
|
72
|
+
* Inputs are typed and labelled: scalar send values become text inputs (`key: value`); a
|
|
73
|
+
* file/signature-bound ref becomes an image input (`image/*`, at the pinned `AI_IMAGE_DETAIL`) or a
|
|
74
|
+
* file input (PDF, via the file-parser plugin), or one of the §6.1 lanes. A PUBLICLY fetchable
|
|
75
|
+
* attachment is passed by URL; a private store's media (the claim bot, the VFS claims lane) is
|
|
76
|
+
* UCAN-authenticated (OpenRouter cannot fetch it), so those bytes are fetched here and inlined
|
|
77
|
+
* base64.
|
|
78
|
+
*
|
|
79
|
+
* Never trust the model's arithmetic: `valid` is DERIVED IN CODE (`failed_rules.length === 0` —
|
|
80
|
+
* the model's own `valid` field is ignored), the score is clamped 0..100, and a score below the
|
|
81
|
+
* AI_CHECK_MIN_CONFIDENCE floor is the UNREACHABLE path (→ onError), not a trusted verdict. So is
|
|
82
|
+
* any non-2xx / unparseable / schema-miss / empty completion — never a `valid:false`. Any rule in
|
|
83
|
+
* `undeterminable_rules` is an error fact too (→ onError), whatever else failed: the model could not
|
|
84
|
+
* read the evidence, which is never a verdict on it (P0-4).
|
|
85
|
+
*
|
|
86
|
+
* The transcript freezes model id, the full request (inlined attachments recorded as CID + byte
|
|
87
|
+
* sha256, NOT the base64 — the bytes are already content-addressed in Matrix), the raw response,
|
|
88
|
+
* the OpenRouter generation id and the last-attempt latency — a recorded outside opinion
|
|
89
|
+
* (§A.15.3), never re-derived on replay.
|
|
90
|
+
*/
|
|
91
|
+
export declare function judgeWithModel(input: {
|
|
92
|
+
claim: PulledClaim;
|
|
93
|
+
/** The fact this judgment answers — the idempotency key and every log line's `check`. */
|
|
94
|
+
name: string;
|
|
95
|
+
instructions: string[];
|
|
96
|
+
onError: "review" | "reject";
|
|
97
|
+
entries: AiSendEntry[];
|
|
98
|
+
model?: string;
|
|
99
|
+
}, deps: JudgeDeps): Promise<AiFact>;
|
|
100
|
+
//# sourceMappingURL=ai-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-check.d.ts","sourceRoot":"","sources":["../../../../src/lib/facts/stock/ai-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAyBhD,qGAAqG;AACrG,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,QAAmB,CAAC;AAYxD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EACvC,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,MAAM,CAuCR;AAmED,iGAAiG;AACjG,MAAM,MAAM,SAAS,GAAG,IAAI,CAC1B,YAAY,EACZ,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,KAAK,CAC/F,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAM1F;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE;IACL,KAAK,EAAE,WAAW,CAAC;IACnB,yFAAyF;IACzF,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC7B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EACD,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,MAAM,CAAC,CAuXjB"}
|