@cat-factory/agents 0.30.5 → 0.32.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.
- package/dist/agents/kinds/doc-templates.d.ts +64 -0
- package/dist/agents/kinds/doc-templates.d.ts.map +1 -0
- package/dist/agents/kinds/doc-templates.js +212 -0
- package/dist/agents/kinds/doc-templates.js.map +1 -0
- package/dist/agents/kinds/document.d.ts.map +1 -1
- package/dist/agents/kinds/document.js +23 -19
- package/dist/agents/kinds/document.js.map +1 -1
- package/dist/fragmentLibrary/FragmentLibraryService.d.ts +61 -11
- package/dist/fragmentLibrary/FragmentLibraryService.d.ts.map +1 -1
- package/dist/fragmentLibrary/FragmentLibraryService.js +94 -31
- package/dist/fragmentLibrary/FragmentLibraryService.js.map +1 -1
- package/dist/fragmentLibrary/FragmentSourceService.d.ts +7 -0
- package/dist/fragmentLibrary/FragmentSourceService.d.ts.map +1 -1
- package/dist/fragmentLibrary/FragmentSourceService.js +6 -0
- package/dist/fragmentLibrary/FragmentSourceService.js.map +1 -1
- package/dist/fragmentLibrary/fragment-catalog.d.ts +2 -30
- package/dist/fragmentLibrary/fragment-catalog.d.ts.map +1 -1
- package/dist/fragmentLibrary/fragment-catalog.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
|
@@ -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;
|
|
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;AAiCxD,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,EAiErD,CAAA;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CONTEXT_BUDGET, estimateTokens } from '@cat-factory/kernel';
|
|
2
2
|
import { registerAgentKinds } from './registry.js';
|
|
3
3
|
import { linkedContextSection } from '../prompts/standard.js';
|
|
4
|
+
import { docTemplateFor, templateOutlineGuidance, templateSkeletonGuidance, templateStructureLine, } from './doc-templates.js';
|
|
4
5
|
// ---------------------------------------------------------------------------
|
|
5
6
|
// The document-authoring agent kinds — a FORWARD-authoring track whose deliverable IS an
|
|
6
7
|
// in-repo Markdown document (a PRD / RFC / design doc / ADR / technical reference / runbook /
|
|
@@ -50,19 +51,6 @@ const DOC_KIND_DIR = {
|
|
|
50
51
|
reference: 'docs/reference',
|
|
51
52
|
other: 'docs',
|
|
52
53
|
};
|
|
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
54
|
/** The document fields on the task, defaulting `docKind` to `other` when unset. */
|
|
67
55
|
function docFields(context) {
|
|
68
56
|
const fields = context.block.taskTypeFields;
|
|
@@ -75,12 +63,22 @@ function docFields(context) {
|
|
|
75
63
|
outlineHints: fields?.outlineHints?.trim() || undefined,
|
|
76
64
|
};
|
|
77
65
|
}
|
|
78
|
-
/**
|
|
66
|
+
/**
|
|
67
|
+
* The shared "what document are we writing" brief woven into every doc-kind prompt.
|
|
68
|
+
*
|
|
69
|
+
* `structure: 'full'` (the default) spells out the section list via `templateStructureLine` —
|
|
70
|
+
* the researcher/finalizer get ONLY this brief, so they need it. The outliner/writer pass
|
|
71
|
+
* `structure: 'summary'` because they also receive the fuller template guidance below
|
|
72
|
+
* (`templateOutlineGuidance` / `templateSkeletonGuidance`), so repeating the section list in
|
|
73
|
+
* the brief would just spend tokens with no added signal.
|
|
74
|
+
*/
|
|
79
75
|
function docBriefSection(context, opts) {
|
|
80
76
|
const { docKind, audience, targetPath, outlineHints } = docFields(context);
|
|
77
|
+
const template = docTemplateFor(docKind);
|
|
78
|
+
const structure = opts.structure === 'summary' ? template.summary : templateStructureLine(template);
|
|
81
79
|
const lines = [
|
|
82
80
|
`Document title: ${context.block.title}`,
|
|
83
|
-
`Document kind: ${docKind} — produce ${
|
|
81
|
+
`Document kind: ${docKind} — produce ${structure}.`,
|
|
84
82
|
`Target file: \`${targetPath}\` (Markdown).`,
|
|
85
83
|
];
|
|
86
84
|
if (audience)
|
|
@@ -155,22 +153,28 @@ function docResearcherUserPrompt(context) {
|
|
|
155
153
|
].join('\n');
|
|
156
154
|
}
|
|
157
155
|
function docOutlinerUserPrompt(context) {
|
|
156
|
+
const { docKind } = docFields(context);
|
|
158
157
|
return [
|
|
159
158
|
`Pipeline: ${context.pipelineName}`,
|
|
160
|
-
docBriefSection(context, {}),
|
|
159
|
+
docBriefSection(context, { structure: 'summary' }),
|
|
161
160
|
priorWorkSection(context),
|
|
162
161
|
'',
|
|
162
|
+
templateOutlineGuidance(docTemplateFor(docKind)),
|
|
163
|
+
'',
|
|
163
164
|
'Produce the outline (sections + one-line intent each). Do not write the prose.',
|
|
164
165
|
].join('\n');
|
|
165
166
|
}
|
|
166
167
|
function docWriterUserPrompt(context) {
|
|
167
|
-
const { targetPath } = docFields(context);
|
|
168
|
+
const { docKind, targetPath } = docFields(context);
|
|
168
169
|
return [
|
|
169
170
|
`Pipeline: ${context.pipelineName}`,
|
|
170
|
-
docBriefSection(context, { materialized: true }),
|
|
171
|
+
docBriefSection(context, { materialized: true, structure: 'summary' }),
|
|
171
172
|
priorWorkSection(context),
|
|
172
173
|
'',
|
|
173
|
-
|
|
174
|
+
templateSkeletonGuidance(docTemplateFor(docKind), context.block.title),
|
|
175
|
+
'',
|
|
176
|
+
`Write the full document to \`${targetPath}\` as Markdown, following the approved outline. ` +
|
|
177
|
+
'The outline leads where it refined the skeleton; cover every required section.',
|
|
174
178
|
].join('\n');
|
|
175
179
|
}
|
|
176
180
|
function docFinalizerUserPrompt(context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../../src/agents/kinds/document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../../src/agents/kinds/document.ts"],"names":[],"mappings":"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"}
|
|
@@ -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';
|
|
3
|
-
import type { Clock } from '@cat-factory/kernel';
|
|
2
|
+
import type { CreateDocumentFragmentInput, CreatePromptFragmentInput, DocumentContent, DocumentContentResolver, FragmentOwnerKind, ResolvedFragment, UpdatePromptFragmentInput } from '@cat-factory/kernel';
|
|
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,26 @@ export interface FragmentLibraryServiceDependencies {
|
|
|
27
25
|
* uses each entry's last-resolved `body` unchanged.
|
|
28
26
|
*/
|
|
29
27
|
documentContentResolver?: DocumentContentResolver;
|
|
30
|
-
/**
|
|
31
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Read-through cache for the merged tenant catalog (`AppCaches.fragmentCatalog`,
|
|
30
|
+
* docs/initiatives/caching-layer.md slice 1), grouped by workspace id. This
|
|
31
|
+
* service owns its coherence: every fragment write below invalidates through
|
|
32
|
+
* {@link FragmentLibraryService.invalidateCatalogTier}. Absent (direct test
|
|
33
|
+
* construction) ⇒ every resolve loads from the repositories.
|
|
34
|
+
*/
|
|
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>;
|
|
32
48
|
}
|
|
33
49
|
/**
|
|
34
50
|
* The fragment library's management service (ADR 0006). It owns the per-tier CRUD
|
|
@@ -46,7 +62,8 @@ export declare class FragmentLibraryService implements FragmentResolver {
|
|
|
46
62
|
private readonly selector;
|
|
47
63
|
private readonly builtinsOverride?;
|
|
48
64
|
private readonly documentResolver?;
|
|
49
|
-
private readonly
|
|
65
|
+
private readonly catalogCache?;
|
|
66
|
+
private readonly documentBodyCache?;
|
|
50
67
|
constructor(deps: FragmentLibraryServiceDependencies);
|
|
51
68
|
/**
|
|
52
69
|
* The built-in tier: the injected test override, else the UNIVERSAL pool (shipped
|
|
@@ -85,8 +102,27 @@ export declare class FragmentLibraryService implements FragmentResolver {
|
|
|
85
102
|
* even when no row exists yet, so a tier can suppress something it inherits.
|
|
86
103
|
*/
|
|
87
104
|
remove(ownerKind: FragmentOwnerKind, ownerId: string, fragmentId: string): Promise<void>;
|
|
88
|
-
/**
|
|
105
|
+
/**
|
|
106
|
+
* Resolve the merged catalog a workspace sees (built-in ∪ account ∪ workspace).
|
|
107
|
+
* Served through the fragment-catalog cache when wired — this runs on every
|
|
108
|
+
* agent dispatch (and again on each poll tick that re-enters context assembly),
|
|
109
|
+
* so a hit skips the tenant reads + merge entirely. The key is just the
|
|
110
|
+
* workspace id (its account is resolved inside the load): a workspace never
|
|
111
|
+
* changes accounts, and keying by account would force an extra read per hit.
|
|
112
|
+
*/
|
|
89
113
|
resolveCatalog(workspaceId: string): Promise<ResolvedCatalogEntry[]>;
|
|
114
|
+
/** The uncached tenant merge {@link resolveCatalog} reads through the cache. */
|
|
115
|
+
private loadCatalog;
|
|
116
|
+
/**
|
|
117
|
+
* Drop the cached merged catalog for every workspace a tier write affects —
|
|
118
|
+
* called after each fragment write here (and by the source-sync service via its
|
|
119
|
+
* injected hook). A workspace-tier write is one group eviction; an account-tier
|
|
120
|
+
* write affects every workspace in the account, so it clears the whole cache
|
|
121
|
+
* (deliberately coarse — account writes are rare management actions, and
|
|
122
|
+
* enumerating the account's workspaces on every one would cost more than the
|
|
123
|
+
* repopulation it saves). Peers drop their entries via the notification bus.
|
|
124
|
+
*/
|
|
125
|
+
invalidateCatalogTier(ownerKind: FragmentOwnerKind, ownerId: string): Promise<void>;
|
|
90
126
|
/** The merged catalog as wire {@link ResolvedFragment}s for the management UI. */
|
|
91
127
|
resolvedCatalog(workspaceId: string): Promise<ResolvedFragment[]>;
|
|
92
128
|
/** {@link FragmentResolver}: pick + resolve the fragments to inject for a run. */
|
|
@@ -113,10 +149,24 @@ export declare class FragmentLibraryService implements FragmentResolver {
|
|
|
113
149
|
body: string;
|
|
114
150
|
}[]>;
|
|
115
151
|
/**
|
|
116
|
-
* The live body for a document-backed catalog entry
|
|
117
|
-
*
|
|
118
|
-
*
|
|
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.
|
|
119
160
|
*/
|
|
120
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;
|
|
121
171
|
}
|
|
122
172
|
//# sourceMappingURL=FragmentLibraryService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,uBAAuB,
|
|
1
|
+
{"version":3,"file":"FragmentLibraryService.d.ts","sourceRoot":"","sources":["../../src/fragmentLibrary/FragmentLibraryService.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,7 +19,8 @@ export class FragmentLibraryService {
|
|
|
21
19
|
selector;
|
|
22
20
|
builtinsOverride;
|
|
23
21
|
documentResolver;
|
|
24
|
-
|
|
22
|
+
catalogCache;
|
|
23
|
+
documentBodyCache;
|
|
25
24
|
constructor(deps) {
|
|
26
25
|
this.repo = deps.promptFragmentRepository;
|
|
27
26
|
this.workspaces = deps.workspaceRepository;
|
|
@@ -29,7 +28,8 @@ export class FragmentLibraryService {
|
|
|
29
28
|
this.selector = deps.selector ?? new DeterministicFragmentSelector();
|
|
30
29
|
this.builtinsOverride = deps.builtins;
|
|
31
30
|
this.documentResolver = deps.documentContentResolver;
|
|
32
|
-
this.
|
|
31
|
+
this.catalogCache = deps.catalogCache;
|
|
32
|
+
this.documentBodyCache = deps.documentBodyCache;
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
35
|
* The built-in tier: the injected test override, else the UNIVERSAL pool (shipped
|
|
@@ -73,6 +73,7 @@ export class FragmentLibraryService {
|
|
|
73
73
|
deletedAt: null,
|
|
74
74
|
};
|
|
75
75
|
await this.repo.upsert(record);
|
|
76
|
+
await this.invalidateCatalogTier(ownerKind, ownerId);
|
|
76
77
|
return recordToWire(record);
|
|
77
78
|
}
|
|
78
79
|
/**
|
|
@@ -116,6 +117,8 @@ export class FragmentLibraryService {
|
|
|
116
117
|
deletedAt: null,
|
|
117
118
|
};
|
|
118
119
|
await this.repo.upsert(record);
|
|
120
|
+
await this.invalidateCatalogTier(ownerKind, ownerId);
|
|
121
|
+
await this.invalidateDocumentBody(record);
|
|
119
122
|
return recordToWire(record);
|
|
120
123
|
}
|
|
121
124
|
/**
|
|
@@ -149,6 +152,8 @@ export class FragmentLibraryService {
|
|
|
149
152
|
updatedAt: now,
|
|
150
153
|
};
|
|
151
154
|
await this.repo.upsert(next);
|
|
155
|
+
await this.invalidateCatalogTier(ownerKind, ownerId);
|
|
156
|
+
await this.invalidateDocumentBody(next);
|
|
152
157
|
return recordToWire(next);
|
|
153
158
|
}
|
|
154
159
|
/**
|
|
@@ -197,6 +202,8 @@ export class FragmentLibraryService {
|
|
|
197
202
|
throw new ValidationError('A fragment needs a summary and a body');
|
|
198
203
|
}
|
|
199
204
|
await this.repo.upsert(next);
|
|
205
|
+
await this.invalidateCatalogTier(ownerKind, ownerId);
|
|
206
|
+
await this.invalidateDocumentBody(next);
|
|
200
207
|
return recordToWire(next);
|
|
201
208
|
}
|
|
202
209
|
/**
|
|
@@ -209,6 +216,8 @@ export class FragmentLibraryService {
|
|
|
209
216
|
const existing = await this.repo.get(ownerKind, ownerId, fragmentId);
|
|
210
217
|
if (existing) {
|
|
211
218
|
await this.repo.softDelete(ownerKind, ownerId, fragmentId, now);
|
|
219
|
+
await this.invalidateCatalogTier(ownerKind, ownerId);
|
|
220
|
+
await this.invalidateDocumentBody(existing);
|
|
212
221
|
return;
|
|
213
222
|
}
|
|
214
223
|
await this.repo.upsert({
|
|
@@ -233,9 +242,23 @@ export class FragmentLibraryService {
|
|
|
233
242
|
updatedAt: now,
|
|
234
243
|
deletedAt: now,
|
|
235
244
|
});
|
|
245
|
+
await this.invalidateCatalogTier(ownerKind, ownerId);
|
|
236
246
|
}
|
|
237
|
-
/**
|
|
247
|
+
/**
|
|
248
|
+
* Resolve the merged catalog a workspace sees (built-in ∪ account ∪ workspace).
|
|
249
|
+
* Served through the fragment-catalog cache when wired — this runs on every
|
|
250
|
+
* agent dispatch (and again on each poll tick that re-enters context assembly),
|
|
251
|
+
* so a hit skips the tenant reads + merge entirely. The key is just the
|
|
252
|
+
* workspace id (its account is resolved inside the load): a workspace never
|
|
253
|
+
* changes accounts, and keying by account would force an extra read per hit.
|
|
254
|
+
*/
|
|
238
255
|
async resolveCatalog(workspaceId) {
|
|
256
|
+
if (!this.catalogCache)
|
|
257
|
+
return this.loadCatalog(workspaceId);
|
|
258
|
+
return this.catalogCache.get(workspaceId, workspaceId, () => this.loadCatalog(workspaceId));
|
|
259
|
+
}
|
|
260
|
+
/** The uncached tenant merge {@link resolveCatalog} reads through the cache. */
|
|
261
|
+
async loadCatalog(workspaceId) {
|
|
239
262
|
const accountId = await this.workspaces.accountOf(workspaceId);
|
|
240
263
|
const [accountRows, workspaceRows] = await Promise.all([
|
|
241
264
|
accountId ? this.repo.listByOwner('account', accountId, true) : Promise.resolve([]),
|
|
@@ -243,6 +266,25 @@ export class FragmentLibraryService {
|
|
|
243
266
|
]);
|
|
244
267
|
return mergeCatalog(this.builtins(), accountRows, workspaceRows);
|
|
245
268
|
}
|
|
269
|
+
/**
|
|
270
|
+
* Drop the cached merged catalog for every workspace a tier write affects —
|
|
271
|
+
* called after each fragment write here (and by the source-sync service via its
|
|
272
|
+
* injected hook). A workspace-tier write is one group eviction; an account-tier
|
|
273
|
+
* write affects every workspace in the account, so it clears the whole cache
|
|
274
|
+
* (deliberately coarse — account writes are rare management actions, and
|
|
275
|
+
* enumerating the account's workspaces on every one would cost more than the
|
|
276
|
+
* repopulation it saves). Peers drop their entries via the notification bus.
|
|
277
|
+
*/
|
|
278
|
+
async invalidateCatalogTier(ownerKind, ownerId) {
|
|
279
|
+
if (!this.catalogCache)
|
|
280
|
+
return;
|
|
281
|
+
if (ownerKind === 'workspace') {
|
|
282
|
+
await this.catalogCache.invalidateGroup(ownerId);
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
await this.catalogCache.invalidateAll();
|
|
286
|
+
}
|
|
287
|
+
}
|
|
246
288
|
/** The merged catalog as wire {@link ResolvedFragment}s for the management UI. */
|
|
247
289
|
async resolvedCatalog(workspaceId) {
|
|
248
290
|
const entries = await this.resolveCatalog(workspaceId);
|
|
@@ -323,46 +365,67 @@ export class FragmentLibraryService {
|
|
|
323
365
|
return out;
|
|
324
366
|
}
|
|
325
367
|
/**
|
|
326
|
-
* The live body for a document-backed catalog entry
|
|
327
|
-
*
|
|
328
|
-
*
|
|
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.
|
|
329
376
|
*/
|
|
330
377
|
async resolveDocumentBody(workspaceId, entry) {
|
|
331
378
|
const ref = entry.documentRef;
|
|
332
379
|
if (!ref || !this.documentResolver || entry.tier === 'builtin')
|
|
333
380
|
return entry.body;
|
|
334
|
-
|
|
335
|
-
const fresh = entry.resolvedAt !== null && now - entry.resolvedAt < this.ttlMs;
|
|
336
|
-
if (fresh)
|
|
381
|
+
if (!this.documentBodyCache)
|
|
337
382
|
return entry.body;
|
|
338
|
-
const
|
|
339
|
-
|
|
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)
|
|
340
393
|
return entry.body;
|
|
341
|
-
// Re-read through the connection the fragment was linked/refreshed with — for an
|
|
342
|
-
// account-tier fragment that is a fixed workspace, not whichever workspace the run
|
|
343
|
-
// happens to be in (which may have no connection to this source). Pre-existing rows
|
|
344
|
-
// with no recorded workspace degrade to the run's own.
|
|
345
|
-
const viaWorkspaceId = entry.docViaWorkspaceId ?? workspaceId;
|
|
346
394
|
try {
|
|
347
|
-
const content = await this.
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
docExternalId: content.externalId,
|
|
356
|
-
resolvedAt: now,
|
|
357
|
-
updatedAt: now,
|
|
358
|
-
});
|
|
359
|
-
}
|
|
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
|
+
});
|
|
360
403
|
return content.body;
|
|
361
404
|
}
|
|
362
405
|
catch {
|
|
363
406
|
return entry.body; // source unreachable → last-resolved body keeps the run going
|
|
364
407
|
}
|
|
365
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}`;
|
|
366
429
|
}
|
|
367
430
|
function recordToWire(record) {
|
|
368
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":"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"}
|
|
@@ -16,6 +16,13 @@ export interface FragmentSourceServiceDependencies {
|
|
|
16
16
|
resolveInstallationId: ResolveFragmentInstallationId;
|
|
17
17
|
idGenerator: IdGenerator;
|
|
18
18
|
clock: Clock;
|
|
19
|
+
/**
|
|
20
|
+
* Drops the cached merged catalog for a tier after this service mutates its
|
|
21
|
+
* fragments (sync/unlink) — wired to
|
|
22
|
+
* {@link FragmentLibraryService.invalidateCatalogTier} by the composition root.
|
|
23
|
+
* Absent (tests) ⇒ no cache to keep coherent.
|
|
24
|
+
*/
|
|
25
|
+
invalidateCatalog?: (ownerKind: FragmentOwnerKind, ownerId: string) => Promise<void>;
|
|
19
26
|
}
|
|
20
27
|
/**
|
|
21
28
|
* Repo-sourced fragments (ADR 0006 §3, §6): link a repo directory of Markdown
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FragmentSourceService.d.ts","sourceRoot":"","sources":["../../src/fragmentLibrary/FragmentSourceService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,qBAAqB,CAAA;AACzE,OAAO,KAAK,EAEV,wBAAwB,EAExB,wBAAwB,EACzB,MAAM,qBAAqB,CAAA;AAG5B;;;;;GAKG;AACH,MAAM,MAAM,6BAA6B,GAAG,CAC1C,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;AAE3B,MAAM,WAAW,iCAAiC;IAChD,wBAAwB,EAAE,wBAAwB,CAAA;IAClD,wBAAwB,EAAE,wBAAwB,CAAA;IAClD,YAAY,EAAE,YAAY,CAAA;IAC1B,qBAAqB,EAAE,6BAA6B,CAAA;IACpD,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"FragmentSourceService.d.ts","sourceRoot":"","sources":["../../src/fragmentLibrary/FragmentSourceService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,qBAAqB,CAAA;AACzE,OAAO,KAAK,EAEV,wBAAwB,EAExB,wBAAwB,EACzB,MAAM,qBAAqB,CAAA;AAG5B;;;;;GAKG;AACH,MAAM,MAAM,6BAA6B,GAAG,CAC1C,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;AAE3B,MAAM,WAAW,iCAAiC;IAChD,wBAAwB,EAAE,wBAAwB,CAAA;IAClD,wBAAwB,EAAE,wBAAwB,CAAA;IAClD,YAAY,EAAE,YAAY,CAAA;IAC1B,qBAAqB,EAAE,6BAA6B,CAAA;IACpD,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACrF;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,iCAAiC,EAAI;IAExE,2DAA2D;IACrD,IAAI,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAGnF;IAED,qFAAqF;IAC/E,IAAI,CACR,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,cAAc,CAAC,CAiBzB;IAED,gEAAgE;IAC1D,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3F;IAED;;;;;OAKG;IACG,IAAI,CACR,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,CAAC,CA+E7B;IAED;;;;;;OAMG;IACG,MAAM,CACV,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,CAAC,CAc/B;YAIa,OAAO;IAmBrB,uFAAuF;YACzE,mBAAmB;IAUjC;;;OAGG;YACW,YAAY;IAc1B;;;;OAIG;YACW,SAAS;CAmDxB"}
|
|
@@ -51,6 +51,8 @@ export class FragmentSourceService {
|
|
|
51
51
|
await this.deps.promptFragmentRepository.softDelete(f.ownerKind, f.ownerId, f.fragmentId, now);
|
|
52
52
|
}
|
|
53
53
|
await this.deps.fragmentSourceRepository.softDelete(source.id, now);
|
|
54
|
+
if (fragments.length > 0)
|
|
55
|
+
await this.deps.invalidateCatalog?.(ownerKind, ownerId);
|
|
54
56
|
}
|
|
55
57
|
/**
|
|
56
58
|
* Resync a source: list the directory, upsert every Markdown file whose blob
|
|
@@ -113,6 +115,10 @@ export class FragmentSourceService {
|
|
|
113
115
|
}
|
|
114
116
|
}
|
|
115
117
|
await this.deps.fragmentSourceRepository.updateSyncState(source.id, headCommit, now);
|
|
118
|
+
// Invalidate AFTER the sync state commits, and only when fragments actually
|
|
119
|
+
// changed — a no-op resync must not churn every peer's cached catalog.
|
|
120
|
+
if (upserted > 0 || tombstoned > 0)
|
|
121
|
+
await this.deps.invalidateCatalog?.(ownerKind, ownerId);
|
|
116
122
|
return { upserted, tombstoned, unchanged, lastSyncedCommit: headCommit };
|
|
117
123
|
}
|
|
118
124
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FragmentSourceService.js","sourceRoot":"","sources":["../../src/fragmentLibrary/FragmentSourceService.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AASjF,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"FragmentSourceService.js","sourceRoot":"","sources":["../../src/fragmentLibrary/FragmentSourceService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +1,8 @@
|
|
|
1
1
|
import type { PromptFragment } from '@cat-factory/contracts';
|
|
2
|
-
import type {
|
|
2
|
+
import type { ResolvedCatalogEntry } from '@cat-factory/kernel';
|
|
3
3
|
import type { FragmentSelectionContext, SelectableFragment } from '@cat-factory/kernel';
|
|
4
4
|
import type { PromptFragmentRecord } from '@cat-factory/kernel';
|
|
5
|
-
|
|
6
|
-
export interface ResolvedCatalogEntry {
|
|
7
|
-
id: string;
|
|
8
|
-
version: string;
|
|
9
|
-
title: string;
|
|
10
|
-
category: string | null;
|
|
11
|
-
summary: string;
|
|
12
|
-
body: string;
|
|
13
|
-
appliesTo: {
|
|
14
|
-
blockTypes?: BlockType[];
|
|
15
|
-
agentKinds?: AgentKind[];
|
|
16
|
-
} | null;
|
|
17
|
-
tags: string[] | null;
|
|
18
|
-
source: {
|
|
19
|
-
sourceId: string;
|
|
20
|
-
path: string;
|
|
21
|
-
sha: string;
|
|
22
|
-
} | null;
|
|
23
|
-
/** Living document provenance (Confluence/Notion/GitHub), when document-backed. */
|
|
24
|
-
documentRef: {
|
|
25
|
-
source: DocumentSourceKind;
|
|
26
|
-
externalId: string;
|
|
27
|
-
} | null;
|
|
28
|
-
/** The workspace whose connection re-resolves a document-backed body at run time. */
|
|
29
|
-
docViaWorkspaceId: string | null;
|
|
30
|
-
/** When the document-backed body was last resolved (epoch ms); null otherwise. */
|
|
31
|
-
resolvedAt: number | null;
|
|
32
|
-
tier: FragmentTier;
|
|
33
|
-
}
|
|
5
|
+
export type { ResolvedCatalogEntry };
|
|
34
6
|
/**
|
|
35
7
|
* Merge the three tiers into one catalog. Later tiers override earlier ones by
|
|
36
8
|
* stable id (workspace > account > built-in); a tombstoned record at any tier
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragment-catalog.d.ts","sourceRoot":"","sources":["../../src/fragmentLibrary/fragment-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"fragment-catalog.d.ts","sourceRoot":"","sources":["../../src/fragmentLibrary/fragment-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAgB,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACvF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAS/D,YAAY,EAAE,oBAAoB,EAAE,CAAA;AA8CpC;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,cAAc,EAAE,EAC1B,WAAW,EAAE,oBAAoB,EAAE,EACnC,aAAa,EAAE,oBAAoB,EAAE,GACpC,oBAAoB,EAAE,CAMxB;AAgBD,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,KAAK,EAAE,oBAAoB,GAAG,kBAAkB,CAU5E;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,cAAc,CAe3E;AAcD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,kBAAkB,EAAE,EAChC,OAAO,EAAE,wBAAwB,GAChC,MAAM,EAAE,CAqBV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragment-catalog.js","sourceRoot":"","sources":["../../src/fragmentLibrary/fragment-catalog.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fragment-catalog.js","sourceRoot":"","sources":["../../src/fragmentLibrary/fragment-catalog.ts"],"names":[],"mappings":"AAcA,wEAAwE;AACxE,SAAS,cAAc,CAAC,QAAwB;IAC9C,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,IAAI;QACnC,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI;QACrC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,IAAI;QAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,IAAI;QAC/B,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,IAAI;QACzC,iBAAiB,EAAE,IAAI;QACvB,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,IAAI;QACvC,IAAI,EAAE,SAAS;KAChB,CAAA;AACH,CAAC;AAED,2DAA2D;AAC3D,SAAS,aAAa,CAAC,MAA4B,EAAE,IAAkB;IACrE,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,UAAU;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EACJ,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI;YACxE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,SAAS,EAAE;YAC/E,CAAC,CAAC,IAAI;QACV,WAAW,EACT,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI;YAC/C,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,aAAa,EAAE;YAChE,CAAC,CAAC,IAAI;QACV,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,IAAI;KACL,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,QAA0B,EAC1B,WAAmC,EACnC,aAAqC;IAErC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAgC,CAAA;IACpD,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3D,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAA;IACvC,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,CAAC,CAAA;IAC3C,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACpE,CAAC;AAED,SAAS,SAAS,CAChB,IAAuC,EACvC,IAA4B,EAC5B,IAAkB;IAElB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA,CAAC,8CAA8C;QAC5E,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,YAAY,CAAC,KAA2B;IACtD,MAAM,GAAG,GAAuB;QAC9B,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAA;IACD,IAAI,KAAK,CAAC,QAAQ;QAAE,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;IACjD,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM;QAAE,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IAC1D,IAAI,KAAK,CAAC,SAAS;QAAE,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;IACpD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,QAAQ,GAAmB;QAC/B,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;QAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAA;IACD,IAAI,KAAK,CAAC,SAAS;QAAE,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;IACzD,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM;QAAE,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IAC/D,IAAI,KAAK,CAAC,MAAM;QAAE,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAChD,IAAI,KAAK,CAAC,WAAW;QAAE,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAA;IAC/D,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI;QAAE,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;IACrE,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,uFAAuF;AACvF,SAAS,eAAe,CACtB,SAA6B,EAC7B,OAAiC;IAEjC,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAA;IACnC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IACzB,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAA;IACvF,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAA;IACvF,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAgC,EAChC,OAAiC;IAEjC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;IACtE,MAAM,QAAQ,GAAG;QACf,OAAO,CAAC,SAAS;QACjB,OAAO,CAAC,UAAU;QAClB,OAAO,CAAC,gBAAgB;QACxB,GAAG,OAAO,CAAC,OAAO;KACnB;SACE,IAAI,CAAC,GAAG,CAAC;SACT,WAAW,EAAE,CAAA;IAEhB,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACnE,IAAI,CAAC,SAAS;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAEhD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACvC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA,CAAC,6CAA6C;QAC7F,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;IACF,gFAAgF;IAChF,+DAA+D;IAC/D,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AACzE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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
|
@@ -40,6 +40,14 @@ export { companionSystemPrompt } from './agents/prompts/companion.js';
|
|
|
40
40
|
// first-class kinds in every deployment (Worker / Node / local). `doc-reviewer` — the
|
|
41
41
|
// writer's companion — lives in the COMPANIONS catalog above.
|
|
42
42
|
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';
|
|
43
|
+
// Per-`DocKind` document templates: the single source of truth for a kind's expected shape,
|
|
44
|
+
// woven into the outliner/writer prompts and (later) read by the doc-quality gate. The
|
|
45
|
+
// built-in `DOC_TEMPLATES` are the fallback; a deployment overrides via `registerDocTemplate`.
|
|
46
|
+
// The public surface is the registry + the two cross-consumer helpers: `requiredSectionTitles`
|
|
47
|
+
// (the WS4 doc-quality gate's source of truth) and `renderTemplateSkeleton` (for override
|
|
48
|
+
// authors to preview a template). The prompt-weaving helpers (`templateStructureLine` /
|
|
49
|
+
// `templateOutlineGuidance` / `templateSkeletonGuidance`) stay module-private to `document.ts`.
|
|
50
|
+
export { DOC_TEMPLATES, registerDocTemplate, registerDocTemplates, clearRegisteredDocTemplates, docTemplateFor, requiredSectionTitles, renderTemplateSkeleton, } from './agents/kinds/doc-templates.js';
|
|
43
51
|
export { INITIATIVE_BREAKDOWN_KIND, INITIATIVE_AGENT_KINDS, registerInitiativeAgents, } from './agents/kinds/initiative.js';
|
|
44
52
|
export { READ_ONLY_AGENT_KINDS, READ_ONLY_GUARDRAIL, isReadOnlyAgentKind, } from './agents/kinds/read-only.js';
|
|
45
53
|
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":"AAAA,OAAO,EAAE,eAAe,EAAoC,MAAM,8BAA8B,CAAA;AAChG,OAAO,EAEL,+BAA+B,EAC/B,kCAAkC,EAClC,sBAAsB,EACtB,6BAA6B,EAC7B,sBAAsB,GACvB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAKL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AACrE,wFAAwF;AACxF,yFAAyF;AACzF,8CAA8C;AAC9C,OAAO,EAEL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,+BAA+B,EAC/B,6BAA6B,EAC7B,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,iBAAiB,EACjB,8BAA8B,EAC9B,yBAAyB,EACzB,kCAAkC,EAClC,kCAAkC,GACnC,MAAM,gCAAgC,CAAA;AACvC,6FAA6F;AAC7F,mFAAmF;AACnF,OAAO,EAGL,sBAAsB,GACvB,MAAM,qCAAqC,CAAA;AAC5C,uFAAuF;AACvF,4FAA4F;AAC5F,OAAO,EAGL,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,iBAAiB,EACjB,wBAAwB,EACxB,SAAS,EACT,QAAQ,EACR,gBAAgB,GACjB,MAAM,0BAA0B,CAAA;AACjC,wFAAwF;AACxF,0FAA0F;AAC1F,OAAO,EAA2C,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAClG,6EAA6E;AAC7E,iEAAiE;AACjE,OAAO,EACL,+BAA+B,EAC/B,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAA;AAClC,0CAA0C;AAC1C,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,6BAA6B,CAAA;AACpC,mEAAmE;AACnE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,kCAAkC,CAAA;AACzC,kDAAkD;AAClD,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,6BAA6B,CAAA;AACpC,gDAAgD;AAChD,OAAO,EACL,qCAAqC,EACrC,qCAAqC,EACrC,4CAA4C,EAC5C,4CAA4C,GAC7C,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAGL,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EACL,mBAAmB,EACnB,wBAAwB,GAEzB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAEL,eAAe,EACf,sBAAsB,EACtB,YAAY,EACZ,oBAAoB,EACpB,wBAAwB,EACxB,WAAW,GACZ,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAEL,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAEL,UAAU,EACV,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,mFAAmF;AACnF,mFAAmF;AACnF,sFAAsF;AACtF,8DAA8D;AAC9D,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,4BAA4B,CAAA;AACnC,4FAA4F;AAC5F,uFAAuF;AACvF,+FAA+F;AAC/F,+FAA+F;AAC/F,0FAA0F;AAC1F,wFAAwF;AACxF,gGAAgG;AAChG,OAAO,EAGL,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,cAAc,EACd,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AACxF,OAAO,EAEL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAA;AAClF,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,4BAA4B,CAAA;AAEnC,4EAA4E;AAC5E,sFAAsF;AACtF,qFAAqF;AACrF,4DAA4D;AAC5D,OAAO,EAEL,sBAAsB,EACtB,UAAU,EACV,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,eAAe,EACf,sBAAsB,GACvB,MAAM,sBAAsB,CAAA;AAC7B,oFAAoF;AACpF,qFAAqF;AACrF,gDAAgD;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,yFAAyF;AACzF,0FAA0F;AAC1F,kEAAkE;AAClE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACnE,yFAAyF;AACzF,0FAA0F;AAC1F,0FAA0F;AAC1F,uEAAuE;AACvE,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,+BAA+B,EAC/B,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,0BAA0B,CAAA;AAEjC,8EAA8E;AAC9E,kFAAkF;AAClF,oFAAoF;AACpF,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EAItB,yBAAyB,EACzB,uBAAuB,EAIvB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,mCAAmC,EACnC,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,8BAA8B,EAE9B,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACL,sBAAsB,GAEvB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EACL,qBAAqB,GAGtB,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAA;AAClG,OAAO,EACL,mBAAmB,GAEpB,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAEL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,mBAAmB,GACpB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,mBAAmB,MAAM,4CAA4C,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/agents",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.0",
|
|
4
4
|
"description": "Agent catalog, routing, prompts and fragment library for the Agent Architecture Board.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -32,12 +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.
|
|
35
|
+
"@cat-factory/kernel": "0.84.0",
|
|
36
36
|
"@cat-factory/prompt-fragments": "0.9.55"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"typescript": "7.0.1-rc",
|
|
40
|
-
"vitest": "^4.1.9"
|
|
40
|
+
"vitest": "^4.1.9",
|
|
41
|
+
"@cat-factory/caching": "0.3.0"
|
|
41
42
|
},
|
|
42
43
|
"scripts": {
|
|
43
44
|
"build": "tsc -b tsconfig.build.json",
|