@robosystems/client 0.5.5 → 0.5.7

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.ts CHANGED
@@ -157,7 +157,9 @@ export type ArtifactResponse = {
157
157
  kind: 'metric';
158
158
  } & MetricMechanics) | ({
159
159
  kind: 'rollforward';
160
- } & RollforwardMechanics);
160
+ } & RollforwardMechanics) | ({
161
+ kind: 'forecast';
162
+ } & ForecastMechanics);
161
163
  };
162
164
 
163
165
  /**
@@ -1230,6 +1232,83 @@ export type ClosePeriodResponse = {
1230
1232
  evaluated_structure_ids?: Array<string>;
1231
1233
  };
1232
1234
 
1235
+ /**
1236
+ * ComputeForecastRequest
1237
+ *
1238
+ * Request body for the ``compute-forecast`` operation.
1239
+ *
1240
+ * Walks the scenario's driver cascade month-by-month forward from the
1241
+ * forecast block's ``base_period``: lever-driven Derive rules in
1242
+ * dependency order, carry-forward for unmodeled IS lines, calc-DAG
1243
+ * subtotals — upserting one scenario IS FactSet (+ a working-capital BS
1244
+ * set) per forward month, all keyed by the forecast block's
1245
+ * ``scenario_id``. Re-running replaces each month's values (the
1246
+ * compute-metrics drift semantics). Deterministic and non-AI — no
1247
+ * credits consumed.
1248
+ */
1249
+ export type ComputeForecastRequest = {
1250
+ /**
1251
+ * Structure Id
1252
+ *
1253
+ * Forecast block structure (block_type='forecast') to compute.
1254
+ */
1255
+ structure_id: string;
1256
+ /**
1257
+ * Months
1258
+ *
1259
+ * Forward months to compute — defaults to the block's full horizon_months; must not exceed it (lever assertions don't extend past the horizon).
1260
+ */
1261
+ months?: number | null;
1262
+ /**
1263
+ * Entity Id
1264
+ *
1265
+ * Entity to compute for. Defaults to the lever FactSet's entity (the entity the scenario was authored against).
1266
+ */
1267
+ entity_id?: string | null;
1268
+ };
1269
+
1270
+ /**
1271
+ * ComputeForecastResponse
1272
+ *
1273
+ * Response for the ``compute-forecast`` operation.
1274
+ */
1275
+ export type ComputeForecastResponse = {
1276
+ /**
1277
+ * Structure Id
1278
+ */
1279
+ structure_id: string;
1280
+ /**
1281
+ * Scenario Id
1282
+ *
1283
+ * The scenario key every emitted FactSet carries — the forecast block's own structure id.
1284
+ */
1285
+ scenario_id: string;
1286
+ /**
1287
+ * Entity Id
1288
+ */
1289
+ entity_id: string;
1290
+ /**
1291
+ * Base Period
1292
+ *
1293
+ * Seed month the walk projected from.
1294
+ */
1295
+ base_period: string;
1296
+ /**
1297
+ * Months
1298
+ *
1299
+ * Forward months requested.
1300
+ */
1301
+ months: number;
1302
+ /**
1303
+ * Months Computed
1304
+ */
1305
+ months_computed?: Array<ForecastMonthLite>;
1306
+ /**
1307
+ * Skipped
1308
+ */
1309
+ skipped?: Array<SkippedForecastLite>;
1310
+ };
1311
+
1233
1312
  /**
1234
1313
  * ComputeMetricsRequest
1235
1314
  *
@@ -1267,6 +1346,12 @@ export type ComputeMetricsRequest = {
1267
1346
  * Entity to compute for. Defaults to the graph's earliest-created entity (the primary entity for single-entity graphs).
1268
1347
  */
1269
1348
  entity_id?: string | null;
