@zds-ai/cli 0.1.8 → 0.1.10

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 (73) hide show
  1. package/README.md +387 -34
  2. package/dist/agent/context-manager.d.ts +70 -0
  3. package/dist/agent/context-manager.js +138 -0
  4. package/dist/agent/context-manager.js.map +1 -0
  5. package/dist/agent/hook-manager.d.ts +194 -0
  6. package/dist/agent/hook-manager.js +676 -0
  7. package/dist/agent/hook-manager.js.map +1 -0
  8. package/dist/agent/llm-agent.d.ts +469 -100
  9. package/dist/agent/llm-agent.js +781 -1580
  10. package/dist/agent/llm-agent.js.map +1 -1
  11. package/dist/agent/message-processor.d.ts +103 -0
  12. package/dist/agent/message-processor.js +225 -0
  13. package/dist/agent/message-processor.js.map +1 -0
  14. package/dist/agent/prompt-variables.d.ts +103 -40
  15. package/dist/agent/prompt-variables.js +250 -113
  16. package/dist/agent/prompt-variables.js.map +1 -1
  17. package/dist/agent/session-manager.d.ts +75 -0
  18. package/dist/agent/session-manager.js +194 -0
  19. package/dist/agent/session-manager.js.map +1 -0
  20. package/dist/agent/tool-executor.d.ts +111 -0
  21. package/dist/agent/tool-executor.js +397 -0
  22. package/dist/agent/tool-executor.js.map +1 -0
  23. package/dist/bin/generate_image_sd.sh +19 -12
  24. package/dist/bin/joycaption.sh +37 -0
  25. package/dist/grok/client.d.ts +52 -0
  26. package/dist/grok/client.js +127 -19
  27. package/dist/grok/client.js.map +1 -1
  28. package/dist/grok/tools.js +42 -8
  29. package/dist/grok/tools.js.map +1 -1
  30. package/dist/hooks/use-input-handler.d.ts +1 -1
  31. package/dist/hooks/use-input-handler.js +100 -13
  32. package/dist/hooks/use-input-handler.js.map +1 -1
  33. package/dist/index.js +25 -3
  34. package/dist/index.js.map +1 -1
  35. package/dist/mcp/config.d.ts +1 -0
  36. package/dist/mcp/config.js +45 -7
  37. package/dist/mcp/config.js.map +1 -1
  38. package/dist/tools/character-tool.js +13 -1
  39. package/dist/tools/character-tool.js.map +1 -1
  40. package/dist/tools/image-tool.d.ts +11 -1
  41. package/dist/tools/image-tool.js +109 -2
  42. package/dist/tools/image-tool.js.map +1 -1
  43. package/dist/tools/introspect-tool.js +131 -30
  44. package/dist/tools/introspect-tool.js.map +1 -1
  45. package/dist/tools/morph-editor.d.ts +21 -9
  46. package/dist/tools/morph-editor.js +21 -9
  47. package/dist/tools/morph-editor.js.map +1 -1
  48. package/dist/ui/components/active-task-status.d.ts +1 -1
  49. package/dist/ui/components/api-key-input.d.ts +1 -1
  50. package/dist/ui/components/backend-status.d.ts +1 -1
  51. package/dist/ui/components/chat-history.d.ts +1 -1
  52. package/dist/ui/components/chat-interface.d.ts +1 -1
  53. package/dist/ui/components/chat-interface.js +1 -1
  54. package/dist/ui/components/chat-interface.js.map +1 -1
  55. package/dist/ui/components/context-status.d.ts +1 -1
  56. package/dist/ui/components/mood-status.d.ts +1 -1
  57. package/dist/ui/components/persona-status.d.ts +1 -1
  58. package/dist/utils/chat-history-manager.d.ts +12 -4
  59. package/dist/utils/chat-history-manager.js +26 -11
  60. package/dist/utils/chat-history-manager.js.map +1 -1
  61. package/dist/utils/hook-executor.d.ts +53 -2
  62. package/dist/utils/hook-executor.js +258 -36
  63. package/dist/utils/hook-executor.js.map +1 -1
  64. package/dist/utils/rephrase-handler.d.ts +1 -1
  65. package/dist/utils/settings-manager.d.ts +41 -11
  66. package/dist/utils/settings-manager.js +172 -40
  67. package/dist/utils/settings-manager.js.map +1 -1
  68. package/dist/utils/slash-commands.d.ts +3 -3
  69. package/dist/utils/slash-commands.js +11 -5
  70. package/dist/utils/slash-commands.js.map +1 -1
  71. package/dist/utils/startup-hook.js +9 -2
  72. package/dist/utils/startup-hook.js.map +1 -1
  73. package/package.json +10 -8
