zelari-code 0.2.2 → 0.4.3

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 (101) hide show
  1. package/README.md +55 -2
  2. package/dist/agents/councilApi.js +7 -7
  3. package/dist/agents/councilApi.js.map +1 -1
  4. package/dist/agents/councilDirectives.js +3 -3
  5. package/dist/agents/promoteMember.js +2 -2
  6. package/dist/agents/roles.js +32 -32
  7. package/dist/agents/roles.js.map +1 -1
  8. package/dist/agents/skills/builtin/debugging.js +4 -4
  9. package/dist/agents/skills/builtin/debugging.js.map +1 -1
  10. package/dist/agents/skills/builtin/docs.js +13 -23
  11. package/dist/agents/skills/builtin/docs.js.map +1 -1
  12. package/dist/agents/skills/builtin/git-ops.js +3 -3
  13. package/dist/agents/skills/builtin/git-ops.js.map +1 -1
  14. package/dist/agents/skills/builtin/planning.js +4 -4
  15. package/dist/agents/skills/builtin/planning.js.map +1 -1
  16. package/dist/agents/skills/builtin/refactoring.js +3 -3
  17. package/dist/agents/skills/builtin/refactoring.js.map +1 -1
  18. package/dist/agents/skills/builtin/review.js +9 -9
  19. package/dist/agents/skills/builtin/review.js.map +1 -1
  20. package/dist/agents/skills/builtin/testing.js +3 -3
  21. package/dist/agents/skills/builtin/testing.js.map +1 -1
  22. package/dist/agents/tools.js +9 -2
  23. package/dist/agents/tools.js.map +1 -1
  24. package/dist/cli/app.js +78 -1850
  25. package/dist/cli/app.js.map +1 -1
  26. package/dist/cli/components/ChatStream.js +25 -5
  27. package/dist/cli/components/ChatStream.js.map +1 -1
  28. package/dist/cli/components/CollapsibleToolOutput.js +21 -3
  29. package/dist/cli/components/CollapsibleToolOutput.js.map +1 -1
  30. package/dist/cli/components/Header.js +20 -1
  31. package/dist/cli/components/Header.js.map +1 -1
  32. package/dist/cli/components/InputBar.js +34 -2
  33. package/dist/cli/components/InputBar.js.map +1 -1
  34. package/dist/cli/components/Sidebar.js +30 -10
  35. package/dist/cli/components/Sidebar.js.map +1 -1
  36. package/dist/cli/councilDispatcher.js +9 -1
  37. package/dist/cli/councilDispatcher.js.map +1 -1
  38. package/dist/cli/hooks/chatStats.js +28 -0
  39. package/dist/cli/hooks/chatStats.js.map +1 -0
  40. package/dist/cli/hooks/eventsToMessages.js +80 -0
  41. package/dist/cli/hooks/eventsToMessages.js.map +1 -0
  42. package/dist/cli/hooks/messageHelpers.js +75 -0
  43. package/dist/cli/hooks/messageHelpers.js.map +1 -0
  44. package/dist/cli/hooks/skillCompare.js +69 -0
  45. package/dist/cli/hooks/skillCompare.js.map +1 -0
  46. package/dist/cli/hooks/steer.js +28 -0
  47. package/dist/cli/hooks/steer.js.map +1 -0
  48. package/dist/cli/hooks/useChatTurn.js +307 -0
  49. package/dist/cli/hooks/useChatTurn.js.map +1 -0
  50. package/dist/cli/hooks/useSession.js +107 -0
  51. package/dist/cli/hooks/useSession.js.map +1 -0
  52. package/dist/cli/hooks/useSlashDispatch.js +300 -0
  53. package/dist/cli/hooks/useSlashDispatch.js.map +1 -0
  54. package/dist/cli/hooks/useTerminalSize.js +60 -0
  55. package/dist/cli/hooks/useTerminalSize.js.map +1 -0
  56. package/dist/cli/main.bundled.js +24214 -21747
  57. package/dist/cli/main.bundled.js.map +4 -4
  58. package/dist/cli/main.js +1 -1
  59. package/dist/cli/sessionManager.js +46 -0
  60. package/dist/cli/sessionManager.js.map +1 -1
  61. package/dist/cli/slashCommands.js +72 -3
  62. package/dist/cli/slashCommands.js.map +1 -1
  63. package/dist/cli/slashHandlers/branch.js +48 -0
  64. package/dist/cli/slashHandlers/branch.js.map +1 -0
  65. package/dist/cli/slashHandlers/git.js +115 -0
  66. package/dist/cli/slashHandlers/git.js.map +1 -0
  67. package/dist/cli/slashHandlers/provider.js +199 -0
  68. package/dist/cli/slashHandlers/provider.js.map +1 -0
  69. package/dist/cli/slashHandlers/skills.js +82 -0
  70. package/dist/cli/slashHandlers/skills.js.map +1 -0
  71. package/dist/cli/slashHandlers/workspace.js +118 -0
  72. package/dist/cli/slashHandlers/workspace.js.map +1 -0
  73. package/dist/cli/toolRegistry.js +12 -3
  74. package/dist/cli/toolRegistry.js.map +1 -1
  75. package/dist/cli/utils/duration.js +34 -0
  76. package/dist/cli/utils/duration.js.map +1 -0
  77. package/dist/cli/workspace/agentsMd.js +314 -0
  78. package/dist/cli/workspace/agentsMd.js.map +1 -0
  79. package/dist/cli/workspace/index.js +24 -0
  80. package/dist/cli/workspace/index.js.map +1 -0
  81. package/dist/cli/workspace/paths.js +88 -0
  82. package/dist/cli/workspace/paths.js.map +1 -0
  83. package/dist/cli/workspace/postCouncilHook.js +38 -0
  84. package/dist/cli/workspace/postCouncilHook.js.map +1 -0
  85. package/dist/cli/workspace/storage.js +392 -0
  86. package/dist/cli/workspace/storage.js.map +1 -0
  87. package/dist/cli/workspace/stubs.js +528 -0
  88. package/dist/cli/workspace/stubs.js.map +1 -0
  89. package/dist/cli/workspace/toolRegistry.js +61 -0
  90. package/dist/cli/workspace/toolRegistry.js.map +1 -0
  91. package/dist/cli/workspace/types.js +10 -0
  92. package/dist/cli/workspace/types.js.map +1 -0
  93. package/dist/main/core/tools/builtin/_walk.js +129 -0
  94. package/dist/main/core/tools/builtin/_walk.js.map +1 -0
  95. package/dist/main/core/tools/builtin/diff.js +477 -0
  96. package/dist/main/core/tools/builtin/diff.js.map +1 -0
  97. package/dist/main/core/tools/builtin/listFiles.js +5 -43
  98. package/dist/main/core/tools/builtin/listFiles.js.map +1 -1
  99. package/dist/main/core/tools/builtin/search.js +120 -28
  100. package/dist/main/core/tools/builtin/search.js.map +1 -1
  101. package/package.json +5 -2
