@cat-factory/agents 0.31.0 → 0.33.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.
@@ -0,0 +1,64 @@
1
+ import type { DocKind } from '@cat-factory/kernel';
2
+ /** One section of a document template: the heading a document should carry + why. */
3
+ export interface DocTemplateSection {
4
+ /** The section heading text (rendered as an H2 and matched by the quality gate). */
5
+ title: string;
6
+ /** A one-line note on what the section covers, shown to the outliner/writer as guidance. */
7
+ guidance: string;
8
+ /** Required sections must appear; optional ones are included when they add value. */
9
+ required: boolean;
10
+ }
11
+ /** A document template: the ordered sections expected for a {@link DocKind}. */
12
+ export interface DocTemplate {
13
+ kind: DocKind;
14
+ /** A one-line description of the document kind (folded into the brief). */
15
+ summary: string;
16
+ /** The ordered sections, required first is not enforced — author order is meaningful. */
17
+ sections: DocTemplateSection[];
18
+ }
19
+ /**
20
+ * The built-in template for each document kind — the fallback skeleton when no deployment
21
+ * or workspace override is registered. Keyed by every {@link DocKind} so a new kind is a
22
+ * compile error until it has a template.
23
+ */
24
+ export declare const DOC_TEMPLATES: Record<DocKind, DocTemplate>;
25
+ /** Register a custom document template for a kind. Re-registering the kind replaces it. */
26
+ export declare function registerDocTemplate(template: DocTemplate): void;
27
+ /** Register several custom document templates at once. */
28
+ export declare function registerDocTemplates(templates: Iterable<DocTemplate>): void;
29
+ /** Drop all registered template overrides. Intended for tests that exercise registration. */
30
+ export declare function clearRegisteredDocTemplates(): void;
31
+ /**
32
+ * The effective template for a document kind: a deployment-registered override when one
33
+ * exists, otherwise the built-in fallback. This is the single entry point both the prompts
34
+ * and (later) the quality gate resolve through, so a future workspace-linked override only
35
+ * has to slot in here.
36
+ */
37
+ export declare function docTemplateFor(kind: DocKind): DocTemplate;
38
+ /** The titles of a template's required sections — the source of truth for the quality gate. */
39
+ export declare function requiredSectionTitles(template: DocTemplate): string[];
40
+ /**
41
+ * A one-line "produce X: section, section, …" description of a template, woven into the
42
+ * shared document brief every doc-kind prompt reads. Keeps the template the single source
43
+ * of the kind's shape (the researcher/finalizer see the section list here, the outliner and
44
+ * writer get the fuller guidance below).
45
+ */
46
+ export declare function templateStructureLine(template: DocTemplate): string;
47
+ /**
48
+ * Render a template as a Markdown skeleton: an H1 title placeholder followed by each
49
+ * section as an H2 with its guidance as an inline note. Optional sections are marked so the
50
+ * author knows they can be dropped. Used verbatim in the writer prompt as a starting point.
51
+ */
52
+ export declare function renderTemplateSkeleton(template: DocTemplate, title?: string): string;
53
+ /**
54
+ * The outliner-facing guidance for a template: the required sections the outline must cover
55
+ * and the optional ones it may add. Kept terse — the outliner produces structure, not prose.
56
+ */
57
+ export declare function templateOutlineGuidance(template: DocTemplate): string;
58
+ /**
59
+ * The writer-facing guidance for a template: the skeleton to start from and the instruction
60
+ * to fill every required section. The approved outline still leads; the skeleton is the
61
+ * baseline the outline refined.
62
+ */
63
+ export declare function templateSkeletonGuidance(template: DocTemplate, title: string): string;
64
+ //# sourceMappingURL=doc-templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc-templates.d.ts","sourceRoot":"","sources":["../../../src/agents/kinds/doc-templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AA0BlD,qFAAqF;AACrF,MAAM,WAAW,kBAAkB;IACjC,oFAAoF;IACpF,KAAK,EAAE,MAAM,CAAA;IACb,4FAA4F;IAC5F,QAAQ,EAAE,MAAM,CAAA;IAChB,qFAAqF;IACrF,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,gFAAgF;AAChF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAA;IACb,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAA;IACf,yFAAyF;IACzF,QAAQ,EAAE,kBAAkB,EAAE,CAAA;CAC/B;AAaD;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,CA4HtD,CAAA;AAMD,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAE/D;AAED,0DAA0D;AAC1D,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAE3E;AAED,6FAA6F;AAC7F,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,CAEzD;AAED,+FAA+F;AAC/F,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,EAAE,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,SAAqB,GAAG,MAAM,CAOhG;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAYrE;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMrF"}
@@ -0,0 +1,212 @@
1
+ const req = (title, guidance) => ({
2
+ title,
3
+ guidance,
4
+ required: true,
5
+ });
6
+ const opt = (title, guidance) => ({
7
+ title,
8
+ guidance,
9
+ required: false,
10
+ });
11
+ /**
12
+ * The built-in template for each document kind — the fallback skeleton when no deployment
13
+ * or workspace override is registered. Keyed by every {@link DocKind} so a new kind is a
14
+ * compile error until it has a template.
15
+ */
16
+ export const DOC_TEMPLATES = {
17
+ prd: {
18
+ kind: 'prd',
19
+ summary: 'a product requirements document',
20
+ sections: [
21
+ req('Overview', 'One-paragraph summary of what is being built and why.'),
22
+ req('Problem & Goals', 'The problem being solved and the goals success is measured against.'),
23
+ req('Target Users', 'Who this is for and the jobs they are trying to do.'),
24
+ req('User Stories', 'The key user stories / scenarios the product must support.'),
25
+ req('Scope', 'What is in scope and, explicitly, what is out of scope.'),
26
+ req('Functional Requirements', 'The concrete capabilities the product must provide.'),
27
+ req('Acceptance Criteria', 'Testable conditions that define "done" for each requirement.'),
28
+ req('Success Metrics', 'The measurable outcomes that indicate the product is working.'),
29
+ opt('Risks & Open Questions', 'Known risks, assumptions, and questions still to resolve.'),
30
+ ],
31
+ },
32
+ rfc: {
33
+ kind: 'rfc',
34
+ summary: 'an RFC / design proposal',
35
+ sections: [
36
+ req('Summary', 'A short abstract of the proposal a reader can grasp in one paragraph.'),
37
+ req('Motivation', 'Why this change is worth making and what problem it addresses.'),
38
+ req('Detailed Design', 'The proposed design in enough detail to implement and critique.'),
39
+ req('Alternatives Considered', 'The other approaches weighed, with the trade-offs that ruled them out.'),
40
+ opt('Drawbacks', 'The costs and downsides of the proposed approach.'),
41
+ opt('Migration & Rollout', 'How the change is adopted, migrated to, and rolled out safely.'),
42
+ opt('Unresolved Questions', 'The open questions to settle before or during implementation.'),
43
+ ],
44
+ },
45
+ adr: {
46
+ kind: 'adr',
47
+ summary: 'an architecture decision record',
48
+ sections: [
49
+ req('Status', 'Proposed / accepted / superseded, with the date.'),
50
+ req('Context', 'The forces and constraints that make a decision necessary.'),
51
+ req('Decision', 'The decision that was made, stated in active voice.'),
52
+ req('Considered Options', 'The options evaluated, each with its trade-offs, including the chosen one.'),
53
+ req('Consequences', 'The resulting context — the positive and negative outcomes.'),
54
+ ],
55
+ },
56
+ design: {
57
+ kind: 'design',
58
+ summary: 'a technical design document',
59
+ sections: [
60
+ req('Overview', 'A short summary of what is being designed and the outcome.'),
61
+ req('Goals & Non-Goals', 'What the design must achieve and, explicitly, what it will not.'),
62
+ req('Architecture', 'The overall structure — the components and how they fit together.'),
63
+ req('Key Components & Data Flows', 'The main components and how data moves between them.'),
64
+ opt('Interfaces', 'The APIs, contracts, and boundaries between components.'),
65
+ opt('Alternatives', 'Alternative designs considered and why they were not chosen.'),
66
+ opt('Risks', 'The technical risks and how they are mitigated.'),
67
+ ],
68
+ },
69
+ technical: {
70
+ kind: 'technical',
71
+ summary: 'a technical reference',
72
+ sections: [
73
+ req('Purpose', 'What this reference covers and who should read it.'),
74
+ req('Concepts', 'The concepts and terminology a reader needs to understand first.'),
75
+ req('Usage', 'Step-by-step usage instructions, in order.'),
76
+ req('Examples', 'Concrete, runnable examples that show the common cases.'),
77
+ opt('Configuration', 'The configuration options and their effects.'),
78
+ opt('Troubleshooting', 'Common problems and how to resolve them.'),
79
+ ],
80
+ },
81
+ api: {
82
+ kind: 'api',
83
+ summary: 'an API reference',
84
+ sections: [
85
+ req('Overview & Authentication', 'What the API does and how a caller authenticates.'),
86
+ req('Endpoints', 'Each endpoint/operation: request, parameters, and response, with a worked example.'),
87
+ req('Errors', 'The error responses, their status codes, and their meanings.'),
88
+ req('Examples', 'End-to-end worked examples covering the common flows.'),
89
+ ],
90
+ },
91
+ runbook: {
92
+ kind: 'runbook',
93
+ summary: 'an operational runbook',
94
+ sections: [
95
+ req('When to Use', 'The trigger or situation this runbook applies to.'),
96
+ req('Prerequisites', 'The access, tools, and preconditions needed before starting.'),
97
+ req('Procedure', 'The numbered, step-by-step procedure to follow.'),
98
+ req('Verification', 'How to confirm the procedure worked.'),
99
+ req('Escalation', 'Who to contact and how to escalate if the procedure fails.'),
100
+ opt('Rollback', 'How to safely undo the procedure if needed.'),
101
+ ],
102
+ },
103
+ research: {
104
+ kind: 'research',
105
+ summary: 'a research / analysis report',
106
+ sections: [
107
+ req('Question', 'The question or hypothesis the research set out to answer.'),
108
+ req('Method', 'How the research was conducted and what sources were consulted.'),
109
+ req('Findings', 'What the research found, organised for the reader.'),
110
+ req('Options Compared', 'The options weighed against each other, with their trade-offs.'),
111
+ req('Recommendation', 'The recommended course of action and the reasoning for it.'),
112
+ opt('References', 'The sources cited, linked where possible.'),
113
+ ],
114
+ },
115
+ reference: {
116
+ kind: 'reference',
117
+ summary: 'a reference document organised by topic',
118
+ sections: [
119
+ req('Overview', 'A short orientation and a map of the topics that follow.'),
120
+ req('Topics', 'The reference content, organised into clearly-headed topic sections.'),
121
+ ],
122
+ },
123
+ other: {
124
+ kind: 'other',
125
+ summary: 'a well-structured document',
126
+ sections: [
127
+ req('Overview', 'A short summary of the document up front.'),
128
+ req('Details', 'The body of the document, organised into clearly-headed sections.'),
129
+ ],
130
+ },
131
+ };
132
+ // Deployment-level override registry, mirroring `registerPromptFragment`. A registered
133
+ // template for a kind shadows the built-in; re-registering replaces it.
134
+ const registered = new Map();
135
+ /** Register a custom document template for a kind. Re-registering the kind replaces it. */
136
+ export function registerDocTemplate(template) {
137
+ registered.set(template.kind, template);
138
+ }
139
+ /** Register several custom document templates at once. */
140
+ export function registerDocTemplates(templates) {
141
+ for (const template of templates)
142
+ registerDocTemplate(template);
143
+ }
144
+ /** Drop all registered template overrides. Intended for tests that exercise registration. */
145
+ export function clearRegisteredDocTemplates() {
146
+ registered.clear();
147
+ }
148
+ /**
149
+ * The effective template for a document kind: a deployment-registered override when one
150
+ * exists, otherwise the built-in fallback. This is the single entry point both the prompts
151
+ * and (later) the quality gate resolve through, so a future workspace-linked override only
152
+ * has to slot in here.
153
+ */
154
+ export function docTemplateFor(kind) {
155
+ return registered.get(kind) ?? DOC_TEMPLATES[kind];
156
+ }
157
+ /** The titles of a template's required sections — the source of truth for the quality gate. */
158
+ export function requiredSectionTitles(template) {
159
+ return template.sections.filter((s) => s.required).map((s) => s.title);
160
+ }
161
+ /**
162
+ * A one-line "produce X: section, section, …" description of a template, woven into the
163
+ * shared document brief every doc-kind prompt reads. Keeps the template the single source
164
+ * of the kind's shape (the researcher/finalizer see the section list here, the outliner and
165
+ * writer get the fuller guidance below).
166
+ */
167
+ export function templateStructureLine(template) {
168
+ return `${template.summary}: ${template.sections.map((s) => s.title).join(', ')}`;
169
+ }
170
+ /**
171
+ * Render a template as a Markdown skeleton: an H1 title placeholder followed by each
172
+ * section as an H2 with its guidance as an inline note. Optional sections are marked so the
173
+ * author knows they can be dropped. Used verbatim in the writer prompt as a starting point.
174
+ */
175
+ export function renderTemplateSkeleton(template, title = '<Document title>') {
176
+ const lines = [`# ${title}`, ''];
177
+ for (const section of template.sections) {
178
+ const marker = section.required ? '' : ' (optional)';
179
+ lines.push(`## ${section.title}${marker}`, '', `_${section.guidance}_`, '');
180
+ }
181
+ return lines.join('\n').trimEnd();
182
+ }
183
+ /**
184
+ * The outliner-facing guidance for a template: the required sections the outline must cover
185
+ * and the optional ones it may add. Kept terse — the outliner produces structure, not prose.
186
+ */
187
+ export function templateOutlineGuidance(template) {
188
+ const required = template.sections.filter((s) => s.required);
189
+ const optional = template.sections.filter((s) => !s.required);
190
+ const lines = [
191
+ `This is ${template.summary}. The outline MUST cover these required sections (in a sensible order, renamed only if the meaning is preserved):`,
192
+ ...required.map((s) => `- ${s.title} — ${s.guidance}`),
193
+ ];
194
+ if (optional.length) {
195
+ lines.push('Include these optional sections where they add value:');
196
+ lines.push(...optional.map((s) => `- ${s.title} — ${s.guidance}`));
197
+ }
198
+ return lines.join('\n');
199
+ }
200
+ /**
201
+ * The writer-facing guidance for a template: the skeleton to start from and the instruction
202
+ * to fill every required section. The approved outline still leads; the skeleton is the
203
+ * baseline the outline refined.
204
+ */
205
+ export function templateSkeletonGuidance(template, title) {
206
+ return [
207
+ `Start from this ${template.kind} template skeleton and fill in every required section (drop or add optional sections as the outline dictates):`,
208
+ '',
209
+ renderTemplateSkeleton(template, title),
210
+ ].join('\n');
211
+ }
212
+ //# sourceMappingURL=doc-templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc-templates.js","sourceRoot":"","sources":["../../../src/agents/kinds/doc-templates.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/agents/kinds/document.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AA2BxD,eAAO,MAAM,mBAAmB,mBAAmB,CAAA;AACnD,eAAO,MAAM,iBAAiB,iBAAiB,CAAA;AAC/C,eAAO,MAAM,eAAe,eAAe,CAAA;AAC3C,eAAO,MAAM,kBAAkB,kBAAkB,CAAA;AACjD,gGAAgG;AAChG,eAAO,MAAM,iBAAiB,iBAAiB,CAAA;AAwL/C,8FAA8F;AAC9F,eAAO,MAAM,oBAAoB,EAAE,mBAAmB,EAiErD,CAAA;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/agents/kinds/document.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAkCxD,eAAO,MAAM,mBAAmB,mBAAmB,CAAA;AACnD,eAAO,MAAM,iBAAiB,iBAAiB,CAAA;AAC/C,eAAO,MAAM,eAAe,eAAe,CAAA;AAC3C,eAAO,MAAM,kBAAkB,kBAAkB,CAAA;AACjD,gGAAgG;AAChG,eAAO,MAAM,iBAAiB,iBAAiB,CAAA;AAyL/C,8FAA8F;AAC9F,eAAO,MAAM,oBAAoB,EAAE,mBAAmB,EAuErD,CAAA;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
@@ -1,6 +1,8 @@
1
1
  import { CONTEXT_BUDGET, estimateTokens } from '@cat-factory/kernel';
