@defai.digital/ax-cli 3.0.2 → 3.1.0

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 (81) hide show
  1. package/README.md +74 -0
  2. package/dist/agent/llm-agent.d.ts +21 -0
  3. package/dist/agent/llm-agent.js +64 -15
  4. package/dist/agent/llm-agent.js.map +1 -1
  5. package/dist/agent/subagent-orchestrator.js +4 -0
  6. package/dist/agent/subagent-orchestrator.js.map +1 -1
  7. package/dist/commands/mcp.js +10 -6
  8. package/dist/commands/mcp.js.map +1 -1
  9. package/dist/commands/memory.d.ts +1 -0
  10. package/dist/commands/memory.js +285 -1
  11. package/dist/commands/memory.js.map +1 -1
  12. package/dist/hooks/use-enhanced-input.js +3 -1
  13. package/dist/hooks/use-enhanced-input.js.map +1 -1
  14. package/dist/hooks/use-input-handler.js +18 -7
  15. package/dist/hooks/use-input-handler.js.map +1 -1
  16. package/dist/index.js +4 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/llm/client.js +52 -5
  19. package/dist/llm/client.js.map +1 -1
  20. package/dist/llm/tools.js +12 -2
  21. package/dist/llm/tools.js.map +1 -1
  22. package/dist/llm/types.d.ts +93 -1
  23. package/dist/llm/types.js +60 -0
  24. package/dist/llm/types.js.map +1 -1
  25. package/dist/mcp/client.d.ts +1 -1
  26. package/dist/mcp/client.js +8 -3
  27. package/dist/mcp/client.js.map +1 -1
  28. package/dist/memory/context-generator.d.ts +84 -0
  29. package/dist/memory/context-generator.js +537 -0
  30. package/dist/memory/context-generator.js.map +1 -0
  31. package/dist/memory/context-injector.d.ts +83 -0
  32. package/dist/memory/context-injector.js +142 -0
  33. package/dist/memory/context-injector.js.map +1 -0
  34. package/dist/memory/context-store.d.ts +76 -0
  35. package/dist/memory/context-store.js +212 -0
  36. package/dist/memory/context-store.js.map +1 -0
  37. package/dist/memory/index.d.ts +42 -0
  38. package/dist/memory/index.js +47 -0
  39. package/dist/memory/index.js.map +1 -0
  40. package/dist/memory/schemas.d.ts +316 -0
  41. package/dist/memory/schemas.js +103 -0
  42. package/dist/memory/schemas.js.map +1 -0
  43. package/dist/memory/stats-collector.d.ts +73 -0
  44. package/dist/memory/stats-collector.js +170 -0
  45. package/dist/memory/stats-collector.js.map +1 -0
  46. package/dist/memory/types.d.ts +175 -0
  47. package/dist/memory/types.js +70 -0
  48. package/dist/memory/types.js.map +1 -0
  49. package/dist/planner/task-planner.js +19 -2
  50. package/dist/planner/task-planner.js.map +1 -1
  51. package/dist/schemas/api-schemas.js +1 -1
  52. package/dist/schemas/api-schemas.js.map +1 -1
  53. package/dist/schemas/index.d.ts +4 -4
  54. package/dist/schemas/settings-schemas.d.ts +14 -0
  55. package/dist/schemas/settings-schemas.js +10 -0
  56. package/dist/schemas/settings-schemas.js.map +1 -1
  57. package/dist/tools/bash.js +28 -7
  58. package/dist/tools/bash.js.map +1 -1
  59. package/dist/ui/components/chat-history.js +4 -2
  60. package/dist/ui/components/chat-history.js.map +1 -1
  61. package/dist/ui/components/chat-interface.js +9 -4
  62. package/dist/ui/components/chat-interface.js.map +1 -1
  63. package/dist/ui/components/toast-notification.d.ts +3 -0
  64. package/dist/ui/components/toast-notification.js +18 -12
  65. package/dist/ui/components/toast-notification.js.map +1 -1
  66. package/dist/utils/background-task-manager.js +31 -9
  67. package/dist/utils/background-task-manager.js.map +1 -1
  68. package/dist/utils/custom-instructions.js +9 -1
  69. package/dist/utils/custom-instructions.js.map +1 -1
  70. package/dist/utils/prompt-builder.d.ts +4 -0
  71. package/dist/utils/prompt-builder.js +15 -0
  72. package/dist/utils/prompt-builder.js.map +1 -1
  73. package/dist/utils/settings-manager.d.ts +16 -1
  74. package/dist/utils/settings-manager.js +49 -0
  75. package/dist/utils/settings-manager.js.map +1 -1
  76. package/dist/utils/token-counter.js +4 -0
  77. package/dist/utils/token-counter.js.map +1 -1
  78. package/dist/utils/usage-tracker.d.ts +19 -0
  79. package/dist/utils/usage-tracker.js +22 -1
  80. package/dist/utils/usage-tracker.js.map +1 -1
  81. package/package.json +1 -1