package/dist/cli/main.js CHANGED
@@ -8,7 +8,7 @@ import { render } from 'ink';
8
8
  // @ts-ignore
9
9
  import { App } from './app.js';
10
10
  import { getMetricsLogger } from './metrics.js';
11
- export const VERSION = '0.2.2';
11
+ export const VERSION = '0.4.3';
12
12
  /**
13
13
  * Silent background update check (Task N.6, v3-N).
14
14
  *
@@ -141,6 +141,52 @@ export async function listSessions() {
141
141
  results.sort((a, b) => b.mtimeMs - a.mtimeMs);
142
142
  return results;
143
143
  }
144
+ /**
145
+ * sessionKindRouter — pure helper extracted from app.tsx handleSessionKind
146
+ * (Task v0.4.2 audit split). Routes /sessions, /resume <id>, /new to the
147
+ * appropriate sessionManager action and returns the system message to show.
148
+ *
149
+ * For `/new`, callers may pass `forcedNewId` so the in-memory state, the
150
+ * writerRef, and the on-disk current-session marker all share the same id.
151
+ * Without it, the router mints its own id and returns it via `generatedId`
152
+ * so the caller can reconcile state. This avoids the v0.4.2 split-brain
153
+ * bug where the router wrote idA to disk while the hook wrote idB to
154
+ * memory + writer.
155
+ *
156
+ * The caller (useSlashDispatch) is responsible for any state-side effects
157
+ * (writerRef reset, setMessages([]), setSessionActive(false), setSessionId
158
+ * for /new) because those setters live in the App component.
159
+ */
160
+ export async function sessionKindRouter(kind, targetSessionId, forcedNewId) {
161
+ if (kind === 'session') {
162
+ try {
163
+ const sessions = await listSessions();
164
+ if (sessions.length === 0)
165
+ return { message: '[sessions] no past sessions' };
166
+ const lines = sessions.slice(0, 10).map((s) => {
167
+ const dt = new Date(s.mtimeMs).toISOString().replace('T', ' ').slice(0, 16);
168
+ return ` ${s.id.slice(0, 8)}… ${s.eventCount} events ${dt}`;
169
+ });
170
+ return {
171
+ message: `[sessions] showing ${Math.min(sessions.length, 10)} of ${sessions.length}:\n${lines.join('\n')}`,
172
+ };
173
+ }
174
+ catch (err) {
175
+ return { message: `[sessions] error: ${err instanceof Error ? err.message : String(err)}` };
176
+ }
177
+ }
178
+ if (kind === 'resume' && targetSessionId) {
179
+ setCurrentSessionId(targetSessionId);
180
+ return { message: `[resume] session ${targetSessionId.slice(0, 8)}… set as current — restart zelari-code to load it` };
181
+ }
182
+ if (kind === 'new') {
183
+ clearCurrentSessionId();
184
+ const id = forcedNewId ?? newSessionId();
185
+ setCurrentSessionId(id);
186
+ return { message: `[new] fresh session ${id.slice(0, 8)}… started`, generatedId: id };
187
+ }
188
+ return { message: `[${kind}] handled` };
189
+ }
144
190
  /** Load all events from a session's JSONL file by id. */
