@aexol/spectral 0.9.230 → 0.9.234
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/CHANGELOG.md +2 -0
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +89 -14
- package/dist/backend/generated-images.d.ts +1 -1
- package/dist/backend/generated-images.d.ts.map +1 -1
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +12 -1
- package/dist/designer/data/skills/blog-post.d.ts +3 -0
- package/dist/designer/data/skills/blog-post.d.ts.map +1 -0
- package/dist/designer/data/skills/blog-post.js +84 -0
- package/dist/designer/data/skills/blog-post.ts +87 -0
- package/dist/designer/data/skills/critique.d.ts +3 -0
- package/dist/designer/data/skills/critique.d.ts.map +1 -0
- package/dist/designer/data/skills/critique.js +109 -0
- package/dist/designer/data/skills/critique.ts +112 -0
- package/dist/designer/data/skills/dashboard.d.ts +3 -0
- package/dist/designer/data/skills/dashboard.d.ts.map +1 -0
- package/dist/designer/data/skills/dashboard.js +165 -0
- package/dist/designer/data/skills/dashboard.ts +168 -0
- package/dist/designer/data/skills/design-brief.d.ts +3 -0
- package/dist/designer/data/skills/design-brief.d.ts.map +1 -0
- package/dist/designer/data/skills/design-brief.js +141 -0
- package/dist/designer/data/skills/design-brief.ts +144 -0
- package/dist/designer/data/skills/design-skill.d.ts +10 -0
- package/dist/designer/data/skills/design-skill.d.ts.map +1 -0
- package/dist/designer/data/skills/design-skill.js +1 -0
- package/dist/designer/data/skills/design-skill.ts +9 -0
- package/dist/designer/data/skills/docs-page.d.ts +3 -0
- package/dist/designer/data/skills/docs-page.d.ts.map +1 -0
- package/dist/designer/data/skills/docs-page.js +68 -0
- package/dist/designer/data/skills/docs-page.ts +71 -0
- package/dist/designer/data/skills/index.d.ts +3 -0
- package/dist/designer/data/skills/index.d.ts.map +1 -0
- package/dist/designer/data/skills/index.js +28 -0
- package/dist/designer/data/skills/index.ts +30 -0
- package/dist/designer/data/skills/magazine-poster.d.ts +3 -0
- package/dist/designer/data/skills/magazine-poster.d.ts.map +1 -0
- package/dist/designer/data/skills/magazine-poster.js +70 -0
- package/dist/designer/data/skills/magazine-poster.ts +73 -0
- package/dist/designer/data/skills/mobile-app.d.ts +3 -0
- package/dist/designer/data/skills/mobile-app.d.ts.map +1 -0
- package/dist/designer/data/skills/mobile-app.js +229 -0
- package/dist/designer/data/skills/mobile-app.ts +232 -0
- package/dist/designer/data/skills/motion-frames.d.ts +3 -0
- package/dist/designer/data/skills/motion-frames.d.ts.map +1 -0
- package/dist/designer/data/skills/motion-frames.js +121 -0
- package/dist/designer/data/skills/motion-frames.ts +124 -0
- package/dist/designer/data/skills/pricing-page.d.ts +3 -0
- package/dist/designer/data/skills/pricing-page.d.ts.map +1 -0
- package/dist/designer/data/skills/pricing-page.js +76 -0
- package/dist/designer/data/skills/pricing-page.ts +79 -0
- package/dist/designer/data/skills/saas-landing.d.ts +3 -0
- package/dist/designer/data/skills/saas-landing.d.ts.map +1 -0
- package/dist/designer/data/skills/saas-landing.js +71 -0
- package/dist/designer/data/skills/saas-landing.ts +74 -0
- package/dist/designer/data/skills/slide-deck.d.ts +3 -0
- package/dist/designer/data/skills/slide-deck.d.ts.map +1 -0
- package/dist/designer/data/skills/slide-deck.js +213 -0
- package/dist/designer/data/skills/slide-deck.ts +216 -0
- package/dist/designer/data/skills/social-carousel.d.ts +3 -0
- package/dist/designer/data/skills/social-carousel.d.ts.map +1 -0
- package/dist/designer/data/skills/social-carousel.js +135 -0
- package/dist/designer/data/skills/social-carousel.ts +138 -0
- package/dist/designer/data/skills/web-prototype.d.ts +3 -0
- package/dist/designer/data/skills/web-prototype.d.ts.map +1 -0
- package/dist/designer/data/skills/web-prototype.js +159 -0
- package/dist/designer/data/skills/web-prototype.ts +162 -0
- package/dist/designer/skills.d.ts +4 -10
- package/dist/designer/skills.d.ts.map +1 -1
- package/dist/designer/skills.js +2 -1643
- package/dist/extensions/logic-trace.d.ts +1 -1
- package/dist/extensions/logic-trace.d.ts.map +1 -1
- package/dist/extensions/logic-trace.js +199 -70
- package/dist/extensions/video-generation/index.d.ts +3 -0
- package/dist/extensions/video-generation/index.d.ts.map +1 -0
- package/dist/extensions/video-generation/index.js +299 -0
- package/dist/extensions/wizard/index.js +9 -1
- package/dist/generated/parser/ast/nodes.d.ts +115 -0
- package/dist/generated/parser/ast/nodes.d.ts.map +1 -0
- package/dist/generated/parser/ast/nodes.js +8 -0
- package/dist/generated/parser/lexer/lexer.d.ts +28 -0
- package/dist/generated/parser/lexer/lexer.d.ts.map +1 -0
- package/dist/generated/parser/{lexer.js → lexer/lexer.js} +1 -180
- package/dist/generated/parser/{lexer.d.ts → lexer/tokens.d.ts} +5 -24
- package/dist/generated/parser/lexer/tokens.d.ts.map +1 -0
- package/dist/generated/parser/lexer/tokens.js +187 -0
- package/dist/generated/parser/mod.d.ts +5 -7
- package/dist/generated/parser/mod.d.ts.map +1 -1
- package/dist/generated/parser/mod.js +2 -1
- package/dist/generated/parser/parser/cursor.d.ts +47 -0
- package/dist/generated/parser/parser/cursor.d.ts.map +1 -0
- package/dist/generated/parser/parser/cursor.js +12 -0
- package/dist/generated/parser/parser/definitions.d.ts +16 -0
- package/dist/generated/parser/parser/definitions.d.ts.map +1 -0
- package/dist/generated/parser/parser/definitions.js +353 -0
- package/dist/generated/parser/parser/expressions.d.ts +17 -0
- package/dist/generated/parser/parser/expressions.d.ts.map +1 -0
- package/dist/generated/parser/parser/expressions.js +165 -0
- package/dist/generated/parser/parser.d.ts +18 -133
- package/dist/generated/parser/parser.d.ts.map +1 -1
- package/dist/generated/parser/parser.js +9 -505
- package/dist/generated/parser/tokenizer.d.ts +1 -2
- package/dist/generated/parser/tokenizer.d.ts.map +1 -1
- package/dist/generated/parser/tokenizer.js +2 -1
- package/dist/generated/parser/validator.d.ts +1 -1
- package/dist/generated/parser/validator.d.ts.map +1 -1
- package/dist/generated/zeus/const.d.ts.map +1 -1
- package/dist/generated/zeus/const.js +30 -0
- package/dist/generated/zeus/index.d.ts +140 -0
- package/dist/generated/zeus/index.d.ts.map +1 -1
- package/dist/generated/zeus/index.js +5 -0
- package/dist/mcp/glimpse-ui.js +9 -1
- package/dist/relay/dispatcher.d.ts +23 -104
- package/dist/relay/dispatcher.d.ts.map +1 -1
- package/dist/relay/dispatcher.js +21 -1130
- package/dist/relay/rest.d.ts +31 -0
- package/dist/relay/rest.d.ts.map +1 -0
- package/dist/relay/rest.js +85 -0
- package/dist/relay/routing.d.ts +109 -0
- package/dist/relay/routing.d.ts.map +1 -0
- package/dist/relay/routing.js +669 -0
- package/dist/relay/wizard-login.d.ts +17 -0
- package/dist/relay/wizard-login.d.ts.map +1 -0
- package/dist/relay/wizard-login.js +419 -0
- package/dist/sdk/agent-core/agent-loop.d.ts +2 -9
- package/dist/sdk/agent-core/agent-loop.d.ts.map +1 -1
- package/dist/sdk/agent-core/agent-loop.js +17 -291
- package/dist/sdk/agent-core/agent.d.ts +11 -4
- package/dist/sdk/agent-core/agent.d.ts.map +1 -1
- package/dist/sdk/agent-core/agent.js +16 -4
- package/dist/sdk/agent-core/tool-call-registry.d.ts +75 -0
- package/dist/sdk/agent-core/tool-call-registry.d.ts.map +1 -0
- package/dist/sdk/agent-core/tool-call-registry.js +131 -0
- package/dist/sdk/agent-core/tool-execution.d.ts +33 -0
- package/dist/sdk/agent-core/tool-execution.d.ts.map +1 -0
- package/dist/sdk/agent-core/tool-execution.js +399 -0
- package/dist/sdk/agent-core/types.d.ts +15 -4
- package/dist/sdk/agent-core/types.d.ts.map +1 -1
- package/dist/sdk/ai/env-api-keys.js +9 -1
- package/dist/sdk/ai/index.d.ts +3 -0
- package/dist/sdk/ai/index.d.ts.map +1 -1
- package/dist/sdk/ai/index.js +3 -0
- package/dist/sdk/ai/providers/faux.d.ts.map +1 -1
- package/dist/sdk/ai/providers/faux.js +3 -0
- package/dist/sdk/ai/providers/leaked-tool-call-parser.d.ts +39 -6
- package/dist/sdk/ai/providers/leaked-tool-call-parser.d.ts.map +1 -1
- package/dist/sdk/ai/providers/leaked-tool-call-parser.js +159 -18
- package/dist/sdk/ai/providers/openai/reasoning-replay.d.ts +48 -0
- package/dist/sdk/ai/providers/openai/reasoning-replay.d.ts.map +1 -0
- package/dist/sdk/ai/providers/openai/reasoning-replay.js +209 -0
- package/dist/sdk/ai/providers/openai-completions.d.ts.map +1 -1
- package/dist/sdk/ai/providers/openai-completions.js +23 -211
- package/dist/sdk/ai/providers/openrouter-videos.d.ts +3 -0
- package/dist/sdk/ai/providers/openrouter-videos.d.ts.map +1 -0
- package/dist/sdk/ai/providers/openrouter-videos.js +412 -0
- package/dist/sdk/ai/providers/register-builtins.d.ts.map +1 -1
- package/dist/sdk/ai/providers/register-builtins.js +6 -0
- package/dist/sdk/ai/providers/simple-options.d.ts +1 -6
- package/dist/sdk/ai/providers/simple-options.d.ts.map +1 -1
- package/dist/sdk/ai/providers/simple-options.js +0 -22
- package/dist/sdk/ai/providers/transform-messages.d.ts.map +1 -1
- package/dist/sdk/ai/providers/transform-messages.js +52 -1
- package/dist/sdk/ai/types.d.ts +91 -10
- package/dist/sdk/ai/types.d.ts.map +1 -1
- package/dist/sdk/ai/video-models.d.ts +10 -0
- package/dist/sdk/ai/video-models.d.ts.map +1 -0
- package/dist/sdk/ai/video-models.generated.d.ts +440 -0
- package/dist/sdk/ai/video-models.generated.d.ts.map +1 -0
- package/dist/sdk/ai/video-models.generated.js +441 -0
- package/dist/sdk/ai/video-models.js +22 -0
- package/dist/sdk/ai/videos-api-registry.d.ts +14 -0
- package/dist/sdk/ai/videos-api-registry.d.ts.map +1 -0
- package/dist/sdk/ai/videos-api-registry.js +21 -0
- package/dist/sdk/ai/videos.d.ts +4 -0
- package/dist/sdk/ai/videos.d.ts.map +1 -0
- package/dist/sdk/ai/videos.js +13 -0
- package/dist/sdk/coding-agent/core/agent-session.d.ts +8 -0
- package/dist/sdk/coding-agent/core/agent-session.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/agent-session.js +11 -0
- package/dist/sdk/coding-agent/core/compaction/compaction.d.ts +6 -118
- package/dist/sdk/coding-agent/core/compaction/compaction.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/compaction/compaction.js +11 -733
- package/dist/sdk/coding-agent/core/compaction/cut-points.d.ts +58 -0
- package/dist/sdk/coding-agent/core/compaction/cut-points.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/compaction/cut-points.js +191 -0
- package/dist/sdk/coding-agent/core/compaction/dedupe.d.ts +28 -0
- package/dist/sdk/coding-agent/core/compaction/dedupe.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/compaction/dedupe.js +156 -0
- package/dist/sdk/coding-agent/core/compaction/summarize.d.ts +21 -0
- package/dist/sdk/coding-agent/core/compaction/summarize.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/compaction/summarize.js +181 -0
- package/dist/sdk/coding-agent/core/compaction/tokens.d.ts +47 -0
- package/dist/sdk/coding-agent/core/compaction/tokens.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/compaction/tokens.js +224 -0
- package/dist/sdk/coding-agent/core/extensions/loader.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/extensions/loader.js +14 -0
- package/dist/sdk/coding-agent/core/extensions/native-extensions.d.ts +26 -0
- package/dist/sdk/coding-agent/core/extensions/native-extensions.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/extensions/native-extensions.js +23 -0
- package/dist/sdk/coding-agent/core/extensions/session-events.d.ts +157 -0
- package/dist/sdk/coding-agent/core/extensions/session-events.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/extensions/session-events.js +13 -0
- package/dist/sdk/coding-agent/core/extensions/types.d.ts +10 -367
- package/dist/sdk/coding-agent/core/extensions/types.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/extensions/types.js +2 -10
- package/dist/sdk/coding-agent/core/extensions/ui-types.d.ts +219 -0
- package/dist/sdk/coding-agent/core/extensions/ui-types.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/extensions/ui-types.js +4 -0
- package/dist/sdk/coding-agent/core/messages.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/messages.js +42 -2
- package/dist/sdk/coding-agent/core/package/default-package-manager.d.ts +115 -0
- package/dist/sdk/coding-agent/core/package/default-package-manager.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/package/default-package-manager.js +1184 -0
- package/dist/sdk/coding-agent/core/package/discovery.d.ts +20 -0
- package/dist/sdk/coding-agent/core/package/discovery.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/package/discovery.js +283 -0
- package/dist/sdk/coding-agent/core/package/ignore.d.ts +29 -0
- package/dist/sdk/coding-agent/core/package/ignore.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/package/ignore.js +235 -0
- package/dist/sdk/coding-agent/core/package/types.d.ts +128 -0
- package/dist/sdk/coding-agent/core/package/types.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/package/types.js +18 -0
- package/dist/sdk/coding-agent/core/package/update-check.d.ts +43 -0
- package/dist/sdk/coding-agent/core/package/update-check.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/package/update-check.js +253 -0
- package/dist/sdk/coding-agent/core/package-manager.d.ts +2 -188
- package/dist/sdk/coding-agent/core/package-manager.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/package-manager.js +1 -1940
- package/dist/sdk/coding-agent/core/resource-loader.d.ts +11 -0
- package/dist/sdk/coding-agent/core/resource-loader.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/resource-loader.js +23 -6
- package/dist/sdk/coding-agent/core/sdk.d.ts +24 -2
- package/dist/sdk/coding-agent/core/sdk.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/sdk.js +15 -3
- package/dist/sdk/coding-agent/core/session/migrate.d.ts +18 -0
- package/dist/sdk/coding-agent/core/session/migrate.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/session/migrate.js +78 -0
- package/dist/sdk/coding-agent/core/session/types.d.ts +165 -0
- package/dist/sdk/coding-agent/core/session/types.d.ts.map +1 -0
- package/dist/sdk/coding-agent/core/session/types.js +4 -0
- package/dist/sdk/coding-agent/core/session-manager.d.ts +3 -161
- package/dist/sdk/coding-agent/core/session-manager.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/session-manager.js +4 -72
- package/dist/sdk/coding-agent/core/settings-manager.d.ts +0 -8
- package/dist/sdk/coding-agent/core/settings-manager.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/settings-manager.js +3 -3
- package/dist/sdk/coding-agent/index.d.ts +2 -2
- package/dist/sdk/coding-agent/index.d.ts.map +1 -1
- package/dist/sdk/coding-agent/index.js +1 -1
- package/dist/sdk-public.d.ts +96 -0
- package/dist/sdk-public.d.ts.map +1 -0
- package/dist/sdk-public.js +109 -0
- package/dist/server/agent-bridge/rehydrate.d.ts +2 -2
- package/dist/server/agent-bridge/rehydrate.d.ts.map +1 -1
- package/dist/server/agent-bridge/rehydrate.js +14 -0
- package/dist/server/agent-bridge.d.ts +8 -2
- package/dist/server/agent-bridge.d.ts.map +1 -1
- package/dist/server/agent-bridge.js +25 -2
- package/dist/server/session-stream.d.ts +19 -0
- package/dist/server/session-stream.d.ts.map +1 -1
- package/dist/server/session-stream.js +35 -0
- package/dist/server/wire.d.ts +13 -0
- package/dist/server/wire.d.ts.map +1 -1
- package/package.json +8 -2
- package/dist/generated/parser/lexer.d.ts.map +0 -1
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
+
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
+
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
+
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
+
});
|
|
6
|
+
}
|
|
7
|
+
return path;
|
|
8
|
+
};
|
|
1
9
|
import { Type } from "typebox";
|
|
2
10
|
const WIZARD_PACKAGE_NAME = "@aexol/wizard-spectral";
|
|
3
11
|
const wizardStatusSchema = Type.Object({});
|
|
@@ -43,7 +51,7 @@ function registerMissingPackageStatusTool(ext, error) {
|
|
|
43
51
|
ext.registerTool(tool);
|
|
44
52
|
}
|
|
45
53
|
async function loadWizardExtensionFactory() {
|
|
46
|
-
const importedModule = await import(WIZARD_PACKAGE_NAME);
|
|
54
|
+
const importedModule = await import(__rewriteRelativeImportExtension(WIZARD_PACKAGE_NAME));
|
|
47
55
|
const defaultExport = importedModule.default;
|
|
48
56
|
if (typeof defaultExport !== "function") {
|
|
49
57
|
throw new Error(`${WIZARD_PACKAGE_NAME} did not export a default Spectral extension factory.`);
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Aexol Language Parser — AST Node Types
|
|
3
|
+
*
|
|
4
|
+
* Pure type definitions for the Aexol abstract syntax tree,
|
|
5
|
+
* shared by the parser, validator, and public API (mod.ts).
|
|
6
|
+
*/
|
|
7
|
+
export interface ASTNode {
|
|
8
|
+
type: string;
|
|
9
|
+
location: {
|
|
10
|
+
start: number;
|
|
11
|
+
end: number;
|
|
12
|
+
line: number;
|
|
13
|
+
column: number;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export interface Program extends ASTNode {
|
|
17
|
+
type: "Program";
|
|
18
|
+
body: (RoleDefinition | VisitorDefinition | WorkflowDefinition | AgentDefinition | TypeDefinition)[];
|
|
19
|
+
}
|
|
20
|
+
export interface VisitorDefinition extends ASTNode {
|
|
21
|
+
type: "VisitorDefinition";
|
|
22
|
+
name?: string;
|
|
23
|
+
description?: string;
|
|
24
|
+
capabilities: CapabilityNode[];
|
|
25
|
+
}
|
|
26
|
+
export interface CapabilityNode extends ASTNode {
|
|
27
|
+
type: "Capability";
|
|
28
|
+
verb?: "can" | "had" | "must" | "should" | "may" | "will" | "shall" | "cannot";
|
|
29
|
+
action: string;
|
|
30
|
+
description?: string;
|
|
31
|
+
context?: string;
|
|
32
|
+
nested?: CapabilityNode[];
|
|
33
|
+
conditions?: ConditionNode[];
|
|
34
|
+
metadata?: Record<string, unknown>;
|
|
35
|
+
}
|
|
36
|
+
export interface ConditionNode extends ASTNode {
|
|
37
|
+
type: "Condition";
|
|
38
|
+
expression: ExpressionNode;
|
|
39
|
+
}
|
|
40
|
+
export interface ExpressionNode extends ASTNode {
|
|
41
|
+
type: "Expression";
|
|
42
|
+
operator?: string;
|
|
43
|
+
left?: ExpressionNode;
|
|
44
|
+
right?: ExpressionNode;
|
|
45
|
+
value?: string | number | boolean;
|
|
46
|
+
}
|
|
47
|
+
export interface RoleDefinition extends ASTNode {
|
|
48
|
+
type: "RoleDefinition";
|
|
49
|
+
name: string;
|
|
50
|
+
description?: string;
|
|
51
|
+
permissions: PermissionNode[];
|
|
52
|
+
inherits?: string[];
|
|
53
|
+
}
|
|
54
|
+
export interface PermissionNode extends ASTNode {
|
|
55
|
+
type: "Permission";
|
|
56
|
+
resource: string;
|
|
57
|
+
description?: string;
|
|
58
|
+
actions: string[];
|
|
59
|
+
conditions?: ConditionNode[];
|
|
60
|
+
}
|
|
61
|
+
export interface WorkflowDefinition extends ASTNode {
|
|
62
|
+
type: "WorkflowDefinition";
|
|
63
|
+
name: string;
|
|
64
|
+
description?: string;
|
|
65
|
+
steps: WorkflowStep[];
|
|
66
|
+
initialState: string;
|
|
67
|
+
finalStates: string[];
|
|
68
|
+
}
|
|
69
|
+
export interface WorkflowStep extends ASTNode {
|
|
70
|
+
type: "WorkflowStep";
|
|
71
|
+
name: string;
|
|
72
|
+
description?: string;
|
|
73
|
+
action: string;
|
|
74
|
+
transitions: Transition[];
|
|
75
|
+
parallel?: boolean;
|
|
76
|
+
}
|
|
77
|
+
export interface Transition extends ASTNode {
|
|
78
|
+
type: "Transition";
|
|
79
|
+
from: string;
|
|
80
|
+
to: string;
|
|
81
|
+
description?: string;
|
|
82
|
+
condition?: ConditionNode;
|
|
83
|
+
metadata?: Record<string, unknown>;
|
|
84
|
+
}
|
|
85
|
+
export interface AgentDefinition extends ASTNode {
|
|
86
|
+
type: "AgentDefinition";
|
|
87
|
+
name: string;
|
|
88
|
+
description?: string;
|
|
89
|
+
agentKind: "domain" | "builder";
|
|
90
|
+
role: string;
|
|
91
|
+
responsibilities: string[];
|
|
92
|
+
workflow?: string;
|
|
93
|
+
capabilities: CapabilityNode[];
|
|
94
|
+
skills?: string[];
|
|
95
|
+
model?: string;
|
|
96
|
+
maxConcurrent?: number;
|
|
97
|
+
}
|
|
98
|
+
export interface TypeDefinition extends ASTNode {
|
|
99
|
+
type: "TypeDefinition";
|
|
100
|
+
name: string;
|
|
101
|
+
description?: string;
|
|
102
|
+
kind: "type" | "enum" | "interface";
|
|
103
|
+
fields?: TypeField[];
|
|
104
|
+
values?: string[];
|
|
105
|
+
extends?: string[];
|
|
106
|
+
}
|
|
107
|
+
export interface TypeField extends ASTNode {
|
|
108
|
+
type: "TypeField";
|
|
109
|
+
name: string;
|
|
110
|
+
description?: string;
|
|
111
|
+
fieldType: string;
|
|
112
|
+
required: boolean;
|
|
113
|
+
default?: string | number | boolean;
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=nodes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../../src/generated/parser/ast/nodes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// GENERATED by cli-node/scripts/vendor-parser.mjs — do not edit; regenerate with `node scripts/vendor-parser.mjs`; source: packages/parser/
|
|
2
|
+
/**
|
|
3
|
+
* Aexol Language Parser — AST Node Types
|
|
4
|
+
*
|
|
5
|
+
* Pure type definitions for the Aexol abstract syntax tree,
|
|
6
|
+
* shared by the parser, validator, and public API (mod.ts).
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Aexol Language Lexer
|
|
3
|
+
*
|
|
4
|
+
* Tokenizes Aexol source code into a stream of tokens.
|
|
5
|
+
* Handles keywords, identifiers, operators, strings, and whitespace.
|
|
6
|
+
*/
|
|
7
|
+
import { type Token } from "./tokens.js";
|
|
8
|
+
export declare class Lexer {
|
|
9
|
+
private source;
|
|
10
|
+
private position;
|
|
11
|
+
private line;
|
|
12
|
+
private column;
|
|
13
|
+
private tokens;
|
|
14
|
+
private indentStack;
|
|
15
|
+
constructor(source: string);
|
|
16
|
+
private peek;
|
|
17
|
+
private advance;
|
|
18
|
+
private skipWhitespace;
|
|
19
|
+
private skipCommentIfNeeded;
|
|
20
|
+
private readString;
|
|
21
|
+
private readNumber;
|
|
22
|
+
private readIdentifier;
|
|
23
|
+
private readPromptString;
|
|
24
|
+
private handleIndentation;
|
|
25
|
+
tokenize(): Token[];
|
|
26
|
+
getTokens(): Token[];
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=lexer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lexer.d.ts","sourceRoot":"","sources":["../../../../src/generated/parser/lexer/lexer.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EAAY,KAAK,KAAK,EAAa,MAAM,aAAa,CAAC;AAE9D,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,WAAW,CAAiB;gBAExB,MAAM,EAAE,MAAM;IAI1B,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,OAAO;IAYf,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,mBAAmB;IAqF3B,OAAO,CAAC,UAAU;IAoDlB,OAAO,CAAC,UAAU;IA0BlB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,gBAAgB;IAgCxB,OAAO,CAAC,iBAAiB;IAwClB,QAAQ,IAAI,KAAK,EAAE;IAwanB,SAAS,IAAI,KAAK,EAAE;CAG5B"}
|
|
@@ -5,186 +5,7 @@
|
|
|
5
5
|
* Tokenizes Aexol source code into a stream of tokens.
|
|
6
6
|
* Handles keywords, identifiers, operators, strings, and whitespace.
|
|
7
7
|
*/
|
|
8
|
-
|
|
9
|
-
(function (TokenType) {
|
|
10
|
-
// Literals
|
|
11
|
-
TokenType["IDENTIFIER"] = "IDENTIFIER";
|
|
12
|
-
TokenType["STRING"] = "STRING";
|
|
13
|
-
TokenType["NUMBER"] = "NUMBER";
|
|
14
|
-
// Keywords
|
|
15
|
-
TokenType["VISITOR"] = "VISITOR";
|
|
16
|
-
TokenType["AND"] = "AND";
|
|
17
|
-
TokenType["OR"] = "OR";
|
|
18
|
-
TokenType["NOT"] = "NOT";
|
|
19
|
-
TokenType["IF"] = "IF";
|
|
20
|
-
TokenType["WHEN"] = "WHEN";
|
|
21
|
-
TokenType["WHILE"] = "WHILE";
|
|
22
|
-
TokenType["FOR"] = "FOR";
|
|
23
|
-
TokenType["IN"] = "IN";
|
|
24
|
-
TokenType["OF"] = "OF";
|
|
25
|
-
TokenType["AS"] = "AS";
|
|
26
|
-
TokenType["WITH"] = "WITH";
|
|
27
|
-
TokenType["WITHOUT"] = "WITHOUT";
|
|
28
|
-
TokenType["REQUIRE"] = "REQUIRE";
|
|
29
|
-
TokenType["IMPORT"] = "IMPORT";
|
|
30
|
-
TokenType["FROM"] = "FROM";
|
|
31
|
-
TokenType["DEFINE"] = "DEFINE";
|
|
32
|
-
TokenType["TYPE"] = "TYPE";
|
|
33
|
-
TokenType["ENUM"] = "ENUM";
|
|
34
|
-
TokenType["INTERFACE"] = "INTERFACE";
|
|
35
|
-
TokenType["AGENT"] = "AGENT";
|
|
36
|
-
TokenType["WORKFLOW"] = "WORKFLOW";
|
|
37
|
-
TokenType["ROLE"] = "ROLE";
|
|
38
|
-
TokenType["PERMISSION"] = "PERMISSION";
|
|
39
|
-
TokenType["ACTION"] = "ACTION";
|
|
40
|
-
TokenType["STATE"] = "STATE";
|
|
41
|
-
TokenType["TRANSITION"] = "TRANSITION";
|
|
42
|
-
// Execution Plan Keywords
|
|
43
|
-
TokenType["EXECUTION_PLAN"] = "EXECUTION_PLAN";
|
|
44
|
-
TokenType["TASK"] = "TASK";
|
|
45
|
-
TokenType["SUBTASK"] = "SUBTASK";
|
|
46
|
-
TokenType["SUBTASKS"] = "SUBTASKS";
|
|
47
|
-
TokenType["DEPENDENCIES"] = "DEPENDENCIES";
|
|
48
|
-
TokenType["PARALLEL_WITH"] = "PARALLEL_WITH";
|
|
49
|
-
TokenType["EXECUTION_GRAPH"] = "EXECUTION_GRAPH";
|
|
50
|
-
TokenType["PHASE"] = "PHASE";
|
|
51
|
-
TokenType["CONTEXT"] = "CONTEXT";
|
|
52
|
-
// Agent/Task Properties
|
|
53
|
-
TokenType["CAPABILITIES"] = "CAPABILITIES";
|
|
54
|
-
TokenType["SKILLS"] = "SKILLS";
|
|
55
|
-
TokenType["MODEL"] = "MODEL";
|
|
56
|
-
TokenType["MAX_CONCURRENT"] = "MAX_CONCURRENT";
|
|
57
|
-
TokenType["ESTIMATED_DURATION"] = "ESTIMATED_DURATION";
|
|
58
|
-
TokenType["DESCRIPTION"] = "DESCRIPTION";
|
|
59
|
-
TokenType["SPEC_REFERENCE"] = "SPEC_REFERENCE";
|
|
60
|
-
TokenType["GENERATED_FROM"] = "GENERATED_FROM";
|
|
61
|
-
TokenType["GENERATED_AT"] = "GENERATED_AT";
|
|
62
|
-
TokenType["GENERATED_BY"] = "GENERATED_BY";
|
|
63
|
-
TokenType["INITIAL"] = "INITIAL";
|
|
64
|
-
TokenType["FINAL"] = "FINAL";
|
|
65
|
-
TokenType["TRUE"] = "TRUE";
|
|
66
|
-
TokenType["FALSE"] = "FALSE";
|
|
67
|
-
TokenType["NULL"] = "NULL";
|
|
68
|
-
TokenType["RETURN"] = "RETURN";
|
|
69
|
-
TokenType["YIELD"] = "YIELD";
|
|
70
|
-
TokenType["ASYNC"] = "ASYNC";
|
|
71
|
-
TokenType["AWAIT"] = "AWAIT";
|
|
72
|
-
TokenType["THROW"] = "THROW";
|
|
73
|
-
TokenType["TRY"] = "TRY";
|
|
74
|
-
TokenType["CATCH"] = "CATCH";
|
|
75
|
-
TokenType["FINALLY"] = "FINALLY";
|
|
76
|
-
// Operators
|
|
77
|
-
TokenType["LPAREN"] = "LPAREN";
|
|
78
|
-
TokenType["RPAREN"] = "RPAREN";
|
|
79
|
-
TokenType["LBRACE"] = "LBRACE";
|
|
80
|
-
TokenType["RBRACE"] = "RBRACE";
|
|
81
|
-
TokenType["LBRACKET"] = "LBRACKET";
|
|
82
|
-
TokenType["RBRACKET"] = "RBRACKET";
|
|
83
|
-
TokenType["DOT"] = "DOT";
|
|
84
|
-
TokenType["COMMA"] = "COMMA";
|
|
85
|
-
TokenType["COLON"] = "COLON";
|
|
86
|
-
TokenType["SEMICOLON"] = "SEMICOLON";
|
|
87
|
-
TokenType["ARROW"] = "ARROW";
|
|
88
|
-
TokenType["FAT_ARROW"] = "FAT_ARROW";
|
|
89
|
-
TokenType["EQUALS"] = "EQUALS";
|
|
90
|
-
TokenType["PLUS_EQUALS"] = "PLUS_EQUALS";
|
|
91
|
-
TokenType["MINUS_EQUALS"] = "MINUS_EQUALS";
|
|
92
|
-
TokenType["MULT_EQUALS"] = "MULT_EQUALS";
|
|
93
|
-
TokenType["DIV_EQUALS"] = "DIV_EQUALS";
|
|
94
|
-
TokenType["PLUS"] = "PLUS";
|
|
95
|
-
TokenType["MINUS"] = "MINUS";
|
|
96
|
-
TokenType["MULT"] = "MULT";
|
|
97
|
-
TokenType["DIV"] = "DIV";
|
|
98
|
-
TokenType["MOD"] = "MOD";
|
|
99
|
-
TokenType["POWER"] = "POWER";
|
|
100
|
-
TokenType["EQ"] = "EQ";
|
|
101
|
-
TokenType["NEQ"] = "NEQ";
|
|
102
|
-
TokenType["LT"] = "LT";
|
|
103
|
-
TokenType["LTE"] = "LTE";
|
|
104
|
-
TokenType["GT"] = "GT";
|
|
105
|
-
TokenType["GTE"] = "GTE";
|
|
106
|
-
TokenType["AMPERSAND"] = "AMPERSAND";
|
|
107
|
-
TokenType["PIPE"] = "PIPE";
|
|
108
|
-
TokenType["CARET"] = "CARET";
|
|
109
|
-
TokenType["TILDE"] = "TILDE";
|
|
110
|
-
TokenType["QUESTION"] = "QUESTION";
|
|
111
|
-
TokenType["EXCLAMATION"] = "EXCLAMATION";
|
|
112
|
-
TokenType["AT"] = "AT";
|
|
113
|
-
TokenType["DOLLAR"] = "DOLLAR";
|
|
114
|
-
TokenType["HASH"] = "HASH";
|
|
115
|
-
TokenType["BACKSLASH"] = "BACKSLASH";
|
|
116
|
-
// Special
|
|
117
|
-
TokenType["NEWLINE"] = "NEWLINE";
|
|
118
|
-
TokenType["INDENT"] = "INDENT";
|
|
119
|
-
TokenType["DEDENT"] = "DEDENT";
|
|
120
|
-
TokenType["EOF"] = "EOF";
|
|
121
|
-
TokenType["COMMENT"] = "COMMENT";
|
|
122
|
-
TokenType["WHITESPACE"] = "WHITESPACE";
|
|
123
|
-
TokenType["PROMPT"] = "PROMPT";
|
|
124
|
-
})(TokenType || (TokenType = {}));
|
|
125
|
-
const KEYWORDS = {
|
|
126
|
-
visitor: TokenType.VISITOR,
|
|
127
|
-
and: TokenType.AND,
|
|
128
|
-
or: TokenType.OR,
|
|
129
|
-
not: TokenType.NOT,
|
|
130
|
-
if: TokenType.IF,
|
|
131
|
-
when: TokenType.WHEN,
|
|
132
|
-
while: TokenType.WHILE,
|
|
133
|
-
for: TokenType.FOR,
|
|
134
|
-
in: TokenType.IN,
|
|
135
|
-
of: TokenType.OF,
|
|
136
|
-
as: TokenType.AS,
|
|
137
|
-
with: TokenType.WITH,
|
|
138
|
-
without: TokenType.WITHOUT,
|
|
139
|
-
require: TokenType.REQUIRE,
|
|
140
|
-
import: TokenType.IMPORT,
|
|
141
|
-
from: TokenType.FROM,
|
|
142
|
-
define: TokenType.DEFINE,
|
|
143
|
-
type: TokenType.TYPE,
|
|
144
|
-
enum: TokenType.ENUM,
|
|
145
|
-
interface: TokenType.INTERFACE,
|
|
146
|
-
agent: TokenType.AGENT,
|
|
147
|
-
workflow: TokenType.WORKFLOW,
|
|
148
|
-
role: TokenType.ROLE,
|
|
149
|
-
permission: TokenType.PERMISSION,
|
|
150
|
-
action: TokenType.ACTION,
|
|
151
|
-
state: TokenType.STATE,
|
|
152
|
-
transition: TokenType.TRANSITION,
|
|
153
|
-
// Execution Plan Keywords
|
|
154
|
-
execution_plan: TokenType.EXECUTION_PLAN,
|
|
155
|
-
task: TokenType.TASK,
|
|
156
|
-
subtask: TokenType.SUBTASK,
|
|
157
|
-
subtasks: TokenType.SUBTASKS,
|
|
158
|
-
dependencies: TokenType.DEPENDENCIES,
|
|
159
|
-
parallel_with: TokenType.PARALLEL_WITH,
|
|
160
|
-
execution_graph: TokenType.EXECUTION_GRAPH,
|
|
161
|
-
phase: TokenType.PHASE,
|
|
162
|
-
context: TokenType.CONTEXT,
|
|
163
|
-
// Agent/Task Properties
|
|
164
|
-
capabilities: TokenType.CAPABILITIES,
|
|
165
|
-
skills: TokenType.SKILLS,
|
|
166
|
-
model: TokenType.MODEL,
|
|
167
|
-
max_concurrent: TokenType.MAX_CONCURRENT,
|
|
168
|
-
estimated_duration: TokenType.ESTIMATED_DURATION,
|
|
169
|
-
description: TokenType.DESCRIPTION,
|
|
170
|
-
spec_reference: TokenType.SPEC_REFERENCE,
|
|
171
|
-
generated_from: TokenType.GENERATED_FROM,
|
|
172
|
-
generated_at: TokenType.GENERATED_AT,
|
|
173
|
-
generated_by: TokenType.GENERATED_BY,
|
|
174
|
-
initial: TokenType.INITIAL,
|
|
175
|
-
final: TokenType.FINAL,
|
|
176
|
-
true: TokenType.TRUE,
|
|
177
|
-
false: TokenType.FALSE,
|
|
178
|
-
null: TokenType.NULL,
|
|
179
|
-
return: TokenType.RETURN,
|
|
180
|
-
yield: TokenType.YIELD,
|
|
181
|
-
async: TokenType.ASYNC,
|
|
182
|
-
await: TokenType.AWAIT,
|
|
183
|
-
throw: TokenType.THROW,
|
|
184
|
-
try: TokenType.TRY,
|
|
185
|
-
catch: TokenType.CATCH,
|
|
186
|
-
finally: TokenType.FINALLY,
|
|
187
|
-
};
|
|
8
|
+
import { KEYWORDS, TokenType } from "./tokens.js";
|
|
188
9
|
export class Lexer {
|
|
189
10
|
source;
|
|
190
11
|
position = 0;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Aexol Language Lexer
|
|
2
|
+
* Aexol Language Lexer — Token Types
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Token, location, and keyword-map definitions shared by the lexer,
|
|
5
|
+
* tokenizer, and parser.
|
|
6
6
|
*/
|
|
7
7
|
export declare enum TokenType {
|
|
8
8
|
IDENTIFIER = "IDENTIFIER",
|
|
@@ -125,24 +125,5 @@ export interface Token {
|
|
|
125
125
|
location: TokenLocation;
|
|
126
126
|
raw: string;
|
|
127
127
|
}
|
|
128
|
-
export declare
|
|
129
|
-
|
|
130
|
-
private position;
|
|
131
|
-
private line;
|
|
132
|
-
private column;
|
|
133
|
-
private tokens;
|
|
134
|
-
private indentStack;
|
|
135
|
-
constructor(source: string);
|
|
136
|
-
private peek;
|
|
137
|
-
private advance;
|
|
138
|
-
private skipWhitespace;
|
|
139
|
-
private skipCommentIfNeeded;
|
|
140
|
-
private readString;
|
|
141
|
-
private readNumber;
|
|
142
|
-
private readIdentifier;
|
|
143
|
-
private readPromptString;
|
|
144
|
-
private handleIndentation;
|
|
145
|
-
tokenize(): Token[];
|
|
146
|
-
getTokens(): Token[];
|
|
147
|
-
}
|
|
148
|
-
//# sourceMappingURL=lexer.d.ts.map
|
|
128
|
+
export declare const KEYWORDS: Record<string, TokenType>;
|
|
129
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../../src/generated/parser/lexer/tokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
// GENERATED by cli-node/scripts/vendor-parser.mjs — do not edit; regenerate with `node scripts/vendor-parser.mjs`; source: packages/parser/
|
|
2
|
+
/**
|
|
3
|
+
* Aexol Language Lexer — Token Types
|
|
4
|
+
*
|
|
5
|
+
* Token, location, and keyword-map definitions shared by the lexer,
|
|
6
|
+
* tokenizer, and parser.
|
|
7
|
+
*/
|
|
8
|
+
export var TokenType;
|
|
9
|
+
(function (TokenType) {
|
|
10
|
+
// Literals
|
|
11
|
+
TokenType["IDENTIFIER"] = "IDENTIFIER";
|
|
12
|
+
TokenType["STRING"] = "STRING";
|
|
13
|
+
TokenType["NUMBER"] = "NUMBER";
|
|
14
|
+
// Keywords
|
|
15
|
+
TokenType["VISITOR"] = "VISITOR";
|
|
16
|
+
TokenType["AND"] = "AND";
|
|
17
|
+
TokenType["OR"] = "OR";
|
|
18
|
+
TokenType["NOT"] = "NOT";
|
|
19
|
+
TokenType["IF"] = "IF";
|
|
20
|
+
TokenType["WHEN"] = "WHEN";
|
|
21
|
+
TokenType["WHILE"] = "WHILE";
|
|
22
|
+
TokenType["FOR"] = "FOR";
|
|
23
|
+
TokenType["IN"] = "IN";
|
|
24
|
+
TokenType["OF"] = "OF";
|
|
25
|
+
TokenType["AS"] = "AS";
|
|
26
|
+
TokenType["WITH"] = "WITH";
|
|
27
|
+
TokenType["WITHOUT"] = "WITHOUT";
|
|
28
|
+
TokenType["REQUIRE"] = "REQUIRE";
|
|
29
|
+
TokenType["IMPORT"] = "IMPORT";
|
|
30
|
+
TokenType["FROM"] = "FROM";
|
|
31
|
+
TokenType["DEFINE"] = "DEFINE";
|
|
32
|
+
TokenType["TYPE"] = "TYPE";
|
|
33
|
+
TokenType["ENUM"] = "ENUM";
|
|
34
|
+
TokenType["INTERFACE"] = "INTERFACE";
|
|
35
|
+
TokenType["AGENT"] = "AGENT";
|
|
36
|
+
TokenType["WORKFLOW"] = "WORKFLOW";
|
|
37
|
+
TokenType["ROLE"] = "ROLE";
|
|
38
|
+
TokenType["PERMISSION"] = "PERMISSION";
|
|
39
|
+
TokenType["ACTION"] = "ACTION";
|
|
40
|
+
TokenType["STATE"] = "STATE";
|
|
41
|
+
TokenType["TRANSITION"] = "TRANSITION";
|
|
42
|
+
// Execution Plan Keywords
|
|
43
|
+
TokenType["EXECUTION_PLAN"] = "EXECUTION_PLAN";
|
|
44
|
+
TokenType["TASK"] = "TASK";
|
|
45
|
+
TokenType["SUBTASK"] = "SUBTASK";
|
|
46
|
+
TokenType["SUBTASKS"] = "SUBTASKS";
|
|
47
|
+
TokenType["DEPENDENCIES"] = "DEPENDENCIES";
|
|
48
|
+
TokenType["PARALLEL_WITH"] = "PARALLEL_WITH";
|
|
49
|
+
TokenType["EXECUTION_GRAPH"] = "EXECUTION_GRAPH";
|
|
50
|
+
TokenType["PHASE"] = "PHASE";
|
|
51
|
+
TokenType["CONTEXT"] = "CONTEXT";
|
|
52
|
+
// Agent/Task Properties
|
|
53
|
+
TokenType["CAPABILITIES"] = "CAPABILITIES";
|
|
54
|
+
TokenType["SKILLS"] = "SKILLS";
|
|
55
|
+
TokenType["MODEL"] = "MODEL";
|
|
56
|
+
TokenType["MAX_CONCURRENT"] = "MAX_CONCURRENT";
|
|
57
|
+
TokenType["ESTIMATED_DURATION"] = "ESTIMATED_DURATION";
|
|
58
|
+
TokenType["DESCRIPTION"] = "DESCRIPTION";
|
|
59
|
+
TokenType["SPEC_REFERENCE"] = "SPEC_REFERENCE";
|
|
60
|
+
TokenType["GENERATED_FROM"] = "GENERATED_FROM";
|
|
61
|
+
TokenType["GENERATED_AT"] = "GENERATED_AT";
|
|
62
|
+
TokenType["GENERATED_BY"] = "GENERATED_BY";
|
|
63
|
+
TokenType["INITIAL"] = "INITIAL";
|
|
64
|
+
TokenType["FINAL"] = "FINAL";
|
|
65
|
+
TokenType["TRUE"] = "TRUE";
|
|
66
|
+
TokenType["FALSE"] = "FALSE";
|
|
67
|
+
TokenType["NULL"] = "NULL";
|
|
68
|
+
TokenType["RETURN"] = "RETURN";
|
|
69
|
+
TokenType["YIELD"] = "YIELD";
|
|
70
|
+
TokenType["ASYNC"] = "ASYNC";
|
|
71
|
+
TokenType["AWAIT"] = "AWAIT";
|
|
72
|
+
TokenType["THROW"] = "THROW";
|
|
73
|
+
TokenType["TRY"] = "TRY";
|
|
74
|
+
TokenType["CATCH"] = "CATCH";
|
|
75
|
+
TokenType["FINALLY"] = "FINALLY";
|
|
76
|
+
// Operators
|
|
77
|
+
TokenType["LPAREN"] = "LPAREN";
|
|
78
|
+
TokenType["RPAREN"] = "RPAREN";
|
|
79
|
+
TokenType["LBRACE"] = "LBRACE";
|
|
80
|
+
TokenType["RBRACE"] = "RBRACE";
|
|
81
|
+
TokenType["LBRACKET"] = "LBRACKET";
|
|
82
|
+
TokenType["RBRACKET"] = "RBRACKET";
|
|
83
|
+
TokenType["DOT"] = "DOT";
|
|
84
|
+
TokenType["COMMA"] = "COMMA";
|
|
85
|
+
TokenType["COLON"] = "COLON";
|
|
86
|
+
TokenType["SEMICOLON"] = "SEMICOLON";
|
|
87
|
+
TokenType["ARROW"] = "ARROW";
|
|
88
|
+
TokenType["FAT_ARROW"] = "FAT_ARROW";
|
|
89
|
+
TokenType["EQUALS"] = "EQUALS";
|
|
90
|
+
TokenType["PLUS_EQUALS"] = "PLUS_EQUALS";
|
|
91
|
+
TokenType["MINUS_EQUALS"] = "MINUS_EQUALS";
|
|
92
|
+
TokenType["MULT_EQUALS"] = "MULT_EQUALS";
|
|
93
|
+
TokenType["DIV_EQUALS"] = "DIV_EQUALS";
|
|
94
|
+
TokenType["PLUS"] = "PLUS";
|
|
95
|
+
TokenType["MINUS"] = "MINUS";
|
|
96
|
+
TokenType["MULT"] = "MULT";
|
|
97
|
+
TokenType["DIV"] = "DIV";
|
|
98
|
+
TokenType["MOD"] = "MOD";
|
|
99
|
+
TokenType["POWER"] = "POWER";
|
|
100
|
+
TokenType["EQ"] = "EQ";
|
|
101
|
+
TokenType["NEQ"] = "NEQ";
|
|
102
|
+
TokenType["LT"] = "LT";
|
|
103
|
+
TokenType["LTE"] = "LTE";
|
|
104
|
+
TokenType["GT"] = "GT";
|
|
105
|
+
TokenType["GTE"] = "GTE";
|
|
106
|
+
TokenType["AMPERSAND"] = "AMPERSAND";
|
|
107
|
+
TokenType["PIPE"] = "PIPE";
|
|
108
|
+
TokenType["CARET"] = "CARET";
|
|
109
|
+
TokenType["TILDE"] = "TILDE";
|
|
110
|
+
TokenType["QUESTION"] = "QUESTION";
|
|
111
|
+
TokenType["EXCLAMATION"] = "EXCLAMATION";
|
|
112
|
+
TokenType["AT"] = "AT";
|
|
113
|
+
TokenType["DOLLAR"] = "DOLLAR";
|
|
114
|
+
TokenType["HASH"] = "HASH";
|
|
115
|
+
TokenType["BACKSLASH"] = "BACKSLASH";
|
|
116
|
+
// Special
|
|
117
|
+
TokenType["NEWLINE"] = "NEWLINE";
|
|
118
|
+
TokenType["INDENT"] = "INDENT";
|
|
119
|
+
TokenType["DEDENT"] = "DEDENT";
|
|
120
|
+
TokenType["EOF"] = "EOF";
|
|
121
|
+
TokenType["COMMENT"] = "COMMENT";
|
|
122
|
+
TokenType["WHITESPACE"] = "WHITESPACE";
|
|
123
|
+
TokenType["PROMPT"] = "PROMPT";
|
|
124
|
+
})(TokenType || (TokenType = {}));
|
|
125
|
+
export const KEYWORDS = {
|
|
126
|
+
visitor: TokenType.VISITOR,
|
|
127
|
+
and: TokenType.AND,
|
|
128
|
+
or: TokenType.OR,
|
|
129
|
+
not: TokenType.NOT,
|
|
130
|
+
if: TokenType.IF,
|
|
131
|
+
when: TokenType.WHEN,
|
|
132
|
+
while: TokenType.WHILE,
|
|
133
|
+
for: TokenType.FOR,
|
|
134
|
+
in: TokenType.IN,
|
|
135
|
+
of: TokenType.OF,
|
|
136
|
+
as: TokenType.AS,
|
|
137
|
+
with: TokenType.WITH,
|
|
138
|
+
without: TokenType.WITHOUT,
|
|
139
|
+
require: TokenType.REQUIRE,
|
|
140
|
+
import: TokenType.IMPORT,
|
|
141
|
+
from: TokenType.FROM,
|
|
142
|
+
define: TokenType.DEFINE,
|
|
143
|
+
type: TokenType.TYPE,
|
|
144
|
+
enum: TokenType.ENUM,
|
|
145
|
+
interface: TokenType.INTERFACE,
|
|
146
|
+
agent: TokenType.AGENT,
|
|
147
|
+
workflow: TokenType.WORKFLOW,
|
|
148
|
+
role: TokenType.ROLE,
|
|
149
|
+
permission: TokenType.PERMISSION,
|
|
150
|
+
action: TokenType.ACTION,
|
|
151
|
+
state: TokenType.STATE,
|
|
152
|
+
transition: TokenType.TRANSITION,
|
|
153
|
+
// Execution Plan Keywords
|
|
154
|
+
execution_plan: TokenType.EXECUTION_PLAN,
|
|
155
|
+
task: TokenType.TASK,
|
|
156
|
+
subtask: TokenType.SUBTASK,
|
|
157
|
+
subtasks: TokenType.SUBTASKS,
|
|
158
|
+
dependencies: TokenType.DEPENDENCIES,
|
|
159
|
+
parallel_with: TokenType.PARALLEL_WITH,
|
|
160
|
+
execution_graph: TokenType.EXECUTION_GRAPH,
|
|
161
|
+
phase: TokenType.PHASE,
|
|
162
|
+
context: TokenType.CONTEXT,
|
|
163
|
+
// Agent/Task Properties
|
|
164
|
+
capabilities: TokenType.CAPABILITIES,
|
|
165
|
+
skills: TokenType.SKILLS,
|
|
166
|
+
model: TokenType.MODEL,
|
|
167
|
+
max_concurrent: TokenType.MAX_CONCURRENT,
|
|
168
|
+
estimated_duration: TokenType.ESTIMATED_DURATION,
|
|
169
|
+
description: TokenType.DESCRIPTION,
|
|
170
|
+
spec_reference: TokenType.SPEC_REFERENCE,
|
|
171
|
+
generated_from: TokenType.GENERATED_FROM,
|
|
172
|
+
generated_at: TokenType.GENERATED_AT,
|
|
173
|
+
generated_by: TokenType.GENERATED_BY,
|
|
174
|
+
initial: TokenType.INITIAL,
|
|
175
|
+
final: TokenType.FINAL,
|
|
176
|
+
true: TokenType.TRUE,
|
|
177
|
+
false: TokenType.FALSE,
|
|
178
|
+
null: TokenType.NULL,
|
|
179
|
+
return: TokenType.RETURN,
|
|
180
|
+
yield: TokenType.YIELD,
|
|
181
|
+
async: TokenType.ASYNC,
|
|
182
|
+
await: TokenType.AWAIT,
|
|
183
|
+
throw: TokenType.THROW,
|
|
184
|
+
try: TokenType.TRY,
|
|
185
|
+
catch: TokenType.CATCH,
|
|
186
|
+
finally: TokenType.FINALLY,
|
|
187
|
+
};
|
|
@@ -11,15 +11,13 @@
|
|
|
11
11
|
* - VS Code extension
|
|
12
12
|
* - highlight.js integration
|
|
13
13
|
*/
|
|
14
|
-
export { Lexer
|
|
15
|
-
export
|
|
14
|
+
export { Lexer } from "./lexer/lexer.js";
|
|
15
|
+
export { TokenType } from "./lexer/tokens.js";
|
|
16
|
+
export type { Token } from "./lexer/tokens.js";
|
|
16
17
|
export { Tokenizer } from "./tokenizer.js";
|
|
17
18
|
export { Parser } from "./parser.js";
|
|
18
|
-
export type { AgentDefinition, ASTNode, CapabilityNode, ConditionNode, ExpressionNode, PermissionNode, Program, RoleDefinition, Transition, TypeDefinition, TypeField, VisitorDefinition, WorkflowDefinition, WorkflowStep, } from "./
|
|
19
|
-
|
|
20
|
-
* Quick parse function for convenience
|
|
21
|
-
*/
|
|
22
|
-
import { type Program } from "./parser.js";
|
|
19
|
+
export type { AgentDefinition, ASTNode, CapabilityNode, ConditionNode, ExpressionNode, PermissionNode, Program, RoleDefinition, Transition, TypeDefinition, TypeField, VisitorDefinition, WorkflowDefinition, WorkflowStep, } from "./ast/nodes.js";
|
|
20
|
+
import type { Program } from "./ast/nodes.js";
|
|
23
21
|
export declare function parseAexol(source: string): Program;
|
|
24
22
|
export { Validator } from "./validator.js";
|
|
25
23
|
export type { ValidationError, ValidationResult } from "./validator.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/generated/parser/mod.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/generated/parser/mod.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,YAAY,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EACV,eAAe,EACf,OAAO,EACP,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EACd,OAAO,EACP,cAAc,EACd,UAAU,EACV,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAMxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGlD;AAGD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
* - highlight.js integration
|
|
14
14
|
*/
|
|
15
15
|
// Export lexer types and classes
|
|
16
|
-
export { Lexer
|
|
16
|
+
export { Lexer } from "./lexer/lexer.js";
|
|
17
|
+
export { TokenType } from "./lexer/tokens.js";
|
|
17
18
|
// Export tokenizer
|
|
18
19
|
export { Tokenizer } from "./tokenizer.js";
|
|
19
20
|
// Export parser and all AST node types
|