@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.
- 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 +30 -19
- package/dist/agents/kinds/document.js.map +1 -1
- package/dist/agents/kinds/traits.d.ts +13 -0
- package/dist/agents/kinds/traits.d.ts.map +1 -1
- package/dist/agents/kinds/traits.js +20 -1
- package/dist/agents/kinds/traits.js.map +1 -1
- package/dist/agents/prompts/companion.d.ts.map +1 -1
- package/dist/agents/prompts/companion.js +13 -0
- package/dist/agents/prompts/companion.js.map +1 -1
- package/dist/fragmentLibrary/FragmentLibraryService.d.ts +31 -9
- package/dist/fragmentLibrary/FragmentLibraryService.d.ts.map +1 -1
- package/dist/fragmentLibrary/FragmentLibraryService.js +53 -34
- package/dist/fragmentLibrary/FragmentLibraryService.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -2
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -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;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
|
-
/**
|
|
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 ${
|
|
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
|
-
|
|
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":"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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"}
|
|
@@ -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
|
|
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
|
|
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":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAEhG,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAenD;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAe,YAAY,CAAA;AAExD;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAe,YAAY,CAAA;AAExD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAe,gBAAgB,CAAA;AAEhE,6FAA6F;AAC7F,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,8QAA8Q;IAC9Q,OAAO,kBAAkB,0GAA0G;IACnI,OAAO,gBAAgB,mHAAmH;IAC1I,OAAO,gBAAgB,0IAA0I;IACjK,OAAO,iBAAiB,uFAAuF;IAC/G,+RAA+R;CAChS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEZ
|
|
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,
|
|
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
|
|
145
|
-
*
|
|
146
|
-
*
|
|
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":"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":"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
|
|
367
|
-
*
|
|
368
|
-
*
|
|
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
|
-
|
|
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
|
|
379
|
-
|
|
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.
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
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":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AASlE,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;AAEzD,mFAAmF;AACnF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AAkC7D;;;;;;;;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,KAAK,CAAQ;IACb,YAAY,CAA2C;IAExE,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,KAAK,GAAG,IAAI,CAAC,qBAAqB,IAAI,gCAAgC,CAAA;QAC3E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;IACvC,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,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,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,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,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;;;;OAIG;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,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAA;QAC9E,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC,IAAI,CAAA;QAC5B,MAAM,OAAO,GACX,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA;QACvF,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC,IAAI,CAAA;QAC/B,iFAAiF;QACjF,mFAAmF;QACnF,oFAAoF;QACpF,uDAAuD;QACvD,MAAM,cAAc,GAAG,KAAK,CAAC,iBAAiB,IAAI,WAAW,CAAA;QAC7D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;YAC7F,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;YACnE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;oBACrB,GAAG,QAAQ;oBACX,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;oBACnC,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,aAAa,EAAE,OAAO,CAAC,UAAU;oBACjC,UAAU,EAAE,GAAG;oBACf,SAAS,EAAE,GAAG;iBACf,CAAC,CAAA;gBACF,sEAAsE;gBACtE,uEAAuE;gBACvE,qBAAqB;gBACrB,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YACvD,CAAC;YACD,OAAO,OAAO,CAAC,IAAI,CAAA;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC,IAAI,CAAA,CAAC,8DAA8D;QAClF,CAAC;IACH,CAAC;CACF;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"}
|
|
1
|
+
{"version":3,"file":"FragmentLibraryService.js","sourceRoot":"","sources":["../../src/fragmentLibrary/FragmentLibraryService.ts"],"names":[],"mappings":"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"}
|
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,2BAA2B,EAAE,MAAM,8BAA8B,CAAA;AAChG,OAAO,EACL,KAAK,sBAAsB,EAC3B,+BAA+B,EAC/B,kCAAkC,EAClC,sBAAsB,EACtB,6BAA6B,EAC7B,sBAAsB,GACvB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,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;AAIrE,OAAO,EACL,KAAK,mBAAmB,EACxB,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;AAGvC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,sBAAsB,GACvB,MAAM,qCAAqC,CAAA;
|
|
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; `
|
|
16
|
-
|
|
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":"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,
|
|
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.
|
|
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.
|
|
36
|
-
"@cat-factory/prompt-fragments": "0.
|
|
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.
|
|
41
|
+
"@cat-factory/caching": "0.3.0"
|
|
42
42
|
},
|
|
43
43
|
"scripts": {
|
|
44
44
|
"build": "tsc -b tsconfig.build.json",
|