@capxul/sdk 2.3.2 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -0
- package/dist/{InMemoryAuthCacheAdapter-qMpBOGb3.mjs → InMemoryAuthCacheAdapter-D5Cv0yz0.mjs} +7 -1
- package/dist/{create-capxul-client-DgvnboPR.mjs → create-capxul-client-Btl4qyNC.mjs} +1623 -1245
- package/dist/index.d.mts +39 -4
- package/dist/index.mjs +94 -10
- package/dist/node/index.d.mts +1 -1
- package/dist/node/index.mjs +1 -1
- package/dist/{observation-CLhrvkF6.d.mts → observation-CyNjyQxv.d.mts} +233 -31
- package/dist/{signer-BejoR3bA.d.mts → signer-CRzTIrau.d.mts} +3 -2
- package/dist/testing/index.d.mts +1 -1
- package/dist/testing/index.mjs +2 -2
- package/package.json +6 -6
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as BlockNumber, B as
|
|
1
|
+
import { $ as WeiAmount, A as BlockNumber, B as OrgId, C as Address$1, D as AppId, E as AnonymousDistinctId, F as DocumentHash, G as PermissionAssignmentId, H as PaymentCommandId, I as DurationMs, J as PublishableKey, K as PermissionId, L as Email, M as ChainId, N as CountryCode, O as AuthSession, P as CurrencyCode, Q as TxHash, R as EpochMs, T as AllowedOrigin, U as PayrollGroupId, V as PartyId, W as PayrollRunId, X as SessionToken, Y as RoleKey, Z as SmartAccount, a as SignerStatusStore, at as CapxulErrorDetails, b as CachedJwt, c as AccountProviderSource, ct as FailureMode, g as SmartAccount$1, h as Session$1, it as CapxulErrorCode, j as BudgetId, k as AuthUserId, l as AccountRequirement, m as Profile$1, n as CapxulSigner, p as CapxulResult, q as Profile, rt as CapxulError, st as Failure, v as AuthCachePort, w as AllowanceKey, x as Account$1, z as Money } from "./signer-CRzTIrau.mjs";
|
|
2
2
|
import { Address, Hex } from "viem";
|
|
3
3
|
import { Context, Effect, Layer, Schema, Scope, Tracer } from "effect";
|
|
4
4
|
import { FunctionReference } from "convex/server";
|
|
@@ -359,7 +359,7 @@ type TelemetryEvent = {
|
|
|
359
359
|
* a present `unknown` is loud), and sync v2 never synthesizes an artifact for
|
|
360
360
|
* it.
|
|
361
361
|
*/
|
|
362
|
-
declare const CAPXUL_ENVS: readonly ["development", "staging", "production", "unknown"];
|
|
362
|
+
declare const CAPXUL_ENVS: readonly ["development", "staging", "production", "unknown", "local"];
|
|
363
363
|
type CapxulEnv = (typeof CAPXUL_ENVS)[number];
|
|
364
364
|
interface TelemetryIdentifyInput {
|
|
365
365
|
readonly distinctId: string;
|
|
@@ -377,7 +377,7 @@ interface TelemetryGroupInput {
|
|
|
377
377
|
declare const EngineeringTelemetryBootstrapPolicy: Schema.Struct<{
|
|
378
378
|
readonly host: Schema.refine<string, Schema.String>;
|
|
379
379
|
readonly projectToken: Schema.refine<string, Schema.String>;
|
|
380
|
-
readonly capxulEnv: Schema.Union<readonly [Schema.Literal<"development">, Schema.Literal<"staging">, Schema.Literal<"production">]>;
|
|
380
|
+
readonly capxulEnv: Schema.Union<readonly [Schema.Literal<"development">, Schema.Literal<"staging">, Schema.Literal<"production">, Schema.Literal<"local">]>;
|
|
381
381
|
}>;
|
|
382
382
|
type EngineeringTelemetryBootstrapPolicyV1 = Schema.Schema.Type<typeof EngineeringTelemetryBootstrapPolicy>;
|
|
383
383
|
//#endregion
|
|
@@ -498,28 +498,14 @@ type AttachablePaymentDocumentEnvelopeV1 = Schema.Schema.Type<typeof AttachableP
|
|
|
498
498
|
type LineItemV1 = Schema.Schema.Type<typeof LineItem>;
|
|
499
499
|
//#endregion
|
|
500
500
|
//#region ../wire/src/money.d.ts
|
|
501
|
-
declare const
|
|
502
|
-
readonly
|
|
503
|
-
readonly
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
}>]>;
|
|
510
|
-
readonly counterpartyLabel: Schema.optional<Schema.String>;
|
|
511
|
-
readonly accountingCategory: Schema.optional<Schema.String>;
|
|
512
|
-
readonly memo: Schema.optional<Schema.String>;
|
|
513
|
-
readonly lastEditor: Schema.Union<readonly [Schema.Struct<{
|
|
514
|
-
readonly kind: Schema.Literal<"account">;
|
|
515
|
-
readonly accountId: Schema.refine<string, Schema.String>;
|
|
516
|
-
}>, Schema.Struct<{
|
|
517
|
-
readonly kind: Schema.Literal<"organization">;
|
|
518
|
-
readonly orgId: Schema.refine<string, Schema.String>;
|
|
519
|
-
}>]>;
|
|
520
|
-
readonly updatedAt: Schema.refine<number, Schema.Number>;
|
|
521
|
-
}>;
|
|
522
|
-
type MovementAnnotation = Schema.Schema.Type<typeof MovementAnnotationSchema>;
|
|
501
|
+
declare const ActorRefSchema: Schema.Union<readonly [Schema.Struct<{
|
|
502
|
+
readonly kind: Schema.Literal<"account">;
|
|
503
|
+
readonly accountId: Schema.refine<string, Schema.String>;
|
|
504
|
+
}>, Schema.Struct<{
|
|
505
|
+
readonly kind: Schema.Literal<"organization">;
|
|
506
|
+
readonly orgId: Schema.refine<string, Schema.String>;
|
|
507
|
+
}>]>;
|
|
508
|
+
type ActorRef = Schema.Schema.Type<typeof ActorRefSchema>;
|
|
523
509
|
declare const PermissionSchema: Schema.Struct<{
|
|
524
510
|
readonly permissionId: Schema.Codec<PermissionId, string, never, never>;
|
|
525
511
|
readonly orgId: Schema.refine<string, Schema.String>;
|
|
@@ -628,6 +614,8 @@ declare const SubmittedPermissionExecutionSchema: Schema.Struct<{
|
|
|
628
614
|
}>>]>;
|
|
629
615
|
}>;
|
|
630
616
|
type SubmittedPermissionExecution = Schema.Schema.Type<typeof SubmittedPermissionExecutionSchema>;
|
|
617
|
+
declare const PayrollRunStatusSchema: Schema.Literals<readonly ["draft", "authorized", "settled"]>;
|
|
618
|
+
type PayrollRunStatus$1 = Schema.Schema.Type<typeof PayrollRunStatusSchema>;
|
|
631
619
|
//#endregion
|
|
632
620
|
//#region ../wire/src/observation-context.d.ts
|
|
633
621
|
/**
|
|
@@ -1402,10 +1390,26 @@ interface DestinationsMethods {
|
|
|
1402
1390
|
readonly id: string;
|
|
1403
1391
|
}>>;
|
|
1404
1392
|
}
|
|
1393
|
+
/** The one name for what an activity row IS. */
|
|
1394
|
+
type ActivityKind = "payment" | "movement";
|
|
1395
|
+
/** `createdAt` bounds in epoch milliseconds. Both ends are inclusive. */
|
|
1396
|
+
interface ActivityRange {
|
|
1397
|
+
readonly from?: number;
|
|
1398
|
+
readonly to?: number;
|
|
1399
|
+
}
|
|
1400
|
+
interface ActivityFilter {
|
|
1401
|
+
readonly kind?: ActivityKind;
|
|
1402
|
+
readonly direction?: PaymentDirection;
|
|
1403
|
+
/** Payment rows only. A status filter therefore excludes Movements, which have none. */
|
|
1404
|
+
readonly status?: readonly PaymentStatus[];
|
|
1405
|
+
}
|
|
1405
1406
|
interface ActivityListParams {
|
|
1406
1407
|
readonly actor?: ActorReference;
|
|
1407
1408
|
readonly cursor?: string;
|
|
1409
|
+
/** 1..100, default 25. The backend rejects anything outside that band. */
|
|
1408
1410
|
readonly limit?: number;
|
|
1411
|
+
readonly range?: ActivityRange;
|
|
1412
|
+
readonly filter?: ActivityFilter;
|
|
1409
1413
|
}
|
|
1410
1414
|
type ActivityReference = {
|
|
1411
1415
|
readonly kind: "payment";
|
|
@@ -1419,7 +1423,8 @@ type ActivityItem = {
|
|
|
1419
1423
|
readonly kind: "payment";
|
|
1420
1424
|
readonly id: string;
|
|
1421
1425
|
readonly ledgerKind: "Payment" | "Payout" | "Deposit";
|
|
1422
|
-
readonly status: PaymentStatus;
|
|
1426
|
+
readonly status: PaymentStatus; /** What the payment is FOR. On the list row so a title needs no second read. */
|
|
1427
|
+
readonly paymentType: PaymentType;
|
|
1423
1428
|
readonly amount: PaymentMoney;
|
|
1424
1429
|
readonly direction: PaymentDirection;
|
|
1425
1430
|
readonly counterpartyLabel: string;
|
|
@@ -1433,6 +1438,13 @@ type ActivityItem = {
|
|
|
1433
1438
|
readonly kind: "movement";
|
|
1434
1439
|
readonly id: string;
|
|
1435
1440
|
readonly classification: "movement_only_outflow";
|
|
1441
|
+
readonly amount: PaymentMoney;
|
|
1442
|
+
readonly direction: PaymentDirection; /** Short-form counterparty address today. */
|
|
1443
|
+
readonly counterpartyLabel: string;
|
|
1444
|
+
readonly receipt: {
|
|
1445
|
+
readonly chainId: number;
|
|
1446
|
+
readonly transactionHash: string;
|
|
1447
|
+
};
|
|
1436
1448
|
readonly createdAt: number;
|
|
1437
1449
|
readonly updatedAt: number;
|
|
1438
1450
|
};
|
|
@@ -1440,6 +1452,37 @@ interface ActivityPage {
|
|
|
1440
1452
|
readonly items: readonly ActivityItem[];
|
|
1441
1453
|
readonly cursor: string | null;
|
|
1442
1454
|
readonly checkpoint: number;
|
|
1455
|
+
/** Server read time, so a consumer can say which of two reads is older. */
|
|
1456
|
+
readonly observedAt: number;
|
|
1457
|
+
}
|
|
1458
|
+
interface ActivitySummaryParams {
|
|
1459
|
+
readonly actor?: ActorReference;
|
|
1460
|
+
readonly window?: ActivityRange;
|
|
1461
|
+
}
|
|
1462
|
+
interface ActivitySummaryTotal {
|
|
1463
|
+
readonly currency: string;
|
|
1464
|
+
readonly decimals: number;
|
|
1465
|
+
/** Integer raw-unit strings. `net` is `in - out` and may be negative. */
|
|
1466
|
+
readonly in: string;
|
|
1467
|
+
readonly out: string;
|
|
1468
|
+
readonly net: string;
|
|
1469
|
+
/** The `in` share that is not yet terminal. */
|
|
1470
|
+
readonly pendingIn: string;
|
|
1471
|
+
}
|
|
1472
|
+
interface ActivitySummary {
|
|
1473
|
+
readonly window: {
|
|
1474
|
+
readonly from: number | null;
|
|
1475
|
+
readonly to: number | null;
|
|
1476
|
+
};
|
|
1477
|
+
/** One bucket per currency, and EMPTY when the window holds no activity. */
|
|
1478
|
+
readonly totals: readonly ActivitySummaryTotal[];
|
|
1479
|
+
/**
|
|
1480
|
+
* Every activity row in the window, whatever its direction or status. It
|
|
1481
|
+
* therefore counts rows that move no money into the totals — a payment the
|
|
1482
|
+
* actor sent to itself, and a cancelled one.
|
|
1483
|
+
*/
|
|
1484
|
+
readonly count: number;
|
|
1485
|
+
readonly observedAt: number;
|
|
1443
1486
|
}
|
|
1444
1487
|
interface PaymentActivityEvidence {
|
|
1445
1488
|
readonly chainId: 84532;
|
|
@@ -1478,19 +1521,35 @@ interface MovementActivityEvidence {
|
|
|
1478
1521
|
readonly depositPaymentId: string | null;
|
|
1479
1522
|
};
|
|
1480
1523
|
}
|
|
1524
|
+
/**
|
|
1525
|
+
* The overlay one actor keeps over one activity row. `actor` and `lastEditor`
|
|
1526
|
+
* are the backend's own `ActorRef`, the same shape `MovementAnnotation` carried
|
|
1527
|
+
* before the overlay generalized past Movements.
|
|
1528
|
+
*/
|
|
1529
|
+
interface ActivityAnnotation {
|
|
1530
|
+
readonly reference: ActivityReference;
|
|
1531
|
+
readonly actor: ActorRef;
|
|
1532
|
+
readonly counterpartyLabel?: string;
|
|
1533
|
+
readonly accountingCategory?: string;
|
|
1534
|
+
readonly memo?: string;
|
|
1535
|
+
readonly lastEditor: ActorRef;
|
|
1536
|
+
readonly updatedAt: number;
|
|
1537
|
+
}
|
|
1481
1538
|
type ActivityDetail = {
|
|
1482
1539
|
readonly kind: "payment";
|
|
1483
1540
|
readonly payment: Payment;
|
|
1484
|
-
readonly
|
|
1541
|
+
readonly annotation: ActivityAnnotation | null;
|
|
1542
|
+
readonly evidence: PaymentActivityEvidence | null;
|
|
1485
1543
|
} | {
|
|
1486
1544
|
readonly kind: "movement";
|
|
1487
1545
|
readonly movementId: string;
|
|
1488
|
-
readonly annotation:
|
|
1546
|
+
readonly annotation: ActivityAnnotation | null;
|
|
1489
1547
|
readonly evidence: MovementActivityEvidence;
|
|
1490
1548
|
};
|
|
1491
1549
|
interface ActivityAnnotationInput {
|
|
1492
1550
|
readonly actor?: ActorReference;
|
|
1493
|
-
|
|
1551
|
+
/** Any activity row, not only a Movement. */
|
|
1552
|
+
readonly reference: ActivityReference;
|
|
1494
1553
|
readonly counterpartyLabel?: string;
|
|
1495
1554
|
readonly accountingCategory?: string;
|
|
1496
1555
|
readonly memo?: string;
|
|
@@ -1499,12 +1558,16 @@ interface ActivityMethods {
|
|
|
1499
1558
|
list(params?: ActivityListParams, options?: {
|
|
1500
1559
|
readonly signal?: AbortSignal;
|
|
1501
1560
|
}): Promise<CapxulResult<ActivityPage>>;
|
|
1561
|
+
summary(params?: ActivitySummaryParams, options?: {
|
|
1562
|
+
readonly signal?: AbortSignal;
|
|
1563
|
+
}): Promise<CapxulResult<ActivitySummary>>;
|
|
1502
1564
|
get(reference: ActivityReference, options?: {
|
|
1503
1565
|
readonly signal?: AbortSignal;
|
|
1566
|
+
readonly actor?: ActorReference;
|
|
1504
1567
|
}): Promise<CapxulResult<ActivityDetail | null>>;
|
|
1505
1568
|
annotate(input: ActivityAnnotationInput, options?: {
|
|
1506
1569
|
readonly signal?: AbortSignal;
|
|
1507
|
-
}): Promise<CapxulResult<
|
|
1570
|
+
}): Promise<CapxulResult<ActivityAnnotation>>;
|
|
1508
1571
|
}
|
|
1509
1572
|
interface OfframpQuoteInput {
|
|
1510
1573
|
readonly actor?: ActorReference;
|
|
@@ -2004,6 +2067,114 @@ interface OrganizationPaymentsMethods {
|
|
|
2004
2067
|
}): Promise<CapxulResult<readonly Payment[]>>;
|
|
2005
2068
|
}
|
|
2006
2069
|
//#endregion
|
|
2070
|
+
//#region src/surface/payroll.d.ts
|
|
2071
|
+
/** ADR-0022 R9: where the run stands on the shipped command lifecycle. */
|
|
2072
|
+
type PayrollRunStatus = PayrollRunStatus$1;
|
|
2073
|
+
/** One authorized payroll run. `total` is the sum of its items' nets. */
|
|
2074
|
+
interface PayrollRun {
|
|
2075
|
+
readonly id: PayrollRunId;
|
|
2076
|
+
readonly status: PayrollRunStatus;
|
|
2077
|
+
/** Epoch milliseconds. An instant run has `periodStart === periodEnd`. */
|
|
2078
|
+
readonly periodStart: number;
|
|
2079
|
+
readonly periodEnd: number;
|
|
2080
|
+
readonly total: Money;
|
|
2081
|
+
readonly recipientCount: number;
|
|
2082
|
+
}
|
|
2083
|
+
/**
|
|
2084
|
+
* An organization's runs, newest first, with the month total beside them.
|
|
2085
|
+
*
|
|
2086
|
+
* The aggregate travels WITH the list because the backend computes it over
|
|
2087
|
+
* every settled run in the calendar month while the list is one page. A
|
|
2088
|
+
* consumer that summed `runs` would under-report an employer past the page.
|
|
2089
|
+
*/
|
|
2090
|
+
interface PayrollRuns {
|
|
2091
|
+
readonly runs: readonly PayrollRun[];
|
|
2092
|
+
/** Σ net of the runs that SETTLED this calendar month — the "Paid This Month" fact. */
|
|
2093
|
+
readonly settledThisMonth: Money;
|
|
2094
|
+
}
|
|
2095
|
+
/**
|
|
2096
|
+
* One saved recipient on a group. `amount` is the employer's TYPED text, not
|
|
2097
|
+
* minor units: a group is a draft the run composer prefills, and the run
|
|
2098
|
+
* engine is the one place that parses an amount into money.
|
|
2099
|
+
*/
|
|
2100
|
+
interface PayrollGroupMember {
|
|
2101
|
+
/** The recipient's `PartyId` — the stable id (ADR-0022 R1), never an email. */
|
|
2102
|
+
readonly partyId: string;
|
|
2103
|
+
readonly amount: string;
|
|
2104
|
+
readonly currency: CurrencyCode;
|
|
2105
|
+
}
|
|
2106
|
+
/** A saved roster the employer pays again. Server-held, so every member sees it. */
|
|
2107
|
+
interface PayrollGroup {
|
|
2108
|
+
readonly id: PayrollGroupId;
|
|
2109
|
+
readonly name: string;
|
|
2110
|
+
/** A stored display preference; the consumer narrows it to its own union. */
|
|
2111
|
+
readonly tone: string;
|
|
2112
|
+
readonly members: readonly PayrollGroupMember[];
|
|
2113
|
+
}
|
|
2114
|
+
/** `id` absent creates a group; `id` present replaces that group in place. */
|
|
2115
|
+
interface PayrollGroupInput {
|
|
2116
|
+
readonly id?: PayrollGroupId;
|
|
2117
|
+
readonly name: string;
|
|
2118
|
+
readonly tone: string;
|
|
2119
|
+
readonly members: readonly PayrollGroupMember[];
|
|
2120
|
+
}
|
|
2121
|
+
/**
|
|
2122
|
+
* One person on one run. `net` is what they are paid; `gross` plus every
|
|
2123
|
+
* adjustment must equal it (ADR-0022 R8) and the backend refuses a run where
|
|
2124
|
+
* it does not. Both are minor-unit strings; an adjustment is signed.
|
|
2125
|
+
*/
|
|
2126
|
+
interface PayrollRunItemInput {
|
|
2127
|
+
/**
|
|
2128
|
+
* The recipient. An email `Ref` or a party `Ref` in v1 — the backend refuses
|
|
2129
|
+
* any other kind, because the recipient is what the party is DERIVED from.
|
|
2130
|
+
*/
|
|
2131
|
+
readonly to: Ref$1;
|
|
2132
|
+
/**
|
|
2133
|
+
* The caller's ASSERTION of the party `to` resolves to, never the authority
|
|
2134
|
+
* for it. The backend resolves `to` — an email through the invite path's
|
|
2135
|
+
* person-party ensure, a party `Ref` through the same recipient resolution
|
|
2136
|
+
* the batch runs — and refuses the run when this id is not that party, so
|
|
2137
|
+
* the money, the `employed` edge and the payslip's employee can never name
|
|
2138
|
+
* three different people.
|
|
2139
|
+
*/
|
|
2140
|
+
readonly partyId: string;
|
|
2141
|
+
readonly gross: string;
|
|
2142
|
+
readonly net: string;
|
|
2143
|
+
readonly adjustments: readonly {
|
|
2144
|
+
readonly label: string;
|
|
2145
|
+
readonly amount: string;
|
|
2146
|
+
}[];
|
|
2147
|
+
}
|
|
2148
|
+
interface AuthorizeRunInput {
|
|
2149
|
+
/** The Budget the run spends from. The caller selects it; nothing is picked for them. */
|
|
2150
|
+
readonly permissionId: string;
|
|
2151
|
+
/** Epoch milliseconds. An instant run passes `start === end` — the payslip renders the date. */
|
|
2152
|
+
readonly period: {
|
|
2153
|
+
readonly start: number;
|
|
2154
|
+
readonly end: number;
|
|
2155
|
+
};
|
|
2156
|
+
readonly items: readonly PayrollRunItemInput[];
|
|
2157
|
+
/**
|
|
2158
|
+
* Supply one to reuse a key minted elsewhere. Left absent, the shipped
|
|
2159
|
+
* fingerprint lifecycle derives it from this intent, so a retry of the same
|
|
2160
|
+
* run replays the SAME command instead of paying twice.
|
|
2161
|
+
*/
|
|
2162
|
+
readonly requestKey?: string;
|
|
2163
|
+
}
|
|
2164
|
+
type PayrollOptions = {
|
|
2165
|
+
readonly signal?: AbortSignal;
|
|
2166
|
+
};
|
|
2167
|
+
interface PayrollGroupsMethods {
|
|
2168
|
+
list(options?: PayrollOptions): Promise<CapxulResult<readonly PayrollGroup[]>>;
|
|
2169
|
+
save(input: PayrollGroupInput, options?: PayrollOptions): Promise<CapxulResult<PayrollGroup>>;
|
|
2170
|
+
remove(id: PayrollGroupId, options?: PayrollOptions): Promise<CapxulResult<void>>;
|
|
2171
|
+
}
|
|
2172
|
+
interface PayrollMethods {
|
|
2173
|
+
runs(options?: PayrollOptions): Promise<CapxulResult<PayrollRuns>>;
|
|
2174
|
+
authorizeRun(input: AuthorizeRunInput, options?: PayrollOptions): Promise<CapxulResult<PayrollRun>>;
|
|
2175
|
+
readonly groups: PayrollGroupsMethods;
|
|
2176
|
+
}
|
|
2177
|
+
//#endregion
|
|
2007
2178
|
//#region src/surface/org.d.ts
|
|
2008
2179
|
/** The membership state for one Organization member. */
|
|
2009
2180
|
type MemberStatus = "pending" | "pending_safe" | "pending_grant" | "active" | "revoked" | "expired";
|
|
@@ -2153,6 +2324,13 @@ interface OrgScopedMethods extends ActorRelationshipMethods {
|
|
|
2153
2324
|
*/
|
|
2154
2325
|
readonly permissions: PermissionMethods;
|
|
2155
2326
|
readonly payments: OrganizationPaymentsMethods;
|
|
2327
|
+
/**
|
|
2328
|
+
* Pay the team: the runs this Organization has authorized, the verb that
|
|
2329
|
+
* authorizes one, and the saved groups a run is composed from (#1452).
|
|
2330
|
+
* `authorizeRun` is a payment command like any other — same Budget gate,
|
|
2331
|
+
* same signature, same request-key idempotency.
|
|
2332
|
+
*/
|
|
2333
|
+
readonly payroll: PayrollMethods;
|
|
2156
2334
|
auditLog(options?: {
|
|
2157
2335
|
readonly signal?: AbortSignal;
|
|
2158
2336
|
}): Promise<CapxulResult<readonly OrganizationAuditLogItem[]>>;
|
|
@@ -2253,6 +2431,19 @@ interface SystemMethods {
|
|
|
2253
2431
|
}): Promise<CapxulResult<SystemHealth>>;
|
|
2254
2432
|
}
|
|
2255
2433
|
//#endregion
|
|
2434
|
+
//#region src/domain/money/primary-holding.d.ts
|
|
2435
|
+
/**
|
|
2436
|
+
* The one asset a screen shows when it can show only one. `symbol` is the
|
|
2437
|
+
* TOKEN symbol the chain reported (`"USDX"`); `available.currency` is the
|
|
2438
|
+
* consumer `CurrencyCode` that token stands for (`"USD"`). They are separate
|
|
2439
|
+
* fields because they are separate facts.
|
|
2440
|
+
*/
|
|
2441
|
+
interface Holding {
|
|
2442
|
+
readonly id: string;
|
|
2443
|
+
readonly symbol: string;
|
|
2444
|
+
readonly available: Money;
|
|
2445
|
+
}
|
|
2446
|
+
//#endregion
|
|
2256
2447
|
//#region src/surface/holdings.d.ts
|
|
2257
2448
|
interface HoldingsMethods {
|
|
2258
2449
|
current(input?: {
|
|
@@ -2260,6 +2451,17 @@ interface HoldingsMethods {
|
|
|
2260
2451
|
}, options?: {
|
|
2261
2452
|
readonly signal?: AbortSignal;
|
|
2262
2453
|
}): Promise<CapxulResult<CurrentHoldings>>;
|
|
2454
|
+
/**
|
|
2455
|
+
* The designated display asset — the payable row holding the most money, or
|
|
2456
|
+
* `null` when the snapshot carries no renderable row. Reads the same
|
|
2457
|
+
* snapshot as `current` and picks from it; an empty answer is a value, not
|
|
2458
|
+
* an error.
|
|
2459
|
+
*/
|
|
2460
|
+
primary(input?: {
|
|
2461
|
+
readonly actor?: ActorReference;
|
|
2462
|
+
}, options?: {
|
|
2463
|
+
readonly signal?: AbortSignal;
|
|
2464
|
+
}): Promise<CapxulResult<Holding | null>>;
|
|
2263
2465
|
}
|
|
2264
2466
|
//#endregion
|
|
2265
2467
|
//#region src/surface/_shared/effect-actor-bridge.d.ts
|
|
@@ -2530,4 +2732,4 @@ interface ObservationAdapter {
|
|
|
2530
2732
|
/** Stable PostHog event used for typed failures that are expected product outcomes. */
|
|
2531
2733
|
declare const CAPXUL_SDK_EXPECTED_OUTCOME_EVENT = "capxul_sdk_expected_outcome";
|
|
2532
2734
|
//#endregion
|
|
2533
|
-
export {
|
|
2735
|
+
export { PermissionChangeInput as $, Readiness as $n, MovementActivityEvidence as $t, OrgView as A, IdentityMethods as An, ActivityKind as At, PayrollGroupMember as B, PAYMENT_DIRECTIONS as Bn, DepositInstructions as Bt, DetectPendingOrgInvitationsResult as C, ResolvedTarget as Cn, InboxItem as Ct, OrgMethods as D, AccountLifecycle as Dn, ActivityDetail as Dt, MemberView as E, fingerprintPaymentIntent as En, ActivityAnnotationInput as Et, RoleSpendCap as F, ActorRef as Fn, ActivityReference as Ft, PayrollRunItemInput as G, TelemetryGroupInput as Gn, DestinationPayload as Gt, PayrollMethods as H, PaymentStatus$1 as Hn, DestinationAddInput as Ht, RoleView as I, CurrentHoldings as In, ActivitySummary as It, OrganizationPaymentBatchInput as J, CAPXUL_PAYMENTS_V2_ADDRESS as Jn, DestinationsMethods as Jt, PayrollRunStatus as K, TelemetryIdentifyInput as Kn, DestinationRail as Kt, AuthorizeRunInput as L, Permission as Ln, ActivitySummaryParams as Lt, OrganizationAuditLogItem as M, AuthMethods as Mn, ActivityMethods as Mt, ResendInviteTokenInput as N, OrgLifecycle as Nn, ActivityPage as Nt, OrgScopedMethods as O, AccountSetupStep as On, ActivityFilter as Ot, RoleDefinition as P, OrgSetupStep as Pn, ActivityRange as Pt, PermissionAssignInput as Q, OrgLane as Qn, MeProfile as Qt, PayrollGroup as R, SubmittedPermissionExecution as Rn, ActivitySummaryTotal as Rt, CreateOrgInput as S, Ref$1 as Sn, InboxApproveInput as St, MemberStatus as T, TargetsMethods as Tn, ActivityAnnotation as Tt, PayrollOptions as U, RequestStatus as Un, DestinationKind as Ut, PayrollGroupsMethods as V, PAYMENT_STATUSES as Vn, Destination as Vt, PayrollRun as W, TelemetryEvent as Wn, DestinationListInput as Wt, OrganizationPaymentItemInput as X, IdentityEvent as Xn, HandlesMethods as Xt, OrganizationPaymentInput as Y, Destination$1 as Yn, FinancialOpsMethods as Yt, OrganizationPaymentsMethods as Z, IdentityState as Zn, MeMethods as Zt, SystemMethods as _, PaymentType as _n, ActorRequestsMethods as _t, SdkFailureObservation as a, PayeesMethods as an, InvocationControls as ar, PermissionReadResult as at, CurrentUserContext as b, RecipientResolution as bn, AddressBookLabelInput as bt, PostHogObservabilityOptions as c, PaymentDirection as cn, OrgMeMethod as ct, CreateCapxulClientInput as d, PaymentDocumentRender as dn, AccountMethods as dt, OfframpMethods as en, StateLabel as er, PermissionCreateInput as et, IdentityProfileDetails as f, PaymentDocumentVerification as fn, ActorProfile as ft, Holding as g, PaymentTiming as gn, ActorRequestIssueInput as gt, HoldingsMethods as h, PaymentStatus as hn, ActorRequest as ht, ObservationDelivery as i, Payee as in, IdentityTransition as ir, PermissionRevokeInput as it, OrganizationAccount as j, SmartAccountMethods as jn, ActivityListParams as jt, OrgTemplate as k, isSettingUpLifecycle as kn, ActivityItem as kt, postHogObservability as l, PaymentDocumentKind as ln, OrgMeOptions as lt, IdentityRuntimeSendResult as m, PaymentMoney as mn, ActorRelationshipMethods as mt, ObservationAdapter as n, OfframpQuoteInput as nn, isClaimed as nr, PermissionOptions as nt, HostObservability as o, Payment as on, Budget as ot, IdentityRuntime as p, PaymentDocumentsMethods as pn, ActorProfileMethods as pt, PayrollRuns as q, TelemetryPort as qn, DestinationRemoveInput as qt, ObservationContext as r, OfframpStatus as rn, isRestoring as rr, PermissionReplaceInput as rt, PostHogObservabilityClient as s, PaymentActivityEvidence as sn, OrgMe as st, CAPXUL_SDK_EXPECTED_OUTCOME_EVENT as t, OfframpQuote as tn, destination as tr, PermissionMethods as tt, CapxulClient as u, PaymentDocumentRef as un, AccountsMethods as ut, SystemHealth as v, PaymentsMethods as vn, AddressBookAddInput as vt, InviteMemberInput as w, TargetReference as wn, InboxMethods as wt, CurrentUserMethods as x, RecipientResolutionKind as xn, AddressBookMethods as xt, MediaMethods as y, PaymentsPayInput as yn, AddressBookEntry as yt, PayrollGroupInput as z, InboxStatus as zn, ActorReference as zt };
|
|
@@ -192,11 +192,12 @@ type AuthUserId = Brand<string, "AuthUserId">;
|
|
|
192
192
|
type AnonymousDistinctId = Brand<string, "AnonymousDistinctId">;
|
|
193
193
|
type AccountId = Brand<string, "AccountId">;
|
|
194
194
|
type PartyId = Brand<string, "PartyId">;
|
|
195
|
-
type MovementId = Brand<string, "MovementId">;
|
|
196
195
|
type PermissionId = Brand<string, "PermissionId">;
|
|
197
196
|
type PermissionAssignmentId = Brand<string, "PermissionAssignmentId">;
|
|
198
197
|
type BudgetId = Brand<string, "BudgetId">;
|
|
199
198
|
type PaymentCommandId = Brand<string, "PaymentCommandId">;
|
|
199
|
+
type PayrollRunId = Brand<string, "PayrollRunId">;
|
|
200
|
+
type PayrollGroupId = Brand<string, "PayrollGroupId">;
|
|
200
201
|
type OrgId = Brand<string, "OrgId">;
|
|
201
202
|
type AppId = Brand<string, "AppId">;
|
|
202
203
|
type AllowedOrigin = Brand<string, "AllowedOrigin">;
|
|
@@ -407,4 +408,4 @@ interface Eip1193RequestProvider {
|
|
|
407
408
|
*/
|
|
408
409
|
declare function injectedWalletSigner(provider: Eip1193RequestProvider): CapxulSigner;
|
|
409
410
|
//#endregion
|
|
410
|
-
export {
|
|
411
|
+
export { WeiAmount as $, BlockNumber as A, OrgId as B, Address$1 as C, AppId as D, AnonymousDistinctId as E, DocumentHash as F, PermissionAssignmentId as G, PaymentCommandId as H, DurationMs as I, PublishableKey as J, PermissionId as K, Email as L, ChainId as M, CountryCode as N, AuthSession as O, CurrencyCode as P, TxHash as Q, EpochMs as R, AccountId as S, AllowedOrigin as T, PayrollGroupId as U, PartyId as V, PayrollRunId as W, SessionToken as X, RoleKey as Y, SmartAccount$1 as Z, AuthCacheError as _, SignerStatusStore as a, CapxulErrorDetails as at, CachedJwt as b, AccountProviderSource as c, FailureMode as ct, eip1193AccountProvider as d, toAddress as et, localPrivateKeyAccountProvider as f, SmartAccount as g, Session as h, SignerStatus as i, CapxulErrorCode as it, BudgetId as j, AuthUserId as k, AccountRequirement as l, isCapxulError as lt, Profile as m, CapxulSigner as n, CAPXUL_ERROR_CODES as nt, injectedWalletSigner as o, Errors as ot, CapxulResult as p, Profile$1 as q, Eip1193RequestProvider as r, CapxulError as rt, AccountProvider as s, Failure as st, CapxulDigestSigner as t, toCountryCode as tt, Eip1193Provider as u, AuthCachePort as v, AllowanceKey as w, Account$1 as x, AuthCachePortTag as y, Money as z };
|
package/dist/testing/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Gn as TelemetryGroupInput, Kn as TelemetryIdentifyInput, Wn as TelemetryEvent, ir as IdentityTransition, n as ObservationAdapter, u as CapxulClient } from "../observation-CyNjyQxv.mjs";
|
|
2
2
|
import { Effect, Layer } from "effect";
|
|
3
3
|
|
|
4
4
|
//#region src/testing/telemetry/RecordingTelemetryAdapter.d.ts
|
package/dist/testing/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { E as authClientPortFromPromiseAdapter, M as fromWei, T as bootstrapErrorFromCapxul,
|
|
2
|
-
import { C as toDurationMs, D as toJwtToken, E as toEpochSeconds,
|
|
1
|
+
import { E as authClientPortFromPromiseAdapter, M as fromWei, T as bootstrapErrorFromCapxul, Z as deriveCapxulSafeAddress, _ as wireChainId, f as redactTelemetryEvent, g as accountReadErrorFromCapxul, j as toWei, m as smartAccountErrorFromCapxul, t as assembleCapxulClient, x as convexCallErrorFromCapxul, y as identityErrorFromCapxul } from "../create-capxul-client-Btl4qyNC.mjs";
|
|
2
|
+
import { B as Errors, C as toDurationMs, D as toJwtToken, E as toEpochSeconds, F as toSessionToken, N as toPublishableKey, O as toKycTier, R as CapxulError, T as toEpochMs, _ as toAppId, b as toChainId, g as toAllowedOrigin, h as toAddress, m as toAccountId, t as InMemoryAuthCacheAdapter, v as toAuthUserId, w as toEmail, x as toCountryCode } from "../InMemoryAuthCacheAdapter-D5Cv0yz0.mjs";
|
|
3
3
|
import { keccak256 } from "viem";
|
|
4
4
|
import { Effect, Result, Semaphore } from "effect";
|
|
5
5
|
import { getFunctionName } from "convex/server";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@capxul/sdk",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/Xelmar-tech/infrastructure.git",
|
|
@@ -46,12 +46,12 @@
|
|
|
46
46
|
"typescript": "npm:@typescript/typescript6@6.0.2",
|
|
47
47
|
"vite-plus": "0.1.23",
|
|
48
48
|
"vitest": "npm:@voidzero-dev/vite-plus-test@0.1.23",
|
|
49
|
-
"@capxul/config": "0.2.0",
|
|
50
|
-
"@capxul/errors": "0.0.1",
|
|
51
|
-
"@capxul/typescript-config": "0.0.0",
|
|
52
49
|
"@capxul/types": "0.2.0",
|
|
53
|
-
"@capxul/
|
|
54
|
-
"@capxul/
|
|
50
|
+
"@capxul/typescript-config": "0.0.0",
|
|
51
|
+
"@capxul/config": "0.2.0",
|
|
52
|
+
"@capxul/observability": "2.5.0",
|
|
53
|
+
"@capxul/wire": "0.5.0",
|
|
54
|
+
"@capxul/errors": "0.0.1"
|
|
55
55
|
},
|
|
56
56
|
"_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.",
|
|
57
57
|
"scripts": {
|