@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.
Files changed (305) 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 +4 -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 +46 -14
  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/index.d.ts +3 -3
  33. package/dist/agent/index.js +3 -3
  34. package/dist/agent/index.js.map +1 -1
  35. package/dist/agent/isolation/agent-workspace.d.ts +1 -0
  36. package/dist/agent/isolation/agent-workspace.js +10 -0
  37. package/dist/agent/isolation/agent-workspace.js.map +1 -1
  38. package/dist/agent/specialized/archive-agent.d.ts +3 -0
  39. package/dist/agent/specialized/archive-agent.js +71 -31
  40. package/dist/agent/specialized/archive-agent.js.map +1 -1
  41. package/dist/agent/specialized/index.d.ts +9 -8
  42. package/dist/agent/specialized/index.js +16 -8
  43. package/dist/agent/specialized/index.js.map +1 -1
  44. package/dist/agent/specialized/security-review/agent.js +19 -8
  45. package/dist/agent/specialized/security-review/agent.js.map +1 -1
  46. package/dist/agent/tool-executor.js +5 -0
  47. package/dist/agent/tool-executor.js.map +1 -1
  48. package/dist/agent/turn-diff-tracker.d.ts +79 -0
  49. package/dist/agent/turn-diff-tracker.js +195 -0
  50. package/dist/agent/turn-diff-tracker.js.map +1 -0
  51. package/dist/browser/controller.js +8 -4
  52. package/dist/browser/controller.js.map +1 -1
  53. package/dist/browser-automation/browser-manager.js +8 -1
  54. package/dist/browser-automation/browser-manager.js.map +1 -1
  55. package/dist/checkpoints/checkpoint-versioning.js +78 -20
  56. package/dist/checkpoints/checkpoint-versioning.js.map +1 -1
  57. package/dist/cli/config-loader.js +2 -4
  58. package/dist/cli/config-loader.js.map +1 -1
  59. package/dist/codebuddy/client.js +70 -11
  60. package/dist/codebuddy/client.js.map +1 -1
  61. package/dist/codebuddy/tools.d.ts +1 -7
  62. package/dist/codebuddy/tools.js +2 -30
  63. package/dist/codebuddy/tools.js.map +1 -1
  64. package/dist/commands/cli/daemon-commands.d.ts +14 -0
  65. package/dist/commands/cli/daemon-commands.js +166 -0
  66. package/dist/commands/cli/daemon-commands.js.map +1 -0
  67. package/dist/commands/cli/speak-command.d.ts +10 -0
  68. package/dist/commands/cli/speak-command.js +97 -0
  69. package/dist/commands/cli/speak-command.js.map +1 -0
  70. package/dist/commands/cli/utility-commands.d.ts +10 -0
  71. package/dist/commands/cli/utility-commands.js +88 -0
  72. package/dist/commands/cli/utility-commands.js.map +1 -0
  73. package/dist/commands/handlers/fcs-handlers.js +1 -1
  74. package/dist/commands/handlers/fcs-handlers.js.map +1 -1
  75. package/dist/commands/handlers/memory-handlers.js +2 -1
  76. package/dist/commands/handlers/memory-handlers.js.map +1 -1
  77. package/dist/commands/handlers/vibe-handlers.js +0 -1
  78. package/dist/commands/handlers/vibe-handlers.js.map +1 -1
  79. package/dist/commands/handlers/worktree-handlers.js +11 -0
  80. package/dist/commands/handlers/worktree-handlers.js.map +1 -1
  81. package/dist/commands/index.d.ts +8 -7
  82. package/dist/commands/index.js +10 -8
  83. package/dist/commands/index.js.map +1 -1
  84. package/dist/commands/mcp.d.ts +1 -0
  85. package/dist/commands/mcp.js +66 -7
  86. package/dist/commands/mcp.js.map +1 -1
  87. package/dist/commands/pipeline.js +25 -13
  88. package/dist/commands/pipeline.js.map +1 -1
  89. package/dist/config/hot-reload/watcher.js +4 -4
  90. package/dist/config/hot-reload/watcher.js.map +1 -1
  91. package/dist/config/model-tools.d.ts +41 -0
  92. package/dist/config/model-tools.js +194 -0
  93. package/dist/config/model-tools.js.map +1 -0
  94. package/dist/context/context-manager-v2.d.ts +2 -1
  95. package/dist/context/context-manager-v2.js +34 -5
  96. package/dist/context/context-manager-v2.js.map +1 -1
  97. package/dist/context/index.d.ts +12 -12
  98. package/dist/context/index.js +25 -12
  99. package/dist/context/index.js.map +1 -1
  100. package/dist/daemon/daemon-manager.js +23 -19
  101. package/dist/daemon/daemon-manager.js.map +1 -1
  102. package/dist/database/database-manager.d.ts +4 -0
  103. package/dist/database/database-manager.js +16 -7
  104. package/dist/database/database-manager.js.map +1 -1
  105. package/dist/desktop-automation/nutjs-provider.js +89 -0
  106. package/dist/desktop-automation/nutjs-provider.js.map +1 -1
  107. package/dist/errors/index.d.ts +4 -4
  108. package/dist/errors/index.js +8 -4
  109. package/dist/errors/index.js.map +1 -1
  110. package/dist/fcs/builtins.d.ts +2 -6
  111. package/dist/fcs/builtins.js +2 -568
  112. package/dist/fcs/builtins.js.map +1 -1
  113. package/dist/fcs/codebuddy-bindings.d.ts +3 -43
  114. package/dist/fcs/codebuddy-bindings.js +2 -606
  115. package/dist/fcs/codebuddy-bindings.js.map +1 -1
  116. package/dist/fcs/index.d.ts +2 -27
  117. package/dist/fcs/index.js +2 -53
  118. package/dist/fcs/index.js.map +1 -1
  119. package/dist/fcs/lexer.d.ts +2 -37
  120. package/dist/fcs/lexer.js +2 -459
  121. package/dist/fcs/lexer.js.map +1 -1
  122. package/dist/fcs/parser.d.ts +2 -68
  123. package/dist/fcs/parser.js +2 -893
  124. package/dist/fcs/parser.js.map +1 -1
  125. package/dist/fcs/runtime.d.ts +2 -59
  126. package/dist/fcs/runtime.js +2 -623
  127. package/dist/fcs/runtime.js.map +1 -1
  128. package/dist/fcs/script-registry.d.ts +3 -69
  129. package/dist/fcs/script-registry.js +2 -219
  130. package/dist/fcs/script-registry.js.map +1 -1
  131. package/dist/fcs/sync-bindings.d.ts +3 -101
  132. package/dist/fcs/sync-bindings.js +2 -410
  133. package/dist/fcs/sync-bindings.js.map +1 -1
  134. package/dist/fcs/types.d.ts +2 -285
  135. package/dist/fcs/types.js +2 -103
  136. package/dist/fcs/types.js.map +1 -1
  137. package/dist/hooks/index.d.ts +4 -4
  138. package/dist/hooks/index.js +4 -4
  139. package/dist/hooks/index.js.map +1 -1
  140. package/dist/hooks/use-input-handler.d.ts +1 -1
  141. package/dist/index.js +20 -330
  142. package/dist/index.js.map +1 -1
  143. package/dist/input/voice-control.js +11 -5
  144. package/dist/input/voice-control.js.map +1 -1
  145. package/dist/integrations/json-rpc/server.d.ts +9 -0
  146. package/dist/integrations/json-rpc/server.js +43 -13
  147. package/dist/integrations/json-rpc/server.js.map +1 -1
  148. package/dist/integrations/mcp/mcp-server.js +1 -1
  149. package/dist/integrations/mcp/mcp-server.js.map +1 -1
  150. package/dist/integrations/notification-integrations.d.ts +1 -0
  151. package/dist/integrations/notification-integrations.js +6 -1
  152. package/dist/integrations/notification-integrations.js.map +1 -1
  153. package/dist/mcp/client.js +2 -1
  154. package/dist/mcp/client.js.map +1 -1
  155. package/dist/mcp/config.js +89 -5
  156. package/dist/mcp/config.js.map +1 -1
  157. package/dist/mcp/mcp-client.js +65 -14
  158. package/dist/mcp/mcp-client.js.map +1 -1
  159. package/dist/mcp/transports.d.ts +0 -1
  160. package/dist/mcp/transports.js +1 -5
  161. package/dist/mcp/transports.js.map +1 -1
  162. package/dist/mcp/types.d.ts +2 -0
  163. package/dist/memory/index.d.ts +2 -2
  164. package/dist/memory/index.js +2 -2
  165. package/dist/memory/index.js.map +1 -1
  166. package/dist/persistence/session-lock.d.ts +42 -0
  167. package/dist/persistence/session-lock.js +165 -0
  168. package/dist/persistence/session-lock.js.map +1 -0
  169. package/dist/persistence/session-store.d.ts +18 -3
  170. package/dist/persistence/session-store.js +90 -21
  171. package/dist/persistence/session-store.js.map +1 -1
  172. package/dist/plugins/conflict-detection.js +2 -1
  173. package/dist/plugins/conflict-detection.js.map +1 -1
  174. package/dist/plugins/index.d.ts +3 -3
  175. package/dist/plugins/index.js +3 -3
  176. package/dist/plugins/index.js.map +1 -1
  177. package/dist/plugins/isolated-plugin-runner.d.ts +6 -0
  178. package/dist/plugins/isolated-plugin-runner.js +19 -1
  179. package/dist/plugins/isolated-plugin-runner.js.map +1 -1
  180. package/dist/providers/local-llm-provider.js +28 -8
  181. package/dist/providers/local-llm-provider.js.map +1 -1
  182. package/dist/sandbox/docker-sandbox.js +7 -4
  183. package/dist/sandbox/docker-sandbox.js.map +1 -1
  184. package/dist/scripting/builtins.d.ts +8 -3
  185. package/dist/scripting/builtins.js +506 -355
  186. package/dist/scripting/builtins.js.map +1 -1
  187. package/dist/scripting/codebuddy-bindings.d.ts +47 -0
  188. package/dist/scripting/codebuddy-bindings.js +488 -0
  189. package/dist/scripting/codebuddy-bindings.js.map +1 -0
  190. package/dist/scripting/index.d.ts +33 -30
  191. package/dist/scripting/index.js +41 -36
  192. package/dist/scripting/index.js.map +1 -1
  193. package/dist/scripting/lexer.d.ts +31 -13
  194. package/dist/scripting/lexer.js +379 -292
  195. package/dist/scripting/lexer.js.map +1 -1
  196. package/dist/scripting/parser.d.ts +63 -44
  197. package/dist/scripting/parser.js +700 -473
  198. package/dist/scripting/parser.js.map +1 -1
  199. package/dist/scripting/runtime.d.ts +55 -24
  200. package/dist/scripting/runtime.js +600 -288
  201. package/dist/scripting/runtime.js.map +1 -1
  202. package/dist/scripting/script-registry.d.ts +54 -0
  203. package/dist/scripting/script-registry.js +202 -0
  204. package/dist/scripting/script-registry.js.map +1 -0
  205. package/dist/scripting/sync-bindings.d.ts +105 -0
  206. package/dist/scripting/sync-bindings.js +353 -0
  207. package/dist/scripting/sync-bindings.js.map +1 -0
  208. package/dist/scripting/types.d.ts +297 -199
  209. package/dist/scripting/types.js +86 -60
  210. package/dist/scripting/types.js.map +1 -1
  211. package/dist/search/usearch-index.js +42 -7
  212. package/dist/search/usearch-index.js.map +1 -1
  213. package/dist/security/bash-parser.d.ts +51 -0
  214. package/dist/security/bash-parser.js +327 -0
  215. package/dist/security/bash-parser.js.map +1 -0
  216. package/dist/security/index.d.ts +7 -5
  217. package/dist/security/index.js +8 -7
  218. package/dist/security/index.js.map +1 -1
  219. package/dist/security/skill-scanner.d.ts +36 -0
  220. package/dist/security/skill-scanner.js +149 -0
  221. package/dist/security/skill-scanner.js.map +1 -0
  222. package/dist/security/trust-folders.d.ts +1 -0
  223. package/dist/security/trust-folders.js +19 -1
  224. package/dist/security/trust-folders.js.map +1 -1
  225. package/dist/server/auth/index.d.ts +2 -2
  226. package/dist/server/auth/index.js +2 -2
  227. package/dist/server/auth/index.js.map +1 -1
  228. package/dist/server/middleware/index.d.ts +5 -5
  229. package/dist/server/middleware/index.js +5 -5
  230. package/dist/server/middleware/index.js.map +1 -1
  231. package/dist/server/middleware/rate-limit.js +15 -3
  232. package/dist/server/middleware/rate-limit.js.map +1 -1
  233. package/dist/server/websocket/handler.js +54 -6
  234. package/dist/server/websocket/handler.js.map +1 -1
  235. package/dist/skills/eligibility.js +26 -4
  236. package/dist/skills/eligibility.js.map +1 -1
  237. package/dist/tasks/background-tasks.js +5 -1
  238. package/dist/tasks/background-tasks.js.map +1 -1
  239. package/dist/tools/apply-patch.d.ts +55 -0
  240. package/dist/tools/apply-patch.js +273 -0
  241. package/dist/tools/apply-patch.js.map +1 -0
  242. package/dist/tools/hooks/default-hooks.d.ts +1 -1
  243. package/dist/tools/hooks/default-hooks.js +2 -1
  244. package/dist/tools/hooks/default-hooks.js.map +1 -1
  245. package/dist/tools/index.d.ts +10 -10
  246. package/dist/tools/index.js +11 -11
  247. package/dist/tools/index.js.map +1 -1
  248. package/dist/tools/registry/bash-tools.js +6 -3
  249. package/dist/tools/registry/bash-tools.js.map +1 -1
  250. package/dist/tools/registry/misc-tools.js +1 -2
  251. package/dist/tools/registry/misc-tools.js.map +1 -1
  252. package/dist/tools/registry/search-tools.js +1 -1
  253. package/dist/tools/registry/search-tools.js.map +1 -1
  254. package/dist/tools/registry/text-editor-tools.js +1 -1
  255. package/dist/tools/registry/text-editor-tools.js.map +1 -1
  256. package/dist/tools/registry/todo-tools.js +37 -5
  257. package/dist/tools/registry/todo-tools.js.map +1 -1
  258. package/dist/tools/registry/tool-registry.js +5 -4
  259. package/dist/tools/registry/tool-registry.js.map +1 -1
  260. package/dist/tools/registry/web-tools.d.ts +1 -1
  261. package/dist/tools/registry/web-tools.js +28 -8
  262. package/dist/tools/registry/web-tools.js.map +1 -1
  263. package/dist/tools/text-editor.d.ts +1 -1
  264. package/dist/tools/text-editor.js +23 -5
  265. package/dist/tools/text-editor.js.map +1 -1
  266. package/dist/tools/web-search.d.ts +52 -37
  267. package/dist/tools/web-search.js +368 -163
  268. package/dist/tools/web-search.js.map +1 -1
  269. package/dist/types/errors.d.ts +1 -1
  270. package/dist/types/errors.js +2 -8
  271. package/dist/types/errors.js.map +1 -1
  272. package/dist/types/index.d.ts +2 -1
  273. package/dist/types/index.js +1 -2
  274. package/dist/types/index.js.map +1 -1
  275. package/dist/ui/components/ChatInterface.d.ts +1 -1
  276. package/dist/ui/index.d.ts +17 -21
  277. package/dist/ui/index.js +25 -22
  278. package/dist/ui/index.js.map +1 -1
  279. package/dist/utils/config-validation/schema.d.ts +15 -15
  280. package/dist/utils/head-tail-truncation.d.ts +34 -0
  281. package/dist/utils/head-tail-truncation.js +98 -0
  282. package/dist/utils/head-tail-truncation.js.map +1 -0
  283. package/dist/utils/logger.js +3 -9
  284. package/dist/utils/logger.js.map +1 -1
  285. package/dist/utils/sanitize.d.ts +5 -0
  286. package/dist/utils/sanitize.js +19 -0
  287. package/dist/utils/sanitize.js.map +1 -1
  288. package/dist/utils/settings-manager.js +4 -4
  289. package/dist/utils/settings-manager.js.map +1 -1
  290. package/dist/workflows/index.d.ts +4 -279
  291. package/dist/workflows/index.js +8 -822
  292. package/dist/workflows/index.js.map +1 -1
  293. package/dist/workflows/state-manager.d.ts +77 -0
  294. package/dist/workflows/state-manager.js +198 -0
  295. package/dist/workflows/state-manager.js.map +1 -0
  296. package/dist/workflows/step-manager.d.ts +39 -0
  297. package/dist/workflows/step-manager.js +196 -0
  298. package/dist/workflows/step-manager.js.map +1 -0
  299. package/dist/workflows/types.d.ts +87 -0
  300. package/dist/workflows/types.js +5 -0
  301. package/dist/workflows/types.js.map +1 -0
  302. package/dist/workflows/workflow-engine.d.ts +34 -0
  303. package/dist/workflows/workflow-engine.js +354 -0
  304. package/dist/workflows/workflow-engine.js.map +1 -0
  305. package/package.json +5 -1
