@bragi-gmbh/codebus 1.3.0 → 1.6.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.
Files changed (132) hide show
  1. package/dist/ci-hooks/ci-hooks.js +126 -0
  2. package/dist/ci-hooks/ci-hooks.js.map +1 -0
  3. package/dist/commands/agent.js +137 -0
  4. package/dist/commands/agent.js.map +1 -0
  5. package/dist/commands/as.js +1 -1
  6. package/dist/commands/as.js.map +1 -1
  7. package/dist/commands/ask.js +1 -1
  8. package/dist/commands/ask.js.map +1 -1
  9. package/dist/commands/ci-findings.js +129 -0
  10. package/dist/commands/ci-findings.js.map +1 -0
  11. package/dist/commands/ci-reply.js +117 -0
  12. package/dist/commands/ci-reply.js.map +1 -0
  13. package/dist/commands/ci-steer-escalate.js +65 -0
  14. package/dist/commands/ci-steer-escalate.js.map +1 -0
  15. package/dist/commands/cli-mcp-correlation.js +131 -0
  16. package/dist/commands/cli-mcp-correlation.js.map +1 -0
  17. package/dist/commands/connector-attach-detach.js +542 -0
  18. package/dist/commands/connector-attach-detach.js.map +1 -0
  19. package/dist/commands/connector.js +513 -0
  20. package/dist/commands/connector.js.map +1 -0
  21. package/dist/commands/correlation.js +194 -0
  22. package/dist/commands/correlation.js.map +1 -0
  23. package/dist/commands/decision.js +63 -0
  24. package/dist/commands/decision.js.map +1 -1
  25. package/dist/commands/digest.js +14 -3
  26. package/dist/commands/digest.js.map +1 -1
  27. package/dist/commands/do.js +127 -0
  28. package/dist/commands/do.js.map +1 -0
  29. package/dist/commands/doc.js +276 -0
  30. package/dist/commands/doc.js.map +1 -0
  31. package/dist/commands/factory-attention.js +106 -0
  32. package/dist/commands/factory-attention.js.map +1 -0
  33. package/dist/commands/factory-context-read.js +171 -0
  34. package/dist/commands/factory-context-read.js.map +1 -0
  35. package/dist/commands/factory-interventions.js +102 -0
  36. package/dist/commands/factory-interventions.js.map +1 -0
  37. package/dist/commands/factory.js +187 -0
  38. package/dist/commands/factory.js.map +1 -1
  39. package/dist/commands/graph-pull.js +130 -0
  40. package/dist/commands/graph-pull.js.map +1 -0
  41. package/dist/commands/graph.js +5 -1
  42. package/dist/commands/graph.js.map +1 -1
  43. package/dist/commands/inbox.js +7 -7
  44. package/dist/commands/inbox.js.map +1 -1
  45. package/dist/commands/ingest.js +1 -1
  46. package/dist/commands/ingest.js.map +1 -1
  47. package/dist/commands/install.js +1160 -55
  48. package/dist/commands/install.js.map +1 -1
  49. package/dist/commands/integration-ledger.js +81 -0
  50. package/dist/commands/integration-ledger.js.map +1 -0
  51. package/dist/commands/knowledge.js +178 -0
  52. package/dist/commands/knowledge.js.map +1 -0
  53. package/dist/commands/links.js +1 -1
  54. package/dist/commands/links.js.map +1 -1
  55. package/dist/commands/morning.js +50 -1
  56. package/dist/commands/morning.js.map +1 -1
  57. package/dist/commands/plan-compiler.js +260 -0
  58. package/dist/commands/plan-compiler.js.map +1 -0
  59. package/dist/commands/plan-lint.js +275 -0
  60. package/dist/commands/plan-lint.js.map +1 -0
  61. package/dist/commands/plan-score.js +203 -0
  62. package/dist/commands/plan-score.js.map +1 -0
  63. package/dist/commands/plan.js +481 -15
  64. package/dist/commands/plan.js.map +1 -1
  65. package/dist/commands/product-validity.js +168 -0
  66. package/dist/commands/product-validity.js.map +1 -0
  67. package/dist/commands/question.js +1 -1
  68. package/dist/commands/question.js.map +1 -1
  69. package/dist/commands/read-policy.js +131 -0
  70. package/dist/commands/read-policy.js.map +1 -0
  71. package/dist/commands/read.js +1 -1
  72. package/dist/commands/read.js.map +1 -1
  73. package/dist/commands/repo.js +106 -8
  74. package/dist/commands/repo.js.map +1 -1
  75. package/dist/commands/repository-protection.js +209 -0
  76. package/dist/commands/repository-protection.js.map +1 -0
  77. package/dist/commands/resolve.js +2 -2
  78. package/dist/commands/resolve.js.map +1 -1
  79. package/dist/commands/self-healing.js +26 -0
  80. package/dist/commands/self-healing.js.map +1 -0
  81. package/dist/commands/send.js +1 -1
  82. package/dist/commands/send.js.map +1 -1
  83. package/dist/commands/serial-merge.js +303 -0
  84. package/dist/commands/serial-merge.js.map +1 -0
  85. package/dist/commands/session.js +1 -1
  86. package/dist/commands/session.js.map +1 -1
  87. package/dist/commands/task.js +92 -1
  88. package/dist/commands/task.js.map +1 -1
  89. package/dist/commands/verify.js +77 -0
  90. package/dist/commands/verify.js.map +1 -0
  91. package/dist/config/self-healing-analysis.json +158 -0
  92. package/dist/errors.js +18 -4
  93. package/dist/errors.js.map +1 -1
  94. package/dist/execution/client.js +53 -0
  95. package/dist/execution/client.js.map +1 -0
  96. package/dist/execution/local.js +24 -0
  97. package/dist/execution/local.js.map +1 -0
  98. package/dist/execution/ssh.js +38 -0
  99. package/dist/execution/ssh.js.map +1 -0
  100. package/dist/graph.js +78 -16
  101. package/dist/graph.js.map +1 -1
  102. package/dist/index.js +32 -0
  103. package/dist/index.js.map +1 -1
  104. package/dist/json-lite.js +248 -0
  105. package/dist/json-lite.js.map +1 -0
  106. package/dist/knowledge-drift.js +40 -0
  107. package/dist/knowledge-drift.js.map +1 -0
  108. package/dist/lint/parallelism.js +414 -0
  109. package/dist/lint/parallelism.js.map +1 -0
  110. package/dist/mail-latency.js +11 -1
  111. package/dist/mail-latency.js.map +1 -1
  112. package/dist/mcp-ci-findings.js +31 -0
  113. package/dist/mcp-ci-findings.js.map +1 -0
  114. package/dist/mcp-correlation.js +290 -0
  115. package/dist/mcp-correlation.js.map +1 -0
  116. package/dist/mcp-factory-context-read.js +81 -0
  117. package/dist/mcp-factory-context-read.js.map +1 -0
  118. package/dist/mcp-registry.js +202 -1
  119. package/dist/mcp-registry.js.map +1 -1
  120. package/dist/mcp.js +94 -5
  121. package/dist/mcp.js.map +1 -1
  122. package/dist/openrouter-reservation-guard.js +97 -0
  123. package/dist/openrouter-reservation-guard.js.map +1 -0
  124. package/dist/self-healing-analysis-loader.js +150 -0
  125. package/dist/self-healing-analysis-loader.js.map +1 -0
  126. package/dist/sender.js +11 -9
  127. package/dist/sender.js.map +1 -1
  128. package/dist/toml-lite.js +546 -0
  129. package/dist/toml-lite.js.map +1 -0
  130. package/dist/version-check.js +23 -7
  131. package/dist/version-check.js.map +1 -1
  132. package/package.json +5 -3
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-registry.js","sourceRoot":"","sources":["../src/mcp-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-registry.js","sourceRoot":"","sources":["../src/mcp-registry.ts"],"names":[],"mappings":"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"}
package/dist/mcp.js CHANGED
@@ -16,10 +16,14 @@
16
16
  * the stdio transport + dispatch + entry point.
