wicked-crew 0.7.38 → 0.7.40
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/api/chat-scope.d.ts +37 -1
- package/dist/api/chat-scope.d.ts.map +1 -1
- package/dist/api/chat-scope.js +133 -9
- package/dist/api/chat-scope.js.map +1 -1
- package/dist/api/chat-transcripts.d.ts +45 -2
- package/dist/api/chat-transcripts.d.ts.map +1 -1
- package/dist/api/chat-transcripts.js +89 -5
- package/dist/api/chat-transcripts.js.map +1 -1
- package/dist/api/routes.d.ts +70 -10
- package/dist/api/routes.d.ts.map +1 -1
- package/dist/api/routes.js +206 -20
- package/dist/api/routes.js.map +1 -1
- package/dist/api/run-timing-index.d.ts +22 -0
- package/dist/api/run-timing-index.d.ts.map +1 -1
- package/dist/api/run-timing-index.js +63 -0
- package/dist/api/run-timing-index.js.map +1 -1
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +120 -17
- package/dist/api/server.js.map +1 -1
- package/dist/api/testing.d.ts +26 -0
- package/dist/api/testing.d.ts.map +1 -1
- package/dist/api/testing.js +48 -2
- package/dist/api/testing.js.map +1 -1
- package/dist/api/worktree-sweep.d.ts +12 -0
- package/dist/api/worktree-sweep.d.ts.map +1 -0
- package/dist/api/worktree-sweep.js +41 -0
- package/dist/api/worktree-sweep.js.map +1 -0
- package/dist/cli/bearer.d.ts +8 -0
- package/dist/cli/bearer.d.ts.map +1 -0
- package/dist/cli/bearer.js +16 -0
- package/dist/cli/bearer.js.map +1 -0
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +21 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/core/adapter.d.ts +11 -2
- package/dist/core/adapter.d.ts.map +1 -1
- package/dist/core/adapter.js +23 -4
- package/dist/core/adapter.js.map +1 -1
- package/dist/interactive/demo-events.d.ts +3 -0
- package/dist/interactive/demo-events.d.ts.map +1 -1
- package/dist/interactive/demo-events.js +14 -1
- package/dist/interactive/demo-events.js.map +1 -1
- package/dist/interactive/doc-grounding.d.ts +6 -0
- package/dist/interactive/doc-grounding.d.ts.map +1 -1
- package/dist/interactive/doc-grounding.js +4 -0
- package/dist/interactive/doc-grounding.js.map +1 -1
- package/dist/interactive/draft-events.d.ts +4 -0
- package/dist/interactive/draft-events.d.ts.map +1 -1
- package/dist/interactive/draft-events.js +12 -2
- package/dist/interactive/draft-events.js.map +1 -1
- package/dist/interactive/proxy-routes.d.ts +14 -0
- package/dist/interactive/proxy-routes.d.ts.map +1 -1
- package/dist/interactive/proxy-routes.js +98 -3
- package/dist/interactive/proxy-routes.js.map +1 -1
- package/dist/interactive/repo-snapshot.d.ts.map +1 -1
- package/dist/interactive/repo-snapshot.js +3 -2
- package/dist/interactive/repo-snapshot.js.map +1 -1
- package/dist/projects/graph.d.ts +11 -0
- package/dist/projects/graph.d.ts.map +1 -1
- package/dist/projects/graph.js +12 -0
- package/dist/projects/graph.js.map +1 -1
- package/dist/qe/author-workflow.d.ts +2 -0
- package/dist/qe/author-workflow.d.ts.map +1 -1
- package/dist/qe/author-workflow.js +55 -12
- package/dist/qe/author-workflow.js.map +1 -1
- package/dist/skills/phase-skill-gaps.d.ts +108 -0
- package/dist/skills/phase-skill-gaps.d.ts.map +1 -0
- package/dist/skills/phase-skill-gaps.js +199 -0
- package/dist/skills/phase-skill-gaps.js.map +1 -0
- package/dist/skills/runtime.d.ts +1 -1
- package/dist/skills/runtime.d.ts.map +1 -1
- package/dist/skills/runtime.js +2 -1
- package/dist/skills/runtime.js.map +1 -1
- package/dist/studio/assets/index-Bg7Z3BR-.css +32 -0
- package/dist/studio/assets/index-BvOFMjf9.js +554 -0
- package/dist/studio/index.html +2 -2
- package/dist/studio/testid-inventory.json +100 -10
- package/endpoint-manifest.json +1 -1
- package/package.json +3 -3
- package/dist/studio/assets/index-C12tVMLX.css +0 -32
- package/dist/studio/assets/index-DFkL6Rzf.js +0 -546
package/dist/api/chat-scope.d.ts
CHANGED
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
* `POST /chats` response and `GET /chats/:id` for the UI (studio's New Chat).
|
|
39
39
|
*/
|
|
40
40
|
import type { CoreAdapter } from '../core/adapter.js';
|
|
41
|
-
import type { ChatScope, RepoEntry } from '../core/types.js';
|
|
41
|
+
import type { ChatScope, ChatScopeRequestKind, RepoEntry } from '../core/types.js';
|
|
42
42
|
import { type ProjectGraphBindingDecision } from '../projects/graph.js';
|
|
43
43
|
import type { ChatRefusalSource } from './seat-standing.js';
|
|
44
44
|
/** The engine's per-seat answer to `chatOpen` (`ChatSeatOutcome` on the wire). */
|
|
@@ -60,6 +60,8 @@ export interface ChatScopeRequest {
|
|
|
60
60
|
projectId?: string;
|
|
61
61
|
/** Registry ids or names; empty when the caller named none. */
|
|
62
62
|
repoRefs: string[];
|
|
63
|
+
/** The kind the caller NAMED (`scopeKind`, studio#323 R4); absent ⇒ the legacy inference. */
|
|
64
|
+
kind?: ChatScopeRequestKind;
|
|
63
65
|
}
|
|
64
66
|
/** What the engine is handed for the chat — the wire shape of `chatOpen`'s `scopeJson` plus `cwd`. */
|
|
65
67
|
export interface EngineChatScope {
|
|
@@ -89,6 +91,17 @@ export interface ChatScopeDeps {
|
|
|
89
91
|
/** Where a registered root the daemon cannot resolve — and that is NOT in this chat's scope nor
|
|
90
92
|
* lexically near the base — is noted instead of refusing the open (hardening, W7). */
|
|
91
93
|
log?: (msg: string) => void;
|
|
94
|
+
/**
|
|
95
|
+
* Entity count in a repo graph database — `nodes > 0` means indexed, anything else means
|
|
96
|
+
* schema-only, never indexed, or unreadable. Omitted = {@link estateEntityCount}, which probes
|
|
97
|
+
* `wicked-estate stats --db`; injectable so tests never shell out. A probe failure counts as 0
|
|
98
|
+
* (ungrounded — the gate fails CLOSED). crew#642.
|
|
99
|
+
*
|
|
100
|
+
* The default is applied by `ownGraph` itself, not only by {@link chatScopeDeps}: a constructor
|
|
101
|
+
* that omits this must not silently skip the liveness gate and report a schema-only database as
|
|
102
|
+
* grounded, which is the very defect crew#642 fixed (review of #651).
|
|
103
|
+
*/
|
|
104
|
+
entityCount?: (dbPath: string) => Promise<number>;
|
|
92
105
|
}
|
|
93
106
|
/**
|
|
94
107
|
* `<os tmp>/wicked-crew-chats/<pid>-<random>` — THIS daemon's own namespace, minted once per
|
|
@@ -101,6 +114,17 @@ export interface ChatScopeDeps {
|
|
|
101
114
|
export declare function chatScratchBase(): string;
|
|
102
115
|
/** The production deps over a live adapter. */
|
|
103
116
|
export declare function chatScopeDeps(adapter: CoreAdapter): ChatScopeDeps;
|
|
117
|
+
/**
|
|
118
|
+
* crew#642 — the production entity-count probe: `wicked-estate stats --db <path>` parsed for its
|
|
119
|
+
* `nodes` count. `nodes > 0` means indexed; anything else means schema-only, never indexed, or
|
|
120
|
+
* unreadable. A probe failure (missing binary, timeout, unparseable output) counts as 0, so the
|
|
121
|
+
* liveness gate fails CLOSED — an unanswerable graph reads ungrounded, never grounded.
|
|
122
|
+
*
|
|
123
|
+
* Exported and used as `ownGraph`'s DEFAULT (review of #651): the contract on
|
|
124
|
+
* `ChatScopeDeps.entityCount` promises this behaviour when the dep is omitted, so the promise is
|
|
125
|
+
* kept where the value is USED rather than only where the deps happen to be built.
|
|
126
|
+
*/
|
|
127
|
+
export declare function estateEntityCount(dbPath: string): Promise<number>;
|
|
104
128
|
/** The route's own id rule, re-applied here: the id becomes ONE path segment under the base. */
|
|
105
129
|
/** The chat-id guard — the ONE sanitizer a chat id passes before it names anything on disk (the
|
|
106
130
|
* scratch root here, the transcript file in `chat-transcripts.ts`): no separators, no spaces. */
|
|
@@ -112,6 +136,18 @@ export declare const CHAT_ID: RegExp;
|
|
|
112
136
|
* launch (`resolveProjectGraphBinding` never indexes; a refresh is an explicit act).
|
|
113
137
|
*/
|
|
114
138
|
export declare function resolveChatScope(req: ChatScopeRequest, deps: ChatScopeDeps): Promise<ChatScopeResolution>;
|
|
139
|
+
/**
|
|
140
|
+
* The shape rules of a NAMED kind (studio#323 R4), checked before anything is read — and by the
|
|
141
|
+
* route BEFORE its project lookup, so a shape error is the contracted 400, never a 404/409 about a
|
|
142
|
+
* project the body should not have named (codex on #664). A named kind
|
|
143
|
+
* resolves to exactly that kind or is refused — an input it cannot use is a 400, never silently
|
|
144
|
+
* dropped or re-inferred into another kind. `null` = acceptable (or no kind named).
|
|
145
|
+
*/
|
|
146
|
+
export declare function namedKindRefusal(kind: ChatScopeRequestKind | undefined, projectId: string | undefined, refs: string[]): {
|
|
147
|
+
ok: false;
|
|
148
|
+
status: 400;
|
|
149
|
+
error: string;
|
|
150
|
+
} | null;
|
|
115
151
|
/**
|
|
116
152
|
* The statement every seat reads on start — written as BOTH `AGENTS.md` (codex, pi, opencode,
|
|
117
153
|
* copilot) and `CLAUDE.md` (claude) into the scratch root. Plain prose, repo paths verbatim: the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-scope.d.ts","sourceRoot":"","sources":["../../src/api/chat-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-scope.d.ts","sourceRoot":"","sources":["../../src/api/chat-scope.ts"],"names":[],"mappings":"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"}
|
package/dist/api/chat-scope.js
CHANGED
|
@@ -41,8 +41,9 @@ import { randomBytes } from 'node:crypto';
|
|
|
41
41
|
import { chmodSync, existsSync, lstatSync, mkdirSync, readdirSync, realpathSync, rmSync, statSync, writeFileSync } from 'node:fs';
|
|
42
42
|
import { tmpdir } from 'node:os';
|
|
43
43
|
import { basename, dirname, join, resolve, sep } from 'node:path';
|
|
44
|
+
import { execCapped } from '../core/exec.js';
|
|
44
45
|
import { codeGraphDb } from '../core/repoPaths.js';
|
|
45
|
-
import { resolveProjectGraphBinding } from '../projects/graph.js';
|
|
46
|
+
import { estateExe, parseEstateTotals, resolveProjectGraphBinding } from '../projects/graph.js';
|
|
46
47
|
let processScratchBase;
|
|
47
48
|
/**
|
|
48
49
|
* `<os tmp>/wicked-crew-chats/<pid>-<random>` — THIS daemon's own namespace, minted once per
|
|
@@ -148,8 +149,28 @@ export function chatScopeDeps(adapter) {
|
|
|
148
149
|
// A CHAT is asking (F-2R2-008): the degraded sentence says what a chat falls back to — it keeps
|
|
149
150
|
// reading the scoped roots — never "this repo-less run gets no code graph".
|
|
150
151
|
bindProjectGraph: (projectId, repoRef) => resolveProjectGraphBinding(adapter, projectId, repoRef, process.env, { subject: 'chat' }),
|
|
152
|
+
entityCount: estateEntityCount,
|
|
151
153
|
};
|
|
152
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* crew#642 — the production entity-count probe: `wicked-estate stats --db <path>` parsed for its
|
|
157
|
+
* `nodes` count. `nodes > 0` means indexed; anything else means schema-only, never indexed, or
|
|
158
|
+
* unreadable. A probe failure (missing binary, timeout, unparseable output) counts as 0, so the
|
|
159
|
+
* liveness gate fails CLOSED — an unanswerable graph reads ungrounded, never grounded.
|
|
160
|
+
*
|
|
161
|
+
* Exported and used as `ownGraph`'s DEFAULT (review of #651): the contract on
|
|
162
|
+
* `ChatScopeDeps.entityCount` promises this behaviour when the dep is omitted, so the promise is
|
|
163
|
+
* kept where the value is USED rather than only where the deps happen to be built.
|
|
164
|
+
*/
|
|
165
|
+
export async function estateEntityCount(dbPath) {
|
|
166
|
+
try {
|
|
167
|
+
const { stdout } = await execCapped(estateExe(process.env), ['stats', '--db', dbPath], { timeout: 15_000 });
|
|
168
|
+
return parseEstateTotals(stdout)?.nodes ?? 0;
|
|
169
|
+
}
|
|
170
|
+
catch {
|
|
171
|
+
return 0;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
153
174
|
/** The route's own id rule, re-applied here: the id becomes ONE path segment under the base. */
|
|
154
175
|
/** The chat-id guard — the ONE sanitizer a chat id passes before it names anything on disk (the
|
|
155
176
|
* scratch root here, the transcript file in `chat-transcripts.ts`): no separators, no spaces. */
|
|
@@ -180,9 +201,54 @@ export async function resolveChatScope(req, deps) {
|
|
|
180
201
|
error: `chatId ${JSON.stringify(req.chatId)} cannot name a chat scratch directory`,
|
|
181
202
|
};
|
|
182
203
|
}
|
|
204
|
+
const refs = [...new Set(req.repoRefs)];
|
|
205
|
+
const named = namedKindRefusal(req.kind, req.projectId, refs);
|
|
206
|
+
if (named !== null)
|
|
207
|
+
return named;
|
|
183
208
|
const repos = await deps.listRepos();
|
|
184
209
|
const log = deps.log ?? (() => undefined);
|
|
185
|
-
|
|
210
|
+
if (req.kind === 'system') {
|
|
211
|
+
// The platform itself (studio#323 R4): stated, not the absence of a scope. Nothing is read
|
|
212
|
+
// and nothing is bound — and the reason says what the seats actually have to go on.
|
|
213
|
+
const overlap = refuseOverlap(repos, base, new Set(), log);
|
|
214
|
+
if (overlap !== null)
|
|
215
|
+
return overlap;
|
|
216
|
+
return ok({
|
|
217
|
+
kind: 'system',
|
|
218
|
+
...(req.projectId !== undefined ? { projectId: req.projectId } : {}),
|
|
219
|
+
repos: [],
|
|
220
|
+
cwd,
|
|
221
|
+
graph: {
|
|
222
|
+
bound: false,
|
|
223
|
+
reason: 'a system chat is about the wicked platform itself (daemon, seats, runs, configuration), ' +
|
|
224
|
+
'so no repository and no code graph are in scope; its seats have no live read of the ' +
|
|
225
|
+
'daemon — only what the message carries.',
|
|
226
|
+
},
|
|
227
|
+
dangling: [],
|
|
228
|
+
}, null, []);
|
|
229
|
+
}
|
|
230
|
+
if (req.kind === 'everything') {
|
|
231
|
+
// Every registered repo, across all projects (studio#323 R4) — the registry, never an
|
|
232
|
+
// enumerated `repoRefs` list, so the 1–32 cap does not apply. A project graph covers only its
|
|
233
|
+
// project's repos, so none is bound even when the chat is filed into one.
|
|
234
|
+
const overlap = refuseOverlap(repos, base, new Set(repos.map((r) => r.id)), log);
|
|
235
|
+
if (overlap !== null)
|
|
236
|
+
return overlap;
|
|
237
|
+
return ok({
|
|
238
|
+
kind: 'everything',
|
|
239
|
+
...(req.projectId !== undefined ? { projectId: req.projectId } : {}),
|
|
240
|
+
repos: repos.map(row),
|
|
241
|
+
cwd,
|
|
242
|
+
graph: {
|
|
243
|
+
bound: false,
|
|
244
|
+
reason: repos.length === 0
|
|
245
|
+
? 'no repository is registered with this daemon, so there is nothing to read and no code graph.'
|
|
246
|
+
: `${repos.length} registered repos across all projects and no single code graph spans them, ` +
|
|
247
|
+
'so this chat gets no code graph; scope it to a project to ground on its graph.',
|
|
248
|
+
},
|
|
249
|
+
dangling: [],
|
|
250
|
+
}, null, repos);
|
|
251
|
+
}
|
|
186
252
|
if (refs.length > 0) {
|
|
187
253
|
const found = [];
|
|
188
254
|
const missing = [];
|
|
@@ -274,6 +340,32 @@ export async function resolveChatScope(req, deps) {
|
|
|
274
340
|
dangling: [],
|
|
275
341
|
}, null, []);
|
|
276
342
|
}
|
|
343
|
+
/**
|
|
344
|
+
* The shape rules of a NAMED kind (studio#323 R4), checked before anything is read — and by the
|
|
345
|
+
* route BEFORE its project lookup, so a shape error is the contracted 400, never a 404/409 about a
|
|
346
|
+
* project the body should not have named (codex on #664). A named kind
|
|
347
|
+
* resolves to exactly that kind or is refused — an input it cannot use is a 400, never silently
|
|
348
|
+
* dropped or re-inferred into another kind. `null` = acceptable (or no kind named).
|
|
349
|
+
*/
|
|
350
|
+
export function namedKindRefusal(kind, projectId, refs) {
|
|
351
|
+
if (kind === undefined)
|
|
352
|
+
return null;
|
|
353
|
+
const refuse = (error) => ({ ok: false, status: 400, error });
|
|
354
|
+
if (kind === 'repo' || kind === 'repos') {
|
|
355
|
+
return refs.length === 0 ? refuse(`scopeKind '${kind}' requires repoRefs (1–32 repos by id or name)`) : null;
|
|
356
|
+
}
|
|
357
|
+
if (refs.length > 0) {
|
|
358
|
+
const hint = kind === 'project' ? " — name scopeKind 'repo' (with projectId) to narrow a project to some repos" : '';
|
|
359
|
+
return refuse(`scopeKind '${kind}' takes no repoRefs${hint}`);
|
|
360
|
+
}
|
|
361
|
+
if (kind === 'project' && projectId === undefined) {
|
|
362
|
+
return refuse("scopeKind 'project' requires projectId");
|
|
363
|
+
}
|
|
364
|
+
if (kind === 'none' && projectId !== undefined) {
|
|
365
|
+
return refuse("scopeKind 'none' takes no projectId — name 'project' to scope to it, or 'system' to only file into it");
|
|
366
|
+
}
|
|
367
|
+
return null;
|
|
368
|
+
}
|
|
277
369
|
function ok(scope, dbPath, repos) {
|
|
278
370
|
return {
|
|
279
371
|
ok: true,
|
|
@@ -325,14 +417,14 @@ async function graphForRepos(repos, projectId, deps) {
|
|
|
325
417
|
// no-project path takes — rather than hand the engine no graph behind a reason that promises
|
|
326
418
|
// one (Copilot, #518). Both reasons are kept: why the project graph was declined, and what
|
|
327
419
|
// the chat actually got.
|
|
328
|
-
const own = ownGraph(repos[0]);
|
|
420
|
+
const own = await ownGraph(repos[0], deps.entityCount);
|
|
329
421
|
return {
|
|
330
422
|
wire: { bound: own.wire.bound, reason: `${decision.reason} ${own.wire.reason}` },
|
|
331
423
|
dbPath: own.dbPath,
|
|
332
424
|
};
|
|
333
425
|
}
|
|
334
426
|
if (repos.length === 1) {
|
|
335
|
-
return ownGraph(repos[0]);
|
|
427
|
+
return ownGraph(repos[0], deps.entityCount);
|
|
336
428
|
}
|
|
337
429
|
return {
|
|
338
430
|
wire: {
|
|
@@ -344,8 +436,10 @@ async function graphForRepos(repos, projectId, deps) {
|
|
|
344
436
|
dbPath: null,
|
|
345
437
|
};
|
|
346
438
|
}
|
|
347
|
-
/** A single repo's OWN graph — bound only when the registered graph file exists.
|
|
348
|
-
|
|
439
|
+
/** A single repo's OWN graph — bound only when the registered graph file exists AND holds entities.
|
|
440
|
+
* crew#642: a zero-byte or schema-only estate.db is not grounded. The probe DEFAULTS to
|
|
441
|
+
* {@link estateEntityCount} (review of #651): omitting the dep must not skip the gate. */
|
|
442
|
+
async function ownGraph(only, entityCount = estateEntityCount) {
|
|
349
443
|
try {
|
|
350
444
|
const dbPath = codeGraphDb(only);
|
|
351
445
|
// The registry field says WHERE the repo's graph lives, not that it was ever built
|
|
@@ -362,6 +456,22 @@ function ownGraph(only) {
|
|
|
362
456
|
dbPath: null,
|
|
363
457
|
};
|
|
364
458
|
}
|
|
459
|
+
// crew#642: existence is necessary but not sufficient — a schema-only or never-indexed
|
|
460
|
+
// estate.db holds no entities. The seat would fall back to grep and burn its whole turn budget.
|
|
461
|
+
// Grounded is the NARROW case (a finite count above zero); every other answer — 0, a negative
|
|
462
|
+
// count, NaN from an unparseable probe — is ungrounded, because this gate fails closed.
|
|
463
|
+
const nodes = await entityCount(dbPath);
|
|
464
|
+
if (nodes <= 0 || !Number.isFinite(nodes)) {
|
|
465
|
+
return {
|
|
466
|
+
wire: {
|
|
467
|
+
bound: false,
|
|
468
|
+
reason: `'${only.name}' has a code graph file but it holds no entities ` +
|
|
469
|
+
'(a schema-only or never-indexed estate.db); ' +
|
|
470
|
+
'index the repo (wicked-estate index / onboarding) to ground this chat. This chat gets none.',
|
|
471
|
+
},
|
|
472
|
+
dbPath: null,
|
|
473
|
+
};
|
|
474
|
+
}
|
|
365
475
|
return {
|
|
366
476
|
wire: { bound: true, reason: `bound to '${only.name}'s own code graph.` },
|
|
367
477
|
dbPath,
|
|
@@ -396,7 +506,13 @@ export function chatScopeStatement(chatId, scope) {
|
|
|
396
506
|
`This directory is the scratch root of wicked-crew chat \`${chatId}\`. It is the ONLY place you may write.`,
|
|
397
507
|
'',
|
|
398
508
|
];
|
|
399
|
-
if (scope.
|
|
509
|
+
if (scope.kind === 'system') {
|
|
510
|
+
lines.push('## Scope: system', '', 'This chat is about the wicked platform itself — the wicked-crew daemon, its seats, runs and', 'configuration — not a code repository. No repository is in scope and no code graph is bound.', "You cannot query the daemon's live state from here: answer from the context the message", 'carries (for example a diagnostics or run snapshot) and from general knowledge, and say', 'plainly when a question needs live state you were not given.', '');
|
|
511
|
+
}
|
|
512
|
+
else if (scope.kind === 'everything' && scope.repos.length === 0) {
|
|
513
|
+
lines.push('## Scope: everything', '', 'This chat covers every repository registered with this daemon, but none is registered yet:', 'no repository is readable. Say so plainly if asked about code.', '');
|
|
514
|
+
}
|
|
515
|
+
else if (scope.repos.length === 0 && scope.kind === 'project') {
|
|
400
516
|
// A project whose every `crew.repo` member is dangling (or that has none): filed, but nothing
|
|
401
517
|
// readable — say exactly that, never "opened without a project" (Copilot, #518).
|
|
402
518
|
lines.push('## Repositories in scope', '', `None readable. This chat is filed into project \`${scope.projectId ?? ''}\`, but no registered`, 'repository of that project could be resolved' +
|
|
@@ -408,7 +524,10 @@ export function chatScopeStatement(chatId, scope) {
|
|
|
408
524
|
lines.push('## Repositories in scope', '', 'None. This chat was opened without a project or repo scope: answer from general knowledge,', 'and say plainly that no repository is in scope if asked about code.', '');
|
|
409
525
|
}
|
|
410
526
|
else {
|
|
411
|
-
|
|
527
|
+
if (scope.kind === 'everything') {
|
|
528
|
+
lines.push('## Scope: everything', '', 'This chat covers every repository registered with this daemon, across all projects.', '');
|
|
529
|
+
}
|
|
530
|
+
lines.push('## Repositories in scope (READ-ONLY)', '', ...scope.repos.map((r) => `- **${r.name}** (\`${r.id}\`): \`${r.rootPath}\``), '', 'Explore and answer questions about these repositories by reading them at the paths above.', 'Cite files relative to their repository root, prefixed with the repository name', '(for example `alpha/src/foo.ts` for a file at `/srv/repos/alpha/src/foo.ts`).', 'Do NOT read from any `wicked-worktrees/` subdirectory — those are engine-managed run', 'checkouts, not source code. Do NOT modify, create or delete anything inside these', 'repositories — this chat is read-only exploration; write scratch files only under this', 'directory. Nothing outside these repositories and this directory is in scope.', '');
|
|
412
531
|
}
|
|
413
532
|
if (scope.dangling.length > 0 && scope.repos.length > 0) {
|
|
414
533
|
lines.push(`Project members whose repository is no longer registered (not readable): ${scope.dangling
|
|
@@ -432,13 +551,18 @@ export function chatScopeStatement(chatId, scope) {
|
|
|
432
551
|
if (scope.graph.bound) {
|
|
433
552
|
lines.push('Before you read files, query the code graph through the read-only estate shim. Run this in', 'your shell (`wicked-garden` is first on PATH; the store is pinned by `WICKED_ESTATE_DB`):', '', ` ${CHAT_GROUNDING_COMMAND}`, '', 'The same form reaches `BlastRadius` and `Lineage` (`{"symbol":"<name>"}`) and `RankHotspots`', '(`{"limit":20}`); always pass `--readonly`.', `The graph is bound to \`${scope.graph.repoLabel ?? 'this scope'}\` (${scope.graph.reason}).`, '');
|
|
434
553
|
}
|
|
554
|
+
else if (scope.repos.length === 0 && (scope.kind === 'system' || scope.kind === 'everything')) {
|
|
555
|
+
// Nothing to read (studio#323 R4 kinds; the legacy kinds keep their pinned wording): never
|
|
556
|
+
// tell a seat to "read the repositories directly" when there are none.
|
|
557
|
+
lines.push(`No code graph is bound: ${scope.graph.reason}`, '');
|
|
558
|
+
}
|
|
435
559
|
else {
|
|
436
560
|
lines.push(`No code graph is bound: ${scope.graph.reason} — read the repositories directly and say so.`, '');
|
|
437
561
|
}
|
|
438
562
|
// DES-L5 §5-a (P6 criterion 5): the reply is the answer — an agent's own handoff artefact
|
|
439
563
|
// ("## Work State / ## Next Move / ## Relevant Files") leaked into a chat reply verbatim.
|
|
440
564
|
lines.push('## Answer format', '');
|
|
441
|
-
lines.push('Reply with the answer itself: no working notes or status blocks (no "Work State", "Next Move"', 'or "Relevant Files" sections), no tool monologue, no compaction notices. Cite files
|
|
565
|
+
lines.push('Reply with the answer itself: no working notes or status blocks (no "Work State", "Next Move"', 'or "Relevant Files" sections), no tool monologue, no compaction notices. Cite files relative', 'to their repository root (e.g. `alpha/src/foo.ts`, not the host path). If a claim could not', 'be grounded, say so in one line rather than asserting it.', '');
|
|
442
566
|
if (scope.projectId !== undefined) {
|
|
443
567
|
lines.push('## Project', '', `This chat is filed into project \`${scope.projectId}\`.`, '');
|
|
444
568
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-scope.js","sourceRoot":"","sources":["../../src/api/chat-scope.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-scope.js","sourceRoot":"","sources":["../../src/api/chat-scope.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,8 +12,9 @@
|
|
|
12
12
|
* Retention = the chat's LIFETIME (D-13, as designed — no age sweep, no second mechanism):
|
|
13
13
|
* - the file is DROPPED on the engine's `chatClosed` (requested, idle and pool_cap alike — the one
|
|
14
14
|
* arm `server.ts` already folds for the scope index);
|
|
15
|
-
* - the directory is CLEARED at daemon boot
|
|
16
|
-
*
|
|
15
|
+
* - the directory is CLEARED at daemon boot (orphaned files), EXCEPT transcripts held for a
|
|
16
|
+
* promoted run that is still non-terminal — those are preserved so Continue-in-Build prefill
|
|
17
|
+
* remains reproducible across a daemon restart (crew#619);
|
|
17
18
|
* - only frames a live turn STAMPED (`turn_id` present) are persisted, so a straggler `chatReply`
|
|
18
19
|
* after the close cannot recreate a file, and `turnId` is never null on a record.
|
|
19
20
|
*
|
|
@@ -28,15 +29,40 @@
|
|
|
28
29
|
import type { ChatTranscriptRecord, CoreEvent } from '../core/types.js';
|
|
29
30
|
/** The state-home entry (`<state home>/chats/`) — the name the fixture registers. */
|
|
30
31
|
export declare const CHAT_TRANSCRIPTS_DIRNAME = "chats";
|
|
32
|
+
/** One repo root → name mapping entry used for path rewriting (crew#618). */
|
|
33
|
+
export interface ChatRepoRoot {
|
|
34
|
+
/** Resolved absolute path of the repo root (from `EngineChatScope.readRoots`). */
|
|
35
|
+
absRoot: string;
|
|
36
|
+
/** The repo's display name, used as the path prefix in rewritten citations. */
|
|
37
|
+
name: string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Rewrite absolute host paths in seat reply text to repo-relative form (crew#618).
|
|
41
|
+
*
|
|
42
|
+
* `/srv/repos/alpha/src/foo.ts` → `alpha/src/foo.ts` when `alpha`'s root is `/srv/repos/alpha`.
|
|
43
|
+
* Longest roots are matched first so a path under a more-specific root is never truncated by a
|
|
44
|
+
* parent root. Pure string substitution: no regex, no parsing — LLM-generated paths rarely use
|
|
45
|
+
* special characters in the path components themselves.
|
|
46
|
+
*/
|
|
47
|
+
export declare function rewriteHostPaths(text: string, roots: ReadonlyArray<ChatRepoRoot>): string;
|
|
31
48
|
/** Where the transcripts live: under the daemon's state home, like every other crew store. */
|
|
32
49
|
export declare function defaultChatTranscriptsDir(): string;
|
|
33
50
|
export declare class ChatTranscriptStore {
|
|
34
51
|
private readonly dir;
|
|
35
52
|
private readonly now;
|
|
53
|
+
/** Per-chat roots registered at open time, used to rewrite absolute host paths (crew#618). */
|
|
54
|
+
private readonly chatRoots;
|
|
36
55
|
constructor(opts?: {
|
|
37
56
|
dir?: string;
|
|
38
57
|
now?: () => number;
|
|
39
58
|
});
|
|
59
|
+
/**
|
|
60
|
+
* Register the repo roots for a chat so that absolute host paths in seat replies are rewritten
|
|
61
|
+
* to repo-relative form before being stored (crew#618). Must be called at chat open time, after
|
|
62
|
+
* `ChatScopeIndex.set()` confirms the chat is live. Idempotent: a second call for the same
|
|
63
|
+
* `chatId` replaces the previous roots.
|
|
64
|
+
*/
|
|
65
|
+
registerRoots(chatId: string, repos: ReadonlyArray<ChatRepoRoot>): void;
|
|
40
66
|
/** The directory this store writes under (diagnostics / tests). */
|
|
41
67
|
get directory(): string;
|
|
42
68
|
/** `<dir>/<chatId>.jsonl` — or `null` for an id the chat-id guard refuses (never a path). */
|
|
@@ -48,12 +74,29 @@ export declare class ChatTranscriptStore {
|
|
|
48
74
|
* Fold one STAMPED frame (call with `chatTurns.decorate(event)`'s result): a seat's `chatReply`
|
|
49
75
|
* carrying `turn_id` becomes a `seat` record — ok or not (an eviction's `ok: false` text names the
|
|
50
76
|
* budget). Every other frame, and a reply no live turn stamped, is ignored.
|
|
77
|
+
*
|
|
78
|
+
* Absolute host paths in the reply text are rewritten to repo-relative form (crew#618) using the
|
|
79
|
+
* roots registered for the chat via {@link registerRoots}.
|
|
51
80
|
*/
|
|
52
81
|
observe(stamped: CoreEvent): void;
|
|
53
82
|
/** Every record of the chat in append order; `[]` for a chat with no file (or a refused id). */
|
|
54
83
|
read(chatId: string): ChatTranscriptRecord[];
|
|
84
|
+
/**
|
|
85
|
+
* Rewrite absolute host paths in a `chatReply` frame's `text` field, returning a NEW event
|
|
86
|
+
* object when the text changed or the SAME object when not applicable (crew#618).
|
|
87
|
+
*
|
|
88
|
+
* Call BEFORE `observe` and `broadcast` so the live `/ws` frame already carries the
|
|
89
|
+
* repo-relative form that studio renders and promotes from (Acceptance 1).
|
|
90
|
+
*/
|
|
91
|
+
rewriteEvent(event: CoreEvent): CoreEvent;
|
|
55
92
|
/** The chat is gone (`chatClosed`, any reason): its transcript goes with it. */
|
|
56
93
|
drop(chatId: string): void;
|
|
94
|
+
/**
|
|
95
|
+
* Daemon boot: remove every transcript NOT in `retainedChatIds` (crew#619 — promoted-run
|
|
96
|
+
* transcripts must survive a restart so Continue-in-Build prefill is reproducible). Pass an
|
|
97
|
+
* empty set to clear everything (equivalent to the old `clearAll`).
|
|
98
|
+
*/
|
|
99
|
+
clearOrphaned(retainedChatIds: ReadonlySet<string>): void;
|
|
57
100
|
/** Daemon boot: no chat survives a restart, so every file here is an orphan — remove them all. */
|
|
58
101
|
clearAll(): void;
|
|
59
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-transcripts.d.ts","sourceRoot":"","sources":["../../src/api/chat-transcripts.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"chat-transcripts.d.ts","sourceRoot":"","sources":["../../src/api/chat-transcripts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAKH,OAAO,KAAK,EAAE,oBAAoB,EAAa,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAInF,qFAAqF;AACrF,eAAO,MAAM,wBAAwB,UAAU,CAAC;AAEhD,6EAA6E;AAC7E,MAAM,WAAW,YAAY;IAC3B,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,MAAM,CAezF;AAED,8FAA8F;AAC9F,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAgBD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,8FAA8F;IAC9F,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkD;gBAEhE,IAAI,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;KAAO;IAK3D;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,IAAI;IAIvE,mEAAmE;IACnE,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,6FAA6F;IAC7F,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,MAAM;IAcd,sGAAsG;IACtG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAIxF;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI;IAqBjC,gGAAgG;IAChG,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,EAAE;IAe5C;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS;IAazC,gFAAgF;IAChF,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM1B;;;;OAIG;IACH,aAAa,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI;IAWzD,kGAAkG;IAClG,QAAQ,IAAI,IAAI;CAGjB"}
|