domain-knowledge-kit 0.2.15 → 0.2.16

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 (177) hide show
  1. package/README.md +4 -0
  2. package/dist/cli.js +20 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/features/agent/commands/init.d.ts.map +1 -1
  5. package/dist/features/agent/commands/init.js +141 -3
  6. package/dist/features/agent/commands/init.js.map +1 -1
  7. package/dist/features/agent/commands/prime.d.ts +11 -0
  8. package/dist/features/agent/commands/prime.d.ts.map +1 -1
  9. package/dist/features/agent/commands/prime.js +104 -8
  10. package/dist/features/agent/commands/prime.js.map +1 -1
  11. package/dist/features/federation/commands/consumers.d.ts +40 -0
  12. package/dist/features/federation/commands/consumers.d.ts.map +1 -0
  13. package/dist/features/federation/commands/consumers.js +126 -0
  14. package/dist/features/federation/commands/consumers.js.map +1 -0
  15. package/dist/features/federation/commands/peers-add.d.ts +14 -0
  16. package/dist/features/federation/commands/peers-add.d.ts.map +1 -0
  17. package/dist/features/federation/commands/peers-add.js +79 -0
  18. package/dist/features/federation/commands/peers-add.js.map +1 -0
  19. package/dist/features/federation/commands/peers-list.d.ts +8 -0
  20. package/dist/features/federation/commands/peers-list.d.ts.map +1 -0
  21. package/dist/features/federation/commands/peers-list.js +51 -0
  22. package/dist/features/federation/commands/peers-list.js.map +1 -0
  23. package/dist/features/federation/commands/peers-status.d.ts +8 -0
  24. package/dist/features/federation/commands/peers-status.d.ts.map +1 -0
  25. package/dist/features/federation/commands/peers-status.js +78 -0
  26. package/dist/features/federation/commands/peers-status.js.map +1 -0
  27. package/dist/features/federation/commands/pull.d.ts +18 -0
  28. package/dist/features/federation/commands/pull.d.ts.map +1 -0
  29. package/dist/features/federation/commands/pull.js +153 -0
  30. package/dist/features/federation/commands/pull.js.map +1 -0
  31. package/dist/features/federation/git-fetcher.d.ts +45 -0
  32. package/dist/features/federation/git-fetcher.d.ts.map +1 -0
  33. package/dist/features/federation/git-fetcher.js +70 -0
  34. package/dist/features/federation/git-fetcher.js.map +1 -0
  35. package/dist/features/federation/loader.d.ts +60 -0
  36. package/dist/features/federation/loader.d.ts.map +1 -0
  37. package/dist/features/federation/loader.js +193 -0
  38. package/dist/features/federation/loader.js.map +1 -0
  39. package/dist/features/federation/lock.d.ts +12 -0
  40. package/dist/features/federation/lock.d.ts.map +1 -0
  41. package/dist/features/federation/lock.js +48 -0
  42. package/dist/features/federation/lock.js.map +1 -0
  43. package/dist/features/federation/tests/git-fetcher.test.d.ts +2 -0
  44. package/dist/features/federation/tests/git-fetcher.test.d.ts.map +1 -0
  45. package/dist/features/federation/tests/git-fetcher.test.js +167 -0
  46. package/dist/features/federation/tests/git-fetcher.test.js.map +1 -0
  47. package/dist/features/federation/tests/loader.test.d.ts +2 -0
  48. package/dist/features/federation/tests/loader.test.d.ts.map +1 -0
  49. package/dist/features/federation/tests/loader.test.js +144 -0
  50. package/dist/features/federation/tests/loader.test.js.map +1 -0
  51. package/dist/features/federation/tests/phase5.test.d.ts +2 -0
  52. package/dist/features/federation/tests/phase5.test.d.ts.map +1 -0
  53. package/dist/features/federation/tests/phase5.test.js +137 -0
  54. package/dist/features/federation/tests/phase5.test.js.map +1 -0
  55. package/dist/features/federation/tests/schema-load.test.d.ts +2 -0
  56. package/dist/features/federation/tests/schema-load.test.d.ts.map +1 -0
  57. package/dist/features/federation/tests/schema-load.test.js +97 -0
  58. package/dist/features/federation/tests/schema-load.test.js.map +1 -0
  59. package/dist/features/federation/tests/validator.test.d.ts +2 -0
  60. package/dist/features/federation/tests/validator.test.d.ts.map +1 -0
  61. package/dist/features/federation/tests/validator.test.js +319 -0
  62. package/dist/features/federation/tests/validator.test.js.map +1 -0
  63. package/dist/features/mcp/commands/serve.d.ts +10 -0
  64. package/dist/features/mcp/commands/serve.d.ts.map +1 -0
  65. package/dist/features/mcp/commands/serve.js +12 -0
  66. package/dist/features/mcp/commands/serve.js.map +1 -0
  67. package/dist/features/mcp/server.d.ts +15 -0
  68. package/dist/features/mcp/server.d.ts.map +1 -0
  69. package/dist/features/mcp/server.js +438 -0
  70. package/dist/features/mcp/server.js.map +1 -0
  71. package/dist/features/pipeline/commands/validate.d.ts.map +1 -1
  72. package/dist/features/pipeline/commands/validate.js +7 -0
  73. package/dist/features/pipeline/commands/validate.js.map +1 -1
  74. package/dist/features/pipeline/indexer.d.ts +28 -2
  75. package/dist/features/pipeline/indexer.d.ts.map +1 -1
  76. package/dist/features/pipeline/indexer.js +82 -27
  77. package/dist/features/pipeline/indexer.js.map +1 -1
  78. package/dist/features/pipeline/validator.d.ts +10 -0
  79. package/dist/features/pipeline/validator.d.ts.map +1 -1
  80. package/dist/features/pipeline/validator.js +274 -27
  81. package/dist/features/pipeline/validator.js.map +1 -1
  82. package/dist/features/query/commands/list.d.ts +10 -0
  83. package/dist/features/query/commands/list.d.ts.map +1 -1
  84. package/dist/features/query/commands/list.js +1 -1
  85. package/dist/features/query/commands/list.js.map +1 -1
  86. package/dist/features/query/commands/locate.d.ts +1 -0
  87. package/dist/features/query/commands/locate.d.ts.map +1 -1
  88. package/dist/features/query/commands/locate.js +1 -1
  89. package/dist/features/query/commands/locate.js.map +1 -1
  90. package/dist/features/query/commands/search.d.ts.map +1 -1
  91. package/dist/features/query/commands/search.js +2 -0
  92. package/dist/features/query/commands/search.js.map +1 -1
  93. package/dist/features/query/commands/show.d.ts +15 -0
  94. package/dist/features/query/commands/show.d.ts.map +1 -1
  95. package/dist/features/query/commands/show.js +116 -58
  96. package/dist/features/query/commands/show.js.map +1 -1
  97. package/dist/features/query/commands/story.d.ts +70 -0
  98. package/dist/features/query/commands/story.d.ts.map +1 -1
  99. package/dist/features/query/commands/story.js +2 -2
  100. package/dist/features/query/commands/story.js.map +1 -1
  101. package/dist/features/query/commands/summary.d.ts +3 -0
  102. package/dist/features/query/commands/summary.d.ts.map +1 -1
  103. package/dist/features/query/commands/summary.js +1 -1
  104. package/dist/features/query/commands/summary.js.map +1 -1
  105. package/dist/features/query/searcher.d.ts +18 -1
  106. package/dist/features/query/searcher.d.ts.map +1 -1
  107. package/dist/features/query/searcher.js +11 -2
  108. package/dist/features/query/searcher.js.map +1 -1
  109. package/dist/features/scaffold/commands/service-init.d.ts +12 -0
  110. package/dist/features/scaffold/commands/service-init.d.ts.map +1 -0
  111. package/dist/features/scaffold/commands/service-init.js +69 -0
  112. package/dist/features/scaffold/commands/service-init.js.map +1 -0
  113. package/dist/shared/graph.d.ts +8 -0
  114. package/dist/shared/graph.d.ts.map +1 -1
  115. package/dist/shared/graph.js +180 -112
  116. package/dist/shared/graph.js.map +1 -1
  117. package/dist/shared/index.d.ts +4 -1
  118. package/dist/shared/index.d.ts.map +1 -1
  119. package/dist/shared/index.js +6 -1
  120. package/dist/shared/index.js.map +1 -1
  121. package/dist/shared/loader.d.ts +22 -0
  122. package/dist/shared/loader.d.ts.map +1 -1
  123. package/dist/shared/loader.js +31 -1
  124. package/dist/shared/loader.js.map +1 -1
  125. package/dist/shared/paths.d.ts +59 -7
  126. package/dist/shared/paths.d.ts.map +1 -1
  127. package/dist/shared/paths.js +93 -11
  128. package/dist/shared/paths.js.map +1 -1
  129. package/dist/shared/refs.d.ts +96 -0
  130. package/dist/shared/refs.d.ts.map +1 -0
  131. package/dist/shared/refs.js +182 -0
  132. package/dist/shared/refs.js.map +1 -0
  133. package/dist/shared/service-id.d.ts +11 -0
  134. package/dist/shared/service-id.d.ts.map +1 -0
  135. package/dist/shared/service-id.js +64 -0
  136. package/dist/shared/service-id.js.map +1 -0
  137. package/dist/shared/tests/paths.test.d.ts +2 -0
  138. package/dist/shared/tests/paths.test.d.ts.map +1 -0
  139. package/dist/shared/tests/paths.test.js +111 -0
  140. package/dist/shared/tests/paths.test.js.map +1 -0
  141. package/dist/shared/tests/refs.test.d.ts +2 -0
  142. package/dist/shared/tests/refs.test.d.ts.map +1 -0
  143. package/dist/shared/tests/refs.test.js +104 -0
  144. package/dist/shared/tests/refs.test.js.map +1 -0
  145. package/dist/shared/types/domain.d.ts +14 -0
  146. package/dist/shared/types/domain.d.ts.map +1 -1
  147. package/dist/shared/types/federation.d.ts +60 -0
  148. package/dist/shared/types/federation.d.ts.map +1 -0
  149. package/dist/shared/types/federation.js +12 -0
  150. package/dist/shared/types/federation.js.map +1 -0
  151. package/package.json +6 -3
  152. package/tools/dkk/claude/agents/dkk-domain-reviewer.md +69 -0
  153. package/tools/dkk/claude/commands/dkk-adr.md +11 -0
  154. package/tools/dkk/claude/commands/dkk-impact.md +34 -0
  155. package/tools/dkk/claude/commands/dkk-implement.md +12 -0
  156. package/tools/dkk/claude/commands/dkk-prime.md +6 -0
  157. package/tools/dkk/claude/commands/dkk-review.md +12 -0
  158. package/tools/dkk/claude/commands/dkk-story.md +12 -0
  159. package/tools/dkk/claude/hooks/post-edit-validate.mjs +51 -0
  160. package/tools/dkk/claude/hooks/pre-edit-block-generated.mjs +39 -0
  161. package/tools/dkk/claude/hooks/session-start-prime.mjs +33 -0
  162. package/tools/dkk/claude/hooks/stop-validate.mjs +48 -0
  163. package/tools/dkk/claude/settings.json +62 -0
  164. package/tools/dkk/claude/skills/dkk-adr-author/SKILL.md +54 -0
  165. package/tools/dkk/claude/skills/dkk-flow-implementer/SKILL.md +51 -0
  166. package/tools/dkk/claude/skills/dkk-story-analyst/SKILL.md +108 -0
  167. package/tools/dkk/schema/actors.schema.json +1 -1
  168. package/tools/dkk/schema/adr-frontmatter.schema.json +4 -4
  169. package/tools/dkk/schema/aggregate.schema.json +1 -1
  170. package/tools/dkk/schema/command.schema.json +1 -1
  171. package/tools/dkk/schema/event.schema.json +1 -1
  172. package/tools/dkk/schema/federation.schema.json +71 -0
  173. package/tools/dkk/schema/glossary.schema.json +1 -1
  174. package/tools/dkk/schema/index.schema.json +2 -2
  175. package/tools/dkk/schema/policy.schema.json +1 -1
  176. package/tools/dkk/schema/read-model.schema.json +1 -1
  177. package/tools/dkk/schema/service.schema.json +30 -0
