@cat-factory/orchestration 0.74.3 → 0.76.0

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.
Files changed (40) hide show
  1. package/dist/container.d.ts +32 -2
  2. package/dist/container.d.ts.map +1 -1
  3. package/dist/container.js +52 -1
  4. package/dist/container.js.map +1 -1
  5. package/dist/index.d.ts +1 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/modules/docInterview/DocInterviewService.d.ts +68 -0
  9. package/dist/modules/docInterview/DocInterviewService.d.ts.map +1 -0
  10. package/dist/modules/docInterview/DocInterviewService.js +174 -0
  11. package/dist/modules/docInterview/DocInterviewService.js.map +1 -0
  12. package/dist/modules/docInterview/doc-interview.logic.d.ts +42 -0
  13. package/dist/modules/docInterview/doc-interview.logic.d.ts.map +1 -0
  14. package/dist/modules/docInterview/doc-interview.logic.js +111 -0
  15. package/dist/modules/docInterview/doc-interview.logic.js.map +1 -0
  16. package/dist/modules/execution/AgentContextBuilder.d.ts +9 -1
  17. package/dist/modules/execution/AgentContextBuilder.d.ts.map +1 -1
  18. package/dist/modules/execution/AgentContextBuilder.js +33 -5
  19. package/dist/modules/execution/AgentContextBuilder.js.map +1 -1
  20. package/dist/modules/execution/DocInterviewController.d.ts +12 -0
  21. package/dist/modules/execution/DocInterviewController.d.ts.map +1 -0
  22. package/dist/modules/execution/DocInterviewController.js +56 -0
  23. package/dist/modules/execution/DocInterviewController.js.map +1 -0
  24. package/dist/modules/execution/ExecutionService.d.ts +27 -2
  25. package/dist/modules/execution/ExecutionService.d.ts.map +1 -1
  26. package/dist/modules/execution/ExecutionService.js +34 -2
  27. package/dist/modules/execution/ExecutionService.js.map +1 -1
  28. package/dist/modules/execution/InitiativeInterviewController.d.ts +4 -41
  29. package/dist/modules/execution/InitiativeInterviewController.d.ts.map +1 -1
  30. package/dist/modules/execution/InitiativeInterviewController.js +39 -132
  31. package/dist/modules/execution/InitiativeInterviewController.js.map +1 -1
  32. package/dist/modules/execution/InterviewGateController.d.ts +82 -0
  33. package/dist/modules/execution/InterviewGateController.d.ts.map +1 -0
  34. package/dist/modules/execution/InterviewGateController.js +128 -0
  35. package/dist/modules/execution/InterviewGateController.js.map +1 -0
  36. package/dist/modules/execution/RunDispatcher.d.ts +4 -0
  37. package/dist/modules/execution/RunDispatcher.d.ts.map +1 -1
  38. package/dist/modules/execution/RunDispatcher.js +16 -1
  39. package/dist/modules/execution/RunDispatcher.js.map +1 -1
  40. package/package.json +12 -12
