lua-cli 3.5.0-alpha.4 → 3.5.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/http.client.js +5 -1
- package/dist/api/http.client.js.map +1 -1
- package/dist/commands/compile.d.ts +0 -1
- package/dist/commands/compile.js +14 -10
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/integrations.js +1 -1
- package/dist/commands/integrations.js.map +1 -1
- package/dist/commands/push.js +25 -6
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/sync.js +9 -5
- package/dist/commands/sync.js.map +1 -1
- package/dist/compiler/agent-traverser.js +1 -1
- package/dist/compiler/agent-traverser.js.map +1 -1
- package/dist/compiler/bundler.d.ts +1 -1
- package/dist/compiler/bundler.js +2 -1
- package/dist/compiler/bundler.js.map +1 -1
- package/dist/compiler/compiler.js +3 -2
- package/dist/compiler/compiler.js.map +1 -1
- package/dist/compiler/plugins/base.d.ts +21 -1
- package/dist/compiler/plugins/base.js +37 -1
- package/dist/compiler/plugins/base.js.map +1 -1
- package/dist/compiler/plugins/job.plugin.js +15 -62
- package/dist/compiler/plugins/job.plugin.js.map +1 -1
- package/dist/compiler/plugins/mcp-server.plugin.js +15 -44
- package/dist/compiler/plugins/mcp-server.plugin.js.map +1 -1
- package/dist/compiler/plugins/postprocessor.plugin.js +1 -10
- package/dist/compiler/plugins/postprocessor.plugin.js.map +1 -1
- package/dist/compiler/plugins/preprocessor.plugin.js +4 -17
- package/dist/compiler/plugins/preprocessor.plugin.js.map +1 -1
- package/dist/compiler/plugins/processor-base.js +2 -9
- package/dist/compiler/plugins/processor-base.js.map +1 -1
- package/dist/compiler/plugins/skill.plugin.js +5 -23
- package/dist/compiler/plugins/skill.plugin.js.map +1 -1
- package/dist/compiler/plugins/tool.plugin.d.ts +1 -0
- package/dist/compiler/plugins/tool.plugin.js +9 -30
- package/dist/compiler/plugins/tool.plugin.js.map +1 -1
- package/dist/compiler/plugins/webhook.plugin.js +3 -18
- package/dist/compiler/plugins/webhook.plugin.js.map +1 -1
- package/dist/compiler/types.d.ts +5 -0
- package/dist/compiler/types.js +7 -0
- package/dist/compiler/types.js.map +1 -1
- package/dist/compiler/utils/ast-helpers.d.ts +13 -1
- package/dist/compiler/utils/ast-helpers.js +62 -42
- package/dist/compiler/utils/ast-helpers.js.map +1 -1
- package/dist/primitives/base.handler.d.ts +45 -6
- package/dist/primitives/base.handler.js +121 -17
- package/dist/primitives/base.handler.js.map +1 -1
- package/dist/primitives/index.d.ts +4 -5
- package/dist/primitives/index.js +7 -17
- package/dist/primitives/index.js.map +1 -1
- package/dist/primitives/job.handler.d.ts +0 -5
- package/dist/primitives/job.handler.js +1 -15
- package/dist/primitives/job.handler.js.map +1 -1
- package/dist/primitives/mcp-server.handler.d.ts +1 -1
- package/dist/primitives/mcp-server.handler.js +15 -6
- package/dist/primitives/mcp-server.handler.js.map +1 -1
- package/dist/primitives/postprocessor.handler.d.ts +0 -11
- package/dist/primitives/postprocessor.handler.js +1 -24
- package/dist/primitives/postprocessor.handler.js.map +1 -1
- package/dist/primitives/preprocessor.handler.d.ts +0 -11
- package/dist/primitives/preprocessor.handler.js +1 -24
- package/dist/primitives/preprocessor.handler.js.map +1 -1
- package/dist/primitives/skill.handler.d.ts +3 -1
- package/dist/primitives/skill.handler.js +10 -29
- package/dist/primitives/skill.handler.js.map +1 -1
- package/dist/primitives/types.d.ts +18 -0
- package/dist/primitives/types.js.map +1 -1
- package/dist/primitives/webhook.handler.d.ts +0 -5
- package/dist/primitives/webhook.handler.js +1 -15
- package/dist/primitives/webhook.handler.js.map +1 -1
- package/dist/utils/cli.js +3 -3
- package/dist/utils/cli.js.map +1 -1
- package/dist/utils/command-utils.d.ts +12 -10
- package/dist/utils/command-utils.js +19 -17
- package/dist/utils/command-utils.js.map +1 -1
- package/dist/utils/files.d.ts +10 -0
- package/dist/utils/files.js +34 -0
- package/dist/utils/files.js.map +1 -1
- package/dist/web/app.css +186 -912
- package/dist/web/app.js +46 -46
- package/docs/README.md +3 -3
- package/package.json +1 -1
- package/template/package.json +1 -1
|
@@ -5,10 +5,8 @@
|
|
|
5
5
|
* 1. Class-based (legacy): new LuaJob({ ... })
|
|
6
6
|
* 2. Function-based (new): const myJob = defineJob({ ... })
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { BasePlugin, validationError, validationWarning } from './base.js';
|
|
11
|
-
import { extractStringProperty } from '../utils/ast-helpers.js';
|
|
8
|
+
import { BasePlugin, validationError } from './base.js';
|
|
9
|
+
import { extractStringProperty, extractNumberProperty, extractObjectProperty } from '../utils/ast-helpers.js';
|
|
12
10
|
/**
|
|
13
11
|
* Plugin for compiling job primitives.
|
|
14
12
|
* Extends BasePlugin for common detection/entry point/postProcess logic.
|
|
@@ -29,48 +27,17 @@ export class JobPlugin extends BasePlugin {
|
|
|
29
27
|
if (!common)
|
|
30
28
|
return null;
|
|
31
29
|
// Extract schedule
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
if (scheduleValue && Node.isObjectLiteralExpression(scheduleValue)) {
|
|
38
|
-
scheduleType = extractStringProperty(scheduleValue, 'type');
|
|
39
|
-
scheduleExpression = extractStringProperty(scheduleValue, 'expression');
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
// Extract timeout value
|
|
43
|
-
let timeoutValue;
|
|
44
|
-
const timeoutNode = config.getProperty('timeout');
|
|
45
|
-
if (timeoutNode && Node.isPropertyAssignment(timeoutNode)) {
|
|
46
|
-
const init = timeoutNode.getInitializer();
|
|
47
|
-
if (init && Node.isNumericLiteral(init)) {
|
|
48
|
-
timeoutValue = Number(init.getText());
|
|
49
|
-
}
|
|
50
|
-
}
|
|
30
|
+
const scheduleObj = extractObjectProperty(config, 'schedule');
|
|
31
|
+
const scheduleType = scheduleObj ? extractStringProperty(scheduleObj, 'type') : undefined;
|
|
32
|
+
const scheduleExpression = scheduleObj ? extractStringProperty(scheduleObj, 'expression') : undefined;
|
|
33
|
+
// Extract timeout
|
|
34
|
+
const timeoutValue = extractNumberProperty(config, 'timeout');
|
|
51
35
|
// Extract retry config
|
|
52
|
-
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
retryConfig = {};
|
|
58
|
-
const maxProp = retryValue.getProperty('maxAttempts');
|
|
59
|
-
if (maxProp && Node.isPropertyAssignment(maxProp)) {
|
|
60
|
-
const maxInit = maxProp.getInitializer();
|
|
61
|
-
if (maxInit && Node.isNumericLiteral(maxInit)) {
|
|
62
|
-
retryConfig.maxAttempts = Number(maxInit.getText());
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
const backoffProp = retryValue.getProperty('backoffSeconds');
|
|
66
|
-
if (backoffProp && Node.isPropertyAssignment(backoffProp)) {
|
|
67
|
-
const backoffInit = backoffProp.getInitializer();
|
|
68
|
-
if (backoffInit && Node.isNumericLiteral(backoffInit)) {
|
|
69
|
-
retryConfig.backoffSeconds = Number(backoffInit.getText());
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
36
|
+
const retryObj = extractObjectProperty(config, 'retry');
|
|
37
|
+
const retryConfig = retryObj ? {
|
|
38
|
+
maxAttempts: extractNumberProperty(retryObj, 'maxAttempts'),
|
|
39
|
+
backoffSeconds: extractNumberProperty(retryObj, 'backoffSeconds'),
|
|
40
|
+
} : undefined;
|
|
74
41
|
return {
|
|
75
42
|
kind: this.kind,
|
|
76
43
|
...common,
|
|
@@ -87,11 +54,7 @@ export class JobPlugin extends BasePlugin {
|
|
|
87
54
|
};
|
|
88
55
|
}
|
|
89
56
|
validate(metadata) {
|
|
90
|
-
const errors =
|
|
91
|
-
const warnings = [];
|
|
92
|
-
if (!metadata.name) {
|
|
93
|
-
errors.push(validationError('Job must have a name', { line: metadata.line }));
|
|
94
|
-
}
|
|
57
|
+
const { errors, warnings } = this.baseValidation(metadata);
|
|
95
58
|
if (!metadata.metadata.hasExecute) {
|
|
96
59
|
errors.push(validationError('Job must have an execute function', { line: metadata.line }));
|
|
97
60
|
}
|
|
@@ -101,10 +64,6 @@ export class JobPlugin extends BasePlugin {
|
|
|
101
64
|
suggestion: 'Add a schedule: schedule: { type: "cron", expression: "0 9 * * *" }',
|
|
102
65
|
}));
|
|
103
66
|
}
|
|
104
|
-
if (!metadata.description) {
|
|
105
|
-
warnings.push(validationWarning('Job should have a description', { line: metadata.line }));
|
|
106
|
-
}
|
|
107
|
-
// Validate schedule type
|
|
108
67
|
const validScheduleTypes = ['cron', 'interval', 'once'];
|
|
109
68
|
if (metadata.metadata.scheduleType && !validScheduleTypes.includes(metadata.metadata.scheduleType)) {
|
|
110
69
|
errors.push(validationError(`Invalid schedule type: ${metadata.metadata.scheduleType}. Must be one of: ${validScheduleTypes.join(', ')}`, { line: metadata.line }));
|
|
@@ -123,13 +82,8 @@ export class JobPlugin extends BasePlugin {
|
|
|
123
82
|
}
|
|
124
83
|
toManifestEntry(compiled, _context) {
|
|
125
84
|
const jobMeta = compiled.metadata;
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
name: compiled.name,
|
|
129
|
-
description: compiled.description,
|
|
130
|
-
path: `artifacts/${compiled.kind}/${compiled.name}.js`,
|
|
131
|
-
sourcePath: compiled.sourcePath,
|
|
132
|
-
hash: compiled.artifact.hash,
|
|
85
|
+
return {
|
|
86
|
+
...this.baseManifestFields(compiled),
|
|
133
87
|
schedule: jobMeta.scheduleType ? {
|
|
134
88
|
type: jobMeta.scheduleType,
|
|
135
89
|
expression: jobMeta.scheduleExpression,
|
|
@@ -137,7 +91,6 @@ export class JobPlugin extends BasePlugin {
|
|
|
137
91
|
timeout: jobMeta.timeoutValue,
|
|
138
92
|
retry: jobMeta.retryConfig,
|
|
139
93
|
};
|
|
140
|
-
return job;
|
|
141
94
|
}
|
|
142
95
|
}
|
|
143
96
|
//# sourceMappingURL=job.plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.plugin.js","sourceRoot":"","sources":["../../../src/compiler/plugins/job.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"job.plugin.js","sourceRoot":"","sources":["../../../src/compiler/plugins/job.plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,10 @@
|
|
|
5
5
|
* 1. Class-based (legacy): new LuaMCPServer({ ... })
|
|
6
6
|
* 2. Function-based (new): const myServer = defineMCPServer({ ... })
|
|
7
7
|
*/
|
|
8
|
-
import { Node } from 'ts-morph';
|
|
9
8
|
import { build } from 'esbuild';
|
|
10
|
-
import {
|
|
11
|
-
import { BasePlugin, validationError
|
|
12
|
-
import { extractStringProperty } from '../utils/ast-helpers.js';
|
|
9
|
+
import { ESBUILD_TARGET, } from '../types.js';
|
|
10
|
+
import { BasePlugin, validationError } from './base.js';
|
|
11
|
+
import { extractStringProperty, extractSchemaProperty, isFunction } from '../utils/ast-helpers.js';
|
|
13
12
|
import { compressForPush } from '../../utils/artifact-loader.js';
|
|
14
13
|
/**
|
|
15
14
|
* Plugin for compiling MCP server primitives.
|
|
@@ -55,16 +54,8 @@ export class MCPServerPlugin extends BasePlugin {
|
|
|
55
54
|
* Extract the source text of a resolver function property.
|
|
56
55
|
*/
|
|
57
56
|
getResolverSource(config, propName) {
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
return undefined;
|
|
61
|
-
const value = prop.getInitializer();
|
|
62
|
-
if (!value)
|
|
63
|
-
return undefined;
|
|
64
|
-
if (Node.isArrowFunction(value) || Node.isFunctionExpression(value)) {
|
|
65
|
-
return value.getText();
|
|
66
|
-
}
|
|
67
|
-
return undefined;
|
|
57
|
+
const init = extractSchemaProperty(config, propName);
|
|
58
|
+
return isFunction(init) ? init.getText() : undefined;
|
|
68
59
|
}
|
|
69
60
|
/**
|
|
70
61
|
* Bundle a resolver function into a self-contained, compressed, VM-executable string.
|
|
@@ -81,7 +72,7 @@ export class MCPServerPlugin extends BasePlugin {
|
|
|
81
72
|
},
|
|
82
73
|
bundle: true,
|
|
83
74
|
platform: 'node',
|
|
84
|
-
target:
|
|
75
|
+
target: ESBUILD_TARGET,
|
|
85
76
|
format: 'cjs',
|
|
86
77
|
minify: true,
|
|
87
78
|
write: false,
|
|
@@ -109,20 +100,10 @@ export class MCPServerPlugin extends BasePlugin {
|
|
|
109
100
|
* Check if a property has a resolver function (arrow function or function expression).
|
|
110
101
|
*/
|
|
111
102
|
hasResolverFunction(config, propName) {
|
|
112
|
-
|
|
113
|
-
if (!prop || !Node.isPropertyAssignment(prop))
|
|
114
|
-
return false;
|
|
115
|
-
const value = prop.getInitializer();
|
|
116
|
-
if (!value)
|
|
117
|
-
return false;
|
|
118
|
-
return Node.isArrowFunction(value) || Node.isFunctionExpression(value);
|
|
103
|
+
return isFunction(extractSchemaProperty(config, propName));
|
|
119
104
|
}
|
|
120
105
|
validate(metadata) {
|
|
121
|
-
const errors =
|
|
122
|
-
const warnings = [];
|
|
123
|
-
if (!metadata.name) {
|
|
124
|
-
errors.push(validationError('MCP Server must have a name', { line: metadata.line }));
|
|
125
|
-
}
|
|
106
|
+
const { errors, warnings } = this.baseValidation(metadata);
|
|
126
107
|
const transport = metadata.metadata.transport;
|
|
127
108
|
const validTransports = ['streamable-http', 'sse'];
|
|
128
109
|
if (transport === 'stdio') {
|
|
@@ -138,14 +119,7 @@ export class MCPServerPlugin extends BasePlugin {
|
|
|
138
119
|
if (!metadata.metadata.url && !metadata.metadata.hasUrlResolver) {
|
|
139
120
|
errors.push(validationError('MCP Server must have a url or url resolver', { line: metadata.line }));
|
|
140
121
|
}
|
|
141
|
-
|
|
142
|
-
warnings.push(validationWarning('MCP Server should have a description', { line: metadata.line }));
|
|
143
|
-
}
|
|
144
|
-
return {
|
|
145
|
-
valid: errors.length === 0,
|
|
146
|
-
errors,
|
|
147
|
-
warnings,
|
|
148
|
-
};
|
|
122
|
+
return { valid: errors.length === 0, errors, warnings };
|
|
149
123
|
}
|
|
150
124
|
/**
|
|
151
125
|
* Add transport field to the entry point.
|
|
@@ -169,18 +143,15 @@ export class MCPServerPlugin extends BasePlugin {
|
|
|
169
143
|
if (mcpMeta.headersResolverSource) {
|
|
170
144
|
headersResolver = await this.bundleResolver(mcpMeta.headersResolverSource, 'headers', compiled.name, outDir) ?? undefined;
|
|
171
145
|
}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
hash: compiled.artifact.hash,
|
|
179
|
-
config: mcpMeta.config,
|
|
146
|
+
return {
|
|
147
|
+
...this.baseManifestFields(compiled),
|
|
148
|
+
config: {
|
|
149
|
+
transport: mcpMeta.transport,
|
|
150
|
+
url: mcpMeta.url,
|
|
151
|
+
},
|
|
180
152
|
urlResolver,
|
|
181
153
|
headersResolver,
|
|
182
154
|
};
|
|
183
|
-
return mcpServer;
|
|
184
155
|
}
|
|
185
156
|
}
|
|
186
157
|
//# sourceMappingURL=mcp-server.plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.plugin.js","sourceRoot":"","sources":["../../../src/compiler/plugins/mcp-server.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"mcp-server.plugin.js","sourceRoot":"","sources":["../../../src/compiler/plugins/mcp-server.plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
* Extends ProcessorPluginBase for shared validation and runtime checks.
|
|
5
5
|
* Minimal — just config fields and manifest entry.
|
|
6
6
|
*/
|
|
7
|
-
import { PrimitiveKind, } from '../types.js';
|
|
8
7
|
import { ProcessorPluginBase } from './processor-base.js';
|
|
9
8
|
export class PostProcessorPlugin extends ProcessorPluginBase {
|
|
10
9
|
constructor() {
|
|
@@ -25,15 +24,7 @@ export class PostProcessorPlugin extends ProcessorPluginBase {
|
|
|
25
24
|
};
|
|
26
25
|
}
|
|
27
26
|
toManifestEntry(compiled, _context) {
|
|
28
|
-
|
|
29
|
-
kind: PrimitiveKind.POSTPROCESSOR,
|
|
30
|
-
name: compiled.name,
|
|
31
|
-
description: compiled.description,
|
|
32
|
-
path: `artifacts/${compiled.kind}/${compiled.name}.js`,
|
|
33
|
-
sourcePath: compiled.sourcePath,
|
|
34
|
-
hash: compiled.artifact.hash,
|
|
35
|
-
};
|
|
36
|
-
return postprocessor;
|
|
27
|
+
return { ...this.baseManifestFields(compiled) };
|
|
37
28
|
}
|
|
38
29
|
}
|
|
39
30
|
//# sourceMappingURL=postprocessor.plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postprocessor.plugin.js","sourceRoot":"","sources":["../../../src/compiler/plugins/postprocessor.plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"postprocessor.plugin.js","sourceRoot":"","sources":["../../../src/compiler/plugins/postprocessor.plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,OAAO,mBAAoB,SAAQ,mBAAgD;IAAzF;;QACW,SAAI,GAAG,eAAe,CAAC;QACvB,gBAAW,GAAG,eAAe,CAAC;QAC9B,mBAAc,GAAG,qBAAqB,CAAC;QACvC,qBAAgB,GAAG,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;IAsBpE,CAAC;IApBW,iBAAiB,CACzB,MAA+B,EAC/B,UAAkB,EAClB,UAAkB,EAClB,QAA0C,EAC1C,OAA6B;QAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClF,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,MAAM;YACT,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE;SAC/E,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,QAA2B,EAAE,QAA0B;QACrE,OAAO,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAA2B,CAAC;IAC3E,CAAC;CACF"}
|
|
@@ -4,9 +4,8 @@
|
|
|
4
4
|
* Extends ProcessorPluginBase for shared validation and runtime checks.
|
|
5
5
|
* Only adds: isAsync extraction + isAsync in manifest entry.
|
|
6
6
|
*/
|
|
7
|
-
import { Node, SyntaxKind } from 'ts-morph';
|
|
8
|
-
import { PrimitiveKind, } from '../types.js';
|
|
9
7
|
import { ProcessorPluginBase } from './processor-base.js';
|
|
8
|
+
import { extractBooleanProperty } from '../utils/ast-helpers.js';
|
|
10
9
|
export class PreProcessorPlugin extends ProcessorPluginBase {
|
|
11
10
|
constructor() {
|
|
12
11
|
super(...arguments);
|
|
@@ -19,13 +18,7 @@ export class PreProcessorPlugin extends ProcessorPluginBase {
|
|
|
19
18
|
const common = this.extractCommonFields(config, exportName, sourcePath, position);
|
|
20
19
|
if (!common)
|
|
21
20
|
return null;
|
|
22
|
-
|
|
23
|
-
const asyncProp = config.getProperty('async');
|
|
24
|
-
if (asyncProp && Node.isPropertyAssignment(asyncProp)) {
|
|
25
|
-
const init = asyncProp.getInitializer();
|
|
26
|
-
if (init)
|
|
27
|
-
isAsync = init.getKind() === SyntaxKind.TrueKeyword;
|
|
28
|
-
}
|
|
21
|
+
const isAsync = extractBooleanProperty(config, 'async') ?? false;
|
|
29
22
|
return {
|
|
30
23
|
kind: this.kind,
|
|
31
24
|
...common,
|
|
@@ -33,16 +26,10 @@ export class PreProcessorPlugin extends ProcessorPluginBase {
|
|
|
33
26
|
};
|
|
34
27
|
}
|
|
35
28
|
toManifestEntry(compiled, _context) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
name: compiled.name,
|
|
39
|
-
description: compiled.description,
|
|
40
|
-
path: `artifacts/${compiled.kind}/${compiled.name}.js`,
|
|
41
|
-
sourcePath: compiled.sourcePath,
|
|
42
|
-
hash: compiled.artifact.hash,
|
|
29
|
+
return {
|
|
30
|
+
...this.baseManifestFields(compiled),
|
|
43
31
|
isAsync: compiled.metadata?.isAsync ?? false,
|
|
44
32
|
};
|
|
45
|
-
return preprocessor;
|
|
46
33
|
}
|
|
47
34
|
}
|
|
48
35
|
//# sourceMappingURL=preprocessor.plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preprocessor.plugin.js","sourceRoot":"","sources":["../../../src/compiler/plugins/preprocessor.plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"preprocessor.plugin.js","sourceRoot":"","sources":["../../../src/compiler/plugins/preprocessor.plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,OAAO,kBAAmB,SAAQ,mBAA+C;IAAvF;;QACW,SAAI,GAAG,cAAc,CAAC;QACtB,gBAAW,GAAG,cAAc,CAAC;QAC7B,mBAAc,GAAG,oBAAoB,CAAC;QACtC,qBAAgB,GAAG,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IA2BlE,CAAC;IAzBW,iBAAiB,CACzB,MAA+B,EAC/B,UAAkB,EAClB,UAAkB,EAClB,QAA0C,EAC1C,OAA6B;QAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClF,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC;QAEjE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,MAAM;YACT,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,OAAO,EAAE;SACxF,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,QAA2B,EAAE,QAA0B;QACrE,OAAO;YACL,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;YACpC,OAAO,EAAG,QAAQ,CAAC,QAAuC,EAAE,OAAO,IAAI,KAAK;SACrD,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -8,20 +8,13 @@
|
|
|
8
8
|
* - extractFromConfig() (preprocessor extracts isAsync, postprocessor doesn't)
|
|
9
9
|
* - toManifestEntry() (preprocessor includes isAsync field)
|
|
10
10
|
*/
|
|
11
|
-
import { BasePlugin, validationError
|
|
11
|
+
import { BasePlugin, validationError } from './base.js';
|
|
12
12
|
export class ProcessorPluginBase extends BasePlugin {
|
|
13
13
|
validate(metadata) {
|
|
14
|
-
const errors =
|
|
15
|
-
const warnings = [];
|
|
16
|
-
if (!metadata.name) {
|
|
17
|
-
errors.push(validationError(`${this.displayName} must have a name`, { line: metadata.line }));
|
|
18
|
-
}
|
|
14
|
+
const { errors, warnings } = this.baseValidation(metadata);
|
|
19
15
|
if (!metadata.metadata?.hasExecute) {
|
|
20
16
|
errors.push(validationError(`${this.displayName} must have an execute function`, { line: metadata.line }));
|
|
21
17
|
}
|
|
22
|
-
if (!metadata.description) {
|
|
23
|
-
warnings.push(validationWarning(`${this.displayName} should have a description`, { line: metadata.line }));
|
|
24
|
-
}
|
|
25
18
|
return { valid: errors.length === 0, errors, warnings };
|
|
26
19
|
}
|
|
27
20
|
getRuntimeValidation() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor-base.js","sourceRoot":"","sources":["../../../src/compiler/plugins/processor-base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"processor-base.js","sourceRoot":"","sources":["../../../src/compiler/plugins/processor-base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,OAAgB,mBAAuD,SAAQ,UAAa;IAChG,QAAQ,CAAC,QAA8B;QACrC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE3D,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,WAAW,gCAAgC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7G,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC1D,CAAC;IAES,oBAAoB;QAC5B,OAAO;;qCAE0B,IAAI,CAAC,IAAI;IAC1C,CAAC;IACH,CAAC;CACF"}
|
|
@@ -15,8 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { Node } from 'ts-morph';
|
|
17
17
|
import { findImportSource } from '../utils/ast-helpers.js';
|
|
18
|
-
import {
|
|
19
|
-
import { BasePlugin, validationError, validationWarning } from './base.js';
|
|
18
|
+
import { BasePlugin, validationWarning } from './base.js';
|
|
20
19
|
import { extractStringProperty } from '../utils/ast-helpers.js';
|
|
21
20
|
/**
|
|
22
21
|
* Plugin for compiling skill primitives.
|
|
@@ -130,22 +129,11 @@ export class SkillPlugin extends BasePlugin {
|
|
|
130
129
|
return refs;
|
|
131
130
|
}
|
|
132
131
|
validate(metadata) {
|
|
133
|
-
const errors =
|
|
134
|
-
const warnings = [];
|
|
135
|
-
if (!metadata.name) {
|
|
136
|
-
errors.push(validationError('Skill must have a name', { line: metadata.line }));
|
|
137
|
-
}
|
|
138
|
-
if (!metadata.description) {
|
|
139
|
-
warnings.push(validationWarning('Skill should have a description', { line: metadata.line }));
|
|
140
|
-
}
|
|
132
|
+
const { errors, warnings } = this.baseValidation(metadata);
|
|
141
133
|
if (metadata.metadata.toolRefs.length === 0) {
|
|
142
134
|
warnings.push(validationWarning('Skill has no tools - consider adding tools or removing the skill', { line: metadata.line }));
|
|
143
135
|
}
|
|
144
|
-
return {
|
|
145
|
-
valid: errors.length === 0,
|
|
146
|
-
errors,
|
|
147
|
-
warnings,
|
|
148
|
-
};
|
|
136
|
+
return { valid: errors.length === 0, errors, warnings };
|
|
149
137
|
}
|
|
150
138
|
/**
|
|
151
139
|
* Add context and tools fields to the entry point.
|
|
@@ -227,17 +215,11 @@ export class SkillPlugin extends BasePlugin {
|
|
|
227
215
|
});
|
|
228
216
|
return tool?.name || className;
|
|
229
217
|
});
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
name: compiled.name,
|
|
233
|
-
description: compiled.description,
|
|
234
|
-
path: `artifacts/${compiled.kind}/${compiled.name}.js`,
|
|
235
|
-
sourcePath: compiled.sourcePath,
|
|
236
|
-
hash: compiled.artifact.hash,
|
|
218
|
+
return {
|
|
219
|
+
...this.baseManifestFields(compiled),
|
|
237
220
|
context: skillMetadata.context,
|
|
238
221
|
tools: toolNames,
|
|
239
222
|
};
|
|
240
|
-
return skill;
|
|
241
223
|
}
|
|
242
224
|
}
|
|
243
225
|
//# sourceMappingURL=skill.plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.plugin.js","sourceRoot":"","sources":["../../../src/compiler/plugins/skill.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAc,IAAI,EAA2B,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"skill.plugin.js","sourceRoot":"","sources":["../../../src/compiler/plugins/skill.plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,7 @@ export declare class ToolPlugin extends BasePlugin<ToolMetadataFields> {
|
|
|
45
45
|
private isToolClass;
|
|
46
46
|
/**
|
|
47
47
|
* Extract a string property from a class declaration.
|
|
48
|
+
* Uses ts-evaluator for full expression evaluation.
|
|
48
49
|
*/
|
|
49
50
|
private extractClassProperty;
|
|
50
51
|
validate(metadata: ToolMetadata): ValidationResult;
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
* - Entry point generation differs significantly for class-based tools
|
|
12
12
|
*/
|
|
13
13
|
import { Node } from 'ts-morph';
|
|
14
|
-
import {
|
|
14
|
+
import { COMPILER_VERSION, } from '../types.js';
|
|
15
15
|
import { BasePlugin, validationError, validationWarning } from './base.js';
|
|
16
|
-
import { extractSchemaProperty } from '../utils/ast-helpers.js';
|
|
16
|
+
import { extractSchemaProperty, evaluateNodeAsString } from '../utils/ast-helpers.js';
|
|
17
17
|
import { zodToJsonSchema } from '../utils/schema-converter.js';
|
|
18
18
|
/**
|
|
19
19
|
* Plugin for compiling tool primitives.
|
|
@@ -104,38 +104,22 @@ export class ToolPlugin extends BasePlugin {
|
|
|
104
104
|
}
|
|
105
105
|
/**
|
|
106
106
|
* Extract a string property from a class declaration.
|
|
107
|
+
* Uses ts-evaluator for full expression evaluation.
|
|
107
108
|
*/
|
|
108
109
|
extractClassProperty(classDecl, propName) {
|
|
109
110
|
const prop = classDecl.getProperty(propName);
|
|
110
111
|
if (!prop)
|
|
111
112
|
return undefined;
|
|
112
|
-
|
|
113
|
-
if (initializer && Node.isStringLiteral(initializer)) {
|
|
114
|
-
return initializer.getLiteralValue();
|
|
115
|
-
}
|
|
116
|
-
return undefined;
|
|
113
|
+
return evaluateNodeAsString(prop.getInitializer());
|
|
117
114
|
}
|
|
118
115
|
validate(metadata) {
|
|
119
|
-
const errors =
|
|
120
|
-
const warnings = [];
|
|
121
|
-
if (!metadata.name) {
|
|
122
|
-
errors.push(validationError('Tool must have a name', {
|
|
123
|
-
line: metadata.line,
|
|
124
|
-
suggestion: 'Add a name property: name: "my-tool"',
|
|
125
|
-
}));
|
|
126
|
-
}
|
|
116
|
+
const { errors, warnings } = this.baseValidation(metadata);
|
|
127
117
|
if (!metadata.metadata.hasExecute) {
|
|
128
118
|
errors.push(validationError('Tool must have an execute function', {
|
|
129
119
|
line: metadata.line,
|
|
130
120
|
suggestion: 'Add an execute function: execute: async (input, context) => { ... }',
|
|
131
121
|
}));
|
|
132
122
|
}
|
|
133
|
-
if (!metadata.description) {
|
|
134
|
-
warnings.push(validationWarning('Tool should have a description for better AI understanding', {
|
|
135
|
-
line: metadata.line,
|
|
136
|
-
suggestion: 'Add a description: description: "What this tool does"',
|
|
137
|
-
}));
|
|
138
|
-
}
|
|
139
123
|
if (!metadata.metadata.hasInputSchema) {
|
|
140
124
|
warnings.push(validationWarning('Tool should have an inputSchema for type safety', {
|
|
141
125
|
line: metadata.line,
|
|
@@ -184,7 +168,7 @@ ${importStatement}
|
|
|
184
168
|
const toolInstance = new __ToolClass__();
|
|
185
169
|
|
|
186
170
|
const __lua_primitive__ = {
|
|
187
|
-
version: '
|
|
171
|
+
version: '${COMPILER_VERSION}',
|
|
188
172
|
kind: 'tool',
|
|
189
173
|
name: ${JSON.stringify(metadata.name)},
|
|
190
174
|
description: ${JSON.stringify(metadata.description)},
|
|
@@ -261,19 +245,14 @@ ${exportStatement}
|
|
|
261
245
|
}
|
|
262
246
|
}
|
|
263
247
|
toManifestEntry(compiled, _context) {
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
description: compiled.description,
|
|
268
|
-
path: `artifacts/${compiled.kind}/${compiled.name}.js`,
|
|
269
|
-
sourcePath: compiled.sourcePath,
|
|
270
|
-
hash: compiled.artifact.hash,
|
|
248
|
+
return {
|
|
249
|
+
...this.baseManifestFields(compiled),
|
|
250
|
+
hasCondition: compiled.metadata?.hasCondition || false,
|
|
271
251
|
schemas: compiled.schemas ? {
|
|
272
252
|
input: compiled.schemas.input,
|
|
273
253
|
output: compiled.schemas.output,
|
|
274
254
|
} : undefined,
|
|
275
255
|
};
|
|
276
|
-
return tool;
|
|
277
256
|
}
|
|
278
257
|
}
|
|
279
258
|
//# sourceMappingURL=tool.plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.plugin.js","sourceRoot":"","sources":["../../../src/compiler/plugins/tool.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAuB,IAAI,EAA6C,MAAM,UAAU,CAAC;AAChG,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"tool.plugin.js","sourceRoot":"","sources":["../../../src/compiler/plugins/tool.plugin.ts"],"names":[],"mappings":"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"}
|