swarm-engine 1.38.0 → 1.43.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/core/patterns.d.ts +7 -1
- package/dist/core/patterns.d.ts.map +1 -1
- package/dist/core/patterns.js +23 -0
- package/dist/core/patterns.js.map +1 -1
- package/dist/core/types.d.ts +11 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/index.d.ts +26 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -1
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +3 -9
- package/dist/memory/index.js.map +1 -1
- package/dist/runtime/acon.d.ts +61 -0
- package/dist/runtime/acon.d.ts.map +1 -0
- package/dist/runtime/acon.js +266 -0
- package/dist/runtime/acon.js.map +1 -0
- package/dist/runtime/adaptive.d.ts +1 -0
- package/dist/runtime/adaptive.d.ts.map +1 -1
- package/dist/runtime/adaptive.js +18 -4
- package/dist/runtime/adaptive.js.map +1 -1
- package/dist/runtime/agent-runner.d.ts +8 -0
- package/dist/runtime/agent-runner.d.ts.map +1 -1
- package/dist/runtime/agent-runner.js +79 -4
- package/dist/runtime/agent-runner.js.map +1 -1
- package/dist/runtime/backends/claude-session.d.ts +49 -0
- package/dist/runtime/backends/claude-session.d.ts.map +1 -0
- package/dist/runtime/backends/claude-session.js +237 -0
- package/dist/runtime/backends/claude-session.js.map +1 -0
- package/dist/runtime/backends/claude.d.ts.map +1 -1
- package/dist/runtime/backends/claude.js +90 -4
- package/dist/runtime/backends/claude.js.map +1 -1
- package/dist/runtime/backends/types.d.ts +31 -1
- package/dist/runtime/backends/types.d.ts.map +1 -1
- package/dist/runtime/benefits.d.ts +170 -0
- package/dist/runtime/benefits.d.ts.map +1 -0
- package/dist/runtime/benefits.js +588 -0
- package/dist/runtime/benefits.js.map +1 -0
- package/dist/runtime/compaction.d.ts +7 -1
- package/dist/runtime/compaction.d.ts.map +1 -1
- package/dist/runtime/compaction.js +12 -2
- package/dist/runtime/compaction.js.map +1 -1
- package/dist/runtime/compactor.d.ts +90 -0
- package/dist/runtime/compactor.d.ts.map +1 -0
- package/dist/runtime/compactor.js +418 -0
- package/dist/runtime/compactor.js.map +1 -0
- package/dist/runtime/context-decay.d.ts +45 -0
- package/dist/runtime/context-decay.d.ts.map +1 -0
- package/dist/runtime/context-decay.js +149 -0
- package/dist/runtime/context-decay.js.map +1 -0
- package/dist/runtime/distiller.d.ts +1 -0
- package/dist/runtime/distiller.d.ts.map +1 -1
- package/dist/runtime/distiller.js +8 -2
- package/dist/runtime/distiller.js.map +1 -1
- package/dist/runtime/engine.d.ts +44 -15
- package/dist/runtime/engine.d.ts.map +1 -1
- package/dist/runtime/engine.js +406 -68
- package/dist/runtime/engine.js.map +1 -1
- package/dist/runtime/execution-graph.d.ts.map +1 -1
- package/dist/runtime/execution-graph.js.map +1 -1
- package/dist/runtime/executor.d.ts +7 -1
- package/dist/runtime/executor.d.ts.map +1 -1
- package/dist/runtime/executor.js +20 -0
- package/dist/runtime/executor.js.map +1 -1
- package/dist/runtime/graph-adversarial.d.ts.map +1 -1
- package/dist/runtime/graph-adversarial.js.map +1 -1
- package/dist/runtime/graph-analyzer.d.ts.map +1 -1
- package/dist/runtime/graph-analyzer.js.map +1 -1
- package/dist/runtime/graph-discovery.d.ts.map +1 -1
- package/dist/runtime/graph-discovery.js +1 -4
- package/dist/runtime/graph-discovery.js.map +1 -1
- package/dist/runtime/graph-dropout.d.ts.map +1 -1
- package/dist/runtime/graph-dropout.js +10 -2
- package/dist/runtime/graph-dropout.js.map +1 -1
- package/dist/runtime/graph-embeddings.d.ts.map +1 -1
- package/dist/runtime/graph-embeddings.js +1 -3
- package/dist/runtime/graph-embeddings.js.map +1 -1
- package/dist/runtime/graph-feedback.d.ts.map +1 -1
- package/dist/runtime/graph-feedback.js +1 -3
- package/dist/runtime/graph-feedback.js.map +1 -1
- package/dist/runtime/graph-gnn.d.ts.map +1 -1
- package/dist/runtime/graph-gnn.js.map +1 -1
- package/dist/runtime/graph-meta-adversarial.d.ts.map +1 -1
- package/dist/runtime/graph-meta-adversarial.js.map +1 -1
- package/dist/runtime/graph-meta.d.ts.map +1 -1
- package/dist/runtime/graph-meta.js +48 -20
- package/dist/runtime/graph-meta.js.map +1 -1
- package/dist/runtime/graph-self-evolve.d.ts.map +1 -1
- package/dist/runtime/graph-self-evolve.js.map +1 -1
- package/dist/runtime/graph-synthesis.d.ts.map +1 -1
- package/dist/runtime/graph-synthesis.js.map +1 -1
- package/dist/runtime/graph-trajectory.d.ts.map +1 -1
- package/dist/runtime/graph-trajectory.js +3 -8
- package/dist/runtime/graph-trajectory.js.map +1 -1
- package/dist/runtime/learning-engine.d.ts.map +1 -1
- package/dist/runtime/learning-engine.js +10 -4
- package/dist/runtime/learning-engine.js.map +1 -1
- package/dist/runtime/output-schemas.d.ts +21 -0
- package/dist/runtime/output-schemas.d.ts.map +1 -0
- package/dist/runtime/output-schemas.js +252 -0
- package/dist/runtime/output-schemas.js.map +1 -0
- package/dist/runtime/prompt-compressor.d.ts +16 -0
- package/dist/runtime/prompt-compressor.d.ts.map +1 -0
- package/dist/runtime/prompt-compressor.js +68 -0
- package/dist/runtime/prompt-compressor.js.map +1 -0
- package/dist/runtime/repo-map.d.ts +40 -0
- package/dist/runtime/repo-map.d.ts.map +1 -0
- package/dist/runtime/repo-map.js +358 -0
- package/dist/runtime/repo-map.js.map +1 -0
- package/dist/runtime/sdk-mcp-server.d.ts +44 -0
- package/dist/runtime/sdk-mcp-server.d.ts.map +1 -0
- package/dist/runtime/sdk-mcp-server.js +133 -0
- package/dist/runtime/sdk-mcp-server.js.map +1 -0
- package/dist/runtime/structured-handoff.d.ts +41 -0
- package/dist/runtime/structured-handoff.d.ts.map +1 -0
- package/dist/runtime/structured-handoff.js +279 -0
- package/dist/runtime/structured-handoff.js.map +1 -0
- package/dist/runtime/token-analytics.d.ts +38 -0
- package/dist/runtime/token-analytics.d.ts.map +1 -0
- package/dist/runtime/token-analytics.js +59 -0
- package/dist/runtime/token-analytics.js.map +1 -0
- package/dist/runtime/verifier.d.ts +10 -0
- package/dist/runtime/verifier.d.ts.map +1 -1
- package/dist/runtime/verifier.js +97 -1
- package/dist/runtime/verifier.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structured Output Contracts for Agent Types.
|
|
3
|
+
*
|
|
4
|
+
* Defines JSON schemas per agent type so agents emit structured, compact JSON
|
|
5
|
+
* instead of verbose prose. A reviewer emitting `{"findings": [...]}` is 3-5x
|
|
6
|
+
* more compact than a narrative review.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* const schema = getOutputSchema('reviewer');
|
|
10
|
+
* // Pass schema to agent prompt so it knows the expected output shape
|
|
11
|
+
*/
|
|
12
|
+
// ─── Schema Definitions ─────────────────────────────────────────────
|
|
13
|
+
const researcherSchema = {
|
|
14
|
+
name: 'researcher',
|
|
15
|
+
description: 'Structured research findings with confidence levels and source files',
|
|
16
|
+
schema: {
|
|
17
|
+
$schema: 'https://json-schema.org/draft/2020-12/schema',
|
|
18
|
+
type: 'object',
|
|
19
|
+
properties: {
|
|
20
|
+
findings: {
|
|
21
|
+
type: 'array',
|
|
22
|
+
items: {
|
|
23
|
+
type: 'object',
|
|
24
|
+
properties: {
|
|
25
|
+
topic: { type: 'string' },
|
|
26
|
+
detail: { type: 'string' },
|
|
27
|
+
files: { type: 'array', items: { type: 'string' } },
|
|
28
|
+
confidence: { type: 'string', enum: ['high', 'medium', 'low'] },
|
|
29
|
+
},
|
|
30
|
+
required: ['topic', 'detail', 'files', 'confidence'],
|
|
31
|
+
additionalProperties: false,
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
summary: { type: 'string' },
|
|
35
|
+
unknowns: { type: 'array', items: { type: 'string' } },
|
|
36
|
+
},
|
|
37
|
+
required: ['findings', 'summary', 'unknowns'],
|
|
38
|
+
additionalProperties: false,
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
const reviewerSchema = {
|
|
42
|
+
name: 'reviewer',
|
|
43
|
+
description: 'Structured code review findings with severity, category, and verdict',
|
|
44
|
+
schema: {
|
|
45
|
+
$schema: 'https://json-schema.org/draft/2020-12/schema',
|
|
46
|
+
type: 'object',
|
|
47
|
+
properties: {
|
|
48
|
+
findings: {
|
|
49
|
+
type: 'array',
|
|
50
|
+
items: {
|
|
51
|
+
type: 'object',
|
|
52
|
+
properties: {
|
|
53
|
+
file: { type: 'string' },
|
|
54
|
+
line: { type: ['integer', 'null'] },
|
|
55
|
+
severity: {
|
|
56
|
+
type: 'string',
|
|
57
|
+
enum: ['critical', 'high', 'medium', 'low', 'info'],
|
|
58
|
+
},
|
|
59
|
+
category: {
|
|
60
|
+
type: 'string',
|
|
61
|
+
enum: ['bug', 'security', 'performance', 'style', 'logic'],
|
|
62
|
+
},
|
|
63
|
+
issue: { type: 'string' },
|
|
64
|
+
suggestion: { type: ['string', 'null'] },
|
|
65
|
+
},
|
|
66
|
+
required: ['file', 'line', 'severity', 'category', 'issue', 'suggestion'],
|
|
67
|
+
additionalProperties: false,
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
verdict: {
|
|
71
|
+
type: 'string',
|
|
72
|
+
enum: ['approve', 'request-changes', 'comment'],
|
|
73
|
+
},
|
|
74
|
+
summary: { type: 'string' },
|
|
75
|
+
},
|
|
76
|
+
required: ['findings', 'verdict', 'summary'],
|
|
77
|
+
additionalProperties: false,
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
const testerSchema = {
|
|
81
|
+
name: 'tester',
|
|
82
|
+
description: 'Structured test results with coverage analysis',
|
|
83
|
+
schema: {
|
|
84
|
+
$schema: 'https://json-schema.org/draft/2020-12/schema',
|
|
85
|
+
type: 'object',
|
|
86
|
+
properties: {
|
|
87
|
+
tests: {
|
|
88
|
+
type: 'array',
|
|
89
|
+
items: {
|
|
90
|
+
type: 'object',
|
|
91
|
+
properties: {
|
|
92
|
+
name: { type: 'string' },
|
|
93
|
+
file: { type: 'string' },
|
|
94
|
+
type: { type: 'string', enum: ['unit', 'integration', 'e2e'] },
|
|
95
|
+
status: { type: 'string', enum: ['written', 'existing', 'skipped'] },
|
|
96
|
+
reason: { type: 'string' },
|
|
97
|
+
},
|
|
98
|
+
required: ['name', 'file', 'type', 'status'],
|
|
99
|
+
additionalProperties: false,
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
coverage: {
|
|
103
|
+
type: 'object',
|
|
104
|
+
properties: {
|
|
105
|
+
added: { type: 'array', items: { type: 'string' } },
|
|
106
|
+
gaps: { type: 'array', items: { type: 'string' } },
|
|
107
|
+
},
|
|
108
|
+
required: ['added', 'gaps'],
|
|
109
|
+
additionalProperties: false,
|
|
110
|
+
},
|
|
111
|
+
summary: { type: 'string' },
|
|
112
|
+
},
|
|
113
|
+
required: ['tests', 'coverage', 'summary'],
|
|
114
|
+
additionalProperties: false,
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
const implementerSchema = {
|
|
118
|
+
name: 'implementer',
|
|
119
|
+
description: 'Structured implementation report with changes, decisions, and blockers',
|
|
120
|
+
schema: {
|
|
121
|
+
$schema: 'https://json-schema.org/draft/2020-12/schema',
|
|
122
|
+
type: 'object',
|
|
123
|
+
properties: {
|
|
124
|
+
changes: {
|
|
125
|
+
type: 'array',
|
|
126
|
+
items: {
|
|
127
|
+
type: 'object',
|
|
128
|
+
properties: {
|
|
129
|
+
file: { type: 'string' },
|
|
130
|
+
action: { type: 'string', enum: ['create', 'modify', 'delete'] },
|
|
131
|
+
description: { type: 'string' },
|
|
132
|
+
},
|
|
133
|
+
required: ['file', 'action', 'description'],
|
|
134
|
+
additionalProperties: false,
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
decisions: {
|
|
138
|
+
type: 'array',
|
|
139
|
+
items: {
|
|
140
|
+
type: 'object',
|
|
141
|
+
properties: {
|
|
142
|
+
choice: { type: 'string' },
|
|
143
|
+
reason: { type: 'string' },
|
|
144
|
+
alternatives: { type: 'array', items: { type: 'string' } },
|
|
145
|
+
},
|
|
146
|
+
required: ['choice', 'reason'],
|
|
147
|
+
additionalProperties: false,
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
blockers: { type: 'array', items: { type: 'string' } },
|
|
151
|
+
summary: { type: 'string' },
|
|
152
|
+
},
|
|
153
|
+
required: ['changes', 'decisions', 'blockers', 'summary'],
|
|
154
|
+
additionalProperties: false,
|
|
155
|
+
},
|
|
156
|
+
};
|
|
157
|
+
const plannerSchema = {
|
|
158
|
+
name: 'planner',
|
|
159
|
+
description: 'Structured execution plan with phases, dependencies, and risks',
|
|
160
|
+
schema: {
|
|
161
|
+
$schema: 'https://json-schema.org/draft/2020-12/schema',
|
|
162
|
+
type: 'object',
|
|
163
|
+
properties: {
|
|
164
|
+
phases: {
|
|
165
|
+
type: 'array',
|
|
166
|
+
items: {
|
|
167
|
+
type: 'object',
|
|
168
|
+
properties: {
|
|
169
|
+
name: { type: 'string' },
|
|
170
|
+
kind: { type: 'string' },
|
|
171
|
+
agents: { type: 'array', items: { type: 'string' } },
|
|
172
|
+
description: { type: 'string' },
|
|
173
|
+
dependsOn: { type: 'array', items: { type: 'string' } },
|
|
174
|
+
},
|
|
175
|
+
required: ['name', 'kind', 'agents', 'description'],
|
|
176
|
+
additionalProperties: false,
|
|
177
|
+
},
|
|
178
|
+
},
|
|
179
|
+
risks: {
|
|
180
|
+
type: 'array',
|
|
181
|
+
items: {
|
|
182
|
+
type: 'object',
|
|
183
|
+
properties: {
|
|
184
|
+
description: { type: 'string' },
|
|
185
|
+
mitigation: { type: 'string' },
|
|
186
|
+
severity: { type: 'string', enum: ['high', 'medium', 'low'] },
|
|
187
|
+
},
|
|
188
|
+
required: ['description', 'mitigation', 'severity'],
|
|
189
|
+
additionalProperties: false,
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
summary: { type: 'string' },
|
|
193
|
+
},
|
|
194
|
+
required: ['phases', 'risks', 'summary'],
|
|
195
|
+
additionalProperties: false,
|
|
196
|
+
},
|
|
197
|
+
};
|
|
198
|
+
const debuggerSchema = {
|
|
199
|
+
name: 'debugger',
|
|
200
|
+
description: 'Structured debugging report with hypothesis, root cause, and fix',
|
|
201
|
+
schema: {
|
|
202
|
+
$schema: 'https://json-schema.org/draft/2020-12/schema',
|
|
203
|
+
type: 'object',
|
|
204
|
+
properties: {
|
|
205
|
+
hypothesis: { type: 'string' },
|
|
206
|
+
rootCause: { type: ['string', 'null'] },
|
|
207
|
+
evidence: {
|
|
208
|
+
type: 'array',
|
|
209
|
+
items: {
|
|
210
|
+
type: 'object',
|
|
211
|
+
properties: {
|
|
212
|
+
source: { type: 'string' },
|
|
213
|
+
detail: { type: 'string' },
|
|
214
|
+
},
|
|
215
|
+
required: ['source', 'detail'],
|
|
216
|
+
additionalProperties: false,
|
|
217
|
+
},
|
|
218
|
+
},
|
|
219
|
+
fix: {
|
|
220
|
+
type: ['object', 'null'],
|
|
221
|
+
properties: {
|
|
222
|
+
file: { type: 'string' },
|
|
223
|
+
description: { type: 'string' },
|
|
224
|
+
},
|
|
225
|
+
required: ['file', 'description'],
|
|
226
|
+
additionalProperties: false,
|
|
227
|
+
},
|
|
228
|
+
summary: { type: 'string' },
|
|
229
|
+
},
|
|
230
|
+
required: ['hypothesis', 'rootCause', 'evidence', 'fix', 'summary'],
|
|
231
|
+
additionalProperties: false,
|
|
232
|
+
},
|
|
233
|
+
};
|
|
234
|
+
// ─── Registry ───────────────────────────────────────────────────────
|
|
235
|
+
const SCHEMAS = new Map([
|
|
236
|
+
[researcherSchema.name, researcherSchema],
|
|
237
|
+
[reviewerSchema.name, reviewerSchema],
|
|
238
|
+
[testerSchema.name, testerSchema],
|
|
239
|
+
[implementerSchema.name, implementerSchema],
|
|
240
|
+
[plannerSchema.name, plannerSchema],
|
|
241
|
+
[debuggerSchema.name, debuggerSchema],
|
|
242
|
+
]);
|
|
243
|
+
// ─── Public API ─────────────────────────────────────────────────────
|
|
244
|
+
/** Get the output schema for a given agent type. Returns undefined if no schema defined. */
|
|
245
|
+
export function getOutputSchema(agentType) {
|
|
246
|
+
return SCHEMAS.get(agentType);
|
|
247
|
+
}
|
|
248
|
+
/** List all available output schemas. */
|
|
249
|
+
export function listOutputSchemas() {
|
|
250
|
+
return [...SCHEMAS.values()];
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=output-schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-schemas.js","sourceRoot":"","sources":["../../src/runtime/output-schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PromptCompressor — strips markdown boilerplate from agent .md prompts to reduce token usage.
|
|
3
|
+
*/
|
|
4
|
+
export declare class PromptCompressor {
|
|
5
|
+
/** Compress an agent prompt by removing boilerplate */
|
|
6
|
+
static compress(prompt: string, maxChars?: number): string;
|
|
7
|
+
/** Extract only core instruction sections from agent markdown */
|
|
8
|
+
static extractCoreSections(prompt: string): string;
|
|
9
|
+
/** Estimate token savings (rough: 1 token ≈ 4 chars) */
|
|
10
|
+
static estimateSavings(original: string, compressed: string): {
|
|
11
|
+
originalTokens: number;
|
|
12
|
+
compressedTokens: number;
|
|
13
|
+
savedPercent: number;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=prompt-compressor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-compressor.d.ts","sourceRoot":"","sources":["../../src/runtime/prompt-compressor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,gBAAgB;IAC3B,uDAAuD;IACvD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAsC1D,iEAAiE;IACjE,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAuBlD,wDAAwD;IACxD,MAAM,CAAC,eAAe,CACpB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE;CAS9E"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PromptCompressor — strips markdown boilerplate from agent .md prompts to reduce token usage.
|
|
3
|
+
*/
|
|
4
|
+
export class PromptCompressor {
|
|
5
|
+
/** Compress an agent prompt by removing boilerplate */
|
|
6
|
+
static compress(prompt, maxChars) {
|
|
7
|
+
let result = prompt;
|
|
8
|
+
// 1. Remove YAML frontmatter (---\n...\n---)
|
|
9
|
+
result = result.replace(/^---\n[\s\S]*?\n---\n?/, '');
|
|
10
|
+
// 2. Remove horizontal rules (---, ***, ___)
|
|
11
|
+
result = result.replace(/^[-*_]{3,}\s*$/gm, '');
|
|
12
|
+
// 3. Collapse multiple blank lines to single
|
|
13
|
+
result = result.replace(/\n{3,}/g, '\n\n');
|
|
14
|
+
// 4. Remove markdown header decorations (keep text)
|
|
15
|
+
// "## Before You Act" → "Before You Act:"
|
|
16
|
+
result = result.replace(/^#{1,6}\s+(.+)$/gm, '$1:');
|
|
17
|
+
// 5. Remove repeated "IMPORTANT:" / "NOTE:" / "CRITICAL:" prefixes (keep first occurrence)
|
|
18
|
+
const seen = new Set();
|
|
19
|
+
result = result.replace(/^(IMPORTANT|NOTE|CRITICAL|WARNING):\s*$/gm, (match, prefix) => {
|
|
20
|
+
if (seen.has(prefix))
|
|
21
|
+
return '';
|
|
22
|
+
seen.add(prefix);
|
|
23
|
+
return match;
|
|
24
|
+
});
|
|
25
|
+
// 6. Compress bullet list formatting — flatten excessive indentation
|
|
26
|
+
result = result.replace(/^(\s{4,})([-*])/gm, ' $2');
|
|
27
|
+
// 7. Remove trailing whitespace
|
|
28
|
+
result = result.replace(/[ \t]+$/gm, '');
|
|
29
|
+
// 8. Truncate if over maxChars
|
|
30
|
+
if (maxChars && result.length > maxChars) {
|
|
31
|
+
result = result.slice(0, maxChars) + '\n[truncated]';
|
|
32
|
+
}
|
|
33
|
+
return result.trim();
|
|
34
|
+
}
|
|
35
|
+
/** Extract only core instruction sections from agent markdown */
|
|
36
|
+
static extractCoreSections(prompt) {
|
|
37
|
+
const sections = [];
|
|
38
|
+
// Extract role description (first paragraph after frontmatter)
|
|
39
|
+
const afterFrontmatter = prompt.replace(/^---\n[\s\S]*?\n---\n?/, '');
|
|
40
|
+
const firstParagraph = afterFrontmatter.match(/^([^\n#].+(?:\n(?![#\-]).+)*)/m);
|
|
41
|
+
if (firstParagraph)
|
|
42
|
+
sections.push(firstParagraph[1].trim());
|
|
43
|
+
// Extract "Before You Act" section
|
|
44
|
+
const beforeYouAct = prompt.match(/(?:^|\n)#{1,3}\s*Before You Act\s*\n([\s\S]*?)(?=\n#{1,3}\s|\n*$)/i);
|
|
45
|
+
if (beforeYouAct)
|
|
46
|
+
sections.push('Instructions:\n' + beforeYouAct[1].trim());
|
|
47
|
+
// Extract "Self-Check" section
|
|
48
|
+
const selfCheck = prompt.match(/(?:^|\n)#{1,3}\s*Self[- ]?Check\s*\n([\s\S]*?)(?=\n#{1,3}\s|\n*$)/i);
|
|
49
|
+
if (selfCheck)
|
|
50
|
+
sections.push('Self-Check:\n' + selfCheck[1].trim());
|
|
51
|
+
// Extract debt tagging if present
|
|
52
|
+
const debtTag = prompt.match(/(?:^|\n)#{1,3}\s*Debt\s*\n([\s\S]*?)(?=\n#{1,3}\s|\n*$)/i);
|
|
53
|
+
if (debtTag)
|
|
54
|
+
sections.push('Debt:\n' + debtTag[1].trim());
|
|
55
|
+
return sections.join('\n\n');
|
|
56
|
+
}
|
|
57
|
+
/** Estimate token savings (rough: 1 token ≈ 4 chars) */
|
|
58
|
+
static estimateSavings(original, compressed) {
|
|
59
|
+
const origTokens = Math.ceil(original.length / 4);
|
|
60
|
+
const compTokens = Math.ceil(compressed.length / 4);
|
|
61
|
+
return {
|
|
62
|
+
originalTokens: origTokens,
|
|
63
|
+
compressedTokens: compTokens,
|
|
64
|
+
savedPercent: origTokens > 0 ? Math.round((1 - compTokens / origTokens) * 100) : 0,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=prompt-compressor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-compressor.js","sourceRoot":"","sources":["../../src/runtime/prompt-compressor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export interface RepoMapOptions {
|
|
2
|
+
maxTokens?: number;
|
|
3
|
+
includePatterns?: string[];
|
|
4
|
+
excludePatterns?: string[];
|
|
5
|
+
}
|
|
6
|
+
export interface FileSignature {
|
|
7
|
+
path: string;
|
|
8
|
+
exports: string[];
|
|
9
|
+
classes: string[];
|
|
10
|
+
functions: string[];
|
|
11
|
+
imports: string[];
|
|
12
|
+
}
|
|
13
|
+
export declare class RepoMapGenerator {
|
|
14
|
+
private static cache;
|
|
15
|
+
private static CACHE_TTL;
|
|
16
|
+
/** Generate a compressed repo map as a string (cached per rootDir for 30s) */
|
|
17
|
+
static generateMap(rootDir: string, options?: RepoMapOptions): string;
|
|
18
|
+
/** Clear the repo map cache (useful for testing) */
|
|
19
|
+
static clearCache(): void;
|
|
20
|
+
/** Extract signatures from a single file */
|
|
21
|
+
static extractSignatures(filePath: string, content: string): FileSignature;
|
|
22
|
+
/** Format signatures into a compressed string */
|
|
23
|
+
static formatMap(signatures: FileSignature[], maxChars: number): string;
|
|
24
|
+
private static scanFiles;
|
|
25
|
+
private static walkDir;
|
|
26
|
+
private static matchesExclude;
|
|
27
|
+
private static extractExtensions;
|
|
28
|
+
private static extractTypeScript;
|
|
29
|
+
private static extractPython;
|
|
30
|
+
private static extractGo;
|
|
31
|
+
private static extractRust;
|
|
32
|
+
private static extractJava;
|
|
33
|
+
/** Extract a balanced-brace block starting after an opening brace */
|
|
34
|
+
private static extractBlock;
|
|
35
|
+
/** Extract method signatures from a class body */
|
|
36
|
+
private static extractMethods;
|
|
37
|
+
/** Compress parameter list to just names (drop types for brevity) */
|
|
38
|
+
private static compressParams;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=repo-map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo-map.d.ts","sourceRoot":"","sources":["../../src/runtime/repo-map.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAOD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAuE;IAC3F,OAAO,CAAC,MAAM,CAAC,SAAS,CAAU;IAElC,8EAA8E;IAC9E,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM;IA+BrE,oDAAoD;IACpD,MAAM,CAAC,UAAU,IAAI,IAAI;IAIzB,4CAA4C;IAC5C,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa;IAqB1E,iDAAiD;IACjD,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAyCvE,OAAO,CAAC,MAAM,CAAC,SAAS;IASxB,OAAO,CAAC,MAAM,CAAC,OAAO;IAwBtB,OAAO,CAAC,MAAM,CAAC,cAAc;IA2B7B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAgBhC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IA0ChC,OAAO,CAAC,MAAM,CAAC,aAAa;IA+C5B,OAAO,CAAC,MAAM,CAAC,SAAS;IA8BxB,OAAO,CAAC,MAAM,CAAC,WAAW;IAqB1B,OAAO,CAAC,MAAM,CAAC,WAAW;IA8B1B,qEAAqE;IACrE,OAAO,CAAC,MAAM,CAAC,YAAY;IAW3B,kDAAkD;IAClD,OAAO,CAAC,MAAM,CAAC,cAAc;IAe7B,qEAAqE;IACrE,OAAO,CAAC,MAAM,CAAC,cAAc;CAkB9B"}
|