micro-models-agent 0.2.50 → 0.2.52

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 (150) hide show
  1. package/dist/agent/loop.d.ts.map +1 -1
  2. package/dist/agent/loop.js +87 -303
  3. package/dist/agent/loop.js.map +1 -1
  4. package/dist/agent/modes/applier.d.ts +43 -0
  5. package/dist/agent/modes/applier.d.ts.map +1 -0
  6. package/dist/agent/modes/applier.js +30 -0
  7. package/dist/agent/modes/applier.js.map +1 -0
  8. package/dist/agent/modes/registry.d.ts +35 -0
  9. package/dist/agent/modes/registry.d.ts.map +1 -0
  10. package/dist/agent/modes/registry.js +169 -0
  11. package/dist/agent/modes/registry.js.map +1 -0
  12. package/dist/agent/modes/types.d.ts +54 -0
  13. package/dist/agent/modes/types.d.ts.map +1 -0
  14. package/dist/agent/modes/types.js +13 -0
  15. package/dist/agent/modes/types.js.map +1 -0
  16. package/dist/agent/react-loop.d.ts +61 -0
  17. package/dist/agent/react-loop.d.ts.map +1 -0
  18. package/dist/agent/react-loop.js +119 -0
  19. package/dist/agent/react-loop.js.map +1 -0
  20. package/dist/agent/tool-executor.d.ts +44 -0
  21. package/dist/agent/tool-executor.d.ts.map +1 -0
  22. package/dist/agent/tool-executor.js +186 -0
  23. package/dist/agent/tool-executor.js.map +1 -0
  24. package/dist/config/types.d.ts +5 -2
  25. package/dist/config/types.d.ts.map +1 -1
  26. package/dist/plugins/adapters/hooks-adapter.d.ts +12 -0
  27. package/dist/plugins/adapters/hooks-adapter.d.ts.map +1 -0
  28. package/dist/plugins/adapters/hooks-adapter.js +23 -0
  29. package/dist/plugins/adapters/hooks-adapter.js.map +1 -0
  30. package/dist/plugins/loader.d.ts +13 -0
  31. package/dist/plugins/loader.d.ts.map +1 -0
  32. package/dist/plugins/loader.js +145 -0
  33. package/dist/plugins/loader.js.map +1 -0
  34. package/dist/plugins/manager.d.ts +52 -0
  35. package/dist/plugins/manager.d.ts.map +1 -0
  36. package/dist/plugins/manager.js +183 -0
  37. package/dist/plugins/manager.js.map +1 -0
  38. package/dist/plugins/types.d.ts +73 -0
  39. package/dist/plugins/types.d.ts.map +1 -0
  40. package/dist/plugins/types.js +8 -0
  41. package/dist/plugins/types.js.map +1 -0
  42. package/dist/repl/commands.d.ts +1 -0
  43. package/dist/repl/commands.d.ts.map +1 -1
  44. package/dist/repl/commands.js.map +1 -1
  45. package/dist/repl/index.d.ts.map +1 -1
  46. package/dist/repl/index.js +3 -2
  47. package/dist/repl/index.js.map +1 -1
  48. package/dist/session/store.d.ts +4 -2
  49. package/dist/session/store.d.ts.map +1 -1
  50. package/dist/session/store.js +4 -2
  51. package/dist/session/store.js.map +1 -1
  52. package/dist/tools/bash.d.ts +4 -0
  53. package/dist/tools/bash.d.ts.map +1 -1
  54. package/dist/tools/bash.js +24 -0
  55. package/dist/tools/bash.js.map +1 -1
  56. package/dist/tools/fs/copy-file.d.ts +2 -0
  57. package/dist/tools/fs/copy-file.d.ts.map +1 -1
  58. package/dist/tools/fs/copy-file.js +7 -0
  59. package/dist/tools/fs/copy-file.js.map +1 -1
  60. package/dist/tools/fs/create-dir.d.ts +2 -0
  61. package/dist/tools/fs/create-dir.d.ts.map +1 -1
  62. package/dist/tools/fs/create-dir.js +7 -0
  63. package/dist/tools/fs/create-dir.js.map +1 -1
  64. package/dist/tools/fs/delete-file.d.ts +2 -0
  65. package/dist/tools/fs/delete-file.d.ts.map +1 -1
  66. package/dist/tools/fs/delete-file.js +7 -0
  67. package/dist/tools/fs/delete-file.js.map +1 -1
  68. package/dist/tools/fs/edit-file.d.ts +2 -0
  69. package/dist/tools/fs/edit-file.d.ts.map +1 -1
  70. package/dist/tools/fs/edit-file.js +7 -0
  71. package/dist/tools/fs/edit-file.js.map +1 -1
  72. package/dist/tools/fs/file-info.d.ts +2 -0
  73. package/dist/tools/fs/file-info.d.ts.map +1 -1
  74. package/dist/tools/fs/file-info.js +7 -0
  75. package/dist/tools/fs/file-info.js.map +1 -1
  76. package/dist/tools/fs/glob-search.d.ts +2 -0
  77. package/dist/tools/fs/glob-search.d.ts.map +1 -1
  78. package/dist/tools/fs/glob-search.js +7 -0
  79. package/dist/tools/fs/glob-search.js.map +1 -1
  80. package/dist/tools/fs/grep-search.d.ts +2 -0
  81. package/dist/tools/fs/grep-search.d.ts.map +1 -1
  82. package/dist/tools/fs/grep-search.js +7 -0
  83. package/dist/tools/fs/grep-search.js.map +1 -1
  84. package/dist/tools/fs/list-dir.d.ts +2 -0
  85. package/dist/tools/fs/list-dir.d.ts.map +1 -1
  86. package/dist/tools/fs/list-dir.js +7 -0
  87. package/dist/tools/fs/list-dir.js.map +1 -1
  88. package/dist/tools/fs/move-file.d.ts +2 -0
  89. package/dist/tools/fs/move-file.d.ts.map +1 -1
  90. package/dist/tools/fs/move-file.js +7 -0
  91. package/dist/tools/fs/move-file.js.map +1 -1
  92. package/dist/tools/fs/read-file.d.ts +2 -0
  93. package/dist/tools/fs/read-file.d.ts.map +1 -1
  94. package/dist/tools/fs/read-file.js +7 -0
  95. package/dist/tools/fs/read-file.js.map +1 -1
  96. package/dist/tools/fs/tree.d.ts +2 -0
  97. package/dist/tools/fs/tree.d.ts.map +1 -1
  98. package/dist/tools/fs/tree.js +7 -0
  99. package/dist/tools/fs/tree.js.map +1 -1
  100. package/dist/tools/fs/write-file.d.ts +2 -0
  101. package/dist/tools/fs/write-file.d.ts.map +1 -1
  102. package/dist/tools/fs/write-file.js +7 -0
  103. package/dist/tools/fs/write-file.js.map +1 -1
  104. package/dist/tools/native/approve.d.ts +11 -0
  105. package/dist/tools/native/approve.d.ts.map +1 -0
  106. package/dist/tools/native/approve.js +39 -0
  107. package/dist/tools/native/approve.js.map +1 -0
  108. package/dist/tools/native/plan.d.ts +10 -0
  109. package/dist/tools/native/plan.d.ts.map +1 -0
  110. package/dist/tools/native/plan.js +46 -0
  111. package/dist/tools/native/plan.js.map +1 -0
  112. package/dist/tools/native/question.d.ts +11 -0
  113. package/dist/tools/native/question.d.ts.map +1 -0
  114. package/dist/tools/native/question.js +41 -0
  115. package/dist/tools/native/question.js.map +1 -0
  116. package/dist/tools/native/theme.d.ts +10 -0
  117. package/dist/tools/native/theme.d.ts.map +1 -0
  118. package/dist/tools/native/theme.js +106 -0
  119. package/dist/tools/native/theme.js.map +1 -0
  120. package/dist/tools/native/todo.d.ts +10 -0
  121. package/dist/tools/native/todo.d.ts.map +1 -0
  122. package/dist/tools/native/todo.js +58 -0
  123. package/dist/tools/native/todo.js.map +1 -0
  124. package/dist/tools/native/user-profile.d.ts +10 -0
  125. package/dist/tools/native/user-profile.d.ts.map +1 -0
  126. package/dist/tools/native/user-profile.js +58 -0
  127. package/dist/tools/native/user-profile.js.map +1 -0
  128. package/dist/tools/registry.d.ts +11 -10
  129. package/dist/tools/registry.d.ts.map +1 -1
  130. package/dist/tools/registry.js +40 -147
  131. package/dist/tools/registry.js.map +1 -1
  132. package/dist/tools/subagent.d.ts +2 -1
  133. package/dist/tools/subagent.d.ts.map +1 -1
  134. package/dist/tools/subagent.js +7 -4
  135. package/dist/tools/subagent.js.map +1 -1
  136. package/dist/tools/types.d.ts +59 -0
  137. package/dist/tools/types.d.ts.map +1 -0
  138. package/dist/tools/types.js +2 -0
  139. package/dist/tools/types.js.map +1 -0
  140. package/dist/tools/web-fetch.d.ts +2 -0
  141. package/dist/tools/web-fetch.d.ts.map +1 -1
  142. package/dist/tools/web-fetch.js +7 -0
  143. package/dist/tools/web-fetch.js.map +1 -1
  144. package/dist/tools/web-search.d.ts +2 -0
  145. package/dist/tools/web-search.d.ts.map +1 -1
  146. package/dist/tools/web-search.js +7 -0
  147. package/dist/tools/web-search.js.map +1 -1
  148. package/dist/updater.js +1 -1
  149. package/dist/updater.js.map +1 -1
  150. package/package.json +1 -1
