@robosystems/client 1.10.0 → 1.11.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/types.gen.d.ts CHANGED
@@ -158,6 +158,10 @@ export type AnalyticalStatementFactRow = {
158
158
  * Value
159
159
  */
160
160
  value?: number | null;
161
+ /**
162
+ * Start Date
163
+ */
164
+ start_date?: string | null;
161
165
  /**
162
166
  * End Date
163
167
  */
@@ -896,7 +900,7 @@ export type BackupResponse = {
896
900
  /**
897
901
  * Initiated By
898
902
  *
899
- * Who started this backup. 'user' is one you requested and it counts against the tier's daily backup limit; 'scheduled' is taken nightly on your behalf and does not.
903
+ * Who started this backup. 'user' is one you requested and it counts against the tier's daily backup limit; 'scheduled' is taken nightly on your behalf and does not; 'final' is the copy taken when a graph is deprovisioned, so you can still retrieve your data afterwards.
900
904
  */
901
905
  initiated_by?: string;
902
906
  /**
@@ -1523,7 +1527,7 @@ export type CheckoutStatusResponse = {
1523
1527
  /**
1524
1528
  * Operation Id
1525
1529
  *
1526
- * SSE operation ID for monitoring provisioning progress
1530
+ * Always null. Webhook-driven provisioning passes no operation id (`_trigger_resource_provisioning` calls `run_graph_provisioning` with `operation_id=None`), so there is no SSE stream to follow — poll the status endpoint instead. Retained rather than removed because it is on a published response shape; wiring it is a feature, not a fix.
1527
1531
  */
1528
1532
  operation_id?: string | null;
1529
1533
  /**
@@ -1754,9 +1758,15 @@ export type ComputeForecastResponse = {
1754
1758
  /**
1755
1759
  * Base Period
1756
1760
  *
1757
- * Seed month the walk projected from.
1761
+ * Origin month of the block's authored horizon window — where its levers are keyed from. Equal to ``anchor_period`` unless the walk re-anchored at the seam.
1758
1762
  */
1759
1763
  base_period: string;
1764
+ /**
1765
+ * Anchor Period
1766
+ *
1767
+ * Month the walk actually seeded its opening balances from. With ``base_anchor='seam'`` this advances to the newest closed month as periods close, so the first forward month rolls off real balances instead of a stale base; with ``'fixed'`` it always equals ``base_period``.
1768
+ */
1769
+ anchor_period: string;
1760
1770
  /**
1761
1771
  * Months
1762
1772
  *
@@ -1992,7 +2002,7 @@ export type ConnectionProviderInfo = {
1992
2002
  *
1993
2003
  * Provider identifier
1994
2004
  */
1995
- provider: 'sec' | 'quickbooks' | 'external';
2005
+ provider: 'quickbooks' | 'external';
1996
2006
  /**
1997
2007
  * Display Name
1998
2008
  *
@@ -2385,14 +2395,13 @@ export type CreateConnectionRequest = {
2385
2395
  *
2386
2396
  * Connection provider type
2387
2397
  */
2388
- provider: 'sec' | 'quickbooks' | 'external';
2398
+ provider: 'quickbooks' | 'external';
2389
2399
  /**
2390
2400
  * Entity Id
2391
2401
  *
2392
- * Entity identifier. Required for QuickBooks, optional for SEC (SEC creates the entity from filing data).
2402
+ * Entity identifier. Required for QuickBooks.
2393
2403
  */
2394
2404
  entity_id?: string | null;
2395
- sec_config?: SecConnectionConfig | null;
2396
2405
  quickbooks_config?: QuickBooksConnectionConfig | null;
2397
2406
  external_config?: ExternalConnectionConfig | null;
2398
2407
  };
@@ -2656,9 +2665,15 @@ export type CreateForecastRequest = {
2656
2665
  /**
2657
2666
  * Base Period
2658
2667
  *
2659
- * Seed month (``YYYY-MM``) the walk projects forward from. Defaults to the fiscal calendar's closed-through period, else the newest actual report month. Resolved and stored at create time.
2668
+ * Seed month (``YYYY-MM``) the walk projects forward from. Defaults to the fiscal calendar's closed-through period, else the newest actual report month. Resolved and stored at create time, and it never moves afterwards — every lever is keyed to a month inside ``base_period + 1 … + horizon_months``, so moving it would mean restating all of them. ``base_anchor`` decides whether the walk still *seeds* here once months close under it.
2660
2669
  */
2661
2670
  base_period?: string | null;
2671
+ /**
2672
+ * Base Anchor
2673
+ *
2674
+ * Where the walk takes its opening balances as periods close. ``seam`` (default) re-anchors on the newest closed month inside the horizon, so the scenario survives a close untouched and its first forward month rolls off real balances. ``fixed`` pins the walk to ``base_period`` — the deliberate counterfactual, whose balances are meant to diverge from actuals.
2675
+ */
2676
+ base_anchor?: 'seam' | 'fixed';
2662
2677
  /**
2663
2678
  * Levers
2664
2679
  *
@@ -3170,8 +3185,7 @@ export type CreateSubgraphRequest = {
3170
3185
  * extends a library taxonomy) and ignored otherwise.
3171
3186
  *
3172
3187
  * The library path (seeding ``reporting_standard`` rows) does NOT flow
3173
- * through this envelope — it uses a dedicated library writer that bypasses
3174
- * these caps and tenant scoping.
3188
+ * through this envelope; library content is not tenant-writable here.
3175
3189
  */
3176
3190
  export type CreateTaxonomyBlockRequest = {
3177
3191
  /**
@@ -4018,9 +4032,11 @@ export type DeleteRollforwardRequest = {
4018
4032
  *
4019
4033
  * Hard deletes the Structure, all Facts tied to it, and all
4020
4034
  * Associations tied to it. This is a permanent, irreversible
4021
- * operation. For ending a schedule early without removing history,
4022
- * fire `create-event-block(event_type='asset_disposed')` instead — the
4023
- * handler truncates the schedule + posts the disposal entry atomically.
4035
+ * operation. For ending a schedule early without removing history, use
4036
+ * `terminate-schedule` (no entry) or
4037
+ * `create-event-block(event_type='asset_disposed')` (the handler voids
4038
+ * the remaining obligation chain + posts the disposal entry atomically;
4039
+ * recognized facts stay as history).
4024
4040
  */
4025
4041
  export type DeleteScheduleRequest = {
4026
4042
  /**
@@ -5537,6 +5553,12 @@ export type FileUploadRequest = {
5537
5553
  * Table name to associate file with (required for first-class /files endpoint)
5538
5554
  */
5539
5555
  table_name?: string | null;
5556
+ /**
5557
+ * File Size Bytes
5558
+ *
5559
+ * Size of the file about to be uploaded, in bytes. Optional; when supplied, an over-limit file is rejected here instead of after it has been pushed to S3 and rejected by ingest-file. Advisory only — the authoritative check measures the object after upload.
5560
+ */
5561
+ file_size_bytes?: number | null;
5540
5562
  };
5541
5563
  /**
5542
5564
  * FinancialStatementAnalysisRequest
@@ -5752,6 +5774,12 @@ export type FiscalPeriodSummary = {
5752
5774
  * Closed At
5753
5775
  */
5754
5776
  closed_at?: string | null;
5777
+ /**
5778
+ * Has Close Receipt
5779
+ *
5780
+ * Whether this period carries a close receipt. A flag rather than the receipt itself keeps the calendar listing compact; fetch the receipt from `get-period-close-status` for the period. False on open periods and on periods closed before receipts shipped.
5781
+ */
5782
+ has_close_receipt?: boolean;
5755
5783
  };
5756
5784
  /**
5757
5785
  * ForecastMechanics
@@ -5788,9 +5816,15 @@ export type ForecastMechanics = {
5788
5816
  /**
5789
5817
  * Base Period
5790
5818
  *
5791
- * Seed month (``YYYY-MM``) the walk projects forward from — resolved at create time (request → fiscal calendar closed-through → newest actual report month) and stored so recompute is deterministic.
5819
+ * Origin month (``YYYY-MM``) of the authored horizon window — resolved at create time (request → fiscal calendar closed-through → newest actual report month) and stored so recompute is deterministic. Every lever, line assertion and growth rate is keyed to a month in ``base_period + 1 … base_period + horizon_months``, so this never moves on its own; ``base_anchor`` decides whether the *walk* still seeds here.
5792
5820
  */
5793
5821
  base_period: string;
5822
+ /**
5823
+ * Base Anchor
5824
+ *
5825
+ * Where the walk takes its opening balances. ``seam`` (default) re-anchors on the newest closed month at or after ``base_period``, so a scenario survives a period close without being rebuilt and its first forward month rolls off real balances. ``fixed`` pins the walk to ``base_period`` — the deliberate counterfactual (“if we had restarted in July”), whose balances diverge from actuals on purpose.
5826
+ */
5827
+ base_anchor?: 'seam' | 'fixed';
5794
5828
  /**
5795
5829
  * Levers
5796
5830
  *
@@ -10715,6 +10749,51 @@ export type OperationEnvelopeTaxonomyBlockEnvelope = {
10715
10749
  */
10716
10750
  idempotentReplay?: boolean;
10717
10751
  };
10752
+ /**
10753
+ * OperationEnvelope[TerminateScheduleResponse]
10754
+ */
10755
+ export type OperationEnvelopeTerminateScheduleResponse = {
10756
+ /**
10757
+ * Operation
10758
+ *
10759
+ * Kebab-case operation name
10760
+ */
10761
+ operation: string;
10762
+ /**
10763
+ * Operationid
10764
+ *
10765
+ * op_-prefixed ULID for audit and SSE correlation
10766
+ */
10767
+ operationId: string;
10768
+ /**
10769
+ * Status
10770
+ *
10771
+ * Operation lifecycle state
10772
+ */
10773
+ status: 'completed' | 'pending' | 'failed';
10774
+ /**
10775
+ * Command-specific result payload
10776
+ */
10777
+ result?: TerminateScheduleResponse | null;
10778
+ /**
10779
+ * At
10780
+ *
10781
+ * ISO-8601 UTC timestamp
10782
+ */
10783
+ at: string;
10784
+ /**
10785
+ * Createdby
10786
+ *
10787
+ * User ID that initiated the operation (null for legacy callers)
10788
+ */
10789
+ createdBy?: string | null;
10790
+ /**
10791
+ * Idempotentreplay
10792
+ *
10793
+ * True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions.
10794
+ */
10795
+ idempotentReplay?: boolean;
10796
+ };
10718
10797
  /**
10719
10798
  * OperationEnvelope[ViewResponse]
10720
10799
  */
@@ -11157,6 +11236,12 @@ export type OrgInvitationResponse = {
11157
11236
  * Is Expired
11158
11237
  */
11159
11238
  is_expired: boolean;
11239
+ /**
11240
+ * Token
11241
+ *
11242
+ * Test-support only: the raw invite token. Populated ONLY when AUTH_INVITE_TOKEN_IN_RESPONSE is enabled in a non-production environment; always null in production. Lets automated authorization tests complete the invite -> register flow without email interception.
11243
+ */
11244
+ token?: string | null;
11160
11245
  };
11161
11246
  /**
11162
11247
  * OrgLimitsResponse
@@ -11456,8 +11541,13 @@ export type PasskeyLoginVerifyRequest = {
11456
11541
  /**
11457
11542
  * PasskeyRegisterOptionsRequest
11458
11543
  *
11459
- * Begin enrollment. mfa_token is the forced-enrollment lane; omitted for
11460
- * an authenticated settings-flow enrollment.
11544
+ * Begin enrollment.
11545
+ *
11546
+ * Two disjoint lanes: ``mfa_token`` (forced enrollment — the token was minted
11547
+ * seconds after a password verify, so it is its own freshness proof) or an
11548
+ * authenticated settings-flow enrollment, which must carry a fresh re-auth
11549
+ * proof — ``password``, or a ``reauth``-ceremony ``assertion`` when adding a
11550
+ * passkey beside an existing one.
11461
11551
  */
11462
11552
  export type PasskeyRegisterOptionsRequest = {
11463
11553
  /**
@@ -11466,6 +11556,20 @@ export type PasskeyRegisterOptionsRequest = {
11466
11556
  * Enrollment token from a login that returned mfa_enrollment_required
11467
11557
  */
11468
11558
  mfa_token?: string | null;
11559
+ /**
11560
+ * Password
11561
+ *
11562
+ * Current password — settings-lane re-authentication
11563
+ */
11564
+ password?: string | null;
11565
+ /**
11566
+ * Assertion
11567
+ *
11568
+ * Fresh WebAuthn assertion from the re-auth ceremony (settings lane)
11569
+ */
11570
+ assertion?: {
11571
+ [key: string]: unknown;
11572
+ } | null;
11469
11573
  };
11470
11574
  /**
11471
11575
  * PasskeyRegisterVerifyRequest
@@ -13309,19 +13413,6 @@ export type RuleVariableLite = {
13309
13413
  */
13310
13414
  variable_element_id?: string | null;
13311
13415
  };
