@calliopelabs/cli 2.1.1 → 2.3.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 (115) hide show
  1. package/dist/agents/council-types.d.ts +2 -0
  2. package/dist/agents/council-types.d.ts.map +1 -1
  3. package/dist/agents/council-types.js.map +1 -1
  4. package/dist/agents/council.d.ts +5 -0
  5. package/dist/agents/council.d.ts.map +1 -1
  6. package/dist/agents/council.js +150 -14
  7. package/dist/agents/council.js.map +1 -1
  8. package/dist/agents/orchestrator.d.ts +7 -0
  9. package/dist/agents/orchestrator.d.ts.map +1 -1
  10. package/dist/agents/orchestrator.js +48 -7
  11. package/dist/agents/orchestrator.js.map +1 -1
  12. package/dist/agents/swarm-types.d.ts +1 -0
  13. package/dist/agents/swarm-types.d.ts.map +1 -1
  14. package/dist/agents/swarm.d.ts +5 -0
  15. package/dist/agents/swarm.d.ts.map +1 -1
  16. package/dist/agents/swarm.js +85 -17
  17. package/dist/agents/swarm.js.map +1 -1
  18. package/dist/agents/types.d.ts +1 -0
  19. package/dist/agents/types.d.ts.map +1 -1
  20. package/dist/agents/types.js.map +1 -1
  21. package/dist/api-server.d.ts.map +1 -1
  22. package/dist/api-server.js +1 -1
  23. package/dist/api-server.js.map +1 -1
  24. package/dist/auto-compressor.d.ts +14 -0
  25. package/dist/auto-compressor.d.ts.map +1 -1
  26. package/dist/auto-compressor.js +58 -5
  27. package/dist/auto-compressor.js.map +1 -1
  28. package/dist/background-jobs.d.ts.map +1 -1
  29. package/dist/background-jobs.js +8 -3
  30. package/dist/background-jobs.js.map +1 -1
  31. package/dist/bin.js +8 -1
  32. package/dist/bin.js.map +1 -1
  33. package/dist/cli/agent.d.ts.map +1 -1
  34. package/dist/cli/agent.js +111 -59
  35. package/dist/cli/agent.js.map +1 -1
  36. package/dist/cli/commands.d.ts.map +1 -1
  37. package/dist/cli/commands.js +119 -11
  38. package/dist/cli/commands.js.map +1 -1
  39. package/dist/cli/index.d.ts.map +1 -1
  40. package/dist/cli/index.js +23 -5
  41. package/dist/cli/index.js.map +1 -1
  42. package/dist/cli/types.d.ts +3 -0
  43. package/dist/cli/types.d.ts.map +1 -1
  44. package/dist/cli/types.js +2 -1
  45. package/dist/cli/types.js.map +1 -1
  46. package/dist/config.d.ts +4 -0
  47. package/dist/config.d.ts.map +1 -1
  48. package/dist/config.js +26 -1
  49. package/dist/config.js.map +1 -1
  50. package/dist/env-expansion.d.ts +15 -0
  51. package/dist/env-expansion.d.ts.map +1 -0
  52. package/dist/env-expansion.js +43 -0
  53. package/dist/env-expansion.js.map +1 -0
  54. package/dist/headless.d.ts.map +1 -1
  55. package/dist/headless.js +3 -2
  56. package/dist/headless.js.map +1 -1
  57. package/dist/iteration-ledger.d.ts +111 -2
  58. package/dist/iteration-ledger.d.ts.map +1 -1
  59. package/dist/iteration-ledger.js +327 -19
  60. package/dist/iteration-ledger.js.map +1 -1
  61. package/dist/iteration-limit.d.ts +5 -0
  62. package/dist/iteration-limit.d.ts.map +1 -0
  63. package/dist/iteration-limit.js +17 -0
  64. package/dist/iteration-limit.js.map +1 -0
  65. package/dist/mcp.d.ts.map +1 -1
  66. package/dist/mcp.js +6 -1
  67. package/dist/mcp.js.map +1 -1
  68. package/dist/memory.d.ts.map +1 -1
  69. package/dist/memory.js +4 -9
  70. package/dist/memory.js.map +1 -1
  71. package/dist/model-detection.d.ts.map +1 -1
  72. package/dist/model-detection.js +22 -0
  73. package/dist/model-detection.js.map +1 -1
  74. package/dist/model-router.d.ts.map +1 -1
  75. package/dist/model-router.js +5 -0
  76. package/dist/model-router.js.map +1 -1
  77. package/dist/prevent-sleep.d.ts +10 -0
  78. package/dist/prevent-sleep.d.ts.map +1 -0
  79. package/dist/prevent-sleep.js +85 -0
  80. package/dist/prevent-sleep.js.map +1 -0
  81. package/dist/providers/compat.d.ts.map +1 -1
  82. package/dist/providers/compat.js +26 -6
  83. package/dist/providers/compat.js.map +1 -1
  84. package/dist/providers/openai-compat-shims.d.ts +31 -0
  85. package/dist/providers/openai-compat-shims.d.ts.map +1 -0
  86. package/dist/providers/openai-compat-shims.js +179 -0
  87. package/dist/providers/openai-compat-shims.js.map +1 -0
  88. package/dist/providers/openai.d.ts.map +1 -1
  89. package/dist/setup.d.ts.map +1 -1
  90. package/dist/setup.js +15 -0
  91. package/dist/setup.js.map +1 -1
  92. package/dist/storage.d.ts +20 -1
  93. package/dist/storage.d.ts.map +1 -1
  94. package/dist/storage.js +101 -9
  95. package/dist/storage.js.map +1 -1
  96. package/dist/tools.js +1 -1
  97. package/dist/tools.js.map +1 -1
  98. package/dist/types.d.ts +1 -1
  99. package/dist/types.d.ts.map +1 -1
  100. package/dist/types.js +6 -8
  101. package/dist/types.js.map +1 -1
  102. package/dist/ui/agent.d.ts.map +1 -1
  103. package/dist/ui/agent.js +140 -77
  104. package/dist/ui/agent.js.map +1 -1
  105. package/dist/ui/commands.d.ts +2 -0
  106. package/dist/ui/commands.d.ts.map +1 -1
  107. package/dist/ui/commands.js +244 -29
  108. package/dist/ui/commands.js.map +1 -1
  109. package/dist/ui/completions.d.ts.map +1 -1
  110. package/dist/ui/completions.js +2 -0
  111. package/dist/ui/completions.js.map +1 -1
  112. package/dist/ui/index.d.ts.map +1 -1
  113. package/dist/ui/index.js +52 -14
  114. package/dist/ui/index.js.map +1 -1
  115. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-compat-shims.d.ts","sourceRoot":"","sources":["../../src/providers/openai-compat-shims.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAE3F,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,UAAU,GAAG,aAAa,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,gBAAgB,CAAC,MAAM,EAAE,8BAA8B,GAAG,8BAA8B,CAAC;IACzF,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AASD,yDAAyD;AACzD,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAsJD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAqBtD"}