1349
+ /**
1350
+ * Scenario Id
1351
+ *
1352
+ * Compute on a scenario slice: operands bind that scenario's facts (actuals as the fallback across the seam) and the standing metric set is stamped with the scenario. None (the default) computes actuals only. Pass a forecast block's structure id after compute-forecast to extend the metric series into its forward months.
1353
+ */
1354
+ scenario_id?: string | null;
1270
1355
  };
1271
1356
 
1272
1357
  /**
@@ -2067,6 +2152,55 @@ export type CreateEventHandlerRequest = {
2067
2152
  };
2068
2153
  };
2069
2154
 
2155
+ /**
2156
+ * CreateForecastRequest
2157
+ *
2158
+ * Create a forecast block — the authored scenario container.
2159
+ *
2160
+ * ``base_period`` defaults to the fiscal calendar's
2161
+ * ``closed_through_period`` (else the newest actual report month) —
2162
+ * the walk projects forward from the last closed actuals. The resolved
2163
+ * value is stored in the mechanics so recompute is deterministic.
2164
+ */
2165
+ export type CreateForecastRequest = {
2166
+ /**
2167
+ * Name
2168
+ *
2169
+ * Human-readable scenario name.
2170
+ */
2171
+ name: string;
2172
+ /**
2173
+ * Scenario Kind
2174
+ *
2175
+ * What kind of scenario this is — metadata for display/filtering, not machinery. All kinds compute identically.
2176
+ */
2177
+ scenario_kind?: 'budget' | 'forecast' | 'projection';
2178
+ /**
2179
+ * Horizon Months
2180
+ *
2181
+ * Forward months to project past the base period.
2182
+ */
2183
+ horizon_months?: number;
2184
+ /**
2185
+ * Base Period
2186
+ *
2187
+ * 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.
2188
+ */
2189
+ base_period?: string | null;
2190
+ /**
2191
+ * Levers
2192
+ *
2193
+ * Lever assertions — at least one.
2194
+ */
2195
+ levers: Array<LeverAssertionRequest>;
2196
+ /**
2197
+ * Entity Id
2198
+ *
2199
+ * Entity the scenario belongs to. Defaults to the graph's earliest-created entity (single-entity convention).
2200
+ */
2201
+ entity_id?: string | null;
2202
+ };
2203
+
2070
2204
  /**
2071
2205
  * CreateGraphRequest
2072
2206
  *
@@ -2124,6 +2258,8 @@ export type CreateInformationBlockRequest = ({
2124
2258
  } & CreateScheduleArm) | ({
2125
2259
  block_type: 'rollforward';
2126
2260
  } & CreateRollforwardArm) | ({
2261
+ block_type: 'forecast';
2262
+ } & CreateForecastArm) | ({
2127
2263
  block_type: 'balance_sheet' | 'cash_flow_statement' | 'comprehensive_income' | 'equity_statement' | 'income_statement' | 'metric' | 'regulatory_disclosure';
2128
2264
  } & CreateLegacyArm);
2129
2265
 
@@ -3132,6 +3268,24 @@ export type DeleteFileOp = {
3132
3268
  cascade?: boolean;
3133
3269
  };
3134
3270
 
3271
+ /**
3272
+ * DeleteForecastRequest
3273
+ *
3274
+ * Delete a forecast block.
3275
+ *
3276
+ * Removes the scenario's entire parallel universe: the lever FactSet
3277
+ * AND every computed scenario FactSet (the forward statement/metric
3278
+ * months keyed by this scenario). Actuals are never touched.
3279
+ */
3280
+ export type DeleteForecastRequest = {
3281
+ /**
3282
+ * Structure Id
3283
+ *
3284
+ * Structure ID of the forecast block.
3285
+ */
3286
+ structure_id: string;
3287
+ };
3288
+
3135
3289
  /**
3136
3290
  * DeleteGraphOp
3137
3291
  *
@@ -3178,6 +3332,8 @@ export type DeleteInformationBlockRequest = ({
3178
3332
  } & DeleteScheduleArm) | ({
3179
3333
  block_type: 'rollforward';
3180
3334
  } & DeleteRollforwardArm) | ({
3335
+ block_type: 'forecast';
3336
+ } & DeleteForecastArm) | ({
3181
3337
  block_type: 'balance_sheet' | 'cash_flow_statement' | 'comprehensive_income' | 'equity_statement' | 'income_statement' | 'metric' | 'regulatory_disclosure';
3182
3338
  } & DeleteLegacyArm);
3183
3339
 
@@ -4580,7 +4736,7 @@ export type FactSetLite = {
4580
4736
  /**
4581
4737
  * Factset Type
4582
4738
  *
4583
- * 'report' | 'schedule' | 'custom' | 'disclosure'. Enum closure enforced by the ``public.fact_sets`` CHECK constraint.
4739
+ * 'report' | 'schedule' | 'custom' | 'disclosure' | 'metric'. Enum closure enforced by the ``public.fact_sets`` CHECK constraint.
4584
4740
  */
