lua-cli 3.10.5 → 3.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/agents.api.service.d.ts +21 -0
- package/dist/api/agents.api.service.d.ts.map +1 -0
- package/dist/api/agents.api.service.js +49 -0
- package/dist/api/agents.api.service.js.map +1 -0
- package/dist/api/device-trigger.api.service.d.ts +136 -0
- package/dist/api/device-trigger.api.service.d.ts.map +1 -0
- package/dist/api/device-trigger.api.service.js +120 -0
- package/dist/api/device-trigger.api.service.js.map +1 -0
- package/dist/api/lazy-instances.d.ts +8 -0
- package/dist/api/lazy-instances.d.ts.map +1 -1
- package/dist/api/lazy-instances.js +16 -0
- package/dist/api/lazy-instances.js.map +1 -1
- package/dist/api-exports.d.ts +57 -2
- package/dist/api-exports.d.ts.map +1 -1
- package/dist/api-exports.js +36 -2
- package/dist/api-exports.js.map +1 -1
- package/dist/cli/command-definitions.d.ts.map +1 -1
- package/dist/cli/command-definitions.js +14 -1
- package/dist/cli/command-definitions.js.map +1 -1
- package/dist/commands/governance.d.ts +7 -0
- package/dist/commands/governance.d.ts.map +1 -0
- package/dist/commands/governance.js +256 -0
- package/dist/commands/governance.js.map +1 -0
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +1 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/push.d.ts.map +1 -1
- package/dist/commands/push.js +7 -3
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +67 -1
- package/dist/commands/sync.js.map +1 -1
- package/dist/compiler/agent-traverser.d.ts.map +1 -1
- package/dist/compiler/agent-traverser.js +1 -0
- package/dist/compiler/agent-traverser.js.map +1 -1
- package/dist/compiler/plugins/agent.plugin.d.ts +5 -0
- package/dist/compiler/plugins/agent.plugin.d.ts.map +1 -1
- package/dist/compiler/plugins/agent.plugin.js +13 -0
- package/dist/compiler/plugins/agent.plugin.js.map +1 -1
- package/dist/compiler/plugins/device-trigger.plugin.d.ts +38 -0
- package/dist/compiler/plugins/device-trigger.plugin.d.ts.map +1 -0
- package/dist/compiler/plugins/device-trigger.plugin.js +103 -0
- package/dist/compiler/plugins/device-trigger.plugin.js.map +1 -0
- package/dist/compiler/plugins/device.plugin.d.ts +2 -9
- package/dist/compiler/plugins/device.plugin.d.ts.map +1 -1
- package/dist/compiler/plugins/device.plugin.js +2 -204
- package/dist/compiler/plugins/device.plugin.js.map +1 -1
- package/dist/compiler/plugins/registry.d.ts.map +1 -1
- package/dist/compiler/plugins/registry.js +2 -0
- package/dist/compiler/plugins/registry.js.map +1 -1
- package/dist/compiler/types.d.ts +21 -35
- package/dist/compiler/types.d.ts.map +1 -1
- package/dist/compiler/types.js +1 -0
- package/dist/compiler/types.js.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/agent.d.ts +3 -1
- package/dist/interfaces/agent.d.ts.map +1 -1
- package/dist/interfaces/device-triggers.d.ts +82 -0
- package/dist/interfaces/device-triggers.d.ts.map +1 -0
- package/dist/interfaces/device-triggers.js +6 -0
- package/dist/interfaces/device-triggers.js.map +1 -0
- package/dist/primitives/agent.handler.d.ts +7 -2
- package/dist/primitives/agent.handler.d.ts.map +1 -1
- package/dist/primitives/agent.handler.js +43 -6
- package/dist/primitives/agent.handler.js.map +1 -1
- package/dist/primitives/device-trigger.handler.d.ts +56 -0
- package/dist/primitives/device-trigger.handler.d.ts.map +1 -0
- package/dist/primitives/device-trigger.handler.js +100 -0
- package/dist/primitives/device-trigger.handler.js.map +1 -0
- package/dist/primitives/device.handler.d.ts.map +1 -1
- package/dist/primitives/device.handler.js +0 -2
- package/dist/primitives/device.handler.js.map +1 -1
- package/dist/primitives/index.d.ts +2 -0
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +4 -0
- package/dist/primitives/index.js.map +1 -1
- package/dist/types/skill.d.ts +65 -8
- package/dist/types/skill.d.ts.map +1 -1
- package/dist/types/skill.js +18 -0
- package/dist/types/skill.js.map +1 -1
- package/dist/types/yaml.types.d.ts +7 -0
- package/dist/types/yaml.types.d.ts.map +1 -1
- package/dist/utils/artifact-loader.d.ts +2 -1
- package/dist/utils/artifact-loader.d.ts.map +1 -1
- package/dist/utils/artifact-loader.js +3 -0
- package/dist/utils/artifact-loader.js.map +1 -1
- package/dist/utils/sandbox.d.ts.map +1 -1
- package/dist/utils/sandbox.js +10 -0
- package/dist/utils/sandbox.js.map +1 -1
- package/dist/utils/sync-display.d.ts +1 -0
- package/dist/utils/sync-display.d.ts.map +1 -1
- package/dist/utils/sync-display.js +8 -0
- package/dist/utils/sync-display.js.map +1 -1
- package/dist/utils/sync-fetch.d.ts +9 -2
- package/dist/utils/sync-fetch.d.ts.map +1 -1
- package/dist/utils/sync-fetch.js +21 -7
- package/dist/utils/sync-fetch.js.map +1 -1
- package/dist/utils/sync-helpers.d.ts +2 -2
- package/dist/utils/sync-helpers.d.ts.map +1 -1
- package/dist/utils/sync-helpers.js +2 -2
- package/dist/utils/sync-helpers.js.map +1 -1
- package/node_modules/@lua/shared-types/dist/index.d.mts +122 -1
- package/node_modules/@lua/shared-types/dist/index.d.ts +122 -1
- package/node_modules/@lua/shared-types/src/agent-config.types.ts +31 -0
- package/node_modules/@lua/shared-types/src/agent-invocation.types.ts +73 -0
- package/node_modules/@lua/shared-types/src/device.types.ts +18 -0
- package/node_modules/@lua/shared-types/src/index.ts +2 -0
- package/package.json +2 -1
- package/template/package.json +1 -1
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Device Trigger compilation plugin.
|
|
3
|
+
*
|
|
4
|
+
* BACKWARD COMPATIBLE: Detects BOTH patterns:
|
|
5
|
+
* 1. Class-based (legacy): new LuaDeviceTrigger({ ... })
|
|
6
|
+
* 2. Function-based (new): const myTrigger = defineDeviceTrigger({ ... })
|
|
7
|
+
*/
|
|
8
|
+
import { Node } from 'ts-morph';
|
|
9
|
+
import { BasePlugin, validationError, validationWarning } from './base.js';
|
|
10
|
+
import { extractSchemaProperty } from '../utils/ast-helpers.js';
|
|
11
|
+
import { zodToJsonSchema } from '../utils/schema-converter.js';
|
|
12
|
+
/**
|
|
13
|
+
* Plugin for compiling device trigger primitives.
|
|
14
|
+
* Extends BasePlugin for common detection/entry point/postProcess logic.
|
|
15
|
+
*/
|
|
16
|
+
export class DeviceTriggerPlugin extends BasePlugin {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.kind = 'device-trigger';
|
|
20
|
+
this.displayName = 'Device Trigger';
|
|
21
|
+
this.defineFunction = 'defineDeviceTrigger';
|
|
22
|
+
this.legacyClassNames = ['LuaDeviceTrigger'];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Extract metadata from device trigger config object.
|
|
26
|
+
*/
|
|
27
|
+
extractFromConfig(config, exportName, sourcePath, position, pattern) {
|
|
28
|
+
const common = this.extractCommonFields(config, exportName, sourcePath, position);
|
|
29
|
+
if (!common)
|
|
30
|
+
return null;
|
|
31
|
+
return {
|
|
32
|
+
kind: this.kind,
|
|
33
|
+
...common,
|
|
34
|
+
metadata: {
|
|
35
|
+
pattern,
|
|
36
|
+
hasExecute: config.getProperty('execute') !== undefined,
|
|
37
|
+
hasPayloadSchema: config.getProperty('payloadSchema') !== undefined,
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
validate(metadata) {
|
|
42
|
+
const { errors, warnings } = this.baseValidation(metadata);
|
|
43
|
+
if (!metadata.metadata.hasExecute) {
|
|
44
|
+
errors.push(validationError('Device trigger must have an execute function', { line: metadata.line }));
|
|
45
|
+
}
|
|
46
|
+
if (metadata.name && !/^[a-z][a-z0-9_-]*$/.test(metadata.name)) {
|
|
47
|
+
warnings.push(validationWarning('Device trigger name should be lowercase with hyphens or underscores only', { line: metadata.line }));
|
|
48
|
+
}
|
|
49
|
+
return { valid: errors.length === 0, errors, warnings };
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Add runtime validation for execute function.
|
|
53
|
+
*/
|
|
54
|
+
getRuntimeValidation() {
|
|
55
|
+
return `
|
|
56
|
+
if (typeof primitive.primitive?.execute !== 'function') {
|
|
57
|
+
throw new Error('[Lua] Invalid device trigger artifact: execute is not a function');
|
|
58
|
+
}`;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Extract payload schema from device trigger.
|
|
62
|
+
*/
|
|
63
|
+
async extractSchemas(metadata, project) {
|
|
64
|
+
const sourceFile = project.getSourceFile(metadata.sourcePath);
|
|
65
|
+
if (!sourceFile)
|
|
66
|
+
return undefined;
|
|
67
|
+
const varDecl = sourceFile.getVariableDeclaration(metadata.exportName);
|
|
68
|
+
if (!varDecl)
|
|
69
|
+
return undefined;
|
|
70
|
+
const initializer = varDecl.getInitializer();
|
|
71
|
+
if (!initializer || !Node.isCallExpression(initializer))
|
|
72
|
+
return undefined;
|
|
73
|
+
const args = initializer.getArguments();
|
|
74
|
+
if (args.length === 0)
|
|
75
|
+
return undefined;
|
|
76
|
+
const config = args[0];
|
|
77
|
+
if (!Node.isObjectLiteralExpression(config))
|
|
78
|
+
return undefined;
|
|
79
|
+
const schemas = {};
|
|
80
|
+
if (metadata.metadata.hasPayloadSchema) {
|
|
81
|
+
const schemaNode = extractSchemaProperty(config, 'payloadSchema');
|
|
82
|
+
if (schemaNode) {
|
|
83
|
+
try {
|
|
84
|
+
const jsonSchema = await zodToJsonSchema(schemaNode);
|
|
85
|
+
schemas['payload'] = jsonSchema;
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
console.warn(`Warning: Could not convert payloadSchema for ${metadata.name}:`, error);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return Object.keys(schemas).length > 0 ? schemas : undefined;
|
|
93
|
+
}
|
|
94
|
+
toManifestEntry(compiled, _allPrimitives) {
|
|
95
|
+
return {
|
|
96
|
+
...this.baseManifestFields(compiled),
|
|
97
|
+
schemas: compiled.schemas ? {
|
|
98
|
+
payload: compiled.schemas.payload,
|
|
99
|
+
} : undefined,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=device-trigger.plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-trigger.plugin.js","sourceRoot":"","sources":["../../../src/compiler/plugins/device-trigger.plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* - commands: agent → device (each becomes a Mastra tool at runtime)
|
|
10
10
|
* - triggers: device → agent (each has an execute handler that runs on lua-core)
|
|
11
11
|
*/
|
|
12
|
-
import { ObjectLiteralExpression
|
|
13
|
-
import { type DeviceMetadata, type DeviceMetadataFields, type ValidationResult, type
|
|
12
|
+
import { ObjectLiteralExpression } from 'ts-morph';
|
|
13
|
+
import { type DeviceMetadata, type DeviceMetadataFields, type ValidationResult, type CompiledPrimitive, type ManifestPrimitive } from '../types.js';
|
|
14
14
|
import { BasePlugin } from './base.js';
|
|
15
15
|
/**
|
|
16
16
|
* Plugin for compiling device primitives.
|
|
@@ -29,13 +29,6 @@ export declare class DevicePlugin extends BasePlugin<DeviceMetadataFields> {
|
|
|
29
29
|
column: number;
|
|
30
30
|
}, pattern: 'function' | 'class'): DeviceMetadata | null;
|
|
31
31
|
validate(metadata: DeviceMetadata): ValidationResult;
|
|
32
|
-
/**
|
|
33
|
-
* Add device-specific fields to the entry point's __lua_primitive__ object.
|
|
34
|
-
*/
|
|
35
|
-
/**
|
|
36
|
-
* Extract inputSchema (commands) and payloadSchema (triggers) as JSON Schema.
|
|
37
|
-
*/
|
|
38
|
-
extractSchemas(metadata: DeviceMetadata, project: Project): Promise<SchemaSet | undefined>;
|
|
39
32
|
protected getEntryPointFields(metadata: DeviceMetadata): string;
|
|
40
33
|
/**
|
|
41
34
|
* Runtime validation: device artifact must have commands or triggers map.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.plugin.d.ts","sourceRoot":"","sources":["../../../src/compiler/plugins/device.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAQ,uBAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"device.plugin.d.ts","sourceRoot":"","sources":["../../../src/compiler/plugins/device.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAQ,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EAEvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAqB,MAAM,WAAW,CAAC;AAG1D;;;GAGG;AACH,qBAAa,YAAa,SAAQ,UAAU,CAAC,oBAAoB,CAAC;IAChE,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,YAAY;IAChC,QAAQ,CAAC,cAAc,kBAAkB;IACzC,QAAQ,CAAC,gBAAgB,WAAiB;IAE1C;;OAEG;IACH,SAAS,CAAC,iBAAiB,CACzB,MAAM,EAAE,uBAAuB,EAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAC1C,OAAO,EAAE,UAAU,GAAG,OAAO,GAC5B,cAAc,GAAG,IAAI;IAgBxB,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,gBAAgB;IAapD,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM;IAO/D;;OAEG;IACH,SAAS,CAAC,oBAAoB,IAAI,MAAM;IAWxC,eAAe,CAAC,QAAQ,EAAE,iBAAiB,EAAE,cAAc,CAAC,EAAE,iBAAiB,EAAE,GAAG,iBAAiB;CAQtG"}
|
|
@@ -9,12 +9,8 @@
|
|
|
9
9
|
* - commands: agent → device (each becomes a Mastra tool at runtime)
|
|
10
10
|
* - triggers: device → agent (each has an execute handler that runs on lua-core)
|
|
11
11
|
*/
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { extractStringProperty, extractSchemaProperty } from '../utils/ast-helpers.js';
|
|
15
|
-
import { zodToJsonSchema } from '../utils/schema-converter.js';
|
|
16
|
-
/** Reserved system trigger names (auto-fired by the gateway) */
|
|
17
|
-
const SYSTEM_TRIGGERS = ['device_connected', 'device_disconnected'];
|
|
12
|
+
import { BasePlugin, validationWarning } from './base.js';
|
|
13
|
+
import { extractStringProperty } from '../utils/ast-helpers.js';
|
|
18
14
|
/**
|
|
19
15
|
* Plugin for compiling device primitives.
|
|
20
16
|
* Extends BasePlugin for common detection/entry point/postProcess logic.
|
|
@@ -35,208 +31,25 @@ export class DevicePlugin extends BasePlugin {
|
|
|
35
31
|
if (!common)
|
|
36
32
|
return null;
|
|
37
33
|
const group = extractStringProperty(config, 'group');
|
|
38
|
-
// Extract command names from commands: { print: {...}, status: {...} }
|
|
39
|
-
const commandNames = [];
|
|
40
|
-
const commandDescriptions = {};
|
|
41
|
-
const commandHasInputSchema = {};
|
|
42
|
-
const commandHasRetry = {};
|
|
43
|
-
const commandRetryConfig = {};
|
|
44
|
-
const commandHasTimeout = {};
|
|
45
|
-
const commandTimeoutMs = {};
|
|
46
|
-
const commandsProp = config.getProperty('commands');
|
|
47
|
-
if (commandsProp && Node.isPropertyAssignment(commandsProp)) {
|
|
48
|
-
const commandsInit = commandsProp.getInitializer();
|
|
49
|
-
if (commandsInit && Node.isObjectLiteralExpression(commandsInit)) {
|
|
50
|
-
for (const prop of commandsInit.getProperties()) {
|
|
51
|
-
if (Node.isPropertyAssignment(prop)) {
|
|
52
|
-
const cmdName = prop.getName();
|
|
53
|
-
commandNames.push(cmdName);
|
|
54
|
-
const cmdObj = prop.getInitializer();
|
|
55
|
-
if (cmdObj && Node.isObjectLiteralExpression(cmdObj)) {
|
|
56
|
-
commandDescriptions[cmdName] = extractStringProperty(cmdObj, 'description') || '';
|
|
57
|
-
commandHasInputSchema[cmdName] = cmdObj.getProperty('inputSchema') !== undefined;
|
|
58
|
-
commandHasRetry[cmdName] = cmdObj.getProperty('retry') !== undefined;
|
|
59
|
-
commandHasTimeout[cmdName] = cmdObj.getProperty('timeoutMs') !== undefined;
|
|
60
|
-
// Extract actual retry config values
|
|
61
|
-
const retryProp = cmdObj.getProperty('retry');
|
|
62
|
-
if (retryProp && Node.isPropertyAssignment(retryProp)) {
|
|
63
|
-
const retryInit = retryProp.getInitializer();
|
|
64
|
-
if (retryInit && Node.isObjectLiteralExpression(retryInit)) {
|
|
65
|
-
try {
|
|
66
|
-
const maxAttempts = parseInt(extractStringProperty(retryInit, 'maxAttempts') || '3');
|
|
67
|
-
const backoffMs = parseInt(extractStringProperty(retryInit, 'backoffMs') || '1000');
|
|
68
|
-
commandRetryConfig[cmdName] = { maxAttempts, backoffMs };
|
|
69
|
-
}
|
|
70
|
-
catch { /* use undefined */ }
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
// Extract actual timeout value
|
|
74
|
-
const timeoutProp = cmdObj.getProperty('timeoutMs');
|
|
75
|
-
if (timeoutProp && Node.isPropertyAssignment(timeoutProp)) {
|
|
76
|
-
try {
|
|
77
|
-
const timeoutVal = timeoutProp.getInitializer()?.getText();
|
|
78
|
-
if (timeoutVal)
|
|
79
|
-
commandTimeoutMs[cmdName] = parseInt(timeoutVal);
|
|
80
|
-
}
|
|
81
|
-
catch { /* use undefined */ }
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
// Extract trigger names from triggers: { paper_low: {...}, error: {...} }
|
|
89
|
-
const triggerNames = [];
|
|
90
|
-
const triggerDescriptions = {};
|
|
91
|
-
const triggerHasPayloadSchema = {};
|
|
92
|
-
const triggerHasExecute = {};
|
|
93
|
-
const triggersProp = config.getProperty('triggers');
|
|
94
|
-
if (triggersProp && Node.isPropertyAssignment(triggersProp)) {
|
|
95
|
-
const triggersInit = triggersProp.getInitializer();
|
|
96
|
-
if (triggersInit && Node.isObjectLiteralExpression(triggersInit)) {
|
|
97
|
-
for (const prop of triggersInit.getProperties()) {
|
|
98
|
-
if (Node.isPropertyAssignment(prop)) {
|
|
99
|
-
const trigName = prop.getName();
|
|
100
|
-
triggerNames.push(trigName);
|
|
101
|
-
const trigObj = prop.getInitializer();
|
|
102
|
-
if (trigObj && Node.isObjectLiteralExpression(trigObj)) {
|
|
103
|
-
triggerDescriptions[trigName] = extractStringProperty(trigObj, 'description') || '';
|
|
104
|
-
triggerHasPayloadSchema[trigName] = trigObj.getProperty('payloadSchema') !== undefined;
|
|
105
|
-
triggerHasExecute[trigName] = trigObj.getProperty('execute') !== undefined;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
34
|
return {
|
|
112
35
|
kind: this.kind,
|
|
113
36
|
...common,
|
|
114
37
|
metadata: {
|
|
115
38
|
pattern,
|
|
116
39
|
group,
|
|
117
|
-
hasCommands: commandNames.length > 0,
|
|
118
|
-
commandNames,
|
|
119
|
-
commandDescriptions,
|
|
120
|
-
commandHasInputSchema,
|
|
121
|
-
commandHasRetry,
|
|
122
|
-
commandRetryConfig,
|
|
123
|
-
commandHasTimeout,
|
|
124
|
-
commandTimeoutMs,
|
|
125
|
-
hasTriggers: triggerNames.length > 0,
|
|
126
|
-
triggerNames,
|
|
127
|
-
triggerDescriptions,
|
|
128
|
-
triggerHasPayloadSchema,
|
|
129
|
-
triggerHasExecute,
|
|
130
40
|
},
|
|
131
41
|
};
|
|
132
42
|
}
|
|
133
43
|
validate(metadata) {
|
|
134
44
|
const { errors, warnings } = this.baseValidation(metadata);
|
|
135
|
-
const meta = metadata.metadata;
|
|
136
|
-
if (!meta.hasCommands && !meta.hasTriggers) {
|
|
137
|
-
warnings.push(validationWarning('Device should have at least one command or trigger defined', { line: metadata.line }));
|
|
138
|
-
}
|
|
139
|
-
// Check for duplicate command/trigger names
|
|
140
|
-
const allNames = [...meta.commandNames, ...meta.triggerNames];
|
|
141
|
-
const dupes = allNames.filter((name, i) => allNames.indexOf(name) !== i);
|
|
142
|
-
if (dupes.length > 0) {
|
|
143
|
-
errors.push(validationError(`Device has duplicate command/trigger names: ${dupes.join(', ')}`, { line: metadata.line }));
|
|
144
|
-
}
|
|
145
|
-
// Warn if trigger has payloadSchema but no execute handler
|
|
146
|
-
for (const trigName of meta.triggerNames) {
|
|
147
|
-
if (meta.triggerHasPayloadSchema[trigName] && !meta.triggerHasExecute[trigName]) {
|
|
148
|
-
warnings.push(validationWarning(`Trigger '${trigName}' has a payloadSchema but no execute handler`, { line: metadata.line }));
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
// Warn about system trigger naming
|
|
152
|
-
for (const trigName of meta.triggerNames) {
|
|
153
|
-
if (SYSTEM_TRIGGERS.includes(trigName) && meta.triggerHasPayloadSchema[trigName]) {
|
|
154
|
-
warnings.push(validationWarning(`System trigger '${trigName}' uses a system-provided payload; custom payloadSchema will be ignored`, { line: metadata.line }));
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
45
|
if (metadata.name && !/^[a-z][a-z0-9-]*$/.test(metadata.name)) {
|
|
158
46
|
warnings.push(validationWarning('Device name should be lowercase with hyphens only (e.g., "label-printer")', { line: metadata.line }));
|
|
159
47
|
}
|
|
160
48
|
return { valid: errors.length === 0, errors, warnings };
|
|
161
49
|
}
|
|
162
|
-
/**
|
|
163
|
-
* Add device-specific fields to the entry point's __lua_primitive__ object.
|
|
164
|
-
*/
|
|
165
|
-
/**
|
|
166
|
-
* Extract inputSchema (commands) and payloadSchema (triggers) as JSON Schema.
|
|
167
|
-
*/
|
|
168
|
-
async extractSchemas(metadata, project) {
|
|
169
|
-
const sourceFile = project.getSourceFile(metadata.sourcePath);
|
|
170
|
-
if (!sourceFile)
|
|
171
|
-
return undefined;
|
|
172
|
-
const varDecl = sourceFile.getVariableDeclaration(metadata.exportName);
|
|
173
|
-
if (!varDecl)
|
|
174
|
-
return undefined;
|
|
175
|
-
const initializer = varDecl.getInitializer();
|
|
176
|
-
if (!initializer || !Node.isCallExpression(initializer))
|
|
177
|
-
return undefined;
|
|
178
|
-
const args = initializer.getArguments();
|
|
179
|
-
if (args.length === 0)
|
|
180
|
-
return undefined;
|
|
181
|
-
const config = args[0];
|
|
182
|
-
if (!Node.isObjectLiteralExpression(config))
|
|
183
|
-
return undefined;
|
|
184
|
-
const schemas = {};
|
|
185
|
-
// Extract command inputSchemas
|
|
186
|
-
const commandsProp = config.getProperty('commands');
|
|
187
|
-
if (commandsProp && Node.isPropertyAssignment(commandsProp)) {
|
|
188
|
-
const commandsInit = commandsProp.getInitializer();
|
|
189
|
-
if (commandsInit && Node.isObjectLiteralExpression(commandsInit)) {
|
|
190
|
-
for (const prop of commandsInit.getProperties()) {
|
|
191
|
-
if (Node.isPropertyAssignment(prop)) {
|
|
192
|
-
const cmdName = prop.getName();
|
|
193
|
-
const cmdObj = prop.getInitializer();
|
|
194
|
-
if (cmdObj && Node.isObjectLiteralExpression(cmdObj)) {
|
|
195
|
-
const schemaNode = extractSchemaProperty(cmdObj, 'inputSchema');
|
|
196
|
-
if (schemaNode) {
|
|
197
|
-
try {
|
|
198
|
-
schemas[`command_${cmdName}`] = await zodToJsonSchema(schemaNode);
|
|
199
|
-
}
|
|
200
|
-
catch {
|
|
201
|
-
// Schema extraction failed — continue without it
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
// Extract trigger payloadSchemas
|
|
210
|
-
const triggersProp = config.getProperty('triggers');
|
|
211
|
-
if (triggersProp && Node.isPropertyAssignment(triggersProp)) {
|
|
212
|
-
const triggersInit = triggersProp.getInitializer();
|
|
213
|
-
if (triggersInit && Node.isObjectLiteralExpression(triggersInit)) {
|
|
214
|
-
for (const prop of triggersInit.getProperties()) {
|
|
215
|
-
if (Node.isPropertyAssignment(prop)) {
|
|
216
|
-
const trigName = prop.getName();
|
|
217
|
-
const trigObj = prop.getInitializer();
|
|
218
|
-
if (trigObj && Node.isObjectLiteralExpression(trigObj)) {
|
|
219
|
-
const schemaNode = extractSchemaProperty(trigObj, 'payloadSchema');
|
|
220
|
-
if (schemaNode) {
|
|
221
|
-
try {
|
|
222
|
-
schemas[`trigger_${trigName}`] = await zodToJsonSchema(schemaNode);
|
|
223
|
-
}
|
|
224
|
-
catch {
|
|
225
|
-
// Schema extraction failed — continue without it
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
return Object.keys(schemas).length > 0 ? schemas : undefined;
|
|
234
|
-
}
|
|
235
50
|
getEntryPointFields(metadata) {
|
|
236
51
|
const meta = metadata.metadata;
|
|
237
52
|
return [
|
|
238
|
-
`commands: ${JSON.stringify(meta.commandNames)},`,
|
|
239
|
-
`triggers: ${JSON.stringify(meta.triggerNames)},`,
|
|
240
53
|
meta.group ? `group: ${JSON.stringify(meta.group)},` : '',
|
|
241
54
|
].filter(Boolean).join('\n ');
|
|
242
55
|
}
|
|
@@ -255,24 +68,9 @@ export class DevicePlugin extends BasePlugin {
|
|
|
255
68
|
}
|
|
256
69
|
toManifestEntry(compiled, _allPrimitives) {
|
|
257
70
|
const meta = compiled.metadata;
|
|
258
|
-
const commands = meta.commandNames.map(name => ({
|
|
259
|
-
name,
|
|
260
|
-
description: meta.commandDescriptions[name] || '',
|
|
261
|
-
inputSchema: compiled.schemas?.[`command_${name}`],
|
|
262
|
-
retry: meta.commandRetryConfig[name],
|
|
263
|
-
timeoutMs: meta.commandTimeoutMs[name],
|
|
264
|
-
}));
|
|
265
|
-
const triggers = meta.triggerNames.map(name => ({
|
|
266
|
-
name,
|
|
267
|
-
description: meta.triggerDescriptions[name] || '',
|
|
268
|
-
payloadSchema: compiled.schemas?.[`trigger_${name}`],
|
|
269
|
-
hasExecute: meta.triggerHasExecute[name] || false,
|
|
270
|
-
}));
|
|
271
71
|
return {
|
|
272
72
|
...this.baseManifestFields(compiled),
|
|
273
73
|
group: meta.group,
|
|
274
|
-
commands,
|
|
275
|
-
triggers,
|
|
276
74
|
};
|
|
277
75
|
}
|
|
278
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.plugin.js","sourceRoot":"","sources":["../../../src/compiler/plugins/device.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"device.plugin.js","sourceRoot":"","sources":["../../../src/compiler/plugins/device.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,UAAgC;IAAlE;;QACW,SAAI,GAAG,QAAQ,CAAC;QAChB,gBAAW,GAAG,QAAQ,CAAC;QACvB,mBAAc,GAAG,cAAc,CAAC;QAChC,qBAAgB,GAAG,CAAC,WAAW,CAAC,CAAC;IAqE5C,CAAC;IAnEC;;OAEG;IACO,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,KAAK,GAAG,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAErD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,MAAM;YACT,QAAQ,EAAE;gBACR,OAAO;gBACP,KAAK;aACN;SACF,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,QAAwB;QAC/B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE3D,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAC7B,2EAA2E,EAC3E,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CACxB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC1D,CAAC;IAES,mBAAmB,CAAC,QAAwB;QACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC/B,OAAO;YACL,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;SAC1D,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACO,oBAAoB;QAC5B,OAAO;;;;;;;IAOP,CAAC;IACH,CAAC;IAED,eAAe,CAAC,QAA2B,EAAE,cAAoC;QAC/E,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAgC,CAAC;QAEvD,OAAO;YACL,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;YACpC,KAAK,EAAE,IAAI,CAAC,KAAK;SACA,CAAC;IACtB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/compiler/plugins/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/compiler/plugins/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAYnD;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAA6C;;IAsB5D;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAWzC;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAIhD;;OAEG;IACH,MAAM,IAAI,iBAAiB,EAAE;IAI7B;;OAEG;IACH,WAAW,IAAI,MAAM,EAAE;IAIvB;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAMD;;;GAGG;AACH,eAAO,MAAM,cAAc,gBAAuB,CAAC;AAMnD;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAEhD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEzF"}
|
|
@@ -18,6 +18,7 @@ import { MCPServerPlugin } from './mcp-server.plugin.js';
|
|
|
18
18
|
import { SkillPlugin } from './skill.plugin.js';
|
|
19
19
|
import { AgentPlugin } from './agent.plugin.js';
|
|
20
20
|
import { DevicePlugin } from './device.plugin.js';
|
|
21
|
+
import { DeviceTriggerPlugin } from './device-trigger.plugin.js';
|
|
21
22
|
/**
|
|
22
23
|
* Registry of all compilation plugins.
|
|
23
24
|
*
|
|
@@ -40,6 +41,7 @@ export class PluginRegistry {
|
|
|
40
41
|
this.register(new SkillPlugin());
|
|
41
42
|
this.register(new AgentPlugin());
|
|
42
43
|
this.register(new DevicePlugin());
|
|
44
|
+
this.register(new DeviceTriggerPlugin());
|
|
43
45
|
// =========================================================================
|
|
44
46
|
}
|
|
45
47
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/compiler/plugins/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/compiler/plugins/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/compiler/types.d.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* All types related to the compilation process, plugins, and output manifest.
|
|
5
5
|
* Uses discriminated unions for type-safe primitive handling.
|
|
6
6
|
*/
|
|
7
|
+
import type { GovernanceConfig } from '@lua/shared-types';
|
|
7
8
|
export interface CompilerOptions {
|
|
8
9
|
/** Root directory of the project */
|
|
9
10
|
rootDir: string;
|
|
@@ -142,25 +143,14 @@ export interface MCPServerMetadataFields extends BaseMetadataFields {
|
|
|
142
143
|
env?: Record<string, string>;
|
|
143
144
|
config?: Record<string, unknown>;
|
|
144
145
|
}
|
|
146
|
+
export interface DeviceTriggerMetadataFields extends BaseMetadataFields {
|
|
147
|
+
pattern: DefinitionPattern;
|
|
148
|
+
hasExecute?: boolean;
|
|
149
|
+
hasPayloadSchema?: boolean;
|
|
150
|
+
}
|
|
145
151
|
export interface DeviceMetadataFields extends BaseMetadataFields {
|
|
146
152
|
pattern: DefinitionPattern;
|
|
147
153
|
group?: string;
|
|
148
|
-
hasCommands: boolean;
|
|
149
|
-
commandNames: string[];
|
|
150
|
-
commandDescriptions: Record<string, string>;
|
|
151
|
-
commandHasInputSchema: Record<string, boolean>;
|
|
152
|
-
commandHasRetry: Record<string, boolean>;
|
|
153
|
-
commandRetryConfig: Record<string, {
|
|
154
|
-
maxAttempts: number;
|
|
155
|
-
backoffMs: number;
|
|
156
|
-
} | undefined>;
|
|
157
|
-
commandHasTimeout: Record<string, boolean>;
|
|
158
|
-
commandTimeoutMs: Record<string, number | undefined>;
|
|
159
|
-
hasTriggers: boolean;
|
|
160
|
-
triggerNames: string[];
|
|
161
|
-
triggerDescriptions: Record<string, string>;
|
|
162
|
-
triggerHasPayloadSchema: Record<string, boolean>;
|
|
163
|
-
triggerHasExecute: Record<string, boolean>;
|
|
164
154
|
}
|
|
165
155
|
export interface AgentMetadataFields extends BaseMetadataFields {
|
|
166
156
|
/** The agent's persona/system prompt */
|
|
@@ -175,6 +165,8 @@ export interface AgentMetadataFields extends BaseMetadataFields {
|
|
|
175
165
|
debounceWindowMs?: number;
|
|
176
166
|
maxBatchMessages?: number;
|
|
177
167
|
};
|
|
168
|
+
/** Governance policy configuration */
|
|
169
|
+
governance?: GovernanceConfig;
|
|
178
170
|
}
|
|
179
171
|
export type ToolMetadata = PrimitiveMetadata<ToolMetadataFields>;
|
|
180
172
|
export type SkillMetadata = PrimitiveMetadata<SkillMetadataFields>;
|
|
@@ -183,6 +175,7 @@ export type WebhookMetadata = PrimitiveMetadata<WebhookMetadataFields>;
|
|
|
183
175
|
export type PreProcessorMetadata = PrimitiveMetadata<PreProcessorMetadataFields>;
|
|
184
176
|
export type PostProcessorMetadata = PrimitiveMetadata<PostProcessorMetadataFields>;
|
|
185
177
|
export type MCPServerMetadata = PrimitiveMetadata<MCPServerMetadataFields>;
|
|
178
|
+
export type DeviceTriggerMetadata = PrimitiveMetadata<DeviceTriggerMetadataFields>;
|
|
186
179
|
export type DeviceMetadata = PrimitiveMetadata<DeviceMetadataFields>;
|
|
187
180
|
export type AgentMetadata = PrimitiveMetadata<AgentMetadataFields>;
|
|
188
181
|
export interface ValidationResult {
|
|
@@ -256,7 +249,8 @@ export declare enum PrimitiveKind {
|
|
|
256
249
|
POSTPROCESSOR = "postprocessor",
|
|
257
250
|
MCP_SERVER = "mcp-server",
|
|
258
251
|
AGENT = "agent",
|
|
259
|
-
DEVICE = "device"
|
|
252
|
+
DEVICE = "device",
|
|
253
|
+
DEVICE_TRIGGER = "device-trigger"
|
|
260
254
|
}
|
|
261
255
|
interface ManifestPrimitiveBase extends PrimitiveIdentity {
|
|
262
256
|
/** Path to the compiled artifact */
|
|
@@ -329,28 +323,20 @@ export interface ManifestAgent extends ManifestPrimitiveBase {
|
|
|
329
323
|
debounceWindowMs?: number;
|
|
330
324
|
maxBatchMessages?: number;
|
|
331
325
|
};
|
|
326
|
+
/** Governance policy configuration */
|
|
327
|
+
governance?: GovernanceConfig;
|
|
328
|
+
}
|
|
329
|
+
export interface ManifestDeviceTrigger extends ManifestPrimitiveBase {
|
|
330
|
+
kind: PrimitiveKind.DEVICE_TRIGGER;
|
|
331
|
+
schemas?: {
|
|
332
|
+
payload?: JSONSchema;
|
|
333
|
+
};
|
|
332
334
|
}
|
|
333
335
|
export interface ManifestDevice extends ManifestPrimitiveBase {
|
|
334
336
|
kind: PrimitiveKind.DEVICE;
|
|
335
337
|
group?: string;
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
description: string;
|
|
339
|
-
inputSchema?: JSONSchema;
|
|
340
|
-
retry?: {
|
|
341
|
-
maxAttempts: number;
|
|
342
|
-
backoffMs: number;
|
|
343
|
-
};
|
|
344
|
-
timeoutMs?: number;
|
|
345
|
-
}[];
|
|
346
|
-
triggers: {
|
|
347
|
-
name: string;
|
|
348
|
-
description: string;
|
|
349
|
-
payloadSchema?: JSONSchema;
|
|
350
|
-
hasExecute: boolean;
|
|
351
|
-
}[];
|
|
352
|
-
}
|
|
353
|
-
export type ManifestPrimitive = ManifestTool | ManifestSkill | ManifestJob | ManifestWebhook | ManifestPreProcessor | ManifestPostProcessor | ManifestMCPServer | ManifestAgent | ManifestDevice;
|
|
338
|
+
}
|
|
339
|
+
export type ManifestPrimitive = ManifestTool | ManifestSkill | ManifestJob | ManifestWebhook | ManifestPreProcessor | ManifestPostProcessor | ManifestMCPServer | ManifestAgent | ManifestDevice | ManifestDeviceTrigger;
|
|
354
340
|
export interface CompilationManifest {
|
|
355
341
|
version: string;
|
|
356
342
|
compiledAt: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/compiler/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/compiler/types.ts"],"names":[],"mappings":"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"}
|
package/dist/compiler/types.js
CHANGED
|
@@ -25,5 +25,6 @@ export var PrimitiveKind;
|
|
|
25
25
|
PrimitiveKind["MCP_SERVER"] = "mcp-server";
|
|
26
26
|
PrimitiveKind["AGENT"] = "agent";
|
|
27
27
|
PrimitiveKind["DEVICE"] = "device";
|
|
28
|
+
PrimitiveKind["DEVICE_TRIGGER"] = "device-trigger";
|
|
28
29
|
})(PrimitiveKind || (PrimitiveKind = {}));
|
|
29
30
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/compiler/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/compiler/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgTH,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF,6FAA6F;AAC7F,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAExC,kFAAkF;AAClF,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC;AAEvC,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,MAAM,CAAN,IAAY,aAWX;AAXD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,gCAAe,CAAA;IACf,4BAAW,CAAA;IACX,oCAAmB,CAAA;IACnB,8CAA6B,CAAA;IAC7B,gDAA+B,CAAA;IAC/B,0CAAyB,CAAA;IACzB,gCAAe,CAAA;IACf,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;AACnC,CAAC,EAXW,aAAa,KAAb,aAAa,QAWxB"}
|