stringray-ai 1.0.37 → 1.0.39
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/plugin/architectural-integrity.d.ts +21 -0
- package/dist/plugin/architectural-integrity.d.ts.map +1 -0
- package/dist/plugin/architectural-integrity.js +81 -0
- package/dist/plugin/architectural-integrity.js.map +1 -0
- package/dist/plugin/boot-orchestrator.d.ts +100 -0
- package/dist/plugin/boot-orchestrator.d.ts.map +1 -0
- package/dist/plugin/boot-orchestrator.js +606 -0
- package/dist/plugin/boot-orchestrator.js.map +1 -0
- package/dist/plugin/codex-injector.d.ts +72 -0
- package/dist/plugin/codex-injector.d.ts.map +1 -0
- package/dist/plugin/codex-injector.js +387 -0
- package/dist/plugin/codex-injector.js.map +1 -0
- package/dist/plugin/delegation/index.d.ts +16 -0
- package/dist/plugin/delegation/index.d.ts.map +1 -0
- package/dist/plugin/delegation/index.js +13 -0
- package/dist/plugin/delegation/index.js.map +1 -0
- package/dist/plugin/delegation/session-coordinator.d.ts +121 -0
- package/dist/plugin/delegation/session-coordinator.d.ts.map +1 -0
- package/dist/plugin/delegation/session-coordinator.js +346 -0
- package/dist/plugin/delegation/session-coordinator.js.map +1 -0
- package/dist/plugin/index.d.ts +3 -0
- package/dist/plugin/index.d.ts.map +1 -0
- package/dist/plugin/index.js +3 -0
- package/dist/plugin/index.js.map +1 -0
- package/dist/plugin/monitoring/memory-monitor.d.ts +113 -0
- package/dist/plugin/monitoring/memory-monitor.d.ts.map +1 -0
- package/dist/plugin/monitoring/memory-monitor.js +283 -0
- package/dist/plugin/monitoring/memory-monitor.js.map +1 -0
- package/dist/plugin/postprocessor/PostProcessor.d.ts +90 -0
- package/dist/plugin/postprocessor/PostProcessor.d.ts.map +1 -0
- package/dist/plugin/postprocessor/PostProcessor.js +631 -0
- package/dist/plugin/postprocessor/PostProcessor.js.map +1 -0
- package/dist/plugin/postprocessor/analysis/FailureAnalysisEngine.d.ts +40 -0
- package/dist/plugin/postprocessor/analysis/FailureAnalysisEngine.d.ts.map +1 -0
- package/dist/plugin/postprocessor/analysis/FailureAnalysisEngine.js +244 -0
- package/dist/plugin/postprocessor/analysis/FailureAnalysisEngine.js.map +1 -0
- package/dist/plugin/postprocessor/autofix/AutoFixEngine.d.ts +50 -0
- package/dist/plugin/postprocessor/autofix/AutoFixEngine.d.ts.map +1 -0
- package/dist/plugin/postprocessor/autofix/AutoFixEngine.js +246 -0
- package/dist/plugin/postprocessor/autofix/AutoFixEngine.js.map +1 -0
- package/dist/plugin/postprocessor/autofix/FixValidator.d.ts +27 -0
- package/dist/plugin/postprocessor/autofix/FixValidator.d.ts.map +1 -0
- package/dist/plugin/postprocessor/autofix/FixValidator.js +158 -0
- package/dist/plugin/postprocessor/autofix/FixValidator.js.map +1 -0
- package/dist/plugin/postprocessor/config.d.ts +7 -0
- package/dist/plugin/postprocessor/config.d.ts.map +1 -0
- package/dist/plugin/postprocessor/config.js +66 -0
- package/dist/plugin/postprocessor/config.js.map +1 -0
- package/dist/plugin/postprocessor/escalation/EscalationEngine.d.ts +73 -0
- package/dist/plugin/postprocessor/escalation/EscalationEngine.d.ts.map +1 -0
- package/dist/plugin/postprocessor/escalation/EscalationEngine.js +249 -0
- package/dist/plugin/postprocessor/escalation/EscalationEngine.js.map +1 -0
- package/dist/plugin/postprocessor/monitoring/MonitoringEngine.d.ts +19 -0
- package/dist/plugin/postprocessor/monitoring/MonitoringEngine.d.ts.map +1 -0
- package/dist/plugin/postprocessor/monitoring/MonitoringEngine.js +120 -0
- package/dist/plugin/postprocessor/monitoring/MonitoringEngine.js.map +1 -0
- package/dist/plugin/postprocessor/redeploy/RedeployCoordinator.d.ts +92 -0
- package/dist/plugin/postprocessor/redeploy/RedeployCoordinator.d.ts.map +1 -0
- package/dist/plugin/postprocessor/redeploy/RedeployCoordinator.js +319 -0
- package/dist/plugin/postprocessor/redeploy/RedeployCoordinator.js.map +1 -0
- package/dist/plugin/postprocessor/success/SuccessHandler.d.ts +61 -0
- package/dist/plugin/postprocessor/success/SuccessHandler.d.ts.map +1 -0
- package/dist/plugin/postprocessor/success/SuccessHandler.js +148 -0
- package/dist/plugin/postprocessor/success/SuccessHandler.js.map +1 -0
- package/dist/plugin/postprocessor/triggers/APITrigger.d.ts +13 -0
- package/dist/plugin/postprocessor/triggers/APITrigger.d.ts.map +1 -0
- package/dist/plugin/postprocessor/triggers/APITrigger.js +20 -0
- package/dist/plugin/postprocessor/triggers/APITrigger.js.map +1 -0
- package/dist/plugin/postprocessor/triggers/GitHookTrigger.d.ts +17 -0
- package/dist/plugin/postprocessor/triggers/GitHookTrigger.d.ts.map +1 -0
- package/dist/plugin/postprocessor/triggers/GitHookTrigger.js +285 -0
- package/dist/plugin/postprocessor/triggers/GitHookTrigger.js.map +1 -0
- package/dist/plugin/postprocessor/triggers/WebhookTrigger.d.ts +13 -0
- package/dist/plugin/postprocessor/triggers/WebhookTrigger.d.ts.map +1 -0
- package/dist/plugin/postprocessor/triggers/WebhookTrigger.js +21 -0
- package/dist/plugin/postprocessor/triggers/WebhookTrigger.js.map +1 -0
- package/dist/plugin/postprocessor/types.d.ts +198 -0
- package/dist/plugin/postprocessor/types.d.ts.map +1 -0
- package/dist/plugin/postprocessor/types.js +5 -0
- package/dist/plugin/postprocessor/types.js.map +1 -0
- package/dist/plugin/security/security-auditor.d.ts +57 -0
- package/dist/plugin/security/security-auditor.d.ts.map +1 -0
- package/dist/plugin/security/security-auditor.js +583 -0
- package/dist/plugin/security/security-auditor.js.map +1 -0
- package/dist/plugin/security/security-hardener.d.ts +63 -0
- package/dist/plugin/security/security-hardener.d.ts.map +1 -0
- package/dist/plugin/security/security-hardener.js +181 -0
- package/dist/plugin/security/security-hardener.js.map +1 -0
- package/dist/plugin/security/security-headers.d.ts +52 -0
- package/dist/plugin/security/security-headers.d.ts.map +1 -0
- package/dist/plugin/security/security-headers.js +118 -0
- package/dist/plugin/security/security-headers.js.map +1 -0
- package/dist/plugin/session/session-cleanup-manager.d.ts +118 -0
- package/dist/plugin/session/session-cleanup-manager.d.ts.map +1 -0
- package/dist/plugin/session/session-cleanup-manager.js +324 -0
- package/dist/plugin/session/session-cleanup-manager.js.map +1 -0
- package/dist/plugin/session/session-monitor.d.ts +99 -0
- package/dist/plugin/session/session-monitor.d.ts.map +1 -0
- package/dist/plugin/session/session-monitor.js +363 -0
- package/dist/plugin/session/session-monitor.js.map +1 -0
- package/dist/plugin/session/session-state-manager.d.ts +142 -0
- package/dist/plugin/session/session-state-manager.d.ts.map +1 -0
- package/dist/plugin/session/session-state-manager.js +504 -0
- package/dist/plugin/session/session-state-manager.js.map +1 -0
- package/dist/plugin/strray-activation.d.ts +18 -0
- package/dist/plugin/strray-activation.d.ts.map +1 -0
- package/dist/plugin/strray-activation.js +114 -0
- package/dist/plugin/strray-activation.js.map +1 -0
- package/dist/plugin/validation/report-content-validator.d.ts +43 -0
- package/dist/plugin/validation/report-content-validator.d.ts.map +1 -0
- package/dist/plugin/validation/report-content-validator.js +219 -0
- package/dist/plugin/validation/report-content-validator.js.map +1 -0
- package/package.json +1 -1
- package/scripts/test-complex-orchestration.mjs +1 -1
- package/scripts/test-simple-prompt.mjs +1 -1
|
@@ -0,0 +1,504 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StringRay Framework v1.0.0 - Session State Manager
|
|
3
|
+
*
|
|
4
|
+
* Manages cross-session state sharing, dependency tracking,
|
|
5
|
+
* and coordination for complex workflows.
|
|
6
|
+
*
|
|
7
|
+
* @version 1.0.0
|
|
8
|
+
* @since 2026-01-07
|
|
9
|
+
*/
|
|
10
|
+
export class SessionStateManager {
|
|
11
|
+
stateManager;
|
|
12
|
+
sessionCoordinator;
|
|
13
|
+
dependencies = new Map();
|
|
14
|
+
sessionGroups = new Map();
|
|
15
|
+
failoverConfigs = new Map();
|
|
16
|
+
constructor(stateManager, sessionCoordinator) {
|
|
17
|
+
this.stateManager = stateManager;
|
|
18
|
+
this.sessionCoordinator = sessionCoordinator;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Share state between sessions
|
|
22
|
+
*/
|
|
23
|
+
shareState(fromSessionId, toSessionId, key, value) {
|
|
24
|
+
try {
|
|
25
|
+
const fromSession = this.sessionCoordinator.getSessionStatus(fromSessionId);
|
|
26
|
+
const toSession = this.sessionCoordinator.getSessionStatus(toSessionId);
|
|
27
|
+
if (!fromSession || !toSession) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
this.sessionCoordinator.shareContext(fromSessionId, `shared:${toSessionId}:${key}`, value, "state_manager");
|
|
31
|
+
this.sessionCoordinator.shareContext(toSessionId, `received:${fromSessionId}:${key}`, value, "state_manager");
|
|
32
|
+
console.log(`🔄 Session State Manager: Shared state '${key}' from ${fromSessionId} to ${toSessionId}`);
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
console.error(`❌ Session State Manager: Failed to share state:`, error);
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Broadcast state to multiple sessions
|
|
42
|
+
*/
|
|
43
|
+
broadcastState(fromSessionId, targetSessionIds, key, value) {
|
|
44
|
+
let successCount = 0;
|
|
45
|
+
for (const targetSessionId of targetSessionIds) {
|
|
46
|
+
if (this.shareState(fromSessionId, targetSessionId, key, value)) {
|
|
47
|
+
successCount++;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
console.log(`📢 Session State Manager: Broadcasted '${key}' to ${successCount}/${targetSessionIds.length} sessions`);
|
|
51
|
+
return successCount;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Register session dependency
|
|
55
|
+
*/
|
|
56
|
+
registerDependency(sessionId, dependsOn, metadata = {}) {
|
|
57
|
+
const dependency = {
|
|
58
|
+
sessionId,
|
|
59
|
+
dependsOn,
|
|
60
|
+
dependedBy: [],
|
|
61
|
+
state: "pending",
|
|
62
|
+
priority: 1,
|
|
63
|
+
metadata,
|
|
64
|
+
};
|
|
65
|
+
for (const depId of dependsOn) {
|
|
66
|
+
let dep = this.dependencies.get(depId);
|
|
67
|
+
if (!dep) {
|
|
68
|
+
// Create dependency entry for sessions that are depended upon
|
|
69
|
+
dep = {
|
|
70
|
+
sessionId: depId,
|
|
71
|
+
dependsOn: [],
|
|
72
|
+
dependedBy: [],
|
|
73
|
+
state: "pending",
|
|
74
|
+
priority: 1,
|
|
75
|
+
metadata: {},
|
|
76
|
+
};
|
|
77
|
+
this.dependencies.set(depId, dep);
|
|
78
|
+
}
|
|
79
|
+
dep.dependedBy.push(sessionId);
|
|
80
|
+
}
|
|
81
|
+
this.dependencies.set(sessionId, dependency);
|
|
82
|
+
this.persistDependencies();
|
|
83
|
+
console.log(`🔗 Session State Manager: Registered dependency for ${sessionId} on ${dependsOn.join(", ")}`);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Update dependency state
|
|
87
|
+
*/
|
|
88
|
+
updateDependencyState(sessionId, state) {
|
|
89
|
+
const dependency = this.dependencies.get(sessionId);
|
|
90
|
+
if (dependency) {
|
|
91
|
+
dependency.state = state;
|
|
92
|
+
this.persistDependencies();
|
|
93
|
+
if (state === "completed" || state === "failed") {
|
|
94
|
+
this.propagateDependencyUpdate(sessionId, state);
|
|
95
|
+
}
|
|
96
|
+
console.log(`🔄 Session State Manager: Updated ${sessionId} dependency state to ${state}`);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Get dependency chain for a session
|
|
101
|
+
*/
|
|
102
|
+
getDependencyChain(sessionId) {
|
|
103
|
+
const dependency = this.dependencies.get(sessionId);
|
|
104
|
+
if (!dependency) {
|
|
105
|
+
return { dependencies: [], dependents: [], canStart: true };
|
|
106
|
+
}
|
|
107
|
+
const canStart = dependency.dependsOn.every((depId) => {
|
|
108
|
+
const dep = this.dependencies.get(depId);
|
|
109
|
+
return dep?.state === "completed";
|
|
110
|
+
});
|
|
111
|
+
return {
|
|
112
|
+
dependencies: dependency.dependsOn,
|
|
113
|
+
dependents: dependency.dependedBy,
|
|
114
|
+
canStart,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Create session group for complex workflows
|
|
119
|
+
*/
|
|
120
|
+
createSessionGroup(groupId, sessionIds, coordinatorSession) {
|
|
121
|
+
const group = {
|
|
122
|
+
groupId,
|
|
123
|
+
sessionIds,
|
|
124
|
+
coordinatorSession,
|
|
125
|
+
state: "forming",
|
|
126
|
+
sharedState: new Map(),
|
|
127
|
+
createdAt: Date.now(),
|
|
128
|
+
};
|
|
129
|
+
this.sessionGroups.set(groupId, group);
|
|
130
|
+
this.persistSessionGroups();
|
|
131
|
+
for (const sessionId of sessionIds) {
|
|
132
|
+
this.sessionCoordinator.shareContext(sessionId, `group:${groupId}:membership`, {
|
|
133
|
+
groupId,
|
|
134
|
+
role: sessionId === coordinatorSession ? "coordinator" : "member",
|
|
135
|
+
members: sessionIds,
|
|
136
|
+
}, "state_manager");
|
|
137
|
+
}
|
|
138
|
+
console.log(`👥 Session State Manager: Created group ${groupId} with ${sessionIds.length} sessions`);
|
|
139
|
+
return group;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Update session group state
|
|
143
|
+
*/
|
|
144
|
+
updateSessionGroupState(groupId, state) {
|
|
145
|
+
const group = this.sessionGroups.get(groupId);
|
|
146
|
+
if (group) {
|
|
147
|
+
group.state = state;
|
|
148
|
+
if (state === "completed" || state === "failed") {
|
|
149
|
+
group.completedAt = Date.now();
|
|
150
|
+
}
|
|
151
|
+
this.persistSessionGroups();
|
|
152
|
+
for (const sessionId of group.sessionIds) {
|
|
153
|
+
this.sessionCoordinator.shareContext(sessionId, `group:${groupId}:state`, {
|
|
154
|
+
state,
|
|
155
|
+
updatedAt: Date.now(),
|
|
156
|
+
}, "state_manager");
|
|
157
|
+
}
|
|
158
|
+
console.log(`👥 Session State Manager: Updated group ${groupId} state to ${state}`);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Share state within a session group
|
|
163
|
+
*/
|
|
164
|
+
shareGroupState(groupId, key, value, fromSessionId) {
|
|
165
|
+
const group = this.sessionGroups.get(groupId);
|
|
166
|
+
if (!group || !group.sessionIds.includes(fromSessionId)) {
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
group.sharedState.set(key, { value, fromSessionId, timestamp: Date.now() });
|
|
170
|
+
for (const sessionId of group.sessionIds) {
|
|
171
|
+
if (sessionId !== fromSessionId) {
|
|
172
|
+
this.sessionCoordinator.shareContext(sessionId, `group:${groupId}:${key}`, value, fromSessionId);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
this.persistSessionGroups();
|
|
176
|
+
return true;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Get session group state
|
|
180
|
+
*/
|
|
181
|
+
getGroupState(groupId, key) {
|
|
182
|
+
const group = this.sessionGroups.get(groupId);
|
|
183
|
+
return group?.sharedState.get(key)?.value;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Plan session migration
|
|
187
|
+
*/
|
|
188
|
+
planMigration(sessionId, targetCoordinator) {
|
|
189
|
+
const currentState = this.sessionCoordinator.getSessionStatus(sessionId);
|
|
190
|
+
if (!currentState) {
|
|
191
|
+
throw new Error(`Session ${sessionId} not found`);
|
|
192
|
+
}
|
|
193
|
+
const plan = {
|
|
194
|
+
sessionId,
|
|
195
|
+
targetCoordinator,
|
|
196
|
+
stateTransfer: new Map([
|
|
197
|
+
["active", currentState.active],
|
|
198
|
+
["agentCount", currentState.agentCount],
|
|
199
|
+
]),
|
|
200
|
+
migrationSteps: [
|
|
201
|
+
"validate_target_coordinator",
|
|
202
|
+
"transfer_active_delegations",
|
|
203
|
+
"transfer_pending_communications",
|
|
204
|
+
"transfer_shared_context",
|
|
205
|
+
"update_dependencies",
|
|
206
|
+
"cleanup_source",
|
|
207
|
+
],
|
|
208
|
+
rollbackSteps: [
|
|
209
|
+
"restore_delegations",
|
|
210
|
+
"restore_communications",
|
|
211
|
+
"restore_context",
|
|
212
|
+
"revert_dependencies",
|
|
213
|
+
"revert_cleanup",
|
|
214
|
+
"restore_coordinator",
|
|
215
|
+
],
|
|
216
|
+
};
|
|
217
|
+
console.log(`📋 Session State Manager: Planned migration for ${sessionId} to ${targetCoordinator}`);
|
|
218
|
+
return plan;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Validate migration plan before execution
|
|
222
|
+
*/
|
|
223
|
+
async validateMigrationPlan(plan) {
|
|
224
|
+
const errors = [];
|
|
225
|
+
const warnings = [];
|
|
226
|
+
// Validate session exists
|
|
227
|
+
const sessionStatus = this.sessionCoordinator.getSessionStatus(plan.sessionId);
|
|
228
|
+
if (!sessionStatus) {
|
|
229
|
+
errors.push(`Session ${plan.sessionId} does not exist`);
|
|
230
|
+
return { valid: false, errors, warnings };
|
|
231
|
+
}
|
|
232
|
+
// Validate target coordinator
|
|
233
|
+
if (!plan.targetCoordinator) {
|
|
234
|
+
errors.push("Target coordinator not specified");
|
|
235
|
+
}
|
|
236
|
+
// Validate migration steps - match the steps created by planMigration
|
|
237
|
+
const requiredSteps = [
|
|
238
|
+
"validate_target_coordinator",
|
|
239
|
+
"transfer_active_delegations",
|
|
240
|
+
"transfer_pending_communications",
|
|
241
|
+
"transfer_shared_context",
|
|
242
|
+
"update_dependencies",
|
|
243
|
+
"cleanup_source",
|
|
244
|
+
];
|
|
245
|
+
for (const requiredStep of requiredSteps) {
|
|
246
|
+
if (!plan.migrationSteps.includes(requiredStep)) {
|
|
247
|
+
errors.push(`Missing required migration step: ${requiredStep}`);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
// Check for shared context that needs to be transferred
|
|
251
|
+
const sharedContext = this.sessionCoordinator.getSharedContext(plan.sessionId, "*");
|
|
252
|
+
if (sharedContext) {
|
|
253
|
+
warnings.push(`Session has shared context that will be transferred`);
|
|
254
|
+
}
|
|
255
|
+
return {
|
|
256
|
+
valid: errors.length === 0,
|
|
257
|
+
errors,
|
|
258
|
+
warnings,
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Validate rollback capability for a migration plan
|
|
263
|
+
*/
|
|
264
|
+
validateRollbackCapability(plan) {
|
|
265
|
+
const rollbackSteps = plan.rollbackSteps || [];
|
|
266
|
+
if (rollbackSteps.length === 0) {
|
|
267
|
+
return {
|
|
268
|
+
canRollback: false,
|
|
269
|
+
reason: "No rollback steps defined",
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
const migrationSteps = plan.migrationSteps || [];
|
|
273
|
+
if (rollbackSteps.length !== migrationSteps.length) {
|
|
274
|
+
return {
|
|
275
|
+
canRollback: false,
|
|
276
|
+
reason: "Rollback steps don't match migration steps",
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
return { canRollback: true };
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Find orphaned agents in dependency graph
|
|
283
|
+
*/
|
|
284
|
+
findOrphanedAgents(allAgents, dependencies) {
|
|
285
|
+
const agentsWithDeps = new Set(Object.keys(dependencies));
|
|
286
|
+
// Add agents that are dependencies of others
|
|
287
|
+
for (const deps of Object.values(dependencies)) {
|
|
288
|
+
for (const dep of deps) {
|
|
289
|
+
agentsWithDeps.add(dep);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
return allAgents.filter((agent) => !agentsWithDeps.has(agent));
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Execute session migration
|
|
296
|
+
*/
|
|
297
|
+
async executeMigration(plan) {
|
|
298
|
+
const rollbackData = [];
|
|
299
|
+
try {
|
|
300
|
+
console.log(`🚀 Session State Manager: Executing migration for ${plan.sessionId}`);
|
|
301
|
+
for (const step of plan.migrationSteps) {
|
|
302
|
+
console.log(` → Executing step: ${step}`);
|
|
303
|
+
switch (step) {
|
|
304
|
+
case "backup_current_state": {
|
|
305
|
+
const sessionState = this.sessionCoordinator.getSessionStatus(plan.sessionId);
|
|
306
|
+
const dependencies = this.dependencies.get(plan.sessionId);
|
|
307
|
+
const group = Array.from(this.sessionGroups.values()).find((g) => g.sessionIds.includes(plan.sessionId));
|
|
308
|
+
rollbackData.push({
|
|
309
|
+
step,
|
|
310
|
+
sessionState,
|
|
311
|
+
dependencies,
|
|
312
|
+
group,
|
|
313
|
+
});
|
|
314
|
+
break;
|
|
315
|
+
}
|
|
316
|
+
case "update_coordinator": {
|
|
317
|
+
this.stateManager.set(`session:${plan.sessionId}:coordinator`, {
|
|
318
|
+
coordinatorId: plan.targetCoordinator,
|
|
319
|
+
migratedAt: new Date(),
|
|
320
|
+
});
|
|
321
|
+
break;
|
|
322
|
+
}
|
|
323
|
+
case "transfer_dependencies": {
|
|
324
|
+
const deps = this.dependencies.get(plan.sessionId);
|
|
325
|
+
if (deps) {
|
|
326
|
+
this.stateManager.set(`session:${plan.sessionId}:dependencies`, deps);
|
|
327
|
+
}
|
|
328
|
+
break;
|
|
329
|
+
}
|
|
330
|
+
case "transfer_communications": {
|
|
331
|
+
const sessionStatus = this.sessionCoordinator.getSessionStatus(plan.sessionId);
|
|
332
|
+
if (sessionStatus) {
|
|
333
|
+
this.stateManager.set(`session:${plan.sessionId}:status`, sessionStatus);
|
|
334
|
+
}
|
|
335
|
+
break;
|
|
336
|
+
}
|
|
337
|
+
case "transfer_context": {
|
|
338
|
+
// Transfer all shared context keys for this session
|
|
339
|
+
// Note: This is a simplified implementation
|
|
340
|
+
const session = this.sessionCoordinator["sessions"].get(plan.sessionId);
|
|
341
|
+
if (session) {
|
|
342
|
+
const contextMap = Object.fromEntries(session.coordinationState.sharedContext);
|
|
343
|
+
this.stateManager.set(`session:${plan.sessionId}:shared`, contextMap);
|
|
344
|
+
}
|
|
345
|
+
break;
|
|
346
|
+
}
|
|
347
|
+
case "update_session_groups": {
|
|
348
|
+
for (const [groupId, group] of this.sessionGroups) {
|
|
349
|
+
if (group.sessionIds.includes(plan.sessionId)) {
|
|
350
|
+
const updatedGroup = {
|
|
351
|
+
...group,
|
|
352
|
+
coordinatorId: plan.targetCoordinator,
|
|
353
|
+
};
|
|
354
|
+
this.sessionGroups.set(groupId, updatedGroup);
|
|
355
|
+
this.persistSessionGroups();
|
|
356
|
+
break;
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
break;
|
|
360
|
+
}
|
|
361
|
+
case "notify_agents": {
|
|
362
|
+
await this.sessionCoordinator.sendMessage(plan.sessionId, "system", "orchestrator", `Session migrated to coordinator: ${plan.targetCoordinator}`, "high");
|
|
363
|
+
break;
|
|
364
|
+
}
|
|
365
|
+
case "verify_migration": {
|
|
366
|
+
const coordinatorData = this.stateManager.get(`session:${plan.sessionId}:coordinator`);
|
|
367
|
+
if (!coordinatorData ||
|
|
368
|
+
coordinatorData.coordinatorId !== plan.targetCoordinator) {
|
|
369
|
+
throw new Error(`Migration verification failed: coordinator not updated properly`);
|
|
370
|
+
}
|
|
371
|
+
break;
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
console.log(`✅ Session State Manager: Migration completed for ${plan.sessionId}`);
|
|
376
|
+
return true;
|
|
377
|
+
}
|
|
378
|
+
catch (error) {
|
|
379
|
+
console.error(`❌ Session State Manager: Migration failed for ${plan.sessionId}:`, error);
|
|
380
|
+
await this.rollbackMigration(plan, rollbackData);
|
|
381
|
+
return false;
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Configure failover for a session
|
|
386
|
+
*/
|
|
387
|
+
configureFailover(sessionId, backupCoordinators, failoverThreshold, autoFailover) {
|
|
388
|
+
const config = {
|
|
389
|
+
sessionId,
|
|
390
|
+
backupCoordinators,
|
|
391
|
+
failoverThreshold,
|
|
392
|
+
autoFailover,
|
|
393
|
+
};
|
|
394
|
+
this.failoverConfigs.set(sessionId, config);
|
|
395
|
+
this.persistFailoverConfigs();
|
|
396
|
+
console.log(`🛡️ Session State Manager: Configured failover for ${sessionId} with ${backupCoordinators.length} backups`);
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* Execute failover for a session
|
|
400
|
+
*/
|
|
401
|
+
async executeFailover(sessionId) {
|
|
402
|
+
const config = this.failoverConfigs.get(sessionId);
|
|
403
|
+
if (!config) {
|
|
404
|
+
return false;
|
|
405
|
+
}
|
|
406
|
+
for (const backupCoordinator of config.backupCoordinators) {
|
|
407
|
+
try {
|
|
408
|
+
const plan = this.planMigration(sessionId, backupCoordinator);
|
|
409
|
+
if (await this.executeMigration(plan)) {
|
|
410
|
+
console.log(`🛡️ Session State Manager: Failover successful for ${sessionId} to ${backupCoordinator}`);
|
|
411
|
+
return true;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
catch (error) {
|
|
415
|
+
console.error(`❌ Session State Manager: Failover attempt failed for ${backupCoordinator}:`, error);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
console.error(`❌ Session State Manager: All failover attempts failed for ${sessionId}`);
|
|
419
|
+
return false;
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* Get coordination statistics
|
|
423
|
+
*/
|
|
424
|
+
getCoordinationStats() {
|
|
425
|
+
return {
|
|
426
|
+
totalDependencies: this.dependencies.size,
|
|
427
|
+
activeDependencies: Array.from(this.dependencies.values()).filter((d) => d.state === "active").length,
|
|
428
|
+
totalGroups: this.sessionGroups.size,
|
|
429
|
+
activeGroups: Array.from(this.sessionGroups.values()).filter((g) => g.state === "active").length,
|
|
430
|
+
failoverConfigs: this.failoverConfigs.size,
|
|
431
|
+
};
|
|
432
|
+
}
|
|
433
|
+
propagateDependencyUpdate(sessionId, state) {
|
|
434
|
+
const dependency = this.dependencies.get(sessionId);
|
|
435
|
+
if (!dependency)
|
|
436
|
+
return;
|
|
437
|
+
for (const dependentId of dependency.dependedBy) {
|
|
438
|
+
const dependent = this.dependencies.get(dependentId);
|
|
439
|
+
if (dependent && dependent.state === "pending") {
|
|
440
|
+
const canStart = dependent.dependsOn.every((depId) => {
|
|
441
|
+
const dep = this.dependencies.get(depId);
|
|
442
|
+
return dep?.state === "completed";
|
|
443
|
+
});
|
|
444
|
+
if (canStart) {
|
|
445
|
+
this.sessionCoordinator.shareContext(dependentId, "dependency:ready", {
|
|
446
|
+
sessionId: dependentId,
|
|
447
|
+
trigger: sessionId,
|
|
448
|
+
state,
|
|
449
|
+
}, "state_manager");
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
async rollbackMigration(plan, rollbackData = []) {
|
|
455
|
+
console.log(`↩️ Session State Manager: Rolling back migration for ${plan.sessionId}`);
|
|
456
|
+
// Restore from backup data if available
|
|
457
|
+
for (const backup of rollbackData.reverse()) {
|
|
458
|
+
try {
|
|
459
|
+
switch (backup.step) {
|
|
460
|
+
case "backup_current_state":
|
|
461
|
+
if (backup.sessionState) {
|
|
462
|
+
this.stateManager.set(`session:${plan.sessionId}:status`, backup.sessionState);
|
|
463
|
+
}
|
|
464
|
+
if (backup.dependencies) {
|
|
465
|
+
this.dependencies.set(plan.sessionId, backup.dependencies);
|
|
466
|
+
this.persistDependencies();
|
|
467
|
+
}
|
|
468
|
+
if (backup.group) {
|
|
469
|
+
this.sessionGroups.set(backup.group.id, backup.group);
|
|
470
|
+
this.persistSessionGroups();
|
|
471
|
+
}
|
|
472
|
+
break;
|
|
473
|
+
}
|
|
474
|
+
console.log(` ← Restored ${backup.step}`);
|
|
475
|
+
}
|
|
476
|
+
catch (error) {
|
|
477
|
+
console.warn(` ⚠️ Failed to restore ${backup.step}:`, error);
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
// Execute rollback steps
|
|
481
|
+
for (const step of plan.rollbackSteps.reverse()) {
|
|
482
|
+
console.log(` ← Rolling back step: ${step}`);
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
persistDependencies() {
|
|
486
|
+
const deps = Object.fromEntries(this.dependencies);
|
|
487
|
+
this.stateManager.set("state_manager:dependencies", deps);
|
|
488
|
+
}
|
|
489
|
+
persistSessionGroups() {
|
|
490
|
+
const groups = Object.fromEntries(this.sessionGroups);
|
|
491
|
+
this.stateManager.set("state_manager:groups", groups);
|
|
492
|
+
}
|
|
493
|
+
persistFailoverConfigs() {
|
|
494
|
+
const configs = Object.fromEntries(this.failoverConfigs);
|
|
495
|
+
this.stateManager.set("state_manager:failover", configs);
|
|
496
|
+
}
|
|
497
|
+
shutdown() {
|
|
498
|
+
console.log("🛑 Session State Manager: Shutdown complete");
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
export const createSessionStateManager = (stateManager, sessionCoordinator) => {
|
|
502
|
+
return new SessionStateManager(stateManager, sessionCoordinator);
|
|
503
|
+
};
|
|
504
|
+
//# sourceMappingURL=session-state-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-state-manager.js","sourceRoot":"","sources":["../../../src/session/session-state-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StringRay Framework Activation Module
|
|
3
|
+
*
|
|
4
|
+
* This module handles activation of StringRay framework components
|
|
5
|
+
* during oh-my-opencode initialization.
|
|
6
|
+
*/
|
|
7
|
+
export interface StringRayActivationConfig {
|
|
8
|
+
enableOrchestrator: boolean;
|
|
9
|
+
enableBootOrchestrator: boolean;
|
|
10
|
+
enableStateManagement: boolean;
|
|
11
|
+
enableHooks: boolean;
|
|
12
|
+
enableCodexInjection: boolean;
|
|
13
|
+
enableProcessors: boolean;
|
|
14
|
+
enablePostProcessor: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare const defaultStringRayConfig: StringRayActivationConfig;
|
|
17
|
+
export declare function activateStringRayFramework(config?: Partial<StringRayActivationConfig>): Promise<void>;
|
|
18
|
+
//# sourceMappingURL=strray-activation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strray-activation.d.ts","sourceRoot":"","sources":["../../src/strray-activation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,WAAW,yBAAyB;IACxC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,sBAAsB,EAAE,OAAO,CAAC;IAChC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,sBAAsB,EAAE,yBAQpC,CAAC;AAEF,wBAAsB,0BAA0B,CAC9C,MAAM,GAAE,OAAO,CAAC,yBAAyB,CAAM,GAC9C,OAAO,CAAC,IAAI,CAAC,CA8Df"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StringRay Framework Activation Module
|
|
3
|
+
*
|
|
4
|
+
* This module handles activation of StringRay framework components
|
|
5
|
+
* during oh-my-opencode initialization.
|
|
6
|
+
*/
|
|
7
|
+
import { frameworkLogger } from "./framework-logger.js";
|
|
8
|
+
import { ensureCriticalComponents } from "./architectural-integrity.js";
|
|
9
|
+
export const defaultStringRayConfig = {
|
|
10
|
+
enableOrchestrator: true,
|
|
11
|
+
enableBootOrchestrator: true,
|
|
12
|
+
enableStateManagement: true,
|
|
13
|
+
enableHooks: true,
|
|
14
|
+
enableCodexInjection: true,
|
|
15
|
+
enableProcessors: true,
|
|
16
|
+
enablePostProcessor: true,
|
|
17
|
+
};
|
|
18
|
+
export async function activateStringRayFramework(config = {}) {
|
|
19
|
+
const activationConfig = { ...defaultStringRayConfig, ...config };
|
|
20
|
+
// Banner display moved to init.sh execution in plugin
|
|
21
|
+
// Framework activation proceeds quietly
|
|
22
|
+
frameworkLogger.log("stringray-activation", "beginning StringRay framework activation", "info", activationConfig);
|
|
23
|
+
try {
|
|
24
|
+
if (activationConfig.enableCodexInjection) {
|
|
25
|
+
await activateCodexInjection();
|
|
26
|
+
}
|
|
27
|
+
if (activationConfig.enableHooks) {
|
|
28
|
+
await activateHooks();
|
|
29
|
+
}
|
|
30
|
+
if (activationConfig.enableOrchestrator) {
|
|
31
|
+
await activateOrchestrator();
|
|
32
|
+
}
|
|
33
|
+
if (activationConfig.enableBootOrchestrator) {
|
|
34
|
+
await activateBootOrchestrator();
|
|
35
|
+
}
|
|
36
|
+
if (activationConfig.enableStateManagement) {
|
|
37
|
+
await activateStateManagement();
|
|
38
|
+
}
|
|
39
|
+
if (activationConfig.enableProcessors) {
|
|
40
|
+
await activateProcessors();
|
|
41
|
+
}
|
|
42
|
+
if (activationConfig.enablePostProcessor) {
|
|
43
|
+
await activatePostProcessor();
|
|
44
|
+
}
|
|
45
|
+
// Ensure architectural integrity - critical components must always be active
|
|
46
|
+
await ensureCriticalComponents();
|
|
47
|
+
// Loading display moved to init.sh for dramatic line-by-line presentation
|
|
48
|
+
frameworkLogger.log("stringray-activation", "StringRay framework activation completed successfully", "success");
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
console.error("❌ StringRay Framework activation failed:", error);
|
|
52
|
+
frameworkLogger.log("stringray-activation", "StringRay framework activation failed", "error", error);
|
|
53
|
+
throw error;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
async function activateCodexInjection() {
|
|
57
|
+
frameworkLogger.log("stringray-activation", "activating codex injection", "info");
|
|
58
|
+
const { createStringRayCodexInjectorHook } = await import("./codex-injector.js");
|
|
59
|
+
const hook = createStringRayCodexInjectorHook();
|
|
60
|
+
globalThis.strRayHooks = globalThis.strRayHooks || [];
|
|
61
|
+
frameworkLogger.log("stringray-activation", "codex injection activated", "success");
|
|
62
|
+
}
|
|
63
|
+
async function activateHooks() {
|
|
64
|
+
// Temporarily disabled hooks activation to prevent import errors
|
|
65
|
+
// frameworkLogger.log("stringray-activation", "activating StringRay hooks", "info");
|
|
66
|
+
// const { loadHooks } = await import("./index.js");
|
|
67
|
+
// await loadHooks();
|
|
68
|
+
// frameworkLogger.log("stringray-activation", "StringRay hooks activated", "success");
|
|
69
|
+
}
|
|
70
|
+
async function activateBootOrchestrator() {
|
|
71
|
+
frameworkLogger.log("stringray-activation", "activating boot orchestrator", "info");
|
|
72
|
+
const { bootOrchestrator } = await import("./boot-orchestrator.js");
|
|
73
|
+
await bootOrchestrator.executeBootSequence();
|
|
74
|
+
frameworkLogger.log("stringray-activation", "boot orchestrator activated", "success");
|
|
75
|
+
}
|
|
76
|
+
async function activateStateManagement() {
|
|
77
|
+
frameworkLogger.log("stringray-activation", "activating state management", "info");
|
|
78
|
+
const { StringRayStateManager } = await import("./state/state-manager.js");
|
|
79
|
+
const stateManager = new StringRayStateManager();
|
|
80
|
+
// Store the state manager instance globally for framework use
|
|
81
|
+
globalThis.strRayStateManager = stateManager;
|
|
82
|
+
frameworkLogger.log("stringray-activation", "state management activated", "success");
|
|
83
|
+
}
|
|
84
|
+
async function activateOrchestrator() {
|
|
85
|
+
frameworkLogger.log("stringray-activation", "activating StringRay orchestrator", "info");
|
|
86
|
+
const { strRayOrchestrator } = await import("./orchestrator.js");
|
|
87
|
+
frameworkLogger.log("stringray-activation", "StringRay orchestrator activated", "success");
|
|
88
|
+
}
|
|
89
|
+
async function activateProcessors() {
|
|
90
|
+
frameworkLogger.log("stringray-activation", "activating processor pipeline", "info");
|
|
91
|
+
const { ProcessorManager } = await import("./processors/processor-manager.js");
|
|
92
|
+
const { StringRayStateManager } = await import("./state/state-manager.js");
|
|
93
|
+
const stateManager = new StringRayStateManager();
|
|
94
|
+
const processorManager = new ProcessorManager(stateManager);
|
|
95
|
+
// Store the processor manager instance globally for framework use
|
|
96
|
+
globalThis.strRayProcessorManager = processorManager;
|
|
97
|
+
frameworkLogger.log("stringray-activation", "processor pipeline activated", "success");
|
|
98
|
+
}
|
|
99
|
+
async function activatePostProcessor() {
|
|
100
|
+
frameworkLogger.log("stringray-activation", "activating post-processor system", "info");
|
|
101
|
+
const { PostProcessor } = await import("./postprocessor/PostProcessor.js");
|
|
102
|
+
// Get existing state manager (should be initialized by boot orchestrator)
|
|
103
|
+
const stateManager = globalThis.strRayStateManager;
|
|
104
|
+
if (!stateManager) {
|
|
105
|
+
throw new Error("State manager not initialized - boot orchestrator must run first");
|
|
106
|
+
}
|
|
107
|
+
// Create post-processor with optional session monitor
|
|
108
|
+
// Session monitor may not be available in plugin context
|
|
109
|
+
const postProcessor = new PostProcessor(stateManager, null, {});
|
|
110
|
+
// Store the post-processor instance globally for framework use
|
|
111
|
+
globalThis.strRayPostProcessor = postProcessor;
|
|
112
|
+
frameworkLogger.log("stringray-activation", "post-processor system activated", "success");
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=strray-activation.js.map
|