@ixo/openhands-sdk 0.0.0-stage → 0.1.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/LICENSE +201 -0
- package/README.md +246 -2
- package/dist/cjs/board.d.ts +20 -0
- package/dist/cjs/board.d.ts.map +1 -0
- package/dist/cjs/board.js +60 -0
- package/dist/cjs/board.js.map +1 -0
- package/dist/cjs/campaign/badges.d.ts +30 -0
- package/dist/cjs/campaign/badges.d.ts.map +1 -0
- package/dist/cjs/campaign/badges.js +69 -0
- package/dist/cjs/campaign/badges.js.map +1 -0
- package/dist/cjs/campaign/bands.d.ts +161 -0
- package/dist/cjs/campaign/bands.d.ts.map +1 -0
- package/dist/cjs/campaign/bands.js +186 -0
- package/dist/cjs/campaign/bands.js.map +1 -0
- package/dist/cjs/campaign/campaign.d.ts +50 -0
- package/dist/cjs/campaign/campaign.d.ts.map +1 -0
- package/dist/cjs/campaign/campaign.js +183 -0
- package/dist/cjs/campaign/campaign.js.map +1 -0
- package/dist/cjs/campaign/campaigns.d.ts +2 -0
- package/dist/cjs/campaign/campaigns.d.ts.map +1 -0
- package/dist/cjs/campaign/campaigns.js +37 -0
- package/dist/cjs/campaign/campaigns.js.map +1 -0
- package/dist/cjs/campaign/cleanable.d.ts +13 -0
- package/dist/cjs/campaign/cleanable.d.ts.map +1 -0
- package/dist/cjs/campaign/cleanable.js +6 -0
- package/dist/cjs/campaign/cleanable.js.map +1 -0
- package/dist/cjs/campaign/cleanup.d.ts +78 -0
- package/dist/cjs/campaign/cleanup.d.ts.map +1 -0
- package/dist/cjs/campaign/cleanup.js +132 -0
- package/dist/cjs/campaign/cleanup.js.map +1 -0
- package/dist/cjs/campaign/commit.d.ts +39 -0
- package/dist/cjs/campaign/commit.d.ts.map +1 -0
- package/dist/cjs/campaign/commit.js +43 -0
- package/dist/cjs/campaign/commit.js.map +1 -0
- package/dist/cjs/campaign/field.d.ts +50 -0
- package/dist/cjs/campaign/field.d.ts.map +1 -0
- package/dist/cjs/campaign/field.js +94 -0
- package/dist/cjs/campaign/field.js.map +1 -0
- package/dist/cjs/campaign/fold.d.ts +227 -0
- package/dist/cjs/campaign/fold.d.ts.map +1 -0
- package/dist/cjs/campaign/fold.js +459 -0
- package/dist/cjs/campaign/fold.js.map +1 -0
- package/dist/cjs/campaign/funding.d.ts +153 -0
- package/dist/cjs/campaign/funding.d.ts.map +1 -0
- package/dist/cjs/campaign/funding.js +168 -0
- package/dist/cjs/campaign/funding.js.map +1 -0
- package/dist/cjs/campaign/landing.d.ts +20 -0
- package/dist/cjs/campaign/landing.d.ts.map +1 -0
- package/dist/cjs/campaign/landing.js +54 -0
- package/dist/cjs/campaign/landing.js.map +1 -0
- package/dist/cjs/campaign/pledges.d.ts +237 -0
- package/dist/cjs/campaign/pledges.d.ts.map +1 -0
- package/dist/cjs/campaign/pledges.js +235 -0
- package/dist/cjs/campaign/pledges.js.map +1 -0
- package/dist/cjs/campaign/pledgesChain.d.ts +58 -0
- package/dist/cjs/campaign/pledgesChain.d.ts.map +1 -0
- package/dist/cjs/campaign/pledgesChain.js +102 -0
- package/dist/cjs/campaign/pledgesChain.js.map +1 -0
- package/dist/cjs/campaign/pool.d.ts +137 -0
- package/dist/cjs/campaign/pool.d.ts.map +1 -0
- package/dist/cjs/campaign/pool.js +237 -0
- package/dist/cjs/campaign/pool.js.map +1 -0
- package/dist/cjs/campaign/record.d.ts +115 -0
- package/dist/cjs/campaign/record.d.ts.map +1 -0
- package/dist/cjs/campaign/record.js +291 -0
- package/dist/cjs/campaign/record.js.map +1 -0
- package/dist/cjs/campaign/rule.d.ts +311 -0
- package/dist/cjs/campaign/rule.d.ts.map +1 -0
- package/dist/cjs/campaign/rule.js +210 -0
- package/dist/cjs/campaign/rule.js.map +1 -0
- package/dist/cjs/campaign/spot.d.ts +37 -0
- package/dist/cjs/campaign/spot.d.ts.map +1 -0
- package/dist/cjs/campaign/spot.js +170 -0
- package/dist/cjs/campaign/spot.js.map +1 -0
- package/dist/cjs/campaign/spots.d.ts +437 -0
- package/dist/cjs/campaign/spots.d.ts.map +1 -0
- package/dist/cjs/campaign/spots.js +790 -0
- package/dist/cjs/campaign/spots.js.map +1 -0
- package/dist/cjs/campaign/standings.d.ts +236 -0
- package/dist/cjs/campaign/standings.d.ts.map +1 -0
- package/dist/cjs/campaign/standings.js +372 -0
- package/dist/cjs/campaign/standings.js.map +1 -0
- package/dist/cjs/campaign/treasurySends.d.ts +116 -0
- package/dist/cjs/campaign/treasurySends.d.ts.map +1 -0
- package/dist/cjs/campaign/treasurySends.js +198 -0
- package/dist/cjs/campaign/treasurySends.js.map +1 -0
- package/dist/cjs/campaign.d.ts +29 -0
- package/dist/cjs/campaign.d.ts.map +1 -0
- package/dist/cjs/campaign.js +44 -0
- package/dist/cjs/campaign.js.map +1 -0
- package/dist/cjs/chain/account.d.ts +47 -0
- package/dist/cjs/chain/account.d.ts.map +1 -0
- package/dist/cjs/chain/account.js +196 -0
- package/dist/cjs/chain/account.js.map +1 -0
- package/dist/cjs/chain/accountProof.d.ts +135 -0
- package/dist/cjs/chain/accountProof.d.ts.map +1 -0
- package/dist/cjs/chain/accountProof.js +199 -0
- package/dist/cjs/chain/accountProof.js.map +1 -0
- package/dist/cjs/chain/allowance.d.ts +17 -0
- package/dist/cjs/chain/allowance.d.ts.map +1 -0
- package/dist/cjs/chain/allowance.js +81 -0
- package/dist/cjs/chain/allowance.js.map +1 -0
- package/dist/cjs/chain/allowanceRead.d.ts +2 -0
- package/dist/cjs/chain/allowanceRead.d.ts.map +1 -0
- package/dist/cjs/chain/allowanceRead.js +59 -0
- package/dist/cjs/chain/allowanceRead.js.map +1 -0
- package/dist/cjs/chain/ask.d.ts +211 -0
- package/dist/cjs/chain/ask.d.ts.map +1 -0
- package/dist/cjs/chain/ask.js +559 -0
- package/dist/cjs/chain/ask.js.map +1 -0
- package/dist/cjs/chain/bridge.d.ts +50 -0
- package/dist/cjs/chain/bridge.d.ts.map +1 -0
- package/dist/cjs/chain/bridge.js +82 -0
- package/dist/cjs/chain/bridge.js.map +1 -0
- package/dist/cjs/chain/broadcast.d.ts +40 -0
- package/dist/cjs/chain/broadcast.d.ts.map +1 -0
- package/dist/cjs/chain/broadcast.js +189 -0
- package/dist/cjs/chain/broadcast.js.map +1 -0
- package/dist/cjs/chain/delegate.d.ts +154 -0
- package/dist/cjs/chain/delegate.d.ts.map +1 -0
- package/dist/cjs/chain/delegate.js +245 -0
- package/dist/cjs/chain/delegate.js.map +1 -0
- package/dist/cjs/chain/encoding.d.ts +7 -0
- package/dist/cjs/chain/encoding.d.ts.map +1 -0
- package/dist/cjs/chain/encoding.js +29 -0
- package/dist/cjs/chain/encoding.js.map +1 -0
- package/dist/cjs/chain/env.d.ts +50 -0
- package/dist/cjs/chain/env.d.ts.map +1 -0
- package/dist/cjs/chain/env.js +89 -0
- package/dist/cjs/chain/env.js.map +1 -0
- package/dist/cjs/chain/gate.d.ts +12 -0
- package/dist/cjs/chain/gate.d.ts.map +1 -0
- package/dist/cjs/chain/gate.js +55 -0
- package/dist/cjs/chain/gate.js.map +1 -0
- package/dist/cjs/chain/grantPending.d.ts +31 -0
- package/dist/cjs/chain/grantPending.d.ts.map +1 -0
- package/dist/cjs/chain/grantPending.js +56 -0
- package/dist/cjs/chain/grantPending.js.map +1 -0
- package/dist/cjs/chain/guest.d.ts +97 -0
- package/dist/cjs/chain/guest.d.ts.map +1 -0
- package/dist/cjs/chain/guest.js +211 -0
- package/dist/cjs/chain/guest.js.map +1 -0
- package/dist/cjs/chain/iid.d.ts +26 -0
- package/dist/cjs/chain/iid.d.ts.map +1 -0
- package/dist/cjs/chain/iid.js +71 -0
- package/dist/cjs/chain/iid.js.map +1 -0
- package/dist/cjs/chain/money.d.ts +48 -0
- package/dist/cjs/chain/money.d.ts.map +1 -0
- package/dist/cjs/chain/money.js +72 -0
- package/dist/cjs/chain/money.js.map +1 -0
- package/dist/cjs/chain/oracle.d.ts +24 -0
- package/dist/cjs/chain/oracle.d.ts.map +1 -0
- package/dist/cjs/chain/oracle.js +46 -0
- package/dist/cjs/chain/oracle.js.map +1 -0
- package/dist/cjs/chain/pendingTransact.d.ts +31 -0
- package/dist/cjs/chain/pendingTransact.d.ts.map +1 -0
- package/dist/cjs/chain/pendingTransact.js +64 -0
- package/dist/cjs/chain/pendingTransact.js.map +1 -0
- package/dist/cjs/chain/query.d.ts +75 -0
- package/dist/cjs/chain/query.d.ts.map +1 -0
- package/dist/cjs/chain/query.js +171 -0
- package/dist/cjs/chain/query.js.map +1 -0
- package/dist/cjs/chain/send.d.ts +42 -0
- package/dist/cjs/chain/send.d.ts.map +1 -0
- package/dist/cjs/chain/send.js +54 -0
- package/dist/cjs/chain/send.js.map +1 -0
- package/dist/cjs/chain/session.d.ts +109 -0
- package/dist/cjs/chain/session.d.ts.map +1 -0
- package/dist/cjs/chain/session.js +145 -0
- package/dist/cjs/chain/session.js.map +1 -0
- package/dist/cjs/chain/signWith.d.ts +69 -0
- package/dist/cjs/chain/signWith.d.ts.map +1 -0
- package/dist/cjs/chain/signWith.js +277 -0
- package/dist/cjs/chain/signWith.js.map +1 -0
- package/dist/cjs/chain/signer.d.ts +38 -0
- package/dist/cjs/chain/signer.d.ts.map +1 -0
- package/dist/cjs/chain/signer.js +78 -0
- package/dist/cjs/chain/signer.js.map +1 -0
- package/dist/cjs/chain/signx.d.ts +233 -0
- package/dist/cjs/chain/signx.d.ts.map +1 -0
- package/dist/cjs/chain/signx.js +490 -0
- package/dist/cjs/chain/signx.js.map +1 -0
- package/dist/cjs/chain/sponsor.d.ts +2 -0
- package/dist/cjs/chain/sponsor.d.ts.map +1 -0
- package/dist/cjs/chain/sponsor.js +76 -0
- package/dist/cjs/chain/sponsor.js.map +1 -0
- package/dist/cjs/chain/store.d.ts +115 -0
- package/dist/cjs/chain/store.d.ts.map +1 -0
- package/dist/cjs/chain/store.js +212 -0
- package/dist/cjs/chain/store.js.map +1 -0
- package/dist/cjs/chain/subscription.d.ts +73 -0
- package/dist/cjs/chain/subscription.d.ts.map +1 -0
- package/dist/cjs/chain/subscription.js +248 -0
- package/dist/cjs/chain/subscription.js.map +1 -0
- package/dist/cjs/chain/takeBack.d.ts +114 -0
- package/dist/cjs/chain/takeBack.d.ts.map +1 -0
- package/dist/cjs/chain/takeBack.js +190 -0
- package/dist/cjs/chain/takeBack.js.map +1 -0
- package/dist/cjs/chain/union.d.ts +125 -0
- package/dist/cjs/chain/union.d.ts.map +1 -0
- package/dist/cjs/chain/union.js +338 -0
- package/dist/cjs/chain/union.js.map +1 -0
- package/dist/cjs/chain/webauthn.d.ts +22 -0
- package/dist/cjs/chain/webauthn.d.ts.map +1 -0
- package/dist/cjs/chain/webauthn.js +70 -0
- package/dist/cjs/chain/webauthn.js.map +1 -0
- package/dist/cjs/chain.d.ts +35 -0
- package/dist/cjs/chain.d.ts.map +1 -0
- package/dist/cjs/chain.js +119 -0
- package/dist/cjs/chain.js.map +1 -0
- package/dist/cjs/config.d.ts +120 -0
- package/dist/cjs/config.d.ts.map +1 -0
- package/dist/cjs/config.js +128 -0
- package/dist/cjs/config.js.map +1 -0
- package/dist/cjs/data/accept.d.ts +69 -0
- package/dist/cjs/data/accept.d.ts.map +1 -0
- package/dist/cjs/data/accept.js +192 -0
- package/dist/cjs/data/accept.js.map +1 -0
- package/dist/cjs/data/agent.d.ts +87 -0
- package/dist/cjs/data/agent.d.ts.map +1 -0
- package/dist/cjs/data/agent.js +112 -0
- package/dist/cjs/data/agent.js.map +1 -0
- package/dist/cjs/data/askFilter.d.ts +45 -0
- package/dist/cjs/data/askFilter.d.ts.map +1 -0
- package/dist/cjs/data/askFilter.js +53 -0
- package/dist/cjs/data/askFilter.js.map +1 -0
- package/dist/cjs/data/authenticators.d.ts +35 -0
- package/dist/cjs/data/authenticators.d.ts.map +1 -0
- package/dist/cjs/data/authenticators.js +76 -0
- package/dist/cjs/data/authenticators.js.map +1 -0
- package/dist/cjs/data/balance.d.ts +39 -0
- package/dist/cjs/data/balance.d.ts.map +1 -0
- package/dist/cjs/data/balance.js +119 -0
- package/dist/cjs/data/balance.js.map +1 -0
- package/dist/cjs/data/board/assemble.d.ts +140 -0
- package/dist/cjs/data/board/assemble.d.ts.map +1 -0
- package/dist/cjs/data/board/assemble.js +556 -0
- package/dist/cjs/data/board/assemble.js.map +1 -0
- package/dist/cjs/data/board/coverage.d.ts +112 -0
- package/dist/cjs/data/board/coverage.d.ts.map +1 -0
- package/dist/cjs/data/board/coverage.js +192 -0
- package/dist/cjs/data/board/coverage.js.map +1 -0
- package/dist/cjs/data/board/facts.d.ts +63 -0
- package/dist/cjs/data/board/facts.d.ts.map +1 -0
- package/dist/cjs/data/board/facts.js +137 -0
- package/dist/cjs/data/board/facts.js.map +1 -0
- package/dist/cjs/data/board/fixtures.d.ts +21 -0
- package/dist/cjs/data/board/fixtures.d.ts.map +1 -0
- package/dist/cjs/data/board/fixtures.js +46 -0
- package/dist/cjs/data/board/fixtures.js.map +1 -0
- package/dist/cjs/data/board/query.d.ts +12 -0
- package/dist/cjs/data/board/query.d.ts.map +1 -0
- package/dist/cjs/data/board/query.js +82 -0
- package/dist/cjs/data/board/query.js.map +1 -0
- package/dist/cjs/data/board/rank.d.ts +22 -0
- package/dist/cjs/data/board/rank.d.ts.map +1 -0
- package/dist/cjs/data/board/rank.js +51 -0
- package/dist/cjs/data/board/rank.js.map +1 -0
- package/dist/cjs/data/board/read.d.ts +102 -0
- package/dist/cjs/data/board/read.d.ts.map +1 -0
- package/dist/cjs/data/board/read.js +211 -0
- package/dist/cjs/data/board/read.js.map +1 -0
- package/dist/cjs/data/board/series.d.ts +50 -0
- package/dist/cjs/data/board/series.d.ts.map +1 -0
- package/dist/cjs/data/board/series.js +161 -0
- package/dist/cjs/data/board/series.js.map +1 -0
- package/dist/cjs/data/board/trust.d.ts +31 -0
- package/dist/cjs/data/board/trust.d.ts.map +1 -0
- package/dist/cjs/data/board/trust.js +53 -0
- package/dist/cjs/data/board/trust.js.map +1 -0
- package/dist/cjs/data/board/types.d.ts +338 -0
- package/dist/cjs/data/board/types.d.ts.map +1 -0
- package/dist/cjs/data/board/types.js +88 -0
- package/dist/cjs/data/board/types.js.map +1 -0
- package/dist/cjs/data/board/url.d.ts +22 -0
- package/dist/cjs/data/board/url.d.ts.map +1 -0
- package/dist/cjs/data/board/url.js +70 -0
- package/dist/cjs/data/board/url.js.map +1 -0
- package/dist/cjs/data/board/words.d.ts +25 -0
- package/dist/cjs/data/board/words.d.ts.map +1 -0
- package/dist/cjs/data/board/words.js +60 -0
- package/dist/cjs/data/board/words.js.map +1 -0
- package/dist/cjs/data/cid.d.ts +49 -0
- package/dist/cjs/data/cid.d.ts.map +1 -0
- package/dist/cjs/data/cid.js +91 -0
- package/dist/cjs/data/cid.js.map +1 -0
- package/dist/cjs/data/concurrency.d.ts +14 -0
- package/dist/cjs/data/concurrency.d.ts.map +1 -0
- package/dist/cjs/data/concurrency.js +32 -0
- package/dist/cjs/data/concurrency.js.map +1 -0
- package/dist/cjs/data/credentials.d.ts +28 -0
- package/dist/cjs/data/credentials.d.ts.map +1 -0
- package/dist/cjs/data/credentials.js +81 -0
- package/dist/cjs/data/credentials.js.map +1 -0
- package/dist/cjs/data/denoms.d.ts +11 -0
- package/dist/cjs/data/denoms.d.ts.map +1 -0
- package/dist/cjs/data/denoms.js +106 -0
- package/dist/cjs/data/denoms.js.map +1 -0
- package/dist/cjs/data/displayNames.d.ts +58 -0
- package/dist/cjs/data/displayNames.d.ts.map +1 -0
- package/dist/cjs/data/displayNames.js +99 -0
- package/dist/cjs/data/displayNames.js.map +1 -0
- package/dist/cjs/data/docPath.d.ts +28 -0
- package/dist/cjs/data/docPath.d.ts.map +1 -0
- package/dist/cjs/data/docPath.js +44 -0
- package/dist/cjs/data/docPath.js.map +1 -0
- package/dist/cjs/data/docUrls.d.ts +38 -0
- package/dist/cjs/data/docUrls.d.ts.map +1 -0
- package/dist/cjs/data/docUrls.js +70 -0
- package/dist/cjs/data/docUrls.js.map +1 -0
- package/dist/cjs/data/docs.d.ts +61 -0
- package/dist/cjs/data/docs.d.ts.map +1 -0
- package/dist/cjs/data/docs.js +199 -0
- package/dist/cjs/data/docs.js.map +1 -0
- package/dist/cjs/data/engine.d.ts +193 -0
- package/dist/cjs/data/engine.d.ts.map +1 -0
- package/dist/cjs/data/engine.js +411 -0
- package/dist/cjs/data/engine.js.map +1 -0
- package/dist/cjs/data/engineUrl.d.ts +19 -0
- package/dist/cjs/data/engineUrl.d.ts.map +1 -0
- package/dist/cjs/data/engineUrl.js +30 -0
- package/dist/cjs/data/engineUrl.js.map +1 -0
- package/dist/cjs/data/envelope.d.ts +69 -0
- package/dist/cjs/data/envelope.d.ts.map +1 -0
- package/dist/cjs/data/envelope.js +77 -0
- package/dist/cjs/data/envelope.js.map +1 -0
- package/dist/cjs/data/format.d.ts +122 -0
- package/dist/cjs/data/format.d.ts.map +1 -0
- package/dist/cjs/data/format.js +272 -0
- package/dist/cjs/data/format.js.map +1 -0
- package/dist/cjs/data/gql.d.ts +56 -0
- package/dist/cjs/data/gql.d.ts.map +1 -0
- package/dist/cjs/data/gql.js +109 -0
- package/dist/cjs/data/gql.js.map +1 -0
- package/dist/cjs/data/granters.d.ts +15 -0
- package/dist/cjs/data/granters.d.ts.map +1 -0
- package/dist/cjs/data/granters.js +76 -0
- package/dist/cjs/data/granters.js.map +1 -0
- package/dist/cjs/data/index.d.ts +18 -0
- package/dist/cjs/data/index.d.ts.map +1 -0
- package/dist/cjs/data/index.js +88 -0
- package/dist/cjs/data/index.js.map +1 -0
- package/dist/cjs/data/install.d.ts +95 -0
- package/dist/cjs/data/install.d.ts.map +1 -0
- package/dist/cjs/data/install.js +123 -0
- package/dist/cjs/data/install.js.map +1 -0
- package/dist/cjs/data/issueMessage.d.ts +20 -0
- package/dist/cjs/data/issueMessage.d.ts.map +1 -0
- package/dist/cjs/data/issueMessage.js +20 -0
- package/dist/cjs/data/issueMessage.js.map +1 -0
- package/dist/cjs/data/linked.d.ts +54 -0
- package/dist/cjs/data/linked.d.ts.map +1 -0
- package/dist/cjs/data/linked.js +142 -0
- package/dist/cjs/data/linked.js.map +1 -0
- package/dist/cjs/data/network.d.ts +21 -0
- package/dist/cjs/data/network.d.ts.map +1 -0
- package/dist/cjs/data/network.js +28 -0
- package/dist/cjs/data/network.js.map +1 -0
- package/dist/cjs/data/openness.d.ts +93 -0
- package/dist/cjs/data/openness.d.ts.map +1 -0
- package/dist/cjs/data/openness.js +145 -0
- package/dist/cjs/data/openness.js.map +1 -0
- package/dist/cjs/data/oracleInfo.d.ts +20 -0
- package/dist/cjs/data/oracleInfo.d.ts.map +1 -0
- package/dist/cjs/data/oracleInfo.js +38 -0
- package/dist/cjs/data/oracleInfo.js.map +1 -0
- package/dist/cjs/data/oracles.d.ts +44 -0
- package/dist/cjs/data/oracles.d.ts.map +1 -0
- package/dist/cjs/data/oracles.js +115 -0
- package/dist/cjs/data/oracles.js.map +1 -0
- package/dist/cjs/data/outbound.d.ts +50 -0
- package/dist/cjs/data/outbound.d.ts.map +1 -0
- package/dist/cjs/data/outbound.js +102 -0
- package/dist/cjs/data/outbound.js.map +1 -0
- package/dist/cjs/data/paged.d.ts +48 -0
- package/dist/cjs/data/paged.d.ts.map +1 -0
- package/dist/cjs/data/paged.js +81 -0
- package/dist/cjs/data/paged.js.map +1 -0
- package/dist/cjs/data/profiles.d.ts +3 -0
- package/dist/cjs/data/profiles.d.ts.map +1 -0
- package/dist/cjs/data/profiles.js +71 -0
- package/dist/cjs/data/profiles.js.map +1 -0
- package/dist/cjs/data/proof.d.ts +93 -0
- package/dist/cjs/data/proof.d.ts.map +1 -0
- package/dist/cjs/data/proof.js +166 -0
- package/dist/cjs/data/proof.js.map +1 -0
- package/dist/cjs/data/queue.d.ts +49 -0
- package/dist/cjs/data/queue.d.ts.map +1 -0
- package/dist/cjs/data/queue.js +118 -0
- package/dist/cjs/data/queue.js.map +1 -0
- package/dist/cjs/data/rates.d.ts +143 -0
- package/dist/cjs/data/rates.d.ts.map +1 -0
- package/dist/cjs/data/rates.js +265 -0
- package/dist/cjs/data/rates.js.map +1 -0
- package/dist/cjs/data/receipt.d.ts +207 -0
- package/dist/cjs/data/receipt.d.ts.map +1 -0
- package/dist/cjs/data/receipt.js +320 -0
- package/dist/cjs/data/receipt.js.map +1 -0
- package/dist/cjs/data/resources.d.ts +30 -0
- package/dist/cjs/data/resources.d.ts.map +1 -0
- package/dist/cjs/data/resources.js +29 -0
- package/dist/cjs/data/resources.js.map +1 -0
- package/dist/cjs/data/sametask.d.ts +35 -0
- package/dist/cjs/data/sametask.d.ts.map +1 -0
- package/dist/cjs/data/sametask.js +45 -0
- package/dist/cjs/data/sametask.js.map +1 -0
- package/dist/cjs/data/shortName.d.ts +52 -0
- package/dist/cjs/data/shortName.d.ts.map +1 -0
- package/dist/cjs/data/shortName.js +122 -0
- package/dist/cjs/data/shortName.js.map +1 -0
- package/dist/cjs/data/threads.d.ts +97 -0
- package/dist/cjs/data/threads.d.ts.map +1 -0
- package/dist/cjs/data/threads.js +214 -0
- package/dist/cjs/data/threads.js.map +1 -0
- package/dist/cjs/data/trace.d.ts +133 -0
- package/dist/cjs/data/trace.d.ts.map +1 -0
- package/dist/cjs/data/trace.js +125 -0
- package/dist/cjs/data/trace.js.map +1 -0
- package/dist/cjs/data/traceWords.d.ts +54 -0
- package/dist/cjs/data/traceWords.d.ts.map +1 -0
- package/dist/cjs/data/traceWords.js +192 -0
- package/dist/cjs/data/traceWords.js.map +1 -0
- package/dist/cjs/data/types.d.ts +50 -0
- package/dist/cjs/data/types.d.ts.map +1 -0
- package/dist/cjs/data/types.js +9 -0
- package/dist/cjs/data/types.js.map +1 -0
- package/dist/cjs/data/verdict.d.ts +37 -0
- package/dist/cjs/data/verdict.d.ts.map +1 -0
- package/dist/cjs/data/verdict.js +57 -0
- package/dist/cjs/data/verdict.js.map +1 -0
- package/dist/cjs/data/work.d.ts +46 -0
- package/dist/cjs/data/work.d.ts.map +1 -0
- package/dist/cjs/data/work.js +105 -0
- package/dist/cjs/data/work.js.map +1 -0
- package/dist/cjs/envRead.d.ts +15 -0
- package/dist/cjs/envRead.d.ts.map +1 -0
- package/dist/cjs/envRead.js +26 -0
- package/dist/cjs/envRead.js.map +1 -0
- package/dist/cjs/geo/box.d.ts +64 -0
- package/dist/cjs/geo/box.d.ts.map +1 -0
- package/dist/cjs/geo/box.js +97 -0
- package/dist/cjs/geo/box.js.map +1 -0
- package/dist/cjs/geo/exif.d.ts +20 -0
- package/dist/cjs/geo/exif.d.ts.map +1 -0
- package/dist/cjs/geo/exif.js +220 -0
- package/dist/cjs/geo/exif.js.map +1 -0
- package/dist/cjs/geo/exifcarry.d.ts +31 -0
- package/dist/cjs/geo/exifcarry.d.ts.map +1 -0
- package/dist/cjs/geo/exifcarry.js +81 -0
- package/dist/cjs/geo/exifcarry.js.map +1 -0
- package/dist/cjs/geo/exifnote.d.ts +86 -0
- package/dist/cjs/geo/exifnote.d.ts.map +1 -0
- package/dist/cjs/geo/exifnote.js +253 -0
- package/dist/cjs/geo/exifnote.js.map +1 -0
- package/dist/cjs/geo/mentions.d.ts +44 -0
- package/dist/cjs/geo/mentions.d.ts.map +1 -0
- package/dist/cjs/geo/mentions.js +199 -0
- package/dist/cjs/geo/mentions.js.map +1 -0
- package/dist/cjs/geo/osm.d.ts +112 -0
- package/dist/cjs/geo/osm.d.ts.map +1 -0
- package/dist/cjs/geo/osm.js +178 -0
- package/dist/cjs/geo/osm.js.map +1 -0
- package/dist/cjs/geo/place.d.ts +51 -0
- package/dist/cjs/geo/place.d.ts.map +1 -0
- package/dist/cjs/geo/place.js +106 -0
- package/dist/cjs/geo/place.js.map +1 -0
- package/dist/cjs/geo/search.d.ts +41 -0
- package/dist/cjs/geo/search.d.ts.map +1 -0
- package/dist/cjs/geo/search.js +187 -0
- package/dist/cjs/geo/search.js.map +1 -0
- package/dist/cjs/geo/sun.d.ts +39 -0
- package/dist/cjs/geo/sun.d.ts.map +1 -0
- package/dist/cjs/geo/sun.js +55 -0
- package/dist/cjs/geo/sun.js.map +1 -0
- package/dist/cjs/geo/tiles.d.ts +89 -0
- package/dist/cjs/geo/tiles.d.ts.map +1 -0
- package/dist/cjs/geo/tiles.js +146 -0
- package/dist/cjs/geo/tiles.js.map +1 -0
- package/dist/cjs/geo.d.ts +20 -0
- package/dist/cjs/geo.d.ts.map +1 -0
- package/dist/cjs/geo.js +35 -0
- package/dist/cjs/geo.js.map +1 -0
- package/dist/cjs/given.d.ts +15 -0
- package/dist/cjs/given.d.ts.map +1 -0
- package/dist/cjs/given.js +25 -0
- package/dist/cjs/given.js.map +1 -0
- package/dist/cjs/network.d.ts +23 -0
- package/dist/cjs/network.d.ts.map +1 -0
- package/dist/cjs/network.js +56 -0
- package/dist/cjs/network.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/protocol.d.ts +40 -0
- package/dist/cjs/protocol.d.ts.map +1 -0
- package/dist/cjs/protocol.js +54 -0
- package/dist/cjs/protocol.js.map +1 -0
- package/dist/cjs/rubric/bridge.d.ts +428 -0
- package/dist/cjs/rubric/bridge.d.ts.map +1 -0
- package/dist/cjs/rubric/bridge.js +917 -0
- package/dist/cjs/rubric/bridge.js.map +1 -0
- package/dist/cjs/rubric/call.d.ts +73 -0
- package/dist/cjs/rubric/call.d.ts.map +1 -0
- package/dist/cjs/rubric/call.js +132 -0
- package/dist/cjs/rubric/call.js.map +1 -0
- package/dist/cjs/rubric/card.d.ts +74 -0
- package/dist/cjs/rubric/card.d.ts.map +1 -0
- package/dist/cjs/rubric/card.js +45 -0
- package/dist/cjs/rubric/card.js.map +1 -0
- package/dist/cjs/rubric/chain.d.ts +44 -0
- package/dist/cjs/rubric/chain.d.ts.map +1 -0
- package/dist/cjs/rubric/chain.js +52 -0
- package/dist/cjs/rubric/chain.js.map +1 -0
- package/dist/cjs/rubric/claimForm.d.ts +142 -0
- package/dist/cjs/rubric/claimForm.d.ts.map +1 -0
- package/dist/cjs/rubric/claimForm.js +112 -0
- package/dist/cjs/rubric/claimForm.js.map +1 -0
- package/dist/cjs/rubric/claimFormResource.d.ts +34 -0
- package/dist/cjs/rubric/claimFormResource.d.ts.map +1 -0
- package/dist/cjs/rubric/claimFormResource.js +38 -0
- package/dist/cjs/rubric/claimFormResource.js.map +1 -0
- package/dist/cjs/rubric/compose.d.ts +99 -0
- package/dist/cjs/rubric/compose.d.ts.map +1 -0
- package/dist/cjs/rubric/compose.js +229 -0
- package/dist/cjs/rubric/compose.js.map +1 -0
- package/dist/cjs/rubric/confidence.d.ts +81 -0
- package/dist/cjs/rubric/confidence.d.ts.map +1 -0
- package/dist/cjs/rubric/confidence.js +87 -0
- package/dist/cjs/rubric/confidence.js.map +1 -0
- package/dist/cjs/rubric/draft.d.ts +224 -0
- package/dist/cjs/rubric/draft.d.ts.map +1 -0
- package/dist/cjs/rubric/draft.js +214 -0
- package/dist/cjs/rubric/draft.js.map +1 -0
- package/dist/cjs/rubric/gateMet.d.ts +46 -0
- package/dist/cjs/rubric/gateMet.d.ts.map +1 -0
- package/dist/cjs/rubric/gateMet.js +110 -0
- package/dist/cjs/rubric/gateMet.js.map +1 -0
- package/dist/cjs/rubric/leg.d.ts +106 -0
- package/dist/cjs/rubric/leg.d.ts.map +1 -0
- package/dist/cjs/rubric/leg.js +147 -0
- package/dist/cjs/rubric/leg.js.map +1 -0
- package/dist/cjs/rubric/publish.d.ts +39 -0
- package/dist/cjs/rubric/publish.d.ts.map +1 -0
- package/dist/cjs/rubric/publish.js +34 -0
- package/dist/cjs/rubric/publish.js.map +1 -0
- package/dist/cjs/rubric/reanchor.d.ts +79 -0
- package/dist/cjs/rubric/reanchor.d.ts.map +1 -0
- package/dist/cjs/rubric/reanchor.js +154 -0
- package/dist/cjs/rubric/reanchor.js.map +1 -0
- package/dist/cjs/rubric/receipt.d.ts +96 -0
- package/dist/cjs/rubric/receipt.d.ts.map +1 -0
- package/dist/cjs/rubric/receipt.js +28 -0
- package/dist/cjs/rubric/receipt.js.map +1 -0
- package/dist/cjs/rubric/roundTrips.d.ts +17 -0
- package/dist/cjs/rubric/roundTrips.d.ts.map +1 -0
- package/dist/cjs/rubric/roundTrips.js +24 -0
- package/dist/cjs/rubric/roundTrips.js.map +1 -0
- package/dist/cjs/rubric/terms.d.ts +611 -0
- package/dist/cjs/rubric/terms.d.ts.map +1 -0
- package/dist/cjs/rubric/terms.js +777 -0
- package/dist/cjs/rubric/terms.js.map +1 -0
- package/dist/cjs/rubric/wants.d.ts +36 -0
- package/dist/cjs/rubric/wants.d.ts.map +1 -0
- package/dist/cjs/rubric/wants.js +57 -0
- package/dist/cjs/rubric/wants.js.map +1 -0
- package/dist/cjs/rubric.d.ts +30 -0
- package/dist/cjs/rubric.d.ts.map +1 -0
- package/dist/cjs/rubric.js +71 -0
- package/dist/cjs/rubric.js.map +1 -0
- package/dist/cjs/udid/base58.d.ts +8 -0
- package/dist/cjs/udid/base58.d.ts.map +1 -0
- package/dist/cjs/udid/base58.js +57 -0
- package/dist/cjs/udid/base58.js.map +1 -0
- package/dist/cjs/udid/canonical.d.ts +17 -0
- package/dist/cjs/udid/canonical.d.ts.map +1 -0
- package/dist/cjs/udid/canonical.js +34 -0
- package/dist/cjs/udid/canonical.js.map +1 -0
- package/dist/cjs/udid/cid.d.ts +22 -0
- package/dist/cjs/udid/cid.d.ts.map +1 -0
- package/dist/cjs/udid/cid.js +54 -0
- package/dist/cjs/udid/cid.js.map +1 -0
- package/dist/cjs/udid/key.d.ts +41 -0
- package/dist/cjs/udid/key.d.ts.map +1 -0
- package/dist/cjs/udid/key.js +64 -0
- package/dist/cjs/udid/key.js.map +1 -0
- package/dist/cjs/udid/resolve.d.ts +56 -0
- package/dist/cjs/udid/resolve.d.ts.map +1 -0
- package/dist/cjs/udid/resolve.js +168 -0
- package/dist/cjs/udid/resolve.js.map +1 -0
- package/dist/cjs/udid/schema.d.ts +150 -0
- package/dist/cjs/udid/schema.d.ts.map +1 -0
- package/dist/cjs/udid/schema.js +155 -0
- package/dist/cjs/udid/schema.js.map +1 -0
- package/dist/cjs/udid/verify.d.ts +35 -0
- package/dist/cjs/udid/verify.d.ts.map +1 -0
- package/dist/cjs/udid/verify.js +97 -0
- package/dist/cjs/udid/verify.js.map +1 -0
- package/dist/cjs/udid/wrapper.d.ts +90 -0
- package/dist/cjs/udid/wrapper.d.ts.map +1 -0
- package/dist/cjs/udid/wrapper.js +41 -0
- package/dist/cjs/udid/wrapper.js.map +1 -0
- package/dist/cjs/udid.d.ts +17 -0
- package/dist/cjs/udid.d.ts.map +1 -0
- package/dist/cjs/udid.js +33 -0
- package/dist/cjs/udid.js.map +1 -0
- package/dist/esm/board.d.ts +20 -0
- package/dist/esm/board.d.ts.map +1 -0
- package/dist/esm/board.js +23 -0
- package/dist/esm/board.js.map +1 -0
- package/dist/esm/campaign/badges.d.ts +30 -0
- package/dist/esm/campaign/badges.d.ts.map +1 -0
- package/dist/esm/campaign/badges.js +65 -0
- package/dist/esm/campaign/badges.js.map +1 -0
- package/dist/esm/campaign/bands.d.ts +161 -0
- package/dist/esm/campaign/bands.d.ts.map +1 -0
- package/dist/esm/campaign/bands.js +176 -0
- package/dist/esm/campaign/bands.js.map +1 -0
- package/dist/esm/campaign/campaign.d.ts +50 -0
- package/dist/esm/campaign/campaign.d.ts.map +1 -0
- package/dist/esm/campaign/campaign.js +147 -0
- package/dist/esm/campaign/campaign.js.map +1 -0
- package/dist/esm/campaign/campaigns.d.ts +2 -0
- package/dist/esm/campaign/campaigns.d.ts.map +1 -0
- package/dist/esm/campaign/campaigns.js +34 -0
- package/dist/esm/campaign/campaigns.js.map +1 -0
- package/dist/esm/campaign/cleanable.d.ts +13 -0
- package/dist/esm/campaign/cleanable.d.ts.map +1 -0
- package/dist/esm/campaign/cleanable.js +2 -0
- package/dist/esm/campaign/cleanable.js.map +1 -0
- package/dist/esm/campaign/cleanup.d.ts +78 -0
- package/dist/esm/campaign/cleanup.d.ts.map +1 -0
- package/dist/esm/campaign/cleanup.js +129 -0
- package/dist/esm/campaign/cleanup.js.map +1 -0
- package/dist/esm/campaign/commit.d.ts +39 -0
- package/dist/esm/campaign/commit.d.ts.map +1 -0
- package/dist/esm/campaign/commit.js +37 -0
- package/dist/esm/campaign/commit.js.map +1 -0
- package/dist/esm/campaign/field.d.ts +50 -0
- package/dist/esm/campaign/field.d.ts.map +1 -0
- package/dist/esm/campaign/field.js +88 -0
- package/dist/esm/campaign/field.js.map +1 -0
- package/dist/esm/campaign/fold.d.ts +227 -0
- package/dist/esm/campaign/fold.d.ts.map +1 -0
- package/dist/esm/campaign/fold.js +403 -0
- package/dist/esm/campaign/fold.js.map +1 -0
- package/dist/esm/campaign/funding.d.ts +153 -0
- package/dist/esm/campaign/funding.d.ts.map +1 -0
- package/dist/esm/campaign/funding.js +160 -0
- package/dist/esm/campaign/funding.js.map +1 -0
- package/dist/esm/campaign/landing.d.ts +20 -0
- package/dist/esm/campaign/landing.d.ts.map +1 -0
- package/dist/esm/campaign/landing.js +49 -0
- package/dist/esm/campaign/landing.js.map +1 -0
- package/dist/esm/campaign/pledges.d.ts +237 -0
- package/dist/esm/campaign/pledges.d.ts.map +1 -0
- package/dist/esm/campaign/pledges.js +210 -0
- package/dist/esm/campaign/pledges.js.map +1 -0
- package/dist/esm/campaign/pledgesChain.d.ts +58 -0
- package/dist/esm/campaign/pledgesChain.d.ts.map +1 -0
- package/dist/esm/campaign/pledgesChain.js +96 -0
- package/dist/esm/campaign/pledgesChain.js.map +1 -0
- package/dist/esm/campaign/pool.d.ts +137 -0
- package/dist/esm/campaign/pool.d.ts.map +1 -0
- package/dist/esm/campaign/pool.js +194 -0
- package/dist/esm/campaign/pool.js.map +1 -0
- package/dist/esm/campaign/record.d.ts +115 -0
- package/dist/esm/campaign/record.d.ts.map +1 -0
- package/dist/esm/campaign/record.js +252 -0
- package/dist/esm/campaign/record.js.map +1 -0
- package/dist/esm/campaign/rule.d.ts +311 -0
- package/dist/esm/campaign/rule.d.ts.map +1 -0
- package/dist/esm/campaign/rule.js +197 -0
- package/dist/esm/campaign/rule.js.map +1 -0
- package/dist/esm/campaign/spot.d.ts +37 -0
- package/dist/esm/campaign/spot.d.ts.map +1 -0
- package/dist/esm/campaign/spot.js +167 -0
- package/dist/esm/campaign/spot.js.map +1 -0
- package/dist/esm/campaign/spots.d.ts +437 -0
- package/dist/esm/campaign/spots.d.ts.map +1 -0
- package/dist/esm/campaign/spots.js +735 -0
- package/dist/esm/campaign/spots.js.map +1 -0
- package/dist/esm/campaign/standings.d.ts +236 -0
- package/dist/esm/campaign/standings.d.ts.map +1 -0
- package/dist/esm/campaign/standings.js +357 -0
- package/dist/esm/campaign/standings.js.map +1 -0
- package/dist/esm/campaign/treasurySends.d.ts +116 -0
- package/dist/esm/campaign/treasurySends.d.ts.map +1 -0
- package/dist/esm/campaign/treasurySends.js +190 -0
- package/dist/esm/campaign/treasurySends.js.map +1 -0
- package/dist/esm/campaign.d.ts +29 -0
- package/dist/esm/campaign.d.ts.map +1 -0
- package/dist/esm/campaign.js +28 -0
- package/dist/esm/campaign.js.map +1 -0
- package/dist/esm/chain/account.d.ts +47 -0
- package/dist/esm/chain/account.d.ts.map +1 -0
- package/dist/esm/chain/account.js +156 -0
- package/dist/esm/chain/account.js.map +1 -0
- package/dist/esm/chain/accountProof.d.ts +135 -0
- package/dist/esm/chain/accountProof.d.ts.map +1 -0
- package/dist/esm/chain/accountProof.js +153 -0
- package/dist/esm/chain/accountProof.js.map +1 -0
- package/dist/esm/chain/allowance.d.ts +17 -0
- package/dist/esm/chain/allowance.d.ts.map +1 -0
- package/dist/esm/chain/allowance.js +74 -0
- package/dist/esm/chain/allowance.js.map +1 -0
- package/dist/esm/chain/allowanceRead.d.ts +2 -0
- package/dist/esm/chain/allowanceRead.d.ts.map +1 -0
- package/dist/esm/chain/allowanceRead.js +56 -0
- package/dist/esm/chain/allowanceRead.js.map +1 -0
- package/dist/esm/chain/ask.d.ts +211 -0
- package/dist/esm/chain/ask.d.ts.map +1 -0
- package/dist/esm/chain/ask.js +509 -0
- package/dist/esm/chain/ask.js.map +1 -0
- package/dist/esm/chain/bridge.d.ts +50 -0
- package/dist/esm/chain/bridge.d.ts.map +1 -0
- package/dist/esm/chain/bridge.js +78 -0
- package/dist/esm/chain/bridge.js.map +1 -0
- package/dist/esm/chain/broadcast.d.ts +40 -0
- package/dist/esm/chain/broadcast.d.ts.map +1 -0
- package/dist/esm/chain/broadcast.js +147 -0
- package/dist/esm/chain/broadcast.js.map +1 -0
- package/dist/esm/chain/delegate.d.ts +154 -0
- package/dist/esm/chain/delegate.d.ts.map +1 -0
- package/dist/esm/chain/delegate.js +230 -0
- package/dist/esm/chain/delegate.js.map +1 -0
- package/dist/esm/chain/encoding.d.ts +7 -0
- package/dist/esm/chain/encoding.d.ts.map +1 -0
- package/dist/esm/chain/encoding.js +22 -0
- package/dist/esm/chain/encoding.js.map +1 -0
- package/dist/esm/chain/env.d.ts +50 -0
- package/dist/esm/chain/env.d.ts.map +1 -0
- package/dist/esm/chain/env.js +83 -0
- package/dist/esm/chain/env.js.map +1 -0
- package/dist/esm/chain/gate.d.ts +12 -0
- package/dist/esm/chain/gate.d.ts.map +1 -0
- package/dist/esm/chain/gate.js +52 -0
- package/dist/esm/chain/gate.js.map +1 -0
- package/dist/esm/chain/grantPending.d.ts +31 -0
- package/dist/esm/chain/grantPending.d.ts.map +1 -0
- package/dist/esm/chain/grantPending.js +50 -0
- package/dist/esm/chain/grantPending.js.map +1 -0
- package/dist/esm/chain/guest.d.ts +97 -0
- package/dist/esm/chain/guest.d.ts.map +1 -0
- package/dist/esm/chain/guest.js +168 -0
- package/dist/esm/chain/guest.js.map +1 -0
- package/dist/esm/chain/iid.d.ts +26 -0
- package/dist/esm/chain/iid.d.ts.map +1 -0
- package/dist/esm/chain/iid.js +62 -0
- package/dist/esm/chain/iid.js.map +1 -0
- package/dist/esm/chain/money.d.ts +48 -0
- package/dist/esm/chain/money.d.ts.map +1 -0
- package/dist/esm/chain/money.js +65 -0
- package/dist/esm/chain/money.js.map +1 -0
- package/dist/esm/chain/oracle.d.ts +24 -0
- package/dist/esm/chain/oracle.d.ts.map +1 -0
- package/dist/esm/chain/oracle.js +41 -0
- package/dist/esm/chain/oracle.js.map +1 -0
- package/dist/esm/chain/pendingTransact.d.ts +31 -0
- package/dist/esm/chain/pendingTransact.d.ts.map +1 -0
- package/dist/esm/chain/pendingTransact.js +59 -0
- package/dist/esm/chain/pendingTransact.js.map +1 -0
- package/dist/esm/chain/query.d.ts +75 -0
- package/dist/esm/chain/query.d.ts.map +1 -0
- package/dist/esm/chain/query.js +160 -0
- package/dist/esm/chain/query.js.map +1 -0
- package/dist/esm/chain/send.d.ts +42 -0
- package/dist/esm/chain/send.d.ts.map +1 -0
- package/dist/esm/chain/send.js +48 -0
- package/dist/esm/chain/send.js.map +1 -0
- package/dist/esm/chain/session.d.ts +109 -0
- package/dist/esm/chain/session.d.ts.map +1 -0
- package/dist/esm/chain/session.js +133 -0
- package/dist/esm/chain/session.js.map +1 -0
- package/dist/esm/chain/signWith.d.ts +69 -0
- package/dist/esm/chain/signWith.d.ts.map +1 -0
- package/dist/esm/chain/signWith.js +238 -0
- package/dist/esm/chain/signWith.js.map +1 -0
- package/dist/esm/chain/signer.d.ts +38 -0
- package/dist/esm/chain/signer.d.ts.map +1 -0
- package/dist/esm/chain/signer.js +73 -0
- package/dist/esm/chain/signer.js.map +1 -0
- package/dist/esm/chain/signx.d.ts +233 -0
- package/dist/esm/chain/signx.d.ts.map +1 -0
- package/dist/esm/chain/signx.js +475 -0
- package/dist/esm/chain/signx.js.map +1 -0
- package/dist/esm/chain/sponsor.d.ts +2 -0
- package/dist/esm/chain/sponsor.d.ts.map +1 -0
- package/dist/esm/chain/sponsor.js +73 -0
- package/dist/esm/chain/sponsor.js.map +1 -0
- package/dist/esm/chain/store.d.ts +115 -0
- package/dist/esm/chain/store.d.ts.map +1 -0
- package/dist/esm/chain/store.js +164 -0
- package/dist/esm/chain/store.js.map +1 -0
- package/dist/esm/chain/subscription.d.ts +73 -0
- package/dist/esm/chain/subscription.d.ts.map +1 -0
- package/dist/esm/chain/subscription.js +206 -0
- package/dist/esm/chain/subscription.js.map +1 -0
- package/dist/esm/chain/takeBack.d.ts +114 -0
- package/dist/esm/chain/takeBack.d.ts.map +1 -0
- package/dist/esm/chain/takeBack.js +177 -0
- package/dist/esm/chain/takeBack.js.map +1 -0
- package/dist/esm/chain/union.d.ts +125 -0
- package/dist/esm/chain/union.d.ts.map +1 -0
- package/dist/esm/chain/union.js +295 -0
- package/dist/esm/chain/union.js.map +1 -0
- package/dist/esm/chain/webauthn.d.ts +22 -0
- package/dist/esm/chain/webauthn.d.ts.map +1 -0
- package/dist/esm/chain/webauthn.js +65 -0
- package/dist/esm/chain/webauthn.js.map +1 -0
- package/dist/esm/chain.d.ts +35 -0
- package/dist/esm/chain.d.ts.map +1 -0
- package/dist/esm/chain.js +50 -0
- package/dist/esm/chain.js.map +1 -0
- package/dist/esm/config.d.ts +120 -0
- package/dist/esm/config.d.ts.map +1 -0
- package/dist/esm/config.js +115 -0
- package/dist/esm/config.js.map +1 -0
- package/dist/esm/data/accept.d.ts +69 -0
- package/dist/esm/data/accept.d.ts.map +1 -0
- package/dist/esm/data/accept.js +151 -0
- package/dist/esm/data/accept.js.map +1 -0
- package/dist/esm/data/agent.d.ts +87 -0
- package/dist/esm/data/agent.d.ts.map +1 -0
- package/dist/esm/data/agent.js +108 -0
- package/dist/esm/data/agent.js.map +1 -0
- package/dist/esm/data/askFilter.d.ts +45 -0
- package/dist/esm/data/askFilter.d.ts.map +1 -0
- package/dist/esm/data/askFilter.js +45 -0
- package/dist/esm/data/askFilter.js.map +1 -0
- package/dist/esm/data/authenticators.d.ts +35 -0
- package/dist/esm/data/authenticators.d.ts.map +1 -0
- package/dist/esm/data/authenticators.js +71 -0
- package/dist/esm/data/authenticators.js.map +1 -0
- package/dist/esm/data/balance.d.ts +39 -0
- package/dist/esm/data/balance.d.ts.map +1 -0
- package/dist/esm/data/balance.js +111 -0
- package/dist/esm/data/balance.js.map +1 -0
- package/dist/esm/data/board/assemble.d.ts +140 -0
- package/dist/esm/data/board/assemble.d.ts.map +1 -0
- package/dist/esm/data/board/assemble.js +539 -0
- package/dist/esm/data/board/assemble.js.map +1 -0
- package/dist/esm/data/board/coverage.d.ts +112 -0
- package/dist/esm/data/board/coverage.d.ts.map +1 -0
- package/dist/esm/data/board/coverage.js +180 -0
- package/dist/esm/data/board/coverage.js.map +1 -0
- package/dist/esm/data/board/facts.d.ts +63 -0
- package/dist/esm/data/board/facts.d.ts.map +1 -0
- package/dist/esm/data/board/facts.js +127 -0
- package/dist/esm/data/board/facts.js.map +1 -0
- package/dist/esm/data/board/fixtures.d.ts +21 -0
- package/dist/esm/data/board/fixtures.d.ts.map +1 -0
- package/dist/esm/data/board/fixtures.js +40 -0
- package/dist/esm/data/board/fixtures.js.map +1 -0
- package/dist/esm/data/board/query.d.ts +12 -0
- package/dist/esm/data/board/query.d.ts.map +1 -0
- package/dist/esm/data/board/query.js +67 -0
- package/dist/esm/data/board/query.js.map +1 -0
- package/dist/esm/data/board/rank.d.ts +22 -0
- package/dist/esm/data/board/rank.d.ts.map +1 -0
- package/dist/esm/data/board/rank.js +45 -0
- package/dist/esm/data/board/rank.js.map +1 -0
- package/dist/esm/data/board/read.d.ts +102 -0
- package/dist/esm/data/board/read.d.ts.map +1 -0
- package/dist/esm/data/board/read.js +163 -0
- package/dist/esm/data/board/read.js.map +1 -0
- package/dist/esm/data/board/series.d.ts +50 -0
- package/dist/esm/data/board/series.d.ts.map +1 -0
- package/dist/esm/data/board/series.js +153 -0
- package/dist/esm/data/board/series.js.map +1 -0
- package/dist/esm/data/board/trust.d.ts +31 -0
- package/dist/esm/data/board/trust.d.ts.map +1 -0
- package/dist/esm/data/board/trust.js +47 -0
- package/dist/esm/data/board/trust.js.map +1 -0
- package/dist/esm/data/board/types.d.ts +338 -0
- package/dist/esm/data/board/types.d.ts.map +1 -0
- package/dist/esm/data/board/types.js +79 -0
- package/dist/esm/data/board/types.js.map +1 -0
- package/dist/esm/data/board/url.d.ts +22 -0
- package/dist/esm/data/board/url.d.ts.map +1 -0
- package/dist/esm/data/board/url.js +65 -0
- package/dist/esm/data/board/url.js.map +1 -0
- package/dist/esm/data/board/words.d.ts +25 -0
- package/dist/esm/data/board/words.d.ts.map +1 -0
- package/dist/esm/data/board/words.js +53 -0
- package/dist/esm/data/board/words.js.map +1 -0
- package/dist/esm/data/cid.d.ts +49 -0
- package/dist/esm/data/cid.d.ts.map +1 -0
- package/dist/esm/data/cid.js +82 -0
- package/dist/esm/data/cid.js.map +1 -0
- package/dist/esm/data/concurrency.d.ts +14 -0
- package/dist/esm/data/concurrency.d.ts.map +1 -0
- package/dist/esm/data/concurrency.js +29 -0
- package/dist/esm/data/concurrency.js.map +1 -0
- package/dist/esm/data/credentials.d.ts +28 -0
- package/dist/esm/data/credentials.d.ts.map +1 -0
- package/dist/esm/data/credentials.js +78 -0
- package/dist/esm/data/credentials.js.map +1 -0
- package/dist/esm/data/denoms.d.ts +11 -0
- package/dist/esm/data/denoms.d.ts.map +1 -0
- package/dist/esm/data/denoms.js +102 -0
- package/dist/esm/data/denoms.js.map +1 -0
- package/dist/esm/data/displayNames.d.ts +58 -0
- package/dist/esm/data/displayNames.d.ts.map +1 -0
- package/dist/esm/data/displayNames.js +94 -0
- package/dist/esm/data/displayNames.js.map +1 -0
- package/dist/esm/data/docPath.d.ts +28 -0
- package/dist/esm/data/docPath.d.ts.map +1 -0
- package/dist/esm/data/docPath.js +37 -0
- package/dist/esm/data/docPath.js.map +1 -0
- package/dist/esm/data/docUrls.d.ts +38 -0
- package/dist/esm/data/docUrls.d.ts.map +1 -0
- package/dist/esm/data/docUrls.js +46 -0
- package/dist/esm/data/docUrls.js.map +1 -0
- package/dist/esm/data/docs.d.ts +61 -0
- package/dist/esm/data/docs.d.ts.map +1 -0
- package/dist/esm/data/docs.js +177 -0
- package/dist/esm/data/docs.js.map +1 -0
- package/dist/esm/data/engine.d.ts +193 -0
- package/dist/esm/data/engine.d.ts.map +1 -0
- package/dist/esm/data/engine.js +362 -0
- package/dist/esm/data/engine.js.map +1 -0
- package/dist/esm/data/engineUrl.d.ts +19 -0
- package/dist/esm/data/engineUrl.d.ts.map +1 -0
- package/dist/esm/data/engineUrl.js +23 -0
- package/dist/esm/data/engineUrl.js.map +1 -0
- package/dist/esm/data/envelope.d.ts +69 -0
- package/dist/esm/data/envelope.d.ts.map +1 -0
- package/dist/esm/data/envelope.js +72 -0
- package/dist/esm/data/envelope.js.map +1 -0
- package/dist/esm/data/format.d.ts +122 -0
- package/dist/esm/data/format.d.ts.map +1 -0
- package/dist/esm/data/format.js +250 -0
- package/dist/esm/data/format.js.map +1 -0
- package/dist/esm/data/gql.d.ts +56 -0
- package/dist/esm/data/gql.d.ts.map +1 -0
- package/dist/esm/data/gql.js +100 -0
- package/dist/esm/data/gql.js.map +1 -0
- package/dist/esm/data/granters.d.ts +15 -0
- package/dist/esm/data/granters.d.ts.map +1 -0
- package/dist/esm/data/granters.js +71 -0
- package/dist/esm/data/granters.js.map +1 -0
- package/dist/esm/data/index.d.ts +18 -0
- package/dist/esm/data/index.d.ts.map +1 -0
- package/dist/esm/data/index.js +39 -0
- package/dist/esm/data/index.js.map +1 -0
- package/dist/esm/data/install.d.ts +95 -0
- package/dist/esm/data/install.d.ts.map +1 -0
- package/dist/esm/data/install.js +116 -0
- package/dist/esm/data/install.js.map +1 -0
- package/dist/esm/data/issueMessage.d.ts +20 -0
- package/dist/esm/data/issueMessage.d.ts.map +1 -0
- package/dist/esm/data/issueMessage.js +15 -0
- package/dist/esm/data/issueMessage.js.map +1 -0
- package/dist/esm/data/linked.d.ts +54 -0
- package/dist/esm/data/linked.d.ts.map +1 -0
- package/dist/esm/data/linked.js +136 -0
- package/dist/esm/data/linked.js.map +1 -0
- package/dist/esm/data/network.d.ts +21 -0
- package/dist/esm/data/network.d.ts.map +1 -0
- package/dist/esm/data/network.js +23 -0
- package/dist/esm/data/network.js.map +1 -0
- package/dist/esm/data/openness.d.ts +93 -0
- package/dist/esm/data/openness.d.ts.map +1 -0
- package/dist/esm/data/openness.js +140 -0
- package/dist/esm/data/openness.js.map +1 -0
- package/dist/esm/data/oracleInfo.d.ts +20 -0
- package/dist/esm/data/oracleInfo.d.ts.map +1 -0
- package/dist/esm/data/oracleInfo.js +35 -0
- package/dist/esm/data/oracleInfo.js.map +1 -0
- package/dist/esm/data/oracles.d.ts +44 -0
- package/dist/esm/data/oracles.d.ts.map +1 -0
- package/dist/esm/data/oracles.js +110 -0
- package/dist/esm/data/oracles.js.map +1 -0
- package/dist/esm/data/outbound.d.ts +50 -0
- package/dist/esm/data/outbound.d.ts.map +1 -0
- package/dist/esm/data/outbound.js +96 -0
- package/dist/esm/data/outbound.js.map +1 -0
- package/dist/esm/data/paged.d.ts +48 -0
- package/dist/esm/data/paged.d.ts.map +1 -0
- package/dist/esm/data/paged.js +75 -0
- package/dist/esm/data/paged.js.map +1 -0
- package/dist/esm/data/profiles.d.ts +3 -0
- package/dist/esm/data/profiles.d.ts.map +1 -0
- package/dist/esm/data/profiles.js +66 -0
- package/dist/esm/data/profiles.js.map +1 -0
- package/dist/esm/data/proof.d.ts +93 -0
- package/dist/esm/data/proof.d.ts.map +1 -0
- package/dist/esm/data/proof.js +128 -0
- package/dist/esm/data/proof.js.map +1 -0
- package/dist/esm/data/queue.d.ts +49 -0
- package/dist/esm/data/queue.d.ts.map +1 -0
- package/dist/esm/data/queue.js +115 -0
- package/dist/esm/data/queue.js.map +1 -0
- package/dist/esm/data/rates.d.ts +143 -0
- package/dist/esm/data/rates.d.ts.map +1 -0
- package/dist/esm/data/rates.js +249 -0
- package/dist/esm/data/rates.js.map +1 -0
- package/dist/esm/data/receipt.d.ts +207 -0
- package/dist/esm/data/receipt.d.ts.map +1 -0
- package/dist/esm/data/receipt.js +305 -0
- package/dist/esm/data/receipt.js.map +1 -0
- package/dist/esm/data/resources.d.ts +30 -0
- package/dist/esm/data/resources.d.ts.map +1 -0
- package/dist/esm/data/resources.js +24 -0
- package/dist/esm/data/resources.js.map +1 -0
- package/dist/esm/data/sametask.d.ts +35 -0
- package/dist/esm/data/sametask.d.ts.map +1 -0
- package/dist/esm/data/sametask.js +40 -0
- package/dist/esm/data/sametask.js.map +1 -0
- package/dist/esm/data/shortName.d.ts +52 -0
- package/dist/esm/data/shortName.d.ts.map +1 -0
- package/dist/esm/data/shortName.js +119 -0
- package/dist/esm/data/shortName.js.map +1 -0
- package/dist/esm/data/threads.d.ts +97 -0
- package/dist/esm/data/threads.d.ts.map +1 -0
- package/dist/esm/data/threads.js +177 -0
- package/dist/esm/data/threads.js.map +1 -0
- package/dist/esm/data/trace.d.ts +133 -0
- package/dist/esm/data/trace.d.ts.map +1 -0
- package/dist/esm/data/trace.js +122 -0
- package/dist/esm/data/trace.js.map +1 -0
- package/dist/esm/data/traceWords.d.ts +54 -0
- package/dist/esm/data/traceWords.d.ts.map +1 -0
- package/dist/esm/data/traceWords.js +178 -0
- package/dist/esm/data/traceWords.js.map +1 -0
- package/dist/esm/data/types.d.ts +50 -0
- package/dist/esm/data/types.d.ts.map +1 -0
- package/dist/esm/data/types.js +6 -0
- package/dist/esm/data/types.js.map +1 -0
- package/dist/esm/data/verdict.d.ts +37 -0
- package/dist/esm/data/verdict.d.ts.map +1 -0
- package/dist/esm/data/verdict.js +51 -0
- package/dist/esm/data/verdict.js.map +1 -0
- package/dist/esm/data/work.d.ts +46 -0
- package/dist/esm/data/work.d.ts.map +1 -0
- package/dist/esm/data/work.js +68 -0
- package/dist/esm/data/work.js.map +1 -0
- package/dist/esm/envRead.d.ts +15 -0
- package/dist/esm/envRead.d.ts.map +1 -0
- package/dist/esm/envRead.js +20 -0
- package/dist/esm/envRead.js.map +1 -0
- package/dist/esm/geo/box.d.ts +64 -0
- package/dist/esm/geo/box.d.ts.map +1 -0
- package/dist/esm/geo/box.js +85 -0
- package/dist/esm/geo/box.js.map +1 -0
- package/dist/esm/geo/exif.d.ts +20 -0
- package/dist/esm/geo/exif.d.ts.map +1 -0
- package/dist/esm/geo/exif.js +215 -0
- package/dist/esm/geo/exif.js.map +1 -0
- package/dist/esm/geo/exifcarry.d.ts +31 -0
- package/dist/esm/geo/exifcarry.d.ts.map +1 -0
- package/dist/esm/geo/exifcarry.js +77 -0
- package/dist/esm/geo/exifcarry.js.map +1 -0
- package/dist/esm/geo/exifnote.d.ts +86 -0
- package/dist/esm/geo/exifnote.d.ts.map +1 -0
- package/dist/esm/geo/exifnote.js +243 -0
- package/dist/esm/geo/exifnote.js.map +1 -0
- package/dist/esm/geo/mentions.d.ts +44 -0
- package/dist/esm/geo/mentions.d.ts.map +1 -0
- package/dist/esm/geo/mentions.js +190 -0
- package/dist/esm/geo/mentions.js.map +1 -0
- package/dist/esm/geo/osm.d.ts +112 -0
- package/dist/esm/geo/osm.d.ts.map +1 -0
- package/dist/esm/geo/osm.js +171 -0
- package/dist/esm/geo/osm.js.map +1 -0
- package/dist/esm/geo/place.d.ts +51 -0
- package/dist/esm/geo/place.d.ts.map +1 -0
- package/dist/esm/geo/place.js +99 -0
- package/dist/esm/geo/place.js.map +1 -0
- package/dist/esm/geo/search.d.ts +41 -0
- package/dist/esm/geo/search.d.ts.map +1 -0
- package/dist/esm/geo/search.js +182 -0
- package/dist/esm/geo/search.js.map +1 -0
- package/dist/esm/geo/sun.d.ts +39 -0
- package/dist/esm/geo/sun.d.ts.map +1 -0
- package/dist/esm/geo/sun.js +51 -0
- package/dist/esm/geo/sun.js.map +1 -0
- package/dist/esm/geo/tiles.d.ts +89 -0
- package/dist/esm/geo/tiles.d.ts.map +1 -0
- package/dist/esm/geo/tiles.js +136 -0
- package/dist/esm/geo/tiles.js.map +1 -0
- package/dist/esm/geo.d.ts +20 -0
- package/dist/esm/geo.d.ts.map +1 -0
- package/dist/esm/geo.js +19 -0
- package/dist/esm/geo.js.map +1 -0
- package/dist/esm/given.d.ts +15 -0
- package/dist/esm/given.d.ts.map +1 -0
- package/dist/esm/given.js +18 -0
- package/dist/esm/given.js.map +1 -0
- package/dist/esm/network.d.ts +23 -0
- package/dist/esm/network.d.ts.map +1 -0
- package/dist/esm/network.js +48 -0
- package/dist/esm/network.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/protocol.d.ts +40 -0
- package/dist/esm/protocol.d.ts.map +1 -0
- package/dist/esm/protocol.js +38 -0
- package/dist/esm/protocol.js.map +1 -0
- package/dist/esm/rubric/bridge.d.ts +428 -0
- package/dist/esm/rubric/bridge.d.ts.map +1 -0
- package/dist/esm/rubric/bridge.js +911 -0
- package/dist/esm/rubric/bridge.js.map +1 -0
- package/dist/esm/rubric/call.d.ts +73 -0
- package/dist/esm/rubric/call.d.ts.map +1 -0
- package/dist/esm/rubric/call.js +120 -0
- package/dist/esm/rubric/call.js.map +1 -0
- package/dist/esm/rubric/card.d.ts +74 -0
- package/dist/esm/rubric/card.d.ts.map +1 -0
- package/dist/esm/rubric/card.js +38 -0
- package/dist/esm/rubric/card.js.map +1 -0
- package/dist/esm/rubric/chain.d.ts +44 -0
- package/dist/esm/rubric/chain.d.ts.map +1 -0
- package/dist/esm/rubric/chain.js +49 -0
- package/dist/esm/rubric/chain.js.map +1 -0
- package/dist/esm/rubric/claimForm.d.ts +142 -0
- package/dist/esm/rubric/claimForm.d.ts.map +1 -0
- package/dist/esm/rubric/claimForm.js +109 -0
- package/dist/esm/rubric/claimForm.js.map +1 -0
- package/dist/esm/rubric/claimFormResource.d.ts +34 -0
- package/dist/esm/rubric/claimFormResource.d.ts.map +1 -0
- package/dist/esm/rubric/claimFormResource.js +33 -0
- package/dist/esm/rubric/claimFormResource.js.map +1 -0
- package/dist/esm/rubric/compose.d.ts +99 -0
- package/dist/esm/rubric/compose.d.ts.map +1 -0
- package/dist/esm/rubric/compose.js +225 -0
- package/dist/esm/rubric/compose.js.map +1 -0
- package/dist/esm/rubric/confidence.d.ts +81 -0
- package/dist/esm/rubric/confidence.d.ts.map +1 -0
- package/dist/esm/rubric/confidence.js +82 -0
- package/dist/esm/rubric/confidence.js.map +1 -0
- package/dist/esm/rubric/draft.d.ts +224 -0
- package/dist/esm/rubric/draft.d.ts.map +1 -0
- package/dist/esm/rubric/draft.js +206 -0
- package/dist/esm/rubric/draft.js.map +1 -0
- package/dist/esm/rubric/gateMet.d.ts +46 -0
- package/dist/esm/rubric/gateMet.d.ts.map +1 -0
- package/dist/esm/rubric/gateMet.js +104 -0
- package/dist/esm/rubric/gateMet.js.map +1 -0
- package/dist/esm/rubric/leg.d.ts +106 -0
- package/dist/esm/rubric/leg.d.ts.map +1 -0
- package/dist/esm/rubric/leg.js +138 -0
- package/dist/esm/rubric/leg.js.map +1 -0
- package/dist/esm/rubric/publish.d.ts +39 -0
- package/dist/esm/rubric/publish.d.ts.map +1 -0
- package/dist/esm/rubric/publish.js +29 -0
- package/dist/esm/rubric/publish.js.map +1 -0
- package/dist/esm/rubric/reanchor.d.ts +79 -0
- package/dist/esm/rubric/reanchor.d.ts.map +1 -0
- package/dist/esm/rubric/reanchor.js +146 -0
- package/dist/esm/rubric/reanchor.js.map +1 -0
- package/dist/esm/rubric/receipt.d.ts +96 -0
- package/dist/esm/rubric/receipt.d.ts.map +1 -0
- package/dist/esm/rubric/receipt.js +25 -0
- package/dist/esm/rubric/receipt.js.map +1 -0
- package/dist/esm/rubric/roundTrips.d.ts +17 -0
- package/dist/esm/rubric/roundTrips.d.ts.map +1 -0
- package/dist/esm/rubric/roundTrips.js +20 -0
- package/dist/esm/rubric/roundTrips.js.map +1 -0
- package/dist/esm/rubric/terms.d.ts +611 -0
- package/dist/esm/rubric/terms.d.ts.map +1 -0
- package/dist/esm/rubric/terms.js +755 -0
- package/dist/esm/rubric/terms.js.map +1 -0
- package/dist/esm/rubric/wants.d.ts +36 -0
- package/dist/esm/rubric/wants.d.ts.map +1 -0
- package/dist/esm/rubric/wants.js +52 -0
- package/dist/esm/rubric/wants.js.map +1 -0
- package/dist/esm/rubric.d.ts +30 -0
- package/dist/esm/rubric.d.ts.map +1 -0
- package/dist/esm/rubric.js +30 -0
- package/dist/esm/rubric.js.map +1 -0
- package/dist/esm/udid/base58.d.ts +8 -0
- package/dist/esm/udid/base58.d.ts.map +1 -0
- package/dist/esm/udid/base58.js +53 -0
- package/dist/esm/udid/base58.js.map +1 -0
- package/dist/esm/udid/canonical.d.ts +17 -0
- package/dist/esm/udid/canonical.d.ts.map +1 -0
- package/dist/esm/udid/canonical.js +28 -0
- package/dist/esm/udid/canonical.js.map +1 -0
- package/dist/esm/udid/cid.d.ts +22 -0
- package/dist/esm/udid/cid.d.ts.map +1 -0
- package/dist/esm/udid/cid.js +46 -0
- package/dist/esm/udid/cid.js.map +1 -0
- package/dist/esm/udid/key.d.ts +41 -0
- package/dist/esm/udid/key.d.ts.map +1 -0
- package/dist/esm/udid/key.js +58 -0
- package/dist/esm/udid/key.js.map +1 -0
- package/dist/esm/udid/resolve.d.ts +56 -0
- package/dist/esm/udid/resolve.d.ts.map +1 -0
- package/dist/esm/udid/resolve.js +162 -0
- package/dist/esm/udid/resolve.js.map +1 -0
- package/dist/esm/udid/schema.d.ts +150 -0
- package/dist/esm/udid/schema.d.ts.map +1 -0
- package/dist/esm/udid/schema.js +151 -0
- package/dist/esm/udid/schema.js.map +1 -0
- package/dist/esm/udid/verify.d.ts +35 -0
- package/dist/esm/udid/verify.d.ts.map +1 -0
- package/dist/esm/udid/verify.js +93 -0
- package/dist/esm/udid/verify.js.map +1 -0
- package/dist/esm/udid/wrapper.d.ts +90 -0
- package/dist/esm/udid/wrapper.d.ts.map +1 -0
- package/dist/esm/udid/wrapper.js +37 -0
- package/dist/esm/udid/wrapper.js.map +1 -0
- package/dist/esm/udid.d.ts +17 -0
- package/dist/esm/udid.d.ts.map +1 -0
- package/dist/esm/udid.js +17 -0
- package/dist/esm/udid.js.map +1 -0
- package/package.json +210 -4
|
@@ -0,0 +1,777 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* What would count as done — derived from the ask itself, before the work
|
|
4
|
+
* exists. Shared deliberately: the agent that judges work and the app that
|
|
5
|
+
* posts it must read a sentence the same way, or a poster is promised one
|
|
6
|
+
* thing and a worker is held to another.
|
|
7
|
+
*
|
|
8
|
+
* This half is pure and tiny because the browser loads it. The judging half
|
|
9
|
+
* lived in ./verdict.ts until the oracle migration retired the in-repo checker;
|
|
10
|
+
* the receipt shape it wrote survives in ./receipt.ts for the readers.
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.requiresPoster = exports.askSentence = exports.KIND_BADGE = exports.criterionText = exports.distanceWords = exports.DEFAULT_CONFIDENCE = exports.CALL_LIMITS = exports.CALL_SLUG = exports.CALL_LEGS = exports.CLAIM_KINDS = exports.DELIVERABLE_TYPES = exports.gatePhrase = void 0;
|
|
14
|
+
exports.firstUrl = firstUrl;
|
|
15
|
+
exports.matchSkill = matchSkill;
|
|
16
|
+
exports.matchHuman = matchHuman;
|
|
17
|
+
exports.hostOf = hostOf;
|
|
18
|
+
exports.requiredTerms = requiredTerms;
|
|
19
|
+
exports.deriveRubric = deriveRubric;
|
|
20
|
+
exports.doneMeansSentence = doneMeansSentence;
|
|
21
|
+
exports.servableByOracle = servableByOracle;
|
|
22
|
+
exports.normalizeTerms = normalizeTerms;
|
|
23
|
+
exports.callOf = callOf;
|
|
24
|
+
exports.parseTerms = parseTerms;
|
|
25
|
+
exports.inferDeliverable = inferDeliverable;
|
|
26
|
+
exports.deriveTerms = deriveTerms;
|
|
27
|
+
exports.addCriterion = addCriterion;
|
|
28
|
+
/** Evidence no text-only worker can produce: no camera, no hands, no address. */
|
|
29
|
+
const PHYSICAL = /\b(photo|photograph|picture|snap|image of|screenshot|screen shot|selfie|video|film|scan|handwritten|sticky note|poster|in person|visit|go to|walk|drive|deliver|pick up|drop off|knock|doorstep|on ?site|meet|queue|shelf|receipt)\b/i;
|
|
30
|
+
const URL_PATTERN = /\bhttps?:\/\/[^\s"'<>)]+|\b(?:[a-z0-9-]+\.)+(?:com|org|net|io|dev|app|earth|xyz|co|ai|me|so|sh|eu|uk|de)(?:\/[^\s"'<>)]*)?/i;
|
|
31
|
+
const CHECK_WORDS = /\b(check|verify|confirm|test|load|loads|loading|status|up|down|reachable|online|responds?|working|works|broken|404|uptime|ssl|redirect)\b/i;
|
|
32
|
+
const READ_WORDS = /\b(summari[sz]e|summary|tl;?dr|says?|saying|price|cost|how many|how much|find|extract|list|mentions?|headline|title of)\b/i;
|
|
33
|
+
/*
|
|
34
|
+
* Verbs and deliverable nouns both, on purpose: "Submit a recipe" and "Write a
|
|
35
|
+
* recipe" are the same job, and the first phrasing matched nothing — an ask a
|
|
36
|
+
* worker could plainly do was declined as "needs hands, a camera, or a person".
|
|
37
|
+
* A noun earns its place here only when it is unambiguously a text artifact;
|
|
38
|
+
* anything that might mean an errand ("email", "letter", "story") stays out,
|
|
39
|
+
* because the screen that says *no* honestly is worth more than one that says
|
|
40
|
+
* *yes* hopefully.
|
|
41
|
+
*/
|
|
42
|
+
const WRITE_WORDS = /\b(write|draft|compose|rewrite|word|wording|haiku|poem|tagline|slogan|strapline|headline|caption|name|title|summar(?:y|ise|ize)|one[- ]liner|sentence|paragraph|blurb|description|copy|recipe|joke|riddle|translation|tips|list of)\b/i;
|
|
43
|
+
const ANSWER_WORDS = /^(what|why|how|when|who|which|where|does|do|is|are|can|should|explain|define)\b/i;
|
|
44
|
+
const QUOTED_SPAN = /["“”'']([^"“”'']{3,60})["“”'']/g;
|
|
45
|
+
/** The instruction with its quoted terms lifted out — what the screens should read. */
|
|
46
|
+
const withoutQuoted = (text) => text.replace(QUOTED_SPAN, " ");
|
|
47
|
+
function firstUrl(text) {
|
|
48
|
+
const match = text.match(URL_PATTERN);
|
|
49
|
+
if (!match?.[0])
|
|
50
|
+
return null;
|
|
51
|
+
const raw = match[0].replace(/[.,;:]+$/, "");
|
|
52
|
+
return raw.startsWith("http") ? raw : `https://${raw}`;
|
|
53
|
+
}
|
|
54
|
+
function matchSkill(title) {
|
|
55
|
+
/*
|
|
56
|
+
* Screen the instruction, not the quoted material. A phrase in quotes is a
|
|
57
|
+
* word the deliverable must contain, not a description of the errand —
|
|
58
|
+
* "photograph the receipt" wants hands, while `write a line using "receipt"`
|
|
59
|
+
* wants a sentence, and the difference is exactly the quotation marks.
|
|
60
|
+
*/
|
|
61
|
+
if (PHYSICAL.test(withoutQuoted(title)))
|
|
62
|
+
return null;
|
|
63
|
+
const url = firstUrl(title);
|
|
64
|
+
if (url && CHECK_WORDS.test(title))
|
|
65
|
+
return { skill: "url-check", url };
|
|
66
|
+
if (url && READ_WORDS.test(title))
|
|
67
|
+
return { skill: "read", url };
|
|
68
|
+
if (WRITE_WORDS.test(title))
|
|
69
|
+
return { skill: "write" };
|
|
70
|
+
if (ANSWER_WORDS.test(title) || title.trim().endsWith("?"))
|
|
71
|
+
return { skill: "answer" };
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Work a machine here cannot do, but a person plainly can — the other half of
|
|
76
|
+
* the same reading. `matchSkill` says "not mine"; this says whether that is
|
|
77
|
+
* because nobody could do it, or because it wants eyes, hands, or somewhere to
|
|
78
|
+
* stand. An agent that can tell those apart can buy the second kind.
|
|
79
|
+
*
|
|
80
|
+
* The physical words that disqualify a text-only worker are exactly what
|
|
81
|
+
* qualifies a person, so this deliberately does not screen them out. What it
|
|
82
|
+
* will not do is decide whether the errand is *allowed* — `checkAsk` runs
|
|
83
|
+
* first, always, and refuses what it refuses regardless of who would do it.
|
|
84
|
+
*/
|
|
85
|
+
/* `map|mapping|survey|trace` are here because mapping is the clearest case of
|
|
86
|
+
the distinction this function exists to draw: no agent can walk a
|
|
87
|
+
neighbourhood and record what is there, and a person plainly can. Without
|
|
88
|
+
them the hiring hand reads a mapping ask as work nobody can do. */
|
|
89
|
+
const OBSERVE = /\b(look|see|watch|check|read|tell|say|says|describe|count|photograph|photo|picture|film|video|visit|go to|walk|ask|find out|confirm|verify|map|mapping|survey|trace)\b/i;
|
|
90
|
+
const QUESTION = /^(what|which|how many|how much|is|are|does|do|who|where|when)\b/i;
|
|
91
|
+
function matchHuman(title) {
|
|
92
|
+
const text = title.trim();
|
|
93
|
+
if (!text || matchSkill(text))
|
|
94
|
+
return false;
|
|
95
|
+
return QUESTION.test(text) || OBSERVE.test(text) || text.endsWith("?");
|
|
96
|
+
}
|
|
97
|
+
function hostOf(url) {
|
|
98
|
+
if (!url)
|
|
99
|
+
return "the page";
|
|
100
|
+
try {
|
|
101
|
+
return new URL(url).hostname;
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
return url.replace(/^https?:\/\//, "").split("/")[0] ?? url;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/** Terms an ask demands verbatim — quoted phrases are the only unambiguous signal. */
|
|
108
|
+
function requiredTerms(title) {
|
|
109
|
+
const terms = [];
|
|
110
|
+
for (const match of title.matchAll(QUOTED_SPAN)) {
|
|
111
|
+
const term = match[1]?.trim();
|
|
112
|
+
if (term)
|
|
113
|
+
terms.push(term);
|
|
114
|
+
}
|
|
115
|
+
return terms.slice(0, 5);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* The terms an ask implies. A brain may propose richer gates when one is
|
|
119
|
+
* configured; this is the floor, and it needs no key — so an ask can always
|
|
120
|
+
* say what it means, even with nothing but the sentence.
|
|
121
|
+
*/
|
|
122
|
+
function deriveRubric(title) {
|
|
123
|
+
const match = matchSkill(title);
|
|
124
|
+
if (!match)
|
|
125
|
+
return null;
|
|
126
|
+
const terms = requiredTerms(title);
|
|
127
|
+
const gates = [{ id: "non-empty" }];
|
|
128
|
+
if (match.skill === "url-check" && match.url) {
|
|
129
|
+
gates.push({ id: "mentions-url", url: match.url }, { id: "reports-status" }, { id: "re-measure", url: match.url });
|
|
130
|
+
}
|
|
131
|
+
else if (match.skill === "read" && match.url) {
|
|
132
|
+
gates.push({ id: "min-length", chars: 80 }, { id: "mentions-url", url: match.url });
|
|
133
|
+
}
|
|
134
|
+
else if (match.skill === "write") {
|
|
135
|
+
gates.push({ id: "min-length", chars: 20 });
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
gates.push({ id: "min-length", chars: 40 });
|
|
139
|
+
}
|
|
140
|
+
if (terms.length)
|
|
141
|
+
gates.push({ id: "mentions-terms", terms });
|
|
142
|
+
return { v: 1, task: title, gates };
|
|
143
|
+
}
|
|
144
|
+
const PHRASES = {
|
|
145
|
+
"non-empty": () => "hands over actual work",
|
|
146
|
+
"min-length": (gate) => `is at least ${gate.chars} characters`,
|
|
147
|
+
"mentions-url": (gate) => `names ${hostOf(gate.url)}`,
|
|
148
|
+
"reports-status": () => "reports what the site answered",
|
|
149
|
+
"mentions-terms": (gate) => `uses ${gate.terms.map((term) => `"${term}"`).join(" and ")}`,
|
|
150
|
+
/* Third person on purpose: a poster reads this on their own compose screen,
|
|
151
|
+
where "I" would sound like them rather than the agent doing the checking. */
|
|
152
|
+
"re-measure": () => "matches what the reviewer measures",
|
|
153
|
+
"file-type": (gate) => `is ${describeAccept(gate.accept)}`,
|
|
154
|
+
"max-bytes": (gate) => `is under ${describeBytes(gate.bytes)}`,
|
|
155
|
+
"with-file": (gate) => `comes with a file under ${describeBytes(gate.bytes)}`,
|
|
156
|
+
/* Both of these are read by somebody about to walk somewhere, so they say
|
|
157
|
+
what to do rather than what will be measured. */
|
|
158
|
+
located: () => "says where it is",
|
|
159
|
+
"not-already-mapped": (gate) => `is more than ${gate.metres} m from anything already mapped`,
|
|
160
|
+
"at-registered-point": (gate) => `takes the waste to one of ${gate.points.length} named places`,
|
|
161
|
+
/* Names the source, because a worker should know before starting that the
|
|
162
|
+
proof is public and not a matter of anyone's opinion. */
|
|
163
|
+
/* "reported" is doing real work in this sentence: a poster reading it
|
|
164
|
+
should understand exactly how much it proves. And the target is named
|
|
165
|
+
when it has a name — "the target" is only honest when nothing better is
|
|
166
|
+
known. */
|
|
167
|
+
/* Says what it checks and, just as importantly, what it does not: a poster
|
|
168
|
+
reading this should not think we have verified the description. */
|
|
169
|
+
"before-after": () => "shows the same place before and after, visibly cleaner",
|
|
170
|
+
"weather-consistent": () => "does not contradict the weather recorded there",
|
|
171
|
+
"daylight-consistent": () => "does not contradict whether it was light there",
|
|
172
|
+
"within-radius": (gate) => {
|
|
173
|
+
const one = gate;
|
|
174
|
+
return `reports a location within ${(0, exports.distanceWords)(one.meters)} of ${one.place || "the target"}`;
|
|
175
|
+
},
|
|
176
|
+
"mapped-grid": (gate) => {
|
|
177
|
+
const one = gate;
|
|
178
|
+
const where = one.place ? `to ${one.place}` : "to the target area";
|
|
179
|
+
return `adds at least ${one.minFeatures} ${one.tag === "highway" ? "road segments" : "buildings"} ${where} within ${one.days} days, verified on OpenStreetMap`;
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
function describeAccept(accept) {
|
|
183
|
+
if (accept === "image/*")
|
|
184
|
+
return "an image";
|
|
185
|
+
if (accept === "video/*")
|
|
186
|
+
return "a video";
|
|
187
|
+
if (accept === "audio/*")
|
|
188
|
+
return "audio";
|
|
189
|
+
if (accept === "application/pdf")
|
|
190
|
+
return "a PDF";
|
|
191
|
+
return `of type ${accept}`;
|
|
192
|
+
}
|
|
193
|
+
function describeBytes(bytes) {
|
|
194
|
+
if (bytes >= 1_048_576)
|
|
195
|
+
return `${Math.round(bytes / 1_048_576)} MB`;
|
|
196
|
+
if (bytes >= 1024)
|
|
197
|
+
return `${Math.round(bytes / 1024)} kB`;
|
|
198
|
+
return `${bytes} bytes`;
|
|
199
|
+
}
|
|
200
|
+
/** One phrase per gate, for a chip or a list. Own keys only — see `isGate`. */
|
|
201
|
+
const gatePhrase = (gate) => (Object.hasOwn(PHRASES, gate.id) ? PHRASES[gate.id](gate) : `meets the "${String(gate.id)}" rule`);
|
|
202
|
+
exports.gatePhrase = gatePhrase;
|
|
203
|
+
/** The readback: what a poster is shown before they commit money to an ask. */
|
|
204
|
+
function doneMeansSentence(rubric) {
|
|
205
|
+
return rubric.gates.map(exports.gatePhrase).join(" · ");
|
|
206
|
+
}
|
|
207
|
+
// ------------------------------------------------------------- the ask, v2
|
|
208
|
+
/**
|
|
209
|
+
* Terms v2 — the anatomy of an ask.
|
|
210
|
+
*
|
|
211
|
+
* v1 could only say "these gates must pass", which confined the product to
|
|
212
|
+
* work a regular expression can judge. Real asks want a photo of a notice
|
|
213
|
+
* board, a translation that reads naturally, a logo someone likes. So an ask
|
|
214
|
+
* now names three things: what gets handed over, what makes it complete, and
|
|
215
|
+
* who rules.
|
|
216
|
+
*
|
|
217
|
+
* The load-bearing idea is that **every criterion wears its kind**, and the
|
|
218
|
+
* kind is a promise about who can honestly judge it:
|
|
219
|
+
*
|
|
220
|
+
* - `measure` — a machine checks it, deterministically, replayable by anyone.
|
|
221
|
+
* - `judge` — a model rules on a written sentence, with the evidence frozen
|
|
222
|
+
* first and its reasoning published (see BD11 in the V build
|
|
223
|
+
* plan). Auditable, not bit-reproducible.
|
|
224
|
+
* - `attest` — only a person can say. No machine may claim it did.
|
|
225
|
+
*
|
|
226
|
+
* That last kind is the honest one. A system that cannot say "this cannot be
|
|
227
|
+
* machine-judged" will eventually pretend it judged something it did not, and
|
|
228
|
+
* a poster will be told their taste was verified by a regular expression.
|
|
229
|
+
*/
|
|
230
|
+
/**
|
|
231
|
+
* What an ask can ask for.
|
|
232
|
+
*
|
|
233
|
+
* **The list is the source and the type derives from it**, rather than a type
|
|
234
|
+
* beside a hand-copied array. `parseTerms` validates against this list, and
|
|
235
|
+
* when `photo-pair` was added to the type and not to that copy, every cleanup
|
|
236
|
+
* ask ever posted read as *"the terms could not be read"* — a checker
|
|
237
|
+
* declining to judge work against a document it thought was malformed, which
|
|
238
|
+
* is the correct behaviour on a bad document and a silent outage on a good
|
|
239
|
+
* one. It cost a live smoke to find. One list now.
|
|
240
|
+
*
|
|
241
|
+
* `photo-pair` is the cleanup shape: two photographs of one place, before and
|
|
242
|
+
* after. It is its own type rather than "two photos" because everything
|
|
243
|
+
* downstream treats it differently — the submission envelope carries two cids,
|
|
244
|
+
* the checker freezes both for the judge, and the leg is priced for two
|
|
245
|
+
* screens.
|
|
246
|
+
*/
|
|
247
|
+
exports.DELIVERABLE_TYPES = ["url", "text", "photo", "photo-pair", "mess-report", "field-report", "commitment", "file", "answer"];
|
|
248
|
+
/**
|
|
249
|
+
* The kinds of claim an ask can take, where it takes more than one.
|
|
250
|
+
*
|
|
251
|
+
* Only a site does: a `patch` (before, after, the bags) which is judged and
|
|
252
|
+
* held, and the `site` shot which shows the whole area clear and releases
|
|
253
|
+
* every held patch. The claim says which in its own `kind` field. An ordinary
|
|
254
|
+
* cleanup's envelope says `pair` and nothing reads it — one kind of claim
|
|
255
|
+
* needs no vocabulary, and a criterion on such an ask is about the only
|
|
256
|
+
* claim there is.
|
|
257
|
+
*
|
|
258
|
+
* **The list is the source and the type derives from it**, as with
|
|
259
|
+
* `DELIVERABLE_TYPES` and for the same reason: the parser validates against
|
|
260
|
+
* this array and the bridge writes it into the rubric, so a kind added in one
|
|
261
|
+
* place cannot go missing in the other.
|
|
262
|
+
*/
|
|
263
|
+
exports.CLAIM_KINDS = ["patch", "site"];
|
|
264
|
+
exports.CALL_LEGS = ["entries", "prize", "runnersUp"];
|
|
265
|
+
/** A call's slug: what its page and its tag are named by. */
|
|
266
|
+
exports.CALL_SLUG = /^[a-z][a-z0-9-]{2,39}$/;
|
|
267
|
+
/** The limits a call is read with, and written to. */
|
|
268
|
+
exports.CALL_LIMITS = {
|
|
269
|
+
title: 160,
|
|
270
|
+
lede: 500,
|
|
271
|
+
poster: 80,
|
|
272
|
+
blocks: 8,
|
|
273
|
+
paragraphs: 8,
|
|
274
|
+
paragraph: 1500,
|
|
275
|
+
url: 2048,
|
|
276
|
+
alt: 300,
|
|
277
|
+
caption: 300,
|
|
278
|
+
items: 6,
|
|
279
|
+
steps: 8,
|
|
280
|
+
stepTitle: 120,
|
|
281
|
+
stepText: 300,
|
|
282
|
+
source: 2000,
|
|
283
|
+
csv: 4000,
|
|
284
|
+
note: 300,
|
|
285
|
+
name: 120,
|
|
286
|
+
start: 1500,
|
|
287
|
+
lines: 5
|
|
288
|
+
};
|
|
289
|
+
exports.DEFAULT_CONFIDENCE = 0.7;
|
|
290
|
+
/**
|
|
291
|
+
* A distance as a person says it: metres up to a kilometre, kilometres past
|
|
292
|
+
* it. "Within 18000 m of Ljubljana" is a sentence a machine wrote; the gate
|
|
293
|
+
* still measures the metres.
|
|
294
|
+
*/
|
|
295
|
+
const distanceWords = (metres) => (metres >= 1000 ? `${Number((metres / 1000).toFixed(1))} km` : `${metres} m`);
|
|
296
|
+
exports.distanceWords = distanceWords;
|
|
297
|
+
const criterionText = (criterion) => criterion.kind === "measure" ? (0, exports.gatePhrase)(criterion.gate) : criterion.text;
|
|
298
|
+
exports.criterionText = criterionText;
|
|
299
|
+
/** What a reader is promised about who checked this line. */
|
|
300
|
+
exports.KIND_BADGE = {
|
|
301
|
+
measure: "automated check",
|
|
302
|
+
judge: "AI review",
|
|
303
|
+
/* Named, not pronouned. "You decide" was written from the poster's chair,
|
|
304
|
+
and the line's biggest audience reads it from the worker's — where "you"
|
|
305
|
+
is exactly the person it is not. */
|
|
306
|
+
attest: "the poster decides"
|
|
307
|
+
};
|
|
308
|
+
/** The readback for a v2 ask — the contract, in one line. */
|
|
309
|
+
const askSentence = (terms) => terms.criteria.map(exports.criterionText).join(" · ");
|
|
310
|
+
exports.askSentence = askSentence;
|
|
311
|
+
/**
|
|
312
|
+
* An ask whose judge cannot rule on all of it is a trap: the chain allows
|
|
313
|
+
* exactly one verdict per claim, so there is no "the oracle does its half and
|
|
314
|
+
* the poster does the rest". Any `attest` criterion therefore forces the
|
|
315
|
+
* poster to hold the pen.
|
|
316
|
+
*/
|
|
317
|
+
const requiresPoster = (terms) => terms.criteria.some((criterion) => criterion.kind === "attest");
|
|
318
|
+
exports.requiresPoster = requiresPoster;
|
|
319
|
+
/**
|
|
320
|
+
* Whether a given checker can serve this ask in full. The evaluator calls this
|
|
321
|
+
* before accepting work and declines out loud when it cannot — the same
|
|
322
|
+
* honesty the keyless worker already practises when a skill needs a brain.
|
|
323
|
+
*/
|
|
324
|
+
function servableByOracle(terms, options) {
|
|
325
|
+
if ((0, exports.requiresPoster)(terms))
|
|
326
|
+
return { ok: false, reason: "has a requirement only a person can review" };
|
|
327
|
+
if (!options.canJudge && terms.criteria.some((criterion) => criterion.kind === "judge"))
|
|
328
|
+
return { ok: false, reason: "has requirements for AI review, but no model is configured" };
|
|
329
|
+
return { ok: true };
|
|
330
|
+
}
|
|
331
|
+
const nextId = (index) => `c${index + 1}`;
|
|
332
|
+
/**
|
|
333
|
+
* One shape for every consumer. A v1 rubric is a v2 ask whose criteria are all
|
|
334
|
+
* machine-checked and whose judge was never written down — which is exactly
|
|
335
|
+
* what a v1 ask was. Nothing in flight has to be migrated: the stored bytes
|
|
336
|
+
* stay as they are, and identity is still the hash of those bytes.
|
|
337
|
+
*/
|
|
338
|
+
function normalizeTerms(doc) {
|
|
339
|
+
if (doc.v === 2)
|
|
340
|
+
return doc;
|
|
341
|
+
return {
|
|
342
|
+
v: 2,
|
|
343
|
+
task: doc.task,
|
|
344
|
+
deliverable: { type: "text", prompt: doc.task },
|
|
345
|
+
criteria: doc.gates.map((gate, index) => ({ id: nextId(index), kind: "measure", gate })),
|
|
346
|
+
judge: { kind: "poster" }
|
|
347
|
+
};
|
|
348
|
+
}
|
|
349
|
+
/*
|
|
350
|
+
* A gate off the wire is checked field by field, in the shape the checker will
|
|
351
|
+
* read it. This used to check only that the id was a known word, so a gate
|
|
352
|
+
* published as `{id: "mentions-terms"}` reached `runGate` and threw on the
|
|
353
|
+
* `.filter` of a list that was not there — one ask's terms, and the checker's
|
|
354
|
+
* whole pass down with it — and `{id: "constructor"}` passed because `in`
|
|
355
|
+
* sees what `Object.prototype` declares, handing `criterionText` a function
|
|
356
|
+
* to call. Malformed is absent, as with everything else this parser reads.
|
|
357
|
+
*
|
|
358
|
+
* Strings are bounded because every one of them is rendered: a place label
|
|
359
|
+
* or a required phrase the size of a page is not a term, it is a payload.
|
|
360
|
+
*/
|
|
361
|
+
const GATE_TEXT_MAX = 200;
|
|
362
|
+
const GATE_URL_MAX = 2048;
|
|
363
|
+
const GATE_LIST_MAX = 20;
|
|
364
|
+
const finite = (value) => typeof value === "number" && Number.isFinite(value);
|
|
365
|
+
const positive = (value) => finite(value) && value > 0;
|
|
366
|
+
const nonNegative = (value) => finite(value) && value >= 0;
|
|
367
|
+
const latitude = (value) => finite(value) && Math.abs(value) <= 90;
|
|
368
|
+
const longitude = (value) => finite(value) && Math.abs(value) <= 180;
|
|
369
|
+
const shortText = (value, max = GATE_TEXT_MAX) => typeof value === "string" && value.trim().length > 0 && value.length <= max;
|
|
370
|
+
const optionalText = (value) => value === undefined || shortText(value);
|
|
371
|
+
const isPoint = (value) => {
|
|
372
|
+
const point = value;
|
|
373
|
+
return Boolean(point) && typeof point === "object" && latitude(point.lat) && longitude(point.lon) && optionalText(point.label);
|
|
374
|
+
};
|
|
375
|
+
const isGate = (value) => {
|
|
376
|
+
const gate = value;
|
|
377
|
+
if (!gate || typeof gate !== "object" || typeof gate.id !== "string" || !Object.hasOwn(PHRASES, gate.id))
|
|
378
|
+
return false;
|
|
379
|
+
switch (gate.id) {
|
|
380
|
+
case "non-empty":
|
|
381
|
+
case "reports-status":
|
|
382
|
+
case "located":
|
|
383
|
+
case "weather-consistent":
|
|
384
|
+
case "daylight-consistent":
|
|
385
|
+
case "before-after":
|
|
386
|
+
return true;
|
|
387
|
+
case "min-length":
|
|
388
|
+
return positive(gate.chars);
|
|
389
|
+
case "max-bytes":
|
|
390
|
+
case "with-file":
|
|
391
|
+
return positive(gate.bytes);
|
|
392
|
+
case "mentions-url":
|
|
393
|
+
case "re-measure":
|
|
394
|
+
return shortText(gate.url, GATE_URL_MAX);
|
|
395
|
+
case "file-type":
|
|
396
|
+
return shortText(gate.accept);
|
|
397
|
+
case "mentions-terms":
|
|
398
|
+
return Array.isArray(gate.terms) && gate.terms.length > 0 && gate.terms.length <= GATE_LIST_MAX && gate.terms.every((term) => shortText(term));
|
|
399
|
+
case "not-already-mapped":
|
|
400
|
+
return positive(gate.metres);
|
|
401
|
+
case "within-radius":
|
|
402
|
+
return latitude(gate.lat) && longitude(gate.lon) && positive(gate.meters) && optionalText(gate.place);
|
|
403
|
+
case "at-registered-point":
|
|
404
|
+
return Array.isArray(gate.points) && gate.points.length > 0 && gate.points.length <= GATE_LIST_MAX && gate.points.every(isPoint) && positive(gate.metres);
|
|
405
|
+
case "mapped-grid": {
|
|
406
|
+
const box = gate.box;
|
|
407
|
+
return (Boolean(box) &&
|
|
408
|
+
typeof box === "object" &&
|
|
409
|
+
latitude(box.south) &&
|
|
410
|
+
latitude(box.north) &&
|
|
411
|
+
longitude(box.west) &&
|
|
412
|
+
longitude(box.east) &&
|
|
413
|
+
(gate.tag === "building" || gate.tag === "highway") &&
|
|
414
|
+
nonNegative(gate.minEdits) &&
|
|
415
|
+
nonNegative(gate.minFeatures) &&
|
|
416
|
+
positive(gate.days) &&
|
|
417
|
+
optionalText(gate.place));
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
return false;
|
|
421
|
+
};
|
|
422
|
+
const isCriterion = (value) => {
|
|
423
|
+
const criterion = value;
|
|
424
|
+
if (!criterion || typeof criterion.id !== "string" || !criterion.id)
|
|
425
|
+
return false;
|
|
426
|
+
if (criterion.kind === "measure")
|
|
427
|
+
return isGate(criterion.gate);
|
|
428
|
+
if (criterion.kind === "judge" || criterion.kind === "attest")
|
|
429
|
+
return typeof criterion.text === "string" && criterion.text.trim().length > 0;
|
|
430
|
+
return false;
|
|
431
|
+
};
|
|
432
|
+
/*
|
|
433
|
+
* Terms come off the wire, and the wire belongs to whoever posted the ask —
|
|
434
|
+
* which on the board is usually a stranger. Every string below ends up on the
|
|
435
|
+
* page where somebody decides whether to do the work, and one of them is the
|
|
436
|
+
* heading. They are testimony about what "done" means, not evidence of
|
|
437
|
+
* anything, so they are cut to a size a page can hold and stripped of the
|
|
438
|
+
* characters that let a sentence pretend to be two.
|
|
439
|
+
*
|
|
440
|
+
* Cut rather than refused: a poster who wrote a very long task still has an
|
|
441
|
+
* ask, and refusing it outright would hide work somebody could do. The full
|
|
442
|
+
* document is at its own content address either way.
|
|
443
|
+
*/
|
|
444
|
+
const TASK_MAX = 500;
|
|
445
|
+
const PROMPT_MAX = 500;
|
|
446
|
+
const CRITERION_MAX = 300;
|
|
447
|
+
const CRITERIA_MAX = 20;
|
|
448
|
+
const trim = (raw, max) => {
|
|
449
|
+
// eslint-disable-next-line no-control-regex -- stripping them is the point
|
|
450
|
+
const text = raw.replace(/[\u0000-\u001f\u007f\u2028\u2029]/g, " ").replace(/\s+/g, " ").trim();
|
|
451
|
+
return text.length <= max ? text : `${text.slice(0, max)}…`;
|
|
452
|
+
};
|
|
453
|
+
/**
|
|
454
|
+
* One criterion, as the parser hands it on: the sentence cut to a size a page
|
|
455
|
+
* can hold, and `appliesTo` kept only when it names a kind we know.
|
|
456
|
+
*
|
|
457
|
+
* An unrecognised kind is **dropped, not obeyed and not fatal** — the same
|
|
458
|
+
* posture as `publish` and `revisitOf` below, and the safe direction: the
|
|
459
|
+
* criterion then applies to every claim, which is the rule as it stood before
|
|
460
|
+
* the field existed. Obeying it would let a word off the wire turn a gate off
|
|
461
|
+
* (a condition that can never hold is a rule that never runs), and refusing
|
|
462
|
+
* the whole document would leave an otherwise good ask unjudgeable.
|
|
463
|
+
*
|
|
464
|
+
* Rebuilt by spread rather than field by field on purpose: an older document
|
|
465
|
+
* carries keys this version never heard of, and the round-trip guard compares
|
|
466
|
+
* bytes — so the keys that are there keep both their values and their order.
|
|
467
|
+
*/
|
|
468
|
+
const readCriterion = (criterion) => {
|
|
469
|
+
const read = criterion.kind === "measure" ? criterion : { ...criterion, text: trim(criterion.text, CRITERION_MAX) };
|
|
470
|
+
const scope = read.appliesTo;
|
|
471
|
+
if (scope === undefined || exports.CLAIM_KINDS.includes(scope))
|
|
472
|
+
return read;
|
|
473
|
+
const { appliesTo: _unknownKind, ...rest } = read;
|
|
474
|
+
return rest;
|
|
475
|
+
};
|
|
476
|
+
/**
|
|
477
|
+
* Read terms off the wire. Anything that fails to parse is treated as absent
|
|
478
|
+
* rather than repaired: a checker that guesses at malformed terms is judging
|
|
479
|
+
* work against a document nobody agreed to.
|
|
480
|
+
*/
|
|
481
|
+
/**
|
|
482
|
+
* The follow-on an approved answer spawns, read with the same suspicion as
|
|
483
|
+
* everything else off the wire. Malformed is absent, not repaired: a chain
|
|
484
|
+
* that half-parses would spawn an ask nobody wrote.
|
|
485
|
+
*/
|
|
486
|
+
function chainOf(raw) {
|
|
487
|
+
if (!raw || typeof raw !== "object")
|
|
488
|
+
return null;
|
|
489
|
+
if (typeof raw.task !== "string" || !raw.task.trim())
|
|
490
|
+
return null;
|
|
491
|
+
if (!raw.deliverable || !exports.DELIVERABLE_TYPES.includes(raw.deliverable.type) || typeof raw.deliverable.prompt !== "string")
|
|
492
|
+
return null;
|
|
493
|
+
if (raw.target?.mode !== "fixed" || typeof raw.target.base !== "string" || !/^[1-9][0-9]{0,18}$/.test(raw.target.base))
|
|
494
|
+
return null;
|
|
495
|
+
if (raw.funding !== "poster" && raw.funding !== "crowd")
|
|
496
|
+
return null;
|
|
497
|
+
return {
|
|
498
|
+
chain: {
|
|
499
|
+
task: trim(raw.task, TASK_MAX),
|
|
500
|
+
deliverable: { type: raw.deliverable.type, prompt: trim(raw.deliverable.prompt, PROMPT_MAX) },
|
|
501
|
+
target: { mode: "fixed", base: raw.target.base },
|
|
502
|
+
funding: raw.funding,
|
|
503
|
+
...(raw.atAnswersPlace === true ? { atAnswersPlace: true } : {})
|
|
504
|
+
}
|
|
505
|
+
};
|
|
506
|
+
}
|
|
507
|
+
/*
|
|
508
|
+
* A call, read with the same suspicion — and stricter, because every string in
|
|
509
|
+
* it is rendered and some of it is fetched (a picture's address). One field
|
|
510
|
+
* out of shape and the whole call is absent: a call half-read would draw a
|
|
511
|
+
* brief nobody wrote. Nothing is trimmed, so what a writer built within these
|
|
512
|
+
* limits reads back byte for byte; the builders (`call.ts`) refuse anything
|
|
513
|
+
* this would refuse.
|
|
514
|
+
*/
|
|
515
|
+
// eslint-disable-next-line no-control-regex -- refusing them is the point
|
|
516
|
+
const ONE_LINE_BAD = /[\u0000-\u001f\u007f\u2028\u2029]/;
|
|
517
|
+
// eslint-disable-next-line no-control-regex -- a CSV and a diagram's source keep their line breaks, nothing else
|
|
518
|
+
const MANY_LINES_BAD = /[\u0000-\u0009\u000b-\u001f\u007f\u2028\u2029]/;
|
|
519
|
+
const line = (value, max) => typeof value === "string" && value.trim().length > 0 && value.length <= max && !ONE_LINE_BAD.test(value);
|
|
520
|
+
const lines = (value, max) => typeof value === "string" && value.trim().length > 0 && value.length <= max && !MANY_LINES_BAD.test(value);
|
|
521
|
+
const maybe = (value, max) => value === undefined || line(value, max);
|
|
522
|
+
const https = (value) => {
|
|
523
|
+
if (!line(value, exports.CALL_LIMITS.url) || !value.startsWith("https://"))
|
|
524
|
+
return false;
|
|
525
|
+
try {
|
|
526
|
+
return new URL(value).protocol === "https:";
|
|
527
|
+
}
|
|
528
|
+
catch {
|
|
529
|
+
return false;
|
|
530
|
+
}
|
|
531
|
+
};
|
|
532
|
+
const someOf = (value, max, each) => Array.isArray(value) && value.length > 0 && value.length <= max && value.every(each);
|
|
533
|
+
const date = (value) => typeof value === "string" && value.length <= 40 && Number.isFinite(Date.parse(value));
|
|
534
|
+
const amount = (value) => finite(value) && value >= 0 && value <= 1_000_000;
|
|
535
|
+
const whole = (value, low, high) => Number.isInteger(value) && value >= low && value <= high;
|
|
536
|
+
function blockOf(raw) {
|
|
537
|
+
const block = raw;
|
|
538
|
+
if (!block || typeof block !== "object")
|
|
539
|
+
return null;
|
|
540
|
+
const L = exports.CALL_LIMITS;
|
|
541
|
+
const picture = (one) => {
|
|
542
|
+
const it = one;
|
|
543
|
+
return Boolean(it) && https(it.url) && line(it.alt, L.alt) && maybe(it.caption, L.caption);
|
|
544
|
+
};
|
|
545
|
+
const file = (one) => {
|
|
546
|
+
const it = one;
|
|
547
|
+
return Boolean(it) && https(it.url) && line(it.name, L.name) && maybe(it.note, L.note);
|
|
548
|
+
};
|
|
549
|
+
const step = (one) => {
|
|
550
|
+
const it = one;
|
|
551
|
+
return Boolean(it) && line(it.title, L.stepTitle) && maybe(it.text, L.stepText);
|
|
552
|
+
};
|
|
553
|
+
const paragraph = (one) => line(one, L.paragraph);
|
|
554
|
+
const withCaption = (value, caption) => (caption === undefined ? value : { ...value, caption: caption });
|
|
555
|
+
const withNote = (value, note) => (note === undefined ? value : { ...value, note: note });
|
|
556
|
+
switch (block.kind) {
|
|
557
|
+
case "story":
|
|
558
|
+
return someOf(block.paragraphs, L.paragraphs, paragraph) ? { kind: "story", paragraphs: [...block.paragraphs] } : null;
|
|
559
|
+
case "cover":
|
|
560
|
+
return https(block.url) && line(block.alt, L.alt) && maybe(block.caption, L.caption) ? withCaption({ kind: "cover", url: block.url, alt: block.alt }, block.caption) : null;
|
|
561
|
+
case "pictures":
|
|
562
|
+
return someOf(block.items, L.items, picture) ? { kind: "pictures", items: block.items.map((one) => withCaption({ url: one.url, alt: one.alt }, one.caption)) } : null;
|
|
563
|
+
case "diagram":
|
|
564
|
+
if (!line(block.title, L.title) || !someOf(block.steps, L.steps, step) || !(block.source === undefined || lines(block.source, L.source)))
|
|
565
|
+
return null;
|
|
566
|
+
return {
|
|
567
|
+
kind: "diagram",
|
|
568
|
+
title: block.title,
|
|
569
|
+
steps: block.steps.map((one) => (one.text === undefined ? { title: one.title } : { title: one.title, text: one.text })),
|
|
570
|
+
...(block.source === undefined ? {} : { source: block.source })
|
|
571
|
+
};
|
|
572
|
+
case "data":
|
|
573
|
+
return line(block.title, L.title) && lines(block.csv, L.csv) && maybe(block.note, L.note) ? withNote({ kind: "data", title: block.title, csv: block.csv }, block.note) : null;
|
|
574
|
+
case "files":
|
|
575
|
+
return someOf(block.items, L.items, file) ? { kind: "files", items: block.items.map((one) => withNote({ url: one.url, name: one.name }, one.note)) } : null;
|
|
576
|
+
case "start":
|
|
577
|
+
return lines(block.prompt, L.start) ? { kind: "start", prompt: block.prompt } : null;
|
|
578
|
+
}
|
|
579
|
+
return null;
|
|
580
|
+
}
|
|
581
|
+
function callOf(raw) {
|
|
582
|
+
const call = raw;
|
|
583
|
+
if (!call || typeof call !== "object")
|
|
584
|
+
return null;
|
|
585
|
+
const L = exports.CALL_LIMITS;
|
|
586
|
+
if (typeof call.slug !== "string" || !exports.CALL_SLUG.test(call.slug))
|
|
587
|
+
return null;
|
|
588
|
+
if (!exports.CALL_LEGS.includes(call.leg))
|
|
589
|
+
return null;
|
|
590
|
+
if (!line(call.title, L.title) || !line(call.lede, L.lede) || !line(call.poster, L.poster))
|
|
591
|
+
return null;
|
|
592
|
+
if (!Array.isArray(call.points) || call.points.length === 0 || call.points.length > L.lines || !call.points.every((one) => finite(one) && one >= 0 && one <= 100))
|
|
593
|
+
return null;
|
|
594
|
+
const money = call.money;
|
|
595
|
+
if (!money || typeof money !== "object")
|
|
596
|
+
return null;
|
|
597
|
+
if (!amount(money.prize) || !whole(money.runnersN, 0, 5) || !amount(money.runnersEach) || !amount(money.entryEach) || !whole(money.entryUpTo, 1, 10_000))
|
|
598
|
+
return null;
|
|
599
|
+
if (!date(call.closes) || !date(call.drop) || !date(call.pick))
|
|
600
|
+
return null;
|
|
601
|
+
let legs;
|
|
602
|
+
if (call.legs !== undefined) {
|
|
603
|
+
const raw = call.legs;
|
|
604
|
+
if (!raw || typeof raw !== "object")
|
|
605
|
+
return null;
|
|
606
|
+
legs = {};
|
|
607
|
+
for (const name of exports.CALL_LEGS) {
|
|
608
|
+
const id = raw[name];
|
|
609
|
+
if (id === undefined)
|
|
610
|
+
continue;
|
|
611
|
+
if (typeof id !== "string" || !/^\d{1,12}$/.test(id))
|
|
612
|
+
return null;
|
|
613
|
+
legs[name] = id;
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
if (!Array.isArray(call.blocks) || call.blocks.length > L.blocks)
|
|
617
|
+
return null;
|
|
618
|
+
const blocks = call.blocks.map(blockOf);
|
|
619
|
+
if (blocks.some((block) => block === null))
|
|
620
|
+
return null;
|
|
621
|
+
return {
|
|
622
|
+
call: {
|
|
623
|
+
slug: call.slug,
|
|
624
|
+
leg: call.leg,
|
|
625
|
+
title: call.title,
|
|
626
|
+
lede: call.lede,
|
|
627
|
+
poster: call.poster,
|
|
628
|
+
points: [...call.points],
|
|
629
|
+
money: { prize: money.prize, runnersN: money.runnersN, runnersEach: money.runnersEach, entryEach: money.entryEach, entryUpTo: money.entryUpTo },
|
|
630
|
+
closes: call.closes,
|
|
631
|
+
drop: call.drop,
|
|
632
|
+
pick: call.pick,
|
|
633
|
+
...(legs ? { legs } : {}),
|
|
634
|
+
blocks: blocks
|
|
635
|
+
}
|
|
636
|
+
};
|
|
637
|
+
}
|
|
638
|
+
/** Where the waste may go, cleaned of anything that is not a coordinate. */
|
|
639
|
+
function disposalOf(raw) {
|
|
640
|
+
if (!raw || !Array.isArray(raw.points) || !(Number(raw.metres) > 0))
|
|
641
|
+
return null;
|
|
642
|
+
const points = raw.points
|
|
643
|
+
.filter((one) => Number.isFinite(Number(one?.lat)) && Number.isFinite(Number(one?.lon)))
|
|
644
|
+
.slice(0, 20)
|
|
645
|
+
.map((one) => ({ lat: Number(one.lat), lon: Number(one.lon), ...(one.label ? { label: trim(String(one.label), 60) } : {}) }));
|
|
646
|
+
return { disposal: { points, metres: Math.floor(Number(raw.metres)) } };
|
|
647
|
+
}
|
|
648
|
+
function parseTerms(value) {
|
|
649
|
+
const doc = value;
|
|
650
|
+
if (!doc || typeof doc !== "object")
|
|
651
|
+
return null;
|
|
652
|
+
if (doc.v === 1) {
|
|
653
|
+
if (typeof doc.task !== "string" || !Array.isArray(doc.gates) || !doc.gates.every(isGate))
|
|
654
|
+
return null;
|
|
655
|
+
return normalizeTerms({ v: 1, task: trim(doc.task, TASK_MAX), gates: doc.gates });
|
|
656
|
+
}
|
|
657
|
+
if (doc.v !== 2)
|
|
658
|
+
return null;
|
|
659
|
+
if (typeof doc.task !== "string" || !doc.task)
|
|
660
|
+
return null;
|
|
661
|
+
const deliverable = doc.deliverable;
|
|
662
|
+
if (!deliverable || !exports.DELIVERABLE_TYPES.includes(deliverable.type) || typeof deliverable.prompt !== "string")
|
|
663
|
+
return null;
|
|
664
|
+
if (!Array.isArray(doc.criteria) || doc.criteria.length === 0 || !doc.criteria.every(isCriterion))
|
|
665
|
+
return null;
|
|
666
|
+
if (new Set(doc.criteria.map((criterion) => criterion.id)).size !== doc.criteria.length)
|
|
667
|
+
return null;
|
|
668
|
+
const judge = doc.judge;
|
|
669
|
+
if (!judge || (judge.kind !== "poster" && judge.kind !== "oracle"))
|
|
670
|
+
return null;
|
|
671
|
+
if (judge.kind === "oracle" && !judge.address)
|
|
672
|
+
return null;
|
|
673
|
+
/*
|
|
674
|
+
* **Rebuilt field by field, so anything new has to be named here too.**
|
|
675
|
+
*
|
|
676
|
+
* `campaign` and `followUp` were added to the type and not to this object,
|
|
677
|
+
* so every ask lost them the moment a checker parsed its terms — and the
|
|
678
|
+
* checker is the only thing that reads `followUp`. An approved cleanup
|
|
679
|
+
* therefore never bought its re-visit, silently, on terms that plainly asked
|
|
680
|
+
* for one. The same shape that made `photo-pair` unparseable a few hours
|
|
681
|
+
* earlier: a second place that has to agree with the type and does not
|
|
682
|
+
* announce when it stops.
|
|
683
|
+
*/
|
|
684
|
+
return {
|
|
685
|
+
v: 2,
|
|
686
|
+
task: trim(doc.task, TASK_MAX),
|
|
687
|
+
deliverable: { ...deliverable, prompt: trim(deliverable.prompt, PROMPT_MAX) },
|
|
688
|
+
...(typeof doc.campaign === "string" && doc.campaign ? { campaign: trim(doc.campaign, 64) } : {}),
|
|
689
|
+
...(typeof doc.series === "string" && /^[a-z0-9-]{1,64}$/.test(doc.series) ? { series: doc.series } : {}),
|
|
690
|
+
...(chainOf(doc.chain) ?? {}),
|
|
691
|
+
...(callOf(doc.call) ?? {}),
|
|
692
|
+
...(doc.followUp && Number(doc.followUp.days) > 0 && doc.followUp.pay
|
|
693
|
+
? {
|
|
694
|
+
followUp: {
|
|
695
|
+
days: Math.floor(Number(doc.followUp.days)),
|
|
696
|
+
pay: String(doc.followUp.pay),
|
|
697
|
+
...(Number(doc.followUp.daysMin) > 0 && Number(doc.followUp.daysMax) >= Number(doc.followUp.daysMin)
|
|
698
|
+
? { daysMin: Math.floor(Number(doc.followUp.daysMin)), daysMax: Math.floor(Number(doc.followUp.daysMax)) }
|
|
699
|
+
: {})
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
: {}),
|
|
703
|
+
...(typeof doc.revisitOf === "string" && /^\d+$/.test(doc.revisitOf) ? { revisitOf: doc.revisitOf } : {}),
|
|
704
|
+
/* Named here or dropped here — the rule this comment block is about. Only
|
|
705
|
+
the one literal value: an unknown publishing mode must read as "no", not
|
|
706
|
+
as something permissive nobody defined. */
|
|
707
|
+
...(doc.publish === "on-approval" ? { publish: "on-approval" } : {}),
|
|
708
|
+
...(typeof doc.clears === "string" && /^bafk[a-z2-7]{20,}$/.test(doc.clears) ? { clears: doc.clears } : {}),
|
|
709
|
+
/* A site takes patch claims and holds them; the checker branches on this
|
|
710
|
+
and on nothing else, so losing it here turns a site back into a
|
|
711
|
+
one-person cleanup that pays the first patch and never splits. It was
|
|
712
|
+
lost here, exactly as `campaign` and `followUp` were before it. */
|
|
713
|
+
...(doc.site === true ? { site: true } : {}),
|
|
714
|
+
...(disposalOf(doc.disposal) ?? {}),
|
|
715
|
+
criteria: doc.criteria.slice(0, CRITERIA_MAX).map(readCriterion),
|
|
716
|
+
judge,
|
|
717
|
+
/* Named here or dropped here. The one literal: anything else is nobody's mark. */
|
|
718
|
+
...(doc.via === "mcp" ? { via: "mcp" } : {})
|
|
719
|
+
};
|
|
720
|
+
}
|
|
721
|
+
const PHOTO_WORDS = /\b(photo|photograph|picture|snap|selfie|image of|screenshot|screen shot)\b/i;
|
|
722
|
+
const FILE_WORDS = /\b(video|film|footage|recording|scan|pdf|document|file|upload)\b/i;
|
|
723
|
+
/**
|
|
724
|
+
* What an ask is asking for, read off its own sentence. The deliverable is
|
|
725
|
+
* what decides which box a worker is shown — and on a phone, `photo` is the
|
|
726
|
+
* difference between a file picker and the camera opening.
|
|
727
|
+
*/
|
|
728
|
+
function inferDeliverable(title) {
|
|
729
|
+
const match = matchSkill(title);
|
|
730
|
+
if (PHOTO_WORDS.test(title))
|
|
731
|
+
return { type: "photo", prompt: title };
|
|
732
|
+
if (FILE_WORDS.test(title))
|
|
733
|
+
return { type: "file", prompt: title };
|
|
734
|
+
if (match?.skill === "url-check")
|
|
735
|
+
return { type: "url", prompt: title };
|
|
736
|
+
if (match?.skill === "write" || match?.skill === "read")
|
|
737
|
+
return { type: "text", prompt: title };
|
|
738
|
+
if (match?.skill === "answer" || title.trim().endsWith("?"))
|
|
739
|
+
return { type: "answer", prompt: title };
|
|
740
|
+
return { type: "text", prompt: title };
|
|
741
|
+
}
|
|
742
|
+
/** The gates a deliverable implies on its own — a file's shape, not its content. */
|
|
743
|
+
function deliverableGates(deliverable) {
|
|
744
|
+
if (deliverable.type === "photo")
|
|
745
|
+
return [{ id: "file-type", accept: "image/*" }, { id: "max-bytes", bytes: 10_485_760 }];
|
|
746
|
+
if (deliverable.type === "file")
|
|
747
|
+
return [{ id: "max-bytes", bytes: 26_214_400 }];
|
|
748
|
+
return [];
|
|
749
|
+
}
|
|
750
|
+
/**
|
|
751
|
+
* The floor, in v2 clothing — what an ask means when nothing else is said.
|
|
752
|
+
*
|
|
753
|
+
* Note what this deliberately does NOT do: it never invents a `judge`
|
|
754
|
+
* criterion. Everything derived here is machine-checkable, because a criterion
|
|
755
|
+
* the poster did not write is a criterion nobody agreed to. Judged criteria
|
|
756
|
+
* come from a person or from A1's draft-and-edit, never from a regex.
|
|
757
|
+
*/
|
|
758
|
+
function deriveTerms(title, judge = { kind: "poster" }) {
|
|
759
|
+
const deliverable = inferDeliverable(title);
|
|
760
|
+
const v1 = deriveRubric(title);
|
|
761
|
+
const inherited = v1 ? normalizeTerms(v1).criteria : [{ id: "c1", kind: "measure", gate: { id: "non-empty" } }];
|
|
762
|
+
const extra = deliverableGates(deliverable);
|
|
763
|
+
const criteria = [
|
|
764
|
+
...inherited,
|
|
765
|
+
...extra.map((gate, index) => ({ id: nextId(inherited.length + index), kind: "measure", gate }))
|
|
766
|
+
];
|
|
767
|
+
return { v: 2, task: title, deliverable, criteria, judge };
|
|
768
|
+
}
|
|
769
|
+
/** Append a criterion, keeping ids unique and stable for everything already there. */
|
|
770
|
+
function addCriterion(terms, criterion) {
|
|
771
|
+
const used = new Set(terms.criteria.map((existing) => existing.id));
|
|
772
|
+
let index = terms.criteria.length;
|
|
773
|
+
while (used.has(nextId(index)))
|
|
774
|
+
index += 1;
|
|
775
|
+
return { ...terms, criteria: [...terms.criteria, { ...criterion, id: nextId(index) }] };
|
|
776
|
+
}
|
|
777
|
+
//# sourceMappingURL=terms.js.map
|