aicodeman 1.18.2 → 1.18.4
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 +14 -0
- package/dist/hooks-config.d.ts +27 -0
- package/dist/hooks-config.d.ts.map +1 -1
- package/dist/hooks-config.js +44 -0
- package/dist/hooks-config.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.445f1584.js → app.e2cb9065.js} +1 -1
- package/dist/web/public/{app.445f1584.js.br → app.e2cb9065.js.br} +0 -0
- package/dist/web/public/{app.445f1584.js.gz → app.e2cb9065.js.gz} +0 -0
- package/dist/web/public/approvals-ui.js +24 -15
- 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.822a486d.js → constants.04b7b284.js} +34 -20
- package/dist/web/public/constants.04b7b284.js.br +0 -0
- package/dist/web/public/constants.04b7b284.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.86757605.js.gz +0 -0
- package/dist/web/public/image-input.ee16ad88.js.gz +0 -0
- package/dist/web/public/index.html +13 -6
- package/dist/web/public/index.html.br +0 -0
- package/dist/web/public/index.html.gz +0 -0
- package/dist/web/public/input-cjk.63794d0b.js.gz +0 -0
- package/dist/web/public/keyboard-accessory.0454a3e9.js.gz +0 -0
- package/dist/web/public/mobile-handlers.bc45f976.js.gz +0 -0
- package/dist/web/public/mobile-overview.js.gz +0 -0
- package/dist/web/public/mobile.1eef31fe.css.gz +0 -0
- package/dist/web/public/notification-manager.5d229063.js.gz +0 -0
- package/dist/web/public/orchestrator-panel.js.gz +0 -0
- package/dist/web/public/panels-ui.1e4cb4b2.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 +35 -1
- package/dist/web/public/session-lineage.js.br +0 -0
- package/dist/web/public/session-lineage.js.gz +0 -0
- package/dist/web/public/{session-ui.20be58fa.js → session-ui.c67565f2.js} +3 -3
- package/dist/web/public/session-ui.c67565f2.js.br +0 -0
- package/dist/web/public/session-ui.c67565f2.js.gz +0 -0
- package/dist/web/public/settings-ui.eacb4f92.js.gz +0 -0
- package/dist/web/public/styles.d2fa3a17.css +1 -0
- package/dist/web/public/styles.d2fa3a17.css.br +0 -0
- package/dist/web/public/styles.d2fa3a17.css.gz +0 -0
- package/dist/web/public/subagent-windows.2a192c3e.js.gz +0 -0
- package/dist/web/public/sw.js.gz +0 -0
- package/dist/web/public/terminal-ui.c182a68d.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.6cec0fba.js.gz +0 -0
- package/dist/web/public/vendor/xterm-zerolag-input.137ad9f0.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.4ec670b0.js.gz +0 -0
- package/dist/web/public/voice-pcm-worklet.js.gz +0 -0
- package/dist/web/public/webview-tabs.js.gz +0 -0
- package/dist/web/routes/session-routes.d.ts.map +1 -1
- package/dist/web/routes/session-routes.js +18 -1
- package/dist/web/routes/session-routes.js.map +1 -1
- package/package.json +1 -1
- package/skills/codeman/SKILL.md +57 -19
- package/skills/codeman/preamble.sh +158 -0
- package/skills/codeman/reference/recipes.md +1 -1
- package/dist/web/public/constants.822a486d.js.br +0 -0
- package/dist/web/public/constants.822a486d.js.gz +0 -0
- package/dist/web/public/session-ui.20be58fa.js.br +0 -0
- package/dist/web/public/session-ui.20be58fa.js.gz +0 -0
- package/dist/web/public/styles.70bf9c2a.css +0 -1
- package/dist/web/public/styles.70bf9c2a.css.br +0 -0
- package/dist/web/public/styles.70bf9c2a.css.gz +0 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/web/public/sw.js.gz
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-routes.d.ts","sourceRoot":"","sources":["../../../src/web/routes/session-routes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAqB,MAAM,SAAS,CAAC;AAQ7D,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"session-routes.d.ts","sourceRoot":"","sources":["../../../src/web/routes/session-routes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAqB,MAAM,SAAS,CAAC;AAQ7D,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;AAkFxB,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AA+DjG;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CA0C1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAmCvE;AAWD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,OAAO,CAiBhF;AAGD,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,iBAAe,8BAA8B,CAC3C,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,EAChD,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAC7B,OAAO,CAAC;IACT,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,YAAY,EAAE,YAAY,GAAG,SAAS,CAAC;IACvC,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACjD,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;CAChC,CAAC,CAkBD;AAED,kGAAkG;AAClG,eAAO,MAAM,+BAA+B,uCAAiC,CAAC;AA8L9E,2FAA2F;AAC3F,wBAAgB,uBAAuB,IAAI,IAAI,CAI9C;AAED,+EAA+E;AAC/E,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAoED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAC/D,IAAI,CAk9GN"}
|
|
@@ -20,7 +20,7 @@ import { autoConfigureRalph, canAccessOwned, CASES_DIR, findSessionOrFail, getAu
|
|
|
20
20
|
import { canUsernameRunPrivilegedCommands, resolveClaudeModeForUsername } from '../../user-store.js';
|
|
21
21
|
import { isMultiUserMode } from '../../config/multiuser.js';
|
|
22
22
|
import { AUTH_COOKIE_NAME } from '../middleware/auth.js';
|
|
23
|
-
import { writeHooksConfig, updateCaseModel, stripCaseEnvKeys, applyStatusLineConfig, applyAgentSkill, refreshStaleCodemanHooks, } from '../../hooks-config.js';
|
|
23
|
+
import { writeHooksConfig, updateCaseModel, stripCaseEnvKeys, applyStatusLineConfig, applyAgentSkill, refreshUserAgentSkill, seedAgentSessionPreamble, refreshStaleCodemanHooks, } from '../../hooks-config.js';
|
|
24
24
|
import { generateClaudeMd } from '../../templates/claude-md.js';
|
|
25
25
|
import { imageWatcher } from '../../image-watcher.js';
|
|
26
26
|
import { convertHeicToJpeg } from '../heic-jpeg-converter.js';
|
|
@@ -480,6 +480,13 @@ function abortOnClientHangUp(reply) {
|
|
|
480
480
|
async function injectAgentSkill(casePath) {
|
|
481
481
|
const skillDir = join(casePath, '.claude', 'skills', 'codeman');
|
|
482
482
|
try {
|
|
483
|
+
// Claude Code loads a same-named USER-LEVEL skill (`~/.claude/skills/codeman`,
|
|
484
|
+
// written once by `codeman skill install`) over the case copy injected below, so a
|
|
485
|
+
// stale user copy silently replaces every fresh injection (observed 2026-08-14: an
|
|
486
|
+
// old copy cost every spawned worker its lineage arc and the fast path). Keep it
|
|
487
|
+
// current on the same trigger. Refresh-only + marker-guarded; quiet on refusal,
|
|
488
|
+
// since a foreign user copy is the user's own authored skill, not a config error.
|
|
489
|
+
await refreshUserAgentSkill();
|
|
483
490
|
const result = await applyAgentSkill(casePath, true);
|
|
484
491
|
if (result === 'foreign') {
|
|
485
492
|
console.warn(`[agent-skill] not injected: ${skillDir} exists but is not Codeman-managed (no marker), refusing to touch it. Remove that copy if you want the packaged skill there.`);
|
|
@@ -741,6 +748,11 @@ export function registerSessionRoutes(app, ctx) {
|
|
|
741
748
|
ctx.store.incrementSessionsCreated();
|
|
742
749
|
ctx.persistSessionState(session);
|
|
743
750
|
await ctx.setupSessionListeners(session);
|
|
751
|
+
// Pre-seed the agent skill's preamble cache so its §0 bootstrap is a two-line
|
|
752
|
+
// loader (see seedAgentSessionPreamble). Local claude sessions only; best-effort.
|
|
753
|
+
if (mode === 'claude' && !remote && (await ctx.getAgentSkillEnabled())) {
|
|
754
|
+
await seedAgentSessionPreamble(session.id).catch((err) => console.warn(`[agent-skill] preamble seed failed for ${session.id}: ${getErrorMessage(err)}`));
|
|
755
|
+
}
|
|
744
756
|
getLifecycleLog().log({ event: 'created', sessionId: session.id, name: session.name });
|
|
745
757
|
// Use light state for broadcast + response — buffers are fetched on-demand via /terminal.
|
|
746
758
|
// Avoids serializing 2-3MB of terminal+text buffers per session creation.
|
|
@@ -2603,6 +2615,11 @@ export function registerSessionRoutes(app, ctx) {
|
|
|
2603
2615
|
ctx.store.incrementSessionsCreated();
|
|
2604
2616
|
ctx.persistSessionState(session);
|
|
2605
2617
|
await ctx.setupSessionListeners(session);
|
|
2618
|
+
// Pre-seed the agent skill's preamble cache so its §0 bootstrap is a two-line
|
|
2619
|
+
// loader (see seedAgentSessionPreamble). Local claude sessions only; best-effort.
|
|
2620
|
+
if (mode === 'claude' && !remote && !docker && (await ctx.getAgentSkillEnabled())) {
|
|
2621
|
+
await seedAgentSessionPreamble(session.id).catch((err) => console.warn(`[agent-skill] preamble seed failed for ${session.id}: ${getErrorMessage(err)}`));
|
|
2622
|
+
}
|
|
2606
2623
|
getLifecycleLog().log({
|
|
2607
2624
|
event: 'created',
|
|
2608
2625
|
sessionId: session.id,
|