commandmate 0.11.2 → 0.11.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/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +124 -124
- package/.next/app-path-routes-manifest.json +25 -25
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +12 -12
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update/route.js +1 -1
- package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update-check/route.js +1 -1
- package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/conversation/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/current-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/tools/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/start-polling/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
- package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/more/page_client-reference-manifest.js +1 -1
- package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/review/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +2 -2
- package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +25 -25
- package/.next/server/chunks/3753.js +5 -5
- package/.next/server/chunks/5959.js +1 -1
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{6488-d6b669a092a9aeb5.js → 6488-76295bf0184b101f.js} +1 -1
- package/.next/static/chunks/app/worktrees/[id]/{page-c6d64057df3a13d8.js → page-9a4ce51e697baac6.js} +1 -1
- package/.next/trace +10 -10
- package/dist/cli/utils/npx-runner.d.ts +14 -0
- package/dist/cli/utils/npx-runner.d.ts.map +1 -1
- package/dist/cli/utils/npx-runner.js +20 -0
- package/dist/server/src/lib/db/chat-db.js +50 -23
- package/package.json +1 -1
- /package/.next/static/{Xv8eF6ls3LFny16ZGj4Ij → 0_lnKsT0DH-MnHhnV5n-l}/_buildManifest.js +0 -0
- /package/.next/static/{Xv8eF6ls3LFny16ZGj4Ij → 0_lnKsT0DH-MnHhnV5n-l}/_ssgManifest.js +0 -0
|
@@ -70,6 +70,20 @@ export declare function sanitizeNpxEnv(env?: Record<string, string | undefined>)
|
|
|
70
70
|
* @param packageName - Package name (a literal constant, e.g. `commandmate`)
|
|
71
71
|
* @returns The fetched version, or a classified failure
|
|
72
72
|
*/
|
|
73
|
+
/**
|
|
74
|
+
* Working directory for the npx spawns (Issue #1410).
|
|
75
|
+
*
|
|
76
|
+
* The server — and the detached update process it spawns — run from the npx
|
|
77
|
+
* cache package dir (`~/.npm/_npx/<hash>/node_modules/commandmate`). While
|
|
78
|
+
* `warmNpxLatest` fetches the new version, npx deletes/replaces that dir, so a
|
|
79
|
+
* later npx spawn that inherited it crashes when npm calls `process.cwd()`
|
|
80
|
+
* (`ENOENT: uv_cwd`) during bootstrap, aborting the relaunch after the old
|
|
81
|
+
* server is already stopped. Running the npx spawns from the always-present home
|
|
82
|
+
* directory keeps `process.cwd()` valid regardless of npx cache churn. The
|
|
83
|
+
* relaunched daemon sets its own cwd to the (new) package root, so this does not
|
|
84
|
+
* change where the server ultimately runs.
|
|
85
|
+
*/
|
|
86
|
+
export declare function stableNpxCwd(): string;
|
|
73
87
|
export declare function warmNpxLatest(packageName: string): NpxWarmResult;
|
|
74
88
|
/**
|
|
75
89
|
* Relaunch the server as a daemon from the freshly-cached npx version.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npx-runner.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/npx-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;
|
|
1
|
+
{"version":3,"file":"npx-runner.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/npx-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,QAAgB,CAAC;AAEnD,2CAA2C;AAC3C,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,OAAO,EAAE,OAAO,CAAC;IACjB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,MAAM,CAAC,UAAU,CAWnB;AAED;;;;;;;;;;;GAWG;AACH;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAqChE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,CA0CnE"}
|
|
@@ -22,9 +22,11 @@
|
|
|
22
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
23
|
exports.NPX_WARMUP_TIMEOUT_MS = void 0;
|
|
24
24
|
exports.sanitizeNpxEnv = sanitizeNpxEnv;
|
|
25
|
+
exports.stableNpxCwd = stableNpxCwd;
|
|
25
26
|
exports.warmNpxLatest = warmNpxLatest;
|
|
26
27
|
exports.spawnNpxDaemon = spawnNpxDaemon;
|
|
27
28
|
const child_process_1 = require("child_process");
|
|
29
|
+
const os_1 = require("os");
|
|
28
30
|
/**
|
|
29
31
|
* Upper bound for the warmup download.
|
|
30
32
|
*
|
|
@@ -70,10 +72,27 @@ function sanitizeNpxEnv(env = process.env) {
|
|
|
70
72
|
* @param packageName - Package name (a literal constant, e.g. `commandmate`)
|
|
71
73
|
* @returns The fetched version, or a classified failure
|
|
72
74
|
*/
|
|
75
|
+
/**
|
|
76
|
+
* Working directory for the npx spawns (Issue #1410).
|
|
77
|
+
*
|
|
78
|
+
* The server — and the detached update process it spawns — run from the npx
|
|
79
|
+
* cache package dir (`~/.npm/_npx/<hash>/node_modules/commandmate`). While
|
|
80
|
+
* `warmNpxLatest` fetches the new version, npx deletes/replaces that dir, so a
|
|
81
|
+
* later npx spawn that inherited it crashes when npm calls `process.cwd()`
|
|
82
|
+
* (`ENOENT: uv_cwd`) during bootstrap, aborting the relaunch after the old
|
|
83
|
+
* server is already stopped. Running the npx spawns from the always-present home
|
|
84
|
+
* directory keeps `process.cwd()` valid regardless of npx cache churn. The
|
|
85
|
+
* relaunched daemon sets its own cwd to the (new) package root, so this does not
|
|
86
|
+
* change where the server ultimately runs.
|
|
87
|
+
*/
|
|
88
|
+
function stableNpxCwd() {
|
|
89
|
+
return (0, os_1.homedir)();
|
|
90
|
+
}
|
|
73
91
|
function warmNpxLatest(packageName) {
|
|
74
92
|
const result = (0, child_process_1.spawnSync)('npx', ['--yes', `${packageName}@latest`, '--version'], {
|
|
75
93
|
encoding: 'utf-8',
|
|
76
94
|
timeout: exports.NPX_WARMUP_TIMEOUT_MS,
|
|
95
|
+
cwd: stableNpxCwd(),
|
|
77
96
|
env: sanitizeNpxEnv(),
|
|
78
97
|
});
|
|
79
98
|
if (result.error) {
|
|
@@ -115,6 +134,7 @@ function warmNpxLatest(packageName) {
|
|
|
115
134
|
function spawnNpxDaemon(packageName) {
|
|
116
135
|
const result = (0, child_process_1.spawnSync)('npx', ['--yes', `${packageName}@latest`, 'start', '--daemon'], {
|
|
117
136
|
encoding: 'utf-8',
|
|
137
|
+
cwd: stableNpxCwd(),
|
|
118
138
|
env: sanitizeNpxEnv(),
|
|
119
139
|
});
|
|
120
140
|
const stdout = readStream(result.stdout);
|
|
@@ -123,30 +123,57 @@ function updateMessageContent(db, messageId, content, options) {
|
|
|
123
123
|
* Get messages for a worktree, optionally filtered by CLI tool
|
|
124
124
|
*/
|
|
125
125
|
function getMessages(db, worktreeId, options = {}) {
|
|
126
|
-
const { before, limit = 50, cliToolId, instanceId, includeArchived = false } = options;
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
126
|
+
const { before, limit = 50, cliToolId, instanceId, includeArchived = false, limitUnit = 'messages' } = options;
|
|
127
|
+
// Build the shared scope clause (worktree + before cursor + archived + instance/cli
|
|
128
|
+
// filter) and its bound params. Used for both the message-unit and pair-unit paths
|
|
129
|
+
// so their filtering stays identical.
|
|
130
|
+
const buildScope = () => {
|
|
131
|
+
let clause = `FROM chat_messages
|
|
132
|
+
WHERE worktree_id = ? AND (? IS NULL OR timestamp < ?)`;
|
|
133
|
+
const params = [worktreeId, before?.getTime() || null, before?.getTime() || null];
|
|
134
|
+
// archived filter (default: non-archived only)
|
|
135
|
+
if (!includeArchived) {
|
|
136
|
+
clause += ` ${exports.ACTIVE_FILTER}`;
|
|
137
|
+
}
|
|
138
|
+
// Issue #868: instance filter takes precedence; otherwise fall back to CLI tool filter.
|
|
139
|
+
if (instanceId) {
|
|
140
|
+
clause += ` AND instance_id = ?`;
|
|
141
|
+
params.push(instanceId);
|
|
142
|
+
}
|
|
143
|
+
else if (cliToolId) {
|
|
144
|
+
clause += ` AND cli_tool_id = ?`;
|
|
145
|
+
params.push(cliToolId);
|
|
146
|
+
}
|
|
147
|
+
return { clause, params };
|
|
148
|
+
};
|
|
149
|
+
const SELECT_COLS = `SELECT id, worktree_id, role, content, summary, timestamp, log_file_name, request_id, message_type, prompt_data, cli_tool_id, instance_id, archived`;
|
|
150
|
+
// Issue #1407: pair-unit paging. Resolve a timestamp cutoff so the newest `limit`
|
|
151
|
+
// user turns are fully included (with all their assistant rows). This keeps the
|
|
152
|
+
// rendered conversation-pair count equal to `limit` even when a single turn emits
|
|
153
|
+
// many assistant rows (codex prompts/intermediate outputs). Falls back to
|
|
154
|
+
// message-unit paging when no user messages exist in scope.
|
|
155
|
+
if (limitUnit === 'pairs') {
|
|
156
|
+
const scope = buildScope();
|
|
157
|
+
const cutoffRow = db
|
|
158
|
+
.prepare(`SELECT MIN(timestamp) AS cutoff FROM (
|
|
159
|
+
SELECT timestamp ${scope.clause} AND role = 'user'
|
|
160
|
+
ORDER BY timestamp DESC LIMIT ?
|
|
161
|
+
)`)
|
|
162
|
+
.get(...scope.params, limit);
|
|
163
|
+
const cutoff = cutoffRow?.cutoff ?? null;
|
|
164
|
+
if (cutoff !== null) {
|
|
165
|
+
const full = buildScope();
|
|
166
|
+
const rows = db
|
|
167
|
+
.prepare(`${SELECT_COLS} ${full.clause} AND timestamp >= ? ORDER BY timestamp DESC`)
|
|
168
|
+
.all(...full.params, cutoff);
|
|
169
|
+
return rows.map(mapChatMessage);
|
|
170
|
+
}
|
|
171
|
+
// No user messages in scope → fall through to message-unit behavior below.
|
|
145
172
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
173
|
+
const scope = buildScope();
|
|
174
|
+
const rows = db
|
|
175
|
+
.prepare(`${SELECT_COLS} ${scope.clause} ORDER BY timestamp DESC LIMIT ?`)
|
|
176
|
+
.all(...scope.params, limit);
|
|
150
177
|
return rows.map(mapChatMessage);
|
|
151
178
|
}
|
|
152
179
|
/**
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|