@@ -0,0 +1,174 @@
1
+ import { generateText } from 'ai';
2
+ import { DOC_INTERVIEWER_AGENT_KIND, extractJson, inlineModelRef, resolveScopedModelProvider, ValidationError, } from '@cat-factory/kernel';
3
+ import { catFactoryObservability, FINAL_ANSWER_IN_REPLY } from '@cat-factory/agents';
4
+ import { answeredDigest, applyDocInterviewAnswer, applyDocInterviewOutcome, applyDocInterviewQuestions, coerceDocInterviewOutput, DOC_INTERVIEW_MAX_ROUNDS, newDocInterviewSession, } from './doc-interview.logic.js';
5
+ // ---------------------------------------------------------------------------
6
+ // The interactive document-review INTERVIEWER (WS5). Self-contained (owns its
7
+ // session repository AND the inline LLM), mirroring RequirementReviewService's
8
+ // self-containment but with the interview Q&A shape of the initiative
9
+ // interviewer — a document task has no owning entity to hang the transcript on,
10
+ // so the session lives in its own `doc_interview_sessions` table.
11
+ //
12
+ // It reads the block brief + the outline (and research) produced by the earlier
13
+ // steps plus the answers gathered so far, and either asks a fresh batch of
14
+ // clarifying questions or converges with a synthesized authoring brief the
15
+ // doc-writer starts from. The engine's DocInterviewController drives the
16
+ // park/answer/resume loop; this service decides content AND persists it.
17
+ //
18
+ // Model resolution is the SAME precedence as an agent step / the requirements
19
+ // reviewer: a model pinned on the block wins, else the workspace's per-kind
20
+ // default, else the routing default (a pinned subscription harness ref degrades
21
+ // to the routing default because this is an INLINE call with no container).
22
+ // ---------------------------------------------------------------------------
23
+ /** Role prompt the interviewer runs under. Returns ONLY a JSON decision object. */
24
+ export const DOC_INTERVIEW_SYSTEM_PROMPT = 'You are a documentation lead INTERVIEWING a stakeholder to refine a document BEFORE it is ' +
25
+ 'written. You are given the document brief, its proposed outline, and the answers gathered so ' +
26
+ 'far. Decide whether you understand the intended scope, audience, depth, structure and the ' +
27
+ 'key points to cover well enough for an author to write a strong draft. If NOT, ask a small ' +
28
+ 'batch of focused, high-leverage clarifying questions — each answerable in a sentence or two, ' +
29
+ 'no yes/no trivia, no questions the brief or outline already answer. If you have enough (or ' +
30
+ 'you are told this is the final round), STOP asking and synthesize a concise authoring brief: ' +
31
+ 'the agreed scope and audience, the structure to follow, the specific points/decisions each ' +
32
+ 'section must cover, and anything explicitly out of scope. Respond with ONLY a JSON object of ' +
33
+ 'shape {"done": boolean, "questions": string[], "brief": string}. When done is false, ' +
34
+ '`questions` is non-empty; when done is true, `questions` is empty and you MUST fill `brief`. ' +
35
+ 'No prose, no code fences. ' +
36
+ FINAL_ANSWER_IN_REPLY;
37
+ export class DocInterviewService {
38
+ deps;
39
+ constructor(deps) {
40
+ this.deps = deps;
41
+ }
42
+ /** Whether the inline interviewer is available (a provider AND a routing default are wired). */
43
+ get enabled() {
44
+ return (!!this.deps.modelProviderResolver || !!this.deps.modelProvider) && !!this.deps.modelRef;
45
+ }
46
+ /** The current live session for a block, or null. */
47
+ getByBlock(workspaceId, blockId) {
48
+ return this.deps.docInterviewRepository.getByBlock(workspaceId, blockId);
49
+ }
50
+ /**
51
+ * Drop the block's session(s) so the next run starts a clean interview. Called by the gate on a
52
+ * fresh run (mirrors `IterativeReviewService.review` clearing the block before iteration 1) — a
53
+ * re-run must not reuse the prior run's converged / at-cap session and its stale answers.
54
+ */
55
+ clearForBlock(workspaceId, blockId) {
56
+ return this.deps.docInterviewRepository.deleteByBlock(workspaceId, blockId);
57
+ }
58
+ /**
59
+ * Run one interviewer pass over the document. `finalize` forces convergence (the human
60
+ * proceeded, or the round cap was hit) so the model is asked only to synthesize the brief.
61
+ */
62
+ async runInterview(workspaceId, block, session, opts) {
63
+ const { modelProvider, ref } = await this.resolveModel(workspaceId, block);
64
+ let text;
65
+ try {
66
+ const model = modelProvider.resolve(ref);
67
+ const result = await generateText({
68
+ model,
69
+ system: DOC_INTERVIEW_SYSTEM_PROMPT,
70
+ prompt: this.buildPrompt(block, session, opts.finalize, opts.priorOutputs ?? []),
71
+ temperature: 0.2,
72
+ maxOutputTokens: 3000,
73
+ providerOptions: catFactoryObservability({
74
+ agentKind: DOC_INTERVIEWER_AGENT_KIND,
75
+ workspaceId,
76
+ }),
77
+ });
78
+ text = result.text;
79
+ }
80
+ catch (e) {
81
+ throw new ValidationError(`The document interviewer (${ref.provider}:${ref.model}) failed: ${e instanceof Error ? e.message : String(e)}`);
82
+ }
83
+ const output = coerceDocInterviewOutput(extractJson(text), { finalize: opts.finalize });
84
+ // A non-final pass that yields neither questions nor a brief means the model returned
85
+ // empty / unparseable output (e.g. a reasoning model that emitted only into its private
86
+ // thinking channel, or prose with no JSON). Fail loudly instead of silently converging with an
87
+ // empty brief and skipping the whole interview — the run surfaces the failure and can retry.
88
+ if (!opts.finalize && output.kind === 'done' && !output.brief.trim()) {
89
+ throw new ValidationError(`The document interviewer (${ref.provider}:${ref.model}) returned no questions and no brief`);
90
+ }
91
+ return { output, model: `${ref.provider}:${ref.model}` };
92
+ }
93
+ /**
94
+ * Persist a fresh batch of pending questions (creating the session on first entry). Returns
95
+ * the parked session, `awaiting` the human's answers.
96
+ */
97
+ async recordQuestions(workspaceId, blockId, questions, model) {
98
+ const now = this.deps.clock.now();
99
+ const existing = await this.deps.docInterviewRepository.getByBlock(workspaceId, blockId);
100
+ const base = existing ??
101
+ newDocInterviewSession(this.deps.idGenerator.next('dis'), blockId, now, DOC_INTERVIEW_MAX_ROUNDS);
102
+ const next = applyDocInterviewQuestions({ ...base, model: base.model ?? model }, questions, () => this.deps.idGenerator.next('diq'), now);
103
+ await this.deps.docInterviewRepository.upsert(workspaceId, next);
104
+ return next;
105
+ }
106
+ /** Record the human's answer to one pending question. Returns null when there is no session. */
107
+ async recordAnswer(workspaceId, blockId, questionId, answer) {
108
+ const existing = await this.deps.docInterviewRepository.getByBlock(workspaceId, blockId);
109
+ if (!existing)
110
+ return null;
111
+ const next = applyDocInterviewAnswer(existing, questionId, answer, this.deps.clock.now());
112
+ await this.deps.docInterviewRepository.upsert(workspaceId, next);
113
+ return next;
114
+ }
115
+ /** Fold the synthesized brief onto the session and mark it `done`. */
116
+ async recordOutcome(workspaceId, blockId, brief, model) {
117
+ const now = this.deps.clock.now();
118
+ const existing = (await this.deps.docInterviewRepository.getByBlock(workspaceId, blockId)) ??
119
+ newDocInterviewSession(this.deps.idGenerator.next('dis'), blockId, now, DOC_INTERVIEW_MAX_ROUNDS);
120
+ const next = applyDocInterviewOutcome({ ...existing, model: existing.model ?? model }, brief, now);
121
+ await this.deps.docInterviewRepository.upsert(workspaceId, next);
122
+ return next;
123
+ }
124
+ /** Assemble the interviewer prompt: the brief + the outline/research + the answered digest. */
125
+ buildPrompt(block, session, finalize, priorOutputs) {
126
+ const lines = [`Document: ${block.title || '(untitled document)'}`];
127
+ const fields = block.taskTypeFields;
128
+ if (fields?.docKind)
129
+ lines.push(`Type: ${fields.docKind}`);
130
+ if (fields?.audience)
131
+ lines.push(`Audience: ${fields.audience}`);
132
+ const brief = block.description?.trim();
133
+ if (brief)
134
+ lines.push('', 'Brief:', brief);
135
+ const outline = priorOutputs.find((o) => o.agentKind === 'doc-outliner')?.output?.trim();
136
+ if (outline)
137
+ lines.push('', 'Proposed outline:', outline);
138
+ const research = priorOutputs.find((o) => o.agentKind === 'doc-researcher')?.output?.trim();
139
+ if (research)
140
+ lines.push('', 'Research brief:', research);
141
+ const digest = answeredDigest(session);
142
+ if (digest.length)
143
+ lines.push('', ...digest);
144
+ lines.push('', finalize
145
+ ? 'This is the FINAL round: do NOT ask more questions. Synthesize the agreed authoring ' +
146
+ 'brief from the material and answers above.'
147
+ : 'Ask your next batch of clarifying questions, or converge if you have enough. ' +
148
+ 'Respond with ONLY the JSON decision object.');
149
+ return lines.join('\n');
150
+ }
151
+ async resolveModel(workspaceId, block) {
152
+ const modelProvider = await resolveScopedModelProvider(workspaceId, this.deps);
153
+ const ref = await this.modelFor(workspaceId, block);
154
+ if (!modelProvider || !ref) {
155
+ throw new ValidationError('No model is configured for the document interviewer');
156
+ }
157
+ return { modelProvider, ref };
158
+ }
159
+ /** Block pin > workspace per-kind default > routing default (subscription refs degrade). */
160
+ async modelFor(workspaceId, block) {
161
+ const fallback = this.deps.modelRef;
162
+ const runsInline = this.deps.runsInline;
163
+ const resolve = (ref) => inlineModelRef(ref, fallback ?? ref, runsInline ? { runsInline } : {});
164
+ const fromBlock = this.deps.resolveBlockModel?.(block.modelId);
165
+ if (fromBlock)
166
+ return resolve(fromBlock);
167
+ const defaultId = await this.deps.resolveWorkspaceModelDefault?.(workspaceId, DOC_INTERVIEWER_AGENT_KIND, block.modelPresetId);
168
+ const fromDefault = this.deps.resolveBlockModel?.(defaultId);
169
+ if (fromDefault)
170
+ return resolve(fromDefault);
171
+ return fallback;
172
+ }
173
+ }
174
+ //# sourceMappingURL=DocInterviewService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocInterviewService.js","sourceRoot":"","sources":["../../../src/modules/docInterview/DocInterviewService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { DocInterviewSession } from '@cat-factory/contracts';
2
+ /** How many interviewer passes may run before the loop is force-converged. */
3
+ export declare const DOC_INTERVIEW_MAX_ROUNDS = 4;
4
+ /** Upper bound on questions the interviewer may ask in one round (keeps the gate answerable). */
5
+ export declare const DOC_INTERVIEW_MAX_QUESTIONS = 8;
6
+ /** The interviewer LLM's decision: ask more questions, or converge with a synthesized brief. */
7
+ export type DocInterviewOutput = {
8
+ kind: 'questions';
9
+ questions: string[];
10
+ } | {
11
+ kind: 'done';
12
+ brief: string;
13
+ };
14
+ /**
15
+ * Leniently coerce the interviewer's JSON into a {@link DocInterviewOutput}. `finalize` forces
16
+ * convergence (the human proceeded, or the round cap was hit) regardless of what the model
17
+ * returned. Empty/absent questions also mean convergence — nothing left to ask.
18
+ */
19
+ export declare function coerceDocInterviewOutput(parsed: unknown, opts: {
20
+ finalize: boolean;
21
+ }): DocInterviewOutput;
22
+ /** A fresh, empty session for a block (round 0, awaiting the interviewer's first pass). */
23
+ export declare function newDocInterviewSession(id: string, blockId: string, now: number, maxRounds?: number): DocInterviewSession;
24
+ /**
25
+ * Append a fresh round of pending questions: keep the answered digest, drop any prior-round
26
+ * questions the human skipped, add the new ones with stable ids. Bumps the round and parks it
27
+ * `awaiting`.
28
+ */
29
+ export declare function applyDocInterviewQuestions(session: DocInterviewSession, questions: string[], nextId: () => string, now: number): DocInterviewSession;
30
+ /** Record the human's answer to one pending question (matched by id). No-op if unknown. */
31
+ export declare function applyDocInterviewAnswer(session: DocInterviewSession, questionId: string, answer: string, now: number): DocInterviewSession;
32
+ /**
33
+ * Converge the interview: keep the answered digest, fold the synthesized brief onto the
34
+ * session, and mark it `done`. A blank synthesized brief keeps the prior one (defensive — the
35
+ * finalize pass should always produce one).
36
+ */
37
+ export declare function applyDocInterviewOutcome(session: DocInterviewSession, brief: string, now: number): DocInterviewSession;
38
+ /** Whether the interviewer must force-converge on the next pass (the round cap was reached). */
39
+ export declare function docInterviewAtCap(session: DocInterviewSession): boolean;
40
+ /** Render the answered Q&A digest as prompt lines (empty array when nothing is answered). */
41
+ export declare function answeredDigest(session: DocInterviewSession): string[];
42
+ //# sourceMappingURL=doc-interview.logic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc-interview.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/docInterview/doc-interview.logic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAWjF,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,IAAI,CAAA;AACzC,iGAAiG;AACjG,eAAO,MAAM,2BAA2B,IAAI,CAAA;AAQ5C,gGAAgG;AAChG,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEnC;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,OAAO,EACf,IAAI,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,GAC1B,kBAAkB,CAgBpB;AAOD,2FAA2F;AAC3F,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,SAAS,SAA2B,GACnC,mBAAmB,CAarB;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,mBAAmB,EAC5B,SAAS,EAAE,MAAM,EAAE,EACnB,MAAM,EAAE,MAAM,MAAM,EACpB,GAAG,EAAE,MAAM,GACV,mBAAmB,CAarB;AAED,2FAA2F;AAC3F,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,mBAAmB,EAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,GACV,mBAAmB,CAQrB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,mBAAmB,CAQrB;AAED,gGAAgG;AAChG,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAEvE;AAED,6FAA6F;AAC7F,wBAAgB,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,EAAE,CAMrE"}
@@ -0,0 +1,111 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Pure state transitions + coercion for the interactive document-interview
3
+ // session (WS5). The interviewer LLM (DocInterviewService) decides WHAT to ask /
4
+ // synthesize; these apply the decision to the session entity. Mirrors the
5
+ // initiative interview's `initiative.logic.ts`, but the converged outcome is a
6
+ // single synthesized authoring `brief` (a document has no goal/constraints/
7
+ // non-goals triple) folded into the writer's context.
8
+ // ---------------------------------------------------------------------------
9
+ /** How many interviewer passes may run before the loop is force-converged. */
10
+ export const DOC_INTERVIEW_MAX_ROUNDS = 4;
11
+ /** Upper bound on questions the interviewer may ask in one round (keeps the gate answerable). */
12
+ export const DOC_INTERVIEW_MAX_QUESTIONS = 8;
13
+ /** Clamp bounds, mirroring the strict wire schema's `shortProseField` / prose limits. */
14
+ const SHORT_MAX = 2000;
15
+ const PROSE_MAX = 8000;
16
+ const clampShort = (s) => s.trim().slice(0, SHORT_MAX);
17
+ const clampProse = (s) => s.trim().slice(0, PROSE_MAX);
18
+ /**
19
+ * Leniently coerce the interviewer's JSON into a {@link DocInterviewOutput}. `finalize` forces
20
+ * convergence (the human proceeded, or the round cap was hit) regardless of what the model
21
+ * returned. Empty/absent questions also mean convergence — nothing left to ask.
22
+ */
23
+ export function coerceDocInterviewOutput(parsed, opts) {
24
+ const obj = (typeof parsed === 'object' && parsed !== null ? parsed : {});
25
+ const questions = Array.isArray(obj.questions)
26
+ ? obj.questions
27
+ .filter((q) => typeof q === 'string' && q.trim().length > 0)
28
+ .map(clampShort)
29
+ .slice(0, DOC_INTERVIEW_MAX_QUESTIONS)
30
+ : [];
31
+ const done = opts.finalize || obj.done === true || questions.length === 0;
32
+ if (done) {
33
+ return { kind: 'done', brief: typeof obj.brief === 'string' ? clampProse(obj.brief) : '' };
34
+ }
35
+ return { kind: 'questions', questions };
36
+ }
37
+ /** Only the answered exchanges — the digest that survives across rounds. */
38
+ function answeredQa(session) {
39
+ return (session.qa ?? []).filter((q) => (q.answer ?? '').trim().length > 0);
40
+ }
41
+ /** A fresh, empty session for a block (round 0, awaiting the interviewer's first pass). */
42
+ export function newDocInterviewSession(id, blockId, now, maxRounds = DOC_INTERVIEW_MAX_ROUNDS) {
43
+ return {
44
+ id,
45
+ blockId,
46
+ status: 'awaiting',
47
+ round: 0,
48
+ maxRounds,
49
+ qa: [],
50
+ brief: null,
51
+ model: null,
52
+ createdAt: now,
53
+ updatedAt: now,
54
+ };
55
+ }
56
+ /**
57
+ * Append a fresh round of pending questions: keep the answered digest, drop any prior-round
58
+ * questions the human skipped, add the new ones with stable ids. Bumps the round and parks it
59
+ * `awaiting`.
60
+ */
61
+ export function applyDocInterviewQuestions(session, questions, nextId, now) {
62
+ const pending = questions.map((question) => ({
63
+ id: nextId(),
64
+ question: clampShort(question),
65
+ answer: '',
66
+ }));
67
+ return {
68
+ ...session,
69
+ status: 'awaiting',
70
+ round: session.round + 1,
71
+ qa: [...answeredQa(session), ...pending],
72
+ updatedAt: now,
73
+ };
74
+ }
75
+ /** Record the human's answer to one pending question (matched by id). No-op if unknown. */
76
+ export function applyDocInterviewAnswer(session, questionId, answer, now) {
77
+ return {
78
+ ...session,
79
+ qa: (session.qa ?? []).map((q) => q.id === questionId ? { ...q, answer: clampShort(answer) } : q),
80
+ updatedAt: now,
81
+ };
82
+ }
83
+ /**
84
+ * Converge the interview: keep the answered digest, fold the synthesized brief onto the
85
+ * session, and mark it `done`. A blank synthesized brief keeps the prior one (defensive — the
86
+ * finalize pass should always produce one).
87
+ */
88
+ export function applyDocInterviewOutcome(session, brief, now) {
89
+ return {
90
+ ...session,
91
+ status: 'done',
92
+ qa: answeredQa(session),
93
+ brief: brief.trim() || session.brief || '',
94
+ updatedAt: now,
95
+ };
96
+ }
97
+ /** Whether the interviewer must force-converge on the next pass (the round cap was reached). */
98
+ export function docInterviewAtCap(session) {
99
+ return session.round >= session.maxRounds;
100
+ }
101
+ /** Render the answered Q&A digest as prompt lines (empty array when nothing is answered). */
102
+ export function answeredDigest(session) {
103
+ const answered = answeredQa(session);
104
+ if (!answered.length)
105
+ return [];
106
+ const lines = ['Answers gathered so far:'];
107
+ for (const { question, answer } of answered)
108
+ lines.push(`- Q: ${question}`, ` A: ${answer}`);
109
+ return lines;
110
+ }
111
+ //# sourceMappingURL=doc-interview.logic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc-interview.logic.js","sourceRoot":"","sources":["../../../src/modules/docInterview/doc-interview.logic.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AccountRepository, AgentRunContext, Block, BlockRepository, BrainstormSessionRepository, ClarityReviewRepository, DocumentRepository, DocumentSourceKind, ExecutionInstance, InitiativeRepository, PipelineStep, RequirementReviewRepository, TaskRepository, WorkspaceRepository } from '@cat-factory/kernel';
1
+ import type { AccountRepository, AgentRunContext, Block, BlockRepository, BrainstormSessionRepository, ClarityReviewRepository, DocInterviewRepository, DocumentRepository, DocumentSourceKind, ExecutionInstance, InitiativeRepository, PipelineStep, RequirementReviewRepository, TaskRepository, WorkspaceRepository } from '@cat-factory/kernel';
2
2
  import type { AgentKindRegistry } from '@cat-factory/agents';
