@synth-deploy/server 1.0.6 → 1.2.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/agent/envoy-client.d.ts +65 -15
- package/dist/agent/envoy-client.d.ts.map +1 -1
- package/dist/agent/envoy-client.js +58 -8
- package/dist/agent/envoy-client.js.map +1 -1
- package/dist/agent/stale-deployment-detector.js +1 -1
- package/dist/agent/stale-deployment-detector.js.map +1 -1
- package/dist/agent/synth-agent.d.ts +7 -5
- package/dist/agent/synth-agent.d.ts.map +1 -1
- package/dist/agent/synth-agent.js +59 -50
- package/dist/agent/synth-agent.js.map +1 -1
- package/dist/alert-webhooks/alert-parsers.d.ts +21 -0
- package/dist/alert-webhooks/alert-parsers.d.ts.map +1 -0
- package/dist/alert-webhooks/alert-parsers.js +184 -0
- package/dist/alert-webhooks/alert-parsers.js.map +1 -0
- package/dist/api/agent.d.ts +0 -6
- package/dist/api/agent.d.ts.map +1 -1
- package/dist/api/agent.js +6 -459
- package/dist/api/agent.js.map +1 -1
- package/dist/api/alert-webhooks.d.ts +13 -0
- package/dist/api/alert-webhooks.d.ts.map +1 -0
- package/dist/api/alert-webhooks.js +279 -0
- package/dist/api/alert-webhooks.js.map +1 -0
- package/dist/api/envoy-reports.js +2 -2
- package/dist/api/envoy-reports.js.map +1 -1
- package/dist/api/envoys.js +1 -1
- package/dist/api/envoys.js.map +1 -1
- package/dist/api/fleet.d.ts.map +1 -1
- package/dist/api/fleet.js +14 -15
- package/dist/api/fleet.js.map +1 -1
- package/dist/api/graph.js +3 -3
- package/dist/api/graph.js.map +1 -1
- package/dist/api/operations.d.ts +7 -0
- package/dist/api/operations.d.ts.map +1 -0
- package/dist/api/operations.js +1900 -0
- package/dist/api/operations.js.map +1 -0
- package/dist/api/partitions.js +1 -1
- package/dist/api/partitions.js.map +1 -1
- package/dist/api/schemas.d.ts +434 -133
- package/dist/api/schemas.d.ts.map +1 -1
- package/dist/api/schemas.js +53 -25
- package/dist/api/schemas.js.map +1 -1
- package/dist/api/system.d.ts.map +1 -1
- package/dist/api/system.js +22 -21
- package/dist/api/system.js.map +1 -1
- package/dist/artifact-analyzer.js +2 -2
- package/dist/artifact-analyzer.js.map +1 -1
- package/dist/fleet/fleet-executor.js +3 -3
- package/dist/fleet/fleet-executor.js.map +1 -1
- package/dist/graph/graph-executor.d.ts.map +1 -1
- package/dist/graph/graph-executor.js +18 -4
- package/dist/graph/graph-executor.js.map +1 -1
- package/dist/index.js +89 -61
- package/dist/index.js.map +1 -1
- package/dist/mcp/resources.js +3 -3
- package/dist/mcp/resources.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +2 -9
- package/dist/mcp/tools.js.map +1 -1
- package/dist/middleware/auth.js +1 -1
- package/dist/middleware/auth.js.map +1 -1
- package/package.json +1 -1
- package/src/agent/envoy-client.ts +111 -19
- package/src/agent/stale-deployment-detector.ts +1 -1
- package/src/agent/synth-agent.ts +76 -56
- package/src/alert-webhooks/alert-parsers.ts +291 -0
- package/src/api/agent.ts +9 -528
- package/src/api/alert-webhooks.ts +354 -0
- package/src/api/envoy-reports.ts +2 -2
- package/src/api/envoys.ts +1 -1
- package/src/api/fleet.ts +14 -15
- package/src/api/graph.ts +3 -3
- package/src/api/operations.ts +2260 -0
- package/src/api/partitions.ts +1 -1
- package/src/api/schemas.ts +59 -27
- package/src/api/system.ts +23 -21
- package/src/artifact-analyzer.ts +2 -2
- package/src/fleet/fleet-executor.ts +3 -3
- package/src/graph/graph-executor.ts +18 -4
- package/src/index.ts +91 -61
- package/src/mcp/resources.ts +3 -3
- package/src/mcp/tools.ts +5 -9
- package/src/middleware/auth.ts +1 -1
- package/tests/agent-mode.test.ts +5 -376
- package/tests/api-handlers.test.ts +27 -27
- package/tests/composite-operations.test.ts +557 -0
- package/tests/decision-diary.test.ts +62 -63
- package/tests/diary-reader.test.ts +14 -18
- package/tests/mcp-tools.test.ts +1 -1
- package/tests/orchestration.test.ts +34 -30
- package/tests/partition-isolation.test.ts +4 -9
- package/tests/rbac-enforcement.test.ts +8 -8
- package/tests/ui-journey.test.ts +9 -9
- package/dist/api/deployments.d.ts +0 -11
- package/dist/api/deployments.d.ts.map +0 -1
- package/dist/api/deployments.js +0 -1098
- package/dist/api/deployments.js.map +0 -1
- package/src/api/deployments.ts +0 -1347
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-executor.d.ts","sourceRoot":"","sources":["../../src/graph/graph-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,0BAA0B,CAAC;AAM/E,MAAM,WAAW,kBAAkB;IACjC,IAAI,EACA,cAAc,GACd,gBAAgB,GAChB,aAAa,GACb,cAAc,GACd,iBAAiB,GACjB,cAAc,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,mBAAmB,EAAE,EAC5B,KAAK,EAAE,mBAAmB,EAAE,GAC3B,MAAM,EAAE,CAqCV;AAMD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,mBAAmB,EAAE,EAC5B,KAAK,EAAE,mBAAmB,EAAE,GAC3B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAyBrB;AAkCD,qBAAa,aAAa;IAEtB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,YAAY;gBADZ,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,WAAW;IAGvE;;;;;OAKG;IACI,OAAO,CACZ,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1C,cAAc,CAAC,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"graph-executor.d.ts","sourceRoot":"","sources":["../../src/graph/graph-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,0BAA0B,CAAC;AAM/E,MAAM,WAAW,kBAAkB;IACjC,IAAI,EACA,cAAc,GACd,gBAAgB,GAChB,aAAa,GACb,cAAc,GACd,iBAAiB,GACjB,cAAc,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,mBAAmB,EAAE,EAC5B,KAAK,EAAE,mBAAmB,EAAE,GAC3B,MAAM,EAAE,CAqCV;AAMD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,mBAAmB,EAAE,EAC5B,KAAK,EAAE,mBAAmB,EAAE,GAC3B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAyBrB;AAkCD,qBAAa,aAAa;IAEtB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,YAAY;gBADZ,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,WAAW;IAGvE;;;;;OAKG;IACI,OAAO,CACZ,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1C,cAAc,CAAC,kBAAkB,CAAC;IA8OrC;;;OAGG;IACI,QAAQ,CACb,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GACzC,cAAc,CAAC,kBAAkB,CAAC;CAqDtC"}
|
|
@@ -166,10 +166,17 @@ export class GraphExecutor {
|
|
|
166
166
|
}
|
|
167
167
|
: plan;
|
|
168
168
|
const result = await client.executeApprovedPlan({
|
|
169
|
-
|
|
169
|
+
operationId: node.deploymentId ?? node.id,
|
|
170
170
|
plan: enrichedPlan,
|
|
171
171
|
rollbackPlan: {
|
|
172
|
-
|
|
172
|
+
scriptedPlan: {
|
|
173
|
+
platform: "bash",
|
|
174
|
+
executionScript: "# No rollback plan provided",
|
|
175
|
+
dryRunScript: null,
|
|
176
|
+
rollbackScript: null,
|
|
177
|
+
reasoning: "No rollback plan provided",
|
|
178
|
+
stepSummary: [],
|
|
179
|
+
},
|
|
173
180
|
reasoning: "No rollback plan provided",
|
|
174
181
|
},
|
|
175
182
|
artifactType: "graph-node",
|
|
@@ -317,10 +324,17 @@ export class GraphExecutor {
|
|
|
317
324
|
const client = this.createClient(entry.url, 60_000);
|
|
318
325
|
try {
|
|
319
326
|
await client.executeApprovedPlan({
|
|
320
|
-
|
|
327
|
+
operationId: node.deploymentId ?? nodeId,
|
|
321
328
|
plan,
|
|
322
329
|
rollbackPlan: {
|
|
323
|
-
|
|
330
|
+
scriptedPlan: {
|
|
331
|
+
platform: "bash",
|
|
332
|
+
executionScript: "# Rollback of rollback not supported",
|
|
333
|
+
dryRunScript: null,
|
|
334
|
+
rollbackScript: null,
|
|
335
|
+
reasoning: "Rollback of rollback not supported",
|
|
336
|
+
stepSummary: [],
|
|
337
|
+
},
|
|
324
338
|
reasoning: "Rollback of rollback not supported",
|
|
325
339
|
},
|
|
326
340
|
artifactType: "graph-node-rollback",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-executor.js","sourceRoot":"","sources":["../../src/graph/graph-executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graph-executor.js","sourceRoot":"","sources":["../../src/graph/graph-executor.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -9,12 +9,12 @@ import fastifyStatic from "@fastify/static";
|
|
|
9
9
|
import fastifyFormBody from "@fastify/formbody";
|
|
10
10
|
import fastifyMultipart from "@fastify/multipart";
|
|
11
11
|
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
12
|
-
import { PersistentDecisionDebrief, openEntityDatabase, PersistentPartitionStore, PersistentEnvironmentStore, PersistentSettingsStore, PersistentDeploymentStore, PersistentArtifactStore, PersistentSecurityBoundaryStore, PersistentTelemetryStore, PersistentUserStore, PersistentRoleStore, PersistentUserRoleStore, PersistentSessionStore, PersistentIdpProviderStore, PersistentRoleMappingStore, PersistentApiKeyStore, PersistentEnvoyRegistryStore, PersistentRegistryPollerVersionStore, LlmClient, buildLlmConfigFromSettings, initEdition, EditionError } from "@synth-deploy/core";
|
|
12
|
+
import { PersistentDecisionDebrief, openEntityDatabase, PersistentPartitionStore, PersistentEnvironmentStore, PersistentSettingsStore, PersistentDeploymentStore, PersistentArtifactStore, PersistentSecurityBoundaryStore, PersistentTelemetryStore, PersistentUserStore, PersistentRoleStore, PersistentUserRoleStore, PersistentSessionStore, PersistentIdpProviderStore, PersistentRoleMappingStore, PersistentApiKeyStore, PersistentEnvoyRegistryStore, PersistentRegistryPollerVersionStore, PersistentAlertWebhookStore, LlmClient, buildLlmConfigFromSettings, initEdition, EditionError } from "@synth-deploy/core";
|
|
13
13
|
import { SynthAgent } from "./agent/synth-agent.js";
|
|
14
14
|
import { EnvoyHealthChecker } from "./agent/health-checker.js";
|
|
15
15
|
import { McpClientManager } from "./agent/mcp-client-manager.js";
|
|
16
16
|
import { createMcpServer } from "./mcp/server.js";
|
|
17
|
-
import {
|
|
17
|
+
import { registerOperationRoutes } from "./api/operations.js";
|
|
18
18
|
import { registerHealthRoutes } from "./api/health.js";
|
|
19
19
|
import { registerEnvoyReportRoutes } from "./api/envoy-reports.js";
|
|
20
20
|
import { registerArtifactRoutes } from "./api/artifacts.js";
|
|
@@ -40,6 +40,7 @@ import { registerFleetRoutes } from "./api/fleet.js";
|
|
|
40
40
|
import { FleetDeploymentStore, FleetExecutor } from "./fleet/index.js";
|
|
41
41
|
import { IntakeChannelStore, IntakeEventStore, IntakeProcessor, RegistryPoller } from "./intake/index.js";
|
|
42
42
|
import { registerIntakeRoutes } from "./api/intake.js";
|
|
43
|
+
import { registerAlertWebhookRoutes } from "./api/alert-webhooks.js";
|
|
43
44
|
import { ArtifactAnalyzer } from "./artifact-analyzer.js";
|
|
44
45
|
import { DeploymentGraphStore, GraphInferenceEngine } from "./graph/index.js";
|
|
45
46
|
import { registerGraphRoutes } from "./api/graph.js";
|
|
@@ -262,17 +263,27 @@ if (process.env.SYNTH_SEED_DEMO !== 'false' && partitions.list().length === 0) {
|
|
|
262
263
|
artifactStore.addVersion({ artifactId: workerArtifact.id, version: "3.0.0", source: "github-releases", metadata: { commit: "pqr1234", binary: "worker-linux-amd64", majorUpgrade: "true" } });
|
|
263
264
|
// --- Deployments (mix of statuses and ages) ---
|
|
264
265
|
const dep1 = {
|
|
265
|
-
id: crypto.randomUUID(), artifactId: webAppArtifact.id, partitionId: acmePartition.id,
|
|
266
|
+
id: crypto.randomUUID(), input: { type: "deploy", artifactId: webAppArtifact.id }, partitionId: acmePartition.id,
|
|
266
267
|
environmentId: prodEnv.id, version: "2.3.0", status: "succeeded",
|
|
267
268
|
variables: { ...acmePartition.variables, ...prodEnv.variables },
|
|
268
269
|
plan: {
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
270
|
+
scriptedPlan: {
|
|
271
|
+
platform: "bash",
|
|
272
|
+
executionScript: "#!/usr/bin/env bash\nset -euo pipefail\nsystemctl stop web-app\ncp -r /opt/web-app/ /opt/web-app.bak/\ntar -xzf /opt/releases/web-app-2.3.0.tar.gz -C /opt/web-app/\nenvsubst < /opt/web-app/config.template > /opt/web-app/.env\nsystemctl start web-app\ncurl -f --retry 3 --retry-delay 5 http://localhost:8080/health",
|
|
273
|
+
dryRunScript: null,
|
|
274
|
+
rollbackScript: "#!/usr/bin/env bash\nset -euo pipefail\nsystemctl stop web-app\ncp -r /opt/web-app.bak/ /opt/web-app/\ncp /opt/web-app.bak/.env /opt/web-app/.env\nsystemctl start web-app",
|
|
275
|
+
reasoning: "Standard 5-step deploy: stop, backup, extract, config, start. One config change: API_ENDPOINT updated to v2 endpoint validated in staging for 4h.",
|
|
276
|
+
stepSummary: [
|
|
277
|
+
{ description: "Stop service", reversible: true },
|
|
278
|
+
{ description: "Backup current binaries", reversible: false },
|
|
279
|
+
{ description: "Deploy new artifact", reversible: true },
|
|
280
|
+
{ description: "Apply environment config (1 variable changed: API_ENDPOINT)", reversible: true },
|
|
281
|
+
{ description: "Start service and verify health endpoint → 200 OK", reversible: true },
|
|
282
|
+
],
|
|
283
|
+
diffFromCurrent: [
|
|
284
|
+
{ key: "API_ENDPOINT", from: "https://api.acme.corp/v1", to: "https://api.acme.corp/v2" },
|
|
285
|
+
],
|
|
286
|
+
},
|
|
276
287
|
reasoning: "Standard 5-step deploy: stop, backup, extract, config, start. One config change: API_ENDPOINT updated to v2 endpoint validated in staging for 4h.",
|
|
277
288
|
diffFromCurrent: [
|
|
278
289
|
{ key: "API_ENDPOINT", from: "https://api.acme.corp/v1", to: "https://api.acme.corp/v2" },
|
|
@@ -282,21 +293,21 @@ if (process.env.SYNTH_SEED_DEMO !== 'false' && partitions.list().length === 0) {
|
|
|
282
293
|
createdAt: hoursAgo(72), completedAt: hoursAgo(71.5), failureReason: undefined,
|
|
283
294
|
};
|
|
284
295
|
const dep2 = {
|
|
285
|
-
id: crypto.randomUUID(), artifactId: webAppArtifact.id, partitionId: acmePartition.id,
|
|
296
|
+
id: crypto.randomUUID(), input: { type: "deploy", artifactId: webAppArtifact.id }, partitionId: acmePartition.id,
|
|
286
297
|
environmentId: prodEnv.id, version: "2.4.0", status: "succeeded",
|
|
287
298
|
variables: { ...acmePartition.variables, ...prodEnv.variables },
|
|
288
299
|
debriefEntryIds: [],
|
|
289
300
|
createdAt: hoursAgo(48), completedAt: hoursAgo(47.8), failureReason: undefined,
|
|
290
301
|
};
|
|
291
302
|
const dep3 = {
|
|
292
|
-
id: crypto.randomUUID(), artifactId: webAppArtifact.id, partitionId: acmePartition.id,
|
|
303
|
+
id: crypto.randomUUID(), input: { type: "deploy", artifactId: webAppArtifact.id }, partitionId: acmePartition.id,
|
|
293
304
|
environmentId: prodEnv.id, version: "2.4.1", status: "succeeded",
|
|
294
305
|
variables: { ...acmePartition.variables, ...prodEnv.variables },
|
|
295
306
|
debriefEntryIds: [],
|
|
296
307
|
createdAt: hoursAgo(24), completedAt: hoursAgo(23.7), failureReason: undefined,
|
|
297
308
|
};
|
|
298
309
|
const dep4 = {
|
|
299
|
-
id: crypto.randomUUID(), artifactId: apiArtifact.id, partitionId: acmePartition.id,
|
|
310
|
+
id: crypto.randomUUID(), input: { type: "deploy", artifactId: apiArtifact.id }, partitionId: acmePartition.id,
|
|
300
311
|
environmentId: prodEnv.id, version: "1.11.0", status: "failed",
|
|
301
312
|
variables: { ...acmePartition.variables, ...prodEnv.variables },
|
|
302
313
|
debriefEntryIds: [],
|
|
@@ -304,21 +315,21 @@ if (process.env.SYNTH_SEED_DEMO !== 'false' && partitions.list().length === 0) {
|
|
|
304
315
|
failureReason: "Health check failed after 3 retries: connection refused on port 8080",
|
|
305
316
|
};
|
|
306
317
|
const dep5 = {
|
|
307
|
-
id: crypto.randomUUID(), artifactId: apiArtifact.id, partitionId: acmePartition.id,
|
|
318
|
+
id: crypto.randomUUID(), input: { type: "deploy", artifactId: apiArtifact.id }, partitionId: acmePartition.id,
|
|
308
319
|
environmentId: prodEnv.id, version: "1.12.0", status: "succeeded",
|
|
309
320
|
variables: { ...acmePartition.variables, ...prodEnv.variables },
|
|
310
321
|
debriefEntryIds: [],
|
|
311
322
|
createdAt: hoursAgo(12), completedAt: hoursAgo(11.8), failureReason: undefined,
|
|
312
323
|
};
|
|
313
324
|
const dep6 = {
|
|
314
|
-
id: crypto.randomUUID(), artifactId: webAppArtifact.id, partitionId: globexPartition.id,
|
|
325
|
+
id: crypto.randomUUID(), input: { type: "deploy", artifactId: webAppArtifact.id }, partitionId: globexPartition.id,
|
|
315
326
|
environmentId: stagingEnv.id, version: "2.5.0-rc.1", status: "succeeded",
|
|
316
327
|
variables: { ...globexPartition.variables, ...stagingEnv.variables },
|
|
317
328
|
debriefEntryIds: [],
|
|
318
329
|
createdAt: hoursAgo(6), completedAt: hoursAgo(5.8), failureReason: undefined,
|
|
319
330
|
};
|
|
320
331
|
const dep7 = {
|
|
321
|
-
id: crypto.randomUUID(), artifactId: workerArtifact.id, partitionId: initechPartition.id,
|
|
332
|
+
id: crypto.randomUUID(), input: { type: "deploy", artifactId: workerArtifact.id }, partitionId: initechPartition.id,
|
|
322
333
|
environmentId: prodEnv.id, version: "2.9.0", status: "failed",
|
|
323
334
|
variables: { ...initechPartition.variables, ...prodEnv.variables },
|
|
324
335
|
debriefEntryIds: [],
|
|
@@ -326,48 +337,62 @@ if (process.env.SYNTH_SEED_DEMO !== 'false' && partitions.list().length === 0) {
|
|
|
326
337
|
failureReason: "Queue depth exceeded threshold (342 > 100) during verification",
|
|
327
338
|
};
|
|
328
339
|
const dep8 = {
|
|
329
|
-
id: crypto.randomUUID(), artifactId: workerArtifact.id, partitionId: initechPartition.id,
|
|
340
|
+
id: crypto.randomUUID(), input: { type: "deploy", artifactId: workerArtifact.id }, partitionId: initechPartition.id,
|
|
330
341
|
environmentId: prodEnv.id, version: "3.0.0", status: "succeeded",
|
|
331
342
|
variables: { ...initechPartition.variables, ...prodEnv.variables },
|
|
332
343
|
debriefEntryIds: [],
|
|
333
344
|
createdAt: hoursAgo(3), completedAt: hoursAgo(2.7), failureReason: undefined,
|
|
334
345
|
};
|
|
335
346
|
const dep9 = {
|
|
336
|
-
id: crypto.randomUUID(), artifactId: apiArtifact.id, partitionId: globexPartition.id,
|
|
347
|
+
id: crypto.randomUUID(), input: { type: "deploy", artifactId: apiArtifact.id }, partitionId: globexPartition.id,
|
|
337
348
|
environmentId: stagingEnv.id, version: "1.13.0-beta.2", status: "running",
|
|
338
349
|
variables: { ...globexPartition.variables, ...stagingEnv.variables },
|
|
339
350
|
plan: {
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
351
|
+
scriptedPlan: {
|
|
352
|
+
platform: "bash",
|
|
353
|
+
executionScript: "#!/usr/bin/env bash\nset -euo pipefail\ndocker pull registry.internal/api:1.13.0-beta.2\ndocker stop api-staging\ndocker run -d --name api-staging --env-file /opt/api/.env -p 8080:8080 registry.internal/api:1.13.0-beta.2\ncurl -f --retry 3 --retry-delay 5 http://localhost:8080/health",
|
|
354
|
+
dryRunScript: null,
|
|
355
|
+
rollbackScript: "#!/usr/bin/env bash\nset -euo pipefail\ndocker stop api-staging\ndocker pull registry.internal/api:1.12.0\ndocker start api-staging",
|
|
356
|
+
reasoning: "Container swap: pull new image, stop old container, start new one, verify health. Staging environment — rollback is fast via image tag swap.",
|
|
357
|
+
stepSummary: [
|
|
358
|
+
{ description: "Pull latest image from registry", reversible: true },
|
|
359
|
+
{ description: "Stop running container", reversible: true },
|
|
360
|
+
{ description: "Start new container with updated image", reversible: true },
|
|
361
|
+
{ description: "Verify health endpoint returns 200", reversible: false },
|
|
362
|
+
],
|
|
363
|
+
},
|
|
346
364
|
reasoning: "Container swap: pull new image, stop old container, start new one, verify health. Staging environment — rollback is fast via image tag swap.",
|
|
347
365
|
},
|
|
348
366
|
debriefEntryIds: [],
|
|
349
367
|
createdAt: hoursAgo(0.5),
|
|
350
368
|
};
|
|
351
369
|
const dep11 = {
|
|
352
|
-
id: crypto.randomUUID(), artifactId: workerArtifact.id, partitionId: globexPartition.id,
|
|
370
|
+
id: crypto.randomUUID(), input: { type: "deploy", artifactId: workerArtifact.id }, partitionId: globexPartition.id,
|
|
353
371
|
environmentId: prodEnv.id, version: "3.1.0", status: "awaiting_approval",
|
|
354
372
|
variables: { ...globexPartition.variables, ...prodEnv.variables },
|
|
355
373
|
plan: {
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
374
|
+
scriptedPlan: {
|
|
375
|
+
platform: "bash",
|
|
376
|
+
executionScript: "#!/usr/bin/env bash\nset -euo pipefail\nnpm run worker:drain --timeout=120\nsystemctl stop synth-worker\ncp -r /opt/releases/worker-3.1.0/* /opt/worker/\nenvsubst < /opt/worker/config.template > /opt/worker/.env\nsystemctl start synth-worker\ncurl -f --retry 6 --retry-delay 5 http://localhost:9090/metrics",
|
|
377
|
+
dryRunScript: null,
|
|
378
|
+
rollbackScript: "#!/usr/bin/env bash\nset -euo pipefail\nsystemctl stop synth-worker\ncp -r /opt/worker.bak/* /opt/worker/\ncp /opt/worker.bak/.env /opt/worker/.env\nsystemctl start synth-worker",
|
|
379
|
+
reasoning: "Worker upgrade with concurrency increase. Drain first to avoid job loss, then replace binary and config atomically. Queue depth check confirms processing resumed.",
|
|
380
|
+
stepSummary: [
|
|
381
|
+
{ description: "Drain queue — wait for in-flight jobs to complete", reversible: false },
|
|
382
|
+
{ description: "Stop worker processes on all nodes", reversible: true },
|
|
383
|
+
{ description: "Deploy new worker binary", reversible: true },
|
|
384
|
+
{ description: "Update queue concurrency config (WORKER_CONCURRENCY: 4 → 8)", reversible: true },
|
|
385
|
+
{ description: "Start worker and verify queue depth drops", reversible: true },
|
|
386
|
+
{ description: "Verify queue processing resumes within 30s", reversible: false },
|
|
387
|
+
],
|
|
388
|
+
},
|
|
364
389
|
reasoning: "Worker upgrade with concurrency increase. Drain first to avoid job loss, then replace binary and config atomically. Queue depth check confirms processing resumed.",
|
|
365
390
|
},
|
|
366
391
|
debriefEntryIds: [],
|
|
367
392
|
createdAt: hoursAgo(0.1),
|
|
368
393
|
};
|
|
369
394
|
const dep10 = {
|
|
370
|
-
id: crypto.randomUUID(), artifactId: webAppArtifact.id, partitionId: initechPartition.id,
|
|
395
|
+
id: crypto.randomUUID(), input: { type: "deploy", artifactId: webAppArtifact.id }, partitionId: initechPartition.id,
|
|
371
396
|
environmentId: prodEnv.id, version: "2.4.1", status: "rolled_back",
|
|
372
397
|
variables: { ...initechPartition.variables, ...prodEnv.variables },
|
|
373
398
|
debriefEntryIds: [],
|
|
@@ -393,164 +418,164 @@ if (process.env.SYNTH_SEED_DEMO !== 'false' && partitions.list().length === 0) {
|
|
|
393
418
|
]);
|
|
394
419
|
// --- Debrief entries (rich decision diary) ---
|
|
395
420
|
debrief.record({
|
|
396
|
-
partitionId: null,
|
|
421
|
+
partitionId: null, operationId: null, agent: "server", decisionType: "system",
|
|
397
422
|
decision: "Command initialized with demo data",
|
|
398
423
|
reasoning: "Seeded 3 partitions, 3 environments, 3 artifacts, 10 deployments, and 2 envoy security boundary sets.",
|
|
399
424
|
context: { partitions: 3, environments: 3, deployments: 10, artifacts: 3, securityBoundaries: 2 },
|
|
400
425
|
});
|
|
401
426
|
// dep1 — web-app 2.3.0 succeeded
|
|
402
427
|
debrief.record({
|
|
403
|
-
partitionId: acmePartition.id,
|
|
428
|
+
partitionId: acmePartition.id, operationId: dep1.id, agent: "server", decisionType: "pipeline-plan",
|
|
404
429
|
decision: "Planned deployment pipeline for web-app v2.3.0 to Acme Corp production",
|
|
405
430
|
reasoning: "Standard 3-step pipeline: install deps, run migrations, health check. No variable conflicts.",
|
|
406
431
|
context: { version: "2.3.0", steps: 3 },
|
|
407
432
|
});
|
|
408
433
|
debrief.record({
|
|
409
|
-
partitionId: acmePartition.id,
|
|
434
|
+
partitionId: acmePartition.id, operationId: dep1.id, agent: "server", decisionType: "configuration-resolved",
|
|
410
435
|
decision: "Resolved 4 variables for Acme Corp production (partition + environment merged)",
|
|
411
436
|
reasoning: "Merged partition variables (APP_ENV, DB_HOST, REGION) with environment variables (APP_ENV, LOG_LEVEL). APP_ENV conflict resolved: environment value takes precedence.",
|
|
412
437
|
context: { resolvedCount: 4, conflicts: 1, policy: "environment-wins" },
|
|
413
438
|
});
|
|
414
439
|
debrief.record({
|
|
415
|
-
partitionId: acmePartition.id,
|
|
440
|
+
partitionId: acmePartition.id, operationId: dep1.id, agent: "envoy", decisionType: "deployment-execution",
|
|
416
441
|
decision: "Executed deployment web-app v2.3.0 on Acme Corp production",
|
|
417
442
|
reasoning: "All 3 steps completed. Total execution time: 28.4s.",
|
|
418
443
|
context: { duration: 28400 },
|
|
419
444
|
});
|
|
420
445
|
debrief.record({
|
|
421
|
-
partitionId: acmePartition.id,
|
|
446
|
+
partitionId: acmePartition.id, operationId: dep1.id, agent: "envoy", decisionType: "health-check",
|
|
422
447
|
decision: "Health check passed on first attempt",
|
|
423
448
|
reasoning: "GET /health returned 200 with body {\"status\":\"ok\"} in 45ms.",
|
|
424
449
|
context: { attempts: 1, responseTime: 45 },
|
|
425
450
|
});
|
|
426
451
|
debrief.record({
|
|
427
|
-
partitionId: acmePartition.id,
|
|
452
|
+
partitionId: acmePartition.id, operationId: dep1.id, agent: "server", decisionType: "deployment-completion",
|
|
428
453
|
decision: "Deployment web-app v2.3.0 completed successfully",
|
|
429
454
|
reasoning: "All pipeline steps passed. Health check confirmed. Marked as succeeded.",
|
|
430
455
|
context: { status: "succeeded" },
|
|
431
456
|
});
|
|
432
457
|
// dep4 — api-service 1.11.0 failed
|
|
433
458
|
debrief.record({
|
|
434
|
-
partitionId: acmePartition.id,
|
|
459
|
+
partitionId: acmePartition.id, operationId: dep4.id, agent: "server", decisionType: "pipeline-plan",
|
|
435
460
|
decision: "Planned deployment pipeline for api-service v1.11.0 to Acme Corp production",
|
|
436
461
|
reasoning: "2-step pipeline: pull image, verify endpoint.",
|
|
437
462
|
context: { version: "1.11.0", steps: 2 },
|
|
438
463
|
});
|
|
439
464
|
debrief.record({
|
|
440
|
-
partitionId: acmePartition.id,
|
|
465
|
+
partitionId: acmePartition.id, operationId: dep4.id, agent: "envoy", decisionType: "deployment-execution",
|
|
441
466
|
decision: "Image pull succeeded, starting verification",
|
|
442
467
|
reasoning: "docker pull completed in 12.3s. Image sha256:a4f8e... verified.",
|
|
443
468
|
context: { step: "Pull image", duration: 12300 },
|
|
444
469
|
});
|
|
445
470
|
debrief.record({
|
|
446
|
-
partitionId: acmePartition.id,
|
|
471
|
+
partitionId: acmePartition.id, operationId: dep4.id, agent: "envoy", decisionType: "health-check",
|
|
447
472
|
decision: "Health check failed after 3 retries",
|
|
448
473
|
reasoning: "Connection refused on port 8080. Retry 1: refused (5s). Retry 2: refused (10s). Retry 3: refused (15s). Container logs: \"Error: EADDRINUSE :::8080\".",
|
|
449
474
|
context: { attempts: 3, lastError: "ECONNREFUSED", containerLog: "EADDRINUSE" },
|
|
450
475
|
});
|
|
451
476
|
debrief.record({
|
|
452
|
-
partitionId: acmePartition.id,
|
|
477
|
+
partitionId: acmePartition.id, operationId: dep4.id, agent: "envoy", decisionType: "diagnostic-investigation",
|
|
453
478
|
decision: "Root cause: port 8080 bound by stale process from previous deployment",
|
|
454
479
|
reasoning: "Found zombie process from api-service v1.10.0 holding port 8080. Previous deployment did not cleanly shut down.",
|
|
455
480
|
context: { rootCause: "port-conflict", stalePid: 14823 },
|
|
456
481
|
});
|
|
457
482
|
debrief.record({
|
|
458
|
-
partitionId: acmePartition.id,
|
|
483
|
+
partitionId: acmePartition.id, operationId: dep4.id, agent: "server", decisionType: "deployment-failure",
|
|
459
484
|
decision: "Deployment api-service v1.11.0 failed — health check could not connect",
|
|
460
485
|
reasoning: "Envoy diagnostic identified port conflict from stale process. Recommend adding a pre-deploy cleanup step.",
|
|
461
486
|
context: { status: "failed", recommendation: "Add cleanup step" },
|
|
462
487
|
});
|
|
463
488
|
// dep7 — worker-service 2.9.0 failed
|
|
464
489
|
debrief.record({
|
|
465
|
-
partitionId: initechPartition.id,
|
|
490
|
+
partitionId: initechPartition.id, operationId: dep7.id, agent: "server", decisionType: "pipeline-plan",
|
|
466
491
|
decision: "Planned deployment pipeline for worker-service v2.9.0 to Initech production",
|
|
467
492
|
reasoning: "4-step pipeline with full verification strategy.",
|
|
468
493
|
context: { version: "2.9.0", steps: 4, verificationStrategy: "full" },
|
|
469
494
|
});
|
|
470
495
|
debrief.record({
|
|
471
|
-
partitionId: initechPartition.id,
|
|
496
|
+
partitionId: initechPartition.id, operationId: dep7.id, agent: "envoy", decisionType: "deployment-execution",
|
|
472
497
|
decision: "Workers stopped and binary deployed successfully",
|
|
473
498
|
reasoning: "Pre-deploy steps completed. Workers stopped gracefully (0 in-flight jobs lost). Binary copied.",
|
|
474
499
|
context: { stepsCompleted: 2, jobsLost: 0 },
|
|
475
500
|
});
|
|
476
501
|
debrief.record({
|
|
477
|
-
partitionId: initechPartition.id,
|
|
502
|
+
partitionId: initechPartition.id, operationId: dep7.id, agent: "envoy", decisionType: "deployment-verification",
|
|
478
503
|
decision: "Verification failed: queue depth 342 exceeds threshold of 100",
|
|
479
504
|
reasoning: "Workers restarted but queue depth grew rapidly. v2.9.0 introduced a regression in the message processing loop causing 10x slowdown.",
|
|
480
505
|
context: { queueDepth: 342, threshold: 100, processingRate: "0.3/s vs expected 3/s" },
|
|
481
506
|
});
|
|
482
507
|
debrief.record({
|
|
483
|
-
partitionId: initechPartition.id,
|
|
508
|
+
partitionId: initechPartition.id, operationId: dep7.id, agent: "server", decisionType: "deployment-failure",
|
|
484
509
|
decision: "Deployment worker-service v2.9.0 failed — queue depth exceeded threshold",
|
|
485
510
|
reasoning: "Queue depth check returned 342 (max 100). Processing regression in v2.9.0.",
|
|
486
511
|
context: { status: "failed" },
|
|
487
512
|
});
|
|
488
513
|
// dep10 — web-app 2.4.1 rolled back
|
|
489
514
|
debrief.record({
|
|
490
|
-
partitionId: initechPartition.id,
|
|
515
|
+
partitionId: initechPartition.id, operationId: dep10.id, agent: "server", decisionType: "pipeline-plan",
|
|
491
516
|
decision: "Planned deployment pipeline for web-app v2.4.1 to Initech production",
|
|
492
517
|
reasoning: "Standard 3-step pipeline.",
|
|
493
518
|
context: { version: "2.4.1", steps: 3 },
|
|
494
519
|
});
|
|
495
520
|
debrief.record({
|
|
496
|
-
partitionId: initechPartition.id,
|
|
521
|
+
partitionId: initechPartition.id, operationId: dep10.id, agent: "envoy", decisionType: "deployment-execution",
|
|
497
522
|
decision: "All deployment steps completed, starting post-deploy verification",
|
|
498
523
|
reasoning: "Dependencies installed (14.2s), migrations ran (3.1s), health check passed (0.2s).",
|
|
499
524
|
context: { totalDuration: 17500 },
|
|
500
525
|
});
|
|
501
526
|
debrief.record({
|
|
502
|
-
partitionId: initechPartition.id,
|
|
527
|
+
partitionId: initechPartition.id, operationId: dep10.id, agent: "envoy", decisionType: "deployment-verification",
|
|
503
528
|
decision: "Post-deploy smoke test detected 502 errors on /api/v2/users",
|
|
504
529
|
reasoning: "12 endpoint checks: 10 passed, 2 returned 502 (GET and POST /api/v2/users). The v2 users endpoint depends on a schema migration that was partially applied.",
|
|
505
530
|
context: { passed: 10, failed: 2, failedEndpoints: ["/api/v2/users"] },
|
|
506
531
|
});
|
|
507
532
|
debrief.record({
|
|
508
|
-
partitionId: initechPartition.id,
|
|
533
|
+
partitionId: initechPartition.id, operationId: dep10.id, agent: "server", decisionType: "deployment-failure",
|
|
509
534
|
decision: "Initiated rollback of web-app v2.4.1 on Initech production",
|
|
510
535
|
reasoning: "502 errors on critical user endpoints. Rolling back to previous known-good version.",
|
|
511
536
|
context: { status: "rolled_back", rolledBackFrom: "2.4.1" },
|
|
512
537
|
});
|
|
513
538
|
// dep6 — web-app 2.5.0-rc.1 with variable conflict
|
|
514
539
|
debrief.record({
|
|
515
|
-
partitionId: globexPartition.id,
|
|
540
|
+
partitionId: globexPartition.id, operationId: dep6.id, agent: "server", decisionType: "pipeline-plan",
|
|
516
541
|
decision: "Planned deployment for web-app v2.5.0-rc.1 to Globex staging",
|
|
517
542
|
reasoning: "Standard 3-step pipeline. Release candidate — permissive conflict policy.",
|
|
518
543
|
context: { version: "2.5.0-rc.1", steps: 3 },
|
|
519
544
|
});
|
|
520
545
|
debrief.record({
|
|
521
|
-
partitionId: globexPartition.id,
|
|
546
|
+
partitionId: globexPartition.id, operationId: dep6.id, agent: "server", decisionType: "variable-conflict",
|
|
522
547
|
decision: "Variable conflict: APP_ENV defined in both partition and environment",
|
|
523
548
|
reasoning: "Partition sets APP_ENV=production, environment sets APP_ENV=staging. Permissive policy — using environment value.",
|
|
524
549
|
context: { variable: "APP_ENV", partitionValue: "production", environmentValue: "staging", resolution: "environment-wins" },
|
|
525
550
|
});
|
|
526
551
|
debrief.record({
|
|
527
|
-
partitionId: globexPartition.id,
|
|
552
|
+
partitionId: globexPartition.id, operationId: dep6.id, agent: "server", decisionType: "deployment-completion",
|
|
528
553
|
decision: "Deployment web-app v2.5.0-rc.1 completed on Globex staging",
|
|
529
554
|
reasoning: "All steps passed despite variable conflict. RC verified in staging.",
|
|
530
555
|
context: { status: "succeeded" },
|
|
531
556
|
});
|
|
532
557
|
// dep9 — in-progress
|
|
533
558
|
debrief.record({
|
|
534
|
-
partitionId: globexPartition.id,
|
|
559
|
+
partitionId: globexPartition.id, operationId: dep9.id, agent: "server", decisionType: "pipeline-plan",
|
|
535
560
|
decision: "Planned deployment for api-service v1.13.0-beta.2 to Globex staging",
|
|
536
561
|
reasoning: "2-step pipeline for staging. Beta version — monitoring closely.",
|
|
537
562
|
context: { version: "1.13.0-beta.2", steps: 2 },
|
|
538
563
|
});
|
|
539
564
|
debrief.record({
|
|
540
|
-
partitionId: globexPartition.id,
|
|
565
|
+
partitionId: globexPartition.id, operationId: dep9.id, agent: "envoy", decisionType: "deployment-execution",
|
|
541
566
|
decision: "Image pull in progress for api-service v1.13.0-beta.2",
|
|
542
567
|
reasoning: "Pulling docker image from registry. Download progress: 67%.",
|
|
543
568
|
context: { step: "Pull image", progress: "67%" },
|
|
544
569
|
});
|
|
545
570
|
// Environment scans
|
|
546
571
|
debrief.record({
|
|
547
|
-
partitionId: acmePartition.id,
|
|
572
|
+
partitionId: acmePartition.id, operationId: null, agent: "envoy", decisionType: "environment-scan",
|
|
548
573
|
decision: "Environment scan completed for Acme Corp production",
|
|
549
574
|
reasoning: "Current versions: web-app v2.4.1, api-service v1.12.0. Disk: 62%. Memory: 71%. No drift detected.",
|
|
550
575
|
context: { versions: { "web-app": "2.4.1", "api-service": "1.12.0" }, diskUsage: "62%", memoryUsage: "71%" },
|
|
551
576
|
});
|
|
552
577
|
debrief.record({
|
|
553
|
-
partitionId: initechPartition.id,
|
|
578
|
+
partitionId: initechPartition.id, operationId: null, agent: "envoy", decisionType: "environment-scan",
|
|
554
579
|
decision: "Environment scan for Initech production — drift detected",
|
|
555
580
|
reasoning: "worker-service v3.0.0 running. web-app at v2.4.0 (v2.4.1 was rolled back). Drift: LOG_LEVEL manually changed from 'warn' to 'debug' outside deployment pipeline.",
|
|
556
581
|
context: { drift: true, driftDetails: "LOG_LEVEL changed outside pipeline" },
|
|
@@ -659,7 +684,7 @@ registerHealthRoutes(app, {
|
|
|
659
684
|
});
|
|
660
685
|
const progressStore = new ProgressEventStore();
|
|
661
686
|
const defaultEnvoyClient = new EnvoyClient(settings.get().envoy.url, settings.get().envoy.timeoutMs);
|
|
662
|
-
|
|
687
|
+
registerOperationRoutes(app, deployments, debrief, partitions, environments, artifactStore, settings, telemetryStore, progressStore, defaultEnvoyClient, envoyRegistry, llm);
|
|
663
688
|
registerEnvoyReportRoutes(app, debrief, deployments, envoyRegistry);
|
|
664
689
|
registerArtifactRoutes(app, artifactStore, telemetryStore, artifactAnalyzer);
|
|
665
690
|
registerSecurityBoundaryRoutes(app, securityBoundaryStore, telemetryStore);
|
|
@@ -704,6 +729,9 @@ for (const ch of intakeChannelStore.list()) {
|
|
|
704
729
|
registryPoller.startPolling(ch);
|
|
705
730
|
}
|
|
706
731
|
}
|
|
732
|
+
// --- Alert Webhooks (external monitoring triggers) ---
|
|
733
|
+
const alertWebhookStore = new PersistentAlertWebhookStore(entityDb);
|
|
734
|
+
registerAlertWebhookRoutes(app, alertWebhookStore, deployments, debrief, environments, partitions, telemetryStore, envoyRegistry);
|
|
707
735
|
// --- Serve UI static files if built ---
|
|
708
736
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
709
737
|
const uiDistPath = path.resolve(__dirname, "../../ui/dist");
|