@alexberardi/jarvis-admin 0.1.48 → 0.1.52

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 (63) hide show
  1. package/package.json +1 -1
  2. package/public/assets/index-CFk_6rti.js +18 -0
  3. package/public/assets/index-CMHLUK6S.css +1 -0
  4. package/public/index.html +2 -2
  5. package/server/dist/app.d.ts.map +1 -1
  6. package/server/dist/app.js +4 -0
  7. package/server/dist/app.js.map +1 -1
  8. package/server/dist/data/service-registry.json +2 -2
  9. package/server/dist/routes/install.d.ts.map +1 -1
  10. package/server/dist/routes/install.js +34 -3
  11. package/server/dist/routes/install.js.map +1 -1
  12. package/server/dist/routes/quick-sets.d.ts +3 -0
  13. package/server/dist/routes/quick-sets.d.ts.map +1 -0
  14. package/server/dist/routes/quick-sets.js +240 -0
  15. package/server/dist/routes/quick-sets.js.map +1 -0
  16. package/server/dist/routes/services.d.ts.map +1 -1
  17. package/server/dist/routes/services.js +63 -0
  18. package/server/dist/routes/services.js.map +1 -1
  19. package/server/dist/routes/traces.d.ts +3 -0
  20. package/server/dist/routes/traces.d.ts.map +1 -0
  21. package/server/dist/routes/traces.js +29 -0
  22. package/server/dist/routes/traces.js.map +1 -0
  23. package/server/dist/services/generators/compose-generator.d.ts.map +1 -1
  24. package/server/dist/services/generators/compose-generator.js +11 -6
  25. package/server/dist/services/generators/compose-generator.js.map +1 -1
  26. package/server/dist/services/generators/env-generator.d.ts.map +1 -1
  27. package/server/dist/services/generators/env-generator.js +4 -0
  28. package/server/dist/services/generators/env-generator.js.map +1 -1
  29. package/server/dist/services/upgrade/compose-upgrader.d.ts +1 -0
  30. package/server/dist/services/upgrade/compose-upgrader.d.ts.map +1 -1
  31. package/server/dist/services/upgrade/compose-upgrader.js +3 -0
  32. package/server/dist/services/upgrade/compose-upgrader.js.map +1 -1
  33. package/server/dist/services/upgrade/state-reconstructor.d.ts.map +1 -1
  34. package/server/dist/services/upgrade/state-reconstructor.js +1 -0
  35. package/server/dist/services/upgrade/state-reconstructor.js.map +1 -1
  36. package/server/dist/types/wizard.d.ts +2 -0
  37. package/server/dist/types/wizard.d.ts.map +1 -1
  38. package/server/node_modules/cpu-features/build/Makefile +2 -2
  39. package/server/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/filesystem.o.d +1 -1
  40. package/server/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_linux_or_android.o.d +1 -1
  41. package/server/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_macos_or_iphone.o.d +1 -1
  42. package/server/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_windows.o.d +1 -1
  43. package/server/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_arm_linux_or_android.o.d +1 -1
  44. package/server/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_mips_linux_or_android.o.d +1 -1
  45. package/server/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_ppc_linux.o.d +1 -1
  46. package/server/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_freebsd.o.d +1 -1
  47. package/server/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_linux_or_android.o.d +1 -1
  48. package/server/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_macos.o.d +1 -1
  49. package/server/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_windows.o.d +1 -1
  50. package/server/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/stack_line_reader.o.d +1 -1
  51. package/server/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/string_view.o.d +1 -1
  52. package/server/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpufeatures/src/binding.o.d +135 -135
  53. package/server/node_modules/cpu-features/build/cpufeatures.target.mk +14 -14
  54. package/server/node_modules/cpu-features/build/deps/cpu_features/cpu_features.target.mk +14 -14
  55. package/server/node_modules/ssh2/lib/protocol/crypto/build/Makefile +2 -2
  56. package/server/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/obj.target/sshcrypto/src/binding.o.d +227 -227
  57. package/server/node_modules/ssh2/lib/protocol/crypto/build/Release/obj.target/sshcrypto/src/binding.o +0 -0
  58. package/server/node_modules/ssh2/lib/protocol/crypto/build/Release/obj.target/sshcrypto.node +0 -0
  59. package/server/node_modules/ssh2/lib/protocol/crypto/build/Release/sshcrypto.node +0 -0
  60. package/server/node_modules/ssh2/lib/protocol/crypto/build/sshcrypto.target.mk +14 -14
  61. package/server/src/data/service-registry.json +2 -2
  62. package/public/assets/index-B_h8NCiZ.css +0 -1
  63. package/public/assets/index-BhEILc9m.js +0 -18
