thinkwell 0.5.2 → 0.5.4
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/bin/thinkwell +6 -4
- package/dist/agent.d.ts +3 -3
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +3 -3
- package/dist/agent.js.map +1 -1
- package/dist/build.d.ts +28 -0
- package/dist/build.d.ts.map +1 -0
- package/dist/build.js +110 -0
- package/dist/build.js.map +1 -0
- package/dist/cli/build.d.ts.map +1 -1
- package/dist/cli/build.js +7 -4
- package/dist/cli/build.js.map +1 -1
- package/dist/cli/bundle.d.ts.map +1 -1
- package/dist/cli/bundle.js +21 -3
- package/dist/cli/bundle.js.map +1 -1
- package/dist/cli/check.d.ts.map +1 -1
- package/dist/cli/check.js +7 -4
- package/dist/cli/check.js.map +1 -1
- package/dist/cli/commands.d.ts +15 -2
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +152 -7
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/compiler-host.d.ts +16 -0
- package/dist/cli/compiler-host.d.ts.map +1 -1
- package/dist/cli/compiler-host.js +13 -7
- package/dist/cli/compiler-host.js.map +1 -1
- package/dist/cli/dependency-check.d.ts +7 -0
- package/dist/cli/dependency-check.d.ts.map +1 -1
- package/dist/cli/dependency-check.js +20 -1
- package/dist/cli/dependency-check.js.map +1 -1
- package/dist/cli/dependency-errors.d.ts +17 -0
- package/dist/cli/dependency-errors.d.ts.map +1 -1
- package/dist/cli/dependency-errors.js +31 -0
- package/dist/cli/dependency-errors.js.map +1 -1
- package/dist/cli/loader.d.ts +9 -0
- package/dist/cli/loader.d.ts.map +1 -1
- package/dist/cli/loader.js +43 -12
- package/dist/cli/loader.js.map +1 -1
- package/dist/cli/schema.d.ts +15 -3
- package/dist/cli/schema.d.ts.map +1 -1
- package/dist/cli/schema.js +48 -76
- package/dist/cli/schema.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/session.d.ts +3 -3
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +3 -3
- package/dist/session.js.map +1 -1
- package/dist/think-builder.d.ts +31 -105
- package/dist/think-builder.d.ts.map +1 -1
- package/dist/think-builder.js +82 -116
- package/dist/think-builder.js.map +1 -1
- package/dist/thought-stream.d.ts +1 -1
- package/dist/thought-stream.d.ts.map +1 -1
- package/dist/thought-stream.js +1 -1
- package/dist/thought-stream.js.map +1 -1
- package/dist-pkg/cli-build.cjs +166 -125
- package/dist-pkg/cli-bundle.cjs +560 -185
- package/dist-pkg/cli-check.cjs +156 -119
- package/dist-pkg/cli-dependency-check.cjs +312 -0
- package/dist-pkg/cli-dependency-errors.cjs +92 -0
- package/dist-pkg/cli-loader.cjs +144 -103
- package/dist-pkg/pkg-cli.cjs +119 -1
- package/dist-pkg/thinkwell.cjs +80 -109
- package/package.json +9 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency-errors.js","sourceRoot":"","sources":["../../src/cli/dependency-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC1C,MAA6B;IAE7B,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;IACzD,MAAM,EAAE,GAAG,cAAc,CAAC;IAE1B,+BAA+B;IAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC,SAAS,CAAC,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAElD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC,CAAC,qBAAqB;IAClC,CAAC;IAED,0BAA0B;IAC1B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,gBAAgB;IAChB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,gEAAgE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7F,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,cAAc;IACd,KAAK,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC;IAClG,KAAK,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;IAE/F,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,uBAAuB;IACvB,KAAK,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;IAE3F,6CAA6C;IAC7C,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAA6B;IAClE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;AAC7D,CAAC"}
|
|
1
|
+
{"version":3,"file":"dependency-errors.js","sourceRoot":"","sources":["../../src/cli/dependency-errors.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/loader.d.ts
CHANGED
|
@@ -35,6 +35,15 @@ declare global {
|
|
|
35
35
|
* @param modules - Map of package names to their exports
|
|
36
36
|
*/
|
|
37
37
|
export declare function initializeBundledRegistry(modules: Record<string, unknown>): void;
|
|
38
|
+
/**
|
|
39
|
+
* Enable explicit config mode.
|
|
40
|
+
*
|
|
41
|
+
* When called with a project directory, the loader skips bundled module lookups
|
|
42
|
+
* and virtual import transforms, allowing thinkwell packages to resolve from
|
|
43
|
+
* node_modules. The project directory is also used to resolve project-local
|
|
44
|
+
* ts-json-schema-generator for @JSONSchema processing.
|
|
45
|
+
*/
|
|
46
|
+
export declare function setExplicitConfig(projectDir: string): void;
|
|
38
47
|
/**
|
|
39
48
|
* Strip shebang line from source if present.
|
|
40
49
|
*
|
package/dist/cli/loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/cli/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AA2BH;;;GAGG;AACH,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CACtD;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI,CAEN;AASD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAS/D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAqC9D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,OAAO,CAqDhB;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/cli/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AA2BH;;;GAGG;AACH,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CACtD;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI,CAEN;AAcD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAE1D;AASD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAS/D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAqC9D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,OAAO,CAqDhB;AAiCD;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CA4BpF;AAiCD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CA4DtD;AAED;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,MAAM,EAAO,GAClB,OAAO,CAAC,IAAI,CAAC,CAyCf"}
|
package/dist/cli/loader.js
CHANGED
|
@@ -39,6 +39,28 @@ const BUNDLED_PACKAGES = ["thinkwell", "@thinkwell/acp", "@thinkwell/protocol"];
|
|
|
39
39
|
export function initializeBundledRegistry(modules) {
|
|
40
40
|
global.__bundled__ = modules;
|
|
41
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* When set, thinkwell imports resolve from the project's node_modules
|
|
44
|
+
* instead of the bundled modules in global.__bundled__.
|
|
45
|
+
*
|
|
46
|
+
* Contains the project root directory path (for resolving project-local
|
|
47
|
+
* dependencies like ts-json-schema-generator), or undefined in zero-config mode.
|
|
48
|
+
*
|
|
49
|
+
* Set by main.cjs when a project has an explicit thinkwell dependency
|
|
50
|
+
* in its package.json (i.e., it's not using the zero-config binary mode).
|
|
51
|
+
*/
|
|
52
|
+
let __projectDir = undefined;
|
|
53
|
+
/**
|
|
54
|
+
* Enable explicit config mode.
|
|
55
|
+
*
|
|
56
|
+
* When called with a project directory, the loader skips bundled module lookups
|
|
57
|
+
* and virtual import transforms, allowing thinkwell packages to resolve from
|
|
58
|
+
* node_modules. The project directory is also used to resolve project-local
|
|
59
|
+
* ts-json-schema-generator for @JSONSchema processing.
|
|
60
|
+
*/
|
|
61
|
+
export function setExplicitConfig(projectDir) {
|
|
62
|
+
__projectDir = projectDir;
|
|
63
|
+
}
|
|
42
64
|
/**
|
|
43
65
|
* Check if a module name refers to a bundled package.
|
|
44
66
|
*/
|
|
@@ -126,8 +148,8 @@ export function createCustomRequire(scriptPath) {
|
|
|
126
148
|
// Create a base require function using Node's createRequire
|
|
127
149
|
const baseRequire = createRequire(scriptPath);
|
|
128
150
|
function customRequire(moduleName) {
|
|
129
|
-
//
|
|
130
|
-
if (global.__bundled__ && isBundledPackage(moduleName)) {
|
|
151
|
+
// In zero-config mode, resolve thinkwell packages from bundled modules
|
|
152
|
+
if (!__projectDir && global.__bundled__ && isBundledPackage(moduleName)) {
|
|
131
153
|
const bundled = global.__bundled__[moduleName];
|
|
132
154
|
if (bundled) {
|
|
133
155
|
return bundled;
|
|
@@ -147,8 +169,8 @@ export function createCustomRequire(scriptPath) {
|
|
|
147
169
|
}
|
|
148
170
|
// Copy over require properties that modules might depend on
|
|
149
171
|
customRequire.resolve = ((id, options) => {
|
|
150
|
-
//
|
|
151
|
-
if (global.__bundled__ && isBundledPackage(id)) {
|
|
172
|
+
// In zero-config mode, resolve thinkwell packages from bundled modules
|
|
173
|
+
if (!__projectDir && global.__bundled__ && isBundledPackage(id)) {
|
|
152
174
|
// Return a fake path for bundled modules
|
|
153
175
|
return `/__bundled__/${id}`;
|
|
154
176
|
}
|
|
@@ -171,16 +193,22 @@ export function createCustomRequire(scriptPath) {
|
|
|
171
193
|
/**
|
|
172
194
|
* Check if source code needs transformation.
|
|
173
195
|
*
|
|
196
|
+
* In zero-config mode, thinkwell imports require transformation to use
|
|
197
|
+
* global.__bundled__. In explicit-config mode, thinkwell imports are left
|
|
198
|
+
* as-is (they resolve from node_modules), so they don't trigger transformation.
|
|
199
|
+
*
|
|
200
|
+
* @JSONSchema markers always require transformation regardless of mode.
|
|
201
|
+
*
|
|
174
202
|
* @param source - The script source code
|
|
175
|
-
* @returns true if the source
|
|
203
|
+
* @returns true if the source needs transformation before loading
|
|
176
204
|
*/
|
|
177
205
|
function needsTransformation(source) {
|
|
178
|
-
// Check for
|
|
179
|
-
if (
|
|
206
|
+
// Check for @JSONSchema markers (always needs transformation)
|
|
207
|
+
if (hasJsonSchemaMarkers(source)) {
|
|
180
208
|
return true;
|
|
181
209
|
}
|
|
182
|
-
//
|
|
183
|
-
if (
|
|
210
|
+
// In zero-config mode, thinkwell imports need rewriting to global.__bundled__
|
|
211
|
+
if (!__projectDir && /from\s+['"](?:thinkwell|@thinkwell\/(?:acp|protocol))['"]/.test(source)) {
|
|
184
212
|
return true;
|
|
185
213
|
}
|
|
186
214
|
return false;
|
|
@@ -285,9 +313,12 @@ export function loadScript(scriptPath) {
|
|
|
285
313
|
// Source needs transformation - apply transforms and use a temp file
|
|
286
314
|
// Process @JSONSchema types (must happen before import transformation
|
|
287
315
|
// because it adds an import statement that also needs transformation)
|
|
288
|
-
let source = transformJsonSchemas(absolutePath, sourceWithoutShebang);
|
|
289
|
-
//
|
|
290
|
-
|
|
316
|
+
let source = transformJsonSchemas(absolutePath, sourceWithoutShebang, __projectDir);
|
|
317
|
+
// In zero-config mode, rewrite thinkwell imports to use global.__bundled__.
|
|
318
|
+
// In explicit-config mode, leave imports as-is so they resolve from node_modules.
|
|
319
|
+
if (!__projectDir) {
|
|
320
|
+
source = transformVirtualImports(source);
|
|
321
|
+
}
|
|
291
322
|
// Rewrite .js → .ts in relative imports for TypeScript convention compatibility
|
|
292
323
|
source = rewriteJsToTsExtensions(absolutePath, source);
|
|
293
324
|
// Prepend import.meta.url patch so scripts can locate sibling files
|
package/dist/cli/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/cli/loader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/cli/loader.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/schema.d.ts
CHANGED
|
@@ -4,9 +4,15 @@
|
|
|
4
4
|
* This module provides schema generation functionality for the CLI. It handles:
|
|
5
5
|
*
|
|
6
6
|
* 1. **Type Discovery**: Finding types marked with @JSONSchema JSDoc tag
|
|
7
|
-
* 2. **Schema Generation**:
|
|
7
|
+
* 2. **Schema Generation**: Delegating to the thinkwell/build API
|
|
8
8
|
* 3. **Code Injection**: Generating namespace declarations with SchemaProvider
|
|
9
9
|
*
|
|
10
|
+
* Schema generation is handled by the `thinkwell/build` module, which
|
|
11
|
+
* encapsulates all interaction with `ts-json-schema-generator`. In
|
|
12
|
+
* explicit-config mode, the build API is resolved from the project's
|
|
13
|
+
* `node_modules` so the project-local version is used. In zero-config mode,
|
|
14
|
+
* the bundled version is used directly.
|
|
15
|
+
*
|
|
10
16
|
* Unlike the bun-plugin which operates at bundle time with caching across files,
|
|
11
17
|
* this module operates at runtime on individual user scripts.
|
|
12
18
|
*/
|
|
@@ -43,12 +49,17 @@ export declare function findMarkedTypes(path: string, source: string): TypeInfo[
|
|
|
43
49
|
/**
|
|
44
50
|
* Generate JSON schemas for the given types.
|
|
45
51
|
*
|
|
52
|
+
* Delegates to the `thinkwell/build` API (project-local or bundled) for
|
|
53
|
+
* the actual schema generation. This module only handles type discovery,
|
|
54
|
+
* error formatting, and code injection.
|
|
55
|
+
*
|
|
46
56
|
* @param path - The path to the TypeScript file
|
|
47
57
|
* @param types - The types to generate schemas for
|
|
48
58
|
* @param sourceCode - The source code (for error messages)
|
|
59
|
+
* @param projectDir - Optional project root for resolving project-local build API
|
|
49
60
|
* @returns Map from type name to JSON schema object
|
|
50
61
|
*/
|
|
51
|
-
export declare function generateSchemas(path: string, types: TypeInfo[], sourceCode?: string): Map<string, object>;
|
|
62
|
+
export declare function generateSchemas(path: string, types: TypeInfo[], sourceCode?: string, projectDir?: string): Map<string, object>;
|
|
52
63
|
/**
|
|
53
64
|
* An insertion to be made into the source code.
|
|
54
65
|
*/
|
|
@@ -102,7 +113,8 @@ export declare function hasJsonSchemaMarkers(source: string): boolean;
|
|
|
102
113
|
*
|
|
103
114
|
* @param path - The file path
|
|
104
115
|
* @param source - The TypeScript source code
|
|
116
|
+
* @param projectDir - Optional project root for resolving project-local ts-json-schema-generator
|
|
105
117
|
* @returns The transformed source code, or the original if no transforms needed
|
|
106
118
|
*/
|
|
107
|
-
export declare function transformJsonSchemas(path: string, source: string): string;
|
|
119
|
+
export declare function transformJsonSchemas(path: string, source: string, projectDir?: string): string;
|
|
108
120
|
//# sourceMappingURL=schema.d.ts.map
|
package/dist/cli/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/cli/schema.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/cli/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAW5B;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;IACd,+DAA+D;IAC/D,aAAa,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,4DAA4D;IAC5D,UAAU,EAAE,OAAO,CAAC;CACrB;AAUD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,CAoDxE;AAqCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA4BrB;AAWD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;CACd;AAyBD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,QAAQ,EAAE,EACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,SAAS,EAAE,CAiBb;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAI7C;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAM/E;AAMD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAuB9F"}
|
package/dist/cli/schema.js
CHANGED
|
@@ -4,16 +4,22 @@
|
|
|
4
4
|
* This module provides schema generation functionality for the CLI. It handles:
|
|
5
5
|
*
|
|
6
6
|
* 1. **Type Discovery**: Finding types marked with @JSONSchema JSDoc tag
|
|
7
|
-
* 2. **Schema Generation**:
|
|
7
|
+
* 2. **Schema Generation**: Delegating to the thinkwell/build API
|
|
8
8
|
* 3. **Code Injection**: Generating namespace declarations with SchemaProvider
|
|
9
9
|
*
|
|
10
|
+
* Schema generation is handled by the `thinkwell/build` module, which
|
|
11
|
+
* encapsulates all interaction with `ts-json-schema-generator`. In
|
|
12
|
+
* explicit-config mode, the build API is resolved from the project's
|
|
13
|
+
* `node_modules` so the project-local version is used. In zero-config mode,
|
|
14
|
+
* the bundled version is used directly.
|
|
15
|
+
*
|
|
10
16
|
* Unlike the bun-plugin which operates at bundle time with caching across files,
|
|
11
17
|
* this module operates at runtime on individual user scripts.
|
|
12
18
|
*/
|
|
13
19
|
import ts from "typescript";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
20
|
+
import { join } from "node:path";
|
|
21
|
+
import { createRequire } from "node:module";
|
|
22
|
+
import { generateSchemas as bundledGenerateSchemas } from "../build.js";
|
|
17
23
|
// =============================================================================
|
|
18
24
|
// Type Discovery
|
|
19
25
|
// =============================================================================
|
|
@@ -76,97 +82,62 @@ export function findMarkedTypes(path, source) {
|
|
|
76
82
|
// Schema Generation
|
|
77
83
|
// =============================================================================
|
|
78
84
|
/**
|
|
79
|
-
*
|
|
85
|
+
* Resolve the `generateSchemas` function from the thinkwell/build API.
|
|
86
|
+
*
|
|
87
|
+
* When `projectDir` is provided (explicit-config mode), resolves
|
|
88
|
+
* `thinkwell/build` from the project's `node_modules` and uses its
|
|
89
|
+
* exported `generateSchemas`. This ensures schema generation uses the
|
|
90
|
+
* project-local version of `ts-json-schema-generator` (encapsulated
|
|
91
|
+
* inside `thinkwell/build`), without leaking it into the user's contract.
|
|
92
|
+
*
|
|
93
|
+
* In explicit-config mode, resolution failure is an error — `thinkwell`
|
|
94
|
+
* is a checked dependency, so `thinkwell/build` is guaranteed available.
|
|
95
|
+
* Silently falling back to the bundled version would hide version
|
|
96
|
+
* mismatches.
|
|
97
|
+
*
|
|
98
|
+
* Returns the bundled version only in zero-config mode (no projectDir).
|
|
80
99
|
*/
|
|
81
|
-
function
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
const
|
|
85
|
-
if (
|
|
86
|
-
return
|
|
87
|
-
}
|
|
88
|
-
const parent = dirname(dir);
|
|
89
|
-
if (parent === dir) {
|
|
90
|
-
return undefined;
|
|
100
|
+
function resolveGenerateSchemas(projectDir) {
|
|
101
|
+
if (projectDir) {
|
|
102
|
+
const projectRequire = createRequire(join(projectDir, "package.json"));
|
|
103
|
+
const buildMod = projectRequire("thinkwell/build");
|
|
104
|
+
if (typeof buildMod.generateSchemas === "function") {
|
|
105
|
+
return buildMod.generateSchemas;
|
|
91
106
|
}
|
|
92
|
-
|
|
107
|
+
throw new Error(`thinkwell/build resolved from ${projectDir} but does not export generateSchemas. ` +
|
|
108
|
+
`This may indicate a version mismatch — try updating the thinkwell dependency.`);
|
|
93
109
|
}
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Recursively inline $ref references to make schemas self-contained.
|
|
97
|
-
*/
|
|
98
|
-
function inlineRefs(obj, definitions) {
|
|
99
|
-
if (obj === null || typeof obj !== "object") {
|
|
100
|
-
return obj;
|
|
101
|
-
}
|
|
102
|
-
if (Array.isArray(obj)) {
|
|
103
|
-
return obj.map((item) => inlineRefs(item, definitions));
|
|
104
|
-
}
|
|
105
|
-
const record = obj;
|
|
106
|
-
// If this object has a $ref, replace it with the referenced definition
|
|
107
|
-
if (typeof record["$ref"] === "string") {
|
|
108
|
-
const ref = record["$ref"];
|
|
109
|
-
const match = ref.match(/^#\/definitions\/(.+)$/);
|
|
110
|
-
if (match && definitions[match[1]]) {
|
|
111
|
-
return inlineRefs(definitions[match[1]], definitions);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
// Otherwise, recursively process all properties
|
|
115
|
-
const result = {};
|
|
116
|
-
for (const [key, value] of Object.entries(record)) {
|
|
117
|
-
result[key] = inlineRefs(value, definitions);
|
|
118
|
-
}
|
|
119
|
-
return result;
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Create a schema generator for a single file.
|
|
123
|
-
*/
|
|
124
|
-
function createSchemaGenerator(filePath) {
|
|
125
|
-
const configPath = findTsConfig(dirname(filePath));
|
|
126
|
-
const config = {
|
|
127
|
-
path: filePath,
|
|
128
|
-
...(configPath && { tsconfig: configPath }),
|
|
129
|
-
skipTypeCheck: true,
|
|
130
|
-
encodeRefs: false,
|
|
131
|
-
};
|
|
132
|
-
return createGenerator(config);
|
|
110
|
+
return bundledGenerateSchemas;
|
|
133
111
|
}
|
|
134
112
|
/**
|
|
135
113
|
* Generate JSON schemas for the given types.
|
|
136
114
|
*
|
|
115
|
+
* Delegates to the `thinkwell/build` API (project-local or bundled) for
|
|
116
|
+
* the actual schema generation. This module only handles type discovery,
|
|
117
|
+
* error formatting, and code injection.
|
|
118
|
+
*
|
|
137
119
|
* @param path - The path to the TypeScript file
|
|
138
120
|
* @param types - The types to generate schemas for
|
|
139
121
|
* @param sourceCode - The source code (for error messages)
|
|
122
|
+
* @param projectDir - Optional project root for resolving project-local build API
|
|
140
123
|
* @returns Map from type name to JSON schema object
|
|
141
124
|
*/
|
|
142
|
-
export function generateSchemas(path, types, sourceCode) {
|
|
125
|
+
export function generateSchemas(path, types, sourceCode, projectDir) {
|
|
143
126
|
const schemas = new Map();
|
|
144
127
|
if (types.length === 0) {
|
|
145
128
|
return schemas;
|
|
146
129
|
}
|
|
147
|
-
const
|
|
130
|
+
const buildGenerateSchemas = resolveGenerateSchemas(projectDir);
|
|
148
131
|
for (const typeInfo of types) {
|
|
149
|
-
const { name, line, column
|
|
132
|
+
const { name, line, column } = typeInfo;
|
|
150
133
|
try {
|
|
151
|
-
const
|
|
152
|
-
const
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
// Inline all $ref references
|
|
156
|
-
result = inlineRefs(result, definitions);
|
|
157
|
-
// Clean up root-level properties
|
|
158
|
-
if (typeof result === "object" && result !== null) {
|
|
159
|
-
const cleaned = { ...result };
|
|
160
|
-
delete cleaned["$schema"];
|
|
161
|
-
delete cleaned["definitions"];
|
|
162
|
-
schemas.set(name, cleaned);
|
|
163
|
-
}
|
|
164
|
-
else {
|
|
165
|
-
schemas.set(name, result);
|
|
134
|
+
const result = buildGenerateSchemas(path, [name]);
|
|
135
|
+
const schema = result.get(name);
|
|
136
|
+
if (schema) {
|
|
137
|
+
schemas.set(name, schema);
|
|
166
138
|
}
|
|
167
139
|
}
|
|
168
140
|
catch (error) {
|
|
169
|
-
// Format error with location information
|
|
170
141
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
171
142
|
throw new Error(`Failed to generate schema for type '${name}' at ${path}:${line}:${column}\n` +
|
|
172
143
|
` ${errorMessage}\n` +
|
|
@@ -276,9 +247,10 @@ export function hasJsonSchemaMarkers(source) {
|
|
|
276
247
|
*
|
|
277
248
|
* @param path - The file path
|
|
278
249
|
* @param source - The TypeScript source code
|
|
250
|
+
* @param projectDir - Optional project root for resolving project-local ts-json-schema-generator
|
|
279
251
|
* @returns The transformed source code, or the original if no transforms needed
|
|
280
252
|
*/
|
|
281
|
-
export function transformJsonSchemas(path, source) {
|
|
253
|
+
export function transformJsonSchemas(path, source, projectDir) {
|
|
282
254
|
// Fast path: no @JSONSchema markers
|
|
283
255
|
if (!hasJsonSchemaMarkers(source)) {
|
|
284
256
|
return source;
|
|
@@ -289,7 +261,7 @@ export function transformJsonSchemas(path, source) {
|
|
|
289
261
|
return source;
|
|
290
262
|
}
|
|
291
263
|
// Generate schemas
|
|
292
|
-
const schemas = generateSchemas(path, markedTypes, source);
|
|
264
|
+
const schemas = generateSchemas(path, markedTypes, source, projectDir);
|
|
293
265
|
// Generate and apply insertions
|
|
294
266
|
const insertions = generateInsertions(markedTypes, schemas);
|
|
295
267
|
let modifiedSource = applyInsertions(source, insertions);
|
package/dist/cli/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/cli/schema.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/cli/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { open } from "./agent.js";
|
|
2
2
|
export type { Agent, AgentName, AgentOptions, CustomAgentOptions, SessionOptions } from "./agent.js";
|
|
3
3
|
export { Session } from "./session.js";
|
|
4
|
-
export {
|
|
5
|
-
export type { VirtualSkillDefinition } from "./think-builder.js";
|
|
4
|
+
export { createPlan } from "./think-builder.js";
|
|
5
|
+
export type { Plan, ThinkBuilder, VirtualSkillDefinition } from "./think-builder.js";
|
|
6
6
|
export { ThoughtStream } from "./thought-stream.js";
|
|
7
7
|
export type { ThoughtEvent, ToolContent, ContentBlock, PlanEntry, ToolKind, } from "./thought-event.js";
|
|
8
8
|
export { schemaOf } from "./schema.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACrG,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACrG,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAGrF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,SAAS,EACT,QAAQ,GACT,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxF,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// New API
|
|
2
2
|
export { open } from "./agent.js";
|
|
3
3
|
export { Session } from "./session.js";
|
|
4
|
-
//
|
|
5
|
-
export {
|
|
4
|
+
// Plan (fluent prompt builder)
|
|
5
|
+
export { createPlan } from "./think-builder.js";
|
|
6
6
|
// Thought streaming
|
|
7
7
|
export { ThoughtStream } from "./thought-stream.js";
|
|
8
8
|
// Schema helpers
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,+BAA+B;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,oBAAoB;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASpD,iBAAiB;AACjB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/session.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AgentConnection, SessionOptions } from "./agent.js";
|
|
2
2
|
import type { SchemaProvider } from "@thinkwell/acp";
|
|
3
|
-
import {
|
|
3
|
+
import { type Plan } from "./think-builder.js";
|
|
4
4
|
/**
|
|
5
5
|
* A session for multi-turn conversations with an agent.
|
|
6
6
|
*
|
|
@@ -41,7 +41,7 @@ export declare class Session {
|
|
|
41
41
|
*/
|
|
42
42
|
get sessionId(): string;
|
|
43
43
|
/**
|
|
44
|
-
* Create a new
|
|
44
|
+
* Create a new plan for constructing a prompt with tools.
|
|
45
45
|
*
|
|
46
46
|
* Unlike `agent.think()`, prompts sent through a session maintain
|
|
47
47
|
* conversation context - the agent remembers previous interactions.
|
|
@@ -60,7 +60,7 @@ export declare class Session {
|
|
|
60
60
|
* .run();
|
|
61
61
|
* ```
|
|
62
62
|
*/
|
|
63
|
-
think<Output>(schema: SchemaProvider<Output>):
|
|
63
|
+
think<Output>(schema: SchemaProvider<Output>): Plan<Output>;
|
|
64
64
|
/**
|
|
65
65
|
* Close the session.
|
|
66
66
|
*
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,OAAO,CAAkB;IAEjC;;OAEG;gBACS,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;IAM9E;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IAO3D;;;;;OAKG;IACH,KAAK,IAAI,IAAI;CAKd"}
|
package/dist/session.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createPlan } from "./think-builder.js";
|
|
2
2
|
/**
|
|
3
3
|
* A session for multi-turn conversations with an agent.
|
|
4
4
|
*
|
|
@@ -45,7 +45,7 @@ export class Session {
|
|
|
45
45
|
return this._sessionId;
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
|
-
* Create a new
|
|
48
|
+
* Create a new plan for constructing a prompt with tools.
|
|
49
49
|
*
|
|
50
50
|
* Unlike `agent.think()`, prompts sent through a session maintain
|
|
51
51
|
* conversation context - the agent remembers previous interactions.
|
|
@@ -68,7 +68,7 @@ export class Session {
|
|
|
68
68
|
if (this._closed) {
|
|
69
69
|
throw new Error("Session is closed");
|
|
70
70
|
}
|
|
71
|
-
return
|
|
71
|
+
return createPlan(this._conn, schema, this._sessionId);
|
|
72
72
|
}
|
|
73
73
|
/**
|
|
74
74
|
* Close the session.
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAa,MAAM,oBAAoB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,OAAO,OAAO;IACD,KAAK,CAAkB;IACvB,UAAU,CAAS;IACnB,QAAQ,CAA6B;IAC9C,OAAO,GAAY,KAAK,CAAC;IAEjC;;OAEG;IACH,YAAY,IAAqB,EAAE,SAAiB,EAAE,OAAwB;QAC5E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAS,MAA8B;QAC1C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,UAAU,CAAS,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC;IAED;;;;;OAKG;IACH,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,4DAA4D;QAC5D,oCAAoC;IACtC,CAAC;CACF"}
|