@warmio/contracts 3.0.0 → 3.0.2

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 (52) hide show
  1. package/dist/examples/financial-context.d.ts.map +1 -1
  2. package/dist/examples/financial-context.js +2 -1
  3. package/dist/examples/financial-context.js.map +1 -1
  4. package/dist/generated/base-openapi.d.ts +1 -1
  5. package/dist/generated/base-openapi.d.ts.map +1 -1
  6. package/dist/generated/base-openapi.js +1 -1
  7. package/dist/generated/base-openapi.js.map +1 -1
  8. package/dist/generated/mcp-package-release-metadata.d.ts +1 -1
  9. package/dist/generated/mcp-package-release-metadata.js +1 -1
  10. package/dist/generated/private-mcp-tool-descriptors.d.ts +28 -5
  11. package/dist/generated/private-mcp-tool-descriptors.d.ts.map +1 -1
  12. package/dist/generated/private-mcp-tool-descriptors.js +38 -6
  13. package/dist/generated/private-mcp-tool-descriptors.js.map +1 -1
  14. package/dist/generated/protected-crawler-paths.d.ts +1 -1
  15. package/dist/generated/protected-crawler-paths.d.ts.map +1 -1
  16. package/dist/generated/protected-crawler-paths.js +3 -0
  17. package/dist/generated/protected-crawler-paths.js.map +1 -1
  18. package/dist/generated/warm-app-api-manifest.d.ts +47 -13
  19. package/dist/generated/warm-app-api-manifest.d.ts.map +1 -1
  20. package/dist/generated/warm-app-api-manifest.js +57 -14
  21. package/dist/generated/warm-app-api-manifest.js.map +1 -1
  22. package/dist/manifest.d.ts +193 -18
  23. package/dist/manifest.d.ts.map +1 -1
  24. package/dist/manifest.js +10 -1
  25. package/dist/manifest.js.map +1 -1
  26. package/dist/mcp/distribution.d.ts +20 -0
  27. package/dist/mcp/distribution.d.ts.map +1 -1
  28. package/dist/mcp/distribution.js +98 -11
  29. package/dist/mcp/distribution.js.map +1 -1
  30. package/dist/mcp/tools.d.ts +1030 -26
  31. package/dist/mcp/tools.d.ts.map +1 -1
  32. package/dist/mcp/tools.js +11 -10
  33. package/dist/mcp/tools.js.map +1 -1
  34. package/dist/openapi/base.yaml +12 -9
  35. package/dist/openapi/build-openapi.d.ts +7 -2
  36. package/dist/openapi/build-openapi.d.ts.map +1 -1
  37. package/dist/openapi/build-openapi.js +23 -10
  38. package/dist/openapi/build-openapi.js.map +1 -1
  39. package/dist/product.d.ts.map +1 -1
  40. package/dist/product.js +9 -1
  41. package/dist/product.js.map +1 -1
  42. package/dist/schemas/financial-context.d.ts +33 -0
  43. package/dist/schemas/financial-context.d.ts.map +1 -1
  44. package/dist/schemas/financial-context.js +21 -6
  45. package/dist/schemas/financial-context.js.map +1 -1
  46. package/dist/schemas/public-api.d.ts +18 -0
  47. package/dist/schemas/public-api.d.ts.map +1 -1
  48. package/dist/schemas/public-api.js +7 -1
  49. package/dist/schemas/public-api.js.map +1 -1
  50. package/dist/types.d.ts +8 -2
  51. package/dist/types.d.ts.map +1 -1
  52. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;AAW1C,eAAO,MAAM,kBAAkB,IAA2B,CAAC;AAC3D,eAAO,MAAM,4BAA4B;;CAOlB,CAAC;AACxB,eAAO,MAAM,6BAA6B;;CAEnB,CAAC;AACxB,eAAO,MAAM,8BAA8B;;;;;;;;;;;;CAKpB,CAAC;AACxB,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;CAOlB,CAAC;AAExB,eAAO,MAAM,6BAA6B;;;;;;EAAkD,CAAC;AAE7F,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC;;;;;;EAKrD;AAWD,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE;QAAE,eAAe,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;IACzF,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,WAAW,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC;CAC5B,CAAC;AAWF,eAAO,MAAM,yBAAyB,0GAyCW,CAAC;AAElD,eAAO,MAAM,yBAAyB;iBA3DvB;QAAE,eAAe,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE;iBAC3E,MAAM;UAEb,MAAM;;;;;;;GAoEb,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAoB,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAY3E,eAAO,MAAM,kBAAkB,IAA2B,CAAC;AAC3D,eAAO,MAAM,4BAA4B;;CAMlB,CAAC;AACxB,eAAO,MAAM,6BAA6B;;CAEnB,CAAC;AACxB,eAAO,MAAM,8BAA8B;;;;;;;;;;;;CAKpB,CAAC;AACxB,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;CAOlB,CAAC;AAExB,eAAO,MAAM,6BAA6B;;;;;;EAAkD,CAAC;AAE7F,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC;;;;;;EAKrD;AAsBD,KAAK,mBAAmB,GAAG,eAAe,GAAG;IAC3C,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,GAAG,SAAS,CAAC;CAC9D,CAAC;AAWF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCW,CAAC;AAElD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUrC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC"}
package/dist/mcp/tools.js CHANGED
@@ -1,11 +1,11 @@
1
+ /* oxlint-disable anti-slop/no-shape-in-symbol-names -- ZodRawShape and inputShape are canonical Zod/MCP contract terms. */
1
2
  import { z } from 'zod';
