@yigemo/choosefire 0.1.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.
Files changed (62) hide show
  1. package/README.md +83 -0
  2. package/contracts/choosefire-family-wealth/v2/capability-matrix.v1.json +464 -0
  3. package/contracts/choosefire-family-wealth/v2/golden/performance.v1.json +79 -0
  4. package/contracts/choosefire-family-wealth/v2/golden/r2-contract.v1.json +1070 -0
  5. package/contracts/choosefire-family-wealth/v2/golden/scenarios.v1.json +241 -0
  6. package/contracts/choosefire-family-wealth/v2/golden/transport.v1.json +207 -0
  7. package/contracts/choosefire-family-wealth/v2/manifest.json +58 -0
  8. package/contracts/choosefire-family-wealth/v2/openapi.generated.json +2605 -0
  9. package/contracts/choosefire-family-wealth/v2/runtime-schemas/family-wealth.v2.schema.json +2127 -0
  10. package/contracts/choosefire-family-wealth/v2/taxonomies/account-types.v1.json +41 -0
  11. package/contracts/choosefire-family-wealth/v2/taxonomies/asset-classes.v1.json +45 -0
  12. package/contracts/choosefire-family-wealth/v2/taxonomies/transaction-types.v1.json +57 -0
  13. package/contracts/choosefire-financial-workspace/v1/field-registry.generated.json +137 -0
  14. package/contracts/choosefire-financial-workspace/v1/field-registry.manifest.json +11 -0
  15. package/contracts/choosefire-financial-workspace/v1/golden/commands.invalid.json +583 -0
  16. package/contracts/choosefire-financial-workspace/v1/golden/commands.valid.json +201 -0
  17. package/contracts/choosefire-financial-workspace/v1/golden/cursors.invalid.json +82 -0
  18. package/contracts/choosefire-financial-workspace/v1/golden/errors.invalid.json +191 -0
  19. package/contracts/choosefire-financial-workspace/v1/golden/errors.valid.json +298 -0
  20. package/contracts/choosefire-financial-workspace/v1/golden/fingerprints.json +105 -0
  21. package/contracts/choosefire-financial-workspace/v1/golden/projections.invalid.json +3543 -0
  22. package/contracts/choosefire-financial-workspace/v1/golden/projections.valid.json +2953 -0
  23. package/contracts/choosefire-financial-workspace/v1/manifest.json +69 -0
  24. package/contracts/choosefire-financial-workspace/v1/openapi.generated.json +1987 -0
  25. package/contracts/choosefire-financial-workspace/v1/runtime-schemas/financial-workspace.v1.schema.json +1496 -0
  26. package/dist/args.d.ts +5 -0
  27. package/dist/args.js +60 -0
  28. package/dist/args.js.map +1 -0
  29. package/dist/auth.d.ts +55 -0
  30. package/dist/auth.js +480 -0
  31. package/dist/auth.js.map +1 -0
  32. package/dist/commands.d.ts +4 -0
  33. package/dist/commands.js +637 -0
  34. package/dist/commands.js.map +1 -0
  35. package/dist/config.d.ts +10 -0
  36. package/dist/config.js +74 -0
  37. package/dist/config.js.map +1 -0
  38. package/dist/family-wealth-v2-contracts.d.ts +276 -0
  39. package/dist/family-wealth-v2-contracts.js +77 -0
  40. package/dist/family-wealth-v2-contracts.js.map +1 -0
  41. package/dist/family-wealth-v2-http.d.ts +65 -0
  42. package/dist/family-wealth-v2-http.js +340 -0
  43. package/dist/family-wealth-v2-http.js.map +1 -0
  44. package/dist/financial-workspace-contracts.d.ts +191 -0
  45. package/dist/financial-workspace-contracts.js +282 -0
  46. package/dist/financial-workspace-contracts.js.map +1 -0
  47. package/dist/http.d.ts +76 -0
  48. package/dist/http.js +446 -0
  49. package/dist/http.js.map +1 -0
  50. package/dist/index.d.ts +2 -0
  51. package/dist/index.js +50 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/output.d.ts +18 -0
  54. package/dist/output.js +111 -0
  55. package/dist/output.js.map +1 -0
  56. package/dist/token-store.d.ts +27 -0
  57. package/dist/token-store.js +408 -0
  58. package/dist/token-store.js.map +1 -0
  59. package/dist/types.d.ts +65 -0
  60. package/dist/types.js +5 -0
  61. package/dist/types.js.map +1 -0
  62. package/package.json +43 -0