@@ -1,16 +1,29 @@
1
+ import { SettingsManager } from '../utils/settings-manager.js';
2
+ /**
3
+ * Variable definition class for prompt template system
4
+ * Defines structure, behavior, and relationships between variables
5
+ */
1
6
  export class VariableDef {
2
7
  /**
3
8
  * Map of variable names to their definitions
4
9
  * Indexed by variable name (e.g., "USER:PRE" -> VariableDef)
5
10
  */
6
11
  static definitions = new Map();
12
+ /** Variable name (e.g., "USER:PRE", "SYSTEM") */
7
13
  name;
14
+ /** Rendering weight for ordering (lower = earlier) */
8
15
  weight = 52;
16
+ /** Environment variable to read value from */
9
17
  env_var;
18
+ /** Whether to render in full template expansion */
10
19
  renderFull = true;
20
+ /** Whether variable persists across clearOneShot() calls */
11
21
  persists = false;
22
+ /** Template string with %VAR% placeholders and %% for own content */
12
23
  template = "%%";
24
+ /** Variables referenced in template (%VAR% patterns) */
13
25
  adoptedChildren = [];
26
+ /** Function to dynamically compute variable value */
14
27
  getter;
15
28
  constructor(config) {
16
29
  Object.assign(this, config);
@@ -29,6 +42,7 @@ export class VariableDef {
29
42
  /**
30
43
  * Get or create definition by name
31
44
  * Looks in definitions map, then PROMPT_VARS, then creates default
45
+ *
32
46
  * @param name Variable name
33
47
  * @returns VariableDef instance
34
48
  */
@@ -50,26 +64,59 @@ export class VariableDef {
50
64
  }
51
65
  /**
52
66
  * Get all variable definitions
67
+ * Ensures all PROMPT_VARS are loaded into definitions map
68
+ * Later definitions override earlier ones (YAML overrides hardcoded)
69
+ *
53
70
  * @returns Array of all VariableDef instances
54
71
  */
55
72
  static getAllDefinitions() {
56
- // First, ensure all PROMPT_VARS are loaded into definitions
73
+ // Load all PROMPT_VARS into definitions (later entries override earlier)
57
74
  for (const promptVar of PROMPT_VARS) {
58
- if (!VariableDef.definitions.has(promptVar.name)) {
59
- VariableDef.definitions.set(promptVar.name, promptVar);
60
- }
75
+ VariableDef.definitions.set(promptVar.name, promptVar);
61
76
  }
62
77
  return Array.from(VariableDef.definitions.values());
63
78
  }
79
+ /**
80
+ * Check if a variable is intrinsic (hardcoded in TypeScript)
81
+ *
82
+ * @param name Variable name
83
+ * @returns True if defined in INTRINSIC_VARS
84
+ */
85
+ static isIntrinsic(name) {
86
+ return INTRINSIC_VARS.some(v => v.name === name);
87
+ }
88
+ /**
89
+ * Check if a variable is explicit (defined in external YAML file)
90
+ *
91
+ * @param name Variable name
92
+ * @returns True if defined in EXTERNAL_VARS
93
+ */
94
+ static isExplicit(name) {
95
+ return EXTERNAL_VARS.some(v => v.name === name);
96
+ }
64
97
  }
98
+ /**
99
+ * Variable instance class for prompt template system
100
+ * Holds actual values and handles rendering logic
101
+ *
102
+ * Supports:
103
+ * - Hierarchical variable relationships (parent:child)
104
+ * - Template expansion with %VAR% placeholders
105
+ * - Dynamic value computation via getters
106
+ * - Circular dependency detection
107
+ * - Weight-based ordering
108
+ */
65
109
  export class Variable {
66
110
  /**
67
111
  * Map of variable names to their current values
68
112
  * Indexed by variable name (e.g., "USER:PRE" -> Variable)
69
113
  */
70
114
  static variables = new Map();
115
+ /** Variable definition (structure and behavior) */
71
116
  def;
117
+ /** Array of string values for this variable */
72
118
  values = [];
119
+ /** Whether variable has new/changed values since last render */
73
120
  isNew = false;
74
121
  constructor(name) {
75
122
  this.def = VariableDef.getOrCreate(name);
@@ -90,30 +137,56 @@ export class Variable {
90
137
  return this.def.persists;
91
138
  }
92
139
  /**
93
- * Set variable value
140
+ * Set variable value (replaces existing values)
94
141
  * Creates variable if it doesn't exist
142
+ *
95
143
  * @param name Variable name
96
- * @param value Value to add
144
+ * @param value Value to set
97
145
  */
98
146
  static set(name, value) {
99
- let variable = Variable.variables.get(name);
100
- if (!variable) {
101
- variable = new Variable(name);
102
- Variable.variables.set(name, variable);
103
- }
147
+ const variable = Variable.getOrCreate(name);
148
+ variable.values = [value];
149
+ variable.isNew = true;
150
+ }
151
+ /**
152
+ * Append value to variable (adds to existing values)
153
+ * Creates variable if it doesn't exist
154
+ * Use when building multi-value variables within same execution context
155
+ *
156
+ * @param name Variable name
157
+ * @param value Value to append
158
+ */
159
+ static append(name, value) {
160
+ const variable = Variable.getOrCreate(name);
104
161
  variable.values.push(value);
105
162
  variable.isNew = true;
106
163
  }
107
164
  /**
108
165
  * Get variable by name
166
+ *
109
167
  * @param name Variable name
110
168
  * @returns Variable instance or undefined
111
169
  */
112
170
  static get(name) {
113
171
  return Variable.variables.get(name);
114
172
  }
173
+ /**
174
+ * Get or create variable by name
175
+ *
176
+ * @param name Variable name
177
+ * @returns Variable instance
178
+ */
179
+ static getOrCreate(name) {
180
+ let variable = Variable.variables.get(name);
181
+ if (!variable) {
182
+ variable = new Variable(name);
183
+ Variable.variables.set(name, variable);
184
+ }
185
+ return variable;
186
+ }
115
187
  /**
116
188
  * Get all set variables
189
+ *
117
190
  * @returns Array of all Variable instances
118
191
  */
119
192
  static getAllVariables() {
@@ -121,6 +194,7 @@ export class Variable {
121
194
  }
122
195
  /**
123
196
  * Clear all one-shot variables
197
+ * Removes variables where persists=false
124
198
  */
125
199
  static clearOneShot() {
126
200
  for (const [name, variable] of Variable.variables.entries()) {
@@ -130,38 +204,99 @@ export class Variable {
130
204
  }
131
205
  }
132
206
  /**
133
- * Find birth child variables of given parent. Return sorted.
207
+ * Export persistent variables for saving to context.json
208
+ * Returns only variables with persists=true
134
209
  *
135
- * Returns birth children (prefix match) of a parent var, sorted by weight,
136
- * where renderFull == true.
210
+ * @returns Object with variable names as keys and objects containing values and isNew state
211
+ */
212
+ static exportPersistentVariables() {
213
+ const persistent = {};
214
+ for (const [name, variable] of Variable.variables.entries()) {
215
+ if (variable.persists && variable.values.length > 0) {
216
+ persistent[name] = {
217
+ values: [...variable.values],
218
+ isNew: variable.isNew
219
+ };
220
+ }
221
+ }
222
+ return persistent;
223
+ }
224
+ /**
225
+ * Import persistent variables from saved context.json
226
+ * Restores variables with their values and isNew state
137
227
  *
138
- * @param parent: string
139
- * Parent name (e.g., "USER" or "SYSTEM")
228
+ * @param saved Object with variable names as keys and objects containing values and isNew state
229
+ */
230
+ static importPersistentVariables(saved) {
231
+ for (const [name, data] of Object.entries(saved)) {
232
+ if (data.values.length > 0) {
233
+ const variable = Variable.getOrCreate(name);
234
+ variable.values = [...data.values];
235
+ variable.isNew = data.isNew;
236
+ }
237
+ }
238
+ }
239
+ /**
240
+ * Find birth child variables of given parent
241
+ * Returns variables with prefix "parent:" sorted by weight
140
242
  *
141
- * @returns variables[]
142
- * All variables with prefix "parent:", renderFull=true, sorted by weight
243
+ * @param parent Parent name (e.g., "USER" or "SYSTEM")
244
+ * @returns Variables with prefix "parent:", renderFull=true, sorted by weight
143
245
  */
144
246
  static findBirthChildren(parent) {
145
247
  const prefix = `${parent}:`;
146
248
  const found = [];
249
+ const foundNames = new Set();
147
250
  // First check existing variables
148
251
  for (const variable of Variable.variables.values()) {
149
252
  if (variable.name.startsWith(prefix) && variable.renderFull) {
150
- found.push(variable);
253
+ // Only include immediate children (no additional colons after prefix)
254
+ const remainder = variable.name.substring(prefix.length);
255
+ if (!remainder.includes(':')) {
256
+ found.push(variable);
257
+ foundNames.add(variable.name);
258
+ }
151
259
  }
152
260
  }
153
- // If no variables found, check definitions and create them
154
- if (found.length === 0) {
155
- const allDefs = VariableDef.getAllDefinitions();
156
- for (const def of allDefs) {
157
- if (def.name.startsWith(prefix) && def.name !== parent && def.renderFull) {
261
+ // Also check definitions and create variables for any we haven't found yet
262
+ const allDefs = VariableDef.getAllDefinitions();
263
+ for (const def of allDefs) {
264
+ if (def.name.startsWith(prefix) && def.name !== parent && def.renderFull) {
265
+ // Only include immediate children (no additional colons after prefix)
266
+ const remainder = def.name.substring(prefix.length);
267
+ if (!remainder.includes(':')) {
158
268
  // Create the variable if it doesn't exist
159
- let variable = Variable.get(def.name);
160
- if (!variable) {
161
- variable = new Variable(def.name);
162
- Variable.variables.set(def.name, variable);
269
+ if (!foundNames.has(def.name)) {
270
+ let variable = Variable.get(def.name);
271
+ if (!variable) {
272
+ variable = new Variable(def.name);
273
+ Variable.variables.set(def.name, variable);
274
+ }
275
+ found.push(variable);
276
+ foundNames.add(def.name);
277
+ }
278
+ }
279
+ }
280
+ }
281
+ // Also check for "orphaned grandchildren" - variables like MESSAGE:ACL:CURRENT
282
+ // where the intermediate parent (MESSAGE:ACL) doesn't exist yet
283
+ for (const variable of Variable.variables.values()) {
284
+ if (variable.name.startsWith(prefix) && variable.renderFull) {
285
+ const remainder = variable.name.substring(prefix.length);
286
+ // If this is a grandchild (has colon in remainder)
287
+ if (remainder.includes(':')) {
288
+ // Extract the intermediate parent name (e.g., MESSAGE:ACL from MESSAGE:ACL:CURRENT)
289
+ const intermediateName = `${parent}:${remainder.split(':')[0]}`;
290
+ // If we haven't found this intermediate parent yet, create it
291
+ if (!foundNames.has(intermediateName)) {
292
+ let intermediateVar = Variable.get(intermediateName);
293
+ if (!intermediateVar) {
294
+ intermediateVar = new Variable(intermediateName);
295
+ Variable.variables.set(intermediateName, intermediateVar);
296
+ }
297
+ found.push(intermediateVar);
298
+ foundNames.add(intermediateName);
163
299
  }
164
- found.push(variable);
165
300
  }
166
301
  }
167
302
  }
@@ -175,17 +310,11 @@ export class Variable {
175
310
  return found;
176
311
  }
177
312
  /**
178
- * Find all full child variables of given parent. Return sorted.
313
+ * Find all child variables of given parent
314
+ * Returns both birth children (prefix match) and adopted children (template refs)
179
315
  *
180
- * Returns all children of a parent var, sorted by weight,
181
- * where renderFull == true. Includes both birth children
182
- * (prefix match "parent:") and adopted children (from template).
183
- *
184
- * @param parent: string
185
- * Parent name (e.g., "USER")
186
- *
187
- * @returns variables[]
188
- * All variables with prefix "parent:", renderFull=true, sorted by weight
316
+ * @param parent Parent name (e.g., "USER")
317
+ * @returns All child variables with renderFull=true, sorted by weight
189
318
  */
190
319
  static findFullChildrenVars(parent) {
191
320
  const found = [];
@@ -209,10 +338,9 @@ export class Variable {
209
338
  return found;
210
339
  }
211
340
  /**
212
- * Render a variable fully (recursive)
213
- * If variable exists, renders its template (which may reference children)
214
- * If variable doesn't exist but children do, renders children and joins
215
- * If variable doesn't exist but has a getter, auto-creates it
341
+ * Render a variable fully with recursive template expansion
342
+ * Handles variable creation, getter execution, and circular dependency detection
343
+ *
216
344
  * @param name Variable name (e.g., "USER" or "USER:PROMPT")
217
345
  * @param renderingStack Set of variables currently being rendered (for cycle detection)
218
346
  * @returns Rendered string
@@ -255,11 +383,11 @@ export class Variable {
255
383
  return result;
256
384
  }
257
385
  /**
258
- * Render full value string using template.
386
+ * Render variable using its template with placeholder substitution
387
+ * Handles %VAR% substitution and %% replacement with own values + children
259
388
  *
260
389
  * @param renderingStack Set of variables currently being rendered (for cycle detection)
261
- * @returns string
262
- * Rendered string
390
+ * @returns Rendered template string
263
391
  */
264
392
  renderFullTemplate(renderingStack = new Set()) {
265
393
  let rendered = this.template;
@@ -272,34 +400,45 @@ export class Variable {
272
400
  });
273
401
  // Then, substitute %% with own values + birth children
274
402
  const birthChildren = Variable.findBirthChildren(this.name);
275
- const birthRendered = birthChildren
276
- .map(child => Variable.renderFull(child.name, renderingStack))
277
- .join("");
403
+ // Render children, wrapping those with default templates
404
+ const birthRendered = birthChildren.map(child => {
405
+ const childContent = Variable.renderFull(child.name, renderingStack);
406
+ // If child has default template, wrap it in child's tag
407
+ if (child.def.template === "%%") {
408
+ // Only create wrapper tags if child has rendered content
409
+ if (childContent.trim()) {
410
+ // Use last segment of child's name for tag (e.g., SESSION:FRONTEND → frontend)
411
+ const parts = child.name.split(':');
412
+ const tagName = parts[parts.length - 1].toLowerCase();
413
+ return `<${tagName}>${childContent}</${tagName}>\n`;
414
+ }
415
+ return ""; // No content, no wrapper
416
+ }
417
+ else {
418
+ // Child has custom template -- it handles its own wrapping
419
+ return childContent;
420
+ }
421
+ }).join("");
278
422
  const ownValues = this.renderFullValue();
279
- rendered = rendered.replace("%%", ownValues + birthRendered);
280
- // If using default template and has birth children, wrap with XML tags
281
- if (isDefaultTemplate && birthChildren.length > 0) {
282
- const tagName = this.name.toLowerCase().replace(/:/g, "-");
283
- rendered = `<${tagName}>\n${rendered}\n</${tagName}>\n`;
423
+ // If no content (no values and no children) AND no adopted children,
424
+ // return empty instead of rendering template.
425
+ // Variables with adopted children (like SYSTEM) should always render
426
+ // because they provide structure, not just wrapping.
427
+ if (this.def.adoptedChildren.length === 0 &&
428
+ ownValues.trim().length === 0 &&
429
+ birthRendered.trim().length === 0) {
430
+ return "";
284
431
  }
432
+ rendered = rendered.replace("%%", ownValues + birthRendered);
285
433
  return rendered;
286
434
  }
287
435
  /**
288
- * Render full values as a string, from values array.
436
+ * Render variable values as string with dynamic getter support
437
+ * Updates values from getter if present and value changed
438
+ * Clears isNew flag after rendering
289
439
  *
290
- * If this variable has a getter function, computes the current value
291
- * and updates values array only if the value changed (sets isNew flag).
292
- *
293
- * After rendering, clears the isNew flag since the variable has been consumed.
294
- *
295
- * ASSUMPTION: Getter functions always return a single string value,
296
- * never an array. If this assumption changes, this logic needs revision.
297
- *
298
- * @param separator: string
299
- * The string to use as a separator. Defaults to "\n\n".
300
- *
301
- * @returns string
302
- * values joined as a string (double-nl-separated)
440
+ * @param separator String to join multiple values (default: "\n")
441
+ * @returns Joined values string
303
442
  */
304
443
  renderFullValue(separator = "\n") {
305
444
  // If this variable has a getter, update value dynamically
@@ -318,62 +457,60 @@ export class Variable {
318
457
  return result;
319
458
  }
320
459
  }
321
- const PROMPT_VARS = [
322
- new VariableDef({ name: "ZDS:PRE", weight: 0, persists: true }),
323
- new VariableDef({ name: "USER:PRE", weight: 0, template: "<pre explanation=\"Before you do any processing, please remember:\">\n%%\n</pre>\n" }),
460
+ /**
461
+ * Intrinsic (hardcoded) variable definitions
462
+ * These cannot be externalized and provide fallback defaults
463
+ */
464
+ const INTRINSIC_VARS = [
324
465
  new VariableDef({
325
- name: "USER:ENV",
326
- weight: 10,
327
- template: "<env explanation=\"The following environment variables have changed since the last prompt:\">\n%%\n</env>\n"
328
- }),
329
- new VariableDef({ name: "USER:TIMESTAMP", weight: 11, template: "<timestamp explanation=\"Current local time:\">%%</timestamp>\n" }),
330
- new VariableDef({
331
- name: "USER:RAG",
332
- weight: 20,
333
- template: "<rag explanation=\"The following data may aid you in performing this request or answering this question:\">\n%%\n</rag>\n"
466
+ name: "SYSTEM",
467
+ template: "You are a helpful AI assistant.\n\n%APP%"
334
468
  }),
335
- new VariableDef({ name: "USER:PROMPT", weight: 50 }),
336
469
  new VariableDef({
337
- name: "USER:GUIDANCE",
338
- weight: 90,
339
- template: "\n<guidance explanation=\"Use the following information to guide your response:\">\n%%\n</guidance>\n"
470
+ name: "APP:CWD",
471
+ weight: 80,
472
+ getter: () => process.cwd()
340
473
  }),
341
- new VariableDef({ name: "USER:POST", weight: 99, template: "\n<post explanation=\"Please also observe these:\">\n%%\n</post>\n" }),
342
474
  new VariableDef({
343
- name: "MESSAGE",
344
- weight: 60,
345
- template: "%%"
475
+ name: "APP:TOOLS",
476
+ weight: 70,
477
+ persists: true
346
478
  }),
347
- new VariableDef({ name: "MESSAGE:ACL:CURRENT", template: "<current>%%</current>\n" }),
348
- new VariableDef({ name: "MESSAGE:AUTHOR", template: "<author>%%</author>\n" }),
349
- new VariableDef({ name: "MESSAGE:CHANNEL", template: "<channel>%%</channel>\n" }),
350
- new VariableDef({ name: "MESSAGE:TANGENT:IS_TANGENT", template: "<is-tangent>%%</is-tangent>\n" }),
351
- new VariableDef({ name: "MESSAGE:ACL:MAX", template: "<max>%%</max>\n" }),
352
- new VariableDef({ name: "MESSAGE:MEMBERS", template: "<members>%%</members>\n" }),
353
- new VariableDef({ name: "MESSAGE:PRIVACY", template: "<privacy>%%</privacy>\n" }),
354
- new VariableDef({ name: "MESSAGE:RESPONSE_TYPES:ACCEPTED", template: "<accepted>%%</accepted>\n" }),
355
- new VariableDef({ name: "MESSAGE:RESPONSE_TYPES:FORBIDDEN", template: "<forbidden>%%</forbidden>\n" }),
356
- new VariableDef({ name: "MESSAGE:SERVER", template: "<server>%%</server>\n" }),
357
- new VariableDef({ name: "MESSAGE:SOURCE", template: "<source>%%</source>\n" }),
358
- new VariableDef({ name: "MESSAGE:TANGENT:NAME", template: "<name>%%</name>\n" }),
359
- new VariableDef({ name: "MESSAGE:TIMESTAMP", template: "<timestamp>%%</timestamp>\n" }),
360
479
  new VariableDef({
361
- name: "SYSTEM",
362
- template: "<zds-pre>%ZDS:PRE%</zds-pre>\n<org>%ORG%</org>\n<job>%JOB%</job>\n<char>%CHAR%</char>\n<project>%PROJECT%</project>\n<task>%TASK%</task>\n<message>%MESSAGE%</message>\n<backend>%BACKEND%</backend>\n<app>%APP%</app>\n<zds-post>%ZDS:POST%</zds-post>\n%%"
480
+ name: "APP:TIMESTAMP:UTC",
481
+ weight: 81,
482
+ getter: () => new Date().toISOString()
363
483
  }),
364
- new VariableDef({ name: "ZDS:POST", weight: 99, persists: true }),
365
484
  new VariableDef({
366
- name: "APP:TOOLS",
367
- weight: 70,
368
- persists: true,
369
- template: "<tools>%%</tools>\n"
485
+ name: "APP:TIMESTAMP:LOCALIZED",
486
+ weight: 82,
487
+ getter: () => new Date().toLocaleString()
370
488
  }),
371
489
  new VariableDef({
372
- name: "APP:CWD",
373
- weight: 80,
374
- persists: true,
375
- template: "<current-working-directory>%%</current-working-directory>\n",
376
- getter: () => process.cwd()
490
+ name: "USER:PROMPT",
491
+ weight: 50
377
492
  }),
378
493
  ];
494
+ /**
495
+ * Load variable definitions from ~/.zds-ai/cli-vars.yml via SettingsManager
496
+ * Returns array of VariableDef instances
497
+ */
498
+ function loadVariableDefinitions() {
499
+ const settingsManager = SettingsManager.getInstance();
500
+ const varDefs = settingsManager.loadVariableDefinitions();
501
+ return varDefs.map(varDef => new VariableDef(varDef));
502
+ }
503
+ /**
504
+ * External (YAML) variable definitions
505
+ * Loaded from ~/.zds-ai/cli-vars.yml
506
+ */
507
+ const EXTERNAL_VARS = loadVariableDefinitions();
508
+ /**
509
+ * Predefined variable definitions for the prompt system
510
+ * Intrinsic definitions provide defaults, external definitions override
511
+ */
512
+ const PROMPT_VARS = [
513
+ ...INTRINSIC_VARS,
514
+ ...EXTERNAL_VARS,
515
+ ];
379
516
  //# sourceMappingURL=prompt-variables.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-variables.js","sourceRoot":"","sources":["../../src/agent/prompt-variables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-variables.js","sourceRoot":"","sources":["../../src/agent/prompt-variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D;;;GAGG;AACH,MAAM,OAAO,WAAW;IACtB;;;OAGG;IACK,MAAM,CAAC,WAAW,GAA6B,IAAI,GAAG,EAAE,CAAC;IAEjE,iDAAiD;IACjD,IAAI,CAAS;IACb,sDAAsD;IACtD,MAAM,GAAW,EAAE,CAAC;IACpB,8CAA8C;IAC9C,OAAO,CAAU;IACjB,mDAAmD;IACnD,UAAU,GAAY,IAAI,CAAC;IAC3B,4DAA4D;IAC5D,QAAQ,GAAY,KAAK,CAAC;IAC1B,qEAAqE;IACrE,QAAQ,GAAW,IAAI,CAAC;IACxB,wDAAwD;IACxD,eAAe,GAAa,EAAE,CAAC;IAC/B,qDAAqD;IACrD,MAAM,CAAgB;IAEtB,YAAY,MAQX;QACC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE5B,yDAAyD;QACzD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,eAAe,CAAC;YAC9B,IAAI,KAAK,CAAC;YACV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACpD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,OAAO,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC9D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,IAAY;QAC7B,4CAA4C;QAC5C,IAAI,GAAG,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QAEpB,sCAAsC;QACtC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC1D,IAAI,UAAU,EAAE,CAAC;YACf,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9C,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,2CAA2C;QAC3C,GAAG,GAAG,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACvC,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB;QACtB,yEAAyE;QACzE,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;YACpC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,IAAY;QAC7B,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,IAAY;QAC5B,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAClD,CAAC;;AAGH;;;;;;;;;;GAUG;AACH,MAAM,OAAO,QAAQ;IACnB;;;OAGG;IACK,MAAM,CAAC,SAAS,GAA0B,IAAI,GAAG,EAAE,CAAC;IAE5D,mDAAmD;IACnD,GAAG,CAAc;IACjB,+CAA+C;IAC/C,MAAM,GAAa,EAAE,CAAC;IACtB,gEAAgE;IAChE,KAAK,GAAY,KAAK,CAAC;IAEvB,YAAY,IAAY;QACtB,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;IAC7B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,KAAa;QACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5C,QAAQ,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1B,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;IACxB,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,CAAC,IAAY,EAAE,KAAa;QACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5C,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,IAAY;QACrB,OAAO,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,IAAY;QAC7B,IAAI,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9B,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,eAAe;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,YAAY;QACjB,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5D,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACvB,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,yBAAyB;QAC9B,MAAM,UAAU,GAAyD,EAAE,CAAC;QAE5E,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5D,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpD,UAAU,CAAC,IAAI,CAAC,GAAG;oBACjB,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;oBAC5B,KAAK,EAAE,QAAQ,CAAC,KAAK;iBACtB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,yBAAyB,CAAC,KAA2D;QAC1F,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC5C,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAc;QACrC,MAAM,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC;QAC5B,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QAErC,iCAAiC;QACjC,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC5D,sEAAsE;gBACtE,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACrB,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,MAAM,OAAO,GAAG,WAAW,CAAC,iBAAiB,EAAE,CAAC;QAChD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBACzE,sEAAsE;gBACtE,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACpD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,0CAA0C;oBAC1C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC9B,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACd,QAAQ,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4BAClC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;wBAC7C,CAAC;wBACD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACrB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC3B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,+EAA+E;QAC/E,gEAAgE;QAChE,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC5D,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzD,mDAAmD;gBACnD,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5B,oFAAoF;oBACpF,MAAM,gBAAgB,GAAG,GAAG,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChE,8DAA8D;oBAC9D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBACtC,IAAI,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;wBACrD,IAAI,CAAC,eAAe,EAAE,CAAC;4BACrB,eAAe,GAAG,IAAI,QAAQ,CAAC,gBAAgB,CAAC,CAAC;4BACjD,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;wBAC5D,CAAC;wBACD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;wBAC5B,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAClB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC1B,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YAC7B,CAAC;YACD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAc;QACxC,MAAM,KAAK,GAAe,EAAE,CAAC;QAE7B,qCAAqC;QACrC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;QAElD,iDAAiD;QACjD,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAClD,KAAK,MAAM,WAAW,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;YACpD,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC7C,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAClB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC1B,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YAC7B,CAAC;YACD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,IAAY,EAAE,iBAA8B,IAAI,GAAG,EAAE;QACrE,gCAAgC;QAChC,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC;YAC7D,OAAO,UAAU,IAAI,qDAAqD,MAAM,EAAE,CAAC;QACrF,CAAC;QAED,eAAe;QACf,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEzB,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,sEAAsE;QACtE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC9B,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,wCAAwC;YACxC,MAAM,GAAG,QAAQ,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,8DAA8D;YAC9D,MAAM,GAAG,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAErD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACtC,yDAAyD;gBACzD,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC9B,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACvC,MAAM,GAAG,QAAQ,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE5B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,kBAAkB,CAAC,iBAA8B,IAAI,GAAG,EAAE;QACxD,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC;QAEjD,sDAAsD;QACtD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC9D,IAAI,OAAO,KAAK,EAAE;gBAAE,OAAO,KAAK,CAAC;YACjC,OAAO,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,uDAAuD;QACvD,MAAM,aAAa,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5D,yDAAyD;QACzD,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC9C,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAErE,wDAAwD;YACxD,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAChC,yDAAyD;gBACzD,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;oBACxB,+EAA+E;oBAC/E,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;oBACtD,OAAO,IAAI,OAAO,IAAI,YAAY,KAAK,OAAO,KAAK,CAAC;gBACtD,CAAC;gBACD,OAAO,EAAE,CAAC,CAAC,yBAAyB;YACtC,CAAC;iBAAM,CAAC;gBACN,2DAA2D;gBAC3D,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEZ,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEzC,qEAAqE;QACrE,8CAA8C;QAC9C,qEAAqE;QACrE,qDAAqD;QACrD,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;YACrC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAC7B,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,CAAC,CAAC;QAE7D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;OAOG;IACH,eAAe,CAAC,YAAoB,IAAI;QACtC,0DAA0D;QAC1D,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAEhC,+BAA+B;YAC/B,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3C,gEAAgE;QAChE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,OAAO,MAAM,CAAC;IAChB,CAAC;;AAGH;;;GAGG;AACH,MAAM,cAAc,GAAkB;IACpC,IAAI,WAAW,CAAC;QACd,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,0CAA0C;KACrD,CAAC;IACF,IAAI,WAAW,CAAC;QACd,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;KAC5B,CAAC;IACF,IAAI,WAAW,CAAC;QACd,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,IAAI,WAAW,CAAC;QACd,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACvC,CAAC;IACF,IAAI,WAAW,CAAC;QACd,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE;KAC1C,CAAC;IACF,IAAI,WAAW,CAAC;QACd,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,EAAE;KACX,CAAC;CACH,CAAC;AAEF;;;GAGG;AACH,SAAS,uBAAuB;IAC9B,MAAM,eAAe,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;IACtD,MAAM,OAAO,GAAG,eAAe,CAAC,uBAAuB,EAAE,CAAC;IAC1D,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,aAAa,GAAkB,uBAAuB,EAAE,CAAC;AAE/D;;;GAGG;AACH,MAAM,WAAW,GAAkB;IACjC,GAAG,cAAc;IACjB,GAAG,aAAa;CACjB,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { LLMClient } from "../grok/client.js";
2
+ import { TokenCounter } from "../utils/token-counter.js";
3
+ import { HookManager } from "./hook-manager.js";
4
+ import { SessionState } from "../utils/chat-history-manager.js";
5
+ /**
6
+ * Dependencies required by SessionManager for managing session state
7
+ */
8
+ export interface SessionManagerDependencies {
9
+ /** Get LLM client instance */
10
+ getLLMClient(): LLMClient;
11
+ /** Get token counter instance */
12
+ getTokenCounter(): TokenCounter;
13
+ /** Get API key environment variable name */
14
+ getApiKeyEnvVar(): string;
15
+ /** Hook manager for persona/mood/task hooks */
16
+ hookManager: HookManager;
17
+ /** Get current persona */
18
+ getPersona(): string;
19
+ /** Get persona display color */
20
+ getPersonaColor(): string;
21
+ /** Get current mood */
22
+ getMood(): string;
23
+ /** Get mood display color */
24
+ getMoodColor(): string;
25
+ /** Get active task name */
26
+ getActiveTask(): string;
27
+ /** Get active task action */
28
+ getActiveTaskAction(): string;
29
+ /** Get active task display color */
30
+ getActiveTaskColor(): string;
31
+ /** Get current model name */
32
+ getCurrentModel(): string;
33
+ /** Emit events */
34
+ emit(event: string, data: any): void;
35
+ /** Set LLM client */
36
+ setLLMClient(client: LLMClient): void;
37
+ /** Set token counter */
38
+ setTokenCounter(counter: TokenCounter): void;
39
+ /** Set API key environment variable */
40
+ setApiKeyEnvVar(value: string): void;
41
+ /** Set persona values */
42
+ setPersona(persona: string, color: string): void;
43
+ /** Set mood values */
44
+ setMood(mood: string, color: string): void;
45
+ /** Set active task values */
46
+ setActiveTask(task: string, action: string, color: string): void;
47
+ }
48
+ /**
49
+ * Manages session state persistence and restoration
50
+ *
51
+ * Handles:
52
+ * - Session state serialization for persistence
53
+ * - Backend/model/API configuration restoration
54
+ * - Persona/mood/task state restoration with hooks
55
+ * - Working directory restoration
56
+ * - MCP server reinitialization
57
+ */
58
+ export declare class SessionManager {
59
+ private deps;
60
+ constructor(deps: SessionManagerDependencies);
61
+ /**
62
+ * Get current session state for persistence
63
+ * Captures all session-specific configuration and state
64
+ *
65
+ * @returns SessionState object with current values
66
+ */
67
+ getSessionState(): SessionState;
68
+ /**
69
+ * Restore session state from persistence
70
+ * Restores backend configuration, working directory, and agent state
71
+ *
72
+ * @param state Previously saved session state
73
+ */
74
+ restoreSessionState(state: SessionState): Promise<void>;
75
+ }