@soleri/core 2.1.0 → 2.4.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/brain/brain.d.ts +3 -1
- package/dist/brain/brain.d.ts.map +1 -1
- package/dist/brain/brain.js +60 -4
- package/dist/brain/brain.js.map +1 -1
- package/dist/brain/intelligence.d.ts +36 -1
- package/dist/brain/intelligence.d.ts.map +1 -1
- package/dist/brain/intelligence.js +119 -14
- package/dist/brain/intelligence.js.map +1 -1
- package/dist/brain/types.d.ts +32 -0
- package/dist/brain/types.d.ts.map +1 -1
- package/dist/control/identity-manager.d.ts +22 -0
- package/dist/control/identity-manager.d.ts.map +1 -0
- package/dist/control/identity-manager.js +233 -0
- package/dist/control/identity-manager.js.map +1 -0
- package/dist/control/intent-router.d.ts +32 -0
- package/dist/control/intent-router.d.ts.map +1 -0
- package/dist/control/intent-router.js +242 -0
- package/dist/control/intent-router.js.map +1 -0
- package/dist/control/types.d.ts +68 -0
- package/dist/control/types.d.ts.map +1 -0
- package/dist/control/types.js +9 -0
- package/dist/control/types.js.map +1 -0
- package/dist/curator/curator.d.ts +29 -0
- package/dist/curator/curator.d.ts.map +1 -1
- package/dist/curator/curator.js +135 -0
- package/dist/curator/curator.js.map +1 -1
- package/dist/facades/types.d.ts +1 -1
- package/dist/governance/governance.d.ts +42 -0
- package/dist/governance/governance.d.ts.map +1 -0
- package/dist/governance/governance.js +488 -0
- package/dist/governance/governance.js.map +1 -0
- package/dist/governance/index.d.ts +3 -0
- package/dist/governance/index.d.ts.map +1 -0
- package/dist/governance/index.js +2 -0
- package/dist/governance/index.js.map +1 -0
- package/dist/governance/types.d.ts +102 -0
- package/dist/governance/types.d.ts.map +1 -0
- package/dist/governance/types.js +3 -0
- package/dist/governance/types.js.map +1 -0
- package/dist/index.d.ts +32 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -1
- package/dist/index.js.map +1 -1
- package/dist/logging/logger.d.ts +37 -0
- package/dist/logging/logger.d.ts.map +1 -0
- package/dist/logging/logger.js +145 -0
- package/dist/logging/logger.js.map +1 -0
- package/dist/logging/types.d.ts +19 -0
- package/dist/logging/types.d.ts.map +1 -0
- package/dist/logging/types.js +2 -0
- package/dist/logging/types.js.map +1 -0
- package/dist/loop/loop-manager.d.ts +49 -0
- package/dist/loop/loop-manager.d.ts.map +1 -0
- package/dist/loop/loop-manager.js +105 -0
- package/dist/loop/loop-manager.js.map +1 -0
- package/dist/loop/types.d.ts +35 -0
- package/dist/loop/types.d.ts.map +1 -0
- package/dist/loop/types.js +8 -0
- package/dist/loop/types.js.map +1 -0
- package/dist/planning/gap-analysis.d.ts +29 -0
- package/dist/planning/gap-analysis.d.ts.map +1 -0
- package/dist/planning/gap-analysis.js +265 -0
- package/dist/planning/gap-analysis.js.map +1 -0
- package/dist/planning/gap-types.d.ts +29 -0
- package/dist/planning/gap-types.d.ts.map +1 -0
- package/dist/planning/gap-types.js +28 -0
- package/dist/planning/gap-types.js.map +1 -0
- package/dist/planning/planner.d.ts +150 -1
- package/dist/planning/planner.d.ts.map +1 -1
- package/dist/planning/planner.js +365 -2
- package/dist/planning/planner.js.map +1 -1
- package/dist/project/project-registry.d.ts +79 -0
- package/dist/project/project-registry.d.ts.map +1 -0
- package/dist/project/project-registry.js +276 -0
- package/dist/project/project-registry.js.map +1 -0
- package/dist/project/types.d.ts +28 -0
- package/dist/project/types.d.ts.map +1 -0
- package/dist/project/types.js +5 -0
- package/dist/project/types.js.map +1 -0
- package/dist/runtime/admin-extra-ops.d.ts +13 -0
- package/dist/runtime/admin-extra-ops.d.ts.map +1 -0
- package/dist/runtime/admin-extra-ops.js +284 -0
- package/dist/runtime/admin-extra-ops.js.map +1 -0
- package/dist/runtime/admin-ops.d.ts +15 -0
- package/dist/runtime/admin-ops.d.ts.map +1 -0
- package/dist/runtime/admin-ops.js +322 -0
- package/dist/runtime/admin-ops.js.map +1 -0
- package/dist/runtime/capture-ops.d.ts +15 -0
- package/dist/runtime/capture-ops.d.ts.map +1 -0
- package/dist/runtime/capture-ops.js +345 -0
- package/dist/runtime/capture-ops.js.map +1 -0
- package/dist/runtime/core-ops.d.ts +7 -3
- package/dist/runtime/core-ops.d.ts.map +1 -1
- package/dist/runtime/core-ops.js +474 -8
- package/dist/runtime/core-ops.js.map +1 -1
- package/dist/runtime/curator-extra-ops.d.ts +9 -0
- package/dist/runtime/curator-extra-ops.d.ts.map +1 -0
- package/dist/runtime/curator-extra-ops.js +59 -0
- package/dist/runtime/curator-extra-ops.js.map +1 -0
- package/dist/runtime/domain-ops.d.ts.map +1 -1
- package/dist/runtime/domain-ops.js +59 -13
- package/dist/runtime/domain-ops.js.map +1 -1
- package/dist/runtime/grading-ops.d.ts +14 -0
- package/dist/runtime/grading-ops.d.ts.map +1 -0
- package/dist/runtime/grading-ops.js +105 -0
- package/dist/runtime/grading-ops.js.map +1 -0
- package/dist/runtime/loop-ops.d.ts +13 -0
- package/dist/runtime/loop-ops.d.ts.map +1 -0
- package/dist/runtime/loop-ops.js +179 -0
- package/dist/runtime/loop-ops.js.map +1 -0
- package/dist/runtime/memory-cross-project-ops.d.ts +12 -0
- package/dist/runtime/memory-cross-project-ops.d.ts.map +1 -0
- package/dist/runtime/memory-cross-project-ops.js +165 -0
- package/dist/runtime/memory-cross-project-ops.js.map +1 -0
- package/dist/runtime/memory-extra-ops.d.ts +13 -0
- package/dist/runtime/memory-extra-ops.d.ts.map +1 -0
- package/dist/runtime/memory-extra-ops.js +173 -0
- package/dist/runtime/memory-extra-ops.js.map +1 -0
- package/dist/runtime/orchestrate-ops.d.ts +17 -0
- package/dist/runtime/orchestrate-ops.d.ts.map +1 -0
- package/dist/runtime/orchestrate-ops.js +240 -0
- package/dist/runtime/orchestrate-ops.js.map +1 -0
- package/dist/runtime/planning-extra-ops.d.ts +17 -0
- package/dist/runtime/planning-extra-ops.d.ts.map +1 -0
- package/dist/runtime/planning-extra-ops.js +300 -0
- package/dist/runtime/planning-extra-ops.js.map +1 -0
- package/dist/runtime/project-ops.d.ts +15 -0
- package/dist/runtime/project-ops.d.ts.map +1 -0
- package/dist/runtime/project-ops.js +181 -0
- package/dist/runtime/project-ops.js.map +1 -0
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +44 -1
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/runtime/types.d.ts +21 -0
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime/vault-extra-ops.d.ts +9 -0
- package/dist/runtime/vault-extra-ops.d.ts.map +1 -0
- package/dist/runtime/vault-extra-ops.js +195 -0
- package/dist/runtime/vault-extra-ops.js.map +1 -0
- package/dist/telemetry/telemetry.d.ts +48 -0
- package/dist/telemetry/telemetry.d.ts.map +1 -0
- package/dist/telemetry/telemetry.js +87 -0
- package/dist/telemetry/telemetry.js.map +1 -0
- package/dist/vault/vault.d.ts +94 -0
- package/dist/vault/vault.d.ts.map +1 -1
- package/dist/vault/vault.js +340 -1
- package/dist/vault/vault.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/admin-extra-ops.test.ts +420 -0
- package/src/__tests__/admin-ops.test.ts +271 -0
- package/src/__tests__/brain-intelligence.test.ts +205 -0
- package/src/__tests__/brain.test.ts +131 -0
- package/src/__tests__/capture-ops.test.ts +509 -0
- package/src/__tests__/core-ops.test.ts +266 -2
- package/src/__tests__/curator-extra-ops.test.ts +359 -0
- package/src/__tests__/domain-ops.test.ts +66 -0
- package/src/__tests__/governance.test.ts +522 -0
- package/src/__tests__/grading-ops.test.ts +340 -0
- package/src/__tests__/identity-manager.test.ts +243 -0
- package/src/__tests__/intent-router.test.ts +222 -0
- package/src/__tests__/logger.test.ts +200 -0
- package/src/__tests__/loop-ops.test.ts +398 -0
- package/src/__tests__/memory-cross-project-ops.test.ts +246 -0
- package/src/__tests__/memory-extra-ops.test.ts +352 -0
- package/src/__tests__/orchestrate-ops.test.ts +284 -0
- package/src/__tests__/planner.test.ts +331 -0
- package/src/__tests__/planning-extra-ops.test.ts +548 -0
- package/src/__tests__/project-ops.test.ts +367 -0
- package/src/__tests__/vault-extra-ops.test.ts +407 -0
- package/src/brain/brain.ts +114 -7
- package/src/brain/intelligence.ts +179 -10
- package/src/brain/types.ts +38 -0
- package/src/control/identity-manager.ts +354 -0
- package/src/control/intent-router.ts +326 -0
- package/src/control/types.ts +102 -0
- package/src/curator/curator.ts +213 -0
- package/src/governance/governance.ts +698 -0
- package/src/governance/index.ts +18 -0
- package/src/governance/types.ts +111 -0
- package/src/index.ts +102 -2
- package/src/logging/logger.ts +154 -0
- package/src/logging/types.ts +21 -0
- package/src/loop/loop-manager.ts +130 -0
- package/src/loop/types.ts +44 -0
- package/src/planning/gap-analysis.ts +506 -0
- package/src/planning/gap-types.ts +58 -0
- package/src/planning/planner.ts +478 -2
- package/src/project/project-registry.ts +358 -0
- package/src/project/types.ts +31 -0
- package/src/runtime/admin-extra-ops.ts +307 -0
- package/src/runtime/admin-ops.ts +329 -0
- package/src/runtime/capture-ops.ts +385 -0
- package/src/runtime/core-ops.ts +535 -7
- package/src/runtime/curator-extra-ops.ts +71 -0
- package/src/runtime/domain-ops.ts +65 -13
- package/src/runtime/grading-ops.ts +121 -0
- package/src/runtime/loop-ops.ts +194 -0
- package/src/runtime/memory-cross-project-ops.ts +192 -0
- package/src/runtime/memory-extra-ops.ts +186 -0
- package/src/runtime/orchestrate-ops.ts +272 -0
- package/src/runtime/planning-extra-ops.ts +327 -0
- package/src/runtime/project-ops.ts +196 -0
- package/src/runtime/runtime.ts +49 -1
- package/src/runtime/types.ts +21 -0
- package/src/runtime/vault-extra-ops.ts +225 -0
- package/src/telemetry/telemetry.ts +118 -0
- package/src/vault/vault.ts +412 -1
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Orchestration operations — compose planning + brain + vault into high-level workflows.
|
|
3
|
+
*
|
|
4
|
+
* These ops are convenience wrappers that sequence multiple module calls:
|
|
5
|
+
* - orchestrate_plan: brain-informed plan creation
|
|
6
|
+
* - orchestrate_execute: start plan + brain session together
|
|
7
|
+
* - orchestrate_complete: finish plan + brain session + extract knowledge
|
|
8
|
+
* - orchestrate_status: combined status across all modules
|
|
9
|
+
* - orchestrate_quick_capture: one-call knowledge capture without full planning
|
|
10
|
+
*/
|
|
11
|
+
import { z } from 'zod';
|
|
12
|
+
/**
|
|
13
|
+
* Create the 5 orchestration operations for an agent runtime.
|
|
14
|
+
*/
|
|
15
|
+
export function createOrchestrateOps(runtime) {
|
|
16
|
+
const { planner, brainIntelligence, vault } = runtime;
|
|
17
|
+
return [
|
|
18
|
+
// ─── orchestrate_plan ─────────────────────────────────────────
|
|
19
|
+
{
|
|
20
|
+
name: 'orchestrate_plan',
|
|
21
|
+
description: 'Create a brain-informed plan with recommendations from pattern strengths. ' +
|
|
22
|
+
'Fetches relevant brain recommendations for the domain/task, then creates a plan ' +
|
|
23
|
+
'with those recommendations injected as decisions.',
|
|
24
|
+
auth: 'write',
|
|
25
|
+
schema: z.object({
|
|
26
|
+
objective: z.string().describe('What the plan aims to achieve'),
|
|
27
|
+
scope: z.string().describe('Boundaries of the work'),
|
|
28
|
+
domain: z.string().optional().describe('Domain for brain recommendations (e.g. "component", "styling")'),
|
|
29
|
+
tasks: z
|
|
30
|
+
.array(z.object({ title: z.string(), description: z.string() }))
|
|
31
|
+
.optional()
|
|
32
|
+
.describe('Optional pre-defined tasks'),
|
|
33
|
+
}),
|
|
34
|
+
handler: async (params) => {
|
|
35
|
+
const objective = params.objective;
|
|
36
|
+
const scope = params.scope;
|
|
37
|
+
const domain = params.domain;
|
|
38
|
+
const tasks = params.tasks ?? [];
|
|
39
|
+
// Get brain recommendations — graceful degradation if no data
|
|
40
|
+
let recommendations = [];
|
|
41
|
+
try {
|
|
42
|
+
const raw = brainIntelligence.recommend({
|
|
43
|
+
domain,
|
|
44
|
+
task: objective,
|
|
45
|
+
limit: 5,
|
|
46
|
+
});
|
|
47
|
+
recommendations = raw.map((r) => ({
|
|
48
|
+
pattern: r.pattern,
|
|
49
|
+
strength: r.strength,
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
// Brain has no data yet — proceed without recommendations
|
|
54
|
+
}
|
|
55
|
+
// Build decisions from recommendations
|
|
56
|
+
const decisions = recommendations.map((r) => `Brain pattern: ${r.pattern} (strength: ${r.strength.toFixed(1)})`);
|
|
57
|
+
// Create plan with recommendations as context
|
|
58
|
+
const plan = planner.create({
|
|
59
|
+
objective,
|
|
60
|
+
scope,
|
|
61
|
+
decisions,
|
|
62
|
+
tasks,
|
|
63
|
+
});
|
|
64
|
+
return { plan, recommendations };
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
// ─── orchestrate_execute ──────────────────────────────────────
|
|
68
|
+
{
|
|
69
|
+
name: 'orchestrate_execute',
|
|
70
|
+
description: 'Start plan execution and open a brain session to track the work. ' +
|
|
71
|
+
'The plan must be in "approved" status. Returns both the updated plan and session ID.',
|
|
72
|
+
auth: 'write',
|
|
73
|
+
schema: z.object({
|
|
74
|
+
planId: z.string().describe('ID of the approved plan to start executing'),
|
|
75
|
+
domain: z.string().optional().describe('Domain for brain session tracking'),
|
|
76
|
+
context: z.string().optional().describe('Additional context for the brain session'),
|
|
77
|
+
}),
|
|
78
|
+
handler: async (params) => {
|
|
79
|
+
const planId = params.planId;
|
|
80
|
+
const domain = params.domain;
|
|
81
|
+
const context = params.context;
|
|
82
|
+
// Start plan execution
|
|
83
|
+
const plan = planner.startExecution(planId);
|
|
84
|
+
// Start brain session linked to this plan
|
|
85
|
+
const session = brainIntelligence.lifecycle({
|
|
86
|
+
action: 'start',
|
|
87
|
+
domain,
|
|
88
|
+
context,
|
|
89
|
+
planId,
|
|
90
|
+
});
|
|
91
|
+
return { plan, session };
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
// ─── orchestrate_complete ─────────────────────────────────────
|
|
95
|
+
{
|
|
96
|
+
name: 'orchestrate_complete',
|
|
97
|
+
description: 'Complete plan execution, end brain session, and extract knowledge. ' +
|
|
98
|
+
'Performs three steps: marks plan completed, ends the brain session with outcome, ' +
|
|
99
|
+
'and runs knowledge extraction on the session.',
|
|
100
|
+
auth: 'write',
|
|
101
|
+
schema: z.object({
|
|
102
|
+
planId: z.string().describe('ID of the executing plan to complete'),
|
|
103
|
+
sessionId: z.string().describe('ID of the brain session to end'),
|
|
104
|
+
outcome: z
|
|
105
|
+
.enum(['completed', 'abandoned', 'partial'])
|
|
106
|
+
.optional()
|
|
107
|
+
.default('completed')
|
|
108
|
+
.describe('Plan outcome'),
|
|
109
|
+
toolsUsed: z.array(z.string()).optional().describe('Tools used during execution'),
|
|
110
|
+
filesModified: z.array(z.string()).optional().describe('Files modified during execution'),
|
|
111
|
+
}),
|
|
112
|
+
handler: async (params) => {
|
|
113
|
+
const planId = params.planId;
|
|
114
|
+
const sessionId = params.sessionId;
|
|
115
|
+
const outcome = params.outcome ?? 'completed';
|
|
116
|
+
const toolsUsed = params.toolsUsed ?? [];
|
|
117
|
+
const filesModified = params.filesModified ?? [];
|
|
118
|
+
// Complete the plan
|
|
119
|
+
const plan = planner.complete(planId);
|
|
120
|
+
// End brain session with outcome
|
|
121
|
+
const session = brainIntelligence.lifecycle({
|
|
122
|
+
action: 'end',
|
|
123
|
+
sessionId,
|
|
124
|
+
planId,
|
|
125
|
+
planOutcome: outcome,
|
|
126
|
+
toolsUsed,
|
|
127
|
+
filesModified,
|
|
128
|
+
});
|
|
129
|
+
// Extract knowledge from the session — graceful if nothing to extract
|
|
130
|
+
let extraction = null;
|
|
131
|
+
try {
|
|
132
|
+
extraction = brainIntelligence.extractKnowledge(sessionId);
|
|
133
|
+
}
|
|
134
|
+
catch {
|
|
135
|
+
// Session may not have enough signal for extraction — that's OK
|
|
136
|
+
}
|
|
137
|
+
return { plan, session, extraction };
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
// ─── orchestrate_status ───────────────────────────────────────
|
|
141
|
+
{
|
|
142
|
+
name: 'orchestrate_status',
|
|
143
|
+
description: 'Get combined orchestration status: active plans, brain session context, ' +
|
|
144
|
+
'vault stats, and recent brain recommendations.',
|
|
145
|
+
auth: 'read',
|
|
146
|
+
schema: z.object({
|
|
147
|
+
domain: z.string().optional().describe('Filter recommendations by domain'),
|
|
148
|
+
sessionLimit: z.number().optional().describe('Number of recent sessions to include (default 5)'),
|
|
149
|
+
}),
|
|
150
|
+
handler: async (params) => {
|
|
151
|
+
const domain = params.domain;
|
|
152
|
+
const sessionLimit = params.sessionLimit ?? 5;
|
|
153
|
+
// Active plans
|
|
154
|
+
const activePlans = planner.getActive();
|
|
155
|
+
// Brain session context
|
|
156
|
+
const sessionContext = brainIntelligence.getSessionContext(sessionLimit);
|
|
157
|
+
// Vault stats
|
|
158
|
+
const vaultStats = vault.stats();
|
|
159
|
+
// Recent recommendations — graceful degradation
|
|
160
|
+
let recommendations = [];
|
|
161
|
+
try {
|
|
162
|
+
const raw = brainIntelligence.recommend({
|
|
163
|
+
domain,
|
|
164
|
+
limit: 5,
|
|
165
|
+
});
|
|
166
|
+
recommendations = raw.map((r) => ({
|
|
167
|
+
pattern: r.pattern,
|
|
168
|
+
strength: r.strength,
|
|
169
|
+
}));
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
// No recommendations available
|
|
173
|
+
}
|
|
174
|
+
// Brain intelligence stats
|
|
175
|
+
const brainStats = brainIntelligence.getStats();
|
|
176
|
+
return {
|
|
177
|
+
activePlans,
|
|
178
|
+
sessionContext,
|
|
179
|
+
vaultStats,
|
|
180
|
+
recommendations,
|
|
181
|
+
brainStats,
|
|
182
|
+
};
|
|
183
|
+
},
|
|
184
|
+
},
|
|
185
|
+
// ─── orchestrate_quick_capture ────────────────────────────────
|
|
186
|
+
{
|
|
187
|
+
name: 'orchestrate_quick_capture',
|
|
188
|
+
description: 'Capture knowledge from a completed task without full plan lifecycle. ' +
|
|
189
|
+
'Creates a brain session, records the context, ends it, and extracts knowledge — all in one call.',
|
|
190
|
+
auth: 'write',
|
|
191
|
+
schema: z.object({
|
|
192
|
+
domain: z.string().describe('Knowledge domain (e.g. "component", "accessibility")'),
|
|
193
|
+
context: z.string().describe('What was done — summary of the task'),
|
|
194
|
+
toolsUsed: z.array(z.string()).optional().describe('Tools used during the task'),
|
|
195
|
+
filesModified: z.array(z.string()).optional().describe('Files modified during the task'),
|
|
196
|
+
outcome: z
|
|
197
|
+
.enum(['completed', 'abandoned', 'partial'])
|
|
198
|
+
.optional()
|
|
199
|
+
.default('completed')
|
|
200
|
+
.describe('Task outcome'),
|
|
201
|
+
}),
|
|
202
|
+
handler: async (params) => {
|
|
203
|
+
const domain = params.domain;
|
|
204
|
+
const context = params.context;
|
|
205
|
+
const toolsUsed = params.toolsUsed ?? [];
|
|
206
|
+
const filesModified = params.filesModified ?? [];
|
|
207
|
+
const outcome = params.outcome ?? 'completed';
|
|
208
|
+
// Start session
|
|
209
|
+
const startedSession = brainIntelligence.lifecycle({
|
|
210
|
+
action: 'start',
|
|
211
|
+
domain,
|
|
212
|
+
context,
|
|
213
|
+
toolsUsed,
|
|
214
|
+
filesModified,
|
|
215
|
+
});
|
|
216
|
+
// End session immediately with outcome
|
|
217
|
+
const endedSession = brainIntelligence.lifecycle({
|
|
218
|
+
action: 'end',
|
|
219
|
+
sessionId: startedSession.id,
|
|
220
|
+
toolsUsed,
|
|
221
|
+
filesModified,
|
|
222
|
+
planOutcome: outcome,
|
|
223
|
+
});
|
|
224
|
+
// Extract knowledge — graceful if nothing to extract
|
|
225
|
+
let extraction = null;
|
|
226
|
+
try {
|
|
227
|
+
extraction = brainIntelligence.extractKnowledge(startedSession.id);
|
|
228
|
+
}
|
|
229
|
+
catch {
|
|
230
|
+
// Not enough signal — that's fine
|
|
231
|
+
}
|
|
232
|
+
return {
|
|
233
|
+
session: endedSession,
|
|
234
|
+
extraction,
|
|
235
|
+
};
|
|
236
|
+
},
|
|
237
|
+
},
|
|
238
|
+
];
|
|
239
|
+
}
|
|
240
|
+
//# sourceMappingURL=orchestrate-ops.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrate-ops.js","sourceRoot":"","sources":["../../src/runtime/orchestrate-ops.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extended planning operations — 9 ops for advanced plan lifecycle management.
|
|
3
|
+
*
|
|
4
|
+
* These complement the 5 basic planning ops in core-ops.ts with:
|
|
5
|
+
* iteration, splitting, reconciliation, lifecycle completion,
|
|
6
|
+
* dispatch, review, archival, task listing, and statistics.
|
|
7
|
+
*/
|
|
8
|
+
import type { OpDefinition } from '../facades/types.js';
|
|
9
|
+
import type { AgentRuntime } from './types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Create 9 extended planning operations for an agent runtime.
|
|
12
|
+
*
|
|
13
|
+
* Groups: mutation (plan_iterate, plan_split, plan_reconcile, plan_complete_lifecycle,
|
|
14
|
+
* plan_review, plan_archive), query (plan_dispatch, plan_list_tasks, plan_stats).
|
|
15
|
+
*/
|
|
16
|
+
export declare function createPlanningExtraOps(runtime: AgentRuntime): OpDefinition[];
|
|
17
|
+
//# sourceMappingURL=planning-extra-ops.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planning-extra-ops.d.ts","sourceRoot":"","sources":["../../src/runtime/planning-extra-ops.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,EAAE,CAmT5E"}
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extended planning operations — 9 ops for advanced plan lifecycle management.
|
|
3
|
+
*
|
|
4
|
+
* These complement the 5 basic planning ops in core-ops.ts with:
|
|
5
|
+
* iteration, splitting, reconciliation, lifecycle completion,
|
|
6
|
+
* dispatch, review, archival, task listing, and statistics.
|
|
7
|
+
*/
|
|
8
|
+
import { z } from 'zod';
|
|
9
|
+
/**
|
|
10
|
+
* Create 9 extended planning operations for an agent runtime.
|
|
11
|
+
*
|
|
12
|
+
* Groups: mutation (plan_iterate, plan_split, plan_reconcile, plan_complete_lifecycle,
|
|
13
|
+
* plan_review, plan_archive), query (plan_dispatch, plan_list_tasks, plan_stats).
|
|
14
|
+
*/
|
|
15
|
+
export function createPlanningExtraOps(runtime) {
|
|
16
|
+
const { planner, vault } = runtime;
|
|
17
|
+
return [
|
|
18
|
+
// ─── Plan Iteration ───────────────────────────────────────────
|
|
19
|
+
{
|
|
20
|
+
name: 'plan_iterate',
|
|
21
|
+
description: 'Revise a draft plan — change objective, scope, decisions, or add/remove tasks. Only works on draft plans.',
|
|
22
|
+
auth: 'write',
|
|
23
|
+
schema: z.object({
|
|
24
|
+
planId: z.string().describe('ID of the draft plan to iterate on'),
|
|
25
|
+
objective: z.string().optional().describe('New objective (replaces existing)'),
|
|
26
|
+
scope: z.string().optional().describe('New scope (replaces existing)'),
|
|
27
|
+
decisions: z.array(z.string()).optional().describe('New decisions list (replaces existing)'),
|
|
28
|
+
addTasks: z
|
|
29
|
+
.array(z.object({ title: z.string(), description: z.string() }))
|
|
30
|
+
.optional()
|
|
31
|
+
.describe('Tasks to append'),
|
|
32
|
+
removeTasks: z
|
|
33
|
+
.array(z.string())
|
|
34
|
+
.optional()
|
|
35
|
+
.describe('Task IDs to remove'),
|
|
36
|
+
}),
|
|
37
|
+
handler: async (params) => {
|
|
38
|
+
try {
|
|
39
|
+
const plan = planner.iterate(params.planId, {
|
|
40
|
+
objective: params.objective,
|
|
41
|
+
scope: params.scope,
|
|
42
|
+
decisions: params.decisions,
|
|
43
|
+
addTasks: params.addTasks,
|
|
44
|
+
removeTasks: params.removeTasks,
|
|
45
|
+
});
|
|
46
|
+
return { iterated: true, plan };
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
return { error: err.message };
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
// ─── Plan Split ───────────────────────────────────────────────
|
|
54
|
+
{
|
|
55
|
+
name: 'plan_split',
|
|
56
|
+
description: 'Split a plan into sub-tasks with dependency tracking. Replaces existing tasks with a new set. Works on draft or approved plans.',
|
|
57
|
+
auth: 'write',
|
|
58
|
+
schema: z.object({
|
|
59
|
+
planId: z.string().describe('Plan ID to split tasks for'),
|
|
60
|
+
tasks: z
|
|
61
|
+
.array(z.object({
|
|
62
|
+
title: z.string(),
|
|
63
|
+
description: z.string(),
|
|
64
|
+
dependsOn: z.array(z.string()).optional().describe('Task IDs this task depends on'),
|
|
65
|
+
}))
|
|
66
|
+
.describe('New task list with optional dependency references (task-1, task-2, etc.)'),
|
|
67
|
+
}),
|
|
68
|
+
handler: async (params) => {
|
|
69
|
+
try {
|
|
70
|
+
const plan = planner.splitTasks(params.planId, params.tasks);
|
|
71
|
+
return { split: true, taskCount: plan.tasks.length, plan };
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
return { error: err.message };
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
// ─── Plan Reconcile ───────────────────────────────────────────
|
|
79
|
+
{
|
|
80
|
+
name: 'plan_reconcile',
|
|
81
|
+
description: 'Capture what actually happened vs what was planned. Produces a drift analysis with accuracy score. Works on executing or completed plans.',
|
|
82
|
+
auth: 'write',
|
|
83
|
+
schema: z.object({
|
|
84
|
+
planId: z.string().describe('Plan ID to reconcile'),
|
|
85
|
+
actualOutcome: z.string().describe('Description of what actually happened'),
|
|
86
|
+
driftItems: z
|
|
87
|
+
.array(z.object({
|
|
88
|
+
type: z.enum(['skipped', 'added', 'modified', 'reordered']),
|
|
89
|
+
description: z.string(),
|
|
90
|
+
impact: z.enum(['low', 'medium', 'high']),
|
|
91
|
+
rationale: z.string(),
|
|
92
|
+
}))
|
|
93
|
+
.optional()
|
|
94
|
+
.describe('Specific drift items — differences between plan and reality'),
|
|
95
|
+
}),
|
|
96
|
+
handler: async (params) => {
|
|
97
|
+
try {
|
|
98
|
+
const plan = planner.reconcile(params.planId, {
|
|
99
|
+
actualOutcome: params.actualOutcome,
|
|
100
|
+
driftItems: params.driftItems,
|
|
101
|
+
});
|
|
102
|
+
return {
|
|
103
|
+
reconciled: true,
|
|
104
|
+
accuracy: plan.reconciliation.accuracy,
|
|
105
|
+
driftCount: plan.reconciliation.driftItems.length,
|
|
106
|
+
plan,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
catch (err) {
|
|
110
|
+
return { error: err.message };
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
// ─── Plan Complete Lifecycle ──────────────────────────────────
|
|
115
|
+
{
|
|
116
|
+
name: 'plan_complete_lifecycle',
|
|
117
|
+
description: 'Extract knowledge from a completed and reconciled plan. Captures patterns and anti-patterns into the vault based on drift analysis.',
|
|
118
|
+
auth: 'write',
|
|
119
|
+
schema: z.object({
|
|
120
|
+
planId: z.string().describe('Plan ID (must be completed with reconciliation data)'),
|
|
121
|
+
patterns: z
|
|
122
|
+
.array(z.string())
|
|
123
|
+
.optional()
|
|
124
|
+
.describe('Patterns discovered during execution'),
|
|
125
|
+
antiPatterns: z
|
|
126
|
+
.array(z.string())
|
|
127
|
+
.optional()
|
|
128
|
+
.describe('Anti-patterns discovered during execution'),
|
|
129
|
+
}),
|
|
130
|
+
handler: async (params) => {
|
|
131
|
+
try {
|
|
132
|
+
const plan = planner.get(params.planId);
|
|
133
|
+
if (!plan)
|
|
134
|
+
return { error: `Plan not found: ${params.planId}` };
|
|
135
|
+
if (plan.status !== 'completed')
|
|
136
|
+
return { error: `Plan must be completed — current status: '${plan.status}'` };
|
|
137
|
+
const patterns = params.patterns ?? [];
|
|
138
|
+
const antiPatterns = params.antiPatterns ?? [];
|
|
139
|
+
let captured = 0;
|
|
140
|
+
// Capture patterns into vault
|
|
141
|
+
for (const p of patterns) {
|
|
142
|
+
vault.add({
|
|
143
|
+
id: `plan-pattern-${plan.id}-${captured}`,
|
|
144
|
+
type: 'pattern',
|
|
145
|
+
domain: 'planning',
|
|
146
|
+
title: p,
|
|
147
|
+
severity: 'suggestion',
|
|
148
|
+
description: `Discovered during plan: ${plan.objective}`,
|
|
149
|
+
tags: ['plan-knowledge', plan.id],
|
|
150
|
+
});
|
|
151
|
+
captured++;
|
|
152
|
+
}
|
|
153
|
+
// Capture anti-patterns into vault
|
|
154
|
+
for (const ap of antiPatterns) {
|
|
155
|
+
vault.add({
|
|
156
|
+
id: `plan-antipattern-${plan.id}-${captured}`,
|
|
157
|
+
type: 'anti-pattern',
|
|
158
|
+
domain: 'planning',
|
|
159
|
+
title: ap,
|
|
160
|
+
severity: 'warning',
|
|
161
|
+
description: `Discovered during plan: ${plan.objective}`,
|
|
162
|
+
tags: ['plan-knowledge', plan.id],
|
|
163
|
+
});
|
|
164
|
+
captured++;
|
|
165
|
+
}
|
|
166
|
+
return {
|
|
167
|
+
completed: true,
|
|
168
|
+
knowledgeCaptured: captured,
|
|
169
|
+
patternsAdded: patterns.length,
|
|
170
|
+
antiPatternsAdded: antiPatterns.length,
|
|
171
|
+
reconciliation: plan.reconciliation ?? null,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
catch (err) {
|
|
175
|
+
return { error: err.message };
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
},
|
|
179
|
+
// ─── Plan Dispatch ────────────────────────────────────────────
|
|
180
|
+
{
|
|
181
|
+
name: 'plan_dispatch',
|
|
182
|
+
description: 'Get task execution instructions for subagents. Returns the task, its unmet dependencies, and whether it is ready to execute.',
|
|
183
|
+
auth: 'read',
|
|
184
|
+
schema: z.object({
|
|
185
|
+
planId: z.string().describe('Plan ID'),
|
|
186
|
+
taskId: z.string().describe('Task ID to get dispatch instructions for'),
|
|
187
|
+
}),
|
|
188
|
+
handler: async (params) => {
|
|
189
|
+
try {
|
|
190
|
+
const dispatch = planner.getDispatch(params.planId, params.taskId);
|
|
191
|
+
return dispatch;
|
|
192
|
+
}
|
|
193
|
+
catch (err) {
|
|
194
|
+
return { error: err.message };
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
},
|
|
198
|
+
// ─── Plan Review ──────────────────────────────────────────────
|
|
199
|
+
{
|
|
200
|
+
name: 'plan_review',
|
|
201
|
+
description: 'Submit review evidence for a plan or specific task. Records reviewer, outcome, and comments.',
|
|
202
|
+
auth: 'write',
|
|
203
|
+
schema: z.object({
|
|
204
|
+
planId: z.string().describe('Plan ID to review'),
|
|
205
|
+
taskId: z.string().optional().describe('Specific task ID (omit to review the whole plan)'),
|
|
206
|
+
reviewer: z.string().describe('Name or ID of reviewer'),
|
|
207
|
+
outcome: z
|
|
208
|
+
.enum(['approved', 'rejected', 'needs_changes'])
|
|
209
|
+
.describe('Review outcome'),
|
|
210
|
+
comments: z.string().describe('Review comments'),
|
|
211
|
+
}),
|
|
212
|
+
handler: async (params) => {
|
|
213
|
+
try {
|
|
214
|
+
const plan = planner.addReview(params.planId, {
|
|
215
|
+
taskId: params.taskId,
|
|
216
|
+
reviewer: params.reviewer,
|
|
217
|
+
outcome: params.outcome,
|
|
218
|
+
comments: params.comments,
|
|
219
|
+
});
|
|
220
|
+
return {
|
|
221
|
+
reviewed: true,
|
|
222
|
+
totalReviews: plan.reviews?.length ?? 0,
|
|
223
|
+
plan: { id: plan.id, status: plan.status },
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
catch (err) {
|
|
227
|
+
return { error: err.message };
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
},
|
|
231
|
+
// ─── Plan Archive ─────────────────────────────────────────────
|
|
232
|
+
{
|
|
233
|
+
name: 'plan_archive',
|
|
234
|
+
description: 'Archive completed plans older than N days. Removes them from active store and returns the archived plans.',
|
|
235
|
+
auth: 'admin',
|
|
236
|
+
schema: z.object({
|
|
237
|
+
olderThanDays: z.number().describe('Archive plans completed more than this many days ago'),
|
|
238
|
+
}),
|
|
239
|
+
handler: async (params) => {
|
|
240
|
+
try {
|
|
241
|
+
const olderThanDays = params.olderThanDays ?? 30;
|
|
242
|
+
const archived = planner.archive(olderThanDays);
|
|
243
|
+
return { archived: archived.length, plans: archived.map((p) => ({ id: p.id, objective: p.objective })) };
|
|
244
|
+
}
|
|
245
|
+
catch (err) {
|
|
246
|
+
return { error: err.message };
|
|
247
|
+
}
|
|
248
|
+
},
|
|
249
|
+
},
|
|
250
|
+
// ─── Plan List Tasks ──────────────────────────────────────────
|
|
251
|
+
{
|
|
252
|
+
name: 'plan_list_tasks',
|
|
253
|
+
description: 'List all tasks for a plan with their current status. Optionally filter by status.',
|
|
254
|
+
auth: 'read',
|
|
255
|
+
schema: z.object({
|
|
256
|
+
planId: z.string().describe('Plan ID'),
|
|
257
|
+
status: z
|
|
258
|
+
.enum(['pending', 'in_progress', 'completed', 'skipped', 'failed'])
|
|
259
|
+
.optional()
|
|
260
|
+
.describe('Filter tasks by status'),
|
|
261
|
+
}),
|
|
262
|
+
handler: async (params) => {
|
|
263
|
+
try {
|
|
264
|
+
const plan = planner.get(params.planId);
|
|
265
|
+
if (!plan)
|
|
266
|
+
return { error: `Plan not found: ${params.planId}` };
|
|
267
|
+
const statusFilter = params.status;
|
|
268
|
+
const tasks = statusFilter
|
|
269
|
+
? plan.tasks.filter((t) => t.status === statusFilter)
|
|
270
|
+
: plan.tasks;
|
|
271
|
+
return {
|
|
272
|
+
planId: plan.id,
|
|
273
|
+
planStatus: plan.status,
|
|
274
|
+
total: plan.tasks.length,
|
|
275
|
+
filtered: tasks.length,
|
|
276
|
+
tasks,
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
catch (err) {
|
|
280
|
+
return { error: err.message };
|
|
281
|
+
}
|
|
282
|
+
},
|
|
283
|
+
},
|
|
284
|
+
// ─── Plan Stats ───────────────────────────────────────────────
|
|
285
|
+
{
|
|
286
|
+
name: 'plan_stats',
|
|
287
|
+
description: 'Planning statistics — total plans, breakdown by status, average tasks per plan, task status distribution.',
|
|
288
|
+
auth: 'read',
|
|
289
|
+
handler: async () => {
|
|
290
|
+
try {
|
|
291
|
+
return planner.stats();
|
|
292
|
+
}
|
|
293
|
+
catch (err) {
|
|
294
|
+
return { error: err.message };
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
},
|
|
298
|
+
];
|
|
299
|
+
}
|
|
300
|
+
//# sourceMappingURL=planning-extra-ops.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planning-extra-ops.js","sourceRoot":"","sources":["../../src/runtime/planning-extra-ops.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project registry operations — 12 ops for managing projects, rules, and links.
|
|
3
|
+
*
|
|
4
|
+
* These ops expose the ProjectRegistry module as facade operations.
|
|
5
|
+
* All state is persisted in the Vault's SQLite database.
|
|
6
|
+
*/
|
|
7
|
+
import type { OpDefinition } from '../facades/types.js';
|
|
8
|
+
import type { AgentRuntime } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Create the 12 project registry operations for an agent runtime.
|
|
11
|
+
*
|
|
12
|
+
* Groups: projects (3), rules (4), links (4), misc (1).
|
|
13
|
+
*/
|
|
14
|
+
export declare function createProjectOps(runtime: AgentRuntime): OpDefinition[];
|
|
15
|
+
//# sourceMappingURL=project-ops.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-ops.d.ts","sourceRoot":"","sources":["../../src/runtime/project-ops.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,EAAE,CAmLtE"}
|