@ixo/openhands-sdk 0.3.0 → 0.4.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/dist/cjs/campaign/campaign.js +3 -2
- package/dist/cjs/campaign/campaign.js.map +1 -1
- package/dist/cjs/campaign/funding.d.ts.map +1 -1
- package/dist/cjs/campaign/funding.js +3 -0
- package/dist/cjs/campaign/funding.js.map +1 -1
- package/dist/cjs/campaign/pool.d.ts.map +1 -1
- package/dist/cjs/campaign/pool.js +2 -1
- package/dist/cjs/campaign/pool.js.map +1 -1
- package/dist/cjs/campaign/spots.d.ts.map +1 -1
- package/dist/cjs/campaign/spots.js +8 -6
- package/dist/cjs/campaign/spots.js.map +1 -1
- package/dist/cjs/chain/ask.d.ts +104 -14
- package/dist/cjs/chain/ask.d.ts.map +1 -1
- package/dist/cjs/chain/ask.js +151 -78
- package/dist/cjs/chain/ask.js.map +1 -1
- package/dist/cjs/chain/askImage.d.ts +19 -0
- package/dist/cjs/chain/askImage.d.ts.map +1 -0
- package/dist/cjs/chain/askImage.js +56 -0
- package/dist/cjs/chain/askImage.js.map +1 -0
- package/dist/cjs/chain/bridge.d.ts +7 -33
- package/dist/cjs/chain/bridge.d.ts.map +1 -1
- package/dist/cjs/chain/bridge.js +10 -25
- package/dist/cjs/chain/bridge.js.map +1 -1
- package/dist/cjs/chain/claimSubmit.d.ts +15 -0
- package/dist/cjs/chain/claimSubmit.d.ts.map +1 -0
- package/dist/cjs/chain/claimSubmit.js +14 -0
- package/dist/cjs/chain/claimSubmit.js.map +1 -0
- package/dist/cjs/chain/delegate.d.ts +52 -7
- package/dist/cjs/chain/delegate.d.ts.map +1 -1
- package/dist/cjs/chain/delegate.js +66 -14
- package/dist/cjs/chain/delegate.js.map +1 -1
- package/dist/cjs/chain/domainIndexer.d.ts +26 -0
- package/dist/cjs/chain/domainIndexer.d.ts.map +1 -0
- package/dist/cjs/chain/domainIndexer.js +51 -0
- package/dist/cjs/chain/domainIndexer.js.map +1 -0
- package/dist/cjs/chain/entityShape.d.ts +27 -2
- package/dist/cjs/chain/entityShape.d.ts.map +1 -1
- package/dist/cjs/chain/entityShape.js +57 -7
- package/dist/cjs/chain/entityShape.js.map +1 -1
- package/dist/cjs/chain/env.d.ts +33 -3
- package/dist/cjs/chain/env.d.ts.map +1 -1
- package/dist/cjs/chain/env.js +38 -6
- package/dist/cjs/chain/env.js.map +1 -1
- package/dist/cjs/chain/guest.d.ts +14 -0
- package/dist/cjs/chain/guest.d.ts.map +1 -1
- package/dist/cjs/chain/guest.js +9 -9
- package/dist/cjs/chain/guest.js.map +1 -1
- package/dist/cjs/chain/money.d.ts +47 -2
- package/dist/cjs/chain/money.d.ts.map +1 -1
- package/dist/cjs/chain/money.js +63 -6
- package/dist/cjs/chain/money.js.map +1 -1
- package/dist/cjs/chain/orgReviewBilling.d.ts +124 -0
- package/dist/cjs/chain/orgReviewBilling.d.ts.map +1 -0
- package/dist/cjs/chain/orgReviewBilling.js +290 -0
- package/dist/cjs/chain/orgReviewBilling.js.map +1 -0
- package/dist/cjs/chain/orgReviewBillingSign.d.ts +63 -0
- package/dist/cjs/chain/orgReviewBillingSign.d.ts.map +1 -0
- package/dist/cjs/chain/orgReviewBillingSign.js +166 -0
- package/dist/cjs/chain/orgReviewBillingSign.js.map +1 -0
- package/dist/cjs/chain/payoutSettings.d.ts +97 -0
- package/dist/cjs/chain/payoutSettings.d.ts.map +1 -0
- package/dist/cjs/chain/payoutSettings.js +123 -0
- package/dist/cjs/chain/payoutSettings.js.map +1 -0
- package/dist/cjs/chain/payoutTerms.d.ts +72 -0
- package/dist/cjs/chain/payoutTerms.d.ts.map +1 -0
- package/dist/cjs/chain/payoutTerms.js +141 -0
- package/dist/cjs/chain/payoutTerms.js.map +1 -0
- package/dist/cjs/chain/query.d.ts +14 -0
- package/dist/cjs/chain/query.d.ts.map +1 -1
- package/dist/cjs/chain/query.js +27 -0
- package/dist/cjs/chain/query.js.map +1 -1
- package/dist/cjs/chain/reviewBilling.d.ts +86 -0
- package/dist/cjs/chain/reviewBilling.d.ts.map +1 -0
- package/dist/cjs/chain/reviewBilling.js +265 -0
- package/dist/cjs/chain/reviewBilling.js.map +1 -0
- package/dist/cjs/chain/store.d.ts +7 -6
- package/dist/cjs/chain/store.d.ts.map +1 -1
- package/dist/cjs/chain/store.js +7 -6
- package/dist/cjs/chain/store.js.map +1 -1
- package/dist/cjs/chain/subscription.d.ts +0 -7
- package/dist/cjs/chain/subscription.d.ts.map +1 -1
- package/dist/cjs/chain/subscription.js +4 -47
- package/dist/cjs/chain/subscription.js.map +1 -1
- package/dist/cjs/chain/takeBack.d.ts +12 -0
- package/dist/cjs/chain/takeBack.d.ts.map +1 -1
- package/dist/cjs/chain/takeBack.js +24 -10
- package/dist/cjs/chain/takeBack.js.map +1 -1
- package/dist/cjs/chain/why.d.ts +44 -0
- package/dist/cjs/chain/why.d.ts.map +1 -0
- package/dist/cjs/chain/why.js +153 -0
- package/dist/cjs/chain/why.js.map +1 -0
- package/dist/cjs/chain/whyMint.d.ts +8 -0
- package/dist/cjs/chain/whyMint.d.ts.map +1 -0
- package/dist/cjs/chain/whyMint.js +53 -0
- package/dist/cjs/chain/whyMint.js.map +1 -0
- package/dist/cjs/chain.d.ts +8 -4
- package/dist/cjs/chain.d.ts.map +1 -1
- package/dist/cjs/chain.js +19 -9
- package/dist/cjs/chain.js.map +1 -1
- package/dist/cjs/config.d.ts +11 -5
- package/dist/cjs/config.d.ts.map +1 -1
- package/dist/cjs/config.js +2 -0
- package/dist/cjs/config.js.map +1 -1
- package/dist/cjs/data/askEntity.d.ts +40 -0
- package/dist/cjs/data/askEntity.d.ts.map +1 -0
- package/dist/cjs/data/askEntity.js +48 -0
- package/dist/cjs/data/askEntity.js.map +1 -0
- package/dist/cjs/data/askLinks.d.ts +6 -0
- package/dist/cjs/data/askLinks.d.ts.map +1 -0
- package/dist/cjs/data/askLinks.js +21 -0
- package/dist/cjs/data/askLinks.js.map +1 -0
- package/dist/cjs/data/board/assemble.d.ts.map +1 -1
- package/dist/cjs/data/board/assemble.js +15 -2
- package/dist/cjs/data/board/assemble.js.map +1 -1
- package/dist/cjs/data/board/facts.d.ts +11 -0
- package/dist/cjs/data/board/facts.d.ts.map +1 -1
- package/dist/cjs/data/board/facts.js +16 -0
- package/dist/cjs/data/board/facts.js.map +1 -1
- package/dist/cjs/data/board/read.d.ts.map +1 -1
- package/dist/cjs/data/board/read.js +2 -1
- package/dist/cjs/data/board/read.js.map +1 -1
- package/dist/cjs/data/board/types.d.ts +9 -0
- package/dist/cjs/data/board/types.d.ts.map +1 -1
- package/dist/cjs/data/board/types.js.map +1 -1
- package/dist/cjs/data/docs.d.ts +10 -2
- package/dist/cjs/data/docs.d.ts.map +1 -1
- package/dist/cjs/data/docs.js +43 -3
- package/dist/cjs/data/docs.js.map +1 -1
- package/dist/cjs/data/format.js +1 -1
- package/dist/cjs/data/format.js.map +1 -1
- package/dist/cjs/data/install.d.ts +8 -0
- package/dist/cjs/data/install.d.ts.map +1 -1
- package/dist/cjs/data/install.js +9 -1
- package/dist/cjs/data/install.js.map +1 -1
- package/dist/cjs/data/oracleInfo.d.ts +6 -1
- package/dist/cjs/data/oracleInfo.d.ts.map +1 -1
- package/dist/cjs/data/oracleInfo.js +22 -3
- package/dist/cjs/data/oracleInfo.js.map +1 -1
- package/dist/cjs/data/oracles.d.ts +62 -5
- package/dist/cjs/data/oracles.d.ts.map +1 -1
- package/dist/cjs/data/oracles.js +90 -11
- package/dist/cjs/data/oracles.js.map +1 -1
- package/dist/cjs/data/orgPayouts.d.ts +87 -0
- package/dist/cjs/data/orgPayouts.d.ts.map +1 -0
- package/dist/cjs/data/orgPayouts.js +183 -0
- package/dist/cjs/data/orgPayouts.js.map +1 -0
- package/dist/cjs/data/plans.d.ts +8 -0
- package/dist/cjs/data/plans.d.ts.map +1 -0
- package/dist/cjs/data/plans.js +12 -0
- package/dist/cjs/data/plans.js.map +1 -0
- package/dist/cjs/data/profiles.d.ts +20 -0
- package/dist/cjs/data/profiles.d.ts.map +1 -1
- package/dist/cjs/data/profiles.js +63 -4
- package/dist/cjs/data/profiles.js.map +1 -1
- package/dist/cjs/data/receipt.d.ts +7 -0
- package/dist/cjs/data/receipt.d.ts.map +1 -1
- package/dist/cjs/data/receipt.js +19 -4
- package/dist/cjs/data/receipt.js.map +1 -1
- package/dist/cjs/data/resources.d.ts +3 -0
- package/dist/cjs/data/resources.d.ts.map +1 -1
- package/dist/cjs/data/resources.js +4 -1
- package/dist/cjs/data/resources.js.map +1 -1
- package/dist/cjs/data/threads.d.ts +14 -0
- package/dist/cjs/data/threads.d.ts.map +1 -1
- package/dist/cjs/data/threads.js +32 -20
- package/dist/cjs/data/threads.js.map +1 -1
- package/dist/cjs/data/trace.d.ts +8 -0
- package/dist/cjs/data/trace.d.ts.map +1 -1
- package/dist/cjs/data/trace.js +1 -1
- package/dist/cjs/data/trace.js.map +1 -1
- package/dist/cjs/data/traceWords.d.ts +4 -1
- package/dist/cjs/data/traceWords.d.ts.map +1 -1
- package/dist/cjs/data/traceWords.js +8 -2
- package/dist/cjs/data/traceWords.js.map +1 -1
- package/dist/cjs/data/why.d.ts +38 -0
- package/dist/cjs/data/why.d.ts.map +1 -0
- package/dist/cjs/data/why.js +86 -0
- package/dist/cjs/data/why.js.map +1 -0
- package/dist/cjs/data/whyReceipt.d.ts +33 -0
- package/dist/cjs/data/whyReceipt.d.ts.map +1 -0
- package/dist/cjs/data/whyReceipt.js +291 -0
- package/dist/cjs/data/whyReceipt.js.map +1 -0
- package/dist/cjs/geo/exifcarry.d.ts +9 -0
- package/dist/cjs/geo/exifcarry.d.ts.map +1 -1
- package/dist/cjs/geo/exifcarry.js +35 -0
- package/dist/cjs/geo/exifcarry.js.map +1 -1
- package/dist/cjs/geo/geohash.d.ts +11 -0
- package/dist/cjs/geo/geohash.d.ts.map +1 -1
- package/dist/cjs/geo/geohash.js +53 -3
- package/dist/cjs/geo/geohash.js.map +1 -1
- package/dist/cjs/geo/provenance.d.ts +41 -0
- package/dist/cjs/geo/provenance.d.ts.map +1 -0
- package/dist/cjs/geo/provenance.js +134 -0
- package/dist/cjs/geo/provenance.js.map +1 -0
- package/dist/cjs/rubric/bridge.d.ts +98 -2
- package/dist/cjs/rubric/bridge.d.ts.map +1 -1
- package/dist/cjs/rubric/bridge.js +132 -15
- package/dist/cjs/rubric/bridge.js.map +1 -1
- package/dist/cjs/rubric/card.d.ts +28 -14
- package/dist/cjs/rubric/card.d.ts.map +1 -1
- package/dist/cjs/rubric/card.js +28 -7
- package/dist/cjs/rubric/card.js.map +1 -1
- package/dist/cjs/rubric/claimForm.d.ts +116 -0
- package/dist/cjs/rubric/claimForm.d.ts.map +1 -1
- package/dist/cjs/rubric/claimForm.js +12 -1
- package/dist/cjs/rubric/claimForm.js.map +1 -1
- package/dist/cjs/rubric/compose.d.ts +5 -0
- package/dist/cjs/rubric/compose.d.ts.map +1 -1
- package/dist/cjs/rubric/compose.js +9 -3
- package/dist/cjs/rubric/compose.js.map +1 -1
- package/dist/cjs/rubric/gateMet.d.ts.map +1 -1
- package/dist/cjs/rubric/gateMet.js +4 -2
- package/dist/cjs/rubric/gateMet.js.map +1 -1
- package/dist/cjs/rubric/leg.d.ts +2 -2
- package/dist/cjs/rubric/leg.d.ts.map +1 -1
- package/dist/cjs/rubric/leg.js +7 -5
- package/dist/cjs/rubric/leg.js.map +1 -1
- package/dist/cjs/rubric/marketPlan.d.ts +41 -3
- package/dist/cjs/rubric/marketPlan.d.ts.map +1 -1
- package/dist/cjs/rubric/marketPlan.js +110 -10
- package/dist/cjs/rubric/marketPlan.js.map +1 -1
- package/dist/cjs/rubric/observation.d.ts +56 -14
- package/dist/cjs/rubric/observation.d.ts.map +1 -1
- package/dist/cjs/rubric/observation.js +61 -11
- package/dist/cjs/rubric/observation.js.map +1 -1
- package/dist/cjs/rubric/survey.d.ts +65 -0
- package/dist/cjs/rubric/survey.d.ts.map +1 -0
- package/dist/cjs/rubric/survey.js +101 -0
- package/dist/cjs/rubric/survey.js.map +1 -0
- package/dist/cjs/rubric/terms.d.ts +7 -0
- package/dist/cjs/rubric/terms.d.ts.map +1 -1
- package/dist/cjs/rubric/terms.js +12 -1
- package/dist/cjs/rubric/terms.js.map +1 -1
- package/dist/cjs/rubric.d.ts +1 -1
- package/dist/cjs/rubric.d.ts.map +1 -1
- package/dist/cjs/rubric.js +4 -2
- package/dist/cjs/rubric.js.map +1 -1
- package/dist/esm/campaign/campaign.js +4 -3
- package/dist/esm/campaign/campaign.js.map +1 -1
- package/dist/esm/campaign/funding.d.ts.map +1 -1
- package/dist/esm/campaign/funding.js +3 -0
- package/dist/esm/campaign/funding.js.map +1 -1
- package/dist/esm/campaign/pool.d.ts.map +1 -1
- package/dist/esm/campaign/pool.js +2 -1
- package/dist/esm/campaign/pool.js.map +1 -1
- package/dist/esm/campaign/spots.d.ts.map +1 -1
- package/dist/esm/campaign/spots.js +8 -6
- package/dist/esm/campaign/spots.js.map +1 -1
- package/dist/esm/chain/ask.d.ts +104 -14
- package/dist/esm/chain/ask.d.ts.map +1 -1
- package/dist/esm/chain/ask.js +152 -80
- package/dist/esm/chain/ask.js.map +1 -1
- package/dist/esm/chain/askImage.d.ts +19 -0
- package/dist/esm/chain/askImage.d.ts.map +1 -0
- package/dist/esm/chain/askImage.js +50 -0
- package/dist/esm/chain/askImage.js.map +1 -0
- package/dist/esm/chain/bridge.d.ts +7 -33
- package/dist/esm/chain/bridge.d.ts.map +1 -1
- package/dist/esm/chain/bridge.js +10 -24
- package/dist/esm/chain/bridge.js.map +1 -1
- package/dist/esm/chain/claimSubmit.d.ts +15 -0
- package/dist/esm/chain/claimSubmit.d.ts.map +1 -0
- package/dist/esm/chain/claimSubmit.js +10 -0
- package/dist/esm/chain/claimSubmit.js.map +1 -0
- package/dist/esm/chain/delegate.d.ts +52 -7
- package/dist/esm/chain/delegate.d.ts.map +1 -1
- package/dist/esm/chain/delegate.js +64 -13
- package/dist/esm/chain/delegate.js.map +1 -1
- package/dist/esm/chain/domainIndexer.d.ts +26 -0
- package/dist/esm/chain/domainIndexer.d.ts.map +1 -0
- package/dist/esm/chain/domainIndexer.js +48 -0
- package/dist/esm/chain/domainIndexer.js.map +1 -0
- package/dist/esm/chain/entityShape.d.ts +27 -2
- package/dist/esm/chain/entityShape.d.ts.map +1 -1
- package/dist/esm/chain/entityShape.js +53 -6
- package/dist/esm/chain/entityShape.js.map +1 -1
- package/dist/esm/chain/env.d.ts +33 -3
- package/dist/esm/chain/env.d.ts.map +1 -1
- package/dist/esm/chain/env.js +33 -5
- package/dist/esm/chain/env.js.map +1 -1
- package/dist/esm/chain/guest.d.ts +14 -0
- package/dist/esm/chain/guest.d.ts.map +1 -1
- package/dist/esm/chain/guest.js +7 -8
- package/dist/esm/chain/guest.js.map +1 -1
- package/dist/esm/chain/money.d.ts +47 -2
- package/dist/esm/chain/money.d.ts.map +1 -1
- package/dist/esm/chain/money.js +54 -4
- package/dist/esm/chain/money.js.map +1 -1
- package/dist/esm/chain/orgReviewBilling.d.ts +124 -0
- package/dist/esm/chain/orgReviewBilling.d.ts.map +1 -0
- package/dist/esm/chain/orgReviewBilling.js +241 -0
- package/dist/esm/chain/orgReviewBilling.js.map +1 -0
- package/dist/esm/chain/orgReviewBillingSign.d.ts +63 -0
- package/dist/esm/chain/orgReviewBillingSign.d.ts.map +1 -0
- package/dist/esm/chain/orgReviewBillingSign.js +124 -0
- package/dist/esm/chain/orgReviewBillingSign.js.map +1 -0
- package/dist/esm/chain/payoutSettings.d.ts +97 -0
- package/dist/esm/chain/payoutSettings.d.ts.map +1 -0
- package/dist/esm/chain/payoutSettings.js +111 -0
- package/dist/esm/chain/payoutSettings.js.map +1 -0
- package/dist/esm/chain/payoutTerms.d.ts +72 -0
- package/dist/esm/chain/payoutTerms.d.ts.map +1 -0
- package/dist/esm/chain/payoutTerms.js +127 -0
- package/dist/esm/chain/payoutTerms.js.map +1 -0
- package/dist/esm/chain/query.d.ts +14 -0
- package/dist/esm/chain/query.d.ts.map +1 -1
- package/dist/esm/chain/query.js +25 -0
- package/dist/esm/chain/query.js.map +1 -1
- package/dist/esm/chain/reviewBilling.d.ts +86 -0
- package/dist/esm/chain/reviewBilling.d.ts.map +1 -0
- package/dist/esm/chain/reviewBilling.js +215 -0
- package/dist/esm/chain/reviewBilling.js.map +1 -0
- package/dist/esm/chain/store.d.ts +7 -6
- package/dist/esm/chain/store.d.ts.map +1 -1
- package/dist/esm/chain/store.js +7 -6
- package/dist/esm/chain/store.js.map +1 -1
- package/dist/esm/chain/subscription.d.ts +0 -7
- package/dist/esm/chain/subscription.d.ts.map +1 -1
- package/dist/esm/chain/subscription.js +4 -13
- package/dist/esm/chain/subscription.js.map +1 -1
- package/dist/esm/chain/takeBack.d.ts +12 -0
- package/dist/esm/chain/takeBack.d.ts.map +1 -1
- package/dist/esm/chain/takeBack.js +22 -9
- package/dist/esm/chain/takeBack.js.map +1 -1
- package/dist/esm/chain/why.d.ts +44 -0
- package/dist/esm/chain/why.d.ts.map +1 -0
- package/dist/esm/chain/why.js +111 -0
- package/dist/esm/chain/why.js.map +1 -0
- package/dist/esm/chain/whyMint.d.ts +8 -0
- package/dist/esm/chain/whyMint.d.ts.map +1 -0
- package/dist/esm/chain/whyMint.js +17 -0
- package/dist/esm/chain/whyMint.js.map +1 -0
- package/dist/esm/chain.d.ts +8 -4
- package/dist/esm/chain.d.ts.map +1 -1
- package/dist/esm/chain.js +9 -4
- package/dist/esm/chain.js.map +1 -1
- package/dist/esm/config.d.ts +11 -5
- package/dist/esm/config.d.ts.map +1 -1
- package/dist/esm/config.js +3 -1
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/data/askEntity.d.ts +40 -0
- package/dist/esm/data/askEntity.d.ts.map +1 -0
- package/dist/esm/data/askEntity.js +41 -0
- package/dist/esm/data/askEntity.js.map +1 -0
- package/dist/esm/data/askLinks.d.ts +6 -0
- package/dist/esm/data/askLinks.d.ts.map +1 -0
- package/dist/esm/data/askLinks.js +16 -0
- package/dist/esm/data/askLinks.js.map +1 -0
- package/dist/esm/data/board/assemble.d.ts.map +1 -1
- package/dist/esm/data/board/assemble.js +15 -2
- package/dist/esm/data/board/assemble.js.map +1 -1
- package/dist/esm/data/board/facts.d.ts +11 -0
- package/dist/esm/data/board/facts.d.ts.map +1 -1
- package/dist/esm/data/board/facts.js +15 -0
- package/dist/esm/data/board/facts.js.map +1 -1
- package/dist/esm/data/board/read.d.ts.map +1 -1
- package/dist/esm/data/board/read.js +2 -1
- package/dist/esm/data/board/read.js.map +1 -1
- package/dist/esm/data/board/types.d.ts +9 -0
- package/dist/esm/data/board/types.d.ts.map +1 -1
- package/dist/esm/data/board/types.js.map +1 -1
- package/dist/esm/data/docs.d.ts +10 -2
- package/dist/esm/data/docs.d.ts.map +1 -1
- package/dist/esm/data/docs.js +43 -4
- package/dist/esm/data/docs.js.map +1 -1
- package/dist/esm/data/format.js +1 -1
- package/dist/esm/data/format.js.map +1 -1
- package/dist/esm/data/install.d.ts +8 -0
- package/dist/esm/data/install.d.ts.map +1 -1
- package/dist/esm/data/install.js +8 -0
- package/dist/esm/data/install.js.map +1 -1
- package/dist/esm/data/oracleInfo.d.ts +6 -1
- package/dist/esm/data/oracleInfo.d.ts.map +1 -1
- package/dist/esm/data/oracleInfo.js +22 -3
- package/dist/esm/data/oracleInfo.js.map +1 -1
- package/dist/esm/data/oracles.d.ts +62 -5
- package/dist/esm/data/oracles.d.ts.map +1 -1
- package/dist/esm/data/oracles.js +87 -12
- package/dist/esm/data/oracles.js.map +1 -1
- package/dist/esm/data/orgPayouts.d.ts +87 -0
- package/dist/esm/data/orgPayouts.d.ts.map +1 -0
- package/dist/esm/data/orgPayouts.js +170 -0
- package/dist/esm/data/orgPayouts.js.map +1 -0
- package/dist/esm/data/plans.d.ts +8 -0
- package/dist/esm/data/plans.d.ts.map +1 -0
- package/dist/esm/data/plans.js +8 -0
- package/dist/esm/data/plans.js.map +1 -0
- package/dist/esm/data/profiles.d.ts +20 -0
- package/dist/esm/data/profiles.d.ts.map +1 -1
- package/dist/esm/data/profiles.js +60 -4
- package/dist/esm/data/profiles.js.map +1 -1
- package/dist/esm/data/receipt.d.ts +7 -0
- package/dist/esm/data/receipt.d.ts.map +1 -1
- package/dist/esm/data/receipt.js +20 -5
- package/dist/esm/data/receipt.js.map +1 -1
- package/dist/esm/data/resources.d.ts +3 -0
- package/dist/esm/data/resources.d.ts.map +1 -1
- package/dist/esm/data/resources.js +2 -0
- package/dist/esm/data/resources.js.map +1 -1
- package/dist/esm/data/threads.d.ts +14 -0
- package/dist/esm/data/threads.d.ts.map +1 -1
- package/dist/esm/data/threads.js +32 -21
- package/dist/esm/data/threads.js.map +1 -1
- package/dist/esm/data/trace.d.ts +8 -0
- package/dist/esm/data/trace.d.ts.map +1 -1
- package/dist/esm/data/trace.js +1 -1
- package/dist/esm/data/trace.js.map +1 -1
- package/dist/esm/data/traceWords.d.ts +4 -1
- package/dist/esm/data/traceWords.d.ts.map +1 -1
- package/dist/esm/data/traceWords.js +8 -2
- package/dist/esm/data/traceWords.js.map +1 -1
- package/dist/esm/data/why.d.ts +38 -0
- package/dist/esm/data/why.d.ts.map +1 -0
- package/dist/esm/data/why.js +78 -0
- package/dist/esm/data/why.js.map +1 -0
- package/dist/esm/data/whyReceipt.d.ts +33 -0
- package/dist/esm/data/whyReceipt.d.ts.map +1 -0
- package/dist/esm/data/whyReceipt.js +284 -0
- package/dist/esm/data/whyReceipt.js.map +1 -0
- package/dist/esm/geo/exifcarry.d.ts +9 -0
- package/dist/esm/geo/exifcarry.d.ts.map +1 -1
- package/dist/esm/geo/exifcarry.js +34 -0
- package/dist/esm/geo/exifcarry.js.map +1 -1
- package/dist/esm/geo/geohash.d.ts +11 -0
- package/dist/esm/geo/geohash.d.ts.map +1 -1
- package/dist/esm/geo/geohash.js +52 -3
- package/dist/esm/geo/geohash.js.map +1 -1
- package/dist/esm/geo/provenance.d.ts +41 -0
- package/dist/esm/geo/provenance.d.ts.map +1 -0
- package/dist/esm/geo/provenance.js +129 -0
- package/dist/esm/geo/provenance.js.map +1 -0
- package/dist/esm/rubric/bridge.d.ts +98 -2
- package/dist/esm/rubric/bridge.d.ts.map +1 -1
- package/dist/esm/rubric/bridge.js +130 -14
- package/dist/esm/rubric/bridge.js.map +1 -1
- package/dist/esm/rubric/card.d.ts +28 -14
- package/dist/esm/rubric/card.d.ts.map +1 -1
- package/dist/esm/rubric/card.js +24 -5
- package/dist/esm/rubric/card.js.map +1 -1
- package/dist/esm/rubric/claimForm.d.ts +116 -0
- package/dist/esm/rubric/claimForm.d.ts.map +1 -1
- package/dist/esm/rubric/claimForm.js +11 -0
- package/dist/esm/rubric/claimForm.js.map +1 -1
- package/dist/esm/rubric/compose.d.ts +5 -0
- package/dist/esm/rubric/compose.d.ts.map +1 -1
- package/dist/esm/rubric/compose.js +7 -2
- package/dist/esm/rubric/compose.js.map +1 -1
- package/dist/esm/rubric/gateMet.d.ts.map +1 -1
- package/dist/esm/rubric/gateMet.js +4 -2
- package/dist/esm/rubric/gateMet.js.map +1 -1
- package/dist/esm/rubric/leg.d.ts +2 -2
- package/dist/esm/rubric/leg.d.ts.map +1 -1
- package/dist/esm/rubric/leg.js +7 -5
- package/dist/esm/rubric/leg.js.map +1 -1
- package/dist/esm/rubric/marketPlan.d.ts +41 -3
- package/dist/esm/rubric/marketPlan.d.ts.map +1 -1
- package/dist/esm/rubric/marketPlan.js +107 -9
- package/dist/esm/rubric/marketPlan.js.map +1 -1
- package/dist/esm/rubric/observation.d.ts +56 -14
- package/dist/esm/rubric/observation.d.ts.map +1 -1
- package/dist/esm/rubric/observation.js +61 -12
- package/dist/esm/rubric/observation.js.map +1 -1
- package/dist/esm/rubric/survey.d.ts +65 -0
- package/dist/esm/rubric/survey.d.ts.map +1 -0
- package/dist/esm/rubric/survey.js +94 -0
- package/dist/esm/rubric/survey.js.map +1 -0
- package/dist/esm/rubric/terms.d.ts +7 -0
- package/dist/esm/rubric/terms.d.ts.map +1 -1
- package/dist/esm/rubric/terms.js +12 -2
- package/dist/esm/rubric/terms.js.map +1 -1
- package/dist/esm/rubric.d.ts +1 -1
- package/dist/esm/rubric.d.ts.map +1 -1
- package/dist/esm/rubric.js +1 -1
- package/dist/esm/rubric.js.map +1 -1
- package/package.json +8 -2
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reading a claim's "why" from the oracle that decided it, as the claimant (`data/why.ts` holds the
|
|
3
|
+
* shape). The route answers one person: a UCAN invocation `{ can: "claims/why", with:
|
|
4
|
+
* "ixo:claim:<id>" }` self-issued by the claim's on-chain agent DID, addressed to the oracle's
|
|
5
|
+
* did:web. Anyone else reads the same 404 as a claim it never saw.
|
|
6
|
+
*/
|
|
7
|
+
import { type EngineReadOptions } from "../data/engine.ts";
|
|
8
|
+
import { type Why } from "../data/why.ts";
|
|
9
|
+
export { whyMint, type WhyMint } from "./whyMint.ts";
|
|
10
|
+
/** `did:web:host[%3Aport]` → `https://host[:port]`; null for anything else. */
|
|
11
|
+
export declare function didWebOrigin(did: string | null | undefined): string | null;
|
|
12
|
+
/**
|
|
13
|
+
* Which oracle to ask, and the audience it signs for. The engine receipt on chain names the oracle
|
|
14
|
+
* that acted (its did:web); a claim not yet decided has none, so the deployment's oracle is asked.
|
|
15
|
+
* shortcut: an undecided claim on another oracle's ask reads that oracle's 404, so "Couldn't load
|
|
16
|
+
* the reason" until it is decided; upgrade by reading the ask's checker entity's `#eval` endpoint.
|
|
17
|
+
*/
|
|
18
|
+
export declare function whyOracle(proof: string | null | undefined, options?: EngineReadOptions): Promise<{
|
|
19
|
+
url: string;
|
|
20
|
+
audience: string;
|
|
21
|
+
} | null>;
|
|
22
|
+
/** GETs the why with `token`; the parsed body, or null on any refusal, failure or unknown shape. */
|
|
23
|
+
export declare function fetchWhy(url: string, claimId: string, token: string, send?: typeof fetch): Promise<Why | null>;
|
|
24
|
+
/**
|
|
25
|
+
* The protocol's `#rub` as the engine resolved it, only when its bytes hash to `rubricId` (the
|
|
26
|
+
* oracle's `verifiedRubric`); null otherwise, and the receipt's codes speak alone.
|
|
27
|
+
* shortcut: any https host may serve the bytes (they are hash-checked, and the Matrix media host
|
|
28
|
+
* is not in our store list); restrict to known media hosts if a server-side fetch must be pinned.
|
|
29
|
+
*/
|
|
30
|
+
export declare function verifiedRubric(protocolDid: string, rubricId: string, send?: typeof fetch): Promise<{
|
|
31
|
+
id: string;
|
|
32
|
+
doc: unknown;
|
|
33
|
+
} | null>;
|
|
34
|
+
/**
|
|
35
|
+
* Why a claim was decided, from its public engine receipt: no key needed, so it answers a passkey or
|
|
36
|
+
* guest claimant, an agent acting for a person, the hosted MCP. No proof yet is `pending`; a proof
|
|
37
|
+
* that is not an engine receipt, or a receipt that cannot be read, is null (`WHY_UNREADABLE`).
|
|
38
|
+
*/
|
|
39
|
+
export declare function receiptWhy(proof: string | null | undefined, options?: {
|
|
40
|
+
baseUrl?: string;
|
|
41
|
+
fetchJson?: (url: string) => Promise<unknown>;
|
|
42
|
+
send?: typeof fetch;
|
|
43
|
+
}): Promise<Why | null>;
|
|
44
|
+
//# sourceMappingURL=why.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"why.d.ts","sourceRoot":"","sources":["../../../src/chain/why.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAoE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE7H,OAAO,EAAY,KAAK,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAKpD,OAAO,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAErD,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAG1E;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAQpJ;AAED,oGAAoG;AACpG,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,KAAa,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAU3H;AAOD;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,KAAa,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAAC,CAyBpJ;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,KAAK,CAAA;CAAO,GACrG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAerB"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reading a claim's "why" from the oracle that decided it, as the claimant (`data/why.ts` holds the
|
|
3
|
+
* shape). The route answers one person: a UCAN invocation `{ can: "claims/why", with:
|
|
4
|
+
* "ixo:claim:<id>" }` self-issued by the claim's on-chain agent DID, addressed to the oracle's
|
|
5
|
+
* did:web. Anyone else reads the same 404 as a claim it never saw.
|
|
6
|
+
*/
|
|
7
|
+
import { engineConfigured, engineDecisionFor, engineReceiptUrl, engineUrl } from "../data/engine.js";
|
|
8
|
+
import { proofRef } from "../data/proof.js";
|
|
9
|
+
import { parseWhy } from "../data/why.js";
|
|
10
|
+
import { PENDING_WHY, receiptRubric, whyFromReceipt } from "../data/whyReceipt.js";
|
|
11
|
+
import { oracleUrl } from "./oracle.js";
|
|
12
|
+
import { oracleDid } from "./reviewBilling.js";
|
|
13
|
+
export { whyMint } from "./whyMint.js";
|
|
14
|
+
/** `did:web:host[%3Aport]` → `https://host[:port]`; null for anything else. */
|
|
15
|
+
export function didWebOrigin(did) {
|
|
16
|
+
const host = did?.startsWith("did:web:") ? did.slice(8).replace(/%3A/gi, ":") : "";
|
|
17
|
+
return /^[a-z0-9.-]+\.[a-z]{2,}(:\d{1,5})?$/i.test(host) ? `https://${host}` : null;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Which oracle to ask, and the audience it signs for. The engine receipt on chain names the oracle
|
|
21
|
+
* that acted (its did:web); a claim not yet decided has none, so the deployment's oracle is asked.
|
|
22
|
+
* shortcut: an undecided claim on another oracle's ask reads that oracle's 404, so "Couldn't load
|
|
23
|
+
* the reason" until it is decided; upgrade by reading the ask's checker entity's `#eval` endpoint.
|
|
24
|
+
*/
|
|
25
|
+
export async function whyOracle(proof, options = {}) {
|
|
26
|
+
const decision = await engineDecisionFor(proof, options).catch(() => null);
|
|
27
|
+
const named = didWebOrigin(decision?.oracle?.did);
|
|
28
|
+
if (named)
|
|
29
|
+
return { url: named, audience: decision.oracle.did };
|
|
30
|
+
const url = oracleUrl();
|
|
31
|
+
if (!/^https?:\/\//.test(url))
|
|
32
|
+
return null;
|
|
33
|
+
const audience = await oracleDid(url);
|
|
34
|
+
return audience ? { url, audience } : null;
|
|
35
|
+
}
|
|
36
|
+
/** GETs the why with `token`; the parsed body, or null on any refusal, failure or unknown shape. */
|
|
37
|
+
export async function fetchWhy(url, claimId, token, send = fetch) {
|
|
38
|
+
try {
|
|
39
|
+
const response = await send(`${url.replace(/\/$/, "")}/openhands/claims/${encodeURIComponent(claimId)}/why`, {
|
|
40
|
+
headers: { accept: "application/json", authorization: `Bearer ${token}`, "x-auth-type": "ucan" },
|
|
41
|
+
signal: AbortSignal.timeout(10_000)
|
|
42
|
+
});
|
|
43
|
+
return response.ok ? parseWhy(await response.json()) : null;
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/* ---- the public fallback: the engine receipt, read by anyone ---- */
|
|
50
|
+
const RUBRIC_MAX_BYTES = 1_000_000;
|
|
51
|
+
const rubrics = new Map();
|
|
52
|
+
/**
|
|
53
|
+
* The protocol's `#rub` as the engine resolved it, only when its bytes hash to `rubricId` (the
|
|
54
|
+
* oracle's `verifiedRubric`); null otherwise, and the receipt's codes speak alone.
|
|
55
|
+
* shortcut: any https host may serve the bytes (they are hash-checked, and the Matrix media host
|
|
56
|
+
* is not in our store list); restrict to known media hosts if a server-side fetch must be pinned.
|
|
57
|
+
*/
|
|
58
|
+
export async function verifiedRubric(protocolDid, rubricId, send = fetch) {
|
|
59
|
+
const id = rubricId.toLowerCase();
|
|
60
|
+
if (!/^[0-9a-f]{64}$/.test(id) || !/^did:ixo:entity:[0-9a-f]+$/.test(protocolDid))
|
|
61
|
+
return null;
|
|
62
|
+
if (rubrics.has(id))
|
|
63
|
+
return { id, doc: rubrics.get(id) };
|
|
64
|
+
try {
|
|
65
|
+
const { gql } = await import("../data/gql.js");
|
|
66
|
+
const data = await gql(`query { iid(id: ${JSON.stringify(protocolDid)}) { linkedResource } }`, 3600);
|
|
67
|
+
const anchor = (data.iid?.linkedResource ?? []).find((r) => r?.type === "rubric" && r.id?.endsWith("#rub") && r.proof?.toLowerCase() === id);
|
|
68
|
+
const url = anchor?.serviceEndpoint ?? "";
|
|
69
|
+
if (!url.startsWith("https://"))
|
|
70
|
+
return null;
|
|
71
|
+
const response = await send(url, { signal: AbortSignal.timeout(10_000) });
|
|
72
|
+
const bytes = response.ok ? new Uint8Array(await response.arrayBuffer()) : null;
|
|
73
|
+
if (!bytes || bytes.byteLength > RUBRIC_MAX_BYTES)
|
|
74
|
+
return null;
|
|
75
|
+
const digest = [...new Uint8Array(await crypto.subtle.digest("SHA-256", bytes))].map((b) => b.toString(16).padStart(2, "0")).join("");
|
|
76
|
+
if (digest !== id)
|
|
77
|
+
return null;
|
|
78
|
+
const doc = JSON.parse(new TextDecoder().decode(bytes));
|
|
79
|
+
if (rubrics.size >= 200)
|
|
80
|
+
rubrics.delete(rubrics.keys().next().value);
|
|
81
|
+
rubrics.set(id, doc);
|
|
82
|
+
return { id, doc };
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Why a claim was decided, from its public engine receipt: no key needed, so it answers a passkey or
|
|
90
|
+
* guest claimant, an agent acting for a person, the hosted MCP. No proof yet is `pending`; a proof
|
|
91
|
+
* that is not an engine receipt, or a receipt that cannot be read, is null (`WHY_UNREADABLE`).
|
|
92
|
+
*/
|
|
93
|
+
export async function receiptWhy(proof, options = {}) {
|
|
94
|
+
if (!proof)
|
|
95
|
+
return PENDING_WHY;
|
|
96
|
+
const cid = proofRef(proof).cid;
|
|
97
|
+
const base = options.baseUrl ?? engineUrl();
|
|
98
|
+
if (!cid || !engineConfigured(base))
|
|
99
|
+
return null;
|
|
100
|
+
const send = options.send ?? fetch;
|
|
101
|
+
const read = options.fetchJson ?? (async (url) => {
|
|
102
|
+
const response = await send(url, { signal: AbortSignal.timeout(8_000) });
|
|
103
|
+
return response.ok ? response.json() : null;
|
|
104
|
+
});
|
|
105
|
+
const doc = await read(engineReceiptUrl(cid, "json", base)).catch(() => null);
|
|
106
|
+
const anchor = receiptRubric(doc);
|
|
107
|
+
const rubric = anchor ? await verifiedRubric(anchor.protocolDid, anchor.rubricId, send) : null;
|
|
108
|
+
const why = whyFromReceipt(doc, rubric);
|
|
109
|
+
return why && { ...why, receiptCid: why.receiptCid ?? cid };
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=why.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"why.js","sourceRoot":"","sources":["../../../src/chain/why.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Signs one `claims/why` invocation for `claimId`, addressed to `audience`. */
|
|
2
|
+
export type WhyMint = (audience: string, claimId: string) => Promise<string>;
|
|
3
|
+
/** The claimant's own invocation, from their ed25519 key (as `ownerMint`): no proof chain, five minutes, a nonce. */
|
|
4
|
+
export declare function whyMint(claimant: {
|
|
5
|
+
address: string;
|
|
6
|
+
mnemonic: string;
|
|
7
|
+
}): WhyMint;
|
|
8
|
+
//# sourceMappingURL=whyMint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whyMint.d.ts","sourceRoot":"","sources":["../../../src/chain/whyMint.ts"],"names":[],"mappings":"AAEA,gFAAgF;AAChF,MAAM,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE7E,qHAAqH;AACrH,wBAAgB,OAAO,CAAC,QAAQ,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAahF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/* A leaf, so the browser that signs for its own claim does not carry the engine reader. */
|
|
2
|
+
/** The claimant's own invocation, from their ed25519 key (as `ownerMint`): no proof chain, five minutes, a nonce. */
|
|
3
|
+
export function whyMint(claimant) {
|
|
4
|
+
return async (audience, claimId) => {
|
|
5
|
+
const { signerFromMnemonic, createInvocation, serializeInvocation } = await import("@ixo/ucan");
|
|
6
|
+
const { signer } = await signerFromMnemonic(claimant.mnemonic, `did:ixo:${claimant.address}`);
|
|
7
|
+
const invocation = await createInvocation({
|
|
8
|
+
issuer: signer,
|
|
9
|
+
audience,
|
|
10
|
+
capability: { can: "claims/why", with: `ixo:claim:${claimId}` },
|
|
11
|
+
expiration: Math.floor(Date.now() / 1000) + 300,
|
|
12
|
+
facts: [{ nonce: crypto.randomUUID() }]
|
|
13
|
+
});
|
|
14
|
+
return serializeInvocation(invocation);
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=whyMint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whyMint.js","sourceRoot":"","sources":["../../../src/chain/whyMint.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAK3F,qHAAqH;AACrH,MAAM,UAAU,OAAO,CAAC,QAA+C;IACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QACjC,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QAChG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,QAAQ,CAAC,OAAO,EAAW,CAAC,CAAC;QACvG,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC;YACxC,MAAM,EAAE,MAAM;YACd,QAAQ;YACR,UAAU,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,OAAO,EAAE,EAAE;YAC/D,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG;YAC/C,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;SACE,CAAC,CAAC;QAC7C,OAAO,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/esm/chain.d.ts
CHANGED
|
@@ -16,10 +16,12 @@
|
|
|
16
16
|
*/
|
|
17
17
|
export { createAccount, settleNewAccount, signIn, type CreatedAccount } from "./chain/account.ts";
|
|
18
18
|
export { grantAllowance, readAllowance, revokeAllowance, type Allowance } from "./chain/allowance.ts";
|
|
19
|
-
export { AmbiguousDelegation, connectAgent, delegatesOf, disconnectAgent, readDelegation, readDelegationFor, resolveDelegation, DEFAULT_DAYS as CONNECT_DAYS, GAS_LOAN_UIXO, type Delegation } from "./chain/delegate.ts";
|
|
20
|
-
export { bridgeMsgs
|
|
21
|
-
export { drawableSubscriptions,
|
|
22
|
-
export { askAdminAccount, AskPending, claimFormRef, createAskCollection,
|
|
19
|
+
export { AmbiguousDelegation, connectAgent, delegatesOf, disconnectAgent, readDelegation, readDelegationFor, resolveDelegation, DEFAULT_DAYS as CONNECT_DAYS, GAS_LEND_MIN_UIXO, GAS_LOAN_UIXO, type Delegation } from "./chain/delegate.ts";
|
|
20
|
+
export { bridgeMsgs } from "./chain/bridge.ts";
|
|
21
|
+
export { drawableSubscriptions, drawMsgs, type Subscription } from "./chain/subscription.ts";
|
|
22
|
+
export { askAdminAccount, AskPending, claimFormRef, claimProtocolClassDid, createAskCollection, createAskEntities, didOf, evaluateClaim, isBroadcastTimeout, postAsk, prepareAsk, resolveAsk, submitOwnClaim, type AskEntities, type AskEntitiesInput, type AskMarker, type AskPosting, type AskShapeExtras, type AskTerms, type ClaimFormRef, type PostAskOptions, type PreparedAsk } from "./chain/ask.ts";
|
|
23
|
+
export { askShape, type AskShape } from "./chain/env.ts";
|
|
24
|
+
export { buildDomainCard, buildProfile, type DocRef } from "./chain/entityShape.ts";
|
|
23
25
|
export { answerArrived, putBack, readTakeBack, takeBack, type Coin, type TakeBackPlan } from "./chain/takeBack.ts";
|
|
24
26
|
export { ensureIidDocument, hasIidDocument } from "./chain/iid.ts";
|
|
25
27
|
export { claimWithPasskey, guestFunnelAvailable, guestSubmit, loadGuestKey } from "./chain/guest.ts";
|
|
@@ -29,6 +31,8 @@ export { clearSession, loadSession, saveSession, subscribeSession, type QiSessio
|
|
|
29
31
|
export { getFeegrantGranter, getQueryClient, getUixoBalance, ensureGas } from "./chain/query.ts";
|
|
30
32
|
export { faucetUrl, network, rpcUrl } from "./chain/env.ts";
|
|
31
33
|
export { oracleUrl, notifyOracle, type OracleEvent } from "./chain/oracle.ts";
|
|
34
|
+
export { domainIndexerUrl } from "./chain/env.ts";
|
|
35
|
+
export { nudgeDomainIndexer, type NudgeOptions } from "./chain/domainIndexer.ts";
|
|
32
36
|
export { proveWithGuestKey } from "./chain/guest.ts";
|
|
33
37
|
export { proveWithPasskey } from "./chain/account.ts";
|
|
34
38
|
export { kindOf, speaksForItself, type SessionKind } from "./chain/session.ts";
|
package/dist/esm/chain.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/chain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,IAAI,YAAY,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/chain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,IAAI,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7O,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC7F,OAAO,EACL,eAAe,EACf,UAAU,EACV,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,EACL,aAAa,EACb,kBAAkB,EAClB,OAAO,EACP,UAAU,EACV,UAAU,EACV,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,WAAW,EACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGpF,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrG,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC9G,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAOjG,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMtD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/esm/chain.js
CHANGED
|
@@ -16,10 +16,13 @@
|
|
|
16
16
|
*/
|
|
17
17
|
export { createAccount, settleNewAccount, signIn } from "./chain/account.js";
|
|
18
18
|
export { grantAllowance, readAllowance, revokeAllowance } from "./chain/allowance.js";
|
|
19
|
-
export { AmbiguousDelegation, connectAgent, delegatesOf, disconnectAgent, readDelegation, readDelegationFor, resolveDelegation, DEFAULT_DAYS as CONNECT_DAYS, GAS_LOAN_UIXO } from "./chain/delegate.js";
|
|
20
|
-
export { bridgeMsgs
|
|
21
|
-
export { drawableSubscriptions,
|
|
22
|
-
export { askAdminAccount, AskPending, claimFormRef, createAskCollection,
|
|
19
|
+
export { AmbiguousDelegation, connectAgent, delegatesOf, disconnectAgent, readDelegation, readDelegationFor, resolveDelegation, DEFAULT_DAYS as CONNECT_DAYS, GAS_LEND_MIN_UIXO, GAS_LOAN_UIXO } from "./chain/delegate.js";
|
|
20
|
+
export { bridgeMsgs } from "./chain/bridge.js";
|
|
21
|
+
export { drawableSubscriptions, drawMsgs } from "./chain/subscription.js";
|
|
22
|
+
export { askAdminAccount, AskPending, claimFormRef, claimProtocolClassDid, createAskCollection, createAskEntities, didOf, evaluateClaim, isBroadcastTimeout, postAsk, prepareAsk, resolveAsk, submitOwnClaim } from "./chain/ask.js";
|
|
23
|
+
/* The shape switch and the document builders ride with the poster's controls too. */
|
|
24
|
+
export { askShape } from "./chain/env.js";
|
|
25
|
+
export { buildDomainCard, buildProfile } from "./chain/entityShape.js";
|
|
23
26
|
/* Reached only through `await import("@ixo/openhands-sdk/chain")` from the poster's
|
|
24
27
|
own controls, like `evaluateClaim` beside it, so no page loads it up front. */
|
|
25
28
|
export { answerArrived, putBack, readTakeBack, takeBack } from "./chain/takeBack.js";
|
|
@@ -36,6 +39,8 @@ export { getFeegrantGranter, getQueryClient, getUixoBalance, ensureGas } from ".
|
|
|
36
39
|
MCP imports the file directly. */
|
|
37
40
|
export { faucetUrl, network, rpcUrl } from "./chain/env.js";
|
|
38
41
|
export { oracleUrl, notifyOracle } from "./chain/oracle.js";
|
|
42
|
+
export { domainIndexerUrl } from "./chain/env.js";
|
|
43
|
+
export { nudgeDomainIndexer } from "./chain/domainIndexer.js";
|
|
39
44
|
export { proveWithGuestKey } from "./chain/guest.js";
|
|
40
45
|
export { proveWithPasskey } from "./chain/account.js";
|
|
41
46
|
/* `signx` is deliberately NOT re-exported here. It reaches node:crypto, and
|
package/dist/esm/chain.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/chain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,EAAuB,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,IAAI,YAAY,EAAE,aAAa,EAAmB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/chain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,EAAuB,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,IAAI,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAmB,MAAM,qBAAqB,CAAC;AAC7O,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAqB,MAAM,yBAAyB,CAAC;AAC7F,OAAO,EACL,eAAe,EACf,UAAU,EACV,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,EACL,aAAa,EACb,kBAAkB,EAClB,OAAO,EACP,UAAU,EACV,UAAU,EACV,cAAc,EAUf,MAAM,gBAAgB,CAAC;AACxB,qFAAqF;AACrF,OAAO,EAAE,QAAQ,EAAiB,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAe,MAAM,wBAAwB,CAAC;AACpF;iFACiF;AACjF,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAgC,MAAM,qBAAqB,CAAC;AACnH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrG,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAkB,MAAM,oBAAoB,CAAC;AAC9G,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEjG;;;;oCAIoC;AACpC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAoB,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAqB,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;+EAG+E;AAC/E,OAAO,EAAE,MAAM,EAAE,eAAe,EAAoB,MAAM,oBAAoB,CAAC;AAE/E;;;gCAGgC"}
|
package/dist/esm/config.d.ts
CHANGED
|
@@ -33,7 +33,8 @@ import { DEFAULT_RATES_URL } from "./data/rates.ts";
|
|
|
33
33
|
import { DEFAULT_ORACLE_RECEIPT_HOSTS, parseHosts } from "./data/accept.ts";
|
|
34
34
|
import { DEFAULT_CHECK_REWARD_BASE } from "./campaign/funding.ts";
|
|
35
35
|
export { chainNetwork, NETWORKS, type Network, RELAYER_NAMES, type RelayerName, type RelayerChoice, strictBase, parseHosts, DEFAULT_IPFS_GATEWAY_URL, DEFAULT_RATES_URL, DEFAULT_ORACLE_RECEIPT_HOSTS, DEFAULT_CHECK_REWARD_BASE };
|
|
36
|
-
|
|
36
|
+
/** What an ask may be posted in: IXO, PAY (legacy deployments), or Noble USDC on mainnet (`chain/money.ts` USDC_MAINNET). */
|
|
37
|
+
export type AskDenom = "uixo" | "upay" | "ibc/6BBE9BD4246F8E04948D5A4EEE7164B2630263B9EBB5E7DC5F0A46C62A2FF97B";
|
|
37
38
|
export interface OpenhandsConfig {
|
|
38
39
|
/** `NEXT_PUBLIC_CHAIN_NETWORK`; unset/empty → testnet; any other value throws. */
|
|
39
40
|
network: Network;
|
|
@@ -81,15 +82,19 @@ export interface OpenhandsConfig {
|
|
|
81
82
|
* `chain/env` `relayerNode()` throws instead of minting on the wrong node.
|
|
82
83
|
*/
|
|
83
84
|
relayerNodeDid: string | null;
|
|
84
|
-
/** `NEXT_PUBLIC_DEED_CLASS_DID` || per-network: the `protocol/deed`
|
|
85
|
+
/** `NEXT_PUBLIC_DEED_CLASS_DID` || per-network: the `protocol/deed` root; what an ask deed is classed under when no Ask protocol is named. */
|
|
85
86
|
deedClassDid: string;
|
|
86
|
-
/** `
|
|
87
|
+
/** `NEXT_PUBLIC_ASK_PROTOCOL_DID` || `null`: the Openhands Ask protocol (`scripts/publish-protocols.ts`) a new ask deed is classed under when named; a non-DID throws. */
|
|
88
|
+
askProtocolDid: string | null;
|
|
89
|
+
/** `NEXT_PUBLIC_VC_CLASS_DID` || per-network: the `protocol/verifiableClaim` class a claim protocol is created under (every network names one since 2026-10-14). */
|
|
87
90
|
verifiableClaimClassDid: string | null;
|
|
88
|
-
/** `NEXT_PUBLIC_MATRIX_HOMESERVER` || per-network; no trailing slash.
|
|
91
|
+
/** `NEXT_PUBLIC_MATRIX_HOMESERVER` || per-network; no trailing slash. The homeserver an entity names in its `#matrix` service (documents live on the public store, never here). A Worker's `MATRIX_HOMESERVER` binding is passed through `configure()`, never read here (barrels.test.ts). */
|
|
89
92
|
matrixHomeserver: string;
|
|
93
|
+
/** `NEXT_PUBLIC_DOMAIN_INDEXER_URL` || per-network; no trailing slash. The IXO domain indexer nudged after a `#dmn` is anchored; `configure({ domainIndexerUrl: "" })` silences the nudge. */
|
|
94
|
+
domainIndexerUrl: string;
|
|
90
95
|
/** `NEXT_PUBLIC_AUTHN_RP_ID` || undefined (the browser's own hostname). */
|
|
91
96
|
authnRpId: string | undefined;
|
|
92
|
-
/** `NEXT_PUBLIC_ASK_DENOM`
|
|
97
|
+
/** The default reward coin: `NEXT_PUBLIC_ASK_DENOM` when it is USDC_MAINNET, else "uixo" (PAY is never a reward, owner ruling 2026-10-16). */
|
|
93
98
|
askDenom: AskDenom;
|
|
94
99
|
/** `NEXT_PUBLIC_BASE_PATH` (trailing slashes stripped) || "". */
|
|
95
100
|
basePath: string;
|
|
@@ -125,6 +130,7 @@ export interface NetworkDefaults {
|
|
|
125
130
|
deedClassDid: string;
|
|
126
131
|
verifiableClaimClassDid: string | null;
|
|
127
132
|
matrixHomeserver: string;
|
|
133
|
+
domainIndexerUrl: string;
|
|
128
134
|
faucetUrl: string | null;
|
|
129
135
|
}
|
|
130
136
|
/** The endpoints a network uses when nothing overrides them. */
|
package/dist/esm/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EAAE,YAAY,EAAE,KAAK,OAAO,EAAW,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/config.js
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
import { givenConfig, givenVersion, setGivenConfig } from "./given.js";
|
|
29
29
|
import { chainNetwork, network, NETWORKS } from "./network.js";
|
|
30
30
|
import { strictBase } from "./envRead.js";
|
|
31
|
-
import { chainEndpointsFor, deedClassDid, faucetUrl, matrixHomeserver, relayerChoice, relayerNodeIfConfigured, RELAYER_NAMES, restUrl, rpcUrl, rpId, verifiableClaimClassDidIfConfigured } from "./chain/env.js";
|
|
31
|
+
import { askProtocolDidIfConfigured, chainEndpointsFor, deedClassDid, domainIndexerUrl, faucetUrl, matrixHomeserver, relayerChoice, relayerNodeIfConfigured, RELAYER_NAMES, restUrl, rpcUrl, rpId, verifiableClaimClassDidIfConfigured } from "./chain/env.js";
|
|
32
32
|
import { askDenom } from "./chain/money.js";
|
|
33
33
|
import { granterBotUrl } from "./chain/guest.js";
|
|
34
34
|
import { oracleUrl } from "./chain/oracle.js";
|
|
@@ -98,8 +98,10 @@ export function config() {
|
|
|
98
98
|
relayer: relayerChoice(),
|
|
99
99
|
relayerNodeDid: relayerNodeIfConfigured(),
|
|
100
100
|
deedClassDid: deedClassDid(),
|
|
101
|
+
askProtocolDid: askProtocolDidIfConfigured(),
|
|
101
102
|
verifiableClaimClassDid: verifiableClaimClassDidIfConfigured(),
|
|
102
103
|
matrixHomeserver: matrixHomeserver(),
|
|
104
|
+
domainIndexerUrl: domainIndexerUrl(),
|
|
103
105
|
authnRpId: rpId(),
|
|
104
106
|
askDenom: askDenom(),
|
|
105
107
|
basePath: basePath(),
|
package/dist/esm/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,YAAY,EAAgB,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,uBAAuB,EAAE,aAAa,EAAwC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,mCAAmC,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The entity an ask's own documents hang on (`#done`, `#payoutTerms`, its owner).
|
|
3
|
+
*
|
|
4
|
+
* Every ask OpenHands posted before organisations has `entity === protocol`.
|
|
5
|
+
* An ask posted for an organisation has `entity` = the org, whose facilitator
|
|
6
|
+
* pays it, and `protocol` = the ask's own entity. So: the collection's entity
|
|
7
|
+
* when it carries terms, else the protocol when that is a different entity.
|
|
8
|
+
*/
|
|
9
|
+
export declare function askEntityOf(collection: {
|
|
10
|
+
entity?: string | null;
|
|
11
|
+
protocol?: string | null;
|
|
12
|
+
}, entityCarriesTerms: boolean): string | null;
|
|
13
|
+
/** An entity's `linkedEntity` list, as the index or the chain gives it. */
|
|
14
|
+
export type Links = readonly ({
|
|
15
|
+
id?: string | null;
|
|
16
|
+
relationship?: string | null;
|
|
17
|
+
} | null | undefined)[] | null | undefined;
|
|
18
|
+
/** The orgs a deed names `requestedBy` (IXO shape, OpenHands HQ). */
|
|
19
|
+
export declare const requestedByOf: (links: Links) => string[];
|
|
20
|
+
/**
|
|
21
|
+
* The org that backs an ask's off-chain pay, or null — the one rule every
|
|
22
|
+
* reader (board walk, threads, receipt, Get paid) applies before it shows it.
|
|
23
|
+
*
|
|
24
|
+
* The deed (`collection.entity`) names the org `requestedBy` AND the org's IID
|
|
25
|
+
* lists the deed as `request`. Matched on id + relationship. Either side alone
|
|
26
|
+
* is unlinked: each side is written only by its own keys, so only the pair
|
|
27
|
+
* cannot be forged. A legacy org ask (collection.entity = the org) is never
|
|
28
|
+
* backed: the facilitator refuses it (NOT_DEED_ASK, owner ruling 2026-10-14),
|
|
29
|
+
* so no reader may promise its pay. It still reads for history (`askEntityOf`).
|
|
30
|
+
*
|
|
31
|
+
* `links` holds the collection entity's links and, for every org it names
|
|
32
|
+
* `requestedBy`, that org's (see `withOrgLinks`).
|
|
33
|
+
*/
|
|
34
|
+
export declare function backingOrgOf(collection: {
|
|
35
|
+
entity?: string | null;
|
|
36
|
+
protocol?: string | null;
|
|
37
|
+
}, links: ReadonlyMap<string, Links>): string | null;
|
|
38
|
+
/** `first` (the collection entities' links) plus the links of every org they name `requestedBy`, read with `read` in one more round trip when there are any. */
|
|
39
|
+
export declare function withOrgLinks(first: ReadonlyMap<string, Links>, read: (ids: string[]) => Promise<ReadonlyMap<string, Links>>): Promise<Map<string, Links>>;
|
|
40
|
+
//# sourceMappingURL=askEntity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"askEntity.d.ts","sourceRoot":"","sources":["../../../src/data/askEntity.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,kBAAkB,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGxI;AAED,2EAA2E;AAC3E,MAAM,MAAM,KAAK,GAAG,SAAS,CAAC;IAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;AAE5H,qEAAqE;AACrE,eAAO,MAAM,aAAa,GAAI,OAAO,KAAK,KAAG,MAAM,EAAqG,CAAC;AAEzJ;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,GAAG,IAAI,CAI/I;AAED,gKAAgK;AAChK,wBAAsB,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAG/J"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The entity an ask's own documents hang on (`#done`, `#payoutTerms`, its owner).
|
|
3
|
+
*
|
|
4
|
+
* Every ask OpenHands posted before organisations has `entity === protocol`.
|
|
5
|
+
* An ask posted for an organisation has `entity` = the org, whose facilitator
|
|
6
|
+
* pays it, and `protocol` = the ask's own entity. So: the collection's entity
|
|
7
|
+
* when it carries terms, else the protocol when that is a different entity.
|
|
8
|
+
*/
|
|
9
|
+
export function askEntityOf(collection, entityCarriesTerms) {
|
|
10
|
+
if (entityCarriesTerms || !collection.protocol || collection.protocol === collection.entity)
|
|
11
|
+
return collection.entity ?? null;
|
|
12
|
+
return collection.protocol;
|
|
13
|
+
}
|
|
14
|
+
/** The orgs a deed names `requestedBy` (IXO shape, OpenHands HQ). */
|
|
15
|
+
export const requestedByOf = (links) => (links ?? []).flatMap((one) => (one?.relationship === "requestedBy" && one.id ? [one.id] : []));
|
|
16
|
+
/**
|
|
17
|
+
* The org that backs an ask's off-chain pay, or null — the one rule every
|
|
18
|
+
* reader (board walk, threads, receipt, Get paid) applies before it shows it.
|
|
19
|
+
*
|
|
20
|
+
* The deed (`collection.entity`) names the org `requestedBy` AND the org's IID
|
|
21
|
+
* lists the deed as `request`. Matched on id + relationship. Either side alone
|
|
22
|
+
* is unlinked: each side is written only by its own keys, so only the pair
|
|
23
|
+
* cannot be forged. A legacy org ask (collection.entity = the org) is never
|
|
24
|
+
* backed: the facilitator refuses it (NOT_DEED_ASK, owner ruling 2026-10-14),
|
|
25
|
+
* so no reader may promise its pay. It still reads for history (`askEntityOf`).
|
|
26
|
+
*
|
|
27
|
+
* `links` holds the collection entity's links and, for every org it names
|
|
28
|
+
* `requestedBy`, that org's (see `withOrgLinks`).
|
|
29
|
+
*/
|
|
30
|
+
export function backingOrgOf(collection, links) {
|
|
31
|
+
const { entity, protocol } = collection;
|
|
32
|
+
if (!entity || !protocol || entity === protocol)
|
|
33
|
+
return null;
|
|
34
|
+
return requestedByOf(links.get(entity)).find((org) => (links.get(org) ?? []).some((one) => one?.id === entity && one?.relationship === "request")) ?? null;
|
|
35
|
+
}
|
|
36
|
+
/** `first` (the collection entities' links) plus the links of every org they name `requestedBy`, read with `read` in one more round trip when there are any. */
|
|
37
|
+
export async function withOrgLinks(first, read) {
|
|
38
|
+
const orgs = [...new Set([...first.values()].flatMap(requestedByOf))].filter((org) => !first.has(org));
|
|
39
|
+
return new Map([...first, ...(orgs.length > 0 ? await read(orgs) : [])]);
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=askEntity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"askEntity.js","sourceRoot":"","sources":["../../../src/data/askEntity.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,UAAgE,EAAE,kBAA2B;IACvH,IAAI,kBAAkB,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,KAAK,UAAU,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC;IAC9H,OAAO,UAAU,CAAC,QAAQ,CAAC;AAC7B,CAAC;AAKD,qEAAqE;AACrE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAY,EAAY,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,YAAY,KAAK,aAAa,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEzJ;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAAC,UAAgE,EAAE,KAAiC;IAC9H,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;IACxC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC7D,OAAO,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,MAAM,IAAI,GAAG,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC;AAC7J,CAAC;AAED,gKAAgK;AAChK,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAiC,EAAE,IAA4D;IAChI,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACvG,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type Links } from "./askEntity.ts";
|
|
2
|
+
/** These entities' `linkedEntity` lists, from the index. */
|
|
3
|
+
export declare function entityLinks(ids: string[]): Promise<Map<string, Links>>;
|
|
4
|
+
/** What `backingOrgOf` needs for these collection entities: their links and their `requestedBy` orgs' links. */
|
|
5
|
+
export declare const askLinks: (entityDids: string[]) => Promise<Map<string, Links>>;
|
|
6
|
+
//# sourceMappingURL=askLinks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"askLinks.d.ts","sourceRoot":"","sources":["../../../src/data/askLinks.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE1D,4DAA4D;AAC5D,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAO5E;AAED,gHAAgH;AAChH,eAAO,MAAM,QAAQ,GAAU,YAAY,MAAM,EAAE,KAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAA6D,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { gql } from "./gql.js";
|
|
2
|
+
import { withOrgLinks } from "./askEntity.js";
|
|
3
|
+
/** These entities' `linkedEntity` lists, from the index. */
|
|
4
|
+
export async function entityLinks(ids) {
|
|
5
|
+
const out = new Map();
|
|
6
|
+
const unique = [...new Set(ids.filter(Boolean))];
|
|
7
|
+
if (unique.length === 0)
|
|
8
|
+
return out;
|
|
9
|
+
const data = await gql(`query { entities(filter: {id: {in: ${JSON.stringify(unique)}}}) { nodes { id linkedEntity } } }`, 30);
|
|
10
|
+
for (const node of data.entities?.nodes ?? [])
|
|
11
|
+
out.set(node.id, node.linkedEntity ?? []);
|
|
12
|
+
return out;
|
|
13
|
+
}
|
|
14
|
+
/** What `backingOrgOf` needs for these collection entities: their links and their `requestedBy` orgs' links. */
|
|
15
|
+
export const askLinks = async (entityDids) => withOrgLinks(await entityLinks(entityDids), entityLinks);
|
|
16
|
+
//# sourceMappingURL=askLinks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"askLinks.js","sourceRoot":"","sources":["../../../src/data/askLinks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAc,MAAM,gBAAgB,CAAC;AAE1D,4DAA4D;AAC5D,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAa;IAC7C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAiB,CAAC;IACrC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAkE,sCAAsC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAC;IAC/L,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IACzF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,gHAAgH;AAChH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,UAAoB,EAA+B,EAAE,CAAC,YAAY,CAAC,MAAM,WAAW,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assemble.d.ts","sourceRoot":"","sources":["../../../../src/data/board/assemble.ts"],"names":[],"mappings":"AAKA,OAAO,EAA8F,KAAK,WAAW,EAAqB,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAa,KAAK,WAAW,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAE9R;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,6EAA6E;AAC7E,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,6DAA6D;AAC7D,eAAO,MAAM,OAAO,IAAI,CAAC;AACzB,2EAA2E;AAC3E,eAAO,MAAM,UAAU,KAAK,CAAC;AAE7B,wFAAwF;AACxF,eAAO,MAAM,KAAK,GAAI,KAAK,UAAU,KAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IACkC,CAAC;AAE/G,kGAAkG;AAClG,eAAO,MAAM,QAAQ,GAAI,KAAK,UAAU,KAAG,MAAmD,CAAC;AAE/F,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,GAAE,IAAiB,GAAG,OAAO,CAG1E;AAWD,uEAAuE;AACvE,wBAAgB,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"assemble.d.ts","sourceRoot":"","sources":["../../../../src/data/board/assemble.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,6 +55,7 @@ export function askRow(ask, trust, km) {
|
|
|
55
55
|
kind: ask.kind,
|
|
56
56
|
does: activityOf(ask),
|
|
57
57
|
...(ask.via ? { via: ask.via } : {}),
|
|
58
|
+
...(ask.payout ? { payout: ask.payout } : {}),
|
|
58
59
|
...(ask.holds ? { holds: ask.holds } : {}),
|
|
59
60
|
...(km !== undefined ? { km } : {}),
|
|
60
61
|
trust
|
|
@@ -229,7 +230,7 @@ function tripCard(members, trust, near) {
|
|
|
229
230
|
return { ...keys, row, poster: `trip:${lead.id}` };
|
|
230
231
|
}
|
|
231
232
|
function emptyFacets() {
|
|
232
|
-
return { open: 0, near: null, kinds: zeroKinds(), does: zeroActivities(), pay: { "1": 0, "5": 0 } };
|
|
233
|
+
return { open: 0, near: null, kinds: zeroKinds(), does: zeroActivities(), doesNear: null, pay: { "1": 0, "5": 0 } };
|
|
233
234
|
}
|
|
234
235
|
/** Whether an ask is one of the things the query asks to do: its activities, widened by any old kinds. */
|
|
235
236
|
const doesWanted = (query) => {
|
|
@@ -258,8 +259,20 @@ export function facetsOf(open, query) {
|
|
|
258
259
|
if (payOk(ask) && kindOk(ask))
|
|
259
260
|
facets.open += 1;
|
|
260
261
|
}
|
|
262
|
+
/* Within reach, each kind counted the way `does` counts it, so the rail
|
|
263
|
+
beside "5 open within 20 km" never says 1,205 for one of its kinds. */
|
|
261
264
|
if (query.near) {
|
|
262
|
-
|
|
265
|
+
const doesNear = zeroActivities();
|
|
266
|
+
let near = 0;
|
|
267
|
+
for (const ask of open) {
|
|
268
|
+
if (!payOk(ask) || !ask.place || distanceKm(query.near, ask.place) > query.km)
|
|
269
|
+
continue;
|
|
270
|
+
doesNear[activityOf(ask)] += 1;
|
|
271
|
+
if (kindOk(ask))
|
|
272
|
+
near += 1;
|
|
273
|
+
}
|
|
274
|
+
facets.near = near;
|
|
275
|
+
facets.doesNear = doesNear;
|
|
263
276
|
}
|
|
264
277
|
return facets;
|
|
265
278
|
}
|