domain-knowledge-kit 0.2.15 → 0.2.19
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/README.md +4 -0
- package/dist/cli.js +24 -1
- package/dist/cli.js.map +1 -1
- package/dist/features/agent/commands/init.d.ts +90 -1
- package/dist/features/agent/commands/init.d.ts.map +1 -1
- package/dist/features/agent/commands/init.js +328 -32
- package/dist/features/agent/commands/init.js.map +1 -1
- package/dist/features/agent/commands/prime.d.ts +11 -0
- package/dist/features/agent/commands/prime.d.ts.map +1 -1
- package/dist/features/agent/commands/prime.js +105 -8
- package/dist/features/agent/commands/prime.js.map +1 -1
- package/dist/features/agent/commands/update.d.ts +27 -0
- package/dist/features/agent/commands/update.d.ts.map +1 -0
- package/dist/features/agent/commands/update.js +316 -0
- package/dist/features/agent/commands/update.js.map +1 -0
- package/dist/features/agent/dkk-artifacts.d.ts +76 -0
- package/dist/features/agent/dkk-artifacts.d.ts.map +1 -0
- package/dist/features/agent/dkk-artifacts.js +328 -0
- package/dist/features/agent/dkk-artifacts.js.map +1 -0
- package/dist/features/agent/install-mode.d.ts +34 -0
- package/dist/features/agent/install-mode.d.ts.map +1 -0
- package/dist/features/agent/install-mode.js +78 -0
- package/dist/features/agent/install-mode.js.map +1 -0
- package/dist/features/agent/mcp-register.d.ts +20 -0
- package/dist/features/agent/mcp-register.d.ts.map +1 -0
- package/dist/features/agent/mcp-register.js +116 -0
- package/dist/features/agent/mcp-register.js.map +1 -0
- package/dist/features/agent/settings-prune.d.ts +29 -0
- package/dist/features/agent/settings-prune.d.ts.map +1 -0
- package/dist/features/agent/settings-prune.js +70 -0
- package/dist/features/agent/settings-prune.js.map +1 -0
- package/dist/features/agent/tests/settings-prune.test.d.ts +2 -0
- package/dist/features/agent/tests/settings-prune.test.d.ts.map +1 -0
- package/dist/features/agent/tests/settings-prune.test.js +118 -0
- package/dist/features/agent/tests/settings-prune.test.js.map +1 -0
- package/dist/features/federation/commands/consumers.d.ts +40 -0
- package/dist/features/federation/commands/consumers.d.ts.map +1 -0
- package/dist/features/federation/commands/consumers.js +126 -0
- package/dist/features/federation/commands/consumers.js.map +1 -0
- package/dist/features/federation/commands/peers-add.d.ts +14 -0
- package/dist/features/federation/commands/peers-add.d.ts.map +1 -0
- package/dist/features/federation/commands/peers-add.js +79 -0
- package/dist/features/federation/commands/peers-add.js.map +1 -0
- package/dist/features/federation/commands/peers-list.d.ts +8 -0
- package/dist/features/federation/commands/peers-list.d.ts.map +1 -0
- package/dist/features/federation/commands/peers-list.js +51 -0
- package/dist/features/federation/commands/peers-list.js.map +1 -0
- package/dist/features/federation/commands/peers-status.d.ts +8 -0
- package/dist/features/federation/commands/peers-status.d.ts.map +1 -0
- package/dist/features/federation/commands/peers-status.js +78 -0
- package/dist/features/federation/commands/peers-status.js.map +1 -0
- package/dist/features/federation/commands/pull.d.ts +18 -0
- package/dist/features/federation/commands/pull.d.ts.map +1 -0
- package/dist/features/federation/commands/pull.js +153 -0
- package/dist/features/federation/commands/pull.js.map +1 -0
- package/dist/features/federation/git-fetcher.d.ts +45 -0
- package/dist/features/federation/git-fetcher.d.ts.map +1 -0
- package/dist/features/federation/git-fetcher.js +70 -0
- package/dist/features/federation/git-fetcher.js.map +1 -0
- package/dist/features/federation/loader.d.ts +60 -0
- package/dist/features/federation/loader.d.ts.map +1 -0
- package/dist/features/federation/loader.js +193 -0
- package/dist/features/federation/loader.js.map +1 -0
- package/dist/features/federation/lock.d.ts +12 -0
- package/dist/features/federation/lock.d.ts.map +1 -0
- package/dist/features/federation/lock.js +48 -0
- package/dist/features/federation/lock.js.map +1 -0
- package/dist/features/federation/tests/git-fetcher.test.d.ts +2 -0
- package/dist/features/federation/tests/git-fetcher.test.d.ts.map +1 -0
- package/dist/features/federation/tests/git-fetcher.test.js +167 -0
- package/dist/features/federation/tests/git-fetcher.test.js.map +1 -0
- package/dist/features/federation/tests/loader.test.d.ts +2 -0
- package/dist/features/federation/tests/loader.test.d.ts.map +1 -0
- package/dist/features/federation/tests/loader.test.js +144 -0
- package/dist/features/federation/tests/loader.test.js.map +1 -0
- package/dist/features/federation/tests/phase5.test.d.ts +2 -0
- package/dist/features/federation/tests/phase5.test.d.ts.map +1 -0
- package/dist/features/federation/tests/phase5.test.js +137 -0
- package/dist/features/federation/tests/phase5.test.js.map +1 -0
- package/dist/features/federation/tests/schema-load.test.d.ts +2 -0
- package/dist/features/federation/tests/schema-load.test.d.ts.map +1 -0
- package/dist/features/federation/tests/schema-load.test.js +97 -0
- package/dist/features/federation/tests/schema-load.test.js.map +1 -0
- package/dist/features/federation/tests/validator.test.d.ts +2 -0
- package/dist/features/federation/tests/validator.test.d.ts.map +1 -0
- package/dist/features/federation/tests/validator.test.js +319 -0
- package/dist/features/federation/tests/validator.test.js.map +1 -0
- package/dist/features/mcp/commands/serve.d.ts +10 -0
- package/dist/features/mcp/commands/serve.d.ts.map +1 -0
- package/dist/features/mcp/commands/serve.js +12 -0
- package/dist/features/mcp/commands/serve.js.map +1 -0
- package/dist/features/mcp/server.d.ts +15 -0
- package/dist/features/mcp/server.d.ts.map +1 -0
- package/dist/features/mcp/server.js +438 -0
- package/dist/features/mcp/server.js.map +1 -0
- package/dist/features/pipeline/commands/validate.d.ts.map +1 -1
- package/dist/features/pipeline/commands/validate.js +7 -0
- package/dist/features/pipeline/commands/validate.js.map +1 -1
- package/dist/features/pipeline/indexer.d.ts +28 -2
- package/dist/features/pipeline/indexer.d.ts.map +1 -1
- package/dist/features/pipeline/indexer.js +82 -27
- package/dist/features/pipeline/indexer.js.map +1 -1
- package/dist/features/pipeline/validator.d.ts +10 -0
- package/dist/features/pipeline/validator.d.ts.map +1 -1
- package/dist/features/pipeline/validator.js +274 -27
- package/dist/features/pipeline/validator.js.map +1 -1
- package/dist/features/query/commands/list.d.ts +10 -0
- package/dist/features/query/commands/list.d.ts.map +1 -1
- package/dist/features/query/commands/list.js +1 -1
- package/dist/features/query/commands/list.js.map +1 -1
- package/dist/features/query/commands/locate.d.ts +1 -0
- package/dist/features/query/commands/locate.d.ts.map +1 -1
- package/dist/features/query/commands/locate.js +1 -1
- package/dist/features/query/commands/locate.js.map +1 -1
- package/dist/features/query/commands/search.d.ts.map +1 -1
- package/dist/features/query/commands/search.js +2 -0
- package/dist/features/query/commands/search.js.map +1 -1
- package/dist/features/query/commands/show.d.ts +15 -0
- package/dist/features/query/commands/show.d.ts.map +1 -1
- package/dist/features/query/commands/show.js +116 -58
- package/dist/features/query/commands/show.js.map +1 -1
- package/dist/features/query/commands/story.d.ts +70 -0
- package/dist/features/query/commands/story.d.ts.map +1 -1
- package/dist/features/query/commands/story.js +2 -2
- package/dist/features/query/commands/story.js.map +1 -1
- package/dist/features/query/commands/summary.d.ts +3 -0
- package/dist/features/query/commands/summary.d.ts.map +1 -1
- package/dist/features/query/commands/summary.js +1 -1
- package/dist/features/query/commands/summary.js.map +1 -1
- package/dist/features/query/searcher.d.ts +18 -1
- package/dist/features/query/searcher.d.ts.map +1 -1
- package/dist/features/query/searcher.js +11 -2
- package/dist/features/query/searcher.js.map +1 -1
- package/dist/features/scaffold/commands/new-domain.d.ts +22 -0
- package/dist/features/scaffold/commands/new-domain.d.ts.map +1 -1
- package/dist/features/scaffold/commands/new-domain.js +44 -28
- package/dist/features/scaffold/commands/new-domain.js.map +1 -1
- package/dist/features/scaffold/commands/service-init.d.ts +12 -0
- package/dist/features/scaffold/commands/service-init.d.ts.map +1 -0
- package/dist/features/scaffold/commands/service-init.js +69 -0
- package/dist/features/scaffold/commands/service-init.js.map +1 -0
- package/dist/shared/graph.d.ts +8 -0
- package/dist/shared/graph.d.ts.map +1 -1
- package/dist/shared/graph.js +180 -112
- package/dist/shared/graph.js.map +1 -1
- package/dist/shared/index.d.ts +4 -1
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +6 -1
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/loader.d.ts +22 -0
- package/dist/shared/loader.d.ts.map +1 -1
- package/dist/shared/loader.js +31 -1
- package/dist/shared/loader.js.map +1 -1
- package/dist/shared/paths.d.ts +59 -7
- package/dist/shared/paths.d.ts.map +1 -1
- package/dist/shared/paths.js +93 -11
- package/dist/shared/paths.js.map +1 -1
- package/dist/shared/refs.d.ts +96 -0
- package/dist/shared/refs.d.ts.map +1 -0
- package/dist/shared/refs.js +182 -0
- package/dist/shared/refs.js.map +1 -0
- package/dist/shared/service-id.d.ts +11 -0
- package/dist/shared/service-id.d.ts.map +1 -0
- package/dist/shared/service-id.js +64 -0
- package/dist/shared/service-id.js.map +1 -0
- package/dist/shared/tests/paths.test.d.ts +2 -0
- package/dist/shared/tests/paths.test.d.ts.map +1 -0
- package/dist/shared/tests/paths.test.js +111 -0
- package/dist/shared/tests/paths.test.js.map +1 -0
- package/dist/shared/tests/refs.test.d.ts +2 -0
- package/dist/shared/tests/refs.test.d.ts.map +1 -0
- package/dist/shared/tests/refs.test.js +104 -0
- package/dist/shared/tests/refs.test.js.map +1 -0
- package/dist/shared/types/domain.d.ts +14 -0
- package/dist/shared/types/domain.d.ts.map +1 -1
- package/dist/shared/types/federation.d.ts +60 -0
- package/dist/shared/types/federation.d.ts.map +1 -0
- package/dist/shared/types/federation.js +12 -0
- package/dist/shared/types/federation.js.map +1 -0
- package/dist/version.d.ts +4 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +15 -0
- package/dist/version.js.map +1 -0
- package/package.json +8 -5
- package/tools/dkk/claude/agents/dkk-domain-reviewer.md +69 -0
- package/tools/dkk/claude/commands/dkk-adr.md +11 -0
- package/tools/dkk/claude/commands/dkk-impact.md +34 -0
- package/tools/dkk/claude/commands/dkk-implement.md +12 -0
- package/tools/dkk/claude/commands/dkk-prime.md +6 -0
- package/tools/dkk/claude/commands/dkk-review.md +12 -0
- package/tools/dkk/claude/commands/dkk-story.md +12 -0
- package/tools/dkk/claude/hooks/post-edit-validate.mjs +68 -0
- package/tools/dkk/claude/hooks/pre-edit-block-generated.mjs +39 -0
- package/tools/dkk/claude/hooks/session-start-prime.mjs +20 -0
- package/tools/dkk/claude/hooks/stop-validate.mjs +67 -0
- package/tools/dkk/claude/settings.json +62 -0
- package/tools/dkk/claude/skills/dkk-adr-author/SKILL.md +54 -0
- package/tools/dkk/claude/skills/dkk-flow-implementer/SKILL.md +51 -0
- package/tools/dkk/claude/skills/dkk-story-analyst/SKILL.md +108 -0
- package/tools/dkk/schema/actors.schema.json +1 -1
- package/tools/dkk/schema/adr-frontmatter.schema.json +4 -4
- package/tools/dkk/schema/aggregate.schema.json +1 -1
- package/tools/dkk/schema/command.schema.json +1 -1
- package/tools/dkk/schema/event.schema.json +1 -1
- package/tools/dkk/schema/federation.schema.json +71 -0
- package/tools/dkk/schema/glossary.schema.json +1 -1
- package/tools/dkk/schema/index.schema.json +2 -2
- package/tools/dkk/schema/policy.schema.json +1 -1
- package/tools/dkk/schema/read-model.schema.json +1 -1
- package/tools/dkk/schema/service.schema.json +30 -0
package/dist/shared/graph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/shared/graph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/shared/graph.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/index.d.ts
CHANGED
|
@@ -6,10 +6,13 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export * from "./types/domain.js";
|
|
8
8
|
export * from "./types/index.js";
|
|
9
|
+
export * from "./types/federation.js";
|
|
9
10
|
export { type ItemType, type AnyDomainItem, ITEM_TYPES, itemName, itemDescription, itemAdrRefs, forEachItem, mapItems, } from "./item-visitor.js";
|
|
10
11
|
export { loadDomainModel, type LoaderOptions } from "./loader.js";
|
|
11
12
|
export { DomainGraph, type NodeKind, type GraphNode, type GraphEdge } from "./graph.js";
|
|
12
|
-
export { repoRoot, packageRoot, domainDir, contextsDir, actorsFile, indexFile, adrDir, docsDir, templatesDir, schemaDir, repoRelative, } from "./paths.js";
|
|
13
|
+
export { repoRoot, findDkkRoot, packageRoot, domainDir, contextsDir, actorsFile, indexFile, adrDir, docsDir, templatesDir, schemaDir, repoRelative, serviceFile, federationFile, federationLockFile, importsDir, importedServiceDir, } from "./paths.js";
|
|
14
|
+
export { parseRef, formatRef, qualifyItemRef, qualifyActorRef, type ParsedRef, type QualifiedRef, } from "./refs.js";
|
|
15
|
+
export { loadServiceId } from "./service-id.js";
|
|
13
16
|
export { parseYaml, stringifyYaml } from "./yaml.js";
|
|
14
17
|
export { parseAdrFrontmatter, parseAdrFile } from "./adr-parser.js";
|
|
15
18
|
export { formatCliError, isYAMLException, isNodeSystemError } from "./errors.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,UAAU,EACV,QAAQ,EACR,eAAe,EACf,WAAW,EACX,WAAW,EACX,QAAQ,GACT,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAGlE,OAAO,EAAE,WAAW,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAGxF,OAAO,EACL,QAAQ,EACR,WAAW,EACX,WAAW,EACX,SAAS,EACT,WAAW,EACX,UAAU,EACV,SAAS,EACT,MAAM,EACN,OAAO,EACP,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,QAAQ,EACR,SAAS,EACT,cAAc,EACd,eAAe,EACf,KAAK,SAAS,EACd,KAAK,YAAY,GAClB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAGrD,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/shared/index.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
// ── Types ─────────────────────────────────────────────────────────────
|
|
8
8
|
export * from "./types/domain.js";
|
|
9
9
|
export * from "./types/index.js";
|
|
10
|
+
export * from "./types/federation.js";
|
|
10
11
|
// ── Item visitor ──────────────────────────────────────────────────────
|
|
11
12
|
export { ITEM_TYPES, itemName, itemDescription, itemAdrRefs, forEachItem, mapItems, } from "./item-visitor.js";
|
|
12
13
|
// ── Loader ────────────────────────────────────────────────────────────
|
|
@@ -14,7 +15,11 @@ export { loadDomainModel } from "./loader.js";
|
|
|
14
15
|
// ── Graph ─────────────────────────────────────────────────────────────
|
|
15
16
|
export { DomainGraph } from "./graph.js";
|
|
16
17
|
// ── Path helpers ──────────────────────────────────────────────────────
|
|
17
|
-
export { repoRoot, packageRoot, domainDir, contextsDir, actorsFile, indexFile, adrDir, docsDir, templatesDir, schemaDir, repoRelative, } from "./paths.js";
|
|
18
|
+
export { repoRoot, findDkkRoot, packageRoot, domainDir, contextsDir, actorsFile, indexFile, adrDir, docsDir, templatesDir, schemaDir, repoRelative, serviceFile, federationFile, federationLockFile, importsDir, importedServiceDir, } from "./paths.js";
|
|
19
|
+
// ── Refs ──────────────────────────────────────────────────────────────
|
|
20
|
+
export { parseRef, formatRef, qualifyItemRef, qualifyActorRef, } from "./refs.js";
|
|
21
|
+
// ── Service identity ──────────────────────────────────────────────────
|
|
22
|
+
export { loadServiceId } from "./service-id.js";
|
|
18
23
|
// ── YAML helpers ──────────────────────────────────────────────────────
|
|
19
24
|
export { parseYaml, stringifyYaml } from "./yaml.js";
|
|
20
25
|
// ── ADR parser ────────────────────────────────────────────────────────
|
package/dist/shared/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,yEAAyE;AACzE,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,yEAAyE;AACzE,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AAEtC,yEAAyE;AACzE,OAAO,EAGL,UAAU,EACV,QAAQ,EACR,eAAe,EACf,WAAW,EACX,WAAW,EACX,QAAQ,GACT,MAAM,mBAAmB,CAAC;AAE3B,yEAAyE;AACzE,OAAO,EAAE,eAAe,EAAsB,MAAM,aAAa,CAAC;AAElE,yEAAyE;AACzE,OAAO,EAAE,WAAW,EAAiD,MAAM,YAAY,CAAC;AAExF,yEAAyE;AACzE,OAAO,EACL,QAAQ,EACR,WAAW,EACX,WAAW,EACX,SAAS,EACT,WAAW,EACX,UAAU,EACV,SAAS,EACT,MAAM,EACN,OAAO,EACP,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,yEAAyE;AACzE,OAAO,EACL,QAAQ,EACR,SAAS,EACT,cAAc,EACd,eAAe,GAGhB,MAAM,WAAW,CAAC;AAEnB,yEAAyE;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,yEAAyE;AACzE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAErD,yEAAyE;AACzE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpE,yEAAyE;AACzE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/shared/loader.d.ts
CHANGED
|
@@ -1,8 +1,30 @@
|
|
|
1
1
|
import type { DomainModel } from "./types/domain.js";
|
|
2
|
+
/**
|
|
3
|
+
* Federation-hook signature. Implementations receive the resolved
|
|
4
|
+
* `root` and the already-built local `DomainModel`, and may mutate
|
|
5
|
+
* `model.peers` in place. Errors thrown by the hook are caught and
|
|
6
|
+
* logged as warnings — the local model still loads.
|
|
7
|
+
*/
|
|
8
|
+
export type FederationHook = (root: string | undefined, model: DomainModel) => void;
|
|
9
|
+
/**
|
|
10
|
+
* Register a federation hook. Called once at module-init time by the
|
|
11
|
+
* federation slice. Passing `undefined` clears the hook (intended for
|
|
12
|
+
* tests).
|
|
13
|
+
*/
|
|
14
|
+
export declare function setFederationHook(hook: FederationHook | undefined): void;
|
|
2
15
|
/** Options for the loader. */
|
|
3
16
|
export interface LoaderOptions {
|
|
4
17
|
/** Override repository root (default: auto-detected). */
|
|
5
18
|
root?: string;
|
|
19
|
+
/**
|
|
20
|
+
* When `false`, skip federation hydration — `model.peers` will not be
|
|
21
|
+
* populated even if `.dkk/federation.yml` exists. Used when loading a
|
|
22
|
+
* peer's own model (one level deep, no transitive peers) and by
|
|
23
|
+
* callers that want a pure local view.
|
|
24
|
+
*
|
|
25
|
+
* Default: `true` (federation runs when a manifest is present).
|
|
26
|
+
*/
|
|
27
|
+
followPeers?: boolean;
|
|
6
28
|
}
|
|
7
29
|
/**
|
|
8
30
|
* Load the complete domain model from disk.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/shared/loader.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAKV,WAAW,EAOZ,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/shared/loader.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAKV,WAAW,EAOZ,MAAM,mBAAmB,CAAC;AAuB3B;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAIpF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,CAExE;AAyGD,8BAA8B;AAC9B,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,aAAkB,GAAG,WAAW,CAuDxE"}
|
package/dist/shared/loader.js
CHANGED
|
@@ -20,6 +20,16 @@ import { join, basename, extname } from "node:path";
|
|
|
20
20
|
import { parseYaml } from "./yaml.js";
|
|
21
21
|
import { parseAdrFile } from "./adr-parser.js";
|
|
22
22
|
import { actorsFile, contextsDir, indexFile, adrDir, } from "./paths.js";
|
|
23
|
+
import { loadServiceId } from "./service-id.js";
|
|
24
|
+
let federationHook;
|
|
25
|
+
/**
|
|
26
|
+
* Register a federation hook. Called once at module-init time by the
|
|
27
|
+
* federation slice. Passing `undefined` clears the hook (intended for
|
|
28
|
+
* tests).
|
|
29
|
+
*/
|
|
30
|
+
export function setFederationHook(hook) {
|
|
31
|
+
federationHook = hook;
|
|
32
|
+
}
|
|
23
33
|
// ── Helpers ───────────────────────────────────────────────────────────
|
|
24
34
|
/** Read a YAML file and parse it into `T`. */
|
|
25
35
|
function loadYaml(filePath) {
|
|
@@ -156,11 +166,31 @@ export function loadDomainModel(options = {}) {
|
|
|
156
166
|
adrs.set(record.id, record);
|
|
157
167
|
}
|
|
158
168
|
}
|
|
159
|
-
|
|
169
|
+
// 5. Service identity (federation Phase 1 — optional)
|
|
170
|
+
const service = loadServiceId(root) ?? undefined;
|
|
171
|
+
const model = {
|
|
160
172
|
index,
|
|
161
173
|
actors: actorsData.actors ?? [],
|
|
162
174
|
contexts,
|
|
163
175
|
adrs,
|
|
164
176
|
};
|
|
177
|
+
if (service)
|
|
178
|
+
model.service = service;
|
|
179
|
+
// 6. Federation peers (Phase 2 — optional, one level deep).
|
|
180
|
+
// The federation slice registers itself via `setFederationHook` at
|
|
181
|
+
// module-init time. The hook is suppressed via `followPeers: false`
|
|
182
|
+
// when this loader is itself invoked from inside the federation
|
|
183
|
+
// slice (loading a peer's own model). That keeps peer-of-peer
|
|
184
|
+
// transitivity off without any cycle detection.
|
|
185
|
+
if (options.followPeers !== false && federationHook) {
|
|
186
|
+
try {
|
|
187
|
+
federationHook(root, model);
|
|
188
|
+
}
|
|
189
|
+
catch (err) {
|
|
190
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
191
|
+
console.warn(`dkk: federation load failed: ${msg}`);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return model;
|
|
165
195
|
}
|
|
166
196
|
//# sourceMappingURL=loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/shared/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,UAAU,EACV,WAAW,EACX,SAAS,EACT,MAAM,GACP,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/shared/loader.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/paths.d.ts
CHANGED
|
@@ -1,22 +1,52 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Resolve the DKK package installation root.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Computed from `import.meta.url` via `fileURLToPath` instead of
|
|
5
|
+
* `import.meta.dirname` because the latter is undefined under tsx
|
|
6
|
+
* when this module is loaded transitively via `createRequire` (used
|
|
7
|
+
* by the loader's federation hydration). `fileURLToPath(import.meta.url)`
|
|
8
|
+
* works in all loading paths.
|
|
9
|
+
*
|
|
10
|
+
* Running from source (`tsx src/cli.ts`) → resolves to `src/shared`.
|
|
11
|
+
* Running from the compiled output (`dist/shared/`) → `dist/shared`.
|
|
12
|
+
* Both cases go up two levels to reach the package root.
|
|
7
13
|
*
|
|
8
14
|
* Used exclusively for locating package-bundled assets (schemas,
|
|
9
15
|
* templates).
|
|
10
16
|
*/
|
|
11
17
|
export declare function packageRoot(): string;
|
|
18
|
+
/**
|
|
19
|
+
* Walk up the directory tree from `from`, returning the first ancestor
|
|
20
|
+
* that contains a `.dkk/` directory. Returns `null` when none is found.
|
|
21
|
+
*
|
|
22
|
+
* Capped at 64 iterations as a defensive measure against pathological
|
|
23
|
+
* filesystems; normal trees terminate at `/` well before that. The
|
|
24
|
+
* `from` path is resolved to an absolute path before searching.
|
|
25
|
+
*
|
|
26
|
+
* Exposed separately from {@link repoRoot} so other tools (e.g. a
|
|
27
|
+
* future `dkk doctor`) can reuse the search without inheriting
|
|
28
|
+
* `repoRoot`'s override/fallback semantics.
|
|
29
|
+
*/
|
|
30
|
+
export declare function findDkkRoot(from: string): string | null;
|
|
12
31
|
/**
|
|
13
32
|
* Resolve the project root (where `.dkk/` lives).
|
|
14
33
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
34
|
+
* Resolution order:
|
|
35
|
+
* 1. Explicit `override` (the `--root` CLI flag) — used verbatim,
|
|
36
|
+
* no walk-up. This preserves the contract for callers that pass
|
|
37
|
+
* an absolute root and expect it to be used as-is (including
|
|
38
|
+
* pointing at a fresh directory that has no `.dkk/` yet).
|
|
39
|
+
* 2. Walk-up search via {@link findDkkRoot}: if `cwd/.dkk/` exists,
|
|
40
|
+
* return `cwd`. Otherwise walk up the directory tree to the
|
|
41
|
+
* first ancestor containing a `.dkk/`. This makes DKK usable
|
|
42
|
+
* from any sub-directory of a service repo (including monorepos
|
|
43
|
+
* where services live under `services/<name>/`).
|
|
44
|
+
* 3. Fallback: if no `.dkk/` is found on the walk-up path, return
|
|
45
|
+
* `process.cwd()` (matches the historical behaviour, so that
|
|
46
|
+
* scaffold commands which create `.dkk/` in cwd still work).
|
|
17
47
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
48
|
+
* The walk-up can be disabled with `DKK_DISABLE_WALKUP=1` for callers
|
|
49
|
+
* who want the strict legacy behaviour.
|
|
20
50
|
*/
|
|
21
51
|
export declare function repoRoot(override?: string): string;
|
|
22
52
|
/** Absolute path to the `.dkk/domain/` directory. */
|
|
@@ -52,9 +82,31 @@ export declare function schemaDir(): string;
|
|
|
52
82
|
* Used by `dkk init --skills` to copy skill files into a user's project.
|
|
53
83
|
*/
|
|
54
84
|
export declare function packageSkillsDir(): string;
|
|
85
|
+
/**
|
|
86
|
+
* Absolute path to the `tools/dkk/claude/` directory bundled inside the
|
|
87
|
+
* DKK package installation.
|
|
88
|
+
*
|
|
89
|
+
* Holds the Claude Code config template (`settings.json` + hook scripts)
|
|
90
|
+
* used by `dkk init --claude` to scaffold AI-assistant integration in
|
|
91
|
+
* a consumer's repo.
|
|
92
|
+
*/
|
|
93
|
+
export declare function packageClaudeDir(): string;
|
|
55
94
|
/**
|
|
56
95
|
* Turn an absolute path into a repo-relative POSIX path
|
|
57
96
|
* (forward slashes, no leading `./`).
|
|
58
97
|
*/
|
|
59
98
|
export declare function repoRelative(absPath: string, root?: string): string;
|
|
99
|
+
/** Absolute path to `.dkk/service.yml` (service identity manifest). */
|
|
100
|
+
export declare function serviceFile(root?: string): string;
|
|
101
|
+
/** Absolute path to `.dkk/federation.yml` (peer manifest). */
|
|
102
|
+
export declare function federationFile(root?: string): string;
|
|
103
|
+
/** Absolute path to `.dkk/federation.lock.json` (pinned peer SHAs). */
|
|
104
|
+
export declare function federationLockFile(root?: string): string;
|
|
105
|
+
/** Absolute path to `.dkk/imports/` (gitignored peer cache root). */
|
|
106
|
+
export declare function importsDir(root?: string): string;
|
|
107
|
+
/**
|
|
108
|
+
* Absolute path to a single peer's cached repo root under `.dkk/imports/<service>/`.
|
|
109
|
+
* The peer's `.dkk/` lives at `<importedServiceDir>/.dkk/`.
|
|
110
|
+
*/
|
|
111
|
+
export declare function importedServiceDir(service: string, root?: string): string;
|
|
60
112
|
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWvD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAUlD;AAED,qDAAqD;AACrD,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,gDAAgD;AAChD,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,iDAAiD;AACjD,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,gDAAgD;AAChD,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,oCAAoC;AACpC,wBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,uDAAuD;AACvD,wBAAgB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnE;AAID,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,8DAA8D;AAC9D,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzE"}
|
package/dist/shared/paths.js
CHANGED
|
@@ -11,34 +11,81 @@
|
|
|
11
11
|
* resolve from `import.meta.dirname` relative to the DKK package
|
|
12
12
|
* install. Schemas and Handlebars templates ship with the package.
|
|
13
13
|
*/
|
|
14
|
-
import { resolve, join, relative } from "node:path";
|
|
14
|
+
import { resolve, join, relative, dirname } from "node:path";
|
|
15
|
+
import { existsSync } from "node:fs";
|
|
16
|
+
import { fileURLToPath } from "node:url";
|
|
15
17
|
/**
|
|
16
18
|
* Resolve the DKK package installation root.
|
|
17
19
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
20
|
+
* Computed from `import.meta.url` via `fileURLToPath` instead of
|
|
21
|
+
* `import.meta.dirname` because the latter is undefined under tsx
|
|
22
|
+
* when this module is loaded transitively via `createRequire` (used
|
|
23
|
+
* by the loader's federation hydration). `fileURLToPath(import.meta.url)`
|
|
24
|
+
* works in all loading paths.
|
|
25
|
+
*
|
|
26
|
+
* Running from source (`tsx src/cli.ts`) → resolves to `src/shared`.
|
|
27
|
+
* Running from the compiled output (`dist/shared/`) → `dist/shared`.
|
|
28
|
+
* Both cases go up two levels to reach the package root.
|
|
21
29
|
*
|
|
22
30
|
* Used exclusively for locating package-bundled assets (schemas,
|
|
23
31
|
* templates).
|
|
24
32
|
*/
|
|
25
33
|
export function packageRoot() {
|
|
26
|
-
|
|
27
|
-
|
|
34
|
+
return resolve(dirname(fileURLToPath(import.meta.url)), "../..");
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Walk up the directory tree from `from`, returning the first ancestor
|
|
38
|
+
* that contains a `.dkk/` directory. Returns `null` when none is found.
|
|
39
|
+
*
|
|
40
|
+
* Capped at 64 iterations as a defensive measure against pathological
|
|
41
|
+
* filesystems; normal trees terminate at `/` well before that. The
|
|
42
|
+
* `from` path is resolved to an absolute path before searching.
|
|
43
|
+
*
|
|
44
|
+
* Exposed separately from {@link repoRoot} so other tools (e.g. a
|
|
45
|
+
* future `dkk doctor`) can reuse the search without inheriting
|
|
46
|
+
* `repoRoot`'s override/fallback semantics.
|
|
47
|
+
*/
|
|
48
|
+
export function findDkkRoot(from) {
|
|
49
|
+
let current = resolve(from);
|
|
50
|
+
for (let i = 0; i < 64; i++) {
|
|
51
|
+
if (existsSync(join(current, ".dkk"))) {
|
|
52
|
+
return current;
|
|
53
|
+
}
|
|
54
|
+
const parent = dirname(current);
|
|
55
|
+
if (parent === current)
|
|
56
|
+
return null;
|
|
57
|
+
current = parent;
|
|
58
|
+
}
|
|
59
|
+
return null;
|
|
28
60
|
}
|
|
29
61
|
/**
|
|
30
62
|
* Resolve the project root (where `.dkk/` lives).
|
|
31
63
|
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
64
|
+
* Resolution order:
|
|
65
|
+
* 1. Explicit `override` (the `--root` CLI flag) — used verbatim,
|
|
66
|
+
* no walk-up. This preserves the contract for callers that pass
|
|
67
|
+
* an absolute root and expect it to be used as-is (including
|
|
68
|
+
* pointing at a fresh directory that has no `.dkk/` yet).
|
|
69
|
+
* 2. Walk-up search via {@link findDkkRoot}: if `cwd/.dkk/` exists,
|
|
70
|
+
* return `cwd`. Otherwise walk up the directory tree to the
|
|
71
|
+
* first ancestor containing a `.dkk/`. This makes DKK usable
|
|
72
|
+
* from any sub-directory of a service repo (including monorepos
|
|
73
|
+
* where services live under `services/<name>/`).
|
|
74
|
+
* 3. Fallback: if no `.dkk/` is found on the walk-up path, return
|
|
75
|
+
* `process.cwd()` (matches the historical behaviour, so that
|
|
76
|
+
* scaffold commands which create `.dkk/` in cwd still work).
|
|
34
77
|
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
78
|
+
* The walk-up can be disabled with `DKK_DISABLE_WALKUP=1` for callers
|
|
79
|
+
* who want the strict legacy behaviour.
|
|
37
80
|
*/
|
|
38
81
|
export function repoRoot(override) {
|
|
39
82
|
if (override)
|
|
40
83
|
return resolve(override);
|
|
41
|
-
|
|
84
|
+
const cwd = resolve(process.cwd());
|
|
85
|
+
if (process.env.DKK_DISABLE_WALKUP === "1") {
|
|
86
|
+
return cwd;
|
|
87
|
+
}
|
|
88
|
+
return findDkkRoot(cwd) ?? cwd;
|
|
42
89
|
}
|
|
43
90
|
/** Absolute path to the `.dkk/domain/` directory. */
|
|
44
91
|
export function domainDir(root) {
|
|
@@ -91,6 +138,17 @@ export function schemaDir() {
|
|
|
91
138
|
export function packageSkillsDir() {
|
|
92
139
|
return join(packageRoot(), ".github", "skills");
|
|
93
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* Absolute path to the `tools/dkk/claude/` directory bundled inside the
|
|
143
|
+
* DKK package installation.
|
|
144
|
+
*
|
|
145
|
+
* Holds the Claude Code config template (`settings.json` + hook scripts)
|
|
146
|
+
* used by `dkk init --claude` to scaffold AI-assistant integration in
|
|
147
|
+
* a consumer's repo.
|
|
148
|
+
*/
|
|
149
|
+
export function packageClaudeDir() {
|
|
150
|
+
return join(packageRoot(), "tools", "dkk", "claude");
|
|
151
|
+
}
|
|
94
152
|
/**
|
|
95
153
|
* Turn an absolute path into a repo-relative POSIX path
|
|
96
154
|
* (forward slashes, no leading `./`).
|
|
@@ -98,4 +156,28 @@ export function packageSkillsDir() {
|
|
|
98
156
|
export function repoRelative(absPath, root) {
|
|
99
157
|
return relative(repoRoot(root), absPath).replace(/\\/g, "/");
|
|
100
158
|
}
|
|
159
|
+
// ── Federation paths ─────────────────────────────────────────────────
|
|
160
|
+
/** Absolute path to `.dkk/service.yml` (service identity manifest). */
|
|
161
|
+
export function serviceFile(root) {
|
|
162
|
+
return join(repoRoot(root), ".dkk", "service.yml");
|
|
163
|
+
}
|
|
164
|
+
/** Absolute path to `.dkk/federation.yml` (peer manifest). */
|
|
165
|
+
export function federationFile(root) {
|
|
166
|
+
return join(repoRoot(root), ".dkk", "federation.yml");
|
|
167
|
+
}
|
|
168
|
+
/** Absolute path to `.dkk/federation.lock.json` (pinned peer SHAs). */
|
|
169
|
+
export function federationLockFile(root) {
|
|
170
|
+
return join(repoRoot(root), ".dkk", "federation.lock.json");
|
|
171
|
+
}
|
|
172
|
+
/** Absolute path to `.dkk/imports/` (gitignored peer cache root). */
|
|
173
|
+
export function importsDir(root) {
|
|
174
|
+
return join(repoRoot(root), ".dkk", "imports");
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Absolute path to a single peer's cached repo root under `.dkk/imports/<service>/`.
|
|
178
|
+
* The peer's `.dkk/` lives at `<importedServiceDir>/.dkk/`.
|
|
179
|
+
*/
|
|
180
|
+
export function importedServiceDir(service, root) {
|
|
181
|
+
return join(importsDir(root), service);
|
|
182
|
+
}
|
|
101
183
|
//# sourceMappingURL=paths.js.map
|
package/dist/shared/paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/shared/paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reference parsing — single source of truth for DKK item-id grammar.
|
|
3
|
+
*
|
|
4
|
+
* IDs identify domain items, actors, ADRs, flows, and contexts. The
|
|
5
|
+
* grammar is additive: an optional `<service>:` prefix may be attached
|
|
6
|
+
* to any id to federate it across repos. Bare refs stay local-only.
|
|
7
|
+
*
|
|
8
|
+
* Forms:
|
|
9
|
+
* <ctx>.<Name> → context-scoped item
|
|
10
|
+
* actor.<Name> → actor
|
|
11
|
+
* adr-NNNN → ADR
|
|
12
|
+
* flow.<Name> → cross-context flow
|
|
13
|
+
* context.<name> → bounded context itself
|
|
14
|
+
* <service>:<any of above> → federated form
|
|
15
|
+
*/
|
|
16
|
+
/** Discriminated union over the five id shapes. */
|
|
17
|
+
export type ParsedRef = {
|
|
18
|
+
kind: "item";
|
|
19
|
+
service?: string;
|
|
20
|
+
context: string;
|
|
21
|
+
name: string;
|
|
22
|
+
} | {
|
|
23
|
+
kind: "adr";
|
|
24
|
+
service?: string;
|
|
25
|
+
id: string;
|
|
26
|
+
} | {
|
|
27
|
+
kind: "actor";
|
|
28
|
+
service?: string;
|
|
29
|
+
name: string;
|
|
30
|
+
} | {
|
|
31
|
+
kind: "flow";
|
|
32
|
+
service?: string;
|
|
33
|
+
name: string;
|
|
34
|
+
} | {
|
|
35
|
+
kind: "context";
|
|
36
|
+
service?: string;
|
|
37
|
+
name: string;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Parse a ref string into its structured form. Returns `null` for
|
|
41
|
+
* inputs that do not match any of the five shapes.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* parseRef("ordering.OrderPlaced")
|
|
45
|
+
* // → { kind: "item", context: "ordering", name: "OrderPlaced" }
|
|
46
|
+
*
|
|
47
|
+
* parseRef("payments:billing.PaymentCaptured")
|
|
48
|
+
* // → { kind: "item", service: "payments", context: "billing", name: "PaymentCaptured" }
|
|
49
|
+
*
|
|
50
|
+
* parseRef("adr-0001")
|
|
51
|
+
* // → { kind: "adr", id: "adr-0001" }
|
|
52
|
+
*
|
|
53
|
+
* parseRef("ordering:adr-0007")
|
|
54
|
+
* // → { kind: "adr", service: "ordering", id: "adr-0007" }
|
|
55
|
+
*/
|
|
56
|
+
export declare function parseRef(s: string): ParsedRef | null;
|
|
57
|
+
/**
|
|
58
|
+
* Result of qualifying a name-only or partial ref into its canonical
|
|
59
|
+
* graph/index id form. Used by the indexer and graph builders to
|
|
60
|
+
* produce service-prefixed ids consistently.
|
|
61
|
+
*/
|
|
62
|
+
export interface QualifiedRef {
|
|
63
|
+
/** Canonical id (e.g. `ordering.OrderPlaced` or `payments:billing.PaymentCaptured`). */
|
|
64
|
+
id: string;
|
|
65
|
+
/** Bounded-context name, when the ref names a context-scoped item. */
|
|
66
|
+
context?: string;
|
|
67
|
+
/** Item / actor / flow / context name as written. */
|
|
68
|
+
name: string;
|
|
69
|
+
/** True when the ref points at a service different from the walk prefix. */
|
|
70
|
+
isForeign: boolean;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Qualify a bare-or-federated item ref into a canonical id form.
|
|
74
|
+
*
|
|
75
|
+
* Three input shapes are handled:
|
|
76
|
+
* - Author-qualified federated form (`<svc>:<ctx>.<Name>`) → kept as-is,
|
|
77
|
+
* marked foreign whenever it differs from `walkPrefix`.
|
|
78
|
+
* - Author-qualified context form (`<ctx>.<Name>`, no service) →
|
|
79
|
+
* gets `walkPrefix` applied so peer walks namespace it correctly.
|
|
80
|
+
* - Bare PascalCase name (`Name`) → resolved as a name in
|
|
81
|
+
* `currentContext`, then prefixed with `walkPrefix`.
|
|
82
|
+
*
|
|
83
|
+
* `walkPrefix` is `""` for local walks and `"<peerName>:"` for peer
|
|
84
|
+
* walks. The function leaves any already-prefixed ref untouched so
|
|
85
|
+
* a peer's own author-written federated refs survive the prefix pass.
|
|
86
|
+
*/
|
|
87
|
+
export declare function qualifyItemRef(raw: string, walkPrefix: string, currentContext: string): QualifiedRef;
|
|
88
|
+
/**
|
|
89
|
+
* Qualify a bare-or-federated actor ref. Actor ids use the
|
|
90
|
+
* `actor.<Name>` form (no context). Federated form is
|
|
91
|
+
* `<service>:actor.<Name>`. Bare YAML form is just `<Name>`.
|
|
92
|
+
*/
|
|
93
|
+
export declare function qualifyActorRef(raw: string, walkPrefix: string): QualifiedRef;
|
|
94
|
+
/** Serialize a {@link ParsedRef} back into its canonical string form. */
|
|
95
|
+
export declare function formatRef(r: ParsedRef): string;
|
|
96
|
+
//# sourceMappingURL=refs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../src/shared/refs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,mDAAmD;AACnD,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAgDpD;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,wFAAwF;IACxF,EAAE,EAAE,MAAM,CAAC;IACX,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GACrB,YAAY,CAqCd;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CAuB7E;AAED,yEAAyE;AACzE,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAc9C"}
|