crewly 1.8.3 → 1.8.5

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 (95) hide show
  1. package/config/roles/_common/wiki-instructions.md +33 -0
  2. package/config/roles/orchestrator/prompt.md +121 -0
  3. package/config/roles/team-leader/prompt.md +38 -0
  4. package/config/skills/agent/core/wiki-query/SKILL.md +66 -0
  5. package/config/skills/agent/core/wiki-query/execute.sh +107 -0
  6. package/config/skills/orchestrator/wiki-bookkeep/SKILL.md +71 -0
  7. package/config/skills/orchestrator/wiki-bookkeep/execute.sh +72 -0
  8. package/config/skills/orchestrator/wiki-ingest/SKILL.md +63 -0
  9. package/config/skills/orchestrator/wiki-ingest/execute.sh +113 -0
  10. package/config/skills/orchestrator/wiki-process-queue/SKILL.md +71 -0
  11. package/config/skills/orchestrator/wiki-process-queue/execute.sh +93 -0
  12. package/config/skills/orchestrator/wiki-queue-add/SKILL.md +89 -0
  13. package/config/skills/orchestrator/wiki-queue-add/execute.sh +115 -0
  14. package/dist/backend/backend/src/controllers/wiki/wiki.controller.d.ts +134 -0
  15. package/dist/backend/backend/src/controllers/wiki/wiki.controller.d.ts.map +1 -0
  16. package/dist/backend/backend/src/controllers/wiki/wiki.controller.js +718 -0
  17. package/dist/backend/backend/src/controllers/wiki/wiki.controller.js.map +1 -0
  18. package/dist/backend/backend/src/controllers/wiki/wiki.routes.d.ts +23 -0
  19. package/dist/backend/backend/src/controllers/wiki/wiki.routes.d.ts.map +1 -0
  20. package/dist/backend/backend/src/controllers/wiki/wiki.routes.js +43 -0
  21. package/dist/backend/backend/src/controllers/wiki/wiki.routes.js.map +1 -0
  22. package/dist/backend/backend/src/index.d.ts.map +1 -1
  23. package/dist/backend/backend/src/index.js +39 -0
  24. package/dist/backend/backend/src/index.js.map +1 -1
  25. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  26. package/dist/backend/backend/src/routes/api.routes.js +4 -0
  27. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  28. package/dist/backend/backend/src/services/core/system-health.util.d.ts +29 -4
  29. package/dist/backend/backend/src/services/core/system-health.util.d.ts.map +1 -1
  30. package/dist/backend/backend/src/services/core/system-health.util.js +105 -6
  31. package/dist/backend/backend/src/services/core/system-health.util.js.map +1 -1
  32. package/dist/backend/backend/src/services/session/pty/pty-session.d.ts +28 -0
  33. package/dist/backend/backend/src/services/session/pty/pty-session.d.ts.map +1 -1
  34. package/dist/backend/backend/src/services/session/pty/pty-session.js +162 -4
  35. package/dist/backend/backend/src/services/session/pty/pty-session.js.map +1 -1
  36. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +20 -0
  37. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  38. package/dist/backend/backend/src/services/task-pool/task-pool.service.js +61 -0
  39. package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  40. package/dist/backend/backend/src/services/v3/escalation-router.service.d.ts +38 -1
  41. package/dist/backend/backend/src/services/v3/escalation-router.service.d.ts.map +1 -1
  42. package/dist/backend/backend/src/services/v3/escalation-router.service.js +124 -0
  43. package/dist/backend/backend/src/services/v3/escalation-router.service.js.map +1 -1
  44. package/dist/backend/backend/src/services/v3/v3-data.service.d.ts +19 -2
  45. package/dist/backend/backend/src/services/v3/v3-data.service.d.ts.map +1 -1
  46. package/dist/backend/backend/src/services/v3/v3-data.service.js +64 -7
  47. package/dist/backend/backend/src/services/v3/v3-data.service.js.map +1 -1
  48. package/dist/backend/backend/src/services/wiki/referenced-by.resolver.d.ts +69 -0
  49. package/dist/backend/backend/src/services/wiki/referenced-by.resolver.d.ts.map +1 -0
  50. package/dist/backend/backend/src/services/wiki/referenced-by.resolver.js +174 -0
  51. package/dist/backend/backend/src/services/wiki/referenced-by.resolver.js.map +1 -0
  52. package/dist/backend/backend/src/services/wiki/schema-loader.service.d.ts +57 -0
  53. package/dist/backend/backend/src/services/wiki/schema-loader.service.d.ts.map +1 -0
  54. package/dist/backend/backend/src/services/wiki/schema-loader.service.js +183 -0
  55. package/dist/backend/backend/src/services/wiki/schema-loader.service.js.map +1 -0
  56. package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.d.ts +86 -0
  57. package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.d.ts.map +1 -0
  58. package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.js +187 -0
  59. package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.js.map +1 -0
  60. package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.d.ts +116 -0
  61. package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.d.ts.map +1 -0
  62. package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.js +299 -0
  63. package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.js.map +1 -0
  64. package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.d.ts +74 -0
  65. package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.d.ts.map +1 -0
  66. package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.js +154 -0
  67. package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.js.map +1 -0
  68. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.d.ts +100 -0
  69. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.d.ts.map +1 -0
  70. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.js +212 -0
  71. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.js.map +1 -0
  72. package/dist/backend/backend/src/services/wiki/wiki-process.service.d.ts +84 -0
  73. package/dist/backend/backend/src/services/wiki/wiki-process.service.d.ts.map +1 -0
  74. package/dist/backend/backend/src/services/wiki/wiki-process.service.js +138 -0
  75. package/dist/backend/backend/src/services/wiki/wiki-process.service.js.map +1 -0
  76. package/dist/backend/backend/src/services/wiki/wiki-query.service.d.ts +115 -0
  77. package/dist/backend/backend/src/services/wiki/wiki-query.service.d.ts.map +1 -0
  78. package/dist/backend/backend/src/services/wiki/wiki-query.service.js +291 -0
  79. package/dist/backend/backend/src/services/wiki/wiki-query.service.js.map +1 -0
  80. package/dist/backend/backend/src/services/wiki/wiki-queue.service.d.ts +115 -0
  81. package/dist/backend/backend/src/services/wiki/wiki-queue.service.d.ts.map +1 -0
  82. package/dist/backend/backend/src/services/wiki/wiki-queue.service.js +261 -0
  83. package/dist/backend/backend/src/services/wiki/wiki-queue.service.js.map +1 -0
  84. package/dist/backend/backend/src/services/wiki/wiki.types.d.ts +84 -0
  85. package/dist/backend/backend/src/services/wiki/wiki.types.d.ts.map +1 -0
  86. package/dist/backend/backend/src/services/wiki/wiki.types.js +10 -0
  87. package/dist/backend/backend/src/services/wiki/wiki.types.js.map +1 -0
  88. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +20 -0
  89. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  90. package/dist/cli/backend/src/services/task-pool/task-pool.service.js +61 -0
  91. package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  92. package/frontend/dist/assets/{index-b279da34.js → index-cc115bb4.js} +246 -246
  93. package/frontend/dist/assets/{index-c07e04c0.css → index-db3f5041.css} +1 -1
  94. package/frontend/dist/index.html +2 -2
  95. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"v3-data.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/v3-data.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"v3-data.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/v3-data.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Symbolic `referenced_by:` resolver.
