@robosystems/client 0.5.2 → 0.5.4

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
@@ -1113,6 +1113,126 @@ export type ClosePeriodResponse = {
1113
1113
  */
1114
1114
  evaluated_structure_ids?: Array<string>;
1115
1115
  };
1116
+ /**
1117
+ * ComputeMetricsRequest
1118
+ *
1119
+ * Request body for the ``compute-metrics`` operation.
1120
+ *
1121
+ * Resolves the ``Derive`` rules scoped to the metric block, binds each
1122
+ * rule's operands to the entity's most recent persisted report facts at
1123
+ * ``period_end``, evaluates, and upserts the period's standing
1124
+ * ``factset_type='metric'`` FactSet (re-running a period replaces its
1125
+ * facts). One standing FactSet per (structure, entity, period_end) — the
1126
+ * accumulating time series.
1127
+ */
1128
+ export type ComputeMetricsRequest = {
1129
+ /**
1130
+ * Structure Id
1131
+ *
1132
+ * Metric block structure (block_type='metric') to compute.
1133
+ */
1134
+ structure_id: string;
1135
+ /**
1136
+ * Period End
1137
+ *
1138
+ * Period end to compute at. Operands bind to report facts whose period_end matches exactly (instant balances as of this date; durations ending on it).
1139
+ */
1140
+ period_end: string;
1141
+ /**
1142
+ * Period Start
1143
+ *
1144
+ * Optional lower bound for duration-operand binding and the standing FactSet's period_start.
1145
+ */
1146
+ period_start?: string | null;
1147
+ /**
1148
+ * Entity Id
1149
+ *
1150
+ * Entity to compute for. Defaults to the graph's earliest-created entity (the primary entity for single-entity graphs).
1151
+ */
1152
+ entity_id?: string | null;
1153
+ };
1154
+ /**
1155
+ * ComputeMetricsResponse
1156
+ *
1157
+ * Response for the ``compute-metrics`` operation.
1158
+ */
1159
+ export type ComputeMetricsResponse = {
1160
+ /**
1161
+ * Structure Id
1162
+ */
1163
+ structure_id: string;
1164
+ /**
1165
+ * Entity Id
1166
+ */
1167
+ entity_id: string;
1168
+ /**
1169
+ * Period End
1170
+ */
1171
+ period_end: string;
1172
+ /**
1173
+ * Fact Set Id
1174
+ *
1175
+ * Standing metric FactSet for the period — None when every metric was skipped and no prior set existed.
1176
+ */
1177
+ fact_set_id?: string | null;
1178
+ /**
1179
+ * Computed
1180
+ */
1181
+ computed?: Array<ComputedMetricLite>;
1182
+ /**
1183
+ * Skipped
1184
+ */
1185
+ skipped?: Array<SkippedMetricLite>;
1186
+ };
1187
+ /**
1188
+ * ComputedMetricLite
1189
+ *
1190
+ * One metric computed by a ``compute-metrics`` run.
1191
+ */
1192
+ export type ComputedMetricLite = {
1193
+ /**
1194
+ * Rule Id
1195
+ *
1196
+ * Derive rule that produced the value.
1197
+ */
1198
+ rule_id: string;
1199
+ /**
1200
+ * Element Id
1201
+ *
1202
+ * Metric element the fact was written for.
1203
+ */
1204
+ element_id: string;
1205
+ /**
1206
+ * Element Qname
1207
+ *
1208
+ * Metric element qname (e.g. rs-metric:CurrentRatio).
1209
+ */
1210
+ element_qname?: string | null;
1211
+ /**
1212
+ * Name
1213
+ *
1214
+ * Metric display name.
1215
+ */
1216
+ name: string;
1217
+ /**
1218
+ * Value
1219
+ *
1220
+ * Computed value.
1221
+ */
1222
+ value: number;
1223
+ /**
1224
+ * Unit
1225
+ *
1226
+ * Fact unit — 'USD' for monetary, else 'pure'.
1227
+ */
1228
+ unit: string;
1229
+ /**
1230
+ * Period Type
1231
+ *
1232
+ * 'instant' or 'duration'.
1233
+ */
1234
+ period_type: string;
1235
+ };
1116
1236
  /**
1117
1237
  * ConnectionLite
1118
1238
  *
@@ -7291,6 +7411,51 @@ export type OperationEnvelopeClosePeriodResponse = {
7291
7411
  */
7292
7412
  idempotentReplay?: boolean;
7293
7413
  };