@@ -0,0 +1,201 @@
1
+ [
2
+ {
3
+ "caseId": "activity-query-limit-max",
4
+ "input": {
5
+ "cursor": "synthetic-opaque-cursor-v1",
6
+ "limit": 100
7
+ },
8
+ "schema": "FinancialWorkspaceActivityQueryV1",
9
+ "valid": true
10
+ },
11
+ {
12
+ "caseId": "activity-query-limit-min",
13
+ "input": {
14
+ "limit": 1
15
+ },
16
+ "schema": "FinancialWorkspaceActivityQueryV1",
17
+ "valid": true
18
+ },
19
+ {
20
+ "caseId": "empty-get-request",
21
+ "input": {},
22
+ "schema": "FinancialWorkspaceEmptyRequestV1",
23
+ "valid": true
24
+ },
25
+ {
26
+ "caseId": "fact-command-canonical-max",
27
+ "input": {
28
+ "asOf": "2026-08-16T00:00:00.000Z",
29
+ "expectedVersion": 1,
30
+ "field": "household.total_assets",
31
+ "idempotencyKey": "fact-synthetic-001",
32
+ "kind": "financial_workspace_fact_record_command.v1",
33
+ "status": "estimated",
34
+ "value": {
35
+ "amount": "9007199254740991",
36
+ "currency": "USD",
37
+ "kind": "money.v1"
38
+ }
39
+ },
40
+ "normalized": {
41
+ "asOf": "2026-08-16T00:00:00.000Z",
42
+ "expectedVersion": 1,
43
+ "field": "household.total_assets",
44
+ "idempotencyKey": "fact-synthetic-001",
45
+ "kind": "financial_workspace_fact_record_command.v1",
46
+ "status": "estimated",
47
+ "value": {
48
+ "amount": "9007199254740991",
49
+ "currency": "USD",
50
+ "kind": "money.v1"
51
+ }
52
+ },
53
+ "schema": "FinancialWorkspaceFactRecordCommandV1",
54
+ "valid": true
55
+ },
56
+ {
57
+ "caseId": "fact-command-canonical-scale-eight",
58
+ "input": {
59
+ "expectedVersion": 1,
60
+ "field": "household.total_assets",
61
+ "idempotencyKey": "fact-synthetic-scale-eight",
62
+ "kind": "financial_workspace_fact_record_command.v1",
63
+ "value": {
64
+ "amount": "0.12345678",
65
+ "currency": "CNY",
66
+ "kind": "money.v1"
67
+ }
68
+ },
69
+ "normalized": {
70
+ "asOf": null,
71
+ "expectedVersion": 1,
72
+ "field": "household.total_assets",
73
+ "idempotencyKey": "fact-synthetic-scale-eight",
74
+ "kind": "financial_workspace_fact_record_command.v1",
75
+ "status": "confirmed",
76
+ "value": {
77
+ "amount": "0.12345678",
78
+ "currency": "CNY",
79
+ "kind": "money.v1"
80
+ }
81
+ },
82
+ "schema": "FinancialWorkspaceFactRecordCommandV1",
83
+ "valid": true
84
+ },
85
+ {
86
+ "caseId": "fact-command-canonical-zero",
87
+ "input": {
88
+ "asOf": "2026-08-16T08:00:00+08:00",
89
+ "expectedVersion": 1,
90
+ "field": "household.total_assets",
91
+ "idempotencyKey": "fact-synthetic-zero",
92
+ "kind": "financial_workspace_fact_record_command.v1",
93
+ "value": {
94
+ "amount": "0",
95
+ "currency": "CNY",
96
+ "kind": "money.v1"
97
+ }
98
+ },
99
+ "normalized": {
100
+ "asOf": "2026-08-16T00:00:00.000Z",
101
+ "expectedVersion": 1,
102
+ "field": "household.total_assets",
103
+ "idempotencyKey": "fact-synthetic-zero",
104
+ "kind": "financial_workspace_fact_record_command.v1",
105
+ "status": "confirmed",
106
+ "value": {
107
+ "amount": "0",
108
+ "currency": "CNY",
109
+ "kind": "money.v1"
110
+ }
111
+ },
112
+ "schema": "FinancialWorkspaceFactRecordCommandV1",
113
+ "valid": true
114
+ },
115
+ {
116
+ "caseId": "fact-command-canonical-zero-point-one",
117
+ "input": {
118
+ "asOf": "2026-08-16T08:00:00+08:00",
119
+ "expectedVersion": 1,
120
+ "field": "household.total_assets",
121
+ "idempotencyKey": "fact-synthetic-zero-point-one",
122
+ "kind": "financial_workspace_fact_record_command.v1",
123
+ "value": {
124
+ "amount": "0.1",
125
+ "currency": "CNY",
126
+ "kind": "money.v1"
127
+ }
128
+ },
129
+ "normalized": {
130
+ "asOf": "2026-08-16T00:00:00.000Z",
131
+ "expectedVersion": 1,
132
+ "field": "household.total_assets",
133
+ "idempotencyKey": "fact-synthetic-zero-point-one",
134
+ "kind": "financial_workspace_fact_record_command.v1",
135
+ "status": "confirmed",
136
+ "value": {
137
+ "amount": "0.1",
138
+ "currency": "CNY",
139
+ "kind": "money.v1"
140
+ }
141
+ },
142
+ "schema": "FinancialWorkspaceFactRecordCommandV1",
143
+ "valid": true
144
+ },
145
+ {
146
+ "caseId": "fact-command-normalizes-currency-defaults-and-offset",
147
+ "input": {
148
+ "asOf": "2026-08-16T08:00:00+08:00",
149
+ "expectedVersion": 1,
150
+ "field": "household.total_assets",
151
+ "idempotencyKey": "fact-synthetic-001",
152
+ "kind": "financial_workspace_fact_record_command.v1",
153
+ "value": {
154
+ "amount": "100.5",
155
+ "currency": " cny ",
156
+ "kind": "money.v1"
157
+ }
158
+ },
159
+ "normalized": {
160
+ "asOf": "2026-08-16T00:00:00.000Z",
161
+ "expectedVersion": 1,
162
+ "field": "household.total_assets",
163
+ "idempotencyKey": "fact-synthetic-001",
164
+ "kind": "financial_workspace_fact_record_command.v1",
165
+ "status": "confirmed",
166
+ "value": {
167
+ "amount": "100.5",
168
+ "currency": "CNY",
169
+ "kind": "money.v1"
170
+ }
171
+ },
172
+ "schema": "FinancialWorkspaceFactRecordCommandV1",
173
+ "valid": true
174
+ },
175
+ {
176
+ "caseId": "initialize-command",
177
+ "input": {
178
+ "idempotencyKey": "initialize-synthetic-001",
179
+ "kind": "financial_workspace_initialize_command.v1"
180
+ },
181
+ "normalized": {
182
+ "idempotencyKey": "initialize-synthetic-001",
183
+ "kind": "financial_workspace_initialize_command.v1"
184
+ },
185
+ "schema": "InitializeFinancialWorkspaceCommandV1",
186
+ "valid": true
187
+ },
188
+ {
189
+ "caseId": "initialize-idempotency-max-length",
190
+ "input": {
191
+ "idempotencyKey": "iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii",
192
+ "kind": "financial_workspace_initialize_command.v1"
193
+ },
194
+ "normalized": {
195
+ "idempotencyKey": "iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii",
196
+ "kind": "financial_workspace_initialize_command.v1"
197
+ },
198
+ "schema": "InitializeFinancialWorkspaceCommandV1",
199
+ "valid": true
200
+ }
201
+ ]
@@ -0,0 +1,82 @@
1
+ [
2
+ {
3
+ "caseId": "cursor-authority-mismatch",
4
+ "classification": "WORKSPACE_AUTHORITY_MISMATCH",
5
+ "decoderState": "enabled",
6
+ "input": {
7
+ "expected": {
8
+ "retentionEpoch": 1,
9
+ "workspaceIdentity": "202"
10
+ },
11
+ "token": "cfw_activity_v1.synthetic-key-v1.DAsKCQgHBgUEAwIB.bKNqKM6MzseE_MZt_A2z_hNAXEJMcAI6NmyJboCajDgLQ8rHOPQz_oOMw4XrDIvstR30ZMs441HG4nfxePrCBsPQXRpIHLGnUX5VLS__cA93eI3QTa4hD6-qO6MpGMncV6V_EW7eNDxmwx7j-3cx6JqTLIkZ58nk5H3xBrgb8-0oLLd2vrgEXK3Eby1z3IU2ow5NOlx1NUvIACx9DUcm2yuNLPADwZkD7yMfXHIR4baonCwtpHdtNZDF7hVFtSzqjKdmIgMRTjAkkT0U8L1z34Xk9Pq7qgRl5Ta3CfZd77egHV3EjB5RHu4kX9w-vk46Wugr.AnAC5WPeGPfsT9rOwL6BnQ"
12
+ },
13
+ "now": 1776297601,
14
+ "schema": "choosefire-workspace-activity-cursor.v1",
15
+ "syntheticTestOnly": true,
16
+ "valid": false
17
+ },
18
+ {
19
+ "caseId": "cursor-expired",
20
+ "classification": "CURSOR_EXPIRED",
21
+ "decoderState": "enabled",
22
+ "input": {
23
+ "expected": {
24
+ "retentionEpoch": 1,
25
+ "workspaceIdentity": "201"
26
+ },
27
+ "token": "cfw_activity_v1.synthetic-key-v1.DAsKCQgHBgUEAwIB.bKNqKM6MzseE_MZt_A2z_hNAXEJMcAI6NmyJboCajDgLQ8rHOPQz_oOMw4XrDIvstR30ZMs441HG4nfxePrCBsPQXRpIHLGnUX5VLS__cA93eI3QTa4hD6-qO6MpGMncV6V_EW7eNDxmwx7j-3cx6JqTLIkZ58nk5H3xBrgb8-0oLLd2vrgEXK3Eby1z3IU2ow5NOlx1NUvIACx9DUcm2yuNLPADwZkD7yMfXHIR4baonCwtpHdtNZDF7hVFtSzqjKdmIgMRTjAkkT0U8L1z34Xk9Pq7qgRl5Ta3CfZd77egHV3EjB5RHu4kX9w-vk46Wugr.AnAC5WPeGPfsT9rOwL6BnQ"
28
+ },
29
+ "now": 1776297901,
30
+ "schema": "choosefire-workspace-activity-cursor.v1",
31
+ "syntheticTestOnly": true,
32
+ "valid": false
33
+ },
34
+ {
35
+ "caseId": "cursor-malformed",
36
+ "classification": "VALIDATION_ERROR",
37
+ "decoderState": "enabled",
38
+ "input": {
39
+ "expected": {
40
+ "retentionEpoch": 1,
41
+ "workspaceIdentity": "201"
42
+ },
43
+ "token": "not-a-cursor"
44
+ },
45
+ "now": 1776297601,
46
+ "schema": "choosefire-workspace-activity-cursor.v1",
47
+ "syntheticTestOnly": true,
48
+ "valid": false
49
+ },
50
+ {
51
+ "caseId": "cursor-retired-key",
52
+ "classification": "CURSOR_EXPIRED",
53
+ "decoderState": "retired",
54
+ "input": {
55
+ "expected": {
56
+ "retentionEpoch": 1,
57
+ "workspaceIdentity": "201"
58
+ },
59
+ "token": "cfw_activity_v1.synthetic-key-v1.DAsKCQgHBgUEAwIB.bKNqKM6MzseE_MZt_A2z_hNAXEJMcAI6NmyJboCajDgLQ8rHOPQz_oOMw4XrDIvstR30ZMs441HG4nfxePrCBsPQXRpIHLGnUX5VLS__cA93eI3QTa4hD6-qO6MpGMncV6V_EW7eNDxmwx7j-3cx6JqTLIkZ58nk5H3xBrgb8-0oLLd2vrgEXK3Eby1z3IU2ow5NOlx1NUvIACx9DUcm2yuNLPADwZkD7yMfXHIR4baonCwtpHdtNZDF7hVFtSzqjKdmIgMRTjAkkT0U8L1z34Xk9Pq7qgRl5Ta3CfZd77egHV3EjB5RHu4kX9w-vk46Wugr.AnAC5WPeGPfsT9rOwL6BnQ"
60
+ },
61
+ "now": 1776297601,
62
+ "schema": "choosefire-workspace-activity-cursor.v1",
63
+ "syntheticTestOnly": true,
64
+ "valid": false
65
+ },
66
+ {
67
+ "caseId": "cursor-tampered",
68
+ "classification": "VALIDATION_ERROR",
69
+ "decoderState": "enabled",
70
+ "input": {
71
+ "expected": {
72
+ "retentionEpoch": 1,
73
+ "workspaceIdentity": "201"
74
+ },
75
+ "token": "cfw_activity_v1.synthetic-key-v1.DAsKCQgHBgUEAwIB.bKNqKM6MzseE_MZt_A2z_hNAXEJMcAI6NmyJboCajDgLQ8rHOPQz_oOMw4XrDIvstR30ZMs441HG4nfxePrCBsPQXRpIHLGnUX5VLS__cA93eI3QTa4hD6-qO6MpGMncV6V_EW7eNDxmwx7j-3cx6JqTLIkZ58nk5H3xBrgb8-0oLLd2vrgEXK3Eby1z3IU2ow5NOlx1NUvIACx9DUcm2yuNLPADwZkD7yMfXHIR4baonCwtpHdtNZDF7hVFtSzqjKdmIgMRTjAkkT0U8L1z34Xk9Pq7qgRl5Ta3CfZd77egHV3EjB5RHu4kX9w-vk46Wugr.AnAC5WPeGPfsT9rOwL6BnA"
76
+ },
77
+ "now": 1776297601,
78
+ "schema": "choosefire-workspace-activity-cursor.v1",
79
+ "syntheticTestOnly": true,
80
+ "valid": false
81
+ }
82
+ ]
@@ -0,0 +1,191 @@
1
+ [
2
+ {
3
+ "caseId": "error-cursor-expired-empty-cursor",
4
+ "classification": "REMOTE_RESPONSE_INVALID",
5
+ "input": {
6
+ "code": "CURSOR_EXPIRED",
7
+ "error": {
8
+ "data": {
9
+ "recovery": ""
10
+ },
11
+ "message": "Synthetic CURSOR_EXPIRED"
12
+ },
13
+ "kind": "financial_workspace_error.v1",
14
+ "status": "error",
15
+ "success": false
16
+ },
17
+ "schema": "ErrorEnvelope410V1",
18
+ "valid": false
19
+ },
20
+ {
21
+ "caseId": "error-empty-data-has-extra-key",
22
+ "classification": "REMOTE_RESPONSE_INVALID",
23
+ "input": {
24
+ "code": "AUTH_REQUIRED",
25
+ "error": {
26
+ "data": {
27
+ "leaked": true
28
+ },
29
+ "message": "Synthetic AUTH_REQUIRED"
30
+ },
31
+ "kind": "financial_workspace_error.v1",
32
+ "status": "error",
33
+ "success": false
34
+ },
35
+ "schema": "ErrorEnvelope401V1",
36
+ "valid": false
37
+ },
38
+ {
39
+ "caseId": "error-http-401-with-version-conflict-code",
40
+ "classification": "REMOTE_RESPONSE_INVALID",
41
+ "httpStatus": 401,
42
+ "input": {
43
+ "code": "VERSION_CONFLICT",
44
+ "error": {
45
+ "data": {
46
+ "currentCursor": "synthetic-opaque-cursor-v1",
47
+ "currentVersion": 2
48
+ },
49
+ "message": "Synthetic VERSION_CONFLICT"
50
+ },
51
+ "kind": "financial_workspace_error.v1",
52
+ "status": "error",
53
+ "success": false
54
+ },
55
+ "schema": "ErrorEnvelope401V1",
56
+ "valid": false
57
+ },
58
+ {
59
+ "caseId": "error-http-503-with-auth-required-code",
60
+ "classification": "REMOTE_RESPONSE_INVALID",
61
+ "httpStatus": 503,
62
+ "input": {
63
+ "code": "AUTH_REQUIRED",
64
+ "error": {
65
+ "data": {},
66
+ "message": "Synthetic AUTH_REQUIRED"
67
+ },
68
+ "kind": "financial_workspace_error.v1",
69
+ "status": "error",
70
+ "success": false
71
+ },
72
+ "schema": "ErrorEnvelope503V1",
73
+ "valid": false
74
+ },
75
+ {
76
+ "caseId": "error-message-over-max",
77
+ "classification": "REMOTE_RESPONSE_INVALID",
78
+ "input": {
79
+ "code": "AUTH_REQUIRED",
80
+ "error": {
81
+ "data": {},
82
+ "message": "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm"
83
+ },
84
+ "kind": "financial_workspace_error.v1",
85
+ "status": "error",
86
+ "success": false
87
+ },
88
+ "schema": "ErrorEnvelope401V1",
89
+ "valid": false
90
+ },
91
+ {
92
+ "caseId": "error-missing-data",
93
+ "classification": "REMOTE_RESPONSE_INVALID",
94
+ "input": {
95
+ "code": "AUTH_REQUIRED",
96
+ "error": {
97
+ "message": "Synthetic auth error"
98
+ },
99
+ "kind": "financial_workspace_error.v1",
100
+ "status": "error",
101
+ "success": false
102
+ },
103
+ "schema": "ErrorEnvelope401V1",
104
+ "valid": false
105
+ },
106
+ {
107
+ "caseId": "error-request-id-over-max",
108
+ "classification": "REMOTE_RESPONSE_INVALID",
109
+ "input": {
110
+ "code": "AUTH_REQUIRED",
111
+ "error": {
112
+ "data": {},
113
+ "message": "Synthetic auth error",
114
+ "requestId": "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr"
115
+ },
116
+ "kind": "financial_workspace_error.v1",
117
+ "status": "error",
118
+ "success": false
119
+ },
120
+ "schema": "ErrorEnvelope401V1",
121
+ "valid": false
122
+ },
123
+ {
124
+ "caseId": "error-transaction-retryable-bad-bound",
125
+ "classification": "REMOTE_RESPONSE_INVALID",
126
+ "input": {
127
+ "code": "TRANSACTION_RETRYABLE",
128
+ "error": {
129
+ "data": {
130
+ "retryAfterMs": 30001
131
+ },
132
+ "message": "Synthetic TRANSACTION_RETRYABLE"
133
+ },
134
+ "kind": "financial_workspace_error.v1",
135
+ "status": "error",
136
+ "success": false
137
+ },
138
+ "schema": "ErrorEnvelope503V1",
139
+ "valid": false
140
+ },
141
+ {
142
+ "caseId": "error-transaction-retryable-below-bound",
143
+ "classification": "REMOTE_RESPONSE_INVALID",
144
+ "input": {
145
+ "code": "TRANSACTION_RETRYABLE",
146
+ "error": {
147
+ "data": {
148
+ "retryAfterMs": 99
149
+ },
150
+ "message": "Synthetic TRANSACTION_RETRYABLE"
151
+ },
152
+ "kind": "financial_workspace_error.v1",
153
+ "status": "error",
154
+ "success": false
155
+ },
156
+ "schema": "ErrorEnvelope503V1",
157
+ "valid": false
158
+ },
159
+ {
160
+ "caseId": "error-unknown-code",
161
+ "classification": "REMOTE_RESPONSE_INVALID",
162
+ "input": {
163
+ "code": "INTERNAL_ERROR",
164
+ "error": {
165
+ "data": {},
166
+ "message": "Synthetic INTERNAL_ERROR"
167
+ },
168
+ "kind": "financial_workspace_error.v1",
169
+ "status": "error",
170
+ "success": false
171
+ },
172
+ "schema": "ErrorEnvelope503V1",
173
+ "valid": false
174
+ },
175
+ {
176
+ "caseId": "error-version-conflict-empty-data",
177
+ "classification": "REMOTE_RESPONSE_INVALID",
178
+ "input": {
179
+ "code": "VERSION_CONFLICT",
180
+ "error": {
181
+ "data": {},
182
+ "message": "Synthetic VERSION_CONFLICT"
183
+ },
184
+ "kind": "financial_workspace_error.v1",
185
+ "status": "error",
186
+ "success": false
187
+ },
188
+ "schema": "ErrorEnvelope409V1",
189
+ "valid": false
190
+ }
191
+ ]