@@ -54,4 +54,11 @@ export function handleReadFile(args, cwd) {
54
54
  const { text, truncated } = truncateOutput(result, MAX_OUTPUT_CHARS);
55
55
  return fsOk(text, truncated);
56
56
  }
57
+ export const readFileHandler = {
58
+ name: 'read_file',
59
+ definition: readFileDefinition,
60
+ async execute(args, ctx) {
61
+ return handleReadFile(args, ctx.cwd);
62
+ },
63
+ };
57
64
  //# sourceMappingURL=read-file.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../../src/tools/fs/read-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../../src/tools/fs/read-file.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { ToolDefinition } from '../registry.js';
2
+ import type { ToolHandler } from '../types.js';
2
3
  import { fsOk } from './types.js';
3
4
  /**
4
5
  * Инструмент отображения дерева директорий.
@@ -8,4 +9,5 @@ import { fsOk } from './types.js';
8
9
  */
9
10
  export declare const treeDefinition: ToolDefinition;
10
11
  export declare function handleTree(args: Record<string, unknown>, cwd: string): ReturnType<typeof fsOk>;
12
+ export declare const treeHandler: ToolHandler;
11
13
  //# sourceMappingURL=tree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../src/tools/fs/tree.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAW,IAAI,EAAoB,MAAM,YAAY,CAAC;AAE7D;;;;;GAKG;AAEH,eAAO,MAAM,cAAc,EAAE,cAc5B,CAAC;AAkDF,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,MAAM,GACV,UAAU,CAAC,OAAO,IAAI,CAAC,CAwBzB"}
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../src/tools/fs/tree.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAW,IAAI,EAAoB,MAAM,YAAY,CAAC;AAE7D;;;;;GAKG;AAEH,eAAO,MAAM,cAAc,EAAE,cAc5B,CAAC;AAkDF,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,MAAM,GACV,UAAU,CAAC,OAAO,IAAI,CAAC,CAwBzB;AAED,eAAO,MAAM,WAAW,EAAE,WAMzB,CAAC"}
@@ -79,4 +79,11 @@ export function handleTree(args, cwd) {
79
79
  }