7414
+ /**
7415
+ * OperationEnvelope[ComputeMetricsResponse]
7416
+ */
7417
+ export type OperationEnvelopeComputeMetricsResponse = {
7418
+ /**
7419
+ * Operation
7420
+ *
7421
+ * Kebab-case operation name
7422
+ */
7423
+ operation: string;
7424
+ /**
7425
+ * Operationid
7426
+ *
7427
+ * op_-prefixed ULID for audit and SSE correlation
7428
+ */
7429
+ operationId: string;
7430
+ /**
7431
+ * Status
7432
+ *
7433
+ * Operation lifecycle state
7434
+ */
7435
+ status: 'completed' | 'pending' | 'failed';
7436
+ /**
7437
+ * Command-specific result payload
7438
+ */
7439
+ result?: ComputeMetricsResponse | null;
7440
+ /**
7441
+ * At
7442
+ *
7443
+ * ISO-8601 UTC timestamp
7444
+ */
7445
+ at: string;
7446
+ /**
7447
+ * Createdby
7448
+ *
7449
+ * User ID that initiated the operation (null for legacy callers)
7450
+ */
7451
+ createdBy?: string | null;
7452
+ /**
7453
+ * Idempotentreplay
7454
+ *
7455
+ * True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions.
7456
+ */
7457
+ idempotentReplay?: boolean;
7458
+ };
7294
7459
  /**
7295
7460
  * OperationEnvelope[DeleteInformationBlockResponse]
7296
7461
  */
@@ -11542,6 +11707,41 @@ export type ShareResultItem = {
11542
11707
  */
11543
11708
  fact_count?: number;
11544
11709
  };
11710
+ /**
11711
+ * SkippedMetricLite
11712
+ *
11713
+ * One metric a ``compute-metrics`` run could not compute.
11714
+ *
11715
+ * Soft-fail by design: a missing operand fact (e.g. InterestExpense for a
11716
+ * debt-free entity) or an undefined ratio (division by zero) skips the
11717
+ * metric with a reason — it never errors the run.
11718
+ */
11719
+ export type SkippedMetricLite = {
11720
+ /**
11721
+ * Rule Id
11722
+ *
11723
+ * Derive rule that was skipped.
11724
+ */
11725
+ rule_id: string;
11726
+ /**
11727
+ * Element Qname
11728
+ *
11729
+ * Metric element qname the rule targets.
11730
+ */
11731
+ element_qname?: string | null;
11732
+ /**
11733
+ * Reason
11734
+ *
11735
+ * Why the metric was skipped.
11736
+ */
11737
+ reason: string;
11738
+ /**
11739
+ * Missing
11740
+ *
11741
+ * Operand qnames with no bound fact at the period, when applicable.
11742
+ */
11743
+ missing?: Array<string>;
11744
+ };
11545
11745
  /**
11546
11746
  * SqlStatementRequest
11547
11747
  */