@@ -17,6 +17,7 @@ import { join, dirname } from "node:path";
17
17
  import { createRequire } from "node:module";
18
18
  import { forEachItem, itemAdrRefs } from "../../shared/item-visitor.js";
19
19
  import { repoRoot } from "../../shared/paths.js";
20
+ import { qualifyItemRef, qualifyActorRef } from "../../shared/refs.js";
20
21
  // better-sqlite3 is a CJS package; use createRequire for ESM interop.
21
22
  const require = createRequire(import.meta.url);
22
23
  const Database = require("better-sqlite3");
@@ -59,6 +60,7 @@ export function buildIndex(model, options = {}) {
59
60
  type,
60
61
  context,
61
62
  name,
63
+ service,
62
64
  tags,
63
65
  text,
64
66
  relations,
@@ -76,8 +78,8 @@ export function buildIndex(model, options = {}) {
76
78
  db.prepare("INSERT INTO domain_meta (key, value) VALUES (?, ?)").run("built_at", new Date().toISOString());
77
79
  // Prepare the insert statement.
78
80
  const insert = db.prepare(`
79
- INSERT INTO domain_fts (id, type, context, name, tags, text, relations, adrRefs)
80
- VALUES (@id, @type, @context, @name, @tags, @text, @relations, @adrRefs)
81
+ INSERT INTO domain_fts (id, type, context, name, service, tags, text, relations, adrRefs)
82
+ VALUES (@id, @type, @context, @name, @service, @tags, @text, @relations, @adrRefs)
81
83
  `);
82
84
  // Wrap all inserts in a single transaction for performance.
83
85
  const insertAll = db.transaction((rows) => {
@@ -95,32 +97,69 @@ export function buildIndex(model, options = {}) {
95
97
  }
96
98
  // ── Row collection ────────────────────────────────────────────────────
97
99
  /**
98
- * Walk the entire domain model and produce one {@link IndexRow} per
99
- * searchable item.
100
+ * Walk the domain model (local + any loaded peers) and produce one
101
+ * {@link IndexRow} per searchable item.
102
+ *
103
+ * Local rows keep the existing id grammar (`<ctx>.<Name>`, `actor.X`,
104
+ * `adr-NNNN`, `flow.X`, `context.X`). Peer rows are prefixed with
105
+ * `<peerService>:` everywhere — including in the `relations` array —
106
+ * so two services sharing an item name don't collide in FTS, and a
107
+ * peer's relations remain traceable as foreign refs.
108
+ *
109
+ * Peer collection is wrapped per-peer; an error in one peer is
110
+ * logged and that peer's rows are skipped rather than aborting the
111
+ * whole index build.
112
+ */
113
+ export function collectRows(model) {
114
+ const localServiceName = model.service?.name ?? "";
115
+ const rows = collectModelRows(model, undefined, localServiceName);
116
+ for (const [peerName, peerModel] of model.peers ?? []) {
117
+ try {
118
+ const peerRows = collectModelRows(peerModel, peerName, peerName);
119
+ rows.push(...peerRows);
120
+ }
121
+ catch (err) {
122
+ const msg = err instanceof Error ? err.message : String(err);
123
+ console.warn(`dkk: skipped indexing peer "${peerName}": ${msg}`);
124
+ }
125
+ }
126
+ return rows;
127
+ }
128
+ /**
129
+ * Collect rows for a single domain model. When `peerPrefix` is set,
130
+ * every emitted `id` (including relation ids) is prefixed with
131
+ * `<peerPrefix>:`. `service` records the source service on each row.
100
132
  */
101
- function collectRows(model) {
133
+ function collectModelRows(model, peerPrefix, service) {
102
134
  const rows = [];
135
+ const pfx = peerPrefix ? `${peerPrefix}:` : "";
136
+ /** Qualify an intra-context name-only ref against this walk's prefix. */
137
+ const rel = (ref, ctxName) => qualifyItemRef(ref, pfx, ctxName).id;
138
+ /** Qualify a bare actor-name ref against this walk's prefix. */
139
+ const actorRel = (ref) => qualifyActorRef(ref, pfx).id;
103
140
  // ── Actors ────────────────────────────────────────────────────────
104
141
  for (const actor of model.actors) {
105
142
  rows.push({
106
- id: `actor.${actor.name}`,
143
+ id: `${pfx}actor.${actor.name}`,
107
144
  type: "actor",
108
145
  context: "",
109
146
  name: actor.name,
147
+ service,
110
148
  tags: actor.type,
111
149
  text: joinText(actor.description, ...(actor.capabilities ?? []), ...(actor.failure_modes ?? [])),
112
150
  relations: "[]",
113
- adrRefs: JSON.stringify(actor.adr_refs ?? []),
151
+ adrRefs: JSON.stringify((actor.adr_refs ?? []).map((r) => `${pfx}${r}`)),
114
152
  });
115
153
  }
116
154
  // ── Bounded contexts & their items ──────────────────────────────
117
155
  for (const [ctxName, ctx] of model.contexts) {
118
156
  // Context itself
119
157
  rows.push({
120
- id: `context.${ctxName}`,
158
+ id: `${pfx}context.${ctxName}`,
121
159
  type: "context",
122
160
  context: ctxName,
123
161
  name: ctxName,
162
+ service,
124
163
  tags: "",
125
164
  text: joinText(ctx.description),
126
165
  relations: "[]",
@@ -128,8 +167,8 @@ function collectRows(model) {
128
167
  });
129
168
  // Glossary, events, commands, policies, aggregates, read models
130
169
  forEachItem(ctx, (type, name, item) => {
131
- const id = `${ctxName}.${name}`;
132
- const adrRefs = JSON.stringify(itemAdrRefs(item) ?? []);
170
+ const id = `${pfx}${ctxName}.${name}`;
171
+ const adrRefs = JSON.stringify((itemAdrRefs(item) ?? []).map((r) => `${pfx}${r}`));
133
172
  switch (type) {
134
173
  case "glossary": {
135
174
  const entry = item;
@@ -139,6 +178,7 @@ function collectRows(model) {
139
178
  type: "glossary",
140
179
  context: ctxName,
141
180
  name: entry.term,
181
+ service,
142
182
  tags: aliases.join(" "),
143
183
  text: joinText(entry.definition, ...aliases),
144
184
  relations: "[]",
@@ -150,12 +190,13 @@ function collectRows(model) {
150
190
  const evt = item;
151
191
  const relIds = [];
152
192
  if (evt.raised_by)
153
- relIds.push(`${ctxName}.${evt.raised_by}`);
193
+ relIds.push(rel(evt.raised_by, ctxName));
154
194
  rows.push({
155
195
  id,
156
196
  type: "event",
157
197
  context: ctxName,
158
198
  name: evt.name,
199
+ service,
159
200
  tags: "",
160
201
  text: joinText(evt.description, fieldsText(evt.fields), ...(evt.invariants ?? [])),
161
202
  relations: JSON.stringify(relIds),
@@ -167,14 +208,15 @@ function collectRows(model) {
167
208
  const cmd = item;
168
209
  const relIds = [];
169
210
  if (cmd.handled_by)
170
- relIds.push(`${ctxName}.${cmd.handled_by}`);
211
+ relIds.push(rel(cmd.handled_by, ctxName));
171
212
  if (cmd.actor)
172
- relIds.push(`actor.${cmd.actor}`);
213
+ relIds.push(actorRel(cmd.actor));
173
214
  rows.push({
174
215
  id,
175
216
  type: "command",
176
217
  context: ctxName,
177
218
  name: cmd.name,
219
+ service,
178
220
  tags: "",
179
221
  text: joinText(cmd.description, fieldsText(cmd.fields), ...(cmd.preconditions ?? []), ...(cmd.rejections ?? [])),
180
222
  relations: JSON.stringify(relIds),
@@ -186,14 +228,15 @@ function collectRows(model) {
186
228
  const pol = item;
187
229
  const relIds = [];
188
230
  for (const t of pol.when?.events ?? [])
189
- relIds.push(`${ctxName}.${t}`);
231
+ relIds.push(rel(t, ctxName));
190
232
  for (const e of pol.then?.commands ?? [])
191
- relIds.push(`${ctxName}.${e}`);
233
+ relIds.push(rel(e, ctxName));
192
234
  rows.push({
193
235
  id,
194
236
  type: "policy",
195
237
  context: ctxName,
196
238
  name: pol.name,
239
+ service,
197
240
  tags: "",
198
241
  text: joinText(pol.description),
199
242
  relations: JSON.stringify(relIds),
@@ -205,14 +248,15 @@ function collectRows(model) {
205
248
  const agg = item;
206
249
  const relIds = [];
207
250
  for (const h of agg.handles?.commands ?? [])
208
- relIds.push(`${ctxName}.${h}`);
251
+ relIds.push(rel(h, ctxName));
209
252
  for (const e of agg.emits?.events ?? [])
210
- relIds.push(`${ctxName}.${e}`);
253
+ relIds.push(rel(e, ctxName));
211
254
  rows.push({
212
255
  id,
213
256
  type: "aggregate",
214
257
  context: ctxName,
215
258
  name: agg.name,
259
+ service,
216
260
  tags: "",
217
261
  text: joinText(agg.description, ...(agg.invariants ?? [])),
218
262
  relations: JSON.stringify(relIds),
@@ -224,14 +268,15 @@ function collectRows(model) {
224
268
  const rm = item;
225
269
  const relIds = [];
226
270
  for (const sub of rm.subscribes_to ?? [])
227
- relIds.push(`${ctxName}.${sub}`);
271
+ relIds.push(rel(sub, ctxName));
228
272
  for (const user of rm.used_by ?? [])
229
- relIds.push(`actor.${user}`);
273
+ relIds.push(actorRel(user));
230
274
  rows.push({
231
275
  id,
232
276
  type: "read_model",
233
277
  context: ctxName,
234
278
  name: rm.name,
279
+ service,
235
280
  tags: "",
236
281
  text: joinText(rm.description, fieldsText(rm.fields)),
237
282
  relations: JSON.stringify(relIds),
@@ -245,15 +290,21 @@ function collectRows(model) {
245
290
  // ── ADRs ──────────────────────────────────────────────────────────
246
291
  for (const [adrId, adr] of model.adrs) {
247
292
  const relIds = [];
248
- for (const ref of adr.domain_refs ?? [])
249
- relIds.push(ref);
250
- if (adr.superseded_by)
251
- relIds.push(adr.superseded_by);
293
+ // domain_refs may already be service-qualified by the author; only
294
+ // add the peer prefix when they are not. (A peer's ADR with a
295
+ // cross-service ref keeps its original form.)
296
+ for (const ref of adr.domain_refs ?? []) {
297
+ relIds.push(ref.includes(":") || !pfx ? ref : `${pfx}${ref}`);
298
+ }
299
+ if (adr.superseded_by) {
300
+ relIds.push(adr.superseded_by.includes(":") || !pfx ? adr.superseded_by : `${pfx}${adr.superseded_by}`);
301
+ }
252
302
  rows.push({
253
- id: adrId,
303
+ id: `${pfx}${adrId}`,
254
304
  type: "adr",
255
305
  context: "",
256
306
  name: adr.title,
307
+ service,
257
308
  tags: adr.status,
258
309
  text: joinText(adr.title, adr.status, adr.deciders?.join(" "), adr.body),
259
310
  relations: JSON.stringify(relIds),
@@ -262,14 +313,18 @@ function collectRows(model) {
262
313
  }
263
314
  // ── Flows ─────────────────────────────────────────────────────────
264
315
  for (const flow of model.index.flows ?? []) {
265
- const stepRefs = flow.steps.map((s) => s.ref);
316
+ const stepRefs = flow.steps.map((s) => {
317
+ const r = s.ref;
318
+ return r.includes(":") || !pfx ? r : `${pfx}${r}`;
319
+ });
266
320
  rows.push({
267
- id: `flow.${flow.name}`,
321
+ id: `${pfx}flow.${flow.name}`,
268
322
  type: "flow",
269
323
  context: "",
270
324
  name: flow.name,
325
+ service,
271
326
  tags: "",
272
- text: joinText(flow.description, ...flow.steps.map((s) => s.ref)),
327
+ text: joinText(flow.description, ...stepRefs),
273
328
  relations: JSON.stringify(stepRefs),
274
329
  adrRefs: "[]",
275
330
  });
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../../src/features/pipeline/indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../../src/features/pipeline/indexer.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,16 @@ export interface ValidatorOptions {
30
30
  * `fields` array defined. Default: `false`.
31
31
  */
32
32
  warnMissingFields?: boolean;
33
+ /**
34
+ * Federation strictness for cross-service refs.
35
+ *
36
+ * - `"lenient"` (default): unreachable peers and refs to
37
+ * non-exported items are warnings, not errors. Suitable for the
38
+ * inner dev loop where a peer may not yet be cloned/pulled.
39
+ * - `"strict"`: those become errors instead. Suitable for CI
40
+ * gates that must guarantee every cross-service ref resolves.
41
+ */
42
+ federation?: "lenient" | "strict";
33
43
  }
34
44
  /**
35
45
  * Validate a loaded {@link DomainModel}.
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/features/pipeline/validator.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,WAAW,EAMZ,MAAM,8BAA8B,CAAC;AAatC,wCAAwC;AACxC,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAE3C,mCAAmC;AACnC,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,QAAQ,EAAE,QAAQ,CAAC;IACnB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,kCAAkC;AAClC,MAAM,WAAW,gBAAgB;IAC/B,yDAAyD;IACzD,KAAK,EAAE,OAAO,CAAC;IACf,4CAA4C;IAC5C,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,gDAAgD;AAChD,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAyWD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,gBAAqB,GAC7B,gBAAgB,CAgBlB"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/features/pipeline/validator.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,WAAW,EAMZ,MAAM,8BAA8B,CAAC;AActC,wCAAwC;AACxC,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAE3C,mCAAmC;AACnC,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,QAAQ,EAAE,QAAQ,CAAC;IACnB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,kCAAkC;AAClC,MAAM,WAAW,gBAAgB;IAC/B,yDAAyD;IACzD,KAAK,EAAE,OAAO,CAAC;IACf,4CAA4C;IAC5C,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,gDAAgD;AAChD,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CACnC;AAqrBD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,gBAAqB,GAC7B,gBAAgB,CAgBlB"}