2
2
  import { registerAgentKinds } from './registry.js';
3
+ import { DOC_AWARE_TRAIT } from './traits.js';
3
4
  import { linkedContextSection } from '../prompts/standard.js';
5
+ import { docTemplateFor, templateOutlineGuidance, templateSkeletonGuidance, templateStructureLine, } from './doc-templates.js';
4
6
  // ---------------------------------------------------------------------------
5
7
  // The document-authoring agent kinds — a FORWARD-authoring track whose deliverable IS an
6
8
  // in-repo Markdown document (a PRD / RFC / design doc / ADR / technical reference / runbook /
@@ -50,19 +52,6 @@ const DOC_KIND_DIR = {
50
52
  reference: 'docs/reference',
51
53
  other: 'docs',
52
54
  };
53
- /** One-line structural expectation per document kind, woven into the outliner/writer prompts. */
54
- const DOC_KIND_STRUCTURE = {
55
- prd: 'a product requirements document: problem & goals, target users, user stories, scope (in/out), functional requirements, acceptance criteria, success metrics, risks & open questions',
56
- rfc: 'an RFC / design proposal: summary, motivation, detailed design, alternatives considered (with trade-offs), drawbacks, migration/rollout, unresolved questions',
57
- adr: 'an architecture decision record: context, the decision, status, considered options with trade-offs, consequences (positive & negative)',
58
- design: 'a technical design document: overview, goals/non-goals, architecture, key components & data flows, interfaces, alternatives, risks',
59
- technical: 'a technical reference: purpose, concepts, step-by-step usage, configuration, examples, troubleshooting',
60
- api: 'an API reference: overview & auth, each endpoint/operation (request, parameters, responses, errors), and worked examples',
61
- runbook: 'an operational runbook: when to use it, prerequisites, numbered step-by-step procedure, verification, rollback, and escalation',
62
- research: 'a research / analysis report: question, method, findings, comparison of options, recommendation, and references',
63
- reference: 'a clear reference document organised by topic with a short overview and a navigable section structure',
64
- other: 'a well-structured document with a short overview followed by clearly-headed sections',
65
- };
66
55
  /** The document fields on the task, defaulting `docKind` to `other` when unset. */