4585
4741
  factset_type: string;
4586
4742
  /**
@@ -4593,6 +4749,12 @@ export type FactSetLite = {
4593
4749
  * Back-pointer to the ``reports`` table while ``report_id`` still lives on facts. Drops out once the retirement migration lands.
4594
4750
  */
4595
4751
  report_id?: string | null;
4752
+ /**
4753
+ * Scenario Id
4754
+ *
4755
+ * Scenario axis (the forecast engine). NULL = actuals; non-NULL names the owning forecast block whose parallel universe this set belongs to.
4756
+ */
4757
+ scenario_id?: string | null;
4596
4758
  /**
4597
4759
  * Provenance
4598
4760
  *
@@ -4918,6 +5080,98 @@ export type FiscalPeriodSummary = {
4918
5080
  closed_at?: string | null;
4919
5081
  };
4920
5082
 
5083
+ /**
5084
+ * ForecastMechanics
5085
+ *
5086
+ * Authored scenario container for ``block_type='forecast'`` (FP&A F-1).
5087
+ *
5088
+ * The block IS the scenario: its structure id is the ``scenario_id``
5089
+ * every derived forward FactSet carries (NULL = actuals). The authored
5090
+ * surface is exactly this — scenario identity, horizon, base period,
5091
+ * lever assertions; everything downstream is derived by
5092
+ * ``compute-forecast`` (levers → driven rs-gaap anchors via the
5093
+ * rs-driver Derive rules → carry-forward for unmodeled IS lines →
5094
+ * calc-DAG subtotals), landing in the EXISTING statement/metric block
5095
+ * types stamped with the scenario. Reads directly from the typed
5096
+ * ``structures.artifact_mechanics`` JSONB column.
5097
+ */
5098
+ export type ForecastMechanics = {
5099
+ /**
5100
+ * Kind
5101
+ */
5102
+ kind?: 'forecast';
5103
+ /**
5104
+ * Scenario Kind
5105
+ *
5106
+ * Scenario kind — display/filter metadata, not machinery.
5107
+ */
5108
+ scenario_kind?: 'budget' | 'forecast' | 'projection';
5109
+ /**
5110
+ * Horizon Months
5111
+ *
5112
+ * Forward months projected past the base period.
5113
+ */
5114
+ horizon_months: number;
5115
+ /**
5116
+ * Base Period
5117
+ *
5118
+ * 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.
5119
+ */
5120
+ base_period: string;
5121
+ /**
5122
+ * Levers
5123
+ *
5124
+ * Expanded lever assertions (authoring order).
5125
+ */
5126
+ levers: Array<LeverAssertionLite>;
5127
+ /**
5128
+ * Computed Months
5129
+ *
5130
+ * Number of forward months with computed scenario FactSets. Runtime state filled at envelope-build time — 0 until the first compute-forecast run.
5131
+ */
5132
+ computed_months?: number;
5133
+ };
5134
+
5135
+ /**
5136
+ * ForecastMonthLite
5137
+ *
5138
+ * One computed forward month in a ``compute-forecast`` response.
5139
+ */
5140
+ export type ForecastMonthLite = {
5141
+ /**
5142
+ * Period
5143
+ *
5144
+ * Month key (``YYYY-MM``).
5145
+ */
5146
+ period: string;
5147
+ /**
5148
+ * Period Start
5149
+ */
5150
+ period_start: string;
5151
+ /**
5152
+ * Period End
5153
+ */
5154
+ period_end: string;
5155
+ /**
5156
+ * Income Statement Fact Set Id
5157
+ *
5158
+ * Scenario IS FactSet upserted for the month.
5159
+ */
5160
+ income_statement_fact_set_id?: string | null;
5161
+ /**
5162
+ * Balance Sheet Fact Set Id
5163
+ *
5164
+ * Scenario BS FactSet upserted for the month (working-capital instants only in F-1 — the full BS roll is a later phase).
5165
+ */
5166
+ balance_sheet_fact_set_id?: string | null;
5167
+ /**
5168
+ * Computed Count
5169
+ *
5170
+ * Number of facts emitted for the month across both sets.
5171
+ */
5172
+ computed_count?: number;
5173
+ };
5174
+
4921
5175
  /**
4922
5176
  * ForgetOp
4923
5177
  *
@@ -6764,6 +7018,87 @@ export type LedgerEntityResponse = {
6764
7018
  updated_at?: string | null;
6765
7019
  };
6766
7020
 
7021
+ /**
7022
+ * LeverAssertionLite
7023
+ *
7024
+ * One lever's persisted assertion inside ``ForecastMechanics``.
7025
+ *
7026
+ * The create handler expands the wire-level assertion (uniform ``value``
7027
+ * + per-month overrides) into the explicit ``values_by_period`` map so
7028
+ * compute never interpolates — every asserted month is stated. The
7029
+ * values are duplicated as authored facts in the scenario's lever
7030
+ * FactSet (rules for mechanics, **facts for values** — the facts are
7031
+ * what ``compute-forecast`` binds); this mechanics copy is the
7032
+ * operator-legible round-trip shape.
7033
+ */
7034
+ export type LeverAssertionLite = {
7035
+ /**
7036
+ * Qname
7037
+ *
7038
+ * rs-driver lever element qname.
7039
+ */
7040
+ qname: string;
7041
+ /**
7042
+ * Element Id
7043
+ *
7044
+ * Resolved tenant element id.
7045
+ */
7046
+ element_id: string;
7047
+ /**
7048
+ * Item Type
7049
+ *
7050
+ * Format family from the catalog (percent | days | ...).
7051
+ */
7052
+ item_type?: string | null;
7053
+ /**
7054
+ * Values By Period
7055
+ *
7056
+ * Expanded per-month assertions keyed by ``YYYY-MM``.
7057
+ */
7058
+ values_by_period: {
7059
+ [key: string]: number;
7060
+ };
7061
+ };
7062
+
7063
+ /**
7064
+ * LeverAssertionRequest
7065
+ *
7066
+ * One lever's asserted values for the scenario.
7067
+ *
7068
+ * ``qname`` must resolve to an ``rs-driver:*`` catalog element (the
7069
+ * create handler rejects anything else). Value conventions follow the
7070
+ * catalog: percent levers are decimals per month (0.03 = 3%/month),
7071
+ * days levers are day counts.
7072
+ *
7073
+ * ``value`` is a uniform fill across the whole horizon;
7074
+ * ``values_by_period`` overrides individual months (``"YYYY-MM"``
7075
+ * keys). At least one of the two must be provided. Months covered by
7076
+ * neither carry no assertion — the lever's rule is inactive for that
7077
+ * month and its target falls to the engine's carry-forward default.
7078
+ */
7079
+ export type LeverAssertionRequest = {
7080
+ /**
7081
+ * Qname
7082
+ *
7083
+ * QName of the rs-driver lever element (e.g. ``rs-driver:RevenueGrowthRate``).
7084
+ */
7085
+ qname: string;
7086
+ /**
7087
+ * Value
7088
+ *
7089
+ * Uniform value asserted for every month of the horizon.
7090
+ */
7091
+ value?: number | null;
7092
+ /**
7093
+ * Values By Period
7094
+ *
7095
+ * Per-month overrides keyed by ``YYYY-MM``. Wins over ``value`` for the months it names.
7096
+ */
7097
+ values_by_period?: {
7098
+ [key: string]: number;
7099
+ } | null;
7100
+ };
7101
+
6767
7102
  /**
6768
7103
  * LineItemMetadataPredicate
6769
7104
  *
@@ -7684,6 +8019,52 @@ export type OperationEnvelopeClosePeriodResponse = {
7684
8019
  idempotentReplay?: boolean;
7685
8020
  };
7686
8021
 
8022
+ /**
8023
+ * OperationEnvelope[ComputeForecastResponse]
8024
+ */
8025
+ export type OperationEnvelopeComputeForecastResponse = {
8026
+ /**
8027
+ * Operation
8028
+ *
8029
+ * Kebab-case operation name
8030
+ */
8031
+ operation: string;
8032
+ /**
8033
+ * Operationid
8034
+ *
8035
+ * op_-prefixed ULID for audit and SSE correlation
8036
+ */
8037
+ operationId: string;
8038
+ /**
8039
+ * Status
8040
+ *
8041
+ * Operation lifecycle state
8042
+ */
8043
+ status: 'completed' | 'pending' | 'failed';
8044
+ /**
8045
+ * Command-specific result payload
8046
+ */
8047
+ result?: ComputeForecastResponse | null;
8048
+ /**
8049
+ * At
8050
+ *
8051
+ * ISO-8601 UTC timestamp
8052
+ */
8053
+ at: string;
8054
+ /**
8055
+ * Createdby
8056
+ *
8057
+ * User ID that initiated the operation (null for legacy callers)
8058
+ */
8059
+ createdBy?: string | null;
8060
+ /**
8061
+ * Idempotentreplay
8062
+ *
8063
+ * True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions.
8064
+ */
8065
+ idempotentReplay?: boolean;
8066
+ };
8067
+
7687
8068
  /**
7688
8069
  * OperationEnvelope[ComputeMetricsResponse]
7689
8070
  */