@@ -1,287 +1,4 @@
1
1
  /**
2
- * FileCommander Script (FCS) Types
3
- *
4
- * 100% compatible with FileCommander Enhanced Script language
2
+ * @deprecated Use src/scripting/types.ts instead. This file re-exports for backward compatibility.
5
3
  */
6
- export declare enum TokenType {
7
- Number = "Number",
8
- String = "String",
9
- Boolean = "Boolean",
10
- Null = "Null",
11
- Regex = "Regex",
12
- Identifier = "Identifier",
13
- Keyword = "Keyword",
14
- Plus = "Plus",// +
15
- Minus = "Minus",// -
16
- Multiply = "Multiply",// *
17
- Divide = "Divide",// /
18
- Modulo = "Modulo",// %
19
- Power = "Power",// **
20
- Equal = "Equal",// ==
21
- NotEqual = "NotEqual",// !=
22
- Less = "Less",// <
23
- Greater = "Greater",// >
24
- LessEqual = "LessEqual",// <=
25
- GreaterEqual = "GreaterEqual",// >=
26
- And = "And",// &&
27
- Or = "Or",// ||
28
- Not = "Not",// !
29
- Assign = "Assign",// =
30
- PlusAssign = "PlusAssign",// +=
31
- MinusAssign = "MinusAssign",// -=
32
- MultiplyAssign = "MultiplyAssign",// *=
33
- DivideAssign = "DivideAssign",// /=
34
- LeftParen = "LeftParen",// (
35
- RightParen = "RightParen",// )
36
- LeftBrace = "LeftBrace",// {
37
- RightBrace = "RightBrace",// }
38
- LeftBracket = "LeftBracket",// [
39
- RightBracket = "RightBracket",// ]
40
- Semicolon = "Semicolon",// ;
41
- Comma = "Comma",// ,
42
- Dot = "Dot",// .
43
- Colon = "Colon",// :
44
- Arrow = "Arrow",// =>
45
- Pipeline = "Pipeline",// |>
46
- Comment = "Comment",
47
- Newline = "Newline",
48
- Indent = "Indent",
49
- Dedent = "Dedent",
50
- EOF = "EOF",
51
- Decorator = "Decorator"
52
- }
53
- export interface Token {
54
- type: TokenType;
55
- value: string;
56
- line: number;
57
- column: number;
58
- position: number;
59
- length: number;
60
- }
61
- export declare const FCS_KEYWORDS: Set<string>;
62
- export interface AstNode {
63
- type: string;
64
- line?: number;
65
- column?: number;
66
- }
67
- export interface Program extends AstNode {
68
- type: 'Program';
69
- statements: AstNode[];
70
- }
71
- export interface LiteralExpr extends AstNode {
72
- type: 'Literal';
73
- value: unknown;
74
- tokenType: TokenType;
75
- }
76
- export interface IdentifierExpr extends AstNode {
77
- type: 'Identifier';
78
- name: string;
79
- }
80
- export interface BinaryExpr extends AstNode {
81
- type: 'Binary';
82
- left: AstNode;
83
- operator: TokenType;
84
- right: AstNode;
85
- }
86
- export interface UnaryExpr extends AstNode {
87
- type: 'Unary';
88
- operator: TokenType;
89
- operand: AstNode;
90
- }
91
- export interface AssignmentExpr extends AstNode {
92
- type: 'Assignment';
93
- target: AstNode;
94
- operator: TokenType;
95
- value: AstNode;
96
- }
97
- export interface CallExpr extends AstNode {
98
- type: 'Call';
99
- callee: AstNode;
100
- arguments: AstNode[];
101
- namedArgs?: Record<string, AstNode>;
102
- }
103
- export interface MemberExpr extends AstNode {
104
- type: 'Member';
105
- object: AstNode;
106
- member: string;
107
- computed: boolean;
108
- }
109
- export interface IndexExpr extends AstNode {
110
- type: 'Index';
111
- object: AstNode;
112
- index: AstNode;
113
- }
114
- export interface ArrayExpr extends AstNode {
115
- type: 'Array';
116
- elements: AstNode[];
117
- }
118
- export interface DictExpr extends AstNode {
119
- type: 'Dict';
120
- elements: Map<string, AstNode>;
121
- }
122
- export interface LambdaExpr extends AstNode {
123
- type: 'Lambda';
124
- parameters: string[];
125
- body: AstNode;
126
- }
127
- export interface InterpolationExpr extends AstNode {
128
- type: 'Interpolation';
129
- parts: AstNode[];
130
- }
131
- export interface PipelineExpr extends AstNode {
132
- type: 'Pipeline';
133
- left: AstNode;
134
- right: AstNode;
135
- }
136
- export interface TernaryExpr extends AstNode {
137
- type: 'Ternary';
138
- condition: AstNode;
139
- consequent: AstNode;
140
- alternate: AstNode;
141
- }
142
- export interface BlockStmt extends AstNode {
143
- type: 'Block';
144
- statements: AstNode[];
145
- }
146
- export interface ExpressionStmt extends AstNode {
147
- type: 'ExpressionStmt';
148
- expression: AstNode;
149
- }
150
- export interface VarDeclaration extends AstNode {
151
- type: 'VarDeclaration';
152
- name: string;
153
- initializer: AstNode | null;
154
- isConst: boolean;
155
- varType?: string;
156
- }
157
- export interface FunctionDeclaration extends AstNode {
158
- type: 'FunctionDeclaration';
159
- name: string;
160
- parameters: Parameter[];
161
- body: BlockStmt;
162
- isAsync: boolean;
163
- returnType?: string;
164
- }
165
- export interface Parameter {
166
- name: string;
167
- type?: string;
168
- defaultValue?: AstNode;
169
- }
170
- export interface ClassDeclaration extends AstNode {
171
- type: 'ClassDeclaration';
172
- name: string;
173
- baseClass?: string;
174
- members: AstNode[];
175
- }
176
- export interface IfStmt extends AstNode {
177
- type: 'If';
178
- condition: AstNode;
179
- thenBranch: AstNode;
180
- elseBranch: AstNode | null;
181
- }
182
- export interface WhileStmt extends AstNode {
183
- type: 'While';
184
- condition: AstNode;
185
- body: AstNode;
186
- }
187
- export interface ForStmt extends AstNode {
188
- type: 'For';
189
- variable: string;
190
- iterable: AstNode;
191
- body: AstNode;
192
- }
193
- export interface ReturnStmt extends AstNode {
194
- type: 'Return';
195
- value: AstNode | null;
196
- }
197
- export interface BreakStmt extends AstNode {
198
- type: 'Break';
199
- }
200
- export interface ContinueStmt extends AstNode {
201
- type: 'Continue';
202
- }
203
- export interface TryStmt extends AstNode {
204
- type: 'Try';
205
- tryBlock: BlockStmt;
206
- catchClauses: CatchClause[];
207
- finallyBlock: BlockStmt | null;
208
- }
209
- export interface CatchClause {
210
- variable?: string;
211
- type?: string;
212
- body: BlockStmt;
213
- }
214
- export interface ThrowStmt extends AstNode {
215
- type: 'Throw';
216
- expression: AstNode;
217
- }
218
- export interface ImportStmt extends AstNode {
219
- type: 'Import';
220
- module: string;
221
- names: string[];
222
- alias?: string;
223
- }
224
- export interface TestDeclaration extends AstNode {
225
- type: 'TestDeclaration';
226
- name: string;
227
- body: BlockStmt;
228
- tags: string[];
229
- }
230
- export interface AssertStmt extends AstNode {
231
- type: 'Assert';
232
- condition: AstNode;
233
- message?: string;
234
- }
235
- export interface EditorCommand extends AstNode {
236
- type: 'EditorCommand';
237
- command: string;
238
- arguments: AstNode[];
239
- }
240
- /**
241
- * Primitive types that can be stored in FCS variables
242
- */
243
- export type FCSPrimitive = string | number | boolean | null | undefined;
244
- /**
245
- * Function type for the FCS runtime.
246
- * Note: Uses flexible typing to support dynamic scripting scenarios.
247
- * Implementations should validate arguments at runtime.
248
- */
249
- export type FCSFunction = (...args: FCSValue[]) => FCSValue | Promise<FCSValue> | any;
250
- /**
251
- * Object type for FCS runtime values
252
- */
253
- export type FCSObject = {
254
- [key: string]: FCSValue;
255
- };
256
- /**
257
- * Array type for FCS runtime values
258
- */
259
- export type FCSArray = FCSValue[];
260
- /**
261
- * Dynamic value type for the FCS runtime.
262
- * Uses a union of known types for better type safety.
263
- */
264
- export type FCSValue = FCSPrimitive | FCSFunction | FCSObject | FCSArray | any;
265
- export interface FCSContext {
266
- variables: Map<string, FCSValue>;
267
- functions: Map<string, FCSFunction>;
268
- parent?: FCSContext;
269
- }
270
- export interface FCSResult {
271
- success: boolean;
272
- output: string[];
273
- error?: string;
274
- returnValue?: FCSValue;
275
- duration: number;
276
- }
277
- export interface FCSConfig {
278
- workdir: string;
279
- timeout: number;
280
- enableAI: boolean;
281
- enableBash: boolean;
282
- enableFileOps: boolean;
283
- verbose: boolean;
284
- dryRun: boolean;
285
- variables?: Record<string, FCSValue>;
286
- }
287
- export declare const DEFAULT_FCS_CONFIG: FCSConfig;
4
+ export * from '../scripting/types.js';
package/dist/fcs/types.js CHANGED
@@ -1,106 +1,5 @@
1
1
  /**
2
- * FileCommander Script (FCS) Types
3
- *
4
- * 100% compatible with FileCommander Enhanced Script language
2
+ * @deprecated Use src/scripting/types.ts instead. This file re-exports for backward compatibility.
5
3
  */