17
17
  */
18
18
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
19
+ import { createRequire } from "node:module";
19
20
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
20
21
  import { ListToolsRequestSchema, CallToolRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
21
22
  import { TOOL_REGISTRY, askGraphHandler } from "./mcp-registry.js";
22
23
  import { ACT_DIRECTIVE_CORE, FYI_DIRECTIVE_CORE, isActionableMessage } from "./directives.js";
24
+ import { validateCorrelationEnvelope } from "./commands/correlation.js";
25
+ const require = createRequire(import.meta.url);
26
+ export const SERVER_INFO = { name: "codebus", version: require("../package.json").version };
23
27
  // ── Tool dispatch ──────────────────────────────────────────────────────────
24
28
  // codebus_inbox is a mail-delivery surface (SERVER_INSTRUCTIONS says "reply to
25
29
  // mail addressed to you"), but that instruction lives only in the one-time
@@ -50,12 +54,47 @@ export function needsFyiDirective(toolName, result) {
50
54
  && result.some((m) => m?.read === "unread")
51
55
  && !needsActDirective(toolName, result);
52
56
  }
57
+ /**
58
+ * Build the _correlation property descriptor for MCP tool input schemas.
59
+ * T-01 traceability: every MCP event carries run_id, actor, and environment.
60
+ * The envelope is optional on the tool argument but, when present, MUST be
61
+ * validated before the handler runs.
62
+ */
63
+ export const CORRELATION_SCHEMA = {
64
+ type: "object",
65
+ description: "T-01 correlation chain envelope. When present, validated before dispatch. Requires: actor (GitHub login), environment ('dev'|'prod'), transport ('cli'|'mcp'). Optional: plan_id, stage_id, child_id, binding_id, run_id, jira_key, pr_url, receipt_id.",
66
+ properties: {
67
+ actor: { type: "string", description: "GitHub login (people.github_login)" },
68
+ environment: { type: "string", enum: ["dev", "prod"] },
69
+ transport: { type: "string", enum: ["cli", "mcp"] },
70
+ plan_id: { type: "string" },
71
+ stage_id: { type: "string" },
72
+ child_id: { type: "string" },
73
+ binding_id: { type: "string" },
74
+ run_id: { type: "string" },
75
+ jira_key: { type: "string" },
76
+ pr_url: { type: "string" },
77
+ receipt_id: { type: "string" },
78
+ },
79
+ required: ["actor", "environment", "transport"],
80
+ };
53
81
  /**
54
82
  * Generic tool handler dispatcher.
55
83
  * Exported for testing.
84
+ *
85
+ * The MCP SDK's setRequestHandler invokes this with (request, extra) where
86
+ * extra is the SDK's internal request context — NOT a correlation envelope.
87
+ * Correlation is extracted ONLY from request.params.arguments._correlation,
88
+ * which is the property real MCP clients send. The extra parameter is ignored.
89
+ *
90
+ * When _correlation is present in the tool arguments, it is validated with
91
+ * validateCorrelationEnvelope before the handler runs (negative-fixture:
92
+ * incomplete envelopes raise CorrelationError and never reach the handler).
93
+ * The validated envelope is attached to callArgs._correlation so registered
94
+ * handlers can read it for T-01 traceability (run_id, actor, environment).
56
95
  */
57
96
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
- export async function handleToolCall(request) {
97
+ export async function handleToolCall(request, _extra, correlationOverride) {
59
98
  const { name, arguments: args } = request.params;
60
99
  const tool = TOOL_REGISTRY.find((t) => t.name === name);
61
100
  if (!tool) {
@@ -70,8 +109,31 @@ export async function handleToolCall(request) {
70
109
  };
71
110
  }
72
111
  try {
73
- const result = await tool.handler(args || {});
112
+ // Thread correlation through: attach envelope to handler args when present.
113
+ // Production path: _correlation comes from request.params.arguments._correlation
114
+ // (MCP clients send it as a regular tool argument). The correlationOverride
115
+ // parameter is for unit testing only.
116
+ // Negative-fixture behavior: if a correlation envelope is supplied but
117
+ // actor/environment/transport is missing, raise a typed error — never
118
+ // silently pass through.
119
+ let callArgs = args || {};
120
+ const correlation = correlationOverride || callArgs._correlation;
121
+ if (correlation !== undefined && correlation !== null) {
122
+ validateCorrelationEnvelope(correlation);
123
+ callArgs = { ...callArgs, _correlation: correlation };
124
+ }
125
+ const result = await tool.handler(callArgs);
74
126
  const content = [{ type: "text", text: JSON.stringify(result, null, 2) }];
127
+ // T-01 traceability: when a correlation envelope was provided, emit a
128
+ // structured metadata block so MCP clients can observe that the chain
129
+ // was received and validated, even when the downstream handler does not
130
+ // itself forward the envelope to CodeBus events/logging.
131
+ if (correlation) {
132
+ content.push({
133
+ type: "text",
134
+ text: JSON.stringify({ _t01_correlation: { validated: true, run_id: correlation.run_id, actor: correlation.actor, environment: correlation.environment } }, null, 2),
135
+ });
136
+ }
75
137
  if (needsActDirective(name, result))
76
138
  content.push({ type: "text", text: ACT_DIRECTIVE_CORE });
77
139
  else if (needsFyiDirective(name, result))
@@ -133,6 +195,19 @@ export async function handleAskGraphCall(request) {
133
195
  };
134
196
  }
135
197
  }
198
+ /** Add the `_correlation` property to a tool's inputSchema, preserving existing properties. */
199
+ export function addCorrelationToSchema(schema) {
200
+ schema.properties = schema.properties || {};
201
+ schema.properties._correlation = CORRELATION_SCHEMA;
202
+ }
203
+ /**
204
+ * Augment every tool's inputSchema with the optional _correlation property.
205
+ * This is applied at server boot so the TOOL_REGISTRY in mcp-registry.ts
206
+ * stays pure (side-effect-free, per F1).
207
+ */
208
+ export function withCorrelationProperty(tool) {
209
+ addCorrelationToSchema(tool.inputSchema);
210
+ }
136
211
  // ── Server instructions ────────────────────────────────────────────────────
137
212
  // Injected into the model's context when the server attaches (MCP initialize
138
213
  // result → client system prompt). This is the auto-orientation channel: the
@@ -153,19 +228,30 @@ export const SERVER_INSTRUCTIONS = [
153
228
  "- When unsure what matters most, call codebus_next.",
154
229
  "- Record durable outcomes on the bus: task_done with evidence, decision_record for choices others must honor.",
155
230
  "- Before stopping mid-work, post a handoff with session_end.",
231
+ "",
232
+ "T-01 traceability: optional _correlation on every tool argument carries the " +
233
+ "plan/stage/child/binding/run/actor/environment chain. When present, it is " +
234
+ "validated before the handler runs and echoed back in a _t01_correlation " +
235
+ "metadata block in the result.",
156
236
  ].join("\n");
157
237
  /**
158
238
  * Initialize and run the MCP server.
159
239
  * Exported for testing.
160
240
  */
161
241
  export async function main() {
242
+ // Wire _correlation into every tool schema so MCP clients can discover and
243
+ // send the T-01 correlation envelope. Done at boot (not in mcp-registry.ts)
244
+ // to keep that module side-effect-free (F1).
245
+ for (const tool of TOOL_REGISTRY) {
246
+ withCorrelationProperty(tool);
247
+ }
162
248
  // Declare the tools capability — the SDK rejects tools/list handlers
163
249
  // ("Server does not support tools") unless capabilities.tools is set.
164
250
  // `instructions` rides the initialize result (ServerOptions.instructions,
165
251
  // @modelcontextprotocol/sdk server/index.d.ts) — the client injects it into
166
252
  // the model's context on attach, which is what makes adding the server to a
167
253
  // conversation self-orienting.
168
- const server = new Server({ name: "codebus", version: "1.0.0" }, { capabilities: { tools: {} }, instructions: SERVER_INSTRUCTIONS });
254
+ const server = new Server(SERVER_INFO, { capabilities: { tools: {} }, instructions: SERVER_INSTRUCTIONS });
169
255
  // Register the tools list. The SDK reads the method literal off the request
170
256
  // schema, so we must pass ListToolsRequestSchema — a bare "tools/list" string
171
257
  // throws "Schema is missing a method literal" and the server never boots.
@@ -176,8 +262,11 @@ export async function main() {
176
262
  inputSchema: tool.inputSchema,
177
263
  })),
178
264
  }));
