@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
|
@@ -79,6 +79,7 @@ function ledeOf(trace) {
|
|
|
79
79
|
*/
|
|
80
80
|
exports.MEASURED = {
|
|
81
81
|
withinRadius: "the distance",
|
|
82
|
+
withinAskRadius: "the distance from the ask's own spot",
|
|
82
83
|
located: "the location",
|
|
83
84
|
beforeAfter: "the order of the photographs",
|
|
84
85
|
daylight: "the light",
|
|
@@ -90,7 +91,9 @@ exports.MEASURED = {
|
|
|
90
91
|
cooldown: "recent payouts nearby",
|
|
91
92
|
openhandsSite: "the site marker",
|
|
92
93
|
notElsewhere: "where the photograph was taken",
|
|
93
|
-
notMarkedGenerated: "the photograph's generator marks"
|
|
94
|
+
notMarkedGenerated: "the photograph's generator marks",
|
|
95
|
+
cameraPhoto: "the photograph's camera data",
|
|
96
|
+
liveCapture: "the photograph's live capture"
|
|
94
97
|
};
|
|
95
98
|
/** A check's words, or null for one this file does not know. */
|
|
96
99
|
const words = (name) => exports.MEASURED[name.replace(/\d+$/, "")] ?? null;
|
|
@@ -180,7 +183,10 @@ function paidDetail(step) {
|
|
|
180
183
|
return step.from === "pool" ? "From the pot backers filled, paid by the ixo chain the moment it was approved." : "From the ask's escrow, paid by the ixo chain the moment it was approved.";
|
|
181
184
|
}
|
|
182
185
|
/** A verdict the chain recorded with nothing released. */
|
|
183
|
-
function recordedLine(status) {
|
|
186
|
+
function recordedLine(status, offChain) {
|
|
187
|
+
/* An off-chain ask's approval leg is empty: the chain's payment status never moves, and saying "not gone through" would be wrong. */
|
|
188
|
+
if (status === 1 && offChain)
|
|
189
|
+
return { line: "Approved on chain", detail: offChain.by ? `Paid off chain by ${offChain.by} via ${offChain.via}.` : "" };
|
|
184
190
|
if (status === 1)
|
|
185
191
|
return { line: "Approved on chain", detail: "The payment has not gone through yet." };
|
|
186
192
|
if (status === 5)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traceWords.js","sourceRoot":"","sources":["../../../src/data/traceWords.ts"],"names":[],"mappings":";;;AAmBA,sCASC;AAGD,oCAQC;AAGD,wBAgBC;
|
|
1
|
+
{"version":3,"file":"traceWords.js","sourceRoot":"","sources":["../../../src/data/traceWords.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Why a claim was decided, as the oracle tells its claimant: `GET <oracle>/openhands/claims/:id/why`
|
|
3
|
+
* (openhands-oracle `src/openhands/why.ts`). Parsed strictly: any other shape, the old
|
|
4
|
+
* `verdict/gates/findings` one included, is null, and a reader says `WHY_UNREADABLE` instead.
|
|
5
|
+
* Pure and dependency-free, so it rides into a browser chunk for a few hundred bytes.
|
|
6
|
+
*/
|
|
7
|
+
export type WhyResult = "pass" | "fail" | "error" | "review";
|
|
8
|
+
export interface WhyReason {
|
|
9
|
+
code: string;
|
|
10
|
+
label: string;
|
|
11
|
+
result: WhyResult;
|
|
12
|
+
detail: string;
|
|
13
|
+
value?: number | string;
|
|
14
|
+
threshold?: number | string;
|
|
15
|
+
unit?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface Why {
|
|
18
|
+
outcome: "approved" | "rejected" | "review" | "pending";
|
|
19
|
+
summary: string;
|
|
20
|
+
reasons: WhyReason[];
|
|
21
|
+
evidenceGrade?: "camera" | "browser-reported" | "none";
|
|
22
|
+
reviewNote?: string;
|
|
23
|
+
receiptCid?: string;
|
|
24
|
+
}
|
|
25
|
+
export declare const WHY_UNREADABLE = "Couldn't load the reason";
|
|
26
|
+
/** The result in words, for a screen reader and for the eye alike: never colour alone. */
|
|
27
|
+
export declare const RESULT_WORD: Record<WhyResult, string>;
|
|
28
|
+
/** The body, or null for anything that is not exactly this shape. */
|
|
29
|
+
export declare function parseWhy(raw: unknown): Why | null;
|
|
30
|
+
/** "2,000 m (limit 200 m)", "2,000 m", or "" when the reason carries no measure. */
|
|
31
|
+
export declare function measureOf(reason: Pick<WhyReason, "value" | "threshold" | "unit">): string;
|
|
32
|
+
/** What a reason adds to its label: the measure, then the detail minus anything that repeats the label, the measure or the result. */
|
|
33
|
+
export declare function reasonText(reason: WhyReason): string;
|
|
34
|
+
/** "Time/place: browser-reported", or null. */
|
|
35
|
+
export declare const evidenceLine: (why: Why) => string | null;
|
|
36
|
+
/** The whole answer as plain lines (MCP `check_verdict`); null is the graceful message. */
|
|
37
|
+
export declare function whyLines(why: Why | null, indent?: string): string[];
|
|
38
|
+
//# sourceMappingURL=why.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"why.d.ts","sourceRoot":"","sources":["../../../src/data/why.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE7D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE,QAAQ,GAAG,kBAAkB,GAAG,MAAM,CAAC;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,cAAc,6BAA6B,CAAC;AAEzD,0FAA0F;AAC1F,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAyF,CAAC;AAmB5I,qEAAqE;AACrE,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,GAAG,IAAI,CAUjD;AAID,oFAAoF;AACpF,wBAAgB,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC,GAAG,MAAM,CAGzF;AAED,sIAAsI;AACtI,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAOpD;AAED,+CAA+C;AAC/C,eAAO,MAAM,YAAY,GAAI,KAAK,GAAG,KAAG,MAAM,GAAG,IAAuE,CAAC;AAEzH,2FAA2F;AAC3F,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,EAAE,MAAM,SAAK,GAAG,MAAM,EAAE,CAW/D"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Why a claim was decided, as the oracle tells its claimant: `GET <oracle>/openhands/claims/:id/why`
|
|
4
|
+
* (openhands-oracle `src/openhands/why.ts`). Parsed strictly: any other shape, the old
|
|
5
|
+
* `verdict/gates/findings` one included, is null, and a reader says `WHY_UNREADABLE` instead.
|
|
6
|
+
* Pure and dependency-free, so it rides into a browser chunk for a few hundred bytes.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.evidenceLine = exports.RESULT_WORD = exports.WHY_UNREADABLE = void 0;
|
|
10
|
+
exports.parseWhy = parseWhy;
|
|
11
|
+
exports.measureOf = measureOf;
|
|
12
|
+
exports.reasonText = reasonText;
|
|
13
|
+
exports.whyLines = whyLines;
|
|
14
|
+
exports.WHY_UNREADABLE = "Couldn't load the reason";
|
|
15
|
+
/** The result in words, for a screen reader and for the eye alike: never colour alone. */
|
|
16
|
+
exports.RESULT_WORD = { pass: "Passed", fail: "Failed", error: "Couldn't check", review: "Needs a person" };
|
|
17
|
+
const OUTCOMES = ["approved", "rejected", "review", "pending"];
|
|
18
|
+
const RESULTS = ["pass", "fail", "error", "review"];
|
|
19
|
+
const GRADES = ["camera", "browser-reported", "none"];
|
|
20
|
+
const text = (v, max = 600) => typeof v === "string" && v.length <= max;
|
|
21
|
+
const amount = (v) => v === undefined || (typeof v === "number" && Number.isFinite(v)) || text(v, 60);
|
|
22
|
+
const optional = (v, max = 600) => v === undefined || text(v, max);
|
|
23
|
+
function reasonOf(raw) {
|
|
24
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
25
|
+
return null;
|
|
26
|
+
const r = raw;
|
|
27
|
+
if (!text(r.code, 120) || !text(r.label, 200) || !RESULTS.includes(r.result) || !text(r.detail))
|
|
28
|
+
return null;
|
|
29
|
+
if (!amount(r.value) || !amount(r.threshold) || !optional(r.unit, 20))
|
|
30
|
+
return null;
|
|
31
|
+
const { code, label, result, detail, value, threshold, unit } = r;
|
|
32
|
+
return { code, label, result, detail, ...(value !== undefined ? { value } : {}), ...(threshold !== undefined ? { threshold } : {}), ...(unit ? { unit } : {}) };
|
|
33
|
+
}
|
|
34
|
+
/** The body, or null for anything that is not exactly this shape. */
|
|
35
|
+
function parseWhy(raw) {
|
|
36
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
37
|
+
return null;
|
|
38
|
+
const w = raw;
|
|
39
|
+
if (!OUTCOMES.includes(w.outcome) || !text(w.summary, 1000) || !w.summary || !Array.isArray(w.reasons) || w.reasons.length > 50)
|
|
40
|
+
return null;
|
|
41
|
+
if (w.evidenceGrade !== undefined && !GRADES.includes(w.evidenceGrade))
|
|
42
|
+
return null;
|
|
43
|
+
if (!optional(w.reviewNote, 1000) || !optional(w.receiptCid, 200))
|
|
44
|
+
return null;
|
|
45
|
+
const reasons = w.reasons.map(reasonOf);
|
|
46
|
+
if (reasons.some((one) => !one))
|
|
47
|
+
return null;
|
|
48
|
+
const { outcome, summary, evidenceGrade, reviewNote, receiptCid } = w;
|
|
49
|
+
return { outcome, summary, reasons: reasons, ...(evidenceGrade ? { evidenceGrade } : {}), ...(reviewNote ? { reviewNote } : {}), ...(receiptCid ? { receiptCid } : {}) };
|
|
50
|
+
}
|
|
51
|
+
const num = (v, unit) => `${typeof v === "number" ? v.toLocaleString("en-US") : v}${unit ? `${unit === "%" ? "" : " "}${unit}` : ""}`;
|
|
52
|
+
/** "2,000 m (limit 200 m)", "2,000 m", or "" when the reason carries no measure. */
|
|
53
|
+
function measureOf(reason) {
|
|
54
|
+
if (reason.value === undefined)
|
|
55
|
+
return reason.threshold === undefined ? "" : `limit ${num(reason.threshold, reason.unit)}`;
|
|
56
|
+
return reason.threshold === undefined ? num(reason.value, reason.unit) : `${num(reason.value, reason.unit)} (limit ${num(reason.threshold, reason.unit)})`;
|
|
57
|
+
}
|
|
58
|
+
/** What a reason adds to its label: the measure, then the detail minus anything that repeats the label, the measure or the result. */
|
|
59
|
+
function reasonText(reason) {
|
|
60
|
+
const rest = reason.detail.startsWith(`${reason.label}: `) ? reason.detail.slice(reason.label.length + 2) : reason.detail;
|
|
61
|
+
const measure = measureOf(reason);
|
|
62
|
+
const said = rest === reason.label || rest === exports.RESULT_WORD[reason.result] || rest === "Did not pass" ? "" : rest;
|
|
63
|
+
/* The oracle's detail usually says the measure already ("100% (needs 70%)"): then it alone. */
|
|
64
|
+
const sayMeasured = reason.value !== undefined && said.startsWith(num(reason.value, reason.unit));
|
|
65
|
+
return [sayMeasured ? "" : measure, said].filter(Boolean).join(". ");
|
|
66
|
+
}
|
|
67
|
+
/** "Time/place: browser-reported", or null. */
|
|
68
|
+
const evidenceLine = (why) => (why.evidenceGrade ? `Time/place: ${why.evidenceGrade}` : null);
|
|
69
|
+
exports.evidenceLine = evidenceLine;
|
|
70
|
+
/** The whole answer as plain lines (MCP `check_verdict`); null is the graceful message. */
|
|
71
|
+
function whyLines(why, indent = "") {
|
|
72
|
+
if (!why)
|
|
73
|
+
return [`${indent}${exports.WHY_UNREADABLE}.`];
|
|
74
|
+
const lines = [`${indent}${why.summary}`];
|
|
75
|
+
for (const reason of why.reasons) {
|
|
76
|
+
const said = reasonText(reason);
|
|
77
|
+
lines.push(`${indent} ${exports.RESULT_WORD[reason.result]}: ${reason.label}${said ? ` — ${said}` : ""}`);
|
|
78
|
+
}
|
|
79
|
+
const evidence = (0, exports.evidenceLine)(why);
|
|
80
|
+
if (evidence)
|
|
81
|
+
lines.push(`${indent}${evidence}`);
|
|
82
|
+
if (why.outcome === "review" && why.reviewNote)
|
|
83
|
+
lines.push(`${indent}${why.reviewNote}`);
|
|
84
|
+
return lines;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=why.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"why.js","sourceRoot":"","sources":["../../../src/data/why.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The claimant's "why", rebuilt from the PUBLIC engine receipt, for everyone the oracle's
|
|
3
|
+
* `/openhands/claims/:id/why` cannot answer: a passkey or guest claimant (no signing key), an MCP
|
|
4
|
+
* acting for a connected person, the hosted MCP. Same `Why` shape and the same rules as the
|
|
5
|
+
* oracle's mapper (openhands-oracle `src/openhands/explain.ts`), minus what only the oracle holds:
|
|
6
|
+
* the receipt carries codes, outcomes and scores, never the frozen facts, so there are no measured
|
|
7
|
+
* distances, no AI sentence and no time/place grade here.
|
|
8
|
+
*
|
|
9
|
+
* Worker-safe: only the rubric's own public sentences and fixed words reach a detail, scrubbed of
|
|
10
|
+
* identifiers; the rubric's AI instructions are never read, nor the receipt's payee, company,
|
|
11
|
+
* digests or trace. Duplicate-photo findings say only that the photo was used before.
|
|
12
|
+
* Pure: `chain/why.ts` fetches the receipt and the verified rubric and calls this.
|
|
13
|
+
*/
|
|
14
|
+
import type { Why } from "./why.ts";
|
|
15
|
+
export declare const PENDING_WHY: Why;
|
|
16
|
+
export declare const scrub: (text: string, n?: number) => string;
|
|
17
|
+
/** `SD-101-PHOTO` → "Photo", `OH-102-LENGTH` → "Length": the words a code carries when no rubric does. */
|
|
18
|
+
export declare function codeLabel(code: string): string;
|
|
19
|
+
/** Where the receipt's rubric is anchored, and the id its bytes must hash to; null when it names none. */
|
|
20
|
+
export declare function receiptRubric(receipt: unknown): {
|
|
21
|
+
protocolDid: string;
|
|
22
|
+
rubricId: string;
|
|
23
|
+
} | null;
|
|
24
|
+
/**
|
|
25
|
+
* The `Why` a receipt supports, or null for anything that is not an engine receipt. `rubric` is the
|
|
26
|
+
* protocol's `#rub` document with the id its bytes hash to; its words are used only when that id is
|
|
27
|
+
* the receipt's `rubric.id`, so a protocol re-anchored since never lends the wrong labels.
|
|
28
|
+
*/
|
|
29
|
+
export declare function whyFromReceipt(receipt: unknown, rubric?: {
|
|
30
|
+
id: string;
|
|
31
|
+
doc: unknown;
|
|
32
|
+
} | null): Why | null;
|
|
33
|
+
//# sourceMappingURL=whyReceipt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whyReceipt.d.ts","sourceRoot":"","sources":["../../../src/data/whyReceipt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAwB,MAAM,UAAU,CAAC;AAS1D,eAAO,MAAM,WAAW,EAAE,GAAkH,CAAC;AAa7I,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,EAAE,UAAO,KAAG,MAAyG,CAAC;AAmCxJ,0GAA0G;AAC1G,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG9C;AAsFD,0GAA0G;AAC1G,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAKhG;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAuHzG"}
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* The claimant's "why", rebuilt from the PUBLIC engine receipt, for everyone the oracle's
|
|
4
|
+
* `/openhands/claims/:id/why` cannot answer: a passkey or guest claimant (no signing key), an MCP
|
|
5
|
+
* acting for a connected person, the hosted MCP. Same `Why` shape and the same rules as the
|
|
6
|
+
* oracle's mapper (openhands-oracle `src/openhands/explain.ts`), minus what only the oracle holds:
|
|
7
|
+
* the receipt carries codes, outcomes and scores, never the frozen facts, so there are no measured
|
|
8
|
+
* distances, no AI sentence and no time/place grade here.
|
|
9
|
+
*
|
|
10
|
+
* Worker-safe: only the rubric's own public sentences and fixed words reach a detail, scrubbed of
|
|
11
|
+
* identifiers; the rubric's AI instructions are never read, nor the receipt's payee, company,
|
|
12
|
+
* digests or trace. Duplicate-photo findings say only that the photo was used before.
|
|
13
|
+
* Pure: `chain/why.ts` fetches the receipt and the verified rubric and calls this.
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.scrub = exports.PENDING_WHY = void 0;
|
|
17
|
+
exports.codeLabel = codeLabel;
|
|
18
|
+
exports.receiptRubric = receiptRubric;
|
|
19
|
+
exports.whyFromReceipt = whyFromReceipt;
|
|
20
|
+
const str = (v) => (typeof v === "string" && v ? v : undefined);
|
|
21
|
+
const obj = (v) => (v && typeof v === "object" && !Array.isArray(v) ? v : undefined);
|
|
22
|
+
const list = (v) => (Array.isArray(v) ? v.map(obj).filter((x) => !!x) : []);
|
|
23
|
+
exports.PENDING_WHY = { outcome: "pending", summary: "Not decided yet: the checks on your claim are still running.", reasons: [] };
|
|
24
|
+
/* ---- scrubbing: a rubric is public text, but a detail must never carry an identifier ---- */
|
|
25
|
+
const HIDDEN = "[hidden]";
|
|
26
|
+
const SCRUB = [
|
|
27
|
+
/\b(?:https?:\/\/|www\.)\S+/gi,
|
|
28
|
+
/[\w.+-]+@[\w-]+(?:\.[\w-]+)+/g,
|
|
29
|
+
/\bdid:[a-z0-9]+:[^\s,;)]+/gi,
|
|
30
|
+
/\bixo1[a-z0-9]{38,58}\b/g,
|
|
31
|
+
/\b(?:baf[a-z2-7]{20,}|[A-Za-z0-9]{30,})\b/g
|
|
32
|
+
];
|
|
33
|
+
const capped = (s, n = 160) => (s.length > n ? `${s.slice(0, n - 1).trimEnd()}…` : s);
|
|
34
|
+
const scrub = (text, n = 280) => capped(SCRUB.reduce((out, re) => out.replace(re, HIDDEN), text).replace(/\s+/g, " ").trim(), n);
|
|
35
|
+
exports.scrub = scrub;
|
|
36
|
+
/* ---- labels, as the oracle words them ---- */
|
|
37
|
+
const FACT_LABELS = {
|
|
38
|
+
withinRadius: "Distance to the place",
|
|
39
|
+
withinAskRadius: "Distance to the boat",
|
|
40
|
+
located: "Location reported",
|
|
41
|
+
beforeAfter: "Before and after photos",
|
|
42
|
+
notAlreadyMapped: "Not already reported here",
|
|
43
|
+
cooldown: "Not reported here recently",
|
|
44
|
+
daylight: "Light matches the time",
|
|
45
|
+
weather: "Weather matches",
|
|
46
|
+
reMeasure: "Status re-measured",
|
|
47
|
+
openhandsSite: "Site marker",
|
|
48
|
+
notElsewhere: "Photo taken at the place",
|
|
49
|
+
notMarkedGenerated: "Photo not AI-generated",
|
|
50
|
+
photoShape: "Photo shape",
|
|
51
|
+
atPoint: "At the point",
|
|
52
|
+
mappedGrid: "Mapped area",
|
|
53
|
+
jobStillOpen: "Job still open",
|
|
54
|
+
freshPhoto: "Fresh after photo",
|
|
55
|
+
barnaclesGone: "Cleanliness",
|
|
56
|
+
sameBoat: "Same boat in both photos"
|
|
57
|
+
};
|
|
58
|
+
const humanise = (s) => s
|
|
59
|
+
.replace(/^\$/, "")
|
|
60
|
+
.replace(/([a-z])([A-Z])/g, "$1 $2")
|
|
61
|
+
.replace(/[._-]+/g, " ")
|
|
62
|
+
.trim()
|
|
63
|
+
.replace(/^./, (c) => c.toUpperCase())
|
|
64
|
+
.replace(/(?<=\s)([A-Z])(?=[a-z])/g, (c) => c.toLowerCase());
|
|
65
|
+
/** `SD-101-PHOTO` → "Photo", `OH-102-LENGTH` → "Length": the words a code carries when no rubric does. */
|
|
66
|
+
function codeLabel(code) {
|
|
67
|
+
const words = /^[A-Z0-9]+-\d+-([A-Z0-9-]+)$/.exec(code)?.[1];
|
|
68
|
+
return words ? humanise(words.toLowerCase()) : humanise(code);
|
|
69
|
+
}
|
|
70
|
+
function leaves(node, out = []) {
|
|
71
|
+
if (Array.isArray(node))
|
|
72
|
+
for (const n of node)
|
|
73
|
+
leaves(n, out);
|
|
74
|
+
else if (node && typeof node === "object") {
|
|
75
|
+
const o = node;
|
|
76
|
+
if (typeof o.field === "string")
|
|
77
|
+
out.push(o);
|
|
78
|
+
for (const [k, v] of Object.entries(o))
|
|
79
|
+
if (k !== "value")
|
|
80
|
+
leaves(v, out);
|
|
81
|
+
}
|
|
82
|
+
return out;
|
|
83
|
+
}
|
|
84
|
+
/** The facts a condition reads, each once, with the `.score` it must reach where it compares one. */
|
|
85
|
+
function factRefs(...nodes) {
|
|
86
|
+
const refs = new Map();
|
|
87
|
+
for (const leaf of nodes.flatMap((n) => leaves(n))) {
|
|
88
|
+
const m = /^(ext|ai)\.([A-Za-z0-9_]+)\.(valid|score)$/.exec(leaf.field);
|
|
89
|
+
if (!m)
|
|
90
|
+
continue;
|
|
91
|
+
const key = `${m[1]}.${m[2]}`;
|
|
92
|
+
const ref = refs.get(key) ?? { lane: m[1], name: m[2] };
|
|
93
|
+
if (m[3] === "score" && typeof leaf.value === "number" && /^>=?$/.test(String(leaf.op)))
|
|
94
|
+
ref.threshold = Math.max(ref.threshold ?? 0, leaf.value);
|
|
95
|
+
refs.set(key, ref);
|
|
96
|
+
}
|
|
97
|
+
return [...refs.values()];
|
|
98
|
+
}
|
|
99
|
+
function factLabel(ref, rubricReason) {
|
|
100
|
+
const known = FACT_LABELS[ref.name] ?? FACT_LABELS[ref.name.replace(/\d+$/, "")];
|
|
101
|
+
if (known)
|
|
102
|
+
return known;
|
|
103
|
+
if (ref.lane === "ai" && rubricReason)
|
|
104
|
+
return capped(rubricReason);
|
|
105
|
+
return humanise(ref.name);
|
|
106
|
+
}
|
|
107
|
+
function fieldLabel(when, rubricReason) {
|
|
108
|
+
const ops = leaves(when);
|
|
109
|
+
const op = String(ops[0]?.op ?? "");
|
|
110
|
+
const fields = [...new Set(ops.map((l) => String(l.field)))];
|
|
111
|
+
const what = fields.length === 1 ? humanise(fields[0] ?? "") : "Files";
|
|
112
|
+
if (op === "present")
|
|
113
|
+
return `${what} handed in`;
|
|
114
|
+
if (op === "mediaTypeIn")
|
|
115
|
+
return `${what === "Files" ? "File" : what} type`;
|
|
116
|
+
if (op === "maxSizeMB")
|
|
117
|
+
return `${what === "Files" ? "File" : what} size`;
|
|
118
|
+
return rubricReason ? capped(rubricReason) : what;
|
|
119
|
+
}
|
|
120
|
+
function viewOf(doc) {
|
|
121
|
+
const rubric = obj(obj(doc)?.rubric);
|
|
122
|
+
if (!rubric)
|
|
123
|
+
return null;
|
|
124
|
+
const unique = obj(rubric.unique);
|
|
125
|
+
const frequency = obj(rubric.frequency);
|
|
126
|
+
return {
|
|
127
|
+
gates: list(rubric.gates).flatMap((g) => (str(g.code) ? [{ code: g.code, reason: str(g.reason), when: obj(g.when) }] : [])),
|
|
128
|
+
criteria: list(obj(rubric.scoring)?.criteria).flatMap((c) => str(c.code) ? [{ code: c.code, reason: str(c.reason), appliesWhen: obj(c.appliesWhen), score: obj(c.score) }] : []),
|
|
129
|
+
...(unique ? { unique: { label: str(unique.label) } } : {}),
|
|
130
|
+
...(frequency ? { frequency: { label: str(frequency.label), max: typeof frequency.max === "number" ? frequency.max : undefined, per: str(frequency.per) } } : {})
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
/* ---- the mapper ---- */
|
|
134
|
+
const GATE_RESULT = { passed: "pass", failed: "fail", unevaluated: "error" };
|
|
135
|
+
const UNCHECKED = "could not be checked automatically";
|
|
136
|
+
const sentence = (s) => (/[.!?…]$/.test(s) ? s : `${s}.`);
|
|
137
|
+
const fmt = (n) => n.toLocaleString("en-US", { maximumFractionDigits: 2 });
|
|
138
|
+
/** The receipt's evaluation block and its address: a bare v3 credential, the engine's `?format=json` wrapper, or a legacy v2 payload. */
|
|
139
|
+
function evaluationOf(doc) {
|
|
140
|
+
const outer = obj(doc);
|
|
141
|
+
const claimset = obj(outer?.payload) ?? outer;
|
|
142
|
+
const subject = obj(claimset?.credentialSubject);
|
|
143
|
+
const evaluation = obj(subject?.evaluation) ?? obj(claimset?.ixo);
|
|
144
|
+
return evaluation ? { evaluation, decision: obj(subject?.decision), cid: str(outer?.cid) } : null;
|
|
145
|
+
}
|
|
146
|
+
/** Where the receipt's rubric is anchored, and the id its bytes must hash to; null when it names none. */
|
|
147
|
+
function receiptRubric(receipt) {
|
|
148
|
+
const evaluation = evaluationOf(receipt)?.evaluation;
|
|
149
|
+
const protocolDid = str(evaluation?.protocolDid);
|
|
150
|
+
const rubricId = str(obj(evaluation?.rubric)?.id);
|
|
151
|
+
return protocolDid && rubricId ? { protocolDid, rubricId } : null;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* The `Why` a receipt supports, or null for anything that is not an engine receipt. `rubric` is the
|
|
155
|
+
* protocol's `#rub` document with the id its bytes hash to; its words are used only when that id is
|
|
156
|
+
* the receipt's `rubric.id`, so a protocol re-anchored since never lends the wrong labels.
|
|
157
|
+
*/
|
|
158
|
+
function whyFromReceipt(receipt, rubric) {
|
|
159
|
+
const found = evaluationOf(receipt);
|
|
160
|
+
if (!found)
|
|
161
|
+
return null;
|
|
162
|
+
const { evaluation, cid } = found;
|
|
163
|
+
const verdict = str(evaluation.verdict);
|
|
164
|
+
if (!verdict)
|
|
165
|
+
return null;
|
|
166
|
+
const receiptCid = cid ? { receiptCid: cid } : {};
|
|
167
|
+
if (evaluation.status === "unusable") {
|
|
168
|
+
return { ...exports.PENDING_WHY, summary: "Not decided yet: your claim could not be checked automatically. Nothing is needed from you.", ...receiptCid };
|
|
169
|
+
}
|
|
170
|
+
const resOutcome = obj(evaluation.res)?.outcome;
|
|
171
|
+
const outcome = verdict === "review" || resOutcome === 5 ? "review" : verdict === "approve" || verdict === "partial" ? "approved" : verdict === "reject" ? "rejected" : "pending";
|
|
172
|
+
const rubricId = str(obj(evaluation.rubric)?.id);
|
|
173
|
+
const view = rubric && rubricId && rubric.id.toLowerCase() === rubricId.toLowerCase() ? viewOf(rubric.doc) : null;
|
|
174
|
+
/* "held for a person" only when one is: a check that could not run on a rejected claim was not held. */
|
|
175
|
+
const held = outcome === "review" ? `${UNCHECKED}: held for a person` : UNCHECKED;
|
|
176
|
+
const reasons = [];
|
|
177
|
+
const seen = new Set();
|
|
178
|
+
const covered = new Set();
|
|
179
|
+
const push = (r) => {
|
|
180
|
+
const clean = { ...r, label: (0, exports.scrub)(r.label, 200), detail: (0, exports.scrub)(r.detail) };
|
|
181
|
+
/* Said once: the same answer, or a bare pass/fail on a check already said (a criterion restating its gate). */
|
|
182
|
+
const key = `${clean.result}|${clean.label}`;
|
|
183
|
+
const bare = clean.detail === "Passed" || clean.detail === "Did not pass";
|
|
184
|
+
if (seen.has(`${key}|${clean.detail}`) || (bare && seen.has(key)))
|
|
185
|
+
return;
|
|
186
|
+
seen.add(key).add(`${key}|${clean.detail}`);
|
|
187
|
+
reasons.push(clean);
|
|
188
|
+
};
|
|
189
|
+
const special = (code, result) => {
|
|
190
|
+
if (code.startsWith("unique:")) {
|
|
191
|
+
push({ code: code.slice(7), label: view?.unique?.label ?? "Photo not used before", result, detail: result === "fail" ? "This photo was already used in another claim" : "Passed" });
|
|
192
|
+
return true;
|
|
193
|
+
}
|
|
194
|
+
if (code.startsWith("frequency:")) {
|
|
195
|
+
const f = view?.frequency;
|
|
196
|
+
push({
|
|
197
|
+
code: code.slice(10),
|
|
198
|
+
label: f?.label ?? "Claim limit",
|
|
199
|
+
result,
|
|
200
|
+
detail: result !== "fail" ? "Passed" : f?.max !== undefined && f.per ? `Limit reached: at most ${fmt(f.max)} claims a ${f.per}` : "Limit reached",
|
|
201
|
+
...(f?.max !== undefined ? { threshold: f.max } : {})
|
|
202
|
+
});
|
|
203
|
+
return true;
|
|
204
|
+
}
|
|
205
|
+
return false;
|
|
206
|
+
};
|
|
207
|
+
const checks = list(evaluation.checks);
|
|
208
|
+
const checkOf = (ref) => checks.find((c) => c.kind === ref.lane && c.name === ref.name);
|
|
209
|
+
/** One gate or criterion read through the single fact it tests (the oracle's `factReason`, without the fact). */
|
|
210
|
+
const throughFact = (code, result, ref, reason, criterion = false) => {
|
|
211
|
+
covered.add(`${ref.lane}.${ref.name}`);
|
|
212
|
+
const label = factLabel(ref, reason);
|
|
213
|
+
/* An ext score the receipt records (basis points, as the rubric compares it): said as the oracle says it. */
|
|
214
|
+
const scored = ref.lane === "ext" && ref.threshold !== undefined && (result === "pass" || result === "fail") ? Number(checkOf(ref)?.verdict) : NaN;
|
|
215
|
+
if (Number.isFinite(scored) && scored >= 0 && scored <= 10_000) {
|
|
216
|
+
const value = Math.round(scored / 100);
|
|
217
|
+
const threshold = Math.round(ref.threshold / 100);
|
|
218
|
+
return push({ code, label, result, detail: `${label}: ${value}% (needs ${threshold}%)`, value, threshold, unit: "%" });
|
|
219
|
+
}
|
|
220
|
+
push({ code, label, result, detail: result === "error" ? `${label}: ${held}` : result === "review" ? `${label}: a person is checking this` : result === "pass" ? "Passed" : criterion ? "Did not pass" : (reason ?? "Did not pass") });
|
|
221
|
+
};
|
|
222
|
+
for (const gate of list(evaluation.gates)) {
|
|
223
|
+
const code = str(gate.code);
|
|
224
|
+
const result = GATE_RESULT[String(gate.outcome)];
|
|
225
|
+
if (!code || !result || special(code, result))
|
|
226
|
+
continue;
|
|
227
|
+
const spec = view?.gates.find((g) => g.code === code);
|
|
228
|
+
const refs = factRefs(spec?.when);
|
|
229
|
+
if (refs.length === 1)
|
|
230
|
+
throughFact(code, result, refs[0], spec?.reason);
|
|
231
|
+
else {
|
|
232
|
+
const label = spec ? fieldLabel(spec.when, spec.reason) : codeLabel(code);
|
|
233
|
+
push({ code, label, result, detail: result === "pass" ? "Passed" : result === "fail" ? (spec?.reason ?? "Did not pass") : `${label}: ${held}` });
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
for (const c of list(evaluation.criteria)) {
|
|
237
|
+
const code = str(c.code);
|
|
238
|
+
if (!code)
|
|
239
|
+
continue;
|
|
240
|
+
/* A criterion still pending on a claim already decided waits on nobody: not said. */
|
|
241
|
+
const result = c.pending === true ? (outcome === "review" ? "review" : null) : typeof c.scoreBps !== "number" ? null : c.scoreBps >= 5000 ? "pass" : "fail";
|
|
242
|
+
if (!result)
|
|
243
|
+
continue;
|
|
244
|
+
const spec = view?.criteria.find((s) => s.code === code);
|
|
245
|
+
const refs = factRefs(spec?.appliesWhen, spec?.score);
|
|
246
|
+
if (refs.length === 1 && result !== "review")
|
|
247
|
+
throughFact(code, result, refs[0], spec?.reason, true);
|
|
248
|
+
else {
|
|
249
|
+
const label = spec?.reason ? capped(spec.reason) : codeLabel(code);
|
|
250
|
+
push({ code, label, result, detail: result === "review" ? "A person is checking this" : result === "pass" ? "Passed" : "Did not pass" });
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
/* A check no gate or criterion above spoke for, said only when it failed or could not run. */
|
|
254
|
+
for (const check of checks) {
|
|
255
|
+
const name = str(check.name);
|
|
256
|
+
const kind = str(check.kind);
|
|
257
|
+
if (!name || !kind)
|
|
258
|
+
continue;
|
|
259
|
+
const errored = check.status === "error";
|
|
260
|
+
const failed = check.verdict === "fail" || check.verdict === "false" || (kind === "frequency" && check.verdict !== "ok" && check.verdict !== "pass");
|
|
261
|
+
if (!errored && !failed)
|
|
262
|
+
continue;
|
|
263
|
+
const result = errored ? "error" : "fail";
|
|
264
|
+
if (kind === "unique" || kind === "frequency") {
|
|
265
|
+
special(name.includes(":") ? name : `${kind}:${name}`, result);
|
|
266
|
+
continue;
|
|
267
|
+
}
|
|
268
|
+
if ((kind !== "ai" && kind !== "ext") || covered.has(`${kind}.${name}`))
|
|
269
|
+
continue;
|
|
270
|
+
const ref = { lane: kind, name };
|
|
271
|
+
const spec = [...(view?.gates.map((g) => ({ reason: g.reason, refs: factRefs(g.when) })) ?? []), ...(view?.criteria.map((s) => ({ reason: s.reason, refs: factRefs(s.appliesWhen, s.score) })) ?? [])].find((one) => one.refs.some((r) => r.lane === kind && r.name === name));
|
|
272
|
+
throughFact(`${kind}.${name}`, result, ref, spec?.reason);
|
|
273
|
+
}
|
|
274
|
+
if (outcome === "review" && !reasons.some((r) => r.result === "error" || r.result === "review")) {
|
|
275
|
+
push({ code: "review", label: "Checked by a person", result: "review", detail: "A person is checking your claim" });
|
|
276
|
+
}
|
|
277
|
+
return { outcome, summary: summaryOf(outcome, verdict, reasons), reasons, ...receiptCid };
|
|
278
|
+
}
|
|
279
|
+
function summaryOf(outcome, verdict, reasons) {
|
|
280
|
+
if (outcome === "approved")
|
|
281
|
+
return verdict === "partial" ? "Approved in part: some checks fell short." : "Approved: every check passed.";
|
|
282
|
+
if (outcome === "rejected") {
|
|
283
|
+
const first = reasons.find((r) => r.result === "fail");
|
|
284
|
+
return first ? `Rejected. ${first.detail === "Did not pass" ? `${first.label} did not pass.` : sentence(first.detail)}` : "Rejected.";
|
|
285
|
+
}
|
|
286
|
+
if (outcome === "pending")
|
|
287
|
+
return exports.PENDING_WHY.summary;
|
|
288
|
+
const held = reasons.find((r) => r.result === "error" || r.result === "review");
|
|
289
|
+
return held ? `Held for a person to check. ${sentence(held.result === "review" ? held.label : held.detail)}` : "Held for a person to check.";
|
|
290
|
+
}
|
|
291
|
+
//# sourceMappingURL=whyReceipt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whyReceipt.js","sourceRoot":"","sources":["../../../src/data/whyReceipt.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,4 +28,13 @@ export declare function exifSegment(bytes: Uint8Array): Uint8Array | null;
|
|
|
28
28
|
* it meets. One photograph, one answer about where it was taken.
|
|
29
29
|
*/
|
|
30
30
|
export declare function withExifSegment(jpeg: Uint8Array, segment: Uint8Array): Uint8Array;
|
|
31
|
+
/**
|
|
32
|
+
* The same segment, saying Orientation = 1.
|
|
33
|
+
*
|
|
34
|
+
* After a canvas redraw the pixels already stand the right way up (the decode
|
|
35
|
+
* applies the tag), so carrying the camera's 6 or 8 makes every viewer turn
|
|
36
|
+
* the picture a second time. Same length, one value changed: every other tag,
|
|
37
|
+
* DateTimeOriginal and GPS included, stays byte for byte.
|
|
38
|
+
*/
|
|
39
|
+
export declare function uprightSegment(segment: Uint8Array): Uint8Array;
|
|
31
40
|
//# sourceMappingURL=exifcarry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exifcarry.d.ts","sourceRoot":"","sources":["../../../src/geo/exifcarry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAiBhE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,UAAU,CAqBjF"}
|
|
1
|
+
{"version":3,"file":"exifcarry.d.ts","sourceRoot":"","sources":["../../../src/geo/exifcarry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAiBhE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,UAAU,CAqBjF;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,CAqB9D"}
|