@robosystems/client 1.10.1 → 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.
@@ -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
  /**
@@ -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
  /**
@@ -5758,6 +5774,12 @@ export type FiscalPeriodSummary = {
5758
5774
  * Closed At
5759
5775
  */
5760
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;
5761
5783
  };
5762
5784
  /**
5763
5785
  * ForecastMechanics
@@ -5794,9 +5816,15 @@ export type ForecastMechanics = {
5794
5816
  /**
5795
5817
  * Base Period
5796
5818
  *
5797
- * 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.
5798
5820
  */
5799
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';
5800
5828
  /**
5801
5829
  * Levers
5802
5830
  *
@@ -10721,6 +10749,51 @@ export type OperationEnvelopeTaxonomyBlockEnvelope = {
10721
10749
  */
10722
10750
  idempotentReplay?: boolean;
10723
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
+ };
10724
10797
  /**
10725
10798
  * OperationEnvelope[ViewResponse]
10726
10799
  */
@@ -11163,6 +11236,12 @@ export type OrgInvitationResponse = {
11163
11236
  * Is Expired
11164
11237
  */
11165
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;
11166
11245
  };
11167
11246
  /**
11168
11247
  * OrgLimitsResponse
@@ -13334,19 +13413,6 @@ export type RuleVariableLite = {
13334
13413
  */
13335
13414
  variable_element_id?: string | null;
13336
13415
  };
13337
- /**
13338
- * SECConnectionConfig
13339
- *
13340
- * SEC-specific connection configuration.
13341
- */
13342
- export type SecConnectionConfig = {
13343
- /**
13344
- * Cik
13345
- *
13346
- * SEC Central Index Key
13347
- */
13348
- cik: string;
13349
- };
13350
13416
  /**
13351
13417
  * SSOCompleteRequest
13352
13418
  *
@@ -15348,6 +15414,76 @@ export type TaxonomyBlockStructureRequest = {
15348
15414
  [key: string]: unknown;
15349
15415
  };
15350
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
+ };
15351
15487
  /**
15352
15488
  * TierCapacity
15353
15489
  *
@@ -15369,7 +15505,7 @@ export type TierCapacity = {
15369
15505
  /**
15370
15506
  * Status
15371
15507
  *
15372
- * Capacity status: ready, scalable, or at_capacity
15508
+ * Capacity status: ready or at_capacity
15373
15509
  */
15374
15510
  status: string;
15375
15511
  /**
@@ -15975,6 +16111,12 @@ export type UpdateForecastRequest = {
15975
16111
  * Base Period
15976
16112
  */
15977
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;
15978
16120
  /**
15979
16121
  * Levers
15980
16122
  *
@@ -16294,9 +16436,11 @@ export type UpdateRollforwardRequest = {
16294
16436
  * Structure row / its metadata_ JSONB column).
16295
16437
  *
16296
16438
  * NOT editable via this op: period_start, period_end, monthly_amount.
16297
- * Those require fact regeneration — fire an event block that terminates
16298
- * the schedule (e.g., `asset_disposed`) and create a fresh schedule via
16299
- * `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'`).
16300
16444
  *
16301
16445
  * Omitted fields are left unchanged.
16302
16446
  */
@@ -16461,6 +16605,10 @@ export type UpdateTaxonomyBlockRequest = {
16461
16605
  * UpdateUserRequest
16462
16606
  *
16463
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.
16464
16612
  */
16465
16613
  export type UpdateUserRequest = {
16466
16614
  /**
@@ -16475,6 +16623,20 @@ export type UpdateUserRequest = {
16475
16623
  * User's email address
16476
16624
  */
16477
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;
16478
16640
  };
16479
16641
  /**
16480
16642
  * UpgradeSubscriptionRequest
@@ -19338,7 +19500,7 @@ export type ListConnectionsData = {
19338
19500
  *
19339
19501
  * Filter by provider type
19340
19502
  */
19341
- provider?: 'sec' | 'quickbooks' | 'external' | null;
19503
+ provider?: 'quickbooks' | 'external' | null;
19342
19504
  };
19343
19505
  url: '/v1/graphs/{graph_id}/connections';
19344
19506
  };
@@ -20053,7 +20215,7 @@ export type GetBackupDownloadUrlData = {
20053
20215
  };
20054
20216
  export type GetBackupDownloadUrlErrors = {
20055
20217
  /**
20056
- * Access denied
20218
+ * Access denied — admin role on the graph, or an eligible repository subscription, is required
20057
20219
  */
20058
20220
  403: unknown;
20059
20221
  /**
@@ -25586,6 +25748,65 @@ export type RebuildScheduleResponses = {
25586
25748
  200: OperationEnvelopeScheduleCreatedResponse;
25587
25749
  };
25588
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];
25589
25810
  export type SetCloseTargetData = {
25590
25811
  body: SetCloseTargetOperation;
25591
25812
  headers?: {