aicodeman 1.41.0 → 1.41.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 -8
- package/dist/attachment-registry.d.ts +2 -0
- package/dist/attachment-registry.d.ts.map +1 -1
- package/dist/attachment-registry.js +14 -3
- package/dist/attachment-registry.js.map +1 -1
- package/dist/cli-agent.d.ts +2 -0
- package/dist/cli-agent.d.ts.map +1 -1
- package/dist/cli-agent.js +12 -8
- package/dist/cli-agent.js.map +1 -1
- package/dist/cli.d.ts +25 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +97 -11
- package/dist/cli.js.map +1 -1
- package/dist/config/buffer-limits.d.ts +9 -0
- package/dist/config/buffer-limits.d.ts.map +1 -1
- package/dist/config/buffer-limits.js +9 -0
- package/dist/config/buffer-limits.js.map +1 -1
- package/dist/config/cli-registry/schema.d.ts +8 -0
- package/dist/config/cli-registry/schema.d.ts.map +1 -1
- package/dist/config/cli-registry/schema.js +12 -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 +42 -0
- package/dist/config/cli-registry/stock.js.map +1 -1
- package/dist/config/cli-registry/types.d.ts +35 -0
- package/dist/config/cli-registry/types.d.ts.map +1 -1
- package/dist/folder-listing.d.ts +94 -0
- package/dist/folder-listing.d.ts.map +1 -0
- package/dist/folder-listing.js +241 -0
- package/dist/folder-listing.js.map +1 -0
- package/dist/hooks-config.d.ts +36 -16
- package/dist/hooks-config.d.ts.map +1 -1
- package/dist/hooks-config.js +45 -20
- package/dist/hooks-config.js.map +1 -1
- package/dist/html-view-capabilities.d.ts +54 -0
- package/dist/html-view-capabilities.d.ts.map +1 -0
- package/dist/html-view-capabilities.js +103 -0
- package/dist/html-view-capabilities.js.map +1 -0
- package/dist/mcp-server.d.ts +114 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +917 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/mcp-sync.d.ts +5 -0
- package/dist/mcp-sync.d.ts.map +1 -1
- package/dist/mcp-sync.js +51 -5
- package/dist/mcp-sync.js.map +1 -1
- package/dist/mux-interface.d.ts +36 -1
- package/dist/mux-interface.d.ts.map +1 -1
- package/dist/remote-files.d.ts +37 -0
- package/dist/remote-files.d.ts.map +1 -1
- package/dist/remote-files.js +103 -0
- package/dist/remote-files.js.map +1 -1
- package/dist/remote-pane-history.d.ts +103 -0
- package/dist/remote-pane-history.d.ts.map +1 -0
- package/dist/remote-pane-history.js +258 -0
- package/dist/remote-pane-history.js.map +1 -0
- package/dist/remote-ssh-limiter.d.ts +16 -3
- package/dist/remote-ssh-limiter.d.ts.map +1 -1
- package/dist/remote-ssh-limiter.js +37 -6
- package/dist/remote-ssh-limiter.js.map +1 -1
- package/dist/session.d.ts +29 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +53 -0
- package/dist/session.js.map +1 -1
- package/dist/tab-layout-legacy-order.d.ts.map +1 -1
- package/dist/tab-layout-legacy-order.js +72 -13
- package/dist/tab-layout-legacy-order.js.map +1 -1
- package/dist/tab-layout-service.d.ts +33 -2
- package/dist/tab-layout-service.d.ts.map +1 -1
- package/dist/tab-layout-service.js +102 -7
- package/dist/tab-layout-service.js.map +1 -1
- package/dist/tab-layout.d.ts +9 -0
- package/dist/tab-layout.d.ts.map +1 -1
- package/dist/tab-layout.js +15 -2
- package/dist/tab-layout.js.map +1 -1
- package/dist/tmux-manager.d.ts +71 -2
- package/dist/tmux-manager.d.ts.map +1 -1
- package/dist/tmux-manager.js +169 -18
- package/dist/tmux-manager.js.map +1 -1
- package/dist/types/session.d.ts +53 -0
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/session.js.map +1 -1
- package/dist/usage-telemetry.d.ts +44 -7
- package/dist/usage-telemetry.d.ts.map +1 -1
- package/dist/usage-telemetry.js +72 -7
- package/dist/usage-telemetry.js.map +1 -1
- package/dist/web/approval-inbox.d.ts +12 -0
- package/dist/web/approval-inbox.d.ts.map +1 -1
- package/dist/web/approval-inbox.js +1 -0
- package/dist/web/approval-inbox.js.map +1 -1
- package/dist/web/middleware/auth.d.ts.map +1 -1
- package/dist/web/middleware/auth.js +33 -0
- package/dist/web/middleware/auth.js.map +1 -1
- package/dist/web/ports/session-port.d.ts +8 -1
- package/dist/web/ports/session-port.d.ts.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.24689381.js +43 -0
- package/dist/web/public/app.24689381.js.br +0 -0
- package/dist/web/public/app.24689381.js.gz +0 -0
- package/dist/web/public/approvals-ui.js +4 -0
- package/dist/web/public/approvals-ui.js.br +0 -0
- package/dist/web/public/approvals-ui.js.gz +0 -0
- package/dist/web/public/{constants.bc9c1f63.js → constants.17d77b65.js} +395 -7
- package/dist/web/public/constants.17d77b65.js.br +0 -0
- package/dist/web/public/constants.17d77b65.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/gesture/gesture-codeman.js +112 -6
- package/dist/web/public/git-status-ui.js.gz +0 -0
- package/dist/web/public/home-sessions.js.gz +0 -0
- package/dist/web/public/host-wake-ui.js.gz +0 -0
- package/dist/web/public/i18n.9afd8e4d.js +2 -0
- package/dist/web/public/i18n.9afd8e4d.js.br +0 -0
- package/dist/web/public/i18n.9afd8e4d.js.gz +0 -0
- package/dist/web/public/{image-input.e00471c6.js → image-input.9ed1d0d2.js} +186 -16
- package/dist/web/public/image-input.9ed1d0d2.js.br +0 -0
- package/dist/web/public/image-input.9ed1d0d2.js.gz +0 -0
- package/dist/web/public/index.html +105 -23
- 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.gz +0 -0
- package/dist/web/public/{keyboard-accessory.c1e7c7b7.js → keyboard-accessory.c458eea8.js} +115 -35
- package/dist/web/public/keyboard-accessory.c458eea8.js.br +0 -0
- package/dist/web/public/keyboard-accessory.c458eea8.js.gz +0 -0
- package/dist/web/public/mobile-handlers.0ef9c311.js.gz +0 -0
- package/dist/web/public/mobile-ime-preview.2dbaf262.js.gz +0 -0
- package/dist/web/public/mobile-overview.js +11 -2
- package/dist/web/public/mobile-overview.js.br +0 -0
- package/dist/web/public/mobile-overview.js.gz +0 -0
- package/dist/web/public/mobile.2dff1580.css +1 -0
- package/dist/web/public/mobile.2dff1580.css.br +0 -0
- package/dist/web/public/mobile.2dff1580.css.gz +0 -0
- package/dist/web/public/notification-manager.feb82c04.js.gz +0 -0
- package/dist/web/public/orchestrator-panel.js.gz +0 -0
- package/dist/web/public/{panels-ui.71846fcb.js → panels-ui.73ec0137.js} +87 -87
- package/dist/web/public/panels-ui.73ec0137.js.br +0 -0
- package/dist/web/public/panels-ui.73ec0137.js.gz +0 -0
- package/dist/web/public/ralph-panel.b350e2ef.js.gz +0 -0
- package/dist/web/public/ralph-wizard.b6c0dd19.js.gz +0 -0
- package/dist/web/public/readmymind-ui.js.gz +0 -0
- package/dist/web/public/reboot-restore-ui.js.gz +0 -0
- package/dist/web/public/respawn-ui.ff0dae4c.js.gz +0 -0
- package/dist/web/public/sanitize-html.e7147e76.js.gz +0 -0
- package/dist/web/public/session-lineage.js.gz +0 -0
- package/dist/web/public/{session-ui.f731602c.js → session-ui.dbc6819b.js} +33 -33
- package/dist/web/public/session-ui.dbc6819b.js.br +0 -0
- package/dist/web/public/session-ui.dbc6819b.js.gz +0 -0
- package/dist/web/public/{settings-ui.4e33390f.js → settings-ui.81ac264e.js} +9 -9
- package/dist/web/public/settings-ui.81ac264e.js.br +0 -0
- package/dist/web/public/settings-ui.81ac264e.js.gz +0 -0
- package/dist/web/public/spreadsheet-preview-worker.js +11 -0
- package/dist/web/public/spreadsheet-preview-worker.js.br +0 -0
- package/dist/web/public/spreadsheet-preview-worker.js.gz +0 -0
- package/dist/web/public/{spreadsheet-preview.af82fa2f.js → spreadsheet-preview.75c751de.js} +1 -1
- package/dist/web/public/spreadsheet-preview.75c751de.js.br +0 -0
- package/dist/web/public/spreadsheet-preview.75c751de.js.gz +0 -0
- package/dist/web/public/spreadsheet-xlsx-core.js +110 -0
- package/dist/web/public/spreadsheet-xlsx-core.js.br +0 -0
- package/dist/web/public/spreadsheet-xlsx-core.js.gz +0 -0
- package/dist/web/public/styles.900a28e4.css +1 -0
- package/dist/web/public/styles.900a28e4.css.br +0 -0
- package/dist/web/public/styles.900a28e4.css.gz +0 -0
- package/dist/web/public/subagent-windows.07277a58.js.gz +0 -0
- package/dist/web/public/sw.js +6 -2
- package/dist/web/public/sw.js.br +0 -0
- package/dist/web/public/sw.js.gz +0 -0
- package/dist/web/public/tab-layout-browser.2d6189f7.js +1 -0
- package/dist/web/public/tab-layout-browser.2d6189f7.js.br +0 -0
- package/dist/web/public/tab-layout-browser.2d6189f7.js.gz +0 -0
- package/dist/web/public/{tab-rail-resize.a5867793.js → tab-rail-resize.7157e0bd.js} +1 -1
- package/dist/web/public/tab-rail-resize.7157e0bd.js.br +0 -0
- package/dist/web/public/tab-rail-resize.7157e0bd.js.gz +0 -0
- package/dist/web/public/terminal-keycode229-recovery.af09f99a.js.gz +0 -0
- package/dist/web/public/terminal-split.js.gz +0 -0
- package/dist/web/public/terminal-tile.js +44 -24
- package/dist/web/public/terminal-tile.js.br +0 -0
- package/dist/web/public/terminal-tile.js.gz +0 -0
- package/dist/web/public/terminal-ui.858f5da5.js +2 -0
- package/dist/web/public/terminal-ui.858f5da5.js.br +0 -0
- package/dist/web/public/terminal-ui.858f5da5.js.gz +0 -0
- package/dist/web/public/tile-grid.js +439 -18
- package/dist/web/public/tile-grid.js.br +0 -0
- package/dist/web/public/tile-grid.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/vendor/dompurify.min.js.gz +0 -0
- package/dist/web/public/vendor/exceljs.min.js.gz +0 -0
- package/dist/web/public/vendor/fflate.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.ae5e3d5d.js.gz +0 -0
- package/dist/web/public/vendor/xterm-zerolag-input.0b69623c.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.2342c37b.js.gz +0 -0
- package/dist/web/public/voice-pcm-worklet.js.gz +0 -0
- package/dist/web/public/webview-tabs.js +12 -0
- 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 +8 -0
- package/dist/web/route-helpers.d.ts.map +1 -1
- package/dist/web/route-helpers.js +8 -0
- package/dist/web/route-helpers.js.map +1 -1
- package/dist/web/routes/admin-routes.d.ts.map +1 -1
- package/dist/web/routes/admin-routes.js +4 -1
- package/dist/web/routes/admin-routes.js.map +1 -1
- package/dist/web/routes/approval-routes.d.ts.map +1 -1
- package/dist/web/routes/approval-routes.js +6 -8
- package/dist/web/routes/approval-routes.js.map +1 -1
- package/dist/web/routes/case-routes.js +1 -1
- package/dist/web/routes/case-routes.js.map +1 -1
- package/dist/web/routes/file-routes.d.ts +46 -1
- package/dist/web/routes/file-routes.d.ts.map +1 -1
- package/dist/web/routes/file-routes.js +214 -27
- package/dist/web/routes/file-routes.js.map +1 -1
- package/dist/web/routes/hook-event-routes.d.ts.map +1 -1
- package/dist/web/routes/hook-event-routes.js +8 -1
- package/dist/web/routes/hook-event-routes.js.map +1 -1
- package/dist/web/routes/html-view-routes.d.ts +60 -0
- package/dist/web/routes/html-view-routes.d.ts.map +1 -0
- package/dist/web/routes/html-view-routes.js +288 -0
- package/dist/web/routes/html-view-routes.js.map +1 -0
- 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/reboot-restore-routes.js +2 -2
- package/dist/web/routes/reboot-restore-routes.js.map +1 -1
- package/dist/web/routes/session-routes.d.ts +1 -0
- package/dist/web/routes/session-routes.d.ts.map +1 -1
- package/dist/web/routes/session-routes.js +278 -56
- package/dist/web/routes/session-routes.js.map +1 -1
- package/dist/web/routes/status-telemetry-routes.d.ts.map +1 -1
- package/dist/web/routes/status-telemetry-routes.js +16 -2
- package/dist/web/routes/status-telemetry-routes.js.map +1 -1
- package/dist/web/schemas.d.ts +29 -0
- package/dist/web/schemas.d.ts.map +1 -1
- package/dist/web/schemas.js +65 -0
- package/dist/web/schemas.js.map +1 -1
- package/dist/web/server.d.ts +6 -1
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +62 -14
- package/dist/web/server.js.map +1 -1
- package/dist/web/sse-events.d.ts +5 -2
- package/dist/web/sse-events.d.ts.map +1 -1
- package/dist/web/sse-events.js +5 -2
- package/dist/web/sse-events.js.map +1 -1
- package/package.json +2 -1
- package/skills/codeman/SKILL.md +29 -12
- package/dist/web/public/app.6f8552e1.js +0 -43
- package/dist/web/public/app.6f8552e1.js.br +0 -0
- package/dist/web/public/app.6f8552e1.js.gz +0 -0
- package/dist/web/public/constants.bc9c1f63.js.br +0 -0
- package/dist/web/public/constants.bc9c1f63.js.gz +0 -0
- package/dist/web/public/i18n.a9840ea2.js +0 -2
- package/dist/web/public/i18n.a9840ea2.js.br +0 -0
- package/dist/web/public/i18n.a9840ea2.js.gz +0 -0
- package/dist/web/public/image-input.e00471c6.js.br +0 -0
- package/dist/web/public/image-input.e00471c6.js.gz +0 -0
- package/dist/web/public/keyboard-accessory.c1e7c7b7.js.br +0 -0
- package/dist/web/public/keyboard-accessory.c1e7c7b7.js.gz +0 -0
- package/dist/web/public/mobile.111b187d.css +0 -1
- package/dist/web/public/mobile.111b187d.css.br +0 -0
- package/dist/web/public/mobile.111b187d.css.gz +0 -0
- package/dist/web/public/panels-ui.71846fcb.js.br +0 -0
- package/dist/web/public/panels-ui.71846fcb.js.gz +0 -0
- package/dist/web/public/session-ui.f731602c.js.br +0 -0
- package/dist/web/public/session-ui.f731602c.js.gz +0 -0
- package/dist/web/public/settings-ui.4e33390f.js.br +0 -0
- package/dist/web/public/settings-ui.4e33390f.js.gz +0 -0
- package/dist/web/public/spreadsheet-preview.af82fa2f.js.br +0 -0
- package/dist/web/public/spreadsheet-preview.af82fa2f.js.gz +0 -0
- package/dist/web/public/styles.81a72906.css +0 -1
- package/dist/web/public/styles.81a72906.css.br +0 -0
- package/dist/web/public/styles.81a72906.css.gz +0 -0
- package/dist/web/public/tab-layout-browser.065fcba4.js +0 -1
- package/dist/web/public/tab-layout-browser.065fcba4.js.br +0 -0
- package/dist/web/public/tab-layout-browser.065fcba4.js.gz +0 -0
- package/dist/web/public/tab-rail-resize.a5867793.js.br +0 -0
- package/dist/web/public/tab-rail-resize.a5867793.js.gz +0 -0
- package/dist/web/public/terminal-ui.b7267005.js +0 -2
- package/dist/web/public/terminal-ui.b7267005.js.br +0 -0
- package/dist/web/public/terminal-ui.b7267005.js.gz +0 -0
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Folder listings for the file-preview folder grid.
|
|
3
|
+
*
|
|
4
|
+
* A folder the user opens (a clicked folder path, or "Folder" in the file
|
|
5
|
+
* preview) is resolved, checked against the same attachment guard a single file
|
|
6
|
+
* goes through, and GRANTED an id. The grid then asks for files by
|
|
7
|
+
* `folderId + file name` only, so browser requests never carry arbitrary paths —
|
|
8
|
+
* the rule the attachment routes follow for single files.
|
|
9
|
+
*
|
|
10
|
+
* Grants live in their own small registry, not in the attachment registry: that one
|
|
11
|
+
* is capped at 200 records per session, and a folder of 300 renders would evict the
|
|
12
|
+
* session's real attachments.
|
|
13
|
+
*
|
|
14
|
+
* Listings contain non-hidden subfolders and files whose type the preview supports
|
|
15
|
+
* (`isSupportedAttachmentExtension`), newest first, capped at
|
|
16
|
+
* {@link MAX_FOLDER_ENTRIES}. Local folders are read with `fs`; a remote (SSH) case's
|
|
17
|
+
* folder is listed on its host in one ssh round trip (`remoteListFolder`).
|
|
18
|
+
*/
|
|
19
|
+
import { randomUUID } from 'node:crypto';
|
|
20
|
+
import fs from 'node:fs/promises';
|
|
21
|
+
import { homedir } from 'node:os';
|
|
22
|
+
import { extname, isAbsolute, join, posix } from 'node:path';
|
|
23
|
+
import { getAttachmentType, isSupportedAttachmentExtension, supportedAttachmentExtensions, } from './attachment-registry.js';
|
|
24
|
+
import { isBlockedAttachmentPath, isUnderTree, loadAttachmentGuardConfig } from './config/attachment-guard.js';
|
|
25
|
+
import { isMultiUserMode, userSpacePath } from './config/multiuser.js';
|
|
26
|
+
import { remoteListFolder, RemoteFileAccessError } from './remote-files.js';
|
|
27
|
+
import { describeUnknownPath, probePathKind } from './utils/bounded-path-probe.js';
|
|
28
|
+
import { validateSessionFilePath } from './web/route-helpers.js';
|
|
29
|
+
/** Most entries (files + subfolders) one listing returns. */
|
|
30
|
+
export const MAX_FOLDER_ENTRIES = 1000;
|
|
31
|
+
/** Folder grants kept per session; the oldest is dropped beyond this. */
|
|
32
|
+
const MAX_FOLDER_GRANTS_PER_SESSION = 32;
|
|
33
|
+
export class FolderListingError extends Error {
|
|
34
|
+
statusCode;
|
|
35
|
+
constructor(message, statusCode = 400) {
|
|
36
|
+
super(message);
|
|
37
|
+
this.statusCode = statusCode;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
class FolderGrants {
|
|
41
|
+
bySession = new Map();
|
|
42
|
+
grant(sessionId, dir) {
|
|
43
|
+
let grants = this.bySession.get(sessionId);
|
|
44
|
+
if (!grants) {
|
|
45
|
+
grants = new Map();
|
|
46
|
+
this.bySession.set(sessionId, grants);
|
|
47
|
+
}
|
|
48
|
+
for (const existing of grants.values()) {
|
|
49
|
+
if (existing.dir === dir) {
|
|
50
|
+
// Refresh its position so an often-used folder is the last to be dropped.
|
|
51
|
+
grants.delete(existing.folderId);
|
|
52
|
+
grants.set(existing.folderId, existing);
|
|
53
|
+
return existing.folderId;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const folderId = `fld_${randomUUID()}`;
|
|
57
|
+
grants.set(folderId, { folderId, dir });
|
|
58
|
+
while (grants.size > MAX_FOLDER_GRANTS_PER_SESSION) {
|
|
59
|
+
const oldest = grants.keys().next().value;
|
|
60
|
+
if (oldest === undefined)
|
|
61
|
+
break;
|
|
62
|
+
grants.delete(oldest);
|
|
63
|
+
}
|
|
64
|
+
return folderId;
|
|
65
|
+
}
|
|
66
|
+
get(sessionId, folderId) {
|
|
67
|
+
return this.bySession.get(sessionId)?.get(folderId);
|
|
68
|
+
}
|
|
69
|
+
clearSession(sessionId) {
|
|
70
|
+
this.bySession.delete(sessionId);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
export const folderGrants = new FolderGrants();
|
|
74
|
+
/**
|
|
75
|
+
* A file name inside a granted folder, or null when it is not one: no path
|
|
76
|
+
* separator, not hidden (which also rules out `.`/`..`; the listing leaves hidden
|
|
77
|
+
* entries out, so the routes do too), no NUL, and a type the preview supports.
|
|
78
|
+
*/
|
|
79
|
+
export function validFolderFileName(name) {
|
|
80
|
+
if (typeof name !== 'string' || !name || name.length > 255)
|
|
81
|
+
return null;
|
|
82
|
+
if (name.startsWith('.') || name.includes('/') || name.includes('\\') || name.includes('\0'))
|
|
83
|
+
return null;
|
|
84
|
+
const extension = extname(name).toLowerCase().replace(/^\./, '');
|
|
85
|
+
return isSupportedAttachmentExtension(extension) ? name : null;
|
|
86
|
+
}
|
|
87
|
+
/** Where a granted folder's file lives (on the session's host). */
|
|
88
|
+
export function folderFilePath(dir, name) {
|
|
89
|
+
return posix.join(dir, name);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Multi-user rule for folder grants, the same one the filesystem path picker follows:
|
|
93
|
+
* a regular user reaches only their own space (`userSpacePath`) or the session's
|
|
94
|
+
* `workingDir`. User spaces live inside `homedir()`, so without it a user could list
|
|
95
|
+
* and read another user's space. Always true in single-user mode and for admins; a
|
|
96
|
+
* remote session's folders are on its host, where only the `workingDir` applies.
|
|
97
|
+
*
|
|
98
|
+
* @param path Already resolved (realpath on the session's host).
|
|
99
|
+
*/
|
|
100
|
+
export function folderAllowedForUser(path, user, scope) {
|
|
101
|
+
if (!isMultiUserMode())
|
|
102
|
+
return true;
|
|
103
|
+
if (!user)
|
|
104
|
+
return false;
|
|
105
|
+
if (user.role === 'admin')
|
|
106
|
+
return true;
|
|
107
|
+
if (scope.remote)
|
|
108
|
+
return !!scope.workingDir && isUnderTree(path, scope.workingDir);
|
|
109
|
+
return [userSpacePath(user.username), scope.workingDir].some((root) => !!root && !!validateSessionFilePath(root, path));
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Resolve, guard, list and grant a folder for `sessionId`.
|
|
113
|
+
*
|
|
114
|
+
* A local folder is probed bounded first (`probePathKind`): one on a network mount
|
|
115
|
+
* that stopped answering must not freeze the server, and "did not answer" is never
|
|
116
|
+
* reported as "not found". The guard runs on the resolved folder before it is read.
|
|
117
|
+
*
|
|
118
|
+
* @param requestedPath Absolute, or `~/…` (the home of the session's host).
|
|
119
|
+
* @throws FolderListingError 400 not absolute / not a folder, 403 blocked or outside the
|
|
120
|
+
* user's space, 404 missing, 502 remote unreachable, 503 local folder not answering.
|
|
121
|
+
*/
|
|
122
|
+
export async function listFolder(sessionId, requestedPath, options = {}) {
|
|
123
|
+
const homeRelative = typeof requestedPath === 'string' && (requestedPath === '~' || requestedPath.startsWith('~/'));
|
|
124
|
+
if (!requestedPath || typeof requestedPath !== 'string' || (!isAbsolute(requestedPath) && !homeRelative)) {
|
|
125
|
+
throw new FolderListingError('Folder path must be absolute');
|
|
126
|
+
}
|
|
127
|
+
const guard = await loadAttachmentGuardConfig();
|
|
128
|
+
const workingDir = options.sessionWorkingDir;
|
|
129
|
+
const assertAllowed = (dir) => {
|
|
130
|
+
const confined = !guard.confineToWorkspace
|
|
131
|
+
? true
|
|
132
|
+
: options.remote
|
|
133
|
+
? !!workingDir && isUnderTree(dir, workingDir)
|
|
134
|
+
: !!workingDir && !!validateSessionFilePath(workingDir, dir);
|
|
135
|
+
if (!confined || isBlockedAttachmentPath(dir, guard.blockedTrees)) {
|
|
136
|
+
throw new FolderListingError('Access to this folder is blocked', 403);
|
|
137
|
+
}
|
|
138
|
+
if (!folderAllowedForUser(dir, options.user, { workingDir, remote: options.remote })) {
|
|
139
|
+
throw new FolderListingError('Folder is outside your space', 403);
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
let dir;
|
|
143
|
+
let entries;
|
|
144
|
+
let truncated = false;
|
|
145
|
+
if (options.remote) {
|
|
146
|
+
const remotePath = requestedPath === '~' ? '~/' : requestedPath;
|
|
147
|
+
let listing;
|
|
148
|
+
try {
|
|
149
|
+
listing = await remoteListFolder(options.remote, remotePath, supportedAttachmentExtensions(), MAX_FOLDER_ENTRIES);
|
|
150
|
+
}
|
|
151
|
+
catch (err) {
|
|
152
|
+
throw new FolderListingError(err instanceof RemoteFileAccessError ? err.message : 'remote host unreachable', 502);
|
|
153
|
+
}
|
|
154
|
+
if (!listing)
|
|
155
|
+
throw new FolderListingError('Folder not found', 404);
|
|
156
|
+
if (listing === 'not-a-folder')
|
|
157
|
+
throw new FolderListingError('Not a folder');
|
|
158
|
+
({ dir, entries, truncated } = listing);
|
|
159
|
+
// One ssh call lists and resolves together, so the guard can only run after it;
|
|
160
|
+
// nothing of a refused listing leaves this function.
|
|
161
|
+
assertAllowed(dir);
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
const expanded = homeRelative ? join(homedir(), requestedPath.slice(2)) : requestedPath;
|
|
165
|
+
const kind = await probePathKind(expanded, { pastCap: true });
|
|
166
|
+
if (kind === 'unknown') {
|
|
167
|
+
throw new FolderListingError(describeUnknownPath('Folder', expanded, { pastCap: true }), 503);
|
|
168
|
+
}
|
|
169
|
+
if (kind === 'absent')
|
|
170
|
+
throw new FolderListingError('Folder not found', 404);
|
|
171
|
+
if (kind !== 'directory')
|
|
172
|
+
throw new FolderListingError('Not a folder');
|
|
173
|
+
try {
|
|
174
|
+
dir = await fs.realpath(expanded);
|
|
175
|
+
}
|
|
176
|
+
catch {
|
|
177
|
+
throw new FolderListingError('Folder not found', 404);
|
|
178
|
+
}
|
|
179
|
+
assertAllowed(dir);
|
|
180
|
+
({ entries, truncated } = await listLocalFolder(dir));
|
|
181
|
+
}
|
|
182
|
+
const files = [];
|
|
183
|
+
const folders = [];
|
|
184
|
+
for (const entry of entries) {
|
|
185
|
+
if (entry.name.startsWith('.'))
|
|
186
|
+
continue;
|
|
187
|
+
// A secret that happens to sit in an open folder stays out of the grid too.
|
|
188
|
+
if (isBlockedAttachmentPath(folderFilePath(dir, entry.name), guard.blockedTrees))
|
|
189
|
+
continue;
|
|
190
|
+
if (entry.kind === 'directory') {
|
|
191
|
+
folders.push(entry.name);
|
|
192
|
+
continue;
|
|
193
|
+
}
|
|
194
|
+
const extension = extname(entry.name).toLowerCase().replace(/^\./, '');
|
|
195
|
+
if (!isSupportedAttachmentExtension(extension))
|
|
196
|
+
continue;
|
|
197
|
+
files.push({
|
|
198
|
+
name: entry.name,
|
|
199
|
+
extension,
|
|
200
|
+
attachmentType: getAttachmentType(extension),
|
|
201
|
+
size: entry.size,
|
|
202
|
+
mtimeMs: entry.mtimeMs,
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
files.sort((a, b) => b.mtimeMs - a.mtimeMs || a.name.localeCompare(b.name));
|
|
206
|
+
folders.sort((a, b) => a.localeCompare(b));
|
|
207
|
+
return { folderId: folderGrants.grant(sessionId, dir), path: dir, files, folders, truncated };
|
|
208
|
+
}
|
|
209
|
+
/** Local counterpart of the remote listing script: subfolders + supported files, stat'ed through symlinks. */
|
|
210
|
+
async function listLocalFolder(dir) {
|
|
211
|
+
const dirents = await fs.readdir(dir, { withFileTypes: true });
|
|
212
|
+
const entries = [];
|
|
213
|
+
let truncated = false;
|
|
214
|
+
for (const dirent of dirents) {
|
|
215
|
+
if (dirent.name.startsWith('.'))
|
|
216
|
+
continue;
|
|
217
|
+
if (entries.length >= MAX_FOLDER_ENTRIES) {
|
|
218
|
+
truncated = true;
|
|
219
|
+
break;
|
|
220
|
+
}
|
|
221
|
+
const extension = extname(dirent.name).toLowerCase().replace(/^\./, '');
|
|
222
|
+
const maybeFile = isSupportedAttachmentExtension(extension);
|
|
223
|
+
if (!dirent.isDirectory() && !maybeFile && !dirent.isSymbolicLink())
|
|
224
|
+
continue;
|
|
225
|
+
let stat;
|
|
226
|
+
try {
|
|
227
|
+
stat = await fs.stat(join(dir, dirent.name));
|
|
228
|
+
}
|
|
229
|
+
catch {
|
|
230
|
+
continue; // dangling symlink, or gone since readdir
|
|
231
|
+
}
|
|
232
|
+
if (stat.isDirectory()) {
|
|
233
|
+
entries.push({ kind: 'directory', name: dirent.name, size: 0, mtimeMs: 0 });
|
|
234
|
+
}
|
|
235
|
+
else if (stat.isFile() && maybeFile) {
|
|
236
|
+
entries.push({ kind: 'file', name: dirent.name, size: stat.size, mtimeMs: stat.mtimeMs });
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
return { entries, truncated };
|
|
240
|
+
}
|
|
241
|
+
//# sourceMappingURL=folder-listing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"folder-listing.js","sourceRoot":"","sources":["../src/folder-listing.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks-config.d.ts
CHANGED
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
*
|
|
29
29
|
* @module hooks-config
|
|
30
30
|
*/
|
|
31
|
+
import type { AgentSkillDir, CliCapabilities } from './config/cli-registry/types.js';
|
|
31
32
|
/**
|
|
32
33
|
* Inline Node helper for Claude Code's `asyncRewake` hook.
|
|
33
34
|
*
|
|
@@ -290,7 +291,8 @@ export declare function resolveStatusLineCliCommand(casePath: string, telemetryE
|
|
|
290
291
|
export type AgentSkillApplyResult = 'installed' | 'refreshed' | 'unchanged' | 'removed' | 'absent' | 'foreign' | 'symlink';
|
|
291
292
|
/**
|
|
292
293
|
* Install or refresh the Codeman agent skill into `skillDir` (a `.../codeman`
|
|
293
|
-
* directory, e.g. `<case>/.claude/skills/codeman
|
|
294
|
+
* directory, e.g. `<case>/.claude/skills/codeman`, `~/.claude/skills/codeman` or
|
|
295
|
+
* `<case>/.agents/skills/codeman`).
|
|
294
296
|
*
|
|
295
297
|
* Refuses two shapes rather than writing through them:
|
|
296
298
|
* - a SYMLINK at the skill dir or its `skills/` parent: this repo's own dogfooding
|
|
@@ -310,16 +312,20 @@ export type AgentSkillApplyResult = 'installed' | 'refreshed' | 'unchanged' | 'r
|
|
|
310
312
|
*/
|
|
311
313
|
export declare function installAgentSkillInto(skillDir: string): Promise<AgentSkillApplyResult>;
|
|
312
314
|
/**
|
|
313
|
-
* Seed a
|
|
315
|
+
* Seed a session's agent preamble file (`$XDG_CACHE_HOME/codeman-agent-<id>.sh`,
|
|
314
316
|
* default `~/.cache/`) from the packaged `skills/codeman/preamble.sh`, so the agent
|
|
315
317
|
* skill's §0 bootstrap collapses to a two-line loader instead of a ~150-line block the
|
|
316
318
|
* model has to type out (measured live: that paste alone cost a spawn run ~47 s of
|
|
317
319
|
* generation time). The path formula must match the skill's
|
|
318
320
|
* `${XDG_CACHE_HOME:-$HOME/.cache}` exactly; sessions inherit the server's env, so
|
|
319
321
|
* reading the server's own XDG_CACHE_HOME keeps the two in agreement (`||` mirrors the
|
|
320
|
-
* shell's `:-`, treating empty as unset). Callers gate to LOCAL
|
|
321
|
-
*
|
|
322
|
-
*
|
|
322
|
+
* shell's `:-`, treating empty as unset). Callers gate to LOCAL sessions whose CLI gets
|
|
323
|
+
* the skill (`agentSkillDir()` non-null, any CLI: the preamble is bash + curl + jq, nothing
|
|
324
|
+
* claude-specific; a remote or in-container HOME is not this filesystem) and treat it as
|
|
325
|
+
* best-effort: the skill's §0 fallback block self-heals a missing or stale file. Codex
|
|
326
|
+
* caveat: codex 0.162 runs tool commands in a shared app-server daemon whose
|
|
327
|
+
* `CODEMAN_SESSION_ID` is the starting session's, so its loader looks for that session's
|
|
328
|
+
* file and its self id is wrong; the skill tells the agent how to notice.
|
|
323
329
|
*/
|
|
324
330
|
export declare function seedAgentSessionPreamble(sessionId: string): Promise<void>;
|
|
325
331
|
/** How long a preamble cache with no live session behind it is kept before the sweep takes it. */
|
|
@@ -372,23 +378,37 @@ export declare function refreshUserAgentSkill(): Promise<AgentSkillApplyResult |
|
|
|
372
378
|
*/
|
|
373
379
|
export declare function removeAgentSkillFrom(skillDir: string): Promise<AgentSkillApplyResult>;
|
|
374
380
|
/**
|
|
375
|
-
*
|
|
376
|
-
*
|
|
377
|
-
|
|
378
|
-
|
|
381
|
+
* Claude Code's project skills directory, and the meaning `agentSkillInjection: true`
|
|
382
|
+
* had before `capabilities.agentSkillDir` existed.
|
|
383
|
+
*/
|
|
384
|
+
export declare const CLAUDE_AGENT_SKILL_DIR: AgentSkillDir;
|
|
385
|
+
/**
|
|
386
|
+
* The workspace-relative skills directory this CLI scans, i.e. where its sessions get
|
|
387
|
+
* the skill, or `null` when they get none. Pure registry data, so no call site
|
|
388
|
+
* branches on a CLI id.
|
|
389
|
+
*/
|
|
390
|
+
export declare function agentSkillDir(capabilities: Pick<CliCapabilities, 'agentSkillInjection' | 'agentSkillDir'> | undefined): AgentSkillDir | null;
|
|
391
|
+
/** `<casePath>/<dir>/codeman`, the directory the skill's SKILL.md lives in. */
|
|
392
|
+
export declare function agentSkillDirFor(casePath: string, dir: AgentSkillDir): string;
|
|
393
|
+
/**
|
|
394
|
+
* Add or remove the Codeman agent skill in `<case>/<dir>/codeman`, where `dir` is the
|
|
395
|
+
* skills directory the session's CLI scans (default: Claude Code's `.claude/skills`;
|
|
396
|
+
* callers resolve it with `agentSkillDir()`), mirroring `applyStatusLineConfig`'s
|
|
397
|
+
* shape. Gated by the synced `agentSkillEnabled` app setting (default OFF).
|
|
379
398
|
*
|
|
380
399
|
* Call-site policy is ADD-ONLY on session create (callers pass `enabled: true` or
|
|
381
|
-
* skip the call), for the statusLine reason: sessions in a repo share one
|
|
382
|
-
*
|
|
400
|
+
* skip the call), for the statusLine reason: sessions in a repo share one workspace,
|
|
401
|
+
* so a single create while the setting is off must not yank the skill out from
|
|
383
402
|
* under other live sessions.
|
|
384
403
|
*
|
|
385
404
|
* ⚠️ Consequence: turning `agentSkillEnabled` OFF sweeps nothing. There is deliberately
|
|
386
405
|
* no server-side toggle-off sweep (it would have to walk every case, including ones
|
|
387
|
-
* with live sessions, and would hit exactly the shared
|
|
406
|
+
* with live sessions, and would hit exactly the shared-workspace hazard above), so
|
|
388
407
|
* already-injected copies stay on disk until removed per case with
|
|
389
|
-
* `codeman skill uninstall --case <name
|
|
390
|
-
*
|
|
391
|
-
*
|
|
408
|
+
* `codeman skill uninstall --case <name>`, which removes the Codeman-managed copy from
|
|
409
|
+
* every skills directory the registry could have written. The `enabled: false` branch
|
|
410
|
+
* here backs that CLI and the tests; it has no server call site. Keep the README's
|
|
411
|
+
* Agent Skill note in sync if this ever changes.
|
|
392
412
|
*/
|
|
393
|
-
export declare function applyAgentSkill(casePath: string, enabled: boolean): Promise<AgentSkillApplyResult>;
|
|
413
|
+
export declare function applyAgentSkill(casePath: string, enabled: boolean, dir?: AgentSkillDir): Promise<AgentSkillApplyResult>;
|
|
394
414
|
//# sourceMappingURL=hooks-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks-config.d.ts","sourceRoot":"","sources":["../src/hooks-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;
|
|
1
|
+
{"version":3,"file":"hooks-config.d.ts","sourceRoot":"","sources":["../src/hooks-config.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks-config.js
CHANGED
|
@@ -1181,8 +1181,8 @@ function agentSkillSourceDir() {
|
|
|
1181
1181
|
*/
|
|
1182
1182
|
async function readAgentSkillSource() {
|
|
1183
1183
|
const src = agentSkillSourceDir();
|
|
1184
|
-
const
|
|
1185
|
-
const files = [{ relPath: 'SKILL.md', content: `${
|
|
1184
|
+
const skillMd = await readFile(join(src, 'SKILL.md'), 'utf-8');
|
|
1185
|
+
const files = [{ relPath: 'SKILL.md', content: `${skillMd.trimEnd()}\n\n${AGENT_SKILL_MARKER}\n` }];
|
|
1186
1186
|
let referenceNames = [];
|
|
1187
1187
|
try {
|
|
1188
1188
|
referenceNames = (await readdir(join(src, 'reference'))).filter((name) => name.endsWith('.md')).sort();
|
|
@@ -1228,7 +1228,8 @@ async function isSymlink(path) {
|
|
|
1228
1228
|
}
|
|
1229
1229
|
/**
|
|
1230
1230
|
* Install or refresh the Codeman agent skill into `skillDir` (a `.../codeman`
|
|
1231
|
-
* directory, e.g. `<case>/.claude/skills/codeman
|
|
1231
|
+
* directory, e.g. `<case>/.claude/skills/codeman`, `~/.claude/skills/codeman` or
|
|
1232
|
+
* `<case>/.agents/skills/codeman`).
|
|
1232
1233
|
*
|
|
1233
1234
|
* Refuses two shapes rather than writing through them:
|
|
1234
1235
|
* - a SYMLINK at the skill dir or its `skills/` parent: this repo's own dogfooding
|
|
@@ -1282,16 +1283,20 @@ export async function installAgentSkillInto(skillDir) {
|
|
|
1282
1283
|
});
|
|
1283
1284
|
}
|
|
1284
1285
|
/**
|
|
1285
|
-
* Seed a
|
|
1286
|
+
* Seed a session's agent preamble file (`$XDG_CACHE_HOME/codeman-agent-<id>.sh`,
|
|
1286
1287
|
* default `~/.cache/`) from the packaged `skills/codeman/preamble.sh`, so the agent
|
|
1287
1288
|
* skill's §0 bootstrap collapses to a two-line loader instead of a ~150-line block the
|
|
1288
1289
|
* model has to type out (measured live: that paste alone cost a spawn run ~47 s of
|
|
1289
1290
|
* generation time). The path formula must match the skill's
|
|
1290
1291
|
* `${XDG_CACHE_HOME:-$HOME/.cache}` exactly; sessions inherit the server's env, so
|
|
1291
1292
|
* reading the server's own XDG_CACHE_HOME keeps the two in agreement (`||` mirrors the
|
|
1292
|
-
* shell's `:-`, treating empty as unset). Callers gate to LOCAL
|
|
1293
|
-
*
|
|
1294
|
-
*
|
|
1293
|
+
* shell's `:-`, treating empty as unset). Callers gate to LOCAL sessions whose CLI gets
|
|
1294
|
+
* the skill (`agentSkillDir()` non-null, any CLI: the preamble is bash + curl + jq, nothing
|
|
1295
|
+
* claude-specific; a remote or in-container HOME is not this filesystem) and treat it as
|
|
1296
|
+
* best-effort: the skill's §0 fallback block self-heals a missing or stale file. Codex
|
|
1297
|
+
* caveat: codex 0.162 runs tool commands in a shared app-server daemon whose
|
|
1298
|
+
* `CODEMAN_SESSION_ID` is the starting session's, so its loader looks for that session's
|
|
1299
|
+
* file and its self id is wrong; the skill tells the agent how to notice.
|
|
1295
1300
|
*/
|
|
1296
1301
|
export async function seedAgentSessionPreamble(sessionId) {
|
|
1297
1302
|
const content = await readFile(join(agentSkillSourceDir(), 'preamble.sh'), 'utf-8');
|
|
@@ -1418,31 +1423,51 @@ export async function removeAgentSkillFrom(skillDir) {
|
|
|
1418
1423
|
}
|
|
1419
1424
|
await rmdir(join(skillDir, 'reference')).catch(() => { }); // fails when non-empty, fine
|
|
1420
1425
|
await rmdir(skillDir).catch(() => { });
|
|
1421
|
-
await rmdir(dirname(skillDir)).catch(() => { }); // prune `.claude/skills` if now empty
|
|
1426
|
+
await rmdir(dirname(skillDir)).catch(() => { }); // prune `.claude/skills` (or the CLI's own dir) if now empty
|
|
1422
1427
|
return 'removed';
|
|
1423
1428
|
});
|
|
1424
1429
|
}
|
|
1425
1430
|
/**
|
|
1426
|
-
*
|
|
1427
|
-
*
|
|
1428
|
-
|
|
1429
|
-
|
|
1431
|
+
* Claude Code's project skills directory, and the meaning `agentSkillInjection: true`
|
|
1432
|
+
* had before `capabilities.agentSkillDir` existed.
|
|
1433
|
+
*/
|
|
1434
|
+
export const CLAUDE_AGENT_SKILL_DIR = '.claude/skills';
|
|
1435
|
+
/**
|
|
1436
|
+
* The workspace-relative skills directory this CLI scans, i.e. where its sessions get
|
|
1437
|
+
* the skill, or `null` when they get none. Pure registry data, so no call site
|
|
1438
|
+
* branches on a CLI id.
|
|
1439
|
+
*/
|
|
1440
|
+
export function agentSkillDir(capabilities) {
|
|
1441
|
+
if (!capabilities?.agentSkillInjection)
|
|
1442
|
+
return null;
|
|
1443
|
+
return capabilities.agentSkillDir ?? CLAUDE_AGENT_SKILL_DIR;
|
|
1444
|
+
}
|
|
1445
|
+
/** `<casePath>/<dir>/codeman`, the directory the skill's SKILL.md lives in. */
|
|
1446
|
+
export function agentSkillDirFor(casePath, dir) {
|
|
1447
|
+
return join(casePath, dir, 'codeman');
|
|
1448
|
+
}
|
|
1449
|
+
/**
|
|
1450
|
+
* Add or remove the Codeman agent skill in `<case>/<dir>/codeman`, where `dir` is the
|
|
1451
|
+
* skills directory the session's CLI scans (default: Claude Code's `.claude/skills`;
|
|
1452
|
+
* callers resolve it with `agentSkillDir()`), mirroring `applyStatusLineConfig`'s
|
|
1453
|
+
* shape. Gated by the synced `agentSkillEnabled` app setting (default OFF).
|
|
1430
1454
|
*
|
|
1431
1455
|
* Call-site policy is ADD-ONLY on session create (callers pass `enabled: true` or
|
|
1432
|
-
* skip the call), for the statusLine reason: sessions in a repo share one
|
|
1433
|
-
*
|
|
1456
|
+
* skip the call), for the statusLine reason: sessions in a repo share one workspace,
|
|
1457
|
+
* so a single create while the setting is off must not yank the skill out from
|
|
1434
1458
|
* under other live sessions.
|
|
1435
1459
|
*
|
|
1436
1460
|
* ⚠️ Consequence: turning `agentSkillEnabled` OFF sweeps nothing. There is deliberately
|
|
1437
1461
|
* no server-side toggle-off sweep (it would have to walk every case, including ones
|
|
1438
|
-
* with live sessions, and would hit exactly the shared
|
|
1462
|
+
* with live sessions, and would hit exactly the shared-workspace hazard above), so
|
|
1439
1463
|
* already-injected copies stay on disk until removed per case with
|
|
1440
|
-
* `codeman skill uninstall --case <name
|
|
1441
|
-
*
|
|
1442
|
-
*
|
|
1464
|
+
* `codeman skill uninstall --case <name>`, which removes the Codeman-managed copy from
|
|
1465
|
+
* every skills directory the registry could have written. The `enabled: false` branch
|
|
1466
|
+
* here backs that CLI and the tests; it has no server call site. Keep the README's
|
|
1467
|
+
* Agent Skill note in sync if this ever changes.
|
|
1443
1468
|
*/
|
|
1444
|
-
export async function applyAgentSkill(casePath, enabled) {
|
|
1445
|
-
const skillDir =
|
|
1469
|
+
export async function applyAgentSkill(casePath, enabled, dir = CLAUDE_AGENT_SKILL_DIR) {
|
|
1470
|
+
const skillDir = agentSkillDirFor(casePath, dir);
|
|
1446
1471
|
return enabled ? installAgentSkillInto(skillDir) : removeAgentSkillFrom(skillDir);
|
|
1447
1472
|
}
|
|
1448
1473
|
//# sourceMappingURL=hooks-config.js.map
|
package/dist/hooks-config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks-config.js","sourceRoot":"","sources":["../src/hooks-config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks-config.js","sourceRoot":"","sources":["../src/hooks-config.ts"],"names":[],"mappings":"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"}
|