6
- // ============================================
7
- // Token Types (matching FCS exactly)
8
- // ============================================
9
- export var TokenType;
10
- (function (TokenType) {
11
- // Literals
12
- TokenType["Number"] = "Number";
13
- TokenType["String"] = "String";
14
- TokenType["Boolean"] = "Boolean";
15
- TokenType["Null"] = "Null";
16
- TokenType["Regex"] = "Regex";
17
- // Identifiers and Keywords
18
- TokenType["Identifier"] = "Identifier";
19
- TokenType["Keyword"] = "Keyword";
20
- // Operators
21
- TokenType["Plus"] = "Plus";
22
- TokenType["Minus"] = "Minus";
23
- TokenType["Multiply"] = "Multiply";
24
- TokenType["Divide"] = "Divide";
25
- TokenType["Modulo"] = "Modulo";
26
- TokenType["Power"] = "Power";
27
- // Comparison
28
- TokenType["Equal"] = "Equal";
29
- TokenType["NotEqual"] = "NotEqual";
30
- TokenType["Less"] = "Less";
31
- TokenType["Greater"] = "Greater";
32
- TokenType["LessEqual"] = "LessEqual";
33
- TokenType["GreaterEqual"] = "GreaterEqual";
34
- // Logical
35
- TokenType["And"] = "And";
36
- TokenType["Or"] = "Or";
37
- TokenType["Not"] = "Not";
38
- // Assignment
39
- TokenType["Assign"] = "Assign";
40
- TokenType["PlusAssign"] = "PlusAssign";
41
- TokenType["MinusAssign"] = "MinusAssign";
42
- TokenType["MultiplyAssign"] = "MultiplyAssign";
43
- TokenType["DivideAssign"] = "DivideAssign";
44
- // Delimiters
45
- TokenType["LeftParen"] = "LeftParen";
46
- TokenType["RightParen"] = "RightParen";
47
- TokenType["LeftBrace"] = "LeftBrace";
48
- TokenType["RightBrace"] = "RightBrace";
49
- TokenType["LeftBracket"] = "LeftBracket";
50
- TokenType["RightBracket"] = "RightBracket";
51
- // Punctuation
52
- TokenType["Semicolon"] = "Semicolon";
53
- TokenType["Comma"] = "Comma";
54
- TokenType["Dot"] = "Dot";
55
- TokenType["Colon"] = "Colon";
56
- TokenType["Arrow"] = "Arrow";
57
- TokenType["Pipeline"] = "Pipeline";
58
- // Special
59
- TokenType["Comment"] = "Comment";
60
- TokenType["Newline"] = "Newline";
61
- TokenType["Indent"] = "Indent";
62
- TokenType["Dedent"] = "Dedent";
63
- TokenType["EOF"] = "EOF";
64
- // Decorators
65
- TokenType["Decorator"] = "Decorator";
66
- })(TokenType || (TokenType = {}));
67
- // ============================================
68
- // FCS Keywords (matching FileCommander exactly)
69
- // ============================================
70
- export const FCS_KEYWORDS = new Set([
71
- // Control flow
72
- 'if', 'else', 'elif', 'while', 'for', 'break', 'continue', 'return',
73
- 'switch', 'case', 'default', 'do', 'until',
74
- // Declarations
75
- 'let', 'const', 'var', 'func', 'function', 'class', 'struct', 'enum', 'namespace',
76
- // Types
77
- 'int', 'float', 'string', 'bool', 'array', 'dict', 'set', 'any', 'void',
78
- // Values
79
- 'true', 'false', 'null', 'undefined',
80
- // Operators
81
- 'in', 'is', 'as', 'typeof', 'sizeof', 'new', 'delete',
82
- // Exception handling
83
- 'try', 'catch', 'finally', 'throw',
84
- // Async
85
- 'async', 'await', 'promise',
86
- // Import/Export
87
- 'import', 'export', 'from',
88
- // Special
89
- 'with', 'using', 'global', 'local', 'static', 'public', 'private', 'protected',
90
- // FileCommander specific
91
- 'editor', 'file', 'panel', 'command', 'test', 'assert', 'expect',
92
- 'select', 'cursor', 'view', 'window', 'dialog',
93
- // Note: 'codebuddy', 'ai', 'bash', 'shell', 'git', 'mcp', 'tool', 'context',
94
- // 'agent', 'session' are NOT keywords - they are builtin namespace objects
95
- // and should be tokenized as identifiers
96
- ]);
97
- export const DEFAULT_FCS_CONFIG = {
98
- workdir: process.cwd(),
99
- timeout: 300000,
100
- enableAI: true,
101
- enableBash: true,
102
- enableFileOps: true,
103
- verbose: false,
104
- dryRun: false,
105
- };
4
+ export * from '../scripting/types.js';
106
5
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/fcs/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/fcs/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,uBAAuB,CAAC"}
@@ -7,10 +7,10 @@
7
7
  * - Moltbot hooks (intro, persistence, command logging)