3
3
  import { type ResolvedFrontendBinding } from './frontend-infra.logic.js';
4
4
  import type { EnvironmentProvisioningService } from '@cat-factory/integrations';
@@ -70,6 +70,12 @@ export interface AgentContextBuilderDeps {
70
70
  documentUrlResolver?: DocumentUrlResolver;
71
71
  tasks?: TaskRepository;
72
72
  requirementReviews?: RequirementReviewRepository;
73
+ /**
74
+ * Optional: the interactive document-interview session store (WS5). When wired, a
75
+ * doc-authoring run folds the block's converged authoring brief into the writer's context.
76
+ * Absent → the writer runs off the raw outline/description.
77
+ */
78
+ docInterviews?: DocInterviewRepository;
73
79
  clarityReviews?: ClarityReviewRepository;
74
80
  brainstormSessions?: BrainstormSessionRepository;
75
81
  /**
@@ -220,6 +226,8 @@ export declare class AgentContextBuilder {
220
226
  * (the prompt parses its sections). Never throws — a lookup failure degrades to the built-ins.
221
227
  */
222
228
  private resolveDocAuthoringContext;
229
+ /** The block's converged document-interview brief (WS5), or undefined when none / unwired. */
230
+ private resolveDocInterviewBrief;
223
231
  /**
224
232
  * The selected best-practice fragment ids of the block's owning service frame. Walks
225
233
  * up from the block we already hold (bounded: frame → module → task, cycle-guarded),
@@ -1 +1 @@
1
- {"version":3,"file":"AgentContextBuilder.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/AgentContextBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentContextBuilder.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/AgentContextBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { buildExcerpt, CONTEXT_BUDGET } from '@cat-factory/kernel';
2
- import { CODE_AWARE_TRAIT, DOC_AWARE_TRAIT, hasTrait } from '@cat-factory/agents';
2
+ import { CODE_AWARE_TRAIT, DOC_AWARE_TRAIT, DOC_FINALIZER_KIND, DOC_WRITER_KIND, hasTrait, } from '@cat-factory/agents';
3
3
  import { boundServiceFrameIds, buildFrontendRunNotes, indexLiveServiceEnvUrls, resolveFrontendBindings, } from './frontend-infra.logic.js';
4
4
  import { connectionDescription } from '@cat-factory/contracts';
5
5
  import { frameOf, validInvolvedServiceFrames } from './frame.logic.js';
@@ -184,6 +184,11 @@ export class AgentContextBuilder {
184
184
  // exemplars) or the kind isn't doc-aware.
185
185
  ...(docAuthoring.docTemplateBody ? { docTemplateBody: docAuthoring.docTemplateBody } : {}),
186
186
  ...(docAuthoring.docExemplars?.length ? { docExemplars: docAuthoring.docExemplars } : {}),
187
+ // The converged interactive-interview authoring brief (WS5), when the interview ran and
188
+ // synthesized one — the doc-writer folds it in as the refined spec to write from.
189
+ ...(docAuthoring.docInterviewBrief
190
+ ? { docInterviewBrief: docAuthoring.docInterviewBrief }
191
+ : {}),
187
192
  },
188
193
  ...(environment ? { environment } : {}),
189
194
  ...(service ? { service } : {}),
@@ -464,11 +469,19 @@ export class AgentContextBuilder {
464
469
  * (the prompt parses its sections). Never throws — a lookup failure degrades to the built-ins.
465
470
  */
466
471
  async resolveDocAuthoringContext(workspaceId, agentKind, block) {
467
- const documents = this.deps.documents;
468
- if (!documents)
469
- return {};
470
472
  if (!hasTrait(agentKind, DOC_AWARE_TRAIT, this.deps.agentKindRegistry))
471
473
  return {};
474
+ // The converged interactive-interview brief (WS5) — folded into the writer's context so the
475
+ // draft starts from the refined spec, not the raw outline. Read independently of the
476
+ // template/exemplar links (they need the documents integration; the interview does not), and
477
+ // ONLY for the two kinds that render it (doc-writer / doc-finalizer) — the researcher /
478
+ // outliner / interviewer / reviewer never consume it, so we skip the session read for them.
479
+ const interviewBrief = agentKind === DOC_WRITER_KIND || agentKind === DOC_FINALIZER_KIND
480
+ ? await this.resolveDocInterviewBrief(workspaceId, block)
481
+ : undefined;
482
+ const documents = this.deps.documents;
483
+ if (!documents)
484
+ return interviewBrief ? { docInterviewBrief: interviewBrief } : {};
472
485
  const docKind = (block.taskTypeFields?.docKind ?? 'other');
473
486
  try {
474
487
  const [template, exemplars] = await Promise.all([
@@ -486,12 +499,27 @@ export class AgentContextBuilder {
486
499
  })),
487
500
  }
488
501
  : {}),
502
+ ...(interviewBrief ? { docInterviewBrief: interviewBrief } : {}),
489
503
  };