179
- // Handle tool calls
180
- server.setRequestHandler(CallToolRequestSchema, handleToolCall);
265
+ // Handle tool calls. The SDK invokes this handler with (request, extra)
266
+ // where extra is the SDK's internal request context — NOT a correlation
267
+ // envelope. We wrap in an adapter that passes only request, making the
268
+ // contract explicit: correlation is read from request.params.arguments._correlation.
269
+ server.setRequestHandler(CallToolRequestSchema, (_request, extra) => handleToolCall(_request, extra));
181
270
  // Start the server
182
271
  const transport = new StdioServerTransport();
183
272
  await server.connect(transport);
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * OpenRouter atomic reservation guard: validates person/plan/stage/child/provider/model/amount
3
+ * before a spend execution reserves capacity.
4
+ *
5
+ * Principles:
6
+ * 1. Unknown fields must be explicitly validated (ADR standing rule: validate null/absent fields)
7
+ * 2. No unbounded accumulation without finiteness checks (max 999.99 USD per reservation)
8
+ * 3. Idempotency: same external_run_id returns prior reservation, not error
9
+ * 4. Binding: plan/stage/child tuple must exist and plan must be executable
10
+ * 5. Caps: person/plan caps are read server-side; only valid caps allow reserve
11
+ *
12
+ * On success, returns a reservation ID. On failure, returns an error with
13
+ * authority chain (caps decision ID or "default caps").
14
+ */
15
+ const KNOWN_PROVIDERS = new Set(["openrouter", "anthropic", "openai", "deepseek"]);
16
+ const MAX_RESERVATION_USD = 999.99;
17
+ const UUID_V4_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
18
+ /**
19
+ * Validates a reservation request BEFORE sending to the database.
20
+ * This is a client-side guard; server-side functions enforce the same rules.
21
+ */
22
+ export function validateReservationRequest(req) {
23
+ if (!req.plan_revision_id || typeof req.plan_revision_id !== "string" || !UUID_V4_RE.test(req.plan_revision_id.trim())) {
24
+ return { ok: false, reason: "plan_revision_id is required and must be a valid UUID v4 string" };
25
+ }
26
+ if (!req.stage_id || typeof req.stage_id !== "string" || !req.stage_id.trim()) {
27
+ return { ok: false, reason: "stage_id is required and must be a non-empty string" };
28
+ }
29
+ if (!req.child_id || typeof req.child_id !== "string" || !req.child_id.trim()) {
30
+ return { ok: false, reason: "child_id is required and must be a non-empty string" };
31
+ }
32
+ if (!req.provider || typeof req.provider !== "string" || !req.provider.trim()) {
33
+ return { ok: false, reason: "provider is required and must be a non-empty string" };
34
+ }
35
+ if (!req.model || typeof req.model !== "string" || !req.model.trim()) {
36
+ return { ok: false, reason: "model is required and must be a non-empty string" };
37
+ }
38
+ // Finiteness check FIRST: Number.isFinite() rejects NaN, Infinity, and -Infinity
39
+ if (!Number.isFinite(req.requested_usd)) {
40
+ return { ok: false, reason: `requested_usd must be a finite number, got ${req.requested_usd}` };
41
+ }
42
+ if (req.requested_usd <= 0) {
43
+ return { ok: false, reason: `requested_usd must be greater than 0, got ${req.requested_usd}` };
44
+ }
45
+ if (req.requested_usd > MAX_RESERVATION_USD) {
46
+ return { ok: false, reason: `requested_usd must not exceed ${MAX_RESERVATION_USD}, got ${req.requested_usd}` };
47
+ }
48
+ if (req.external_run_id !== undefined && (typeof req.external_run_id !== "string" || !req.external_run_id.trim())) {
49
+ return { ok: false, reason: "external_run_id, if provided, must be a non-empty string" };
50
+ }
51
+ // Wire in provider/model validation (never silently drop unknown identifiers)
52
+ const pmResult = validateProviderModel(req.provider, req.model);
53
+ if (!pmResult.ok) {
54
+ return pmResult;
55
+ }
56
+ return { ok: true };
57
+ }
58
+ /**
59
+ * Guard rule: never silently drop unknown provider/model values.
60
+ * Reject unknown providers; model must be non-empty.
61
+ */
62
+ export function validateProviderModel(provider, model) {
63
+ const trimmedProvider = provider.toLowerCase().trim();
64
+ if (!KNOWN_PROVIDERS.has(trimmedProvider)) {
65
+ return { ok: false, reason: `unknown provider '${provider}'; expected one of: ${Array.from(KNOWN_PROVIDERS).join(", ")}` };
66
+ }
67
+ const trimmedModel = model.trim();
68
+ if (!trimmedModel) {
69
+ return { ok: false, reason: "model must not be empty after trimming" };
70
+ }
71
+ return { ok: true };
72
+ }
73
+ /**
74
+ * Checks if a reservation amount combined with existing reservations
75
+ * would exceed plan capacity. Client-side advisory check only; the server
76
+ * enforces hard limits.
77
+ */
78
+ export function checkReservationCapacity(requestedUsd, totalReservedUsd, planCapUsd) {
79
+ if (!Number.isFinite(requestedUsd) || requestedUsd <= 0) {
80
+ return { ok: false, reason: "requestedUsd must be a finite number > 0" };
81
+ }
82
+ if (!Number.isFinite(totalReservedUsd) || totalReservedUsd < 0) {
83
+ return { ok: false, reason: "totalReservedUsd must be a finite number >= 0" };
84
+ }
85
+ if (!Number.isFinite(planCapUsd) || planCapUsd < 0) {
86
+ return { ok: false, reason: "planCapUsd must be a finite number >= 0" };
87
+ }
88
+ const remaining = planCapUsd - totalReservedUsd;
89
+ if (remaining < requestedUsd) {
90
+ return {
91
+ ok: false,
92
+ reason: `insufficient reserve: requested ${requestedUsd}, but only ${remaining} USD remains in the plan cap (total reserved ${totalReservedUsd} of ${planCapUsd})`,
93
+ };
94
+ }
95
+ return { ok: true };
96
+ }
97
+ //# sourceMappingURL=openrouter-reservation-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openrouter-reservation-guard.js","sourceRoot":"","sources":["../src/openrouter-reservation-guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Self-healing analysis configuration loader
3
+ * Phase 2 v16 implementation
4
+ *
5
+ * This loader reads and validates the self-healing-analysis.json configuration
6
+ * and provides an interface for the self-healing flow (analyzer -> ticket -> fixer)
7
+ * to query the three-model analysis setup and execute with the specified
8
+ * maximum-context approach.
9
+ */
10
+ import * as fs from "fs";
11
+ import * as path from "path";
12
+ import { fileURLToPath } from "url";
13
+ const __filename = fileURLToPath(import.meta.url);
14
+ const __dirname = path.dirname(__filename);
15
+ /**
16
+ * Loads and validates the self-healing analysis configuration
17
+ * Configuration is shipped with the CLI package at dist/config/
18
+ * In development, reads from the source directory
19
+ * @returns The validated configuration object
20
+ * @throws Error if configuration is invalid or missing required fields
21
+ */
22
+ export function loadSelfHealingAnalysisConfig() {
23
+ // Try multiple paths to support both development and built package scenarios
24
+ const candidates = [
25
+ // In built package: dist/self-healing-analysis-loader.js -> dist/config/
26
+ path.join(__dirname, "config", "self-healing-analysis.json"),
27
+ // In development/testing: src/self-healing-analysis-loader.ts -> ../../docs/...
28
+ path.join(__dirname, "..", "..", "docs", "factory", "phase2", "v16", "self-healing-analysis.json"),
29
+ ];
30
+ let configPath = null;
31
+ for (const candidate of candidates) {
32
+ if (fs.existsSync(candidate)) {
33
+ configPath = candidate;
34
+ break;
35
+ }
36
+ }
37
+ if (!configPath) {
38
+ throw new Error(`Self-healing analysis configuration not found. Tried:\n${candidates.map(c => ` - ${c}`).join("\n")}`);
39
+ }
40
+ const configContent = fs.readFileSync(configPath, "utf-8");
41
+ const config = JSON.parse(configContent);
42
+ // Validate schema constraints
43
+ validateConfiguration(config);
44
+ return config;
45
+ }
46
+ /**
47
+ * Validates configuration against schema constraints
48
+ * @param config The configuration to validate
49
+ * @throws Error if validation fails
50
+ */
51
+ export function validateConfiguration(config) {
52
+ const errors = [];
53
+ // Model set constraints
54
+ if (!config.analysis_configuration?.model_set?.models) {
55
+ errors.push("missing models array");
56
+ }
57
+ else {
58
+ if (config.analysis_configuration.model_set.count !== 3) {
59
+ errors.push("count is not 3");
60
+ }
61
+ if (config.analysis_configuration.model_set.models.length !== 3) {
62
+ errors.push("models array length is not 3");
63
+ }
64
+ if (config.analysis_configuration.model_set.count !==
65
+ config.analysis_configuration.model_set.models.length) {
66
+ errors.push("count does not match models.length");
67
+ }
68
+ }
69
+ // Context model validation
70
+ if (config.analysis_configuration?.model_set?.models) {
71
+ config.analysis_configuration.model_set.models.forEach((m, i) => {
72
+ if (m.context_model !== "maximum") {
73
+ errors.push(`model[${i}] context_model is not maximum`);
74
+ }
75
+ });
76
+ }
77
+ // Required roles
78
+ const roles = config.analysis_configuration?.model_set?.models?.map((m) => m.role) || [];
79
+ if (!roles.includes("reasoning"))
80
+ errors.push("missing reasoning role");
81
+ if (!roles.includes("research"))
82
+ errors.push("missing research role");
83
+ if (!roles.includes("executor"))
84
+ errors.push("missing executor role");
85
+ // Context components
86
+ const componentNames = config.analysis_configuration?.context_handling?.components?.map((c) => c.name) || [];
87
+ if (!componentNames.includes("source_evidence"))
88
+ errors.push("missing source_evidence component");
89
+ if (!componentNames.includes("repository_context"))
90
+ errors.push("missing repository_context component");
91
+ if (!componentNames.includes("codebus_context"))
92
+ errors.push("missing codebus_context component");
93
+ if (!componentNames.includes("factory_context"))
94
+ errors.push("missing factory_context component");
95
+ // Analysis stages
96
+ const stageKeys = Object.keys(config.analysis_configuration?.analysis_stages || {});
97
+ if (!stageKeys.includes("stage_1_evidence_collection"))
98
+ errors.push("missing stage_1_evidence_collection");
99
+ if (!stageKeys.includes("stage_2_pattern_analysis"))
100
+ errors.push("missing stage_2_pattern_analysis");
101
+ if (!stageKeys.includes("stage_3_repair_strategy"))
102
+ errors.push("missing stage_3_repair_strategy");
103
+ if (!stageKeys.includes("stage_4_implementation"))
104
+ errors.push("missing stage_4_implementation");
105
+ // Stage responsibilities
106
+ stageKeys.forEach((key) => {
107
+ const stage = config.analysis_configuration.analysis_stages[key];
108
+ if (!stage.responsible || !Array.isArray(stage.responsible) || stage.responsible.length === 0) {
109
+ errors.push(`${key} has no responsible models`);
110
+ }
111
+ });
112
+ // Output format
113
+ if (!config.output_format?.analysis_record?.analysis_by_model?.reasoning)
114
+ errors.push("missing analysis_by_model.reasoning");
115
+ if (!config.output_format?.analysis_record?.analysis_by_model?.research)
116
+ errors.push("missing analysis_by_model.research");
117
+ if (!config.output_format?.analysis_record?.analysis_by_model?.executor)
118
+ errors.push("missing analysis_by_model.executor");
119
+ // Escalation is boolean
120
+ if (typeof config.output_format?.analysis_record?.escalation_required !== "boolean") {
121
+ errors.push("escalation_required is not boolean");
122
+ }
123
+ if (errors.length > 0) {
124
+ throw new Error(`Configuration validation failed:\n${errors.map(e => ` - ${e}`).join("\n")}`);
125
+ }
126
+ }
127
+ /**
128
+ * Gets the three-model set from configuration
129
+ * @param config The loaded configuration
130
+ * @returns Array of three models (reasoning, research, executor)
131
+ */
132
+ export function getModelSet(config) {
133
+ return config.analysis_configuration.model_set.models;
134
+ }
135
+ /**
136
+ * Gets analysis stages ordered by execution sequence
137
+ * @param config The loaded configuration
138
+ * @returns Ordered analysis stages
139
+ */
140
+ export function getAnalysisStages(config) {
141
+ const stages = config.analysis_configuration.analysis_stages;
142
+ const order = [
143
+ "stage_1_evidence_collection",
144
+ "stage_2_pattern_analysis",
145
+ "stage_3_repair_strategy",
146
+ "stage_4_implementation",
147
+ ];
148
+ return order.map(key => ({ ...stages[key] }));
149
+ }
150
+ //# sourceMappingURL=self-healing-analysis-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"self-healing-analysis-loader.js","sourceRoot":"","sources":["../src/self-healing-analysis-loader.ts"],"names":[],"mappings":"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"}
package/dist/sender.js CHANGED
@@ -10,38 +10,40 @@
10
10
  // leaks the surface suffix into human-facing output AND makes the SAME person