145
191
  export async function loadSessionEvents(id) {
146
192
  const filePath = path.join(getSessionBaseDir(), `${id}.jsonl`);
@@ -1 +1 @@
1
- {"version":3,"file":"sessionManager.js","sourceRoot":"","sources":["../../src/cli/sessionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionManager.js","sourceRoot":"","sources":["../../src/cli/sessionManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAiB3D,iEAAiE;AACjE,MAAM,UAAU,iBAAiB;IAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,qBAAqB;WACnC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;AAClE,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,qBAAqB;IACnC,OAAO,OAAO,CAAC,GAAG,CAAC,6BAA6B;WAC3C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;AACrE,CAAC;AAED,uEAAuE;AACvE,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,EAAE,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,mBAAmB;IACjC,MAAM,IAAI,GAAG,qBAAqB,EAAE,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACnD,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,mBAAmB,CAAC,EAAU;IAC5C,MAAM,IAAI,GAAG,qBAAqB,EAAE,CAAC;IACrC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,qBAAqB;IACnC,MAAM,IAAI,GAAG,qBAAqB,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,UAAU,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,GAAG,CAAC;IAClE,CAAC;AACH,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,oBAAoB;IAClC,OAAO,OAAO,CAAC,GAAG,CAAC,4BAA4B;WAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC;AAC7E,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,gBAAgB;IAC9B,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;IACpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACnD,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;IACpC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,kBAAkB;IAChC,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;IACpC,IAAI,CAAC;QACH,UAAU,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,GAAG,CAAC;IAClE,CAAC;AACH,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAED,qEAAqE;AACrE,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAChE,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,SAAS;QACxC,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,OAAO;oBAAE,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC;gBACpD,IAAI,CAAC,CAAC,EAAE,GAAG,MAAM;oBAAE,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YACnC,CAAC;YACD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtF,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAkC,EAClC,eAAwB,EACxB,WAAoB;IAEpB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;YACtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;YAC7E,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5C,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5E,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,YAAY,EAAE,EAAE,CAAC;YACjE,CAAC,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,sBAAsB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,QAAQ,CAAC,MAAM,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aAC3G,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,qBAAqB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QAC9F,CAAC;IACH,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,IAAI,eAAe,EAAE,CAAC;QACzC,mBAAmB,CAAC,eAAe,CAAC,CAAC;QACrC,OAAO,EAAE,OAAO,EAAE,oBAAoB,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,mDAAmD,EAAE,CAAC;IACzH,CAAC;IACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,qBAAqB,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,WAAW,IAAI,YAAY,EAAE,CAAC;QACzC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IACxF,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,CAAC;AAC1C,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EAAU;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC/D,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC"}
@@ -71,8 +71,8 @@ export function handleSlashCommand(text, availableSkills) {
71
71
  return {
72
72
  handled: true,
73
73
  kind: 'help',
74
- message: `Available commands:\n /login <provider> — authenticate with provider (grok, minimax, glm, custom)\n /model <name> — switch the active model\n /model refresh — re-discover models for the active provider (v3-U)\n /models — list discovered models for the active provider (v3-U)\n /models refresh — re-discover models for the active provider (v3-U)\n /provider <name> — switch the active provider\n /provider custom <baseUrl> — point the active provider at a self-hosted endpoint (Ollama, LM Studio, vLLM, ...)\n /provider custom clear — clear the custom endpoint override\n /skill <name> [input] — invoke a skill (autocomplete with /skill <TAB>)\n /skill-stats [name] — show invocation stats (success rate, avg duration, total tokens)\n /council <input> — invoke the multi-agent council on input\n /council-feedback <memberId> <1-5> [note] — rate a council member for future ranking (Task I.2)
75
- /promote-member <memberId> — promote a council member to a standalone skill (v3-K)
74
+ message: `Available commands:\n /login <provider> — authenticate with provider (grok, minimax, glm, custom)\n /model <name> — switch the active model\n /model refresh — re-discover models for the active provider (v3-U)\n /models — list discovered models for the active provider (v3-U)\n /models refresh — re-discover models for the active provider (v3-U)\n /provider <name> — switch the active provider\n /provider custom <baseUrl> — point the active provider at a self-hosted endpoint (Ollama, LM Studio, vLLM, ...)\n /provider custom clear — clear the custom endpoint override\n /skill <name> [input] — invoke a skill (autocomplete with /skill <TAB>)\n /skill-stats [name] — show invocation stats (success rate, avg duration, total tokens)\n /council <input> — invoke the multi-agent council on input\n /council-feedback <memberId> <1-5> [note] — rate a council member for future ranking (Task I.2)
75
+ /promote-member <memberId> — promote a council member to a standalone skill (v3-K)
76
76
  /update [--yes|-y] — check for zelari-code updates; --yes performs the update (v3-N)\n /steer <text> — enqueue a follow-up prompt on the active run (Task 18.2)\n /steer --interrupt <text> — cancel current run + enqueue <text> for next dispatch (Task C.3.2)\n /compact — compact the session transcript\n /clear — clear the visible transcript (session is preserved)\n /sessions — list past sessions\n /resume <id> — load a past session\n /branch <name> — snapshot the current session into a new branch\n /branches — list branches\n /checkout <name> — switch the active branch\n /new — start a fresh session\n /diff [--staged] — show uncommitted changes (or staged with --staged)\n /undo [--yes] — revert working-tree changes (destructive! requires --yes)\n /help — show this help\n /exit — exit the CLI\n\n${formatSkillList(availableSkills)}`,
77
77
  };
78
78
  case 'exit':
@@ -372,7 +372,7 @@ export function handleSlashCommand(text, availableSkills) {
372
372
  return {
373
373
  handled: true,
374
374
  kind: 'promote_member_error',
375
- promoteMemberError: 'Usage: /promote-member <memberId> — e.g. /promote-member hephaestus',
375
+ promoteMemberError: 'Usage: /promote-member <memberId> — e.g. /promote-member geryon',
376
376
  };
377
377
  }
378
378
  // Quick sanity check — the dispatcher will do the full UnknownMemberError
@@ -420,6 +420,75 @@ export function handleSlashCommand(text, availableSkills) {
420
420
  'and unstages everything.\nUse `/undo --yes` (or `/undo -y`) to confirm.',
421
421
  };
422
422
  }
423
+ case 'workspace': {
424
+ // Usage:
425
+ // /workspace → list artifacts + sizes
426
+ // /workspace show <name> → render plan | decisions | risks | agents | docs
427
+ // /workspace sync → re-run AGENTS.MD auto-maintenance
428
+ // /workspace reset → clear .zelari/ (destructive)
429
+ // /workspace --help → usage hint
430
+ const sub = args[0];
431
+ if (!sub || sub === '--help' || sub === 'help') {
432
+ return {
433
+ handled: true,
434
+ kind: 'workspace',
435
+ message: 'Workspace commands (`.zelari/` + `AGENTS.MD`):\n' +
436
+ ' /workspace — list artifacts (plan, decisions, risks, reviews, docs)\n' +
437
+ ' /workspace show plan — render plan.md\n' +
438
+ ' /workspace show decisions — list ADRs (Architecture Decision Records)\n' +
439
+ ' /workspace show risks — render risks.md\n' +
440
+ ' /workspace show agents — render AGENTS.MD\n' +
441
+ ' /workspace show docs — list docs drafts\n' +
442
+ ' /workspace sync — re-run AGENTS.MD auto-curation now\n' +
443
+ ' /workspace reset — delete .zelari/ (destructive — confirmation required)\n' +
444
+ '\nSee `docs/plans/2026-07-01-council-workspace-cli-stubs.md` for schema.',
445
+ };
446
+ }
447
+ if (sub === 'show') {
448
+ const what = args[1];
449
+ if (!what) {
450
+ return {
451
+ handled: true,
452
+ kind: 'workspace_show',
453
+ workspaceWhat: '',
454
+ message: 'Usage: /workspace show <plan|decisions|risks|agents|docs>',
455
+ };
456
+ }
457
+ if (!['plan', 'decisions', 'risks', 'agents', 'docs'].includes(what)) {
458
+ return {
459
+ handled: true,
460
+ kind: 'workspace_show',
461
+ workspaceWhat: '',
462
+ message: `Unknown artifact "${what}". Available: plan | decisions | risks | agents | docs`,
463
+ };
464
+ }
465
+ return {
466
+ handled: true,
467
+ kind: 'workspace_show',
468
+ workspaceWhat: what,
469
+ };
470
+ }
471
+ if (sub === 'sync') {
472
+ return { handled: true, kind: 'workspace_sync' };
473
+ }
474
+ if (sub === 'reset') {
475
+ const force = args.includes('--yes') || args.includes('-y');
476
+ if (force) {
477
+ return { handled: true, kind: 'workspace_reset', workspaceForce: true };
478
+ }
479
+ return {
480
+ handled: true,
481
+ kind: 'workspace_reset',
482
+ message: '⚠ /workspace reset is DESTRUCTIVE — deletes the entire `.zelari/` directory.\n'
483
+ + 'Use `/workspace reset --yes` to confirm.',
484
+ };
485
+ }
486
+ return {
487
+ handled: true,
488
+ kind: 'workspace',
489
+ message: `Unknown /workspace subcommand: "${sub}". Type /workspace for usage.`,
490
+ };
491
+ }
423
492
  default:
424
493
  return {
425
494
  handled: false,
@@ -1 +1 @@
1
- {"version":3,"file":"slashCommands.js","sourceRoot":"","sources":["../../src/cli/slashCommands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slashCommands.js","sourceRoot":"","sources":["../../src/cli/slashCommands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { createBranch, listBranches, branchExists as checkBranchExists, setCurrentBranch, getCurrentBranch, } from '../branchManager.js';
2
+ import { appendSystem } from '../hooks/messageHelpers.js';
3
+ export async function handleBranchCreate(ctx, branchName) {
4
+ if (!ctx.sessionId) {
5
+ appendSystem(ctx.setMessages, '[branch] no active session — wait for bootstrap or run a prompt first');
6
+ return;
7
+ }
8
+ try {
9
+ const info = await createBranch(branchName, ctx.sessionId);
10
+ setCurrentBranch(info.name);
11
+ appendSystem(ctx.setMessages, `[branch] created "${info.name}" from session ${info.fromSessionId.slice(0, 8)}… (${info.sessionCount} session file copied)`);
12
+ }
13
+ catch (err) {
14
+ appendSystem(ctx.setMessages, `[branch error] ${err instanceof Error ? err.message : String(err)}`);
15
+ }
16
+ }
17
+ export async function handleBranchList(ctx) {
18
+ try {
19
+ const list = await listBranches();
20
+ if (list.length === 0) {
21
+ appendSystem(ctx.setMessages, '[branches] no branches yet — use /branch <name> to create one');
22
+ return;
23
+ }
24
+ const currentBranch = getCurrentBranch();
25
+ const lines = list.slice(0, 10).map((b) => {
26
+ const dt = new Date(b.createdAt).toISOString().replace('T', ' ').slice(0, 16);
27
+ const marker = currentBranch === b.name ? ' *' : ' ';
28
+ return ` ${marker}${b.name.padEnd(20)} from ${b.fromSessionId.slice(0, 8)}… ${b.sessionCount} sessions ${dt}`;
29
+ });
30
+ appendSystem(ctx.setMessages, `[branches] ${list.length} total (* = active):\n${lines.join('\n')}`);
31
+ }
32
+ catch (err) {
33
+ appendSystem(ctx.setMessages, `[branches error] ${err instanceof Error ? err.message : String(err)}`);
34
+ }
35
+ }
36
+ export async function handleBranchCheckout(ctx, branchName) {
37
+ try {
38
+ if (!checkBranchExists(branchName)) {
39
+ throw new Error(`Branch "${branchName}" does not exist. Use /branches to list.`);
40
+ }
41
+ setCurrentBranch(branchName);
42
+ appendSystem(ctx.setMessages, `[checkout] active branch set to "${branchName}". Restart zelari-code to load it.`);
43
+ }
44
+ catch (err) {
45
+ appendSystem(ctx.setMessages, `[checkout error] ${err instanceof Error ? err.message : String(err)}`);
46
+ }
47
+ }
48
+ //# sourceMappingURL=branch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch.js","sourceRoot":"","sources":["../../../src/cli/slashHandlers/branch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ import { promises as fs } from 'node:fs';
2
+ import path from 'node:path';
3
+ import os from 'node:os';
4
+ import { getWorkingDiff, undoWorkingChanges, isGitRepo, defaultProjectRoot } from '../gitOps.js';
5
+ import { compactTranscript, formatCompactionSummary } from '../compaction.js';
6
+ import { appendSystem } from '../hooks/messageHelpers.js';
7
+ export async function handleDiff(ctx, diffStaged) {
8
+ try {
9
+ const repoRoot = defaultProjectRoot();
10
+ if (!(await isGitRepo(repoRoot))) {
11
+ appendSystem(ctx.setMessages, '[diff] not a git repository — nothing to show');
12
+ return;
13
+ }
14
+ const { diff, truncated, empty } = await getWorkingDiff({ cwd: repoRoot, staged: diffStaged });
15
+ const banner = empty
16
+ ? `[diff] working tree clean${diffStaged ? ' (incl. staged)' : ''}`
17
+ : `[diff]${diffStaged ? ' (staged + unstaged)' : ''} — ${truncated ? 'truncated to 50k chars' : 'full output follows'}`;
18
+ const body = empty ? '' : `\n\n${diff}`;
19
+ appendSystem(ctx.setMessages, `${banner}${body}`);
20
+ }
21
+ catch (err) {
22
+ appendSystem(ctx.setMessages, `[diff error] ${err instanceof Error ? err.message : String(err)}`);
23
+ }
24
+ }
25
+ export async function handleUndo(ctx, warningMessage, doConfirm) {
26
+ if (warningMessage) {
27
+ appendSystem(ctx.setMessages, warningMessage);
28
+ }
29
+ if (!doConfirm)
30
+ return;
31
+ try {
32
+ const repoRoot = defaultProjectRoot();
33
+ if (!(await isGitRepo(repoRoot))) {
34
+ appendSystem(ctx.setMessages, '[undo] not a git repository — nothing to revert');
35
+ return;
36
+ }
37
+ const res = await undoWorkingChanges({ cwd: repoRoot });
38
+ appendSystem(ctx.setMessages, `[undo] ${res.summary}${res.reverted.length > 0 ? `\n - ${res.reverted.slice(0, 10).join('\n - ')}${res.reverted.length > 10 ? `\n ... +${res.reverted.length - 10} more` : ''}` : ''}`);
39
+ }
40
+ catch (err) {
41
+ appendSystem(ctx.setMessages, `[undo error] ${err instanceof Error ? err.message : String(err)}`);
42
+ }
43
+ }
44
+ export function handleCompact(ctx, threshold, keepRecent) {
45
+ const opts = {};
46
+ if (threshold !== undefined)
47
+ opts.threshold = threshold;
48
+ if (keepRecent !== undefined)
49
+ opts.keepRecent = keepRecent;
50
+ const r = compactTranscript(ctx.messages, opts);
51
+ ctx.setMessages([...r.messages]);
52
+ appendSystem(ctx.setMessages, formatCompactionSummary(r));
53
+ }
54
+ export async function handleUpdateCheck(ctx) {
55
+ try {
56
+ const { checkForUpdate } = await import('../updater.js');
57
+ const info = await checkForUpdate();
58
+ if (info.error) {
59
+ appendSystem(ctx.setMessages, `[update] check failed: ${info.error}`);
60
+ }
61
+ else if (info.updateAvailable) {
62
+ appendSystem(ctx.setMessages, `[update] 🆕 zelari-code ${info.latestVersion} available (current: ${info.currentVersion})\n` +
63
+ ` Run \`/update --yes\` to install. You'll need to restart manually after.`);
64
+ }
65
+ else {
66
+ appendSystem(ctx.setMessages, `[update] up to date (${info.currentVersion})`);
67
+ }
68
+ }
69
+ catch (err) {
70
+ appendSystem(ctx.setMessages, `[update error] ${err instanceof Error ? err.message : String(err)}`);
71
+ }
72
+ }
73
+ export async function handleUpdatePerform(ctx) {
74
+ appendSystem(ctx.setMessages, '[update] running `npm install -g zelari-code@latest`...');
75
+ try {
76
+ const { performUpdate } = await import('../updater.js');
77
+ const res = await performUpdate();
78
+ if (res.ok) {
79
+ appendSystem(ctx.setMessages, `[update] ✅ installed successfully\n\n` +
80
+ `Please restart zelari-code manually to use the new version.\n` +
81
+ `(exit with /exit or Ctrl+C, then run \`zelari-code\` again)`);
82
+ }
83
+ else {
84
+ appendSystem(ctx.setMessages, `[update] ❌ failed: ${res.error ?? 'unknown error'}\n\n` +
85
+ `npm output:\n${res.output || '(empty)'}`);
86
+ }
87
+ }
88
+ catch (err) {
89
+ appendSystem(ctx.setMessages, `[update error] ${err instanceof Error ? err.message : String(err)}`);
90
+ }
91
+ }
92
+ /**
93
+ * Promote a council member to a standalone skill (v3-K).
94
+ */
95
+ export async function handlePromoteMember(ctx, memberId) {
96
+ try {
97
+ const { promoteMember } = await import('../../agents/promoteMember.js');
98
+ const { skill, markdown } = promoteMember(memberId);
99
+ const skillDir = process.env.ANATHEMA_SKILL_DIR
100
+ ?? path.join(os.homedir(), '.tmp', 'zelari-code', 'skills');
101
+ await fs.mkdir(skillDir, { recursive: true });
102
+ const filePath = path.join(skillDir, `${skill.id}.md`);
103
+ await fs.writeFile(filePath, markdown, 'utf8');
104
+ appendSystem(ctx.setMessages, `[promote-member] ${skill.name} (${memberId}) → ${filePath}\n` +
105
+ ` category: ${skill.category}\n` +
106
+ ` cost: ${skill.estimatedCost}\n` +
107
+ ` required: ${skill.requiredRoles.join(', ') || '—'}\n` +
108
+ ` tools: ${skill.requiredTools.join(', ') || '—'}\n` +
109
+ ` tags: ${skill.tags.join(', ')}`);
110
+ }
111
+ catch (err) {
112
+ appendSystem(ctx.setMessages, `[promote-member error] ${err instanceof Error ? err.message : String(err)}`);
113
+ }
114
+ }
115
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/cli/slashHandlers/git.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,199 @@
1
+ import { getProviderSpec, setApiKey, setOAuthToken, maskKey, resolveApiKeyWithMeta, getOAuthToken, } from '../keyStore.js';
2
+ import { getRefreshImpl } from '../refreshRegistry.js';
3
+ import { validateApiKey } from '../keyValidator.js';
4
+ import { getActiveProvider as getActiveProviderSpec, setActiveProviderId as persistActiveProvider, setModelForProvider as persistModelForProvider, getModelForProvider, setCustomEndpoint, clearCustomEndpoint, getCustomEndpoint, } from '../providerConfig.js';
5
+ import { discoverModelsInBackground, discoverModelsForProvider, getCachedModels } from '../modelDiscovery.js';
6
+ import { appendSystem } from '../hooks/messageHelpers.js';
7
+ import { formatDuration } from '../utils/duration.js';
8
+ const UNKNOWN_PROVIDER_MSG = (id) => `[provider] unknown: ${id}. Available: openai-compatible, minimax, glm, grok, custom`;
9
+ export function handleProviderList(ctx) {
10
+ const list = getActiveProviderSpec();
11
+ const customEp = getCustomEndpoint(list.id);
12
+ const epHint = customEp ? ` — custom endpoint: ${customEp}` : '';
13
+ appendSystem(ctx.setMessages, `[provider] current: ${list.displayName} (model: ${ctx.activeModel})${epHint} — available: openai-compatible, minimax, glm, grok, custom`);
14
+ }
15
+ export function handleProviderSet(ctx, providerId) {
16
+ const spec = getProviderSpec(providerId);
17
+ if (!spec) {
18
+ appendSystem(ctx.setMessages, UNKNOWN_PROVIDER_MSG(providerId));
19
+ return;
20
+ }
21
+ try {
22
+ persistActiveProvider(spec.id);
23
+ ctx.setProviderConfig(getProviderSpec(spec.id)); // refresh from getProviderConfig()
24
+ appendSystem(ctx.setMessages, `[provider] active: ${spec.displayName} (model: ${getModelForProvider(spec.id)})`);
25
+ }
26
+ catch (err) {
27
+ appendSystem(ctx.setMessages, `[provider error] ${err instanceof Error ? err.message : String(err)}`);
28
+ }
29
+ }
30
+ export function handleProviderCustom(ctx, opts) {
31
+ const id = ctx.activeProviderSpec.id;
32
+ try {
33
+ if (opts.clear) {
34
+ clearCustomEndpoint(id);
35
+ appendSystem(ctx.setMessages, `[provider] cleared custom endpoint for ${id} — falling back to default`);
36
+ }
37
+ else if (opts.endpoint) {
38
+ setCustomEndpoint(id, opts.endpoint);
39
+ appendSystem(ctx.setMessages, `[provider] custom endpoint for ${id} set to ${opts.endpoint}`);
40
+ }
41
+ else if (opts.message) {
42
+ appendSystem(ctx.setMessages, `[provider] ${opts.message}`);
43
+ }
44
+ }
45
+ catch (err) {
46
+ appendSystem(ctx.setMessages, `[provider error] ${err instanceof Error ? err.message : String(err)}`);
47
+ }
48
+ }
49
+ export async function handleProviderRefresh(ctx, providerId) {
50
+ const spec = getProviderSpec(providerId);
51
+ if (!spec) {
52
+ appendSystem(ctx.setMessages, UNKNOWN_PROVIDER_MSG(providerId));
53
+ return;
54
+ }
55
+ try {
56
+ const refreshed = await resolveApiKeyWithMeta(spec.id);
57
+ if (!refreshed) {
58
+ appendSystem(ctx.setMessages, `[provider refresh] ${spec.id}: no key configured (use /login ${spec.id} <key>)`);
59
+ return;
60
+ }
61
+ const expires = refreshed.expiresAt
62
+ ? ` — expires in ${formatDuration(refreshed.expiresAt - Date.now())}`
63
+ : '';
64
+ const impl = getRefreshImpl(spec.id);
65
+ const implNote = impl ? '' : ' (no refresh impl registered — stale token returned)';
66
+ appendSystem(ctx.setMessages, `[provider refresh] ${spec.id}: ok — key ${maskKey(refreshed.apiKey)}${expires}${implNote}`);
67
+ }
68
+ catch (err) {
69
+ appendSystem(ctx.setMessages, `[provider refresh error] ${err instanceof Error ? err.message : String(err)}`);
70
+ }
71
+ }
72
+ export async function handleProviderStatus(ctx, providerId) {
73
+ const spec = getProviderSpec(providerId);
74
+ if (!spec) {
75
+ appendSystem(ctx.setMessages, UNKNOWN_PROVIDER_MSG(providerId));
76
+ return;
77
+ }
78
+ const envKey = process.env[spec.envVar];
79
+ const stored = getOAuthToken(spec.id);
80
+ const source = envKey && envKey.trim().length > 0
81
+ ? `env (${spec.envVar})`
82
+ : stored ? 'store' : 'missing';
83
+ const expires = stored?.expiresAt ? formatDuration(stored.expiresAt - Date.now()) : '—';
84
+ const hasRefresh = getRefreshImpl(spec.id) ? 'yes' : 'no';
85
+ const hasRefreshToken = stored?.refreshToken ? 'yes' : 'no';
86
+ const baseUrl = spec.baseUrl ?? '—';
87
+ const validation = await validateApiKey(spec.id, envKey ?? stored?.apiKey ?? '').catch(() => null);
88
+ const valLine = validation
89
+ ? validation.skipped
90
+ ? `validation: skipped (no baseUrl)`
91
+ : `validation: ${validation.ok ? 'ok' : `fail (${validation.reason})`}${validation.durationMs ? ` ${validation.durationMs}ms` : ''}`
92
+ : 'validation: error';
93
+ appendSystem(ctx.setMessages, `[provider status] ${spec.id} (${spec.displayName})\n` +
94
+ ` env var: ${spec.envVar}\n` +
95
+ ` source: ${source}\n` +
96
+ ` expires: ${expires}\n` +
97
+ ` refresh: ${hasRefresh} (impl registered)\n` +
98
+ ` refreshTkn: ${hasRefreshToken}\n` +
99
+ ` baseUrl: ${baseUrl}\n` +
100
+ ` ${valLine}`);
101
+ }
102
+ export async function handleLoginKey(ctx, providerId, key) {
103
+ const spec = getProviderSpec(providerId);
104
+ const displayName = spec?.displayName ?? providerId;
105
+ try {
106
+ setApiKey(providerId, key);
107
+ persistActiveProvider(providerId);
108
+ const currentModel = getModelForProvider(providerId);
109
+ if (!currentModel) {
110
+ const fallbackModel = ctx.providerDefaults[providerId];
111
+ if (fallbackModel) {
112
+ persistModelForProvider(providerId, fallbackModel);
113
+ }
114
+ }
115
+ appendSystem(ctx.setMessages, `[login] ${displayName} key stored (${maskKey(key)}). Active provider switched to ${displayName} — try a prompt now.`);
116
+ // Background model discovery (fire-and-forget)
117
+ const discoveryProvider = providerId;
118
+ if (['grok', 'glm', 'minimax', 'openai-compatible'].includes(discoveryProvider)) {
119
+ discoverModelsInBackground(discoveryProvider, {
120
+ onError: (err) => appendSystem(ctx.setMessages, `[models] discovery failed for ${discoveryProvider}: ${err.message} (using static defaults)`),
121
+ });
122
+ }
123
+ }
124
+ catch (err) {
125
+ appendSystem(ctx.setMessages, `[login error] ${err instanceof Error ? err.message : String(err)}`);
126
+ }
127
+ }
128
+ export async function handleLoginOAuthGrok(ctx) {
129
+ const { runGrokOAuthFlow } = await import('../grokOAuth.js');
130
+ appendSystem(ctx.setMessages, '[login oauth] requesting device code from xAI...');
131
+ ctx.setBusy(true);
132
+ try {
133
+ const resultOAuth = await runGrokOAuthFlow({
134
+ onUserCode: (info) => appendSystem(ctx.setMessages, `[login oauth] Open ${info.verificationUri} in your browser and enter the code:\n` +
135
+ ` ${info.userCode}\n` +
136
+ `(Opening your browser automatically...)`),
137
+ });
138
+ setOAuthToken('grok', {
139
+ apiKey: resultOAuth.accessToken,
140
+ ...(resultOAuth.expiresAt !== undefined ? { expiresAt: resultOAuth.expiresAt } : {}),
141
+ ...(resultOAuth.refreshToken ? { refreshToken: resultOAuth.refreshToken } : {}),
142
+ });
143
+ persistActiveProvider('grok');
144
+ if (!getModelForProvider('grok')) {
145
+ persistModelForProvider('grok', ctx.providerDefaults['grok'] ?? 'grok-4');
146
+ }
147
+ const expiresHint = resultOAuth.expiresAt ? `, expires ${new Date(resultOAuth.expiresAt).toISOString()}` : '';
148
+ const refreshHint = resultOAuth.refreshToken ? ', refresh token saved' : '';
149
+ appendSystem(ctx.setMessages, `[login oauth] ✓ Grok authenticated via SuperGrok (token ${maskKey(resultOAuth.accessToken)}${expiresHint}${refreshHint}). Active provider switched to grok — try a prompt now.`);
150
+ discoverModelsInBackground('grok', {
151
+ onError: (err) => appendSystem(ctx.setMessages, `[models] discovery failed for grok: ${err.message} (using static defaults)`),
152
+ });
153
+ }
154
+ catch (err) {
155
+ appendSystem(ctx.setMessages, `[login oauth error] ${err instanceof Error ? err.message : String(err)}`);
156
+ }
157
+ finally {
158
+ ctx.setBusy(false);
159
+ }
160
+ }
161
+ export function handleModelShow(ctx) {
162
+ appendSystem(ctx.setMessages, `[model] current: ${ctx.activeProviderSpec.displayName} → ${ctx.activeModel}`);
163
+ }
164
+ export function handleModelSet(ctx, model) {
165
+ const id = ctx.activeProviderSpec.id;
166
+ try {
167
+ persistModelForProvider(id, model);
168
+ appendSystem(ctx.setMessages, `[model] set: ${id} → ${model}`);
169
+ }
170
+ catch (err) {
171
+ appendSystem(ctx.setMessages, `[model error] ${err instanceof Error ? err.message : String(err)}`);
172
+ }
173
+ }
174
+ export function handleModelsList(ctx) {
175
+ const discId = ctx.activeProviderSpec.id;
176
+ const cached = getCachedModels(discId);
177
+ if (!cached || cached.models.length === 0) {
178
+ appendSystem(ctx.setMessages, `[models] no cache for ${ctx.activeProviderSpec.displayName}. Run /models refresh or /login ${discId} <key> to discover.`);
179
+ return;
180
+ }
181
+ const ageMin = Math.round((Date.now() - cached.fetchedAt) / 60_000);
182
+ const list = cached.models.map((m) => ` - ${m.id}${m.ownedBy ? ` (${m.ownedBy})` : ''}`).join('\n');
183
+ appendSystem(ctx.setMessages, `[models] ${ctx.activeProviderSpec.displayName} — ${cached.models.length} models (fetched ${ageMin}m ago from ${cached.baseUrl}):\n${list}`);
184
+ }
185
+ export function handleModelsRefresh(ctx) {
186
+ const discId = ctx.activeProviderSpec.id;
187
+ appendSystem(ctx.setMessages, `[models] refreshing model list for ${ctx.activeProviderSpec.displayName}...`);
188
+ // Fire-and-forget background refresh; result surfaces inline.
189
+ (async () => {
190
+ try {
191
+ const entry = await discoverModelsForProvider(discId);
192
+ appendSystem(ctx.setMessages, `[models] ✓ ${entry.models.length} models discovered for ${ctx.activeProviderSpec.displayName}. Use /model <name> to switch.`);
193
+ }
194
+ catch (err) {
195
+ appendSystem(ctx.setMessages, `[models] ✗ discovery failed: ${err instanceof Error ? err.message : String(err)}`);
196
+ }
197
+ })();
198
+ }
199
+ //# sourceMappingURL=provider.js.map