@@ -11725,6 +11925,11 @@ export type StructureSummary = {
11725
11925
  * StructureUpdatePatch
11726
11926
  *
11727
11927
  * Partial-update patch for a single structure, keyed by structure_id.
11928
+ *
11929
+ * ``concept_arrangement`` makes a mis-CAP'd structure repairable in
11930
+ * place (e.g. promoting a ``set`` note to ``roll_up`` so it gains a
11931
+ * footing rule); ``block_type`` stays immutable — it drives block-type
11932
+ * routing, so changing it is a re-create, not an edit.
11728
11933
  */
11729
11934
  export type StructureUpdatePatch = {
11730
11935
  /**
@@ -11745,6 +11950,10 @@ export type StructureUpdatePatch = {
11745
11950
  * Role Uri
11746
11951
  */
11747
11952
  role_uri?: string | null;
11953
+ /**
11954
+ * Concept Arrangement
11955
+ */
11956
+ concept_arrangement?: 'set' | 'roll_up' | 'roll_forward' | 'roll_forward_info' | 'adjustment' | 'variance' | 'arithmetic' | 'text_block' | 'level1_textblock' | 'level2_textblock' | 'level3_textblock' | 'level4_detail' | 'table_equivalent_textblock' | 'grid' | 'compound_fact' | null;
11748
11957
  /**
11749
11958
  * Metadata
11750
11959
  */
@@ -21004,6 +21213,65 @@ export type EvaluateRulesResponses = {
21004
21213
  200: OperationEnvelopeEvaluateRulesResponse;
21005
21214
  };
21006
21215
  export type EvaluateRulesResponse2 = EvaluateRulesResponses[keyof EvaluateRulesResponses];
21216
+ export type ComputeMetricsData = {
21217
+ body: ComputeMetricsRequest;
21218
+ headers?: {
21219
+ /**
21220
+ * Idempotency-Key
21221
+ */
21222
+ 'Idempotency-Key'?: string | null;
21223
+ };
21224
+ path: {
21225
+ /**
21226
+ * Graph Id
21227
+ */
21228
+ graph_id: string;
21229
+ };
21230
+ query?: never;
21231
+ url: '/extensions/roboledger/{graph_id}/operations/compute-metrics';
21232
+ };
21233
+ export type ComputeMetricsErrors = {
21234
+ /**
21235
+ * Invalid request
21236
+ */
21237
+ 400: ErrorResponse;
21238
+ /**
21239
+ * Authentication required
21240
+ */
21241
+ 401: ErrorResponse;
21242
+ /**
21243
+ * Access denied
21244
+ */
21245
+ 403: ErrorResponse;
21246
+ /**
21247
+ * Resource not found
21248
+ */
21249
+ 404: ErrorResponse;
21250
+ /**
21251
+ * Idempotency-Key conflict — key reused with different body
21252
+ */
21253
+ 409: ErrorResponse;
21254
+ /**
21255
+ * Validation error
21256
+ */
21257
+ 422: ErrorResponse;
21258
+ /**
21259
+ * Rate limit exceeded
21260
+ */
21261
+ 429: ErrorResponse;
21262
+ /**
21263
+ * Internal server error
21264
+ */
21265
+ 500: ErrorResponse;
21266
+ };
21267
+ export type ComputeMetricsError = ComputeMetricsErrors[keyof ComputeMetricsErrors];
21268
+ export type ComputeMetricsResponses = {
21269
+ /**
21270
+ * Successful Response
21271
+ */
21272
+ 200: OperationEnvelopeComputeMetricsResponse;
21273
+ };
21274
+ export type ComputeMetricsResponse2 = ComputeMetricsResponses[keyof ComputeMetricsResponses];
21007
21275
  export type BindTextBlockData = {
21008
21276
  body: BindTextBlockRequest;
21009
21277
  headers?: {
package/types.gen.ts CHANGED
@@ -1148,6 +1148,129 @@ export type ClosePeriodResponse = {
1148
1148
  evaluated_structure_ids?: Array<string>;
1149
1149
  };
1150
1150
 
1151
+ /**
1152
+ * ComputeMetricsRequest
1153
+ *
1154
+ * Request body for the ``compute-metrics`` operation.
1155
+ *
1156
+ * Resolves the ``Derive`` rules scoped to the metric block, binds each
1157
+ * rule's operands to the entity's most recent persisted report facts at
1158
+ * ``period_end``, evaluates, and upserts the period's standing
1159
+ * ``factset_type='metric'`` FactSet (re-running a period replaces its
1160
+ * facts). One standing FactSet per (structure, entity, period_end) — the
1161
+ * accumulating time series.
1162
+ */
1163
+ export type ComputeMetricsRequest = {
1164
+ /**
1165
+ * Structure Id
1166
+ *
1167
+ * Metric block structure (block_type='metric') to compute.
1168
+ */
1169
+ structure_id: string;
1170
+ /**
1171
+ * Period End
1172
+ *
1173
+ * Period end to compute at. Operands bind to report facts whose period_end matches exactly (instant balances as of this date; durations ending on it).
1174
+ */
1175
+ period_end: string;
1176
+ /**
1177
+ * Period Start
1178
+ *
1179
+ * Optional lower bound for duration-operand binding and the standing FactSet's period_start.
1180
+ */
1181
+ period_start?: string | null;
1182
+ /**
1183
+ * Entity Id
1184
+ *
1185
+ * Entity to compute for. Defaults to the graph's earliest-created entity (the primary entity for single-entity graphs).
1186
+ */
1187
+ entity_id?: string | null;
1188
+ };
1189
+
1190
+ /**
1191
+ * ComputeMetricsResponse
1192
+ *
1193
+ * Response for the ``compute-metrics`` operation.
1194
+ */
1195
+ export type ComputeMetricsResponse = {
1196
+ /**
1197
+ * Structure Id
1198
+ */
1199
+ structure_id: string;
1200
+ /**
1201
+ * Entity Id
1202
+ */
1203
+ entity_id: string;
1204
+ /**
1205
+ * Period End
1206
+ */
1207
+ period_end: string;
1208
+ /**
1209
+ * Fact Set Id
1210
+ *
1211
+ * Standing metric FactSet for the period — None when every metric was skipped and no prior set existed.
1212
+ */
1213
+ fact_set_id?: string | null;
1214
+ /**
1215
+ * Computed
1216
+ */
1217
+ computed?: Array<ComputedMetricLite>;
1218
+ /**
1219
+ * Skipped
1220
+ */
1221
+ skipped?: Array<SkippedMetricLite>;
1222
+ };
1223
+
1224
+ /**
1225
+ * ComputedMetricLite
1226
+ *
1227
+ * One metric computed by a ``compute-metrics`` run.
1228
+ */
1229
+ export type ComputedMetricLite = {
1230
+ /**
1231
+ * Rule Id
1232
+ *
1233
+ * Derive rule that produced the value.
1234
+ */
1235
+ rule_id: string;
1236
+ /**
1237
+ * Element Id
1238
+ *
1239
+ * Metric element the fact was written for.
1240
+ */
1241
+ element_id: string;
1242
+ /**
1243
+ * Element Qname
1244
+ *
1245
+ * Metric element qname (e.g. rs-metric:CurrentRatio).
1246
+ */
1247
+ element_qname?: string | null;
1248
+ /**
1249
+ * Name
1250
+ *
1251
+ * Metric display name.
1252
+ */
1253
+ name: string;
1254
+ /**
1255
+ * Value
1256
+ *
1257
+ * Computed value.
1258
+ */
1259
+ value: number;
1260
+ /**
1261
+ * Unit
1262
+ *
1263
+ * Fact unit — 'USD' for monetary, else 'pure'.
1264
+ */
1265
+ unit: string;
1266
+ /**
1267
+ * Period Type
1268
+ *
1269
+ * 'instant' or 'duration'.
1270
+ */
1271
+ period_type: string;
1272
+ };
1273
+
1151
1274
  /**
1152
1275
  * ConnectionLite
1153
1276
  *
@@ -7467,6 +7590,52 @@ export type OperationEnvelopeClosePeriodResponse = {
7467
7590
  idempotentReplay?: boolean;
7468
7591
  };
7469
7592
 
7593
+ /**
7594
+ * OperationEnvelope[ComputeMetricsResponse]
7595
+ */
7596
+ export type OperationEnvelopeComputeMetricsResponse = {
7597
+ /**
7598
+ * Operation
7599
+ *
7600
+ * Kebab-case operation name
7601
+ */
7602
+ operation: string;
7603
+ /**
7604
+ * Operationid
7605
+ *
7606
+ * op_-prefixed ULID for audit and SSE correlation
7607
+ */
7608
+ operationId: string;
7609
+ /**
7610
+ * Status
7611
+ *
7612
+ * Operation lifecycle state
7613
+ */
7614
+ status: 'completed' | 'pending' | 'failed';
7615
+ /**
7616
+ * Command-specific result payload
7617
+ */
7618
+ result?: ComputeMetricsResponse | null;
7619
+ /**
7620
+ * At
7621
+ *
7622
+ * ISO-8601 UTC timestamp
7623
+ */
7624
+ at: string;
7625
+ /**
7626
+ * Createdby
7627
+ *
7628
+ * User ID that initiated the operation (null for legacy callers)
7629
+ */
7630
+ createdBy?: string | null;
7631
+ /**
7632
+ * Idempotentreplay
7633
+ *
7634
+ * True when this envelope came from the idempotency cache — the underlying command did not execute again. False on fresh executions.
7635
+ */
7636
+ idempotentReplay?: boolean;
7637
+ };
7638
+
7470
7639
  /**
7471
7640
  * OperationEnvelope[DeleteInformationBlockResponse]
7472
7641
  */
@@ -11831,6 +12000,42 @@ export type ShareResultItem = {
11831
12000
  fact_count?: number;
11832
12001
  };
11833
12002
 
12003
+ /**
12004
+ * SkippedMetricLite
12005
+ *
12006
+ * One metric a ``compute-metrics`` run could not compute.
12007
+ *
12008
+ * Soft-fail by design: a missing operand fact (e.g. InterestExpense for a
12009
+ * debt-free entity) or an undefined ratio (division by zero) skips the
12010
+ * metric with a reason — it never errors the run.
12011
+ */
12012
+ export type SkippedMetricLite = {
12013
+ /**
12014
+ * Rule Id
12015
+ *
12016
+ * Derive rule that was skipped.
12017
+ */
12018
+ rule_id: string;
12019
+ /**
12020
+ * Element Qname
12021
+ *
12022
+ * Metric element qname the rule targets.
12023
+ */
12024
+ element_qname?: string | null;
12025
+ /**
12026
+ * Reason
12027
+ *
12028
+ * Why the metric was skipped.
12029
+ */
12030
+ reason: string;
12031
+ /**
12032
+ * Missing
12033
+ *
12034
+ * Operand qnames with no bound fact at the period, when applicable.
12035
+ */
12036
+ missing?: Array<string>;
12037
+ };
12038
+
11834
12039
  /**
11835
12040
  * SqlStatementRequest
11836
12041
  */
@@ -12020,6 +12225,11 @@ export type StructureSummary = {
12020
12225
  * StructureUpdatePatch
12021
12226
  *
12022
12227
  * Partial-update patch for a single structure, keyed by structure_id.
12228
+ *
12229
+ * ``concept_arrangement`` makes a mis-CAP'd structure repairable in
12230
+ * place (e.g. promoting a ``set`` note to ``roll_up`` so it gains a
12231
+ * footing rule); ``block_type`` stays immutable — it drives block-type
12232
+ * routing, so changing it is a re-create, not an edit.
12023
12233
  */
12024
12234
  export type StructureUpdatePatch = {
12025
12235
  /**
@@ -12040,6 +12250,10 @@ export type StructureUpdatePatch = {
12040
12250
  * Role Uri
12041
12251
  */
12042
12252
  role_uri?: string | null;
12253
+ /**
12254
+ * Concept Arrangement
12255
+ */
12256
+ concept_arrangement?: 'set' | 'roll_up' | 'roll_forward' | 'roll_forward_info' | 'adjustment' | 'variance' | 'arithmetic' | 'text_block' | 'level1_textblock' | 'level2_textblock' | 'level3_textblock' | 'level4_detail' | 'table_equivalent_textblock' | 'grid' | 'compound_fact' | null;
12043
12257
  /**
12044
12258
  * Metadata
12045
12259
  */
@@ -22022,6 +22236,70 @@ export type EvaluateRulesResponses = {
22022
22236
 
22023
22237
  export type EvaluateRulesResponse2 = EvaluateRulesResponses[keyof EvaluateRulesResponses];
22024
22238
 
22239
+ export type ComputeMetricsData = {
22240
+ body: ComputeMetricsRequest;
22241
+ headers?: {
22242
+ /**
22243
+ * Idempotency-Key
22244
+ */
22245
+ 'Idempotency-Key'?: string | null;
22246
+ };
22247
+ path: {
22248
+ /**
22249
+ * Graph Id
22250
+ */
22251
+ graph_id: string;
22252
+ };
22253
+ query?: never;
22254
+ url: '/extensions/roboledger/{graph_id}/operations/compute-metrics';
22255
+ };
22256
+
22257
+ export type ComputeMetricsErrors = {
22258
+ /**
22259
+ * Invalid request
22260
+ */
22261
+ 400: ErrorResponse;
22262
+ /**
22263
+ * Authentication required
22264
+ */
22265
+ 401: ErrorResponse;
22266
+ /**
22267
+ * Access denied
22268
+ */
22269
+ 403: ErrorResponse;
22270
+ /**
22271
+ * Resource not found
22272
+ */
22273
+ 404: ErrorResponse;
22274
+ /**
22275
+ * Idempotency-Key conflict — key reused with different body
22276
+ */
22277
+ 409: ErrorResponse;
22278
+ /**
22279
+ * Validation error
22280
+ */
22281
+ 422: ErrorResponse;
22282
+ /**
22283
+ * Rate limit exceeded
22284
+ */
22285
+ 429: ErrorResponse;
22286
+ /**
22287
+ * Internal server error
22288
+ */
22289
+ 500: ErrorResponse;
22290
+ };
22291
+
22292
+ export type ComputeMetricsError = ComputeMetricsErrors[keyof ComputeMetricsErrors];
22293
+
22294
+ export type ComputeMetricsResponses = {
22295
+ /**
22296
+ * Successful Response
22297
+ */
22298
+ 200: OperationEnvelopeComputeMetricsResponse;
22299
+ };
22300
+
22301
+ export type ComputeMetricsResponse2 = ComputeMetricsResponses[keyof ComputeMetricsResponses];
22302
+
22025
22303
  export type BindTextBlockData = {
22026
22304
  body: BindTextBlockRequest;
22027
22305
  headers?: {