@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
package/dist/cjs/data/install.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* How an MCP client is told to connect to
|
|
3
|
+
* How an MCP client is told to connect to asks.world.
|
|
4
4
|
*
|
|
5
5
|
* One table, several renderings: the server's own `get_config_help` and the
|
|
6
6
|
* hosted `where_to_act`, the install block (`/`, `/connect`, `/mcp`), the
|
|
7
7
|
* agent page and its `/mcp.md` twin, and the hosted server's description all
|
|
8
8
|
* print these lines from here, so
|
|
9
9
|
* they cannot disagree — which they did, for a month, when the page said
|
|
10
|
-
* `/path/to/
|
|
10
|
+
* `/path/to/asks-mcp` and the server printed whatever path it happened
|
|
11
11
|
* to be running from.
|
|
12
12
|
*
|
|
13
13
|
* Pure and dependency-free, like `app/lib/networks.ts`: the app, the MCP
|
|
@@ -20,25 +20,41 @@
|
|
|
20
20
|
* anchor, so the server, the package and the plugin all carry its name.
|
|
21
21
|
*/
|
|
22
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
exports.HOSTED_WHERE = exports.HOSTED_CLIENTS = exports.PLUGIN_WHERE = exports.
|
|
23
|
+
exports.HOSTED_WHERE = exports.HOSTED_CLIENTS = exports.PLUGIN_WHERE = exports.PLUGIN_COMMANDS_LINE = exports.PLUGIN_PATHS = exports.claudeAppPluginSteps = exports.pluginShellLine = exports.PLUGIN_INSTALLS = exports.PLUGIN_CLIENTS = exports.CLAUDE_CODE_ONE_STEP = exports.READ_ONLY_LINE = exports.resourceLines = exports.RESOURCE_PACKAGES = exports.npmUrl = exports.PLUGIN_MARKETPLACE_URL = exports.PLUGIN_ID = exports.PLUGIN_NAME = exports.PLUGIN_MARKETPLACE = exports.INSTALL_WHERE = exports.INSTALL_CLIENTS = exports.hostedUrl = exports.MCP_HOSTED_PATH = exports.npxCacheLines = exports.NPX_REFRESH_LINE = exports.NPX_CACHE_NOTE = exports.MCP_SPEC = exports.MCP_TAG = exports.MCP_SERVER = exports.MCP_PACKAGE = void 0;
|
|
24
24
|
exports.installLines = installLines;
|
|
25
25
|
exports.pluginLines = pluginLines;
|
|
26
26
|
exports.pluginPathsText = pluginPathsText;
|
|
27
27
|
exports.pluginNetworkNote = pluginNetworkNote;
|
|
28
28
|
exports.hostedLines = hostedLines;
|
|
29
29
|
/** The npm package the bundled server ships as (the plugin plan's A2). */
|
|
30
|
-
exports.MCP_PACKAGE = "@ixo/
|
|
31
|
-
/** The name a client registers the server under; tools appear as `
|
|
32
|
-
exports.MCP_SERVER = "
|
|
30
|
+
exports.MCP_PACKAGE = "@ixo/asks-mcp";
|
|
31
|
+
/** The name a client registers the server under; tools appear as `mcp__asks__*`. */
|
|
32
|
+
exports.MCP_SERVER = "asks";
|
|
33
33
|
/**
|
|
34
|
-
* The
|
|
35
|
-
* (
|
|
36
|
-
* @ixo/openhands-mcp@1` takes every fix and feature of 1.x and never a
|
|
37
|
-
* 2.0 nobody asked for. The plugin (ixoworld/ixo-plugins) pins the same.
|
|
34
|
+
* The dist-tag an install follows (owner, 2026-10-26): `latest`, the newest release from main, majors
|
|
35
|
+
* included. The plugin (ixoworld/ixo-plugins) uses the same.
|
|
38
36
|
*/
|
|
39
|
-
exports.
|
|
37
|
+
exports.MCP_TAG = "latest";
|
|
40
38
|
/** What `npx` is told to run. */
|
|
41
|
-
exports.MCP_SPEC = `${exports.MCP_PACKAGE}@${exports.
|
|
39
|
+
exports.MCP_SPEC = `${exports.MCP_PACKAGE}@${exports.MCP_TAG}`;
|
|
40
|
+
/** A site's network is the test network unless it is mainnet (testnet, devnet). */
|
|
41
|
+
const isTest = (network) => network !== "mainnet";
|
|
42
|
+
/**
|
|
43
|
+
* What that spec actually runs is whatever build the npx cache holds for it.
|
|
44
|
+
* npx keeps one install per spec string and reuses it without asking the
|
|
45
|
+
* registry, so a machine that installed in September keeps September's
|
|
46
|
+
* server until the cache is cleared — on 2026-10-20 `@1` ran 1.1.0 on a Mac
|
|
47
|
+
* while 1.4.1 was latest, and 1.1.0 refused post_call for want of variables
|
|
48
|
+
* 1.4 reads from the site. The plugin's `.mcp.json` uses the same spec. Said
|
|
49
|
+
* beside the version wherever an install is printed, with the one line that
|
|
50
|
+
* refreshes it.
|
|
51
|
+
*/
|
|
52
|
+
exports.NPX_CACHE_NOTE = `npx keeps the build it first installed for "${exports.MCP_SPEC}" and reuses it without asking npm, so after a release an older server can keep running on your machine.`;
|
|
53
|
+
/** The one line that makes the next start install the newest release: npx's own cache, found through npm's config so the path is right on every machine. */
|
|
54
|
+
exports.NPX_REFRESH_LINE = 'rm -rf "$(npm config get cache)/_npx"';
|
|
55
|
+
/** The note and the line, as text: what get_config_help and the install pages print. */
|
|
56
|
+
const npxCacheLines = () => [`${exports.NPX_CACHE_NOTE} To refresh it, run this once, then start the client again:\n${exports.NPX_REFRESH_LINE}`];
|
|
57
|
+
exports.npxCacheLines = npxCacheLines;
|
|
42
58
|
/**
|
|
43
59
|
* The hosted server's path on every deployment's own origin: read-only,
|
|
44
60
|
* unauthenticated, and the protocol surface the `/v1/` prefix versions
|
|
@@ -54,7 +70,7 @@ const PACKAGE_ENTRY = { kind: "package" };
|
|
|
54
70
|
/** The command and its arguments, as every client wants them. */
|
|
55
71
|
function command(entry) {
|
|
56
72
|
return entry.kind === "package"
|
|
57
|
-
? { command: "npx", args: ["-y",
|
|
73
|
+
? { command: "npx", args: ["-y", exports.MCP_SPEC], env: {} }
|
|
58
74
|
: { command: "node", args: ["--experimental-strip-types", entry.path], env: {} };
|
|
59
75
|
}
|
|
60
76
|
const envOf = (options) => ({
|
|
@@ -65,23 +81,25 @@ const envOf = (options) => ({
|
|
|
65
81
|
function installLines(client, options) {
|
|
66
82
|
const run = command(options.entry ?? PACKAGE_ENTRY);
|
|
67
83
|
const env = envOf(options);
|
|
84
|
+
/* A plugin install does not replace a hand-added server (Claude Code names plugin servers `plugin:<plugin>:<server>`), so the guide says to remove it, or every tool is listed twice (final review M3). */
|
|
85
|
+
const name = exports.MCP_SERVER;
|
|
68
86
|
switch (client) {
|
|
69
87
|
case "claude-code": {
|
|
70
88
|
const flags = Object.entries(env)
|
|
71
89
|
.map(([key, value]) => `--env ${key}=${value}`)
|
|
72
90
|
.join(" ");
|
|
73
|
-
return `claude mcp add ${
|
|
91
|
+
return `claude mcp add ${name} ${flags} -- ${run.command} ${run.args.join(" ")}`;
|
|
74
92
|
}
|
|
75
93
|
case "codex": {
|
|
76
94
|
const table = Object.entries(env)
|
|
77
95
|
.map(([key, value]) => `${key} = "${value}"`)
|
|
78
96
|
.join(", ");
|
|
79
|
-
return [`[mcp_servers.${
|
|
97
|
+
return [`[mcp_servers.${name}]`, `command = "${run.command}"`, `args = ${JSON.stringify(run.args)}`, `env = { ${table} }`].join("\n");
|
|
80
98
|
}
|
|
81
99
|
case "cursor":
|
|
82
|
-
return JSON.stringify({ mcpServers: { [
|
|
100
|
+
return JSON.stringify({ mcpServers: { [name]: { command: run.command, args: run.args, env } } }, null, 2);
|
|
83
101
|
case "vscode":
|
|
84
|
-
return `vscode:mcp/install?${encodeURIComponent(JSON.stringify({ name
|
|
102
|
+
return `vscode:mcp/install?${encodeURIComponent(JSON.stringify({ name, command: run.command, args: run.args, env }))}`;
|
|
85
103
|
}
|
|
86
104
|
}
|
|
87
105
|
/** Where each client keeps it — the sentence above the block. */
|
|
@@ -98,14 +116,8 @@ exports.INSTALL_WHERE = {
|
|
|
98
116
|
* package does.
|
|
99
117
|
*/
|
|
100
118
|
exports.PLUGIN_MARKETPLACE = "ixoworld/ixo-plugins";
|
|
101
|
-
exports.PLUGIN_NAME = "
|
|
119
|
+
exports.PLUGIN_NAME = "asks";
|
|
102
120
|
exports.PLUGIN_ID = `${exports.PLUGIN_NAME}@ixo-plugins`;
|
|
103
|
-
/**
|
|
104
|
-
* The hosted MCP (claude.ai, ChatGPT) only reads. Everything that signs runs in
|
|
105
|
-
* Claude Code with the local MCP / HQ plugin, where keys and data stay on the
|
|
106
|
-
* user's machine (owner ruling 2026-10-15). One wording, said everywhere.
|
|
107
|
-
*/
|
|
108
|
-
exports.HQ_PLUGIN_NAME = "ixo-openhands-hq";
|
|
109
121
|
/** The plugin marketplace's public repository: every plugin's skill, README and version. */
|
|
110
122
|
exports.PLUGIN_MARKETPLACE_URL = `https://github.com/${exports.PLUGIN_MARKETPLACE}`;
|
|
111
123
|
/** An npm package's page, where its latest version is. */
|
|
@@ -116,27 +128,19 @@ exports.npmUrl = npmUrl;
|
|
|
116
128
|
* guides (/llms.txt, /mcp.md) list these; bump a range here when a plugin's skill moves to a new one.
|
|
117
129
|
*/
|
|
118
130
|
exports.RESOURCE_PACKAGES = [
|
|
119
|
-
{ name: exports.MCP_PACKAGE, range:
|
|
120
|
-
{ name: "@ixo/decision-oracle", range: "0.2", what: `company setup: the organisation, its reviewer and Pay for reviews (used by ${exports.
|
|
121
|
-
{ name: "@ixo/payouts-facilitator", range: "0.1", what: `a company's own payouts service, for paying workers USDC on Base (used by ${exports.
|
|
131
|
+
{ name: exports.MCP_PACKAGE, range: exports.MCP_TAG, what: `the asks.world tools the plugin runs (server name ${exports.MCP_SERVER})` },
|
|
132
|
+
{ name: "@ixo/decision-oracle", range: "0.2", what: `company setup: the organisation, its reviewer and Pay for reviews (used by ${exports.PLUGIN_NAME})` },
|
|
133
|
+
{ name: "@ixo/payouts-facilitator", range: "0.1", what: `a company's own payouts service, for paying workers USDC on Base (used by ${exports.PLUGIN_NAME})` }
|
|
122
134
|
];
|
|
123
135
|
/** One line per package: name@range, what it is, its npm page. */
|
|
124
136
|
const resourceLines = () => exports.RESOURCE_PACKAGES.map((one) => `${one.name}@${one.range}: ${one.what}. ${(0, exports.npmUrl)(one.name)}`);
|
|
125
137
|
exports.resourceLines = resourceLines;
|
|
126
|
-
/** The marketplace also lists two hosted, read-only plugins; their names read like network versions of ixo-openhands, so say what they are. */
|
|
127
|
-
exports.READ_ONLY_PLUGINS_LINE = "ixo-openhands-mainnet and ixo-openhands-testnet in the same marketplace are read-only: they only look at the board, with no posting, payouts or sign-in. They are not the mainnet or testnet versions of ixo-openhands; for those, install ixo-openhands or ixo-openhands-hq, which start on mainnet and switch to testnet with OPENHANDS_NETWORK=testnet.";
|
|
128
|
-
exports.READ_ONLY_LINE = "This connector can only read. To post asks, set up payouts, pay for reviews or get paid, use Claude Code with an OpenHands plugin (ixo-openhands-hq for a company, ixo-openhands for a worker or yourself): it runs on your computer, so your keys and data stay with you.";
|
|
129
138
|
/**
|
|
130
|
-
* The
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
* `${OPENHANDS_NETWORK:-mainnet}`, which Claude Code expands from the
|
|
134
|
-
* environment it was started in. Codex's portable `mcp.json` has no such
|
|
135
|
-
* expansion and says `mainnet` outright, so in Codex the plugin is mainnet
|
|
136
|
-
* only and the test network is the config.toml lines.
|
|
139
|
+
* The hosted MCP (claude.ai, ChatGPT) only reads. Everything that signs runs in
|
|
140
|
+
* Claude Code with the local MCP / HQ plugin, where keys and data stay on the
|
|
141
|
+
* user's machine (owner ruling 2026-10-15). One wording, said everywhere.
|
|
137
142
|
*/
|
|
138
|
-
exports.
|
|
139
|
-
exports.PLUGIN_NETWORK_ENV = "OPENHANDS_NETWORK";
|
|
143
|
+
exports.READ_ONLY_LINE = "This connector can only read. To post asks, set up payouts, pay for reviews or get paid, use Claude Code with an asks.world plugin (asks): it runs on your computer, so your keys and data stay with you.";
|
|
140
144
|
/** The first Claude Code that installs from a marketplace in one step, with `--marketplace`. */
|
|
141
145
|
exports.CLAUDE_CODE_ONE_STEP = "2.1.275";
|
|
142
146
|
exports.PLUGIN_CLIENTS = ["claude-code", "codex"];
|
|
@@ -157,44 +161,41 @@ function pluginLines(install, name = exports.PLUGIN_NAME) {
|
|
|
157
161
|
return [`codex plugin marketplace add ${exports.PLUGIN_MARKETPLACE}`, `codex plugin add ${id}`].join("\n");
|
|
158
162
|
}
|
|
159
163
|
}
|
|
160
|
-
/** The
|
|
161
|
-
|
|
164
|
+
/** The Claude Code install as shell commands, said on one line: for an agent that cannot type a /plugin command but can run `claude`. */
|
|
165
|
+
const pluginShellLine = (name) => `claude plugin marketplace add ${exports.PLUGIN_MARKETPLACE} then claude plugin install ${name}@ixo-plugins`;
|
|
166
|
+
exports.pluginShellLine = pluginShellLine;
|
|
162
167
|
/**
|
|
163
|
-
* The
|
|
164
|
-
*
|
|
168
|
+
* The Claude app (desktop or claude.ai, paid plans): a person adds the plugin by hand, and its server, which runs on
|
|
169
|
+
* their computer, works where Claude can run things on it: the Code tab, or a chat with a folder connected (the former Cowork); not a plain chat (support.claude.com, "Use plugins in Claude").
|
|
165
170
|
*/
|
|
171
|
+
const claudeAppPluginSteps = (names) => `In the Claude app (paid plans) your user adds it themselves: Customize, then Plugins, then Add, then Add marketplace, then Add from a repository, and enter ${exports.PLUGIN_MARKETPLACE}; then on the Discover tab pick ${names} and tap Add. It runs on their computer, so they use it in the app's Code tab or in a chat with a folder connected, not in a plain chat.`;
|
|
172
|
+
exports.claudeAppPluginSteps = claudeAppPluginSteps;
|
|
173
|
+
/** The one plugin, for a company or a worker: what it does, said once. Every page and tool that shows an install shows it, from here. */
|
|
166
174
|
exports.PLUGIN_PATHS = [
|
|
167
|
-
{
|
|
168
|
-
name: exports.HQ_PLUGIN_NAME,
|
|
169
|
-
who: "For a company",
|
|
170
|
-
what: "Set up your company (organisation, how workers are paid, a reviewer, review billing), then post asks."
|
|
171
|
-
},
|
|
172
175
|
{
|
|
173
176
|
name: exports.PLUGIN_NAME,
|
|
174
|
-
who: "For a
|
|
175
|
-
what: "Find asks, answer them and get paid
|
|
177
|
+
who: "For a company or yourself",
|
|
178
|
+
what: "Find asks, answer them and get paid, post asks of your own, and set up your company (organisation, how workers are paid, a reviewer, review billing). A report ask is answered with Claude (the report and screenshots, which you approve before anything is sent) or on the website."
|
|
176
179
|
}
|
|
177
180
|
];
|
|
181
|
+
/** The plugin's commands (ixoworld/ixo-plugins), said once: `/asks` works out what the person wants, the rest go straight to one job. */
|
|
182
|
+
exports.PLUGIN_COMMANDS_LINE = `Once installed, type /asks and say what you want, or go straight to one job: /asks:create (post an ask or a review, set up a company), /asks:jobs (find work), /asks:invite, /asks:manage, /asks:report (write a review report), /asks:profile, /asks:account, /asks:connect, /asks:help.`;
|
|
178
183
|
exports.PLUGIN_WHERE = {
|
|
179
184
|
"claude-code": `Claude Code ${exports.CLAUDE_CODE_ONE_STEP} or newer, typed inside a session:`,
|
|
180
185
|
"claude-code-older": "An older Claude Code, two lines inside a session:",
|
|
181
186
|
codex: "Codex, in a terminal:"
|
|
182
187
|
};
|
|
183
|
-
/**
|
|
188
|
+
/** The plugin as plain text: who it is for, then each install's lines. */
|
|
184
189
|
function pluginPathsText(installs = exports.PLUGIN_INSTALLS) {
|
|
185
190
|
return exports.PLUGIN_PATHS.map((path) => [`${path.who}: ${path.name}. ${path.what}`, ...installs.map((one) => `${exports.PLUGIN_WHERE[one]}\n${pluginLines(one, path.name)}`)].join("\n\n"));
|
|
186
191
|
}
|
|
187
192
|
/**
|
|
188
|
-
* What the plugin brings and which network
|
|
189
|
-
* `network
|
|
190
|
-
* network, that the client has to be started for it.
|
|
193
|
+
* What the plugin brings and which network to use, said for the site at `network`. One server serves both: every
|
|
194
|
+
* tool takes `network`, so there is nothing to set at install.
|
|
191
195
|
*/
|
|
192
196
|
function pluginNetworkNote(network) {
|
|
193
|
-
const what =
|
|
194
|
-
|
|
195
|
-
return network === exports.PLUGIN_NETWORK_DEFAULT
|
|
196
|
-
? `${what} They start on mainnet, where rewards are paid in IXO or USDC. To try the test network, where coins have no value, start Claude Code with ${exports.PLUGIN_NETWORK_ENV}=testnet set in its shell (${exports.PLUGIN_NETWORK_ENV}=testnet claude). ${codex}`
|
|
197
|
-
: `${what} This site is the test network, where coins have no value, and the plugins start on mainnet: start Claude Code with ${exports.PLUGIN_NETWORK_ENV}=testnet (${exports.PLUGIN_NETWORK_ENV}=testnet claude) so it matches. ${codex}`;
|
|
197
|
+
const what = `The plugin brings the server and its skill, for both networks. Every action names one: mainnet, where rewards are paid in IXO or USDC, or testnet, a dry run where coins have no value.`;
|
|
198
|
+
return isTest(network) ? `This site is the test network. Install ${exports.PLUGIN_NAME}. ${what} Here, use it on testnet (a dry run, play money).` : what;
|
|
198
199
|
}
|
|
199
200
|
/**
|
|
200
201
|
* The hosted server, for a client that cannot run a local one. It reads the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/data/install.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/data/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,6 +68,18 @@ export type AskDoor = Openness | {
|
|
|
68
68
|
* this gate. An RPC that fails yields an empty set, which shows no door — the
|
|
69
69
|
* safe direction, since the gate would refuse anyway.
|
|
70
70
|
*/
|
|
71
|
+
/**
|
|
72
|
+
* The door, with the screen's word on it (Part C): `held` is a person looking
|
|
73
|
+
* first; `refused` is not carried here at all. `reason` is the sentence kept
|
|
74
|
+
* with the ruling — the phrase rules' own, or a moderator's — when the board
|
|
75
|
+
* gave one. Answered server-side (`doorFor` in the app), never by `askDoor`,
|
|
76
|
+
* which reads the chain alone.
|
|
77
|
+
*/
|
|
78
|
+
export type ScreenedDoor = AskDoor | {
|
|
79
|
+
open: false;
|
|
80
|
+
why: "held" | "refused";
|
|
81
|
+
reason: string | null;
|
|
82
|
+
};
|
|
71
83
|
export declare function askDoor(ask: AskWindow & {
|
|
72
84
|
admin?: string | null;
|
|
73
85
|
}, authorized: ReadonlySet<string>, now?: Date): AskDoor;
|
|
@@ -89,5 +101,6 @@ export declare function askDoor(ask: AskWindow & {
|
|
|
89
101
|
export declare function standingLine(ask: AskWindow & {
|
|
90
102
|
count: number;
|
|
91
103
|
rejected: number;
|
|
92
|
-
|
|
104
|
+
approver?: string | null;
|
|
105
|
+
}, openness?: ScreenedDoor): string;
|
|
93
106
|
//# sourceMappingURL=openness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openness.d.ts","sourceRoot":"","sources":["../../../src/data/openness.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE;AAChB;+EAC+E;GAC7E;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;CAAE,CAAC;AAEnE,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,GAAE,IAAiB,GAAG,QAAQ,CAsC5E;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,WAAW,CAAA;CAAE,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,GAAE,IAAiB,GAAG,OAAO,CAMpI;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,QAAQ,GAAE,
|
|
1
|
+
{"version":3,"file":"openness.d.ts","sourceRoot":"","sources":["../../../src/data/openness.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE;AAChB;+EAC+E;GAC7E;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;CAAE,CAAC;AAEnE,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,GAAE,IAAiB,GAAG,QAAQ,CAsC5E;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,WAAW,CAAA;CAAE,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAErG,wBAAgB,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,GAAE,IAAiB,GAAG,OAAO,CAMpI;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,QAAQ,GAAE,YAA+B,GAAG,MAAM,CAyD9J"}
|
|
@@ -44,32 +44,6 @@ function askOpenness(ask, now = new Date()) {
|
|
|
44
44
|
return { open: false, why: "ended" };
|
|
45
45
|
return { open: true };
|
|
46
46
|
}
|
|
47
|
-
/**
|
|
48
|
-
* Whether **this deployment** can take an answer to this ask — which is the
|
|
49
|
-
* question a submit button is really asking, and a strictly harder one than
|
|
50
|
-
* `askOpenness`.
|
|
51
|
-
*
|
|
52
|
-
* The board learned this first. The public index returns every claim
|
|
53
|
-
* collection on the network, and most belong to other projects: an IXO World
|
|
54
|
-
* invoice, somebody's device telemetry, a protocol nobody here has heard of.
|
|
55
|
-
* They are open, they pay, they collect answers — through their own
|
|
56
|
-
* application. Ours cannot make their claims, and the chain agrees: their
|
|
57
|
-
* escrow account never granted this deployment's gate the right to admit a
|
|
58
|
-
* stranger, so every submission from here is refused after the work is done.
|
|
59
|
-
*
|
|
60
|
-
* That grant is the whole test. It is not a heuristic about naming or
|
|
61
|
-
* shape — it is the same fact the gate itself re-checks before it signs, so
|
|
62
|
-
* a door drawn on this answer is a door that opens.
|
|
63
|
-
*
|
|
64
|
-
* **Deliberately not tested: published criteria.** An Openhands ask may
|
|
65
|
-
* carry no `DoneMeans` and be checked by whoever posted it — the submit page
|
|
66
|
-
* says so in its own footnote. Reading their absence as "foreign" would take
|
|
67
|
-
* the door off honest asks whose poster reviews by hand.
|
|
68
|
-
*
|
|
69
|
-
* `authorized` is the set `takeableAdmins()` returns: admins that granted
|
|
70
|
-
* this gate. An RPC that fails yields an empty set, which shows no door — the
|
|
71
|
-
* safe direction, since the gate would refuse anyway.
|
|
72
|
-
*/
|
|
73
47
|
function askDoor(ask, authorized, now = new Date()) {
|
|
74
48
|
/* The chain's own word and the clock first: an ask that is closed is closed
|
|
75
49
|
whoever posted it, and "closed" is the more useful thing to be told. */
|
|
@@ -95,6 +69,16 @@ function askDoor(ask, authorized, now = new Date()) {
|
|
|
95
69
|
*/
|
|
96
70
|
function standingLine(ask, openness = askOpenness(ask)) {
|
|
97
71
|
if (!openness.open) {
|
|
72
|
+
/*
|
|
73
|
+
* The screen's word, with its reason: the poster whose money is locked
|
|
74
|
+
* behind it, and the worker about to walk somewhere, both need the why
|
|
75
|
+
* more than the date (2026-10-20: a call's entries leg said "3 of 3 spots
|
|
76
|
+
* still pay" while the gate refused every entrant).
|
|
77
|
+
*/
|
|
78
|
+
if (openness.why === "refused")
|
|
79
|
+
return openness.reason ? `${openness.reason} This ask takes no answers here.` : "Openhands Network doesn't carry this ask, so it takes no answers here.";
|
|
80
|
+
if (openness.why === "held")
|
|
81
|
+
return `This ask is being looked at before it takes answers.${openness.reason ? ` ${openness.reason}` : ""}`;
|
|
98
82
|
/*
|
|
99
83
|
* The one reason that is not about this ask running out of anything. An
|
|
100
84
|
* ask posted by another application is still open, still paying, still
|
|
@@ -112,6 +96,10 @@ function standingLine(ask, openness = askOpenness(ask)) {
|
|
|
112
96
|
* shrug and is actually a falsehood.
|
|
113
97
|
*/
|
|
114
98
|
if (openness.why === "filled") {
|
|
99
|
+
/* Answers still undecided on an ask a person gives the final OK on are held for them, not refused. */
|
|
100
|
+
const held = ask.count - ask.approved - ask.rejected;
|
|
101
|
+
if (held > 0 && ask.approver)
|
|
102
|
+
return `This ask has taken all the answers it can. ${held === 1 ? "One is" : `${held} are`} waiting for the poster's OK.`;
|
|
115
103
|
return ask.approved > 0
|
|
116
104
|
? "Every payout on this ask has been made."
|
|
117
105
|
: "This ask has taken all the answers it can, and none was approved.";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openness.js","sourceRoot":"","sources":["../../../src/data/openness.ts"],"names":[],"mappings":";;AAoCA,kCAsCC;
|
|
1
|
+
{"version":3,"file":"openness.js","sourceRoot":"","sources":["../../../src/data/openness.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/data/queue.d.ts
CHANGED
|
@@ -38,7 +38,24 @@ export interface Waiting {
|
|
|
38
38
|
* it is the one non-terminal verdict, explicitly re-evaluatable.
|
|
39
39
|
*/
|
|
40
40
|
why: "unjudged" | "flagged";
|
|
41
|
+
/** A person gives the final OK at the oracle (the deed's `approver` link): who, as an ixo1 address. Never signed on chain from here. */
|
|
42
|
+
approver?: string | null;
|
|
43
|
+
/** The ask's claim protocol: the engine manifest that holds the person's questions. */
|
|
44
|
+
protocol?: string;
|
|
41
45
|
}
|
|
46
|
+
export interface LinkedRow {
|
|
47
|
+
id: string;
|
|
48
|
+
linkedEntity?: {
|
|
49
|
+
id?: string;
|
|
50
|
+
relationship?: string;
|
|
51
|
+
}[] | null;
|
|
52
|
+
}
|
|
53
|
+
/** The ixo1 address an entity's `approver` link names, or null. */
|
|
54
|
+
export declare const approverOf: (row: LinkedRow) => string | null;
|
|
55
|
+
/** A checker looked and handed it back to a person (see `Waiting.why`). */
|
|
56
|
+
export declare const FLAGGED = 5;
|
|
57
|
+
/** A GraphQL list literal of strings. */
|
|
58
|
+
export declare const list: (values: readonly string[]) => string;
|
|
42
59
|
/**
|
|
43
60
|
* Everything unjudged on every ask this address owns or may judge, oldest first.
|
|
44
61
|
*
|
|
@@ -46,4 +63,13 @@ export interface Waiting {
|
|
|
46
63
|
* person who has been waiting longest is the one owed an answer.
|
|
47
64
|
*/
|
|
48
65
|
export declare function waitingOn(address: string, limit?: number): Promise<Waiting[]>;
|
|
66
|
+
/**
|
|
67
|
+
* The asks this address posted that a person gives the final OK on (the deed's `approver` link): what its Me page
|
|
68
|
+
* keeps checking on for, silently (`ensureReviewing`). Open or recently ended ones only, newest first.
|
|
69
|
+
*/
|
|
70
|
+
export declare function checkingAsksOf(address: string, now?: number): Promise<{
|
|
71
|
+
collectionId: string;
|
|
72
|
+
approver: string;
|
|
73
|
+
endsAt: string | null;
|
|
74
|
+
}[]>;
|
|
49
75
|
//# sourceMappingURL=queue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/data/queue.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,OAAO;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/C,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,GAAG,EAAE,UAAU,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/data/queue.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,OAAO;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/C,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,GAAG,EAAE,UAAU,GAAG,SAAS,CAAC;IAC5B,wIAAwI;IACxI,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI,CAAC;CAChE;AAED,mEAAmE;AACnE,eAAO,MAAM,UAAU,GAAI,KAAK,SAAS,KAAG,MAAM,GAAG,IAAoJ,CAAC;AAmC1M,2EAA2E;AAC3E,eAAO,MAAM,OAAO,IAAI,CAAC;AAEzB,yCAAyC;AACzC,eAAO,MAAM,IAAI,GAAI,QAAQ,SAAS,MAAM,EAAE,WAAmE,CAAC;AAgClH;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CA6E/E;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,CAAC,CAgBpJ"}
|
package/dist/cjs/data/queue.js
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.list = exports.FLAGGED = exports.approverOf = void 0;
|
|
3
4
|
exports.waitingOn = waitingOn;
|
|
5
|
+
exports.checkingAsksOf = checkingAsksOf;
|
|
4
6
|
const balance_ts_1 = require("./balance.js");
|
|
5
7
|
const gql_ts_1 = require("./gql.js");
|
|
6
8
|
const paged_ts_1 = require("./paged.js");
|
|
7
9
|
const profiles_ts_1 = require("./profiles.js");
|
|
8
10
|
const format_ts_1 = require("./format.js");
|
|
11
|
+
/** The ixo1 address an entity's `approver` link names, or null. */
|
|
12
|
+
const approverOf = (row) => row.linkedEntity?.find((one) => one.relationship === "approver" && one.id?.startsWith("did:ixo:ixo1"))?.id?.slice("did:ixo:".length) ?? null;
|
|
13
|
+
exports.approverOf = approverOf;
|
|
9
14
|
/*
|
|
10
15
|
* The chain's own rule, and the reason this queue exists.
|
|
11
16
|
*
|
|
@@ -19,8 +24,11 @@ const format_ts_1 = require("./format.js");
|
|
|
19
24
|
* ever shown. The thread said "needs a person" and offered nobody a way to be
|
|
20
25
|
* that person.
|
|
21
26
|
*/
|
|
22
|
-
|
|
27
|
+
/** A checker looked and handed it back to a person (see `Waiting.why`). */
|
|
28
|
+
exports.FLAGGED = 5;
|
|
29
|
+
/** A GraphQL list literal of strings. */
|
|
23
30
|
const list = (values) => `[${values.map((value) => JSON.stringify(value)).join(", ")}]`;
|
|
31
|
+
exports.list = list;
|
|
24
32
|
/**
|
|
25
33
|
* The admin accounts this address may judge for, read from its authz grants.
|
|
26
34
|
*
|
|
@@ -65,37 +73,49 @@ async function waitingOn(address, limit = 40) {
|
|
|
65
73
|
become an empty queue, which is the one answer a queue must never give
|
|
66
74
|
falsely — "nobody is waiting on you". The route says "unavailable"
|
|
67
75
|
instead (app/api/waiting). */
|
|
68
|
-
const [owned, admins] = await Promise.all([
|
|
76
|
+
const [owned, admins, approving] = await Promise.all([
|
|
69
77
|
(0, gql_ts_1.gql)(`query { entities(filter: {owner: {equalTo: ${JSON.stringify(address)}}}, first: 60) { nodes { id } } }`),
|
|
70
|
-
judgedAdmins(address)
|
|
78
|
+
judgedAdmins(address),
|
|
79
|
+
/* Asks that name this address as the person who gives the final OK (chain/entityShape.ts `approverLink`). */
|
|
80
|
+
(0, gql_ts_1.gql)(`query { iids(filter: {linkedEntity: {contains: [{id: ${JSON.stringify(`did:ixo:${address}`)}, relationship: "approver"}]}}, first: 60) { nodes { id } } }`)
|
|
71
81
|
]);
|
|
72
|
-
const
|
|
82
|
+
const ownedDids = owned.entities.nodes.map((entity) => entity.id);
|
|
83
|
+
const entityDids = [...new Set([...ownedDids, ...approving.iids.nodes.map((row) => row.id)])];
|
|
73
84
|
if (entityDids.length === 0 && admins.length === 0)
|
|
74
85
|
return [];
|
|
86
|
+
/* Which of the poster's own asks a person approves, and who: theirs to answer, not this queue's, unless it is them. */
|
|
87
|
+
const approvers = new Map(approving.iids.nodes.map((row) => [row.id, address]));
|
|
75
88
|
/* Two reads rather than one `or`: the asks this address posted, and the
|
|
76
89
|
asks whose admin account granted it the right to judge. A collection
|
|
77
90
|
found both ways is one collection. */
|
|
78
91
|
const [posted, judged] = await Promise.all([
|
|
79
92
|
entityDids.length > 0
|
|
80
|
-
? (0, gql_ts_1.gql)(`query { claimCollections(filter: {entity: {in: ${list(entityDids)}}}) { nodes { id entity protocol admin payments } } }`)
|
|
93
|
+
? (0, gql_ts_1.gql)(`query { claimCollections(filter: {entity: {in: ${(0, exports.list)(entityDids)}}}) { nodes { id entity protocol admin payments } } }`)
|
|
81
94
|
: null,
|
|
82
95
|
admins.length > 0
|
|
83
|
-
? (0, gql_ts_1.gql)(`query { claimCollections(filter: {admin: {in: ${list(admins)}}}) { nodes { id entity protocol admin payments } } }`)
|
|
96
|
+
? (0, gql_ts_1.gql)(`query { claimCollections(filter: {admin: {in: ${(0, exports.list)(admins)}}}) { nodes { id entity protocol admin payments } } }`)
|
|
84
97
|
: null
|
|
85
98
|
]);
|
|
86
99
|
const rows = [...new Map([...(posted?.claimCollections.nodes ?? []), ...(judged?.claimCollections.nodes ?? [])].map((row) => [String(row.id), row])).values()];
|
|
87
100
|
if (rows.length === 0)
|
|
88
101
|
return [];
|
|
89
|
-
const [claims, names] = await Promise.all([
|
|
90
|
-
(0, gql_ts_1.gql)(`query { claims(filter: {collectionId: {in: ${list(rows.map((row) => row.id))}}}, first: ${limit * 3}) {
|
|
102
|
+
const [claims, names, personal] = await Promise.all([
|
|
103
|
+
(0, gql_ts_1.gql)(`query { claims(filter: {collectionId: {in: ${(0, exports.list)(rows.map((row) => row.id))}}}, first: ${limit * 3}) {
|
|
91
104
|
nodes { claimId collectionId agentAddress submissionDate evaluationByClaimId { status } }
|
|
92
105
|
} }`),
|
|
93
106
|
/* By the ask's entity — the protocol only ever equalled it on the old shape; see threads.ts. */
|
|
94
|
-
(0, profiles_ts_1.entityNames)(rows.map((row) => row.entity)).catch(() => new Map())
|
|
107
|
+
(0, profiles_ts_1.entityNames)(rows.map((row) => row.entity)).catch(() => new Map()),
|
|
108
|
+
/* Every ask here that a person approves, however it was found (posted, judged): never ruled on chain from this queue. */
|
|
109
|
+
(0, gql_ts_1.gql)(`query { iids(filter: {id: {in: ${(0, exports.list)([...new Set(rows.map((row) => row.entity))])}}, linkedEntity: {contains: [{relationship: "approver"}]}}) { nodes { id linkedEntity } } }`)
|
|
95
110
|
]);
|
|
111
|
+
for (const row of personal.iids.nodes) {
|
|
112
|
+
const who = (0, exports.approverOf)(row);
|
|
113
|
+
if (who && !approvers.has(row.id))
|
|
114
|
+
approvers.set(row.id, who);
|
|
115
|
+
}
|
|
96
116
|
const byId = new Map(rows.map((row) => [row.id, row]));
|
|
97
117
|
return claims.claims.nodes
|
|
98
|
-
.filter((claim) => !claim.evaluationByClaimId || claim.evaluationByClaimId.status === FLAGGED)
|
|
118
|
+
.filter((claim) => !claim.evaluationByClaimId || claim.evaluationByClaimId.status === exports.FLAGGED)
|
|
99
119
|
.map((claim) => {
|
|
100
120
|
const collection = byId.get(String(claim.collectionId));
|
|
101
121
|
if (!collection)
|
|
@@ -109,11 +129,36 @@ async function waitingOn(address, limit = 40) {
|
|
|
109
129
|
pays: (0, format_ts_1.approvalAmount)(collection.payments),
|
|
110
130
|
admin: collection.admin,
|
|
111
131
|
entityDid: collection.entity,
|
|
112
|
-
why: claim.evaluationByClaimId?.status === FLAGGED ? "flagged" : "unjudged"
|
|
132
|
+
why: claim.evaluationByClaimId?.status === exports.FLAGGED ? "flagged" : "unjudged",
|
|
133
|
+
approver: approvers.get(collection.entity) ?? null,
|
|
134
|
+
protocol: collection.protocol
|
|
113
135
|
};
|
|
114
136
|
})
|
|
115
|
-
|
|
137
|
+
/* An ask a person approves waits on that person only. */
|
|
138
|
+
.filter((waiting) => waiting !== null && (!waiting.approver || waiting.approver === address))
|
|
116
139
|
.sort((first, second) => (first.submittedAt ?? "").localeCompare(second.submittedAt ?? ""))
|
|
117
140
|
.slice(0, limit);
|
|
118
141
|
}
|
|
142
|
+
/**
|
|
143
|
+
* The asks this address posted that a person gives the final OK on (the deed's `approver` link): what its Me page
|
|
144
|
+
* keeps checking on for, silently (`ensureReviewing`). Open or recently ended ones only, newest first.
|
|
145
|
+
*/
|
|
146
|
+
async function checkingAsksOf(address, now = Date.now()) {
|
|
147
|
+
if (!address)
|
|
148
|
+
return [];
|
|
149
|
+
const owned = await (0, gql_ts_1.gql)(`query { entities(filter: {owner: {equalTo: ${JSON.stringify(address)}}}, first: 60) { nodes { id } } }`);
|
|
150
|
+
const ids = owned.entities.nodes.map((entity) => entity.id);
|
|
151
|
+
if (ids.length === 0)
|
|
152
|
+
return [];
|
|
153
|
+
const linked = await (0, gql_ts_1.gql)(`query { iids(filter: {id: {in: ${(0, exports.list)(ids)}}, linkedEntity: {contains: [{relationship: "approver"}]}}) { nodes { id linkedEntity } } }`);
|
|
154
|
+
const approvers = new Map(linked.iids.nodes.map((row) => [row.id, (0, exports.approverOf)(row)]).filter((pair) => pair[1] !== null));
|
|
155
|
+
if (approvers.size === 0)
|
|
156
|
+
return [];
|
|
157
|
+
const collections = await (0, gql_ts_1.gql)(`query { claimCollections(filter: {entity: {in: ${(0, exports.list)([...approvers.keys()])}}}) { nodes { id entity endDate } } }`);
|
|
158
|
+
/* Two days past its end a grant would add nothing (personReview.ts `grantWindow`). */
|
|
159
|
+
return collections.claimCollections.nodes
|
|
160
|
+
.filter((row) => !row.endDate || Date.parse(`${row.endDate.replace(/Z?$/, "Z")}`) > now - 2 * 86_400_000)
|
|
161
|
+
.map((row) => ({ collectionId: String(row.id), approver: approvers.get(row.entity), endsAt: row.endDate ?? null }))
|
|
162
|
+
.sort((a, b) => Number(b.collectionId) - Number(a.collectionId));
|
|
163
|
+
}
|
|
119
164
|
//# sourceMappingURL=queue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/data/queue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/data/queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,6 +44,8 @@ export interface ReceiptData {
|
|
|
44
44
|
doneMeansUrl?: string | null;
|
|
45
45
|
/** Paid off chain by the org's facilitator (#payoutTerms). */
|
|
46
46
|
payout?: PayoutTerms;
|
|
47
|
+
/** The person who gives the final OK (the ask's `approver` link), as an ixo1 address; absent when the checker decides. */
|
|
48
|
+
approver?: string | null;
|
|
47
49
|
/** The org that backs `payout` (backingOrgOf): the collection's org (legacy), or the deed's two-sided requestedBy/request org (IXO shape). */
|
|
48
50
|
payoutOrg?: string;
|
|
49
51
|
/**
|
|
@@ -152,8 +154,25 @@ type Connection = {
|
|
|
152
154
|
};
|
|
153
155
|
/** What a paged answer says about where it stands. Exported for the tests. */
|
|
154
156
|
export declare function pageFrom(request: ReceiptPageRequest, recent: Connection | undefined, waiting: Connection | undefined): ClaimsPage;
|
|
157
|
+
/**
|
|
158
|
+
* Next's data-cache hint for a receipt read: seconds, or 0 for none.
|
|
159
|
+
*
|
|
160
|
+
* The data cache answers a query it has seen with what it held last and
|
|
161
|
+
* refreshes behind it, however long ago that was. That is right for a page a
|
|
162
|
+
* crowd reads and wrong for "is my answer there": a query that names an
|
|
163
|
+
* answer or its author was often first asked before the answer existed, and
|
|
164
|
+
* then hands that copy back minutes later. On testnet #44101 (2026-10-21) an
|
|
165
|
+
* entrant's check_verdict was told "Nothing on #44101 yet" about an entry
|
|
166
|
+
* approved and paid, from a read made 22 minutes before it was filed, and the
|
|
167
|
+
* poster's read_ask showed "4 of 4 spots" an hour after the first was taken.
|
|
168
|
+
* A `fresh` read asks the index itself.
|
|
169
|
+
*/
|
|
170
|
+
export declare const receiptRevalidate: (options: {
|
|
171
|
+
fresh?: boolean;
|
|
172
|
+
}) => number;
|
|
155
173
|
export declare function loadReceipt(collectionId: string, options?: {
|
|
156
174
|
claims?: ReceiptClaims;
|
|
175
|
+
fresh?: boolean;
|
|
157
176
|
}): Promise<ReceiptData | null>;
|
|
158
177
|
/**
|
|
159
178
|
* One claim, by its id — the question a waiting submitter, a membership check
|