13312
- /**
13313
- * SECConnectionConfig
13314
- *
13315
- * SEC-specific connection configuration.
13316
- */
13317
- export type SecConnectionConfig = {
13318
- /**
13319
- * Cik
13320
- *
13321
- * SEC Central Index Key
13322
- */
13323
- cik: string;
13324
- };
13325
13416
  /**
13326
13417
  * SSOCompleteRequest
13327
13418
  *
@@ -15323,6 +15414,76 @@ export type TaxonomyBlockStructureRequest = {
15323
15414
  [key: string]: unknown;
15324
15415
  };
15325
15416
  };
15417
+ /**
15418
+ * TerminateScheduleRequest
15419
+ *
15420
+ * End a schedule early at a month-end cutoff — no entry is booked.
15421
+ *
15422
+ * The no-entry half of schedule retirement, for terminations whose GL
15423
+ * effect is already booked (an asset transferred via a manual journal
15424
+ * entry, a prepaid refunded in the source system) or where none is
15425
+ * wanted. In one transaction: deletes forward facts past the cutoff,
15426
+ * voids the remaining obligation chain past it (pending and classified
15427
+ * rows), and rewrites the SumEquals rule to prove the truncated curve.
15428
+ * History at or before the cutoff is untouched.
15429
+ *
15430
+ * When the derecognition entry still needs to be booked, use
15431
+ * `create-event-block(event_type='asset_disposed')` instead — the
15432
+ * disposal handler posts it atomically with the same obligation void.
15433
+ */
15434
+ export type TerminateScheduleRequest = {
15435
+ /**
15436
+ * Structure Id
15437
+ *
15438
+ * The schedule structure to terminate.
15439
+ */
15440
+ structure_id: string;
15441
+ /**
15442
+ * New End Date
15443
+ *
15444
+ * Last date the schedule covers — must be the last day of a month (schedule facts are whole-month). Facts and obligations for periods starting after this date are removed/voided.
15445
+ */
15446
+ new_end_date: string;
15447
+ /**
15448
+ * Reason
15449
+ *
15450
+ * Why the schedule is ending early — captured in the audit log.
15451
+ */
15452
+ reason: string;
15453
+ };
15454
+ /**
15455
+ * TerminateScheduleResponse
15456
+ */
15457
+ export type TerminateScheduleResponse = {
15458
+ /**
15459
+ * Structure Id
15460
+ */
15461
+ structure_id: string;
15462
+ /**
15463
+ * Name
15464
+ */
15465
+ name: string;
15466
+ /**
15467
+ * New End Date
15468
+ */
15469
+ new_end_date: string;
15470
+ /**
15471
+ * Facts Deleted
15472
+ */
15473
+ facts_deleted: number;
15474
+ /**
15475
+ * Obligations Voided
15476
+ */
15477
+ obligations_voided: number;
15478
+ /**
15479
+ * Rule Updated
15480
+ */
15481
+ rule_updated: boolean;
15482
+ /**
15483
+ * Reason
15484
+ */
15485
+ reason: string;
15486
+ };
15326
15487
  /**
15327
15488
  * TierCapacity
15328
15489
  *
@@ -15344,7 +15505,7 @@ export type TierCapacity = {
15344
15505
  /**
15345
15506
  * Status
15346
15507
  *
15347
- * Capacity status: ready, scalable, or at_capacity
15508
+ * Capacity status: ready or at_capacity
15348
15509
  */
