open-wiki-spec 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +14 -12
  3. package/bin/open-wiki-spec.js +0 -0
  4. package/dist/cli/commands/apply.d.ts.map +1 -1
  5. package/dist/cli/commands/apply.js +26 -5
  6. package/dist/cli/commands/apply.js.map +1 -1
  7. package/dist/cli/commands/archive.d.ts +1 -0
  8. package/dist/cli/commands/archive.d.ts.map +1 -1
  9. package/dist/cli/commands/archive.js +12 -4
  10. package/dist/cli/commands/archive.js.map +1 -1
  11. package/dist/cli/commands/continue.d.ts.map +1 -1
  12. package/dist/cli/commands/continue.js +8 -4
  13. package/dist/cli/commands/continue.js.map +1 -1
  14. package/dist/cli/commands/error-handler.d.ts +6 -0
  15. package/dist/cli/commands/error-handler.d.ts.map +1 -0
  16. package/dist/cli/commands/error-handler.js +15 -0
  17. package/dist/cli/commands/error-handler.js.map +1 -0
  18. package/dist/cli/commands/init.d.ts.map +1 -1
  19. package/dist/cli/commands/init.js +12 -3
  20. package/dist/cli/commands/init.js.map +1 -1
  21. package/dist/cli/commands/list.d.ts.map +1 -1
  22. package/dist/cli/commands/list.js +3 -3
  23. package/dist/cli/commands/list.js.map +1 -1
  24. package/dist/cli/commands/migrate.d.ts.map +1 -1
  25. package/dist/cli/commands/migrate.js +5 -1
  26. package/dist/cli/commands/migrate.js.map +1 -1
  27. package/dist/cli/commands/propose.d.ts.map +1 -1
  28. package/dist/cli/commands/propose.js +20 -3
  29. package/dist/cli/commands/propose.js.map +1 -1
  30. package/dist/cli/commands/query.d.ts.map +1 -1
  31. package/dist/cli/commands/query.js +25 -20
  32. package/dist/cli/commands/query.js.map +1 -1
  33. package/dist/cli/commands/status.d.ts +7 -2
  34. package/dist/cli/commands/status.d.ts.map +1 -1
  35. package/dist/cli/commands/status.js +123 -53
  36. package/dist/cli/commands/status.js.map +1 -1
  37. package/dist/cli/commands/verify.d.ts +3 -0
  38. package/dist/cli/commands/verify.d.ts.map +1 -1
  39. package/dist/cli/commands/verify.js +6 -8
  40. package/dist/cli/commands/verify.js.map +1 -1
  41. package/dist/cli/index.js +3 -6
  42. package/dist/cli/index.js.map +1 -1
  43. package/dist/cli/init/init-engine.d.ts.map +1 -1
  44. package/dist/cli/init/init-engine.js +65 -0
  45. package/dist/cli/init/init-engine.js.map +1 -1
  46. package/dist/cli/init/meta-files.d.ts.map +1 -1
  47. package/dist/cli/init/meta-files.js +8 -12
  48. package/dist/cli/init/meta-files.js.map +1 -1
  49. package/dist/cli/init/skill-generator.d.ts.map +1 -1
  50. package/dist/cli/init/skill-generator.js +78 -19
  51. package/dist/cli/init/skill-generator.js.map +1 -1
  52. package/dist/cli/init/types.d.ts +3 -0
  53. package/dist/cli/init/types.d.ts.map +1 -1
  54. package/dist/core/embedding/cache.d.ts +28 -0
  55. package/dist/core/embedding/cache.d.ts.map +1 -0
  56. package/dist/core/embedding/cache.js +53 -0
  57. package/dist/core/embedding/cache.js.map +1 -0
  58. package/dist/core/embedding/embedder.d.ts +26 -0
  59. package/dist/core/embedding/embedder.d.ts.map +1 -0
  60. package/dist/core/embedding/embedder.js +51 -0
  61. package/dist/core/embedding/embedder.js.map +1 -0
  62. package/dist/core/embedding/index.d.ts +5 -0
  63. package/dist/core/embedding/index.d.ts.map +1 -0
  64. package/dist/core/embedding/index.js +5 -0
  65. package/dist/core/embedding/index.js.map +1 -0
  66. package/dist/core/embedding/semantic-recall.d.ts +18 -0
  67. package/dist/core/embedding/semantic-recall.d.ts.map +1 -0
  68. package/dist/core/embedding/semantic-recall.js +37 -0
  69. package/dist/core/embedding/semantic-recall.js.map +1 -0
  70. package/dist/core/embedding/similarity.d.ts +5 -0
  71. package/dist/core/embedding/similarity.d.ts.map +1 -0
  72. package/dist/core/embedding/similarity.js +21 -0
  73. package/dist/core/embedding/similarity.js.map +1 -0
  74. package/dist/core/index/build.d.ts.map +1 -1
  75. package/dist/core/index/build.js +38 -3
  76. package/dist/core/index/build.js.map +1 -1
  77. package/dist/core/index/resolve.d.ts +2 -1
  78. package/dist/core/index/resolve.d.ts.map +1 -1
  79. package/dist/core/index/resolve.js +17 -4
  80. package/dist/core/index/resolve.js.map +1 -1
  81. package/dist/core/index/scan.js +1 -1
  82. package/dist/core/index/scan.js.map +1 -1
  83. package/dist/core/index/validate.d.ts +2 -1
  84. package/dist/core/index/validate.d.ts.map +1 -1
  85. package/dist/core/index/validate.js +23 -2
  86. package/dist/core/index/validate.js.map +1 -1
  87. package/dist/core/migrate/change-converter.js +5 -5
  88. package/dist/core/migrate/change-converter.js.map +1 -1
  89. package/dist/core/migrate/migrate.js +1 -1
  90. package/dist/core/migrate/migrate.js.map +1 -1
  91. package/dist/core/migrate/spec-converter.js +1 -2
  92. package/dist/core/migrate/spec-converter.js.map +1 -1
  93. package/dist/core/parser/wikilink-parser.d.ts.map +1 -1
  94. package/dist/core/parser/wikilink-parser.js +13 -1
  95. package/dist/core/parser/wikilink-parser.js.map +1 -1
  96. package/dist/core/retrieval/constants.d.ts +4 -1
  97. package/dist/core/retrieval/constants.d.ts.map +1 -1
  98. package/dist/core/retrieval/constants.js +3 -0
  99. package/dist/core/retrieval/constants.js.map +1 -1
  100. package/dist/core/retrieval/retrieve.d.ts +6 -0
  101. package/dist/core/retrieval/retrieve.d.ts.map +1 -1
  102. package/dist/core/retrieval/retrieve.js +17 -4
  103. package/dist/core/retrieval/retrieve.js.map +1 -1
  104. package/dist/core/retrieval/scoring.d.ts +3 -2
  105. package/dist/core/retrieval/scoring.d.ts.map +1 -1
  106. package/dist/core/retrieval/scoring.js +42 -3
  107. package/dist/core/retrieval/scoring.js.map +1 -1
  108. package/dist/core/schema/base.schema.js +1 -1
  109. package/dist/core/schema/base.schema.js.map +1 -1
  110. package/dist/core/schema/requirement.d.ts +2 -2
  111. package/dist/core/workflow/apply/apply.d.ts.map +1 -1
  112. package/dist/core/workflow/apply/apply.js +265 -15
  113. package/dist/core/workflow/apply/apply.js.map +1 -1
  114. package/dist/core/workflow/apply/feature-updater.d.ts +9 -5
  115. package/dist/core/workflow/apply/feature-updater.d.ts.map +1 -1
  116. package/dist/core/workflow/apply/feature-updater.js +130 -8
  117. package/dist/core/workflow/apply/feature-updater.js.map +1 -1
  118. package/dist/core/workflow/apply/types.d.ts +5 -0
  119. package/dist/core/workflow/apply/types.d.ts.map +1 -1
  120. package/dist/core/workflow/continue/continue.d.ts +1 -0
  121. package/dist/core/workflow/continue/continue.d.ts.map +1 -1
  122. package/dist/core/workflow/continue/continue.js +94 -34
  123. package/dist/core/workflow/continue/continue.js.map +1 -1
  124. package/dist/core/workflow/continue/types.d.ts +1 -1
  125. package/dist/core/workflow/continue/types.d.ts.map +1 -1
  126. package/dist/core/workflow/propose/note-creator.d.ts +2 -0
  127. package/dist/core/workflow/propose/note-creator.d.ts.map +1 -1
  128. package/dist/core/workflow/propose/note-creator.js +33 -10
  129. package/dist/core/workflow/propose/note-creator.js.map +1 -1
  130. package/dist/core/workflow/propose/propose.d.ts.map +1 -1
  131. package/dist/core/workflow/propose/propose.js +131 -14
  132. package/dist/core/workflow/propose/propose.js.map +1 -1
  133. package/dist/core/workflow/propose/query-normalizer.d.ts +7 -1
  134. package/dist/core/workflow/propose/query-normalizer.d.ts.map +1 -1
  135. package/dist/core/workflow/propose/query-normalizer.js +52 -2
  136. package/dist/core/workflow/propose/query-normalizer.js.map +1 -1
  137. package/dist/core/workflow/propose/types.d.ts +7 -3
  138. package/dist/core/workflow/propose/types.d.ts.map +1 -1
  139. package/dist/core/workflow/query/query-note-creator.js +1 -1
  140. package/dist/core/workflow/query/query-note-creator.js.map +1 -1
  141. package/dist/core/workflow/query/query-search.d.ts +3 -1
  142. package/dist/core/workflow/query/query-search.d.ts.map +1 -1
  143. package/dist/core/workflow/query/query-search.js +6 -2
  144. package/dist/core/workflow/query/query-search.js.map +1 -1
  145. package/dist/core/workflow/verify/completeness.d.ts +2 -2
  146. package/dist/core/workflow/verify/completeness.d.ts.map +1 -1
  147. package/dist/core/workflow/verify/completeness.js +101 -5
  148. package/dist/core/workflow/verify/completeness.js.map +1 -1
  149. package/dist/core/workflow/verify/correctness.d.ts +6 -0
  150. package/dist/core/workflow/verify/correctness.d.ts.map +1 -1
  151. package/dist/core/workflow/verify/correctness.js +35 -0
  152. package/dist/core/workflow/verify/correctness.js.map +1 -1
  153. package/dist/core/workflow/verify/index.d.ts +2 -2
  154. package/dist/core/workflow/verify/index.d.ts.map +1 -1
  155. package/dist/core/workflow/verify/index.js +2 -2
  156. package/dist/core/workflow/verify/index.js.map +1 -1
  157. package/dist/core/workflow/verify/vault-integrity.d.ts +11 -0
  158. package/dist/core/workflow/verify/vault-integrity.d.ts.map +1 -1
  159. package/dist/core/workflow/verify/vault-integrity.js +47 -2
  160. package/dist/core/workflow/verify/vault-integrity.js.map +1 -1
  161. package/dist/core/workflow/verify/verify.d.ts.map +1 -1
  162. package/dist/core/workflow/verify/verify.js +6 -2
  163. package/dist/core/workflow/verify/verify.js.map +1 -1
  164. package/dist/index.d.ts +7 -0
  165. package/dist/index.d.ts.map +1 -1
  166. package/dist/index.js +8 -1
  167. package/dist/index.js.map +1 -1
  168. package/dist/types/index-record.d.ts +2 -1
  169. package/dist/types/index-record.d.ts.map +1 -1
  170. package/dist/types/retrieval.d.ts +2 -0
  171. package/dist/types/retrieval.d.ts.map +1 -1
  172. package/dist/utils/path-safety.d.ts +8 -0
  173. package/dist/utils/path-safety.d.ts.map +1 -0
  174. package/dist/utils/path-safety.js +15 -0
  175. package/dist/utils/path-safety.js.map +1 -0
  176. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,WAAW,EACX,QAAQ,GACT,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,OAAO,EACP,eAAe,EACf,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,YAAY,EACV,WAAW,EACX,UAAU,EACV,YAAY,GACb,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,cAAc,EACd,cAAc,EACd,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,cAAc,EACd,UAAU,GACX,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,WAAW,EACX,YAAY,EACZ,aAAa,EACb,eAAe,GAChB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAGtE,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,WAAW,EACX,QAAQ,GACT,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,OAAO,EACP,eAAe,EACf,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,YAAY,EACV,WAAW,EACX,UAAU,EACV,YAAY,GACb,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,cAAc,EACd,cAAc,EACd,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,cAAc,EACd,UAAU,GACX,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,WAAW,EACX,YAAY,EACZ,aAAa,EACb,eAAe,GAChB,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,9 @@
