@capxul/sdk 4.2.0-rc.13 → 4.2.0-rc.15
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/capxul-source.json +3 -3
- package/dist/index.d.mts +7 -1
- package/dist/index.mjs +1 -1
- package/dist/{production-CrW_sxwv.mjs → production-Bw1sledP.mjs} +87 -55
- package/dist/{production-Db4fBqSk.d.mts → production-CJ42VSls.d.mts} +41 -38
- package/dist/testing/index.d.mts +1 -1
- package/dist/testing/index.mjs +1 -1
- package/package.json +5 -5
package/dist/capxul-source.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"source": {
|
|
3
|
-
"commit": "
|
|
4
|
-
"tree": "
|
|
3
|
+
"commit": "b2dff9052ea3f3a55dfca98530c02b4ac3bcfa96",
|
|
4
|
+
"tree": "9fc0a21bc2cb477c62dd9f5c44c4977d74548d94",
|
|
5
5
|
"branch": "codex/programme-rc",
|
|
6
6
|
"repository": "https://github.com/Xelmar-tech/infrastructure",
|
|
7
7
|
"lockfileSha256": "5870f53b72706d103220c1bcf733cb4fb71196aea32a9cfbdc277d73cc959264"
|
|
8
8
|
},
|
|
9
9
|
"name": "@capxul/sdk",
|
|
10
|
-
"version": "4.2.0-rc.
|
|
10
|
+
"version": "4.2.0-rc.15"
|
|
11
11
|
}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { $ as PayrollGroupId, B as ChainId, Ct as ChainCause, D as Account, Dt as RevertSummary, E as CAPXUL_PAYMENTS_V2_ADDRESS, Et as FailureMode, F as AssetId, G as EVM_ADDRESS_RE, H as CurrencyCode, I as AuthSession, J as Handle, L as AuthUserId, O as AccountId, P as AssetAmount, St as CHAIN_UPSTREAMS, Tt as FAILURE_MODES, V as CountryCode, X as OrgId, Y as Money, Z as PartyId, _ as Session, _t as CapxulErrorCode, a as Eip1193RequestProvider, at as RoleKey, c as injectedWalletSigner, ct as TesterKind, d as AccountRequirement, dt as toAddress, et as PayrollRunId, f as Eip1193Provider, ft as toCountryCode, g as Profile, gt as CapxulError, h as CapxulResult, ht as CAPXUL_ERROR_CODES, i as CapxulSigner, k as Address, l as AccountProvider, m as localPrivateKeyAccountProvider, mt as toPartyId, o as SignerStatus, p as eip1193AccountProvider, pt as toHandle, r as CapxulDigestSigner, s as SignerStatusStore, u as AccountProviderSource, v as SmartAccount, vt as CapxulErrorDetails, wt as ChainUpstream, xt as isCapxulError, yt as Errors, z as BudgetId } from "./OAuthBearerAuthClient-C-ip-z8M.mjs";
|
|
2
|
-
import { $ as OrganizationPaymentBatchInput, $n as RequestStatus, $t as Destination, A as OrgScopedMethods, An as Ref, At as AddressBookAddInput, B as AuthorizeRunOptions, Bn as SmartAccountMethods, Bt as ActivityFilter, C as CurrentUserMethods, Cn as PaymentMoney, Ct as AccountMethods, D as MemberStatus, Dn as PaymentsMethods, Dt as ActorRequest, E as InviteMemberInput, En as PaymentType, Et as ActorRelationshipMethods, F as ResendInviteTokenInput, Fn as AccountLifecycle, Ft as InboxItem, G as PayrollGroupsMethods, Gn as ActorRef, Gt as ActivityPage, H as PayrollGroup, Hn as OrgLifecycle, Ht as ActivityKind, I as RoleDefinition, In as AccountSetupStep, It as InboxMethods, J as PayrollRun, Jn as SubmittedPermissionExecution, Jt as ActivitySummary, K as PayrollMethods, Kn as CurrentHoldings, Kt as ActivityRange, L as RoleSpendCap, Ln as isSettingUpLifecycle, Lt as ActivityAnnotation, M as OrgView, Mn as TargetReference, Mt as AddressBookLabelInput, N as OrganizationAccount, Nn as TargetsMethods, Nt as AddressBookMethods, O as MemberView, On as PaymentsPayInput, Ot as ActorRequestIssueInput, P as OrganizationAuditLogItem, Pn as fingerprintPaymentIntent, Pt as InboxApproveInput, Q as PayrollTermsUnit, Qn as PaymentStatus$1, Qt as DepositInstructions, R as RoleView, Rn as CompleteProfileInput, Rt as ActivityAnnotationInput, S as CurrentUserContext, Sn as PaymentDocumentsMethods, St as ReadyAccountLifecycle, T as DetectPendingOrgInvitationsResult, Tn as PaymentTiming, Tt as ActorProfileMethods, U as PayrollGroupInput, Un as OrgSetupStep, Ut as ActivityListParams, V as PayrollEngagementTerms, Vn as AuthMethods, Vt as ActivityItem, W as PayrollGroupMember, Wn as PayoutAddress, Wt as ActivityMethods, X as PayrollRunStatus, Xn as PAYMENT_DIRECTIONS, Xt as ActivitySummaryTotal, Y as PayrollRunItemInput, Yn as InboxStatus, Yt as ActivitySummaryParams, Z as PayrollRuns, Zn as PAYMENT_STATUSES, Zt as ActorReference, _ as HoldingsMethods, _n as PaymentDirection, _t as OnboardingMethods, a as ObservationContext, an as DestinationRemoveInput, ar as IdentityEvent, at as PermissionCreateInput, b as SystemHealth, bn as PaymentDocumentRender, bt as PersonOnboarding, c as HostObservability, cn as MeMethods, cr as Readiness, ct as PermissionReplaceInput, d as postHogObservability, dn as OfframpMethods, dr as isClaimed, dt as Budget, en as DestinationAddInput, et as OrganizationPaymentInput, f as CapxulClient, fn as OfframpQuote, fr as isRestoring, ft as OrgMe, g as IdentityRuntimeSendResult, gn as PaymentActivityEvidence, gt as CompletedPersonProfile, h as IdentityRuntime, hn as Payment, ht as AccountsMethods, i as ObservationAdapter, in as DestinationRail, ir as Destination$1, it as PermissionChangeInput, j as OrgTemplate, jn as ResolvedTarget, jt as AddressBookEntry, k as OrgMethods, kn as RecipientResolution, kt as ActorRequestsMethods, l as PostHogObservabilityClient, ln as MeProfile, lr as StateLabel, lt as PermissionRevokeInput, m as IdentityProfileDetails, mn as OfframpStatus, mr as InvocationControls, mt as OrgMeOptions, nn as DestinationListInput, nt as OrganizationPaymentsMethods, o as ObservationDelivery, on as DestinationsMethods, or as IdentityState, ot as PermissionMethods, p as CreateCapxulClientInput, pn as OfframpQuoteInput, pr as IdentityTransition, pt as OrgMeMethod, q as PayrollOptions, qn as Permission, qt as ActivityReference, r as CAPXUL_SDK_EXPECTED_OUTCOME_EVENT, rn as DestinationPayload, rr as TelemetryPort, rt as PermissionAssignInput, s as SdkFailureObservation, sn as FinancialOpsMethods, sr as OrgLane, st as PermissionOptions, t as CapxulClientInput, tn as DestinationKind, tt as OrganizationPaymentItemInput, u as PostHogObservabilityOptions, un as MovementActivityEvidence, ur as destination, ut as PermissionReadResult, v as Holding, vn as PaymentDocumentKind, vt as OrganizationOnboarding, w as CreateOrgInput, wn as PaymentStatus, wt as ActorProfile, x as MediaMethods, xn as PaymentDocumentVerification, xt as PersonOnboardingInput, y as SystemMethods, yn as PaymentDocumentRef, yt as OrganizationOnboardingInput, z as AuthorizeRunInput, zn as IdentityMethods, zt as ActivityDetail } from "./production-
|
|
2
|
+
import { $ as OrganizationPaymentBatchInput, $n as RequestStatus, $t as Destination, A as OrgScopedMethods, An as Ref, At as AddressBookAddInput, B as AuthorizeRunOptions, Bn as SmartAccountMethods, Bt as ActivityFilter, C as CurrentUserMethods, Cn as PaymentMoney, Ct as AccountMethods, D as MemberStatus, Dn as PaymentsMethods, Dt as ActorRequest, E as InviteMemberInput, En as PaymentType, Et as ActorRelationshipMethods, F as ResendInviteTokenInput, Fn as AccountLifecycle, Ft as InboxItem, G as PayrollGroupsMethods, Gn as ActorRef, Gt as ActivityPage, H as PayrollGroup, Hn as OrgLifecycle, Ht as ActivityKind, I as RoleDefinition, In as AccountSetupStep, It as InboxMethods, J as PayrollRun, Jn as SubmittedPermissionExecution, Jt as ActivitySummary, K as PayrollMethods, Kn as CurrentHoldings, Kt as ActivityRange, L as RoleSpendCap, Ln as isSettingUpLifecycle, Lt as ActivityAnnotation, M as OrgView, Mn as TargetReference, Mt as AddressBookLabelInput, N as OrganizationAccount, Nn as TargetsMethods, Nt as AddressBookMethods, O as MemberView, On as PaymentsPayInput, Ot as ActorRequestIssueInput, P as OrganizationAuditLogItem, Pn as fingerprintPaymentIntent, Pt as InboxApproveInput, Q as PayrollTermsUnit, Qn as PaymentStatus$1, Qt as DepositInstructions, R as RoleView, Rn as CompleteProfileInput, Rt as ActivityAnnotationInput, S as CurrentUserContext, Sn as PaymentDocumentsMethods, St as ReadyAccountLifecycle, T as DetectPendingOrgInvitationsResult, Tn as PaymentTiming, Tt as ActorProfileMethods, U as PayrollGroupInput, Un as OrgSetupStep, Ut as ActivityListParams, V as PayrollEngagementTerms, Vn as AuthMethods, Vt as ActivityItem, W as PayrollGroupMember, Wn as PayoutAddress, Wt as ActivityMethods, X as PayrollRunStatus, Xn as PAYMENT_DIRECTIONS, Xt as ActivitySummaryTotal, Y as PayrollRunItemInput, Yn as InboxStatus, Yt as ActivitySummaryParams, Z as PayrollRuns, Zn as PAYMENT_STATUSES, Zt as ActorReference, _ as HoldingsMethods, _n as PaymentDirection, _t as OnboardingMethods, a as ObservationContext, an as DestinationRemoveInput, ar as IdentityEvent, at as PermissionCreateInput, b as SystemHealth, bn as PaymentDocumentRender, bt as PersonOnboarding, c as HostObservability, cn as MeMethods, cr as Readiness, ct as PermissionReplaceInput, d as postHogObservability, dn as OfframpMethods, dr as isClaimed, dt as Budget, en as DestinationAddInput, et as OrganizationPaymentInput, f as CapxulClient, fn as OfframpQuote, fr as isRestoring, ft as OrgMe, g as IdentityRuntimeSendResult, gn as PaymentActivityEvidence, gt as CompletedPersonProfile, h as IdentityRuntime, hn as Payment, ht as AccountsMethods, i as ObservationAdapter, in as DestinationRail, ir as Destination$1, it as PermissionChangeInput, j as OrgTemplate, jn as ResolvedTarget, jt as AddressBookEntry, k as OrgMethods, kn as RecipientResolution, kt as ActorRequestsMethods, l as PostHogObservabilityClient, ln as MeProfile, lr as StateLabel, lt as PermissionRevokeInput, m as IdentityProfileDetails, mn as OfframpStatus, mr as InvocationControls, mt as OrgMeOptions, nn as DestinationListInput, nt as OrganizationPaymentsMethods, o as ObservationDelivery, on as DestinationsMethods, or as IdentityState, ot as PermissionMethods, p as CreateCapxulClientInput, pn as OfframpQuoteInput, pr as IdentityTransition, pt as OrgMeMethod, q as PayrollOptions, qn as Permission, qt as ActivityReference, r as CAPXUL_SDK_EXPECTED_OUTCOME_EVENT, rn as DestinationPayload, rr as TelemetryPort, rt as PermissionAssignInput, s as SdkFailureObservation, sn as FinancialOpsMethods, sr as OrgLane, st as PermissionOptions, t as CapxulClientInput, tn as DestinationKind, tt as OrganizationPaymentItemInput, u as PostHogObservabilityOptions, un as MovementActivityEvidence, ur as destination, ut as PermissionReadResult, v as Holding, vn as PaymentDocumentKind, vt as OrganizationOnboarding, w as CreateOrgInput, wn as PaymentStatus, wt as ActorProfile, x as MediaMethods, xn as PaymentDocumentVerification, xt as PersonOnboardingInput, y as SystemMethods, yn as PaymentDocumentRef, yt as OrganizationOnboardingInput, z as AuthorizeRunInput, zn as IdentityMethods, zt as ActivityDetail } from "./production-CJ42VSls.mjs";
|
|
3
3
|
import { Hex } from "viem";
|
|
4
4
|
import { Effect, Layer } from "effect";
|
|
5
5
|
//#region ../errors/src/index.d.ts
|
|
@@ -125,6 +125,8 @@ declare const CAPXUL_OPERATIONS: {
|
|
|
125
125
|
readonly cancelRequest: "financialOps.cancelRequest";
|
|
126
126
|
readonly createPayee: "financialOps.createPayee";
|
|
127
127
|
readonly declineRequest: "financialOps.declineRequest";
|
|
128
|
+
readonly emitInvoiceIssued: "financialOps.emitInvoiceIssued";
|
|
129
|
+
readonly emitInvoiceRequestTransitioned: "financialOps.emitInvoiceRequestTransitioned";
|
|
128
130
|
readonly emitPaymentWriterTelemetry: "financialOps.emitPaymentWriterTelemetry";
|
|
129
131
|
readonly issueRequest: "financialOps.issueRequest";
|
|
130
132
|
readonly recoverSettlementVerification: "financialOps.recoverSettlementVerification";
|
|
@@ -135,6 +137,9 @@ declare const CAPXUL_OPERATIONS: {
|
|
|
135
137
|
readonly current: "holdings.current";
|
|
136
138
|
readonly primary: "holdings.primary";
|
|
137
139
|
};
|
|
140
|
+
readonly indexer: {
|
|
141
|
+
readonly reconcile: "indexer.reconcile";
|
|
142
|
+
};
|
|
138
143
|
readonly identity: {
|
|
139
144
|
readonly accountAt: "identity.AccountAt";
|
|
140
145
|
readonly accountClaimed: "identity.AccountClaimed";
|
|
@@ -226,6 +231,7 @@ declare const CAPXUL_OPERATIONS: {
|
|
|
226
231
|
readonly createOrg: "org.createOrg";
|
|
227
232
|
readonly create: "org.create";
|
|
228
233
|
readonly detectAndAcceptPendingInvitations: "org.detectAndAcceptPendingInvitations";
|
|
234
|
+
readonly emitInviteProgressed: "org.emitInviteProgressed";
|
|
229
235
|
readonly expireInvitations: "org.expireInvitations";
|
|
230
236
|
readonly getLifecycle: "org.getLifecycle";
|
|
231
237
|
readonly getProofReceipt: "org.getProofReceipt";
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as signerFailure, B as isRestoring, C as normalizeExceptionErrorKind, E as safeExceptionLabel, F as CAPXUL_OPERATIONS, I as isCapxulOperation, L as normalizeCapxulOperation, M as PAYMENT_DIRECTIONS, N as PAYMENT_STATUSES, O as isSettingUpLifecycle, R as destination, S as SDK_VERSION, T as projectSdkException, _ as fingerprintPaymentIntent, b as failureDetail, d as embeddedSigner, f as openfortEmbeddedSigner, g as devPrivateKeySigner, h as deriveDevPrivateKey, j as resolveFailureMode, k as injectedWalletSigner, m as openfortEmbeddedWalletPort, p as openfortEmbeddedSignerFromWallet, r as postHogObservability, t as createCapxulClient$1, w as normalizeExceptionOperation, x as EXCEPTION_MESSAGE, y as CAPXUL_SDK_EXPECTED_OUTCOME_EVENT, z as isClaimed } from "./production-
|
|
1
|
+
import { A as signerFailure, B as isRestoring, C as normalizeExceptionErrorKind, E as safeExceptionLabel, F as CAPXUL_OPERATIONS, I as isCapxulOperation, L as normalizeCapxulOperation, M as PAYMENT_DIRECTIONS, N as PAYMENT_STATUSES, O as isSettingUpLifecycle, R as destination, S as SDK_VERSION, T as projectSdkException, _ as fingerprintPaymentIntent, b as failureDetail, d as embeddedSigner, f as openfortEmbeddedSigner, g as devPrivateKeySigner, h as deriveDevPrivateKey, j as resolveFailureMode, k as injectedWalletSigner, m as openfortEmbeddedWalletPort, p as openfortEmbeddedSignerFromWallet, r as postHogObservability, t as createCapxulClient$1, w as normalizeExceptionOperation, x as EXCEPTION_MESSAGE, y as CAPXUL_SDK_EXPECTED_OUTCOME_EVENT, z as isClaimed } from "./production-Bw1sledP.mjs";
|
|
2
2
|
import { A as currencySymbolFor, B as toCurrencyCode, G as toHandle, M as toAddress, T as EVM_ADDRESS_RE, Y as toPartyId, at as HANDLE_RE, b as configuredMoneyAssetById, ct as CapxulError, dt as isCapxulError, ft as CHAIN_UPSTREAMS, g as CAPXUL_PAYMENTS_V2_ADDRESS, k as assetIdFor, pt as FAILURE_MODES, st as CAPXUL_ERROR_CODES, ut as Errors, z as toCountryCode } from "./OAuthBearerAuthClient-CbU_W9Sp.mjs";
|
|
3
3
|
import { formatUnits } from "viem";
|
|
4
4
|
import { Effect } from "effect";
|
|
@@ -493,6 +493,8 @@ const CAPXUL_OPERATIONS = {
|
|
|
493
493
|
cancelRequest: "financialOps.cancelRequest",
|
|
494
494
|
createPayee: "financialOps.createPayee",
|
|
495
495
|
declineRequest: "financialOps.declineRequest",
|
|
496
|
+
emitInvoiceIssued: "financialOps.emitInvoiceIssued",
|
|
497
|
+
emitInvoiceRequestTransitioned: "financialOps.emitInvoiceRequestTransitioned",
|
|
496
498
|
emitPaymentWriterTelemetry: "financialOps.emitPaymentWriterTelemetry",
|
|
497
499
|
issueRequest: "financialOps.issueRequest",
|
|
498
500
|
recoverSettlementVerification: "financialOps.recoverSettlementVerification",
|
|
@@ -503,6 +505,7 @@ const CAPXUL_OPERATIONS = {
|
|
|
503
505
|
current: "holdings.current",
|
|
504
506
|
primary: "holdings.primary"
|
|
505
507
|
},
|
|
508
|
+
indexer: { reconcile: "indexer.reconcile" },
|
|
506
509
|
identity: {
|
|
507
510
|
accountAt: "identity.AccountAt",
|
|
508
511
|
accountClaimed: "identity.AccountClaimed",
|
|
@@ -592,6 +595,7 @@ const CAPXUL_OPERATIONS = {
|
|
|
592
595
|
createOrg: "org.createOrg",
|
|
593
596
|
create: "org.create",
|
|
594
597
|
detectAndAcceptPendingInvitations: "org.detectAndAcceptPendingInvitations",
|
|
598
|
+
emitInviteProgressed: "org.emitInviteProgressed",
|
|
595
599
|
expireInvitations: "org.expireInvitations",
|
|
596
600
|
getLifecycle: "org.getLifecycle",
|
|
597
601
|
getProofReceipt: "org.getProofReceipt",
|
|
@@ -828,6 +832,10 @@ const OptionalAccountId = Schema.optional(AccountIdSchema$1);
|
|
|
828
832
|
const OptionalWeiAmount = Schema.optional(WeiAmountSchema$1);
|
|
829
833
|
const OptionalCurrencyCode = Schema.optional(CurrencyCodeSchema$1);
|
|
830
834
|
const OptionalBalanceBucket = Schema.optional(BalanceBucketSchema);
|
|
835
|
+
/** Which Safe a money record is about. Declared here so the money-domain
|
|
836
|
+
* props below can name it as well as the UI-step props further down. */
|
|
837
|
+
const AccountKindSchema = Schema.Literals(["personalSafe", "orgTreasury"]);
|
|
838
|
+
const OptionalAccountKind = Schema.optional(AccountKindSchema);
|
|
831
839
|
const OptionalAddress = Schema.optional(AddressSchema$1);
|
|
832
840
|
const OptionalAppId = Schema.optional(AppIdSchema$1);
|
|
833
841
|
const OptionalBlockNumber = Schema.optional(BlockNumberSchema$1);
|
|
@@ -995,9 +1003,22 @@ const BootstrapFailedProps = Schema.Struct({
|
|
|
995
1003
|
reason: OptionalString,
|
|
996
1004
|
target_host: OptionalString
|
|
997
1005
|
});
|
|
1006
|
+
/**
|
|
1007
|
+
* R08 (#1966): which Safe was read, on which chain, of which token. `currency`
|
|
1008
|
+
* is the DISPLAY code the surface shows ("USD"); it never says which ERC-20 the
|
|
1009
|
+
* `balanceOf` actually hit, so a reader could not tell a treasury read from a
|
|
1010
|
+
* personal one, nor USDX from any other dollar-labelled token. The producer
|
|
1011
|
+
* takes each of these from the authority that already decided it — the verified
|
|
1012
|
+
* Organization row's chain, the configured token address — never from a label.
|
|
1013
|
+
* The verified `organization_id` and its group arrive from the backend
|
|
1014
|
+
* attribution, so they are not repeated here.
|
|
1015
|
+
*/
|
|
998
1016
|
const AccountBalanceReadProps = Schema.Struct({
|
|
999
1017
|
...TelemetryEnvelopeProps,
|
|
1000
1018
|
account_id: OptionalAccountId,
|
|
1019
|
+
account_kind: OptionalAccountKind,
|
|
1020
|
+
chain_id: OptionalChainId,
|
|
1021
|
+
token_address: OptionalAddress,
|
|
1001
1022
|
currency: OptionalCurrencyCode,
|
|
1002
1023
|
balance_bucket: OptionalBalanceBucket,
|
|
1003
1024
|
durationMs: OptionalDurationMs
|
|
@@ -1411,6 +1432,26 @@ const MovementScanIncidentProps = Schema.Struct({
|
|
|
1411
1432
|
incident_kind: Schema.String,
|
|
1412
1433
|
anchor_block_number: Schema.Number
|
|
1413
1434
|
});
|
|
1435
|
+
/**
|
|
1436
|
+
* One durable row the reconciliation job corrected against Ponder (SPEC D9).
|
|
1437
|
+
*
|
|
1438
|
+
* Both block fields are optional and for the same reason: a correction INTO
|
|
1439
|
+
* drift (a Payment settled in Convex whose Ponder fact a reorg removed) has no
|
|
1440
|
+
* current block, and a correction that confirms a later fact has one.
|
|
1441
|
+
*
|
|
1442
|
+
* `projection_kind` is closed. A later ticket that reconciles a deploy, a
|
|
1443
|
+
* bootstrap or a grant outcome adds its kind here in the same change; an
|
|
1444
|
+
* unknown kind must not decode.
|
|
1445
|
+
*/
|
|
1446
|
+
const IndexerDriftCorrectedProps = Schema.Struct({
|
|
1447
|
+
...TelemetryEnvelopeProps,
|
|
1448
|
+
projection_kind: Schema.Literals(["member_authority", "payment_settlement"]),
|
|
1449
|
+
previous_state: Schema.String,
|
|
1450
|
+
current_state: Schema.String,
|
|
1451
|
+
previous_block: Schema.optional(Schema.Number),
|
|
1452
|
+
current_block: Schema.optional(Schema.Number),
|
|
1453
|
+
logical_event_id: Schema.optional(Schema.String)
|
|
1454
|
+
});
|
|
1414
1455
|
Schema.Struct({
|
|
1415
1456
|
name: Schema.Literal("auth_otp_requested"),
|
|
1416
1457
|
props: AuthOtpRequestedProps
|
|
@@ -1615,9 +1656,12 @@ Schema.Struct({
|
|
|
1615
1656
|
name: Schema.Literal("movement_scan_incident"),
|
|
1616
1657
|
props: MovementScanIncidentProps
|
|
1617
1658
|
});
|
|
1659
|
+
Schema.Struct({
|
|
1660
|
+
name: Schema.Literal("indexer_drift_corrected"),
|
|
1661
|
+
props: IndexerDriftCorrectedProps
|
|
1662
|
+
});
|
|
1618
1663
|
/** The one spelling of "whose scope did this happen in" across every surface. */
|
|
1619
1664
|
const ScopeKindSchema = Schema.Literals(["account", "organization"]);
|
|
1620
|
-
const AccountKindSchema = Schema.Literals(["personalSafe", "orgTreasury"]);
|
|
1621
1665
|
const OptionalReasonCode = Schema.optional(Schema.Literals(CAPXUL_ERROR_CODES));
|
|
1622
1666
|
const ActivityReferenceProps = {
|
|
1623
1667
|
reference_kind: Schema.Literals(["payment", "movement"]),
|
|
@@ -5192,31 +5236,31 @@ function makeActorRelationshipMethods(deps) {
|
|
|
5192
5236
|
reference: input.reference,
|
|
5193
5237
|
...input.memo === void 0 ? {} : { memo: input.memo },
|
|
5194
5238
|
...input.expiresAt === void 0 ? {} : { expiresAt: input.expiresAt }
|
|
5195
|
-
}))), (request) => mapActorRequest(request, input.payer)), controls, CAPXUL_OPERATIONS.requests.issue, deps.runPromise);
|
|
5239
|
+
}))), (request) => mapActorRequest(request, input.payer)).pipe(Effect.tap(() => observeContactScope)), controls, CAPXUL_OPERATIONS.requests.issue, deps.runPromise);
|
|
5196
5240
|
},
|
|
5197
5241
|
list: (options) => {
|
|
5198
5242
|
const controls = deps.invocationControls?.(options) ?? options;
|
|
5199
|
-
return runPortEffect(mapReply(CAPXUL_OPERATIONS.requests.list, Effect.suspend(() => convexCall.query(fns.requestsList, copyInvocationObservation(controls, { actor }))), (requests) => requests.map((request) => mapActorRequest(request))), controls, CAPXUL_OPERATIONS.requests.list, deps.runPromise);
|
|
5243
|
+
return runPortEffect(mapReply(CAPXUL_OPERATIONS.requests.list, Effect.suspend(() => convexCall.query(fns.requestsList, copyInvocationObservation(controls, { actor }))), (requests) => requests.map((request) => mapActorRequest(request))).pipe(Effect.tap(() => observeContactScope)), controls, CAPXUL_OPERATIONS.requests.list, deps.runPromise);
|
|
5200
5244
|
},
|
|
5201
5245
|
get: (requestId, options) => {
|
|
5202
5246
|
const controls = deps.invocationControls?.(options) ?? options;
|
|
5203
5247
|
return runPortEffect(mapReply(CAPXUL_OPERATIONS.requests.get, Effect.suspend(() => convexCall.query(fns.requestsGet, copyInvocationObservation(controls, {
|
|
5204
5248
|
actor,
|
|
5205
5249
|
paymentRequestId: requestId
|
|
5206
|
-
}))), (request) => request === null ? null : mapActorRequest(request)), controls, CAPXUL_OPERATIONS.requests.get, deps.runPromise);
|
|
5250
|
+
}))), (request) => request === null ? null : mapActorRequest(request)).pipe(Effect.tap(() => observeContactScope)), controls, CAPXUL_OPERATIONS.requests.get, deps.runPromise);
|
|
5207
5251
|
},
|
|
5208
5252
|
cancel: (requestId, options) => {
|
|
5209
5253
|
const controls = deps.invocationControls?.(options) ?? options;
|
|
5210
5254
|
return runPortEffect(mapReply(CAPXUL_OPERATIONS.requests.cancel, Effect.suspend(() => convexCall.mutation(fns.requestsCancel, copyInvocationObservation(controls, {
|
|
5211
5255
|
actor,
|
|
5212
5256
|
paymentRequestId: requestId
|
|
5213
|
-
}))), (request) => mapActorRequest(request)), controls, CAPXUL_OPERATIONS.requests.cancel, deps.runPromise);
|
|
5257
|
+
}))), (request) => mapActorRequest(request)).pipe(Effect.tap(() => observeContactScope)), controls, CAPXUL_OPERATIONS.requests.cancel, deps.runPromise);
|
|
5214
5258
|
}
|
|
5215
5259
|
},
|
|
5216
5260
|
inbox: {
|
|
5217
5261
|
list: (options) => {
|
|
5218
5262
|
const controls = deps.invocationControls?.(options) ?? options;
|
|
5219
|
-
return runPortEffect(mapReply(CAPXUL_OPERATIONS.inbox.list, Effect.suspend(() => convexCall.query(fns.inboxList, copyInvocationObservation(controls, { actor }))), (items) => items.map(mapInboxItem)), controls, CAPXUL_OPERATIONS.inbox.list, deps.runPromise);
|
|
5263
|
+
return runPortEffect(mapReply(CAPXUL_OPERATIONS.inbox.list, Effect.suspend(() => convexCall.query(fns.inboxList, copyInvocationObservation(controls, { actor }))), (items) => items.map(mapInboxItem)).pipe(Effect.tap(() => observeContactScope)), controls, CAPXUL_OPERATIONS.inbox.list, deps.runPromise);
|
|
5220
5264
|
},
|
|
5221
5265
|
approve: (input, options) => {
|
|
5222
5266
|
const controls = deps.invocationControls?.(options) ?? options;
|
|
@@ -5228,14 +5272,14 @@ function makeActorRelationshipMethods(deps) {
|
|
|
5228
5272
|
}))).pipe(Effect.flatMap((prepared) => {
|
|
5229
5273
|
const result = mapApprovedInboxPayment(prepared, input);
|
|
5230
5274
|
return result.ok ? Effect.succeed(result.value) : Effect.fail({ publicError: result.error });
|
|
5231
|
-
})), controls, CAPXUL_OPERATIONS.inbox.approve, deps.runPromise);
|
|
5275
|
+
}), Effect.tap(() => observeContactScope)), controls, CAPXUL_OPERATIONS.inbox.approve, deps.runPromise);
|
|
5232
5276
|
},
|
|
5233
5277
|
decline: (requestId, options) => {
|
|
5234
5278
|
const controls = deps.invocationControls?.(options) ?? options;
|
|
5235
5279
|
return runPortEffect(mapReply(CAPXUL_OPERATIONS.inbox.decline, Effect.suspend(() => convexCall.mutation(fns.inboxDecline, copyInvocationObservation(controls, {
|
|
5236
5280
|
actor,
|
|
5237
5281
|
paymentRequestId: requestId
|
|
5238
|
-
}))), mapInboxItem), controls, CAPXUL_OPERATIONS.inbox.decline, deps.runPromise);
|
|
5282
|
+
}))), mapInboxItem).pipe(Effect.tap(() => observeContactScope)), controls, CAPXUL_OPERATIONS.inbox.decline, deps.runPromise);
|
|
5239
5283
|
}
|
|
5240
5284
|
},
|
|
5241
5285
|
profile: {
|
|
@@ -6091,7 +6135,7 @@ function subscribeActivity(deps, actor, controls, onChange) {
|
|
|
6091
6135
|
}
|
|
6092
6136
|
//#endregion
|
|
6093
6137
|
//#region package.json
|
|
6094
|
-
var version = "4.2.0-rc.
|
|
6138
|
+
var version = "4.2.0-rc.15";
|
|
6095
6139
|
//#endregion
|
|
6096
6140
|
//#region src/telemetry/exception-projection.ts
|
|
6097
6141
|
/** Fixed fallback for failures that have no safe message. */
|
|
@@ -10228,11 +10272,11 @@ var ConvexOrganizationAdapter = class {
|
|
|
10228
10272
|
return this.listMembers(input).pipe(Effect.map((members) => members.filter((member) => member.status === "pending" || member.status === "pending_safe" || member.status === "pending_grant")));
|
|
10229
10273
|
}
|
|
10230
10274
|
inviteMember(input) {
|
|
10231
|
-
return this.#convex.action(this.#fns.inviteMember, {
|
|
10275
|
+
return this.#convex.action(this.#fns.inviteMember, copyInvocationObservation(input, {
|
|
10232
10276
|
orgId: input.orgId,
|
|
10233
10277
|
email: input.input.email,
|
|
10234
10278
|
role: input.input.role
|
|
10235
|
-
}).pipe(Effect.mapError((error) => orgErrorFromCapxul("inviteMember", error.publicError, error)), Effect.map(brandOrgMember), Effect.catchDefect((cause) => Effect.fail(toOrgError("inviteMember", cause))));
|
|
10279
|
+
})).pipe(Effect.mapError((error) => orgErrorFromCapxul("inviteMember", error.publicError, error)), Effect.map(brandOrgMember), Effect.catchDefect((cause) => Effect.fail(toOrgError("inviteMember", cause))));
|
|
10236
10280
|
}
|
|
10237
10281
|
resendInviteToken(input) {
|
|
10238
10282
|
return this.#convex.mutation(this.#fns.resendInvite, {
|
|
@@ -13244,18 +13288,6 @@ function emitOrgCreateFailed(telemetry, error) {
|
|
|
13244
13288
|
}
|
|
13245
13289
|
});
|
|
13246
13290
|
}
|
|
13247
|
-
function emitOrgInviteSent(telemetry, input) {
|
|
13248
|
-
const domain = emailDomain$1(input.email);
|
|
13249
|
-
return emitOrgTelemetry(telemetry, {
|
|
13250
|
-
name: "org_invite_sent",
|
|
13251
|
-
props: {
|
|
13252
|
-
org_id: input.orgId,
|
|
13253
|
-
...domain === void 0 ? {} : { email_domain: domain },
|
|
13254
|
-
role: input.role,
|
|
13255
|
-
status: input.status
|
|
13256
|
-
}
|
|
13257
|
-
});
|
|
13258
|
-
}
|
|
13259
13291
|
function reportOrgTelemetryFailure(kind, name, cause) {
|
|
13260
13292
|
if (!isOrgTelemetryDebugEnabled()) return;
|
|
13261
13293
|
globalThis.console?.warn?.("[capxul] org telemetry dropped", {
|
|
@@ -13431,25 +13463,26 @@ function listMembersProgram(orgId) {
|
|
|
13431
13463
|
return [];
|
|
13432
13464
|
});
|
|
13433
13465
|
}
|
|
13466
|
+
/**
|
|
13467
|
+
* R06 (#1964): the SDK no longer emits `org_invite_sent`. The backend action
|
|
13468
|
+
* that writes the invitation is its ONE producer, so a hermetic call — which
|
|
13469
|
+
* writes nothing — can no longer report an invitation that never happened, and
|
|
13470
|
+
* a live call is counted once instead of twice. The captured attempt rides the
|
|
13471
|
+
* port input, so the durable event carries the correlation this call ran under.
|
|
13472
|
+
*/
|
|
13434
13473
|
function inviteMemberProgram(orgId, input) {
|
|
13435
13474
|
return Effect.gen(function* () {
|
|
13436
13475
|
const deps = yield* OrgDepsTag;
|
|
13437
|
-
|
|
13438
|
-
orgId,
|
|
13439
|
-
input
|
|
13440
|
-
}).pipe(Effect.mapError((error) => error.publicError)) : hermeticMember({
|
|
13476
|
+
if (deps.orgPort === void 0) return hermeticMember({
|
|
13441
13477
|
orgId,
|
|
13442
13478
|
email: input.email,
|
|
13443
13479
|
role: input.role,
|
|
13444
13480
|
status: "pending"
|
|
13445
13481
|
});
|
|
13446
|
-
yield*
|
|
13482
|
+
return yield* deps.orgPort.inviteMember(copyInvocationObservation(deps.invocationSource, {
|
|
13447
13483
|
orgId,
|
|
13448
|
-
|
|
13449
|
-
|
|
13450
|
-
status: member.status
|
|
13451
|
-
}));
|
|
13452
|
-
return member;
|
|
13484
|
+
input
|
|
13485
|
+
})).pipe(Effect.mapError((error) => error.publicError));
|
|
13453
13486
|
});
|
|
13454
13487
|
}
|
|
13455
13488
|
function detectAndAcceptPendingInvitationsProgram() {
|
|
@@ -13674,32 +13707,27 @@ function makeOrgMethods(deps) {
|
|
|
13674
13707
|
});
|
|
13675
13708
|
return treasury(orgId, deps.invocationControls?.(options) ?? options);
|
|
13676
13709
|
},
|
|
13677
|
-
account: {
|
|
13678
|
-
if (options?.signal?.aborted) return {
|
|
13679
|
-
ok: false,
|
|
13680
|
-
error: Errors.cancelled({ operation: CAPXUL_OPERATIONS.org.account.get })
|
|
13681
|
-
};
|
|
13710
|
+
account: { get(options) {
|
|
13682
13711
|
const controls = deps.invocationControls?.(options) ?? options;
|
|
13683
|
-
|
|
13684
|
-
if (!treasuryResult.ok) return {
|
|
13712
|
+
if (controls?.signal?.aborted) return Promise.resolve({
|
|
13685
13713
|
ok: false,
|
|
13686
|
-
error:
|
|
13687
|
-
};
|
|
13688
|
-
|
|
13689
|
-
|
|
13690
|
-
|
|
13691
|
-
|
|
13692
|
-
|
|
13693
|
-
|
|
13694
|
-
|
|
13695
|
-
|
|
13696
|
-
|
|
13714
|
+
error: Errors.cancelled({ operation: CAPXUL_OPERATIONS.org.account.get })
|
|
13715
|
+
});
|
|
13716
|
+
return runCapxulEffect(Effect.gen(function* () {
|
|
13717
|
+
const parent = yield* Effect.currentSpan.pipe(Effect.orDie);
|
|
13718
|
+
const captured = carryInvocationParentSpan(controls, parent);
|
|
13719
|
+
const treasuryResult = yield* Effect.promise(() => treasury(orgId, captured));
|
|
13720
|
+
if (!treasuryResult.ok) return yield* Effect.fail(treasuryResult.error);
|
|
13721
|
+
const orgList = yield* Effect.promise(() => listOrganizations(captured));
|
|
13722
|
+
if (!orgList.ok) return yield* Effect.fail(orgList.error);
|
|
13723
|
+
const org = orgList.value.find((candidate) => candidate.id === orgId);
|
|
13724
|
+
return {
|
|
13697
13725
|
id: treasuryResult.value.id,
|
|
13698
13726
|
address: org?.safeAddress ?? null,
|
|
13699
13727
|
balance: treasuryResult.value.balance,
|
|
13700
13728
|
available: treasuryResult.value.available
|
|
13701
|
-
}
|
|
13702
|
-
};
|
|
13729
|
+
};
|
|
13730
|
+
}), observationOnlyControls(controls), CAPXUL_OPERATIONS.org.account.get, deps.runPromise);
|
|
13703
13731
|
} },
|
|
13704
13732
|
members(_options) {
|
|
13705
13733
|
if (_options?.signal?.aborted) return Promise.resolve({
|
|
@@ -13716,11 +13744,15 @@ function makeOrgMethods(deps) {
|
|
|
13716
13744
|
return toCapxulResult(listRolesProgram(orgId), layer);
|
|
13717
13745
|
},
|
|
13718
13746
|
invite(_input, _options) {
|
|
13719
|
-
|
|
13747
|
+
const controls = deps.invocationControls?.(_options) ?? _options;
|
|
13748
|
+
if (controls?.signal?.aborted) return Promise.resolve({
|
|
13720
13749
|
ok: false,
|
|
13721
13750
|
error: Errors.cancelled({ operation: CAPXUL_OPERATIONS.org.invite })
|
|
13722
13751
|
});
|
|
13723
|
-
return
|
|
13752
|
+
return runCapxulEffect(inviteMemberProgram(orgId, _input).pipe(Effect.provide(orgDepsLayer({
|
|
13753
|
+
...orgDeps,
|
|
13754
|
+
...controls === void 0 ? {} : { invocationSource: controls }
|
|
13755
|
+
}))), controls, CAPXUL_OPERATIONS.org.invite, deps.runPromise);
|
|
13724
13756
|
},
|
|
13725
13757
|
auditLog(_options) {
|
|
13726
13758
|
if (_options?.signal?.aborted) return Promise.resolve({
|
|
@@ -284,7 +284,7 @@ interface TelemetryPort {
|
|
|
284
284
|
}
|
|
285
285
|
//#endregion
|
|
286
286
|
//#region ../observability/src/index.d.ts
|
|
287
|
-
declare const TELEMETRY_EVENT_NAMES: readonly ["auth_otp_requested", "auth_otp_delivered", "auth_otp_expired", "auth_verified", "auth_failed", "identity_refused", "auth_signed_out", "onboarding_intent_selected", "onboarding_profile_submitted", "onboarding_organization_submitted", "onboarding_dashboard_reached", "provisioning_safe_created", "provisioning_safe_confirmed", "bootstrap_resolved", "bootstrap_failed", "member_activation_started", "member_activation_ready", "member_activation_failed", "organization_creation_started", "organization_creation_ready", "organization_creation_failed", "chain_upstream_fallback", "bundler_error", "receipt_pending", "operation_retried", "account_balance_read", "account_balance_failed", "faucet_requested", "faucet_confirmed", "faucet_failed", "org_create_started", "org_safe_created", "org_safe_confirmed", "org_roles_seeded", "org_created", "org_create_failed", "org_invite_sent", "org_invite_accepted", "org_invite_expired", "payment_initiated", "payment_settled", "payment_failed", "payment_verification_retry", "payment_lifecycle_transition", "quick_pay_external_address_acknowledged", "deposit_initiated", "deposit_settled", "permission_mirror_verification", "movement_scan_window", "movement_scan_checkpoint", "movement_scan_incident", "activity_annotation_saved", "ui_activity_action_completed", "contact_relationship_changed", "ui_contact_action_completed", "access_recovery_completed", "ui_access_step_completed", "org_invite_progressed", "invoice_issued", "invoice_request_transitioned", "ui_invoice_step_completed", "ui_treasury_step_completed", "ui_receive_step_completed", "payroll_group_changed", "payroll_run_transitioned", "ui_payroll_action_completed"];
|
|
287
|
+
declare const TELEMETRY_EVENT_NAMES: readonly ["auth_otp_requested", "auth_otp_delivered", "auth_otp_expired", "auth_verified", "auth_failed", "identity_refused", "auth_signed_out", "onboarding_intent_selected", "onboarding_profile_submitted", "onboarding_organization_submitted", "onboarding_dashboard_reached", "provisioning_safe_created", "provisioning_safe_confirmed", "bootstrap_resolved", "bootstrap_failed", "member_activation_started", "member_activation_ready", "member_activation_failed", "organization_creation_started", "organization_creation_ready", "organization_creation_failed", "chain_upstream_fallback", "bundler_error", "receipt_pending", "operation_retried", "account_balance_read", "account_balance_failed", "faucet_requested", "faucet_confirmed", "faucet_failed", "org_create_started", "org_safe_created", "org_safe_confirmed", "org_roles_seeded", "org_created", "org_create_failed", "org_invite_sent", "org_invite_accepted", "org_invite_expired", "payment_initiated", "payment_settled", "payment_failed", "payment_verification_retry", "payment_lifecycle_transition", "quick_pay_external_address_acknowledged", "deposit_initiated", "deposit_settled", "permission_mirror_verification", "movement_scan_window", "movement_scan_checkpoint", "movement_scan_incident", "indexer_drift_corrected", "activity_annotation_saved", "ui_activity_action_completed", "contact_relationship_changed", "ui_contact_action_completed", "access_recovery_completed", "ui_access_step_completed", "org_invite_progressed", "invoice_issued", "invoice_request_transitioned", "ui_invoice_step_completed", "ui_treasury_step_completed", "ui_receive_step_completed", "payroll_group_changed", "payroll_run_transitioned", "ui_payroll_action_completed"];
|
|
288
288
|
type TelemetryEventName = (typeof TELEMETRY_EVENT_NAMES)[number];
|
|
289
289
|
type TelemetryProps = Record<string, unknown>;
|
|
290
290
|
type TelemetryEvent = {
|
|
@@ -1337,9 +1337,8 @@ interface MeMethods {
|
|
|
1337
1337
|
get(options?: {
|
|
1338
1338
|
readonly signal?: AbortSignal;
|
|
1339
1339
|
}): Promise<CapxulResult<MeProfile>>;
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
}): Promise<CapxulResult<DepositInstructions>>;
|
|
1340
|
+
/** R08 (#1966): accepts a captured attempt, exactly as the treasury read does. */
|
|
1341
|
+
depositInstructions(options?: InvocationControls): Promise<CapxulResult<DepositInstructions>>;
|
|
1343
1342
|
}
|
|
1344
1343
|
interface PaymentMoney {
|
|
1345
1344
|
readonly currency: string;
|
|
@@ -1887,19 +1886,17 @@ interface ActorRequestIssueInput {
|
|
|
1887
1886
|
readonly memo?: string;
|
|
1888
1887
|
readonly expiresAt?: number;
|
|
1889
1888
|
}
|
|
1889
|
+
/**
|
|
1890
|
+
* The issuer's own requests. The options are the address book's
|
|
1891
|
+
* `InvocationControls` (R07 #1965), so a caller that captured one browser
|
|
1892
|
+
* attempt hands it to the operation that attempt started; `{ signal }` callers
|
|
1893
|
+
* are unaffected.
|
|
1894
|
+
*/
|
|
1890
1895
|
interface ActorRequestsMethods {
|
|
1891
|
-
issue(input: ActorRequestIssueInput, options?:
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
readonly signal?: AbortSignal;
|
|
1896
|
-
}): Promise<CapxulResult<readonly ActorRequest[]>>;
|
|
1897
|
-
get(requestId: string, options?: {
|
|
1898
|
-
readonly signal?: AbortSignal;
|
|
1899
|
-
}): Promise<CapxulResult<ActorRequest | null>>;
|
|
1900
|
-
cancel(requestId: string, options?: {
|
|
1901
|
-
readonly signal?: AbortSignal;
|
|
1902
|
-
}): Promise<CapxulResult<ActorRequest>>;
|
|
1896
|
+
issue(input: ActorRequestIssueInput, options?: InvocationControls): Promise<CapxulResult<ActorRequest>>;
|
|
1897
|
+
list(options?: InvocationControls): Promise<CapxulResult<readonly ActorRequest[]>>;
|
|
1898
|
+
get(requestId: string, options?: InvocationControls): Promise<CapxulResult<ActorRequest | null>>;
|
|
1899
|
+
cancel(requestId: string, options?: InvocationControls): Promise<CapxulResult<ActorRequest>>;
|
|
1903
1900
|
}
|
|
1904
1901
|
interface InboxItem {
|
|
1905
1902
|
readonly id: string;
|
|
@@ -1913,24 +1910,18 @@ interface InboxApproveInput {
|
|
|
1913
1910
|
readonly timing?: PaymentTiming;
|
|
1914
1911
|
readonly permissionId?: string;
|
|
1915
1912
|
}
|
|
1913
|
+
/** The payer's own inbox. Its scope is the payer's, never the issuer's. */
|
|
1916
1914
|
interface InboxMethods {
|
|
1917
|
-
list(options?:
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
approve(input: InboxApproveInput, options?: {
|
|
1921
|
-
readonly signal?: AbortSignal;
|
|
1922
|
-
}): Promise<CapxulResult<Payment>>;
|
|
1923
|
-
decline(requestId: string, options?: {
|
|
1924
|
-
readonly signal?: AbortSignal;
|
|
1925
|
-
}): Promise<CapxulResult<InboxItem>>;
|
|
1915
|
+
list(options?: InvocationControls): Promise<CapxulResult<readonly InboxItem[]>>;
|
|
1916
|
+
approve(input: InboxApproveInput, options?: InvocationControls): Promise<CapxulResult<Payment>>;
|
|
1917
|
+
decline(requestId: string, options?: InvocationControls): Promise<CapxulResult<InboxItem>>;
|
|
1926
1918
|
}
|
|
1927
1919
|
interface ActorProfileMethods {
|
|
1928
1920
|
get(options?: {
|
|
1929
1921
|
readonly signal?: AbortSignal;
|
|
1930
1922
|
}): Promise<CapxulResult<ActorProfile>>;
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
}): Promise<CapxulResult<DepositInstructions>>;
|
|
1923
|
+
/** R08 (#1966): accepts a captured attempt, exactly as the treasury read does. */
|
|
1924
|
+
depositInstructions(options?: InvocationControls): Promise<CapxulResult<DepositInstructions>>;
|
|
1934
1925
|
}
|
|
1935
1926
|
interface ActorRelationshipMethods {
|
|
1936
1927
|
readonly addressBook: AddressBookMethods;
|
|
@@ -2091,6 +2082,12 @@ type ListOrgRolesInput = {
|
|
|
2091
2082
|
type ListOrgMembersInput = {
|
|
2092
2083
|
readonly orgId: OrgId;
|
|
2093
2084
|
};
|
|
2085
|
+
/**
|
|
2086
|
+
* R06 (#1964): the program attaches the caller's captured attempt to this
|
|
2087
|
+
* record through `copyInvocationObservation`, so the adapter forwards one
|
|
2088
|
+
* observation context to the backend action that owns `org_invite_sent`. The
|
|
2089
|
+
* carrier is a non-enumerable symbol and never becomes a wire field.
|
|
2090
|
+
*/
|
|
2094
2091
|
type InviteOrgMemberInput = {
|
|
2095
2092
|
readonly orgId: OrgId;
|
|
2096
2093
|
readonly input: InviteMemberInput;
|
|
@@ -2510,14 +2507,15 @@ interface OrgScopedMethods extends ActorRelationshipMethods {
|
|
|
2510
2507
|
retrySetup(options?: {
|
|
2511
2508
|
readonly signal?: AbortSignal;
|
|
2512
2509
|
}): Promise<CapxulResult<OrgLifecycle>>;
|
|
2513
|
-
/**
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2510
|
+
/**
|
|
2511
|
+
* The Organization treasury Account. R08 (#1966): the declared option type is
|
|
2512
|
+
* the `InvocationControls` this surface already forwards, so a screen that
|
|
2513
|
+
* captured one user attempt can hand the same `correlation_id`/`journey_id`
|
|
2514
|
+
* to the read it starts. `{ signal }` callers are unaffected.
|
|
2515
|
+
*/
|
|
2516
|
+
treasury(options?: InvocationControls): Promise<CapxulResult<Account$1>>;
|
|
2517
2517
|
readonly account: {
|
|
2518
|
-
get(options?:
|
|
2519
|
-
readonly signal?: AbortSignal;
|
|
2520
|
-
}): Promise<CapxulResult<OrganizationAccount>>;
|
|
2518
|
+
get(options?: InvocationControls): Promise<CapxulResult<OrganizationAccount>>;
|
|
2521
2519
|
};
|
|
2522
2520
|
members(options?: {
|
|
2523
2521
|
readonly signal?: AbortSignal;
|
|
@@ -2525,9 +2523,14 @@ interface OrgScopedMethods extends ActorRelationshipMethods {
|
|
|
2525
2523
|
roles(options?: {
|
|
2526
2524
|
readonly signal?: AbortSignal;
|
|
2527
2525
|
}): Promise<CapxulResult<readonly RoleView[]>>;
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2526
|
+
/**
|
|
2527
|
+
* Invite a member by email. `options` is the browser attempt the caller
|
|
2528
|
+
* captured before the person pressed the button (R06 #1964); it reaches the
|
|
2529
|
+
* backend action unchanged, so the durable `org_invite_sent` and the later
|
|
2530
|
+
* `org_invite_progressed` share the attempt's correlation. `{ signal }`
|
|
2531
|
+
* callers are unaffected.
|
|
2532
|
+
*/
|
|
2533
|
+
invite(input: InviteMemberInput, options?: InvocationControls): Promise<CapxulResult<MemberView>>;
|
|
2531
2534
|
/**
|
|
2532
2535
|
* Leak-safe Organization payment: execute through the payments engine with
|
|
2533
2536
|
* the selected receipt-verified Budget Permission
|
package/dist/testing/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h as CapxulResult } from "../OAuthBearerAuthClient-C-ip-z8M.mjs";
|
|
2
|
-
import { er as TelemetryEvent, f as CapxulClient, i as ObservationAdapter, n as ProductionSignerControls, nr as TelemetryIdentifyInput, pr as IdentityTransition, t as CapxulClientInput, tr as TelemetryGroupInput } from "../production-
|
|
2
|
+
import { er as TelemetryEvent, f as CapxulClient, i as ObservationAdapter, n as ProductionSignerControls, nr as TelemetryIdentifyInput, pr as IdentityTransition, t as CapxulClientInput, tr as TelemetryGroupInput } from "../production-CJ42VSls.mjs";
|
|
3
3
|
import { Effect, Layer } from "effect";
|
|
4
4
|
//#region src/testing/production-client.d.ts
|
|
5
5
|
/** Create the one production client with per-client controls at its signing boundaries. */
|
package/dist/testing/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { D as fromWei, P as redactTelemetryEvent, a as smartAccountErrorFromCapxul, c as identityErrorFromCapxul, i as assembleCapxulClient, l as convexCallErrorFromCapxul, n as createCapxulClientWithSignerControls, o as accountReadErrorFromCapxul, s as wireChainId, u as bootstrapErrorFromCapxul, v as toWei } from "../production-
|
|
1
|
+
import { D as fromWei, P as redactTelemetryEvent, a as smartAccountErrorFromCapxul, c as identityErrorFromCapxul, i as assembleCapxulClient, l as convexCallErrorFromCapxul, n as createCapxulClientWithSignerControls, o as accountReadErrorFromCapxul, s as wireChainId, u as bootstrapErrorFromCapxul, v as toWei } from "../production-Bw1sledP.mjs";
|
|
2
2
|
import { G as toHandle, H as toEmail, I as toAuthUserId, K as toJwtToken, M as toAddress, N as toAllowedOrigin, P as toAppId, Q as toPublishableKey, R as toChainId, U as toEpochMs, V as toDurationMs, W as toEpochSeconds, ct as CapxulError, d as authClientPortFromPromiseAdapter, et as toSessionToken, it as validateHandle, j as toAccountId, n as readClockNow, q as toKycTier, r as InMemoryAuthCacheAdapter, ut as Errors, y as deriveCapxulSafeAddress, z as toCountryCode } from "../OAuthBearerAuthClient-CbU_W9Sp.mjs";
|
|
3
3
|
import { keccak256 } from "viem";
|
|
4
4
|
import { Effect, Result, Semaphore } from "effect";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@capxul/sdk",
|
|
3
|
-
"version": "4.2.0-rc.
|
|
3
|
+
"version": "4.2.0-rc.15",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/Xelmar-tech/infrastructure.git",
|
|
@@ -47,12 +47,12 @@
|
|
|
47
47
|
"vite": "npm:@voidzero-dev/vite-plus-core@0.3.0",
|
|
48
48
|
"vite-plus": "0.3.0",
|
|
49
49
|
"vitest": "4.1.11",
|
|
50
|
-
"@capxul/config": "0.3.0",
|
|
51
50
|
"@capxul/errors": "0.3.0",
|
|
52
|
-
"@capxul/
|
|
53
|
-
"@capxul/observability": "4.2.0-rc.
|
|
51
|
+
"@capxul/config": "0.3.0",
|
|
52
|
+
"@capxul/observability": "4.2.0-rc.15",
|
|
53
|
+
"@capxul/wire": "0.7.0",
|
|
54
54
|
"@capxul/typescript-config": "0.0.0",
|
|
55
|
-
"@capxul/
|
|
55
|
+
"@capxul/types": "0.3.0"
|
|
56
56
|
},
|
|
57
57
|
"_permissionlessPinReason": "permissionless.toSafeSmartAccount is pinned to 0.3.4 for live Safe deployment E2E. Counterfactual address fixtures captured 2026-05-17 in packages/backend/convex/_shared/__tests__/counterfactual.test.ts and packages/config/tests/safe.test.ts must be re-verified before upgrading.",
|
|
58
58
|
"scripts": {
|