@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.
Files changed (206) hide show
  1. package/.codebuddy/skills/bundled/brave-search/SKILL.md +490 -0
  2. package/.codebuddy/skills/bundled/exa-search/SKILL.md +1122 -0
  3. package/.codebuddy/skills/bundled/perplexity/SKILL.md +748 -0
  4. package/.codebuddy/skills/bundled/playwright/SKILL.md +520 -0
  5. package/.codebuddy/skills/bundled/puppeteer/SKILL.md +708 -0
  6. package/.codebuddy/skills/bundled/web-fetch/SKILL.md +1003 -0
  7. package/README.md +56 -0
  8. package/dist/agent/agent-state.d.ts +3 -3
  9. package/dist/agent/agent-state.js +6 -6
  10. package/dist/agent/agent-state.js.map +1 -1
  11. package/dist/agent/base-agent.d.ts +4 -4
  12. package/dist/agent/base-agent.js +22 -9
  13. package/dist/agent/base-agent.js.map +1 -1
  14. package/dist/agent/cache-trace.d.ts +56 -0
  15. package/dist/agent/cache-trace.js +98 -0
  16. package/dist/agent/cache-trace.js.map +1 -0
  17. package/dist/agent/codebuddy-agent.js +3 -2
  18. package/dist/agent/codebuddy-agent.js.map +1 -1
  19. package/dist/agent/execution/agent-executor.d.ts +4 -4
  20. package/dist/agent/execution/agent-executor.js +41 -7
  21. package/dist/agent/execution/agent-executor.js.map +1 -1
  22. package/dist/agent/facades/agent-context-facade.js +1 -3
  23. package/dist/agent/facades/agent-context-facade.js.map +1 -1
  24. package/dist/agent/facades/message-history-manager.js +14 -12
  25. package/dist/agent/facades/message-history-manager.js.map +1 -1
  26. package/dist/agent/facades/session-facade.d.ts +3 -3
  27. package/dist/agent/facades/session-facade.js +6 -6
  28. package/dist/agent/facades/session-facade.js.map +1 -1
  29. package/dist/agent/history-repair.d.ts +37 -0
  30. package/dist/agent/history-repair.js +124 -0
  31. package/dist/agent/history-repair.js.map +1 -0
  32. package/dist/agent/specialized/archive-agent.d.ts +3 -0
  33. package/dist/agent/specialized/archive-agent.js +71 -31
  34. package/dist/agent/specialized/archive-agent.js.map +1 -1
  35. package/dist/agent/specialized/security-review/agent.js +19 -8
  36. package/dist/agent/specialized/security-review/agent.js.map +1 -1
  37. package/dist/agent/tool-executor.js +5 -0
  38. package/dist/agent/tool-executor.js.map +1 -1
  39. package/dist/agent/turn-diff-tracker.d.ts +79 -0
  40. package/dist/agent/turn-diff-tracker.js +195 -0
  41. package/dist/agent/turn-diff-tracker.js.map +1 -0
  42. package/dist/checkpoints/checkpoint-versioning.js +78 -20
  43. package/dist/checkpoints/checkpoint-versioning.js.map +1 -1
  44. package/dist/cli/config-loader.js +2 -4
  45. package/dist/cli/config-loader.js.map +1 -1
  46. package/dist/commands/handlers/fcs-handlers.js +1 -1
  47. package/dist/commands/handlers/fcs-handlers.js.map +1 -1
  48. package/dist/commands/handlers/memory-handlers.js +2 -1
  49. package/dist/commands/handlers/memory-handlers.js.map +1 -1
  50. package/dist/commands/handlers/worktree-handlers.js +11 -0
  51. package/dist/commands/handlers/worktree-handlers.js.map +1 -1
  52. package/dist/commands/mcp.d.ts +1 -0
  53. package/dist/commands/mcp.js +66 -7
  54. package/dist/commands/mcp.js.map +1 -1
  55. package/dist/commands/pipeline.js +25 -13
  56. package/dist/commands/pipeline.js.map +1 -1
  57. package/dist/config/model-tools.d.ts +41 -0
  58. package/dist/config/model-tools.js +194 -0
  59. package/dist/config/model-tools.js.map +1 -0
  60. package/dist/context/context-manager-v2.d.ts +2 -1
  61. package/dist/context/context-manager-v2.js +34 -5
  62. package/dist/context/context-manager-v2.js.map +1 -1
  63. package/dist/daemon/daemon-manager.js +23 -19
  64. package/dist/daemon/daemon-manager.js.map +1 -1
  65. package/dist/database/database-manager.d.ts +4 -0
  66. package/dist/database/database-manager.js +16 -7
  67. package/dist/database/database-manager.js.map +1 -1
  68. package/dist/desktop-automation/nutjs-provider.js +89 -0
  69. package/dist/desktop-automation/nutjs-provider.js.map +1 -1
  70. package/dist/fcs/builtins.d.ts +2 -6
  71. package/dist/fcs/builtins.js +2 -568
  72. package/dist/fcs/builtins.js.map +1 -1
  73. package/dist/fcs/codebuddy-bindings.d.ts +3 -43
  74. package/dist/fcs/codebuddy-bindings.js +2 -606
  75. package/dist/fcs/codebuddy-bindings.js.map +1 -1
  76. package/dist/fcs/index.d.ts +2 -27
  77. package/dist/fcs/index.js +2 -53
  78. package/dist/fcs/index.js.map +1 -1
  79. package/dist/fcs/lexer.d.ts +2 -37
  80. package/dist/fcs/lexer.js +2 -459
  81. package/dist/fcs/lexer.js.map +1 -1
  82. package/dist/fcs/parser.d.ts +2 -68
  83. package/dist/fcs/parser.js +2 -893
  84. package/dist/fcs/parser.js.map +1 -1
  85. package/dist/fcs/runtime.d.ts +2 -59
  86. package/dist/fcs/runtime.js +2 -623
  87. package/dist/fcs/runtime.js.map +1 -1
  88. package/dist/fcs/script-registry.d.ts +3 -69
  89. package/dist/fcs/script-registry.js +2 -219
  90. package/dist/fcs/script-registry.js.map +1 -1
  91. package/dist/fcs/sync-bindings.d.ts +3 -101
  92. package/dist/fcs/sync-bindings.js +2 -410
  93. package/dist/fcs/sync-bindings.js.map +1 -1
  94. package/dist/fcs/types.d.ts +2 -285
  95. package/dist/fcs/types.js +2 -103
  96. package/dist/fcs/types.js.map +1 -1
  97. package/dist/hooks/use-input-handler.d.ts +1 -1
  98. package/dist/index.js +5 -2
  99. package/dist/index.js.map +1 -1
  100. package/dist/input/voice-control.js +11 -5
  101. package/dist/input/voice-control.js.map +1 -1
  102. package/dist/integrations/json-rpc/server.js +5 -5
  103. package/dist/integrations/json-rpc/server.js.map +1 -1
  104. package/dist/integrations/mcp/mcp-server.js +1 -1
  105. package/dist/integrations/mcp/mcp-server.js.map +1 -1
  106. package/dist/mcp/client.js +2 -1
  107. package/dist/mcp/client.js.map +1 -1
  108. package/dist/mcp/config.js +89 -5
  109. package/dist/mcp/config.js.map +1 -1
  110. package/dist/mcp/mcp-client.js +65 -14
  111. package/dist/mcp/mcp-client.js.map +1 -1
  112. package/dist/mcp/transports.d.ts +0 -1
  113. package/dist/mcp/transports.js +1 -5
  114. package/dist/mcp/transports.js.map +1 -1
  115. package/dist/mcp/types.d.ts +2 -0
  116. package/dist/persistence/session-lock.d.ts +42 -0
  117. package/dist/persistence/session-lock.js +165 -0
  118. package/dist/persistence/session-lock.js.map +1 -0
  119. package/dist/persistence/session-store.d.ts +18 -3
  120. package/dist/persistence/session-store.js +90 -21
  121. package/dist/persistence/session-store.js.map +1 -1
  122. package/dist/plugins/isolated-plugin-runner.d.ts +6 -0
  123. package/dist/plugins/isolated-plugin-runner.js +19 -1
  124. package/dist/plugins/isolated-plugin-runner.js.map +1 -1
  125. package/dist/providers/local-llm-provider.js +21 -4
  126. package/dist/providers/local-llm-provider.js.map +1 -1
  127. package/dist/sandbox/docker-sandbox.js +7 -4
  128. package/dist/sandbox/docker-sandbox.js.map +1 -1
  129. package/dist/scripting/builtins.d.ts +8 -3
  130. package/dist/scripting/builtins.js +506 -355
  131. package/dist/scripting/builtins.js.map +1 -1
  132. package/dist/scripting/codebuddy-bindings.d.ts +47 -0
  133. package/dist/scripting/codebuddy-bindings.js +487 -0
  134. package/dist/scripting/codebuddy-bindings.js.map +1 -0
  135. package/dist/scripting/index.d.ts +33 -30
  136. package/dist/scripting/index.js +41 -36
  137. package/dist/scripting/index.js.map +1 -1
  138. package/dist/scripting/lexer.d.ts +31 -13
  139. package/dist/scripting/lexer.js +379 -292
  140. package/dist/scripting/lexer.js.map +1 -1
  141. package/dist/scripting/parser.d.ts +63 -44
  142. package/dist/scripting/parser.js +700 -473
  143. package/dist/scripting/parser.js.map +1 -1
  144. package/dist/scripting/runtime.d.ts +55 -24
  145. package/dist/scripting/runtime.js +600 -288
  146. package/dist/scripting/runtime.js.map +1 -1
  147. package/dist/scripting/script-registry.d.ts +54 -0
  148. package/dist/scripting/script-registry.js +202 -0
  149. package/dist/scripting/script-registry.js.map +1 -0
  150. package/dist/scripting/sync-bindings.d.ts +105 -0
  151. package/dist/scripting/sync-bindings.js +353 -0
  152. package/dist/scripting/sync-bindings.js.map +1 -0
  153. package/dist/scripting/types.d.ts +297 -199
  154. package/dist/scripting/types.js +86 -60
  155. package/dist/scripting/types.js.map +1 -1
  156. package/dist/search/usearch-index.js +42 -7
  157. package/dist/search/usearch-index.js.map +1 -1
  158. package/dist/security/bash-parser.d.ts +51 -0
  159. package/dist/security/bash-parser.js +327 -0
  160. package/dist/security/bash-parser.js.map +1 -0
  161. package/dist/security/skill-scanner.d.ts +36 -0
  162. package/dist/security/skill-scanner.js +149 -0
  163. package/dist/security/skill-scanner.js.map +1 -0
  164. package/dist/security/trust-folders.d.ts +1 -0
  165. package/dist/security/trust-folders.js +19 -1
  166. package/dist/security/trust-folders.js.map +1 -1
  167. package/dist/server/websocket/handler.js +15 -5
  168. package/dist/server/websocket/handler.js.map +1 -1
  169. package/dist/skills/eligibility.js +26 -4
  170. package/dist/skills/eligibility.js.map +1 -1
  171. package/dist/tasks/background-tasks.js +5 -1
  172. package/dist/tasks/background-tasks.js.map +1 -1
  173. package/dist/tools/apply-patch.d.ts +55 -0
  174. package/dist/tools/apply-patch.js +273 -0
  175. package/dist/tools/apply-patch.js.map +1 -0
  176. package/dist/tools/registry/bash-tools.js +6 -3
  177. package/dist/tools/registry/bash-tools.js.map +1 -1
  178. package/dist/tools/registry/misc-tools.js +1 -2
  179. package/dist/tools/registry/misc-tools.js.map +1 -1
  180. package/dist/tools/registry/search-tools.js +1 -1
  181. package/dist/tools/registry/search-tools.js.map +1 -1
  182. package/dist/tools/registry/text-editor-tools.js +1 -1
  183. package/dist/tools/registry/text-editor-tools.js.map +1 -1
  184. package/dist/tools/registry/todo-tools.js +37 -5
  185. package/dist/tools/registry/todo-tools.js.map +1 -1
  186. package/dist/tools/registry/tool-registry.js +5 -4
  187. package/dist/tools/registry/tool-registry.js.map +1 -1
  188. package/dist/tools/registry/web-tools.d.ts +1 -1
  189. package/dist/tools/registry/web-tools.js +28 -8
  190. package/dist/tools/registry/web-tools.js.map +1 -1
  191. package/dist/tools/text-editor.d.ts +1 -1
  192. package/dist/tools/text-editor.js +23 -5
  193. package/dist/tools/text-editor.js.map +1 -1
  194. package/dist/tools/web-search.d.ts +52 -37
  195. package/dist/tools/web-search.js +368 -163
  196. package/dist/tools/web-search.js.map +1 -1
  197. package/dist/ui/components/ChatInterface.d.ts +1 -1
  198. package/dist/utils/head-tail-truncation.d.ts +34 -0
  199. package/dist/utils/head-tail-truncation.js +98 -0
  200. package/dist/utils/head-tail-truncation.js.map +1 -0
  201. package/dist/utils/sanitize.d.ts +5 -0
  202. package/dist/utils/sanitize.js +19 -0
  203. package/dist/utils/sanitize.js.map +1 -1
  204. package/dist/utils/settings-manager.js +4 -4
  205. package/dist/utils/settings-manager.js.map +1 -1
  206. 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