15349
15510
  status: string;
15350
15511
  /**
@@ -15950,6 +16111,12 @@ export type UpdateForecastRequest = {
15950
16111
  * Base Period
15951
16112
  */
15952
16113
  base_period?: string | null;
16114
+ /**
16115
+ * Base Anchor
16116
+ *
16117
+ * Switch the walk between seam-anchored (default) and pinned to ``base_period``. Changes nothing about the authored window, so unlike ``base_period`` it needs no levers re-supplied.
16118
+ */
16119
+ base_anchor?: 'seam' | 'fixed' | null;
15953
16120
  /**
15954
16121
  * Levers
15955
16122
  *
@@ -16269,9 +16436,11 @@ export type UpdateRollforwardRequest = {
16269
16436
  * Structure row / its metadata_ JSONB column).
16270
16437
  *
16271
16438
  * NOT editable via this op: period_start, period_end, monthly_amount.
16272
- * Those require fact regeneration — fire an event block that terminates
16273
- * the schedule (e.g., `asset_disposed`) and create a fresh schedule via
16274
- * `create-information-block` (`block_type='schedule'`).
16439
+ * Those require fact regeneration — end the schedule early via
16440
+ * `terminate-schedule` (no entry) or
16441
+ * `create-event-block(event_type='asset_disposed')` (with a disposal
16442
+ * entry), then create a fresh schedule via `create-information-block`
16443
+ * (`block_type='schedule'`).
16275
16444
  *
16276
16445
  * Omitted fields are left unchanged.
16277
16446
  */
