@proletariat/cli 0.3.105 → 0.3.109
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/dist/commands/agent/cleanup.js +13 -1
- package/dist/commands/agent/cleanup.js.map +1 -1
- package/dist/commands/claude/index.js +2 -2
- package/dist/commands/claude/index.js.map +1 -1
- package/dist/commands/feedback/list.js +4 -9
- package/dist/commands/feedback/list.js.map +1 -1
- package/dist/commands/feedback/submit.js +4 -9
- package/dist/commands/feedback/submit.js.map +1 -1
- package/dist/commands/feedback/view.js +4 -9
- package/dist/commands/feedback/view.js.map +1 -1
- package/dist/commands/gc.d.ts +1 -0
- package/dist/commands/gc.js +34 -1
- package/dist/commands/gc.js.map +1 -1
- package/dist/commands/notify/connect.d.ts +34 -0
- package/dist/commands/notify/connect.js +166 -0
- package/dist/commands/notify/connect.js.map +1 -0
- package/dist/commands/notify/disconnect.d.ts +16 -0
- package/dist/commands/notify/disconnect.js +45 -0
- package/dist/commands/notify/disconnect.js.map +1 -0
- package/dist/commands/notify/list.d.ts +15 -0
- package/dist/commands/notify/list.js +101 -0
- package/dist/commands/notify/list.js.map +1 -0
- package/dist/commands/notify/rules/add.d.ts +26 -0
- package/dist/commands/notify/rules/add.js +95 -0
- package/dist/commands/notify/rules/add.js.map +1 -0
- package/dist/commands/notify/rules/list.d.ts +14 -0
- package/dist/commands/notify/rules/list.js +82 -0
- package/dist/commands/notify/rules/list.js.map +1 -0
- package/dist/commands/notify/rules/remove.d.ts +16 -0
- package/dist/commands/notify/rules/remove.js +44 -0
- package/dist/commands/notify/rules/remove.js.map +1 -0
- package/dist/commands/notify/test.d.ts +16 -0
- package/dist/commands/notify/test.js +63 -0
- package/dist/commands/notify/test.js.map +1 -0
- package/dist/commands/orchestrate/index.js +11 -6
- package/dist/commands/orchestrate/index.js.map +1 -1
- package/dist/commands/orchestrate/machine.d.ts +29 -0
- package/dist/commands/orchestrate/machine.js +230 -0
- package/dist/commands/orchestrate/machine.js.map +1 -0
- package/dist/commands/pr/checks.js +4 -8
- package/dist/commands/pr/checks.js.map +1 -1
- package/dist/commands/pr/close.js +4 -8
- package/dist/commands/pr/close.js.map +1 -1
- package/dist/commands/pr/create.js +4 -8
- package/dist/commands/pr/create.js.map +1 -1
- package/dist/commands/pr/index.js +1 -1
- package/dist/commands/pr/index.js.map +1 -1
- package/dist/commands/pr/link.js +4 -8
- package/dist/commands/pr/link.js.map +1 -1
- package/dist/commands/pr/list.js +5 -9
- package/dist/commands/pr/list.js.map +1 -1
- package/dist/commands/pr/merge.d.ts +5 -0
- package/dist/commands/pr/merge.js +35 -11
- package/dist/commands/pr/merge.js.map +1 -1
- package/dist/commands/pr/status.js +5 -4
- package/dist/commands/pr/status.js.map +1 -1
- package/dist/commands/qa/index.js +2 -2
- package/dist/commands/qa/index.js.map +1 -1
- package/dist/commands/repo/create.js +4 -8
- package/dist/commands/repo/create.js.map +1 -1
- package/dist/commands/session/list.js +81 -41
- package/dist/commands/session/list.js.map +1 -1
- package/dist/commands/session/poke.d.ts +1 -11
- package/dist/commands/session/poke.js +20 -78
- package/dist/commands/session/poke.js.map +1 -1
- package/dist/commands/session/prune.js +3 -0
- package/dist/commands/session/prune.js.map +1 -1
- package/dist/commands/ticket/move.d.ts +12 -0
- package/dist/commands/ticket/move.js +75 -2
- package/dist/commands/ticket/move.js.map +1 -1
- package/dist/commands/work/drop.js +2 -2
- package/dist/commands/work/drop.js.map +1 -1
- package/dist/commands/work/ready.js +3 -3
- package/dist/commands/work/ready.js.map +1 -1
- package/dist/commands/work/rebase.js +4 -8
- package/dist/commands/work/rebase.js.map +1 -1
- package/dist/commands/work/run.d.ts +58 -0
- package/dist/commands/work/run.js +411 -0
- package/dist/commands/work/run.js.map +1 -0
- package/dist/commands/work/ship.d.ts +6 -0
- package/dist/commands/work/ship.js +93 -51
- package/dist/commands/work/ship.js.map +1 -1
- package/dist/commands/work/start.d.ts +1 -0
- package/dist/commands/work/start.js +126 -13
- package/dist/commands/work/start.js.map +1 -1
- package/dist/lib/agents/commands.d.ts +6 -0
- package/dist/lib/agents/commands.js +55 -2
- package/dist/lib/agents/commands.js.map +1 -1
- package/dist/lib/database/credential-store.js +2 -3
- package/dist/lib/database/credential-store.js.map +1 -1
- package/dist/lib/database/db-safety.d.ts +25 -0
- package/dist/lib/database/db-safety.js +35 -0
- package/dist/lib/database/db-safety.js.map +1 -1
- package/dist/lib/database/driver.js +6 -12
- package/dist/lib/database/driver.js.map +1 -1
- package/dist/lib/database/drizzle-schema.d.ts +3 -3
- package/dist/lib/database/drizzle.js +3 -3
- package/dist/lib/database/drizzle.js.map +1 -1
- package/dist/lib/database/index.d.ts +1 -1
- package/dist/lib/database/index.js +1 -1
- package/dist/lib/database/index.js.map +1 -1
- package/dist/lib/database/migrations/0021_notification_system.d.ts +2 -0
- package/dist/lib/database/migrations/0021_notification_system.js +39 -0
- package/dist/lib/database/migrations/0021_notification_system.js.map +1 -0
- package/dist/lib/database/migrations/0022_hook_mode_tiers.d.ts +11 -0
- package/dist/lib/database/migrations/0022_hook_mode_tiers.js +53 -0
- package/dist/lib/database/migrations/0022_hook_mode_tiers.js.map +1 -0
- package/dist/lib/database/migrations/index.js +4 -0
- package/dist/lib/database/migrations/index.js.map +1 -1
- package/dist/lib/database/pmo-bootstrap.js +6 -2
- package/dist/lib/database/pmo-bootstrap.js.map +1 -1
- package/dist/lib/database/workspace.js +5 -13
- package/dist/lib/database/workspace.js.map +1 -1
- package/dist/lib/events/emitting-runner.js +10 -0
- package/dist/lib/events/emitting-runner.js.map +1 -1
- package/dist/lib/execution/cc-version.d.ts +62 -0
- package/dist/lib/execution/cc-version.js +103 -0
- package/dist/lib/execution/cc-version.js.map +1 -0
- package/dist/lib/execution/devcontainer.js +2 -1
- package/dist/lib/execution/devcontainer.js.map +1 -1
- package/dist/lib/execution/runners/devcontainer.js +4 -1
- package/dist/lib/execution/runners/devcontainer.js.map +1 -1
- package/dist/lib/execution/runners/docker-management.js +10 -46
- package/dist/lib/execution/runners/docker-management.js.map +1 -1
- package/dist/lib/execution/runners/orchestrator.js +13 -39
- package/dist/lib/execution/runners/orchestrator.js.map +1 -1
- package/dist/lib/execution/session-utils.d.ts +88 -1
- package/dist/lib/execution/session-utils.js +120 -46
- package/dist/lib/execution/session-utils.js.map +1 -1
- package/dist/lib/execution/storage.js +20 -2
- package/dist/lib/execution/storage.js.map +1 -1
- package/dist/lib/flags/resolver.d.ts +8 -1
- package/dist/lib/flags/resolver.js +35 -2
- package/dist/lib/flags/resolver.js.map +1 -1
- package/dist/lib/gc/cascade.d.ts +99 -0
- package/dist/lib/gc/cascade.js +357 -0
- package/dist/lib/gc/cascade.js.map +1 -0
- package/dist/lib/gc/config.d.ts +69 -0
- package/dist/lib/gc/config.js +134 -0
- package/dist/lib/gc/config.js.map +1 -0
- package/dist/lib/gc/index.d.ts +36 -0
- package/dist/lib/gc/index.js +209 -1
- package/dist/lib/gc/index.js.map +1 -1
- package/dist/lib/init/index.js +10 -1
- package/dist/lib/init/index.js.map +1 -1
- package/dist/lib/machine-db.d.ts +144 -0
- package/dist/lib/machine-db.js +338 -0
- package/dist/lib/machine-db.js.map +1 -0
- package/dist/lib/machine-orchestrator.d.ts +35 -0
- package/dist/lib/machine-orchestrator.js +139 -0
- package/dist/lib/machine-orchestrator.js.map +1 -0
- package/dist/lib/notifications/dispatcher.d.ts +29 -0
- package/dist/lib/notifications/dispatcher.js +281 -0
- package/dist/lib/notifications/dispatcher.js.map +1 -0
- package/dist/lib/notifications/index.d.ts +13 -0
- package/dist/lib/notifications/index.js +18 -0
- package/dist/lib/notifications/index.js.map +1 -0
- package/dist/lib/notifications/manager.d.ts +46 -0
- package/dist/lib/notifications/manager.js +200 -0
- package/dist/lib/notifications/manager.js.map +1 -0
- package/dist/lib/notifications/storage.d.ts +60 -0
- package/dist/lib/notifications/storage.js +182 -0
- package/dist/lib/notifications/storage.js.map +1 -0
- package/dist/lib/notifications/types.d.ts +126 -0
- package/dist/lib/notifications/types.js +16 -0
- package/dist/lib/notifications/types.js.map +1 -0
- package/dist/lib/orchestrate/actions.js +182 -3
- package/dist/lib/orchestrate/actions.js.map +1 -1
- package/dist/lib/orchestrate/config-loader.js +9 -35
- package/dist/lib/orchestrate/config-loader.js.map +1 -1
- package/dist/lib/orchestrate/engine.d.ts +53 -1
- package/dist/lib/orchestrate/engine.js +74 -3
- package/dist/lib/orchestrate/engine.js.map +1 -1
- package/dist/lib/orchestrate/escalation.d.ts +87 -0
- package/dist/lib/orchestrate/escalation.js +63 -0
- package/dist/lib/orchestrate/escalation.js.map +1 -0
- package/dist/lib/orchestrate/index.d.ts +2 -0
- package/dist/lib/orchestrate/index.js +1 -0
- package/dist/lib/orchestrate/index.js.map +1 -1
- package/dist/lib/orchestrate/llm-agent.d.ts +101 -0
- package/dist/lib/orchestrate/llm-agent.js +295 -0
- package/dist/lib/orchestrate/llm-agent.js.map +1 -0
- package/dist/lib/orchestrate/presets.d.ts +4 -3
- package/dist/lib/orchestrate/presets.js +13 -8
- package/dist/lib/orchestrate/presets.js.map +1 -1
- package/dist/lib/orchestrate/types.d.ts +7 -1
- package/dist/lib/orchestrate/types.js +1 -0
- package/dist/lib/orchestrate/types.js.map +1 -1
- package/dist/lib/pmo/base-command.js +1 -1
- package/dist/lib/pmo/base-command.js.map +1 -1
- package/dist/lib/pmo/find-pmo.d.ts +8 -0
- package/dist/lib/pmo/find-pmo.js +63 -2
- package/dist/lib/pmo/find-pmo.js.map +1 -1
- package/dist/lib/pmo/index.d.ts +1 -1
- package/dist/lib/pmo/index.js +1 -1
- package/dist/lib/pmo/index.js.map +1 -1
- package/dist/lib/pmo/pmo-context.js +1 -1
- package/dist/lib/pmo/pmo-context.js.map +1 -1
- package/dist/lib/pmo/storage/index.js +2 -1
- package/dist/lib/pmo/storage/index.js.map +1 -1
- package/dist/lib/pr/index.d.ts +32 -0
- package/dist/lib/pr/index.js +45 -0
- package/dist/lib/pr/index.js.map +1 -1
- package/dist/lib/registry/index.js +0 -1
- package/dist/lib/registry/index.js.map +1 -1
- package/dist/lib/signal-handler.d.ts +8 -0
- package/dist/lib/signal-handler.js +33 -0
- package/dist/lib/signal-handler.js.map +1 -1
- package/dist/lib/themes.js +8 -1
- package/dist/lib/themes.js.map +1 -1
- package/dist/lib/work-lifecycle/container-cleanup-hook.d.ts +17 -7
- package/dist/lib/work-lifecycle/container-cleanup-hook.js +64 -11
- package/dist/lib/work-lifecycle/container-cleanup-hook.js.map +1 -1
- package/dist/lib/work-lifecycle/hooks/executor.d.ts +22 -2
- package/dist/lib/work-lifecycle/hooks/executor.js +46 -8
- package/dist/lib/work-lifecycle/hooks/executor.js.map +1 -1
- package/dist/lib/work-lifecycle/hooks/manager.d.ts +62 -3
- package/dist/lib/work-lifecycle/hooks/manager.js +285 -4
- package/dist/lib/work-lifecycle/hooks/manager.js.map +1 -1
- package/dist/lib/work-lifecycle/hooks/types.d.ts +36 -5
- package/dist/lib/work-lifecycle/hooks/types.js +1 -1
- package/dist/lib/work-lifecycle/hooks/types.js.map +1 -1
- package/dist/lib/workspace-resolution.d.ts +73 -0
- package/dist/lib/workspace-resolution.js +188 -0
- package/dist/lib/workspace-resolution.js.map +1 -0
- package/oclif.manifest.json +2830 -2142
- package/package.json +1 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration 0021 — Hook Mode Tiers
|
|
3
|
+
*
|
|
4
|
+
* Extends the mode CHECK constraint on pmo_work_hooks to include
|
|
5
|
+
* 'llm' and 'human' modes for the 3-tier supervision tree.
|
|
6
|
+
*
|
|
7
|
+
* SQLite doesn't support ALTER COLUMN to modify CHECK constraints,
|
|
8
|
+
* so we recreate the table with the updated constraint.
|
|
9
|
+
*/
|
|
10
|
+
export const hookModeTiers = {
|
|
11
|
+
id: '0022',
|
|
12
|
+
name: 'hook_mode_tiers',
|
|
13
|
+
up: (db) => {
|
|
14
|
+
const tableExists = db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='pmo_work_hooks'").get();
|
|
15
|
+
if (!tableExists)
|
|
16
|
+
return;
|
|
17
|
+
// Check if the constraint already includes 'llm' — skip if already migrated
|
|
18
|
+
const createSql = db.prepare("SELECT sql FROM sqlite_master WHERE type='table' AND name='pmo_work_hooks'").get();
|
|
19
|
+
if (createSql?.sql?.includes("'llm'"))
|
|
20
|
+
return;
|
|
21
|
+
// SQLite doesn't allow modifying CHECK constraints via ALTER TABLE.
|
|
22
|
+
// We need to recreate the table with the expanded constraint.
|
|
23
|
+
db.exec(`
|
|
24
|
+
CREATE TABLE pmo_work_hooks_new (
|
|
25
|
+
id TEXT PRIMARY KEY,
|
|
26
|
+
name TEXT NOT NULL,
|
|
27
|
+
event TEXT NOT NULL,
|
|
28
|
+
action_type TEXT NOT NULL DEFAULT 'shell',
|
|
29
|
+
action_value TEXT NOT NULL,
|
|
30
|
+
enabled INTEGER NOT NULL DEFAULT 1,
|
|
31
|
+
description TEXT,
|
|
32
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
33
|
+
mode TEXT NOT NULL DEFAULT 'auto' CHECK (mode IN ('auto', 'confirm', 'notify', 'llm', 'human', 'off')),
|
|
34
|
+
priority INTEGER NOT NULL DEFAULT 0,
|
|
35
|
+
project_id TEXT,
|
|
36
|
+
source TEXT NOT NULL DEFAULT 'cli' CHECK (source IN ('yaml', 'cli', 'preset')),
|
|
37
|
+
config TEXT
|
|
38
|
+
)
|
|
39
|
+
`);
|
|
40
|
+
// Copy all existing data
|
|
41
|
+
db.exec(`
|
|
42
|
+
INSERT INTO pmo_work_hooks_new (id, name, event, action_type, action_value, enabled, description, created_at, mode, priority, project_id, source, config)
|
|
43
|
+
SELECT id, name, event, action_type, action_value, enabled, description, created_at, mode, priority, project_id, source, config
|
|
44
|
+
FROM pmo_work_hooks
|
|
45
|
+
`);
|
|
46
|
+
// Swap tables
|
|
47
|
+
db.exec('DROP TABLE pmo_work_hooks');
|
|
48
|
+
db.exec('ALTER TABLE pmo_work_hooks_new RENAME TO pmo_work_hooks');
|
|
49
|
+
// Recreate indexes
|
|
50
|
+
db.exec('CREATE INDEX IF NOT EXISTS idx_pmo_work_hooks_priority ON pmo_work_hooks(event, priority)');
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=0022_hook_mode_tiers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"0022_hook_mode_tiers.js","sourceRoot":"","sources":["../../../../src/lib/database/migrations/0022_hook_mode_tiers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,iBAAiB;IACvB,EAAE,EAAE,CAAC,EAAqB,EAAE,EAAE;QAC5B,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAC5B,6EAA6E,CAC9E,CAAC,GAAG,EAAE,CAAA;QACP,IAAI,CAAC,WAAW;YAAE,OAAM;QAExB,4EAA4E;QAC5E,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAC1B,4EAA4E,CAC7E,CAAC,GAAG,EAAiC,CAAA;QACtC,IAAI,SAAS,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAM;QAE7C,oEAAoE;QACpE,8DAA8D;QAC9D,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;KAgBP,CAAC,CAAA;QAEF,yBAAyB;QACzB,EAAE,CAAC,IAAI,CAAC;;;;KAIP,CAAC,CAAA;QAEF,cAAc;QACd,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QACpC,EAAE,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAA;QAElE,mBAAmB;QACnB,EAAE,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAA;IACtG,CAAC;CACF,CAAA"}
|
|
@@ -24,6 +24,8 @@ import { dropAgentWorkFk } from './0017_drop_agent_work_fk.js';
|
|
|
24
24
|
import { createTicketRefs } from './0018_create_ticket_refs.js';
|
|
25
25
|
import { gcArtifactCleanup } from './0019_gc_artifact_cleanup.js';
|
|
26
26
|
import { transitionMap } from './0020_transition_map.js';
|
|
27
|
+
import { notificationSystem } from './0021_notification_system.js';
|
|
28
|
+
import { hookModeTiers } from './0022_hook_mode_tiers.js';
|
|
27
29
|
/**
|
|
28
30
|
* Ordered list of all migrations.
|
|
29
31
|
* New migrations should be appended to the end of this array.
|
|
@@ -49,5 +51,7 @@ export const ALL_MIGRATIONS = [
|
|
|
49
51
|
createTicketRefs,
|
|
50
52
|
gcArtifactCleanup,
|
|
51
53
|
transitionMap,
|
|
54
|
+
notificationSystem,
|
|
55
|
+
hookModeTiers,
|
|
52
56
|
];
|
|
53
57
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/database/migrations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/database/migrations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEzD;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,QAAQ;IACR,SAAS;IACT,eAAe;IACf,aAAa;IACb,qBAAqB;IACrB,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,aAAa;IACb,yBAAyB;IACzB,oBAAoB;IACpB,kBAAkB;IAClB,gBAAgB;IAChB,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,iBAAiB;IACjB,aAAa;IACb,kBAAkB;IAClB,aAAa;CACd,CAAA"}
|
|
@@ -15,7 +15,7 @@ import Database from 'better-sqlite3';
|
|
|
15
15
|
import { throwIfNativeBindingError } from './native-validation.js';
|
|
16
16
|
import { createDrizzleConnection } from './drizzle.js';
|
|
17
17
|
import { workspaceSettings as workspaceSettingsTable, } from './drizzle-schema.js';
|
|
18
|
-
import { createRotatingBackup, quickCheckIntegrity, repairDatabase, } from './db-safety.js';
|
|
18
|
+
import { configureConnection, createRotatingBackup, quickCheckIntegrity, repairDatabase, } from './db-safety.js';
|
|
19
19
|
/**
|
|
20
20
|
* Open a database connection with safety features (backup, integrity check, auto-repair).
|
|
21
21
|
* Used by PMO bootstrap functions that need raw SQL access before the full workspace
|
|
@@ -32,7 +32,9 @@ function openSafeDatabase(dbPath, caller) {
|
|
|
32
32
|
throwIfNativeBindingError(error, caller);
|
|
33
33
|
throw error;
|
|
34
34
|
}
|
|
35
|
-
// Quick integrity check — auto-repair if corrupt
|
|
35
|
+
// Quick integrity check — auto-repair if corrupt.
|
|
36
|
+
// Note: configureConnection is called AFTER the integrity check because
|
|
37
|
+
// pragmas (journal_mode, synchronous) will throw on a corrupt database.
|
|
36
38
|
const integrity = quickCheckIntegrity(db);
|
|
37
39
|
if (!integrity.ok) {
|
|
38
40
|
db.close();
|
|
@@ -52,6 +54,8 @@ function openSafeDatabase(dbPath, caller) {
|
|
|
52
54
|
throw error;
|
|
53
55
|
}
|
|
54
56
|
}
|
|
57
|
+
// Configure connection pragmas — WAL mode, busy timeout, etc. (PRLT-1264)
|
|
58
|
+
configureConnection(db);
|
|
55
59
|
return db;
|
|
56
60
|
}
|
|
57
61
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pmo-bootstrap.js","sourceRoot":"","sources":["../../../src/lib/database/pmo-bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EACL,iBAAiB,IAAI,sBAAsB,GAC5C,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,GACf,MAAM,gBAAgB,CAAA;AAEvB;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,MAAc,EAAE,MAAc;IACtD,oEAAoE;IACpE,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAE5B,IAAI,EAAqB,CAAA;IACzB,IAAI,CAAC;QACH,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACxC,MAAM,KAAK,CAAA;IACb,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"pmo-bootstrap.js","sourceRoot":"","sources":["../../../src/lib/database/pmo-bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ import { migrateCredentials } from './credential-store.js';
|
|
|
15
15
|
import { createDrizzleConnection } from './drizzle.js';
|
|
16
16
|
import { workspace as workspaceTable, } from './drizzle-schema.js';
|
|
17
17
|
import { BetterSqlite3Driver } from './driver.js';
|
|
18
|
-
import {
|
|
18
|
+
import { configureConnection, createRotatingBackup, quickCheckIntegrity, repairDatabase, migrateExistingBackups, } from './db-safety.js';
|
|
19
19
|
/**
|
|
20
20
|
* Open the workspace database, wrap it with Drizzle, run a function,
|
|
21
21
|
* and close the connection. Handles the open/close lifecycle.
|
|
@@ -103,13 +103,8 @@ export function openWorkspaceDatabase(workspacePath, options) {
|
|
|
103
103
|
throwIfNativeBindingError(error, 'openWorkspaceDatabase');
|
|
104
104
|
throw error;
|
|
105
105
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
// significantly more resistant to corruption than journal_mode=delete
|
|
109
|
-
enableWALMode(db);
|
|
110
|
-
}
|
|
111
|
-
db.pragma('foreign_keys = ON');
|
|
112
|
-
db.pragma('busy_timeout = 5000');
|
|
106
|
+
// Configure connection pragmas — WAL mode, busy timeout, foreign keys (PRLT-1264)
|
|
107
|
+
configureConnection(db, { readonly: readOnly });
|
|
113
108
|
if (!readOnly) {
|
|
114
109
|
// Quick integrity check on startup
|
|
115
110
|
const integrity = quickCheckIntegrity(db);
|
|
@@ -131,9 +126,7 @@ export function openWorkspaceDatabase(workspacePath, options) {
|
|
|
131
126
|
throwIfNativeBindingError(error, 'openWorkspaceDatabase (post-repair)');
|
|
132
127
|
throw error;
|
|
133
128
|
}
|
|
134
|
-
|
|
135
|
-
db.pragma('foreign_keys = ON');
|
|
136
|
-
db.pragma('busy_timeout = 5000');
|
|
129
|
+
configureConnection(db);
|
|
137
130
|
}
|
|
138
131
|
runDrizzleMigrations(db, ALL_MIGRATIONS);
|
|
139
132
|
ensureEphemeralAgentTypes(db);
|
|
@@ -174,8 +167,7 @@ export function createWorkspaceDatabase(workspacePath, type, workspaceName, hasP
|
|
|
174
167
|
throwIfNativeBindingError(error, 'createWorkspaceDatabase');
|
|
175
168
|
throw error;
|
|
176
169
|
}
|
|
177
|
-
|
|
178
|
-
db.pragma('foreign_keys = ON');
|
|
170
|
+
configureConnection(db);
|
|
179
171
|
runDrizzleMigrations(db, ALL_MIGRATIONS);
|
|
180
172
|
const ddb = createDrizzleConnection(db);
|
|
181
173
|
ddb.insert(workspaceTable).values({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../src/lib/database/workspace.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,uBAAuB,EAAkB,MAAM,cAAc,CAAA;AACtE,OAAO,EACL,SAAS,IAAI,cAAc,GAC5B,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../src/lib/database/workspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,6 +59,16 @@ export class EventEmittingRunner {
|
|
|
59
59
|
newStatus,
|
|
60
60
|
timestamp: new Date(),
|
|
61
61
|
});
|
|
62
|
+
// Emit agent:stopped when status transitions to a terminal state
|
|
63
|
+
if ((newStatus === 'done' || newStatus === 'error') &&
|
|
64
|
+
previousStatus !== 'done' && previousStatus !== 'error') {
|
|
65
|
+
this.bus.emit('agent:stopped', {
|
|
66
|
+
sessionId: session.id,
|
|
67
|
+
runner: this.name,
|
|
68
|
+
reason: newStatus === 'done' ? 'completed' : 'error',
|
|
69
|
+
timestamp: new Date(),
|
|
70
|
+
});
|
|
71
|
+
}
|
|
62
72
|
}
|
|
63
73
|
return newStatus;
|
|
64
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitting-runner.js","sourceRoot":"","sources":["../../../src/lib/events/emitting-runner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C;;;;;;;;;;GAUG;AACH,MAAM,OAAO,mBAAmB;IACrB,IAAI,CAAQ;IACJ,KAAK,CAAa;IAClB,GAAG,CAAU;IAE9B,YAAY,KAAkB,EAAE,GAAc;QAC5C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAmB;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAC9C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE;gBAC7B,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,MAAM,EAAE,IAAI,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,KAAK;gBACtC,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC,CAAA;YACF,OAAO,OAAO,CAAA;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE;gBAC3B,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,IAAI,CAAC,IAAI;gBACjB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACvD,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC,CAAA;YACF,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAqB;QACnC,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAA;QACrC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAErD,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBACnC,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,MAAM,EAAE,IAAI,CAAC,IAAI;gBACjB,cAAc;gBACd,SAAS;gBACT,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"emitting-runner.js","sourceRoot":"","sources":["../../../src/lib/events/emitting-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code Version Management (PRLT-1240)
|
|
3
|
+
*
|
|
4
|
+
* Utilities for detecting Claude Code versions in containers and generating
|
|
5
|
+
* version-appropriate permission settings for ~/.claude/settings.json.
|
|
6
|
+
*
|
|
7
|
+
* PRLT-1240: Container agents now use -p (print) mode which skips all onboarding
|
|
8
|
+
* prompts. Version detection is kept for settings.json compatibility but the
|
|
9
|
+
* version pin (CC_DEFAULT_VERSION) and launcher wrapper are no longer needed.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Version where Claude Code changed the permissions prompt settings format.
|
|
13
|
+
* Versions >= this require additional settings to suppress the prompt.
|
|
14
|
+
*/
|
|
15
|
+
export declare const CC_BREAKING_VERSION = "2.1.86";
|
|
16
|
+
/**
|
|
17
|
+
* Detect the installed Claude Code version inside a container.
|
|
18
|
+
* Returns the version string (e.g., "2.1.86") or undefined if detection fails.
|
|
19
|
+
*/
|
|
20
|
+
export declare function detectCCVersionInContainer(containerId: string): string | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Parse Claude Code version from `claude --version` output.
|
|
23
|
+
* The output format is typically "claude <version>" or just "<version>".
|
|
24
|
+
* Returns the version string or undefined if parsing fails.
|
|
25
|
+
*/
|
|
26
|
+
export declare function parseCCVersionOutput(output: string): string | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Compare two semver version strings.
|
|
29
|
+
* Returns: -1 if a < b, 0 if a === b, 1 if a > b.
|
|
30
|
+
* Only compares major.minor.patch — ignores pre-release suffixes.
|
|
31
|
+
*/
|
|
32
|
+
export declare function compareCCVersion(a: string, b: string): -1 | 0 | 1;
|
|
33
|
+
/**
|
|
34
|
+
* Check if a version is >= the breaking version where settings format changed.
|
|
35
|
+
*/
|
|
36
|
+
export declare function isPostBreakingVersion(version: string): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Settings to write to ~/.claude.json for permission bypass.
|
|
39
|
+
*/
|
|
40
|
+
export interface CCUserSettings {
|
|
41
|
+
bypassPermissionsModeAccepted: boolean;
|
|
42
|
+
/** Added in 2.1.86+ — records explicit acceptance of dangerous mode */
|
|
43
|
+
dangerouslySkipPermissionsAccepted?: boolean;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Settings to write to ~/.claude/settings.json for permission bypass.
|
|
47
|
+
*/
|
|
48
|
+
export interface CCAppSettings {
|
|
49
|
+
skipDangerousModePermissionPrompt: boolean;
|
|
50
|
+
/** Added in 2.1.86+ — explicit bypass of the permissions confirmation */
|
|
51
|
+
dangerouslySkipPermissions?: boolean;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Get the permission-related user settings (.claude.json) for a given CC version.
|
|
55
|
+
* Writes both old and new format keys for forward compatibility.
|
|
56
|
+
*/
|
|
57
|
+
export declare function getCCUserPermissionSettings(version?: string): CCUserSettings;
|
|
58
|
+
/**
|
|
59
|
+
* Get the permission-related app settings (settings.json) for a given CC version.
|
|
60
|
+
* Writes both old and new format keys for forward compatibility.
|
|
61
|
+
*/
|
|
62
|
+
export declare function getCCAppPermissionSettings(version?: string): CCAppSettings;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code Version Management (PRLT-1240)
|
|
3
|
+
*
|
|
4
|
+
* Utilities for detecting Claude Code versions in containers and generating
|
|
5
|
+
* version-appropriate permission settings for ~/.claude/settings.json.
|
|
6
|
+
*
|
|
7
|
+
* PRLT-1240: Container agents now use -p (print) mode which skips all onboarding
|
|
8
|
+
* prompts. Version detection is kept for settings.json compatibility but the
|
|
9
|
+
* version pin (CC_DEFAULT_VERSION) and launcher wrapper are no longer needed.
|
|
10
|
+
*/
|
|
11
|
+
import { execSync } from 'node:child_process';
|
|
12
|
+
// =============================================================================
|
|
13
|
+
// Constants
|
|
14
|
+
// =============================================================================
|
|
15
|
+
/**
|
|
16
|
+
* Version where Claude Code changed the permissions prompt settings format.
|
|
17
|
+
* Versions >= this require additional settings to suppress the prompt.
|
|
18
|
+
*/
|
|
19
|
+
export const CC_BREAKING_VERSION = '2.1.86';
|
|
20
|
+
// =============================================================================
|
|
21
|
+
// Version Detection
|
|
22
|
+
// =============================================================================
|
|
23
|
+
/**
|
|
24
|
+
* Detect the installed Claude Code version inside a container.
|
|
25
|
+
* Returns the version string (e.g., "2.1.86") or undefined if detection fails.
|
|
26
|
+
*/
|
|
27
|
+
export function detectCCVersionInContainer(containerId) {
|
|
28
|
+
try {
|
|
29
|
+
const output = execSync(`docker exec ${containerId} claude --version 2>/dev/null`, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'], timeout: 10_000 }).trim();
|
|
30
|
+
return parseCCVersionOutput(output);
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Parse Claude Code version from `claude --version` output.
|
|
38
|
+
* The output format is typically "claude <version>" or just "<version>".
|
|
39
|
+
* Returns the version string or undefined if parsing fails.
|
|
40
|
+
*/
|
|
41
|
+
export function parseCCVersionOutput(output) {
|
|
42
|
+
if (!output)
|
|
43
|
+
return undefined;
|
|
44
|
+
// Match version pattern: digits.digits.digits (with optional pre-release suffix)
|
|
45
|
+
const match = output.match(/(\d+\.\d+\.\d+(?:-[a-zA-Z0-9.]+)?)/);
|
|
46
|
+
return match ? match[1] : undefined;
|
|
47
|
+
}
|
|
48
|
+
// =============================================================================
|
|
49
|
+
// Version Comparison
|
|
50
|
+
// =============================================================================
|
|
51
|
+
/**
|
|
52
|
+
* Compare two semver version strings.
|
|
53
|
+
* Returns: -1 if a < b, 0 if a === b, 1 if a > b.
|
|
54
|
+
* Only compares major.minor.patch — ignores pre-release suffixes.
|
|
55
|
+
*/
|
|
56
|
+
export function compareCCVersion(a, b) {
|
|
57
|
+
const partsA = a.split('.').map(Number);
|
|
58
|
+
const partsB = b.split('.').map(Number);
|
|
59
|
+
for (let i = 0; i < 3; i++) {
|
|
60
|
+
const va = partsA[i] || 0;
|
|
61
|
+
const vb = partsB[i] || 0;
|
|
62
|
+
if (va < vb)
|
|
63
|
+
return -1;
|
|
64
|
+
if (va > vb)
|
|
65
|
+
return 1;
|
|
66
|
+
}
|
|
67
|
+
return 0;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Check if a version is >= the breaking version where settings format changed.
|
|
71
|
+
*/
|
|
72
|
+
export function isPostBreakingVersion(version) {
|
|
73
|
+
return compareCCVersion(version, CC_BREAKING_VERSION) >= 0;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Get the permission-related user settings (.claude.json) for a given CC version.
|
|
77
|
+
* Writes both old and new format keys for forward compatibility.
|
|
78
|
+
*/
|
|
79
|
+
export function getCCUserPermissionSettings(version) {
|
|
80
|
+
const settings = {
|
|
81
|
+
bypassPermissionsModeAccepted: true,
|
|
82
|
+
};
|
|
83
|
+
// For 2.1.86+ or unknown versions, also write the new format
|
|
84
|
+
if (!version || isPostBreakingVersion(version)) {
|
|
85
|
+
settings.dangerouslySkipPermissionsAccepted = true;
|
|
86
|
+
}
|
|
87
|
+
return settings;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get the permission-related app settings (settings.json) for a given CC version.
|
|
91
|
+
* Writes both old and new format keys for forward compatibility.
|
|
92
|
+
*/
|
|
93
|
+
export function getCCAppPermissionSettings(version) {
|
|
94
|
+
const settings = {
|
|
95
|
+
skipDangerousModePermissionPrompt: true,
|
|
96
|
+
};
|
|
97
|
+
// For 2.1.86+ or unknown versions, also write the new format
|
|
98
|
+
if (!version || isPostBreakingVersion(version)) {
|
|
99
|
+
settings.dangerouslySkipPermissions = true;
|
|
100
|
+
}
|
|
101
|
+
return settings;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=cc-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cc-version.js","sourceRoot":"","sources":["../../../src/lib/execution/cc-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAA;AAE3C,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,WAAmB;IAC5D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CACrB,eAAe,WAAW,+BAA+B,EACzD,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CACxE,CAAC,IAAI,EAAE,CAAA;QACR,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC7B,iFAAiF;IACjF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAA;IAChE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACrC,CAAC;AAED,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS,EAAE,CAAS;IACnD,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACzB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACzB,IAAI,EAAE,GAAG,EAAE;YAAE,OAAO,CAAC,CAAC,CAAA;QACtB,IAAI,EAAE,GAAG,EAAE;YAAE,OAAO,CAAC,CAAA;IACvB,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,OAAO,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAA;AAC5D,CAAC;AAwBD;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAgB;IAC1D,MAAM,QAAQ,GAAmB;QAC/B,6BAA6B,EAAE,IAAI;KACpC,CAAA;IAED,6DAA6D;IAC7D,IAAI,CAAC,OAAO,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/C,QAAQ,CAAC,kCAAkC,GAAG,IAAI,CAAA;IACpD,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAgB;IACzD,MAAM,QAAQ,GAAkB;QAC9B,iCAAiC,EAAE,IAAI;KACxC,CAAA;IAED,6DAA6D;IAC7D,IAAI,CAAC,OAAO,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/C,QAAQ,CAAC,0BAA0B,GAAG,IAAI,CAAA;IAC5C,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
@@ -31,7 +31,8 @@ export function generateDevcontainerJson(options, config) {
|
|
|
31
31
|
if (!useMount) {
|
|
32
32
|
buildArgs.PRLT_VERSION = channel.version || 'latest';
|
|
33
33
|
}
|
|
34
|
-
//
|
|
34
|
+
// PRLT-1240: Version pin removed — -p (print) mode skips all onboarding
|
|
35
|
+
// prompts regardless of CC version. Only pin when explicitly requested.
|
|
35
36
|
if (options.claudeCodeVersion) {
|
|
36
37
|
buildArgs.CC_VERSION = options.claudeCodeVersion;
|
|
37
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devcontainer.js","sourceRoot":"","sources":["../../../src/lib/execution/devcontainer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,EAAmB,wBAAwB,EAAgB,MAAM,YAAY,CAAA;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAkDrD;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAA4B,EAAE,MAAwB;IAC7F,MAAM,GAAG,GAAG,MAAM,IAAI,wBAAwB,CAAA;IAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,UAAU,CAAA,CAAE,2BAA2B;IAE9E,sDAAsD;IACtD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC,CAAA;IAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAA;IAE7C,4BAA4B;IAC5B,MAAM,SAAS,GAA2B;QACxC,EAAE,EAAE,OAAO,CAAC,QAAQ,IAAI,qBAAqB;KAC9C,CAAA;IAED,0CAA0C;IAC1C,8EAA8E;IAC9E,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAA;IAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,SAAS,CAAC,YAAY,GAAG,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAA;IACtD,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"devcontainer.js","sourceRoot":"","sources":["../../../src/lib/execution/devcontainer.ts"],"names":[],"mappings":"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"}
|
|
@@ -90,7 +90,10 @@ export function buildDevcontainerCommand(context, executor, promptFile, containe
|
|
|
90
90
|
let executorCmd;
|
|
91
91
|
const skipPermissions = permissionMode === 'danger';
|
|
92
92
|
if (isClaudeExecutor(executor)) {
|
|
93
|
-
|
|
93
|
+
// PRLT-1240: Always use -p (print) mode for container agents.
|
|
94
|
+
// This skips all onboarding prompts (theme picker, permissions, workspace trust)
|
|
95
|
+
// and ensures the agent exits cleanly when done. Works with any Claude Code version.
|
|
96
|
+
const printFlag = '-p ';
|
|
94
97
|
const bypassTrustFlag = '--permission-mode bypassPermissions ';
|
|
95
98
|
const permissionsFlag = skipPermissions ? '--dangerously-skip-permissions ' : '';
|
|
96
99
|
const effortFlag = '--effort high ';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devcontainer.js","sourceRoot":"","sources":["../../../../src/lib/execution/runners/devcontainer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,EACL,QAAQ,EACR,EAAE,EACF,IAAI,EACJ,EAAE,EAQF,4BAA4B,EAC5B,iBAAiB,EACjB,eAAe,EACf,oBAAoB,GACrB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAEL,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAGtD,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,YAAoB,EAAE,QAAiB;IACpE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;QAC1C,MAAM,OAAO,GAAG,QAAQ;YACtB,CAAC,CAAC,IAAI,MAAM,CAAC,mBAAmB,QAAQ,cAAc,CAAC;YACvD,CAAC,CAAC,yBAAyB,CAAA;QAE7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACH,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAA;gBAC9C,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,sCAAsC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAA;gBACnE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,8CAA8C,YAAY,GAAG,EAAE,GAAG,CAAC,CAAA;IACnF,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,OAAyB;IAChD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;IACnC,MAAM,QAAQ,GAAG,gBAAgB,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,CAAA;IAErE,2CAA2C;IAC3C,yEAAyE;IACzE,qEAAqE;IACrE,wEAAwE;IACxE,2DAA2D;IAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IAC1E,MAAM,gBAAgB,GAAG,YAAY,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAEvE,IAAI,YAAoB,CAAA;IACxB,IAAI,aAAqB,CAAA;IAEzB,IAAI,gBAAgB,EAAE,CAAC;QACrB,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QACnC,aAAa,GAAG,cAAc,YAAY,IAAI,QAAQ,EAAE,CAAA;IAC1D,CAAC;SAAM,CAAC;QACN,4DAA4D;QAC5D,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAA;QAC/B,aAAa,GAAG,cAAc,QAAQ,EAAE,CAAA;IAC1C,CAAC;IAED,sDAAsD;IACtD,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IAErD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAClD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAEnD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAA;AACpC,CAAC;AAED,gFAAgF;AAChF,+BAA+B;AAC/B,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAyB,EACzB,QAAsB,EACtB,UAAkB,EAClB,WAAoB,EACpB,aAAyB,aAAa,EACtC,iBAAiC,MAAM,EACvC,cAA2B,UAAU,EACrC,aAAsB;IAEtB,oEAAoE;IACpE,wEAAwE;IACxE,yEAAyE;IACzE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IAC1E,MAAM,gBAAgB,GAAG,YAAY,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACvE,MAAM,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,YAAY,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;IAEzE,oEAAoE;IACpE,IAAI,WAAmB,CAAA;IACvB,MAAM,eAAe,GAAG,cAAc,KAAK,QAAQ,CAAA;IACnD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"devcontainer.js","sourceRoot":"","sources":["../../../../src/lib/execution/runners/devcontainer.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
import { execSync } from 'node:child_process';
|
|
8
8
|
import * as fs from 'node:fs';
|
|
9
9
|
import * as path from 'node:path';
|
|
10
|
-
import * as os from 'node:os';
|
|
11
10
|
import { readDevcontainerJson } from '../devcontainer.js';
|
|
12
11
|
import { isClaudeExecutor } from './executor.js';
|
|
13
12
|
import { getMachineId } from '../../telemetry/analytics.js';
|
|
13
|
+
import { getCCAppPermissionSettings, } from '../cc-version.js';
|
|
14
14
|
/** Docker volume name for the shared pnpm store cache (PRLT-1130) */
|
|
15
15
|
export const PNPM_STORE_CACHE_VOLUME = 'pnpm-store-cache';
|
|
16
16
|
/**
|
|
@@ -398,55 +398,19 @@ export function runContainerSetup(containerId, permissionMode = 'safe', executor
|
|
|
398
398
|
}
|
|
399
399
|
// NOTE: pnpm store-dir is now configured inside setup-prlt.sh (PRLT-1130)
|
|
400
400
|
// to ensure it's set BEFORE pnpm install runs during workspace setup.
|
|
401
|
+
// PRLT-1240: Do NOT write ~/.claude.json — Claude Code owns that file and
|
|
402
|
+
// overwrites it on startup, clobbering any settings we write. Instead, we use
|
|
403
|
+
// -p (print) mode which skips all onboarding prompts entirely.
|
|
404
|
+
// We still write ~/.claude/settings.json (Claude does not clobber that).
|
|
401
405
|
if (isClaudeExecutor(executor)) {
|
|
402
406
|
try {
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
try {
|
|
407
|
-
settings = JSON.parse(fs.readFileSync(hostClaudeJson, 'utf-8'));
|
|
408
|
-
}
|
|
409
|
-
catch {
|
|
410
|
-
console.debug('[runners:docker] Failed to parse host .claude.json, using empty settings');
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
if (permissionMode === 'danger') {
|
|
414
|
-
settings.bypassPermissionsModeAccepted = true;
|
|
415
|
-
}
|
|
416
|
-
settings.numStartups = settings.numStartups || 1;
|
|
417
|
-
settings.hasCompletedOnboarding = true;
|
|
418
|
-
settings.theme = settings.theme || 'dark';
|
|
419
|
-
if (!settings.tipsHistory || typeof settings.tipsHistory !== 'object') {
|
|
420
|
-
settings.tipsHistory = {};
|
|
421
|
-
}
|
|
422
|
-
const tips = settings.tipsHistory;
|
|
423
|
-
tips['new-user-warmup'] = tips['new-user-warmup'] || 1;
|
|
424
|
-
settings.effortCalloutDismissed = true;
|
|
425
|
-
if (!settings.projects || typeof settings.projects !== 'object') {
|
|
426
|
-
settings.projects = {};
|
|
427
|
-
}
|
|
428
|
-
const projects = settings.projects;
|
|
429
|
-
for (const projectPath of ['/workspace', '/']) {
|
|
430
|
-
if (!projects[projectPath]) {
|
|
431
|
-
projects[projectPath] = {};
|
|
432
|
-
}
|
|
433
|
-
projects[projectPath].hasTrustDialogAccepted = true;
|
|
434
|
-
projects[projectPath].hasCompletedProjectOnboarding = true;
|
|
435
|
-
}
|
|
436
|
-
const settingsJson = JSON.stringify(settings);
|
|
437
|
-
execSync(`docker exec -i ${containerId} bash -c 'cat > /home/node/.claude.json'`, { input: settingsJson, stdio: ['pipe', 'pipe', 'pipe'] });
|
|
438
|
-
console.debug(`[runners:docker] Copied .claude.json settings to container (bypassPermissionsModeAccepted=${permissionMode === 'danger'})`);
|
|
439
|
-
const claudeSettings = JSON.stringify({ skipDangerousModePermissionPrompt: true });
|
|
407
|
+
// Write app settings to settings.json (skipDangerousModePermissionPrompt etc.)
|
|
408
|
+
const appPermSettings = getCCAppPermissionSettings();
|
|
409
|
+
const claudeSettings = JSON.stringify(appPermSettings);
|
|
440
410
|
execSync(`docker exec -i ${containerId} bash -c 'mkdir -p /home/node/.claude && cat > /home/node/.claude/settings.json'`, { input: claudeSettings, stdio: ['pipe', 'pipe', 'pipe'] });
|
|
441
411
|
console.debug(`[runners:docker] Wrote ~/.claude/settings.json to container`);
|
|
442
412
|
// Write Claude Code lifecycle hooks (PRLT-1224, extends PRLT-1061)
|
|
443
|
-
// Start hook: move ticket to in-progress when agent session begins
|
|
444
|
-
// Stop hook: run session report (cleanup + safety net + ticket transition)
|
|
445
|
-
// SubagentStop hook: same session report for sub-agent sessions
|
|
446
|
-
// PreToolUse hook: enforce test coverage before push/PR (PRLT-1225)
|
|
447
|
-
// Uses $PRLT_AGENT_NAME and $PRLT_TICKET_ID shell variables set as container env vars
|
|
448
413
|
const lifecycleHooks = buildClaudeLifecycleHooks();
|
|
449
|
-
// Merge lifecycle hooks into existing settings.json
|
|
450
414
|
const mergedSettings = { ...JSON.parse(claudeSettings), ...lifecycleHooks };
|
|
451
415
|
execSync(`docker exec -i ${containerId} bash -c 'cat > /home/node/.claude/settings.json'`, { input: JSON.stringify(mergedSettings), stdio: ['pipe', 'pipe', 'pipe'] });
|
|
452
416
|
console.debug(`[runners:docker] Configured Claude Code lifecycle hooks for agent containers`);
|
|
@@ -456,11 +420,11 @@ export function runContainerSetup(containerId, permissionMode = 'safe', executor
|
|
|
456
420
|
console.debug(`[runners:docker] Wrote enforce-tests hook script to container`);
|
|
457
421
|
}
|
|
458
422
|
catch (error) {
|
|
459
|
-
console.debug('[runners:docker] Failed to
|
|
423
|
+
console.debug('[runners:docker] Failed to write Claude settings to container:', error);
|
|
460
424
|
}
|
|
461
425
|
}
|
|
462
426
|
else {
|
|
463
|
-
console.debug(`[runners:docker] Skipping
|
|
427
|
+
console.debug(`[runners:docker] Skipping Claude settings injection for ${executor} executor`);
|
|
464
428
|
}
|
|
465
429
|
return true;
|
|
466
430
|
}
|