@@ -0,0 +1,240 @@
1
+ import { readFileSync, writeFileSync, existsSync } from 'node:fs';
2
+ import { join, dirname } from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ import { homedir } from 'node:os';
5
+ import { randomUUID } from 'node:crypto';
6
+ import { requireSuperuser } from '../middleware/auth.js';
7
+ import { proxyRequest } from '../services/proxy.js';
8
+ const __dirname = dirname(fileURLToPath(import.meta.url));
9
+ const CUSTOM_PRESETS_PATH = join(homedir(), '.jarvis', 'custom-quick-sets.json');
10
+ function loadBuiltinPresets() {
11
+ const filePath = join(__dirname, '..', 'data', 'quick-sets.json');
12
+ const data = JSON.parse(readFileSync(filePath, 'utf-8'));
13
+ return data.presets;
14
+ }
15
+ function loadCustomPresets() {
16
+ if (!existsSync(CUSTOM_PRESETS_PATH))
17
+ return [];
18
+ try {
19
+ const data = JSON.parse(readFileSync(CUSTOM_PRESETS_PATH, 'utf-8'));
20
+ return data.presets.map((p) => ({ ...p, isCustom: true }));
21
+ }
22
+ catch {
23
+ return [];
24
+ }
25
+ }
26
+ function saveCustomPresets(presets) {
27
+ writeFileSync(CUSTOM_PRESETS_PATH, JSON.stringify({ presets }, null, 2) + '\n');
28
+ }
29
+ function loadAllPresets() {
30
+ return [...loadBuiltinPresets(), ...loadCustomPresets()];
31
+ }
32
+ export async function quickSetsRoutes(app) {
33
+ app.addHook('preHandler', requireSuperuser);
34
+ /**
35
+ * List available model presets (built-in + custom) and current model configuration.
36
+ */
37
+ app.get('/', async (request, reply) => {
38
+ const presets = loadAllPresets();
39
+ // Fetch actual loaded model from health endpoint (no auth needed, always accurate)
40
+ // and context window from settings (needs auth)
41
+ const llmUrl = app.config.llmProxyUrl;
42
+ let modelName = '';
43
+ let contextWindow = 0;
44
+ if (llmUrl) {
45
+ const [healthResult, ctxResult] = await Promise.all([
46
+ proxyRequest({
47
+ method: 'GET',
48
+ url: `${llmUrl}/health`,
49
+ timeout: 5_000,
50
+ }).catch(() => null),
51
+ proxyRequest({
52
+ method: 'GET',
53
+ url: `${llmUrl}/settings/model.main.context_window`,
54
+ headers: { Authorization: request.headers.authorization },
55
+ timeout: 5_000,
56
+ }).catch(() => null),
57
+ ]);
58
+ if (healthResult?.status === 200) {
59
+ const health = healthResult.data;
60
+ const modelService = health.model_service;
61
+ const aliases = modelService?.aliases;
62
+ // Use the live model alias (most relevant), fall back to first loaded model
63
+ modelName = aliases?.live
64
+ ?? (Array.isArray(modelService?.models) ? modelService.models[0] : '')
65
+ ?? '';
66
+ }
67
+ if (ctxResult?.status === 200) {
68
+ const data = ctxResult.data;
69
+ contextWindow = typeof data.value === 'number' ? data.value : parseInt(String(data.value ?? '0'), 10);
70
+ }
71
+ }
72
+ return reply.send({
73
+ presets,
74
+ currentValues: { modelName, contextWindow },
75
+ });
76
+ });
77
+ /**
78
+ * Apply a model preset: bulk-write settings to llm-proxy and command-center,
79
+ * then restart the llm-proxy container.
80
+ *
81
+ * Supports overriding chatFormat and promptProvider from the preset defaults,
82
+ * and targeting specific model tiers (live, background, or both).
83
+ */
84
+ app.post('/apply', async (request, reply) => {
85
+ const { presetId, modelName, contextWindow, backend, chatFormat: chatFormatOverride, promptProvider: promptProviderOverride, targets, } = request.body;
86
+ if (!presetId) {
87
+ return reply.code(400).send({ error: 'presetId is required' });
88
+ }
89
+ if (!modelName || !modelName.trim()) {
90
+ return reply.code(400).send({ error: 'modelName is required' });
91
+ }
92
+ const allPresets = loadAllPresets();
93
+ const preset = allPresets.find((p) => p.id === presetId);
94
+ if (!preset) {
95
+ return reply.code(404).send({ error: `Preset "${presetId}" not found` });
96
+ }
97
+ const llmUrl = app.config.llmProxyUrl;
98
+ if (!llmUrl) {
99
+ return reply.code(503).send({ error: 'LLM proxy URL not configured' });
100
+ }
101
+ const applied = [];
102
+ const resolvedChatFormat = chatFormatOverride ?? preset.chatFormat;
103
+ const resolvedPromptProvider = promptProviderOverride ?? preset.promptProvider;
104
+ const resolvedBackend = backend ?? preset.defaultBackend;
105
+ // Determine which model tiers to write to
106
+ const tiers = targets && targets.length > 0 ? targets : ['live'];
107
+ // Build llm-proxy settings payload for each target tier
108
+ const llmSettings = {};
109
+ for (const tier of tiers) {
110
+ const prefix = tier === 'live' ? 'model.live' : 'model.background';
111
+ llmSettings[`${prefix}.name`] = modelName.trim();
112
+ llmSettings[`${prefix}.chat_format`] = resolvedChatFormat;
113
+ llmSettings[`${prefix}.backend`] = resolvedBackend;
114
+ if (contextWindow && contextWindow > 0) {
115
+ llmSettings[`${prefix}.context_window`] = contextWindow;
116
+ }
117
+ }
118
+ // Write llm-proxy settings
119
+ const settingsResult = await proxyRequest({
120
+ method: 'PUT',
121
+ url: `${llmUrl}/settings/`,
122
+ headers: { Authorization: request.headers.authorization },
123
+ body: { settings: llmSettings },
124
+ timeout: 10_000,
125
+ });
126
+ if (settingsResult.status === 200) {
127
+ for (const key of Object.keys(llmSettings)) {
128
+ applied.push({ key, service: 'jarvis-llm-proxy-api', success: true });
129
+ }
130
+ }
131
+ else {
132
+ for (const key of Object.keys(llmSettings)) {
133
+ applied.push({
134
+ key,
135
+ service: 'jarvis-llm-proxy-api',
136
+ success: false,
137
+ error: `HTTP ${settingsResult.status}`,
138
+ });
139
+ }
140
+ return reply.code(502).send({
141
+ success: false,
142
+ applied,
143
+ message: 'Failed to write LLM proxy settings',
144
+ });
145
+ }
146
+ // Write prompt provider to command-center via settings-server
147
+ if (app.config.configServiceUrl) {
148
+ try {
149
+ const ppResult = await proxyRequest({
150
+ method: 'PUT',
151
+ url: `${app.config.configServiceUrl}/v1/settings/jarvis-command-center/llm.interface`,
152
+ headers: { Authorization: request.headers.authorization },
153
+ body: { value: resolvedPromptProvider },
154
+ timeout: 10_000,
155
+ });
156
+ applied.push({
157
+ key: 'llm.interface',
158
+ service: 'jarvis-command-center',
159
+ success: ppResult.status === 200,
160
+ error: ppResult.status !== 200 ? `HTTP ${ppResult.status}` : undefined,
161
+ });
162
+ }
163
+ catch (err) {
164
+ applied.push({
165
+ key: 'llm.interface',
166
+ service: 'jarvis-command-center',
167
+ success: false,
168
+ error: err instanceof Error ? err.message : 'Unknown error',
169
+ });
170
+ }
171
+ }
172
+ // Restart llm-proxy containers
173
+ const docker = app.docker;
174
+ if (docker) {
175
+ try {
176
+ const containers = await docker.listJarvisContainers();
177
+ const llmContainers = containers.filter((c) => c.name.includes('llm-proxy') || c.name.includes('llm_proxy'));
178
+ for (const container of llmContainers) {
179
+ await docker.restartContainer(container.id);
180
+ }
181
+ }
182
+ catch (err) {
183
+ console.warn('[quick-sets] Container restart failed:', err);
184
+ }
185
+ }
186
+ const allSuccess = applied.every((a) => a.success);
187
+ return reply.send({
188
+ success: allSuccess,
189
+ applied,
190
+ message: allSuccess
191
+ ? `Applied "${preset.name}" preset. LLM proxy restarting.`
192
+ : `Applied "${preset.name}" with some errors. Check details.`,
193
+ });
194
+ });
195
+ /**
196
+ * Create a custom preset.
197
+ */
198
+ app.post('/custom', async (request, reply) => {
199
+ const { name, family, description, chatFormat, promptProvider, defaultBackend, defaultContextWindow } = request.body;
200
+ if (!name?.trim()) {
201
+ return reply.code(400).send({ error: 'name is required' });
202
+ }
203
+ if (!chatFormat?.trim()) {
204
+ return reply.code(400).send({ error: 'chatFormat is required' });
205
+ }
206
+ if (!promptProvider?.trim()) {
207
+ return reply.code(400).send({ error: 'promptProvider is required' });
208
+ }
209
+ const custom = loadCustomPresets();
210
+ const preset = {
211
+ id: `custom-${randomUUID().slice(0, 8)}`,
212
+ name: name.trim(),
213
+ family: family?.trim() || 'Custom',
214
+ description: description?.trim() || '',
215
+ chatFormat: chatFormat.trim(),
216
+ promptProvider: promptProvider.trim(),
217
+ defaultBackend: defaultBackend?.trim() || 'GGUF',
218
+ defaultContextWindow: defaultContextWindow ?? 8192,
219
+ isCustom: true,
220
+ };
221
+ custom.push(preset);
222
+ saveCustomPresets(custom);
223
+ return reply.code(201).send({ preset });
224
+ });
225
+ /**
226
+ * Delete a custom preset.
227
+ */
228
+ app.delete('/custom/:id', async (request, reply) => {
229
+ const { id } = request.params;
230
+ const custom = loadCustomPresets();
231
+ const idx = custom.findIndex((p) => p.id === id);
232
+ if (idx === -1) {
233
+ return reply.code(404).send({ error: `Custom preset "${id}" not found` });
234
+ }
235
+ custom.splice(idx, 1);
236
+ saveCustomPresets(custom);
237
+ return reply.send({ success: true });
238
+ });
239
+ }
240
+ //# sourceMappingURL=quick-sets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quick-sets.js","sourceRoot":"","sources":["../../src/routes/quick-sets.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/routes/services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,wBAAsB,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA0FxE"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/routes/services.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AA2C9C,wBAAsB,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAmHxE"}
@@ -1,5 +1,44 @@
1
+ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
1
3
  import { requireSuperuser } from '../middleware/auth.js';