490
504
  }
491
505
  catch {
492
506
  // A resolution failure must never wedge a run; fall back to the built-in template/exemplars.
493
- return {};
507
+ return interviewBrief ? { docInterviewBrief: interviewBrief } : {};
508
+ }
509
+ }
510
+ /** The block's converged document-interview brief (WS5), or undefined when none / unwired. */
511
+ async resolveDocInterviewBrief(workspaceId, block) {
512
+ if (!this.deps.docInterviews)
513
+ return undefined;
514
+ try {
515
+ const session = await this.deps.docInterviews.getByBlock(workspaceId, block.id);
516
+ if (session?.status === 'done' && session.brief?.trim())
517
+ return session.brief;
518
+ }
519
+ catch {
520
+ // Never wedge a run on a lookup failure; fall back to the raw outline/description.
494
521
  }
522
+ return undefined;
495
523
  }
496
524
  /**
497
525
  * The selected best-practice fragment ids of the block's owning service frame. Walks
@@ -1 +1 @@
1
- {"version":3,"file":"AgentContextBuilder.js","sourceRoot":"","sources":["../../../src/modules/execution/AgentContextBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentContextBuilder.js","sourceRoot":"","sources":["../../../src/modules/execution/AgentContextBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { DocInterviewSession, ExecutionEventPublisher } from '@cat-factory/kernel';
2
+ import type { DocInterviewService } from '../docInterview/DocInterviewService.js';
3
+ import { InterviewGateController, type InterviewGateDeps } from './InterviewGateController.js';
4
+ export interface DocInterviewControllerDeps extends InterviewGateDeps {
5
+ events: ExecutionEventPublisher;
6
+ /** The interviewer LLM + session store. Absent (or model-less) → the gate passes through. */
7
+ docInterviewService?: DocInterviewService;
8
+ }
9
+ export declare class DocInterviewController extends InterviewGateController<DocInterviewSession> {
10
+ constructor(deps: DocInterviewControllerDeps);
11
+ }
12
+ //# sourceMappingURL=DocInterviewController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocInterviewController.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/DocInterviewController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EAExB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAEV,mBAAmB,EACpB,MAAM,wCAAwC,CAAA;AAE/C,OAAO,EACL,uBAAuB,EACvB,KAAK,iBAAiB,EAEvB,MAAM,8BAA8B,CAAA;AAYrC,MAAM,WAAW,0BAA2B,SAAQ,iBAAiB;IACnE,MAAM,EAAE,uBAAuB,CAAA;IAC/B,6FAA6F;IAC7F,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;CAC1C;AA6DD,qBAAa,sBAAuB,SAAQ,uBAAuB,CAAC,mBAAmB,CAAC;IACtF,YAAY,IAAI,EAAE,0BAA0B,EAE3C;CACF"}