8
8
  * - React hooks for input handling
9
9
  */
10
- export * from "./hook-manager.js";
10
+ export { HookManager, getHookManager, type HookEvent, type Hook, } from "./hook-manager.js";
11
11
  export { HookSystem, getHookSystem, resetHookSystem, type HookType, } from "./hook-system.js";
12
- export * from "./use-enhanced-input.js";
13
- export * from "./use-input-handler.js";
14
- export * from "./use-input-history.js";
12
+ export { useEnhancedInput, type Key, type EnhancedInputHook, } from "./use-enhanced-input.js";
13
+ export { useInputHandler } from "./use-input-handler.js";
14
+ export { useInputHistory, type InputHistoryHook, } from "./use-input-history.js";
15
15
  export { HooksManager, getHooksManager, initializeHooks, BUILTIN_HOOKS, DEFAULT_HOOKS_CONFIG, type HookType as LifecycleHookType, type HookContext, type HookDefinition, type HookResult, type HooksConfig, } from "./lifecycle-hooks.js";
16
16
  export { IntroHookManager, SessionPersistenceManager, CommandLogger, MoltbotHooksManager, getMoltbotHooksManager, resetMoltbotHooksManager, DEFAULT_MOLTBOT_CONFIG, DEFAULT_INTRO_HOOK_TEMPLATE, DEFAULT_GLOBAL_INTRO_TEMPLATE, checkMoltbotSetup, setupMoltbotHooks, enableMoltbotHooks, disableMoltbotHooks, getIntroHookContent, setIntroHookContent, formatSetupStatus, type IntroConfig, type IntroSource, type IntroResult, type SessionPersistenceConfig, type PersistedSession, type PersistedMessage, type PersistedToolCall, type CommandLogConfig, type CommandLogEntry, type MoltbotHooksConfig, type MoltbotSetupOptions, type MoltbotSetupResult, } from "./moltbot-hooks.js";
