@warmio/contracts 1.2.0 → 3.0.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.
- package/README.md +3 -3
- package/dist/api/endpoints.d.ts +34 -48
- package/dist/api/endpoints.d.ts.map +1 -1
- package/dist/api/endpoints.js +36 -56
- package/dist/api/endpoints.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 +7 -0
- package/dist/generated/mcp-package-release-metadata.d.ts.map +1 -0
- package/dist/generated/mcp-package-release-metadata.js +7 -0
- package/dist/generated/mcp-package-release-metadata.js.map +1 -0
- package/dist/generated/private-mcp-tool-descriptors.d.ts +5 -47
- package/dist/generated/private-mcp-tool-descriptors.d.ts.map +1 -1
- package/dist/generated/private-mcp-tool-descriptors.js +7 -55
- package/dist/generated/private-mcp-tool-descriptors.js.map +1 -1
- package/dist/generated/warm-app-api-manifest.d.ts +1230 -0
- package/dist/generated/warm-app-api-manifest.d.ts.map +1 -0
- package/dist/generated/warm-app-api-manifest.js +1841 -0
- package/dist/generated/warm-app-api-manifest.js.map +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/manifest.d.ts +434 -1189
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +21 -34
- package/dist/manifest.js.map +1 -1
- package/dist/mcp/distribution.d.ts +221 -71
- package/dist/mcp/distribution.d.ts.map +1 -1
- package/dist/mcp/distribution.js +41 -47
- package/dist/mcp/distribution.js.map +1 -1
- package/dist/mcp/tools.d.ts +10 -23
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +8 -45
- package/dist/mcp/tools.js.map +1 -1
- package/dist/openapi/base.yaml +34 -60
- package/dist/openapi/build-openapi.d.ts +1 -0
- package/dist/openapi/build-openapi.d.ts.map +1 -1
- package/dist/openapi/build-openapi.js +75 -16
- package/dist/openapi/build-openapi.js.map +1 -1
- package/dist/schemas/index.d.ts +1 -0
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +1 -0
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/public-api.d.ts +1350 -0
- package/dist/schemas/public-api.d.ts.map +1 -0
- package/dist/schemas/public-api.js +175 -0
- package/dist/schemas/public-api.js.map +1 -0
- package/package.json +1 -8
- package/dist/public-discovery.d.ts +0 -116
- package/dist/public-discovery.d.ts.map +0 -1
- package/dist/public-discovery.js +0 -91
- package/dist/public-discovery.js.map +0 -1
package/dist/mcp/distribution.js
CHANGED
|
@@ -2,17 +2,13 @@
|
|
|
2
2
|
* Separate package module: installer and client configuration facts are shared
|
|
3
3
|
* by the app and docs but are not part of the API endpoint registry.
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
|
-
export const WARM_MCP_PACKAGE_SPEC = `${WARM_MCP_PACKAGE_NAME}@latest`;
|
|
7
|
-
export const WARM_MCP_INSTALL_COMMAND = `npx -y ${WARM_MCP_PACKAGE_SPEC}`;
|
|
8
|
-
export const WARM_MCP_MINIMUM_NODE_VERSION = '>=18';
|
|
9
|
-
import { apiAudienceRegistry } from '../api/endpoints.js';
|
|
10
|
-
export const WARM_MCP_MODES = Object.values(apiAudienceRegistry).map(({ mcp_mode }) => mcp_mode);
|
|
5
|
+
import { warmMcpPackageReleaseMetadata } from '../generated/mcp-package-release-metadata.js';
|
|
11
6
|
export const WARM_MCP_CLIENTS = [
|
|
12
7
|
{
|
|
13
8
|
id: 'claude-code',
|
|
14
9
|
name: 'Claude Code',
|
|
15
10
|
format: 'json',
|
|
11
|
+
configDialect: 'mcpServers',
|
|
16
12
|
alwaysInclude: true,
|
|
17
13
|
configPaths: {
|
|
18
14
|
darwin: { root: 'home', segments: ['.claude.json'] },
|
|
@@ -24,6 +20,7 @@ export const WARM_MCP_CLIENTS = [
|
|
|
24
20
|
id: 'claude-desktop',
|
|
25
21
|
name: 'Claude Desktop',
|
|
26
22
|
format: 'json',
|
|
23
|
+
configDialect: 'mcpServers',
|
|
27
24
|
configPaths: {
|
|
28
25
|
darwin: {
|
|
29
26
|
root: 'home',
|
|
@@ -43,6 +40,7 @@ export const WARM_MCP_CLIENTS = [
|
|
|
43
40
|
id: 'cursor',
|
|
44
41
|
name: 'Cursor',
|
|
45
42
|
format: 'json',
|
|
43
|
+
configDialect: 'mcpServers',
|
|
46
44
|
configPaths: {
|
|
47
45
|
darwin: { root: 'home', segments: ['.cursor', 'mcp.json'] },
|
|
48
46
|
linux: { root: 'home', segments: ['.cursor', 'mcp.json'] },
|
|
@@ -53,6 +51,7 @@ export const WARM_MCP_CLIENTS = [
|
|
|
53
51
|
id: 'windsurf',
|
|
54
52
|
name: 'Windsurf',
|
|
55
53
|
format: 'json',
|
|
54
|
+
configDialect: 'mcpServers',
|
|
56
55
|
configPaths: {
|
|
57
56
|
darwin: { root: 'home', segments: ['.codeium', 'windsurf', 'mcp_config.json'] },
|
|
58
57
|
linux: { root: 'home', segments: ['.codeium', 'windsurf', 'mcp_config.json'] },
|
|
@@ -63,6 +62,7 @@ export const WARM_MCP_CLIENTS = [
|
|
|
63
62
|
id: 'opencode',
|
|
64
63
|
name: 'OpenCode',
|
|
65
64
|
format: 'json',
|
|
65
|
+
configDialect: 'openCode',
|
|
66
66
|
configPaths: {
|
|
67
67
|
darwin: { root: 'home', segments: ['.config', 'opencode', 'opencode.json'] },
|
|
68
68
|
linux: { root: 'home', segments: ['.config', 'opencode', 'opencode.json'] },
|
|
@@ -73,6 +73,7 @@ export const WARM_MCP_CLIENTS = [
|
|
|
73
73
|
id: 'codex-cli',
|
|
74
74
|
name: 'Codex CLI',
|
|
75
75
|
format: 'toml',
|
|
76
|
+
configDialect: 'mcpServers',
|
|
76
77
|
configPaths: {
|
|
77
78
|
darwin: { root: 'home', segments: ['.codex', 'config.toml'] },
|
|
78
79
|
linux: { root: 'home', segments: ['.codex', 'config.toml'] },
|
|
@@ -83,6 +84,7 @@ export const WARM_MCP_CLIENTS = [
|
|
|
83
84
|
id: 'antigravity',
|
|
84
85
|
name: 'Antigravity',
|
|
85
86
|
format: 'json',
|
|
87
|
+
configDialect: 'mcpServers',
|
|
86
88
|
configPaths: {
|
|
87
89
|
darwin: { root: 'home', segments: ['.gemini', 'antigravity', 'mcp_config.json'] },
|
|
88
90
|
linux: { root: 'home', segments: ['.gemini', 'antigravity', 'mcp_config.json'] },
|
|
@@ -93,6 +95,7 @@ export const WARM_MCP_CLIENTS = [
|
|
|
93
95
|
id: 'gemini-cli',
|
|
94
96
|
name: 'Gemini CLI',
|
|
95
97
|
format: 'json',
|
|
98
|
+
configDialect: 'mcpServers',
|
|
96
99
|
configPaths: {
|
|
97
100
|
darwin: { root: 'home', segments: ['.gemini', 'settings.json'] },
|
|
98
101
|
linux: { root: 'home', segments: ['.gemini', 'settings.json'] },
|
|
@@ -106,48 +109,39 @@ export const WARM_MCP_PROJECT_CONFIGS = [
|
|
|
106
109
|
'.vscode/mcp.json',
|
|
107
110
|
];
|
|
108
111
|
export const WARM_MCP_CREDENTIALS = {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
defaultFileName: 'automation_api_key',
|
|
113
|
-
},
|
|
114
|
-
context: {
|
|
115
|
-
apiKeyEnv: 'WARM_CONTEXT_API_KEY',
|
|
116
|
-
apiKeyFileEnv: 'WARM_CONTEXT_API_KEY_FILE',
|
|
117
|
-
defaultFileName: 'context_api_key',
|
|
118
|
-
},
|
|
112
|
+
apiKeyEnv: 'WARM_API_KEY',
|
|
113
|
+
apiKeyFileEnv: 'WARM_API_KEY_FILE',
|
|
114
|
+
defaultFileName: 'api_key',
|
|
119
115
|
};
|
|
120
|
-
export
|
|
121
|
-
|
|
122
|
-
|
|
116
|
+
export function createWarmMcpManifest(metadata) {
|
|
117
|
+
const packageSpec = `${metadata.name}@latest`;
|
|
118
|
+
const installCommand = `npx -y ${packageSpec}`;
|
|
119
|
+
const serverConfig = {
|
|
120
|
+
args: ['-y', packageSpec, 'mcp'],
|
|
123
121
|
command: 'npx',
|
|
124
|
-
args: ['-y', WARM_MCP_PACKAGE_SPEC, 'mcp', '--mode', 'automation'],
|
|
125
|
-
},
|
|
126
|
-
context: {
|
|
127
122
|
serverName: 'warm',
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
};
|
|
123
|
+
};
|
|
124
|
+
return {
|
|
125
|
+
clients: WARM_MCP_CLIENTS,
|
|
126
|
+
credentials: WARM_MCP_CREDENTIALS,
|
|
127
|
+
installCommand,
|
|
128
|
+
installerCommand: `${installCommand} install`,
|
|
129
|
+
minimumNodeVersion: metadata.nodeEngine,
|
|
130
|
+
packageName: metadata.name,
|
|
131
|
+
packageSpec,
|
|
132
|
+
packageVersion: metadata.version,
|
|
133
|
+
projectConfigs: WARM_MCP_PROJECT_CONFIGS,
|
|
134
|
+
serverCommand: `${installCommand} mcp`,
|
|
135
|
+
serverConfig,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
export const WARM_MCP_MANIFEST = createWarmMcpManifest(warmMcpPackageReleaseMetadata);
|
|
139
|
+
export const WARM_MCP_PACKAGE_NAME = WARM_MCP_MANIFEST.packageName;
|
|
140
|
+
export const WARM_MCP_PACKAGE_VERSION = WARM_MCP_MANIFEST.packageVersion;
|
|
141
|
+
export const WARM_MCP_PACKAGE_SPEC = WARM_MCP_MANIFEST.packageSpec;
|
|
142
|
+
export const WARM_MCP_INSTALL_COMMAND = WARM_MCP_MANIFEST.installCommand;
|
|
143
|
+
export const WARM_MCP_MINIMUM_NODE_VERSION = WARM_MCP_MANIFEST.minimumNodeVersion;
|
|
144
|
+
export const WARM_MCP_SERVER_CONFIG = WARM_MCP_MANIFEST.serverConfig;
|
|
145
|
+
export const WARM_MCP_INSTALLER_COMMAND = WARM_MCP_MANIFEST.installerCommand;
|
|
146
|
+
export const WARM_MCP_SERVER_COMMAND = WARM_MCP_MANIFEST.serverCommand;
|
|
153
147
|
//# sourceMappingURL=distribution.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/mcp/distribution.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/mcp/distribution.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/tools.d.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { z, type ZodRawShape } from 'zod';
|
|
2
|
-
import type { PrivateMcpMode } from './distribution.js';
|
|
3
2
|
export declare const emptyMcpInputShape: {};
|
|
4
3
|
export declare const getTransactionsMcpInputShape: {
|
|
5
|
-
|
|
6
|
-
latest: z.ZodOptional<z.ZodLiteral<true>>;
|
|
4
|
+
period: z.ZodString;
|
|
7
5
|
};
|
|
8
6
|
export declare const searchOperationsMcpInputShape: {
|
|
9
7
|
query: z.ZodOptional<z.ZodString>;
|
|
@@ -35,28 +33,19 @@ export declare const invokeOperationMcpInputShape: {
|
|
|
35
33
|
}>>;
|
|
36
34
|
approval_id: z.ZodOptional<z.ZodString>;
|
|
37
35
|
};
|
|
38
|
-
export declare const getTransactionsMcpInputSchema: z.
|
|
39
|
-
|
|
40
|
-
latest: z.ZodOptional<z.ZodLiteral<true>>;
|
|
36
|
+
export declare const getTransactionsMcpInputSchema: z.ZodObject<{
|
|
37
|
+
period: z.ZodString;
|
|
41
38
|
}, "strict", z.ZodTypeAny, {
|
|
42
|
-
|
|
43
|
-
latest?: true | undefined;
|
|
39
|
+
period: string;
|
|
44
40
|
}, {
|
|
45
|
-
|
|
46
|
-
latest?: true | undefined;
|
|
47
|
-
}>, {
|
|
48
|
-
month?: string | undefined;
|
|
49
|
-
latest?: true | undefined;
|
|
50
|
-
}, {
|
|
51
|
-
month?: string | undefined;
|
|
52
|
-
latest?: true | undefined;
|
|
41
|
+
period: string;
|
|
53
42
|
}>;
|
|
54
43
|
export declare function normalizeGetTransactionsMcpInput(input: z.infer<typeof getTransactionsMcpInputSchema>): {
|
|
55
|
-
readonly month: string;
|
|
56
|
-
readonly latest?: undefined;
|
|
57
|
-
} | {
|
|
58
|
-
readonly month?: undefined;
|
|
59
44
|
readonly latest: true;
|
|
45
|
+
readonly month?: undefined;
|
|
46
|
+
} | {
|
|
47
|
+
readonly latest?: undefined;
|
|
48
|
+
readonly month: string;
|
|
60
49
|
};
|
|
61
50
|
type McpToolDefinition = {
|
|
62
51
|
annotations: {
|
|
@@ -66,11 +55,10 @@ type McpToolDefinition = {
|
|
|
66
55
|
};
|
|
67
56
|
description: string;
|
|
68
57
|
inputShape: ZodRawShape;
|
|
69
|
-
mode: PrivateMcpMode;
|
|
70
58
|
name: string;
|
|
71
59
|
outputSchema: z.ZodTypeAny;
|
|
72
60
|
};
|
|
73
|
-
export declare const privateMcpToolDefinitions: readonly [McpToolDefinition, McpToolDefinition, McpToolDefinition, McpToolDefinition, McpToolDefinition
|
|
61
|
+
export declare const privateMcpToolDefinitions: readonly [McpToolDefinition, McpToolDefinition, McpToolDefinition, McpToolDefinition, McpToolDefinition];
|
|
74
62
|
export declare const privateMcpToolDescriptors: {
|
|
75
63
|
annotations: {
|
|
76
64
|
destructiveHint: boolean;
|
|
@@ -78,7 +66,6 @@ export declare const privateMcpToolDescriptors: {
|
|
|
78
66
|
readOnlyHint: boolean;
|
|
79
67
|
};
|
|
80
68
|
description: string;
|
|
81
|
-
mode: PrivateMcpMode;
|
|
82
69
|
name: string;
|
|
83
70
|
input_schema: {
|
|
84
71
|
$schema?: string | undefined;
|
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":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;
|
|
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"}
|
package/dist/mcp/tools.js
CHANGED
|
@@ -3,15 +3,10 @@ import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
|
3
3
|
import { automationInputSchema, automationOperationDescriptionResponseSchema, automationOperationSearchResponseSchema, financialContextSchema, latestTransactionsSchema, transactionMonthSchema, } from '../schemas/index.js';
|
|
4
4
|
export const emptyMcpInputShape = {};
|
|
5
5
|
export const getTransactionsMcpInputShape = {
|
|
6
|
-
|
|
6
|
+
period: z
|
|
7
7
|
.string()
|
|
8
|
-
.regex(
|
|
9
|
-
.
|
|
10
|
-
.describe('Transaction month in YYYY-MM format. Mutually exclusive with latest. Months outside the covered range return an error.'),
|
|
11
|
-
latest: z
|
|
12
|
-
.literal(true)
|
|
13
|
-
.optional()
|
|
14
|
-
.describe('When true, return the fixed 10-day latest window. Mutually exclusive with month. A bare call with no arguments defaults to latest: true.'),
|
|
8
|
+
.regex(/^(?:latest|\d{4}-\d{2})$/, 'Expected "latest" or a YYYY-MM month.')
|
|
9
|
+
.describe('Use "latest" for the fixed 10-day window or a YYYY-MM month. Months outside the covered range return an error.'),
|
|
15
10
|
};
|
|
16
11
|
export const searchOperationsMcpInputShape = {
|
|
17
12
|
query: z.string().max(200).optional().describe('Words describing the action or data you need.'),
|
|
@@ -30,31 +25,12 @@ export const invokeOperationMcpInputShape = {
|
|
|
30
25
|
.optional()
|
|
31
26
|
.describe('Approval ID returned by describe_operation for the exact write input.'),
|
|
32
27
|
};
|
|
33
|
-
export const getTransactionsMcpInputSchema = z
|
|
34
|
-
.object(getTransactionsMcpInputShape)
|
|
35
|
-
.strict()
|
|
36
|
-
.superRefine((input, context) => {
|
|
37
|
-
if (input.month !== undefined && input.latest !== undefined) {
|
|
38
|
-
context.addIssue({
|
|
39
|
-
code: z.ZodIssueCode.custom,
|
|
40
|
-
message: '`month` and `latest` are mutually exclusive.',
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
});
|
|
28
|
+
export const getTransactionsMcpInputSchema = z.object(getTransactionsMcpInputShape).strict();
|
|
44
29
|
export function normalizeGetTransactionsMcpInput(input) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return { latest: true };
|
|
49
|
-
throw new Error('Call get_transactions with `month` in YYYY-MM format, `latest: true`, or no arguments.');
|
|
30
|
+
return input.period === 'latest'
|
|
31
|
+
? { latest: true }
|
|
32
|
+
: { month: input.period };
|
|
50
33
|
}
|
|
51
|
-
const verifyKeyOutputSchema = z
|
|
52
|
-
.object({
|
|
53
|
-
audience: z.enum(['automation', 'context', 'oauth']).optional(),
|
|
54
|
-
status: z.string(),
|
|
55
|
-
valid: z.boolean(),
|
|
56
|
-
})
|
|
57
|
-
.strict();
|
|
58
34
|
const operationInvokeOutputSchema = z
|
|
59
35
|
.object({
|
|
60
36
|
body: z.unknown(),
|
|
@@ -72,7 +48,6 @@ const normalizeJsonSchema = (schema) => ({
|
|
|
72
48
|
});
|
|
73
49
|
export const privateMcpToolDefinitions = [
|
|
74
50
|
tool({
|
|
75
|
-
mode: 'context',
|
|
76
51
|
name: 'get_financial_context',
|
|
77
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.',
|
|
78
53
|
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },
|
|
@@ -80,23 +55,13 @@ export const privateMcpToolDefinitions = [
|
|
|
80
55
|
outputSchema: financialContextSchema,
|
|
81
56
|
}),
|
|
82
57
|
tool({
|
|
83
|
-
mode: 'context',
|
|
84
58
|
name: 'get_transactions',
|
|
85
|
-
description: 'Read-only transactions from the FinancialContext artifact. Pass
|
|
59
|
+
description: 'Read-only transactions from the FinancialContext artifact. Pass `period: "latest"` for the fixed 10-day latest window or `period: "YYYY-MM"` for a month page. The latest window is not caller-configurable. Months outside the covered range return an error.',
|
|
86
60
|
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },
|
|
87
61
|
inputShape: getTransactionsMcpInputShape,
|
|
88
62
|
outputSchema: z.union([transactionMonthSchema, latestTransactionsSchema]),
|
|
89
63
|
}),
|
|
90
64
|
tool({
|
|
91
|
-
mode: 'context',
|
|
92
|
-
name: 'verify_key',
|
|
93
|
-
description: 'Read-only API key validation for the configured Warm account.',
|
|
94
|
-
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },
|
|
95
|
-
inputShape: emptyMcpInputShape,
|
|
96
|
-
outputSchema: verifyKeyOutputSchema,
|
|
97
|
-
}),
|
|
98
|
-
tool({
|
|
99
|
-
mode: 'automation',
|
|
100
65
|
name: 'search_operations',
|
|
101
66
|
description: 'Search the supported Warm operation catalog. Use this first to find the smallest matching operation.',
|
|
102
67
|
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: false },
|
|
@@ -104,7 +69,6 @@ export const privateMcpToolDefinitions = [
|
|
|
104
69
|
outputSchema: automationOperationSearchResponseSchema,
|
|
105
70
|
}),
|
|
106
71
|
tool({
|
|
107
|
-
mode: 'automation',
|
|
108
72
|
name: 'describe_operation',
|
|
109
73
|
description: 'Describe one operation, including its input schema and risk. For write operations, pass the exact intended input to receive an approval with its ID, status, URL, and expiry.',
|
|
110
74
|
annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: false },
|
|
@@ -112,7 +76,6 @@ export const privateMcpToolDefinitions = [
|
|
|
112
76
|
outputSchema: automationOperationDescriptionResponseSchema,
|
|
113
77
|
}),
|
|
114
78
|
tool({
|
|
115
|
-
mode: 'automation',
|
|
116
79
|
name: 'invoke_operation',
|
|
117
80
|
description: 'Invoke one previously discovered Warm operation. Every write operation requires the approval_id returned for the exact same input by describe_operation.',
|
|
118
81
|
annotations: { readOnlyHint: false, destructiveHint: true, openWorldHint: false },
|
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,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,qBAAqB,EACrB,4CAA4C,EAC5C,uCAAuC,EACvC,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/openapi/base.yaml
CHANGED
|
@@ -5,20 +5,17 @@ info:
|
|
|
5
5
|
Read your financial context or invoke supported Warm actions through a compact operation catalog.
|
|
6
6
|
|
|
7
7
|
## Authentication
|
|
8
|
-
All requests use `Authorization: Bearer`.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
Read/export routes accept `Authorization: Bearer YOUR_API_KEY_OR_ACCESS_TOKEN`.
|
|
12
|
-
Automation routes require an automation key (`warm_auto_...`) and do not accept access tokens.
|
|
8
|
+
All requests use `Authorization: Bearer`. Each account has one non-expiring full-access
|
|
9
|
+
API key (`warm_...`) for raw API and local MCP use. Read/export routes also accept a
|
|
10
|
+
signed-in access token; access tokens never authorize automation operations.
|
|
13
11
|
|
|
14
12
|
Unauthenticated responses include `WWW-Authenticate` guidance and protected resource metadata.
|
|
15
13
|
|
|
16
14
|
## Rate Limits
|
|
17
|
-
-
|
|
18
|
-
- Automation keys: 500 requests per hour per key
|
|
15
|
+
- API keys: 500 requests per hour per key
|
|
19
16
|
- Rate limit headers included in authenticated responses
|
|
20
17
|
- `/api/export` supports dataset-scoped delta sync with `since` and publishes edge-cache metadata headers
|
|
21
|
-
version: '
|
|
18
|
+
version: '3.0.0'
|
|
22
19
|
contact:
|
|
23
20
|
name: Warm Support
|
|
24
21
|
url: https://warm.io/support
|
|
@@ -39,9 +36,7 @@ paths:
|
|
|
39
36
|
operationId: verifyApiAccess
|
|
40
37
|
summary: Verify API credentials
|
|
41
38
|
description: |
|
|
42
|
-
Validate a Warm API key or signed-in user access token
|
|
43
|
-
|
|
44
|
-
This endpoint is the canonical readiness check for public API clients and discovery tools.
|
|
39
|
+
Validate a Warm API key or signed-in user access token for installer and Settings flows.
|
|
45
40
|
tags:
|
|
46
41
|
- Verification
|
|
47
42
|
responses:
|
|
@@ -50,23 +45,7 @@ paths:
|
|
|
50
45
|
content:
|
|
51
46
|
application/json:
|
|
52
47
|
schema:
|
|
53
|
-
|
|
54
|
-
required:
|
|
55
|
-
- status
|
|
56
|
-
- valid
|
|
57
|
-
- auth
|
|
58
|
-
properties:
|
|
59
|
-
status:
|
|
60
|
-
type: string
|
|
61
|
-
enum: [ok]
|
|
62
|
-
valid:
|
|
63
|
-
type: boolean
|
|
64
|
-
auth:
|
|
65
|
-
type: string
|
|
66
|
-
description: Auth method used to satisfy verification
|
|
67
|
-
audience:
|
|
68
|
-
type: string
|
|
69
|
-
enum: [context, automation, oauth]
|
|
48
|
+
$ref: '#/components/schemas/VerifyApiResponse'
|
|
70
49
|
'401':
|
|
71
50
|
$ref: '#/components/responses/Unauthorized'
|
|
72
51
|
'403':
|
|
@@ -82,7 +61,7 @@ paths:
|
|
|
82
61
|
Fetch a canonical financial dataset export from the unified `/api/export` surface.
|
|
83
62
|
|
|
84
63
|
Use `dataset=transactions` for paginated transaction history. Other datasets return
|
|
85
|
-
a typed JSON object keyed by the dataset name
|
|
64
|
+
a typed JSON object keyed by the documented dataset name.
|
|
86
65
|
|
|
87
66
|
Preferred dataset names are `accounts`, `transactions`, `snapshots`, `recurring`,
|
|
88
67
|
`budgets`, `goals`, `health`, `liabilities`, and `holdings`.
|
|
@@ -91,7 +70,7 @@ paths:
|
|
|
91
70
|
parameters:
|
|
92
71
|
- name: dataset
|
|
93
72
|
in: query
|
|
94
|
-
description: Dataset identifier
|
|
73
|
+
description: Dataset identifier
|
|
95
74
|
required: true
|
|
96
75
|
schema:
|
|
97
76
|
type: string
|
|
@@ -112,13 +91,6 @@ paths:
|
|
|
112
91
|
schema:
|
|
113
92
|
type: string
|
|
114
93
|
format: date-time
|
|
115
|
-
- name: last_knowledge
|
|
116
|
-
in: query
|
|
117
|
-
description: Legacy alias for `since`
|
|
118
|
-
required: false
|
|
119
|
-
schema:
|
|
120
|
-
type: string
|
|
121
|
-
format: date-time
|
|
122
94
|
- name: limit
|
|
123
95
|
in: query
|
|
124
96
|
description: Maximum transactions per page when `dataset=transactions`
|
|
@@ -153,19 +125,16 @@ paths:
|
|
|
153
125
|
content:
|
|
154
126
|
application/json:
|
|
155
127
|
schema:
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
pagination:
|
|
167
|
-
$ref: '#/components/schemas/Pagination'
|
|
168
|
-
additionalProperties: true
|
|
128
|
+
oneOf:
|
|
129
|
+
- $ref: '#/components/schemas/ExportAccountsResponse'
|
|
130
|
+
- $ref: '#/components/schemas/ExportTransactionsResponse'
|
|
131
|
+
- $ref: '#/components/schemas/ExportSnapshotsResponse'
|
|
132
|
+
- $ref: '#/components/schemas/ExportRecurringResponse'
|
|
133
|
+
- $ref: '#/components/schemas/ExportBudgetsResponse'
|
|
134
|
+
- $ref: '#/components/schemas/ExportGoalsResponse'
|
|
135
|
+
- $ref: '#/components/schemas/ExportHealthResponse'
|
|
136
|
+
- $ref: '#/components/schemas/ExportLiabilitiesResponse'
|
|
137
|
+
- $ref: '#/components/schemas/ExportHoldingsResponse'
|
|
169
138
|
'400':
|
|
170
139
|
description: Invalid query parameters
|
|
171
140
|
'401':
|
|
@@ -220,8 +189,8 @@ paths:
|
|
|
220
189
|
|
|
221
190
|
The raw API requires exactly one selector: `month=YYYY-MM` or `latest=1`.
|
|
222
191
|
Bare calls are invalid on the raw API. The current `@warmio/mcp` `get_transactions` tool
|
|
223
|
-
|
|
224
|
-
|
|
192
|
+
accepts one required `period` string: `latest` for the fixed latest window or `YYYY-MM`
|
|
193
|
+
for a month. It does not accept export pagination or filtering controls.
|
|
225
194
|
Transaction amounts use the Warm/Plaid sign convention:
|
|
226
195
|
positive = expense/debit, negative = income/credit.
|
|
227
196
|
|
|
@@ -317,7 +286,7 @@ paths:
|
|
|
317
286
|
summary: Search supported automation operations
|
|
318
287
|
tags: [Automation]
|
|
319
288
|
security:
|
|
320
|
-
-
|
|
289
|
+
- BearerAuth: []
|
|
321
290
|
requestBody:
|
|
322
291
|
required: false
|
|
323
292
|
content:
|
|
@@ -360,7 +329,7 @@ paths:
|
|
|
360
329
|
summary: Describe one operation and request owner approval when required
|
|
361
330
|
tags: [Automation]
|
|
362
331
|
security:
|
|
363
|
-
-
|
|
332
|
+
- BearerAuth: []
|
|
364
333
|
requestBody:
|
|
365
334
|
required: true
|
|
366
335
|
content:
|
|
@@ -412,7 +381,7 @@ paths:
|
|
|
412
381
|
summary: Invoke one supported operation
|
|
413
382
|
tags: [Automation]
|
|
414
383
|
security:
|
|
415
|
-
-
|
|
384
|
+
- BearerAuth: []
|
|
416
385
|
requestBody:
|
|
417
386
|
required: true
|
|
418
387
|
content:
|
|
@@ -451,10 +420,6 @@ components:
|
|
|
451
420
|
type: http
|
|
452
421
|
scheme: bearer
|
|
453
422
|
description: 'Read/export format: `Authorization: Bearer YOUR_API_KEY_OR_ACCESS_TOKEN`'
|
|
454
|
-
AutomationKeyAuth:
|
|
455
|
-
type: http
|
|
456
|
-
scheme: bearer
|
|
457
|
-
description: 'Automation format: `Authorization: Bearer warm_auto_...`'
|
|
458
423
|
|
|
459
424
|
headers:
|
|
460
425
|
ETag:
|
|
@@ -604,7 +569,7 @@ components:
|
|
|
604
569
|
next_knowledge:
|
|
605
570
|
type: string
|
|
606
571
|
format: date-time
|
|
607
|
-
description: Use as `
|
|
572
|
+
description: Use as `since` in the next request for delta sync
|
|
608
573
|
example: '2026-01-10T15:30:00Z'
|
|
609
574
|
accounts:
|
|
610
575
|
type: array
|
|
@@ -1063,11 +1028,20 @@ components:
|
|
|
1063
1028
|
|
|
1064
1029
|
Error:
|
|
1065
1030
|
type: object
|
|
1031
|
+
additionalProperties: false
|
|
1066
1032
|
required:
|
|
1067
1033
|
- error
|
|
1068
1034
|
properties:
|
|
1069
1035
|
error:
|
|
1070
1036
|
type: string
|
|
1037
|
+
VerifyApiResponse:
|
|
1038
|
+
type: object
|
|
1039
|
+
additionalProperties: false
|
|
1040
|
+
required: [valid]
|
|
1041
|
+
properties:
|
|
1042
|
+
valid:
|
|
1043
|
+
type: boolean
|
|
1044
|
+
enum: [true]
|
|
1071
1045
|
description: Human-readable error message
|
|
1072
1046
|
example: Invalid API key.
|
|
1073
1047
|
|
|
@@ -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":"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"}
|