@@ -16436,6 +16605,10 @@ export type UpdateTaxonomyBlockRequest = {
16436
16605
  * UpdateUserRequest
16437
16606
  *
16438
16607
  * Request model for updating user profile.
16608
+ *
16609
+ * Changing ``email`` re-authenticates: a fresh proof (password re-entry or a
16610
+ * ``mgmt``-flow passkey assertion) must accompany the request, exactly as
16611
+ * passkey enrollment and removal require. Name-only updates need no proof.
16439
16612
  */
16440
16613
  export type UpdateUserRequest = {
16441
16614
  /**
@@ -16450,6 +16623,20 @@ export type UpdateUserRequest = {
16450
16623
  * User's email address
16451
16624
  */
16452
16625
  email?: string | null;
16626
+ /**
16627
+ * Reauth Password
16628
+ *
16629
+ * Password re-entry, required to change email for a password-holding account
16630
+ */
16631
+ reauth_password?: string | null;
16632
+ /**
16633
+ * Reauth Assertion
16634
+ *
16635
+ * A fresh mgmt-flow passkey assertion, required to change email for a passkey-only account
16636
+ */
16637
+ reauth_assertion?: {
16638
+ [key: string]: unknown;
16639
+ } | null;
16453
16640
  };
16454
16641
  /**
16455
16642
  * UpgradeSubscriptionRequest
@@ -19313,7 +19500,7 @@ export type ListConnectionsData = {
19313
19500
  *
19314
19501
  * Filter by provider type
19315
19502
  */
19316
- provider?: 'sec' | 'quickbooks' | 'external' | null;
19503
+ provider?: 'quickbooks' | 'external' | null;
19317
19504
  };
