@ixo/openhands-sdk 0.4.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/cjs/campaign/cleanup.js +1 -1
- package/dist/cjs/campaign/cleanup.js.map +1 -1
- package/dist/cjs/campaign/spot.d.ts.map +1 -1
- package/dist/cjs/campaign/spot.js +2 -1
- package/dist/cjs/campaign/spot.js.map +1 -1
- package/dist/cjs/chain/ask.d.ts +17 -0
- package/dist/cjs/chain/ask.d.ts.map +1 -1
- package/dist/cjs/chain/ask.js +26 -9
- package/dist/cjs/chain/ask.js.map +1 -1
- package/dist/cjs/chain/broadcast.d.ts.map +1 -1
- package/dist/cjs/chain/broadcast.js +6 -4
- package/dist/cjs/chain/broadcast.js.map +1 -1
- package/dist/cjs/chain/claimVerdict.d.ts +26 -0
- package/dist/cjs/chain/claimVerdict.d.ts.map +1 -0
- package/dist/cjs/chain/claimVerdict.js +33 -0
- package/dist/cjs/chain/claimVerdict.js.map +1 -0
- package/dist/cjs/chain/delegate.d.ts +46 -3
- package/dist/cjs/chain/delegate.d.ts.map +1 -1
- package/dist/cjs/chain/delegate.js +68 -6
- package/dist/cjs/chain/delegate.js.map +1 -1
- package/dist/cjs/chain/entityShape.d.ts +2 -0
- package/dist/cjs/chain/entityShape.d.ts.map +1 -1
- package/dist/cjs/chain/entityShape.js +8 -1
- package/dist/cjs/chain/entityShape.js.map +1 -1
- package/dist/cjs/chain/env.d.ts +1 -0
- package/dist/cjs/chain/env.d.ts.map +1 -1
- package/dist/cjs/chain/env.js +9 -1
- package/dist/cjs/chain/env.js.map +1 -1
- package/dist/cjs/chain/inviteMessages.d.ts +183 -0
- package/dist/cjs/chain/inviteMessages.d.ts.map +1 -0
- package/dist/cjs/chain/inviteMessages.js +289 -0
- package/dist/cjs/chain/inviteMessages.js.map +1 -0
- package/dist/cjs/chain/inviteProof.d.ts +121 -0
- package/dist/cjs/chain/inviteProof.d.ts.map +1 -0
- package/dist/cjs/chain/inviteProof.js +297 -0
- package/dist/cjs/chain/inviteProof.js.map +1 -0
- package/dist/cjs/chain/lane.d.ts +148 -0
- package/dist/cjs/chain/lane.d.ts.map +1 -0
- package/dist/cjs/chain/lane.js +220 -0
- package/dist/cjs/chain/lane.js.map +1 -0
- package/dist/cjs/chain/money.d.ts +6 -4
- package/dist/cjs/chain/money.d.ts.map +1 -1
- package/dist/cjs/chain/money.js +10 -7
- package/dist/cjs/chain/money.js.map +1 -1
- package/dist/cjs/chain/oracle.d.ts +2 -0
- package/dist/cjs/chain/oracle.d.ts.map +1 -1
- package/dist/cjs/chain/oracle.js +1 -1
- package/dist/cjs/chain/oracle.js.map +1 -1
- package/dist/cjs/chain/orgReviewBilling.js +1 -1
- package/dist/cjs/chain/orgReviewBilling.js.map +1 -1
- package/dist/cjs/chain/payoutTerms.d.ts.map +1 -1
- package/dist/cjs/chain/payoutTerms.js +1 -1
- package/dist/cjs/chain/payoutTerms.js.map +1 -1
- package/dist/cjs/chain/personReview.d.ts +218 -0
- package/dist/cjs/chain/personReview.d.ts.map +1 -0
- package/dist/cjs/chain/personReview.js +379 -0
- package/dist/cjs/chain/personReview.js.map +1 -0
- package/dist/cjs/chain/postFee.d.ts +11 -0
- package/dist/cjs/chain/postFee.d.ts.map +1 -0
- package/dist/cjs/chain/postFee.js +14 -0
- package/dist/cjs/chain/postFee.js.map +1 -0
- package/dist/cjs/chain/query.d.ts +55 -2
- package/dist/cjs/chain/query.d.ts.map +1 -1
- package/dist/cjs/chain/query.js +144 -8
- package/dist/cjs/chain/query.js.map +1 -1
- package/dist/cjs/chain/reviewBilling.d.ts +3 -27
- package/dist/cjs/chain/reviewBilling.d.ts.map +1 -1
- package/dist/cjs/chain/reviewBilling.js +5 -112
- package/dist/cjs/chain/reviewBilling.js.map +1 -1
- package/dist/cjs/chain.d.ts +1 -1
- package/dist/cjs/chain.d.ts.map +1 -1
- package/dist/cjs/chain.js +5 -2
- package/dist/cjs/chain.js.map +1 -1
- package/dist/cjs/config.d.ts +11 -2
- package/dist/cjs/config.d.ts.map +1 -1
- package/dist/cjs/config.js +5 -1
- package/dist/cjs/config.js.map +1 -1
- package/dist/cjs/data/agent.d.ts +2 -0
- package/dist/cjs/data/agent.d.ts.map +1 -1
- package/dist/cjs/data/agent.js +1 -0
- package/dist/cjs/data/agent.js.map +1 -1
- package/dist/cjs/data/board/assemble.d.ts +7 -2
- package/dist/cjs/data/board/assemble.d.ts.map +1 -1
- package/dist/cjs/data/board/assemble.js +76 -10
- package/dist/cjs/data/board/assemble.js.map +1 -1
- package/dist/cjs/data/board/facts.d.ts +2 -0
- package/dist/cjs/data/board/facts.d.ts.map +1 -1
- package/dist/cjs/data/board/facts.js +2 -1
- package/dist/cjs/data/board/facts.js.map +1 -1
- package/dist/cjs/data/board/read.d.ts +27 -3
- package/dist/cjs/data/board/read.d.ts.map +1 -1
- package/dist/cjs/data/board/read.js +122 -8
- package/dist/cjs/data/board/read.js.map +1 -1
- package/dist/cjs/data/board/types.d.ts +77 -5
- package/dist/cjs/data/board/types.d.ts.map +1 -1
- package/dist/cjs/data/board/types.js +5 -3
- package/dist/cjs/data/board/types.js.map +1 -1
- package/dist/cjs/data/checkers.d.ts +169 -0
- package/dist/cjs/data/checkers.d.ts.map +1 -0
- package/dist/cjs/data/checkers.js +354 -0
- package/dist/cjs/data/checkers.js.map +1 -0
- package/dist/cjs/data/checkersRead.d.ts +58 -0
- package/dist/cjs/data/checkersRead.d.ts.map +1 -0
- package/dist/cjs/data/checkersRead.js +263 -0
- package/dist/cjs/data/checkersRead.js.map +1 -0
- package/dist/cjs/data/denoms.d.ts.map +1 -1
- package/dist/cjs/data/denoms.js +1 -0
- package/dist/cjs/data/denoms.js.map +1 -1
- package/dist/cjs/data/docUrls.d.ts +2 -0
- package/dist/cjs/data/docUrls.d.ts.map +1 -1
- package/dist/cjs/data/docUrls.js +4 -1
- package/dist/cjs/data/docUrls.js.map +1 -1
- package/dist/cjs/data/docs.d.ts +3 -1
- package/dist/cjs/data/docs.d.ts.map +1 -1
- package/dist/cjs/data/docs.js +15 -2
- package/dist/cjs/data/docs.js.map +1 -1
- package/dist/cjs/data/engine.d.ts.map +1 -1
- package/dist/cjs/data/engine.js +12 -5
- package/dist/cjs/data/engine.js.map +1 -1
- package/dist/cjs/data/engineUrl.js +1 -1
- package/dist/cjs/data/engineUrl.js.map +1 -1
- package/dist/cjs/data/envelope.d.ts +18 -0
- package/dist/cjs/data/envelope.d.ts.map +1 -1
- package/dist/cjs/data/envelope.js +16 -1
- package/dist/cjs/data/envelope.js.map +1 -1
- package/dist/cjs/data/format.d.ts +18 -0
- package/dist/cjs/data/format.d.ts.map +1 -1
- package/dist/cjs/data/format.js +32 -2
- package/dist/cjs/data/format.js.map +1 -1
- package/dist/cjs/data/index.d.ts +2 -2
- package/dist/cjs/data/index.d.ts.map +1 -1
- package/dist/cjs/data/index.js +2 -1
- package/dist/cjs/data/index.js.map +1 -1
- package/dist/cjs/data/install.d.ts +44 -47
- package/dist/cjs/data/install.d.ts.map +1 -1
- package/dist/cjs/data/install.js +60 -59
- package/dist/cjs/data/install.js.map +1 -1
- package/dist/cjs/data/openness.d.ts +14 -1
- package/dist/cjs/data/openness.d.ts.map +1 -1
- package/dist/cjs/data/openness.js +14 -26
- package/dist/cjs/data/openness.js.map +1 -1
- package/dist/cjs/data/queue.d.ts +26 -0
- package/dist/cjs/data/queue.d.ts.map +1 -1
- package/dist/cjs/data/queue.js +57 -12
- package/dist/cjs/data/queue.js.map +1 -1
- package/dist/cjs/data/receipt.d.ts +19 -0
- package/dist/cjs/data/receipt.d.ts.map +1 -1
- package/dist/cjs/data/receipt.js +22 -5
- package/dist/cjs/data/receipt.js.map +1 -1
- package/dist/cjs/data/threads.d.ts +2 -0
- package/dist/cjs/data/threads.d.ts.map +1 -1
- package/dist/cjs/data/threads.js +3 -1
- package/dist/cjs/data/threads.js.map +1 -1
- package/dist/cjs/data/traceWords.js +1 -1
- package/dist/cjs/data/traceWords.js.map +1 -1
- package/dist/cjs/data/types.d.ts +6 -1
- package/dist/cjs/data/types.d.ts.map +1 -1
- package/dist/cjs/data/types.js.map +1 -1
- package/dist/cjs/data/whyReceipt.d.ts.map +1 -1
- package/dist/cjs/data/whyReceipt.js +10 -1
- package/dist/cjs/data/whyReceipt.js.map +1 -1
- package/dist/cjs/data/work.d.ts +5 -0
- package/dist/cjs/data/work.d.ts.map +1 -1
- package/dist/cjs/data/work.js +11 -5
- package/dist/cjs/data/work.js.map +1 -1
- package/dist/cjs/discovery.d.ts +64 -0
- package/dist/cjs/discovery.d.ts.map +1 -0
- package/dist/cjs/discovery.js +85 -0
- package/dist/cjs/discovery.js.map +1 -0
- package/dist/cjs/envRead.d.ts +1 -1
- package/dist/cjs/envRead.d.ts.map +1 -1
- package/dist/cjs/envRead.js +2 -1
- package/dist/cjs/envRead.js.map +1 -1
- package/dist/cjs/given.d.ts +14 -0
- package/dist/cjs/given.d.ts.map +1 -1
- package/dist/cjs/given.js +14 -2
- package/dist/cjs/given.js.map +1 -1
- package/dist/cjs/network.d.ts +3 -1
- package/dist/cjs/network.d.ts.map +1 -1
- package/dist/cjs/network.js +11 -3
- package/dist/cjs/network.js.map +1 -1
- package/dist/cjs/rubric/bridge.d.ts +8 -0
- package/dist/cjs/rubric/bridge.d.ts.map +1 -1
- package/dist/cjs/rubric/bridge.js +107 -8
- package/dist/cjs/rubric/bridge.js.map +1 -1
- package/dist/cjs/rubric/call.d.ts +35 -8
- package/dist/cjs/rubric/call.d.ts.map +1 -1
- package/dist/cjs/rubric/call.js +62 -20
- package/dist/cjs/rubric/call.js.map +1 -1
- package/dist/cjs/rubric/callTag.d.ts +5 -0
- package/dist/cjs/rubric/callTag.d.ts.map +1 -0
- package/dist/cjs/rubric/callTag.js +17 -0
- package/dist/cjs/rubric/callTag.js.map +1 -0
- package/dist/cjs/rubric/compose.d.ts.map +1 -1
- package/dist/cjs/rubric/compose.js +5 -3
- package/dist/cjs/rubric/compose.js.map +1 -1
- package/dist/cjs/rubric/draft.d.ts +9 -1
- package/dist/cjs/rubric/draft.d.ts.map +1 -1
- package/dist/cjs/rubric/draft.js +24 -2
- package/dist/cjs/rubric/draft.js.map +1 -1
- package/dist/cjs/rubric/gateMet.d.ts +17 -0
- package/dist/cjs/rubric/gateMet.d.ts.map +1 -1
- package/dist/cjs/rubric/gateMet.js +36 -3
- package/dist/cjs/rubric/gateMet.js.map +1 -1
- package/dist/cjs/rubric/leg.js +3 -3
- package/dist/cjs/rubric/leg.js.map +1 -1
- package/dist/cjs/rubric/marketPlan.d.ts +2 -0
- package/dist/cjs/rubric/marketPlan.d.ts.map +1 -1
- package/dist/cjs/rubric/marketPlan.js.map +1 -1
- package/dist/cjs/rubric/planAsk.d.ts +23 -0
- package/dist/cjs/rubric/planAsk.d.ts.map +1 -0
- package/dist/cjs/rubric/planAsk.js +24 -0
- package/dist/cjs/rubric/planAsk.js.map +1 -0
- package/dist/cjs/rubric/report.d.ts +208 -0
- package/dist/cjs/rubric/report.d.ts.map +1 -0
- package/dist/cjs/rubric/report.js +384 -0
- package/dist/cjs/rubric/report.js.map +1 -0
- package/dist/cjs/rubric/reportLine.d.ts +31 -0
- package/dist/cjs/rubric/reportLine.d.ts.map +1 -0
- package/dist/cjs/rubric/reportLine.js +45 -0
- package/dist/cjs/rubric/reportLine.js.map +1 -0
- package/dist/cjs/rubric/reportTemplate.d.ts +30 -0
- package/dist/cjs/rubric/reportTemplate.d.ts.map +1 -0
- package/dist/cjs/rubric/reportTemplate.js +78 -0
- package/dist/cjs/rubric/reportTemplate.js.map +1 -0
- package/dist/cjs/rubric/share.d.ts +46 -0
- package/dist/cjs/rubric/share.d.ts.map +1 -0
- package/dist/cjs/rubric/share.js +65 -0
- package/dist/cjs/rubric/share.js.map +1 -0
- package/dist/cjs/rubric/terms.d.ts +76 -2
- package/dist/cjs/rubric/terms.d.ts.map +1 -1
- package/dist/cjs/rubric/terms.js +84 -4
- package/dist/cjs/rubric/terms.js.map +1 -1
- package/dist/cjs/verification/profile.d.ts +28 -0
- package/dist/cjs/verification/profile.d.ts.map +1 -0
- package/dist/cjs/verification/profile.js +126 -0
- package/dist/cjs/verification/profile.js.map +1 -0
- package/dist/cjs/verification/schema.d.ts +54 -0
- package/dist/cjs/verification/schema.d.ts.map +1 -0
- package/dist/cjs/verification/schema.js +49 -0
- package/dist/cjs/verification/schema.js.map +1 -0
- package/dist/esm/campaign/cleanup.js +1 -1
- package/dist/esm/campaign/cleanup.js.map +1 -1
- package/dist/esm/campaign/spot.d.ts.map +1 -1
- package/dist/esm/campaign/spot.js +2 -1
- package/dist/esm/campaign/spot.js.map +1 -1
- package/dist/esm/chain/ask.d.ts +17 -0
- package/dist/esm/chain/ask.d.ts.map +1 -1
- package/dist/esm/chain/ask.js +28 -11
- package/dist/esm/chain/ask.js.map +1 -1
- package/dist/esm/chain/broadcast.d.ts.map +1 -1
- package/dist/esm/chain/broadcast.js +7 -5
- package/dist/esm/chain/broadcast.js.map +1 -1
- package/dist/esm/chain/claimVerdict.d.ts +26 -0
- package/dist/esm/chain/claimVerdict.d.ts.map +1 -0
- package/dist/esm/chain/claimVerdict.js +30 -0
- package/dist/esm/chain/claimVerdict.js.map +1 -0
- package/dist/esm/chain/delegate.d.ts +46 -3
- package/dist/esm/chain/delegate.d.ts.map +1 -1
- package/dist/esm/chain/delegate.js +60 -5
- package/dist/esm/chain/delegate.js.map +1 -1
- package/dist/esm/chain/entityShape.d.ts +2 -0
- package/dist/esm/chain/entityShape.d.ts.map +1 -1
- package/dist/esm/chain/entityShape.js +6 -0
- package/dist/esm/chain/entityShape.js.map +1 -1
- package/dist/esm/chain/env.d.ts +1 -0
- package/dist/esm/chain/env.d.ts.map +1 -1
- package/dist/esm/chain/env.js +7 -0
- package/dist/esm/chain/env.js.map +1 -1
- package/dist/esm/chain/inviteMessages.d.ts +183 -0
- package/dist/esm/chain/inviteMessages.d.ts.map +1 -0
- package/dist/esm/chain/inviteMessages.js +246 -0
- package/dist/esm/chain/inviteMessages.js.map +1 -0
- package/dist/esm/chain/inviteProof.d.ts +121 -0
- package/dist/esm/chain/inviteProof.d.ts.map +1 -0
- package/dist/esm/chain/inviteProof.js +278 -0
- package/dist/esm/chain/inviteProof.js.map +1 -0
- package/dist/esm/chain/lane.d.ts +148 -0
- package/dist/esm/chain/lane.d.ts.map +1 -0
- package/dist/esm/chain/lane.js +170 -0
- package/dist/esm/chain/lane.js.map +1 -0
- package/dist/esm/chain/money.d.ts +6 -4
- package/dist/esm/chain/money.d.ts.map +1 -1
- package/dist/esm/chain/money.js +10 -7
- package/dist/esm/chain/money.js.map +1 -1
- package/dist/esm/chain/oracle.d.ts +2 -0
- package/dist/esm/chain/oracle.d.ts.map +1 -1
- package/dist/esm/chain/oracle.js +1 -1
- package/dist/esm/chain/oracle.js.map +1 -1
- package/dist/esm/chain/orgReviewBilling.js +1 -1
- package/dist/esm/chain/orgReviewBilling.js.map +1 -1
- package/dist/esm/chain/payoutTerms.d.ts.map +1 -1
- package/dist/esm/chain/payoutTerms.js +1 -1
- package/dist/esm/chain/payoutTerms.js.map +1 -1
- package/dist/esm/chain/personReview.d.ts +218 -0
- package/dist/esm/chain/personReview.d.ts.map +1 -0
- package/dist/esm/chain/personReview.js +322 -0
- package/dist/esm/chain/personReview.js.map +1 -0
- package/dist/esm/chain/postFee.d.ts +11 -0
- package/dist/esm/chain/postFee.d.ts.map +1 -0
- package/dist/esm/chain/postFee.js +11 -0
- package/dist/esm/chain/postFee.js.map +1 -0
- package/dist/esm/chain/query.d.ts +55 -2
- package/dist/esm/chain/query.d.ts.map +1 -1
- package/dist/esm/chain/query.js +136 -8
- package/dist/esm/chain/query.js.map +1 -1
- package/dist/esm/chain/reviewBilling.d.ts +3 -27
- package/dist/esm/chain/reviewBilling.d.ts.map +1 -1
- package/dist/esm/chain/reviewBilling.js +5 -108
- package/dist/esm/chain/reviewBilling.js.map +1 -1
- package/dist/esm/chain.d.ts +1 -1
- package/dist/esm/chain.d.ts.map +1 -1
- package/dist/esm/chain.js +1 -1
- package/dist/esm/chain.js.map +1 -1
- package/dist/esm/config.d.ts +11 -2
- package/dist/esm/config.d.ts.map +1 -1
- package/dist/esm/config.js +6 -2
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/data/agent.d.ts +2 -0
- package/dist/esm/data/agent.d.ts.map +1 -1
- package/dist/esm/data/agent.js +1 -0
- package/dist/esm/data/agent.js.map +1 -1
- package/dist/esm/data/board/assemble.d.ts +7 -2
- package/dist/esm/data/board/assemble.d.ts.map +1 -1
- package/dist/esm/data/board/assemble.js +73 -9
- package/dist/esm/data/board/assemble.js.map +1 -1
- package/dist/esm/data/board/facts.d.ts +2 -0
- package/dist/esm/data/board/facts.d.ts.map +1 -1
- package/dist/esm/data/board/facts.js +2 -1
- package/dist/esm/data/board/facts.js.map +1 -1
- package/dist/esm/data/board/read.d.ts +27 -3
- package/dist/esm/data/board/read.d.ts.map +1 -1
- package/dist/esm/data/board/read.js +123 -10
- package/dist/esm/data/board/read.js.map +1 -1
- package/dist/esm/data/board/types.d.ts +77 -5
- package/dist/esm/data/board/types.d.ts.map +1 -1
- package/dist/esm/data/board/types.js +5 -3
- package/dist/esm/data/board/types.js.map +1 -1
- package/dist/esm/data/checkers.d.ts +169 -0
- package/dist/esm/data/checkers.d.ts.map +1 -0
- package/dist/esm/data/checkers.js +304 -0
- package/dist/esm/data/checkers.js.map +1 -0
- package/dist/esm/data/checkersRead.d.ts +58 -0
- package/dist/esm/data/checkersRead.d.ts.map +1 -0
- package/dist/esm/data/checkersRead.js +252 -0
- package/dist/esm/data/checkersRead.js.map +1 -0
- package/dist/esm/data/denoms.d.ts.map +1 -1
- package/dist/esm/data/denoms.js +1 -0
- package/dist/esm/data/denoms.js.map +1 -1
- package/dist/esm/data/docUrls.d.ts +2 -0
- package/dist/esm/data/docUrls.d.ts.map +1 -1
- package/dist/esm/data/docUrls.js +2 -0
- package/dist/esm/data/docUrls.js.map +1 -1
- package/dist/esm/data/docs.d.ts +3 -1
- package/dist/esm/data/docs.d.ts.map +1 -1
- package/dist/esm/data/docs.js +15 -2
- package/dist/esm/data/docs.js.map +1 -1
- package/dist/esm/data/engine.d.ts.map +1 -1
- package/dist/esm/data/engine.js +12 -5
- package/dist/esm/data/engine.js.map +1 -1
- package/dist/esm/data/engineUrl.js +2 -2
- package/dist/esm/data/engineUrl.js.map +1 -1
- package/dist/esm/data/envelope.d.ts +18 -0
- package/dist/esm/data/envelope.d.ts.map +1 -1
- package/dist/esm/data/envelope.js +14 -0
- package/dist/esm/data/envelope.js.map +1 -1
- package/dist/esm/data/format.d.ts +18 -0
- package/dist/esm/data/format.d.ts.map +1 -1
- package/dist/esm/data/format.js +28 -1
- package/dist/esm/data/format.js.map +1 -1
- package/dist/esm/data/index.d.ts +2 -2
- package/dist/esm/data/index.d.ts.map +1 -1
- package/dist/esm/data/index.js +1 -1
- package/dist/esm/data/index.js.map +1 -1
- package/dist/esm/data/install.d.ts +44 -47
- package/dist/esm/data/install.d.ts.map +1 -1
- package/dist/esm/data/install.js +56 -58
- package/dist/esm/data/install.js.map +1 -1
- package/dist/esm/data/openness.d.ts +14 -1
- package/dist/esm/data/openness.d.ts.map +1 -1
- package/dist/esm/data/openness.js +14 -26
- package/dist/esm/data/openness.js.map +1 -1
- package/dist/esm/data/queue.d.ts +26 -0
- package/dist/esm/data/queue.d.ts.map +1 -1
- package/dist/esm/data/queue.js +50 -9
- package/dist/esm/data/queue.js.map +1 -1
- package/dist/esm/data/receipt.d.ts +19 -0
- package/dist/esm/data/receipt.d.ts.map +1 -1
- package/dist/esm/data/receipt.js +20 -4
- package/dist/esm/data/receipt.js.map +1 -1
- package/dist/esm/data/threads.d.ts +2 -0
- package/dist/esm/data/threads.d.ts.map +1 -1
- package/dist/esm/data/threads.js +3 -1
- package/dist/esm/data/threads.js.map +1 -1
- package/dist/esm/data/traceWords.js +1 -1
- package/dist/esm/data/traceWords.js.map +1 -1
- package/dist/esm/data/types.d.ts +6 -1
- package/dist/esm/data/types.d.ts.map +1 -1
- package/dist/esm/data/types.js.map +1 -1
- package/dist/esm/data/whyReceipt.d.ts.map +1 -1
- package/dist/esm/data/whyReceipt.js +10 -1
- package/dist/esm/data/whyReceipt.js.map +1 -1
- package/dist/esm/data/work.d.ts +5 -0
- package/dist/esm/data/work.d.ts.map +1 -1
- package/dist/esm/data/work.js +11 -5
- package/dist/esm/data/work.js.map +1 -1
- package/dist/esm/discovery.d.ts +64 -0
- package/dist/esm/discovery.d.ts.map +1 -0
- package/dist/esm/discovery.js +74 -0
- package/dist/esm/discovery.js.map +1 -0
- package/dist/esm/envRead.d.ts +1 -1
- package/dist/esm/envRead.d.ts.map +1 -1
- package/dist/esm/envRead.js +1 -1
- package/dist/esm/envRead.js.map +1 -1
- package/dist/esm/given.d.ts +14 -0
- package/dist/esm/given.d.ts.map +1 -1
- package/dist/esm/given.js +11 -1
- package/dist/esm/given.js.map +1 -1
- package/dist/esm/network.d.ts +3 -1
- package/dist/esm/network.d.ts.map +1 -1
- package/dist/esm/network.js +10 -3
- package/dist/esm/network.js.map +1 -1
- package/dist/esm/rubric/bridge.d.ts +8 -0
- package/dist/esm/rubric/bridge.d.ts.map +1 -1
- package/dist/esm/rubric/bridge.js +105 -7
- package/dist/esm/rubric/bridge.js.map +1 -1
- package/dist/esm/rubric/call.d.ts +35 -8
- package/dist/esm/rubric/call.d.ts.map +1 -1
- package/dist/esm/rubric/call.js +57 -16
- package/dist/esm/rubric/call.js.map +1 -1
- package/dist/esm/rubric/callTag.d.ts +5 -0
- package/dist/esm/rubric/callTag.d.ts.map +1 -0
- package/dist/esm/rubric/callTag.js +12 -0
- package/dist/esm/rubric/callTag.js.map +1 -0
- package/dist/esm/rubric/compose.d.ts.map +1 -1
- package/dist/esm/rubric/compose.js +5 -3
- package/dist/esm/rubric/compose.js.map +1 -1
- package/dist/esm/rubric/draft.d.ts +9 -1
- package/dist/esm/rubric/draft.d.ts.map +1 -1
- package/dist/esm/rubric/draft.js +23 -2
- package/dist/esm/rubric/draft.js.map +1 -1
- package/dist/esm/rubric/gateMet.d.ts +17 -0
- package/dist/esm/rubric/gateMet.d.ts.map +1 -1
- package/dist/esm/rubric/gateMet.js +34 -2
- package/dist/esm/rubric/gateMet.js.map +1 -1
- package/dist/esm/rubric/leg.js +4 -4
- package/dist/esm/rubric/leg.js.map +1 -1
- package/dist/esm/rubric/marketPlan.d.ts +2 -0
- package/dist/esm/rubric/marketPlan.d.ts.map +1 -1
- package/dist/esm/rubric/marketPlan.js.map +1 -1
- package/dist/esm/rubric/planAsk.d.ts +23 -0
- package/dist/esm/rubric/planAsk.d.ts.map +1 -0
- package/dist/esm/rubric/planAsk.js +20 -0
- package/dist/esm/rubric/planAsk.js.map +1 -0
- package/dist/esm/rubric/report.d.ts +208 -0
- package/dist/esm/rubric/report.d.ts.map +1 -0
- package/dist/esm/rubric/report.js +371 -0
- package/dist/esm/rubric/report.js.map +1 -0
- package/dist/esm/rubric/reportLine.d.ts +31 -0
- package/dist/esm/rubric/reportLine.d.ts.map +1 -0
- package/dist/esm/rubric/reportLine.js +40 -0
- package/dist/esm/rubric/reportLine.js.map +1 -0
- package/dist/esm/rubric/reportTemplate.d.ts +30 -0
- package/dist/esm/rubric/reportTemplate.d.ts.map +1 -0
- package/dist/esm/rubric/reportTemplate.js +74 -0
- package/dist/esm/rubric/reportTemplate.js.map +1 -0
- package/dist/esm/rubric/share.d.ts +46 -0
- package/dist/esm/rubric/share.d.ts.map +1 -0
- package/dist/esm/rubric/share.js +58 -0
- package/dist/esm/rubric/share.js.map +1 -0
- package/dist/esm/rubric/terms.d.ts +76 -2
- package/dist/esm/rubric/terms.d.ts.map +1 -1
- package/dist/esm/rubric/terms.js +78 -3
- package/dist/esm/rubric/terms.js.map +1 -1
- package/dist/esm/verification/profile.d.ts +28 -0
- package/dist/esm/verification/profile.d.ts.map +1 -0
- package/dist/esm/verification/profile.js +122 -0
- package/dist/esm/verification/profile.js.map +1 -0
- package/dist/esm/verification/schema.d.ts +54 -0
- package/dist/esm/verification/schema.d.ts.map +1 -0
- package/dist/esm/verification/schema.js +46 -0
- package/dist/esm/verification/schema.js.map +1 -0
- package/package.json +22 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AskTerms, type CallLeg, type CallTerms, type JudgeSpec } from "./terms.ts";
|
|
1
|
+
import { type AskAccess, type AskTerms, type CallLeg, type CallMode, type CallTerms, type JudgeSpec } from "./terms.ts";
|
|
2
2
|
/**
|
|
3
3
|
* An open call's legs, as terms (docs/verified-work-open-call-demo-build.md).
|
|
4
4
|
*
|
|
@@ -20,12 +20,22 @@ import { type AskTerms, type CallLeg, type CallTerms, type JudgeSpec } from "./t
|
|
|
20
20
|
* saying what fails it — the oracle reads a line that never names its own
|
|
21
21
|
* failure as "prove it".
|
|
22
22
|
*/
|
|
23
|
-
|
|
24
|
-
export declare const callTag: (slug: string) => string;
|
|
25
|
-
/** The slug back out of a tag, or null when the tag is not a call's. */
|
|
26
|
-
export declare const slugOfTag: (tag: string | null | undefined) => string | null;
|
|
23
|
+
export { callTag, slugOfTag } from "./callTag.ts";
|
|
27
24
|
/** What an entry must be at least, in characters: a page, not a line. */
|
|
28
25
|
export declare const ENTRY_MIN_CHARS = 200;
|
|
26
|
+
/**
|
|
27
|
+
* The five lines a review call is judged on when the poster writes none (docs/verified-work-expert-reviews-plan.md,
|
|
28
|
+
* E2; plain since 2026-10-26, the Asky Checker round). Each is about the report's shape against the ask, never about
|
|
29
|
+
* whether the specialist was kind: a report that finds everything wrong passes all five, and one that finds nothing
|
|
30
|
+
* wrong has no problem to reproduce or rate. Each fails only on what is plainly missing; anything the check is unsure
|
|
31
|
+
* of goes to the person who gives the final OK (the bridge holds every AI line for them).
|
|
32
|
+
*
|
|
33
|
+
* The review's other checks are by machine or by the report line (bridge.ts, `reviewRules`): a report of this ask
|
|
34
|
+
* at all, some evidence at all, and its limitations stated.
|
|
35
|
+
*/
|
|
36
|
+
export declare const REVIEW_LINES: readonly JudgeLine[];
|
|
37
|
+
/** What a review's entry is: the report, not a page of prose. */
|
|
38
|
+
export declare const REVIEW_DELIVERABLE_PROMPT = "A review report: what you tested, your steps per scenario, each finding with its evidence, how to reproduce it and its severity, what to change, and the limitations";
|
|
29
39
|
/** A judged line as the poster wrote it: the must, and what fails it. */
|
|
30
40
|
export interface JudgeLine {
|
|
31
41
|
text: string;
|
|
@@ -40,12 +50,22 @@ export interface JudgeLine {
|
|
|
40
50
|
*/
|
|
41
51
|
export declare function lineSentence(line: JudgeLine): string;
|
|
42
52
|
/** What the leg's own sentence says, on the board and on chain. */
|
|
43
|
-
export declare function taskFor(title: string, leg: CallLeg): string;
|
|
53
|
+
export declare function taskFor(title: string, leg: CallLeg, kind?: "review"): string;
|
|
44
54
|
export interface EntriesInput {
|
|
45
55
|
call: Omit<CallTerms, "leg">;
|
|
46
56
|
lines: JudgeLine[];
|
|
47
57
|
/** The oracle that judges the entries, and its leg. */
|
|
48
58
|
judge: JudgeSpec;
|
|
59
|
+
/** Who may enter, when not everyone (terms.ts `AskAccess`). Frozen into the leg like the tag. */
|
|
60
|
+
access?: AskAccess;
|
|
61
|
+
/**
|
|
62
|
+
* A review call: the entries are handed in as review reports (`withReport`),
|
|
63
|
+
* with these extra section headings required (none is fine). Required when
|
|
64
|
+
* the call's kind is review; refused on any other call.
|
|
65
|
+
*/
|
|
66
|
+
report?: readonly string[];
|
|
67
|
+
/** The person who gives the final OK on each report after the AI's check (terms.ts `approver`): an ixo1 address. */
|
|
68
|
+
approver?: string;
|
|
49
69
|
}
|
|
50
70
|
/** The entries leg: one page of text, two machine floors, five judged lines. */
|
|
51
71
|
export declare function callEntriesTerms(input: EntriesInput): AskTerms;
|
|
@@ -59,13 +79,20 @@ export declare function callEntriesTerms(input: EntriesInput): AskTerms;
|
|
|
59
79
|
export declare function callPickTerms(input: {
|
|
60
80
|
call: Omit<CallTerms, "leg">;
|
|
61
81
|
leg: "prize" | "runnersUp";
|
|
82
|
+
access?: AskAccess;
|
|
62
83
|
}): AskTerms;
|
|
63
|
-
/**
|
|
64
|
-
|
|
84
|
+
/**
|
|
85
|
+
* The clock: entries close after `openDays`, the shortlist shows the day after,
|
|
86
|
+
* the pick three days later. A hire has nothing after the close — no shortlist,
|
|
87
|
+
* no pick — so its three dates are one: the day it stops taking entries.
|
|
88
|
+
*/
|
|
89
|
+
export declare function callDates(openDays: number, now?: number, mode?: CallMode): {
|
|
65
90
|
closes: string;
|
|
66
91
|
drop: string;
|
|
67
92
|
pick: string;
|
|
68
93
|
};
|
|
94
|
+
/** The legs a call has: a hire is its entries; a competition adds the pick and, with runners-up, their leg. */
|
|
95
|
+
export declare const legsOf: (call: Pick<CallTerms, "mode" | "money">) => CallLeg[];
|
|
69
96
|
/** How long a leg stays open, in whole days from now: the entries to the close, the picks a week past the pick. */
|
|
70
97
|
export declare function legDays(call: Pick<CallTerms, "closes" | "pick">, leg: CallLeg, now?: number): number;
|
|
71
98
|
/** How many claims a pick leg takes: the winners, and two spare for strangers' claims the poster refuses. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../../src/rubric/call.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../../src/rubric/call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAkB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAGzK;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAElD,yEAAyE;AACzE,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,SAAS,EAM5C,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,yBAAyB,yKAAyK,CAAC;AAEhN,yEAAyE;AACzE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAOpD;AASD,mEAAmE;AACnE,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAI5E;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC7B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,uDAAuD;IACvD,KAAK,EAAE,SAAS,CAAC;IACjB,iGAAiG;IACjG,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,oHAAoH;IACpH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,QAAQ,CA+B9D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAAC,GAAG,EAAE,OAAO,GAAG,WAAW,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,QAAQ,CAc/H;AAID;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAa,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAO7H;AAED,+GAA+G;AAC/G,eAAO,MAAM,MAAM,GAAI,MAAM,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAG,OAAO,EACiD,CAAC;AAE1H,mHAAmH;AACnH,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,SAAa,GAAG,MAAM,CAGxG;AAED,6GAA6G;AAC7G,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,KAAG,MAAqB,CAAC"}
|
package/dist/esm/rubric/call.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { CALL_LIMITS, callOf } from "./terms.js";
|
|
1
|
+
import { CALL_LIMITS, callOf, withReport } from "./terms.js";
|
|
2
|
+
import { callTag } from "./callTag.js";
|
|
2
3
|
/**
|
|
3
4
|
* An open call's legs, as terms (docs/verified-work-open-call-demo-build.md).
|
|
4
5
|
*
|
|
@@ -20,15 +21,28 @@ import { CALL_LIMITS, callOf } from "./terms.js";
|
|
|
20
21
|
* saying what fails it — the oracle reads a line that never names its own
|
|
21
22
|
* failure as "prove it".
|
|
22
23
|
*/
|
|
23
|
-
|
|
24
|
-
export const callTag = (slug) => `call-${slug}`;
|
|
25
|
-
/** The slug back out of a tag, or null when the tag is not a call's. */
|
|
26
|
-
export const slugOfTag = (tag) => {
|
|
27
|
-
const match = /^call-([a-z][a-z0-9-]{2,39})$/.exec(tag ?? "");
|
|
28
|
-
return match ? match[1] : null;
|
|
29
|
-
};
|
|
24
|
+
export { callTag, slugOfTag } from "./callTag.js";
|
|
30
25
|
/** What an entry must be at least, in characters: a page, not a line. */
|
|
31
26
|
export const ENTRY_MIN_CHARS = 200;
|
|
27
|
+
/**
|
|
28
|
+
* The five lines a review call is judged on when the poster writes none (docs/verified-work-expert-reviews-plan.md,
|
|
29
|
+
* E2; plain since 2026-10-26, the Asky Checker round). Each is about the report's shape against the ask, never about
|
|
30
|
+
* whether the specialist was kind: a report that finds everything wrong passes all five, and one that finds nothing
|
|
31
|
+
* wrong has no problem to reproduce or rate. Each fails only on what is plainly missing; anything the check is unsure
|
|
32
|
+
* of goes to the person who gives the final OK (the bridge holds every AI line for them).
|
|
33
|
+
*
|
|
34
|
+
* The review's other checks are by machine or by the report line (bridge.ts, `reviewRules`): a report of this ask
|
|
35
|
+
* at all, some evidence at all, and its limitations stated.
|
|
36
|
+
*/
|
|
37
|
+
export const REVIEW_LINES = [
|
|
38
|
+
{ text: "The report covers the scenarios this ask lists, each with what was done and whether it passed, failed, was blocked or was not tested", fail: "a scenario the ask lists is missing from the report altogether" },
|
|
39
|
+
{ text: "Each finding points at its evidence: a screenshot, recording or trace", fail: "a finding has no evidence at all" },
|
|
40
|
+
{ text: "Each problem found says how to reproduce it, or for a blocker what is missing to reproduce it", fail: "a problem gives no way to reproduce it" },
|
|
41
|
+
{ text: "Each problem found has a severity: blocker, major or minor", fail: "a problem has no severity" },
|
|
42
|
+
{ text: "Each recommendation says what to change", fail: "a recommendation does not say what should change" }
|
|
43
|
+
];
|
|
44
|
+
/** What a review's entry is: the report, not a page of prose. */
|
|
45
|
+
export const REVIEW_DELIVERABLE_PROMPT = "A review report: what you tested, your steps per scenario, each finding with its evidence, how to reproduce it and its severity, what to change, and the limitations";
|
|
32
46
|
/**
|
|
33
47
|
* The sentence the oracle rules on: the must, then its own failure.
|
|
34
48
|
*
|
|
@@ -54,9 +68,9 @@ function legCall(call, leg) {
|
|
|
54
68
|
return read.call;
|
|
55
69
|
}
|
|
56
70
|
/** What the leg's own sentence says, on the board and on chain. */
|
|
57
|
-
export function taskFor(title, leg) {
|
|
71
|
+
export function taskFor(title, leg, kind) {
|
|
58
72
|
const named = title.replace(/\s+/g, " ").trim();
|
|
59
|
-
const said = leg === "entries" ?
|
|
73
|
+
const said = leg === "entries" ? `${kind === "review" ? "Expert review" : "Open call"}: ${named}` : leg === "prize" ? `The pick of the open call: ${named}` : `A runner-up of the open call: ${named}`;
|
|
60
74
|
return said.length <= 140 ? said : `${said.slice(0, 139)}…`;
|
|
61
75
|
}
|
|
62
76
|
/** The entries leg: one page of text, two machine floors, five judged lines. */
|
|
@@ -68,21 +82,35 @@ export function callEntriesTerms(input) {
|
|
|
68
82
|
const call = legCall(input.call, "entries");
|
|
69
83
|
if (call.points.length !== CALL_LIMITS.lines)
|
|
70
84
|
throw new Error("one score per judged line");
|
|
85
|
+
if (call.kind === "review" && !input.report)
|
|
86
|
+
throw new Error("a review call's entries are reports: say report (the extra sections, or none)");
|
|
87
|
+
if (call.kind !== "review" && input.report)
|
|
88
|
+
throw new Error("only a review call is answered as a report");
|
|
89
|
+
if (input.approver !== undefined && !/^ixo1[a-z0-9]{38,64}$/.test(input.approver))
|
|
90
|
+
throw new Error("approver is an ixo1 address");
|
|
71
91
|
const criteria = [
|
|
72
92
|
{ id: "present", kind: "measure", gate: { id: "non-empty" } },
|
|
73
93
|
{ id: "length", kind: "measure", gate: { id: "min-length", chars: ENTRY_MIN_CHARS } },
|
|
74
94
|
...input.lines.map((line, index) => ({ id: `l${index + 1}`, kind: "judge", text: lineSentence(line) }))
|
|
75
95
|
];
|
|
76
96
|
/* In the parser's own key order, so a publish → parse round trip is byte-identical. */
|
|
77
|
-
|
|
97
|
+
const terms = {
|
|
78
98
|
v: 2,
|
|
79
|
-
task: taskFor(call.title, "entries"),
|
|
80
|
-
deliverable: { type: "text", prompt: "One page, in your own words, covering
|
|
99
|
+
task: taskFor(call.title, "entries", call.kind),
|
|
100
|
+
deliverable: { type: "text", prompt: input.report ? REVIEW_DELIVERABLE_PROMPT : "One page, in your own words, covering all five requirements" },
|
|
81
101
|
campaign: callTag(call.slug),
|
|
102
|
+
...(input.access ? { access: input.access } : {}),
|
|
82
103
|
call,
|
|
83
104
|
criteria,
|
|
84
|
-
judge: input.judge
|
|
105
|
+
judge: input.judge,
|
|
106
|
+
...(input.approver ? { approver: input.approver } : {})
|
|
85
107
|
};
|
|
108
|
+
/*
|
|
109
|
+
* A review's report requirement and the AI's line on it. The review rules (reportLine.ts `v`) only where a person
|
|
110
|
+
* gives the final OK: they hold what is uncertain for that person, and with nobody to hold it for a held claim would
|
|
111
|
+
* never be decided. Without an approver the AI decides alone, on the rules every report ask had.
|
|
112
|
+
*/
|
|
113
|
+
return input.report ? withReport(terms, input.report, input.approver ? { v: 2 } : undefined) : terms;
|
|
86
114
|
}
|
|
87
115
|
/**
|
|
88
116
|
* The prize, or the runners-up: by invitation, decided by the poster.
|
|
@@ -93,23 +121,36 @@ export function callEntriesTerms(input) {
|
|
|
93
121
|
*/
|
|
94
122
|
export function callPickTerms(input) {
|
|
95
123
|
const call = legCall(input.call, input.leg);
|
|
124
|
+
if (call.mode === "hire")
|
|
125
|
+
throw new Error("a hiring call has no pick: the entries are the whole call");
|
|
96
126
|
const which = input.leg === "prize" ? "the pick" : "a runner-up";
|
|
97
127
|
return {
|
|
98
128
|
v: 2,
|
|
99
129
|
task: taskFor(call.title, input.leg),
|
|
100
130
|
deliverable: { type: "text", prompt: "Quote the number of your entry, nothing else" },
|
|
101
131
|
campaign: callTag(call.slug),
|
|
132
|
+
...(input.access ? { access: input.access } : {}),
|
|
102
133
|
call,
|
|
103
134
|
criteria: [{ id: "picked", kind: "attest", text: `The poster chose this entry as ${which} of call ${call.slug}` }],
|
|
104
135
|
judge: { kind: "poster" }
|
|
105
136
|
};
|
|
106
137
|
}
|
|
107
138
|
const DAY_MS = 24 * 3600 * 1000;
|
|
108
|
-
/**
|
|
109
|
-
|
|
139
|
+
/**
|
|
140
|
+
* The clock: entries close after `openDays`, the shortlist shows the day after,
|
|
141
|
+
* the pick three days later. A hire has nothing after the close — no shortlist,
|
|
142
|
+
* no pick — so its three dates are one: the day it stops taking entries.
|
|
143
|
+
*/
|
|
144
|
+
export function callDates(openDays, now = Date.now(), mode) {
|
|
110
145
|
const closes = now + openDays * DAY_MS;
|
|
146
|
+
if (mode === "hire") {
|
|
147
|
+
const at = new Date(closes).toISOString();
|
|
148
|
+
return { closes: at, drop: at, pick: at };
|
|
149
|
+
}
|
|
111
150
|
return { closes: new Date(closes).toISOString(), drop: new Date(closes + DAY_MS).toISOString(), pick: new Date(closes + 4 * DAY_MS).toISOString() };
|
|
112
151
|
}
|
|
152
|
+
/** The legs a call has: a hire is its entries; a competition adds the pick and, with runners-up, their leg. */
|
|
153
|
+
export const legsOf = (call) => call.mode === "hire" ? ["entries"] : ["prize", ...(call.money.runnersN > 0 ? ["runnersUp"] : []), "entries"];
|
|
113
154
|
/** How long a leg stays open, in whole days from now: the entries to the close, the picks a week past the pick. */
|
|
114
155
|
export function legDays(call, leg, now = Date.now()) {
|
|
115
156
|
const until = leg === "entries" ? Date.parse(call.closes) : Date.parse(call.pick) + 7 * DAY_MS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../../src/rubric/call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../../src/rubric/call.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** The tag every leg of a call is filed under. No colon: a tag is `[a-z0-9-]`. */
|
|
2
|
+
export declare const callTag: (slug: string) => string;
|
|
3
|
+
/** The slug back out of a tag, or null when the tag is not a call's. */
|
|
4
|
+
export declare const slugOfTag: (tag: string | null | undefined) => string | null;
|
|
5
|
+
//# sourceMappingURL=callTag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callTag.d.ts","sourceRoot":"","sources":["../../../src/rubric/callTag.ts"],"names":[],"mappings":"AAKA,kFAAkF;AAClF,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,KAAG,MAAwB,CAAC;AAEhE,wEAAwE;AACxE,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,MAAM,GAAG,IAGnE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* A call's tag, apart from call.ts: the hosted MCP reads it (world.ts) and the
|
|
3
|
+
* hosted bundle forbids any module named call.ts (app/lib/mcpHosted.test.ts).
|
|
4
|
+
*/
|
|
5
|
+
/** The tag every leg of a call is filed under. No colon: a tag is `[a-z0-9-]`. */
|
|
6
|
+
export const callTag = (slug) => `call-${slug}`;
|
|
7
|
+
/** The slug back out of a tag, or null when the tag is not a call's. */
|
|
8
|
+
export const slugOfTag = (tag) => {
|
|
9
|
+
const match = /^call-([a-z][a-z0-9-]{2,39})$/.exec(tag ?? "");
|
|
10
|
+
return match ? match[1] : null;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=callTag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callTag.js","sourceRoot":"","sources":["../../../src/rubric/callTag.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,kFAAkF;AAClF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC;AAEhE,wEAAwE;AACxE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAA8B,EAAiB,EAAE;IACzE,MAAM,KAAK,GAAG,+BAA+B,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../src/rubric/compose.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,QAAQ,EAA8D,MAAM,YAAY,CAAC;AAEjJ;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,KAAK,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE;;;;;;;;;;OAUG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAC3C;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,+EAA+E;IAC/E,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;QAC7C,6CAA6C;QAC7C,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC;QAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;CACH;AAED,eAAO,MAAM,YAAY,QAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../src/rubric/compose.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,QAAQ,EAA8D,MAAM,YAAY,CAAC;AAEjJ;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,KAAK,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE;;;;;;;;;;OAUG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAC3C;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,+EAA+E;IAC/E,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;QAC7C,6CAA6C;QAC7C,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC;QAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;CACH;AAED,eAAO,MAAM,YAAY,QAAsB,CAAC;AAsBhD;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,EAAE,OAAO,MAAM,KAAG,MACyD,CAAC;AAkEpI,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiJ3E"}
|
|
@@ -4,7 +4,9 @@ const DEFAULT_METRES = 150;
|
|
|
4
4
|
/** Words that already promise a photograph, so the title is not told twice. */
|
|
5
5
|
const SAYS_PHOTO = /photo|picture|snap|film|image|shot/i;
|
|
6
6
|
/** The same courtesy for a file — the title says it once or not at all. */
|
|
7
|
-
const SAYS_FILE = /\b(video|film|footage|recording|scan|pdf|document|file|upload)\b/i;
|
|
7
|
+
const SAYS_FILE = /\b(video|film|footage|recording|scan|pdf|document|file|upload|report|screenshots?)\b/i;
|
|
8
|
+
/** One sentence after another: the task's own closing stop is kept once, never doubled ("…screenshots.. A file"). */
|
|
9
|
+
const thenSay = (task, more) => `${task.replace(/[\s.]+$/, "")}. ${more}`;
|
|
8
10
|
/** 25 MB, the ceiling `deriveTerms` puts on a file it inferred for itself. */
|
|
9
11
|
const FILE_MAX_BYTES = 26_214_400;
|
|
10
12
|
/** A sentence that already says before-and-after keeps its own words. */
|
|
@@ -161,9 +163,9 @@ export function formTerms(form) {
|
|
|
161
163
|
sentence and the published terms can never disagree about the task. */
|
|
162
164
|
let title = task;
|
|
163
165
|
if (form.proof === "photo" && !SAYS_PHOTO.test(task))
|
|
164
|
-
title =
|
|
166
|
+
title = thenSay(task, "A photograph");
|
|
165
167
|
if (form.proof === "file" && !SAYS_FILE.test(task))
|
|
166
|
-
title =
|
|
168
|
+
title = thenSay(task, "A file");
|
|
167
169
|
if (form.place) {
|
|
168
170
|
const metres = form.place.metres ?? DEFAULT_METRES;
|
|
169
171
|
const where = form.place.label || `${form.place.lat.toFixed(4)}, ${form.place.lon.toFixed(4)}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../src/rubric/compose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAA6E,MAAM,YAAY,CAAC;AAwFjJ,MAAM,CAAC,MAAM,YAAY,GAAG,mBAAmB,CAAC;AAEhD,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,+EAA+E;AAC/E,MAAM,UAAU,GAAG,qCAAqC,CAAC;AAEzD,2EAA2E;AAC3E,MAAM,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../src/rubric/compose.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ import { type AskTerms, type Criterion } from "./terms.ts";
|
|
|
18
18
|
* Plain TypeScript, no SDK, no fetch — so the Worker bundles it, the route
|
|
19
19
|
* imports it, and the test runner reads it without a network.
|
|
20
20
|
*/
|
|
21
|
-
export declare const DRAFT_SYSTEM = "You turn a request for work into the whole ask, on Openhands Network, where money moves when work is verified: what gets handed over, where it happens, what it pays, and what the review checks. The person asking reads your draft and chooses whether to use it; nothing you write is posted without them.\n\nWhat they hand over:\n- camera: \"photo\" when the proof is how something looks now. \"pair\" when the work changes something and the proof is how it looked before and after (a cleanup, a repair, a tidy desk). \"none\" when no photograph is needed.\n- file: true when the work produces a file (a document, a recording, a spreadsheet, a video). Beside a photo it is a second file.\n- words: true when the answer is written, or when a photo or file must come with a written note. False when a photograph or a file alone is the answer.\n- where: \"place\" whenever
|
|
21
|
+
export declare const DRAFT_SYSTEM = "You turn a request for work into the whole ask, on Openhands Network, where money moves when work is verified: what gets handed over, where it happens, what it pays, and what the review checks. The person asking reads your draft and chooses whether to use it; nothing you write is posted without them.\n\nWhat they hand over:\n- camera: \"photo\" when the proof is how something looks now. \"pair\" when the work changes something and the proof is how it looked before and after (a cleanup, a repair, a tidy desk). \"none\" when no photograph is needed.\n- file: true when the work produces a file (a document, a recording, a spreadsheet, a video). Beside a photo it is a second file.\n- words: true when the answer is written, or when a photo or file must come with a written note. False when a photograph or a file alone is the answer.\n- where: \"place\" whenever a photograph must be taken somewhere the request names: a town, a village, a street, a square, a building, a shop. Photographing something at a named place is \"place\", never \"pin\". A question about a place is answered from anywhere: \"name a caf\u00E9 in Ljubljana\" is \"none\", not \"place\". \"pin\" only when finding where is itself the work (a mess, a pothole, wherever they come across it), so they mark exactly where they stood. Otherwise \"none\".\n- placeName: only when where is \"place\", the place exactly as the request names it. Never invent a place and never write coordinates: the person asking sets the exact spot.\n- mentions: at most three words or phrases the answer must contain, only when the request plainly needs them (a reference number, a product name). Usually none.\n\nYou assign every requirement one of three kinds, and the kind is a promise about who may honestly settle it:\n\n- \"measure\". A machine settles it deterministically. Only these gates exist: non-empty; min-length (chars); mentions-url (url); reports-status; mentions-terms (terms); re-measure (url); file-type (accept, e.g. \"image/*\"); max-bytes (bytes). Never invent a gate. There is no gate for when a photo was taken, where it was taken, or who is in it.\n- \"judge\". A model rules on a sentence you write. Use this for things that are checkable by reading or looking but not by measuring: whether a photo shows what was asked, whether a translation reads naturally, whether an answer actually answers.\n- \"attest\". Only the person who asked can say. Use this for taste, preference, brand fit, \"I like it\".\n\nRules:\n- Write each requirement as a short, plain, checkable sentence. A worker reads these before starting.\n- Say in the sentence itself what would make it FAIL: a requirement that only states what would be true reads as a demand to prove it, and refuses honest work.\n- Prefer few requirements. Three is usually plenty; never more than five.\n- Do not restate the task as a requirement. Say what would make it complete.\n- If something matters but no machine can verify it, make it \"judge\" or \"attest\". Never a \"measure\" gate that only pretends to check it.\n- deliverable.type is what gets handed over: url, text, photo, file, or answer.\n\nYou also propose the offer, in US dollars (1 PAY is 1 dollar), because most people asking have no idea what a piece of work is worth:\n- amountUsd: what one accepted answer pays, between 0.10 and 20. Weigh effort and inconvenience. A question answered from a web page is near the floor; going somewhere and photographing something is a few dollars; an hour of physical work is more. Keep it plausible rather than generous.\n- days: how long it stays open. A few days for anything needing someone to physically go somewhere; one or two for desk work.\n- quota: how many people get paid. Almost always 1. More only when the ask genuinely wants several independent answers, and never more than 25.\n- why: one short clause justifying the amount, in the poster's own terms. No hedging, no restating the task.";
|
|
22
22
|
export declare const DRAFT_TOOL_NAME = "draft_terms";
|
|
23
23
|
export declare const DRAFT_TOOL_DESCRIPTION = "Draft the whole ask: what is handed over, where, what it pays, and the requirements used to review it.";
|
|
24
24
|
/**
|
|
@@ -176,6 +176,14 @@ export interface DraftInput {
|
|
|
176
176
|
* saying "I would pay $2 for this, here is why" next to a button the poster
|
|
177
177
|
* presses is.
|
|
178
178
|
*/
|
|
179
|
+
/**
|
|
180
|
+
* A place binds only camera work. A photograph is evidence of where it was
|
|
181
|
+
* taken; a written answer about somewhere can come from anywhere, so a draft
|
|
182
|
+
* that names a place for a question ("name a café in Ljubljana") must not
|
|
183
|
+
* become a geofence on whoever answers. The same rule the composer's
|
|
184
|
+
* `placeNamedIn` applies to a sentence (app/ask/post.ts), applied to a draft.
|
|
185
|
+
*/
|
|
186
|
+
export declare function placeBinds(camera: "photo" | "pair" | null, where: "none" | "pin" | "place"): "none" | "pin" | "place";
|
|
179
187
|
export interface DraftProposal {
|
|
180
188
|
camera: "photo" | "pair" | null;
|
|
181
189
|
file: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draft.d.ts","sourceRoot":"","sources":["../../../src/rubric/draft.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvE;;;;;;;;;;;;;;;;;;GAkBG;AAEH,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"draft.d.ts","sourceRoot":"","sources":["../../../src/rubric/draft.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/rubric/draft.js
CHANGED
|
@@ -24,7 +24,7 @@ What they hand over:
|
|
|
24
24
|
- camera: "photo" when the proof is how something looks now. "pair" when the work changes something and the proof is how it looked before and after (a cleanup, a repair, a tidy desk). "none" when no photograph is needed.
|
|
25
25
|
- file: true when the work produces a file (a document, a recording, a spreadsheet, a video). Beside a photo it is a second file.
|
|
26
26
|
- words: true when the answer is written, or when a photo or file must come with a written note. False when a photograph or a file alone is the answer.
|
|
27
|
-
- where: "place" whenever
|
|
27
|
+
- where: "place" whenever a photograph must be taken somewhere the request names: a town, a village, a street, a square, a building, a shop. Photographing something at a named place is "place", never "pin". A question about a place is answered from anywhere: "name a café in Ljubljana" is "none", not "place". "pin" only when finding where is itself the work (a mess, a pothole, wherever they come across it), so they mark exactly where they stood. Otherwise "none".
|
|
28
28
|
- placeName: only when where is "place", the place exactly as the request names it. Never invent a place and never write coordinates: the person asking sets the exact spot.
|
|
29
29
|
- mentions: at most three words or phrases the answer must contain, only when the request plainly needs them (a reference number, a product name). Usually none.
|
|
30
30
|
|
|
@@ -102,6 +102,27 @@ export const DRAFT_TOOL_SCHEMA = {
|
|
|
102
102
|
};
|
|
103
103
|
/** The one sentence the model is asked about. */
|
|
104
104
|
export const draftUserMessage = (title) => `The ask: ${title}`;
|
|
105
|
+
/**
|
|
106
|
+
* The whole ask as the drafter proposes it, in the composer's own terms: the
|
|
107
|
+
* blocks it would add, the place it would ask for, and the offer.
|
|
108
|
+
*
|
|
109
|
+
* A proposal, never a decision. The composer shows it whole and the poster
|
|
110
|
+
* taps Use or does not, and everything stays editable after. The first
|
|
111
|
+
* drafter's offer was clamped and then deliberately ignored, because a model
|
|
112
|
+
* quietly filling in the money fields of a contract is not a feature. A model
|
|
113
|
+
* saying "I would pay $2 for this, here is why" next to a button the poster
|
|
114
|
+
* presses is.
|
|
115
|
+
*/
|
|
116
|
+
/**
|
|
117
|
+
* A place binds only camera work. A photograph is evidence of where it was
|
|
118
|
+
* taken; a written answer about somewhere can come from anywhere, so a draft
|
|
119
|
+
* that names a place for a question ("name a café in Ljubljana") must not
|
|
120
|
+
* become a geofence on whoever answers. The same rule the composer's
|
|
121
|
+
* `placeNamedIn` applies to a sentence (app/ask/post.ts), applied to a draft.
|
|
122
|
+
*/
|
|
123
|
+
export function placeBinds(camera, where) {
|
|
124
|
+
return where === "place" && !camera ? "none" : where;
|
|
125
|
+
}
|
|
105
126
|
/** Build a real criterion from a drafted one, dropping anything malformed. */
|
|
106
127
|
export function toCriterion(drafted, index) {
|
|
107
128
|
const id = `d${index + 1}`;
|
|
@@ -147,7 +168,7 @@ const COORDINATES = /-?\d{1,3}\.\d+\s*[,\s]\s*-?\d{1,3}\.\d+/;
|
|
|
147
168
|
export function clampProposal(input) {
|
|
148
169
|
const camera = input?.camera === "photo" || input?.camera === "pair" ? input.camera : null;
|
|
149
170
|
const file = input?.file === true;
|
|
150
|
-
const where = input?.where === "pin" || input?.where === "place" ? input.where : "none";
|
|
171
|
+
const where = placeBinds(camera, input?.where === "pin" || input?.where === "place" ? input.where : "none");
|
|
151
172
|
const named = typeof input?.placeName === "string" ? input.placeName.replace(/\s+/g, " ").trim().slice(0, 80) : "";
|
|
152
173
|
const mentions = [
|
|
153
174
|
...new Set((input?.mentions ?? []).filter((one) => typeof one === "string").map((one) => one.replace(/\s+/g, " ").trim().slice(0, 40)).filter(Boolean))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draft.js","sourceRoot":"","sources":["../../../src/rubric/draft.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"draft.js","sourceRoot":"","sources":["../../../src/rubric/draft.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,4 +43,21 @@ export declare function metSentence(code: string, reason: string): string | null
|
|
|
43
43
|
export declare const GATE_SHORT: Readonly<Record<string, string>>;
|
|
44
44
|
/** A gate's label for the trace, or null for a judged gate or a code this estate did not write. */
|
|
45
45
|
export declare function ruleShort(code: string): string | null;
|
|
46
|
+
/** What the person gate says once it is decided; the reason under a No, and while it waits. */
|
|
47
|
+
export declare const PERSON_WORDS: {
|
|
48
|
+
readonly approved: "A person approved the answer";
|
|
49
|
+
readonly rejected: "The approver rejected the answer";
|
|
50
|
+
readonly waiting: "Waiting for final approval";
|
|
51
|
+
readonly notNeeded: "Not needed: turned down before the person was asked";
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* The person gate (`OH-1xx-PERSON`, rubric/bridge.ts) fails on every claim by design: it is how a claim the AI passed
|
|
55
|
+
* is held for its approver. So its engine outcome says nothing; the verdict does. An approved claim met it; a rejected
|
|
56
|
+
* one failed it only when the person said No (their task's code is among the reasons), else the person was never
|
|
57
|
+
* asked; a held one is waiting. Null for every other gate.
|
|
58
|
+
*/
|
|
59
|
+
export declare function personGate(code: string, verdict: string, reasonCodes?: readonly string[]): {
|
|
60
|
+
outcome: "passed" | "failed" | "not_reached" | "unevaluated";
|
|
61
|
+
reason: string;
|
|
62
|
+
} | null;
|
|
46
63
|
//# sourceMappingURL=gateMet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateMet.d.ts","sourceRoot":"","sources":["../../../src/rubric/gateMet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"gateMet.d.ts","sourceRoot":"","sources":["../../../src/rubric/gateMet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4BrD,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAAqC,CAAC;AAErF,iFAAiF;AACjF,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,IAAsE,CAAC;AAEzH;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKvE;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4BvD,CAAC;AAEF,mGAAmG;AACnG,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIrD;AAED,+FAA+F;AAC/F,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,SAAS,MAAM,EAAO,GAAG;IAAE,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAOtL"}
|
|
@@ -40,7 +40,11 @@ export const GATE_MET = {
|
|
|
40
40
|
site: "The site marker was recorded",
|
|
41
41
|
"not-generated": "Nothing in the photograph says an AI generator made it",
|
|
42
42
|
"not-elsewhere": "Taken at the place reported",
|
|
43
|
-
"camera-or-live": "The photo carries camera data or a live capture"
|
|
43
|
+
"camera-or-live": "The photo carries camera data or a live capture",
|
|
44
|
+
person: "A person approved the answer",
|
|
45
|
+
report: "A review report was sent, as structured text or a PDF",
|
|
46
|
+
"report-evidence": "The report carries its evidence",
|
|
47
|
+
"report-limits": "The report states its limitations"
|
|
44
48
|
};
|
|
45
49
|
/** Gates whose reason is the rule itself, which reads the same met or not. */
|
|
46
50
|
export const RULE_IS_REASON = new Set(["judged", "real-photo"]);
|
|
@@ -94,7 +98,11 @@ export const GATE_SHORT = {
|
|
|
94
98
|
site: "Site marked",
|
|
95
99
|
"not-generated": "Not AI-generated",
|
|
96
100
|
"not-elsewhere": "Taken there",
|
|
97
|
-
"camera-or-live": "Camera or live capture"
|
|
101
|
+
"camera-or-live": "Camera or live capture",
|
|
102
|
+
person: "Approved by a person",
|
|
103
|
+
report: "Report received",
|
|
104
|
+
"report-evidence": "Evidence attached",
|
|
105
|
+
"report-limits": "Limitations stated"
|
|
98
106
|
};
|
|
99
107
|
/** A gate's label for the trace, or null for a judged gate or a code this estate did not write. */
|
|
100
108
|
export function ruleShort(code) {
|
|
@@ -103,4 +111,28 @@ export function ruleShort(code) {
|
|
|
103
111
|
return null;
|
|
104
112
|
return GATE_SHORT[label] ?? null;
|
|
105
113
|
}
|
|
114
|
+
/** What the person gate says once it is decided; the reason under a No, and while it waits. */
|
|
115
|
+
export const PERSON_WORDS = {
|
|
116
|
+
approved: "A person approved the answer",
|
|
117
|
+
rejected: "The approver rejected the answer",
|
|
118
|
+
waiting: "Waiting for final approval",
|
|
119
|
+
notNeeded: "Not needed: turned down before the person was asked"
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* The person gate (`OH-1xx-PERSON`, rubric/bridge.ts) fails on every claim by design: it is how a claim the AI passed
|
|
123
|
+
* is held for its approver. So its engine outcome says nothing; the verdict does. An approved claim met it; a rejected
|
|
124
|
+
* one failed it only when the person said No (their task's code is among the reasons), else the person was never
|
|
125
|
+
* asked; a held one is waiting. Null for every other gate.
|
|
126
|
+
*/
|
|
127
|
+
export function personGate(code, verdict, reasonCodes = []) {
|
|
128
|
+
if (gateLabel(code) !== "person")
|
|
129
|
+
return null;
|
|
130
|
+
if (verdict === "approve" || verdict === "partial")
|
|
131
|
+
return { outcome: "passed", reason: PERSON_WORDS.approved };
|
|
132
|
+
if (verdict === "review")
|
|
133
|
+
return { outcome: "unevaluated", reason: PERSON_WORDS.waiting };
|
|
134
|
+
/* Their task's code, or a duplicate they confirmed (`unique:<id>`), is the person's No. */
|
|
135
|
+
const saidNo = reasonCodes.length === 0 || reasonCodes.some((one) => one.startsWith("OH-RT-") || one.startsWith("unique:"));
|
|
136
|
+
return saidNo ? { outcome: "failed", reason: PERSON_WORDS.rejected } : { outcome: "not_reached", reason: PERSON_WORDS.notNeeded };
|
|
137
|
+
}
|
|
106
138
|
//# sourceMappingURL=gateMet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateMet.js","sourceRoot":"","sources":["../../../src/rubric/gateMet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAqC;IACxD,OAAO,EAAE,2BAA2B;IACpC,MAAM,EAAE,oCAAoC;IAC5C,YAAY,EAAE,8BAA8B;IAC5C,gBAAgB,EAAE,8BAA8B;IAChD,KAAK,EAAE,sCAAsC;IAC7C,WAAW,EAAE,wCAAwC;IACrD,WAAW,EAAE,4CAA4C;IACzD,YAAY,EAAE,4BAA4B;IAC1C,eAAe,EAAE,iCAAiC;IAClD,OAAO,EAAE,yBAAyB;IAClC,cAAc,EAAE,qDAAqD;IACrE,QAAQ,EAAE,uCAAuC;IACjD,OAAO,EAAE,wDAAwD;IACjE,oBAAoB,EAAE,oDAAoD;IAC1E,YAAY,EAAE,wCAAwC;IACtD,UAAU,EAAE,oCAAoC;IAChD,aAAa,EAAE,sCAAsC;IACrD,IAAI,EAAE,8CAA8C;IACpD,QAAQ,EAAE,0CAA0C;IACpD,IAAI,EAAE,8BAA8B;IACpC,eAAe,EAAE,wDAAwD;IACzE,eAAe,EAAE,6BAA6B;IAC9C,gBAAgB,EAAE,iDAAiD;
|
|
1
|
+
{"version":3,"file":"gateMet.js","sourceRoot":"","sources":["../../../src/rubric/gateMet.ts"],"names":[],"mappings":"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"}
|