aicodeman 1.28.2 → 1.29.1
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.
- package/README.md +58 -31
- package/README.zh-CN.md +207 -51
- package/dist/attachment-registry.d.ts +20 -0
- package/dist/attachment-registry.d.ts.map +1 -1
- package/dist/attachment-registry.js +75 -10
- package/dist/attachment-registry.js.map +1 -1
- package/dist/config/cli-registry/schema.d.ts +25 -0
- package/dist/config/cli-registry/schema.d.ts.map +1 -1
- package/dist/config/cli-registry/schema.js +43 -0
- package/dist/config/cli-registry/schema.js.map +1 -1
- package/dist/config/cli-registry/stock.d.ts.map +1 -1
- package/dist/config/cli-registry/stock.js +157 -2
- package/dist/config/cli-registry/stock.js.map +1 -1
- package/dist/config/cli-registry/types.d.ts +60 -0
- package/dist/config/cli-registry/types.d.ts.map +1 -1
- package/dist/custom-model-hosts.d.ts +39 -0
- package/dist/custom-model-hosts.d.ts.map +1 -0
- package/dist/custom-model-hosts.js +35 -0
- package/dist/custom-model-hosts.js.map +1 -0
- package/dist/custom-model-injection-apply.d.ts +49 -0
- package/dist/custom-model-injection-apply.d.ts.map +1 -0
- package/dist/custom-model-injection-apply.js +77 -0
- package/dist/custom-model-injection-apply.js.map +1 -0
- package/dist/custom-model-injection.d.ts +79 -0
- package/dist/custom-model-injection.d.ts.map +1 -0
- package/dist/custom-model-injection.js +169 -0
- package/dist/custom-model-injection.js.map +1 -0
- package/dist/docker-hosts.d.ts +42 -0
- package/dist/docker-hosts.d.ts.map +1 -1
- package/dist/docker-hosts.js +18 -0
- package/dist/docker-hosts.js.map +1 -1
- package/dist/generated-artifact-attachments.d.ts +3 -0
- package/dist/generated-artifact-attachments.d.ts.map +1 -1
- package/dist/generated-artifact-attachments.js +18 -8
- package/dist/generated-artifact-attachments.js.map +1 -1
- package/dist/mux-interface.d.ts +7 -0
- package/dist/mux-interface.d.ts.map +1 -1
- package/dist/remote-files.d.ts +145 -0
- package/dist/remote-files.d.ts.map +1 -0
- package/dist/remote-files.js +347 -0
- package/dist/remote-files.js.map +1 -0
- package/dist/remote-hosts.d.ts +12 -0
- package/dist/remote-hosts.d.ts.map +1 -1
- package/dist/remote-hosts.js +7 -1
- package/dist/remote-hosts.js.map +1 -1
- package/dist/remote-ssh-limiter.d.ts +42 -0
- package/dist/remote-ssh-limiter.d.ts.map +1 -0
- package/dist/remote-ssh-limiter.js +84 -0
- package/dist/remote-ssh-limiter.js.map +1 -0
- package/dist/session-auto-name.d.ts +74 -0
- package/dist/session-auto-name.d.ts.map +1 -0
- package/dist/session-auto-name.js +339 -0
- package/dist/session-auto-name.js.map +1 -0
- package/dist/session-manager.d.ts.map +1 -1
- package/dist/session-manager.js +8 -1
- package/dist/session-manager.js.map +1 -1
- package/dist/session.d.ts +123 -5
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +237 -9
- package/dist/session.js.map +1 -1
- package/dist/tmux-manager.d.ts.map +1 -1
- package/dist/tmux-manager.js +27 -13
- package/dist/tmux-manager.js.map +1 -1
- package/dist/types/api.d.ts +6 -0
- package/dist/types/api.d.ts.map +1 -1
- package/dist/types/api.js.map +1 -1
- package/dist/types/session.d.ts +48 -0
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/session.js.map +1 -1
- package/dist/web/middleware/auth.d.ts +11 -1
- package/dist/web/middleware/auth.d.ts.map +1 -1
- package/dist/web/middleware/auth.js +69 -1
- package/dist/web/middleware/auth.js.map +1 -1
- package/dist/web/public/admin-ui.js.gz +0 -0
- package/dist/web/public/api-client.c9b1cddc.js.gz +0 -0
- package/dist/web/public/{app.78bf0bf8.js → app.556be563.js} +7 -7
- package/dist/web/public/app.556be563.js.br +0 -0
- package/dist/web/public/app.556be563.js.gz +0 -0
- package/dist/web/public/approvals-ui.js.gz +0 -0
- package/dist/web/public/constants.258b140f.js.gz +0 -0
- package/dist/web/public/cron-ui.js.gz +0 -0
- package/dist/web/public/entrance-animations.js.gz +0 -0
- package/dist/web/public/home-sessions.js.gz +0 -0
- package/dist/web/public/i18n.5f897ed5.js +1 -0
- package/dist/web/public/i18n.5f897ed5.js.br +0 -0
- package/dist/web/public/i18n.5f897ed5.js.gz +0 -0
- package/dist/web/public/image-input.cd4b97c4.js.gz +0 -0
- package/dist/web/public/index.html +23 -9
- package/dist/web/public/index.html.br +0 -0
- package/dist/web/public/index.html.gz +0 -0
- package/dist/web/public/input-cjk.8bc46081.js +1 -0
- package/dist/web/public/input-cjk.8bc46081.js.br +0 -0
- package/dist/web/public/input-cjk.8bc46081.js.gz +0 -0
- package/dist/web/public/{keyboard-accessory.1d0dda9b.js → keyboard-accessory.2cf04f17.js} +38 -3
- package/dist/web/public/keyboard-accessory.2cf04f17.js.br +0 -0
- package/dist/web/public/keyboard-accessory.2cf04f17.js.gz +0 -0
- package/dist/web/public/mobile-handlers.6f354a87.js.gz +0 -0
- package/dist/web/public/mobile-overview.js.gz +0 -0
- package/dist/web/public/mobile.e9d0b53e.css.gz +0 -0
- package/dist/web/public/notification-manager.36ea4624.js.gz +0 -0
- package/dist/web/public/orchestrator-panel.js.gz +0 -0
- package/dist/web/public/panels-ui.5b07ad14.js.gz +0 -0
- package/dist/web/public/ralph-panel.6de2d0f8.js.gz +0 -0
- package/dist/web/public/ralph-wizard.13a1831e.js.gz +0 -0
- package/dist/web/public/readmymind-ui.js.gz +0 -0
- package/dist/web/public/respawn-ui.ff0dae4c.js.gz +0 -0
- package/dist/web/public/sanitize-html.bc7078d6.js.gz +0 -0
- package/dist/web/public/session-lineage.js.gz +0 -0
- package/dist/web/public/{session-ui.5d0a7b15.js → session-ui.42b81477.js} +13 -13
- package/dist/web/public/session-ui.42b81477.js.br +0 -0
- package/dist/web/public/session-ui.42b81477.js.gz +0 -0
- package/dist/web/public/settings-ui.58f1d756.js +67 -0
- package/dist/web/public/settings-ui.58f1d756.js.br +0 -0
- package/dist/web/public/settings-ui.58f1d756.js.gz +0 -0
- package/dist/web/public/{styles.5d36726d.css → styles.6add175d.css} +1 -1
- package/dist/web/public/styles.6add175d.css.br +0 -0
- package/dist/web/public/{styles.5d36726d.css.gz → styles.6add175d.css.gz} +0 -0
- package/dist/web/public/subagent-windows.e6ca799f.js.gz +0 -0
- package/dist/web/public/sw.js.gz +0 -0
- package/dist/web/public/tab-rail-resize.42c24949.js.gz +0 -0
- package/dist/web/public/terminal-keycode229-recovery.6ea8fe37.js.gz +0 -0
- package/dist/web/public/terminal-ui.38c49244.js +2 -0
- package/dist/web/public/terminal-ui.38c49244.js.br +0 -0
- package/dist/web/public/terminal-ui.38c49244.js.gz +0 -0
- package/dist/web/public/ultracode-panel.js.gz +0 -0
- package/dist/web/public/ultracode-windows.js.gz +0 -0
- package/dist/web/public/upload.html.gz +0 -0
- package/dist/web/public/vendor/dompurify.min.js.gz +0 -0
- package/dist/web/public/vendor/marked.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-serialize.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
- package/dist/web/public/vendor/xterm-predictive-echo.bd6882b8.js.gz +0 -0
- package/dist/web/public/vendor/xterm-zerolag-input.6fee72f2.js.gz +0 -0
- package/dist/web/public/vendor/xterm.css.gz +0 -0
- package/dist/web/public/vendor/xterm.min.js.gz +0 -0
- package/dist/web/public/voice-input.c4b51eb6.js.gz +0 -0
- package/dist/web/public/voice-pcm-worklet.js.gz +0 -0
- package/dist/web/public/webview-tabs.js +56 -4
- package/dist/web/public/webview-tabs.js.br +0 -0
- package/dist/web/public/webview-tabs.js.gz +0 -0
- package/dist/web/route-helpers.d.ts +20 -0
- package/dist/web/route-helpers.d.ts.map +1 -1
- package/dist/web/route-helpers.js +29 -2
- package/dist/web/route-helpers.js.map +1 -1
- package/dist/web/routes/case-routes.d.ts.map +1 -1
- package/dist/web/routes/case-routes.js +23 -6
- package/dist/web/routes/case-routes.js.map +1 -1
- package/dist/web/routes/custom-model-routes.d.ts +18 -0
- package/dist/web/routes/custom-model-routes.d.ts.map +1 -0
- package/dist/web/routes/custom-model-routes.js +136 -0
- package/dist/web/routes/custom-model-routes.js.map +1 -0
- package/dist/web/routes/file-routes.d.ts.map +1 -1
- package/dist/web/routes/file-routes.js +484 -100
- package/dist/web/routes/file-routes.js.map +1 -1
- package/dist/web/routes/index.d.ts +1 -0
- package/dist/web/routes/index.d.ts.map +1 -1
- package/dist/web/routes/index.js +1 -0
- package/dist/web/routes/index.js.map +1 -1
- package/dist/web/routes/session-routes.d.ts.map +1 -1
- package/dist/web/routes/session-routes.js +93 -7
- package/dist/web/routes/session-routes.js.map +1 -1
- package/dist/web/routes/ws-routes.d.ts.map +1 -1
- package/dist/web/routes/ws-routes.js +28 -3
- package/dist/web/routes/ws-routes.js.map +1 -1
- package/dist/web/schemas.d.ts +21 -0
- package/dist/web/schemas.d.ts.map +1 -1
- package/dist/web/schemas.js +38 -0
- package/dist/web/schemas.js.map +1 -1
- package/dist/web/server.d.ts +8 -0
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +70 -3
- package/dist/web/server.js.map +1 -1
- package/dist/web/session-listener-wiring.d.ts +6 -2
- package/dist/web/session-listener-wiring.d.ts.map +1 -1
- package/dist/web/session-listener-wiring.js +33 -2
- package/dist/web/session-listener-wiring.js.map +1 -1
- package/dist/web/webview-proxy.d.ts +41 -0
- package/dist/web/webview-proxy.d.ts.map +1 -1
- package/dist/web/webview-proxy.js +102 -1
- package/dist/web/webview-proxy.js.map +1 -1
- package/package.json +2 -2
- package/dist/web/public/app.78bf0bf8.js.br +0 -0
- package/dist/web/public/app.78bf0bf8.js.gz +0 -0
- package/dist/web/public/i18n.561ca09c.js +0 -1
- package/dist/web/public/i18n.561ca09c.js.br +0 -0
- package/dist/web/public/i18n.561ca09c.js.gz +0 -0
- package/dist/web/public/input-cjk.87f14251.js +0 -1
- package/dist/web/public/input-cjk.87f14251.js.br +0 -0
- package/dist/web/public/input-cjk.87f14251.js.gz +0 -0
- package/dist/web/public/keyboard-accessory.1d0dda9b.js.br +0 -0
- package/dist/web/public/keyboard-accessory.1d0dda9b.js.gz +0 -0
- package/dist/web/public/session-ui.5d0a7b15.js.br +0 -0
- package/dist/web/public/session-ui.5d0a7b15.js.gz +0 -0
- package/dist/web/public/settings-ui.e0c7f6b4.js +0 -67
- package/dist/web/public/settings-ui.e0c7f6b4.js.br +0 -0
- package/dist/web/public/settings-ui.e0c7f6b4.js.gz +0 -0
- package/dist/web/public/styles.5d36726d.css.br +0 -0
- package/dist/web/public/terminal-ui.0cbe8637.js +0 -2
- package/dist/web/public/terminal-ui.0cbe8637.js.br +0 -0
- package/dist/web/public/terminal-ui.0cbe8637.js.gz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-registry.d.ts","sourceRoot":"","sources":["../src/attachment-registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"attachment-registry.d.ts","sourceRoot":"","sources":["../src/attachment-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,9 +9,10 @@ import { randomUUID } from 'node:crypto';
|
|
|
9
9
|
import { realpathSync } from 'node:fs';
|
|
10
10
|
import fs from 'node:fs/promises';
|
|
11
11
|
import { basename, extname, isAbsolute } from 'node:path';
|
|
12
|
-
import { isBlockedAttachmentPath, loadAttachmentGuardConfig } from './config/attachment-guard.js';
|
|
12
|
+
import { isBlockedAttachmentPath, isUnderTree, loadAttachmentGuardConfig } from './config/attachment-guard.js';
|
|
13
13
|
import { EDITABLE_EXTENSIONS } from './config/file-editing.js';
|
|
14
14
|
import { validateSessionFilePath } from './web/route-helpers.js';
|
|
15
|
+
import { remoteProbePaths, RemoteFileAccessError } from './remote-files.js';
|
|
15
16
|
/**
|
|
16
17
|
* Playable media extensions, single-sourced here because the WORKSPACE preview
|
|
17
18
|
* (`file-content`'s media classification) and the out-of-workspace attachment
|
|
@@ -156,10 +157,12 @@ export function attachmentRecordToEvent(record) {
|
|
|
156
157
|
...routes,
|
|
157
158
|
};
|
|
158
159
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
160
|
+
/** `extension` the way the attachment registry defines it (no dot, lowercased). */
|
|
161
|
+
function attachmentExtensionOf(path) {
|
|
162
|
+
return extname(path).toLowerCase().replace(/^\./, '');
|
|
163
|
+
}
|
|
164
|
+
/** Local resolution: the historical realpath + stat. */
|
|
165
|
+
async function resolveLocalAttachment(requestedPath) {
|
|
163
166
|
let resolvedPath;
|
|
164
167
|
try {
|
|
165
168
|
resolvedPath = realpathSync(requestedPath);
|
|
@@ -167,6 +170,56 @@ export async function registerExternalAttachment(sessionId, requestedPath, optio
|
|
|
167
170
|
catch {
|
|
168
171
|
throw new AttachmentRegistrationError('Attachment file not found', 404);
|
|
169
172
|
}
|
|
173
|
+
const stat = await fs.stat(resolvedPath);
|
|
174
|
+
return {
|
|
175
|
+
resolvedPath,
|
|
176
|
+
size: stat.size,
|
|
177
|
+
mtimeMs: stat.mtimeMs ?? 0,
|
|
178
|
+
isFile: typeof stat.isFile === 'function' ? stat.isFile() : true,
|
|
179
|
+
extension: attachmentExtensionOf(resolvedPath),
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Remote resolution for a remote-SSH case: ONE ssh round trip returns the
|
|
184
|
+
* symlink-resolved path, the size/mtime and the kind, for the file AND (when a
|
|
185
|
+
* workspace is known) its root, which the confinement check compares against.
|
|
186
|
+
*/
|
|
187
|
+
async function resolveRemoteAttachment(requestedPath, remote, sessionWorkingDir, preResolved) {
|
|
188
|
+
const paths = sessionWorkingDir ? [requestedPath, sessionWorkingDir] : [requestedPath];
|
|
189
|
+
let probes;
|
|
190
|
+
if (preResolved) {
|
|
191
|
+
probes = preResolved;
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
try {
|
|
195
|
+
probes = await remoteProbePaths(remote, paths);
|
|
196
|
+
}
|
|
197
|
+
catch (err) {
|
|
198
|
+
// 502 marks the TRANSPORT as the failure, distinct from the file's own 404/403,
|
|
199
|
+
// so a history listing can report the entry as unknown rather than missing.
|
|
200
|
+
throw new AttachmentRegistrationError(err instanceof RemoteFileAccessError ? err.message : 'remote host unreachable', 502);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
const [probe, rootProbe] = probes;
|
|
204
|
+
if (!probe) {
|
|
205
|
+
throw new AttachmentRegistrationError('Attachment file not found', 404);
|
|
206
|
+
}
|
|
207
|
+
return {
|
|
208
|
+
resolvedPath: probe.realPath,
|
|
209
|
+
size: probe.size,
|
|
210
|
+
mtimeMs: probe.mtimeMs,
|
|
211
|
+
isFile: probe.kind === 'file',
|
|
212
|
+
extension: attachmentExtensionOf(probe.realPath),
|
|
213
|
+
workspaceRoot: rootProbe?.realPath,
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
export async function registerExternalAttachment(sessionId, requestedPath, options = {}) {
|
|
217
|
+
if (!requestedPath || !isAbsolute(requestedPath)) {
|
|
218
|
+
throw new AttachmentRegistrationError('Attachment path must be an absolute local path');
|
|
219
|
+
}
|
|
220
|
+
const resolved = await (options.remote
|
|
221
|
+
? resolveRemoteAttachment(requestedPath, options.remote, options.sessionWorkingDir, options.remoteProbes)
|
|
222
|
+
: resolveLocalAttachment(requestedPath));
|
|
170
223
|
// COD-53: enforce the active attachment-guard policy on the symlink-resolved
|
|
171
224
|
// path before doing anything else.
|
|
172
225
|
const guard = await loadAttachmentGuardConfig();
|
|
@@ -176,7 +229,10 @@ export async function registerExternalAttachment(sessionId, requestedPath, optio
|
|
|
176
229
|
// the caller forces it for this registration (the magic-link scanner — see
|
|
177
230
|
// forceWorkspaceConfinement). Strictly more restrictive than the blocklist.
|
|
178
231
|
const workingDir = options.sessionWorkingDir;
|
|
179
|
-
|
|
232
|
+
const confined = options.remote
|
|
233
|
+
? !!workingDir && isUnderTree(resolved.resolvedPath, resolved.workspaceRoot ?? workingDir)
|
|
234
|
+
: !!workingDir && !!validateSessionFilePath(workingDir, resolved.resolvedPath);
|
|
235
|
+
if (!confined) {
|
|
180
236
|
throw new AttachmentRegistrationError('Access to this file is blocked', 403);
|
|
181
237
|
}
|
|
182
238
|
}
|
|
@@ -185,17 +241,26 @@ export async function registerExternalAttachment(sessionId, requestedPath, optio
|
|
|
185
241
|
// operator-configured extra trees. Symlinks are already resolved above.
|
|
186
242
|
// Cross-workspace attachment of non-blocked files stays allowed, so
|
|
187
243
|
// codeman-publish and the ~/.codeman review loop keep working.
|
|
188
|
-
|
|
244
|
+
//
|
|
245
|
+
// The list is a pattern list over ABSOLUTE paths, so it is host-agnostic and holds
|
|
246
|
+
// for a remote path exactly as it does for a local one, with ONE exception worth
|
|
247
|
+
// knowing: `isSensitivePath`'s three home-anchored members (`~/.claude.json`,
|
|
248
|
+
// `~/.claude/settings.json`, `~/.claude/settings.local.json`) resolve against THIS
|
|
249
|
+
// host's `homedir()`, so on a remote host with a different home they do not match.
|
|
250
|
+
// Everything else in that list is depth-anchored (`/.ssh/`, `/.aws/credentials`,
|
|
251
|
+
// `/.claude/.credentials.json`, ...) and applies unchanged.
|
|
252
|
+
if (isBlockedAttachmentPath(resolved.resolvedPath, guard.blockedTrees)) {
|
|
189
253
|
throw new AttachmentRegistrationError('Access to this file is blocked', 403);
|
|
190
254
|
}
|
|
191
|
-
const
|
|
255
|
+
const resolvedPath = resolved.resolvedPath;
|
|
256
|
+
const extension = resolved.extension;
|
|
192
257
|
if (!isSupportedAttachmentExtension(extension)) {
|
|
193
258
|
throw new AttachmentRegistrationError('Unsupported attachment type');
|
|
194
259
|
}
|
|
195
|
-
|
|
196
|
-
if (typeof stat.isFile === 'function' && !stat.isFile()) {
|
|
260
|
+
if (!resolved.isFile) {
|
|
197
261
|
throw new AttachmentRegistrationError('Attachment path is not a file');
|
|
198
262
|
}
|
|
263
|
+
const stat = { size: resolved.size, mtimeMs: resolved.mtimeMs };
|
|
199
264
|
const existing = attachmentRegistry.findByFilePath(sessionId, resolvedPath);
|
|
200
265
|
if (existing) {
|
|
201
266
|
existing.size = stat.size;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-registry.js","sourceRoot":"","sources":["../src/attachment-registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"attachment-registry.js","sourceRoot":"","sources":["../src/attachment-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -242,6 +242,31 @@ export declare const CliEntrySchema: z.ZodObject<{
|
|
|
242
242
|
failClosed: z.ZodBoolean;
|
|
243
243
|
}, z.core.$strict>>;
|
|
244
244
|
maxFrameBytes: z.ZodOptional<z.ZodNumber>;
|
|
245
|
+
customModelInjection: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
246
|
+
kind: z.ZodLiteral<"env">;
|
|
247
|
+
baseUrlVar: z.ZodString;
|
|
248
|
+
apiKeyVar: z.ZodString;
|
|
249
|
+
modelVars: z.ZodArray<z.ZodString>;
|
|
250
|
+
launchModel: z.ZodOptional<z.ZodString>;
|
|
251
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
252
|
+
kind: z.ZodLiteral<"configContentEnv">;
|
|
253
|
+
envVar: z.ZodString;
|
|
254
|
+
template: z.ZodLiteral<"opencode-json">;
|
|
255
|
+
launchModel: z.ZodOptional<z.ZodString>;
|
|
256
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
257
|
+
kind: z.ZodLiteral<"configDir">;
|
|
258
|
+
dirEnvVar: z.ZodString;
|
|
259
|
+
fileName: z.ZodString;
|
|
260
|
+
template: z.ZodEnum<{
|
|
261
|
+
"codex-toml": "codex-toml";
|
|
262
|
+
"pi-models-json": "pi-models-json";
|
|
263
|
+
"omp-models-yml": "omp-models-yml";
|
|
264
|
+
"grok-toml": "grok-toml";
|
|
265
|
+
}>;
|
|
266
|
+
launchModel: z.ZodOptional<z.ZodString>;
|
|
267
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
268
|
+
kind: z.ZodLiteral<"unsupported">;
|
|
269
|
+
}, z.core.$strict>], "kind">;
|
|
245
270
|
}, z.core.$strict>;
|
|
246
271
|
overlays: z.ZodObject<{
|
|
247
272
|
remote: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/config/cli-registry/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/config/cli-registry/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsYxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAyFvB,CAAC;AAEL,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
|
@@ -240,6 +240,18 @@ const echoSchema = z
|
|
|
240
240
|
predictProfile: z.string().max(40).optional(),
|
|
241
241
|
})
|
|
242
242
|
.strict();
|
|
243
|
+
/**
|
|
244
|
+
* `capabilities.customModelInjection.launchModel`: the `model` launch-param value that
|
|
245
|
+
* selects the injected provider, with `{modelId}` standing for the chosen id. Bounded to
|
|
246
|
+
* the characters the `model`/`model-pi` token patterns accept plus the placeholder braces,
|
|
247
|
+
* so a template can never smuggle a token the argv engine would have to quote.
|
|
248
|
+
*/
|
|
249
|
+
const launchModelTemplate = z
|
|
250
|
+
.string()
|
|
251
|
+
.min(1)
|
|
252
|
+
.max(120)
|
|
253
|
+
.regex(/^[a-zA-Z0-9._\-/:{}]+$/)
|
|
254
|
+
.optional();
|
|
243
255
|
const capabilitiesSchema = z
|
|
244
256
|
.object({
|
|
245
257
|
external: z.boolean(),
|
|
@@ -291,6 +303,37 @@ const capabilitiesSchema = z
|
|
|
291
303
|
privilegedEnvKeys: z.array(envName).max(8),
|
|
292
304
|
gates: z.record(z.string(), z.object({ minVersion: z.string().max(20), failClosed: z.boolean() }).strict()),
|
|
293
305
|
maxFrameBytes: z.number().int().positive().optional(),
|
|
306
|
+
customModelInjection: z.discriminatedUnion('kind', [
|
|
307
|
+
z
|
|
308
|
+
.object({
|
|
309
|
+
kind: z.literal('env'),
|
|
310
|
+
baseUrlVar: envName,
|
|
311
|
+
apiKeyVar: envName,
|
|
312
|
+
// Empty is valid: deepseek's model routing is a profile-composition concern, not
|
|
313
|
+
// an env var, so it declares baseUrl/apiKey injection with no model var at all.
|
|
314
|
+
modelVars: z.array(envName).max(8),
|
|
315
|
+
launchModel: launchModelTemplate,
|
|
316
|
+
})
|
|
317
|
+
.strict(),
|
|
318
|
+
z
|
|
319
|
+
.object({
|
|
320
|
+
kind: z.literal('configContentEnv'),
|
|
321
|
+
envVar: envName,
|
|
322
|
+
template: z.literal('opencode-json'),
|
|
323
|
+
launchModel: launchModelTemplate,
|
|
324
|
+
})
|
|
325
|
+
.strict(),
|
|
326
|
+
z
|
|
327
|
+
.object({
|
|
328
|
+
kind: z.literal('configDir'),
|
|
329
|
+
dirEnvVar: envName,
|
|
330
|
+
fileName: z.string().min(1).max(80),
|
|
331
|
+
template: z.enum(['codex-toml', 'pi-models-json', 'omp-models-yml', 'grok-toml']),
|
|
332
|
+
launchModel: launchModelTemplate,
|
|
333
|
+
})
|
|
334
|
+
.strict(),
|
|
335
|
+
z.object({ kind: z.literal('unsupported') }).strict(),
|
|
336
|
+
]),
|
|
294
337
|
})
|
|
295
338
|
.strict();
|
|
296
339
|
const credStoreSchema = z
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/config/cli-registry/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/config/cli-registry/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stock.d.ts","sourceRoot":"","sources":["../../../src/config/cli-registry/stock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"stock.d.ts","sourceRoot":"","sources":["../../../src/config/cli-registry/stock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAurC3C,0EAA0E;AAC1E,eAAO,MAAM,UAAU,EAAE,QAAQ,EAAmF,CAAC"}
|
|
@@ -162,6 +162,12 @@ const CLAUDE = {
|
|
|
162
162
|
unset: ['CLAUDECODE'],
|
|
163
163
|
tmuxSetenvKeys: [],
|
|
164
164
|
dockerExecEnvNames: [],
|
|
165
|
+
// Deliberately excludes ANTHROPIC_* (base URL / API key / default-model overrides):
|
|
166
|
+
// custom-model-injection.ts's claude recipe uses those names, but they must reach a
|
|
167
|
+
// session ONLY through the admin-configured, SSRF-guarded custom-model route, never
|
|
168
|
+
// through a plain client-supplied envOverrides field. Widening this prefix would let
|
|
169
|
+
// any session-create caller redirect a session's Anthropic traffic and credentials to
|
|
170
|
+
// an arbitrary, unvalidated URL.
|
|
165
171
|
allowedPrefixes: ['CLAUDE_CODE_'],
|
|
166
172
|
allowedKeys: ['CLAUDE_CONFIG_DIR'],
|
|
167
173
|
},
|
|
@@ -193,8 +199,28 @@ const CLAUDE = {
|
|
|
193
199
|
statusLineTelemetry: true,
|
|
194
200
|
model: { source: 'claude-settings-file' },
|
|
195
201
|
privilegedParams: [],
|
|
196
|
-
|
|
202
|
+
// ANTHROPIC_* is NOT in allowedPrefixes/allowedKeys above (deliberately — see the
|
|
203
|
+
// allowedPrefixes comment nearby), so these are unreachable via plain envOverrides
|
|
204
|
+
// today; listed here only so the dedicated custom-model route (docs/custom-model-endpoints-plan.md
|
|
205
|
+
// chunk 5) clamps them for a non-granted multi-user owner the same way every other
|
|
206
|
+
// CLI's injection vars are clamped, the day that route widens who can set them.
|
|
207
|
+
privilegedEnvKeys: [
|
|
208
|
+
'ANTHROPIC_BASE_URL',
|
|
209
|
+
'ANTHROPIC_API_KEY',
|
|
210
|
+
'ANTHROPIC_DEFAULT_SONNET_MODEL',
|
|
211
|
+
'ANTHROPIC_DEFAULT_HAIKU_MODEL',
|
|
212
|
+
'ANTHROPIC_DEFAULT_OPUS_MODEL',
|
|
213
|
+
],
|
|
197
214
|
gates: { nameFlag: { minVersion: '2.1.224', failClosed: true } },
|
|
215
|
+
// Custom Model Endpoint Profiles (docs/custom-model-endpoints-plan.md) — verified by hand against a real
|
|
216
|
+
// llama.cpp server. Claude reads these at process start only, so switching requires a
|
|
217
|
+
// respawn, never a live hot-swap.
|
|
218
|
+
customModelInjection: {
|
|
219
|
+
kind: 'env',
|
|
220
|
+
baseUrlVar: 'ANTHROPIC_BASE_URL',
|
|
221
|
+
apiKeyVar: 'ANTHROPIC_API_KEY',
|
|
222
|
+
modelVars: ['ANTHROPIC_DEFAULT_SONNET_MODEL', 'ANTHROPIC_DEFAULT_HAIKU_MODEL', 'ANTHROPIC_DEFAULT_OPUS_MODEL'],
|
|
223
|
+
},
|
|
198
224
|
},
|
|
199
225
|
overlays: {
|
|
200
226
|
// Mirrors the local default so the remote/in-container agent runs non-interactively
|
|
@@ -259,6 +285,7 @@ const SHELL = {
|
|
|
259
285
|
privilegedParams: [],
|
|
260
286
|
privilegedEnvKeys: [],
|
|
261
287
|
gates: {},
|
|
288
|
+
customModelInjection: { kind: 'unsupported' }, // a raw shell has no "model" concept
|
|
262
289
|
},
|
|
263
290
|
overlays: {
|
|
264
291
|
// No `remote` entry: defaultRemoteCommandForMode special-cases kind==='shell' directly
|
|
@@ -337,6 +364,15 @@ const OPENCODE = {
|
|
|
337
364
|
...agentDefaults(),
|
|
338
365
|
altScreen: 'strip-mux-only',
|
|
339
366
|
echo: { policy: 'buffer', anchor: { kind: 'cursor' }, predictProfile: undefined },
|
|
367
|
+
// Verified by hand against a real llama.cpp server. Reuses the SAME env var opencode's
|
|
368
|
+
// own `env.configContentVar` already declares — the builder in custom-model-injection.ts
|
|
369
|
+
// must merge into whatever opencode config Codeman would otherwise send, not clobber it.
|
|
370
|
+
customModelInjection: { kind: 'configContentEnv', envVar: 'OPENCODE_CONFIG_CONTENT', template: 'opencode-json' },
|
|
371
|
+
// OPENCODE_CONFIG_CONTENT already matches the OPENCODE_ allowedPrefix above, so it was
|
|
372
|
+
// ALREADY reachable via plain envOverrides before this feature existed — it replaces
|
|
373
|
+
// opencode's whole config, provider api keys included, so a non-granted multi-user owner
|
|
374
|
+
// sending it is a pre-existing credential-redirection gap, not one this feature opens.
|
|
375
|
+
privilegedEnvKeys: ['OPENCODE_CONFIG_CONTENT'],
|
|
340
376
|
},
|
|
341
377
|
overlays: {
|
|
342
378
|
credStore: { rel: '.config/opencode', seedWhole: true },
|
|
@@ -425,6 +461,23 @@ const CODEX = {
|
|
|
425
461
|
// `dangerouslyBypassApprovals` on the wire), so it is the one that would have caught a
|
|
426
462
|
// regression; `schema.ts` now rejects a name that is not a declared param.
|
|
427
463
|
privilegedParams: [{ param: 'bypassApprovals', clampTo: false }],
|
|
464
|
+
// Verified by hand against a real llama.cpp server. Written to an isolated CODEX_HOME
|
|
465
|
+
// so the user's real ~/.codex/config.toml is never touched.
|
|
466
|
+
customModelInjection: {
|
|
467
|
+
kind: 'configDir',
|
|
468
|
+
dirEnvVar: 'CODEX_HOME',
|
|
469
|
+
fileName: 'config.toml',
|
|
470
|
+
template: 'codex-toml',
|
|
471
|
+
},
|
|
472
|
+
// CODEX_HOME already matches the CODEX_ allowedPrefix above, so it was ALREADY
|
|
473
|
+
// reachable via plain envOverrides before this feature existed. It is arguably
|
|
474
|
+
// MORE sensitive than a bare base-url var: a redirected CODEX_HOME points codex at a
|
|
475
|
+
// config.toml a non-granted owner fully controls, which can restate sandbox/approval
|
|
476
|
+
// policy INSIDE that file — a path the argv-level `bypassApprovals` clamp above
|
|
477
|
+
// cannot see or stop.
|
|
478
|
+
// CODEMAN_CUSTOM_MODEL_API_KEY: the credential config.toml's env_key references
|
|
479
|
+
// (see custom-model-injection.ts) — same reasoning as CODEX_HOME above.
|
|
480
|
+
privilegedEnvKeys: ['CODEX_HOME', 'CODEMAN_CUSTOM_MODEL_API_KEY'],
|
|
428
481
|
},
|
|
429
482
|
overlays: {
|
|
430
483
|
credStore: {
|
|
@@ -507,6 +560,20 @@ const GEMINI = {
|
|
|
507
560
|
// MATERIALIZE a config (not just touch an already-sent one) or a non-granted owner who
|
|
508
561
|
// sends no geminiConfig at all would still get yolo for free.
|
|
509
562
|
privilegedParams: [{ param: 'approvalMode', clampTo: 'auto_edit', materializeWhenAbsent: true }],
|
|
563
|
+
// Web-researched, unverified — needs a restart to pick up (CLI reads these at process
|
|
564
|
+
// start). Confirm the exact model-override env var name against the installed
|
|
565
|
+
// gemini-cli version before shipping.
|
|
566
|
+
customModelInjection: {
|
|
567
|
+
kind: 'env',
|
|
568
|
+
baseUrlVar: 'GOOGLE_GEMINI_BASE_URL',
|
|
569
|
+
apiKeyVar: 'GEMINI_API_KEY',
|
|
570
|
+
modelVars: ['GEMINI_MODEL'],
|
|
571
|
+
},
|
|
572
|
+
// All three already match the GEMINI_/GOOGLE_ allowedPrefixes above, so they were
|
|
573
|
+
// ALREADY reachable via plain envOverrides before this feature existed — a non-granted
|
|
574
|
+
// multi-user owner redirecting a gemini session's endpoint/credentials is a
|
|
575
|
+
// pre-existing gap this feature's analysis surfaced, not one it opens.
|
|
576
|
+
privilegedEnvKeys: ['GOOGLE_GEMINI_BASE_URL', 'GEMINI_API_KEY', 'GEMINI_MODEL'],
|
|
510
577
|
},
|
|
511
578
|
overlays: {
|
|
512
579
|
credStore: { rel: '.gemini', seedWhole: true }, // also covers antigravity — see its own entry
|
|
@@ -571,6 +638,10 @@ const ANTIGRAVITY = {
|
|
|
571
638
|
// Like codex: an ABSENT config already defaults safe (no bypass flag), so only a
|
|
572
639
|
// SENT config needs the flag forced off — nothing is materialized.
|
|
573
640
|
privilegedParams: [{ param: 'dangerouslySkipPermissions', clampTo: false }],
|
|
641
|
+
// No known CLI/env/config mechanism — Antigravity's own docs describe a GUI-only
|
|
642
|
+
// custom-endpoint setting and explicitly say it "cannot currently" become the core
|
|
643
|
+
// reasoning model. Toolbar entry stays disabled for this mode.
|
|
644
|
+
customModelInjection: { kind: 'unsupported' },
|
|
574
645
|
},
|
|
575
646
|
overlays: {
|
|
576
647
|
// No credStore of its own: agy nests its whole state under ~/.gemini/antigravity-cli/,
|
|
@@ -660,6 +731,34 @@ const PI = {
|
|
|
660
731
|
// just answer "yes" to, so omitting --approve is not itself a clamp — MATERIALIZE
|
|
661
732
|
// approveProjectTrust:false so buildPiCommand emits --no-approve outright.
|
|
662
733
|
privilegedParams: [{ param: 'approveProjectTrust', clampTo: false, materializeWhenAbsent: true }],
|
|
734
|
+
// CORRECTED after live-testing: `PI_CONFIG_DIR` does NOT exist anywhere in pi's own
|
|
735
|
+
// bundled source (grepped the installed package directly) — it does nothing for pi
|
|
736
|
+
// itself, despite being a real Codeman env var that OTHER things (omp) read. The
|
|
737
|
+
// confirmed working redirect is `HOME` itself: pi hardcodes `~/.pi/agent/models.json`
|
|
738
|
+
// with no dedicated override, so redirecting the CHILD PROCESS's HOME is what
|
|
739
|
+
// actually relocates it (verified: a model written under an isolated HOME's
|
|
740
|
+
// `.pi/agent/models.json` shows up in `pi --list-models` and answers a real prompt
|
|
741
|
+
// against a real llama-swap server; PI_CONFIG_DIR alone left it silently unable to
|
|
742
|
+
// see any provider). ⚠️ This is a bigger blast radius than a dedicated config-dir
|
|
743
|
+
// var: it also redirects pi's real sessions/auth/extensions for the DURATION of a
|
|
744
|
+
// custom-model session, not just its provider config — document this trade-off
|
|
745
|
+
// wherever this capability is surfaced.
|
|
746
|
+
customModelInjection: {
|
|
747
|
+
kind: 'configDir',
|
|
748
|
+
dirEnvVar: 'HOME',
|
|
749
|
+
fileName: '.pi/agent/models.json',
|
|
750
|
+
template: 'pi-models-json',
|
|
751
|
+
// Writing models.json is not enough: without `--model custom/<id>` pi stays on its
|
|
752
|
+
// own default provider and fails with "No API key found for the selected model"
|
|
753
|
+
// (confirmed live). `custom` is the provider name pi-models-json declares.
|
|
754
|
+
launchModel: 'custom/{modelId}',
|
|
755
|
+
},
|
|
756
|
+
// HOME is not `PI_`-prefixed, so unlike the old (wrong) PI_CONFIG_DIR guess this was
|
|
757
|
+
// never reachable via the generic envOverrides allowlist at all — listed here anyway,
|
|
758
|
+
// matching the documented pattern for every other CLI's dir-redirect var, since a
|
|
759
|
+
// redirected HOME is at least as sensitive as CODEX_HOME/GROK_HOME (pi executes
|
|
760
|
+
// repo-local .pi/extensions TypeScript — see the External CLI modes note in CLAUDE.md).
|
|
761
|
+
privilegedEnvKeys: ['HOME'],
|
|
663
762
|
},
|
|
664
763
|
overlays: {
|
|
665
764
|
credStore: {
|
|
@@ -754,6 +853,28 @@ const GROK = {
|
|
|
754
853
|
// already its safe interactive ask-mode, so the multi-user clamp only needs to force an
|
|
755
854
|
// EXPLICITLY-SENT bypass flag back off — nothing is materialized when config is absent.
|
|
756
855
|
privilegedParams: [{ param: 'alwaysApprove', clampTo: false }],
|
|
856
|
+
// CORRECTED after live-testing against a real grok binary: the original `env` kind
|
|
857
|
+
// (GROK_BASE_URL/GROK_MODEL/XAI_API_KEY) produced "Not signed in" — those env vars
|
|
858
|
+
// are NOT grok's real custom-endpoint mechanism. The real one (verified against
|
|
859
|
+
// xAI's own docs) is a `[model.<name>]` block in a config.toml under GROK_HOME,
|
|
860
|
+
// the same configDir shape as codex/pi/omp. `api_backend = "chat_completions"` is
|
|
861
|
+
// explicitly supported (unlike codex, which dropped it) — grok CAN talk to a plain
|
|
862
|
+
// OpenAI Chat-Completions server directly.
|
|
863
|
+
customModelInjection: {
|
|
864
|
+
kind: 'configDir',
|
|
865
|
+
dirEnvVar: 'GROK_HOME',
|
|
866
|
+
fileName: 'config.toml',
|
|
867
|
+
template: 'grok-toml',
|
|
868
|
+
// The `[model.<name>]` block the grok-toml template writes; `--model <name>` is what
|
|
869
|
+
// selects it (GROK_CUSTOM_MODEL_NAME in custom-model-injection.ts, pinned equal by
|
|
870
|
+
// test/custom-model-injection.test.ts so the two cannot drift).
|
|
871
|
+
launchModel: 'codeman-custom',
|
|
872
|
+
},
|
|
873
|
+
// GROK_HOME already matches the GROK_ allowedPrefix above, so it was ALREADY
|
|
874
|
+
// reachable via plain envOverrides before this feature existed — same reasoning
|
|
875
|
+
// as CODEX_HOME: a redirected config dir can restate policy the argv-level
|
|
876
|
+
// `alwaysApprove` clamp above cannot see.
|
|
877
|
+
privilegedEnvKeys: ['GROK_HOME'],
|
|
757
878
|
},
|
|
758
879
|
overlays: {
|
|
759
880
|
// ~/.grok also holds sessions/, memory/, downloads/ (the ~160MB binary), completions/,
|
|
@@ -908,7 +1029,23 @@ const DEEPSEEK = {
|
|
|
908
1029
|
// The half no other CLI needs. `DSH_*` is an allowlisted envOverrides prefix and
|
|
909
1030
|
// applyEnvOverrides() runs LAST, so without this a non-granted owner could send
|
|
910
1031
|
// DSH_PERMISSION_MODE on the same request and land after the config clamp.
|
|
1032
|
+
// ⚠️ DEEPSEEK_API_KEY deliberately stays OUT of this list (see the docstring on
|
|
1033
|
+
// clampEnvOverridesForOwner() in session-routes.ts): _configureCliEnv() forwards the
|
|
1034
|
+
// SERVER's own key into every dsh pane, so DEEPSEEK_BASE_URL is the exfiltration
|
|
1035
|
+
// vector, not the key itself — a non-granted owner supplying THEIR OWN key removes
|
|
1036
|
+
// privilege rather than granting it, and clamping it here was a real regression
|
|
1037
|
+
// (test/deepseek-mode.test.ts) fixed before this shipped.
|
|
911
1038
|
privilegedEnvKeys: ['DSH_PERMISSION_MODE', 'DSH_HOME', 'DEEPSEEK_BASE_URL'],
|
|
1039
|
+
// Web-researched, unverified, partial: reuses the already-existing DEEPSEEK_BASE_URL/
|
|
1040
|
+
// DEEPSEEK_API_KEY keys above. No modelVars — dsh's model is a profile-composition
|
|
1041
|
+
// entry (see `model: { source: 'none' }` above), not an env var, so forcing a specific
|
|
1042
|
+
// model name may not fully work; verify against a real profile before shipping.
|
|
1043
|
+
customModelInjection: {
|
|
1044
|
+
kind: 'env',
|
|
1045
|
+
baseUrlVar: 'DEEPSEEK_BASE_URL',
|
|
1046
|
+
apiKeyVar: 'DEEPSEEK_API_KEY',
|
|
1047
|
+
modelVars: [],
|
|
1048
|
+
},
|
|
912
1049
|
},
|
|
913
1050
|
overlays: {
|
|
914
1051
|
// No credStore: dsh keeps everything under $DSH_HOME (default ~/.dsh), which is
|
|
@@ -1009,7 +1146,25 @@ const OMP = {
|
|
|
1009
1146
|
// Where omp resolves its auth from. No known concrete exfiltration path today (omp
|
|
1010
1147
|
// forwards no operator-held key into a pane), but a non-granted owner redirecting where
|
|
1011
1148
|
// a shared multi-tenant deployment resolves auth is not something to allow silently.
|
|
1012
|
-
|
|
1149
|
+
// HOME added for custom-model-injection.ts's omp recipe (see below). Unlike pi,
|
|
1150
|
+
// PI_CONFIG_DIR genuinely IS one of the env vars omp reads (per the DeepSeek/OMP
|
|
1151
|
+
// note in CLAUDE.md) — but live-testing this feature found it did NOT relocate
|
|
1152
|
+
// omp's model config the way expected, while redirecting HOME itself (like pi)
|
|
1153
|
+
// worked immediately (verified end-to-end: a real "hello world" reply came back).
|
|
1154
|
+
privilegedEnvKeys: ['OMP_AUTH_BROKER_URL', 'OMP_AUTH_BROKER_TOKEN', 'HOME'],
|
|
1155
|
+
// Verified end-to-end against a real llama-swap server (live-tested, not just
|
|
1156
|
+
// researched — a real "hello world" reply came back). Same HOME-redirect mechanism
|
|
1157
|
+
// as pi (see its customModelInjection comment for the full reasoning) — omp hardcodes
|
|
1158
|
+
// `~/.omp/agent/models.yml` with no dedicated config-dir override either.
|
|
1159
|
+
customModelInjection: {
|
|
1160
|
+
kind: 'configDir',
|
|
1161
|
+
dirEnvVar: 'HOME',
|
|
1162
|
+
fileName: '.omp/agent/models.yml',
|
|
1163
|
+
template: 'omp-models-yml',
|
|
1164
|
+
// Same as pi: omp's own default model has no credential, so without an explicit
|
|
1165
|
+
// `--model custom/<id>` it never reaches the injected provider at all.
|
|
1166
|
+
launchModel: 'custom/{modelId}',
|
|
1167
|
+
},
|
|
1013
1168
|
},
|
|
1014
1169
|
overlays: {
|
|
1015
1170
|
// `~/.omp/agent` also holds agent.db/history.db/models.db (SQLite caches) and
|