11
11
  // look like different authors depending on which surface sent the message.
12
12
  //
13
- // Owner decision (locked): a HUMAN sender (the sender agent has a non-null
13
+ // Owner decision (locked): a HUMAN sender (the ingest snapshot has a non-null
14
14
  // person_id) displays the PERSON slug only (e.g. `nihviid`); a MACHINE agent
15
15
  // (person_id NULL — codex workers, connectors, service principals) keeps
16
16
  // showing its agent slug, as today. No surface suffix is ever shown for a human.
17
17
  //
18
18
  // Resolution happens in the data layer via ONE nested PostgREST embed
19
- // (SENDER_EMBED) rather than a new RPC/migration: no RPC returns a sender slug
19
+ // (SENDER_EMBED) over the 0088 ingest snapshot: no RPC returns a sender slug
20
20
  // string today, and every sender-render site already runs a PostgREST select we
21
21
  // can extend with a single nested embed. That keeps the CLI surfaces (read,
22
22
  // inbox, session start) and the MCP inbox tool in lockstep off the same helper.
23
- // Nested embed for a message's `from_agent_id` column.
23
+ // Nested embed for a message's ingest-time sender columns.
24
24
  // agents:from_agent_id(...) -> the sender agent (alias `agents`)
25
25
  // person:people!person_id(slug) -> agents.person_id -> people(slug)
