@ixo/openhands-sdk 0.4.0 → 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/funding.d.ts.map +1 -1
- package/dist/cjs/campaign/funding.js +1 -1
- package/dist/cjs/campaign/funding.js.map +1 -1
- package/dist/cjs/campaign/pool.js +3 -3
- package/dist/cjs/campaign/pool.js.map +1 -1
- package/dist/cjs/campaign/record.d.ts.map +1 -1
- package/dist/cjs/campaign/record.js +1 -1
- package/dist/cjs/campaign/record.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/campaign/spots.js +4 -4
- package/dist/cjs/campaign/spots.js.map +1 -1
- package/dist/cjs/campaign/treasurySends.d.ts.map +1 -1
- package/dist/cjs/campaign/treasurySends.js +3 -3
- package/dist/cjs/campaign/treasurySends.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 +27 -10
- 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 +6 -0
- package/dist/cjs/chain/entityShape.d.ts.map +1 -1
- package/dist/cjs/chain/entityShape.js +24 -4
- 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 +12 -4
- package/dist/cjs/chain/money.d.ts.map +1 -1
- package/dist/cjs/chain/money.js +20 -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 +2 -2
- package/dist/cjs/chain.d.ts.map +1 -1
- package/dist/cjs/chain.js +7 -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 +63 -33
- package/dist/cjs/data/install.d.ts.map +1 -1
- package/dist/cjs/data/install.js +88 -45
- 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/funding.d.ts.map +1 -1
- package/dist/esm/campaign/funding.js +2 -2
- package/dist/esm/campaign/funding.js.map +1 -1
- package/dist/esm/campaign/pool.js +3 -3
- package/dist/esm/campaign/pool.js.map +1 -1
- package/dist/esm/campaign/record.d.ts.map +1 -1
- package/dist/esm/campaign/record.js +2 -2
- package/dist/esm/campaign/record.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/campaign/spots.js +4 -4
- package/dist/esm/campaign/spots.js.map +1 -1
- package/dist/esm/campaign/treasurySends.d.ts.map +1 -1
- package/dist/esm/campaign/treasurySends.js +4 -4
- package/dist/esm/campaign/treasurySends.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 +29 -12
- 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 +6 -0
- package/dist/esm/chain/entityShape.d.ts.map +1 -1
- package/dist/esm/chain/entityShape.js +20 -3
- 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 +12 -4
- package/dist/esm/chain/money.d.ts.map +1 -1
- package/dist/esm/chain/money.js +19 -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 +2 -2
- package/dist/esm/chain.d.ts.map +1 -1
- package/dist/esm/chain.js +2 -2
- 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 +63 -33
- package/dist/esm/data/install.d.ts.map +1 -1
- package/dist/esm/data/install.js +81 -44
- 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
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* The words a person or their agent signs to touch an ask's list, apply to
|
|
4
|
+
* it, read their own invitations, or write their page — one moment, one
|
|
5
|
+
* address, one thing (docs/verified-work-private-calls-thinking.md, §5–§7).
|
|
6
|
+
*
|
|
7
|
+
* Shaped like the gate's own proof (`accountProof.ts` `submitProofMessage`):
|
|
8
|
+
* the worker checks the words first, then the signature, then that the key
|
|
9
|
+
* may act for the address. Pure, shared by the browser, the MCP and the
|
|
10
|
+
* worker, so no two of them can disagree on a colon.
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.checkMessage = exports.checkSeen = exports.checkBody = exports.CHECK_ACTS = exports.handsRemoveMessage = exports.vetMessage = exports.vetBody = exports.vetRequestMessage = exports.vetRequestBody = exports.STAFF_PROOF_MAX_AGE_MS = exports.vettingQueueMessage = exports.vettingMineMessage = exports.handsMessage = exports.NOTICE_KINDS = exports.tellMessage = exports.noticesMessage = exports.callsMessage = exports.LEGACY_WORDS_UNTIL = exports.FUTURE_SKEW_MS = exports.READ_PROOF_MAX_AGE_MS = exports.answersMessage = exports.invitedMessage = exports.applyMessage = exports.inviteOpMessage = exports.inviteOpBody = exports.INVITE_WRITES = exports.INVITE_OPS = void 0;
|
|
14
|
+
exports.inviteOpWords = inviteOpWords;
|
|
15
|
+
exports.vetRequestWords = vetRequestWords;
|
|
16
|
+
exports.vetWords = vetWords;
|
|
17
|
+
exports.checkWords = checkWords;
|
|
18
|
+
exports.readCheckMessage = readCheckMessage;
|
|
19
|
+
exports.readInviteOpMessage = readInviteOpMessage;
|
|
20
|
+
exports.readApplyMessage = readApplyMessage;
|
|
21
|
+
exports.readInvitedMessage = readInvitedMessage;
|
|
22
|
+
exports.readAnswersMessage = readAnswersMessage;
|
|
23
|
+
exports.readLegacyVetRequestMessage = readLegacyVetRequestMessage;
|
|
24
|
+
exports.readCallsMessage = readCallsMessage;
|
|
25
|
+
exports.readNoticesMessage = readNoticesMessage;
|
|
26
|
+
exports.readTellMessage = readTellMessage;
|
|
27
|
+
exports.readHandsMessage = readHandsMessage;
|
|
28
|
+
exports.readVettingMineMessage = readVettingMineMessage;
|
|
29
|
+
exports.readVettingQueueMessage = readVettingQueueMessage;
|
|
30
|
+
exports.readVetRequestMessage = readVetRequestMessage;
|
|
31
|
+
exports.readVetMessage = readVetMessage;
|
|
32
|
+
exports.readHandsRemoveMessage = readHandsRemoveMessage;
|
|
33
|
+
exports.canonicalJson = canonicalJson;
|
|
34
|
+
exports.digestOf = digestOf;
|
|
35
|
+
/**
|
|
36
|
+
* The same window as a submission proof (`accountProof.ts` `PROOF_MAX_AGE_MS`):
|
|
37
|
+
* a day, for phones whose clocks run hours wrong. Restated here rather than
|
|
38
|
+
* imported, because that module carries `@cosmjs/crypto` and this one is read
|
|
39
|
+
* by client islands on the call pages, which sit under a first-load ceiling.
|
|
40
|
+
*/
|
|
41
|
+
const PROOF_MAX_AGE_MS = 24 * 3_600_000;
|
|
42
|
+
/** What a poster (or the agent acting for them) may do to an ask's list. */
|
|
43
|
+
exports.INVITE_OPS = ["add", "list", "revoke", "applications", "decide", "share"];
|
|
44
|
+
/** The acts that change the list: their words carry a digest of what they change (`inviteOpBody`), so a seen proof cannot be replayed for other rows. */
|
|
45
|
+
exports.INVITE_WRITES = ["add", "revoke", "decide", "share"];
|
|
46
|
+
/** What a poster's act changes, as its proof digests it: the items added, the row taken off, the decision. Reads name nothing. */
|
|
47
|
+
const inviteOpBody = (op, body) => op === "add"
|
|
48
|
+
? { items: body["items"] ?? null, note: body["note"] ?? null }
|
|
49
|
+
: op === "revoke"
|
|
50
|
+
? { id: body["id"] ?? null, address: body["address"] ?? null }
|
|
51
|
+
: op === "decide"
|
|
52
|
+
? { address: body["address"] ?? null, decision: body["decision"] ?? null }
|
|
53
|
+
: op === "share"
|
|
54
|
+
? { audience: body["audience"] ?? null, delegation: body["delegation"] ?? null }
|
|
55
|
+
: {};
|
|
56
|
+
exports.inviteOpBody = inviteOpBody;
|
|
57
|
+
/** `invites:<op>:<ask>:<issuer>:<now>`, and `:<digest>` for a write — the poster's side. */
|
|
58
|
+
const inviteOpMessage = (op, collectionId, issuer, now = Date.now(), digest) => `invites:${op}:${collectionId}:${issuer}:${now}${digest ? `:${digest}` : ""}`;
|
|
59
|
+
exports.inviteOpMessage = inviteOpMessage;
|
|
60
|
+
/** The words for one act on the list, digest and all: what the browser and the MCP sign. */
|
|
61
|
+
async function inviteOpWords(op, collectionId, issuer, body, now = Date.now()) {
|
|
62
|
+
return (0, exports.inviteOpMessage)(op, collectionId, issuer, now, exports.INVITE_WRITES.includes(op) ? await digestOf((0, exports.inviteOpBody)(op, body)) : undefined);
|
|
63
|
+
}
|
|
64
|
+
/** `apply:<ask>:<address>:<now>` — somebody asking to enter. */
|
|
65
|
+
const applyMessage = (collectionId, address, now = Date.now()) => `apply:${collectionId}:${address}:${now}`;
|
|
66
|
+
exports.applyMessage = applyMessage;
|
|
67
|
+
/** `invited:<address>:<now>` — somebody reading which asks they were invited to. */
|
|
68
|
+
const invitedMessage = (address, now = Date.now()) => `invited:${address}:${now}`;
|
|
69
|
+
exports.invitedMessage = invitedMessage;
|
|
70
|
+
/** `answers:<ask>:<address>:<now>` — somebody reading a private ask's answers. Its own words, bound to the one ask and short-lived (`READ_PROOF_MAX_AGE_MS`), so a proof seen once neither reads invitations nor lasts a day (review M1). */
|
|
71
|
+
const answersMessage = (collectionId, address, now = Date.now()) => `answers:${collectionId}:${address}:${now}`;
|
|
72
|
+
exports.answersMessage = answersMessage;
|
|
73
|
+
/** A read signed on the spot, like a staff act: minutes, not the day a phone's clock needs. */
|
|
74
|
+
exports.READ_PROOF_MAX_AGE_MS = 15 * 60_000;
|
|
75
|
+
/** How far ahead of the server a proof that orders rows (a vetting request) may be signed: clocks drift, but a request from tomorrow would block today's decisions (review L1). */
|
|
76
|
+
exports.FUTURE_SKEW_MS = 5 * 60_000;
|
|
77
|
+
/**
|
|
78
|
+
* The words MCP builds from before 2026-10-22 sign, which npx may keep cached: `vet-request:<address>:<now>` (no
|
|
79
|
+
* digest) and `invited:<address>:<now>` for reading one's own vetting. Accepted until this moment so those builds keep
|
|
80
|
+
* working while people refresh (review M2). Remove the legacy readers in `workers/src/invites/handle.ts` after it.
|
|
81
|
+
*/
|
|
82
|
+
exports.LEGACY_WORDS_UNTIL = Date.parse("2026-11-05T00:00:00Z");
|
|
83
|
+
/** `calls:<address>:<now>` — a poster reading their own open calls that have a list, to invite somebody from a page. */
|
|
84
|
+
const callsMessage = (address, now = Date.now()) => `calls:${address}:${now}`;
|
|
85
|
+
exports.callsMessage = callsMessage;
|
|
86
|
+
/** `notices:<address>:<now>` — somebody reading, or marking read, what reached them. */
|
|
87
|
+
const noticesMessage = (address, now = Date.now()) => `notices:${address}:${now}`;
|
|
88
|
+
exports.noticesMessage = noticesMessage;
|
|
89
|
+
/** `tell:<ask>:<address>:<now>` — somebody asking to be told about one ask, on this phone. */
|
|
90
|
+
const tellMessage = (collectionId, address, now = Date.now()) => `tell:${collectionId}:${address}:${now}`;
|
|
91
|
+
exports.tellMessage = tellMessage;
|
|
92
|
+
/**
|
|
93
|
+
* What reaches a person (docs/verified-work-private-calls-thinking.md, the notices round): each one a row, read three ways.
|
|
94
|
+
* `ok-waiting` / `ok-reminder`: an answer (a review's report) waits for this person's final OK, and still waits days
|
|
95
|
+
* later (workers/src/invites/waiting.ts).
|
|
96
|
+
*/
|
|
97
|
+
exports.NOTICE_KINDS = ["application", "link-opened", "admitted", "declined", "invited", "ok-waiting", "ok-reminder"];
|
|
98
|
+
/** `hands:<address>:<prefAt>:<digest>` — a person writing their own page; the digest is over the page's canonical JSON. */
|
|
99
|
+
const handsMessage = (address, prefAt, digest) => `hands:${address}:${prefAt}:${digest}`;
|
|
100
|
+
exports.handsMessage = handsMessage;
|
|
101
|
+
/** `vetting-mine:<address>:<now>` — a person reading where their own vetting stands. Its own words, so a proof made for another read unlocks nothing here (review M2). */
|
|
102
|
+
const vettingMineMessage = (address, now = Date.now()) => `vetting-mine:${address}:${now}`;
|
|
103
|
+
exports.vettingMineMessage = vettingMineMessage;
|
|
104
|
+
/** `vetting-queue:<by>:<now>` — a vetter reading the staff queue. */
|
|
105
|
+
const vettingQueueMessage = (by, now = Date.now()) => `vetting-queue:${by}:${now}`;
|
|
106
|
+
exports.vettingQueueMessage = vettingQueueMessage;
|
|
107
|
+
/** A staff act is signed on the spot, so its proof lives minutes, not the day a phone's clock needs. */
|
|
108
|
+
exports.STAFF_PROOF_MAX_AGE_MS = 15 * 60_000;
|
|
109
|
+
/** What a vetting request says, as its proof digests it. */
|
|
110
|
+
const vetRequestBody = (body) => ({ note: body["note"] ?? null });
|
|
111
|
+
exports.vetRequestBody = vetRequestBody;
|
|
112
|
+
/** `vet-request:<address>:<now>:<digest>` — a person asking IXO to vet their page; the digest covers the note (review L2). */
|
|
113
|
+
const vetRequestMessage = (address, now = Date.now(), digest = "") => `vet-request:${address}:${now}:${digest}`;
|
|
114
|
+
exports.vetRequestMessage = vetRequestMessage;
|
|
115
|
+
/** The words a person signs to ask for vetting, digest and all. */
|
|
116
|
+
async function vetRequestWords(address, body, now = Date.now()) {
|
|
117
|
+
return (0, exports.vetRequestMessage)(address, now, await digestOf((0, exports.vetRequestBody)(body)));
|
|
118
|
+
}
|
|
119
|
+
/** What a vet decision says, as its proof digests it: the decision, the page (its signed moment) it is about, the note and the scope (review M1). */
|
|
120
|
+
const vetBody = (body) => ({ decision: body["decision"] ?? null, prefAt: body["prefAt"] ?? null, note: body["note"] ?? null, scope: body["scope"] ?? null });
|
|
121
|
+
exports.vetBody = vetBody;
|
|
122
|
+
/** `vet:<address>:<by>:<decision>:<now>:<digest>` — a vetter signing what they decided about one version of a page. */
|
|
123
|
+
const vetMessage = (address, by, decision, now = Date.now(), digest = "") => `vet:${address}:${by}:${decision}:${now}:${digest}`;
|
|
124
|
+
exports.vetMessage = vetMessage;
|
|
125
|
+
/** The words a vetter signs for a decision, digest and all: what the browser signs. */
|
|
126
|
+
async function vetWords(address, by, body, now = Date.now()) {
|
|
127
|
+
return (0, exports.vetMessage)(address, by, body.decision, now, await digestOf((0, exports.vetBody)(body)));
|
|
128
|
+
}
|
|
129
|
+
/** `hands-remove:<address>:<prefAt>` — a person taking their page down. The moment orders it against every write of the page, so an older page replayed cannot bring it back. */
|
|
130
|
+
const handsRemoveMessage = (address, prefAt) => `hands-remove:${address}:${prefAt}`;
|
|
131
|
+
exports.handsRemoveMessage = handsRemoveMessage;
|
|
132
|
+
/**
|
|
133
|
+
* Independent checks of a profile (docs/independent-verification.md): a person asks a provider,
|
|
134
|
+
* the provider (or, for IXO, one of its approvers) decides, and the person may take a check off
|
|
135
|
+
* their page. One family of words, `checks:<act>:<signer>:<now>:<digest>`, the digest over every
|
|
136
|
+
* other field the request carries, so a proof seen once cannot carry other values.
|
|
137
|
+
*/
|
|
138
|
+
exports.CHECK_ACTS = ["request", "mine", "queue", "decide", "upload", "remove", "given", "withdraw"];
|
|
139
|
+
/** The fields a check proof digests: everything but the signer and the proof itself (`onBehalfOf` is signed, so a proof cannot be replayed as another principal). */
|
|
140
|
+
const checkBody = (body) => {
|
|
141
|
+
const { address: _address, by: _by, proof: _proof, ...rest } = body;
|
|
142
|
+
return rest;
|
|
143
|
+
};
|
|
144
|
+
exports.checkBody = checkBody;
|
|
145
|
+
/**
|
|
146
|
+
* What an approver read, as one digest (`seen` on an approve): who it is about, the offer, the one line,
|
|
147
|
+
* the links and the request's version, which goes up on every edit. The worker refuses an approve whose
|
|
148
|
+
* `seen` is not the request as it is now, so a request changed after it was opened is never signed.
|
|
149
|
+
*/
|
|
150
|
+
const checkSeen = (row) => digestOf({ subject: row.subject, offer: row.offer_id, claimKind: row.claim_kind, statement: row.statement, evidence: row.evidence, version: row.version });
|
|
151
|
+
exports.checkSeen = checkSeen;
|
|
152
|
+
const checkMessage = (act, signer, now = Date.now(), digest = "") => `checks:${act}:${signer}:${now}:${digest}`;
|
|
153
|
+
exports.checkMessage = checkMessage;
|
|
154
|
+
/** The words to sign for a check act, digest and all. */
|
|
155
|
+
async function checkWords(act, signer, body, now = Date.now()) {
|
|
156
|
+
return (0, exports.checkMessage)(act, signer, now, await digestOf((0, exports.checkBody)(body)));
|
|
157
|
+
}
|
|
158
|
+
/** Signed on the spot, like a staff act: minutes, not a day. */
|
|
159
|
+
function readCheckMessage(message, expected, now = Date.now(), maxAgeMs = exports.STAFF_PROOF_MAX_AGE_MS) {
|
|
160
|
+
const parts = message.split(":");
|
|
161
|
+
if (parts.length !== 5 || parts[0] !== "checks" || parts[1] !== expected.act || parts[2] !== expected.signer || parts[4] !== expected.digest)
|
|
162
|
+
return "mismatch";
|
|
163
|
+
return fresh(parts[3], now, maxAgeMs);
|
|
164
|
+
}
|
|
165
|
+
/** The four shapes read back: the right words, about the right thing, fresh. */
|
|
166
|
+
function readInviteOpMessage(message, expected, now = Date.now(), maxAgeMs = PROOF_MAX_AGE_MS) {
|
|
167
|
+
const parts = message.split(":");
|
|
168
|
+
if (parts.length !== (expected.digest ? 6 : 5) || parts[0] !== "invites")
|
|
169
|
+
return "mismatch";
|
|
170
|
+
if (parts[1] !== expected.op || parts[2] !== expected.collectionId || parts[3] !== expected.issuer)
|
|
171
|
+
return "mismatch";
|
|
172
|
+
if (expected.digest && parts[5] !== expected.digest)
|
|
173
|
+
return "mismatch";
|
|
174
|
+
return fresh(parts[4], now, maxAgeMs);
|
|
175
|
+
}
|
|
176
|
+
function readApplyMessage(message, expected, now = Date.now(), maxAgeMs = PROOF_MAX_AGE_MS) {
|
|
177
|
+
const parts = message.split(":");
|
|
178
|
+
if (parts.length !== 4 || parts[0] !== "apply" || parts[1] !== expected.collectionId || parts[2] !== expected.address)
|
|
179
|
+
return "mismatch";
|
|
180
|
+
return fresh(parts[3], now, maxAgeMs);
|
|
181
|
+
}
|
|
182
|
+
function readInvitedMessage(message, expected, now = Date.now(), maxAgeMs = PROOF_MAX_AGE_MS) {
|
|
183
|
+
const parts = message.split(":");
|
|
184
|
+
if (parts.length !== 3 || parts[0] !== "invited" || parts[1] !== expected.address)
|
|
185
|
+
return "mismatch";
|
|
186
|
+
return fresh(parts[2], now, maxAgeMs);
|
|
187
|
+
}
|
|
188
|
+
function readAnswersMessage(message, expected, now = Date.now(), maxAgeMs = exports.READ_PROOF_MAX_AGE_MS) {
|
|
189
|
+
const parts = message.split(":");
|
|
190
|
+
if (parts.length !== 4 || parts[0] !== "answers" || parts[1] !== expected.collectionId || parts[2] !== expected.address)
|
|
191
|
+
return "mismatch";
|
|
192
|
+
return fresh(parts[3], now, maxAgeMs);
|
|
193
|
+
}
|
|
194
|
+
/** The old, digest-less `vet-request:<address>:<now>` (see `LEGACY_WORDS_UNTIL`): "mismatch" once the window closes. */
|
|
195
|
+
function readLegacyVetRequestMessage(message, expected, now = Date.now(), maxAgeMs = PROOF_MAX_AGE_MS) {
|
|
196
|
+
const parts = message.split(":");
|
|
197
|
+
if (now >= exports.LEGACY_WORDS_UNTIL || parts.length !== 3 || parts[0] !== "vet-request" || parts[1] !== expected.address)
|
|
198
|
+
return "mismatch";
|
|
199
|
+
return fresh(parts[2], now, maxAgeMs);
|
|
200
|
+
}
|
|
201
|
+
function readCallsMessage(message, expected, now = Date.now(), maxAgeMs = PROOF_MAX_AGE_MS) {
|
|
202
|
+
const parts = message.split(":");
|
|
203
|
+
if (parts.length !== 3 || parts[0] !== "calls" || parts[1] !== expected.address)
|
|
204
|
+
return "mismatch";
|
|
205
|
+
return fresh(parts[2], now, maxAgeMs);
|
|
206
|
+
}
|
|
207
|
+
function readNoticesMessage(message, expected, now = Date.now(), maxAgeMs = PROOF_MAX_AGE_MS) {
|
|
208
|
+
const parts = message.split(":");
|
|
209
|
+
if (parts.length !== 3 || parts[0] !== "notices" || parts[1] !== expected.address)
|
|
210
|
+
return "mismatch";
|
|
211
|
+
return fresh(parts[2], now, maxAgeMs);
|
|
212
|
+
}
|
|
213
|
+
function readTellMessage(message, expected, now = Date.now(), maxAgeMs = PROOF_MAX_AGE_MS) {
|
|
214
|
+
const parts = message.split(":");
|
|
215
|
+
if (parts.length !== 4 || parts[0] !== "tell" || parts[1] !== expected.collectionId || parts[2] !== expected.address)
|
|
216
|
+
return "mismatch";
|
|
217
|
+
return fresh(parts[3], now, maxAgeMs);
|
|
218
|
+
}
|
|
219
|
+
/** A page's proof names its moment (`prefAt`) and its bytes; newest wins, so an old one replayed changes nothing. */
|
|
220
|
+
function readHandsMessage(message, expected) {
|
|
221
|
+
const parts = message.split(":");
|
|
222
|
+
if (parts.length !== 4 || parts[0] !== "hands" || parts[1] !== expected.address)
|
|
223
|
+
return "mismatch";
|
|
224
|
+
return Number(parts[2]) === expected.prefAt && parts[3] === expected.digest ? "ok" : "mismatch";
|
|
225
|
+
}
|
|
226
|
+
function readVettingMineMessage(message, expected, now = Date.now(), maxAgeMs = PROOF_MAX_AGE_MS) {
|
|
227
|
+
const parts = message.split(":");
|
|
228
|
+
if (parts.length !== 3 || parts[0] !== "vetting-mine" || parts[1] !== expected.address)
|
|
229
|
+
return "mismatch";
|
|
230
|
+
return fresh(parts[2], now, maxAgeMs);
|
|
231
|
+
}
|
|
232
|
+
function readVettingQueueMessage(message, expected, now = Date.now(), maxAgeMs = exports.STAFF_PROOF_MAX_AGE_MS) {
|
|
233
|
+
const parts = message.split(":");
|
|
234
|
+
if (parts.length !== 3 || parts[0] !== "vetting-queue" || parts[1] !== expected.by)
|
|
235
|
+
return "mismatch";
|
|
236
|
+
return fresh(parts[2], now, maxAgeMs);
|
|
237
|
+
}
|
|
238
|
+
function readVetRequestMessage(message, expected, now = Date.now(), maxAgeMs = PROOF_MAX_AGE_MS) {
|
|
239
|
+
const parts = message.split(":");
|
|
240
|
+
if (parts.length !== 4 || parts[0] !== "vet-request" || parts[1] !== expected.address || parts[3] !== expected.digest)
|
|
241
|
+
return "mismatch";
|
|
242
|
+
return fresh(parts[2], now, maxAgeMs);
|
|
243
|
+
}
|
|
244
|
+
function readVetMessage(message, expected, now = Date.now(), maxAgeMs = exports.STAFF_PROOF_MAX_AGE_MS) {
|
|
245
|
+
const parts = message.split(":");
|
|
246
|
+
if (parts.length !== 6 || parts[0] !== "vet" || parts[1] !== expected.address || parts[2] !== expected.by || parts[3] !== expected.decision || parts[5] !== expected.digest)
|
|
247
|
+
return "mismatch";
|
|
248
|
+
return fresh(parts[4], now, maxAgeMs);
|
|
249
|
+
}
|
|
250
|
+
/** A removal's proof names whose page and the moment; like a page's, the store decides by the moment, not by the clock. */
|
|
251
|
+
function readHandsRemoveMessage(message, expected) {
|
|
252
|
+
const parts = message.split(":");
|
|
253
|
+
if (parts.length !== 3 || parts[0] !== "hands-remove" || parts[1] !== expected.address)
|
|
254
|
+
return "mismatch";
|
|
255
|
+
return Number(parts[2]) === expected.prefAt ? "ok" : "mismatch";
|
|
256
|
+
}
|
|
257
|
+
function fresh(said, now, maxAgeMs) {
|
|
258
|
+
const at = Number(said);
|
|
259
|
+
if (!Number.isFinite(at))
|
|
260
|
+
return "mismatch";
|
|
261
|
+
/* The same window as a submission proof: a day, for phones whose clocks run hours wrong. */
|
|
262
|
+
return Math.abs(now - at) <= maxAgeMs ? "ok" : "stale";
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* JSON with its keys in order at every depth, so the same page gives the same
|
|
266
|
+
* bytes wherever it is written — the digest a page's proof signs is over this.
|
|
267
|
+
*/
|
|
268
|
+
function canonicalJson(value) {
|
|
269
|
+
const sort = (one) => {
|
|
270
|
+
if (Array.isArray(one))
|
|
271
|
+
return one.map(sort);
|
|
272
|
+
if (one && typeof one === "object") {
|
|
273
|
+
return Object.fromEntries(Object.keys(one)
|
|
274
|
+
.sort()
|
|
275
|
+
.filter((key) => one[key] !== undefined)
|
|
276
|
+
.map((key) => [key, sort(one[key])]));
|
|
277
|
+
}
|
|
278
|
+
return one;
|
|
279
|
+
};
|
|
280
|
+
return JSON.stringify(sort(value));
|
|
281
|
+
}
|
|
282
|
+
/** sha256 of the canonical JSON, hex. Web Crypto, so the browser, the MCP and the worker agree. */
|
|
283
|
+
async function digestOf(value) {
|
|
284
|
+
const bytes = new Uint8Array(await crypto.subtle.digest("SHA-256", new TextEncoder().encode(canonicalJson(value))));
|
|
285
|
+
return Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
286
|
+
}
|
|
287
|
+
// ── a person's page ───────────────────────────────────────────────────────
|
|
288
|
+
/** A handle: lowercase letters, digits and dashes, 3 to 30 long, starting with a letter. */
|
|
289
|
+
//# sourceMappingURL=inviteMessages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inviteMessages.js","sourceRoot":"","sources":["../../../src/chain/inviteMessages.ts"],"names":[],"mappings":";AACA;;;;;;;;;GASG;;;AAkCH,sCAEC;AAiED,0CAEC;AASD,4BAEC;AAiCD,gCAEC;AAGD,4CAIC;AAGD,kDAMC;AAED,4CAIC;AAED,gDAIC;AAED,gDAIC;AAGD,kEAIC;AAED,4CAIC;AAED,gDAIC;AAED,0CAIC;AAGD,4CAIC;AAED,wDAIC;AAED,0DAIC;AAED,sDAIC;AAED,wCAIC;AAGD,wDAIC;AAaD,sCAcC;AAGD,4BAGC;AArRD;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG,EAAE,GAAG,SAAS,CAAC;AAExC,4EAA4E;AAC/D,QAAA,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAGhG,yJAAyJ;AAC5I,QAAA,aAAa,GAAwB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAEvF,kIAAkI;AAC3H,MAAM,YAAY,GAAG,CAAC,EAAY,EAAE,IAA6B,EAA2B,EAAE,CACnG,EAAE,KAAK,KAAK;IACV,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;IAC9D,CAAC,CAAC,EAAE,KAAK,QAAQ;QACf,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE;QAC9D,CAAC,CAAC,EAAE,KAAK,QAAQ;YACf,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE;YAC1E,CAAC,CAAC,EAAE,KAAK,OAAO;gBACd,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE;gBAChF,CAAC,CAAC,EAAE,CAAC;AATF,QAAA,YAAY,gBASV;AAEf,4FAA4F;AACrF,MAAM,eAAe,GAAG,CAAC,EAAY,EAAE,YAAoB,EAAE,MAAc,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,MAAe,EAAU,EAAE,CAC/H,WAAW,EAAE,IAAI,YAAY,IAAI,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AADnE,QAAA,eAAe,mBACoD;AAEhF,4FAA4F;AACrF,KAAK,UAAU,aAAa,CAAC,EAAY,EAAE,YAAoB,EAAE,MAAc,EAAE,IAA6B,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACrI,OAAO,IAAA,uBAAe,EAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAA,oBAAY,EAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACzI,CAAC;AAED,gEAAgE;AACzD,MAAM,YAAY,GAAG,CAAC,YAAoB,EAAE,OAAe,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAU,EAAE,CAAC,SAAS,YAAY,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC;AAA9H,QAAA,YAAY,gBAAkH;AAE3I,oFAAoF;AAC7E,MAAM,cAAc,GAAG,CAAC,OAAe,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAU,EAAE,CAAC,WAAW,OAAO,IAAI,GAAG,EAAE,CAAC;AAA5F,QAAA,cAAc,kBAA8E;AAEzG,6OAA6O;AACtO,MAAM,cAAc,GAAG,CAAC,YAAoB,EAAE,OAAe,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAU,EAAE,CAAC,WAAW,YAAY,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC;AAAlI,QAAA,cAAc,kBAAoH;AAE/I,+FAA+F;AAClF,QAAA,qBAAqB,GAAG,EAAE,GAAG,MAAM,CAAC;AAEjD,mLAAmL;AACtK,QAAA,cAAc,GAAG,CAAC,GAAG,MAAM,CAAC;AAEzC;;;;GAIG;AACU,QAAA,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;AAErE,wHAAwH;AACjH,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAU,EAAE,CAAC,SAAS,OAAO,IAAI,GAAG,EAAE,CAAC;AAAxF,QAAA,YAAY,gBAA4E;AAErG,wFAAwF;AACjF,MAAM,cAAc,GAAG,CAAC,OAAe,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAU,EAAE,CAAC,WAAW,OAAO,IAAI,GAAG,EAAE,CAAC;AAA5F,QAAA,cAAc,kBAA8E;AAEzG,8FAA8F;AACvF,MAAM,WAAW,GAAG,CAAC,YAAoB,EAAE,OAAe,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAU,EAAE,CAAC,QAAQ,YAAY,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC;AAA5H,QAAA,WAAW,eAAiH;AAEzI;;;;GAIG;AACU,QAAA,YAAY,GAAG,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,CAAU,CAAC;AAQpI,2HAA2H;AACpH,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,MAAc,EAAE,MAAc,EAAU,EAAE,CAAC,SAAS,OAAO,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AAAnH,QAAA,YAAY,gBAAuG;AAEhI,0KAA0K;AACnK,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAU,EAAE,CAAC,gBAAgB,OAAO,IAAI,GAAG,EAAE,CAAC;AAArG,QAAA,kBAAkB,sBAAmF;AAElH,qEAAqE;AAC9D,MAAM,mBAAmB,GAAG,CAAC,EAAU,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAU,EAAE,CAAC,iBAAiB,EAAE,IAAI,GAAG,EAAE,CAAC;AAA7F,QAAA,mBAAmB,uBAA0E;AAE1G,wGAAwG;AAC3F,QAAA,sBAAsB,GAAG,EAAE,GAAG,MAAM,CAAC;AAElD,4DAA4D;AACrD,MAAM,cAAc,GAAG,CAAC,IAA6B,EAA2B,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AAA9G,QAAA,cAAc,kBAAgG;AAE3H,8HAA8H;AACvH,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAU,EAAE,CAAC,eAAe,OAAO,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;AAA1H,QAAA,iBAAiB,qBAAyG;AAEvI,mEAAmE;AAC5D,KAAK,UAAU,eAAe,CAAC,OAAe,EAAE,IAA6B,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACpG,OAAO,IAAA,yBAAiB,EAAC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,qJAAqJ;AAC9I,MAAM,OAAO,GAAG,CAAC,IAA6B,EAA2B,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AAAzM,QAAA,OAAO,WAAkM;AAEtN,uHAAuH;AAChH,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAU,EAAE,QAA+B,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAU,EAAE,CAAC,OAAO,OAAO,IAAI,EAAE,IAAI,QAAQ,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;AAA1K,QAAA,UAAU,cAAgK;AAEvL,uFAAuF;AAChF,KAAK,UAAU,QAAQ,CAAC,OAAe,EAAE,EAAU,EAAE,IAAwF,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACpK,OAAO,IAAA,kBAAU,EAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,iLAAiL;AAC1K,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAE,MAAc,EAAU,EAAE,CAAC,gBAAgB,OAAO,IAAI,MAAM,EAAE,CAAC;AAAtG,QAAA,kBAAkB,sBAAoF;AAInH;;;;;GAKG;AACU,QAAA,UAAU,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAU,CAAC;AAGnH,qKAAqK;AAC9J,MAAM,SAAS,GAAG,CAAC,IAA6B,EAA2B,EAAE;IAClF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IACpE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAHW,QAAA,SAAS,aAGpB;AAEF;;;;GAIG;AACI,MAAM,SAAS,GAAG,CAAC,GAAsH,EAAmB,EAAE,CACnK,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AADhJ,QAAA,SAAS,aACuI;AAEtJ,MAAM,YAAY,GAAG,CAAC,GAAa,EAAE,MAAc,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAU,EAAE,CAAC,UAAU,GAAG,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;AAApI,QAAA,YAAY,gBAAwH;AAEjJ,yDAAyD;AAClD,KAAK,UAAU,UAAU,CAAC,GAAa,EAAE,MAAc,EAAE,IAA6B,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC7G,OAAO,IAAA,oBAAY,EAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,IAAA,iBAAS,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,gEAAgE;AAChE,SAAgB,gBAAgB,CAAC,OAAe,EAAE,QAA2D,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,GAAG,8BAAsB;IAChK,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;IAChK,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,gFAAgF;AAChF,SAAgB,mBAAmB,CAAC,OAAe,EAAE,QAAiF,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,GAAG,gBAAgB;IACnL,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IAC5F,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;IACtH,IAAI,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;IACvE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAe,EAAE,QAAmD,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,GAAG,gBAAgB;IAClJ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO;QAAE,OAAO,UAAU,CAAC;IACzI,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAAe,EAAE,QAA6B,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,GAAG,gBAAgB;IAC9H,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO;QAAE,OAAO,UAAU,CAAC;IACrG,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAAe,EAAE,QAAmD,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,GAAG,6BAAqB;IACzJ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO;QAAE,OAAO,UAAU,CAAC;IAC3I,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,wHAAwH;AACxH,SAAgB,2BAA2B,CAAC,OAAe,EAAE,QAA6B,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,GAAG,gBAAgB;IACvI,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,GAAG,IAAI,0BAAkB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,aAAa,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO;QAAE,OAAO,UAAU,CAAC;IACtI,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAe,EAAE,QAA6B,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,GAAG,gBAAgB;IAC5H,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO;QAAE,OAAO,UAAU,CAAC;IACnG,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAAe,EAAE,QAA6B,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,GAAG,gBAAgB;IAC9H,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO;QAAE,OAAO,UAAU,CAAC;IACrG,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,eAAe,CAAC,OAAe,EAAE,QAAmD,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,GAAG,gBAAgB;IACjJ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO;QAAE,OAAO,UAAU,CAAC;IACxI,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,qHAAqH;AACrH,SAAgB,gBAAgB,CAAC,OAAe,EAAE,QAA6D;IAC7G,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO;QAAE,OAAO,UAAU,CAAC;IACnG,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;AAClG,CAAC;AAED,SAAgB,sBAAsB,CAAC,OAAe,EAAE,QAA6B,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,GAAG,gBAAgB;IAClI,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,cAAc,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO;QAAE,OAAO,UAAU,CAAC;IAC1G,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,uBAAuB,CAAC,OAAe,EAAE,QAAwB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,GAAG,8BAAsB;IACpI,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,eAAe,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,EAAE;QAAE,OAAO,UAAU,CAAC;IACtG,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,qBAAqB,CAAC,OAAe,EAAE,QAA6C,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,GAAG,gBAAgB;IACjJ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,aAAa,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;IACzI,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,cAAc,CAAC,OAAe,EAAE,QAA0F,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,GAAG,8BAAsB;IAC7L,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;IAC/L,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,2HAA2H;AAC3H,SAAgB,sBAAsB,CAAC,OAAe,EAAE,QAA6C;IACnG,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,cAAc,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO;QAAE,OAAO,UAAU,CAAC;IAC1G,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;AAClE,CAAC;AAED,SAAS,KAAK,CAAC,IAAY,EAAE,GAAW,EAAE,QAAgB;IACxD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAAE,OAAO,UAAU,CAAC;IAC5C,4FAA4F;IAC5F,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAC,KAAc;IAC1C,MAAM,IAAI,GAAG,CAAC,GAAY,EAAW,EAAE;QACrC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,IAAI,CAAC,GAA8B,CAAC;iBACxC,IAAI,EAAE;iBACN,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAE,GAA+B,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;iBACpE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAE,GAA+B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACpE,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,mGAAmG;AAC5F,KAAK,UAAU,QAAQ,CAAC,KAAc;IAC3C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpH,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClF,CAAC;AAED,6EAA6E;AAE7E,4FAA4F"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
export * from "./inviteMessages.ts";
|
|
2
|
+
export declare const HANDLE: RegExp;
|
|
3
|
+
/** Words that are pages of the site, or would read as somebody else. */
|
|
4
|
+
export declare const RESERVED_HANDLES: Set<string>;
|
|
5
|
+
export declare const HAND_LIMITS: {
|
|
6
|
+
readonly name: 80;
|
|
7
|
+
readonly headline: 160;
|
|
8
|
+
readonly about: 2000;
|
|
9
|
+
readonly does: 6;
|
|
10
|
+
readonly links: 6;
|
|
11
|
+
readonly link: 2048;
|
|
12
|
+
readonly rate: 1000000;
|
|
13
|
+
readonly experience: 12;
|
|
14
|
+
readonly skills: 20;
|
|
15
|
+
readonly skill: 40;
|
|
16
|
+
readonly languages: 8;
|
|
17
|
+
readonly language: 40;
|
|
18
|
+
readonly education: 6;
|
|
19
|
+
readonly blocks: 6;
|
|
20
|
+
readonly location: 80;
|
|
21
|
+
readonly timezone: 64;
|
|
22
|
+
readonly title: 120;
|
|
23
|
+
readonly org: 120;
|
|
24
|
+
readonly where: 80;
|
|
25
|
+
readonly what: 600;
|
|
26
|
+
readonly year: 4;
|
|
27
|
+
readonly paragraphs: 8;
|
|
28
|
+
readonly paragraph: 1500;
|
|
29
|
+
readonly items: 6;
|
|
30
|
+
readonly alt: 300;
|
|
31
|
+
readonly caption: 300;
|
|
32
|
+
readonly fileName: 120;
|
|
33
|
+
readonly note: 300;
|
|
34
|
+
};
|
|
35
|
+
export declare const DOES: readonly ["look", "spot", "clean", "answer", "check", "make"];
|
|
36
|
+
export declare const RATE_UNITS: readonly ["hour", "day", "deliverable"];
|
|
37
|
+
export declare const RATE_COINS: readonly ["USDC", "IXO"];
|
|
38
|
+
export declare const AVAILABILITY: readonly ["open", "busy", "closed"];
|
|
39
|
+
/** One row of the person's experience: `from`/`to` as "YYYY" or "YYYY-MM"; `to` null is "now". */
|
|
40
|
+
export interface HandExperience {
|
|
41
|
+
title: string;
|
|
42
|
+
org: string;
|
|
43
|
+
from: string;
|
|
44
|
+
to: string | null;
|
|
45
|
+
where?: string;
|
|
46
|
+
what?: string;
|
|
47
|
+
}
|
|
48
|
+
export interface HandEducation {
|
|
49
|
+
title: string;
|
|
50
|
+
org: string;
|
|
51
|
+
year?: string;
|
|
52
|
+
}
|
|
53
|
+
/** The blocks a page may carry of the call page's canvas: a portfolio, files (a CV), paragraphs. */
|
|
54
|
+
export type HandBlock = {
|
|
55
|
+
kind: "story";
|
|
56
|
+
paragraphs: string[];
|
|
57
|
+
} | {
|
|
58
|
+
kind: "pictures";
|
|
59
|
+
items: {
|
|
60
|
+
url: string;
|
|
61
|
+
alt: string;
|
|
62
|
+
caption?: string;
|
|
63
|
+
}[];
|
|
64
|
+
} | {
|
|
65
|
+
kind: "files";
|
|
66
|
+
items: {
|
|
67
|
+
url: string;
|
|
68
|
+
name: string;
|
|
69
|
+
note?: string;
|
|
70
|
+
}[];
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* What a person publishes about themselves. Every field theirs; the worker
|
|
74
|
+
* renders nothing else. The CV fields (docs/verified-work-hands-page-brief.md)
|
|
75
|
+
* are all optional, so a page written before them still reads.
|
|
76
|
+
*/
|
|
77
|
+
export interface HandProfile {
|
|
78
|
+
v: 1;
|
|
79
|
+
handle: string;
|
|
80
|
+
name: string;
|
|
81
|
+
headline?: string;
|
|
82
|
+
/** The summary; `about` was its older name and still reads. */
|
|
83
|
+
about?: string;
|
|
84
|
+
/** The board's activity words: what they do. */
|
|
85
|
+
does: (typeof DOES)[number][];
|
|
86
|
+
rate?: {
|
|
87
|
+
amount: number;
|
|
88
|
+
unit: (typeof RATE_UNITS)[number];
|
|
89
|
+
coin: (typeof RATE_COINS)[number];
|
|
90
|
+
} | null;
|
|
91
|
+
/** https links: a site, a portfolio, a profile. */
|
|
92
|
+
links: string[];
|
|
93
|
+
availability: (typeof AVAILABILITY)[number];
|
|
94
|
+
/** May a poster invite this person by handle? Off, only an address they gave out themselves invites them. */
|
|
95
|
+
invitable: boolean;
|
|
96
|
+
/** Pictures at https addresses, uploaded by their agent or anywhere public. */
|
|
97
|
+
avatar?: string;
|
|
98
|
+
banner?: string;
|
|
99
|
+
location?: string;
|
|
100
|
+
timezone?: string;
|
|
101
|
+
experience?: HandExperience[];
|
|
102
|
+
skills?: string[];
|
|
103
|
+
languages?: string[];
|
|
104
|
+
education?: HandEducation[];
|
|
105
|
+
blocks?: HandBlock[];
|
|
106
|
+
verificationServices?: import("../verification/profile.ts").VerificationService[];
|
|
107
|
+
verificationCredentials?: import("../verification/profile.ts").CredentialReference[];
|
|
108
|
+
}
|
|
109
|
+
/** A page off the wire, read field by field; a problem in words, or the page. Nothing is trimmed into shape silently but whitespace. */
|
|
110
|
+
export declare function readHandProfile(raw: unknown): {
|
|
111
|
+
profile: HandProfile;
|
|
112
|
+
} | {
|
|
113
|
+
problem: string;
|
|
114
|
+
};
|
|
115
|
+
/** One block of the page's canvas, read the way a call's is (terms.ts `blockOf`), for the three kinds a page may carry. */
|
|
116
|
+
export declare function readHandBlock(raw: unknown): {
|
|
117
|
+
block: HandBlock;
|
|
118
|
+
} | {
|
|
119
|
+
problem: string;
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=inviteProof.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inviteProof.d.ts","sourceRoot":"","sources":["../../../src/chain/inviteProof.ts"],"names":[],"mappings":"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"}
|