@capxul/cli 4.20.0-beta.26 → 4.20.0-beta.28

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.
@@ -8883,28 +8883,28 @@
8883
8883
  * @since 4.0.0
8884
8884
  */
8885
8885
  function makeFormatterDefault() {
8886
- return (issue) => formatIssue(issue, "");
8886
+ return (issue) => formatIssue$1(issue, "");
8887
8887
  }
8888
8888
  /** @internal */
8889
8889
  const defaultFormatter$1 = /*#__PURE__*/ makeFormatterDefault();
8890
- function formatIssue(issue, path) {
8890
+ function formatIssue$1(issue, path) {
8891
8891
  let message;
8892
8892
  switch (issue._tag) {
8893
8893
  case "Filter": {
8894
8894
  const annotated = defaultCheckHook(issue);
8895
8895
  if (annotated !== void 0) message = annotated;
8896
8896
  else {
8897
- if (issue.issue._tag !== "InvalidValue") return formatIssue(issue.issue, path);
8897
+ if (issue.issue._tag !== "InvalidValue") return formatIssue$1(issue.issue, path);
8898
8898
  const expected = findExpected(issue.issue);
8899
8899
  message = expected === void 0 ? getExpectedMessage(formatCheck(issue.filter), issue) : getExpectedMessage(expected, issue.issue);
8900
8900
  }
8901
8901
  break;
8902
8902
  }
8903
- case "Encoding": return formatIssue(issue.issue, path);
8904
- case "Pointer": return formatIssue(issue.issue, path + formatPath(issue.path));
8903
+ case "Encoding": return formatIssue$1(issue.issue, path);
8904
+ case "Pointer": return formatIssue$1(issue.issue, path + formatPath(issue.path));
8905
8905
  case "Composite":
8906
8906
  case "AnyOf":
8907
- if (issue._tag === "Composite" || issue.issues.length > 0) return issue.issues.map((issue) => formatIssue(issue, path)).join("\n");
8907
+ if (issue._tag === "Composite" || issue.issues.length > 0) return issue.issues.map((issue) => formatIssue$1(issue, path)).join("\n");
8908
8908
  message = findMessage(issue) ?? getExpectedMessage(getExpected(issue.ast), issue);
8909
8909
  break;
8910
8910
  default: message = defaultLeafHook(issue);
@@ -13427,7 +13427,7 @@
13427
13427
  },
13428
13428
  anonymousId: {
13429
13429
  maxLength: 128,
13430
- pattern: /^anon_[A-Za-z0-9-]+$/u
13430
+ pattern: /^(?:anon_[A-Za-z0-9-]+|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$/u
13431
13431
  },
13432
13432
  traceparent: {
13433
13433
  maxLength: 55,
@@ -19641,10 +19641,19 @@ get: Operation.query("activity.overlays.get", {
19641
19641
  name: String$1,
19642
19642
  explorerUrl: String$1
19643
19643
  });
19644
+ /**
19645
+ * Whose money the operation moves: the person's own, or an Organization's,
19646
+ * which a reader follows through that Organization's scope.
19647
+ */
19648
+ const ApprovalActorSchema = Union([Struct({ kind: Literal("personal") }), Struct({
19649
+ kind: Literal("organization"),
19650
+ orgId: NonEmptyString
19651
+ })]);
19644
19652
  /** What the person reads before they sign. */
19645
19653
  const ApprovalSummarySchema = Struct({
19646
19654
  title: String$1,
19647
19655
  from: Struct({
19656
+ kind: Literals(["personal", "organization"]),
19648
19657
  label: String$1,
19649
19658
  address: AddressSchema$1
19650
19659
  }),
@@ -19666,6 +19675,7 @@ get: Operation.query("activity.overlays.get", {
19666
19675
  url: String$1,
19667
19676
  kind: Literals(APPROVAL_KINDS),
19668
19677
  state: Literals(APPROVAL_STATES),
19678
+ actor: ApprovalActorSchema,
19669
19679
  summary: ApprovalSummarySchema,
19670
19680
  operation: ApprovalOperationSchema,
19671
19681
  /** Who must sign: the owner key of the paying Safe. */
@@ -20333,6 +20343,15 @@ ensure: Operation.action("documents.memos.ensure", {
20333
20343
  })
20334
20344
  };
20335
20345
  //#endregion
20346
+ //#region ../../packages/protocol/src/evm/role-dsl.ts
20347
+ /**
20348
+ * How a capped Budget's allowance refills (#2298). `monthly` refills the
20349
+ * allowance to its cap every 30 days. Roles v2 counts fixed periods from the
20350
+ * moment the allowance is set; it has no calendar month. Absent means `none`:
20351
+ * the cap is one pot that spending drains for good.
20352
+ */
20353
+ const ORG_BUDGET_REFILLS = ["monthly", "none"];
20354
+ //#endregion
20336
20355
  //#region ../../packages/protocol/src/permissions/permission-schema.ts
20337
20356
  /**
20338
20357
  * One stored `setAllowance` call inside a command's expected authority set.
@@ -20371,12 +20390,19 @@ ensure: Operation.action("documents.memos.ensure", {
20371
20390
  })]),
20372
20391
  actions: NonEmptyArray(Literals(["pay", "commitments"]))
20373
20392
  }).pipe(refine((scope) => new Set(scope.actions).size === scope.actions.length && (scope.recipients.type === "anyone" || scope.recipients.accounts.length >= 1 && scope.recipients.accounts.length <= 32 && new Set(scope.recipients.accounts).size === scope.recipients.accounts.length), { message: "Budget scope requires unique actions and one to 32 unique allowed Accounts" }));
20393
+ /**
20394
+ * How a capped Budget refills (#2298): `monthly` tops the cap back up every 30
20395
+ * days (a fixed Roles v2 period, not a calendar month); `none` never refills.
20396
+ * Absent means `none`, and writers store only `monthly`.
20397
+ */
20398
+ const BudgetRefillSchema = Literals(ORG_BUDGET_REFILLS);
20374
20399
  /** The accepted product policy stored with one Permission revision. */
20375
20400
  const CurrentPolicySchema = Union([Struct({
20376
20401
  type: Literal("budget"),
20377
20402
  asset: AssetIdSchema,
20378
20403
  limit: NullOr(String$1),
20379
- scope: BudgetScopeSchema
20404
+ scope: BudgetScopeSchema,
20405
+ refill: optional(BudgetRefillSchema)
20380
20406
  }), Struct({ type: Literal("managePeople") })]);
20381
20407
  const BudgetIntentSchema = CurrentPolicySchema.pipe(refine((value) => {
20382
20408
  if (value.type !== "budget") return false;
@@ -20441,7 +20467,8 @@ ensure: Operation.action("documents.memos.ensure", {
20441
20467
  "send",
20442
20468
  "sendBatch",
20443
20469
  "createCommitment"
20444
- ]))
20470
+ ])),
20471
+ refill: optional(BudgetRefillSchema)
20445
20472
  });
20446
20473
  const PermissionRecipientBindingSchema = Struct({
20447
20474
  accountId: AccountIdSchema$1,
@@ -20453,14 +20480,16 @@ ensure: Operation.action("documents.memos.ensure", {
20453
20480
  type: Literal("budget"),
20454
20481
  asset: AssetIdSchema,
20455
20482
  limit: NullOr(AssetAmountSchema),
20456
- scope: optional(BudgetScopeSchema)
20483
+ scope: optional(BudgetScopeSchema),
20484
+ refill: optional(BudgetRefillSchema)
20457
20485
  }).pipe(refine((intent) => intent.limit === null || intent.limit.asset === intent.asset, { message: "Budget limit must use the Budget asset" })), Struct({ type: Literal("managePeople") })]);
20458
20486
  /** Writes state every granted right and use a finite positive AssetAmount cap. */
20459
20487
  const PermissionIntentSchema = Union([Struct({
20460
20488
  type: Literal("budget"),
20461
20489
  asset: AssetIdSchema,
20462
20490
  limit: AssetAmountSchema,
20463
- scope: BudgetScopeSchema
20491
+ scope: BudgetScopeSchema,
20492
+ refill: optional(BudgetRefillSchema)
20464
20493
  }).pipe(refine((intent) => intent.limit.asset === intent.asset && /[1-9]/u.test(intent.limit.value), { message: "Budget cap must be positive and use the Budget asset" })), Struct({ type: Literal("managePeople") })]);
20465
20494
  //#endregion
20466
20495
  //#region ../../packages/protocol/src/permissions/replacement-schema.ts
@@ -20661,7 +20690,7 @@ ensure: Operation.action("documents.memos.ensure", {
20661
20690
  Struct({
20662
20691
  type: Literal("new_budget"),
20663
20692
  label: String$1.pipe(refine((value) => value.trim().length >= 1 && value.trim().length <= 128)),
20664
- intent: BudgetIntentSchema
20693
+ intent: BudgetIntentSchema.pipe(refine((intent) => intent.refill !== "monthly", { message: "An invitation's new Budget cannot refill; change it once granted" }))
20665
20694
  })
20666
20695
  ])).pipe(refine((grants) => {
20667
20696
  if (grants.length < 1 || grants.length > 16) return false;
@@ -23669,7 +23698,9 @@ complete: Operation.mutation("profiles.onboardings.complete", {
23669
23698
  emitSafeConfirmed: "accounts.safes.emitSafeConfirmed",
23670
23699
  readSafe: "accounts.safes.readSafe",
23671
23700
  recordDeployment: "accounts.safes.recordDeployment"
23672
- }
23701
+ },
23702
+ /** The home's requests to pay and Payments to retry, read in one query. */
23703
+ summaries: { loadNeedsYou: "accounts.summaries.loadNeedsYou" }
23673
23704
  },
23674
23705
  /** The host observer's names for `client.approvals.*`. */
23675
23706
  approvals: {
@@ -23850,7 +23881,11 @@ complete: Operation.mutation("profiles.onboardings.complete", {
23850
23881
  seedNativeReadiness: "operator.fixtures.seedNativeReadiness",
23851
23882
  seedPrerequisites: "operator.fixtures.seedPrerequisites"
23852
23883
  },
23853
- identities: { purgeByEmail: "operator.identities.purgeByEmail" }
23884
+ identities: {
23885
+ purgeByEmail: "operator.identities.purgeByEmail",
23886
+ /** One Account and every row that refers to it, unless it has Payments or an Organization tie. */
23887
+ purgeAccount: "operator.identities.purgeAccount"
23888
+ }
23854
23889
  },
23855
23890
  /** Organizations' internal functions; its public rows join from `OPERATIONS`. */
23856
23891
  organizations: {
@@ -23924,7 +23959,9 @@ emitSaved: "activity.annotations.emitSaved" },
23924
23959
  pay: "organizationPayments.pay",
23925
23960
  payBatch: "organizationPayments.payBatch",
23926
23961
  prepareExecution: "organizationPayments.prepareExecution",
23927
- retry: "organizationPayments.retry"
23962
+ retry: "organizationPayments.retry",
23963
+ cancel: "organizationPayments.cancel",
23964
+ redirect: "organizationPayments.redirect"
23928
23965
  },
23929
23966
  /**
23930
23967
  * Payments' internal functions and the client's own method names; its public
@@ -23946,7 +23983,9 @@ emitSaved: "activity.annotations.emitSaved" },
23946
23983
  loadContext: "payments.commands.loadContext",
23947
23984
  loadExecutionContext: "payments.commands.loadExecutionContext",
23948
23985
  /** The capped Budget a prepared Organization command spends from, before its allowance is read on chain. */
23949
- loadBudgetAllowance: "payments.commands.loadBudgetAllowance"
23986
+ loadBudgetAllowance: "payments.commands.loadBudgetAllowance",
23987
+ /** What a new Payment command would spend and from which Safe, read before it is born. */
23988
+ loadBirthFunding: "payments.commands.loadBirthFunding"
23950
23989
  },
23951
23990
  lifecycles: { prepareIntent: "payments.lifecycles.prepareIntent" },
23952
23991
  /** The stored UserOperation of every money command: Payment, Permission and configuration. */
@@ -24100,7 +24139,11 @@ emitChanged: "payroll.groups.emitChanged" }
24100
24139
  recordUse: "applications.bootstraps.recordUse",
24101
24140
  resolve: "applications.bootstraps.resolve"
24102
24141
  },
24103
- keys: { issue: "applications.keys.issue" },
24142
+ keys: {
24143
+ issue: "applications.keys.issue",
24144
+ /** Operator-only: revoke one key by its id, whoever owns it. */
24145
+ revokeById: "applications.keys.revokeById"
24146
+ },
24104
24147
  quickstarts: {
24105
24148
  claim: "applications.quickstarts.claim",
24106
24149
  mint: "applications.quickstarts.mint"
@@ -24373,6 +24416,42 @@ emitChanged: "payroll.groups.emitChanged" }
24373
24416
  organization_id: OptionalOrgId,
24374
24417
  reason_code: OptionalReasonCode
24375
24418
  };
24419
+ /**
24420
+ * A journey's variants (`JOURNEYS`): the way a person came into a journey, or
24421
+ * the way they took through it. A variant is a property of the journey's step
24422
+ * events, never a journey of its own, so each journey funnel breaks down by
24423
+ * it. A step event takes only the variants that a journey contract names on
24424
+ * it, picked one by one; the analytics plan test checks both directions.
24425
+ * `pay_path` and `funding_source` have no carrier until their Phase 2 events.
24426
+ * `payment_*` events already carry `recipient_is_capxul_account`, and
24427
+ * `invoice_issued` carries `issuer_scope_kind`; neither is repeated here.
24428
+ */
24429
+ const JourneyVariantProps = {
24430
+ /** How a person came to Get started: by themselves, an invite, money that waited, or an invoice. */
24431
+ entry_path: optional(Literals([
24432
+ "signup",
24433
+ "invite",
24434
+ "claim",
24435
+ "invoice"
24436
+ ])),
24437
+ /** Where the person acted. `agent` is an AI agent driving the CLI. */
24438
+ surface: optional(Literals([
24439
+ "web",
24440
+ "cli",
24441
+ "agent"
24442
+ ])),
24443
+ /** Who pays: a person from their own account, or an Organization from a Budget. */
24444
+ payer_kind: optional(Literals(["person", "organization"])),
24445
+ /** How a request was paid: from the payer's inbox, or by its link at checkout. */
24446
+ pay_path: optional(Literals(["inbox", "link"])),
24447
+ /** Where an account's first money came from. `bank` is the planned on-ramp. */
24448
+ funding_source: optional(Literals([
24449
+ "deposit",
24450
+ "payment",
24451
+ "claim",
24452
+ "bank"
24453
+ ]))
24454
+ };
24376
24455
  //#endregion
24377
24456
  //#region ../../packages/observability/src/events/money.ts
24378
24457
  /**
@@ -24462,6 +24541,8 @@ emitChanged: "payroll.groups.emitChanged" }
24462
24541
  execution_id: OptionalString,
24463
24542
  payment_lifecycle_id: OptionalString,
24464
24543
  ...TelemetryEnvelopeProps,
24544
+ payer_kind: JourneyVariantProps.payer_kind,
24545
+ surface: JourneyVariantProps.surface,
24465
24546
  ...RecipientTelemetryProps,
24466
24547
  kind: String$1,
24467
24548
  payment_id: String$1
@@ -24477,6 +24558,8 @@ emitChanged: "payroll.groups.emitChanged" }
24477
24558
  const PaymentSettledL2Props = Struct({
24478
24559
  ...PaymentLifecycleProps,
24479
24560
  ...TelemetryEnvelopeProps,
24561
+ payer_kind: JourneyVariantProps.payer_kind,
24562
+ surface: JourneyVariantProps.surface,
24480
24563
  ...RecipientTelemetryProps,
24481
24564
  kind: String$1,
24482
24565
  chain_id: Finite,
@@ -24684,6 +24767,7 @@ emitChanged: "payroll.groups.emitChanged" }
24684
24767
  });
24685
24768
  const OrganizationCreationReadyProps = Struct({
24686
24769
  ...TelemetryEnvelopeProps,
24770
+ surface: JourneyVariantProps.surface,
24687
24771
  $insert_id: String$1,
24688
24772
  organization_id: OrgIdTelemetrySchema,
24689
24773
  attempt_number: AttemptNumberSchema,
@@ -24708,45 +24792,6 @@ emitChanged: "payroll.groups.emitChanged" }
24708
24792
  ...ORGANIZATION_SETUP_REASONS
24709
24793
  ]))
24710
24794
  });
24711
- const OrgCreateStartedProps = Struct({
24712
- ...TelemetryEnvelopeProps,
24713
- org_id: OptionalOrgId,
24714
- email_domain: OptionalString,
24715
- template: OptionalString
24716
- });
24717
- const OrgSafeCreatedProps = Struct({
24718
- ...TelemetryEnvelopeProps,
24719
- org_id: OptionalOrgId,
24720
- chainId: OptionalChainId,
24721
- safe_address: OptionalAddress
24722
- });
24723
- const OrgSafeConfirmedProps = Struct({
24724
- ...TelemetryEnvelopeProps,
24725
- org_id: OptionalOrgId,
24726
- chainId: OptionalChainId,
24727
- safe_address: OptionalAddress,
24728
- durationMs: OptionalDurationMs
24729
- });
24730
- const OrgRolesSeededProps = Struct({
24731
- ...TelemetryEnvelopeProps,
24732
- org_id: OptionalOrgId,
24733
- chainId: OptionalChainId,
24734
- role: OptionalString,
24735
- txHash: OptionalTxHash
24736
- });
24737
- const OrgCreatedProps = Struct({
24738
- ...TelemetryEnvelopeProps,
24739
- org_id: OptionalOrgId,
24740
- chainId: OptionalChainId,
24741
- safe_address: OptionalAddress,
24742
- durationMs: OptionalDurationMs
24743
- });
24744
- const OrgCreateFailedProps = Struct({
24745
- ...TelemetryEnvelopeProps,
24746
- ...ChainCauseTelemetryProps,
24747
- org_id: OptionalOrgId,
24748
- reason: OptionalString
24749
- });
24750
24795
  const OrgInviteSentProps = Struct({
24751
24796
  ...TelemetryEnvelopeProps,
24752
24797
  org_id: OptionalOrgId,
@@ -24791,30 +24836,6 @@ emitChanged: "payroll.groups.emitChanged" }
24791
24836
  name: Literal("organization_creation_failed"),
24792
24837
  props: OrganizationCreationFailedProps
24793
24838
  });
24794
- Struct({
24795
- name: Literal("org_create_started"),
24796
- props: OrgCreateStartedProps
24797
- });
24798
- Struct({
24799
- name: Literal("org_safe_created"),
24800
- props: OrgSafeCreatedProps
24801
- });
24802
- Struct({
24803
- name: Literal("org_safe_confirmed"),
24804
- props: OrgSafeConfirmedProps
24805
- });
24806
- Struct({
24807
- name: Literal("org_roles_seeded"),
24808
- props: OrgRolesSeededProps
24809
- });
24810
- Struct({
24811
- name: Literal("org_created"),
24812
- props: OrgCreatedProps
24813
- });
24814
- Struct({
24815
- name: Literal("org_create_failed"),
24816
- props: OrgCreateFailedProps
24817
- });
24818
24839
  Struct({
24819
24840
  name: Literal("org_invite_sent"),
24820
24841
  props: OrgInviteSentProps
@@ -25688,10 +25709,14 @@ emitChanged: "payroll.groups.emitChanged" }
25688
25709
  });
25689
25710
  const MemberActivationStartedProps = Struct({
25690
25711
  ...TelemetryEnvelopeProps,
25712
+ entry_path: JourneyVariantProps.entry_path,
25713
+ surface: JourneyVariantProps.surface,
25691
25714
  $insert_id: String$1
25692
25715
  });
25693
25716
  const MemberActivationReadyProps = Struct({
25694
25717
  ...TelemetryEnvelopeProps,
25718
+ entry_path: JourneyVariantProps.entry_path,
25719
+ surface: JourneyVariantProps.surface,
25695
25720
  $insert_id: String$1,
25696
25721
  duration_ms: DurationMsSchema
25697
25722
  });
@@ -27513,6 +27538,7 @@ emitChanged: "payroll.groups.emitChanged" }
27513
27538
  paymentsV2Signature("send");
27514
27539
  paymentsV2Signature("sendBatch");
27515
27540
  paymentsV2Signature("createCommitment");
27541
+ paymentsV2Signature("cancel"), paymentsV2Signature("redirect");
27516
27542
  //#endregion
27517
27543
  //#region ../../packages/protocol/src/evm/organization-payments.ts
27518
27544
  /** Supported Organization permission identities, newest first. */
@@ -27661,6 +27687,14 @@ emitChanged: "payroll.groups.emitChanged" }
27661
27687
  }