26
+ // person:people!from_person_id(slug) -> the immutable message principal snapshot
26
27
  // The explicit `!person_id` FK hint is REQUIRED: agents has TWO foreign keys to
27
28
  // people (person_id and owner_person_id, 0040), so an unqualified embed is
28
29
  // ambiguous and PostgREST rejects it (PGRST201).
29
- export const SENDER_EMBED = "agents:from_agent_id(slug, person:people!person_id(slug))";
30
+ export const SENDER_EMBED = "agents:from_agent_id(slug, person:people!person_id(slug)), person:people!from_person_id(slug)";
30
31
  function one(v) {
31
32
  return Array.isArray(v) ? (v[0] ?? null) : (v ?? null);
32
33
  }
33
34
  /**
34
35
  * Human-facing display name for a message sender.
35
36
  *
36
- * - HUMAN sender (agent has a person with a slug) -> the PERSON slug.
37
- * - MACHINE agent (no person, or the person has no slug) -> the AGENT slug.
38
- * - Deleted/dangling person (person_id nulled by ON DELETE SET NULL) -> falls
39
- * back to the agent slug — never crashes or blanks.
37
+ * - HUMAN sender (the ingest snapshot has a person with a slug) -> PERSON slug.
38
+ * - MACHINE agent or deleted snapshot -> AGENT slug.
39
+ * - Legacy rows without the 0088 scalar retain the old live-agent fallback.
40
40
  * - Nothing resolvable at all -> "?" (last-resort, matches prior read.ts).
41
41
  */
42
42
  export function senderDisplay(row) {
43
43
  const agent = one(row?.agents);
44
- const person = one(agent?.person);
44
+ const snapshot = one(row?.person);
45
+ const hasSnapshot = !!row && Object.prototype.hasOwnProperty.call(row, "from_person_id");
46
+ const person = snapshot ?? (hasSnapshot ? null : one(agent?.person));
45
47
  const personSlug = person?.slug?.trim();
46
48
  if (personSlug)
47
49
  return personSlug;