@warmio/contracts 3.0.0 → 3.0.3
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/dist/api/endpoints.d.ts +30 -0
- package/dist/api/endpoints.d.ts.map +1 -1
- package/dist/api/endpoints.js +24 -0
- package/dist/api/endpoints.js.map +1 -1
- package/dist/examples/financial-context.d.ts.map +1 -1
- package/dist/examples/financial-context.js +2 -1
- package/dist/examples/financial-context.js.map +1 -1
- package/dist/generated/base-openapi.d.ts +1 -1
- package/dist/generated/base-openapi.d.ts.map +1 -1
- package/dist/generated/base-openapi.js +1 -1
- package/dist/generated/base-openapi.js.map +1 -1
- package/dist/generated/mcp-package-release-metadata.d.ts +1 -1
- package/dist/generated/mcp-package-release-metadata.js +1 -1
- package/dist/generated/private-mcp-tool-descriptors.d.ts +28 -5
- package/dist/generated/private-mcp-tool-descriptors.d.ts.map +1 -1
- package/dist/generated/private-mcp-tool-descriptors.js +38 -6
- package/dist/generated/private-mcp-tool-descriptors.js.map +1 -1
- package/dist/generated/protected-crawler-paths.d.ts +1 -1
- package/dist/generated/protected-crawler-paths.d.ts.map +1 -1
- package/dist/generated/protected-crawler-paths.js +9 -0
- package/dist/generated/protected-crawler-paths.js.map +1 -1
- package/dist/generated/warm-app-api-manifest.d.ts +44 -9
- package/dist/generated/warm-app-api-manifest.d.ts.map +1 -1
- package/dist/generated/warm-app-api-manifest.js +54 -10
- package/dist/generated/warm-app-api-manifest.js.map +1 -1
- package/dist/manifest.d.ts +196 -18
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +10 -1
- package/dist/manifest.js.map +1 -1
- package/dist/mcp/distribution.d.ts +24 -0
- package/dist/mcp/distribution.d.ts.map +1 -1
- package/dist/mcp/distribution.js +116 -13
- package/dist/mcp/distribution.js.map +1 -1
- package/dist/mcp/tools.d.ts +1030 -26
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +11 -10
- package/dist/mcp/tools.js.map +1 -1
- package/dist/openapi/base.yaml +12 -9
- package/dist/openapi/build-openapi.d.ts +7 -2
- package/dist/openapi/build-openapi.d.ts.map +1 -1
- package/dist/openapi/build-openapi.js +23 -10
- package/dist/openapi/build-openapi.js.map +1 -1
- package/dist/product.d.ts.map +1 -1
- package/dist/product.js +9 -1
- package/dist/product.js.map +1 -1
- package/dist/schemas/financial-context.d.ts +33 -0
- package/dist/schemas/financial-context.d.ts.map +1 -1
- package/dist/schemas/financial-context.js +21 -6
- package/dist/schemas/financial-context.js.map +1 -1
- package/dist/schemas/public-api.d.ts +44 -0
- package/dist/schemas/public-api.d.ts.map +1 -1
- package/dist/schemas/public-api.js +9 -1
- package/dist/schemas/public-api.js.map +1 -1
- package/dist/types.d.ts +20 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -3
package/dist/mcp/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"
|
|
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
|
-
.
|
|
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
|
-
|
|
46
|
-
|
|
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:
|
|
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,
|
package/dist/mcp/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAoB,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/openapi/base.yaml
CHANGED
|
@@ -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
|
|
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.
|
|
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:
|
|
1046
|
-
example:
|
|
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}
|
|
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}
|
|
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?:
|
|
10
|
-
securitySchemes?:
|
|
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":"
|
|
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
|
-
|
|
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
|
|
14
|
-
|
|
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
|
|
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:
|
|
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":"AAAA,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"build-openapi.js","sourceRoot":"","sources":["../../src/openapi/build-openapi.ts"],"names":[],"mappings":"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"}
|
package/dist/product.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
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
|
package/dist/product.js.map
CHANGED
|
@@ -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,
|
|
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<3>>;
|
|
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: 3 | 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: 3 | 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<3>;
|
|
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: 3;
|
|
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: 3;
|
|
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<3>>;
|
|
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: 3 | 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: 3 | 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<3>;
|
|
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: 3;
|
|
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: 3;
|
|
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: 3 | 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: 3;
|
|
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: 3 | 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: 3;
|
|
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":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,0BAA0B,YAAI,IAAI,CAAU,CAAC;AAC1D,eAAO,MAAM,4BAA4B,YAAI,KAAK,CAAU,CAAC;AAC7D,eAAO,MAAM,+BAA+B,YAC1C,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,WAAW,EACX,OAAO,CACC,CAAC;AACX,eAAO,MAAM,gCAAgC,YAAI,MAAM,EAAE,MAAM,EAAE,aAAa,CAAU,CAAC;AACzF,eAAO,MAAM,sCAAsC,YAAI,QAAQ,EAAE,SAAS,CAAU,CAAC;AACrF,eAAO,MAAM,oCAAoC,YAAI,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAU,CAAC;AACjG,eAAO,MAAM,8BAA8B,YAAI,UAAU,EAAE,UAAU,CAAU,CAAC;AAChF,eAAO,MAAM,gCAAgC,YAAI,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAU,CAAC;AAC3F,eAAO,MAAM,iCAAiC,YAAI,OAAO,EAAE,SAAS,EAAE,MAAM,CAAU,CAAC;AACvF,eAAO,MAAM,+BAA+B,YAC1C,aAAa,EACb,aAAa,EACb,UAAU,EACV,QAAQ,EACR,WAAW,CACH,CAAC;AACX,eAAO,MAAM,iCAAiC,YAC5C,QAAQ,EACR,SAAS,EACT,UAAU,EACV,OAAO,CACC,CAAC;AACX,eAAO,MAAM,4BAA4B,YAAI,OAAO,EAAE,UAAU,CAAU,CAAC;AAC3E,eAAO,MAAM,+BAA+B,YAC1C,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,cAAc,EACd,aAAa,EACb,OAAO,CACC,CAAC;AACX,eAAO,MAAM,WAAW,YACtB,QAAQ,EACR,UAAU,EACV,SAAS,EACT,WAAW,EACX,eAAe,EACf,UAAU,CACF,CAAC;AACX,eAAO,MAAM,gDAAgD,KAAK,CAAC;
|
|
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
|
|
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
|
|
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:
|
|
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(3).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(3),
|
|
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:
|
|
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:
|
|
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":"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;
|
|
1
|
+
{"version":3,"file":"financial-context.js","sourceRoot":"","sources":["../../src/schemas/financial-context.ts"],"names":[],"mappings":"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"}
|