3
+ *
4
+ * SCHEMA.md `referenced_by:` entries use `<kind>:<name>` symbols
5
+ * (`skill:get-sops`, `service:sop.service`) rather than absolute filesystem
6
+ * paths, so SCHEMA.md stays portable across users, machines, and runtimes
7
+ * (Sonnet vs DeepSeek install roots differ, $HOME differs, Pro vs OSS install
8
+ * roots differ).
9
+ *
10
+ * This resolver maps a symbol to the absolute path on the current machine.
11
+ *
12
+ * Per v2.1 spec §2 (Symbolic referenced_by registry):
13
+ * `skill:<name>` → config/skills/{agent/core, orchestrator}/<name>/execute.sh
14
+ * `service:<name>` → backend/src/services/<dir>/<name>.service.ts
15
+ *
16
+ * @module services/wiki/referenced-by.resolver
17
+ */
18
+ import { ReferencedBySymbol, ResolvedReference } from './wiki.types.js';
19
+ /**
20
+ * Resolves SCHEMA.md `referenced_by:` symbols to absolute filesystem paths.
21
+ *
22
+ * @example
23
+ * const resolver = new ReferencedByResolver('/path/to/crewly');
24
+ * const resolved = await resolver.resolve('skill:get-sops');
25
+ * // resolved.absolutePath === '/path/to/crewly/config/skills/agent/core/get-sops/execute.sh'
26
+ */
27
+ export declare class ReferencedByResolver {
28
+ private readonly crewlyRoot;
29
+ private readonly cache;
30
+ /**
31
+ * @param crewlyRoot - Absolute path to the Crewly project root (contains
32
+ * `config/` and `backend/`). Must be absolute — relative paths are
33
+ * rejected so the resolver behaves deterministically regardless of cwd.
34
+ */
35
+ constructor(crewlyRoot: string);
36
+ /**
37
+ * Resolve a symbol to an absolute path.
38
+ *
39
+ * @param symbol - A `skill:<name>` or `service:<name>` reference.
40
+ * @returns The resolved reference. `exists: false` if no candidate file
41
+ * was found on disk — callers should treat this as a lint warning.
42
+ * @throws If the symbol has an unknown kind prefix.
43
+ */
44
+ resolve(symbol: ReferencedBySymbol): Promise<ResolvedReference>;
45
+ /**
46
+ * Resolve many symbols in one pass.
47
+ */
48
+ resolveAll(symbols: ReferencedBySymbol[]): Promise<ResolvedReference[]>;
49
+ /**
50
+ * Clear the in-memory cache. Useful in tests, or after a vault change
51
+ * has moved a referenced file.
52
+ */
53
+ clearCache(): void;
54
+ private parseSymbol;
55
+ /**
56
+ * Locate a file matching `<name>/<fileSuffix>` (skill) or `<name><fileSuffix>`
57
+ * (service) inside a search directory. Returns absolute path or null.
58
+ *
59
+ * For skills: the name IS a directory name → look for `<dir>/<name>/execute.sh`.
60
+ * For services: the name is a basename → recurse for `<name>.service.ts`.
61
+ */
62
+ private findInDir;
63
+ /**
64
+ * The path we'd expect a missing symbol to live at — used so lint can
65
+ * tell the user where to create the file.
66
+ */
67
+ private fallbackCanonicalPath;
68
+ }
69
+ //# sourceMappingURL=referenced-by.resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"referenced-by.resolver.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/referenced-by.resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AA4BxE;;;;;;;GAOG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwC;IAE9D;;;;OAIG;gBACS,UAAU,EAAE,MAAM;IAS9B;;;;;;;OAOG;IACG,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAsCrE;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAI7E;;;OAGG;IACH,UAAU,IAAI,IAAI;IAQlB,OAAO,CAAC,WAAW;IA0BnB;;;;;;OAMG;YACW,SAAS;IAmCvB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;CAS9B"}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Symbolic `referenced_by:` resolver.
3
+ *
4
+ * SCHEMA.md `referenced_by:` entries use `<kind>:<name>` symbols
5
+ * (`skill:get-sops`, `service:sop.service`) rather than absolute filesystem
6
+ * paths, so SCHEMA.md stays portable across users, machines, and runtimes
7
+ * (Sonnet vs DeepSeek install roots differ, $HOME differs, Pro vs OSS install
8
+ * roots differ).
9
+ *
10
+ * This resolver maps a symbol to the absolute path on the current machine.
11
+ *
12
+ * Per v2.1 spec §2 (Symbolic referenced_by registry):
13
+ * `skill:<name>` → config/skills/{agent/core, orchestrator}/<name>/execute.sh
14
+ * `service:<name>` → backend/src/services/<dir>/<name>.service.ts
15
+ *
16
+ * @module services/wiki/referenced-by.resolver
17
+ */
18
+ import * as path from 'path';
19
+ import { existsSync } from 'fs';
20
+ import * as fs from 'fs/promises';
21
+ const SEARCH_PLANS = {
22
+ skill: {
23
+ // Skills live under config/skills/{agent/core, orchestrator}/<name>/execute.sh
24
+ searchDirs: ['config/skills/agent/core', 'config/skills/orchestrator'],
25
+ fileSuffix: 'execute.sh',
26
+ },
27
+ service: {
28
+ // Symbol `service:sop.service` → file basename `sop.service.ts`. The `.service`
29
+ // segment is part of the symbol's name, so we only append `.ts` when forming
30
+ // the wanted filename. (Resolves backend/src/services/<area>/<name>.ts.)
31
+ searchDirs: ['backend/src/services'],
32
+ fileSuffix: '.ts',
33
+ },
34
+ };
35
+ /**
36
+ * Resolves SCHEMA.md `referenced_by:` symbols to absolute filesystem paths.
37
+ *
38
+ * @example
39
+ * const resolver = new ReferencedByResolver('/path/to/crewly');
40
+ * const resolved = await resolver.resolve('skill:get-sops');
41
+ * // resolved.absolutePath === '/path/to/crewly/config/skills/agent/core/get-sops/execute.sh'
42
+ */
43
+ export class ReferencedByResolver {
44
+ crewlyRoot;
45
+ cache = new Map();
46
+ /**
47
+ * @param crewlyRoot - Absolute path to the Crewly project root (contains
48
+ * `config/` and `backend/`). Must be absolute — relative paths are
49
+ * rejected so the resolver behaves deterministically regardless of cwd.
50
+ */
51
+ constructor(crewlyRoot) {
52
+ if (!path.isAbsolute(crewlyRoot)) {
53
+ throw new Error(`ReferencedByResolver: crewlyRoot must be absolute, got "${crewlyRoot}"`);
54
+ }
55
+ this.crewlyRoot = crewlyRoot;
56
+ }
57
+ /**
58
+ * Resolve a symbol to an absolute path.
59
+ *
60
+ * @param symbol - A `skill:<name>` or `service:<name>` reference.
61
+ * @returns The resolved reference. `exists: false` if no candidate file
62
+ * was found on disk — callers should treat this as a lint warning.
63
+ * @throws If the symbol has an unknown kind prefix.
64
+ */
65
+ async resolve(symbol) {
66
+ const cached = this.cache.get(symbol);
67
+ if (cached) {
68
+ return cached;
69
+ }
70
+ const parsed = this.parseSymbol(symbol);
71
+ const plan = SEARCH_PLANS[parsed.kind];
72
+ let absolutePath = null;
73
+ let exists = false;
74
+ for (const dir of plan.searchDirs) {
75
+ const candidate = await this.findInDir(path.join(this.crewlyRoot, dir), parsed.name, plan.fileSuffix, parsed.kind);
76
+ if (candidate) {
77
+ absolutePath = candidate;
78
+ exists = true;
79
+ break;
80
+ }
81
+ }
82
+ // If nothing found, emit a path that *would* be the canonical location
83
+ // so lint can surface a clear "expected here, missing" message.
84
+ if (!absolutePath) {
85
+ absolutePath = this.fallbackCanonicalPath(parsed.kind, parsed.name);
86
+ exists = existsSync(absolutePath);
87
+ }
88
+ const result = { symbol, absolutePath, exists };
89
+ this.cache.set(symbol, result);
90
+ return result;
91
+ }
92
+ /**
93
+ * Resolve many symbols in one pass.
94
+ */
95
+ async resolveAll(symbols) {
96
+ return Promise.all(symbols.map((s) => this.resolve(s)));
97
+ }
98
+ /**
99
+ * Clear the in-memory cache. Useful in tests, or after a vault change
100
+ * has moved a referenced file.
101
+ */
102
+ clearCache() {
103
+ this.cache.clear();
104
+ }
105
+ // ---------------------------------------------------------------------------
106
+ // Internals
107
+ // ---------------------------------------------------------------------------
108
+ parseSymbol(symbol) {
109
+ const colonIdx = symbol.indexOf(':');
110
+ if (colonIdx <= 0) {
111
+ throw new Error(`ReferencedByResolver: malformed symbol "${symbol}" — expected "<kind>:<name>"`);
112
+ }
113
+ const kind = symbol.slice(0, colonIdx);
114
+ const name = symbol.slice(colonIdx + 1);
115
+ if (!name) {
116
+ throw new Error(`ReferencedByResolver: empty name in symbol "${symbol}"`);
117
+ }
118
+ if (kind !== 'skill' && kind !== 'service') {
119
+ throw new Error(`ReferencedByResolver: unknown kind "${kind}" in symbol "${symbol}" — expected "skill" or "service"`);
120
+ }
121
+ return { kind, name };
122
+ }
123
+ /**
124
+ * Locate a file matching `<name>/<fileSuffix>` (skill) or `<name><fileSuffix>`
125
+ * (service) inside a search directory. Returns absolute path or null.
126
+ *
127
+ * For skills: the name IS a directory name → look for `<dir>/<name>/execute.sh`.
128
+ * For services: the name is a basename → recurse for `<name>.service.ts`.
129
+ */
130
+ async findInDir(dir, name, suffix, kind) {
131
+ if (kind === 'skill') {
132
+ const candidate = path.join(dir, name, suffix);
133
+ return existsSync(candidate) ? candidate : null;
134
+ }
135
+ // Service: recurse one level looking for `<name>.service.ts`.
136
+ if (!existsSync(dir)) {
137
+ return null;
138
+ }
139
+ const wantedFile = `${name}${suffix}`;
140
+ const stack = [dir];
141
+ while (stack.length > 0) {
142
+ const current = stack.pop();
143
+ const entries = await fs.readdir(current, { withFileTypes: true });
144
+ for (const entry of entries) {
145
+ const full = path.join(current, entry.name);
146
+ if (entry.isDirectory()) {
147
+ // Skip test/build artifacts to keep the scan bounded.
148
+ if (entry.name === 'node_modules' || entry.name === 'dist' || entry.name.startsWith('.')) {
149
+ continue;
150
+ }
151
+ stack.push(full);
152
+ }
153
+ else if (entry.isFile() && entry.name === wantedFile) {
154
+ return full;
155
+ }
156
+ }
157
+ }
158
+ return null;
159
+ }
160
+ /**
161
+ * The path we'd expect a missing symbol to live at — used so lint can
162
+ * tell the user where to create the file.
163
+ */
164
+ fallbackCanonicalPath(kind, name) {
165
+ if (kind === 'skill') {
166
+ return path.join(this.crewlyRoot, 'config/skills/agent/core', name, 'execute.sh');
167
+ }
168
+ // Convention: `service:foo.service` → dir `foo`, file `foo.service.ts`.
169
+ // Fall back to using the full name as the dir if no `.service` suffix.
170
+ const areaDir = name.endsWith('.service') ? name.slice(0, -'.service'.length) : name;
171
+ return path.join(this.crewlyRoot, 'backend/src/services', areaDir, `${name}.ts`);
172
+ }
173
+ }
174
+ //# sourceMappingURL=referenced-by.resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"referenced-by.resolver.js","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/referenced-by.resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * SCHEMA.md loader + validator + frozen-path gate.
3
+ *
4
+ * Reads `<vault>/SCHEMA.md` (pure YAML inside a .md container), validates
5
+ * shape against `VaultSchema`, and exposes the frozen-path predicate used
6
+ * by `wiki-lint` to refuse restructure operations on OSS-pinned folders.
7
+ *
8
+ * Per v2.1 spec §2 (Hybrid folder architecture) — the `frozen: true` block
9
+ * is a HARD contract: any lint or ingest operation that targets a frozen
10
+ * path MUST fail closed.
11
+ *
12
+ * @module services/wiki/schema-loader.service
13
+ */
14
+ import { VaultSchema } from './wiki.types.js';
15
+ /** Standard schema filename inside any vault root. */
16
+ export declare const SCHEMA_FILENAME = "SCHEMA.md";
17
+ /**
18
+ * Loads + validates a vault's SCHEMA.md. Stateless — instantiate once
19
+ * per service or use the static helper.
20
+ */
21
+ export declare class SchemaLoaderService {
22
+ /**
23
+ * Load and validate the SCHEMA.md inside a vault directory.
24
+ *
25
+ * @param vaultPath - Absolute path to the vault root (the directory
26
+ * containing SCHEMA.md). Must be absolute.
27
+ * @returns Validated VaultSchema.
28
+ * @throws If vaultPath is not absolute, SCHEMA.md is missing, YAML
29
+ * parsing fails, or the parsed object is shape-invalid.
30
+ */
31
+ load(vaultPath: string): Promise<VaultSchema>;
32
+ /**
33
+ * Determine whether a path inside a vault is frozen (OSS-pinned).
34
+ *
35
+ * Used by `wiki-lint` and `wiki-ingest` to refuse restructure / write
36
+ * operations. Comparison is by leading path segment — e.g. `sop/foo.md`
37
+ * is frozen if `sop/` is declared frozen.
38
+ *
39
+ * @param schema - The vault's parsed schema.
40
+ * @param relativePath - Path relative to vault root, e.g. `sop/team-1.md`.
41
+ * @returns true if the path lives under a frozen folder.
42
+ */
43
+ isFrozenPath(schema: VaultSchema, relativePath: string): boolean;
44
+ /**
45
+ * Return every frozen folder path declared in a schema. Convenience for
46
+ * lint reports.
47
+ */
48
+ getFrozenPaths(schema: VaultSchema): string[];
49
+ private validate;
50
+ private requireScope;
51
+ private requireString;
52
+ private requireHardcoded;
53
+ private requireLlmCurated;
54
+ private requireWritePolicy;
55
+ private requireStringArray;
56
+ }
57
+ //# sourceMappingURL=schema-loader.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-loader.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/schema-loader.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAAE,WAAW,EAAc,MAAM,iBAAiB,CAAC;AAE1D,sDAAsD;AACtD,eAAO,MAAM,eAAe,cAAc,CAAC;AAE3C;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B;;;;;;;;OAQG;IACG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA0BnD;;;;;;;;;;OAUG;IACH,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAShE;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE;IAQ7C,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,gBAAgB;IA2CxB,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,kBAAkB;CAW3B"}
@@ -0,0 +1,183 @@
1
+ /**
2
+ * SCHEMA.md loader + validator + frozen-path gate.
3
+ *
4
+ * Reads `<vault>/SCHEMA.md` (pure YAML inside a .md container), validates
5
+ * shape against `VaultSchema`, and exposes the frozen-path predicate used
6
+ * by `wiki-lint` to refuse restructure operations on OSS-pinned folders.
7
+ *
8
+ * Per v2.1 spec §2 (Hybrid folder architecture) — the `frozen: true` block
9
+ * is a HARD contract: any lint or ingest operation that targets a frozen
10
+ * path MUST fail closed.
11
+ *
12
+ * @module services/wiki/schema-loader.service
13
+ */
14
+ import * as path from 'path';
15
+ import * as fs from 'fs/promises';
16
+ import { parse as parseYAML } from 'yaml';
17
+ /** Standard schema filename inside any vault root. */
18
+ export const SCHEMA_FILENAME = 'SCHEMA.md';
19
+ /**
20
+ * Loads + validates a vault's SCHEMA.md. Stateless — instantiate once
21
+ * per service or use the static helper.
22
+ */
23
+ export class SchemaLoaderService {
24
+ /**
25
+ * Load and validate the SCHEMA.md inside a vault directory.
26
+ *
27
+ * @param vaultPath - Absolute path to the vault root (the directory
28
+ * containing SCHEMA.md). Must be absolute.
29
+ * @returns Validated VaultSchema.
30
+ * @throws If vaultPath is not absolute, SCHEMA.md is missing, YAML
31
+ * parsing fails, or the parsed object is shape-invalid.
32
+ */
33
+ async load(vaultPath) {
34
+ if (!path.isAbsolute(vaultPath)) {
35
+ throw new Error(`SchemaLoader: vaultPath must be absolute, got "${vaultPath}"`);
36
+ }
37
+ const schemaPath = path.join(vaultPath, SCHEMA_FILENAME);
38
+ let raw;
39
+ try {
40
+ raw = await fs.readFile(schemaPath, 'utf8');
41
+ }
42
+ catch (err) {
43
+ throw new Error(`SchemaLoader: SCHEMA.md not found at ${schemaPath} (${err.message})`);
44
+ }
45
+ let parsed;
46
+ try {
47
+ parsed = parseYAML(raw);
48
+ }
49
+ catch (err) {
50
+ throw new Error(`SchemaLoader: invalid YAML in ${schemaPath}: ${err.message}`);
51
+ }
52
+ return this.validate(parsed, schemaPath);
53
+ }
54
+ /**
55
+ * Determine whether a path inside a vault is frozen (OSS-pinned).
56
+ *
57
+ * Used by `wiki-lint` and `wiki-ingest` to refuse restructure / write
58
+ * operations. Comparison is by leading path segment — e.g. `sop/foo.md`
59
+ * is frozen if `sop/` is declared frozen.
60
+ *
61
+ * @param schema - The vault's parsed schema.
62
+ * @param relativePath - Path relative to vault root, e.g. `sop/team-1.md`.
63
+ * @returns true if the path lives under a frozen folder.
64
+ */
65
+ isFrozenPath(schema, relativePath) {
66
+ const normalized = relativePath.replace(/^[/\\]+/, '');
67
+ return schema.hardcoded.some((folder) => {
68
+ // Match either exact folder or anything beneath it.
69
+ const folderName = folder.path.replace(/[/\\]+$/, '');
70
+ return normalized === folderName || normalized.startsWith(`${folderName}/`);
71
+ });
72
+ }
73
+ /**
74
+ * Return every frozen folder path declared in a schema. Convenience for
75
+ * lint reports.
76
+ */
77
+ getFrozenPaths(schema) {
78
+ return schema.hardcoded.map((f) => f.path);
79
+ }
80
+ // ---------------------------------------------------------------------------
81
+ // Validation
82
+ // ---------------------------------------------------------------------------
83
+ validate(parsed, source) {
84
+ if (typeof parsed !== 'object' || parsed === null) {
85
+ throw new Error(`SchemaLoader: ${source} did not parse to an object`);
86
+ }
87
+ const p = parsed;
88
+ const vault_scope = this.requireScope(p.vault_scope, source);
89
+ const vault_id = this.requireString(p.vault_id, 'vault_id', source);
90
+ const hardcoded = this.requireHardcoded(p.hardcoded, source);
91
+ const llm_curated = this.requireLlmCurated(p.llm_curated, source);
92
+ const write_policy = this.requireWritePolicy(p.write_policy, source);
93
+ return { vault_scope, vault_id, hardcoded, llm_curated, write_policy };
94
+ }
95
+ requireScope(raw, source) {
96
+ if (raw !== 'team' && raw !== 'project' && raw !== 'global') {
97
+ throw new Error(`SchemaLoader: ${source} has invalid vault_scope "${raw}" — expected "team" | "project" | "global"`);
98
+ }
99
+ return raw;
100
+ }
101
+ requireString(raw, field, source) {
102
+ if (typeof raw !== 'string' || raw.length === 0) {
103
+ throw new Error(`SchemaLoader: ${source} missing or empty "${field}"`);
104
+ }
105
+ return raw;
106
+ }
107
+ requireHardcoded(raw, source) {
108
+ if (!Array.isArray(raw)) {
109
+ throw new Error(`SchemaLoader: ${source} "hardcoded" must be an array`);
110
+ }
111
+ return raw.map((entry, idx) => {
112
+ if (typeof entry !== 'object' || entry === null) {
113
+ throw new Error(`SchemaLoader: ${source} hardcoded[${idx}] is not an object`);
114
+ }
115
+ const e = entry;
116
+ const path = this.requireString(e.path, `hardcoded[${idx}].path`, source);
117
+ if (e.frozen !== true) {
118
+ throw new Error(`SchemaLoader: ${source} hardcoded[${idx}] must have frozen: true (got ${JSON.stringify(e.frozen)})`);
119
+ }
120
+ const description = this.requireString(e.description, `hardcoded[${idx}].description`, source);
121
+ const refs = this.requireStringArray(e.referenced_by, `hardcoded[${idx}].referenced_by`, source);
122
+ // Each ref must look like `<kind>:<name>` — validated lightly here so
123
+ // a malformed registry doesn't reach the resolver.
124
+ refs.forEach((ref, refIdx) => {
125
+ if (!/^(skill|service):.+$/.test(ref)) {
126
+ throw new Error(`SchemaLoader: ${source} hardcoded[${idx}].referenced_by[${refIdx}] must match "skill:<name>" or "service:<name>" (got "${ref}")`);
127
+ }
128
+ });
129
+ return {
130
+ path,
131
+ frozen: true,
132
+ description,
133
+ referenced_by: refs,
134
+ };
135
+ });
136
+ }
137
+ requireLlmCurated(raw, source) {
138
+ if (!Array.isArray(raw)) {
139
+ throw new Error(`SchemaLoader: ${source} "llm_curated" must be an array`);
140
+ }
141
+ return raw.map((entry, idx) => {
142
+ if (typeof entry !== 'object' || entry === null) {
143
+ throw new Error(`SchemaLoader: ${source} llm_curated[${idx}] is not an object`);
144
+ }
145
+ const e = entry;
146
+ const path = this.requireString(e.path, `llm_curated[${idx}].path`, source);
147
+ if (e.frozen !== false) {
148
+ throw new Error(`SchemaLoader: ${source} llm_curated[${idx}] must have frozen: false (got ${JSON.stringify(e.frozen)})`);
149
+ }
150
+ const seed_subdirs = this.requireStringArray(e.seed_subdirs, `llm_curated[${idx}].seed_subdirs`, source);
151
+ return {
152
+ path,
153
+ frozen: false,
154
+ seed_subdirs,
155
+ llm_can_create_subdirs: Boolean(e.llm_can_create_subdirs),
156
+ lint_may_restructure: Boolean(e.lint_may_restructure),
157
+ };
158
+ });
159
+ }
160
+ requireWritePolicy(raw, source) {
161
+ if (typeof raw !== 'object' || raw === null) {
162
+ throw new Error(`SchemaLoader: ${source} "write_policy" must be an object`);
163
+ }
164
+ const w = raw;
165
+ return {
166
+ canonical: this.requireStringArray(w.canonical, 'write_policy.canonical', source),
167
+ proposed_only: this.requireStringArray(w.proposed_only, 'write_policy.proposed_only', source),
168
+ schema_writer: this.requireStringArray(w.schema_writer, 'write_policy.schema_writer', source),
169
+ };
170
+ }
171
+ requireStringArray(raw, field, source) {
172
+ if (!Array.isArray(raw)) {
173
+ throw new Error(`SchemaLoader: ${source} "${field}" must be an array`);
174
+ }
175
+ raw.forEach((item, idx) => {
176
+ if (typeof item !== 'string' || item.length === 0) {
177
+ throw new Error(`SchemaLoader: ${source} "${field}[${idx}]" must be a non-empty string`);
178
+ }
179
+ });
180
+ return raw;
181
+ }
182
+ }
183
+ //# sourceMappingURL=schema-loader.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-loader.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/schema-loader.service.ts"],"names":[],"mappings":"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"}