1
- export {};
1
+ // ── Runtime API ──
2
+ export { buildIndex } from './core/index/build.js';
3
+ export { retrieve } from './core/retrieval/retrieve.js';
4
+ export { verify } from './core/workflow/verify/verify.js';
5
+ export { analyzeSequencing } from './core/sequencing/analyze.js';
6
+ export { parseNote } from './core/parser/note-parser.js';
7
+ export { propose } from './core/workflow/propose/propose.js';
8
+ export { continueChange } from './core/workflow/continue/continue.js';
2
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC"}
@@ -37,9 +37,10 @@ export interface VaultIndex {
37
37
  records: Map<string, IndexRecord>;
38
38
  warnings: IndexWarning[];
39
39
  }
40
- export type IndexWarningType = 'duplicate_id' | 'unresolved_wikilink' | 'ambiguous_alias' | 'missing_id' | 'schema_mismatch' | 'invalid_frontmatter';
40
+ export type IndexWarningType = 'duplicate_id' | 'unresolved_wikilink' | 'ambiguous_alias' | 'missing_id' | 'schema_mismatch' | 'invalid_frontmatter' | 'empty_typed_note';
41
41
  export interface IndexWarning {
42
42
  type: IndexWarningType;
43
+ severity?: 'warning' | 'error';
43
44
  note_path: string;
44
45
  message: string;
45
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index-record.d.ts","sourceRoot":"","sources":["../../src/types/index-record.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IAGf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAGlB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IAGnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClC,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,GACxB,cAAc,GACd,qBAAqB,GACrB,iBAAiB,GACjB,YAAY,GACZ,iBAAiB,GACjB,qBAAqB,CAAC;AAE1B,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"index-record.d.ts","sourceRoot":"","sources":["../../src/types/index-record.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IAGf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAGlB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IAGnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClC,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,GACxB,cAAc,GACd,qBAAqB,GACrB,iBAAiB,GACjB,YAAY,GACZ,iBAAiB,GACjB,qBAAqB,GACrB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -15,6 +15,8 @@ export interface ScoredCandidate {
15
15
  title: string;
16
16
  score: number;
17
17
  reasons: string[];
18
+ status?: string;
19
+ path?: string;
18
20
  }
19
21
  export interface SequencingSummary {
20
22
  status: 'parallel_safe' | 'needs_review' | 'conflict_candidate' | 'conflict_critical' | 'blocked';
@@ -1 +1 @@
1
- {"version":3,"file":"retrieval.d.ts","sourceRoot":"","sources":["../../src/types/retrieval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,aAAa,GAAG,oBAAoB,CAAC;AAC3G,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,GAAG,cAAc,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,SAAS,CAAC;IAClG,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB"}
1
+ {"version":3,"file":"retrieval.d.ts","sourceRoot":"","sources":["../../src/types/retrieval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,aAAa,GAAG,oBAAoB,CAAC;AAC3G,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,GAAG,cAAc,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,SAAS,CAAC;IAClG,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Assert that a file path resolves to a location inside the vault root.
3
+ * Prevents symlink-based path traversal attacks.
4
+ *
5
+ * @throws Error if the resolved path is outside vaultRoot
6
+ */
7
+ export declare function assertInsideVault(filePath: string, vaultRoot: string): void;
8
+ //# sourceMappingURL=path-safety.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-safety.d.ts","sourceRoot":"","sources":["../../src/utils/path-safety.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAS3E"}
@@ -0,0 +1,15 @@
1
+ import { resolve } from 'node:path';
2
+ /**
3
+ * Assert that a file path resolves to a location inside the vault root.
4
+ * Prevents symlink-based path traversal attacks.
5
+ *
6
+ * @throws Error if the resolved path is outside vaultRoot
7
+ */
8
+ export function assertInsideVault(filePath, vaultRoot) {
9
+ const resolvedPath = resolve(filePath);
10
+ const resolvedRoot = resolve(vaultRoot);
11
+ if (!resolvedPath.startsWith(resolvedRoot + '/') && resolvedPath !== resolvedRoot) {
12
+ throw new Error(`Path traversal blocked: "${resolvedPath}" is outside vault root "${resolvedRoot}"`);
13
+ }
14
+ }
15
+ //# sourceMappingURL=path-safety.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-safety.js","sourceRoot":"","sources":["../../src/utils/path-safety.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,SAAiB;IACnE,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAExC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,GAAG,GAAG,CAAC,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;QAClF,MAAM,IAAI,KAAK,CACb,4BAA4B,YAAY,4BAA4B,YAAY,GAAG,CACpF,CAAC;IACJ,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-wiki-spec",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Obsidian-first wiki workflow engine for specification management",
5
5
  "type": "module",
6
6
  "bin": {
@@ -12,10 +12,11 @@
12
12
  "build": "tsc",
13
13
  "test": "vitest run",
14
14
  "test:watch": "vitest",
15
- "lint": "eslint src/ tests/",
16
- "typecheck": "tsc --noEmit"
15
+ "typecheck": "tsc --noEmit",
16
+ "prepublishOnly": "npm run build"
17
17
  },
18
18
  "dependencies": {
19
+ "@huggingface/transformers": "^3.0.0",
19
20
  "chalk": "^5.3.0",
20
21
  "commander": "^12.1.0",
21
22
  "fast-glob": "^3.3.2",