@@ -28,6 +28,52 @@ export interface ThinkingConfig {
28
28
  */
29
29
  type: "enabled" | "disabled";
30
30
  }
31
+ /**
32
+ * Sampling configuration for controlling output diversity and reproducibility
33
+ *
34
+ * When do_sample is false, the model uses greedy decoding for deterministic output.
35
+ * Combined with a seed value, this enables fully reproducible responses.
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * // Deterministic mode for reproducible outputs
40
+ * const sampling: SamplingConfig = { doSample: false, seed: 42 };
41
+ * const response = await client.chat(messages, [], { sampling });
42
+ * ```
43
+ */
44
+ export interface SamplingConfig {
45
+ /**
46
+ * Whether to sample the output to increase diversity
47
+ * - true (default): Use random sampling based on temperature for creative outputs
48
+ * - false: Use greedy decoding for deterministic, reproducible results
49
+ *
50
+ * When set to false, the model will always select the most probable token,
51
+ * making outputs reproducible (especially when combined with a seed).
52
+ */
53
+ doSample?: boolean;
54
+ /**
55
+ * Random seed for reproducible sampling
56
+ *
57
+ * When provided with doSample=false, ensures identical outputs for identical inputs.
58
+ * Useful for testing, debugging, and audit trails.
59
+ *
60
+ * @example 42, 12345, Date.now()
61
+ */
62
+ seed?: number;
63
+ /**
64
+ * Nucleus sampling parameter (alternative to temperature)
65
+ *
66
+ * Controls diversity by limiting token selection to the smallest set
67
+ * whose cumulative probability exceeds top_p.
68
+ *
69
+ * Recommended range: 0.8-0.95
70
+ * Note: It's generally not advised to use both temperature and top_p simultaneously.
71
+ *
72
+ * @minimum 0.0
73
+ * @maximum 1.0
74
+ */
75
+ topP?: number;
76
+ }
31
77
  /**
32
78
  * Comprehensive options for GLM-4.6 chat requests
33
79
  *
@@ -81,6 +127,32 @@ export interface ChatOptions {
81
127
  * @default false
82
128
  */
83
129
  stream?: boolean;
130
+ /**
131
+ * Response format for structured output
132
+ *
133
+ * When set to { type: "json_object" }, the model will return valid JSON.
134
+ * Use this for plan generation and other structured responses.
135
+ *
136
+ * @example { type: "json_object" }
137
+ */
138
+ responseFormat?: {
139
+ type: "text" | "json_object";
140
+ };
141
+ /**
142
+ * Sampling configuration for controlling output diversity and reproducibility
143
+ *
144
+ * Use this to enable deterministic mode or fine-tune sampling behavior.
145
+ *
146
+ * @example
147
+ * ```typescript
148
+ * // Deterministic mode
149
+ * { sampling: { doSample: false, seed: 42 } }
150
+ *
151
+ * // Fine-tuned sampling with top_p
152
+ * { sampling: { doSample: true, topP: 0.9 } }
153
+ * ```
154
+ */
155
+ sampling?: SamplingConfig;
84
156
  }
85
157
  /**
86
158
  * GLM-4.6 enhanced response structure
@@ -297,4 +369,24 @@ export declare function validateThinking(thinking: ThinkingConfig | undefined, m
297
369
  /**
298
370
  * Create default chat options with sensible defaults
299
371
  */