2
3
  import { zodToJsonSchema } from 'zod-to-json-schema';
3
- import { automationInputSchema, automationOperationDescriptionResponseSchema, automationOperationSearchResponseSchema, financialContextSchema, latestTransactionsSchema, transactionMonthSchema, } from '../schemas/index.js';
4
+ import { automationInputSchema, automationOperationDescriptionResponseSchema, automationOperationSearchResponseSchema, financialContextMonthSchema, FINANCIAL_CONTEXT_POSITION_DESCRIPTION, financialContextSchema, latestTransactionsSchema, transactionMonthSchema, } from '../schemas/index.js';
4
5
  export const emptyMcpInputShape = {};
5
6
  export const getTransactionsMcpInputShape = {
6
7
  period: z
7
- .string()
8
- .regex(/^(?:latest|\d{4}-\d{2})$/, 'Expected "latest" or a YYYY-MM month.')
8
+ .union([z.literal('latest'), financialContextMonthSchema])
9
9
  .describe('Use "latest" for the fixed 10-day window or a YYYY-MM month. Months outside the covered range return an error.'),
10
10
  };
11
11
  export const searchOperationsMcpInputShape = {
@@ -40,16 +40,17 @@ const operationInvokeOutputSchema = z
40
40
  })
41
41
  .strict();
42
42
  const tool = (definition) => definition;