2
4
  import { proxyRequest } from '../services/proxy.js';
5
+ import { injectAppKeys } from '../services/orchestrator.js';
6
+ import { getComposePath } from '../services/compose-path.js';
7
+ /**
8
+ * Persist a newly-rotated app key to the central composePath/.env so the
9
+ * service container picks it up after restart. Mirrors the .env write
10
+ * that ``registerServices`` already does at the end of the register
11
+ * flow, just scoped to a single service.
12
+ *
13
+ * Returns true if the .env file existed and was successfully written.
14
+ * Returns false (and logs at warn level) on any failure — callers
15
+ * surface this via ``env_written`` in the response so the UI can tell
16
+ * the user whether they still have manual work to do.
17
+ *
18
+ * Note: this targets the central ``composePath/.env`` convention with
19
+ * prefixed key names (``JARVIS_APP_KEY_LOGS``) used by production
20
+ * installs. Dev environments using per-service .env files with simple
21
+ * ``JARVIS_APP_KEY`` names need a separate update (out of scope for
22
+ * this fix — see May-2026 beta debugging notes).
23
+ */
24
+ function persistRotatedKey(serviceName, appKey) {
25
+ const composePath = getComposePath();
26
+ const envFile = join(composePath, '.env');
27
+ if (!existsSync(envFile))
28
+ return false;
29
+ try {
30
+ const envContent = readFileSync(envFile, 'utf-8');
31
+ const { content: updatedContent } = injectAppKeys(envContent, {
32
+ [serviceName]: { appId: serviceName, appKey },
33
+ });
34
+ writeFileSync(envFile, updatedContent);
35
+ return true;
36
+ }
37
+ catch (err) {
38
+ console.warn(`[services] Failed to write rotated key for ${serviceName} to ${envFile}:`, err instanceof Error ? err.message : String(err));
39
+ return false;
40
+ }
41
+ }
3
42
  export async function servicesRoutes(app) {
4
43
  app.addHook('preHandler', requireSuperuser);
5
44
  app.get('/registry', async (request, reply) => {
@@ -32,6 +71,30 @@ export async function servicesRoutes(app) {
32
71
  body: request.body,
33
72
  timeout: 10_000,
34
73
  });
74
+ // If rotation succeeded, write the new plaintext to the central
75
+ // composePath/.env. Without this step, the UI used to return the
76
+ // new key in the modal but nothing wrote it anywhere — operators
77
+ // had to copy it by hand from the modal, and one missed copy left
78
+ // the .env stuck on its placeholder indefinitely. (May-2026 beta
79
+ // debugging: dev jarvis-logs never got off ``your-jarvis-logs-app-key``
80
+ // because every rotate flow was relying on manual transcription.)
81
+ //
82
+ // We augment the response with ``env_written`` so the UI can tell
83
+ // the user whether they still need to update .env manually.
84
+ if (result.status === 200 && result.data && typeof result.data === 'object') {
85
+ const payload = result.data;
86
+ if (payload.service_name && payload.app_key) {
87
+ const wrote = persistRotatedKey(payload.service_name, payload.app_key);
88
+ // Preserve any env_written the upstream config-service may have
89
+ // already set (it has its own --base-path branch); otherwise
90
+ // surface ours.
91
+ if (payload.env_written !== true) {
92
+ payload.env_written = wrote;
93
+ }
94
+ reply.code(result.status).send(payload);
95
+ return;
96
+ }
97
+ }
35
98
  reply.code(result.status).send(result.data);
36
99
  });