300
- export declare function createDefaultChatOptions(model?: string): Required<Omit<ChatOptions, 'thinking' | 'searchOptions' | 'tools'>>;
372
+ export declare function createDefaultChatOptions(model?: string): Required<Omit<ChatOptions, 'thinking' | 'searchOptions' | 'tools' | 'responseFormat' | 'sampling'>>;
373
+ /**
374
+ * Validate sampling configuration
375
+ *
376
+ * @throws Error if sampling parameters are invalid or conflicting
377
+ */
378
+ export declare function validateSampling(sampling: SamplingConfig | undefined, temperature?: number): void;
379
+ /**
380
+ * Create sampling config for deterministic/reproducible mode
381
+ *
382
+ * @param seed Optional seed for reproducibility
383
+ * @returns SamplingConfig configured for deterministic output
384
+ */
385
+ export declare function createDeterministicSampling(seed?: number): SamplingConfig;
386
+ /**
387
+ * Create sampling config for creative/diverse output
388
+ *
389
+ * @param topP Optional nucleus sampling parameter (default: 0.9)
390
+ * @returns SamplingConfig configured for diverse output
391
+ */
392
+ export declare function createCreativeSampling(topP?: number): SamplingConfig;
package/dist/llm/types.js CHANGED
@@ -124,4 +124,64 @@ export function createDefaultChatOptions(model) {
124
124
  stream: false,
125
125
  };
126
126
  }
127
+ /**
128
+ * Validate sampling configuration
129
+ *
130
+ * @throws Error if sampling parameters are invalid or conflicting
131
+ */
132
+ export function validateSampling(sampling, temperature) {
133
+ if (!sampling)
134
+ return;
135
+ // Validate top_p range
136
+ if (sampling.topP !== undefined) {
137
+ if (sampling.topP < 0 || sampling.topP > 1) {
138
+ throw new Error(`top_p ${sampling.topP} is out of range. Valid range: 0.0 - 1.0`);
139
+ }
140
+ // Warn about using both temperature and top_p (not recommended)
141
+ if (temperature !== undefined && temperature !== 1.0) {
142
+ console.warn("Warning: Using both temperature and top_p simultaneously is not recommended. " +
143
+ "Consider using only one for controlling diversity.");
144
+ }
145
+ }
146
+ // Validate seed is a positive integer
147
+ if (sampling.seed !== undefined) {
148
+ if (!Number.isInteger(sampling.seed) || sampling.seed < 0) {
149
+ throw new Error(`seed must be a non-negative integer, got ${sampling.seed}`);
150
+ }
151
+ }
152
+ // Log info about deterministic mode
153
+ if (sampling.doSample === false) {
154
+ if (sampling.seed !== undefined) {
155
+ // Fully deterministic mode enabled
156
+ }
157
+ else {
158
+ console.warn("Note: doSample=false without a seed will produce deterministic output, " +
159
+ "but results may vary between API calls. Add a seed for full reproducibility.");
160
+ }
161
+ }
162
+ }
163
+ /**
164
+ * Create sampling config for deterministic/reproducible mode
165
+ *
166
+ * @param seed Optional seed for reproducibility
167
+ * @returns SamplingConfig configured for deterministic output
168
+ */
169
+ export function createDeterministicSampling(seed) {
170
+ return {
171
+ doSample: false,
172
+ seed: seed ?? Math.floor(Math.random() * 2147483647), // Generate random seed if not provided
173
+ };
174
+ }
175
+ /**
176
+ * Create sampling config for creative/diverse output
177
+ *
178
+ * @param topP Optional nucleus sampling parameter (default: 0.9)
179
+ * @returns SamplingConfig configured for diverse output
180
+ */
181
+ export function createCreativeSampling(topP = 0.9) {
182
+ return {
183
+ doSample: true,
184
+ topP,
185
+ };
186
+ }
127
187
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/llm/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/llm/types.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export declare class MCPManager extends EventEmitter {
18
18
  addServer(config: MCPServerConfig): Promise<void>;
19
19
  private _addServerInternal;
20
20
  removeServer(serverName: string): Promise<void>;
21
- callTool(toolName: string, arguments_: any): Promise<CallToolResult>;
21
+ callTool(toolName: string, arguments_: Record<string, unknown> | null | undefined): Promise<CallToolResult>;
22
22
  getTools(): MCPTool[];
23
23
  getServers(): string[];
24
24
  shutdown(): Promise<void>;
@@ -63,10 +63,11 @@ export class MCPManager extends EventEmitter {
63
63
  tools: {}
64
64
  }
65
65
  });