80
80
  return fsOk(output, counter.count >= maxFiles);
81
81
  }
82
+ export const treeHandler = {
83
+ name: 'tree',
84
+ definition: treeDefinition,
85
+ async execute(args, ctx) {
86
+ return handleTree(args, ctx.cwd);
87
+ },
88
+ };
82
89
  //# sourceMappingURL=tree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../src/tools/fs/tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../src/tools/fs/tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAiB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE7D;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,iDAAiD;QAC9D,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;gBAC/E,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;gBAChE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE;aAC/E;SACF;KACF;CACF,CAAC;AAEF,0CAA0C;AAC1C,SAAS,SAAS,CAChB,GAAW,EACX,OAAe,EACf,MAAc,EACd,KAAa,EACb,QAAgB,EAChB,OAA0B,EAC1B,QAAgB;IAEhB,IAAI,KAAK,GAAG,QAAQ,IAAI,OAAO,CAAC,KAAK,IAAI,QAAQ;QAAE,OAAO,EAAE,CAAC;IAE7D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAEpC,MAAM,MAAM,GAAG,OAAO;SACnB,MAAM,CAAC,CAAC,CAAC,EAAE;QACV,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE;YAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,IAAI,OAAO,CAAC,KAAK,IAAI,QAAQ;YAAE,MAAM;QAErC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEjC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC;YAC5C,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACxD,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnG,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,CAAC,CAAC;YAC3C,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,IAA6B,EAC7B,GAAW;IAEX,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEjD,MAAM,OAAO,GAAG,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;IAChD,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAE7B,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEzF,IAAI,OAAO,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,uBAAuB,QAAQ,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,MAAM,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,GAAG,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,cAAc;IAC1B,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG;QACrB,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;CACF,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { ToolDefinition } from '../registry.js';
2
+ import type { ToolHandler } from '../types.js';
2
3
  import { fsOk } from './types.js';