37
100
  app.post('/probe', async (request, reply) => {
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/routes/services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/routes/services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAE5D;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,iBAAiB,CAAC,WAAmB,EAAE,MAAc;IAC5D,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IACzC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAA;IACtC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACjD,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,aAAa,CAAC,UAAU,EAAE;YAC5D,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE;SAC9C,CAAC,CAAA;QACF,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;QACtC,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CACV,8CAA8C,WAAW,OAAO,OAAO,GAAG,EAC1E,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAA;QACD,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAoB;IACvD,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;IAE3C,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC5C,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAA;QAE7C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,SAAS,uBAAuB;YACxC,OAAO,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,aAAc,EAAE;YAC1D,OAAO,EAAE,MAAM;SAChB,CAAC,CAAA;QAEF,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAA;QAE7C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG,SAAS,uBAAuB;YACxC,OAAO,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,aAAc,EAAE;YAC1D,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,MAAM;SAChB,CAAC,CAAA;QAEF,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC/C,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAA;QAE7C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG,SAAS,yBAAyB;YAC1C,OAAO,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,aAAc,EAAE;YAC1D,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,MAAM;SAChB,CAAC,CAAA;QAEF,gEAAgE;QAChE,iEAAiE;QACjE,iEAAiE;QACjE,kEAAkE;QAClE,iEAAiE;QACjE,wEAAwE;QACxE,kEAAkE;QAClE,EAAE;QACF,kEAAkE;QAClE,4DAA4D;QAC5D,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAiF,CAAA;YACxG,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC5C,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;gBACtE,gEAAgE;gBAChE,6DAA6D;gBAC7D,gBAAgB;gBAChB,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;oBACjC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAA;gBAC7B,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACvC,OAAM;YACR,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC1C,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAA;QAE7C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG,SAAS,oBAAoB;YACrC,OAAO,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,aAAc,EAAE;YAC1D,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,MAAM;SAChB,CAAC,CAAA;QAEF,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;QAChD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAA;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAA;YAC/B,OAAM;QACR,CAAC;QAED,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAA;QACnD,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1C,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;SAC3B,CAAC,CAAC,CAAA;QAEH,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,MAAM,CAA+B,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC1E,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAA;QAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAA;QAE/B,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,GAAG,SAAS,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE;YAC3D,OAAO,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,aAAc,EAAE;YAC1D,OAAO,EAAE,MAAM;SAChB,CAAC,CAAA;QAEF,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { FastifyInstance } from 'fastify';
2
+ export declare function tracesRoutes(app: FastifyInstance): Promise<void>;
3
+ //# sourceMappingURL=traces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traces.d.ts","sourceRoot":"","sources":["../../src/routes/traces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,wBAAsB,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BtE"}
@@ -0,0 +1,29 @@
1
+ import { requireSuperuser } from '../middleware/auth.js';
2
+ import { proxyRequest } from '../services/proxy.js';
3
+ export async function tracesRoutes(app) {
4
+ app.addHook('preHandler', requireSuperuser);
5
+ // List recent traces (proxy to command-center)
6
+ app.get('/', async (request, reply) => {
7
+ const qs = new URLSearchParams(request.query).toString();
8
+ const url = `${app.config.commandCenterUrl}/api/v0/admin/traces${qs ? `?${qs}` : ''}`;
9
+ const result = await proxyRequest({
10
+ method: 'GET',
11
+ url,
12
+ headers: { 'X-API-Key': app.config.commandCenterAdminKey },
13
+ timeout: 10_000,
14
+ });
15
+ reply.code(result.status).send(result.data);
16
+ });
17
+ // Get trace detail (proxy to command-center)
18
+ app.get('/:traceId', async (request, reply) => {
19
+ const { traceId } = request.params;
20
+ const result = await proxyRequest({
21
+ method: 'GET',
22
+ url: `${app.config.commandCenterUrl}/api/v0/admin/traces/${traceId}`,
23
+ headers: { 'X-API-Key': app.config.commandCenterAdminKey },
24
+ timeout: 10_000,
25
+ });
26
+ reply.code(result.status).send(result.data);
27
+ });
28
+ }
29
+ //# sourceMappingURL=traces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traces.js","sourceRoot":"","sources":["../../src/routes/traces.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAoB;IACrD,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;IAE3C,+CAA+C;IAC/C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACpC,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,KAA+B,CAAC,CAAC,QAAQ,EAAE,CAAA;QAClF,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,uBAAuB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QACrF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,MAAM,EAAE,KAAK;YACb,GAAG;YACH,OAAO,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,qBAAqB,EAAE;YAC1D,OAAO,EAAE,MAAM;SAChB,CAAC,CAAA;QACF,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,6CAA6C;IAC7C,GAAG,CAAC,GAAG,CACL,WAAW,EACX,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACvB,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAA;QAClC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,wBAAwB,OAAO,EAAE;YACpE,OAAO,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,qBAAqB,EAAE;YAC1D,OAAO,EAAE,MAAM;SAChB,CAAC,CAAA;QACF,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compose-generator.d.ts","sourceRoot":"","sources":["../../../src/services/generators/compose-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EAGlB,MAAM,iCAAiC,CAAA;AASxC;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,eAAe,GACxB,iBAAiB,EAAE,CASrB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,eAAe,GACxB,iBAAiB,EAAE,CAQrB;AAeD,qFAAqF;AACrF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAE3E;AA0BD,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,GAAG,MAAM,CA+DrF"}
1
+ {"version":3,"file":"compose-generator.d.ts","sourceRoot":"","sources":["../../../src/services/generators/compose-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EAGlB,MAAM,iCAAiC,CAAA;AASxC;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,eAAe,GACxB,iBAAiB,EAAE,CASrB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,eAAe,GACxB,iBAAiB,EAAE,CAQrB;AAiBD,qFAAqF;AACrF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAE3E;AA0BD,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,GAAG,MAAM,CA+DrF"}
@@ -28,6 +28,7 @@ export function getComposeServices(state, registry) {
28
28
  * Other GPU types (amd Vulkan, none) fall back to the plain CPU image.
29
29
  */
30
30
  const CPU_FALLBACK_GPU_VARIANTS = new Set(['nvidia', 'amd-rocm']);
31
+ const FIRST_PARTY_PREFIX = 'ghcr.io/alexberardi/';
31
32
  /** Whether a service should use a GPU image variant + GPU runtime config for the host. */
32
33
  function shouldUseGpuVariant(service, gpuType) {
33
34
  if (!service.gpu || !gpuType)
@@ -179,7 +180,14 @@ function generateInfraBlock(infra, state) {
179
180
  return lines;
180
181
  }
181
182
  function getServiceImage(service, state) {
182
- let image = service.ghcrImage ?? service.image;
183
+ const raw = service.ghcrImage ?? service.image;
184
+ const isFirstParty = raw.startsWith(FIRST_PARTY_PREFIX);
185
+ const baseImage = raw.includes(':') ? raw.slice(0, raw.lastIndexOf(':')) : raw;
186
+ // Third-party images (e.g. go2rtc) keep their original tag
187
+ if (!isFirstParty)
188
+ return raw;
189
+ // Build tag with optional GPU suffix
190
+ let gpuSuffix = '';
183
191
  if (shouldUseGpuVariant(service, state.hardware?.gpuType)) {
184
192
  const variantSuffix = {
185
193
  nvidia: '-cuda',
@@ -187,12 +195,9 @@ function getServiceImage(service, state) {
187
195
  'amd-rocm': '-rocm',
188
196
  none: '-cpu',
189
197
  };
190
- const suffix = variantSuffix[state.hardware.gpuType];
191
- if (suffix) {
192
- image = image.includes(':') ? image + suffix : image + ':latest' + suffix;
193
- }
198
+ gpuSuffix = variantSuffix[state.hardware.gpuType] ?? '';
194
199
  }
195
- return image;
200
+ return `${baseImage}:\${JARVIS_IMAGE_TAG:-latest}${gpuSuffix}`;
196
201
  }
197
202
  function pushGpuConfig(lines, service, state) {
198
203
  if (!service.gpu)
@@ -1 +1 @@
1
- {"version":3,"file":"compose-generator.js","sourceRoot":"","sources":["../../../src/services/generators/compose-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compose-generator.js","sourceRoot":"","sources":["../../../src/services/generators/compose-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"env-generator.d.ts","sourceRoot":"","sources":["../../../src/services/generators/env-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAUtE,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,GAAG,MAAM,CAuGjF"}
1
+ {"version":3,"file":"env-generator.d.ts","sourceRoot":"","sources":["../../../src/services/generators/env-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAUtE,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,GAAG,MAAM,CA4GjF"}
@@ -77,6 +77,10 @@ export function generateEnv(state, registry) {
77
77
  lines.push(`MODELS_DIR=${state.hostComposePath.replace(/\/$/, '')}/.models`);
78
78
  lines.push('');
79
79
  }
80
+ // Release Track
81
+ lines.push('# --- Release Track ---');
82
+ lines.push(`JARVIS_IMAGE_TAG=${state.releaseTrack === 'dev' ? 'dev' : 'latest'}`);
83
+ lines.push('');
80
84
  // App-to-app auth placeholders (filled after service registration)
81
85
  lines.push('# --- App-to-App Auth (populated after registration) ---');
82
86
  for (const svc of allEnabled) {
@@ -1 +1 @@
1
- {"version":3,"file":"env-generator.js","sourceRoot":"","sources":["../../../src/services/generators/env-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env-generator.js","sourceRoot":"","sources":["../../../src/services/generators/env-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD,MAAM,UAAU,WAAW,CAAC,KAAkB,EAAE,QAAyB;IACvE,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IACpC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;IACzC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,UAAU;IACV,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC/B,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QACtC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAA;IAC/B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,WAAW;IACX,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;IAChC,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;IACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,gBAAgB;IAChB,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;IAC9C,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACvE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CACpC,CAAA;IACD,MAAM,eAAe,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACjE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CACpC,CAAA;IACD,MAAM,UAAU,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,kBAAkB,EAAE,GAAG,eAAe,CAAC,CAAA;IAE/E,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IACrC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAA;QACpD,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC,CAAA;IAClC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,uBAAuB;IACvB,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC9C,MAAM,KAAK,GAAG,yBAAyB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IAE7D,uBAAuB;IACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAA;IACnE,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACnB,CAAC;IAED,qCAAqC;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAA;IACvE,IAAI,OAAO,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;IAC5C,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAA;QACzD,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC,CAAA;IAClC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,0BAA0B;IAC1B,IAAI,KAAK,CAAC,cAAc,KAAK,YAAY,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QACvC,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,wBAAwB,KAAK,CAAC,YAAY,EAAE,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,sBAAsB,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAA;QAC5D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,eAAe;IACf,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;QACpC,KAAK,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,QAAQ,IAAI,mCAAmC,EAAE,CAAC,CAAA;QACvF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,yEAAyE;IACzE,2EAA2E;IAC3E,0EAA0E;IAC1E,4EAA4E;IAC5E,kDAAkD;IAClD,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAA;QAC7D,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,CAAA;QAC5E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IACrC,KAAK,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;IACjF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,mEAAmE;IACnE,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;IACtE,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;QAC9E,KAAK,CAAC,IAAI,CAAC,iBAAiB,MAAM,GAAG,CAAC,CAAA;QACtC,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,GAAG,CAAC,CAAA;IACzC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
@@ -15,6 +15,7 @@ export interface UpgradeOverrides {
15
15
  relayEnabled?: boolean;
16
16
  relayUrl?: string;
17
17
  whisperModelPath?: string;
18
+ releaseTrack?: 'stable' | 'dev';
18
19
  }
19
20
  export declare function upgradeCompose(_app: FastifyInstance, overrides?: UpgradeOverrides): Promise<void>;
20
21
  //# sourceMappingURL=compose-upgrader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compose-upgrader.d.ts","sourceRoot":"","sources":["../../../src/services/upgrade/compose-upgrader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AA2B9C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,eAAe,EACrB,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA2Df"}
1
+ {"version":3,"file":"compose-upgrader.d.ts","sourceRoot":"","sources":["../../../src/services/upgrade/compose-upgrader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AA2B9C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;CAChC;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,eAAe,EACrB,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA8Df"}
@@ -56,6 +56,9 @@ export async function upgradeCompose(_app, overrides) {
56
56
  if (overrides?.whisperModelPath) {
57
57
  state.whisperModelPath = overrides.whisperModelPath;
58
58
  }
59
+ if (overrides?.releaseTrack) {
60
+ state.releaseTrack = overrides.releaseTrack;
61
+ }
59
62
  // When admin runs in docker, fetch the absolute host path of the compose
60
63
  // dir we were mounted at. env-generator uses it to write MODELS_DIR so
61
64
  // bind mounts in the regenerated compose resolve on the host (otherwise