micro-models-agent 0.2.40 → 0.2.42

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 (79) hide show
  1. package/dist/agent/loop.d.ts.map +1 -1
  2. package/dist/agent/loop.js +230 -219
  3. package/dist/agent/loop.js.map +1 -1
  4. package/dist/agent/system-prompt.d.ts.map +1 -1
  5. package/dist/agent/system-prompt.js +62 -23
  6. package/dist/agent/system-prompt.js.map +1 -1
  7. package/dist/async-map.d.ts +6 -0
  8. package/dist/async-map.d.ts.map +1 -0
  9. package/dist/async-map.js +16 -0
  10. package/dist/async-map.js.map +1 -0
  11. package/dist/cli.d.ts.map +1 -1
  12. package/dist/cli.js +15 -1
  13. package/dist/cli.js.map +1 -1
  14. package/dist/examples.d.ts +22 -0
  15. package/dist/examples.d.ts.map +1 -0
  16. package/dist/examples.js +45 -0
  17. package/dist/examples.js.map +1 -0
  18. package/dist/fibonacci.d.ts +19 -0
  19. package/dist/fibonacci.d.ts.map +1 -0
  20. package/dist/fibonacci.js +61 -0
  21. package/dist/fibonacci.js.map +1 -0
  22. package/dist/logger.d.ts +2 -2
  23. package/dist/logger.d.ts.map +1 -1
  24. package/dist/logger.js +7 -5
  25. package/dist/logger.js.map +1 -1
  26. package/dist/skills/builtin/agent-test/SKILL.md +68 -0
  27. package/dist/sort.d.ts +8 -0
  28. package/dist/sort.d.ts.map +1 -0
  29. package/dist/sort.js +36 -0
  30. package/dist/sort.js.map +1 -0
  31. package/dist/stack.d.ts +9 -0
  32. package/dist/stack.d.ts.map +1 -0
  33. package/dist/stack.js +22 -0
  34. package/dist/stack.js.map +1 -0
  35. package/dist/test-run.d.ts +2 -0
  36. package/dist/test-run.d.ts.map +1 -0
  37. package/dist/test-run.js +13 -0
  38. package/dist/test-run.js.map +1 -0
  39. package/dist/tools/bash.d.ts.map +1 -1
  40. package/dist/tools/bash.js +9 -7
  41. package/dist/tools/bash.js.map +1 -1
  42. package/dist/tools/fs/grep-search.js +1 -1
  43. package/dist/tools/fs/grep-search.js.map +1 -1
  44. package/dist/tools/registry.d.ts.map +1 -1
  45. package/dist/tools/registry.js +19 -1
  46. package/dist/tools/registry.js.map +1 -1
  47. package/dist/tools/subagent.d.ts +25 -0
  48. package/dist/tools/subagent.d.ts.map +1 -0
  49. package/dist/tools/subagent.js +412 -0
  50. package/dist/tools/subagent.js.map +1 -0
  51. package/dist/tools/syntax-check.d.ts.map +1 -1
  52. package/dist/tools/syntax-check.js +7 -2
  53. package/dist/tools/syntax-check.js.map +1 -1
  54. package/dist/ui/ink/components/ToolCallBlock.d.ts.map +1 -1
  55. package/dist/ui/ink/components/ToolCallBlock.js +10 -1
  56. package/dist/ui/ink/components/ToolCallBlock.js.map +1 -1
  57. package/dist/ui/ink/renderer.d.ts +1 -1
  58. package/dist/ui/ink/renderer.d.ts.map +1 -1
  59. package/dist/ui/ink/renderer.js +2 -2
  60. package/dist/ui/ink/renderer.js.map +1 -1
  61. package/dist/ui/readline-renderer.d.ts +1 -1
  62. package/dist/ui/readline-renderer.d.ts.map +1 -1
  63. package/dist/ui/readline-renderer.js +4 -1
  64. package/dist/ui/readline-renderer.js.map +1 -1
  65. package/dist/ui/renderer.d.ts +1 -1
  66. package/dist/ui/renderer.d.ts.map +1 -1
  67. package/dist/utils/memoize.d.ts +14 -0
  68. package/dist/utils/memoize.d.ts.map +1 -0
  69. package/dist/utils/memoize.js +51 -0
  70. package/dist/utils/memoize.js.map +1 -0
  71. package/dist/utils/types.d.ts +6 -0
  72. package/dist/utils/types.d.ts.map +1 -0
  73. package/dist/utils/types.js +2 -0
  74. package/dist/utils/types.js.map +1 -0
  75. package/dist/utils.d.ts +22 -0
  76. package/dist/utils.d.ts.map +1 -0
  77. package/dist/utils.js +81 -0
  78. package/dist/utils.js.map +1 -0
  79. package/package.json +3 -3