3
4
  /**
4
5
  * Инструмент записи файла.
@@ -9,4 +10,5 @@ import { fsOk } from './types.js';
9
10
  */
10
11
  export declare const writeFileDefinition: ToolDefinition;
11
12
  export declare function handleWriteFile(args: Record<string, unknown>, cwd: string): ReturnType<typeof fsOk>;
13
+ export declare const writeFileHandler: ToolHandler;
12
14
  //# sourceMappingURL=write-file.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"write-file.d.ts","sourceRoot":"","sources":["../../../src/tools/fs/write-file.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAW,IAAI,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;GAMG;AAEH,eAAO,MAAM,mBAAmB,EAAE,cAcjC,CAAC;AAEF,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,MAAM,GACV,UAAU,CAAC,OAAO,IAAI,CAAC,CAkCzB"}
1
+ {"version":3,"file":"write-file.d.ts","sourceRoot":"","sources":["../../../src/tools/fs/write-file.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAW,IAAI,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;GAMG;AAEH,eAAO,MAAM,mBAAmB,EAAE,cAcjC,CAAC;AAEF,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,MAAM,GACV,UAAU,CAAC,OAAO,IAAI,CAAC,CAkCzB;AAED,eAAO,MAAM,gBAAgB,EAAE,WAM9B,CAAC"}
@@ -62,4 +62,11 @@ export function handleWriteFile(args, cwd) {
62
62
  const lines = content.split('\n').length;
63
63
  return fsOk(`Written ${content.length} bytes (${lines} lines) to ${normalizePath(path)}`);
64
64
  }
65
+ export const writeFileHandler = {
66
+ name: 'write_file',
67
+ definition: writeFileDefinition,
68
+ async execute(args, ctx) {
69
+ return handleWriteFile(args, ctx.cwd);
70
+ },
71
+ };
65
72
  //# sourceMappingURL=write-file.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"write-file.js","sourceRoot":"","sources":["../../../src/tools/fs/write-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACvF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAmB;IACjD,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,kGAAkG;QAC/G,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sCAAsC,EAAE;gBAC7E,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;aAClE;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;SAC9B;KACF;CACF,CAAC;AAEF,MAAM,UAAU,eAAe,CAC7B,IAA6B,EAC7B,GAAW;IAEX,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAE7B,IAAI,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC,+FAA+F,CAAC,CAAC;IAC3H,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEjD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,OAAO,CAAC,4BAA4B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,GAAG,UAAU,CAAC;IAC1C,IAAI,CAAC;QACH,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACzC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,8BAA8B;QAC9B,IAAI,CAAC;YAAC,IAAI,UAAU,CAAC,OAAO,CAAC;gBAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC5E,OAAO,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,WAAW,KAAK,cAAc,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5F,CAAC"}
1
+ {"version":3,"file":"write-file.js","sourceRoot":"","sources":["../../../src/tools/fs/write-file.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { ToolDefinition } from '../registry.js';
2
+ import type { ToolHandler } from '../types.js';
3
+ /**
4
+ * Нативный инструмент approve — запрос подтверждения у пользователя.
5
+ * Приостанавливает ReAct-цикл до получения ответа.
6
+ *
7
+ * @module tools/native/approve
8
+ */
9
+ export declare const approveDefinition: ToolDefinition;
10
+ export declare const approveHandler: ToolHandler;
11
+ //# sourceMappingURL=approve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approve.d.ts","sourceRoot":"","sources":["../../../src/tools/native/approve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;GAKG;AAEH,eAAO,MAAM,iBAAiB,EAAE,cAa/B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,WAmB5B,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Нативный инструмент approve — запрос подтверждения у пользователя.
3
+ * Приостанавливает ReAct-цикл до получения ответа.
4
+ *
5
+ * @module tools/native/approve
6
+ */
7
+ export const approveDefinition = {
8
+ type: 'function',
9
+ function: {
10
+ name: 'approve',
11
+ description: 'Request user approval for an action. Pauses the agent loop until approved.',
12
+ parameters: {
13
+ type: 'object',
14
+ properties: {
15
+ action: { type: 'string', description: 'Action to approve' },
16
+ },
17
+ required: ['action'],
18
+ },
19
+ },
20
+ };
21
+ export const approveHandler = {
22
+ name: 'approve',
23
+ definition: approveDefinition,
24
+ async execute(args, ctx) {
25
+ const action = String(args.action || args.text || '');
26
+ if (!ctx.quiet) {
27
+ ctx.renderer?.writeBracketTag('approve', action);
28
+ }
29
+ return {
30
+ stdout: `Approval requested: ${action}`,
31
+ stderr: '',
32
+ exitCode: 0,
33
+ truncated: false,
34
+ questionPending: true,
35
+ breakLoop: true,
36
+ };
37
+ },
38
+ };
39
+ //# sourceMappingURL=approve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approve.js","sourceRoot":"","sources":["../../../src/tools/native/approve.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAmB;IAC/C,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,4EAA4E;QACzF,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;aAC7D;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,IAAI,EAAE,SAAS;IACf,UAAU,EAAE,iBAAiB;IAC7B,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG;QACrB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAEtD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;QAED,OAAO;YACL,MAAM,EAAE,uBAAuB,MAAM,EAAE;YACvC,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,KAAK;YAChB,eAAe,EAAE,IAAI;YACrB,SAAS,EAAE,IAAI;SAChB,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { ToolDefinition } from '../registry.js';
2
+ import type { ToolHandler } from '../types.js';
3
+ /**
4
+ * Нативный инструмент plan — управление планами задач.
5
+ *
6
+ * @module tools/native/plan
7
+ */
8
+ export declare const planDefinition: ToolDefinition;
9
+ export declare const planHandler: ToolHandler;
10
+ //# sourceMappingURL=plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/tools/native/plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AAG3D;;;;GAIG;AAEH,eAAO,MAAM,cAAc,EAAE,cAc5B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,WA4BzB,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { createPlan } from '../plan.js';
2
+ /**
3
+ * Нативный инструмент plan — управление планами задач.
4
+ *
5
+ * @module tools/native/plan
6
+ */
7
+ export const planDefinition = {
8
+ type: 'function',
9
+ function: {
10
+ name: 'plan',
11
+ description: 'Create a task plan with named steps. Use before starting multi-step work.',
12
+ parameters: {
13
+ type: 'object',
14
+ properties: {
15
+ name: { type: 'string', description: 'Plan name' },
16
+ steps: { type: 'array', items: { type: 'string' }, description: 'List of steps' },
17
+ },
18
+ required: ['name', 'steps'],
19
+ },
20
+ },
21
+ };
22
+ export const planHandler = {
23
+ name: 'plan',
24
+ definition: planDefinition,
25
+ async execute(args, ctx) {
26
+ const planName = String(args.name || 'Untitled');
27
+ const stepsRaw = args.steps || [];
28
+ const steps = Array.isArray(stepsRaw) ? stepsRaw.map(String) : String(stepsRaw).split('\n').filter((s) => s.trim());
29
+ if (!ctx.quiet) {
30
+ ctx.renderer?.writeBracketTag('plan', 'create');
31
+ }
32
+ let output = createPlan(planName, steps);
33
+ if (steps.length >= 3) {
34
+ output += `\n\nIMPORTANT: Plan has ${steps.length} steps. Use subagent tool for EACH step to work in isolation:\n`;
35
+ for (let i = 0; i < steps.length; i++) {
36
+ output += `subagent("Step ${i + 1}: ${steps[i]}. List existing files and packages.")\n`;
37
+ }
38
+ output += `This prevents context loss. Do NOT use write_file directly — delegate to subagents.`;
39
+ }
40
+ if (!ctx.quiet && output) {
41
+ ctx.renderer?.writeLine(output);
42
+ }
43
+ return { stdout: output, stderr: '', exitCode: 0, truncated: false };
44
+ },
45
+ };
46
+ //# sourceMappingURL=plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/tools/native/plan.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC;;;;GAIG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,2EAA2E;QACxF,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE;gBAClD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE;aAClF;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;SAC5B;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,cAAc;IAC1B,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG;QACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAE5H,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEzC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,2BAA2B,KAAK,CAAC,MAAM,iEAAiE,CAAC;YACnH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,yCAAyC,CAAC;YAC1F,CAAC;YACD,MAAM,IAAI,qFAAqF,CAAC;QAClG,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACvE,CAAC;CACF,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { ToolDefinition } from '../registry.js';
2
+ import type { ToolHandler } from '../types.js';
3
+ /**
4
+ * Нативный инструмент question — запрос вопроса пользователю.
5
+ * Приостанавливает ReAct-цикл до получения ответа.
6
+ *
7
+ * @module tools/native/question
8
+ */
9
+ export declare const questionDefinition: ToolDefinition;
10
+ export declare const questionHandler: ToolHandler;
11
+ //# sourceMappingURL=question.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../../src/tools/native/question.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;GAKG;AAEH,eAAO,MAAM,kBAAkB,EAAE,cAchC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,WAoB7B,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Нативный инструмент question — запрос вопроса пользователю.
3
+ * Приостанавливает ReAct-цикл до получения ответа.
4
+ *
5
+ * @module tools/native/question
6
+ */
7
+ export const questionDefinition = {
8
+ type: 'function',
9
+ function: {
10
+ name: 'question',
11
+ description: 'Ask the user a question. Pauses the agent loop until answered.',
12
+ parameters: {
13
+ type: 'object',
14
+ properties: {
15
+ question: { type: 'string', description: 'Question to ask' },
16
+ choices: { type: 'array', items: { type: 'string' }, description: 'Optional choice options' },
17
+ },
18
+ required: ['question'],
19
+ },
20
+ },
21
+ };
22
+ export const questionHandler = {
23
+ name: 'question',
24
+ definition: questionDefinition,
25
+ async execute(args, ctx) {
26
+ const question = String(args.question || args.text || '');
27
+ const choicesArr = Array.isArray(args.choices) ? args.choices : [];
28
+ if (!ctx.quiet) {
29
+ ctx.renderer?.writeBracketTag('question', question);
30
+ }
31
+ return {
32
+ stdout: `Question asked: ${question}`,
33
+ stderr: '',
34
+ exitCode: 0,
35
+ truncated: false,
36
+ questionPending: true,
37
+ breakLoop: true,
38
+ };
39
+ },
40
+ };
41
+ //# sourceMappingURL=question.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question.js","sourceRoot":"","sources":["../../../src/tools/native/question.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAmB;IAChD,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,gEAAgE;QAC7E,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE;gBAC5D,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,yBAAyB,EAAE;aAC9F;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAgB;IAC1C,IAAI,EAAE,UAAU;IAChB,UAAU,EAAE,kBAAkB;IAC9B,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG;QACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAEnE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;QAED,OAAO;YACL,MAAM,EAAE,mBAAmB,QAAQ,EAAE;YACrC,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,KAAK;YAChB,eAAe,EAAE,IAAI;YACrB,SAAS,EAAE,IAAI;SAChB,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { ToolDefinition } from '../registry.js';
2
+ import type { ToolHandler } from '../types.js';
3
+ /**
4
+ * Нативный инструмент theme — управление темами оформления.
5
+ *
6
+ * @module tools/native/theme
7
+ */
8
+ export declare const themeDefinition: ToolDefinition;
9
+ export declare const themeHandler: ToolHandler;
10
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/tools/native/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK/C;;;;GAIG;AAEH,eAAO,MAAM,eAAe,EAAE,cAe7B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAkF1B,CAAC"}
@@ -0,0 +1,106 @@
1
+ import { listThemes, switchTheme } from '../../styling/index.js';
2
+ import { loadThemeConfig, installTheme, removeTheme } from '../../styling/loader.js';
3
+ import { loadConfig, saveConfig } from '../../config/config.js';
4
+ /**
5
+ * Нативный инструмент theme — управление темами оформления.
6
+ *
7
+ * @module tools/native/theme
8
+ */
9
+ export const themeDefinition = {
10
+ type: 'function',
11
+ function: {
12
+ name: 'theme',
13
+ description: 'Manage UI themes. Actions: list, show, switch, install, remove.',
14
+ parameters: {
15
+ type: 'object',
16
+ properties: {
17
+ action: { type: 'string', description: 'list, show, switch, install, remove' },
18
+ name: { type: 'string', description: 'Theme name (for switch/install/remove)' },
19
+ url: { type: 'string', description: 'Theme URL (for install)' },
20
+ },
21
+ required: ['action'],
22
+ },
23
+ },
24
+ };
25
+ export const themeHandler = {
26
+ name: 'theme',
27
+ definition: themeDefinition,
28
+ async execute(args, ctx) {
29
+ const action = String(args.action || 'list');
30
+ const name = String(args.name || '');
31
+ const url = String(args.url || '');
32
+ if (!ctx.quiet) {
33
+ ctx.renderer?.writeBracketTag('theme', action);
34
+ }
35
+ let output = '';
36
+ let exitCode = 0;
37
+ switch (action) {
38
+ case 'list': {
39
+ const allThemes = listThemes();
40
+ const current = loadThemeConfig().name;
41
+ output = `Available themes (${allThemes.length}):\n`;
42
+ for (const t of allThemes) {
43
+ output += ` ${t}${t === current ? ' (active)' : ''}\n`;
44
+ }
45
+ break;
46
+ }
47
+ case 'show': {
48
+ const config = loadThemeConfig();
49
+ output = `Theme: ${config.name}\nColors: ${JSON.stringify(config.colors, null, 2)}\nIcons: ${JSON.stringify(config.icons, null, 2)}`;
50
+ break;
51
+ }
52
+ case 'switch': {
53
+ const allThemes = listThemes();
54
+ if (!allThemes.includes(name)) {
55
+ output = `Unknown theme "${name}". Available: ${allThemes.join(', ')}`;
56
+ exitCode = 1;
57
+ break;
58
+ }
59
+ const appConfig = loadConfig();
60
+ appConfig.theme = name;
61
+ saveConfig(appConfig);
62
+ switchTheme(name);
63
+ try {
64
+ const { resetInkTheme } = await import('../../ui/ink/theme.js');
65
+ resetInkTheme();
66
+ }
67
+ catch { /* not in ink mode */ }
68
+ output = `Theme switched to "${name}"`;
69
+ break;
70
+ }
71
+ case 'install': {
72
+ if (!name || !url) {
73
+ output = 'Usage: theme install <name> <url>';
74
+ exitCode = 1;
75
+ break;
76
+ }
77
+ try {
78
+ const resp = await fetch(url);
79
+ const text = await resp.text();
80
+ JSON.parse(text);
81
+ installTheme(name, text);
82
+ output = `Theme "${name}" installed from ${url}`;
83
+ }
84
+ catch (e) {
85
+ output = `Failed to install theme: ${e.message}`;
86
+ exitCode = 1;
87
+ }
88
+ break;
89
+ }
90
+ case 'remove': {
91
+ if (!removeTheme(name)) {
92
+ output = `Theme "${name}" not found`;
93
+ exitCode = 1;
94
+ break;
95
+ }
96
+ output = `Theme "${name}" removed`;
97
+ break;
98
+ }
99
+ default:
100
+ output = 'Unknown theme action. Use: list, show, switch, install, remove';
101
+ exitCode = 1;
102
+ }
103
+ return { stdout: output, stderr: '', exitCode, truncated: false };
104
+ },
105
+ };
106
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/tools/native/theme.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { ToolDefinition } from '../registry.js';
2
+ import type { ToolHandler } from '../types.js';
3
+ /**
4
+ * Нативный инструмент todo — управление списком задач.
5
+ *
6
+ * @module tools/native/todo
7
+ */
8
+ export declare const todoDefinition: ToolDefinition;
9
+ export declare const todoHandler: ToolHandler;
10
+ //# sourceMappingURL=todo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo.d.ts","sourceRoot":"","sources":["../../../src/tools/native/todo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C;;;;GAIG;AAEH,eAAO,MAAM,cAAc,EAAE,cAc5B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,WA4BzB,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { addTodo, doneTodo, removeTodo, listTodos } from '../todo.js';
2
+ /**
3
+ * Нативный инструмент todo — управление списком задач.
4
+ *
5
+ * @module tools/native/todo
6
+ */
7
+ export const todoDefinition = {
8
+ type: 'function',
9
+ function: {
10
+ name: 'todo',
11
+ description: 'Manage a todo list. Actions: add, done, remove, list.',
12
+ parameters: {
13
+ type: 'object',
14
+ properties: {
15
+ action: { type: 'string', description: 'add, done, remove, list' },
16
+ text: { type: 'string', description: 'Todo text (for add/done/remove)' },
17
+ },
18
+ required: ['action'],
19
+ },
20
+ },
21
+ };
22
+ export const todoHandler = {
23
+ name: 'todo',
24
+ definition: todoDefinition,
25
+ async execute(args, ctx) {
26
+ const action = String(args.action || 'list');
27
+ const text = String(args.text || '');
28
+ if (!ctx.quiet) {
29
+ ctx.renderer?.writeBracketTag('todo', action);
30
+ }
31
+ let output = '';
32
+ let exitCode = 0;
33
+ switch (action) {
34
+ case 'add':
35
+ output = addTodo(text);
36
+ break;
37
+ case 'done':
38
+ output = doneTodo(text);
39
+ break;
40
+ case 'remove':
41
+ case 'rm':
42
+ output = removeTodo(text);
43
+ break;
44
+ case 'list':
45
+ case 'ls':
46
+ output = listTodos();
47
+ break;
48
+ default:
49
+ output = 'Unknown todo action. Use: add, done, remove, list';
50
+ exitCode = 1;
51
+ }
52
+ if (!ctx.quiet && exitCode === 0 && output) {
53
+ ctx.renderer?.writeLine(output);
54
+ }
55
+ return { stdout: output, stderr: '', exitCode, truncated: false };
56
+ },
57
+ };
58
+ //# sourceMappingURL=todo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo.js","sourceRoot":"","sources":["../../../src/tools/native/todo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEtE;;;;GAIG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,uDAAuD;QACpE,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;gBAClE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iCAAiC,EAAE;aACzE;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,cAAc;IAC1B,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG;QACrB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAErC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,KAAK;gBAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBAAC,MAAM;YAC1C,KAAK,MAAM;gBAAE,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAAC,MAAM;YAC5C,KAAK,QAAQ,CAAC;YAAC,KAAK,IAAI;gBAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;gBAAC,MAAM;YAC3D,KAAK,MAAM,CAAC;YAAC,KAAK,IAAI;gBAAE,MAAM,GAAG,SAAS,EAAE,CAAC;gBAAC,MAAM;YACpD;gBAAS,MAAM,GAAG,mDAAmD,CAAC;gBAAC,QAAQ,GAAG,CAAC,CAAC;QACtF,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,QAAQ,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YAC3C,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACpE,CAAC;CACF,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { ToolDefinition } from '../registry.js';
2
+ import type { ToolHandler } from '../types.js';
3
+ /**
4
+ * Нативный инструмент user_profile — управление профилем пользователя.
5
+ *
6
+ * @module tools/native/user-profile
7
+ */
8
+ export declare const userProfileDefinition: ToolDefinition;
9
+ export declare const userProfileHandler: ToolHandler;
10
+ //# sourceMappingURL=user-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-profile.d.ts","sourceRoot":"","sources":["../../../src/tools/native/user-profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C;;;;GAIG;AAEH,eAAO,MAAM,qBAAqB,EAAE,cAenC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,WAsChC,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { loadProfile, appendNote } from '../../agent/user-profile.js';
2
+ /**
3
+ * Нативный инструмент user_profile — управление профилем пользователя.
4
+ *
5
+ * @module tools/native/user-profile
6
+ */
7
+ export const userProfileDefinition = {
8
+ type: 'function',
9
+ function: {
10
+ name: 'user_profile',
11
+ description: 'View or add notes to user profile. Actions: show, add_note.',
12
+ parameters: {
13
+ type: 'object',
14
+ properties: {
15
+ action: { type: 'string', description: 'show or add_note' },
16
+ note: { type: 'string', description: 'Note text (for add_note)' },
17
+ section: { type: 'string', description: 'Section name (for add_note, default: Notes)' },
18
+ },
19
+ required: ['action'],
20
+ },
21
+ },
22
+ };
23
+ export const userProfileHandler = {
24
+ name: 'user_profile',
25
+ definition: userProfileDefinition,
26
+ async execute(args, ctx) {
27
+ const action = String(args.action || 'show');
28
+ if (!ctx.quiet) {
29
+ ctx.renderer?.writeBracketTag('user_profile', action);
30
+ }
31
+ let output = '';
32
+ let exitCode = 0;
33
+ switch (action) {
34
+ case 'show': {
35
+ const content = loadProfile();
36
+ output = content || 'User profile is empty.';
37
+ break;
38
+ }
39
+ case 'add_note': {
40
+ const note = String(args.note || args.text || '');
41
+ const section = String(args.section || 'Notes');
42
+ if (!note) {
43
+ output = 'Usage: user_profile action=add_note section=Notes note=...';
44
+ exitCode = 1;
45
+ break;
46
+ }
47
+ appendNote(note, section);
48
+ output = `Note added to "${section}" section.`;
49
+ break;
50
+ }
51
+ default:
52
+ output = 'Unknown user_profile action. Use: show, add_note';
53
+ exitCode = 1;
54
+ }
55
+ return { stdout: output, stderr: '', exitCode, truncated: false };
56
+ },
57
+ };
58
+ //# sourceMappingURL=user-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-profile.js","sourceRoot":"","sources":["../../../src/tools/native/user-profile.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEtE;;;;GAIG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,6DAA6D;QAC1E,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBAC3D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;gBACjE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6CAA6C,EAAE;aACxF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAgB;IAC7C,IAAI,EAAE,cAAc;IACpB,UAAU,EAAE,qBAAqB;IACjC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG;QACrB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;QAE7C,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;gBAC9B,MAAM,GAAG,OAAO,IAAI,wBAAwB,CAAC;gBAC7C,MAAM;YACR,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC;gBAChD,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,MAAM,GAAG,4DAA4D,CAAC;oBACtE,QAAQ,GAAG,CAAC,CAAC;oBACb,MAAM;gBACR,CAAC;gBACD,UAAU,CAAC,IAAI,EAAE,OAAc,CAAC,CAAC;gBACjC,MAAM,GAAG,kBAAkB,OAAO,YAAY,CAAC;gBAC/C,MAAM;YACR,CAAC;YACD;gBACE,MAAM,GAAG,kDAAkD,CAAC;gBAC5D,QAAQ,GAAG,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACpE,CAAC;CACF,CAAC"}