67
56
  function docFields(context) {
68
57
  const fields = context.block.taskTypeFields;
@@ -75,12 +64,22 @@ function docFields(context) {
75
64
  outlineHints: fields?.outlineHints?.trim() || undefined,
76
65
  };
77
66
  }
78
- /** The shared "what document are we writing" brief woven into every doc-kind prompt. */
67
+ /**
68
+ * The shared "what document are we writing" brief woven into every doc-kind prompt.
69
+ *
70
+ * `structure: 'full'` (the default) spells out the section list via `templateStructureLine` —
71
+ * the researcher/finalizer get ONLY this brief, so they need it. The outliner/writer pass
72
+ * `structure: 'summary'` because they also receive the fuller template guidance below
73
+ * (`templateOutlineGuidance` / `templateSkeletonGuidance`), so repeating the section list in
74
+ * the brief would just spend tokens with no added signal.
75
+ */
79
76
  function docBriefSection(context, opts) {
80
77
  const { docKind, audience, targetPath, outlineHints } = docFields(context);
78
+ const template = docTemplateFor(docKind);
79
+ const structure = opts.structure === 'summary' ? template.summary : templateStructureLine(template);
81
80
  const lines = [
82
81
  `Document title: ${context.block.title}`,
83
- `Document kind: ${docKind} — produce ${DOC_KIND_STRUCTURE[docKind]}.`,
82
+ `Document kind: ${docKind} — produce ${structure}.`,
84
83
  `Target file: \`${targetPath}\` (Markdown).`,
85
84
  ];
86
85
  if (audience)
@@ -155,22 +154,28 @@ function docResearcherUserPrompt(context) {
155
154
  ].join('\n');
156
155
  }
157
156
  function docOutlinerUserPrompt(context) {
157
+ const { docKind } = docFields(context);
158
158
  return [
159
159
  `Pipeline: ${context.pipelineName}`,
160
- docBriefSection(context, {}),
160
+ docBriefSection(context, { structure: 'summary' }),
161
161
  priorWorkSection(context),
162
162
  '',
163
+ templateOutlineGuidance(docTemplateFor(docKind)),
164
+ '',
163
165
  'Produce the outline (sections + one-line intent each). Do not write the prose.',
164
166
  ].join('\n');
165
167
  }
166
168
  function docWriterUserPrompt(context) {
167
- const { targetPath } = docFields(context);
169
+ const { docKind, targetPath } = docFields(context);
168
170
  return [
169
171
  `Pipeline: ${context.pipelineName}`,
170
- docBriefSection(context, { materialized: true }),
172
+ docBriefSection(context, { materialized: true, structure: 'summary' }),
171
173
  priorWorkSection(context),
172
174
  '',
173
- `Write the full document to \`${targetPath}\` as Markdown, following the approved outline.`,
175
+ templateSkeletonGuidance(docTemplateFor(docKind), context.block.title),
176
+ '',
177
+ `Write the full document to \`${targetPath}\` as Markdown, following the approved outline. ` +
178
+ 'The outline leads where it refined the skeleton; cover every required section.',
174
179
  ].join('\n');
175
180
  }