@@ -12100,6 +12481,39 @@ export type ShareResultItem = {
12100
12481
  fact_count?: number;
12101
12482
  };
12102
12483
 
12484
+ /**
12485
+ * SkippedForecastLite
12486
+ *
12487
+ * One rule/month soft-skip in a ``compute-forecast`` response.
12488
+ *
12489
+ * A skipped rule never aborts the walk — its target falls back to the
12490
+ * carry-forward value for that month (when a prior value exists).
12491
+ */
12492
+ export type SkippedForecastLite = {
12493
+ /**
12494
+ * Rule Id
12495
+ */
12496
+ rule_id?: string | null;
12497
+ /**
12498
+ * Element Qname
12499
+ */
12500
+ element_qname?: string | null;
12501
+ /**
12502
+ * Period
12503
+ *
12504
+ * Month key (``YYYY-MM``) of the skip.
12505
+ */
12506
+ period: string;
12507
+ /**
12508
+ * Reason
12509
+ */
12510
+ reason: string;
12511
+ /**
12512
+ * Missing
12513
+ */
12514
+ missing?: Array<string>;
12515
+ };
12516
+
12103
12517
  /**
12104
12518
  * SkippedMetricLite
12105
12519
  *
@@ -13813,6 +14227,48 @@ export type UpdateEventHandlerRequest = {
13813
14227
  };
13814
14228
  };
13815
14229
 
14230
+ /**
14231
+ * UpdateForecastRequest
14232
+ *
14233
+ * Update a forecast block in place.
14234
+ *
14235
+ * Mutable: name, scenario_kind, horizon_months, base_period, levers.
14236
+ * ``levers`` is a **full replace** when provided (partial lever edits
14237
+ * would make the asserted set ambiguous). Updating does NOT recompute —
14238
+ * previously computed scenario months go stale until the next
14239
+ * ``compute-forecast`` run (the compute-metrics drift semantics).
14240
+ */
14241
+ export type UpdateForecastRequest = {
14242
+ /**
14243
+ * Structure Id
14244
+ *
14245
+ * Structure ID of the forecast block.
14246
+ */
14247
+ structure_id: string;
14248
+ /**
14249
+ * Name
14250
+ */
14251
+ name?: string | null;
14252
+ /**
14253
+ * Scenario Kind
14254
+ */
14255
+ scenario_kind?: 'budget' | 'forecast' | 'projection' | null;
14256
+ /**
14257
+ * Horizon Months
14258
+ */
14259
+ horizon_months?: number | null;
14260
+ /**
14261
+ * Base Period
14262
+ */
14263
+ base_period?: string | null;
14264
+ /**
14265
+ * Levers
14266
+ *
14267
+ * Full replacement of the lever set when provided.
14268
+ */
14269
+ levers?: Array<LeverAssertionRequest> | null;
14270
+ };
14271
+
13816
14272
  /**
13817
14273
  * UpdateInformationBlockRequest
13818
14274
  *
@@ -13827,6 +14283,8 @@ export type UpdateInformationBlockRequest = ({
13827
14283
  } & UpdateScheduleArm) | ({
13828
14284
  block_type: 'rollforward';
13829
14285
  } & UpdateRollforwardArm) | ({
14286
+ block_type: 'forecast';
14287
+ } & UpdateForecastArm) | ({
13830
14288
  block_type: 'balance_sheet' | 'cash_flow_statement' | 'comprehensive_income' | 'equity_statement' | 'income_statement' | 'metric' | 'regulatory_disclosure';
13831
14289
  } & UpdateLegacyArm);
13832
14290
 
@@ -14639,6 +15097,29 @@ export type ViewProjections = {
14639
15097
  chart?: ChartLite | null;
14640
15098
  };
14641
15099
 
15100
+ /**
15101
+ * _CreateForecastArm
15102
+ *
15103
+ * Create-information-block body for ``block_type="forecast"``.
15104
+ *
15105
+ * Carries a typed forecast payload — the authored scenario container:
15106
+ * scenario identity, horizon, base period, lever assertions on
15107
+ * ``rs-driver:*`` catalog elements. Run ``compute-forecast`` after
15108
+ * creating to derive the forward months.
15109
+ */
15110
+ export type CreateForecastArm = {
15111
+ /**
15112
+ * Block Type
15113
+ *
15114
+ * Discriminator value selecting this arm.
15115
+ */
15116
+ block_type: 'forecast';
15117
+ /**
15118
+ * Forecast creation payload.
15119
+ */
15120
+ payload: CreateForecastRequest;
15121
+ };
15122
+
14642
15123
  /**
14643
15124
  * _CreateLegacyArm
14644
15125
  *
@@ -14715,6 +15196,27 @@ export type CreateScheduleArm = {
14715
15196
  payload: CreateScheduleRequest;
14716
15197
  };
14717
15198
 
15199
+ /**
15200
+ * _DeleteForecastArm
15201
+ *
15202
+ * Delete-information-block body for ``block_type="forecast"``.
15203
+ *
15204
+ * Removes the scenario's entire parallel universe — the lever FactSet
15205
+ * and every computed scenario FactSet. Actuals are never touched.
15206
+ */
15207
+ export type DeleteForecastArm = {
15208
+ /**
15209
+ * Block Type
15210
+ *
15211
+ * Discriminator value selecting this arm.
15212
+ */
15213
+ block_type: 'forecast';
15214
+ /**
15215
+ * Forecast delete payload.
15216
+ */
15217
+ payload: DeleteForecastRequest;
15218
+ };
15219
+
14718
15220
  /**
14719
15221
  * _DeleteLegacyArm
14720
15222
  *
@@ -14783,6 +15285,28 @@ export type DeleteScheduleArm = {
14783
15285
  payload: DeleteScheduleRequest;
14784
15286
  };
14785
15287
 
15288
+ /**
15289
+ * _UpdateForecastArm
15290
+ *
15291
+ * Update-information-block body for ``block_type="forecast"``.
15292
+ *
15293
+ * Mutable: name, scenario_kind, horizon_months, base_period, levers
15294
+ * (full replace). Updating does not recompute — run ``compute-forecast``
15295
+ * to refresh the scenario's derived months.
15296
+ */
15297
+ export type UpdateForecastArm = {
15298
+ /**
15299
+ * Block Type
15300
+ *
15301
+ * Discriminator value selecting this arm.
15302
+ */
15303
+ block_type: 'forecast';
15304
+ /**
15305
+ * Forecast update payload.
15306
+ */
15307
+ payload: UpdateForecastRequest;
15308
+ };
15309
+
14786
15310
  /**
14787
15311
  * _UpdateLegacyArm
14788
15312
  *
@@ -22403,6 +22927,70 @@ export type ComputeMetricsResponses = {
22403
22927
 
22404
22928
  export type ComputeMetricsResponse2 = ComputeMetricsResponses[keyof ComputeMetricsResponses];
22405
22929
 
22930
+ export type ComputeForecastData = {
22931
+ body: ComputeForecastRequest;
22932
+ headers?: {
22933
+ /**
22934
+ * Idempotency-Key
22935
+ */
22936
+ 'Idempotency-Key'?: string | null;
22937
+ };
22938
+ path: {
22939
+ /**
22940
+ * Graph Id
22941
+ */
22942
+ graph_id: string;
22943
+ };
22944
+ query?: never;
22945
+ url: '/extensions/roboledger/{graph_id}/operations/compute-forecast';
22946
+ };
22947
+
22948
+ export type ComputeForecastErrors = {
22949
+ /**
22950
+ * Invalid request
22951
+ */
22952
+ 400: ErrorResponse;
22953
+ /**
22954
+ * Authentication required
22955
+ */
22956
+ 401: ErrorResponse;
22957
+ /**
22958
+ * Access denied
22959
+ */
22960
+ 403: ErrorResponse;
22961
+ /**
22962
+ * Resource not found
22963
+ */
22964
+ 404: ErrorResponse;
22965
+ /**
22966
+ * Idempotency-Key conflict — key reused with different body
22967
+ */
22968
+ 409: ErrorResponse;
22969
+ /**
22970
+ * Validation error
22971
+ */
22972
+ 422: ErrorResponse;
22973
+ /**
22974
+ * Rate limit exceeded
22975
+ */
22976
+ 429: ErrorResponse;
22977
+ /**
22978
+ * Internal server error
22979
+ */
22980
+ 500: ErrorResponse;
22981
+ };
22982
+
22983
+ export type ComputeForecastError = ComputeForecastErrors[keyof ComputeForecastErrors];
22984
+
22985
+ export type ComputeForecastResponses = {
22986
+ /**
22987
+ * Successful Response
22988
+ */
22989
+ 200: OperationEnvelopeComputeForecastResponse;
22990
+ };
22991
+
22992
+ export type ComputeForecastResponse2 = ComputeForecastResponses[keyof ComputeForecastResponses];
22993
+
22406
22994
  export type BindTextBlockData = {
22407
22995
  body: BindTextBlockRequest;
22408
22996
  headers?: {