66
- this.clients.set(config.name, client);
67
- // Connect
66
+ // Connect before adding to map to avoid zombie entries on connection failure
68
67
  const sdkTransport = await transport.connect();
69
68
  await client.connect(sdkTransport);
69
+ // Only add to clients map after successful connection
70
+ this.clients.set(config.name, client);
70
71
  // List available tools
71
72
  const toolsResult = await client.listTools();
72
73
  // Register tools
@@ -141,9 +142,13 @@ export class MCPManager extends EventEmitter {
141
142
  const originalToolName = toolName.startsWith(prefix)
142
143
  ? toolName.substring(prefix.length)
143
144
  : toolName;
145
+ // Validate arguments - ensure it's an object or default to empty object
146
+ const safeArgs = (arguments_ && typeof arguments_ === 'object' && !Array.isArray(arguments_))
147
+ ? arguments_
148
+ : {};
144
149
  const result = await client.callTool({
145
150
  name: originalToolName,
146
- arguments: arguments_
151
+ arguments: safeArgs
147
152
  });
148
153
  return result;
149
154
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Context Generator - Scans project and generates context for GLM caching
3
+ *
4
+ * Produces a standardized context string that z.ai can automatically cache
5
+ * when used as a consistent system prompt prefix.
6
+ */
7
+ import type { WarmupOptions, WarmupResult } from './types.js';
8
+ /**
9
+ * ContextGenerator - Creates project memory context
10
+ */
11
+ export declare class ContextGenerator {
12
+ private projectRoot;
13
+ private tokenCounter;
14
+ private warnings;
15
+ constructor(projectRoot?: string);
16
+ /**
17
+ * Generate project memory from scanning the codebase
18
+ */
19
+ generate(options?: WarmupOptions): Promise<WarmupResult>;
20
+ /**
21
+ * Build source configuration based on project structure
22
+ */
23
+ private buildSourceConfig;
24
+ /**
25
+ * Generate directory tree structure
26
+ */
27
+ private generateStructure;
28
+ /**
29
+ * Recursively build tree representation
30
+ */
31
+ private buildTree;
32
+ /**
33
+ * Check if a file/directory should be ignored
34
+ */
35
+ private shouldIgnore;
36
+ /**
37
+ * Generate README summary
38
+ */
39
+ private generateReadmeSummary;
40
+ /**
41
+ * Generate config files summary
42
+ */
43
+ private generateConfigSummary;
44
+ /**
45
+ * Summarize a config file based on its type
46
+ */
47
+ private summarizeConfigFile;
48
+ /**
49
+ * Summarize package.json
50
+ */
51
+ private summarizePackageJson;
52
+ /**
53
+ * Summarize tsconfig.json
54
+ */
55
+ private summarizeTsConfig;
56
+ /**
57
+ * Summarize pyproject.toml (basic extraction)
58
+ */
59
+ private summarizePyproject;
60
+ /**
61
+ * Summarize Cargo.toml (basic extraction)
62
+ */
63
+ private summarizeCargoToml;
64
+ /**
65
+ * Summarize go.mod
66
+ */
67
+ private summarizeGoMod;
68
+ /**
69
+ * Generate architecture patterns summary using ProjectAnalyzer
70
+ */
71
+ private generatePatternsSummary;
72
+ /**
73
+ * Assemble final context from sections, respecting token limit
74
+ */
75
+ private assembleContext;
76
+ /**
77
+ * Truncate text to approximate token count
78
+ */
79
+ private truncateToTokens;
80
+ /**
81
+ * Calculate SHA-256 hash of content
82
+ */
83
+ private calculateHash;
84
+ }