@warmio/contracts 1.0.0 → 1.2.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 +9 -2
- package/dist/api/endpoints.d.ts +39 -19
- package/dist/api/endpoints.d.ts.map +1 -1
- package/dist/api/endpoints.js +47 -15
- 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/private-mcp-tool-descriptors.d.ts +12 -12
- package/dist/generated/private-mcp-tool-descriptors.d.ts.map +1 -1
- package/dist/generated/private-mcp-tool-descriptors.js +12 -12
- package/dist/generated/private-mcp-tool-descriptors.js.map +1 -1
- package/dist/generated/protected-crawler-paths.d.ts +2 -0
- package/dist/generated/protected-crawler-paths.d.ts.map +1 -0
- package/dist/generated/protected-crawler-paths.js +34 -0
- package/dist/generated/protected-crawler-paths.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/manifest.d.ts +1435 -1
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +60 -1
- package/dist/manifest.js.map +1 -1
- package/dist/mcp/distribution.d.ts +382 -0
- package/dist/mcp/distribution.d.ts.map +1 -0
- package/dist/mcp/distribution.js +153 -0
- package/dist/mcp/distribution.js.map +1 -0
- package/dist/mcp/index.d.ts +1 -0
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +1 -0
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/tools.d.ts +7 -3
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +9 -3
- package/dist/mcp/tools.js.map +1 -1
- package/dist/openapi/base.yaml +1 -1
- package/dist/openapi/build-openapi.d.ts.map +1 -1
- package/dist/openapi/build-openapi.js +7 -1
- package/dist/openapi/build-openapi.js.map +1 -1
- package/dist/product.d.ts +47 -0
- package/dist/product.d.ts.map +1 -0
- package/dist/product.js +17 -0
- package/dist/product.js.map +1 -0
- package/dist/public-discovery.d.ts +116 -0
- package/dist/public-discovery.d.ts.map +1 -0
- package/dist/public-discovery.js +91 -0
- package/dist/public-discovery.js.map +1 -0
- package/package.json +16 -1
package/dist/mcp/tools.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z, type ZodRawShape } from 'zod';
|
|
2
|
+
import type { PrivateMcpMode } from './distribution.js';
|
|
2
3
|
export declare const emptyMcpInputShape: {};
|
|
3
4
|
export declare const getTransactionsMcpInputShape: {
|
|
4
5
|
month: z.ZodOptional<z.ZodString>;
|
|
@@ -57,7 +58,6 @@ export declare function normalizeGetTransactionsMcpInput(input: z.infer<typeof g
|
|
|
57
58
|
readonly month?: undefined;
|
|
58
59
|
readonly latest: true;
|
|
59
60
|
};
|
|
60
|
-
export type PrivateMcpMode = 'automation' | 'context';
|
|
61
61
|
type McpToolDefinition = {
|
|
62
62
|
annotations: {
|
|
63
63
|
destructiveHint: boolean;
|
|
@@ -80,8 +80,12 @@ export declare const privateMcpToolDescriptors: {
|
|
|
80
80
|
description: string;
|
|
81
81
|
mode: PrivateMcpMode;
|
|
82
82
|
name: string;
|
|
83
|
-
input_schema:
|
|
84
|
-
|
|
83
|
+
input_schema: {
|
|
84
|
+
$schema?: string | undefined;
|
|
85
|
+
};
|
|
86
|
+
output_schema: {
|
|
87
|
+
$schema?: string | undefined;
|
|
88
|
+
};
|
|
85
89
|
}[];
|
|
86
90
|
export type PrivateMcpToolDescriptor = (typeof privateMcpToolDescriptors)[number];
|
|
87
91
|
export {};
|
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;AAU1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,eAAO,MAAM,kBAAkB,IAA2B,CAAC;AAC3D,eAAO,MAAM,4BAA4B;;;CAclB,CAAC;AACxB,eAAO,MAAM,6BAA6B;;CAEnB,CAAC;AACxB,eAAO,MAAM,8BAA8B;;;;;;;;;;;;CAKpB,CAAC;AACxB,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;CAOlB,CAAC;AAExB,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;EAUtC,CAAC;AAEL,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC;;;;;;EAOrD;AAkBD,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,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC;CAC5B,CAAC;AAWF,eAAO,MAAM,yBAAyB,6HAsDW,CAAC;AAElD,eAAO,MAAM,yBAAyB;iBAzEvB;QAAE,eAAe,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE;iBAC3E,MAAM;UAEb,cAAc;UACd,MAAM;;;;;;;GAiFb,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
package/dist/mcp/tools.js
CHANGED
|
@@ -64,6 +64,12 @@ const operationInvokeOutputSchema = z
|
|
|
64
64
|
})
|
|
65
65
|
.strict();
|
|
66
66
|
const tool = (definition) => definition;
|
|
67
|
+
const normalizeJsonSchema = (schema) => ({
|
|
68
|
+
...schema,
|
|
69
|
+
...(schema.$schema === 'http://json-schema.org/draft-07/schema#'
|
|
70
|
+
? { $schema: 'https://json-schema.org/draft-07/schema#' }
|
|
71
|
+
: {}),
|
|
72
|
+
});
|
|
67
73
|
export const privateMcpToolDefinitions = [
|
|
68
74
|
tool({
|
|
69
75
|
mode: 'context',
|
|
@@ -116,9 +122,9 @@ export const privateMcpToolDefinitions = [
|
|
|
116
122
|
];
|
|
117
123
|
export const privateMcpToolDescriptors = privateMcpToolDefinitions.map(({ inputShape, outputSchema, ...toolDefinition }) => ({
|
|
118
124
|
...toolDefinition,
|
|
119
|
-
input_schema: zodToJsonSchema(z.object(inputShape).strict(), {
|
|
125
|
+
input_schema: normalizeJsonSchema(zodToJsonSchema(z.object(inputShape).strict(), {
|
|
120
126
|
$refStrategy: 'none',
|
|
121
|
-
}),
|
|
122
|
-
output_schema: zodToJsonSchema(outputSchema, { $refStrategy: 'none' }),
|
|
127
|
+
})),
|
|
128
|
+
output_schema: normalizeJsonSchema(zodToJsonSchema(outputSchema, { $refStrategy: 'none' })),
|
|
123
129
|
}));
|
|
124
130
|
//# sourceMappingURL=tools.js.map
|
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
|
@@ -219,7 +219,7 @@ paths:
|
|
|
219
219
|
current financial-context artifact.
|
|
220
220
|
|
|
221
221
|
The raw API requires exactly one selector: `month=YYYY-MM` or `latest=1`.
|
|
222
|
-
Bare calls are invalid on the raw API. The `@warmio/mcp`
|
|
222
|
+
Bare calls are invalid on the raw API. The current `@warmio/mcp` `get_transactions` tool
|
|
223
223
|
maps bare calls to the fixed latest window and accepts only `month` (`YYYY-MM`) or
|
|
224
224
|
`latest: true`; it does not accept cursor, search, or `last_knowledge`.
|
|
225
225
|
Transaction amounts use the Warm/Plaid sign convention:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-openapi.d.ts","sourceRoot":"","sources":["../../src/openapi/build-openapi.ts"],"names":[],"mappings":"AA4BA,KAAK,gBAAgB,GAAG;IACtB,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;
|
|
1
|
+
{"version":3,"file":"build-openapi.d.ts","sourceRoot":"","sources":["../../src/openapi/build-openapi.ts"],"names":[],"mappings":"AA4BA,KAAK,gBAAgB,GAAG;IACtB,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,CAyEtD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
|
|
@@ -7,7 +7,13 @@ function cloneBaseDocument() {
|
|
|
7
7
|
return parse(baseOpenApiYaml);
|
|
8
8
|
}
|
|
9
9
|
function schema(value) {
|
|
10
|
-
|
|
10
|
+
const generated = zodToJsonSchema(value, { $refStrategy: 'none' });
|
|
11
|
+
return {
|
|
12
|
+
...generated,
|
|
13
|
+
...(generated.$schema === 'http://json-schema.org/draft-07/schema#'
|
|
14
|
+
? { $schema: 'https://json-schema.org/draft-07/schema#' }
|
|
15
|
+
: {}),
|
|
16
|
+
};
|
|
11
17
|
}
|
|
12
18
|
/**
|
|
13
19
|
* The rich hand-authored v2 document is package-owned in base.yaml. This builder
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-openapi.js","sourceRoot":"","sources":["../../src/openapi/build-openapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACjG,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EACL,qBAAqB,EACrB,kCAAkC,EAClC,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,EAC/B,sBAAsB,EACtB,8BAA8B,EAC9B,4BAA4B,EAC5B,sCAAsC,EACtC,iCAAiC,EACjC,4BAA4B,EAC5B,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAiB7B,SAAS,iBAAiB;IACxB,OAAO,KAAK,CAAC,eAAe,CAAoB,CAAC;AACnD,CAAC;AAED,SAAS,MAAM,CAAC,KAA4C;IAC1D,
|
|
1
|
+
{"version":3,"file":"build-openapi.js","sourceRoot":"","sources":["../../src/openapi/build-openapi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Separate package module: public capability facts are importable by docs
|
|
3
|
+
* without pulling app billing prices, limits, or runtime dependencies.
|
|
4
|
+
*/
|
|
5
|
+
export declare const publicProductTiers: readonly ['plus', 'pro'];
|
|
6
|
+
export type PublicProductTier = (typeof publicProductTiers)[number];
|
|
7
|
+
export declare const productCapabilityDefinitions: {
|
|
8
|
+
readonly account_management: {
|
|
9
|
+
readonly label: 'Account management';
|
|
10
|
+
readonly tiers: readonly ["plus", "pro"];
|
|
11
|
+
};
|
|
12
|
+
readonly automation: {
|
|
13
|
+
readonly label: 'Automation and API access';
|
|
14
|
+
readonly tiers: readonly ["plus", "pro"];
|
|
15
|
+
};
|
|
16
|
+
readonly budgeting: {
|
|
17
|
+
readonly label: 'Budgeting and goals';
|
|
18
|
+
readonly tiers: readonly ["plus", "pro"];
|
|
19
|
+
};
|
|
20
|
+
readonly collaboration: {
|
|
21
|
+
readonly label: 'Household sharing';
|
|
22
|
+
readonly tiers: readonly ["plus", "pro"];
|
|
23
|
+
};
|
|
24
|
+
readonly financial_intelligence: {
|
|
25
|
+
readonly label: 'Financial intelligence';
|
|
26
|
+
readonly tiers: readonly ["plus", "pro"];
|
|
27
|
+
};
|
|
28
|
+
readonly spending_analytics: {
|
|
29
|
+
readonly label: 'Spending analytics';
|
|
30
|
+
readonly tiers: readonly ["plus", "pro"];
|
|
31
|
+
};
|
|
32
|
+
readonly support: {
|
|
33
|
+
readonly label: 'Support';
|
|
34
|
+
readonly tiers: readonly ["plus", "pro"];
|
|
35
|
+
};
|
|
36
|
+
readonly wealth_tracking: {
|
|
37
|
+
readonly label: 'Wealth tracking';
|
|
38
|
+
readonly tiers: readonly ["plus", "pro"];
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
export type ProductCapabilityId = keyof typeof productCapabilityDefinitions;
|
|
42
|
+
export declare const publicProductCapabilityProjection: ReadonlyArray<{
|
|
43
|
+
id: ProductCapabilityId;
|
|
44
|
+
label: string;
|
|
45
|
+
tiers: readonly PublicProductTier[];
|
|
46
|
+
}>;
|
|
47
|
+
//# sourceMappingURL=product.d.ts.map
|
|
@@ -0,0 +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"}
|
package/dist/product.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Separate package module: public capability facts are importable by docs
|
|
3
|
+
* without pulling app billing prices, limits, or runtime dependencies.
|
|
4
|
+
*/
|
|
5
|
+
export const publicProductTiers = ['plus', 'pro'];
|
|
6
|
+
export const productCapabilityDefinitions = {
|
|
7
|
+
account_management: { label: 'Account management', tiers: publicProductTiers },
|
|
8
|
+
automation: { label: 'Automation and API access', tiers: publicProductTiers },
|
|
9
|
+
budgeting: { label: 'Budgeting and goals', tiers: publicProductTiers },
|
|
10
|
+
collaboration: { label: 'Household sharing', tiers: publicProductTiers },
|
|
11
|
+
financial_intelligence: { label: 'Financial intelligence', tiers: publicProductTiers },
|
|
12
|
+
spending_analytics: { label: 'Spending analytics', tiers: publicProductTiers },
|
|
13
|
+
support: { label: 'Support', tiers: publicProductTiers },
|
|
14
|
+
wealth_tracking: { label: 'Wealth tracking', tiers: publicProductTiers },
|
|
15
|
+
};
|
|
16
|
+
export const publicProductCapabilityProjection = Object.entries(productCapabilityDefinitions).map(([id, definition]) => ({ id, label: definition.label, tiers: definition.tiers }));
|
|
17
|
+
//# sourceMappingURL=product.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/** Serializable descriptor. The edge worker owns all request execution and dynamic responses. */
|
|
2
|
+
export declare const publicDiscoveryMcpDescriptor: {
|
|
3
|
+
readonly protocolVersion: '2025-06-18';
|
|
4
|
+
readonly serverInfo: {
|
|
5
|
+
readonly name: 'warm-public-tools';
|
|
6
|
+
readonly title: 'Warm Public Discovery Tools';
|
|
7
|
+
readonly version: '1.0.0';
|
|
8
|
+
};
|
|
9
|
+
readonly paths: {
|
|
10
|
+
readonly developers: "/developers";
|
|
11
|
+
readonly endpoint: "/mcp";
|
|
12
|
+
readonly openapi: "/openapi.yaml";
|
|
13
|
+
readonly verify: "/api/verify";
|
|
14
|
+
};
|
|
15
|
+
readonly tools: readonly [{
|
|
16
|
+
readonly annotations: {
|
|
17
|
+
readonly readOnlyHint: true;
|
|
18
|
+
};
|
|
19
|
+
readonly description: 'Return Warm API discovery URLs and the current API catalog document.';
|
|
20
|
+
readonly inputSchema: {
|
|
21
|
+
type: string;
|
|
22
|
+
properties: {};
|
|
23
|
+
additionalProperties: boolean;
|
|
24
|
+
};
|
|
25
|
+
readonly name: 'warm-get-api-catalog';
|
|
26
|
+
readonly outputSchema: {
|
|
27
|
+
readonly type: 'object';
|
|
28
|
+
readonly properties: {
|
|
29
|
+
readonly apiCatalogUrl: {
|
|
30
|
+
readonly type: 'string';
|
|
31
|
+
};
|
|
32
|
+
readonly payload: {
|
|
33
|
+
readonly type: 'object';
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
readonly required: readonly ['apiCatalogUrl', 'payload'];
|
|
37
|
+
readonly additionalProperties: false;
|
|
38
|
+
};
|
|
39
|
+
readonly title: 'Warm API Catalog';
|
|
40
|
+
}, {
|
|
41
|
+
readonly annotations: {
|
|
42
|
+
readonly readOnlyHint: true;
|
|
43
|
+
};
|
|
44
|
+
readonly description: 'Return the Warm OpenAPI document URL and companion documentation URLs.';
|
|
45
|
+
readonly inputSchema: {
|
|
46
|
+
type: string;
|
|
47
|
+
properties: {};
|
|
48
|
+
additionalProperties: boolean;
|
|
49
|
+
};
|
|
50
|
+
readonly name: 'warm-get-openapi';
|
|
51
|
+
readonly outputSchema: {
|
|
52
|
+
readonly type: 'object';
|
|
53
|
+
readonly properties: {
|
|
54
|
+
readonly apiCatalogUrl: {
|
|
55
|
+
readonly type: 'string';
|
|
56
|
+
};
|
|
57
|
+
readonly documentationUrl: {
|
|
58
|
+
readonly type: 'string';
|
|
59
|
+
};
|
|
60
|
+
readonly openapiUrl: {
|
|
61
|
+
readonly type: 'string';
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
readonly required: readonly ['apiCatalogUrl', 'documentationUrl', 'openapiUrl'];
|
|
65
|
+
readonly additionalProperties: false;
|
|
66
|
+
};
|
|
67
|
+
readonly title: 'Warm OpenAPI';
|
|
68
|
+
}, {
|
|
69
|
+
readonly annotations: {
|
|
70
|
+
readonly readOnlyHint: true;
|
|
71
|
+
};
|
|
72
|
+
readonly description: 'Fetch the current Warm public API verification payload from /api/verify.';
|
|
73
|
+
readonly inputSchema: {
|
|
74
|
+
type: string;
|
|
75
|
+
properties: {};
|
|
76
|
+
additionalProperties: boolean;
|
|
77
|
+
};
|
|
78
|
+
readonly name: 'warm-get-service-status';
|
|
79
|
+
readonly outputSchema: {
|
|
80
|
+
readonly type: 'object';
|
|
81
|
+
readonly properties: {
|
|
82
|
+
readonly ok: {
|
|
83
|
+
readonly type: 'boolean';
|
|
84
|
+
};
|
|
85
|
+
readonly payload: {};
|
|
86
|
+
readonly error: {
|
|
87
|
+
readonly type: 'object';
|
|
88
|
+
readonly properties: {
|
|
89
|
+
readonly code: {
|
|
90
|
+
readonly type: 'string';
|
|
91
|
+
readonly enum: readonly ['VERIFY_TIMEOUT', 'VERIFY_NON_JSON', 'VERIFY_UNAVAILABLE'];
|
|
92
|
+
};
|
|
93
|
+
readonly message: {
|
|
94
|
+
readonly type: 'string';
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
readonly required: readonly ['code', 'message'];
|
|
98
|
+
readonly additionalProperties: false;
|
|
99
|
+
};
|
|
100
|
+
readonly status: {
|
|
101
|
+
readonly type: 'number';
|
|
102
|
+
readonly minimum: 0;
|
|
103
|
+
};
|
|
104
|
+
readonly statusUrl: {
|
|
105
|
+
readonly type: 'string';
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
readonly required: readonly ['ok', 'status', 'statusUrl'];
|
|
109
|
+
readonly additionalProperties: false;
|
|
110
|
+
};
|
|
111
|
+
readonly title: 'Warm API Verification';
|
|
112
|
+
}];
|
|
113
|
+
};
|
|
114
|
+
export type PublicDiscoveryTool = (typeof publicDiscoveryMcpDescriptor.tools)[number];
|
|
115
|
+
export type PublicDiscoveryToolName = PublicDiscoveryTool['name'];
|
|
116
|
+
//# sourceMappingURL=public-discovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-discovery.d.ts","sourceRoot":"","sources":["../src/public-discovery.ts"],"names":[],"mappings":"AAmBA,iGAAiG;AACjG,eAAO,MAAM,4BAA4B;aACvC,eAAe,EAAE,YAAY;aAC7B,UAAU;iBACR,IAAI,EAAE,mBAAmB;iBACzB,KAAK,EAAE,6BAA6B;iBACpC,OAAO,EAAE,OAAO;;aAElB,KAAK;iBACH,UAAU;iBACV,QAAQ;iBACR,OAAO;iBACP,MAAM;;aAER,KAAK;iBAED,WAAW;qBAAI,YAAY;;iBAC3B,WAAW,EAAE,sEAAsE;iBACnF,WAAW;;;;;iBACX,IAAI,EAAE,sBAAsB;iBAC5B,YAAY;qBACV,IAAI,EAAE,QAAQ;qBACd,UAAU;yBACR,aAAa;6BAAI,IAAI,EAAE,QAAQ;;yBAC/B,OAAO;6BAAI,IAAI,EAAE,QAAQ;;;qBAE3B,QAAQ,YAAG,eAAe,EAAE,SAAS;qBACrC,oBAAoB;;iBAEtB,KAAK,EAAE,kBAAkB;;iBAGzB,WAAW;qBAAI,YAAY;;iBAC3B,WAAW,EAAE,wEAAwE;iBACrF,WAAW;;;;;iBACX,IAAI,EAAE,kBAAkB;iBACxB,YAAY;qBACV,IAAI,EAAE,QAAQ;qBACd,UAAU;yBACR,aAAa;6BAAI,IAAI,EAAE,QAAQ;;yBAC/B,gBAAgB;6BAAI,IAAI,EAAE,QAAQ;;yBAClC,UAAU;6BAAI,IAAI,EAAE,QAAQ;;;qBAE9B,QAAQ,YAAG,eAAe,EAAE,kBAAkB,EAAE,YAAY;qBAC5D,oBAAoB;;iBAEtB,KAAK,EAAE,cAAc;;iBAGrB,WAAW;qBAAI,YAAY;;iBAC3B,WAAW,EAAE,0EAA0E;iBACvF,WAAW;;;;;iBACX,IAAI,EAAE,yBAAyB;iBAC/B,YAAY;qBACV,IAAI,EAAE,QAAQ;qBACd,UAAU;yBACR,EAAE;6BAAI,IAAI,EAAE,SAAS;;yBACrB,OAAO;yBACP,KAAK;6BACH,IAAI,EAAE,QAAQ;6BACd,UAAU;iCACR,IAAI;qCACF,IAAI,EAAE,QAAQ;qCACd,IAAI,YAAG,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB;;iCAElE,OAAO;qCAAI,IAAI,EAAE,QAAQ;;;6BAE3B,QAAQ,YAAG,MAAM,EAAE,SAAS;6BAC5B,oBAAoB;;yBAEtB,MAAM;6BAAI,IAAI,EAAE,QAAQ;6BAAE,OAAO,EAAE,CAAC;;yBACpC,SAAS;6BAAI,IAAI,EAAE,QAAQ;;;qBAE7B,QAAQ,YAAG,IAAI,EAAE,QAAQ,EAAE,WAAW;qBACtC,oBAAoB;;iBAEtB,KAAK,EAAE,uBAAuB;;CAG1B,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,4BAA4B,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AACtF,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Separate package descriptor: public discovery metadata is importable by docs
|
|
3
|
+
* while the edge worker remains the sole request executor.
|
|
4
|
+
*/
|
|
5
|
+
import { DEVELOPERS_PATH, OPENAPI_PATH, PUBLIC_DISCOVERY_MCP_PATH, VERIFY_PATH, } from './api/endpoints.js';
|
|
6
|
+
const emptyInputSchema = {
|
|
7
|
+
type: 'object',
|
|
8
|
+
properties: {},
|
|
9
|
+
additionalProperties: false,
|
|
10
|
+
};
|
|
11
|
+
/** Serializable descriptor. The edge worker owns all request execution and dynamic responses. */
|
|
12
|
+
export const publicDiscoveryMcpDescriptor = {
|
|
13
|
+
protocolVersion: '2025-06-18',
|
|
14
|
+
serverInfo: {
|
|
15
|
+
name: 'warm-public-tools',
|
|
16
|
+
title: 'Warm Public Discovery Tools',
|
|
17
|
+
version: '1.0.0',
|
|
18
|
+
},
|
|
19
|
+
paths: {
|
|
20
|
+
developers: DEVELOPERS_PATH,
|
|
21
|
+
endpoint: PUBLIC_DISCOVERY_MCP_PATH,
|
|
22
|
+
openapi: OPENAPI_PATH,
|
|
23
|
+
verify: VERIFY_PATH,
|
|
24
|
+
},
|
|
25
|
+
tools: [
|
|
26
|
+
{
|
|
27
|
+
annotations: { readOnlyHint: true },
|
|
28
|
+
description: 'Return Warm API discovery URLs and the current API catalog document.',
|
|
29
|
+
inputSchema: emptyInputSchema,
|
|
30
|
+
name: 'warm-get-api-catalog',
|
|
31
|
+
outputSchema: {
|
|
32
|
+
type: 'object',
|
|
33
|
+
properties: {
|
|
34
|
+
apiCatalogUrl: { type: 'string' },
|
|
35
|
+
payload: { type: 'object' },
|
|
36
|
+
},
|
|
37
|
+
required: ['apiCatalogUrl', 'payload'],
|
|
38
|
+
additionalProperties: false,
|
|
39
|
+
},
|
|
40
|
+
title: 'Warm API Catalog',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
annotations: { readOnlyHint: true },
|
|
44
|
+
description: 'Return the Warm OpenAPI document URL and companion documentation URLs.',
|
|
45
|
+
inputSchema: emptyInputSchema,
|
|
46
|
+
name: 'warm-get-openapi',
|
|
47
|
+
outputSchema: {
|
|
48
|
+
type: 'object',
|
|
49
|
+
properties: {
|
|
50
|
+
apiCatalogUrl: { type: 'string' },
|
|
51
|
+
documentationUrl: { type: 'string' },
|
|
52
|
+
openapiUrl: { type: 'string' },
|
|
53
|
+
},
|
|
54
|
+
required: ['apiCatalogUrl', 'documentationUrl', 'openapiUrl'],
|
|
55
|
+
additionalProperties: false,
|
|
56
|
+
},
|
|
57
|
+
title: 'Warm OpenAPI',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
annotations: { readOnlyHint: true },
|
|
61
|
+
description: 'Fetch the current Warm public API verification payload from /api/verify.',
|
|
62
|
+
inputSchema: emptyInputSchema,
|
|
63
|
+
name: 'warm-get-service-status',
|
|
64
|
+
outputSchema: {
|
|
65
|
+
type: 'object',
|
|
66
|
+
properties: {
|
|
67
|
+
ok: { type: 'boolean' },
|
|
68
|
+
payload: {},
|
|
69
|
+
error: {
|
|
70
|
+
type: 'object',
|
|
71
|
+
properties: {
|
|
72
|
+
code: {
|
|
73
|
+
type: 'string',
|
|
74
|
+
enum: ['VERIFY_TIMEOUT', 'VERIFY_NON_JSON', 'VERIFY_UNAVAILABLE'],
|
|
75
|
+
},
|
|
76
|
+
message: { type: 'string' },
|
|
77
|
+
},
|
|
78
|
+
required: ['code', 'message'],
|
|
79
|
+
additionalProperties: false,
|
|
80
|
+
},
|
|
81
|
+
status: { type: 'number', minimum: 0 },
|
|
82
|
+
statusUrl: { type: 'string' },
|
|
83
|
+
},
|
|
84
|
+
required: ['ok', 'status', 'statusUrl'],
|
|
85
|
+
additionalProperties: false,
|
|
86
|
+
},
|
|
87
|
+
title: 'Warm API Verification',
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=public-discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-discovery.js","sourceRoot":"","sources":["../src/public-discovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,eAAe,EACf,YAAY,EACZ,yBAAyB,EACzB,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAI5B,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,EAAE;IACd,oBAAoB,EAAE,KAAK;CACP,CAAC;AAEvB,iGAAiG;AACjG,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,eAAe,EAAE,YAAY;IAC7B,UAAU,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,6BAA6B;QACpC,OAAO,EAAE,OAAO;KACjB;IACD,KAAK,EAAE;QACL,UAAU,EAAE,eAAe;QAC3B,QAAQ,EAAE,yBAAyB;QACnC,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,WAAW;KACpB;IACD,KAAK,EAAE;QACL;YACE,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;YACnC,WAAW,EAAE,sEAAsE;YACnF,WAAW,EAAE,gBAAgB;YAC7B,IAAI,EAAE,sBAAsB;YAC5B,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACjC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC5B;gBACD,QAAQ,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC;gBACtC,oBAAoB,EAAE,KAAK;aAC5B;YACD,KAAK,EAAE,kBAAkB;SAC1B;QACD;YACE,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;YACnC,WAAW,EAAE,wEAAwE;YACrF,WAAW,EAAE,gBAAgB;YAC7B,IAAI,EAAE,kBAAkB;YACxB,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACjC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACpC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC/B;gBACD,QAAQ,EAAE,CAAC,eAAe,EAAE,kBAAkB,EAAE,YAAY,CAAC;gBAC7D,oBAAoB,EAAE,KAAK;aAC5B;YACD,KAAK,EAAE,cAAc;SACtB;QACD;YACE,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;YACnC,WAAW,EAAE,0EAA0E;YACvF,WAAW,EAAE,gBAAgB;YAC7B,IAAI,EAAE,yBAAyB;YAC/B,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBACvB,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE;gCACJ,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,CAAC;6BAClE;4BACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC5B;wBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;wBAC7B,oBAAoB,EAAE,KAAK;qBAC5B;oBACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;oBACtC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC9B;gBACD,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC;gBACvC,oBAAoB,EAAE,KAAK;aAC5B;YACD,KAAK,EAAE,uBAAuB;SAC/B;KACF;CACO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@warmio/contracts",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Side-effect-free public API and MCP contracts for Warm.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|
|
@@ -38,6 +38,12 @@
|
|
|
38
38
|
"mcp": [
|
|
39
39
|
"dist/mcp/index.d.ts"
|
|
40
40
|
],
|
|
41
|
+
"product": [
|
|
42
|
+
"dist/product.d.ts"
|
|
43
|
+
],
|
|
44
|
+
"public-discovery": [
|
|
45
|
+
"dist/public-discovery.d.ts"
|
|
46
|
+
],
|
|
41
47
|
"openapi": [
|
|
42
48
|
"dist/openapi/index.d.ts"
|
|
43
49
|
]
|
|
@@ -72,6 +78,14 @@
|
|
|
72
78
|
"types": "./dist/mcp/index.d.ts",
|
|
73
79
|
"default": "./dist/mcp/index.js"
|
|
74
80
|
},
|
|
81
|
+
"./product": {
|
|
82
|
+
"types": "./dist/product.d.ts",
|
|
83
|
+
"default": "./dist/product.js"
|
|
84
|
+
},
|
|
85
|
+
"./public-discovery": {
|
|
86
|
+
"types": "./dist/public-discovery.d.ts",
|
|
87
|
+
"default": "./dist/public-discovery.js"
|
|
88
|
+
},
|
|
75
89
|
"./openapi": {
|
|
76
90
|
"types": "./dist/openapi/index.d.ts",
|
|
77
91
|
"default": "./dist/openapi/index.js"
|
|
@@ -80,6 +94,7 @@
|
|
|
80
94
|
"scripts": {
|
|
81
95
|
"build": "tsc -p tsconfig.build.json && node scripts/copy-openapi-template.mjs",
|
|
82
96
|
"typecheck": "tsc --noEmit",
|
|
97
|
+
"release-manifest:digest": "node scripts/contract-release-digest.mjs",
|
|
83
98
|
"pack:check": "pnpm pack --dry-run"
|
|
84
99
|
},
|
|
85
100
|
"dependencies": {
|