@phuetz/code-buddy 0.1.0 → 0.1.1
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 +3 -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 +41 -7
- 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/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/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/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/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/worktree-handlers.js +11 -0
- package/dist/commands/handlers/worktree-handlers.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/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/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/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/use-input-handler.d.ts +1 -1
- package/dist/index.js +5 -2
- 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.js +5 -5
- 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/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/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/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 +21 -4
- 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 +487 -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/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/websocket/handler.js +15 -5
- 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/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/ui/components/ChatInterface.d.ts +1 -1
- 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/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/package.json +3 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codebuddy-bindings.js","sourceRoot":"","sources":["../../src/scripting/codebuddy-bindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +1,43 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Unified Scripting Module for Code Buddy
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Merges FileCommander Script (FCS) and Buddy Script into a single system.
|
|
5
|
+
* Extensions: .bs (primary), .fcs (backward-compatible alias)
|
|
5
6
|
*
|
|
6
7
|
* Usage:
|
|
7
|
-
*
|
|
8
|
+
* buddy --script myscript.bs
|
|
8
9
|
* /script run myscript.bs
|
|
9
10
|
* /script new myscript.bs
|
|
10
11
|
*/
|
|
11
|
-
import { CodeBuddyScriptConfig, ScriptResult,
|
|
12
|
+
import { CodeBuddyScriptConfig, ScriptResult, Program } from './types.js';
|
|
12
13
|
export * from './types.js';
|
|
13
|
-
export { Lexer, tokenize } from './lexer.js';
|
|
14
|
-
export { Parser, parse } from './parser.js';
|
|
15
|
-
export { Runtime } from './runtime.js';
|
|
16
|
-
export { createBuiltins } from './builtins.js';
|
|
14
|
+
export { FCSLexer, Lexer, tokenize } from './lexer.js';
|
|
15
|
+
export { FCSParser, Parser, parse } from './parser.js';
|
|
16
|
+
export { FCSRuntime, Runtime, createRuntime } from './runtime.js';
|
|
17
|
+
export { createBuiltins, createFCSBuiltins } from './builtins.js';
|
|
18
|
+
export { createGrokBindings, setCodeBuddyClient, setMCPManager } from './codebuddy-bindings.js';
|
|
19
|
+
export type { CodeBuddyBindingsConfig } from './codebuddy-bindings.js';
|
|
20
|
+
export { ScriptRegistry, getScriptRegistry, initScriptRegistry, type ScriptTemplate, type ScriptCategory, } from './script-registry.js';
|
|
21
|
+
export { createSyncBindings, getWorkspaceTracker, resetWorkspaceTracker, WorkspaceStateTracker, type WorkspaceSnapshot, type FileState, type SessionContext, type FileDiff, type SyncBindingsConfig, } from './sync-bindings.js';
|
|
17
22
|
/**
|
|
18
|
-
* Execute
|
|
23
|
+
* Execute script from source code
|
|
19
24
|
*/
|
|
20
25
|
export declare function executeScript(source: string, config?: Partial<CodeBuddyScriptConfig>): Promise<ScriptResult>;
|
|
21
26
|
/**
|
|
22
|
-
* Execute
|
|
27
|
+
* Execute script from a file
|
|
23
28
|
*/
|
|
24
29
|
export declare function executeScriptFile(filePath: string, config?: Partial<CodeBuddyScriptConfig>): Promise<ScriptResult>;
|
|
25
30
|
/**
|
|
26
|
-
* Validate a
|
|
31
|
+
* Validate a script without executing it
|
|
27
32
|
*/
|
|
28
33
|
export declare function validateScript(source: string): {
|
|
29
34
|
valid: boolean;
|
|
30
35
|
errors: string[];
|
|
31
36
|
};
|
|
32
37
|
/**
|
|
33
|
-
* Format/pretty-print a
|
|
38
|
+
* Format/pretty-print a script AST
|
|
34
39
|
*/
|
|
35
|
-
export declare function formatAST(ast:
|
|
40
|
+
export declare function formatAST(ast: Program): string;
|
|
36
41
|
/**
|
|
37
42
|
* Create a new script template
|
|
38
43
|
*/
|
|
@@ -42,38 +47,36 @@ export declare function createScriptTemplate(name: string, description?: string)
|
|
|
42
47
|
*/
|
|
43
48
|
export declare function getScriptExtension(): string;
|
|
44
49
|
/**
|
|
45
|
-
* Check if a file is a Buddy Script
|
|
50
|
+
* Check if a file is a Code Buddy Script
|
|
46
51
|
*/
|
|
47
52
|
export declare function isBuddyScript(filePath: string): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Parse source and return AST (for debugging/analysis)
|
|
55
|
+
*/
|
|
56
|
+
export declare function parseScript(source: string): {
|
|
57
|
+
tokens: import("./types.js").Token[];
|
|
58
|
+
ast: Program;
|
|
59
|
+
};
|
|
60
|
+
/** @deprecated Use executeScript instead */
|
|
61
|
+
export declare const executeFCS: typeof executeScript;
|
|
62
|
+
/** @deprecated Use executeScriptFile instead */
|
|
63
|
+
export declare const executeFCSFile: typeof executeScriptFile;
|
|
64
|
+
/** @deprecated Use parseScript instead */
|
|
65
|
+
export declare const parseFCS: typeof parseScript;
|
|
48
66
|
/**
|
|
49
67
|
* Script Manager - singleton for managing scripts
|
|
50
68
|
*/
|
|
51
69
|
declare class CodeBuddyScriptManager {
|
|
52
70
|
private scripts;
|
|
53
71
|
private history;
|
|
54
|
-
|
|
55
|
-
* Load and cache a script
|
|
56
|
-
*/
|
|
57
|
-
load(filePath: string): Promise<ProgramNode>;
|
|
58
|
-
/**
|
|
59
|
-
* Execute a cached or new script
|
|
60
|
-
*/
|
|
72
|
+
load(filePath: string): Promise<Program>;
|
|
61
73
|
execute(filePath: string, config?: Partial<CodeBuddyScriptConfig>): Promise<ScriptResult>;
|
|
62
|
-
/**
|
|
63
|
-
* Clear cached scripts
|
|
64
|
-
*/
|
|
65
74
|
clearCache(): void;
|
|
66
|
-
/**
|
|
67
|
-
* Get execution history
|
|
68
|
-
*/
|
|
69
75
|
getHistory(): Array<{
|
|
70
76
|
script: string;
|
|
71
77
|
result: ScriptResult;
|
|
72
78
|
timestamp: Date;
|
|
73
79
|
}>;
|
|
74
|
-
/**
|
|
75
|
-
* List available scripts in a directory
|
|
76
|
-
*/
|
|
77
80
|
listScripts(dir?: string): string[];
|
|
78
81
|
}
|
|
79
82
|
export declare function getScriptManager(): CodeBuddyScriptManager;
|
package/dist/scripting/index.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Unified Scripting Module for Code Buddy
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Merges FileCommander Script (FCS) and Buddy Script into a single system.
|
|
5
|
+
* Extensions: .bs (primary), .fcs (backward-compatible alias)
|
|
5
6
|
*
|
|
6
7
|
* Usage:
|
|
7
|
-
*
|
|
8
|
+
* buddy --script myscript.bs
|
|
8
9
|
* /script run myscript.bs
|
|
9
10
|
* /script new myscript.bs
|
|
10
11
|
*/
|
|
@@ -14,28 +15,33 @@ import { tokenize } from './lexer.js';
|
|
|
14
15
|
import { parse } from './parser.js';
|
|
15
16
|
import { Runtime } from './runtime.js';
|
|
16
17
|
import { DEFAULT_SCRIPT_CONFIG, } from './types.js';
|
|
18
|
+
// Re-export everything
|
|
17
19
|
export * from './types.js';
|
|
18
|
-
export { Lexer, tokenize } from './lexer.js';
|
|
19
|
-
export { Parser, parse } from './parser.js';
|
|
20
|
-
export { Runtime } from './runtime.js';
|
|
21
|
-
export { createBuiltins } from './builtins.js';
|
|
20
|
+
export { FCSLexer, Lexer, tokenize } from './lexer.js';
|
|
21
|
+
export { FCSParser, Parser, parse } from './parser.js';
|
|
22
|
+
export { FCSRuntime, Runtime, createRuntime } from './runtime.js';
|
|
23
|
+
export { createBuiltins, createFCSBuiltins } from './builtins.js';
|
|
24
|
+
// CodeBuddy Bindings
|
|
25
|
+
export { createGrokBindings, setCodeBuddyClient, setMCPManager } from './codebuddy-bindings.js';
|
|
26
|
+
// Script Registry
|
|
27
|
+
export { ScriptRegistry, getScriptRegistry, initScriptRegistry, } from './script-registry.js';
|
|
28
|
+
// Sync Bindings
|
|
29
|
+
export { createSyncBindings, getWorkspaceTracker, resetWorkspaceTracker, WorkspaceStateTracker, } from './sync-bindings.js';
|
|
22
30
|
/**
|
|
23
|
-
* Execute
|
|
31
|
+
* Execute script from source code
|
|
24
32
|
*/
|
|
25
33
|
export async function executeScript(source, config = {}) {
|
|
26
34
|
const startTime = Date.now();
|
|
27
35
|
try {
|
|
28
|
-
// Tokenize
|
|
29
36
|
const tokens = tokenize(source);
|
|
30
|
-
// Parse
|
|
31
37
|
const ast = parse(tokens);
|
|
32
|
-
// Execute
|
|
33
38
|
const runtime = new Runtime({ ...DEFAULT_SCRIPT_CONFIG, ...config });
|
|
34
39
|
const result = await runtime.execute(ast);
|
|
35
40
|
return {
|
|
36
41
|
success: true,
|
|
37
42
|
output: result.output,
|
|
38
43
|
returnValue: result.returnValue,
|
|
44
|
+
testResults: result.testResults,
|
|
39
45
|
duration: Date.now() - startTime,
|
|
40
46
|
};
|
|
41
47
|
}
|
|
@@ -49,7 +55,7 @@ export async function executeScript(source, config = {}) {
|
|
|
49
55
|
}
|
|
50
56
|
}
|
|
51
57
|
/**
|
|
52
|
-
* Execute
|
|
58
|
+
* Execute script from a file
|
|
53
59
|
*/
|
|
54
60
|
export async function executeScriptFile(filePath, config = {}) {
|
|
55
61
|
const fullPath = path.isAbsolute(filePath)
|
|
@@ -64,7 +70,6 @@ export async function executeScriptFile(filePath, config = {}) {
|
|
|
64
70
|
};
|
|
65
71
|
}
|
|
66
72
|
const source = fs.readFileSync(fullPath, 'utf-8');
|
|
67
|
-
// Set workdir to script's directory if not specified
|
|
68
73
|
const scriptDir = path.dirname(fullPath);
|
|
69
74
|
const mergedConfig = {
|
|
70
75
|
workdir: scriptDir,
|
|
@@ -73,7 +78,7 @@ export async function executeScriptFile(filePath, config = {}) {
|
|
|
73
78
|
return executeScript(source, mergedConfig);
|
|
74
79
|
}
|
|
75
80
|
/**
|
|
76
|
-
* Validate a
|
|
81
|
+
* Validate a script without executing it
|
|
77
82
|
*/
|
|
78
83
|
export function validateScript(source) {
|
|
79
84
|
const errors = [];
|
|
@@ -88,7 +93,7 @@ export function validateScript(source) {
|
|
|
88
93
|
}
|
|
89
94
|
}
|
|
90
95
|
/**
|
|
91
|
-
* Format/pretty-print a
|
|
96
|
+
* Format/pretty-print a script AST
|
|
92
97
|
*/
|
|
93
98
|
export function formatAST(ast) {
|
|
94
99
|
return JSON.stringify(ast, null, 2);
|
|
@@ -100,7 +105,7 @@ export function createScriptTemplate(name, description = '') {
|
|
|
100
105
|
return `#!/usr/bin/env buddy-script
|
|
101
106
|
// ============================================
|
|
102
107
|
// ${name}
|
|
103
|
-
// ${description || 'Buddy Script'}
|
|
108
|
+
// ${description || 'Code Buddy Script'}
|
|
104
109
|
// ============================================
|
|
105
110
|
|
|
106
111
|
// Import code-buddy bindings
|
|
@@ -120,7 +125,7 @@ function main() {
|
|
|
120
125
|
print("")
|
|
121
126
|
|
|
122
127
|
// Your code here
|
|
123
|
-
print("Hello from Buddy Script!")
|
|
128
|
+
print("Hello from Code Buddy Script!")
|
|
124
129
|
|
|
125
130
|
// Example: File operations
|
|
126
131
|
// let content = file.read("README.md")
|
|
@@ -153,21 +158,35 @@ export function getScriptExtension() {
|
|
|
153
158
|
return '.bs';
|
|
154
159
|
}
|
|
155
160
|
/**
|
|
156
|
-
* Check if a file is a Buddy Script
|
|
161
|
+
* Check if a file is a Code Buddy Script
|
|
157
162
|
*/
|
|
158
163
|
export function isBuddyScript(filePath) {
|
|
159
164
|
const ext = path.extname(filePath).toLowerCase();
|
|
160
|
-
return ext === '.bs' || ext === '.codebuddy' || ext === '.codebuddyscript';
|
|
165
|
+
return ext === '.bs' || ext === '.fcs' || ext === '.codebuddy' || ext === '.codebuddyscript';
|
|
161
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
* Parse source and return AST (for debugging/analysis)
|
|
169
|
+
*/
|
|
170
|
+
export function parseScript(source) {
|
|
171
|
+
const tokens = tokenize(source);
|
|
172
|
+
return {
|
|
173
|
+
tokens,
|
|
174
|
+
ast: parse(tokens),
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
// Backward-compatible aliases
|
|
178
|
+
/** @deprecated Use executeScript instead */
|
|
179
|
+
export const executeFCS = executeScript;
|
|
180
|
+
/** @deprecated Use executeScriptFile instead */
|
|
181
|
+
export const executeFCSFile = executeScriptFile;
|
|
182
|
+
/** @deprecated Use parseScript instead */
|
|
183
|
+
export const parseFCS = parseScript;
|
|
162
184
|
/**
|
|
163
185
|
* Script Manager - singleton for managing scripts
|
|
164
186
|
*/
|
|
165
187
|
class CodeBuddyScriptManager {
|
|
166
188
|
scripts = new Map();
|
|
167
189
|
history = [];
|
|
168
|
-
/**
|
|
169
|
-
* Load and cache a script
|
|
170
|
-
*/
|
|
171
190
|
async load(filePath) {
|
|
172
191
|
const fullPath = path.resolve(filePath);
|
|
173
192
|
if (this.scripts.has(fullPath)) {
|
|
@@ -179,9 +198,6 @@ class CodeBuddyScriptManager {
|
|
|
179
198
|
this.scripts.set(fullPath, ast);
|
|
180
199
|
return ast;
|
|
181
200
|
}
|
|
182
|
-
/**
|
|
183
|
-
* Execute a cached or new script
|
|
184
|
-
*/
|
|
185
201
|
async execute(filePath, config = {}) {
|
|
186
202
|
const result = await executeScriptFile(filePath, config);
|
|
187
203
|
this.history.push({
|
|
@@ -189,27 +205,17 @@ class CodeBuddyScriptManager {
|
|
|
189
205
|
result,
|
|
190
206
|
timestamp: new Date(),
|
|
191
207
|
});
|
|
192
|
-
// Keep only last 100 executions
|
|
193
208
|
if (this.history.length > 100) {
|
|
194
209
|
this.history = this.history.slice(-100);
|
|
195
210
|
}
|
|
196
211
|
return result;
|
|
197
212
|
}
|
|
198
|
-
/**
|
|
199
|
-
* Clear cached scripts
|
|
200
|
-
*/
|
|
201
213
|
clearCache() {
|
|
202
214
|
this.scripts.clear();
|
|
203
215
|
}
|
|
204
|
-
/**
|
|
205
|
-
* Get execution history
|
|
206
|
-
*/
|
|
207
216
|
getHistory() {
|
|
208
217
|
return [...this.history];
|
|
209
218
|
}
|
|
210
|
-
/**
|
|
211
|
-
* List available scripts in a directory
|
|
212
|
-
*/
|
|
213
219
|
listScripts(dir = process.cwd()) {
|
|
214
220
|
if (!fs.existsSync(dir))
|
|
215
221
|
return [];
|
|
@@ -218,7 +224,6 @@ class CodeBuddyScriptManager {
|
|
|
218
224
|
.map(f => path.join(dir, f));
|
|
219
225
|
}
|
|
220
226
|
}
|
|
221
|
-
// Singleton instance
|
|
222
227
|
let scriptManager = null;
|
|
223
228
|
export function getScriptManager() {
|
|
224
229
|
if (!scriptManager) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scripting/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scripting/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +1,49 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Unified Script Lexer
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Based on FCS lexer (superset) with Buddy Script additions:
|
|
5
|
+
* - Question token type for ternary (separate from Colon)
|
|
6
|
+
* - Pipeline |> operator
|
|
7
|
+
* - Decorators @
|
|
8
|
+
* - Indent/Dedent tracking
|
|
9
|
+
* - Shebang handling
|
|
10
|
+
* - Template strings, hex/binary/scientific numbers
|
|
11
|
+
*
|
|
12
|
+
* Extensions: .bs (primary), .fcs (backward-compatible alias)
|
|
5
13
|
*/
|
|
6
14
|
import { Token } from './types.js';
|
|
7
|
-
export declare class
|
|
15
|
+
export declare class FCSLexer {
|
|
8
16
|
private source;
|
|
9
|
-
private
|
|
10
|
-
private current;
|
|
17
|
+
private position;
|
|
11
18
|
private line;
|
|
12
19
|
private column;
|
|
20
|
+
private tokens;
|
|
21
|
+
private indentStack;
|
|
13
22
|
constructor(source: string);
|
|
14
23
|
tokenize(): Token[];
|
|
15
|
-
private
|
|
16
|
-
private
|
|
17
|
-
private
|
|
18
|
-
private
|
|
19
|
-
private
|
|
20
|
-
private
|
|
24
|
+
private nextToken;
|
|
25
|
+
private scanString;
|
|
26
|
+
private scanTemplateString;
|
|
27
|
+
private scanNumber;
|
|
28
|
+
private scanIdentifier;
|
|
29
|
+
private scanDecorator;
|
|
30
|
+
private scanLineComment;
|
|
31
|
+
private scanBlockComment;
|
|
32
|
+
private handleNewline;
|
|
33
|
+
private handleIndentation;
|
|
34
|
+
private isAtEnd;
|
|
21
35
|
private advance;
|
|
22
|
-
private match;
|
|
23
36
|
private peek;
|
|
24
37
|
private peekNext;
|
|
25
|
-
private
|
|
38
|
+
private match;
|
|
39
|
+
private skipWhitespaceNotNewline;
|
|
26
40
|
private isDigit;
|
|
27
41
|
private isAlpha;
|
|
28
42
|
private isAlphaNumeric;
|
|
43
|
+
private isHexDigit;
|
|
44
|
+
private createToken;
|
|
29
45
|
private addToken;
|
|
30
46
|
}
|
|
47
|
+
/** @deprecated Use FCSLexer instead */
|
|
48
|
+
export declare const Lexer: typeof FCSLexer;
|
|
31
49
|
export declare function tokenize(source: string): Token[];
|