@@ -0,0 +1,179 @@
1
+ /**
2
+ * OpenAI-Compatible Server Shims
3
+ *
4
+ * Provides compatibility shims for popular local inference servers:
5
+ * LM Studio, AnythingLLM, vLLM, Jan, LocalAI.
6
+ *
7
+ * Each shim can detect its target server by URL pattern and transform
8
+ * request parameters to work around server-specific limitations.
9
+ */
10
+ // ---------------------------------------------------------------------------
11
+ // One-time tool-strip warnings (keyed by shim id)
12
+ // Exported for test resets via resetToolWarnings()
13
+ // ---------------------------------------------------------------------------
14
+ const warnedShims = new Set();
15
+ /** Reset tool-strip warnings — for use in tests only. */
16
+ export function resetToolWarnings() {
17
+ warnedShims.clear();
18
+ }
19
+ // ---------------------------------------------------------------------------
20
+ // Shim implementations
21
+ // ---------------------------------------------------------------------------
22
+ const lmstudioShim = {
23
+ id: 'lmstudio',
24
+ name: 'LM Studio',
25
+ description: 'Local LLM server by LM Studio (default port 1234)',
26
+ supportsTools: true,
27
+ supportsStreaming: true,
28
+ detect(baseUrl) {
29
+ return baseUrl.includes(':1234');
30
+ },
31
+ transformRequest(params) {
32
+ const result = { ...params };
33
+ if (result.max_tokens == null) {
34
+ result.max_tokens = 8192;
35
+ }
36
+ return result;
37
+ },
38
+ };
39
+ const anythingllmShim = {
40
+ id: 'anythingllm',
41
+ name: 'AnythingLLM',
42
+ description: 'All-in-one AI application (default port 3001, /api/openai path)',
43
+ supportsTools: false,
44
+ supportsStreaming: true,
45
+ detect(baseUrl) {
46
+ return baseUrl.includes(':3001') || baseUrl.includes('/api/openai');
47
+ },
48
+ transformRequest(params) {
49
+ const result = { ...params };
50
+ if ((result.tools || result.tool_choice) && !warnedShims.has('anythingllm')) {
51
+ warnedShims.add('anythingllm');
52
+ process.stderr.write('[openai-compat] AnythingLLM does not support tool_calls — stripping tools and tool_choice\n');
53
+ }
54
+ delete result.tools;
55
+ delete result.tool_choice;
56
+ return result;
57
+ },
58
+ };
59
+ const vllmShim = {
60
+ id: 'vllm',
61
+ name: 'vLLM',
62
+ description: 'High-throughput inference engine (default port 8000)',
63
+ supportsTools: true,
64
+ supportsStreaming: true,
65
+ detect(baseUrl) {
66
+ return baseUrl.includes(':8000');
67
+ },
68
+ transformRequest(params) {
69
+ const result = { ...params };
70
+ if (result.max_tokens == null) {
71
+ result.max_tokens = 4096;
72
+ }
73
+ return result;
74
+ },
75
+ };
76
+ const janShim = {
77
+ id: 'jan',
78
+ name: 'Jan',
79
+ description: 'Open-source local AI desktop app (default port 1337)',
80
+ supportsTools: false,
81
+ supportsStreaming: true,
82
+ detect(baseUrl) {
83
+ return baseUrl.includes(':1337');
84
+ },
85
+ transformRequest(params) {
86
+ const result = { ...params };
87
+ if ((result.tools || result.tool_choice) && !warnedShims.has('jan')) {
88
+ warnedShims.add('jan');
89
+ process.stderr.write('[openai-compat] Jan does not support tool_calls — stripping tools and tool_choice\n');
90
+ }
91
+ delete result.tools;
92
+ delete result.tool_choice;
93
+ return result;
94
+ },
95
+ };
96
+ const localaiShim = {
97
+ id: 'localai',
98
+ name: 'LocalAI',
99
+ description: 'Free, open-source OpenAI alternative (default port 8080)',
100
+ supportsTools: false,
101
+ supportsStreaming: true,
102
+ detect(baseUrl) {
103
+ return baseUrl.includes(':8080');
104
+ },
105
+ transformRequest(params) {
106
+ const result = { ...params };
107
+ if ((result.tools || result.tool_choice) && !warnedShims.has('localai')) {
108
+ warnedShims.add('localai');
109
+ process.stderr.write('[openai-compat] LocalAI does not support tool_calls — stripping tools and tool_choice\n');
110
+ }
111
+ delete result.tools;
112
+ delete result.tool_choice;
113
+ // Convert system role messages to user messages with [SYSTEM] prefix
114
+ if (result.messages) {
115
+ result.messages = result.messages.map((msg) => {
116
+ if (msg.role === 'system') {
117
+ const content = typeof msg.content === 'string' ? msg.content : JSON.stringify(msg.content);
118
+ return { role: 'user', content: `[SYSTEM] ${content}` };
119
+ }
120
+ return msg;
121
+ });
122
+ }
123
+ return result;
124
+ },
125
+ };
126
+ const noneShim = {
127
+ id: 'none',
128
+ name: 'None (pass-through)',
129
+ description: 'No shim applied — pass requests through unchanged',
130
+ supportsTools: true,
131
+ supportsStreaming: true,
132
+ detect(_baseUrl) {
133
+ return false;
134
+ },
135
+ transformRequest(params) {
136
+ return params;
137
+ },
138
+ };
139
+ // ---------------------------------------------------------------------------
140
+ // Detection order (priority: env var → URL pattern → fallback)
141
+ // ---------------------------------------------------------------------------
142
+ const ALL_SHIMS = [lmstudioShim, anythingllmShim, vllmShim, janShim, localaiShim];
143
+ const SHIM_MAP = {
144
+ lmstudio: lmstudioShim,
145
+ anythingllm: anythingllmShim,
146
+ vllm: vllmShim,
147
+ jan: janShim,
148
+ localai: localaiShim,
149
+ none: noneShim,
150
+ };
151
+ /**
152
+ * Detect which compatibility shim to use for the given base URL.
153
+ *
154
+ * Priority:
155
+ * 1. `OPENAI_COMPAT_SHIM` env var (exact match to shim id)
156
+ * 2. URL pattern matching (in order: lmstudio, anythingllm, vllm, jan, localai)
157
+ * 3. Fallback to pass-through (none)
158
+ */
159
+ export function detectShim(baseUrl) {
160
+ // 1. Env var override
161
+ const envShim = process.env.OPENAI_COMPAT_SHIM;
162
+ if (envShim && envShim in SHIM_MAP) {
163
+ const shim = SHIM_MAP[envShim];
164
+ if (shim.id !== 'none') {
165
+ process.stderr.write(`[openai-compat] Detected ${shim.name} — applying compatibility shim\n`);
166
+ }
167
+ return shim;
168
+ }
169
+ // 2. URL pattern matching
170
+ for (const shim of ALL_SHIMS) {
171
+ if (shim.detect(baseUrl)) {
172
+ process.stderr.write(`[openai-compat] Detected ${shim.name} — applying compatibility shim\n`);
173
+ return shim;
174
+ }
175
+ }
176
+ // 3. Pass-through
177
+ return noneShim;
178
+ }
179
+ //# sourceMappingURL=openai-compat-shims.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-compat-shims.js","sourceRoot":"","sources":["../../src/providers/openai-compat-shims.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAe,cAAc,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAAgC,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAM/E;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,yBAAyB,EAAE,CAkBrH;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;UAkC9B,QAAQ,GAAG,MAAM,GAAG,WAAW;;;;KAIpD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE;;;;;;;;;;oBAjCvC,CAAH;qBAAuB,CAAC;;;;;;;IA0CxB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,6BAA6B,EAAE,GAAG,SAAS,GAAG,QAAQ,EAAE,CAmB/H;AAMD,4CAA4C;AAC5C,KAAK,kBAAkB,GACnB;IAAE,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAAA;CAAE,GACtF;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC3E;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE,KAAK,oBAAoB,GACrB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAExD,wCAAwC;AACxC,UAAU,aAAa;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,EAAE,OAAO,CAAC;CACjB;AAqED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,kBAAkB,EAAE,CAqE1E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAQ/D;AA0JD;;GAEG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,IAAI,EAAE,EACb,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,CAqItB"}
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAe,cAAc,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAAgC,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAM/E;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,yBAAyB,EAAE,CAkBrH;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;UAkC9B,QAAQ,GAAG,MAAM,GAAG,WAAW;;;;KAIpD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE;;;;;;;;;;oBA/BjC,CAAC;qBAAuB,CAAC;;;;;;;IAwClC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,6BAA6B,EAAE,GAAG,SAAS,GAAG,QAAQ,EAAE,CAmB/H;AAMD,4CAA4C;AAC5C,KAAK,kBAAkB,GACnB;IAAE,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAAA;CAAE,GACtF;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC3E;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE,KAAK,oBAAoB,GACrB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAExD,wCAAwC;AACxC,UAAU,aAAa;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,EAAE,OAAO,CAAC;CACjB;AAqED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,kBAAkB,EAAE,CAqE1E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAQ/D;AA0JD;;GAEG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,IAAI,EAAE,EACb,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,CAqItB"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkBH;;GAEG;AACH,wBAAsB,QAAQ,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAuO9D;AAgDD;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAMjD;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkBH;;GAEG;AACH,wBAAsB,QAAQ,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAoP9D;AAgDD;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAMjD;AAED,eAAe,QAAQ,CAAC"}
package/dist/setup.js CHANGED
@@ -55,6 +55,8 @@ export async function runSetup(force = false) {
55
55
  envProviders.push('litellm');
56
56
  if (process.env.BEDROCK_API_KEY || process.env.BEDROCK_BASE_URL)
57
57
  envProviders.push('bedrock');
58
+ if (process.env.OPENAI_COMPAT_BASE_URL)
59
+ envProviders.push('openai-compat');
58
60
  if (envProviders.length > 0) {
59
61
  console.log(c(` Found API keys in environment: ${envProviders.join(', ')}`, 'green'));
60
62
  console.log();
@@ -73,6 +75,7 @@ export async function runSetup(force = false) {
73
75
  { value: 'ollama', name: 'Ollama (Local)', description: 'Run models locally - no API key needed' },
74
76
  { value: 'litellm', name: 'LiteLLM Proxy', description: 'Unified proxy for multiple providers' },
75
77
  { value: 'bedrock', name: 'AWS Bedrock', description: 'AWS Bedrock via gateway/proxy' },
78
+ { value: 'openai-compat', name: 'Generic OpenAI-compatible server', description: 'Any server with OpenAI API: AnythingLLM, LocalAI, Jan, LM Studio, vLLM' },
76
79
  { value: 'ai21', name: 'AI21 Labs', description: 'Jamba models' },
77
80
  { value: 'huggingface', name: 'HuggingFace', description: 'Open source model inference' },
78
81
  { value: 'auto', name: 'Auto (use first available)', description: 'Automatically select based on available keys' },
@@ -136,6 +139,18 @@ export async function runSetup(force = false) {
136
139
  }
137
140
  }
138
141
  }
142
+ else if (providerChoice === 'openai-compat' && needsKey) {
143
+ console.log();
144
+ console.log(c(' Any server that speaks the OpenAI chat completions API.', 'dim'));
145
+ console.log(c(' Examples: AnythingLLM (port 3001), LocalAI (8080), Jan (1337), LM Studio (1234), vLLM (8000)', 'dim'));
146
+ const baseUrl = await input({ message: 'Enter base URL:', default: 'http://localhost:1234/v1' });
147
+ config.set('openaiCompatBaseUrl', baseUrl);
148
+ const needsApiKey = await confirm({ message: 'Does this server require an API key?', default: false });
149
+ if (needsApiKey) {
150
+ const apiKey = await input({ message: 'Enter API key:' });
151
+ config.set('openaiCompatApiKey', apiKey);
152
+ }
153
+ }
139
154
  else if (needsKey) {
140
155
  console.log();
141
156
  console.log(c(` You'll need an API key for ${providerChoice}.`, 'dim'));
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
package/dist/storage.d.ts CHANGED
@@ -3,6 +3,9 @@
3
3
  *
4
4
  * Manages ~/.calliope-cli/ directory structure for sessions, todos, and history.
5
5
  */
6
+ import { IterationLedger } from './iteration-ledger.js';
7
+ import type { IterationLedgerSnapshot } from './iteration-ledger.js';
8
+ export declare function createSessionId(): string;
6
9
  export interface Session {
7
10
  id: string;
8
11
  projectPath: string;
@@ -83,11 +86,15 @@ export declare function addChatMessage(message: Omit<ChatMessage, 'id' | 'timest
83
86
  /**
84
87
  * Get chat history for current session
85
88
  */
86
- export declare function getChatHistory(limit?: number): ChatMessage[];
89
+ export declare function getChatHistory(limit?: number, sessionId?: string): ChatMessage[];
87
90
  /**
88
91
  * Find a session directory by session ID
89
92
  */
90
93
  export declare function getSessionDirById(sessionId: string): string | null;
94
+ /**
95
+ * Switch the active session pointer to a saved session by ID.
96
+ */
97
+ export declare function setCurrentSessionById(sessionId: string): Session | null;
91
98
  /**
92
99
  * Save the full LLM message array to the current session directory as messages.json.
93
100
  * This preserves tool calls, tool results, and all message metadata for perfect resume.
@@ -98,6 +105,18 @@ export declare function saveMessageHistory(messages: unknown[]): void;
98
105
  * If sessionId is provided, loads from that session; otherwise loads from current session.
99
106
  */
100
107
  export declare function loadMessageHistory(sessionId?: string): unknown[] | null;
108
+ /**
109
+ * Save the current iteration ledger for the active or specified session.
110
+ */
111
+ export declare function saveIterationLedger(ledger: IterationLedger | IterationLedgerSnapshot, sessionId?: string): void;
112
+ /**
113
+ * Load the saved iteration ledger for the active or specified session.
114
+ */
115
+ export declare function loadIterationLedger(sessionId?: string): IterationLedgerSnapshot | null;
116
+ /**
117
+ * Look up a Session object by its ID.
118
+ */
119
+ export declare function getSessionById(sessionId: string): Session | null;
101
120
  /**
102
121
  * Fork the current session: creates a new session with the current messages copied.
103
122
  * Returns the new session, or null on failure.
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
package/dist/storage.js CHANGED
@@ -6,6 +6,7 @@
6
6
  import * as fs from 'fs';
7
7
  import * as path from 'path';
8
8
  import * as os from 'os';
9
+ import { IterationLedger } from './iteration-ledger.js';
9
10
  // ============================================================================
10
11
  // Date Utilities
11
12
  // ============================================================================
@@ -18,6 +19,9 @@ function getTodayString(date = new Date()) {
18
19
  const day = String(date.getDate()).padStart(2, '0');
19
20
  return `${year}-${month}-${day}`;
20
21
  }
22
+ export function createSessionId() {
23
+ return `session_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
24
+ }
21
25
  // ============================================================================
22
26
  // Paths
23
27
  // ============================================================================
@@ -36,6 +40,10 @@ export const paths = {
36
40
  history: path.join(CALLIOPE_DIR, 'history'),
37
41
  commandHistory: path.join(CALLIOPE_DIR, 'history', 'commands.txt'),
38
42
  };
43
+ function getSessionFilePath(fileName, sessionId) {
44
+ const sessionDir = sessionId ? getSessionDirById(sessionId) : paths.currentSession;
45
+ return sessionDir ? path.join(sessionDir, fileName) : null;
46
+ }
39
47
  // ============================================================================
40
48
  // Initialization
41
49
  // ============================================================================
@@ -243,7 +251,7 @@ export function getOrCreateSession(projectPath) {
243
251
  fs.mkdirSync(path.join(sessionDir, 'plans'), { recursive: true });
244
252
  }
245
253
  const session = {
246
- id: `session_${Date.now()}`,
254
+ id: createSessionId(),
247
255
  projectPath,
248
256
  projectName: path.basename(projectPath) || 'unnamed',
249
257
  createdAt: new Date().toISOString(),
@@ -274,14 +282,22 @@ function updateCurrentSymlink(sessionDir) {
274
282
  // Symlinks may not work on all platforms
275
283
  }
276
284
  }
285
+ function readSessionFromDir(sessionDir) {
286
+ const sessionFile = path.join(sessionDir, 'session.json');
287
+ return readJSON(sessionFile, null);
288
+ }
289
+ function touchSession(sessionDir, session) {
290
+ session.lastAccessedAt = new Date().toISOString();
291
+ writeJSON(path.join(sessionDir, 'session.json'), session);
292
+ return session;
293
+ }
277
294
  /**
278
295
  * Get current session info
279
296
  */
280
297
  export function getCurrentSession() {
281
298
  try {
282
299
  if (fs.existsSync(paths.currentSession)) {
283
- const sessionFile = path.join(paths.currentSession, 'session.json');
284
- return readJSON(sessionFile, null);
300
+ return readSessionFromDir(paths.currentSession);
285
301
  }
286
302
  }
287
303
  catch {
@@ -358,9 +374,11 @@ export function addChatMessage(message) {
358
374
  /**
359
375
  * Get chat history for current session
360
376
  */
361
- export function getChatHistory(limit) {
362
- const historyFile = path.join(paths.currentSession, 'chat.log');
363
- const history = readChatHistory(historyFile);
377
+ export function getChatHistory(limit, sessionId) {
378
+ const sessionDir = sessionId ? getSessionDirById(sessionId) : paths.currentSession;
379
+ if (!sessionDir)
380
+ return [];
381
+ const history = readChatHistory(path.join(sessionDir, 'chat.log'));
364
382
  if (limit) {
365
383
  return history.slice(-limit);
366
384
  }
@@ -391,6 +409,20 @@ export function getSessionDirById(sessionId) {
391
409
  }
392
410
  return null;
393
411
  }
412
+ /**
413
+ * Switch the active session pointer to a saved session by ID.
414
+ */
415
+ export function setCurrentSessionById(sessionId) {
416
+ initStorage();
417
+ const sessionDir = getSessionDirById(sessionId);
418
+ if (!sessionDir)
419
+ return null;
420
+ const session = readSessionFromDir(sessionDir);
421
+ if (!session)
422
+ return null;
423
+ updateCurrentSymlink(sessionDir);
424
+ return touchSession(sessionDir, session);
425
+ }
394
426
  /**
395
427
  * Save the full LLM message array to the current session directory as messages.json.
396
428
  * This preserves tool calls, tool results, and all message metadata for perfect resume.
@@ -441,6 +473,63 @@ export function loadMessageHistory(sessionId) {
441
473
  }
442
474
  return null;
443
475
  }
476
+ /**
477
+ * Save the current iteration ledger for the active or specified session.
478
+ */
479
+ export function saveIterationLedger(ledger, sessionId) {
480
+ try {
481
+ const ledgerFile = getSessionFilePath('ledger.json', sessionId);
482
+ if (!ledgerFile)
483
+ return;
484
+ const snapshot = ledger instanceof IterationLedger ? ledger.toSnapshot() : ledger;
485
+ writeJSON(ledgerFile, snapshot);
486
+ }
487
+ catch {
488
+ // Silently fail - don't break interactive sessions
489
+ }
490
+ }
491
+ /**
492
+ * Load the saved iteration ledger for the active or specified session.
493
+ */
494
+ export function loadIterationLedger(sessionId) {
495
+ try {
496
+ const ledgerFile = getSessionFilePath('ledger.json', sessionId);
497
+ if (!ledgerFile || !fs.existsSync(ledgerFile))
498
+ return null;
499
+ const snapshot = readJSON(ledgerFile, null);
500
+ if (!snapshot || !Array.isArray(snapshot.entries))
501
+ return null;
502
+ return {
503
+ version: 1,
504
+ entries: snapshot.entries,
505
+ failedApproaches: Array.isArray(snapshot.failedApproaches) ? snapshot.failedApproaches : [],
506
+ currentEntry: snapshot.currentEntry && typeof snapshot.currentEntry === 'object' && !Array.isArray(snapshot.currentEntry)
507
+ ? snapshot.currentEntry
508
+ : null,
509
+ iterationStart: typeof snapshot.iterationStart === 'number' ? snapshot.iterationStart : 0,
510
+ runs: Array.isArray(snapshot.runs) ? snapshot.runs : [],
511
+ nextIterationNumber: typeof snapshot.nextIterationNumber === 'number' ? snapshot.nextIterationNumber : undefined,
512
+ totalEntryCount: typeof snapshot.totalEntryCount === 'number' ? snapshot.totalEntryCount : undefined,
513
+ totalTokenCount: typeof snapshot.totalTokenCount === 'number' ? snapshot.totalTokenCount : undefined,
514
+ totalCostUsd: typeof snapshot.totalCostUsd === 'number' ? snapshot.totalCostUsd : undefined,
515
+ totalDurationMs: typeof snapshot.totalDurationMs === 'number' ? snapshot.totalDurationMs : undefined,
516
+ totalFailureCount: typeof snapshot.totalFailureCount === 'number' ? snapshot.totalFailureCount : undefined,
517
+ totalFailedApproachCount: typeof snapshot.totalFailedApproachCount === 'number' ? snapshot.totalFailedApproachCount : undefined,
518
+ };
519
+ }
520
+ catch {
521
+ return null;
522
+ }
523
+ }
524
+ /**
525
+ * Look up a Session object by its ID.
526
+ */
527
+ export function getSessionById(sessionId) {
528
+ const sessionDir = getSessionDirById(sessionId);
529
+ if (!sessionDir)
530
+ return null;
531
+ return readSessionFromDir(sessionDir);
532
+ }
444
533
  /**
445
534
  * Fork the current session: creates a new session with the current messages copied.
446
535
  * Returns the new session, or null on failure.
@@ -452,6 +541,7 @@ export function forkSession(projectPath) {
452
541
  if (!currentMessages || currentMessages.length === 0) {
453
542
  return null;
454
543
  }
544
+ const currentLedger = loadIterationLedger();
455
545
  const currentSession = getCurrentSession();
456
546
  // Create a unique fork directory name
457
547
  const projectName = path.basename(projectPath) || 'unnamed';
@@ -463,7 +553,7 @@ export function forkSession(projectPath) {
463
553
  fs.mkdirSync(forkDir, { recursive: true });
464
554
  fs.mkdirSync(path.join(forkDir, 'plans'), { recursive: true });
465
555
  const newSession = {
466
- id: `session_${Date.now()}`,
556
+ id: createSessionId(),
467
557
  projectPath,
468
558
  projectName,
469
559
  createdAt: new Date().toISOString(),
@@ -476,6 +566,9 @@ export function forkSession(projectPath) {
476
566
  writeJSON(path.join(forkDir, 'session.json'), newSession);
477
567
  // Copy messages to fork
478
568
  writeJSON(path.join(forkDir, 'messages.json'), currentMessages);
569
+ if (currentLedger) {
570
+ writeJSON(path.join(forkDir, 'ledger.json'), currentLedger);
571
+ }
479
572
  // Create empty chat log and todos
480
573
  fs.writeFileSync(path.join(forkDir, 'chat.log'), '');
481
574
  fs.writeFileSync(path.join(forkDir, 'todos.txt'), '');
@@ -714,10 +807,9 @@ function pruneCosts(costs) {
714
807
  delete costs.costByDay[day];
715
808
  }
716
809
  }
717
- // Prune costBySession: keep only the most recent N sessions (by key, which contains timestamp)
810
+ // Prune costBySession: keep only the most recent N sessions (IDs still sort by timestamp prefix)
718
811
  const sessionKeys = Object.keys(costs.costBySession);
719
812
  if (sessionKeys.length > COST_PRUNE_MAX_SESSIONS) {
720
- // Session IDs are formatted as session_<timestamp>, so sorting works chronologically
721
813
  sessionKeys.sort();
722
814
  const toRemove = sessionKeys.slice(0, sessionKeys.length - COST_PRUNE_MAX_SESSIONS);
723
815
  for (const key of toRemove) {