@@ -7,11 +7,11 @@
7
7
  * - Moltbot hooks (intro, persistence, command logging)
8
8
  * - React hooks for input handling
9
9
  */
10
- export * from "./hook-manager.js";
10
+ export { HookManager, getHookManager, } from "./hook-manager.js";
11
11
  export { HookSystem, getHookSystem, resetHookSystem, } from "./hook-system.js";
12
- export * from "./use-enhanced-input.js";
13
- export * from "./use-input-handler.js";
14
- export * from "./use-input-history.js";
12
+ export { useEnhancedInput, } from "./use-enhanced-input.js";
13
+ export { useInputHandler } from "./use-input-handler.js";
14
+ export { useInputHistory, } from "./use-input-history.js";
15
15
  // Lifecycle hooks (pre/post operation hooks)
16
16
  export { HooksManager, getHooksManager, initializeHooks, BUILTIN_HOOKS, DEFAULT_HOOKS_CONFIG, } from "./lifecycle-hooks.js";
17
17
  // Moltbot-inspired hooks (intro, persistence, command logging)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACL,UAAU,EACV,aAAa,EACb,eAAe,GAEhB,MAAM,kBAAkB,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AAEvC,6CAA6C;AAC7C,OAAO,EACL,YAAY,EACZ,eAAe,EACf,eAAe,EACf,aAAa,EACb,oBAAoB,GAMrB,MAAM,sBAAsB,CAAC;AAE9B,+DAA+D;AAC/D,OAAO;AACL,WAAW;AACX,gBAAgB,EAChB,yBAAyB,EACzB,aAAa,EACb,mBAAmB;AACnB,sBAAsB;AACtB,sBAAsB,EACtB,wBAAwB;AACxB,gBAAgB;AAChB,sBAAsB;AACtB,kCAAkC;AAClC,2BAA2B,EAC3B,6BAA6B,EAC7B,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,GAkBlB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,WAAW,EACX,cAAc,GAGf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,UAAU,EACV,aAAa,EACb,eAAe,GAEhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gBAAgB,GAGjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EACL,eAAe,GAEhB,MAAM,wBAAwB,CAAC;AAEhC,6CAA6C;AAC7C,OAAO,EACL,YAAY,EACZ,eAAe,EACf,eAAe,EACf,aAAa,EACb,oBAAoB,GAMrB,MAAM,sBAAsB,CAAC;AAE9B,+DAA+D;AAC/D,OAAO;AACL,WAAW;AACX,gBAAgB,EAChB,yBAAyB,EACzB,aAAa,EACb,mBAAmB;AACnB,sBAAsB;AACtB,sBAAsB,EACtB,wBAAwB;AACxB,gBAAgB;AAChB,sBAAsB;AACtB,kCAAkC;AAClC,2BAA2B,EAC3B,6BAA6B,EAC7B,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,GAkBlB,MAAM,oBAAoB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { CodeBuddyAgent, ChatEntry } from "../agent/codebuddy-agent.js";
1
+ import type { CodeBuddyAgent, ChatEntry } from "../agent/codebuddy-agent.js";
2
2
  import { FileSuggestion } from "../ui/components/FileAutocomplete.js";
3
3
  interface UseInputHandlerProps {
4
4
  agent: CodeBuddyAgent;