27662
27688
  };
27663
27689
  }
27690
+ Struct({
27691
+ permissionId: AuthorizePayrollRunExecutionInputSchema.fields.permissionId,
27692
+ asset: AuthorizePayrollRunExecutionInputSchema.fields.asset,
27693
+ period: AuthorizePayrollRunExecutionInputSchema.fields.period,
27694
+ items: AuthorizePayrollRunExecutionInputSchema.fields.items,
27695
+ requestKey: optional(AuthorizePayrollRunExecutionInputSchema.fields.requestKey)
27696
+ });
27697
+ runs.authorize.name;
27664
27698
  //#endregion
27665
27699
  //#region ../../packages/sdk/src/platform/transport/wire.ts
27666
27700
  /**
@@ -36292,14 +36326,6 @@ query Role($id: String, $block: Int) {
36292
36326
  init_toFunctionSelector();
36293
36327
  toFunctionSelector("setTransactionUnwrapper(address,bytes4,address)");
36294
36328
  toFunctionSelector("assignRoles(address,bytes32[],bool[])");
36295
- Struct({
36296
- permissionId: AuthorizePayrollRunExecutionInputSchema.fields.permissionId,
36297
- asset: AuthorizePayrollRunExecutionInputSchema.fields.asset,
36298
- period: AuthorizePayrollRunExecutionInputSchema.fields.period,
36299
- items: AuthorizePayrollRunExecutionInputSchema.fields.items,
36300
- requestKey: optional(AuthorizePayrollRunExecutionInputSchema.fields.requestKey)
36301
- });
36302
- runs.authorize.name;
36303
36329
  //#endregion
36304
36330
  //#region ../../node_modules/.pnpm/axios@1.17.0/node_modules/axios/lib/helpers/bind.js
36305
36331
  /**