43
- const normalizeJsonSchema = (schema) => ({
44
- ...schema,
45
- ...(schema.$schema === 'http://json-schema.org/draft-07/schema#'
46
- ? { $schema: 'https://json-schema.org/draft-07/schema#' }
47
- : {}),
48
- });
43
+ const normalizeJsonSchema = (schema) => {
44
+ const normalizedSchema = { ...schema };
45
+ if (normalizedSchema.$schema === 'http://json-schema.org/draft-07/schema#') {
46
+ normalizedSchema.$schema = 'https://json-schema.org/draft-07/schema#';
47
+ }
48
+ return normalizedSchema;
49
+ };
49
50
  export const privateMcpToolDefinitions = [
50
51
  tool({
51
52
  name: 'get_financial_context',
52
- description: 'Read-only compact FinancialContext JSON. Includes status.position, status.accounts, transaction index total/months, recurring, budgets, goals, snapshots, liabilities, holdings, and health. Transaction items are not inline; use get_transactions for items.',
53
+ description: `Read-only compact FinancialContext JSON. Includes status.position, status.accounts, transaction index total/months, recurring, budgets, goals, snapshots, liabilities, holdings, and health. ${FINANCIAL_CONTEXT_POSITION_DESCRIPTION} Transaction items are not inline; use get_transactions for items.`,
53
54
  annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },
54
55
  inputShape: emptyMcpInputShape,
55
56
  outputSchema: financialContextSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,9 @@ info:
13
13
 
14
14
  ## Rate Limits
15
15
  - API keys: 500 requests per hour per key
16
- - Rate limit headers included in authenticated responses
16
+ - Rate limit headers are included only on routes that document a `429` response
17
17
  - `/api/export` supports dataset-scoped delta sync with `since` and publishes edge-cache metadata headers
18
- version: '3.0.0'
18
+ version: '3.0.2'
19
19
  contact:
20
20
  name: Warm Support
21
21
  url: https://warm.io/support
@@ -50,9 +50,6 @@ paths:
50
50
  $ref: '#/components/responses/Unauthorized'
51
51
  '403':
52
52
  $ref: '#/components/responses/Forbidden'
53
- '429':
54
- $ref: '#/components/responses/RateLimited'
55
-
56
53
  /api/export:
57
54
  get:
58
55
  operationId: getDatasetExport
@@ -137,6 +134,10 @@ paths:
137
134
  - $ref: '#/components/schemas/ExportHoldingsResponse'
138
135
  '400':
139
136
  description: Invalid query parameters
137
+ content:
138
+ application/json:
139
+ schema:
140
+ $ref: '#/components/schemas/Error'
140
141
  '401':
141
142
  $ref: '#/components/responses/Unauthorized'
142
143
  '403':
@@ -1042,8 +1043,8 @@ components:
1042
1043
  valid:
1043
1044
  type: boolean
1044
1045
  enum: [true]
1045
- description: Human-readable error message
1046
- example: Invalid API key.
1046
+ description: True when the credential is valid and has API access
1047
+ example: true
1047
1048
 
1048
1049
  FinancialContext:
1049
1050
  type: object
@@ -1111,6 +1112,7 @@ components:
1111
1112
  - accounts
1112
1113
  properties:
1113
1114
  position:
1115
+ description: The status.position field is a point-in-time (as-of-date) balance snapshot, separate from transaction and behavior windows. A null position means no position snapshot is available.
1114
1116
  oneOf:
1115
1117
  - $ref: '#/components/schemas/FinancialContextPosition'
1116
1118
  - type: 'null'
@@ -1121,6 +1123,7 @@ components:
1121
1123
 
1122
1124
  FinancialContextPosition:
1123
1125
  type: object
1126
+ description: The status.position field is a point-in-time (as-of-date) balance snapshot, separate from transaction and behavior windows. A null position means no position snapshot is available.
1124
1127
  required:
1125
1128
  - date
1126
1129
  - net_worth
@@ -1221,7 +1224,7 @@ components:
1221
1224
  properties:
1222
1225
  month:
1223
1226
  type: string
1224
- pattern: '^\d{4}-\d{2}$'
1227
+ pattern: '^\d{4}-(0[1-9]|1[0-2])$'
1225
1228
  count:
1226
1229
  type: integer
1227
1230
  minimum: 0
@@ -1237,7 +1240,7 @@ components:
1237
1240
  properties:
1238
1241
  month:
1239
1242
  type: string
1240
- pattern: '^\d{4}-\d{2}$'
1243
+ pattern: '^\d{4}-(0[1-9]|1[0-2])$'
1241
1244
  start_date:
1242
1245
  type: string
1243
1246
  format: date
@@ -1,13 +1,18 @@
1
+ type OpenApiValue = string | number | boolean | null | OpenApiValue[] | OpenApiRecord;
2
+ interface OpenApiRecord {
3
+ [key: string]: OpenApiValue;
4
+ }
1
5
  type OpenApiOperation = {
2
6
  description?: string;
3
7
  operationId?: string;
8
+ responses?: OpenApiRecord;
4
9
  security?: Array<Record<string, never[]>>;
5
10
  summary?: string;
6
11
  };
7
12
  type OpenApiDocument = {
8
13
  components?: {
9
- schemas?: Record<string, unknown>;
10
- securitySchemes?: Record<string, unknown>;
14
+ schemas?: OpenApiRecord;
15
+ securitySchemes?: OpenApiRecord;
11
16
  };
12
17
  info?: {
13
18
  description?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"build-openapi.d.ts","sourceRoot":"","sources":["../../src/openapi/build-openapi.ts"],"names":[],"mappings":"AA+CA,KAAK,gBAAgB,GAAG;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AACF,KAAK,eAAe,GAAG;IACrB,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC3C,CAAC;IACF,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD,CAAC;AAgBF;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,CAqItD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
1
+ {"version":3,"file":"build-openapi.d.ts","sourceRoot":"","sources":["../../src/openapi/build-openapi.ts"],"names":[],"mappings":"AAgDA,KAAK,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,YAAY,EAAE,GAAG,aAAa,CAAC;AACtF,UAAU,aAAa;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC;CAC7B;AAMD,KAAK,gBAAgB,GAAG;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AACF,KAAK,eAAe,GAAG;IACrB,UAAU,CAAC,EAAE;QAEX,OAAO,CAAC,EAAE,aAAa,CAAC;QAExB,eAAe,CAAC,EAAE,aAAa,CAAC;KACjC,CAAC;IACF,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD,CAAC;AAmBF;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,CA2ItD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
@@ -3,16 +3,24 @@ import { parse, stringify } from 'yaml';
3
3
  import { apiAuthorizationCapabilities, apiEndpointManifest, apiKeyAuthScheme, API_ORIGIN, WARM_API_KEY_RATE_LIMIT_PER_HOUR, } from '../api/index.js';
4
4
  import { baseOpenApiYaml } from '../generated/base-openapi.js';
5
5
  import { automationInputSchema, automationInvocationResponseSchema, automationOperationSchema, describeOperationRequestSchema, exportAccountSchema, exportBudgetSchema, exportDatasetResponseSchemas, exportGoalSchema, exportHealthSchema, exportHoldingSchema, exportLiabilitySchema, exportPaginationSchema, exportRecurringSchema, exportSnapshotSchema, exportTransactionSchema, financialContextMetaSchema, financialContextAccountSchema, financialContextBudgetSchema, financialContextGoalSchema, financialContextHealthSchema, financialContextHoldingSchema, financialContextLiabilitySchema, financialContextPositionSchema, financialContextRecurringSchema, financialContextSchema, financialContextSnapshotSchema, financialContextStatusSchema, financialContextTransactionIndexSchema, financialContextTransactionSchema, invokeOperationRequestSchema, latestTransactionsSchema, publicApiErrorSchema, transactionMonthSchema, verifyApiResponseSchema, } from '../schemas/index.js';
6
+ function isOpenApiRecord(value) {
7
+ return Object(value) === value && !Array.isArray(value);
8
+ }
6
9
  function cloneBaseDocument() {
7
- return parse(baseOpenApiYaml);
10
+ const parsed = parse(baseOpenApiYaml);
11
+ if (!isOpenApiRecord(parsed))
12
+ throw new Error('The OpenAPI base document must be an object.');
13
+ return parsed;
8
14
  }
9
15
  function schema(value) {
10
16
  const generated = zodToJsonSchema(value, { $refStrategy: 'none' });
17
+ if (!isOpenApiRecord(generated))
18
+ throw new Error('Generated OpenAPI schema must be an object.');
11
19
  return {
12
20
  ...generated,
13
- ...(generated.$schema === 'http://json-schema.org/draft-07/schema#'
14
- ? { $schema: 'https://json-schema.org/draft-07/schema#' }
15
- : {}),
21
+ ...(generated['$schema'] === 'http://json-schema.org/draft-07/schema#' && {
22
+ $schema: 'https://json-schema.org/draft-07/schema#',
23
+ }),
16
24
  };
17
25
  }
18
26
  /**
@@ -37,7 +45,7 @@ ${apiAuthorizationCapabilities.read_only.openApiDescription} ${apiAuthorizationC
37
45
 
38
46
  ## Rate Limits
39
47
  - API keys: ${WARM_API_KEY_RATE_LIMIT_PER_HOUR} requests per hour per key
40
- - Rate limit headers are included in authenticated responses.
48
+ - Rate limit headers are included only on routes that document a \`429\` response.
41
49
  - \`/api/export\` supports dataset-scoped delta sync with \`since\` and publishes edge-cache metadata headers.`;
42
50
  document.servers[0].url = API_ORIGIN;
43
51
  document.components.securitySchemes = {
@@ -62,6 +70,11 @@ ${apiAuthorizationCapabilities.read_only.openApiDescription} ${apiAuthorizationC
62
70
  .filter(Boolean)
63
71
  .join('\n\n');
64
72
  }
73
+ const verifyResponseSchema = schema(verifyApiResponseSchema);
74
+ const responseProperties = verifyResponseSchema['properties'];
75
+ if (isOpenApiRecord(responseProperties) && isOpenApiRecord(responseProperties['valid'])) {
76
+ responseProperties['valid']['example'] = true;
77
+ }
65
78
  Object.assign(document.components.schemas, {
66
79
  AutomationInvocationResponse: schema(automationInvocationResponseSchema),
67
80
  AutomationOperation: schema(automationOperationSchema),
@@ -103,15 +116,15 @@ ${apiAuthorizationCapabilities.read_only.openApiDescription} ${apiAuthorizationC
103
116
  TransactionMonth: schema(transactionMonthSchema),
104
117
  TransactionIndex: schema(financialContextTransactionIndexSchema),
105
118
  Error: schema(publicApiErrorSchema),
106
- VerifyApiResponse: schema(verifyApiResponseSchema),
119
+ VerifyApiResponse: verifyResponseSchema,
107
120
  });
108
- const verifyOperation = document.paths['/api/verify']?.get;
109
- const exportOperation = document.paths['/api/export']?.get;
121
+ const verifyOperation = document.paths['/api/verify']?.['get'];
122
+ const exportOperation = document.paths['/api/export']?.['get'];
110
123
  if (!verifyOperation || !exportOperation) {
111
124
  throw new Error('The OpenAPI base document is missing verify or export operations.');
112
125
  }
113
126
  verifyOperation.responses = {
114
- ...verifyOperation.responses,
127
+ ...(verifyOperation.responses ?? {}),
115
128
  '200': {
116
129
  content: {
117
130
  'application/json': {
@@ -122,7 +135,7 @@ ${apiAuthorizationCapabilities.read_only.openApiDescription} ${apiAuthorizationC
122
135
  },
123
136
  };
124
137
  exportOperation.responses = {
125
- ...exportOperation.responses,
138
+ ...(exportOperation.responses ?? {}),
126
139
  '200': {
127
140
  content: {
128
141
  'application/json': {
@@ -1 +1 @@
1
- {"version":3,"file":"build-openapi.js","sourceRoot":"","sources":["../../src/openapi/build-openapi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-openapi.js","sourceRoot":"","sources":["../../src/openapi/build-openapi.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"product.d.ts","sourceRoot":"","sources":["../src/product.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,kBAAkB,YAAI,MAAM,EAAE,KAAK,CAAU,CAAC;AAC3D,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,eAAO,MAAM,4BAA4B;aACvC,kBAAkB;iBAAI,KAAK,EAAE,oBAAoB;iBAAE,KAAK;;aACxD,UAAU;iBAAI,KAAK,EAAE,2BAA2B;iBAAE,KAAK;;aACvD,SAAS;iBAAI,KAAK,EAAE,qBAAqB;iBAAE,KAAK;;aAChD,aAAa;iBAAI,KAAK,EAAE,mBAAmB;iBAAE,KAAK;;aAClD,sBAAsB;iBAAI,KAAK,EAAE,wBAAwB;iBAAE,KAAK;;aAChE,kBAAkB;iBAAI,KAAK,EAAE,oBAAoB;iBAAE,KAAK;;aACxD,OAAO;iBAAI,KAAK,EAAE,SAAS;iBAAE,KAAK;;aAClC,eAAe;iBAAI,KAAK,EAAE,iBAAiB;iBAAE,KAAK;;CAC1C,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,4BAA4B,CAAC;AAE5E,eAAO,MAAM,iCAAiC,EAEzC,aAAa,CAAC;IAAE,EAAE,EAAE,mBAAmB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"product.d.ts","sourceRoot":"","sources":["../src/product.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,kBAAkB,YAAI,MAAM,EAAE,KAAK,CAAU,CAAC;AAC3D,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,eAAO,MAAM,4BAA4B;aACvC,kBAAkB;iBAAI,KAAK,EAAE,oBAAoB;iBAAE,KAAK;;aACxD,UAAU;iBAAI,KAAK,EAAE,2BAA2B;iBAAE,KAAK;;aACvD,SAAS;iBAAI,KAAK,EAAE,qBAAqB;iBAAE,KAAK;;aAChD,aAAa;iBAAI,KAAK,EAAE,mBAAmB;iBAAE,KAAK;;aAClD,sBAAsB;iBAAI,KAAK,EAAE,wBAAwB;iBAAE,KAAK;;aAChE,kBAAkB;iBAAI,KAAK,EAAE,oBAAoB;iBAAE,KAAK;;aACxD,OAAO;iBAAI,KAAK,EAAE,SAAS;iBAAE,KAAK;;aAClC,eAAe;iBAAI,KAAK,EAAE,iBAAiB;iBAAE,KAAK;;CAC1C,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,4BAA4B,CAAC;AAM5E,eAAO,MAAM,iCAAiC,EAAE,aAAa,CAAC;IAC5D,EAAE,EAAE,mBAAmB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACrC,CAIC,CAAC"}
package/dist/product.js CHANGED
@@ -13,5 +13,13 @@ export const productCapabilityDefinitions = {
13
13
  support: { label: 'Support', tiers: publicProductTiers },
14
14
  wealth_tracking: { label: 'Wealth tracking', tiers: publicProductTiers },
15
15
  };
16
- export const publicProductCapabilityProjection = Object.entries(productCapabilityDefinitions).map(([id, definition]) => ({ id, label: definition.label, tiers: definition.tiers }));
16
+ function isProductCapabilityId(value) {
17
+ return value in productCapabilityDefinitions;
18
+ }
19
+ export const publicProductCapabilityProjection = Object.keys(productCapabilityDefinitions).map((id) => {
20
+ if (!isProductCapabilityId(id))
21
+ throw new Error(`Unknown product capability: ${id}`);
22
+ const definition = productCapabilityDefinitions[id];
23
+ return { id, label: definition.label, tiers: definition.tiers };
24
+ });
17
25
  //# sourceMappingURL=product.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"product.js","sourceRoot":"","sources":["../src/product.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,KAAK,CAAU,CAAC;AAG3D,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,kBAAkB,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC9E,UAAU,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC7E,SAAS,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACtE,aAAa,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACxE,sBAAsB,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACtF,kBAAkB,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC9E,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACxD,eAAe,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,kBAAkB,EAAE;CAChE,CAAC;AAIX,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAC/F,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CACiB,CAAC"}
1
+ {"version":3,"file":"product.js","sourceRoot":"","sources":["../src/product.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,KAAK,CAAU,CAAC;AAG3D,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,kBAAkB,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC9E,UAAU,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC7E,SAAS,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACtE,aAAa,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACxE,sBAAsB,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACtF,kBAAkB,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC9E,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACxD,eAAe,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,kBAAkB,EAAE;CAChE,CAAC;AAIX,SAAS,qBAAqB,CAAC,KAAa;IAC1C,OAAO,KAAK,IAAI,4BAA4B,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,MAAM,iCAAiC,GAIzC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;IACxD,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,4BAA4B,CAAC,EAAE,CAAC,CAAC;IACpD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;AAClE,CAAC,CAAC,CAAC"}
@@ -14,6 +14,15 @@ export declare const FINANCIAL_CONTEXT_RATE_TYPES: readonly ['fixed', 'variable'
14
14
  export declare const FINANCIAL_CONTEXT_HOLDING_TYPES: readonly ['cash', 'derivative', 'equity', 'etf', 'fixed_income', 'mutual_fund', 'other'];
15
15
  export declare const FREQUENCIES: readonly ['WEEKLY', 'BIWEEKLY', 'MONTHLY', 'QUARTERLY', 'SEMI_ANNUALLY', 'ANNUALLY'];
16
16
  export declare const LATEST_FINANCIAL_CONTEXT_TRANSACTION_WINDOW_DAYS = 10;
17
+ export declare const FINANCIAL_CONTEXT_POSITION_DESCRIPTION = "The status.position field is a point-in-time (as-of-date) balance snapshot, separate from transaction and behavior windows. A null position means no position snapshot is available.";
18
+ export declare const financialContextMonthSchema: z.ZodString;
19
+ export declare function normalizeFinancialContextTransactionSelector(period: string): {
20
+ readonly latest: true;
21
+ readonly month?: never;
22
+ } | {
23
+ readonly latest?: never;
24
+ readonly month: string;
25
+ };
17
26
  export declare const financialContextAccountSchema: z.ZodObject<{
18
27
  id: z.ZodString;
19
28
  name: z.ZodString;
@@ -352,6 +361,7 @@ export declare const financialContextSnapshotSchema: z.ZodObject<{
352
361
  investments: z.ZodNullable<z.ZodNumber>;
353
362
  assets: z.ZodNullable<z.ZodNumber>;
354
363
  health_score: z.ZodNullable<z.ZodNumber>;
364
+ health_score_model_version: z.ZodNullable<z.ZodLiteral<2>>;
355
365
  }, "strict", z.ZodTypeAny, {
356
366
  date: string;
357
367
  net_worth: number | null;
@@ -364,6 +374,7 @@ export declare const financialContextSnapshotSchema: z.ZodObject<{
364
374
  investments: number | null;
365
375
  assets: number | null;
366
376
  health_score: number | null;
377
+ health_score_model_version: 2 | null;
367
378
  }, {
368
379
  date: string;
369
380
  net_worth: number | null;
@@ -376,6 +387,7 @@ export declare const financialContextSnapshotSchema: z.ZodObject<{
376
387
  investments: number | null;
377
388
  assets: number | null;
378
389
  health_score: number | null;
390
+ health_score_model_version: 2 | null;
379
391
  }>;
380
392
  export declare const financialContextLiabilitySchema: z.ZodObject<{
381
393
  account_id: z.ZodNullable<z.ZodString>;
@@ -432,6 +444,8 @@ export declare const financialContextHoldingSchema: z.ZodObject<{
432
444
  }>;
433
445
  export declare const financialContextHealthSchema: z.ZodObject<{
434
446
  score: z.ZodNumber;
447
+ model_version: z.ZodLiteral<2>;
448
+ record_count: z.ZodNumber;
435
449
  label: z.ZodEnum<["Needs Attention", "Good", "Strong"]>;
436
450
  level: z.ZodEnum<["strong", "good", "fair", "poor", "critical"]>;
437
451
  summary: z.ZodString;
@@ -454,6 +468,8 @@ export declare const financialContextHealthSchema: z.ZodObject<{
454
468
  }>>;
455
469
  }, "strict", z.ZodTypeAny, {
456
470
  score: number;
471
+ model_version: 2;
472
+ record_count: number;
457
473
  label: "Good" | "Needs Attention" | "Strong";
458
474
  level: "critical" | "fair" | "good" | "poor" | "strong";
459
475
  summary: string;
@@ -466,6 +482,8 @@ export declare const financialContextHealthSchema: z.ZodObject<{
466
482
  } | null;
467
483
  }, {
468
484
  score: number;
485
+ model_version: 2;
486
+ record_count: number;
469
487
  label: "Good" | "Needs Attention" | "Strong";
470
488
  level: "critical" | "fair" | "good" | "poor" | "strong";
471
489
  summary: string;
@@ -720,6 +738,7 @@ export declare const financialContextSchema: z.ZodObject<{
720
738
  investments: z.ZodNullable<z.ZodNumber>;
721
739
  assets: z.ZodNullable<z.ZodNumber>;
722
740
  health_score: z.ZodNullable<z.ZodNumber>;
741
+ health_score_model_version: z.ZodNullable<z.ZodLiteral<2>>;
723
742
  }, "strict", z.ZodTypeAny, {
724
743
  date: string;
725
744
  net_worth: number | null;
@@ -732,6 +751,7 @@ export declare const financialContextSchema: z.ZodObject<{
732
751
  investments: number | null;
733
752
  assets: number | null;
734
753
  health_score: number | null;
754
+ health_score_model_version: 2 | null;
735
755
  }, {
736
756
  date: string;
737
757
  net_worth: number | null;
@@ -744,6 +764,7 @@ export declare const financialContextSchema: z.ZodObject<{
744
764
  investments: number | null;
745
765
  assets: number | null;
746
766
  health_score: number | null;
767
+ health_score_model_version: 2 | null;
747
768
  }>, "many">;
748
769
  liabilities: z.ZodArray<z.ZodObject<{
749
770
  account_id: z.ZodNullable<z.ZodString>;
@@ -800,6 +821,8 @@ export declare const financialContextSchema: z.ZodObject<{
800
821
  }>, "many">;
801
822
  health: z.ZodNullable<z.ZodObject<{
802
823
  score: z.ZodNumber;
824
+ model_version: z.ZodLiteral<2>;
825
+ record_count: z.ZodNumber;
803
826
  label: z.ZodEnum<["Needs Attention", "Good", "Strong"]>;
804
827
  level: z.ZodEnum<["strong", "good", "fair", "poor", "critical"]>;
805
828
  summary: z.ZodString;
@@ -822,6 +845,8 @@ export declare const financialContextSchema: z.ZodObject<{
822
845
  }>>;
823
846
  }, "strict", z.ZodTypeAny, {
824
847
  score: number;
848
+ model_version: 2;
849
+ record_count: number;
825
850
  label: "Good" | "Needs Attention" | "Strong";
826
851
  level: "critical" | "fair" | "good" | "poor" | "strong";
827
852
  summary: string;
@@ -834,6 +859,8 @@ export declare const financialContextSchema: z.ZodObject<{
834
859
  } | null;
835
860
  }, {
836
861
  score: number;
862
+ model_version: 2;
863
+ record_count: number;
837
864
  label: "Good" | "Needs Attention" | "Strong";
838
865
  level: "critical" | "fair" | "good" | "poor" | "strong";
839
866
  summary: string;
@@ -924,6 +951,7 @@ export declare const financialContextSchema: z.ZodObject<{
924
951
  investments: number | null;
925
952
  assets: number | null;
926
953
  health_score: number | null;
954
+ health_score_model_version: 2 | null;
927
955
  }[];
928
956
  liabilities: {
929
957
  account_id: string | null;
@@ -946,6 +974,8 @@ export declare const financialContextSchema: z.ZodObject<{
946
974
  }[];
947
975
  health: {
948
976
  score: number;
977
+ model_version: 2;
978
+ record_count: number;
949
979
  label: "Good" | "Needs Attention" | "Strong";
950
980
  level: "critical" | "fair" | "good" | "poor" | "strong";
951
981
  summary: string;
@@ -1036,6 +1066,7 @@ export declare const financialContextSchema: z.ZodObject<{
1036
1066
  investments: number | null;
1037
1067
  assets: number | null;
1038
1068
  health_score: number | null;
1069
+ health_score_model_version: 2 | null;
1039
1070
  }[];
1040
1071
  liabilities: {
1041
1072
  account_id: string | null;
@@ -1058,6 +1089,8 @@ export declare const financialContextSchema: z.ZodObject<{
1058
1089
  }[];
1059
1090
  health: {
1060
1091
  score: number;
1092
+ model_version: 2;
1093
+ record_count: number;
1061
1094
  label: "Good" | "Needs Attention" | "Strong";
1062
1095
  level: "critical" | "fair" | "good" | "poor" | "strong";
1063
1096
  summary: string;
@@ -1 +1 @@
1
- {"version":3,"file":"financial-context.d.ts","sourceRoot":"","sources":["../../src/schemas/financial-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"financial-context.d.ts","sourceRoot":"","sources":["../../src/schemas/financial-context.ts"],"names":[],"mappings":"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"}
@@ -47,7 +47,16 @@ export const FREQUENCIES = [
47
47
  'ANNUALLY',
48
48
  ];
49
49
  export const LATEST_FINANCIAL_CONTEXT_TRANSACTION_WINDOW_DAYS = 10;
50
- const monthSchema = z.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/, 'Expected YYYY-MM month.');
50
+ export const FINANCIAL_CONTEXT_POSITION_DESCRIPTION = 'The status.position field is a point-in-time (as-of-date) balance snapshot, separate from transaction and behavior windows. A null position means no position snapshot is available.';
51
+ export const financialContextMonthSchema = z
52
+ .string()
53
+ .regex(/^\d{4}-(0[1-9]|1[0-2])$/, 'Expected YYYY-MM month.');
54
+ export function normalizeFinancialContextTransactionSelector(period) {
55
+ if (period === 'latest') {
56
+ return { latest: true };
57
+ }
58
+ return { month: financialContextMonthSchema.parse(period) };
59
+ }
51
60
  const dateSchema = z.string().regex(/^\d{4}-\d{2}-\d{2}$/, 'Expected YYYY-MM-DD date.');
52
61
  const dateTimeSchema = z.string().datetime({ offset: true });
53
62
  const nullableString = z.string().nullable();
@@ -95,17 +104,20 @@ export const financialContextPositionSchema = z
95
104
  other_assets: nullableNumber,
96
105
  total_assets: nullableNumber,
97
106
  })
98
- .strict();
107
+ .strict()
108
+ .describe(FINANCIAL_CONTEXT_POSITION_DESCRIPTION);
99
109
  export const financialContextStatusSchema = z
100
110
  .object({
101
- position: financialContextPositionSchema.nullable(),
111
+ position: financialContextPositionSchema
112
+ .nullable()
113
+ .describe(FINANCIAL_CONTEXT_POSITION_DESCRIPTION),
102
114
  accounts: z.array(financialContextAccountSchema),
103
115
  })
104
116
  .strict();
105
117
  export const financialContextTransactionIndexSchema = z
106
118
  .object({
107
119
  total: countSchema,
108
- months: z.array(z.object({ month: monthSchema, count: countSchema }).strict()),
120
+ months: z.array(z.object({ month: financialContextMonthSchema, count: countSchema }).strict()),
109
121
  })
110
122
  .strict();
111
123
  export const financialContextRecurringSchema = z
@@ -158,6 +170,7 @@ export const financialContextSnapshotSchema = z
158
170
  investments: nullableNumber,
159
171
  assets: nullableNumber,
160
172
  health_score: nullableNumber,
173
+ health_score_model_version: z.literal(2).nullable(),
161
174
  })
162
175
  .strict();
163
176
  export const financialContextLiabilitySchema = z
@@ -186,6 +199,8 @@ export const financialContextHoldingSchema = z
186
199
  export const financialContextHealthSchema = z
187
200
  .object({
188
201
  score: z.number().finite(),
202
+ model_version: z.literal(2),
203
+ record_count: countSchema,
189
204
  label: z.enum(['Needs Attention', 'Good', 'Strong']),
190
205
  level: z.enum(['strong', 'good', 'fair', 'poor', 'critical']),
191
206
  summary: z.string(),
@@ -238,7 +253,7 @@ export const financialContextMetaSchema = z
238
253
  .strict();
239
254
  export const transactionMonthSchema = z
240
255
  .object({
241
- month: monthSchema,
256
+ month: financialContextMonthSchema,
242
257
  start_date: dateSchema,
243
258
  end_date: dateSchema,
244
259
  count: countSchema,
@@ -256,7 +271,7 @@ export const latestTransactionsSchema = z
256
271
  export const financialContextTransactionsRequestSchema = z.union([
257
272
  z
258
273
  .object({
259
- month: z.string().regex(/^\d{4}-(0[1-9]|1[0-2])$/),
274
+ month: financialContextMonthSchema,
260
275
  latest: z.undefined().optional(),
261
276
  })
262
277
  .strict(),
@@ -1 +1 @@
1
- {"version":3,"file":"financial-context.js","sourceRoot":"","sources":["../../src/schemas/financial-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"financial-context.js","sourceRoot":"","sources":["../../src/schemas/financial-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,IAAI,CAAU,CAAC;AAC1D,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAK,CAAU,CAAC;AAC7D,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,YAAY;IACZ,QAAQ;IACR,MAAM;IACN,YAAY;IACZ,WAAW;IACX,OAAO;CACC,CAAC;AACX,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAU,CAAC;AACzF,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAU,CAAC;AACrF,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAU,CAAC;AACjG,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,UAAU,EAAE,UAAU,CAAU,CAAC;AAChF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAU,CAAC;AAC3F,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAU,CAAC;AACvF,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,aAAa;IACb,aAAa;IACb,UAAU;IACV,QAAQ;IACR,WAAW;CACH,CAAC;AACX,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,QAAQ;IACR,SAAS;IACT,UAAU;IACV,OAAO;CACC,CAAC;AACX,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,OAAO,EAAE,UAAU,CAAU,CAAC;AAC3E,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,MAAM;IACN,YAAY;IACZ,QAAQ;IACR,KAAK;IACL,cAAc;IACd,aAAa;IACb,OAAO;CACC,CAAC;AACX,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,QAAQ;IACR,UAAU;IACV,SAAS;IACT,WAAW;IACX,eAAe;IACf,UAAU;CACF,CAAC;AACX,MAAM,CAAC,MAAM,gDAAgD,GAAG,EAAE,CAAC;AACnE,MAAM,CAAC,MAAM,sCAAsC,GACjD,sLAAsL,CAAC;AAEzL,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,MAAM,EAAE;KACR,KAAK,CAAC,yBAAyB,EAAE,yBAAyB,CAAC,CAAC;AAE/D,MAAM,UAAU,4CAA4C,CAAC,MAAc;IACzE,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAW,CAAC;IACnC,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,2BAA2B,CAAC,KAAK,CAAC,MAAM,CAAC,EAAW,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,EAAE,2BAA2B,CAAC,CAAC;AACxF,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7D,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;AAC7C,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC3C,MAAM,gBAAgB,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;AACnD,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;AACtD,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;AAEnD,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC;KAC3C,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5D,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC;IAC7C,OAAO,EAAE,cAAc;IACvB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,QAAQ,EAAE;IAC1D,WAAW,EAAE,cAAc;IAC3B,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,cAAc;IACvB,SAAS,EAAE,cAAc;IACzB,QAAQ,EAAE,cAAc;IACxB,UAAU,EAAE,gBAAgB;CAC7B,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC;KAC/C,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,UAAU,EAAE,cAAc;IAC1B,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE;IAC3B,QAAQ,EAAE,cAAc;IACxB,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,cAAc;IACxB,WAAW,EAAE,cAAc;IAC3B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,cAAc;CACzB,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC;KAC5C,MAAM,CAAC;IACN,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,cAAc;IACzB,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;CAC7B,CAAC;KACD,MAAM,EAAE;KACR,QAAQ,CAAC,sCAAsC,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,CAAC;IACN,QAAQ,EAAE,8BAA8B;SACrC,QAAQ,EAAE;SACV,QAAQ,CAAC,sCAAsC,CAAC;IACnD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC;CACjD,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC;KACpD,MAAM,CAAC;IACN,KAAK,EAAE,WAAW;IAClB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;CAC/F,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC;KAC7C,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,UAAU,EAAE,cAAc;IAC1B,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,QAAQ,EAAE;IACpE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;IACzC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,QAAQ,EAAE;IAC/D,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,cAAc;IACtB,SAAS,EAAE,YAAY;CACxB,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC;IAChD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC;IACjD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE;IAC1B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE;IAC9B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE;CAClC,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE;IAC5B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE;IACrC,WAAW,EAAE,YAAY;CAC1B,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC;KAC5C,MAAM,CAAC;IACN,IAAI,EAAE,UAAU;IAChB,SAAS,EAAE,cAAc;IACzB,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,cAAc;IACtB,QAAQ,EAAE,cAAc;IACxB,SAAS,EAAE,cAAc;IACzB,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,cAAc;IAC3B,MAAM,EAAE,cAAc;IACtB,YAAY,EAAE,cAAc;IAC5B,0BAA0B,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACpD,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC;KAC7C,MAAM,CAAC;IACN,UAAU,EAAE,cAAc;IAC1B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,QAAQ,EAAE;IAC1D,OAAO,EAAE,cAAc;IACvB,eAAe,EAAE,cAAc;IAC/B,QAAQ,EAAE,YAAY;IACtB,aAAa,EAAE,cAAc;IAC7B,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,QAAQ,EAAE;IAC1D,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC;KAC3C,MAAM,CAAC;IACN,UAAU,EAAE,cAAc;IAC1B,MAAM,EAAE,cAAc;IACtB,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,QAAQ,EAAE;IACxD,QAAQ,EAAE,cAAc;IACxB,KAAK,EAAE,cAAc;IACrB,UAAU,EAAE,cAAc;CAC3B,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE;IAC1B,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,YAAY,EAAE,WAAW;IACzB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpD,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC7D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE;IACtC,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,cAAc;QACtB,KAAK,EAAE,cAAc;KACtB,CAAC;SACD,MAAM,EAAE;SACR,QAAQ,EAAE;CACd,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC;IAC3C,UAAU,EAAE,cAAc;IAC1B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC;IAC9C,MAAM,EAAE,4BAA4B;IACpC,YAAY,EAAE,sCAAsC;IACpD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC;IACnD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC;IAClD,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC;IACrD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC;IAChD,MAAM,EAAE,4BAA4B,CAAC,QAAQ,EAAE;CAChD,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,YAAY,EAAE,cAAc;IAC5B,UAAU,EAAE,cAAc;IAC1B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,WAAW,EAAE,WAAW;IACxB,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,QAAQ,EAAE,WAAW;QACrB,kBAAkB,EAAE,WAAW;QAC/B,YAAY,EAAE,WAAW;QACzB,SAAS,EAAE,WAAW;KACvB,CAAC;SACD,MAAM,EAAE;CACZ,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,KAAK,EAAE,2BAA2B;IAClC,UAAU,EAAE,UAAU;IACtB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,iCAAiC,CAAC;CAClD,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,KAAK,EAAE,UAAU;IACjB,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,gDAAgD,CAAC;IACxE,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,iCAAiC,CAAC;CAClD,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,yCAAyC,GAAG,CAAC,CAAC,KAAK,CAAC;IAC/D,CAAC;SACE,MAAM,CAAC;QACN,KAAK,EAAE,2BAA2B;QAClC,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE;KACjC,CAAC;SACD,MAAM,EAAE;IACX,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;CAC/E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC;KAClD,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,iCAAiC,CAAC;IAC7D,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;CACjF,CAAC;KACD,KAAK,EAAE,CAAC"}