@@ -23,7 +23,7 @@ export declare class ReadlineRenderer implements OutputRenderer {
23
23
  writeHeading(text: string): void;
24
24
  writeToolHeader(name: string): void;
25
25
  writeToolPreview(toolName: string, argsJson: string): void;
26
- writeToolResult(time: string, exitCode?: number): void;
26
+ writeToolResult(time: string, exitCode?: number, result?: string): void;
27
27
  writeMarkdownChunk(chunk: string): void;
28
28
  commitMarkdown(): void;
29
29
  writeSpinner(text?: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"readline-renderer.d.ts","sourceRoot":"","sources":["../../src/ui/readline-renderer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAK/D,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,qBAAa,gBAAiB,YAAW,cAAc;IACrD,OAAO,CAAC,EAAE,CAAkD;IAC5D,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,QAAQ,CAAyB;IAEzC,WAAW,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAIrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAW5B,OAAO,CAAC,aAAa;IAcrB,OAAO,KAAK,KAAK,GAEhB;IAED,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ9B,YAAY,IAAI,IAAI;IAIpB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI7B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5B,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAInD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKnC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI1D,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAItD,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIvC,cAAc,IAAI,IAAI;IAItB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAIjC,YAAY,IAAI,IAAI;IAIpB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAItC,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAIrC,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAItB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK1C,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,SAAI,GAAG,IAAI;IAOtD,OAAO,IAAI,IAAI;CAMhB"}
1
+ {"version":3,"file":"readline-renderer.d.ts","sourceRoot":"","sources":["../../src/ui/readline-renderer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAK/D,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,qBAAa,gBAAiB,YAAW,cAAc;IACrD,OAAO,CAAC,EAAE,CAAkD;IAC5D,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,QAAQ,CAAyB;IAEzC,WAAW,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAIrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAW5B,OAAO,CAAC,aAAa;IAcrB,OAAO,KAAK,KAAK,GAEhB;IAED,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ9B,YAAY,IAAI,IAAI;IAIpB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI7B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5B,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAInD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKnC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI1D,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAOvE,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIvC,cAAc,IAAI,IAAI;IAItB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAIjC,YAAY,IAAI,IAAI;IAIpB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAItC,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAIrC,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAItB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK1C,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,SAAI,GAAG,IAAI;IAOtD,OAAO,IAAI,IAAI;CAMhB"}
@@ -76,8 +76,11 @@ export class ReadlineRenderer {
76
76
  writeToolPreview(toolName, argsJson) {
77
77
  console.log(` ${this.theme.dim(argsJson)}`);
78
78
  }
79
- writeToolResult(time, exitCode) {
79
+ writeToolResult(time, exitCode, result) {
80
80
  console.log(this.theme.timingLine(time, exitCode));
81
+ if (result) {
82
+ console.log(` ${this.theme.dim(result)}`);
83
+ }
81
84
  }
82
85
  writeMarkdownChunk(chunk) {
83
86
  process.stdout.write(chunk);
@@ -1 +1 @@
1
- {"version":3,"file":"readline-renderer.js","sourceRoot":"","sources":["../../src/ui/readline-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readline-renderer.js","sourceRoot":"","sources":["../../src/ui/readline-renderer.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ export interface OutputRenderer {
19
19
  writeHeading(text: string): void;
20
20
  writeToolHeader(name: string): void;
21
21
  writeToolPreview(toolName: string, argsJson: string): void;
22
- writeToolResult(time: string, exitCode?: number): void;
22
+ writeToolResult(time: string, exitCode?: number, result?: string): void;
23
23
  writeMarkdownChunk(chunk: string): void;
24
24
  commitMarkdown(): void;
25
25
  writeSpinner(text?: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/ui/renderer.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,YAAY,IAAI,IAAI,CAAA;IAEpB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACnD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAEhC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1D,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEtD,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,cAAc,IAAI,IAAI,CAAA;IAEtB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,YAAY,IAAI,IAAI,CAAA;IAEpB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;IAEpC,KAAK,IAAI,IAAI,CAAA;IAEb,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACpC,iBAAiB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAEnE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAE3D,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAE5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,OAAO,IAAI,IAAI,CAAA;IAEf,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAClC,KAAK,CAAC,IAAI,IAAI,CAAA;IACd,UAAU,CAAC,IAAI,IAAI,CAAA;CACpB"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/ui/renderer.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,YAAY,IAAI,IAAI,CAAA;IAEpB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACnD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAEhC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1D,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEvE,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,cAAc,IAAI,IAAI,CAAA;IAEtB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,YAAY,IAAI,IAAI,CAAA;IAEpB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;IAEpC,KAAK,IAAI,IAAI,CAAA;IAEb,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACpC,iBAAiB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAEnE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAE3D,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAE5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,OAAO,IAAI,IAAI,CAAA;IAEf,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAClC,KAAK,CAAC,IAAI,IAAI,CAAA;IACd,UAAU,CAAC,IAAI,IAAI,CAAA;CACpB"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Memoize decorator that caches results of pure functions.
3
+ * Reduces redundant computations by storing previously computed values.
4
+ *
5
+ * @example
6
+ * const factorial = memoize((n: number): number => {
7
+ * if (n <= 1) return 1
8
+ * return n * factorial(n - 1)
9
+ * })
10
+ * console.log(factorial(5)) // Computes
11
+ * console.log(factorial(5)) // Memoized from cache
12
+ */
13
+ export declare function memoize<T extends (...args: unknown[]) => unknown>(fn: T): T;
14
+ //# sourceMappingURL=memoize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memoize.d.ts","sourceRoot":"","sources":["../../src/utils/memoize.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAiB3E"}
@@ -0,0 +1,51 @@
1
+ 'use strict';
2
+ /**
3
+ * Memoize decorator that caches results of pure functions.
4
+ * Reduces redundant computations by storing previously computed values.
5
+ *
6
+ * @example
7
+ * const factorial = memoize((n: number): number => {
8
+ * if (n <= 1) return 1
9
+ * return n * factorial(n - 1)
10
+ * })
11
+ * console.log(factorial(5)) // Computes
12
+ * console.log(factorial(5)) // Memoized from cache
13
+ */
14
+ export function memoize(fn) {
15
+ const cache = new Map();
16
+ return ((...args) => {
17
+ // Создаем уникальный ключ из аргументов
18
+ const key = argsToKey(args);
19
+ if (cache.has(key)) {
20
+ console.log(`Memoized: ${fn.name} for`, key);
21
+ return cache.get(key);
22
+ }
23
+ console.log(`Computing: ${fn.name} for`, key);
24
+ const result = fn(...args);
25
+ cache.set(key, result);
26
+ return result;
27
+ });
28
+ }
29
+ /**
30
+ * Преобразует аргументы в уникальный ключ.
31
+ * Для объектов и массивов использует JSON.stringify с обработкой циклических ссылок.
32
+ */
33
+ function argsToKey(args) {
34
+ // Для примитивных типов используем их как ключ
35
+ if (args.length === 0)
36
+ return Symbol('empty');
37
+ const lastArg = args[args.length - 1];
38
+ // Если последний аргумент — объект или массив, создаём уникальный символ
39
+ if (isComplex(lastArg)) {
40
+ return Symbol(String(args.map(a => isComplex(a) ? String(a) : a).join(',')));
41
+ }
42
+ // Для примитивных аргументов используем строковый ключ
43
+ return args.map(a => isComplex(a) ? String(a) : a).join(',');
44
+ }
45
+ /**
46
+ * Проверяет, является ли значение сложным (объектом или массивом).
47
+ */
48
+ function isComplex(value) {
49
+ return value !== null && typeof value === 'object';
50
+ }
51
+ //# sourceMappingURL=memoize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memoize.js","sourceRoot":"","sources":["../../src/utils/memoize.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,OAAO,CAA4C,EAAK;IACtE,MAAM,KAAK,GAAG,IAAI,GAAG,EAA4B,CAAA;IAEjD,OAAO,CAAC,CAAC,GAAG,IAAe,EAAE,EAAE;QAC7B,wCAAwC;QACxC,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;QAE3B,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,MAAM,EAAE,GAAG,CAAC,CAAA;YAC5C,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAkB,CAAA;QACxC,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,IAAI,MAAM,EAAE,GAAG,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;QAC1B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACtB,OAAO,MAAM,CAAA;IACf,CAAC,CAAM,CAAA;AACT,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,IAAe;IAChC,+CAA+C;IAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;IAE7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAErC,yEAAyE;IACzE,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC9E,CAAC;IAED,uDAAuD;IACvD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC9D,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAA;AACpD,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type NumberResult = {
2
+ success?: boolean;
3
+ data?: number[];
4
+ error?: string;
5
+ };
6
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ export type DebounceOptions = {
2
+ wait?: number;
3
+ immediate?: boolean;
4
+ };
5
+ /**
6
+ * Дебаунсер для функции
7
+ * @param fn Функция, которую нужно дебаунсить
8
+ * @param options Настройки (выдержка и немедленный вызов)
9
+ * @returns Обёрнутая функция с дебаунсингом
10
+ */
11
+ export declare function debounce<T extends (...args: any[]) => any>(fn: T, wait?: number, options?: DebounceOptions): T;
12
+ /**
13
+ * Дебаунсер с поддержкой отмены
14
+ * @param fn Функция, которую нужно дебаунсить
15
+ * @param options Настройки
16
+ * @returns Объект с функцией и методом cancel
17
+ */
18
+ export declare function debounceWithCancel<T extends (...args: any[]) => any>(fn: T, wait?: number, options?: DebounceOptions): {
19
+ debounced: T;
20
+ cancel: () => void;
21
+ };
22
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACxD,EAAE,EAAE,CAAC,EACL,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,GAAE,eAAoB,GAC5B,CAAC,CA4CH;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAClE,EAAE,EAAE,CAAC,EACL,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,GAAE,eAAoB,GAC5B;IAAE,SAAS,EAAE,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,IAAI,CAAA;CAAE,CAoCtC"}
package/dist/utils.js ADDED
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Дебаунсер для функции
3
+ * @param fn Функция, которую нужно дебаунсить
4
+ * @param options Настройки (выдержка и немедленный вызов)
5
+ * @returns Обёрнутая функция с дебаунсингом
6
+ */
7
+ export function debounce(fn, wait, options = {}) {
8
+ const { wait: defaultWait = 100, immediate: shouldImmediate = false } = options;
9
+ let timer = null;
10
+ /**
11
+ * Обёрнутая функция
12
+ */
13
+ return ((...args) => {
14
+ // Очищаем предыдущий таймер
15
+ if (timer) {
16
+ clearTimeout(timer);
17
+ }
18
+ const timeout = defaultWait;
19
+ // Если нужно выполнить функцию немедленно при первом вызове
20
+ if (shouldImmediate) {
21
+ timer = setTimeout(() => {
22
+ timer = null;
23
+ }, timeout);
24
+ // Выполняем функцию сразу
25
+ try {
26
+ return fn(...args);
27
+ }
28
+ catch (error) {
29
+ console.error('Error in debounced function:', error);
30
+ throw error;
31
+ }
32
+ }
33
+ // Иначе выполняем функцию после выдержки
34
+ timer = setTimeout(() => {
35
+ timer = null;
36
+ try {
37
+ return fn(...args);
38
+ }
39
+ catch (error) {
40
+ console.error('Error in debounced function:', error);
41
+ throw error;
42
+ }
43
+ }, timeout);
44
+ });
45
+ }
46
+ /**
47
+ * Дебаунсер с поддержкой отмены
48
+ * @param fn Функция, которую нужно дебаунсить
49
+ * @param options Настройки
50
+ * @returns Объект с функцией и методом cancel
51
+ */
52
+ export function debounceWithCancel(fn, wait, options = {}) {
53
+ const { wait: defaultWait = 100, immediate: shouldImmediate = false } = options;
54
+ let timer = null;
55
+ let lastResult;
56
+ /**
57
+ * Обёрнутая функция
58
+ */
59
+ const debounced = ((...args) => {
60
+ // Очищаем предыдущий таймер
61
+ if (timer) {
62
+ clearTimeout(timer);
63
+ }
64
+ timer = setTimeout(() => {
65
+ lastResult = fn(...args);
66
+ timer = null;
67
+ }, defaultWait);
68
+ return lastResult;
69
+ });
70
+ /**
71
+ * Отмена следующего вызова
72
+ */
73
+ const cancel = () => {
74
+ if (timer) {
75
+ clearTimeout(timer);
76
+ timer = null;
77
+ }
78
+ };
79
+ return { debounced, cancel };
80
+ }
81
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CACtB,EAAK,EACL,IAAa,EACb,UAA2B,EAAE;IAE7B,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,GAAG,EAAE,SAAS,EAAE,eAAe,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEhF,IAAI,KAAK,GAAyC,IAAI,CAAC;IAEvD;;OAEG;IACH,OAAO,CAAC,CACN,GAAG,IAAmB,EACP,EAAE;QACjB,4BAA4B;QAC5B,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,OAAO,GAAG,WAAW,CAAC;QAE5B,4DAA4D;QAC5D,IAAI,eAAe,EAAE,CAAC;YACpB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,KAAK,GAAG,IAAI,CAAC;YACf,CAAC,EAAE,OAAO,CAAC,CAAC;YAEZ,0BAA0B;YAC1B,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;gBACrD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,KAAK,GAAG,IAAI,CAAC;YACb,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;gBACrD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC,CAAM,CAAC;AACV,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,EAAK,EACL,IAAa,EACb,UAA2B,EAAE;IAE7B,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,GAAG,EAAE,SAAS,EAAE,eAAe,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEhF,IAAI,KAAK,GAAyC,IAAI,CAAC;IACvD,IAAI,UAAqC,CAAC;IAE1C;;OAEG;IACH,MAAM,SAAS,GAAG,CAAC,CACjB,GAAG,IAAmB,EACP,EAAE;QACjB,4BAA4B;QAC5B,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,UAAU,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACzB,KAAK,GAAG,IAAI,CAAC;QACf,CAAC,EAAE,WAAW,CAAC,CAAC;QAEhB,OAAO,UAAU,CAAC;IACpB,CAAC,CAAM,CAAC;IAER;;OAEG;IACH,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC/B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "micro-models-agent",
3
- "version": "0.2.40",
3
+ "version": "0.2.42",
4
4
  "description": "Micro Models Agent (MMA) — LLM agent harness for small models (Qwen3.5-9B, 32K-64K context)",
5
5
  "type": "module",
6
6
  "bin": {
@@ -22,8 +22,8 @@
22
22
  "prepublishOnly": "npm run build",
23
23
  "prepack": "npm run build",
24
24
  "dev": "bun --watch src/index.ts",
25
- "test": "bun test tests/context.test.ts tests/sanitizer.test.ts tests/code-index.test.ts tests/plan-todo-memory.test.ts tests/file-loader-syntax.test.ts tests/commands.test.ts",
26
- "test:integration": "bun test tests/llm-integration.test.ts tests/agent-integration.test.ts",
25
+ "test": "bun test tests/context.test.ts tests/sanitizer.test.ts tests/code-index.test.ts tests/plan-todo-memory.test.ts tests/file-loader-syntax.test.ts tests/commands.test.ts tests/subagent.test.ts",
26
+ "test:integration": "bun test tests/llm-integration.test.ts tests/agent-integration.test.ts tests/subagent-integration.test.ts",
27
27
  "test:all": "bun test",
28
28
  "test:watch": "vitest"
29
29
  },