@phuetz/code-buddy 0.1.0 → 0.1.2
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/.codebuddy/skills/bundled/brave-search/SKILL.md +490 -0
- package/.codebuddy/skills/bundled/exa-search/SKILL.md +1122 -0
- package/.codebuddy/skills/bundled/perplexity/SKILL.md +748 -0
- package/.codebuddy/skills/bundled/playwright/SKILL.md +520 -0
- package/.codebuddy/skills/bundled/puppeteer/SKILL.md +708 -0
- package/.codebuddy/skills/bundled/web-fetch/SKILL.md +1003 -0
- package/README.md +56 -0
- package/dist/agent/agent-state.d.ts +3 -3
- package/dist/agent/agent-state.js +6 -6
- package/dist/agent/agent-state.js.map +1 -1
- package/dist/agent/base-agent.d.ts +4 -4
- package/dist/agent/base-agent.js +22 -9
- package/dist/agent/base-agent.js.map +1 -1
- package/dist/agent/cache-trace.d.ts +56 -0
- package/dist/agent/cache-trace.js +98 -0
- package/dist/agent/cache-trace.js.map +1 -0
- package/dist/agent/codebuddy-agent.js +4 -2
- package/dist/agent/codebuddy-agent.js.map +1 -1
- package/dist/agent/execution/agent-executor.d.ts +4 -4
- package/dist/agent/execution/agent-executor.js +46 -14
- package/dist/agent/execution/agent-executor.js.map +1 -1
- package/dist/agent/facades/agent-context-facade.js +1 -3
- package/dist/agent/facades/agent-context-facade.js.map +1 -1
- package/dist/agent/facades/message-history-manager.js +14 -12
- package/dist/agent/facades/message-history-manager.js.map +1 -1
- package/dist/agent/facades/session-facade.d.ts +3 -3
- package/dist/agent/facades/session-facade.js +6 -6
- package/dist/agent/facades/session-facade.js.map +1 -1
- package/dist/agent/history-repair.d.ts +37 -0
- package/dist/agent/history-repair.js +124 -0
- package/dist/agent/history-repair.js.map +1 -0
- package/dist/agent/index.d.ts +3 -3
- package/dist/agent/index.js +3 -3
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/isolation/agent-workspace.d.ts +1 -0
- package/dist/agent/isolation/agent-workspace.js +10 -0
- package/dist/agent/isolation/agent-workspace.js.map +1 -1
- package/dist/agent/specialized/archive-agent.d.ts +3 -0
- package/dist/agent/specialized/archive-agent.js +71 -31
- package/dist/agent/specialized/archive-agent.js.map +1 -1
- package/dist/agent/specialized/index.d.ts +9 -8
- package/dist/agent/specialized/index.js +16 -8
- package/dist/agent/specialized/index.js.map +1 -1
- package/dist/agent/specialized/security-review/agent.js +19 -8
- package/dist/agent/specialized/security-review/agent.js.map +1 -1
- package/dist/agent/tool-executor.js +5 -0
- package/dist/agent/tool-executor.js.map +1 -1
- package/dist/agent/turn-diff-tracker.d.ts +79 -0
- package/dist/agent/turn-diff-tracker.js +195 -0
- package/dist/agent/turn-diff-tracker.js.map +1 -0
- package/dist/browser/controller.js +8 -4
- package/dist/browser/controller.js.map +1 -1
- package/dist/browser-automation/browser-manager.js +8 -1
- package/dist/browser-automation/browser-manager.js.map +1 -1
- package/dist/checkpoints/checkpoint-versioning.js +78 -20
- package/dist/checkpoints/checkpoint-versioning.js.map +1 -1
- package/dist/cli/config-loader.js +2 -4
- package/dist/cli/config-loader.js.map +1 -1
- package/dist/codebuddy/client.js +70 -11
- package/dist/codebuddy/client.js.map +1 -1
- package/dist/codebuddy/tools.d.ts +1 -7
- package/dist/codebuddy/tools.js +2 -30
- package/dist/codebuddy/tools.js.map +1 -1
- package/dist/commands/cli/daemon-commands.d.ts +14 -0
- package/dist/commands/cli/daemon-commands.js +166 -0
- package/dist/commands/cli/daemon-commands.js.map +1 -0
- package/dist/commands/cli/speak-command.d.ts +10 -0
- package/dist/commands/cli/speak-command.js +97 -0
- package/dist/commands/cli/speak-command.js.map +1 -0
- package/dist/commands/cli/utility-commands.d.ts +10 -0
- package/dist/commands/cli/utility-commands.js +88 -0
- package/dist/commands/cli/utility-commands.js.map +1 -0
- package/dist/commands/handlers/fcs-handlers.js +1 -1
- package/dist/commands/handlers/fcs-handlers.js.map +1 -1
- package/dist/commands/handlers/memory-handlers.js +2 -1
- package/dist/commands/handlers/memory-handlers.js.map +1 -1
- package/dist/commands/handlers/vibe-handlers.js +0 -1
- package/dist/commands/handlers/vibe-handlers.js.map +1 -1
- package/dist/commands/handlers/worktree-handlers.js +11 -0
- package/dist/commands/handlers/worktree-handlers.js.map +1 -1
- package/dist/commands/index.d.ts +8 -7
- package/dist/commands/index.js +10 -8
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/mcp.d.ts +1 -0
- package/dist/commands/mcp.js +66 -7
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/pipeline.js +25 -13
- package/dist/commands/pipeline.js.map +1 -1
- package/dist/config/hot-reload/watcher.js +4 -4
- package/dist/config/hot-reload/watcher.js.map +1 -1
- package/dist/config/model-tools.d.ts +41 -0
- package/dist/config/model-tools.js +194 -0
- package/dist/config/model-tools.js.map +1 -0
- package/dist/context/context-manager-v2.d.ts +2 -1
- package/dist/context/context-manager-v2.js +34 -5
- package/dist/context/context-manager-v2.js.map +1 -1
- package/dist/context/index.d.ts +12 -12
- package/dist/context/index.js +25 -12
- package/dist/context/index.js.map +1 -1
- package/dist/daemon/daemon-manager.js +23 -19
- package/dist/daemon/daemon-manager.js.map +1 -1
- package/dist/database/database-manager.d.ts +4 -0
- package/dist/database/database-manager.js +16 -7
- package/dist/database/database-manager.js.map +1 -1
- package/dist/desktop-automation/nutjs-provider.js +89 -0
- package/dist/desktop-automation/nutjs-provider.js.map +1 -1
- package/dist/errors/index.d.ts +4 -4
- package/dist/errors/index.js +8 -4
- package/dist/errors/index.js.map +1 -1
- package/dist/fcs/builtins.d.ts +2 -6
- package/dist/fcs/builtins.js +2 -568
- package/dist/fcs/builtins.js.map +1 -1
- package/dist/fcs/codebuddy-bindings.d.ts +3 -43
- package/dist/fcs/codebuddy-bindings.js +2 -606
- package/dist/fcs/codebuddy-bindings.js.map +1 -1
- package/dist/fcs/index.d.ts +2 -27
- package/dist/fcs/index.js +2 -53
- package/dist/fcs/index.js.map +1 -1
- package/dist/fcs/lexer.d.ts +2 -37
- package/dist/fcs/lexer.js +2 -459
- package/dist/fcs/lexer.js.map +1 -1
- package/dist/fcs/parser.d.ts +2 -68
- package/dist/fcs/parser.js +2 -893
- package/dist/fcs/parser.js.map +1 -1
- package/dist/fcs/runtime.d.ts +2 -59
- package/dist/fcs/runtime.js +2 -623
- package/dist/fcs/runtime.js.map +1 -1
- package/dist/fcs/script-registry.d.ts +3 -69
- package/dist/fcs/script-registry.js +2 -219
- package/dist/fcs/script-registry.js.map +1 -1
- package/dist/fcs/sync-bindings.d.ts +3 -101
- package/dist/fcs/sync-bindings.js +2 -410
- package/dist/fcs/sync-bindings.js.map +1 -1
- package/dist/fcs/types.d.ts +2 -285
- package/dist/fcs/types.js +2 -103
- package/dist/fcs/types.js.map +1 -1
- package/dist/hooks/index.d.ts +4 -4
- package/dist/hooks/index.js +4 -4
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/use-input-handler.d.ts +1 -1
- package/dist/index.js +20 -330
- package/dist/index.js.map +1 -1
- package/dist/input/voice-control.js +11 -5
- package/dist/input/voice-control.js.map +1 -1
- package/dist/integrations/json-rpc/server.d.ts +9 -0
- package/dist/integrations/json-rpc/server.js +43 -13
- package/dist/integrations/json-rpc/server.js.map +1 -1
- package/dist/integrations/mcp/mcp-server.js +1 -1
- package/dist/integrations/mcp/mcp-server.js.map +1 -1
- package/dist/integrations/notification-integrations.d.ts +1 -0
- package/dist/integrations/notification-integrations.js +6 -1
- package/dist/integrations/notification-integrations.js.map +1 -1
- package/dist/mcp/client.js +2 -1
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/config.js +89 -5
- package/dist/mcp/config.js.map +1 -1
- package/dist/mcp/mcp-client.js +65 -14
- package/dist/mcp/mcp-client.js.map +1 -1
- package/dist/mcp/transports.d.ts +0 -1
- package/dist/mcp/transports.js +1 -5
- package/dist/mcp/transports.js.map +1 -1
- package/dist/mcp/types.d.ts +2 -0
- package/dist/memory/index.d.ts +2 -2
- package/dist/memory/index.js +2 -2
- package/dist/memory/index.js.map +1 -1
- package/dist/persistence/session-lock.d.ts +42 -0
- package/dist/persistence/session-lock.js +165 -0
- package/dist/persistence/session-lock.js.map +1 -0
- package/dist/persistence/session-store.d.ts +18 -3
- package/dist/persistence/session-store.js +90 -21
- package/dist/persistence/session-store.js.map +1 -1
- package/dist/plugins/conflict-detection.js +2 -1
- package/dist/plugins/conflict-detection.js.map +1 -1
- package/dist/plugins/index.d.ts +3 -3
- package/dist/plugins/index.js +3 -3
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/isolated-plugin-runner.d.ts +6 -0
- package/dist/plugins/isolated-plugin-runner.js +19 -1
- package/dist/plugins/isolated-plugin-runner.js.map +1 -1
- package/dist/providers/local-llm-provider.js +28 -8
- package/dist/providers/local-llm-provider.js.map +1 -1
- package/dist/sandbox/docker-sandbox.js +7 -4
- package/dist/sandbox/docker-sandbox.js.map +1 -1
- package/dist/scripting/builtins.d.ts +8 -3
- package/dist/scripting/builtins.js +506 -355
- package/dist/scripting/builtins.js.map +1 -1
- package/dist/scripting/codebuddy-bindings.d.ts +47 -0
- package/dist/scripting/codebuddy-bindings.js +488 -0
- package/dist/scripting/codebuddy-bindings.js.map +1 -0
- package/dist/scripting/index.d.ts +33 -30
- package/dist/scripting/index.js +41 -36
- package/dist/scripting/index.js.map +1 -1
- package/dist/scripting/lexer.d.ts +31 -13
- package/dist/scripting/lexer.js +379 -292
- package/dist/scripting/lexer.js.map +1 -1
- package/dist/scripting/parser.d.ts +63 -44
- package/dist/scripting/parser.js +700 -473
- package/dist/scripting/parser.js.map +1 -1
- package/dist/scripting/runtime.d.ts +55 -24
- package/dist/scripting/runtime.js +600 -288
- package/dist/scripting/runtime.js.map +1 -1
- package/dist/scripting/script-registry.d.ts +54 -0
- package/dist/scripting/script-registry.js +202 -0
- package/dist/scripting/script-registry.js.map +1 -0
- package/dist/scripting/sync-bindings.d.ts +105 -0
- package/dist/scripting/sync-bindings.js +353 -0
- package/dist/scripting/sync-bindings.js.map +1 -0
- package/dist/scripting/types.d.ts +297 -199
- package/dist/scripting/types.js +86 -60
- package/dist/scripting/types.js.map +1 -1
- package/dist/search/usearch-index.js +42 -7
- package/dist/search/usearch-index.js.map +1 -1
- package/dist/security/bash-parser.d.ts +51 -0
- package/dist/security/bash-parser.js +327 -0
- package/dist/security/bash-parser.js.map +1 -0
- package/dist/security/index.d.ts +7 -5
- package/dist/security/index.js +8 -7
- package/dist/security/index.js.map +1 -1
- package/dist/security/skill-scanner.d.ts +36 -0
- package/dist/security/skill-scanner.js +149 -0
- package/dist/security/skill-scanner.js.map +1 -0
- package/dist/security/trust-folders.d.ts +1 -0
- package/dist/security/trust-folders.js +19 -1
- package/dist/security/trust-folders.js.map +1 -1
- package/dist/server/auth/index.d.ts +2 -2
- package/dist/server/auth/index.js +2 -2
- package/dist/server/auth/index.js.map +1 -1
- package/dist/server/middleware/index.d.ts +5 -5
- package/dist/server/middleware/index.js +5 -5
- package/dist/server/middleware/index.js.map +1 -1
- package/dist/server/middleware/rate-limit.js +15 -3
- package/dist/server/middleware/rate-limit.js.map +1 -1
- package/dist/server/websocket/handler.js +54 -6
- package/dist/server/websocket/handler.js.map +1 -1
- package/dist/skills/eligibility.js +26 -4
- package/dist/skills/eligibility.js.map +1 -1
- package/dist/tasks/background-tasks.js +5 -1
- package/dist/tasks/background-tasks.js.map +1 -1
- package/dist/tools/apply-patch.d.ts +55 -0
- package/dist/tools/apply-patch.js +273 -0
- package/dist/tools/apply-patch.js.map +1 -0
- package/dist/tools/hooks/default-hooks.d.ts +1 -1
- package/dist/tools/hooks/default-hooks.js +2 -1
- package/dist/tools/hooks/default-hooks.js.map +1 -1
- package/dist/tools/index.d.ts +10 -10
- package/dist/tools/index.js +11 -11
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/registry/bash-tools.js +6 -3
- package/dist/tools/registry/bash-tools.js.map +1 -1
- package/dist/tools/registry/misc-tools.js +1 -2
- package/dist/tools/registry/misc-tools.js.map +1 -1
- package/dist/tools/registry/search-tools.js +1 -1
- package/dist/tools/registry/search-tools.js.map +1 -1
- package/dist/tools/registry/text-editor-tools.js +1 -1
- package/dist/tools/registry/text-editor-tools.js.map +1 -1
- package/dist/tools/registry/todo-tools.js +37 -5
- package/dist/tools/registry/todo-tools.js.map +1 -1
- package/dist/tools/registry/tool-registry.js +5 -4
- package/dist/tools/registry/tool-registry.js.map +1 -1
- package/dist/tools/registry/web-tools.d.ts +1 -1
- package/dist/tools/registry/web-tools.js +28 -8
- package/dist/tools/registry/web-tools.js.map +1 -1
- package/dist/tools/text-editor.d.ts +1 -1
- package/dist/tools/text-editor.js +23 -5
- package/dist/tools/text-editor.js.map +1 -1
- package/dist/tools/web-search.d.ts +52 -37
- package/dist/tools/web-search.js +368 -163
- package/dist/tools/web-search.js.map +1 -1
- package/dist/types/errors.d.ts +1 -1
- package/dist/types/errors.js +2 -8
- package/dist/types/errors.js.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.js +1 -2
- package/dist/types/index.js.map +1 -1
- package/dist/ui/components/ChatInterface.d.ts +1 -1
- package/dist/ui/index.d.ts +17 -21
- package/dist/ui/index.js +25 -22
- package/dist/ui/index.js.map +1 -1
- package/dist/utils/config-validation/schema.d.ts +15 -15
- package/dist/utils/head-tail-truncation.d.ts +34 -0
- package/dist/utils/head-tail-truncation.js +98 -0
- package/dist/utils/head-tail-truncation.js.map +1 -0
- package/dist/utils/logger.js +3 -9
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/sanitize.d.ts +5 -0
- package/dist/utils/sanitize.js +19 -0
- package/dist/utils/sanitize.js.map +1 -1
- package/dist/utils/settings-manager.js +4 -4
- package/dist/utils/settings-manager.js.map +1 -1
- package/dist/workflows/index.d.ts +4 -279
- package/dist/workflows/index.js +8 -822
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/state-manager.d.ts +77 -0
- package/dist/workflows/state-manager.js +198 -0
- package/dist/workflows/state-manager.js.map +1 -0
- package/dist/workflows/step-manager.d.ts +39 -0
- package/dist/workflows/step-manager.js +196 -0
- package/dist/workflows/step-manager.js.map +1 -0
- package/dist/workflows/types.d.ts +87 -0
- package/dist/workflows/types.js +5 -0
- package/dist/workflows/types.js.map +1 -0
- package/dist/workflows/workflow-engine.d.ts +34 -0
- package/dist/workflows/workflow-engine.js +354 -0
- package/dist/workflows/workflow-engine.js.map +1 -0
- package/package.json +5 -1
|
@@ -1,241 +1,269 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Unified Script Types
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Merged from FileCommander Script (FCS) and Buddy Script
|
|
5
|
+
* FCS lexer/parser types as the superset, plus Buddy Script runtime types
|
|
6
|
+
*
|
|
7
|
+
* Extensions: .bs (primary), .fcs (backward-compatible alias)
|
|
6
8
|
*/
|
|
7
9
|
export declare enum TokenType {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
RBRACKET = "RBRACKET",
|
|
55
|
-
COMMA = "COMMA",
|
|
56
|
-
DOT = "DOT",
|
|
57
|
-
COLON = "COLON",
|
|
58
|
-
SEMICOLON = "SEMICOLON",
|
|
59
|
-
ARROW = "ARROW",
|
|
60
|
-
QUESTION = "QUESTION",
|
|
61
|
-
COMMENT = "COMMENT",
|
|
62
|
-
NEWLINE = "NEWLINE",
|
|
63
|
-
EOF = "EOF"
|
|
10
|
+
Number = "Number",
|
|
11
|
+
String = "String",
|
|
12
|
+
Boolean = "Boolean",
|
|
13
|
+
Null = "Null",
|
|
14
|
+
Regex = "Regex",
|
|
15
|
+
Identifier = "Identifier",
|
|
16
|
+
Keyword = "Keyword",
|
|
17
|
+
Plus = "Plus",// +
|
|
18
|
+
Minus = "Minus",// -
|
|
19
|
+
Multiply = "Multiply",// *
|
|
20
|
+
Divide = "Divide",// /
|
|
21
|
+
Modulo = "Modulo",// %
|
|
22
|
+
Power = "Power",// **
|
|
23
|
+
Equal = "Equal",// ==
|
|
24
|
+
NotEqual = "NotEqual",// !=
|
|
25
|
+
Less = "Less",// <
|
|
26
|
+
Greater = "Greater",// >
|
|
27
|
+
LessEqual = "LessEqual",// <=
|
|
28
|
+
GreaterEqual = "GreaterEqual",// >=
|
|
29
|
+
And = "And",// &&
|
|
30
|
+
Or = "Or",// ||
|
|
31
|
+
Not = "Not",// !
|
|
32
|
+
Assign = "Assign",// =
|
|
33
|
+
PlusAssign = "PlusAssign",// +=
|
|
34
|
+
MinusAssign = "MinusAssign",// -=
|
|
35
|
+
MultiplyAssign = "MultiplyAssign",// *=
|
|
36
|
+
DivideAssign = "DivideAssign",// /=
|
|
37
|
+
LeftParen = "LeftParen",// (
|
|
38
|
+
RightParen = "RightParen",// )
|
|
39
|
+
LeftBrace = "LeftBrace",// {
|
|
40
|
+
RightBrace = "RightBrace",// }
|
|
41
|
+
LeftBracket = "LeftBracket",// [
|
|
42
|
+
RightBracket = "RightBracket",// ]
|
|
43
|
+
Semicolon = "Semicolon",// ;
|
|
44
|
+
Comma = "Comma",// ,
|
|
45
|
+
Dot = "Dot",// .
|
|
46
|
+
Colon = "Colon",// :
|
|
47
|
+
Question = "Question",// ? (from Buddy Script - separate from Colon)
|
|
48
|
+
Arrow = "Arrow",// =>
|
|
49
|
+
Pipeline = "Pipeline",// |>
|
|
50
|
+
Comment = "Comment",
|
|
51
|
+
Newline = "Newline",
|
|
52
|
+
Indent = "Indent",
|
|
53
|
+
Dedent = "Dedent",
|
|
54
|
+
EOF = "EOF",
|
|
55
|
+
Decorator = "Decorator"
|
|
64
56
|
}
|
|
65
57
|
export interface Token {
|
|
66
58
|
type: TokenType;
|
|
67
|
-
value: string
|
|
59
|
+
value: string;
|
|
68
60
|
line: number;
|
|
69
61
|
column: number;
|
|
62
|
+
position: number;
|
|
63
|
+
length: number;
|
|
64
|
+
}
|
|
65
|
+
export declare const FCS_KEYWORDS: Set<string>;
|
|
66
|
+
export interface AstNode {
|
|
67
|
+
type: string;
|
|
68
|
+
line?: number;
|
|
69
|
+
column?: number;
|
|
70
70
|
}
|
|
71
|
-
export
|
|
72
|
-
export interface ProgramNode {
|
|
71
|
+
export interface Program extends AstNode {
|
|
73
72
|
type: 'Program';
|
|
74
|
-
|
|
73
|
+
statements: AstNode[];
|
|
74
|
+
/** @deprecated Use statements instead */
|
|
75
|
+
body?: AstNode[];
|
|
76
|
+
}
|
|
77
|
+
export interface LiteralExpr extends AstNode {
|
|
78
|
+
type: 'Literal';
|
|
79
|
+
value: unknown;
|
|
80
|
+
tokenType: TokenType;
|
|
81
|
+
}
|
|
82
|
+
export interface IdentifierExpr extends AstNode {
|
|
83
|
+
type: 'Identifier';
|
|
84
|
+
name: string;
|
|
85
|
+
}
|
|
86
|
+
export interface BinaryExpr extends AstNode {
|
|
87
|
+
type: 'Binary';
|
|
88
|
+
left: AstNode;
|
|
89
|
+
operator: TokenType;
|
|
90
|
+
right: AstNode;
|
|
91
|
+
}
|
|
92
|
+
export interface UnaryExpr extends AstNode {
|
|
93
|
+
type: 'Unary';
|
|
94
|
+
operator: TokenType;
|
|
95
|
+
operand: AstNode;
|
|
96
|
+
}
|
|
97
|
+
export interface AssignmentExpr extends AstNode {
|
|
98
|
+
type: 'Assignment';
|
|
99
|
+
target: AstNode;
|
|
100
|
+
operator: TokenType;
|
|
101
|
+
value: AstNode;
|
|
102
|
+
}
|
|
103
|
+
export interface CallExpr extends AstNode {
|
|
104
|
+
type: 'Call';
|
|
105
|
+
callee: AstNode;
|
|
106
|
+
arguments: AstNode[];
|
|
107
|
+
namedArgs?: Record<string, AstNode>;
|
|
108
|
+
}
|
|
109
|
+
export interface MemberExpr extends AstNode {
|
|
110
|
+
type: 'Member';
|
|
111
|
+
object: AstNode;
|
|
112
|
+
member: string;
|
|
113
|
+
computed: boolean;
|
|
75
114
|
}
|
|
76
|
-
export
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
115
|
+
export interface IndexExpr extends AstNode {
|
|
116
|
+
type: 'Index';
|
|
117
|
+
object: AstNode;
|
|
118
|
+
index: AstNode;
|
|
119
|
+
}
|
|
120
|
+
export interface ArrayExpr extends AstNode {
|
|
121
|
+
type: 'Array';
|
|
122
|
+
elements: AstNode[];
|
|
123
|
+
}
|
|
124
|
+
export interface DictExpr extends AstNode {
|
|
125
|
+
type: 'Dict';
|
|
126
|
+
elements: Map<string, AstNode>;
|
|
127
|
+
}
|
|
128
|
+
export interface LambdaExpr extends AstNode {
|
|
129
|
+
type: 'Lambda';
|
|
130
|
+
parameters: string[];
|
|
131
|
+
body: AstNode;
|
|
132
|
+
}
|
|
133
|
+
export interface InterpolationExpr extends AstNode {
|
|
134
|
+
type: 'Interpolation';
|
|
135
|
+
parts: AstNode[];
|
|
136
|
+
}
|
|
137
|
+
export interface PipelineExpr extends AstNode {
|
|
138
|
+
type: 'Pipeline';
|
|
139
|
+
left: AstNode;
|
|
140
|
+
right: AstNode;
|
|
141
|
+
}
|
|
142
|
+
export interface TernaryExpr extends AstNode {
|
|
143
|
+
type: 'Ternary';
|
|
144
|
+
condition: AstNode;
|
|
145
|
+
consequent: AstNode;
|
|
146
|
+
alternate: AstNode;
|
|
147
|
+
}
|
|
148
|
+
export interface AwaitExpr extends AstNode {
|
|
149
|
+
type: 'Await';
|
|
150
|
+
argument: AstNode;
|
|
151
|
+
}
|
|
152
|
+
export interface BlockStmt extends AstNode {
|
|
153
|
+
type: 'Block';
|
|
154
|
+
statements: AstNode[];
|
|
155
|
+
}
|
|
156
|
+
export interface ExpressionStmt extends AstNode {
|
|
157
|
+
type: 'ExpressionStmt';
|
|
158
|
+
expression: AstNode;
|
|
159
|
+
}
|
|
160
|
+
export interface VarDeclaration extends AstNode {
|
|
161
|
+
type: 'VarDeclaration';
|
|
80
162
|
name: string;
|
|
81
|
-
|
|
163
|
+
initializer: AstNode | null;
|
|
164
|
+
isConst: boolean;
|
|
165
|
+
varType?: string;
|
|
82
166
|
}
|
|
83
|
-
export interface FunctionDeclaration {
|
|
167
|
+
export interface FunctionDeclaration extends AstNode {
|
|
84
168
|
type: 'FunctionDeclaration';
|
|
85
169
|
name: string;
|
|
86
|
-
|
|
87
|
-
body:
|
|
88
|
-
|
|
170
|
+
parameters: Parameter[];
|
|
171
|
+
body: BlockStmt;
|
|
172
|
+
isAsync: boolean;
|
|
173
|
+
returnType?: string;
|
|
89
174
|
}
|
|
90
|
-
export interface
|
|
175
|
+
export interface Parameter {
|
|
91
176
|
name: string;
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
body: BlockStatement;
|
|
115
|
-
}
|
|
116
|
-
export interface ForInStatement {
|
|
117
|
-
type: 'ForInStatement';
|
|
177
|
+
type?: string;
|
|
178
|
+
defaultValue?: AstNode;
|
|
179
|
+
}
|
|
180
|
+
export interface ClassDeclaration extends AstNode {
|
|
181
|
+
type: 'ClassDeclaration';
|
|
182
|
+
name: string;
|
|
183
|
+
baseClass?: string;
|
|
184
|
+
members: AstNode[];
|
|
185
|
+
}
|
|
186
|
+
export interface IfStmt extends AstNode {
|
|
187
|
+
type: 'If';
|
|
188
|
+
condition: AstNode;
|
|
189
|
+
thenBranch: AstNode;
|
|
190
|
+
elseBranch: AstNode | null;
|
|
191
|
+
}
|
|
192
|
+
export interface WhileStmt extends AstNode {
|
|
193
|
+
type: 'While';
|
|
194
|
+
condition: AstNode;
|
|
195
|
+
body: AstNode;
|
|
196
|
+
}
|
|
197
|
+
export interface ForStmt extends AstNode {
|
|
198
|
+
type: 'For';
|
|
118
199
|
variable: string;
|
|
119
|
-
iterable:
|
|
120
|
-
body:
|
|
200
|
+
iterable: AstNode;
|
|
201
|
+
body: AstNode;
|
|
202
|
+
}
|
|
203
|
+
export interface ForCStyleStmt extends AstNode {
|
|
204
|
+
type: 'ForCStyle';
|
|
205
|
+
init: AstNode | null;
|
|
206
|
+
test: AstNode | null;
|
|
207
|
+
update: AstNode | null;
|
|
208
|
+
body: AstNode;
|
|
121
209
|
}
|
|
122
|
-
export interface
|
|
123
|
-
type: '
|
|
124
|
-
|
|
210
|
+
export interface ReturnStmt extends AstNode {
|
|
211
|
+
type: 'Return';
|
|
212
|
+
value: AstNode | null;
|
|
125
213
|
}
|
|
126
|
-
export interface
|
|
127
|
-
type: '
|
|
214
|
+
export interface BreakStmt extends AstNode {
|
|
215
|
+
type: 'Break';
|
|
128
216
|
}
|
|
129
|
-
export interface
|
|
130
|
-
type: '
|
|
217
|
+
export interface ContinueStmt extends AstNode {
|
|
218
|
+
type: 'Continue';
|
|
131
219
|
}
|
|
132
|
-
export interface
|
|
133
|
-
type: '
|
|
134
|
-
|
|
135
|
-
|
|
220
|
+
export interface TryStmt extends AstNode {
|
|
221
|
+
type: 'Try';
|
|
222
|
+
tryBlock: BlockStmt;
|
|
223
|
+
catchClauses: CatchClause[];
|
|
224
|
+
finallyBlock: BlockStmt | null;
|
|
136
225
|
}
|
|
137
226
|
export interface CatchClause {
|
|
138
|
-
|
|
139
|
-
|
|
227
|
+
variable?: string;
|
|
228
|
+
type?: string;
|
|
229
|
+
body: BlockStmt;
|
|
140
230
|
}
|
|
141
|
-
export interface
|
|
142
|
-
type: '
|
|
143
|
-
|
|
231
|
+
export interface ThrowStmt extends AstNode {
|
|
232
|
+
type: 'Throw';
|
|
233
|
+
expression: AstNode;
|
|
144
234
|
}
|
|
145
|
-
export interface
|
|
146
|
-
type: '
|
|
235
|
+
export interface ImportStmt extends AstNode {
|
|
236
|
+
type: 'Import';
|
|
147
237
|
module: string;
|
|
238
|
+
names: string[];
|
|
148
239
|
alias?: string;
|
|
149
240
|
}
|
|
150
|
-
export interface
|
|
151
|
-
type: '
|
|
152
|
-
|
|
241
|
+
export interface ExportStmt extends AstNode {
|
|
242
|
+
type: 'Export';
|
|
243
|
+
declaration: AstNode;
|
|
153
244
|
}
|
|
154
|
-
export
|
|
155
|
-
|
|
156
|
-
type: 'Literal';
|
|
157
|
-
value: string | number | boolean | null;
|
|
158
|
-
}
|
|
159
|
-
export interface Identifier {
|
|
160
|
-
type: 'Identifier';
|
|
245
|
+
export interface TestDeclaration extends AstNode {
|
|
246
|
+
type: 'TestDeclaration';
|
|
161
247
|
name: string;
|
|
248
|
+
body: BlockStmt;
|
|
249
|
+
tags: string[];
|
|
162
250
|
}
|
|
163
|
-
export interface
|
|
164
|
-
type: '
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
right: ExpressionNode;
|
|
168
|
-
}
|
|
169
|
-
export interface UnaryExpression {
|
|
170
|
-
type: 'UnaryExpression';
|
|
171
|
-
operator: string;
|
|
172
|
-
argument: ExpressionNode;
|
|
173
|
-
prefix: boolean;
|
|
174
|
-
}
|
|
175
|
-
export interface LogicalExpression {
|
|
176
|
-
type: 'LogicalExpression';
|
|
177
|
-
operator: '&&' | '||';
|
|
178
|
-
left: ExpressionNode;
|
|
179
|
-
right: ExpressionNode;
|
|
180
|
-
}
|
|
181
|
-
export interface AssignmentExpression {
|
|
182
|
-
type: 'AssignmentExpression';
|
|
183
|
-
operator: string;
|
|
184
|
-
left: Identifier | MemberExpression;
|
|
185
|
-
right: ExpressionNode;
|
|
186
|
-
}
|
|
187
|
-
export interface CallExpression {
|
|
188
|
-
type: 'CallExpression';
|
|
189
|
-
callee: ExpressionNode;
|
|
190
|
-
arguments: ExpressionNode[];
|
|
191
|
-
}
|
|
192
|
-
export interface MemberExpression {
|
|
193
|
-
type: 'MemberExpression';
|
|
194
|
-
object: ExpressionNode;
|
|
195
|
-
property: ExpressionNode;
|
|
196
|
-
computed: boolean;
|
|
197
|
-
}
|
|
198
|
-
export interface ArrayExpression {
|
|
199
|
-
type: 'ArrayExpression';
|
|
200
|
-
elements: ExpressionNode[];
|
|
201
|
-
}
|
|
202
|
-
export interface ObjectExpression {
|
|
203
|
-
type: 'ObjectExpression';
|
|
204
|
-
properties: PropertyNode[];
|
|
205
|
-
}
|
|
206
|
-
export interface PropertyNode {
|
|
207
|
-
key: string | ExpressionNode;
|
|
208
|
-
value: ExpressionNode;
|
|
209
|
-
computed: boolean;
|
|
210
|
-
}
|
|
211
|
-
export interface ConditionalExpression {
|
|
212
|
-
type: 'ConditionalExpression';
|
|
213
|
-
test: ExpressionNode;
|
|
214
|
-
consequent: ExpressionNode;
|
|
215
|
-
alternate: ExpressionNode;
|
|
216
|
-
}
|
|
217
|
-
export interface ArrowFunction {
|
|
218
|
-
type: 'ArrowFunction';
|
|
219
|
-
params: ParameterNode[];
|
|
220
|
-
body: ExpressionNode | BlockStatement;
|
|
221
|
-
async: boolean;
|
|
222
|
-
}
|
|
223
|
-
export interface AwaitExpression {
|
|
224
|
-
type: 'AwaitExpression';
|
|
225
|
-
argument: ExpressionNode;
|
|
251
|
+
export interface AssertStmt extends AstNode {
|
|
252
|
+
type: 'Assert';
|
|
253
|
+
condition: AstNode;
|
|
254
|
+
message?: string;
|
|
226
255
|
}
|
|
227
|
-
export interface
|
|
228
|
-
type: '
|
|
229
|
-
|
|
256
|
+
export interface EditorCommand extends AstNode {
|
|
257
|
+
type: 'EditorCommand';
|
|
258
|
+
command: string;
|
|
259
|
+
arguments: AstNode[];
|
|
230
260
|
}
|
|
231
261
|
/**
|
|
232
|
-
* Primitive types that can be stored in
|
|
262
|
+
* Primitive types that can be stored in script variables
|
|
233
263
|
*/
|
|
234
264
|
export type CodeBuddyPrimitive = string | number | boolean | null | undefined;
|
|
235
265
|
/**
|
|
236
266
|
* Function type for the scripting runtime.
|
|
237
|
-
* Note: Uses flexible typing to support dynamic scripting scenarios.
|
|
238
|
-
* Implementations should validate arguments at runtime.
|
|
239
267
|
*/
|
|
240
268
|
export type CodeBuddyFunction = (...args: CodeBuddyValue[]) => CodeBuddyValue | Promise<CodeBuddyValue> | any;
|
|
241
269
|
/**
|
|
@@ -250,7 +278,6 @@ export type CodeBuddyObject = {
|
|
|
250
278
|
export type CodeBuddyArray = CodeBuddyValue[];
|
|
251
279
|
/**
|
|
252
280
|
* Dynamic value type for the scripting runtime.
|
|
253
|
-
* Uses a union of known types for better type safety.
|
|
254
281
|
*/
|
|
255
282
|
export type CodeBuddyValue = CodeBuddyPrimitive | CodeBuddyFunction | CodeBuddyObject | CodeBuddyArray | any;
|
|
256
283
|
/**
|
|
@@ -268,6 +295,11 @@ export interface ScriptResult {
|
|
|
268
295
|
error?: string;
|
|
269
296
|
returnValue?: CodeBuddyValue;
|
|
270
297
|
duration: number;
|
|
298
|
+
testResults?: {
|
|
299
|
+
name: string;
|
|
300
|
+
passed: boolean;
|
|
301
|
+
error?: string;
|
|
302
|
+
}[];
|
|
271
303
|
}
|
|
272
304
|
/** Interface for AI agent used by scripts */
|
|
273
305
|
export interface ScriptAgentInterface {
|
|
@@ -296,3 +328,69 @@ export interface CodeBuddyScriptConfig {
|
|
|
296
328
|
agent?: ScriptAgentInterface;
|
|
297
329
|
}
|
|
298
330
|
export declare const DEFAULT_SCRIPT_CONFIG: CodeBuddyScriptConfig;
|
|
331
|
+
/** @deprecated Use CodeBuddyScriptConfig instead */
|
|
332
|
+
export type FCSConfig = CodeBuddyScriptConfig;
|
|
333
|
+
/** @deprecated Use CodeBuddyValue instead */
|
|
334
|
+
export type FCSValue = CodeBuddyValue;
|
|
335
|
+
/** @deprecated Use CodeBuddyFunction instead */
|
|
336
|
+
export type FCSFunction = CodeBuddyFunction;
|
|
337
|
+
/** @deprecated Use CodeBuddyPrimitive instead */
|
|
338
|
+
export type FCSPrimitive = CodeBuddyPrimitive;
|
|
339
|
+
/** @deprecated Use CodeBuddyObject instead */
|
|
340
|
+
export type FCSObject = CodeBuddyObject;
|
|
341
|
+
/** @deprecated Use CodeBuddyArray instead */
|
|
342
|
+
export type FCSArray = CodeBuddyArray;
|
|
343
|
+
/** @deprecated Use RuntimeContext instead */
|
|
344
|
+
export type FCSContext = RuntimeContext;
|
|
345
|
+
/** @deprecated Use ScriptResult instead */
|
|
346
|
+
export type FCSResult = ScriptResult;
|
|
347
|
+
/** @deprecated Use DEFAULT_SCRIPT_CONFIG instead */
|
|
348
|
+
export declare const DEFAULT_FCS_CONFIG: CodeBuddyScriptConfig;
|
|
349
|
+
/** @deprecated Use Program instead */
|
|
350
|
+
export type ProgramNode = Program;
|
|
351
|
+
/** @deprecated Use BlockStmt instead */
|
|
352
|
+
export type BlockStatement = BlockStmt;
|
|
353
|
+
/** @deprecated Use VarDeclaration instead */
|
|
354
|
+
export type VariableDeclaration = VarDeclaration;
|
|
355
|
+
/** @deprecated Use IfStmt instead */
|
|
356
|
+
export type IfStatement = IfStmt;
|
|
357
|
+
/** @deprecated Use WhileStmt instead */
|
|
358
|
+
export type WhileStatement = WhileStmt;
|
|
359
|
+
/** @deprecated Use ForStmt instead */
|
|
360
|
+
export type ForStatement = ForStmt;
|
|
361
|
+
/** @deprecated Use ForStmt instead */
|
|
362
|
+
export type ForInStatement = ForStmt;
|
|
363
|
+
/** @deprecated Use ReturnStmt instead */
|
|
364
|
+
export type ReturnStatement = ReturnStmt;
|
|
365
|
+
/** @deprecated Use TryStmt instead */
|
|
366
|
+
export type TryStatement = TryStmt;
|
|
367
|
+
/** @deprecated Use ThrowStmt instead */
|
|
368
|
+
export type ThrowStatement = ThrowStmt;
|
|
369
|
+
/** @deprecated Use ExpressionStmt instead */
|
|
370
|
+
export type ExpressionStatement = ExpressionStmt;
|
|
371
|
+
/** @deprecated Use LiteralExpr instead */
|
|
372
|
+
export type Literal = LiteralExpr;
|
|
373
|
+
/** @deprecated Use IdentifierExpr instead */
|
|
374
|
+
export type Identifier = IdentifierExpr;
|
|
375
|
+
/** @deprecated Use BinaryExpr instead */
|
|
376
|
+
export type BinaryExpression = BinaryExpr;
|
|
377
|
+
/** @deprecated Use UnaryExpr instead */
|
|
378
|
+
export type UnaryExpression = UnaryExpr;
|
|
379
|
+
/** @deprecated Use AssignmentExpr instead */
|
|
380
|
+
export type AssignmentExpression = AssignmentExpr;
|
|
381
|
+
/** @deprecated Use CallExpr instead */
|
|
382
|
+
export type CallExpression = CallExpr;
|
|
383
|
+
/** @deprecated Use MemberExpr instead */
|
|
384
|
+
export type MemberExpression = MemberExpr;
|
|
385
|
+
/** @deprecated Use ArrayExpr instead */
|
|
386
|
+
export type ArrayExpression = ArrayExpr;
|
|
387
|
+
/** @deprecated Use DictExpr instead */
|
|
388
|
+
export type ObjectExpression = DictExpr;
|
|
389
|
+
/** @deprecated Use TernaryExpr instead */
|
|
390
|
+
export type ConditionalExpression = TernaryExpr;
|
|
391
|
+
/** @deprecated Use LambdaExpr instead */
|
|
392
|
+
export type ArrowFunction = LambdaExpr;
|
|
393
|
+
/** @deprecated Use AssignmentExpr instead */
|
|
394
|
+
export type LogicalExpression = AssignmentExpr;
|
|
395
|
+
/** @deprecated Use AwaitExpr instead */
|
|
396
|
+
export type AwaitExpression = AwaitExpr;
|