- * Buddy Script - Scripting Language for code-buddy automation
2
+ * Unified Scripting Module for Code Buddy
3
3
  *
4
- * Inspired by FileCommander Enhanced Script (FCS)
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
- * grok --script myscript.bs
8
+ * buddy --script myscript.bs
8
9
  * /script run myscript.bs
9
10
  * /script new myscript.bs
10
11
  */
11
- import { CodeBuddyScriptConfig, ScriptResult, ProgramNode } from './types.js';
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 a Buddy Script from source code
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 a Buddy Script from a file
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 Buddy Script without executing it
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 Buddy Script AST
38
+ * Format/pretty-print a script AST
34
39
  */
35
- export declare function formatAST(ast: ProgramNode): string;
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;
@@ -1,10 +1,11 @@
1
1
  /**
2
- * Buddy Script - Scripting Language for code-buddy automation
2
+ * Unified Scripting Module for Code Buddy
3
3
  *
4
- * Inspired by FileCommander Enhanced Script (FCS)
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
- * grok --script myscript.bs
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 a Buddy Script from source code
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 a Buddy Script from a file
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 Buddy Script without executing it
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 Buddy Script AST
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":"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"}
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
- * Buddy Script Lexer
2
+ * Unified Script Lexer
3
3
  *
4
- * Tokenizes Buddy Script source code into tokens
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 Lexer {
15
+ export declare class FCSLexer {
8
16
  private source;
9
- private tokens;
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 scanToken;
16
- private string;
17
- private templateLiteral;
18
- private number;
19
- private identifier;
20
- private multiLineComment;
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 isAtEnd;
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[];