@cyanheads/mcp-ts-core 0.8.13 → 0.8.15
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/CLAUDE.md +5 -3
- package/README.md +14 -1
- package/changelog/0.8.x/0.8.14.md +33 -0
- package/changelog/0.8.x/0.8.15.md +22 -0
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/logs/combined.log +4 -4
- package/dist/logs/error.log +4 -4
- package/dist/services/canvas/{providers/duckdb → core}/schemaSniffer.d.ts +14 -8
- package/dist/services/canvas/core/schemaSniffer.d.ts.map +1 -0
- package/dist/services/canvas/{providers/duckdb → core}/schemaSniffer.js +41 -33
- package/dist/services/canvas/core/schemaSniffer.js.map +1 -0
- package/dist/services/canvas/index.d.ts +2 -0
- package/dist/services/canvas/index.d.ts.map +1 -1
- package/dist/services/canvas/index.js +2 -0
- package/dist/services/canvas/index.js.map +1 -1
- package/dist/services/canvas/providers/duckdb/DuckdbProvider.d.ts.map +1 -1
- package/dist/services/canvas/providers/duckdb/DuckdbProvider.js +1 -1
- package/dist/services/canvas/providers/duckdb/DuckdbProvider.js.map +1 -1
- package/dist/services/canvas/spillover.d.ts +121 -0
- package/dist/services/canvas/spillover.d.ts.map +1 -0
- package/dist/services/canvas/spillover.js +201 -0
- package/dist/services/canvas/spillover.js.map +1 -0
- package/dist/storage/core/IStorageProvider.d.ts +10 -3
- package/dist/storage/core/IStorageProvider.d.ts.map +1 -1
- package/package.json +9 -8
- package/skills/add-tool/SKILL.md +8 -2
- package/skills/api-canvas/SKILL.md +77 -1
- package/skills/api-errors/SKILL.md +3 -1
- package/skills/api-workers/SKILL.md +4 -4
- package/skills/design-mcp-server/SKILL.md +2 -1
- package/skills/tool-defs-analysis/SKILL.md +209 -0
- package/templates/AGENTS.md +3 -0
- package/templates/CLAUDE.md +3 -0
- package/dist/services/canvas/providers/duckdb/schemaSniffer.d.ts.map +0 -1
- package/dist/services/canvas/providers/duckdb/schemaSniffer.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DuckdbProvider.js","sourceRoot":"","sources":["../../../../../src/services/canvas/providers/duckdb/DuckdbProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DuckdbProvider.js","sourceRoot":"","sources":["../../../../../src/services/canvas/providers/duckdb/DuckdbProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Source-agnostic spillover helper. Drains rows from any
|
|
3
|
+
* tabular source up to a character budget for the inline preview, then — if
|
|
4
|
+
* the source exceeds the budget — registers the full source (preview rows +
|
|
5
|
+
* sentinel + remaining tail) to a canvas table and returns a handle. Same
|
|
6
|
+
* input domain as {@link CanvasInstance.registerTable}: arrays, sync
|
|
7
|
+
* generators, paginated APIs wrapped as async generators, etc. The seam is
|
|
8
|
+
* the row iterable itself; everything BrAPI- or pagination-specific stays
|
|
9
|
+
* out of this layer.
|
|
10
|
+
* @module src/services/canvas/spillover
|
|
11
|
+
*/
|
|
12
|
+
import type { CanvasInstance } from './core/CanvasInstance.js';
|
|
13
|
+
import type { ColumnSchema, RegisterTableResult } from './types.js';
|
|
14
|
+
/** Row shape — mirrors what registerTable accepts. */
|
|
15
|
+
type Row = Record<string, unknown>;
|
|
16
|
+
/** Options for {@link spillover}. */
|
|
17
|
+
export interface SpilloverOptions<T extends Row> {
|
|
18
|
+
/** Pre-acquired canvas the caller already controls. */
|
|
19
|
+
canvas: CanvasInstance;
|
|
20
|
+
/** Drain caps applied to the spill phase. */
|
|
21
|
+
caps?: {
|
|
22
|
+
/**
|
|
23
|
+
* Hard upper bound on rows registered to the canvas table. When the cap
|
|
24
|
+
* is hit while the source still has more rows, the table holds exactly
|
|
25
|
+
* `maxRows` rows and the result reports `truncated: true`.
|
|
26
|
+
*/
|
|
27
|
+
maxRows?: number;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Character budget for the inline preview. The helper drains rows,
|
|
31
|
+
* accumulating `JSON.stringify(row).length` per row. The first row whose
|
|
32
|
+
* serialization pushes the running total past `previewChars` is the
|
|
33
|
+
* overflow sentinel — its existence proves the source has more rows than
|
|
34
|
+
* fit, and it is itself spilled (not previewed). Heuristic: ~4× the
|
|
35
|
+
* desired token budget (e.g. 100_000 chars ≈ 25k tokens). Must be ≥ 1.
|
|
36
|
+
*/
|
|
37
|
+
previewChars: number;
|
|
38
|
+
/**
|
|
39
|
+
* Explicit table schema. Forwarded to canvas. Auto-derived from the
|
|
40
|
+
* preview buffer when omitted.
|
|
41
|
+
*/
|
|
42
|
+
schema?: ColumnSchema[];
|
|
43
|
+
/**
|
|
44
|
+
* Cancellation. Throws on abort during drain or registration; partial
|
|
45
|
+
* canvas tables are best-effort dropped before the throw propagates.
|
|
46
|
+
*/
|
|
47
|
+
signal?: AbortSignal;
|
|
48
|
+
/** Row source. Anything DataCanvas.registerTable accepts. */
|
|
49
|
+
source: AsyncIterable<T> | Iterable<T>;
|
|
50
|
+
/**
|
|
51
|
+
* Auto-generated (e.g. `spilled_<8-hex>`) when omitted. Caller-supplied
|
|
52
|
+
* names are validated against the canvas identifier rules up-front,
|
|
53
|
+
* before any draining begins.
|
|
54
|
+
*/
|
|
55
|
+
tableName?: string;
|
|
56
|
+
}
|
|
57
|
+
/** Return value when the source fit inside the preview budget. No canvas call was made. */
|
|
58
|
+
export interface SpilloverFitResult<T> {
|
|
59
|
+
previewRows: T[];
|
|
60
|
+
spilled: false;
|
|
61
|
+
}
|
|
62
|
+
/** Return value when the source exceeded the preview budget and was spilled to a canvas table. */
|
|
63
|
+
export interface SpilloverSpillResult<T> {
|
|
64
|
+
/** Result from `canvas.registerTable` — `tableName`, `rowCount`, `columns`. */
|
|
65
|
+
handle: RegisterTableResult;
|
|
66
|
+
previewRows: T[];
|
|
67
|
+
spilled: true;
|
|
68
|
+
/**
|
|
69
|
+
* `true` when `caps.maxRows` was hit during the spill drain — the
|
|
70
|
+
* registered table holds exactly `caps.maxRows` rows but the upstream
|
|
71
|
+
* source had more. `false` when the full source was registered.
|
|
72
|
+
*/
|
|
73
|
+
truncated: boolean;
|
|
74
|
+
}
|
|
75
|
+
/** Discriminated union return for {@link spillover}. */
|
|
76
|
+
export type SpilloverResult<T> = SpilloverFitResult<T> | SpilloverSpillResult<T>;
|
|
77
|
+
/**
|
|
78
|
+
* Drain a tabular source into an inline preview slice and (if the source
|
|
79
|
+
* exceeds the budget) register the full source to a canvas table. The
|
|
80
|
+
* registered table holds every row — the preview slice plus the rows beyond
|
|
81
|
+
* it — so callers SQL the canvas table for the complete result rather than
|
|
82
|
+
* mentally unioning the preview and the table.
|
|
83
|
+
*
|
|
84
|
+
* The character budget is enforced by serializing each drained row with
|
|
85
|
+
* `JSON.stringify`. The first row that pushes the running total past
|
|
86
|
+
* `previewChars` is the overflow sentinel: its existence proves the source
|
|
87
|
+
* has more rows than fit, and it is registered on the canvas (not echoed in
|
|
88
|
+
* the preview). When the source exhausts under budget no canvas call is
|
|
89
|
+
* made.
|
|
90
|
+
*
|
|
91
|
+
* Schema is inferred from the preview buffer (plus the overflow sentinel)
|
|
92
|
+
* when no explicit schema is supplied. Pass `schema` directly when type
|
|
93
|
+
* fidelity matters more than the buffer-sized sniff window.
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```ts
|
|
97
|
+
* async function* fetchAll(): AsyncIterable<Row> {
|
|
98
|
+
* for (let p = 0; ; p++) {
|
|
99
|
+
* const page = await fetchPage(p);
|
|
100
|
+
* yield* page.rows;
|
|
101
|
+
* if (page.last) return;
|
|
102
|
+
* }
|
|
103
|
+
* }
|
|
104
|
+
*
|
|
105
|
+
* const result = await spillover({
|
|
106
|
+
* canvas,
|
|
107
|
+
* source: fetchAll(),
|
|
108
|
+
* previewChars: 100_000, // ≈ 25k tokens
|
|
109
|
+
* caps: { maxRows: 50_000 },
|
|
110
|
+
* signal: ctx.signal,
|
|
111
|
+
* });
|
|
112
|
+
* if (result.spilled) {
|
|
113
|
+
* // result.handle.tableName, result.truncated, result.previewRows
|
|
114
|
+
* } else {
|
|
115
|
+
* // result.previewRows
|
|
116
|
+
* }
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
export declare function spillover<T extends Row>(opts: SpilloverOptions<T>): Promise<SpilloverResult<T>>;
|
|
120
|
+
export {};
|
|
121
|
+
//# sourceMappingURL=spillover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spillover.d.ts","sourceRoot":"","sources":["../../../src/services/canvas/spillover.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEpE,sDAAsD;AACtD,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnC,qCAAqC;AACrC,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,GAAG;IAC7C,uDAAuD;IACvD,MAAM,EAAE,cAAc,CAAC;IACvB,6CAA6C;IAC7C,IAAI,CAAC,EAAE;QACL;;;;WAIG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF;;;;;;;OAOG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6DAA6D;IAC7D,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,2FAA2F;AAC3F,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,WAAW,EAAE,CAAC,EAAE,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC;CAChB;AAED,kGAAkG;AAClG,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,+EAA+E;IAC/E,MAAM,EAAE,mBAAmB,CAAC;IAC5B,WAAW,EAAE,CAAC,EAAE,CAAC;IACjB,OAAO,EAAE,IAAI,CAAC;IACd;;;;OAIG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wDAAwD;AACxD,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAMjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAsB,SAAS,CAAC,CAAC,SAAS,GAAG,EAC3C,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAyE7B"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Source-agnostic spillover helper. Drains rows from any
|
|
3
|
+
* tabular source up to a character budget for the inline preview, then — if
|
|
4
|
+
* the source exceeds the budget — registers the full source (preview rows +
|
|
5
|
+
* sentinel + remaining tail) to a canvas table and returns a handle. Same
|
|
6
|
+
* input domain as {@link CanvasInstance.registerTable}: arrays, sync
|
|
7
|
+
* generators, paginated APIs wrapped as async generators, etc. The seam is
|
|
8
|
+
* the row iterable itself; everything BrAPI- or pagination-specific stays
|
|
9
|
+
* out of this layer.
|
|
10
|
+
* @module src/services/canvas/spillover
|
|
11
|
+
*/
|
|
12
|
+
import { validationError } from '../../types-global/errors.js';
|
|
13
|
+
import { idGenerator } from '../../utils/security/idGenerator.js';
|
|
14
|
+
import { inferSchemaFromRows } from './core/schemaSniffer.js';
|
|
15
|
+
import { assertValidIdentifier } from './core/sqlGate.js';
|
|
16
|
+
const GENERATED_NAME_PREFIX = 'spilled_';
|
|
17
|
+
const GENERATED_NAME_HEX_LENGTH = 8;
|
|
18
|
+
const HEX_CHARSET = '0123456789abcdef';
|
|
19
|
+
/**
|
|
20
|
+
* Drain a tabular source into an inline preview slice and (if the source
|
|
21
|
+
* exceeds the budget) register the full source to a canvas table. The
|
|
22
|
+
* registered table holds every row — the preview slice plus the rows beyond
|
|
23
|
+
* it — so callers SQL the canvas table for the complete result rather than
|
|
24
|
+
* mentally unioning the preview and the table.
|
|
25
|
+
*
|
|
26
|
+
* The character budget is enforced by serializing each drained row with
|
|
27
|
+
* `JSON.stringify`. The first row that pushes the running total past
|
|
28
|
+
* `previewChars` is the overflow sentinel: its existence proves the source
|
|
29
|
+
* has more rows than fit, and it is registered on the canvas (not echoed in
|
|
30
|
+
* the preview). When the source exhausts under budget no canvas call is
|
|
31
|
+
* made.
|
|
32
|
+
*
|
|
33
|
+
* Schema is inferred from the preview buffer (plus the overflow sentinel)
|
|
34
|
+
* when no explicit schema is supplied. Pass `schema` directly when type
|
|
35
|
+
* fidelity matters more than the buffer-sized sniff window.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* async function* fetchAll(): AsyncIterable<Row> {
|
|
40
|
+
* for (let p = 0; ; p++) {
|
|
41
|
+
* const page = await fetchPage(p);
|
|
42
|
+
* yield* page.rows;
|
|
43
|
+
* if (page.last) return;
|
|
44
|
+
* }
|
|
45
|
+
* }
|
|
46
|
+
*
|
|
47
|
+
* const result = await spillover({
|
|
48
|
+
* canvas,
|
|
49
|
+
* source: fetchAll(),
|
|
50
|
+
* previewChars: 100_000, // ≈ 25k tokens
|
|
51
|
+
* caps: { maxRows: 50_000 },
|
|
52
|
+
* signal: ctx.signal,
|
|
53
|
+
* });
|
|
54
|
+
* if (result.spilled) {
|
|
55
|
+
* // result.handle.tableName, result.truncated, result.previewRows
|
|
56
|
+
* } else {
|
|
57
|
+
* // result.previewRows
|
|
58
|
+
* }
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export async function spillover(opts) {
|
|
62
|
+
validatePreviewChars(opts.previewChars);
|
|
63
|
+
validateMaxRows(opts.caps?.maxRows);
|
|
64
|
+
// Validate (or generate) the table name before draining a single row —
|
|
65
|
+
// catches bad caller-supplied names without wasting a 50k-row pull.
|
|
66
|
+
const tableName = opts.tableName ?? generateTableName();
|
|
67
|
+
assertValidIdentifier(tableName, 'table');
|
|
68
|
+
opts.signal?.throwIfAborted();
|
|
69
|
+
const iter = openIterator(opts.source);
|
|
70
|
+
// ---------------- Phase 1: drain into the preview buffer ---------------
|
|
71
|
+
const previewBuffer = [];
|
|
72
|
+
let bytes = 0;
|
|
73
|
+
let overflowSentinel;
|
|
74
|
+
while (true) {
|
|
75
|
+
opts.signal?.throwIfAborted();
|
|
76
|
+
const next = await iter.next();
|
|
77
|
+
if (next.done)
|
|
78
|
+
break;
|
|
79
|
+
const row = next.value;
|
|
80
|
+
const rowChars = safeJsonLength(row);
|
|
81
|
+
if (bytes + rowChars > opts.previewChars) {
|
|
82
|
+
// This row crosses the budget — it's the overflow sentinel.
|
|
83
|
+
overflowSentinel = row;
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
previewBuffer.push(row);
|
|
87
|
+
bytes += rowChars;
|
|
88
|
+
}
|
|
89
|
+
if (overflowSentinel === undefined) {
|
|
90
|
+
return { spilled: false, previewRows: previewBuffer };
|
|
91
|
+
}
|
|
92
|
+
// ---------------- Phase 2: spill the remainder to canvas ---------------
|
|
93
|
+
const schema = opts.schema ?? inferSchemaFromRows([...previewBuffer, overflowSentinel]);
|
|
94
|
+
const truncationFlag = { hit: false };
|
|
95
|
+
const merged = mergedRows({
|
|
96
|
+
bufferedRows: previewBuffer,
|
|
97
|
+
overflowSentinel,
|
|
98
|
+
remaining: iter,
|
|
99
|
+
maxRows: opts.caps?.maxRows,
|
|
100
|
+
signal: opts.signal,
|
|
101
|
+
truncationFlag,
|
|
102
|
+
});
|
|
103
|
+
let handle;
|
|
104
|
+
try {
|
|
105
|
+
handle = await opts.canvas.registerTable(tableName, merged, {
|
|
106
|
+
schema,
|
|
107
|
+
...(opts.signal !== undefined && { signal: opts.signal }),
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
catch (err) {
|
|
111
|
+
// Best-effort cleanup so an aborted or failed registration doesn't leave
|
|
112
|
+
// a partially-appended table on the canvas. Drop is idempotent.
|
|
113
|
+
try {
|
|
114
|
+
await opts.canvas.drop(tableName);
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
/* swallow — original error wins */
|
|
118
|
+
}
|
|
119
|
+
throw err;
|
|
120
|
+
}
|
|
121
|
+
return {
|
|
122
|
+
spilled: true,
|
|
123
|
+
previewRows: previewBuffer,
|
|
124
|
+
handle,
|
|
125
|
+
truncated: truncationFlag.hit,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
function validatePreviewChars(value) {
|
|
129
|
+
if (!Number.isInteger(value) || value < 1) {
|
|
130
|
+
throw validationError('previewChars must be an integer ≥ 1. Use canvas.registerTable directly for headless spills.', { reason: 'invalid_preview_chars', previewChars: value });
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
function validateMaxRows(value) {
|
|
134
|
+
if (value === undefined)
|
|
135
|
+
return;
|
|
136
|
+
if (!Number.isInteger(value) || value < 1) {
|
|
137
|
+
throw validationError('caps.maxRows must be an integer ≥ 1 when supplied.', {
|
|
138
|
+
reason: 'invalid_max_rows',
|
|
139
|
+
maxRows: value,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
function openIterator(source) {
|
|
144
|
+
if (typeof source[Symbol.asyncIterator] === 'function') {
|
|
145
|
+
return source[Symbol.asyncIterator]();
|
|
146
|
+
}
|
|
147
|
+
return source[Symbol.iterator]();
|
|
148
|
+
}
|
|
149
|
+
function safeJsonLength(row) {
|
|
150
|
+
try {
|
|
151
|
+
return JSON.stringify(row).length;
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
/**
|
|
155
|
+
* Cyclic structures or stringify-unfriendly values would crash a
|
|
156
|
+
* downstream serializer anyway. Treat as an oversized row so it pushes
|
|
157
|
+
* past the budget and the caller sees the failure during register
|
|
158
|
+
* rather than silently in the preview.
|
|
159
|
+
*/
|
|
160
|
+
return Number.MAX_SAFE_INTEGER;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
async function* mergedRows(args) {
|
|
164
|
+
const cap = args.maxRows;
|
|
165
|
+
let yielded = 0;
|
|
166
|
+
const capHit = () => cap !== undefined && yielded >= cap;
|
|
167
|
+
for (const row of args.bufferedRows) {
|
|
168
|
+
args.signal?.throwIfAborted();
|
|
169
|
+
if (capHit()) {
|
|
170
|
+
args.truncationFlag.hit = true;
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
yield row;
|
|
174
|
+
yielded += 1;
|
|
175
|
+
}
|
|
176
|
+
args.signal?.throwIfAborted();
|
|
177
|
+
if (capHit()) {
|
|
178
|
+
args.truncationFlag.hit = true;
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
yield args.overflowSentinel;
|
|
182
|
+
yielded += 1;
|
|
183
|
+
while (true) {
|
|
184
|
+
args.signal?.throwIfAborted();
|
|
185
|
+
const next = await args.remaining.next();
|
|
186
|
+
if (next.done)
|
|
187
|
+
return;
|
|
188
|
+
if (capHit()) {
|
|
189
|
+
// Cap hit AND the source still had more — honest truncation.
|
|
190
|
+
args.truncationFlag.hit = true;
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
yield next.value;
|
|
194
|
+
yielded += 1;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
function generateTableName() {
|
|
198
|
+
const suffix = idGenerator.generateRandomString(GENERATED_NAME_HEX_LENGTH, HEX_CHARSET);
|
|
199
|
+
return `${GENERATED_NAME_PREFIX}${suffix}`;
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=spillover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spillover.js","sourceRoot":"","sources":["../../../src/services/canvas/spillover.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,10 +10,11 @@ import type { RequestContext } from '../../utils/internal/requestContext.js';
|
|
|
10
10
|
*
|
|
11
11
|
* @property ttl - Time-to-live for the stored item, in seconds. If not provided, the item is stored indefinitely.
|
|
12
12
|
* Provider-specific behaviors:
|
|
13
|
-
* - `in-memory`: TTL enforced by
|
|
13
|
+
* - `in-memory`: TTL enforced by timers and lazy filtering on get/list.
|
|
14
14
|
* - `filesystem`: TTL stored in a metadata envelope; expired items are filtered on `get()` and `list()`.
|
|
15
|
-
* - `supabase`: TTL managed via an `expires_at` column; expired rows are
|
|
16
|
-
* - `cloudflare-
|
|
15
|
+
* - `supabase`: TTL managed via an `expires_at` column; expired rows are filtered in list queries and lazily removed on reads.
|
|
16
|
+
* - `cloudflare-d1`: TTL managed via an `expires_at` column; expired rows are filtered in list queries and lazily removed on reads.
|
|
17
|
+
* - `cloudflare-kv`: TTL is a native feature of the KV store. KV propagation is eventually consistent.
|
|
17
18
|
* - `cloudflare-r2`: TTL stored in a metadata envelope; expired items are filtered on `get()`. `list()` does not filter expired items due to performance cost.
|
|
18
19
|
*/
|
|
19
20
|
export interface StorageOptions {
|
|
@@ -67,6 +68,12 @@ export interface ListResult {
|
|
|
67
68
|
/**
|
|
68
69
|
* Defines the contract for a generic storage provider.
|
|
69
70
|
* All methods must be asynchronous and accept a RequestContext for tracing and logging.
|
|
71
|
+
*
|
|
72
|
+
* Current provider-status notes:
|
|
73
|
+
* - `in-memory`, `filesystem`, `supabase`, and `cloudflare-d1` report precise delete/deleteMany counts.
|
|
74
|
+
* - `cloudflare-kv` and `cloudflare-r2` expose idempotent deletes only; delete() returns true after a successful backend call even when the key may not have existed, and deleteMany() counts attempted successful deletes.
|
|
75
|
+
* - List TTL filtering is exact for `in-memory`, `filesystem`, `supabase`, and `cloudflare-d1`; native/eventual for `cloudflare-kv`; and not applied for `cloudflare-r2` because listing every object body would be too expensive.
|
|
76
|
+
* - `values` on ListResult is opportunistic. Consumers must treat it as a cache hint and call getMany() when absent.
|
|
70
77
|
*/
|
|
71
78
|
export interface IStorageProvider {
|
|
72
79
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IStorageProvider.d.ts","sourceRoot":"","sources":["../../../src/storage/core/IStorageProvider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE
|
|
1
|
+
{"version":3,"file":"IStorageProvider.d.ts","sourceRoot":"","sources":["../../../src/storage/core/IStorageProvider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAElE;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjF;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvF;;;;;;OAMG;IACH,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAElF;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAE/F;;;;;;;;;OASG;IACH,IAAI,CACF,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB;;;;;;;OAOG;IACH,GAAG,CACD,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CACL,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/mcp-ts-core",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.15",
|
|
4
4
|
"mcpName": "io.github.cyanheads/mcp-ts-core",
|
|
5
5
|
"description": "Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.",
|
|
6
6
|
"main": "dist/core/index.js",
|
|
@@ -138,12 +138,13 @@
|
|
|
138
138
|
"tree": "bun run scripts/tree.ts",
|
|
139
139
|
"fetch-spec": "bun run scripts/fetch-openapi-spec.ts",
|
|
140
140
|
"test": "bunx vitest run",
|
|
141
|
-
"test:all": "bun run test && bun run test:integration",
|
|
141
|
+
"test:all": "bun run test && bun run test:worker && bun run test:integration",
|
|
142
142
|
"test:integration": "bunx vitest run --config vitest.integration.ts",
|
|
143
143
|
"test:unit": "bunx vitest run --project unit",
|
|
144
144
|
"test:smoke": "bunx vitest run --project smoke",
|
|
145
145
|
"test:fuzz": "bunx vitest run --project fuzz",
|
|
146
146
|
"test:compliance": "bunx vitest run --project compliance",
|
|
147
|
+
"test:worker": "sh -c 'NODE_BIN=$(which -a node | grep -v /bun-node- | head -n 1); \"$NODE_BIN\" ./node_modules/vitest/vitest.mjs run --config vitest.worker.ts'",
|
|
147
148
|
"test:ui": "bunx vitest --ui",
|
|
148
149
|
"test:coverage": "bunx vitest run --coverage",
|
|
149
150
|
"audit": "bun audit",
|
|
@@ -160,12 +161,12 @@
|
|
|
160
161
|
"path-to-regexp": "8.4.2",
|
|
161
162
|
"picomatch": "2.3.2",
|
|
162
163
|
"protobufjs": "7.5.5",
|
|
163
|
-
"yaml": "1.10.3"
|
|
164
|
-
"zod": "4.4.2"
|
|
164
|
+
"yaml": "1.10.3"
|
|
165
165
|
},
|
|
166
166
|
"devDependencies": {
|
|
167
167
|
"@biomejs/biome": "2.4.14",
|
|
168
|
-
"@cloudflare/workers
|
|
168
|
+
"@cloudflare/vitest-pool-workers": "^0.15.2",
|
|
169
|
+
"@cloudflare/workers-types": "^4.20260505.1",
|
|
169
170
|
"@duckdb/node-api": "^1.5.2-r.1",
|
|
170
171
|
"@hono/otel": "^1.1.1",
|
|
171
172
|
"@opentelemetry/exporter-metrics-otlp-http": "^0.216.0",
|
|
@@ -177,7 +178,7 @@
|
|
|
177
178
|
"@opentelemetry/sdk-node": "^0.216.0",
|
|
178
179
|
"@opentelemetry/sdk-trace-node": "^2.7.1",
|
|
179
180
|
"@opentelemetry/semantic-conventions": "^1.40.0",
|
|
180
|
-
"@supabase/supabase-js": "^2.105.
|
|
181
|
+
"@supabase/supabase-js": "^2.105.3",
|
|
181
182
|
"@types/bun": "^1.3.13",
|
|
182
183
|
"@types/js-yaml": "^4.0.9",
|
|
183
184
|
"@types/node": "^25.6.0",
|
|
@@ -198,7 +199,7 @@
|
|
|
198
199
|
"js-yaml": "^4.1.1",
|
|
199
200
|
"linkedom": "^0.18.12",
|
|
200
201
|
"node-cron": "^4.2.1",
|
|
201
|
-
"openai": "^6.
|
|
202
|
+
"openai": "^6.36.0",
|
|
202
203
|
"papaparse": "^5.5.3",
|
|
203
204
|
"partial-json": "^0.1.7",
|
|
204
205
|
"pdf-lib": "^1.17.1",
|
|
@@ -271,7 +272,7 @@
|
|
|
271
272
|
"hono": "^4.12.16",
|
|
272
273
|
"jose": "^6.2.3",
|
|
273
274
|
"pino": "^10.3.1",
|
|
274
|
-
"zod": "^4.4.
|
|
275
|
+
"zod": "^4.4.3"
|
|
275
276
|
},
|
|
276
277
|
"peerDependencies": {
|
|
277
278
|
"@duckdb/node-api": "^1.5.0",
|
package/skills/add-tool/SKILL.md
CHANGED
|
@@ -4,7 +4,7 @@ description: >
|
|
|
4
4
|
Scaffold a new MCP tool definition. Use when the user asks to add a tool, create a new tool, or implement a new capability for the server.
|
|
5
5
|
metadata:
|
|
6
6
|
author: cyanheads
|
|
7
|
-
version: "2.
|
|
7
|
+
version: "2.8"
|
|
8
8
|
audience: external
|
|
9
9
|
type: reference
|
|
10
10
|
---
|
|
@@ -66,6 +66,11 @@ export const {{TOOL_EXPORT}} = tool('{{tool_name}}', {
|
|
|
66
66
|
// SerializationError) bubble freely — only declare domain-specific reasons.
|
|
67
67
|
// Delete this block if no domain failures apply.
|
|
68
68
|
//
|
|
69
|
+
// Keep contracts inline on this tool, even when other tools have similar
|
|
70
|
+
// entries. The contract is part of the tool's documented public surface —
|
|
71
|
+
// don't extract a shared `errors[]` constant; per-tool repetition is the
|
|
72
|
+
// intended cost of self-contained tool defs.
|
|
73
|
+
//
|
|
69
74
|
// `recovery` is required (≥ 5 words) — it's the agent's next move when this
|
|
70
75
|
// failure fires. Forcing function for thoughtful guidance: placeholders like
|
|
71
76
|
// "Try again." get flagged by the linter. The contract `recovery` is the
|
|
@@ -503,7 +508,7 @@ Large payloads burn the agent's context window. Default to curated summaries; of
|
|
|
503
508
|
- **Lists**: Return top N with a total count and pagination cursor, not unbounded arrays
|
|
504
509
|
- **Large objects**: Return key fields by default; accept a `fields` or `verbose` parameter for full data
|
|
505
510
|
- **Binary/blob content**: Return metadata and a reference, not the raw content
|
|
506
|
-
- **Tabular working sets**: When upstream returns more rows than fit in context, `DataCanvas` (`ctx.core.canvas?`, Tier 3 — opt-in via `CANVAS_PROVIDER_TYPE=duckdb`)
|
|
511
|
+
- **Tabular working sets**: When upstream returns more rows than fit in context, `DataCanvas` (`ctx.core.canvas?`, Tier 3 — opt-in via `CANVAS_PROVIDER_TYPE=duckdb`) lets you register the rows and return the `canvas_id` plus a preview so the agent can run SQL to slice down without a re-fetch. The `spillover()` helper (`@cyanheads/mcp-ts-core/canvas`) automates the overflow case: drain rows up to a character budget for the inline preview, auto-register the full source on overflow, return both as a discriminated union. Compute distributions or refinement hints across the full result — not the preview — so the agent gets honest aggregate signal on the rows it didn't read. See `api-canvas` for the register / query / export pattern and the spillover flow.
|
|
507
512
|
|
|
508
513
|
## Checklist
|
|
509
514
|
|
|
@@ -517,6 +522,7 @@ Large payloads burn the agent's context window. Default to curated summaries; of
|
|
|
517
522
|
- [ ] If wrapping external API: output schema and `format()` preserve uncertainty from sparse upstream payloads instead of inventing concrete values
|
|
518
523
|
- [ ] `auth` scopes declared if the tool needs authorization
|
|
519
524
|
- [ ] `errors: [...]` contract declared for the tool's domain-specific failure modes — or block deleted if no domain failures apply (baseline codes bubble freely)
|
|
525
|
+
- [ ] Error contract declared inline on this tool — not imported from a shared module, even when other tools have near-identical entries
|
|
520
526
|
- [ ] `task: true` added if the tool is long-running
|
|
521
527
|
- [ ] Registered in the project's existing `createApp()` tool list (directly or via barrel)
|
|
522
528
|
- [ ] `bun run devcheck` passes
|