19318
19505
  url: '/v1/graphs/{graph_id}/connections';
19319
19506
  };
@@ -20028,7 +20215,7 @@ export type GetBackupDownloadUrlData = {
20028
20215
  };
20029
20216
  export type GetBackupDownloadUrlErrors = {
20030
20217
  /**
20031
- * Access denied
20218
+ * Access denied — admin role on the graph, or an eligible repository subscription, is required
20032
20219
  */
20033
20220
  403: unknown;
20034
20221
  /**
@@ -25561,6 +25748,65 @@ export type RebuildScheduleResponses = {
25561
25748
  200: OperationEnvelopeScheduleCreatedResponse;
25562
25749
  };
25563
25750
  export type RebuildScheduleResponse = RebuildScheduleResponses[keyof RebuildScheduleResponses];
25751
+ export type TerminateScheduleData = {
25752
+ body: TerminateScheduleRequest;
25753
+ headers?: {
25754
+ /**
25755
+ * Idempotency-Key
25756
+ */
25757
+ 'Idempotency-Key'?: string | null;
25758
+ };
25759
+ path: {
25760
+ /**
25761
+ * Graph Id
25762
+ */
25763
+ graph_id: string;
25764
+ };
25765
+ query?: never;
25766
+ url: '/extensions/roboledger/{graph_id}/operations/terminate-schedule';
25767
+ };
25768
+ export type TerminateScheduleErrors = {
25769
+ /**
25770
+ * Invalid request
25771
+ */
25772
+ 400: ErrorResponse;
25773
+ /**
25774
+ * Authentication required
25775
+ */
25776
+ 401: ErrorResponse;
25777
+ /**
25778
+ * Access denied
25779
+ */
25780
+ 403: ErrorResponse;
25781
+ /**
25782
+ * Resource not found
25783
+ */
25784
+ 404: ErrorResponse;
25785
+ /**
25786
+ * Idempotency-Key conflict — key reused with different body
25787
+ */
25788
+ 409: ErrorResponse;
25789
+ /**
25790
+ * Validation error
25791
+ */
25792
+ 422: ErrorResponse;
25793
+ /**
25794
+ * Rate limit exceeded
25795
+ */
25796
+ 429: ErrorResponse;
25797
+ /**
25798
+ * Internal server error
25799
+ */
25800
+ 500: ErrorResponse;
25801
+ };
25802
+ export type TerminateScheduleError = TerminateScheduleErrors[keyof TerminateScheduleErrors];
25803
+ export type TerminateScheduleResponses = {
25804
+ /**
25805
+ * Successful Response
25806
+ */
25807
+ 200: OperationEnvelopeTerminateScheduleResponse;
25808
+ };
25809
+ export type TerminateScheduleResponse2 = TerminateScheduleResponses[keyof TerminateScheduleResponses];
25564
25810
  export type SetCloseTargetData = {
25565
25811
  body: SetCloseTargetOperation;
25566
25812
  headers?: {