@ixo/openhands-sdk 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -7
- package/dist/cjs/campaign/spots.js +3 -3
- package/dist/cjs/chain/allowance.d.ts +6 -2
- package/dist/cjs/chain/allowance.d.ts.map +1 -1
- package/dist/cjs/chain/allowance.js +47 -19
- package/dist/cjs/chain/allowance.js.map +1 -1
- package/dist/cjs/chain/ask.d.ts +6 -1
- package/dist/cjs/chain/ask.d.ts.map +1 -1
- package/dist/cjs/chain/ask.js +13 -6
- package/dist/cjs/chain/ask.js.map +1 -1
- package/dist/cjs/chain/askyBase.d.ts +36 -0
- package/dist/cjs/chain/askyBase.d.ts.map +1 -0
- package/dist/cjs/chain/askyBase.js +56 -0
- package/dist/cjs/chain/askyBase.js.map +1 -0
- package/dist/cjs/chain/assist.d.ts +52 -0
- package/dist/cjs/chain/assist.d.ts.map +1 -0
- package/dist/cjs/chain/assist.js +99 -0
- package/dist/cjs/chain/assist.js.map +1 -0
- package/dist/cjs/chain/campaignMint.d.ts +92 -0
- package/dist/cjs/chain/campaignMint.d.ts.map +1 -0
- package/dist/cjs/chain/campaignMint.js +136 -0
- package/dist/cjs/chain/campaignMint.js.map +1 -0
- package/dist/cjs/chain/claimIncentives.d.ts +17 -0
- package/dist/cjs/chain/claimIncentives.d.ts.map +1 -0
- package/dist/cjs/chain/claimIncentives.js +22 -0
- package/dist/cjs/chain/claimIncentives.js.map +1 -0
- package/dist/cjs/chain/draftMessages.d.ts +12 -0
- package/dist/cjs/chain/draftMessages.d.ts.map +1 -0
- package/dist/cjs/chain/draftMessages.js +85 -0
- package/dist/cjs/chain/draftMessages.js.map +1 -0
- package/dist/cjs/chain/entityShape.d.ts +1 -1
- package/dist/cjs/chain/entityShape.d.ts.map +1 -1
- package/dist/cjs/chain/entityShape.js +5 -5
- package/dist/cjs/chain/entityShape.js.map +1 -1
- package/dist/cjs/chain/env.js +1 -1
- package/dist/cjs/chain/env.js.map +1 -1
- package/dist/cjs/chain/gate.d.ts +7 -0
- package/dist/cjs/chain/gate.d.ts.map +1 -1
- package/dist/cjs/chain/gate.js +26 -10
- package/dist/cjs/chain/gate.js.map +1 -1
- package/dist/cjs/chain/guest.d.ts +10 -0
- package/dist/cjs/chain/guest.d.ts.map +1 -1
- package/dist/cjs/chain/guest.js +3 -2
- package/dist/cjs/chain/guest.js.map +1 -1
- package/dist/cjs/chain/inviteAnswer.d.ts +32 -0
- package/dist/cjs/chain/inviteAnswer.d.ts.map +1 -0
- package/dist/cjs/chain/inviteAnswer.js +36 -0
- package/dist/cjs/chain/inviteAnswer.js.map +1 -0
- package/dist/cjs/chain/inviteMessages.d.ts +65 -32
- package/dist/cjs/chain/inviteMessages.d.ts.map +1 -1
- package/dist/cjs/chain/inviteMessages.js +84 -30
- package/dist/cjs/chain/inviteMessages.js.map +1 -1
- package/dist/cjs/chain/inviteProof.d.ts +16 -1
- package/dist/cjs/chain/inviteProof.d.ts.map +1 -1
- package/dist/cjs/chain/inviteProof.js +19 -1
- package/dist/cjs/chain/inviteProof.js.map +1 -1
- package/dist/cjs/chain/lane.d.ts +16 -0
- package/dist/cjs/chain/lane.d.ts.map +1 -1
- package/dist/cjs/chain/lane.js +25 -1
- package/dist/cjs/chain/lane.js.map +1 -1
- package/dist/cjs/chain/orgReviewBilling.js +1 -1
- package/dist/cjs/chain/orgReviewBilling.js.map +1 -1
- package/dist/cjs/chain/personReview.d.ts.map +1 -1
- package/dist/cjs/chain/personReview.js +18 -11
- package/dist/cjs/chain/personReview.js.map +1 -1
- package/dist/cjs/chain/reviewBilling.d.ts.map +1 -1
- package/dist/cjs/chain/reviewBilling.js +1 -1
- package/dist/cjs/chain/reviewBilling.js.map +1 -1
- package/dist/cjs/chain/session.d.ts +9 -1
- package/dist/cjs/chain/session.d.ts.map +1 -1
- package/dist/cjs/chain/session.js +13 -15
- package/dist/cjs/chain/session.js.map +1 -1
- package/dist/cjs/chain/sessionEvents.d.ts +4 -0
- package/dist/cjs/chain/sessionEvents.d.ts.map +1 -0
- package/dist/cjs/chain/sessionEvents.js +15 -0
- package/dist/cjs/chain/sessionEvents.js.map +1 -0
- package/dist/cjs/chain/takeBack.d.ts +32 -0
- package/dist/cjs/chain/takeBack.d.ts.map +1 -1
- package/dist/cjs/chain/takeBack.js +89 -12
- package/dist/cjs/chain/takeBack.js.map +1 -1
- package/dist/cjs/chain/union.js +1 -1
- package/dist/cjs/chain/why.d.ts +6 -2
- package/dist/cjs/chain/why.d.ts.map +1 -1
- package/dist/cjs/chain/why.js +11 -2
- package/dist/cjs/chain/why.js.map +1 -1
- package/dist/cjs/chain.d.ts +1 -0
- package/dist/cjs/chain.d.ts.map +1 -1
- package/dist/cjs/chain.js +3 -1
- package/dist/cjs/chain.js.map +1 -1
- package/dist/cjs/config.d.ts +7 -1
- package/dist/cjs/config.d.ts.map +1 -1
- package/dist/cjs/config.js +4 -1
- package/dist/cjs/config.js.map +1 -1
- package/dist/cjs/data/actionDraft.d.ts +304 -0
- package/dist/cjs/data/actionDraft.d.ts.map +1 -0
- package/dist/cjs/data/actionDraft.js +470 -0
- package/dist/cjs/data/actionDraft.js.map +1 -0
- package/dist/cjs/data/actionDraftWords.d.ts +37 -0
- package/dist/cjs/data/actionDraftWords.d.ts.map +1 -0
- package/dist/cjs/data/actionDraftWords.js +55 -0
- package/dist/cjs/data/actionDraftWords.js.map +1 -0
- package/dist/cjs/data/agent.d.ts.map +1 -1
- package/dist/cjs/data/agent.js +36 -1
- package/dist/cjs/data/agent.js.map +1 -1
- package/dist/cjs/data/askyProtocol.d.ts +13 -0
- package/dist/cjs/data/askyProtocol.d.ts.map +1 -0
- package/dist/cjs/data/askyProtocol.js +19 -0
- package/dist/cjs/data/askyProtocol.js.map +1 -0
- package/dist/cjs/data/board/answer.d.ts +12 -0
- package/dist/cjs/data/board/answer.d.ts.map +1 -0
- package/dist/cjs/data/board/answer.js +41 -0
- package/dist/cjs/data/board/answer.js.map +1 -0
- package/dist/cjs/data/board/assemble.js +2 -2
- package/dist/cjs/data/board/facts.d.ts +1 -1
- package/dist/cjs/data/board/facts.d.ts.map +1 -1
- package/dist/cjs/data/board/facts.js +6 -2
- package/dist/cjs/data/board/facts.js.map +1 -1
- package/dist/cjs/data/board/fixtures.d.ts.map +1 -1
- package/dist/cjs/data/board/fixtures.js +2 -1
- package/dist/cjs/data/board/fixtures.js.map +1 -1
- package/dist/cjs/data/board/read.d.ts +2 -0
- package/dist/cjs/data/board/read.d.ts.map +1 -1
- package/dist/cjs/data/board/read.js +24 -10
- package/dist/cjs/data/board/read.js.map +1 -1
- package/dist/cjs/data/board/types.d.ts +16 -0
- package/dist/cjs/data/board/types.d.ts.map +1 -1
- package/dist/cjs/data/board/types.js +9 -1
- package/dist/cjs/data/board/types.js.map +1 -1
- package/dist/cjs/data/checkers.d.ts +33 -7
- package/dist/cjs/data/checkers.d.ts.map +1 -1
- package/dist/cjs/data/checkers.js +165 -55
- package/dist/cjs/data/checkers.js.map +1 -1
- package/dist/cjs/data/decisionIdentity.d.ts +10 -0
- package/dist/cjs/data/decisionIdentity.d.ts.map +1 -0
- package/dist/cjs/data/decisionIdentity.js +19 -0
- package/dist/cjs/data/decisionIdentity.js.map +1 -0
- package/dist/cjs/data/displayNames.d.ts +7 -1
- package/dist/cjs/data/displayNames.d.ts.map +1 -1
- package/dist/cjs/data/displayNames.js +7 -1
- package/dist/cjs/data/displayNames.js.map +1 -1
- package/dist/cjs/data/docUrls.d.ts +5 -0
- package/dist/cjs/data/docUrls.d.ts.map +1 -1
- package/dist/cjs/data/docUrls.js +18 -1
- package/dist/cjs/data/docUrls.js.map +1 -1
- package/dist/cjs/data/draftUploads.d.ts +145 -0
- package/dist/cjs/data/draftUploads.d.ts.map +1 -0
- package/dist/cjs/data/draftUploads.js +293 -0
- package/dist/cjs/data/draftUploads.js.map +1 -0
- package/dist/cjs/data/emailKinds.d.ts +56 -0
- package/dist/cjs/data/emailKinds.d.ts.map +1 -0
- package/dist/cjs/data/emailKinds.js +39 -0
- package/dist/cjs/data/emailKinds.js.map +1 -0
- package/dist/cjs/data/engine.js +1 -1
- package/dist/cjs/data/engine.js.map +1 -1
- package/dist/cjs/data/engineUrl.d.ts +5 -4
- package/dist/cjs/data/engineUrl.d.ts.map +1 -1
- package/dist/cjs/data/engineUrl.js +12 -6
- package/dist/cjs/data/engineUrl.js.map +1 -1
- package/dist/cjs/data/envelope.d.ts +9 -2
- package/dist/cjs/data/envelope.d.ts.map +1 -1
- package/dist/cjs/data/envelope.js +10 -3
- package/dist/cjs/data/envelope.js.map +1 -1
- package/dist/cjs/data/format.d.ts +10 -0
- package/dist/cjs/data/format.d.ts.map +1 -1
- package/dist/cjs/data/format.js +8 -1
- package/dist/cjs/data/format.js.map +1 -1
- package/dist/cjs/data/install.d.ts +57 -131
- package/dist/cjs/data/install.d.ts.map +1 -1
- package/dist/cjs/data/install.js +95 -182
- package/dist/cjs/data/install.js.map +1 -1
- package/dist/cjs/data/onAsks.d.ts +57 -0
- package/dist/cjs/data/onAsks.d.ts.map +1 -0
- package/dist/cjs/data/onAsks.js +78 -0
- package/dist/cjs/data/onAsks.js.map +1 -0
- package/dist/cjs/data/openness.d.ts +3 -0
- package/dist/cjs/data/openness.d.ts.map +1 -1
- package/dist/cjs/data/openness.js +19 -7
- package/dist/cjs/data/openness.js.map +1 -1
- package/dist/cjs/data/orgPayouts.d.ts +1 -0
- package/dist/cjs/data/orgPayouts.d.ts.map +1 -1
- package/dist/cjs/data/orgPayouts.js +4 -2
- package/dist/cjs/data/orgPayouts.js.map +1 -1
- package/dist/cjs/data/payoutObservation.d.ts +30 -0
- package/dist/cjs/data/payoutObservation.d.ts.map +1 -0
- package/dist/cjs/data/payoutObservation.js +219 -0
- package/dist/cjs/data/payoutObservation.js.map +1 -0
- package/dist/cjs/data/profiles.d.ts +37 -2
- package/dist/cjs/data/profiles.d.ts.map +1 -1
- package/dist/cjs/data/profiles.js +121 -16
- package/dist/cjs/data/profiles.js.map +1 -1
- package/dist/cjs/data/queue.d.ts.map +1 -1
- package/dist/cjs/data/queue.js +36 -1
- package/dist/cjs/data/queue.js.map +1 -1
- package/dist/cjs/data/receipt.d.ts +4 -0
- package/dist/cjs/data/receipt.d.ts.map +1 -1
- package/dist/cjs/data/receipt.js +5 -2
- package/dist/cjs/data/receipt.js.map +1 -1
- package/dist/cjs/data/threads.d.ts +9 -1
- package/dist/cjs/data/threads.d.ts.map +1 -1
- package/dist/cjs/data/threads.js +5 -3
- package/dist/cjs/data/threads.js.map +1 -1
- package/dist/cjs/data/trace.d.ts +1 -0
- package/dist/cjs/data/trace.d.ts.map +1 -1
- package/dist/cjs/data/trace.js +4 -2
- package/dist/cjs/data/trace.js.map +1 -1
- package/dist/cjs/data/traceWords.d.ts +5 -1
- package/dist/cjs/data/traceWords.d.ts.map +1 -1
- package/dist/cjs/data/traceWords.js +20 -5
- package/dist/cjs/data/traceWords.js.map +1 -1
- package/dist/cjs/data/types.js +1 -1
- package/dist/cjs/data/types.js.map +1 -1
- package/dist/cjs/discovery.d.ts.map +1 -1
- package/dist/cjs/discovery.js +3 -1
- package/dist/cjs/discovery.js.map +1 -1
- package/dist/cjs/names/client.d.ts +10 -0
- package/dist/cjs/names/client.d.ts.map +1 -0
- package/dist/cjs/names/client.js +757 -0
- package/dist/cjs/names/client.js.map +7 -0
- package/dist/cjs/names/names.d.ts +93 -0
- package/dist/cjs/names/names.d.ts.map +1 -0
- package/dist/cjs/names/names.js +154 -0
- package/dist/cjs/names/names.js.map +1 -0
- package/dist/cjs/names.d.ts +14 -0
- package/dist/cjs/names.d.ts.map +1 -0
- package/dist/cjs/names.js +30 -0
- package/dist/cjs/names.js.map +1 -0
- package/dist/cjs/rubric/askyRubric.d.ts +70 -0
- package/dist/cjs/rubric/askyRubric.d.ts.map +1 -0
- package/dist/cjs/rubric/askyRubric.js +163 -0
- package/dist/cjs/rubric/askyRubric.js.map +1 -0
- package/dist/cjs/rubric/bridge.js +2 -2
- package/dist/cjs/rubric/bridge.js.map +1 -1
- package/dist/cjs/rubric/call.d.ts +5 -0
- package/dist/cjs/rubric/call.d.ts.map +1 -1
- package/dist/cjs/rubric/call.js +10 -2
- package/dist/cjs/rubric/call.js.map +1 -1
- package/dist/cjs/rubric/callChecks.d.ts +2 -0
- package/dist/cjs/rubric/callChecks.d.ts.map +1 -1
- package/dist/cjs/rubric/callChecks.js +7 -2
- package/dist/cjs/rubric/callChecks.js.map +1 -1
- package/dist/cjs/rubric/callLimits.js +2 -2
- package/dist/cjs/rubric/callPrompt.d.ts +7 -0
- package/dist/cjs/rubric/callPrompt.d.ts.map +1 -0
- package/dist/cjs/rubric/callPrompt.js +9 -0
- package/dist/cjs/rubric/callPrompt.js.map +1 -0
- package/dist/cjs/rubric/draft.d.ts +1 -1
- package/dist/cjs/rubric/draft.d.ts.map +1 -1
- package/dist/cjs/rubric/draft.js +1 -1
- package/dist/cjs/rubric/feeLine.d.ts +12 -3
- package/dist/cjs/rubric/feeLine.d.ts.map +1 -1
- package/dist/cjs/rubric/feeLine.js +19 -8
- package/dist/cjs/rubric/feeLine.js.map +1 -1
- package/dist/cjs/rubric/leg.d.ts +5 -7
- package/dist/cjs/rubric/leg.d.ts.map +1 -1
- package/dist/cjs/rubric/leg.js +7 -33
- package/dist/cjs/rubric/leg.js.map +1 -1
- package/dist/cjs/rubric/marketPlan.js +7 -7
- package/dist/cjs/rubric/marketPlan.js.map +1 -1
- package/dist/cjs/rubric/report.d.ts.map +1 -1
- package/dist/cjs/rubric/report.js +4 -4
- package/dist/cjs/rubric/report.js.map +1 -1
- package/dist/cjs/rubric/reportTemplate.d.ts +12 -2
- package/dist/cjs/rubric/reportTemplate.d.ts.map +1 -1
- package/dist/cjs/rubric/reportTemplate.js +33 -18
- package/dist/cjs/rubric/reportTemplate.js.map +1 -1
- package/dist/cjs/rubric/survey.js +2 -2
- package/dist/cjs/rubric/survey.js.map +1 -1
- package/dist/cjs/rubric/terms.d.ts +9 -6
- package/dist/cjs/rubric/terms.d.ts.map +1 -1
- package/dist/cjs/rubric/terms.js +7 -8
- package/dist/cjs/rubric/terms.js.map +1 -1
- package/dist/esm/campaign/spots.js +3 -3
- package/dist/esm/chain/allowance.d.ts +6 -2
- package/dist/esm/chain/allowance.d.ts.map +1 -1
- package/dist/esm/chain/allowance.js +45 -19
- package/dist/esm/chain/allowance.js.map +1 -1
- package/dist/esm/chain/ask.d.ts +6 -1
- package/dist/esm/chain/ask.d.ts.map +1 -1
- package/dist/esm/chain/ask.js +14 -7
- package/dist/esm/chain/ask.js.map +1 -1
- package/dist/esm/chain/askyBase.d.ts +36 -0
- package/dist/esm/chain/askyBase.d.ts.map +1 -0
- package/dist/esm/chain/askyBase.js +51 -0
- package/dist/esm/chain/askyBase.js.map +1 -0
- package/dist/esm/chain/assist.d.ts +52 -0
- package/dist/esm/chain/assist.d.ts.map +1 -0
- package/dist/esm/chain/assist.js +89 -0
- package/dist/esm/chain/assist.js.map +1 -0
- package/dist/esm/chain/campaignMint.d.ts +92 -0
- package/dist/esm/chain/campaignMint.d.ts.map +1 -0
- package/dist/esm/chain/campaignMint.js +127 -0
- package/dist/esm/chain/campaignMint.js.map +1 -0
- package/dist/esm/chain/claimIncentives.d.ts +17 -0
- package/dist/esm/chain/claimIncentives.d.ts.map +1 -0
- package/dist/esm/chain/claimIncentives.js +19 -0
- package/dist/esm/chain/claimIncentives.js.map +1 -0
- package/dist/esm/chain/draftMessages.d.ts +12 -0
- package/dist/esm/chain/draftMessages.d.ts.map +1 -0
- package/dist/esm/chain/draftMessages.js +47 -0
- package/dist/esm/chain/draftMessages.js.map +1 -0
- package/dist/esm/chain/entityShape.d.ts +1 -1
- package/dist/esm/chain/entityShape.d.ts.map +1 -1
- package/dist/esm/chain/entityShape.js +5 -5
- package/dist/esm/chain/entityShape.js.map +1 -1
- package/dist/esm/chain/env.js +1 -1
- package/dist/esm/chain/env.js.map +1 -1
- package/dist/esm/chain/gate.d.ts +7 -0
- package/dist/esm/chain/gate.d.ts.map +1 -1
- package/dist/esm/chain/gate.js +24 -10
- package/dist/esm/chain/gate.js.map +1 -1
- package/dist/esm/chain/guest.d.ts +10 -0
- package/dist/esm/chain/guest.d.ts.map +1 -1
- package/dist/esm/chain/guest.js +3 -2
- package/dist/esm/chain/guest.js.map +1 -1
- package/dist/esm/chain/inviteAnswer.d.ts +32 -0
- package/dist/esm/chain/inviteAnswer.d.ts.map +1 -0
- package/dist/esm/chain/inviteAnswer.js +28 -0
- package/dist/esm/chain/inviteAnswer.js.map +1 -0
- package/dist/esm/chain/inviteMessages.d.ts +65 -32
- package/dist/esm/chain/inviteMessages.d.ts.map +1 -1
- package/dist/esm/chain/inviteMessages.js +69 -25
- package/dist/esm/chain/inviteMessages.js.map +1 -1
- package/dist/esm/chain/inviteProof.d.ts +16 -1
- package/dist/esm/chain/inviteProof.d.ts.map +1 -1
- package/dist/esm/chain/inviteProof.js +16 -0
- package/dist/esm/chain/inviteProof.js.map +1 -1
- package/dist/esm/chain/lane.d.ts +16 -0
- package/dist/esm/chain/lane.d.ts.map +1 -1
- package/dist/esm/chain/lane.js +22 -0
- package/dist/esm/chain/lane.js.map +1 -1
- package/dist/esm/chain/orgReviewBilling.js +1 -1
- package/dist/esm/chain/orgReviewBilling.js.map +1 -1
- package/dist/esm/chain/personReview.d.ts.map +1 -1
- package/dist/esm/chain/personReview.js +18 -11
- package/dist/esm/chain/personReview.js.map +1 -1
- package/dist/esm/chain/reviewBilling.d.ts.map +1 -1
- package/dist/esm/chain/reviewBilling.js +1 -1
- package/dist/esm/chain/reviewBilling.js.map +1 -1
- package/dist/esm/chain/session.d.ts +9 -1
- package/dist/esm/chain/session.d.ts.map +1 -1
- package/dist/esm/chain/session.js +11 -13
- package/dist/esm/chain/session.js.map +1 -1
- package/dist/esm/chain/sessionEvents.d.ts +4 -0
- package/dist/esm/chain/sessionEvents.d.ts.map +1 -0
- package/dist/esm/chain/sessionEvents.js +11 -0
- package/dist/esm/chain/sessionEvents.js.map +1 -0
- package/dist/esm/chain/takeBack.d.ts +32 -0
- package/dist/esm/chain/takeBack.d.ts.map +1 -1
- package/dist/esm/chain/takeBack.js +86 -12
- package/dist/esm/chain/takeBack.js.map +1 -1
- package/dist/esm/chain/union.js +1 -1
- package/dist/esm/chain/why.d.ts +6 -2
- package/dist/esm/chain/why.d.ts.map +1 -1
- package/dist/esm/chain/why.js +12 -3
- package/dist/esm/chain/why.js.map +1 -1
- package/dist/esm/chain.d.ts +1 -0
- package/dist/esm/chain.d.ts.map +1 -1
- package/dist/esm/chain.js +1 -0
- package/dist/esm/chain.js.map +1 -1
- package/dist/esm/config.d.ts +7 -1
- package/dist/esm/config.d.ts.map +1 -1
- package/dist/esm/config.js +4 -1
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/data/actionDraft.d.ts +304 -0
- package/dist/esm/data/actionDraft.d.ts.map +1 -0
- package/dist/esm/data/actionDraft.js +450 -0
- package/dist/esm/data/actionDraft.js.map +1 -0
- package/dist/esm/data/actionDraftWords.d.ts +37 -0
- package/dist/esm/data/actionDraftWords.d.ts.map +1 -0
- package/dist/esm/data/actionDraftWords.js +47 -0
- package/dist/esm/data/actionDraftWords.js.map +1 -0
- package/dist/esm/data/agent.d.ts.map +1 -1
- package/dist/esm/data/agent.js +4 -2
- package/dist/esm/data/agent.js.map +1 -1
- package/dist/esm/data/askyProtocol.d.ts +13 -0
- package/dist/esm/data/askyProtocol.d.ts.map +1 -0
- package/dist/esm/data/askyProtocol.js +14 -0
- package/dist/esm/data/askyProtocol.js.map +1 -0
- package/dist/esm/data/board/answer.d.ts +12 -0
- package/dist/esm/data/board/answer.d.ts.map +1 -0
- package/dist/esm/data/board/answer.js +36 -0
- package/dist/esm/data/board/answer.js.map +1 -0
- package/dist/esm/data/board/assemble.js +2 -2
- package/dist/esm/data/board/facts.d.ts +1 -1
- package/dist/esm/data/board/facts.d.ts.map +1 -1
- package/dist/esm/data/board/facts.js +6 -2
- package/dist/esm/data/board/facts.js.map +1 -1
- package/dist/esm/data/board/fixtures.d.ts.map +1 -1
- package/dist/esm/data/board/fixtures.js +2 -1
- package/dist/esm/data/board/fixtures.js.map +1 -1
- package/dist/esm/data/board/read.d.ts +2 -0
- package/dist/esm/data/board/read.d.ts.map +1 -1
- package/dist/esm/data/board/read.js +25 -11
- package/dist/esm/data/board/read.js.map +1 -1
- package/dist/esm/data/board/types.d.ts +16 -0
- package/dist/esm/data/board/types.d.ts.map +1 -1
- package/dist/esm/data/board/types.js +7 -0
- package/dist/esm/data/board/types.js.map +1 -1
- package/dist/esm/data/checkers.d.ts +33 -7
- package/dist/esm/data/checkers.d.ts.map +1 -1
- package/dist/esm/data/checkers.js +159 -54
- package/dist/esm/data/checkers.js.map +1 -1
- package/dist/esm/data/decisionIdentity.d.ts +10 -0
- package/dist/esm/data/decisionIdentity.d.ts.map +1 -0
- package/dist/esm/data/decisionIdentity.js +15 -0
- package/dist/esm/data/decisionIdentity.js.map +1 -0
- package/dist/esm/data/displayNames.d.ts +7 -1
- package/dist/esm/data/displayNames.d.ts.map +1 -1
- package/dist/esm/data/displayNames.js +7 -1
- package/dist/esm/data/displayNames.js.map +1 -1
- package/dist/esm/data/docUrls.d.ts +5 -0
- package/dist/esm/data/docUrls.d.ts.map +1 -1
- package/dist/esm/data/docUrls.js +16 -0
- package/dist/esm/data/docUrls.js.map +1 -1
- package/dist/esm/data/draftUploads.d.ts +145 -0
- package/dist/esm/data/draftUploads.d.ts.map +1 -0
- package/dist/esm/data/draftUploads.js +272 -0
- package/dist/esm/data/draftUploads.js.map +1 -0
- package/dist/esm/data/emailKinds.d.ts +56 -0
- package/dist/esm/data/emailKinds.d.ts.map +1 -0
- package/dist/esm/data/emailKinds.js +32 -0
- package/dist/esm/data/emailKinds.js.map +1 -0
- package/dist/esm/data/engine.js +1 -1
- package/dist/esm/data/engine.js.map +1 -1
- package/dist/esm/data/engineUrl.d.ts +5 -4
- package/dist/esm/data/engineUrl.d.ts.map +1 -1
- package/dist/esm/data/engineUrl.js +11 -5
- package/dist/esm/data/engineUrl.js.map +1 -1
- package/dist/esm/data/envelope.d.ts +9 -2
- package/dist/esm/data/envelope.d.ts.map +1 -1
- package/dist/esm/data/envelope.js +10 -3
- package/dist/esm/data/envelope.js.map +1 -1
- package/dist/esm/data/format.d.ts +10 -0
- package/dist/esm/data/format.d.ts.map +1 -1
- package/dist/esm/data/format.js +6 -0
- package/dist/esm/data/format.js.map +1 -1
- package/dist/esm/data/install.d.ts +57 -131
- package/dist/esm/data/install.d.ts.map +1 -1
- package/dist/esm/data/install.js +88 -173
- package/dist/esm/data/install.js.map +1 -1
- package/dist/esm/data/onAsks.d.ts +57 -0
- package/dist/esm/data/onAsks.d.ts.map +1 -0
- package/dist/esm/data/onAsks.js +73 -0
- package/dist/esm/data/onAsks.js.map +1 -0
- package/dist/esm/data/openness.d.ts +3 -0
- package/dist/esm/data/openness.d.ts.map +1 -1
- package/dist/esm/data/openness.js +18 -7
- package/dist/esm/data/openness.js.map +1 -1
- package/dist/esm/data/orgPayouts.d.ts +1 -0
- package/dist/esm/data/orgPayouts.d.ts.map +1 -1
- package/dist/esm/data/orgPayouts.js +4 -2
- package/dist/esm/data/orgPayouts.js.map +1 -1
- package/dist/esm/data/payoutObservation.d.ts +30 -0
- package/dist/esm/data/payoutObservation.d.ts.map +1 -0
- package/dist/esm/data/payoutObservation.js +213 -0
- package/dist/esm/data/payoutObservation.js.map +1 -0
- package/dist/esm/data/profiles.d.ts +37 -2
- package/dist/esm/data/profiles.d.ts.map +1 -1
- package/dist/esm/data/profiles.js +120 -16
- package/dist/esm/data/profiles.js.map +1 -1
- package/dist/esm/data/queue.d.ts.map +1 -1
- package/dist/esm/data/queue.js +4 -2
- package/dist/esm/data/queue.js.map +1 -1
- package/dist/esm/data/receipt.d.ts +4 -0
- package/dist/esm/data/receipt.d.ts.map +1 -1
- package/dist/esm/data/receipt.js +5 -2
- package/dist/esm/data/receipt.js.map +1 -1
- package/dist/esm/data/threads.d.ts +9 -1
- package/dist/esm/data/threads.d.ts.map +1 -1
- package/dist/esm/data/threads.js +6 -4
- package/dist/esm/data/threads.js.map +1 -1
- package/dist/esm/data/trace.d.ts +1 -0
- package/dist/esm/data/trace.d.ts.map +1 -1
- package/dist/esm/data/trace.js +4 -2
- package/dist/esm/data/trace.js.map +1 -1
- package/dist/esm/data/traceWords.d.ts +5 -1
- package/dist/esm/data/traceWords.d.ts.map +1 -1
- package/dist/esm/data/traceWords.js +19 -5
- package/dist/esm/data/traceWords.js.map +1 -1
- package/dist/esm/data/types.js +1 -1
- package/dist/esm/data/types.js.map +1 -1
- package/dist/esm/discovery.d.ts.map +1 -1
- package/dist/esm/discovery.js +3 -1
- package/dist/esm/discovery.js.map +1 -1
- package/dist/esm/names/client.d.ts +10 -0
- package/dist/esm/names/client.d.ts.map +1 -0
- package/dist/esm/names/client.js +10 -0
- package/dist/esm/names/client.js.map +1 -0
- package/dist/esm/names/names.d.ts +93 -0
- package/dist/esm/names/names.d.ts.map +1 -0
- package/dist/esm/names/names.js +142 -0
- package/dist/esm/names/names.js.map +1 -0
- package/dist/esm/names.d.ts +14 -0
- package/dist/esm/names.d.ts.map +1 -0
- package/dist/esm/names.js +14 -0
- package/dist/esm/names.js.map +1 -0
- package/dist/esm/rubric/askyRubric.d.ts +70 -0
- package/dist/esm/rubric/askyRubric.d.ts.map +1 -0
- package/dist/esm/rubric/askyRubric.js +155 -0
- package/dist/esm/rubric/askyRubric.js.map +1 -0
- package/dist/esm/rubric/bridge.js +2 -2
- package/dist/esm/rubric/bridge.js.map +1 -1
- package/dist/esm/rubric/call.d.ts +5 -0
- package/dist/esm/rubric/call.d.ts.map +1 -1
- package/dist/esm/rubric/call.js +8 -1
- package/dist/esm/rubric/call.js.map +1 -1
- package/dist/esm/rubric/callChecks.d.ts +2 -0
- package/dist/esm/rubric/callChecks.d.ts.map +1 -1
- package/dist/esm/rubric/callChecks.js +5 -1
- package/dist/esm/rubric/callChecks.js.map +1 -1
- package/dist/esm/rubric/callLimits.js +2 -2
- package/dist/esm/rubric/callPrompt.d.ts +7 -0
- package/dist/esm/rubric/callPrompt.d.ts.map +1 -0
- package/dist/esm/rubric/callPrompt.js +6 -0
- package/dist/esm/rubric/callPrompt.js.map +1 -0
- package/dist/esm/rubric/draft.d.ts +1 -1
- package/dist/esm/rubric/draft.d.ts.map +1 -1
- package/dist/esm/rubric/draft.js +1 -1
- package/dist/esm/rubric/feeLine.d.ts +12 -3
- package/dist/esm/rubric/feeLine.d.ts.map +1 -1
- package/dist/esm/rubric/feeLine.js +16 -7
- package/dist/esm/rubric/feeLine.js.map +1 -1
- package/dist/esm/rubric/leg.d.ts +5 -7
- package/dist/esm/rubric/leg.d.ts.map +1 -1
- package/dist/esm/rubric/leg.js +7 -33
- package/dist/esm/rubric/leg.js.map +1 -1
- package/dist/esm/rubric/marketPlan.js +7 -7
- package/dist/esm/rubric/marketPlan.js.map +1 -1
- package/dist/esm/rubric/report.d.ts.map +1 -1
- package/dist/esm/rubric/report.js +4 -4
- package/dist/esm/rubric/report.js.map +1 -1
- package/dist/esm/rubric/reportTemplate.d.ts +12 -2
- package/dist/esm/rubric/reportTemplate.d.ts.map +1 -1
- package/dist/esm/rubric/reportTemplate.js +30 -17
- package/dist/esm/rubric/reportTemplate.js.map +1 -1
- package/dist/esm/rubric/survey.js +2 -2
- package/dist/esm/rubric/survey.js.map +1 -1
- package/dist/esm/rubric/terms.d.ts +9 -6
- package/dist/esm/rubric/terms.d.ts.map +1 -1
- package/dist/esm/rubric/terms.js +7 -8
- package/dist/esm/rubric/terms.js.map +1 -1
- package/package.json +24 -3
- package/dist/cjs/data/sponsors.d.ts +0 -94
- package/dist/cjs/data/sponsors.d.ts.map +0 -1
- package/dist/cjs/data/sponsors.js +0 -147
- package/dist/cjs/data/sponsors.js.map +0 -1
- package/dist/esm/data/sponsors.d.ts +0 -94
- package/dist/esm/data/sponsors.d.ts.map +0 -1
- package/dist/esm/data/sponsors.js +0 -137
- package/dist/esm/data/sponsors.js.map +0 -1
|
@@ -0,0 +1,757 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// ../../node_modules/.pnpm/@ixo+names-client@0.2.1_react@19.2.8/node_modules/@ixo/names-client/dist/index.js
|
|
20
|
+
var index_exports = {};
|
|
21
|
+
__export(index_exports, {
|
|
22
|
+
BACKOFF_JITTER: () => BACKOFF_JITTER,
|
|
23
|
+
BUDGET_STEP_MS: () => BUDGET_STEP_MS,
|
|
24
|
+
DEFAULT_BACKOFF_BASE_MS: () => DEFAULT_BACKOFF_BASE_MS,
|
|
25
|
+
DEFAULT_BACKOFF_MAX_MS: () => DEFAULT_BACKOFF_MAX_MS,
|
|
26
|
+
DEFAULT_BACKOFF_MAX_RETRY_AFTER_MS: () => DEFAULT_BACKOFF_MAX_RETRY_AFTER_MS,
|
|
27
|
+
DEFAULT_BATCH_DELAY_MS: () => DEFAULT_BATCH_DELAY_MS,
|
|
28
|
+
DEFAULT_BATCH_MAX_IDS: () => DEFAULT_BATCH_MAX_IDS,
|
|
29
|
+
DEFAULT_CACHE_MAX_ENTRIES: () => DEFAULT_CACHE_MAX_ENTRIES,
|
|
30
|
+
DEFAULT_CLIENT_INCLUDE: () => DEFAULT_CLIENT_INCLUDE,
|
|
31
|
+
DEFAULT_MAX_CONCURRENT_REQUESTS: () => DEFAULT_MAX_CONCURRENT_REQUESTS,
|
|
32
|
+
DEFAULT_MAX_TTL_MS: () => DEFAULT_MAX_TTL_MS,
|
|
33
|
+
DEFAULT_MIN_TTL_MS: () => DEFAULT_MIN_TTL_MS,
|
|
34
|
+
DEFAULT_TIMEOUT_MS: () => DEFAULT_TIMEOUT_MS,
|
|
35
|
+
GET_MAX_IDS: () => GET_MAX_IDS,
|
|
36
|
+
GET_MAX_URL_LENGTH: () => GET_MAX_URL_LENGTH,
|
|
37
|
+
INCLUDE_GROUPS: () => INCLUDE_GROUPS,
|
|
38
|
+
MAX_BATCH_MAX_IDS: () => MAX_BATCH_MAX_IDS,
|
|
39
|
+
MAX_IDENTIFIER_LENGTH: () => MAX_IDENTIFIER_LENGTH,
|
|
40
|
+
MIN_RESPONSE_BUDGET_MS: () => MIN_RESPONSE_BUDGET_MS,
|
|
41
|
+
NAMES_CLIENT_VERSION: () => NAMES_CLIENT_VERSION,
|
|
42
|
+
NamesClientError: () => NamesClientError,
|
|
43
|
+
abbreviate: () => abbreviate,
|
|
44
|
+
classifyIdentifier: () => classifyIdentifier,
|
|
45
|
+
createNamesClient: () => createNamesClient,
|
|
46
|
+
parseRetryAfterMs: () => parseRetryAfterMs,
|
|
47
|
+
syntheticResult: () => syntheticResult
|
|
48
|
+
});
|
|
49
|
+
module.exports = __toCommonJS(index_exports);
|
|
50
|
+
|
|
51
|
+
// ../../node_modules/.pnpm/@ixo+names-client@0.2.1_react@19.2.8/node_modules/@ixo/names-client/dist/types.js
|
|
52
|
+
var INCLUDE_GROUPS = ["name", "facts", "image", "matrix", "room", "cache"];
|
|
53
|
+
var MIN_RESPONSE_BUDGET_MS = 250;
|
|
54
|
+
var MAX_IDENTIFIER_LENGTH = 256;
|
|
55
|
+
|
|
56
|
+
// ../../node_modules/.pnpm/@ixo+names-client@0.2.1_react@19.2.8/node_modules/@ixo/names-client/dist/abbreviate.js
|
|
57
|
+
var BECH32 = "[02-9ac-hj-np-z]";
|
|
58
|
+
var ACCOUNT = new RegExp(`^ixo1${BECH32}{38}$`);
|
|
59
|
+
var CONTRACT = new RegExp(`^ixo1${BECH32}{58}$`);
|
|
60
|
+
var VALIDATOR = new RegExp(`^ixovaloper1${BECH32}{38}$`);
|
|
61
|
+
var ENTITY_HEX = /^[0-9a-f]{32}$/i;
|
|
62
|
+
var COLLECTION_ID = /^(?:0|[1-9][0-9]*)$/;
|
|
63
|
+
var DENOM = /^[\x21-\x7e]+$/;
|
|
64
|
+
var IBC_DENOM = /^ibc\/[0-9a-f]{64}$/i;
|
|
65
|
+
var MATRIX_USER_ID = /^@did-ixo-(ixo1[^:]*):(.+)$/;
|
|
66
|
+
var MATRIX_SERVER_NAME = /^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*|\[[0-9a-f:.]+\])(?::[0-9]{1,5})?$/i;
|
|
67
|
+
var ENTITY_PREFIX = "did:ixo:entity:";
|
|
68
|
+
var WASM_DID_PREFIX = "did:ixo:wasm:";
|
|
69
|
+
var ACCOUNT_DID_PREFIX = "did:ixo:";
|
|
70
|
+
var VALOPER_PREFIX = "ixovaloper1";
|
|
71
|
+
var COLLECTION_PREFIX = "collection:";
|
|
72
|
+
var DENOM_PREFIX = "denom:";
|
|
73
|
+
var MATRIX_USER_PREFIX = "@did-ixo-ixo1";
|
|
74
|
+
var MAX_MATRIX_USER_ID_LENGTH = 255;
|
|
75
|
+
var MAX_COLLECTION_DIGITS = 20;
|
|
76
|
+
var MAX_DENOM_LENGTH = 128;
|
|
77
|
+
var ELLIPSIS = "\u2026";
|
|
78
|
+
var SHORT_UNKNOWN_MAX = 20;
|
|
79
|
+
var UNKNOWN = { kind: "unknown", normalized: null };
|
|
80
|
+
var BECH32_VALUES = "qpzry9x8gf2tvdw0s3jn54khce6mua7l";
|
|
81
|
+
var BECH32_GENERATOR = [996825010, 642813549, 513874426, 1027748829, 705979059];
|
|
82
|
+
function hasBech32Checksum(address) {
|
|
83
|
+
const separator = address.lastIndexOf("1");
|
|
84
|
+
const hrp = Array.from(address.slice(0, separator), (char) => char.charCodeAt(0));
|
|
85
|
+
const data = Array.from(address.slice(separator + 1), (char) => BECH32_VALUES.indexOf(char));
|
|
86
|
+
let checksum = 1;
|
|
87
|
+
for (const value of [...hrp.map((code) => code >>> 5), 0, ...hrp.map((code) => code & 31), ...data]) {
|
|
88
|
+
const top = checksum >>> 25;
|
|
89
|
+
checksum = (checksum & 33554431) << 5 ^ value;
|
|
90
|
+
BECH32_GENERATOR.forEach((generator, bit) => {
|
|
91
|
+
if (top >>> bit & 1)
|
|
92
|
+
checksum ^= generator;
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
return checksum >>> 0 === 1;
|
|
96
|
+
}
|
|
97
|
+
function singleCaseLower(raw) {
|
|
98
|
+
const lower = raw.toLowerCase();
|
|
99
|
+
return raw === lower || raw === raw.toUpperCase() ? lower : null;
|
|
100
|
+
}
|
|
101
|
+
function classifyAddress(raw) {
|
|
102
|
+
const address = singleCaseLower(raw);
|
|
103
|
+
if (address === null)
|
|
104
|
+
return UNKNOWN;
|
|
105
|
+
if (ACCOUNT.test(address))
|
|
106
|
+
return { kind: "account", normalized: address };
|
|
107
|
+
if (CONTRACT.test(address))
|
|
108
|
+
return { kind: "contract", normalized: address };
|
|
109
|
+
return UNKNOWN;
|
|
110
|
+
}
|
|
111
|
+
function classifyMatrixUserId(value) {
|
|
112
|
+
if (value.length > MAX_MATRIX_USER_ID_LENGTH)
|
|
113
|
+
return UNKNOWN;
|
|
114
|
+
const match = MATRIX_USER_ID.exec(value);
|
|
115
|
+
if (!match || !MATRIX_SERVER_NAME.test(match[2] ?? ""))
|
|
116
|
+
return UNKNOWN;
|
|
117
|
+
return classifyAddress(match[1] ?? "");
|
|
118
|
+
}
|
|
119
|
+
function isMatrixUserId(id) {
|
|
120
|
+
if (typeof id !== "string")
|
|
121
|
+
return false;
|
|
122
|
+
const value = id.trim();
|
|
123
|
+
if (!value.startsWith(MATRIX_USER_PREFIX))
|
|
124
|
+
return false;
|
|
125
|
+
const { normalized } = classifyMatrixUserId(value);
|
|
126
|
+
return normalized !== null && hasBech32Checksum(normalized);
|
|
127
|
+
}
|
|
128
|
+
function classifyIdentifier(id) {
|
|
129
|
+
if (typeof id !== "string" || id.length > MAX_IDENTIFIER_LENGTH)
|
|
130
|
+
return UNKNOWN;
|
|
131
|
+
const value = id.trim();
|
|
132
|
+
if (value === "")
|
|
133
|
+
return UNKNOWN;
|
|
134
|
+
if (value.startsWith(ENTITY_PREFIX)) {
|
|
135
|
+
const hex = value.slice(ENTITY_PREFIX.length);
|
|
136
|
+
return ENTITY_HEX.test(hex) ? { kind: "entity", normalized: `${ENTITY_PREFIX}${hex.toLowerCase()}` } : UNKNOWN;
|
|
137
|
+
}
|
|
138
|
+
if (value.startsWith(WASM_DID_PREFIX))
|
|
139
|
+
return classifyAddress(value.slice(WASM_DID_PREFIX.length));
|
|
140
|
+
if (value.startsWith(ACCOUNT_DID_PREFIX))
|
|
141
|
+
return classifyAddress(value.slice(ACCOUNT_DID_PREFIX.length));
|
|
142
|
+
if (/^ixovaloper1/i.test(value)) {
|
|
143
|
+
const valoper = singleCaseLower(value);
|
|
144
|
+
return valoper !== null && VALIDATOR.test(valoper) ? { kind: "validator", normalized: valoper } : UNKNOWN;
|
|
145
|
+
}
|
|
146
|
+
if (/^ixo1/i.test(value))
|
|
147
|
+
return classifyAddress(value);
|
|
148
|
+
if (value.startsWith(MATRIX_USER_PREFIX))
|
|
149
|
+
return classifyMatrixUserId(value);
|
|
150
|
+
if (value.startsWith(COLLECTION_PREFIX)) {
|
|
151
|
+
const digits = value.slice(COLLECTION_PREFIX.length);
|
|
152
|
+
return digits.length <= MAX_COLLECTION_DIGITS && COLLECTION_ID.test(digits) ? { kind: "collection", normalized: digits } : UNKNOWN;
|
|
153
|
+
}
|
|
154
|
+
if (value.startsWith(DENOM_PREFIX)) {
|
|
155
|
+
const denom = value.slice(DENOM_PREFIX.length).trim();
|
|
156
|
+
if (denom.length === 0 || denom.length > MAX_DENOM_LENGTH || !DENOM.test(denom))
|
|
157
|
+
return UNKNOWN;
|
|
158
|
+
return { kind: "denom", normalized: IBC_DENOM.test(denom) ? `ibc/${denom.slice(4).toUpperCase()}` : denom };
|
|
159
|
+
}
|
|
160
|
+
return UNKNOWN;
|
|
161
|
+
}
|
|
162
|
+
function middleEllipsis(text, head, tail) {
|
|
163
|
+
const chars = Array.from(text);
|
|
164
|
+
return `${chars.slice(0, head).join("")}${ELLIPSIS}${chars.slice(chars.length - tail).join("")}`;
|
|
165
|
+
}
|
|
166
|
+
function abbreviate(id) {
|
|
167
|
+
const text = typeof id === "string" ? id : String(id);
|
|
168
|
+
const { kind, normalized } = classifyIdentifier(text);
|
|
169
|
+
if (kind === "unknown" || normalized === null) {
|
|
170
|
+
return Array.from(text).length <= SHORT_UNKNOWN_MAX ? text : middleEllipsis(text, 12, 4);
|
|
171
|
+
}
|
|
172
|
+
switch (kind) {
|
|
173
|
+
case "account":
|
|
174
|
+
case "contract":
|
|
175
|
+
return middleEllipsis(normalized, 9, 4);
|
|
176
|
+
case "entity":
|
|
177
|
+
return `${ENTITY_PREFIX}${middleEllipsis(normalized.slice(ENTITY_PREFIX.length), 4, 4)}`;
|
|
178
|
+
case "validator":
|
|
179
|
+
return `${VALOPER_PREFIX}${middleEllipsis(normalized.slice(VALOPER_PREFIX.length), 4, 4)}`;
|
|
180
|
+
case "collection":
|
|
181
|
+
return `Collection #${normalized}`;
|
|
182
|
+
case "denom":
|
|
183
|
+
return normalized;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// ../../node_modules/.pnpm/@ixo+names-client@0.2.1_react@19.2.8/node_modules/@ixo/names-client/dist/client.js
|
|
188
|
+
var NamesClientError = class extends Error {
|
|
189
|
+
constructor(code, message, details) {
|
|
190
|
+
super(message, details.cause === void 0 ? void 0 : { cause: details.cause });
|
|
191
|
+
this.name = "NamesClientError";
|
|
192
|
+
this.code = code;
|
|
193
|
+
this.ids = details.ids;
|
|
194
|
+
this.status = details.status;
|
|
195
|
+
this.response = details.response;
|
|
196
|
+
this.blockedUntil = details.blockedUntil;
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
var DEFAULT_TIMEOUT_MS = 15e3;
|
|
200
|
+
var DEFAULT_MAX_CONCURRENT_REQUESTS = 4;
|
|
201
|
+
var DEFAULT_BACKOFF_BASE_MS = 500;
|
|
202
|
+
var DEFAULT_BACKOFF_MAX_MS = 6e4;
|
|
203
|
+
var DEFAULT_BACKOFF_MAX_RETRY_AFTER_MS = 15 * 60 * 1e3;
|
|
204
|
+
var BACKOFF_JITTER = 0.2;
|
|
205
|
+
var DEFAULT_CACHE_MAX_ENTRIES = 5e3;
|
|
206
|
+
var DEFAULT_MIN_TTL_MS = 3e4;
|
|
207
|
+
var DEFAULT_MAX_TTL_MS = 24 * 60 * 60 * 1e3;
|
|
208
|
+
var DEFAULT_BATCH_MAX_IDS = 40;
|
|
209
|
+
var MAX_BATCH_MAX_IDS = 40;
|
|
210
|
+
var DEFAULT_BATCH_DELAY_MS = 10;
|
|
211
|
+
var BUDGET_STEP_MS = 250;
|
|
212
|
+
var GET_MAX_IDS = 20;
|
|
213
|
+
var GET_MAX_URL_LENGTH = 2e3;
|
|
214
|
+
var DEFAULT_CLIENT_INCLUDE = ["cache", "name"];
|
|
215
|
+
var NAME_INCLUDE = ["cache", "name"];
|
|
216
|
+
var MATRIX_INCLUDE = ["cache", "matrix", "name"];
|
|
217
|
+
var ROOM_INCLUDE = ["cache", "name", "room"];
|
|
218
|
+
var isIncludeGroup = (value) => typeof value === "string" && INCLUDE_GROUPS.includes(value);
|
|
219
|
+
function normalizeInclude(groups) {
|
|
220
|
+
const set = /* @__PURE__ */ new Set(["cache"]);
|
|
221
|
+
for (const group of groups)
|
|
222
|
+
if (isIncludeGroup(group))
|
|
223
|
+
set.add(group);
|
|
224
|
+
return [...set].sort();
|
|
225
|
+
}
|
|
226
|
+
function normalizeBudget(budgetMs) {
|
|
227
|
+
if (typeof budgetMs !== "number" || !Number.isFinite(budgetMs))
|
|
228
|
+
return void 0;
|
|
229
|
+
const stepped = Math.floor(budgetMs / BUDGET_STEP_MS) * BUDGET_STEP_MS;
|
|
230
|
+
return Math.min(Number.MAX_SAFE_INTEGER, Math.max(MIN_RESPONSE_BUDGET_MS, stepped));
|
|
231
|
+
}
|
|
232
|
+
function localResult(id, include, base) {
|
|
233
|
+
const result = {
|
|
234
|
+
id,
|
|
235
|
+
kind: base.kind,
|
|
236
|
+
normalized: null,
|
|
237
|
+
display: abbreviate(id),
|
|
238
|
+
status: base.status,
|
|
239
|
+
complete: base.complete
|
|
240
|
+
};
|
|
241
|
+
if (include.includes("name")) {
|
|
242
|
+
result.name = null;
|
|
243
|
+
result.source = null;
|
|
244
|
+
result.selfChosen = false;
|
|
245
|
+
}
|
|
246
|
+
if (include.includes("cache"))
|
|
247
|
+
result.cache = { hit: "none", freshUntil: null };
|
|
248
|
+
if (base.error !== void 0)
|
|
249
|
+
result.error = base.error;
|
|
250
|
+
return result;
|
|
251
|
+
}
|
|
252
|
+
function syntheticResult(id, include = DEFAULT_CLIENT_INCLUDE) {
|
|
253
|
+
return localResult(id, include, { kind: classifyIdentifier(id).kind, status: "partial", complete: false });
|
|
254
|
+
}
|
|
255
|
+
function finalUnknown(id, include, message) {
|
|
256
|
+
return localResult(id, include, { kind: "unknown", status: "unresolved", complete: true, error: { code: "unsupported_identifier", message } });
|
|
257
|
+
}
|
|
258
|
+
function invalidIdentifierResult(id, include) {
|
|
259
|
+
return finalUnknown(id, include, `identifier must be 1..${MAX_IDENTIFIER_LENGTH} characters`);
|
|
260
|
+
}
|
|
261
|
+
function isBrowser() {
|
|
262
|
+
return typeof document !== "undefined" || typeof globalThis.WorkerNavigator !== "undefined";
|
|
263
|
+
}
|
|
264
|
+
function isSendable(id) {
|
|
265
|
+
return typeof id === "string" && id.length >= 1 && id.length <= MAX_IDENTIFIER_LENGTH;
|
|
266
|
+
}
|
|
267
|
+
var fitsGetQuery = (id) => !id.includes(",") && id === id.trim();
|
|
268
|
+
var isRecord = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
|
|
269
|
+
function cutByBudget(payload, budgetMs) {
|
|
270
|
+
if (budgetMs === void 0 || !isRecord(payload) || !isRecord(payload.meta))
|
|
271
|
+
return false;
|
|
272
|
+
const { durationMs } = payload.meta;
|
|
273
|
+
return typeof durationMs === "number" && durationMs >= budgetMs;
|
|
274
|
+
}
|
|
275
|
+
function isResolvedName(v, id, include) {
|
|
276
|
+
if (!isRecord(v) || v.id !== id)
|
|
277
|
+
return false;
|
|
278
|
+
if (typeof v.kind !== "string" || typeof v.display !== "string" || typeof v.status !== "string")
|
|
279
|
+
return false;
|
|
280
|
+
if (typeof v.complete !== "boolean")
|
|
281
|
+
return false;
|
|
282
|
+
if (!(v.normalized === null || typeof v.normalized === "string"))
|
|
283
|
+
return false;
|
|
284
|
+
if (include.includes("name")) {
|
|
285
|
+
if (typeof v.selfChosen !== "boolean")
|
|
286
|
+
return false;
|
|
287
|
+
if (!(v.name === null || typeof v.name === "string"))
|
|
288
|
+
return false;
|
|
289
|
+
}
|
|
290
|
+
const cache = v.cache;
|
|
291
|
+
if (!isRecord(cache) || typeof cache.hit !== "string")
|
|
292
|
+
return false;
|
|
293
|
+
return cache.freshUntil === null || typeof cache.freshUntil === "number" && Number.isFinite(cache.freshUntil);
|
|
294
|
+
}
|
|
295
|
+
function isErrorResponse(v) {
|
|
296
|
+
return isRecord(v) && isRecord(v.error) && typeof v.error.code === "string" && typeof v.error.message === "string";
|
|
297
|
+
}
|
|
298
|
+
function positiveInt(value, fallback, name, min) {
|
|
299
|
+
const v = value ?? fallback;
|
|
300
|
+
if (!Number.isInteger(v) || v < min)
|
|
301
|
+
throw new RangeError(`${name} must be an integer \u2265 ${min}, got ${String(value)}`);
|
|
302
|
+
return v;
|
|
303
|
+
}
|
|
304
|
+
function timeoutSignal(ms) {
|
|
305
|
+
const signals = AbortSignal;
|
|
306
|
+
if (typeof signals.timeout === "function")
|
|
307
|
+
return { signal: signals.timeout(ms), clear: () => void 0 };
|
|
308
|
+
const controller = new AbortController();
|
|
309
|
+
const timer = setTimeout(() => controller.abort(new DOMException("The operation timed out.", "TimeoutError")), ms);
|
|
310
|
+
return { signal: controller.signal, clear: () => clearTimeout(timer) };
|
|
311
|
+
}
|
|
312
|
+
function parseRetryAfterMs(value, now) {
|
|
313
|
+
if (value === null)
|
|
314
|
+
return void 0;
|
|
315
|
+
const text = value.trim();
|
|
316
|
+
if (/^\d+$/.test(text))
|
|
317
|
+
return Number(text) * 1e3;
|
|
318
|
+
if (!/^[A-Za-z]{3}/.test(text))
|
|
319
|
+
return void 0;
|
|
320
|
+
const at = Date.parse(text);
|
|
321
|
+
return Number.isFinite(at) ? Math.max(0, at - now) : void 0;
|
|
322
|
+
}
|
|
323
|
+
var compareIds = (a, b) => a.id < b.id ? -1 : a.id > b.id ? 1 : 0;
|
|
324
|
+
var memoKey = (id, includeKey) => `${id}|${includeKey}`;
|
|
325
|
+
var errorName = (v) => typeof v === "object" && v !== null && typeof v.name === "string" ? v.name : void 0;
|
|
326
|
+
function isTimeout(error, signal) {
|
|
327
|
+
if (errorName(error) === "TimeoutError")
|
|
328
|
+
return true;
|
|
329
|
+
return signal.aborted && errorName(signal.reason) === "TimeoutError";
|
|
330
|
+
}
|
|
331
|
+
var Memo = class {
|
|
332
|
+
constructor(maxEntries) {
|
|
333
|
+
this.entries = /* @__PURE__ */ new Map();
|
|
334
|
+
this.maxEntries = maxEntries;
|
|
335
|
+
}
|
|
336
|
+
get(key, now) {
|
|
337
|
+
const entry = this.entries.get(key);
|
|
338
|
+
if (!entry)
|
|
339
|
+
return void 0;
|
|
340
|
+
this.entries.delete(key);
|
|
341
|
+
if (entry.expiresAt <= now)
|
|
342
|
+
return void 0;
|
|
343
|
+
this.entries.set(key, entry);
|
|
344
|
+
return entry.result;
|
|
345
|
+
}
|
|
346
|
+
set(key, result, expiresAt) {
|
|
347
|
+
this.entries.delete(key);
|
|
348
|
+
this.entries.set(key, { result, expiresAt });
|
|
349
|
+
while (this.entries.size > this.maxEntries) {
|
|
350
|
+
const oldest = this.entries.keys().next();
|
|
351
|
+
if (oldest.done)
|
|
352
|
+
break;
|
|
353
|
+
this.entries.delete(oldest.value);
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
delete(key) {
|
|
357
|
+
this.entries.delete(key);
|
|
358
|
+
}
|
|
359
|
+
};
|
|
360
|
+
function createNamesClient(options) {
|
|
361
|
+
if (typeof options.baseUrl !== "string" || options.baseUrl.trim() === "") {
|
|
362
|
+
throw new TypeError("baseUrl is required");
|
|
363
|
+
}
|
|
364
|
+
const baseUrl = options.baseUrl.replace(/\/+$/, "");
|
|
365
|
+
const endpoint = `${baseUrl}/v1/resolve`;
|
|
366
|
+
const getEndpoint = `${baseUrl}/v1/names`;
|
|
367
|
+
const useGet = options.get !== false;
|
|
368
|
+
const inBrowser = isBrowser();
|
|
369
|
+
let getMaxIds = GET_MAX_IDS;
|
|
370
|
+
const doFetch = options.fetch ?? ((input, init) => globalThis.fetch(input, init));
|
|
371
|
+
const timeoutMs = positiveInt(options.timeoutMs, DEFAULT_TIMEOUT_MS, "timeoutMs", 1);
|
|
372
|
+
const maxConcurrent = positiveInt(options.maxConcurrentRequests, DEFAULT_MAX_CONCURRENT_REQUESTS, "maxConcurrentRequests", 1);
|
|
373
|
+
const backoffBaseMs = positiveInt(options.backoff?.baseMs, DEFAULT_BACKOFF_BASE_MS, "backoff.baseMs", 1);
|
|
374
|
+
const backoffMaxMs = positiveInt(options.backoff?.maxMs, DEFAULT_BACKOFF_MAX_MS, "backoff.maxMs", 1);
|
|
375
|
+
const maxRetryAfterMs = positiveInt(options.backoff?.maxRetryAfterMs, DEFAULT_BACKOFF_MAX_RETRY_AFTER_MS, "backoff.maxRetryAfterMs", 0);
|
|
376
|
+
const extraHeaders = { ...options.headers ?? {} };
|
|
377
|
+
for (const group of options.include ?? []) {
|
|
378
|
+
if (!isIncludeGroup(group))
|
|
379
|
+
throw new RangeError(`include: unknown group ${JSON.stringify(group)}; expected one of ${INCLUDE_GROUPS.join(", ")}`);
|
|
380
|
+
}
|
|
381
|
+
const clientInclude = normalizeInclude(options.include ?? DEFAULT_CLIENT_INCLUDE);
|
|
382
|
+
const onError = options.onError;
|
|
383
|
+
const cacheOpts = options.cache === false ? null : options.cache ?? {};
|
|
384
|
+
const minTtlMs = positiveInt(cacheOpts?.minTtlMs, DEFAULT_MIN_TTL_MS, "cache.minTtlMs", 0);
|
|
385
|
+
const maxTtlMs = positiveInt(cacheOpts?.maxTtlMs, DEFAULT_MAX_TTL_MS, "cache.maxTtlMs", 0);
|
|
386
|
+
if (maxTtlMs < minTtlMs)
|
|
387
|
+
throw new RangeError("cache.maxTtlMs must be \u2265 cache.minTtlMs");
|
|
388
|
+
const memo = cacheOpts ? new Memo(positiveInt(cacheOpts.maxEntries, DEFAULT_CACHE_MAX_ENTRIES, "cache.maxEntries", 1)) : null;
|
|
389
|
+
const batchOpts = options.batch === false ? null : options.batch ?? {};
|
|
390
|
+
const maxIds = positiveInt(batchOpts?.maxIds, DEFAULT_BATCH_MAX_IDS, "batch.maxIds", 1);
|
|
391
|
+
if (maxIds > MAX_BATCH_MAX_IDS)
|
|
392
|
+
throw new RangeError(`batch.maxIds must be \u2264 ${MAX_BATCH_MAX_IDS} (the worker's per-request limit), got ${maxIds}`);
|
|
393
|
+
const delayMs = batchOpts ? positiveInt(batchOpts.delayMs, DEFAULT_BATCH_DELAY_MS, "batch.delayMs", 0) : 0;
|
|
394
|
+
const lanes = /* @__PURE__ */ new Map();
|
|
395
|
+
const includeKeys = /* @__PURE__ */ new Set();
|
|
396
|
+
const laneFor = (fresh, include, budgetMs) => {
|
|
397
|
+
const includeKey = include.join(",");
|
|
398
|
+
const key = `${fresh ? "fresh" : "normal"}|${includeKey}|${budgetMs ?? ""}`;
|
|
399
|
+
let lane = lanes.get(key);
|
|
400
|
+
if (!lane) {
|
|
401
|
+
includeKeys.add(includeKey);
|
|
402
|
+
lane = { key, fresh, budgetMs, include, includeKey, inflight: /* @__PURE__ */ new Map(), queue: /* @__PURE__ */ new Map(), scheduled: false };
|
|
403
|
+
lanes.set(key, lane);
|
|
404
|
+
}
|
|
405
|
+
return lane;
|
|
406
|
+
};
|
|
407
|
+
const dropIfIdle = (lane) => {
|
|
408
|
+
if (lane.budgetMs === void 0 || lane.scheduled || lane.queue.size > 0 || lane.inflight.size > 0)
|
|
409
|
+
return;
|
|
410
|
+
if (lanes.get(lane.key) === lane)
|
|
411
|
+
lanes.delete(lane.key);
|
|
412
|
+
};
|
|
413
|
+
const report = (error) => {
|
|
414
|
+
if (!onError)
|
|
415
|
+
return;
|
|
416
|
+
try {
|
|
417
|
+
onError(error);
|
|
418
|
+
} catch {
|
|
419
|
+
}
|
|
420
|
+
};
|
|
421
|
+
let failures = 0;
|
|
422
|
+
let blockedUntil = 0;
|
|
423
|
+
let blockReported = false;
|
|
424
|
+
const isBlocked = (now) => now < blockedUntil;
|
|
425
|
+
const recordFailure = (retryAfterMs) => {
|
|
426
|
+
const now = Date.now();
|
|
427
|
+
const jitter = 1 - BACKOFF_JITTER + Math.random() * 2 * BACKOFF_JITTER;
|
|
428
|
+
if (isBlocked(now)) {
|
|
429
|
+
if (retryAfterMs !== void 0) {
|
|
430
|
+
blockedUntil = Math.max(blockedUntil, now + Math.min(retryAfterMs, maxRetryAfterMs) * jitter);
|
|
431
|
+
}
|
|
432
|
+
return;
|
|
433
|
+
}
|
|
434
|
+
const base = retryAfterMs !== void 0 ? Math.min(retryAfterMs, maxRetryAfterMs) : Math.min(backoffMaxMs, backoffBaseMs * 2 ** Math.min(failures, 30));
|
|
435
|
+
failures += 1;
|
|
436
|
+
blockedUntil = now + base * jitter;
|
|
437
|
+
blockReported = false;
|
|
438
|
+
};
|
|
439
|
+
const recordSuccess = () => {
|
|
440
|
+
failures = 0;
|
|
441
|
+
blockedUntil = 0;
|
|
442
|
+
blockReported = false;
|
|
443
|
+
};
|
|
444
|
+
const reportBlocked = (ids) => {
|
|
445
|
+
if (blockReported || ids.length === 0)
|
|
446
|
+
return;
|
|
447
|
+
blockReported = true;
|
|
448
|
+
report(new NamesClientError("backoff", `names requests paused until ${new Date(blockedUntil).toISOString()} after a failure`, {
|
|
449
|
+
ids,
|
|
450
|
+
blockedUntil
|
|
451
|
+
}));
|
|
452
|
+
};
|
|
453
|
+
let active = 0;
|
|
454
|
+
const waiting = [];
|
|
455
|
+
const acquire = () => {
|
|
456
|
+
if (active < maxConcurrent) {
|
|
457
|
+
active += 1;
|
|
458
|
+
return Promise.resolve();
|
|
459
|
+
}
|
|
460
|
+
return new Promise((resolve2) => waiting.push(resolve2));
|
|
461
|
+
};
|
|
462
|
+
const release = () => {
|
|
463
|
+
const next = waiting.shift();
|
|
464
|
+
if (next)
|
|
465
|
+
next();
|
|
466
|
+
else
|
|
467
|
+
active -= 1;
|
|
468
|
+
};
|
|
469
|
+
const ttlFor = (result, now) => {
|
|
470
|
+
if (!result.complete || result.cache === void 0)
|
|
471
|
+
return minTtlMs;
|
|
472
|
+
const freshUntil = result.cache.freshUntil;
|
|
473
|
+
const ttl = freshUntil === null ? maxTtlMs : freshUntil * 1e3 - now;
|
|
474
|
+
return Math.min(maxTtlMs, Math.max(minTtlMs, ttl));
|
|
475
|
+
};
|
|
476
|
+
const finish = (lane, pending, result, fromServer, cut = false) => {
|
|
477
|
+
if (lane.inflight.get(pending.id) === pending)
|
|
478
|
+
lane.inflight.delete(pending.id);
|
|
479
|
+
const keep = result.complete || !cut;
|
|
480
|
+
if (fromServer && memo && !pending.skipMemo && keep) {
|
|
481
|
+
const now = Date.now();
|
|
482
|
+
memo.set(memoKey(pending.id, lane.includeKey), result, now + ttlFor(result, now));
|
|
483
|
+
}
|
|
484
|
+
pending.settle(result);
|
|
485
|
+
dropIfIdle(lane);
|
|
486
|
+
};
|
|
487
|
+
const failAll = (lane, batch, error, retryAfterMs) => {
|
|
488
|
+
recordFailure(retryAfterMs);
|
|
489
|
+
report(error);
|
|
490
|
+
for (const p of batch)
|
|
491
|
+
finish(lane, p, syntheticResult(p.id, lane.include), false);
|
|
492
|
+
};
|
|
493
|
+
const answerBlocked = (lane, batch) => {
|
|
494
|
+
const now = Date.now();
|
|
495
|
+
for (const p of batch) {
|
|
496
|
+
const hit = memo?.get(memoKey(p.id, lane.includeKey), now);
|
|
497
|
+
finish(lane, p, hit ?? syntheticResult(p.id, lane.include), false);
|
|
498
|
+
}
|
|
499
|
+
reportBlocked(batch.map((p) => p.id));
|
|
500
|
+
};
|
|
501
|
+
const retryAfterOf = (response) => response.status === 429 || response.status === 503 ? parseRetryAfterMs(response.headers.get("retry-after"), Date.now()) : void 0;
|
|
502
|
+
const getUrlFor = (lane, ids) => {
|
|
503
|
+
if (!useGet || lane.fresh || lane.budgetMs !== void 0)
|
|
504
|
+
return void 0;
|
|
505
|
+
if (ids.length > getMaxIds || !ids.every(fitsGetQuery))
|
|
506
|
+
return void 0;
|
|
507
|
+
let query;
|
|
508
|
+
try {
|
|
509
|
+
query = ids.map((id) => encodeURIComponent(id)).join(",");
|
|
510
|
+
} catch {
|
|
511
|
+
return void 0;
|
|
512
|
+
}
|
|
513
|
+
const url = `${getEndpoint}?ids=${query}&include=${lane.includeKey}`;
|
|
514
|
+
return url.length <= GET_MAX_URL_LENGTH ? url : void 0;
|
|
515
|
+
};
|
|
516
|
+
const send = async (lane, batch) => {
|
|
517
|
+
const ids = batch.map((p) => p.id);
|
|
518
|
+
const getUrl = getUrlFor(lane, ids);
|
|
519
|
+
const headers = new Headers(getUrl !== void 0 && inBrowser ? void 0 : extraHeaders);
|
|
520
|
+
headers.set("accept", "application/json");
|
|
521
|
+
if (getUrl === void 0)
|
|
522
|
+
headers.set("content-type", "application/json");
|
|
523
|
+
else
|
|
524
|
+
headers.delete("content-type");
|
|
525
|
+
const timer = timeoutSignal(timeoutMs);
|
|
526
|
+
const body = {
|
|
527
|
+
ids,
|
|
528
|
+
options: {
|
|
529
|
+
include: [...lane.include],
|
|
530
|
+
...lane.fresh ? { fresh: true } : {},
|
|
531
|
+
...lane.budgetMs === void 0 ? {} : { budgetMs: lane.budgetMs }
|
|
532
|
+
}
|
|
533
|
+
};
|
|
534
|
+
let response;
|
|
535
|
+
try {
|
|
536
|
+
response = await doFetch(getUrl ?? endpoint, getUrl === void 0 ? { method: "POST", headers, body: JSON.stringify(body), signal: timer.signal } : { method: "GET", headers, signal: timer.signal });
|
|
537
|
+
} catch (cause) {
|
|
538
|
+
timer.clear();
|
|
539
|
+
const timedOut = isTimeout(cause, timer.signal);
|
|
540
|
+
failAll(lane, batch, new NamesClientError(timedOut ? "timeout" : "network", timedOut ? `names request timed out after ${timeoutMs} ms` : "names request failed", { ids, cause }));
|
|
541
|
+
return;
|
|
542
|
+
}
|
|
543
|
+
if (getUrl !== void 0 && response.status === 400) {
|
|
544
|
+
timer.clear();
|
|
545
|
+
void response.body?.cancel().catch(() => void 0);
|
|
546
|
+
getMaxIds = Math.min(getMaxIds, ids.length - 1);
|
|
547
|
+
await send(lane, batch);
|
|
548
|
+
return;
|
|
549
|
+
}
|
|
550
|
+
let payload;
|
|
551
|
+
try {
|
|
552
|
+
payload = await response.json();
|
|
553
|
+
} catch (cause) {
|
|
554
|
+
timer.clear();
|
|
555
|
+
if (!response.ok) {
|
|
556
|
+
failAll(lane, batch, new NamesClientError("http", `names request failed with HTTP ${response.status}`, { ids, status: response.status, cause }), retryAfterOf(response));
|
|
557
|
+
} else {
|
|
558
|
+
const timedOut = isTimeout(cause, timer.signal);
|
|
559
|
+
failAll(lane, batch, new NamesClientError(timedOut ? "timeout" : "invalid_response", timedOut ? `names request timed out after ${timeoutMs} ms` : "names response is not JSON", { ids, cause }));
|
|
560
|
+
}
|
|
561
|
+
return;
|
|
562
|
+
}
|
|
563
|
+
timer.clear();
|
|
564
|
+
if (!response.ok) {
|
|
565
|
+
const envelope = isErrorResponse(payload) ? payload : void 0;
|
|
566
|
+
const detail = envelope ? `: ${envelope.error.code}` : "";
|
|
567
|
+
failAll(lane, batch, new NamesClientError("http", `names request failed with HTTP ${response.status}${detail}`, {
|
|
568
|
+
ids,
|
|
569
|
+
status: response.status,
|
|
570
|
+
...envelope ? { response: envelope } : {}
|
|
571
|
+
}), retryAfterOf(response));
|
|
572
|
+
return;
|
|
573
|
+
}
|
|
574
|
+
const results = isRecord(payload) && isRecord(payload.results) ? payload.results : null;
|
|
575
|
+
if (!results) {
|
|
576
|
+
failAll(lane, batch, new NamesClientError("invalid_response", "names response has no results object", { ids }));
|
|
577
|
+
return;
|
|
578
|
+
}
|
|
579
|
+
recordSuccess();
|
|
580
|
+
const cut = cutByBudget(payload, lane.budgetMs);
|
|
581
|
+
const missing = [];
|
|
582
|
+
for (const p of batch) {
|
|
583
|
+
const candidate = Object.prototype.hasOwnProperty.call(results, p.id) ? results[p.id] : void 0;
|
|
584
|
+
if (!isResolvedName(candidate, p.id, lane.include)) {
|
|
585
|
+
missing.push(p.id);
|
|
586
|
+
finish(lane, p, syntheticResult(p.id, lane.include), false);
|
|
587
|
+
} else if (candidate.kind === "unknown" && isMatrixUserId(p.id)) {
|
|
588
|
+
finish(lane, p, syntheticResult(p.id, lane.include), true);
|
|
589
|
+
} else {
|
|
590
|
+
finish(lane, p, candidate, true, cut);
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
if (missing.length > 0) {
|
|
594
|
+
report(new NamesClientError("invalid_response", `names response lacks a valid result for ${missing.length} id(s)`, { ids: missing }));
|
|
595
|
+
}
|
|
596
|
+
};
|
|
597
|
+
const run = async (lane, batch) => {
|
|
598
|
+
await acquire();
|
|
599
|
+
try {
|
|
600
|
+
if (isBlocked(Date.now())) {
|
|
601
|
+
answerBlocked(lane, batch);
|
|
602
|
+
return;
|
|
603
|
+
}
|
|
604
|
+
await send(lane, batch);
|
|
605
|
+
} catch (cause) {
|
|
606
|
+
failAll(lane, batch, new NamesClientError("network", "names request failed", { ids: batch.map((p) => p.id), cause }));
|
|
607
|
+
} finally {
|
|
608
|
+
release();
|
|
609
|
+
}
|
|
610
|
+
};
|
|
611
|
+
const dispatch = (lane, pendings) => {
|
|
612
|
+
for (const p of pendings)
|
|
613
|
+
p.sent = true;
|
|
614
|
+
const sorted = [...pendings].sort(compareIds);
|
|
615
|
+
for (let i = 0; i < sorted.length; i += maxIds) {
|
|
616
|
+
void run(lane, sorted.slice(i, i + maxIds));
|
|
617
|
+
}
|
|
618
|
+
};
|
|
619
|
+
const flush = (lane) => {
|
|
620
|
+
lane.scheduled = false;
|
|
621
|
+
const pendings = [...lane.queue.values()];
|
|
622
|
+
lane.queue.clear();
|
|
623
|
+
dispatch(lane, pendings);
|
|
624
|
+
};
|
|
625
|
+
const schedule = (lane) => {
|
|
626
|
+
if (lane.scheduled)
|
|
627
|
+
return;
|
|
628
|
+
lane.scheduled = true;
|
|
629
|
+
if (delayMs === 0)
|
|
630
|
+
queueMicrotask(() => flush(lane));
|
|
631
|
+
else
|
|
632
|
+
setTimeout(() => flush(lane), delayMs);
|
|
633
|
+
};
|
|
634
|
+
const newPending = (id) => {
|
|
635
|
+
let settle;
|
|
636
|
+
const promise = new Promise((resolve2) => {
|
|
637
|
+
settle = resolve2;
|
|
638
|
+
});
|
|
639
|
+
return { id, promise, settle, sent: false, skipMemo: false };
|
|
640
|
+
};
|
|
641
|
+
const resolve = async (ids, callOptions = {}) => {
|
|
642
|
+
const lane = laneFor(callOptions.fresh === true, normalizeInclude(callOptions.include ?? clientInclude), normalizeBudget(callOptions.budgetMs));
|
|
643
|
+
const now = Date.now();
|
|
644
|
+
const answers = /* @__PURE__ */ new Map();
|
|
645
|
+
const created = [];
|
|
646
|
+
const blocked = isBlocked(now);
|
|
647
|
+
const unsent = [];
|
|
648
|
+
for (const id of ids) {
|
|
649
|
+
if (answers.has(id))
|
|
650
|
+
continue;
|
|
651
|
+
if (!isSendable(id)) {
|
|
652
|
+
answers.set(id, invalidIdentifierResult(id, lane.include));
|
|
653
|
+
continue;
|
|
654
|
+
}
|
|
655
|
+
const key = memoKey(id, lane.includeKey);
|
|
656
|
+
if (!lane.fresh) {
|
|
657
|
+
const hit = memo?.get(key, now);
|
|
658
|
+
if (hit) {
|
|
659
|
+
answers.set(id, hit);
|
|
660
|
+
continue;
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
const existing = lane.inflight.get(id);
|
|
664
|
+
if (existing) {
|
|
665
|
+
answers.set(id, existing.promise);
|
|
666
|
+
continue;
|
|
667
|
+
}
|
|
668
|
+
if (blocked) {
|
|
669
|
+
answers.set(id, (lane.fresh ? memo?.get(key, now) : void 0) ?? syntheticResult(id, lane.include));
|
|
670
|
+
unsent.push(id);
|
|
671
|
+
continue;
|
|
672
|
+
}
|
|
673
|
+
const pending = newPending(id);
|
|
674
|
+
lane.inflight.set(id, pending);
|
|
675
|
+
created.push(pending);
|
|
676
|
+
answers.set(id, pending.promise);
|
|
677
|
+
}
|
|
678
|
+
reportBlocked(unsent);
|
|
679
|
+
if (created.length > 0) {
|
|
680
|
+
if (batchOpts) {
|
|
681
|
+
for (const p of created)
|
|
682
|
+
lane.queue.set(p.id, p);
|
|
683
|
+
schedule(lane);
|
|
684
|
+
} else {
|
|
685
|
+
dispatch(lane, created);
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
dropIfIdle(lane);
|
|
689
|
+
const entries = await Promise.all([...answers.entries()].map(async ([id, answer]) => [id, await answer]));
|
|
690
|
+
return Object.fromEntries(entries);
|
|
691
|
+
};
|
|
692
|
+
const one = async (id, include) => {
|
|
693
|
+
try {
|
|
694
|
+
const results = await resolve([id], { include });
|
|
695
|
+
return results[id] ?? syntheticResult(id, normalizeInclude(include));
|
|
696
|
+
} catch {
|
|
697
|
+
return syntheticResult(id, normalizeInclude(include));
|
|
698
|
+
}
|
|
699
|
+
};
|
|
700
|
+
return {
|
|
701
|
+
resolve,
|
|
702
|
+
async name(id) {
|
|
703
|
+
return (await one(id, NAME_INCLUDE)).name ?? null;
|
|
704
|
+
},
|
|
705
|
+
async display(id) {
|
|
706
|
+
try {
|
|
707
|
+
return (await one(id, NAME_INCLUDE)).display;
|
|
708
|
+
} catch {
|
|
709
|
+
return abbreviate(id);
|
|
710
|
+
}
|
|
711
|
+
},
|
|
712
|
+
async matrix(id) {
|
|
713
|
+
try {
|
|
714
|
+
return (await one(id, MATRIX_INCLUDE)).matrix ?? null;
|
|
715
|
+
} catch {
|
|
716
|
+
return null;
|
|
717
|
+
}
|
|
718
|
+
},
|
|
719
|
+
async room(id) {
|
|
720
|
+
try {
|
|
721
|
+
return (await one(id, ROOM_INCLUDE)).room ?? null;
|
|
722
|
+
} catch {
|
|
723
|
+
return null;
|
|
724
|
+
}
|
|
725
|
+
},
|
|
726
|
+
async prefetch(ids, prefetchOptions) {
|
|
727
|
+
try {
|
|
728
|
+
await resolve(ids, prefetchOptions);
|
|
729
|
+
} catch {
|
|
730
|
+
}
|
|
731
|
+
},
|
|
732
|
+
peek(id, include) {
|
|
733
|
+
return memo?.get(memoKey(id, normalizeInclude(include ?? clientInclude).join(",")), Date.now());
|
|
734
|
+
},
|
|
735
|
+
invalidate(ids) {
|
|
736
|
+
for (const id of ids) {
|
|
737
|
+
for (const includeKey of includeKeys)
|
|
738
|
+
memo?.delete(memoKey(id, includeKey));
|
|
739
|
+
for (const lane of lanes.values()) {
|
|
740
|
+
const p = lane.inflight.get(id);
|
|
741
|
+
if (p?.sent) {
|
|
742
|
+
p.skipMemo = true;
|
|
743
|
+
lane.inflight.delete(id);
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
},
|
|
748
|
+
blockedUntil() {
|
|
749
|
+
return isBlocked(Date.now()) ? blockedUntil : 0;
|
|
750
|
+
},
|
|
751
|
+
abbreviate
|
|
752
|
+
};
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
// ../../node_modules/.pnpm/@ixo+names-client@0.2.1_react@19.2.8/node_modules/@ixo/names-client/dist/index.js
|
|
756
|
+
var NAMES_CLIENT_VERSION = "0.2.1";
|
|
757
|
+
//# sourceMappingURL=client.js.map
|