176
181
  function docFinalizerUserPrompt(context) {
@@ -191,6 +196,9 @@ export const DOCUMENT_AGENT_KINDS = [
191
196
  systemPrompt: DOC_RESEARCHER_SYSTEM_PROMPT,
192
197
  userPrompt: docResearcherUserPrompt,
193
198
  agent: { surface: 'inline' },
199
+ // Doc-aware: the engine folds the task's writing-style fragments (anti-LLM-isms,
200
+ // concise & actionable) into the prompt, exactly as `code-aware` folds tech fragments.
201
+ traits: [DOC_AWARE_TRAIT],
194
202
  webResearchHint: 'gather current prior art, standards and references for the document being written',
195
203
  presentation: {
196
204
  label: 'Doc Researcher',
@@ -205,6 +213,7 @@ export const DOCUMENT_AGENT_KINDS = [
205
213
  systemPrompt: DOC_OUTLINER_SYSTEM_PROMPT,
206
214
  userPrompt: docOutlinerUserPrompt,
207
215
  agent: { surface: 'inline' },
216
+ traits: [DOC_AWARE_TRAIT],
208
217
  presentation: {
209
218
  label: 'Doc Outliner',
210
219
  icon: 'i-lucide-list-tree',
@@ -221,6 +230,7 @@ export const DOCUMENT_AGENT_KINDS = [
221
230
  // writes the Markdown, pushes the work branch and opens the PR (coder-like). Its companion
222
231
  // `doc-reviewer` loops it back for rework below threshold.
223
232
  agent: { surface: 'container-coding', clone: { branch: 'work' } },
233
+ traits: [DOC_AWARE_TRAIT],
224
234
  presentation: {
225
235
  label: 'Doc Writer',
226
236
  icon: 'i-lucide-file-pen-line',
@@ -237,6 +247,7 @@ export const DOCUMENT_AGENT_KINDS = [
237
247
  // back (no new PR), fixer-like. The human gate's revision feedback is threaded in by
238
248
  // `withRevision` (catalog.ts), so the editor addresses it on this pass.
239
249
  agent: { surface: 'container-coding', clone: { branch: 'pr' } },
250
+ traits: [DOC_AWARE_TRAIT],
240
251
  presentation: {
241
252
  label: 'Doc Finalizer',
242
253
  icon: 'i-lucide-file-check-2',
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../src/agents/kinds/document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../src/agents/kinds/document.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,15 @@ export type AgentTrait = string;
7
7
  * their system prompt by the execution engine.
8
8
  */
9
9
  export declare const CODE_AWARE_TRAIT: AgentTrait;
10
+ /**
11
+ * Doc-aware kinds AUTHOR or REVIEW a written document (the forward document-authoring
12
+ * track). The block's selected writing-style fragments (the `style.*` collection —
13
+ * anti-LLM-isms, concise & actionable) are folded into their system prompt by the
14
+ * execution engine, the SAME way `code-aware` folds a service's technical fragments. This
15
+ * is the trait gate that lets the doc kinds fold the style guidance without the prompt
16
+ * builders special-casing them.
17
+ */
18
+ export declare const DOC_AWARE_TRAIT: AgentTrait;
10
19
  /**
11
20
  * Spec-aware kinds are told to read the in-repo `spec/` artifact (the prescriptive
12
21
  * service specification) and how to interpret it. The instruction is appended to their
@@ -32,6 +41,10 @@ export declare const SPEC_AWARE_GUIDANCE: string;
32
41
  * - `spec-aware`: every code-touching kind (anything that clones and reads the repo),
33
42
  * so each is pointed at the in-repo spec. The `spec-writer` is intentionally absent —
34
43
  * it AUTHORS the spec rather than consuming it.
44
+ * - `doc-aware`: the document-authoring companion `doc-reviewer` (the writer/outliner/
45
+ * finalizer producer kinds are REGISTERED kinds, so they carry `doc-aware` on their own
46
+ * `AgentKindDefinition.traits` in `./document`, not here — the same way the code
47
+ * `reviewer` companion is a built-in listed here while the coder declares its own).
35
48
  */
36
49
  export declare const STANDARD_AGENT_TRAITS: Partial<Record<AgentKind, AgentTrait[]>>;
37
50
  /** Definition of a (custom) trait: its id and optional system-prompt guidance. */
@@ -1 +1 @@
1
- {"version":3,"file":"traits.d.ts","sourceRoot":"","sources":["../../../src/agents/kinds/traits.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAapD,yFAAyF;AACzF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAA;AAE/B;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,UAAyB,CAAA;AAExD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,UAAyB,CAAA;AAExD;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,EAAE,UAA6B,CAAA;AAEhE,6FAA6F;AAC7F,eAAO,MAAM,mBAAmB,QAOpB,CAAA;AAEZ;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAqB1E,CAAA;AAED,kFAAkF;AAClF,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,EAAE,EAAE,UAAU,CAAA;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC,CAAA;CAClD;AAaD,kGAAkG;AAClG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAIrF;AAED,qFAAqF;AACrF,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAEzE;AAED,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAErF;AAED,2FAA2F;AAC3F,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,UAAU,GAAG,oBAAoB,GAAG,SAAS,CAErF;AAED,kGAAkG;AAClG,wBAAgB,0BAA0B,IAAI,IAAI,CAGjD;AAED,2FAA2F;AAC3F,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,CAK1D;AAED,sCAAsC;AACtC,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,CAQ1D"}
1
+ {"version":3,"file":"traits.d.ts","sourceRoot":"","sources":["../../../src/agents/kinds/traits.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAapD,yFAAyF;AACzF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAA;AAE/B;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,UAAyB,CAAA;AAExD;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,UAAwB,CAAA;AAEtD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,UAAyB,CAAA;AAExD;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,EAAE,UAA6B,CAAA;AAEhE,6FAA6F;AAC7F,eAAO,MAAM,mBAAmB,QAOpB,CAAA;AAEZ;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAyB1E,CAAA;AAED,kFAAkF;AAClF,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,EAAE,EAAE,UAAU,CAAA;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC,CAAA;CAClD;AAaD,kGAAkG;AAClG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAIrF;AAED,qFAAqF;AACrF,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAEzE;AAED,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAErF;AAED,2FAA2F;AAC3F,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,UAAU,GAAG,oBAAoB,GAAG,SAAS,CAErF;AAED,kGAAkG;AAClG,wBAAgB,0BAA0B,IAAI,IAAI,CAGjD;AAED,2FAA2F;AAC3F,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,CAK1D;AAED,sCAAsC;AACtC,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,CAQ1D"}
@@ -6,6 +6,15 @@ import { registeredAgentKind } from './registry.js';
6
6
  * their system prompt by the execution engine.
7
7
  */
8
8
  export const CODE_AWARE_TRAIT = 'code-aware';
9
+ /**
10
+ * Doc-aware kinds AUTHOR or REVIEW a written document (the forward document-authoring
11
+ * track). The block's selected writing-style fragments (the `style.*` collection —
12
+ * anti-LLM-isms, concise & actionable) are folded into their system prompt by the
13
+ * execution engine, the SAME way `code-aware` folds a service's technical fragments. This
14
+ * is the trait gate that lets the doc kinds fold the style guidance without the prompt
15
+ * builders special-casing them.
16
+ */
17
+ export const DOC_AWARE_TRAIT = 'doc-aware';
9
18
  /**
10
19
  * Spec-aware kinds are told to read the in-repo `spec/` artifact (the prescriptive
11
20
  * service specification) and how to interpret it. The instruction is appended to their
@@ -38,6 +47,10 @@ export const SPEC_AWARE_GUIDANCE = [
38
47
  * - `spec-aware`: every code-touching kind (anything that clones and reads the repo),
39
48
  * so each is pointed at the in-repo spec. The `spec-writer` is intentionally absent —
40
49
  * it AUTHORS the spec rather than consuming it.
50
+ * - `doc-aware`: the document-authoring companion `doc-reviewer` (the writer/outliner/
51
+ * finalizer producer kinds are REGISTERED kinds, so they carry `doc-aware` on their own
52
+ * `AgentKindDefinition.traits` in `./document`, not here — the same way the code
53
+ * `reviewer` companion is a built-in listed here while the coder declares its own).
41
54
  */
42
55
  export const STANDARD_AGENT_TRAITS = {
43
56
  architect: [CODE_AWARE_TRAIT, SPEC_AWARE_TRAIT],
@@ -60,6 +73,10 @@ export const STANDARD_AGENT_TRAITS = {
60
73
  // The on-call agent clones the released change and reads the code to correlate the diff
61
74
  // with the regression evidence, so it gets the service's best-practice + spec context.
62
75
  'on-call': [CODE_AWARE_TRAIT, SPEC_AWARE_TRAIT],
76
+ // The document reviewer is a companion (no `AgentKindDefinition` of its own), so it
77
+ // gets `doc-aware` here — folding the SAME writing-style fragments the writer received,
78
+ // which become its review criteria (style guidance as both instruction and check).
79
+ 'doc-reviewer': [DOC_AWARE_TRAIT],
63
80
  };
64
81
  // Process-wide trait registry, mirroring the agent-kind / model-provider registries.
65
82
  const traitRegistry = new Map();
@@ -127,9 +144,11 @@ export function traitGuidanceFor(kind) {
127
144
  }
128
145
  return lines;
129
146
  }
130
- /** Register the two standard traits' definitions (spec-aware carries guidance). */
147
+ /** Register the standard traits' definitions (only spec-aware carries guidance). */
131
148
  function registerStandardTraits() {
132
149
  registerAgentTrait({ id: CODE_AWARE_TRAIT });
150
+ // A pure marker, like `code-aware`: its whole effect is the engine's fragment fold.
151
+ registerAgentTrait({ id: DOC_AWARE_TRAIT });
133
152
  registerAgentTrait({ id: SPEC_AWARE_TRAIT, guidance: SPEC_AWARE_GUIDANCE });
134
153
  }
135
154
  registerStandardTraits();
@@ -1 +1 @@
1
- {"version":3,"file":"traits.js","sourceRoot":"","sources":["../../../src/agents/kinds/traits.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"traits.js","sourceRoot":"","sources":["../../../src/agents/kinds/traits.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"companion.d.ts","sourceRoot":"","sources":["../../../src/agents/prompts/companion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AASpD,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAiFzE"}
1
+ {"version":3,"file":"companion.d.ts","sourceRoot":"","sources":["../../../src/agents/prompts/companion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AASpD,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CA8FzE"}
@@ -31,6 +31,19 @@ export function companionSystemPrompt(kind) {
31
31
  'Ground every comment in what the files actually contain. Make no commits.',
32
32
  ]
33
33
  : []),
34
+ // The document reviewer carries `doc-aware`, so the engine folds the task's
35
+ // writing-style fragments (anti-LLM-isms, concise & actionable) into this prompt under
36
+ // "Follow these standards while doing the work". For a REVIEWER, those standards are the
37
+ // criteria to hold the draft to — make that explicit so the same bodies serve as both
38
+ // the writer's instruction and the reviewer's check.
39
+ ...(kind === 'doc-reviewer'
40
+ ? [
41
+ '',
42
+ 'Any writing standards included below are the CRITERIA the document must meet: hold the',
43
+ 'draft to them and flag every violation (LLM tells, filler, hedging, passive or vague',
44
+ 'recommendations, bullet inflation) in your rating and comments.',
45
+ ]
46
+ : []),
34
47
  // The spec-writer only TRANSLATES the task requirements it was given into a spec
35
48
  // increment; inventing, completing, or deciding requirements is the requirements
36
49
  // step's job, not its. So judge only what the writer controls — fidelity to the
@@ -1 +1 @@
1
- {"version":3,"file":"companion.js","sourceRoot":"","sources":["../../../src/agents/prompts/companion.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAEnD,6EAA6E;AAC7E,mFAAmF;AACnF,mFAAmF;AACnF,+BAA+B;AAE/B,2FAA2F;AAC3F,MAAM,UAAU,qBAAqB,CAAC,IAAe;IACnD,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IAC9B,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAA;IAC1B,OAAO;QACL,wDAAwD,GAAG,CAAC,OAAO,kBAAkB;QACrF,aAAa,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,oDAAoD;QACxF,qFAAqF;QACrF,yFAAyF;QACzF,4FAA4F;QAC5F,+BAA+B;QAC/B,oFAAoF;QACpF,uFAAuF;QACvF,uFAAuF;QACvF,sFAAsF;QACtF,mFAAmF;QACnF,GAAG,CAAC,0BAA0B,CAAC,IAAI,CAAC;YAClC,CAAC,CAAC;gBACE,EAAE;gBACF,iFAAiF;gBACjF,kFAAkF;gBAClF,+EAA+E;gBAC/E,mFAAmF;gBACnF,2EAA2E;aAC5E;YACH,CAAC,CAAC,EAAE,CAAC;QACP,iFAAiF;QACjF,iFAAiF;QACjF,gFAAgF;QAChF,mFAAmF;QACnF,kFAAkF;QAClF,8DAA8D;QAC9D,GAAG,CAAC,IAAI,KAAK,gBAAgB;YAC3B,CAAC,CAAC;gBACE,EAAE;gBACF,mFAAmF;gBACnF,2EAA2E;gBAC3E,qFAAqF;gBACrF,oFAAoF;gBACpF,aAAa;gBACb,kFAAkF;gBAClF,gFAAgF;gBAChF,8EAA8E;gBAC9E,mFAAmF;gBACnF,yEAAyE;gBACzE,2EAA2E;gBAC3E,+BAA+B;gBAC/B,6EAA6E;gBAC7E,kFAAkF;gBAClF,iFAAiF;gBACjF,kFAAkF;gBAClF,wDAAwD;gBACxD,kFAAkF;gBAClF,kFAAkF;gBAClF,0DAA0D;gBAC1D,EAAE;gBACF,mFAAmF;gBACnF,qFAAqF;gBACrF,mFAAmF;gBACnF,sEAAsE;gBACtE,8EAA8E;gBAC9E,kFAAkF;gBAClF,sFAAsF;gBACtF,kFAAkF;gBAClF,sFAAsF;gBACtF,qFAAqF;gBACrF,+EAA+E;aAChF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,EAAE;QACF,0CAA0C;QAC1C,wFAAwF;QACxF,0FAA0F;QAC1F,oFAAoF;QACpF,oFAAoF;QACpF,GAAG,CAAC,IAAI,KAAK,gBAAgB;YAC3B,CAAC,CAAC,CAAC,kEAAkE,CAAC;YACtE,CAAC,CAAC,EAAE,CAAC;QACP,4CAA4C;QAC5C,EAAE;QACF,qBAAqB;KACtB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"companion.js","sourceRoot":"","sources":["../../../src/agents/prompts/companion.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAEnD,6EAA6E;AAC7E,mFAAmF;AACnF,mFAAmF;AACnF,+BAA+B;AAE/B,2FAA2F;AAC3F,MAAM,UAAU,qBAAqB,CAAC,IAAe;IACnD,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IAC9B,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAA;IAC1B,OAAO;QACL,wDAAwD,GAAG,CAAC,OAAO,kBAAkB;QACrF,aAAa,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,oDAAoD;QACxF,qFAAqF;QACrF,yFAAyF;QACzF,4FAA4F;QAC5F,+BAA+B;QAC/B,oFAAoF;QACpF,uFAAuF;QACvF,uFAAuF;QACvF,sFAAsF;QACtF,mFAAmF;QACnF,GAAG,CAAC,0BAA0B,CAAC,IAAI,CAAC;YAClC,CAAC,CAAC;gBACE,EAAE;gBACF,iFAAiF;gBACjF,kFAAkF;gBAClF,+EAA+E;gBAC/E,mFAAmF;gBACnF,2EAA2E;aAC5E;YACH,CAAC,CAAC,EAAE,CAAC;QACP,4EAA4E;QAC5E,uFAAuF;QACvF,yFAAyF;QACzF,sFAAsF;QACtF,qDAAqD;QACrD,GAAG,CAAC,IAAI,KAAK,cAAc;YACzB,CAAC,CAAC;gBACE,EAAE;gBACF,wFAAwF;gBACxF,sFAAsF;gBACtF,iEAAiE;aAClE;YACH,CAAC,CAAC,EAAE,CAAC;QACP,iFAAiF;QACjF,iFAAiF;QACjF,gFAAgF;QAChF,mFAAmF;QACnF,kFAAkF;QAClF,8DAA8D;QAC9D,GAAG,CAAC,IAAI,KAAK,gBAAgB;YAC3B,CAAC,CAAC;gBACE,EAAE;gBACF,mFAAmF;gBACnF,2EAA2E;gBAC3E,qFAAqF;gBACrF,oFAAoF;gBACpF,aAAa;gBACb,kFAAkF;gBAClF,gFAAgF;gBAChF,8EAA8E;gBAC9E,mFAAmF;gBACnF,yEAAyE;gBACzE,2EAA2E;gBAC3E,+BAA+B;gBAC/B,6EAA6E;gBAC7E,kFAAkF;gBAClF,iFAAiF;gBACjF,kFAAkF;gBAClF,wDAAwD;gBACxD,kFAAkF;gBAClF,kFAAkF;gBAClF,0DAA0D;gBAC1D,EAAE;gBACF,mFAAmF;gBACnF,qFAAqF;gBACrF,mFAAmF;gBACnF,sEAAsE;gBACtE,8EAA8E;gBAC9E,kFAAkF;gBAClF,sFAAsF;gBACtF,kFAAkF;gBAClF,sFAAsF;gBACtF,qFAAqF;gBACrF,+EAA+E;aAChF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,EAAE;QACF,0CAA0C;QAC1C,wFAAwF;QACxF,0FAA0F;QAC1F,oFAAoF;QACpF,oFAAoF;QACpF,GAAG,CAAC,IAAI,KAAK,gBAAgB;YAC3B,CAAC,CAAC,CAAC,kEAAkE,CAAC;YACtE,CAAC,CAAC,EAAE,CAAC;QACP,4CAA4C;QAC5C,EAAE;QACF,qBAAqB;KACtB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC"}
@@ -1,12 +1,10 @@
1
1
  import type { PromptFragment } from '@cat-factory/contracts';
2
- import type { CreateDocumentFragmentInput, CreatePromptFragmentInput, DocumentContentResolver, FragmentOwnerKind, ResolvedFragment, UpdatePromptFragmentInput } from '@cat-factory/kernel';
2
+ import type { CreateDocumentFragmentInput, CreatePromptFragmentInput, DocumentContent, DocumentContentResolver, FragmentOwnerKind, ResolvedFragment, UpdatePromptFragmentInput } from '@cat-factory/kernel';
3
3
  import type { Clock, GroupCacheHandle } from '@cat-factory/kernel';
4
4
  import type { FragmentSelector, FragmentResolver, FragmentResolverInput, FragmentRunSelection } from '@cat-factory/kernel';
5
5
  import type { PromptFragmentRepository } from '@cat-factory/kernel';
6
6
  import type { WorkspaceRepository } from '@cat-factory/kernel';
7
7
  import { type ResolvedCatalogEntry } from './fragment-catalog.js';
8
- /** Default freshness window for a document-backed fragment's live body (5 min). */
9
- export declare const DEFAULT_DOCUMENT_FRAGMENT_TTL_MS: number;
10
8
  export interface FragmentLibraryServiceDependencies {
11
9
  promptFragmentRepository: PromptFragmentRepository;
12
10
  workspaceRepository: WorkspaceRepository;
@@ -27,8 +25,6 @@ export interface FragmentLibraryServiceDependencies {
27
25
  * uses each entry's last-resolved `body` unchanged.
28
26
  */
29
27
  documentContentResolver?: DocumentContentResolver;
30
- /** Freshness window for a document-backed body; defaults to {@link DEFAULT_DOCUMENT_FRAGMENT_TTL_MS}. */
31
- documentFragmentTtlMs?: number;
32
28
  /**
33
29
  * Read-through cache for the merged tenant catalog (`AppCaches.fragmentCatalog`,
34
30
  * docs/initiatives/caching-layer.md slice 1), grouped by workspace id. This
@@ -37,6 +33,18 @@ export interface FragmentLibraryServiceDependencies {
37
33
  * construction) ⇒ every resolve loads from the repositories.
38
34
  */
39
35
  catalogCache?: GroupCacheHandle<ResolvedCatalogEntry[]>;
36
+ /**
37
+ * Read-through cache for a document-backed fragment's live external body
38
+ * (`AppCaches.fragmentDocumentBody`, docs/initiatives/caching-layer.md slice 2),
39
+ * grouped by the connection workspace and keyed per document. Self-verifying: an
40
+ * entry entering its refresh window runs the source's cheap version probe and
41
+ * keeps the cached body when the page hasn't moved, so a run reads the body
42
+ * without blocking on a live page fetch. Absent (direct test construction) ⇒ a
43
+ * run serves the last-persisted body and does NOT re-resolve live (the durable
44
+ * `prompt_fragments.body`, refreshed only by an explicit create/refresh, is the
45
+ * fallback).
46
+ */
47
+ documentBodyCache?: GroupCacheHandle<DocumentContent>;
40
48
  }
41
49
  /**
42
50
  * The fragment library's management service (ADR 0006). It owns the per-tier CRUD
@@ -54,8 +62,8 @@ export declare class FragmentLibraryService implements FragmentResolver {
54
62
  private readonly selector;
55
63
  private readonly builtinsOverride?;
56
64
  private readonly documentResolver?;
57
- private readonly ttlMs;
58
65
  private readonly catalogCache?;
66
+ private readonly documentBodyCache?;
59
67
  constructor(deps: FragmentLibraryServiceDependencies);
60
68
  /**
61
69
  * The built-in tier: the injected test override, else the UNIVERSAL pool (shipped
@@ -141,10 +149,24 @@ export declare class FragmentLibraryService implements FragmentResolver {
141
149
  body: string;
142
150
  }[]>;
143
151
  /**
144
- * The live body for a document-backed catalog entry: re-fetch from the source
145
- * when stale (and the resolver is wired), persisting the refresh; otherwise the
146
- * cached body. Never throws a failed fetch degrades to the cached body.
152
+ * The live body for a document-backed catalog entry, served through the
153
+ * document-body cache: on a cache miss it fetches from the source; an entry
154
+ * entering its refresh window runs the source's cheap version probe and keeps the
155
+ * cached body when the page hasn't moved (else a background reload). The read
156
+ * never blocks on a live fetch once warm, and a failed fetch degrades to the
157
+ * entry's last-persisted `body`. Without a cache wired the live re-resolve is
158
+ * off — the durable persisted body (refreshed only by an explicit create/refresh)
159
+ * is served as-is, since the freshness mechanism lives in the cache.
147
160
  */
148
161
  private resolveDocumentBody;
162
+ /**
163
+ * Drop a document-backed fragment's cached live body after an explicit write
164
+ * (create/refresh/edit/remove) so the next run re-resolves it immediately rather
165
+ * than waiting out the refresh window. Best-effort: the cache is self-verifying
166
+ * via the version probe, so a group we can't resolve (a legacy row with no
167
+ * recorded connection workspace) simply relies on the probe/TTL instead. Peers
168
+ * drop their entry via the notification bus.
169
+ */
170
+ private invalidateDocumentBody;
149
171
  }
150
172
  //# sourceMappingURL=FragmentLibraryService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FragmentLibraryService.d.ts","sourceRoot":"","sources":["../../src/fragmentLibrary/FragmentLibraryService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FragmentLibraryService.d.ts","sourceRoot":"","sources":["../../src/fragmentLibrary/FragmentLibraryService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,OAAO,KAAK,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,eAAe,EACf,uBAAuB,EAEvB,iBAAiB,EACjB,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAwB,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AACzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE9D,OAAO,EACL,KAAK,oBAAoB,EAI1B,MAAM,uBAAuB,CAAA;AAG9B,MAAM,WAAW,kCAAkC;IACjD,wBAAwB,EAAE,wBAAwB,CAAA;IAClD,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,KAAK,EAAE,KAAK,CAAA;IACZ,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAA;IAC3B;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;IACjD;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,EAAE,CAAC,CAAA;IACvD;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAA;CACtD;AAED;;;;;;;;GAQG;AACH,qBAAa,sBAAuB,YAAW,gBAAgB;IAC7D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA0B;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAkB;IACpD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAyB;IAC3D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAA0C;IACxE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAmC;IAEtE,YAAY,IAAI,EAAE,kCAAkC,EASnD;IAED;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAIhB,mFAAmF;IAC7E,QAAQ,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAGvF;IAED,iDAAiD;IAC3C,MAAM,CACV,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,cAAc,CAAC,CA6BzB;IAED;;;;;;;OAOG;IACG,kBAAkB,CACtB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,2BAA2B,EAClC,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,cAAc,CAAC,CAoCzB;IAED;;;;OAIG;IACG,OAAO,CACX,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,cAAc,CAAC,CAiCzB;IAED;;;;OAIG;IACG,MAAM,CACV,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,cAAc,CAAC,CA4CzB;IAED;;;;OAIG;IACG,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC7F;IAED;;;;;;;OAOG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAGzE;IAED,gFAAgF;YAClE,WAAW;IASzB;;;;;;;;OAQG;IACG,qBAAqB,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxF;IAED,kFAAkF;IAC5E,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAGtE;IAED,kFAAkF;IAC5E,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAkC/E;IAED;;;;;;;;;;;;;;;;OAgBG;IACG,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EAAE,EACb,OAAO,CAAC,EAAE,oBAAoB,EAAE,GAC/B,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAkBzC;IAED;;;;;;;;;OASG;YACW,mBAAmB;IAoCjC;;;;;;;OAOG;YACW,sBAAsB;CAUrC"}
@@ -3,8 +3,6 @@ import { ValidationError, buildExcerpt } from '@cat-factory/kernel';
3
3
  import { DeterministicFragmentSelector } from './DeterministicFragmentSelector.js';
4
4
  import { entryToFragment, mergeCatalog, toSelectable, } from './fragment-catalog.js';
5
5
  import { slugFromPath } from './fragment-source.logic.js';
6
- /** Default freshness window for a document-backed fragment's live body (5 min). */
7
- export const DEFAULT_DOCUMENT_FRAGMENT_TTL_MS = 5 * 60 * 1000;
8
6
  /**
9
7
  * The fragment library's management service (ADR 0006). It owns the per-tier CRUD
10
8
  * (account / workspace) and resolves the merged catalog a workspace sees (built-in ∪
@@ -21,8 +19,8 @@ export class FragmentLibraryService {
21
19
  selector;
22
20
  builtinsOverride;
23
21
  documentResolver;
24
- ttlMs;
25
22
  catalogCache;
23
+ documentBodyCache;
26
24
  constructor(deps) {
27
25
  this.repo = deps.promptFragmentRepository;
28
26
  this.workspaces = deps.workspaceRepository;
@@ -30,8 +28,8 @@ export class FragmentLibraryService {
30
28
  this.selector = deps.selector ?? new DeterministicFragmentSelector();
31
29
  this.builtinsOverride = deps.builtins;
32
30
  this.documentResolver = deps.documentContentResolver;
33
- this.ttlMs = deps.documentFragmentTtlMs ?? DEFAULT_DOCUMENT_FRAGMENT_TTL_MS;
34
31
  this.catalogCache = deps.catalogCache;
32
+ this.documentBodyCache = deps.documentBodyCache;
35
33
  }
36
34
  /**
37
35
  * The built-in tier: the injected test override, else the UNIVERSAL pool (shipped
@@ -120,6 +118,7 @@ export class FragmentLibraryService {
120
118
  };
121
119
  await this.repo.upsert(record);
122
120
  await this.invalidateCatalogTier(ownerKind, ownerId);
121
+ await this.invalidateDocumentBody(record);
123
122
  return recordToWire(record);
124
123
  }
125
124
  /**
@@ -154,6 +153,7 @@ export class FragmentLibraryService {
154
153
  };
155
154
  await this.repo.upsert(next);
156
155
  await this.invalidateCatalogTier(ownerKind, ownerId);
156
+ await this.invalidateDocumentBody(next);
157
157
  return recordToWire(next);
158
158
  }
159
159
  /**
@@ -203,6 +203,7 @@ export class FragmentLibraryService {
203
203
  }
204
204
  await this.repo.upsert(next);
205
205
  await this.invalidateCatalogTier(ownerKind, ownerId);
206
+ await this.invalidateDocumentBody(next);
206
207
  return recordToWire(next);
207
208
  }
208
209
  /**
@@ -216,6 +217,7 @@ export class FragmentLibraryService {
216
217
  if (existing) {
217
218
  await this.repo.softDelete(ownerKind, ownerId, fragmentId, now);
218
219
  await this.invalidateCatalogTier(ownerKind, ownerId);
220
+ await this.invalidateDocumentBody(existing);
219
221
  return;
220
222
  }
221
223
  await this.repo.upsert({
@@ -363,50 +365,67 @@ export class FragmentLibraryService {
363
365
  return out;
364
366
  }
365
367
  /**
366
- * The live body for a document-backed catalog entry: re-fetch from the source
367
- * when stale (and the resolver is wired), persisting the refresh; otherwise the
368
- * cached body. Never throws a failed fetch degrades to the cached body.
368
+ * The live body for a document-backed catalog entry, served through the
369
+ * document-body cache: on a cache miss it fetches from the source; an entry
370
+ * entering its refresh window runs the source's cheap version probe and keeps the
371
+ * cached body when the page hasn't moved (else a background reload). The read
372
+ * never blocks on a live fetch once warm, and a failed fetch degrades to the
373
+ * entry's last-persisted `body`. Without a cache wired the live re-resolve is
374
+ * off — the durable persisted body (refreshed only by an explicit create/refresh)
375
+ * is served as-is, since the freshness mechanism lives in the cache.
369
376
  */
370
377
  async resolveDocumentBody(workspaceId, entry) {
371
378
  const ref = entry.documentRef;
372
379
  if (!ref || !this.documentResolver || entry.tier === 'builtin')
373
380
  return entry.body;
374
- const now = this.clock.now();
375
- const fresh = entry.resolvedAt !== null && now - entry.resolvedAt < this.ttlMs;
376
- if (fresh)
381
+ if (!this.documentBodyCache)
377
382
  return entry.body;
378
- const ownerId = entry.tier === 'account' ? await this.workspaces.accountOf(workspaceId) : workspaceId;
379
- if (!ownerId)
383
+ const resolver = this.documentResolver;
384
+ // The connection workspace the body is cached + invalidated under. For a
385
+ // workspace-tier fragment that is its owning workspace (== the run's own). For an
386
+ // account-tier fragment it MUST be the recorded connection workspace, NOT the run's:
387
+ // the run can be any of the account's workspaces, so keying on it would fan the same
388
+ // document across N groups a later edit could never all invalidate. A legacy account
389
+ // row with none recorded can't be keyed stably, so it serves the durable persisted
390
+ // body — matching `invalidateDocumentBody`, which also skips it (best-effort).
391
+ const via = entry.docViaWorkspaceId ?? (entry.tier === 'account' ? null : workspaceId);
392
+ if (!via)
380
393
  return entry.body;
381
- // Re-read through the connection the fragment was linked/refreshed with — for an
382
- // account-tier fragment that is a fixed workspace, not whichever workspace the run
383
- // happens to be in (which may have no connection to this source). Pre-existing rows
384
- // with no recorded workspace degrade to the run's own.
385
- const viaWorkspaceId = entry.docViaWorkspaceId ?? workspaceId;
386
394
  try {
387
- const content = await this.documentResolver.fetch(viaWorkspaceId, ref.source, ref.externalId);
388
- const existing = await this.repo.get(entry.tier, ownerId, entry.id);
389
- if (existing) {
390
- await this.repo.upsert({
391
- ...existing,
392
- title: content.title,
393
- summary: buildExcerpt(content.body),
394
- body: content.body,
395
- docExternalId: content.externalId,
396
- resolvedAt: now,
397
- updatedAt: now,
398
- });
399
- // The cached catalog still carries the pre-refresh body + resolvedAt;
400
- // without this, every subsequent run would re-fetch the document until
401
- // the entry expired.
402
- await this.invalidateCatalogTier(entry.tier, ownerId);
403
- }
395
+ const content = await this.documentBodyCache.get(documentBodyKey(ref.source, ref.externalId), via, () => resolver.fetch(via, ref.source, ref.externalId), async (cached) => {
396
+ // An empty version token means the source exposes no version to compare, so the
397
+ // probe can't confirm freshness — treat it as stale so the entry falls through
398
+ // to a real reload (bounded by the TTL) instead of being pinned forever.
399
+ if (!cached.version)
400
+ return false;
401
+ return (await resolver.probeVersion(via, ref.source, ref.externalId)) === cached.version;
402
+ });
404
403
  return content.body;
405
404
  }
406
405
  catch {
407
406
  return entry.body; // source unreachable → last-resolved body keeps the run going
408
407
  }
409
408
  }
409
+ /**
410
+ * Drop a document-backed fragment's cached live body after an explicit write
411
+ * (create/refresh/edit/remove) so the next run re-resolves it immediately rather
412
+ * than waiting out the refresh window. Best-effort: the cache is self-verifying
413
+ * via the version probe, so a group we can't resolve (a legacy row with no
414
+ * recorded connection workspace) simply relies on the probe/TTL instead. Peers
415
+ * drop their entry via the notification bus.
416
+ */
417
+ async invalidateDocumentBody(record) {
418
+ if (!this.documentBodyCache || !record.docSource || record.docExternalId === null)
419
+ return;
420
+ const via = record.docViaWorkspaceId ?? (record.ownerKind === 'workspace' ? record.ownerId : null);
421
+ if (!via)
422
+ return;
423
+ await this.documentBodyCache.invalidate(documentBodyKey(record.docSource, record.docExternalId), via);
424
+ }
425
+ }
426
+ /** The document-body cache key: one entry per source document, within a workspace group. */
427
+ function documentBodyKey(source, externalId) {
428
+ return `${source}:${externalId}`;
410
429
  }
411
430
  function recordToWire(record) {
412
431
  const fragment = {
@@ -1 +1 @@
1
- {"version":3,"file":"FragmentLibraryService.js","sourceRoot":"","sources":["../../src/fragmentLibrary/FragmentLibraryService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FragmentLibraryService.js","sourceRoot":"","sources":["../../src/fragmentLibrary/FragmentLibraryService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAWlE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAUnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAA;AAClF,OAAO,EAEL,eAAe,EACf,YAAY,EACZ,YAAY,GACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AA4CzD;;;;;;;;GAQG;AACH,MAAM,OAAO,sBAAsB;IAChB,IAAI,CAA0B;IAC9B,UAAU,CAAqB;IAC/B,KAAK,CAAO;IACZ,QAAQ,CAAkB;IAC1B,gBAAgB,CAAmB;IACnC,gBAAgB,CAA0B;IAC1C,YAAY,CAA2C;IACvD,iBAAiB,CAAoC;IAEtE,YAAY,IAAwC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,wBAAwB,CAAA;QACzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAA;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,6BAA6B,EAAE,CAAA;QACpE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAA;QACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAA;QACpD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;QACrC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAA;IACjD,CAAC;IAED;;;;OAIG;IACK,QAAQ;QACd,OAAO,IAAI,CAAC,gBAAgB,IAAI,kBAAkB,EAAE,CAAA;IACtD,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,QAAQ,CAAC,SAA4B,EAAE,OAAe;QAC1D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;IACvF,CAAC;IAED,iDAAiD;IACjD,KAAK,CAAC,MAAM,CACV,SAA4B,EAC5B,OAAe,EACf,KAAgC;QAEhC,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACjE,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,eAAe,CAAC,kDAAkD,CAAC,CAAA;QAC9F,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QAC5B,MAAM,MAAM,GAAyB;YACnC,UAAU;YACV,SAAS;YACT,OAAO;YACP,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,OAAO;YACjC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;YACzB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI;YACxC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;YAC7B,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;YACvB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;YAClC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YACzD,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,IAAI;YACnB,iBAAiB,EAAE,IAAI;YACvB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,IAAI;SAChB,CAAA;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC9B,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QACpD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,kBAAkB,CACtB,SAA4B,EAC5B,OAAe,EACf,KAAkC,EAClC,mBAA2B;QAE3B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,IAAI,eAAe,CAAC,mDAAmD,CAAC,CAAA;QAChF,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;QAC/F,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACnE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,eAAe,CAAC,kEAAkE,CAAC,CAAA;QAC/F,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QAC5B,MAAM,MAAM,GAAyB;YACnC,UAAU;YACV,SAAS;YACT,OAAO;YACP,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI;YACxC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;YACnC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;YAClC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YACzD,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,KAAK,CAAC,MAAM;YACvB,aAAa,EAAE,OAAO,CAAC,UAAU;YACjC,iBAAiB,EAAE,mBAAmB;YACtC,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,IAAI;SAChB,CAAA;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC9B,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QACpD,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAA;QACzC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CACX,SAA4B,EAC5B,OAAe,EACf,UAAkB,EAClB,cAAsB;QAEtB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,IAAI,eAAe,CAAC,mDAAmD,CAAC,CAAA;QAChF,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;QACpE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC7C,MAAM,IAAI,eAAe,CAAC,aAAa,UAAU,iBAAiB,CAAC,CAAA;QACrE,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3D,MAAM,IAAI,eAAe,CAAC,aAAa,UAAU,0BAA0B,CAAC,CAAA;QAC9E,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAC/C,cAAc,EACd,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,aAAa,CACvB,CAAA;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QAC5B,MAAM,IAAI,GAAyB;YACjC,GAAG,QAAQ;YACX,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;YACnC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,aAAa,EAAE,OAAO,CAAC,UAAU;YACjC,sEAAsE;YACtE,uEAAuE;YACvE,iBAAiB,EAAE,cAAc;YACjC,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,GAAG;SACf,CAAA;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QACpD,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAA;QACvC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CACV,SAA4B,EAC5B,OAAe,EACf,UAAkB,EAClB,KAAgC;QAEhC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;QACpE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QAC5B,MAAM,IAAI,GAAyB,QAAQ,IAAI;YAC7C,UAAU;YACV,SAAS;YACT,OAAO;YACP,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,IAAI;YACnB,iBAAiB,EAAE,IAAI;YACvB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,IAAI;SAChB,CAAA;QACD,MAAM,IAAI,GAAyB;YACjC,GAAG,IAAI;YACP,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO;YAC9C,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK;YACxC,QAAQ,EAAE,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ;YACtF,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO;YAC9C,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI;YACrC,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;YAC3E,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;YACpF,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,IAAI,EAAE,wBAAwB;SAC1C,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,IAAI,eAAe,CAAC,uCAAuC,CAAC,CAAA;QACpE,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QACpD,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAA;QACvC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,SAA4B,EAAE,OAAe,EAAE,UAAkB;QAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;QACpE,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,CAAA;YAC/D,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;YACpD,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;YAC3C,OAAM;QACR,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YACrB,UAAU;YACV,SAAS;YACT,OAAO;YACP,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,IAAI;YACnB,iBAAiB,EAAE,IAAI;YACvB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACf,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACtD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,cAAc,CAAC,WAAmB;QACtC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAA;IAC7F,CAAC;IAED,gFAAgF;IACxE,KAAK,CAAC,WAAW,CAAC,WAAmB;QAC3C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAC9D,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACrD,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACnF,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC;SACtD,CAAC,CAAA;QACF,OAAO,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,aAAa,CAAC,CAAA;IAClE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,qBAAqB,CAAC,SAA4B,EAAE,OAAe;QACvE,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAM;QAC9B,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAClD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAA;QACzC,CAAC;IACH,CAAC;IAED,kFAAkF;IAClF,KAAK,CAAC,eAAe,CAAC,WAAmB;QACvC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;QACtD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAClF,CAAC;IAED,kFAAkF;IAClF,KAAK,CAAC,aAAa,CAAC,KAA4B;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAC5D,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAEnD,IAAI,MAAM,GAAa,EAAE,CAAA;QACzB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;gBAC7D,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAA;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,EAAE,CAAA,CAAC,wDAAwD;QACtE,CAAC;QAED,0EAA0E;QAC1E,2EAA2E;QAC3E,+CAA+C;QAC/C,MAAM,WAAW,GAAa,EAAE,CAAA;QAChC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;QAC9B,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;YACjD,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAQ;YAC3C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACZ,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACtB,CAAC;QACD,0DAA0D;QAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACrD,OAAO;YACL,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3D,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,mBAAmB,CACvB,WAAmB,EACnB,GAAa,EACb,OAAgC;QAEhC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAC/B,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAA;QACnE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAEnD,MAAM,GAAG,GAAmC,EAAE,CAAA;QAC9C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;QAC9B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAQ;YAC1B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC1B,IAAI,CAAC,KAAK;gBAAE,SAAQ;YACpB,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW;gBAC5B,CAAC,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC;gBACpD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;YACd,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QACxB,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,mBAAmB,CAC/B,WAAmB,EACnB,KAA2B;QAE3B,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAA;QAC7B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC,IAAI,CAAA;QACjF,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,OAAO,KAAK,CAAC,IAAI,CAAA;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAA;QACtC,yEAAyE;QACzE,kFAAkF;QAClF,qFAAqF;QACrF,qFAAqF;QACrF,qFAAqF;QACrF,mFAAmF;QACnF,+EAA+E;QAC/E,MAAM,GAAG,GAAG,KAAK,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;QACtF,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC,IAAI,CAAA;QAC3B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAC9C,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,EAC3C,GAAG,EACH,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,EACrD,KAAK,EAAE,MAAM,EAAE,EAAE;gBACf,gFAAgF;gBAChF,+EAA+E;gBAC/E,yEAAyE;gBACzE,IAAI,CAAC,MAAM,CAAC,OAAO;oBAAE,OAAO,KAAK,CAAA;gBACjC,OAAO,CAAC,MAAM,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,CAAA;YAC1F,CAAC,CACF,CAAA;YACD,OAAO,OAAO,CAAC,IAAI,CAAA;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC,IAAI,CAAA,CAAC,8DAA8D;QAClF,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,sBAAsB,CAAC,MAA4B;QAC/D,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI;YAAE,OAAM;QACzF,MAAM,GAAG,GACP,MAAM,CAAC,iBAAiB,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACxF,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CACrC,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,EACvD,GAAG,CACJ,CAAA;IACH,CAAC;CACF;AAED,4FAA4F;AAC5F,SAAS,eAAe,CAAC,MAA0B,EAAE,UAAkB;IACrE,OAAO,GAAG,MAAM,IAAI,UAAU,EAAE,CAAA;AAClC,CAAC;AAED,SAAS,YAAY,CAAC,MAA4B;IAChD,MAAM,QAAQ,GAAmB;QAC/B,EAAE,EAAE,MAAM,CAAC,UAAU;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;QAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAA;IACD,IAAI,MAAM,CAAC,SAAS;QAAE,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;IAC3D,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM;QAAE,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IAClE,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC/E,QAAQ,CAAC,MAAM,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,SAAS,EAAE,CAAA;IACjG,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;QACtD,QAAQ,CAAC,WAAW,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,aAAa,EAAE,CAAA;IACvF,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;QAAE,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;IACvE,OAAO,QAAQ,CAAA;AACjB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@ export { TASK_ESTIMATOR_AGENT_KIND } from './agents/prompts/roles.js';
6
6
  export { type AgentKindDefinition, registerAgentKind, registerAgentKinds, registeredAgentKind, registeredAgentKinds, registeredKindRequiresContainer, registeredConfigContributions, registeredAgentStep, registeredPreOps, registeredPostOps, registeredAgentPresentation, registeredStructuredOutput, clearRegisteredAgentKinds, } from './agents/kinds/registry.js';
7
7
  export { isInlineModelStep, REQUIREMENTS_REVIEW_AGENT_KIND, CLARITY_REVIEW_AGENT_KIND, REQUIREMENTS_BRAINSTORM_AGENT_KIND, ARCHITECTURE_BRAINSTORM_AGENT_KIND, } from './agents/kinds/step-surface.js';
8
8
  export { type StructuredOutput, type StructuredOutputOptions, defineStructuredOutput, } from './agents/kinds/structured-output.js';
9
- export { type AgentTrait, type AgentTraitDefinition, CODE_AWARE_TRAIT, SPEC_AWARE_TRAIT, BINARY_STORAGE_TRAIT, SPEC_AWARE_GUIDANCE, STANDARD_AGENT_TRAITS, registerAgentTrait, registerAgentTraits, registeredAgentTrait, clearRegisteredAgentTraits, assignAgentTraits, clearAssignedAgentTraits, traitsFor, hasTrait, traitGuidanceFor, } from './agents/kinds/traits.js';
9
+ export { type AgentTrait, type AgentTraitDefinition, CODE_AWARE_TRAIT, DOC_AWARE_TRAIT, SPEC_AWARE_TRAIT, BINARY_STORAGE_TRAIT, SPEC_AWARE_GUIDANCE, STANDARD_AGENT_TRAITS, registerAgentTrait, registerAgentTraits, registeredAgentTrait, clearRegisteredAgentTraits, assignAgentTraits, clearAssignedAgentTraits, traitsFor, hasTrait, traitGuidanceFor, } from './agents/kinds/traits.js';
10
10
  export { type AgentTuning, type AgentGuardTuning, agentTuningFor } from './agents/kinds/tuning.js';
11
11
  export { PLAYWRIGHT_E2E_TARGET_CONFIG_ID, configContributionsFor, configContributionCatalog, } from './agents/kinds/configs.js';
12
12
  export { isTestingKind, testingSystemPrompt, testerEnvironmentSection, TESTER_QC_SYSTEM_PROMPT, } from './agents/prompts/testing.js';
@@ -21,6 +21,7 @@ export { type AcceptanceAgentKind, ACCEPTANCE_AGENT_KINDS, acceptanceSystemPromp
21
21
  export { type CompanionDefinition, COMPANIONS, isCompanionKind, companionFor, companionTargets, isContainerBackedCompanion, } from './agents/kinds/companions.js';
22
22
  export { companionSystemPrompt } from './agents/prompts/companion.js';
23
23
  export { DOC_RESEARCHER_KIND, DOC_OUTLINER_KIND, DOC_WRITER_KIND, DOC_FINALIZER_KIND, DOC_REVIEWER_KIND, DOCUMENT_AGENT_KINDS, registerDocumentAgents, } from './agents/kinds/document.js';
24
+ export { type DocTemplate, type DocTemplateSection, DOC_TEMPLATES, registerDocTemplate, registerDocTemplates, clearRegisteredDocTemplates, docTemplateFor, requiredSectionTitles, renderTemplateSkeleton, } from './agents/kinds/doc-templates.js';
24
25
  export { INITIATIVE_BREAKDOWN_KIND, INITIATIVE_AGENT_KINDS, registerInitiativeAgents, } from './agents/kinds/initiative.js';
25
26
  export { READ_ONLY_AGENT_KINDS, READ_ONLY_GUARDRAIL, isReadOnlyAgentKind, } from './agents/kinds/read-only.js';
26
27
  export { MOCK_AGENT_KIND, isMockKind, mockSystemPrompt } from './agents/prompts/mock.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -12,8 +12,9 @@ export { isInlineModelStep, REQUIREMENTS_REVIEW_AGENT_KIND, CLARITY_REVIEW_AGENT
12
12
  // one valibot schema instead of a hand-written shapeHint string + lenient coercer.
13
13
  export { defineStructuredOutput, } from './agents/kinds/structured-output.js';
14
14
  // Agent capability traits (standard + custom). `code-aware` gates the engine's folding
15
- // of the service's best-practice fragments; `spec-aware` appends the in-repo-spec guidance.
16
- export { CODE_AWARE_TRAIT, SPEC_AWARE_TRAIT, BINARY_STORAGE_TRAIT, SPEC_AWARE_GUIDANCE, STANDARD_AGENT_TRAITS, registerAgentTrait, registerAgentTraits, registeredAgentTrait, clearRegisteredAgentTraits, assignAgentTraits, clearAssignedAgentTraits, traitsFor, hasTrait, traitGuidanceFor, } from './agents/kinds/traits.js';
15
+ // of the service's best-practice fragments; `doc-aware` folds the document-task writing
16
+ // style fragments the same way; `spec-aware` appends the in-repo-spec guidance.
17
+ export { CODE_AWARE_TRAIT, DOC_AWARE_TRAIT, SPEC_AWARE_TRAIT, BINARY_STORAGE_TRAIT, SPEC_AWARE_GUIDANCE, STANDARD_AGENT_TRAITS, registerAgentTrait, registerAgentTraits, registeredAgentTrait, clearRegisteredAgentTraits, assignAgentTraits, clearAssignedAgentTraits, traitsFor, hasTrait, traitGuidanceFor, } from './agents/kinds/traits.js';
17
18
  // Per-agent-kind execution tuning (today: progress-guard knobs) folded into a container
18
19
  // dispatch's job body. Loosen-only, so a kind's normal pattern isn't killed mid-progress.
19
20
  export { agentTuningFor } from './agents/kinds/tuning.js';
@@ -40,6 +41,14 @@ export { companionSystemPrompt } from './agents/prompts/companion.js';
40
41
  // first-class kinds in every deployment (Worker / Node / local). `doc-reviewer` — the
41
42
  // writer's companion — lives in the COMPANIONS catalog above.
42
43
  export { DOC_RESEARCHER_KIND, DOC_OUTLINER_KIND, DOC_WRITER_KIND, DOC_FINALIZER_KIND, DOC_REVIEWER_KIND, DOCUMENT_AGENT_KINDS, registerDocumentAgents, } from './agents/kinds/document.js';
44
+ // Per-`DocKind` document templates: the single source of truth for a kind's expected shape,
45
+ // woven into the outliner/writer prompts and (later) read by the doc-quality gate. The
46
+ // built-in `DOC_TEMPLATES` are the fallback; a deployment overrides via `registerDocTemplate`.
47
+ // The public surface is the registry + the two cross-consumer helpers: `requiredSectionTitles`
48
+ // (the WS4 doc-quality gate's source of truth) and `renderTemplateSkeleton` (for override
49
+ // authors to preview a template). The prompt-weaving helpers (`templateStructureLine` /
50
+ // `templateOutlineGuidance` / `templateSkeletonGuidance`) stay module-private to `document.ts`.
51
+ export { DOC_TEMPLATES, registerDocTemplate, registerDocTemplates, clearRegisteredDocTemplates, docTemplateFor, requiredSectionTitles, renderTemplateSkeleton, } from './agents/kinds/doc-templates.js';
43
52
  export { INITIATIVE_BREAKDOWN_KIND, INITIATIVE_AGENT_KINDS, registerInitiativeAgents, } from './agents/kinds/initiative.js';
44
53
  export { READ_ONLY_AGENT_KINDS, READ_ONLY_GUARDRAIL, isReadOnlyAgentKind, } from './agents/kinds/read-only.js';
45
54
  export { MOCK_AGENT_KIND, isMockKind, mockSystemPrompt } from './agents/prompts/mock.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/agents",
3
- "version": "0.31.0",
3
+ "version": "0.33.0",
4
4
  "description": "Agent catalog, routing, prompts and fragment library for the Agent Architecture Board.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -32,13 +32,13 @@
32
32
  "handlebars": "^4.7.9",
33
33
  "valibot": "^1.4.2",
34
34
  "@cat-factory/contracts": "0.95.0",
35
- "@cat-factory/kernel": "0.83.0",
36
- "@cat-factory/prompt-fragments": "0.9.55"
35
+ "@cat-factory/kernel": "0.84.0",
36
+ "@cat-factory/prompt-fragments": "0.10.0"
37
37
  },
38
38
  "devDependencies": {
39
39
  "typescript": "7.0.1-rc",
40
40
  "vitest": "^4.1.9",
41
- "@cat-factory/caching": "0.2.0"
41
+ "@cat-factory/caching": "0.3.0"
42
42
  },
43
43
  "scripts": {
44
44
  "build": "tsc -b tsconfig.build.json",