open-wiki-spec 0.2.3 → 0.3.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.
- package/CHANGELOG.md +54 -0
- package/README.md +50 -3
- package/dist/cli/commands/apply.d.ts.map +1 -1
- package/dist/cli/commands/apply.js +96 -4
- package/dist/cli/commands/apply.js.map +1 -1
- package/dist/cli/commands/archive.d.ts.map +1 -1
- package/dist/cli/commands/archive.js +19 -5
- package/dist/cli/commands/archive.js.map +1 -1
- package/dist/cli/commands/bulk-archive.d.ts +15 -0
- package/dist/cli/commands/bulk-archive.d.ts.map +1 -0
- package/dist/cli/commands/bulk-archive.js +97 -0
- package/dist/cli/commands/bulk-archive.js.map +1 -0
- package/dist/cli/commands/continue.d.ts.map +1 -1
- package/dist/cli/commands/continue.js +15 -2
- package/dist/cli/commands/continue.js.map +1 -1
- package/dist/cli/commands/error-handler.d.ts +1 -5
- package/dist/cli/commands/error-handler.d.ts.map +1 -1
- package/dist/cli/commands/error-handler.js +48 -3
- package/dist/cli/commands/error-handler.js.map +1 -1
- package/dist/cli/commands/init.d.ts +0 -3
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +22 -4
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/list.d.ts +2 -17
- package/dist/cli/commands/list.d.ts.map +1 -1
- package/dist/cli/commands/list.js +15 -3
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/migrate.d.ts.map +1 -1
- package/dist/cli/commands/migrate.js +6 -9
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/cli/commands/propose.d.ts.map +1 -1
- package/dist/cli/commands/propose.js +46 -6
- package/dist/cli/commands/propose.js.map +1 -1
- package/dist/cli/commands/query.d.ts.map +1 -1
- package/dist/cli/commands/query.js +101 -5
- package/dist/cli/commands/query.js.map +1 -1
- package/dist/cli/commands/retrieve.d.ts +7 -0
- package/dist/cli/commands/retrieve.d.ts.map +1 -0
- package/dist/cli/commands/retrieve.js +70 -0
- package/dist/cli/commands/retrieve.js.map +1 -0
- package/dist/cli/commands/revert.d.ts +18 -0
- package/dist/cli/commands/revert.d.ts.map +1 -0
- package/dist/cli/commands/revert.js +109 -0
- package/dist/cli/commands/revert.js.map +1 -0
- package/dist/cli/commands/status.d.ts +2 -19
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +42 -3
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/verify.d.ts.map +1 -1
- package/dist/cli/commands/verify.js +12 -1
- package/dist/cli/commands/verify.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +68 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/init-engine.d.ts.map +1 -1
- package/dist/cli/init/init-engine.js +19 -6
- package/dist/cli/init/init-engine.js.map +1 -1
- package/dist/cli/init/meta-files.d.ts +2 -1
- package/dist/cli/init/meta-files.d.ts.map +1 -1
- package/dist/cli/init/meta-files.js +167 -8
- package/dist/cli/init/meta-files.js.map +1 -1
- package/dist/cli/init/skill-generator.d.ts +3 -0
- package/dist/cli/init/skill-generator.d.ts.map +1 -1
- package/dist/cli/init/skill-generator.js +184 -3
- package/dist/cli/init/skill-generator.js.map +1 -1
- package/dist/cli/json-envelope.d.ts +15 -0
- package/dist/cli/json-envelope.d.ts.map +1 -0
- package/dist/cli/json-envelope.js +86 -0
- package/dist/cli/json-envelope.js.map +1 -0
- package/dist/cli/schema-check.d.ts +27 -0
- package/dist/cli/schema-check.d.ts.map +1 -0
- package/dist/cli/schema-check.js +33 -0
- package/dist/cli/schema-check.js.map +1 -0
- package/dist/cli/vault-discovery.d.ts.map +1 -1
- package/dist/cli/vault-discovery.js +16 -2
- package/dist/cli/vault-discovery.js.map +1 -1
- package/dist/core/embedding/cache.d.ts +12 -3
- package/dist/core/embedding/cache.d.ts.map +1 -1
- package/dist/core/embedding/cache.js +42 -5
- package/dist/core/embedding/cache.js.map +1 -1
- package/dist/core/embedding/embedder.d.ts +18 -0
- package/dist/core/embedding/embedder.d.ts.map +1 -1
- package/dist/core/embedding/embedder.js +87 -10
- package/dist/core/embedding/embedder.js.map +1 -1
- package/dist/core/index/build.d.ts.map +1 -1
- package/dist/core/index/build.js +54 -6
- package/dist/core/index/build.js.map +1 -1
- package/dist/core/index/resolve.d.ts.map +1 -1
- package/dist/core/index/resolve.js +27 -12
- package/dist/core/index/resolve.js.map +1 -1
- package/dist/core/index/scan.d.ts +10 -1
- package/dist/core/index/scan.d.ts.map +1 -1
- package/dist/core/index/scan.js +59 -10
- package/dist/core/index/scan.js.map +1 -1
- package/dist/core/index/schema-version.d.ts +28 -0
- package/dist/core/index/schema-version.d.ts.map +1 -1
- package/dist/core/index/schema-version.js +47 -0
- package/dist/core/index/schema-version.js.map +1 -1
- package/dist/core/migrate/change-converter.d.ts.map +1 -1
- package/dist/core/migrate/change-converter.js +59 -11
- package/dist/core/migrate/change-converter.js.map +1 -1
- package/dist/core/migrate/migrate.d.ts.map +1 -1
- package/dist/core/migrate/migrate.js +115 -1
- package/dist/core/migrate/migrate.js.map +1 -1
- package/dist/core/migrate/sanitize.d.ts +17 -0
- package/dist/core/migrate/sanitize.d.ts.map +1 -0
- package/dist/core/migrate/sanitize.js +33 -0
- package/dist/core/migrate/sanitize.js.map +1 -0
- package/dist/core/migrate/spec-converter.d.ts.map +1 -1
- package/dist/core/migrate/spec-converter.js +9 -3
- package/dist/core/migrate/spec-converter.js.map +1 -1
- package/dist/core/migrate/types.d.ts +9 -0
- package/dist/core/migrate/types.d.ts.map +1 -1
- package/dist/core/parser/frontmatter-parser.d.ts +0 -6
- package/dist/core/parser/frontmatter-parser.d.ts.map +1 -1
- package/dist/core/parser/frontmatter-parser.js +59 -2
- package/dist/core/parser/frontmatter-parser.js.map +1 -1
- package/dist/core/parser/note-parser.js +15 -4
- package/dist/core/parser/note-parser.js.map +1 -1
- package/dist/core/parser/requirement-parser.js +4 -0
- package/dist/core/parser/requirement-parser.js.map +1 -1
- package/dist/core/parser/task-parser.d.ts.map +1 -1
- package/dist/core/parser/task-parser.js +19 -0
- package/dist/core/parser/task-parser.js.map +1 -1
- package/dist/core/parser/wikilink-parser.d.ts.map +1 -1
- package/dist/core/parser/wikilink-parser.js +21 -5
- package/dist/core/parser/wikilink-parser.js.map +1 -1
- package/dist/core/retrieval/classify.d.ts +11 -4
- package/dist/core/retrieval/classify.d.ts.map +1 -1
- package/dist/core/retrieval/classify.js +76 -14
- package/dist/core/retrieval/classify.js.map +1 -1
- package/dist/core/retrieval/lexical.d.ts.map +1 -1
- package/dist/core/retrieval/lexical.js +31 -12
- package/dist/core/retrieval/lexical.js.map +1 -1
- package/dist/core/retrieval/retrieve.d.ts.map +1 -1
- package/dist/core/retrieval/retrieve.js +45 -5
- package/dist/core/retrieval/retrieve.js.map +1 -1
- package/dist/core/retrieval/scoring.d.ts.map +1 -1
- package/dist/core/retrieval/scoring.js +37 -12
- package/dist/core/retrieval/scoring.js.map +1 -1
- package/dist/core/schema/change.schema.d.ts.map +1 -1
- package/dist/core/schema/change.schema.js +6 -1
- package/dist/core/schema/change.schema.js.map +1 -1
- package/dist/core/schema/feature.schema.d.ts +1 -1
- package/dist/core/schema/feature.schema.d.ts.map +1 -1
- package/dist/core/schema/feature.schema.js +1 -0
- package/dist/core/schema/feature.schema.js.map +1 -1
- package/dist/core/schema/frontmatter.d.ts +15 -0
- package/dist/core/schema/frontmatter.d.ts.map +1 -1
- package/dist/core/schema/index.d.ts +15 -0
- package/dist/core/schema/index.d.ts.map +1 -1
- package/dist/core/schema/query.schema.d.ts +15 -0
- package/dist/core/schema/query.schema.d.ts.map +1 -1
- package/dist/core/schema/query.schema.js +5 -0
- package/dist/core/schema/query.schema.js.map +1 -1
- package/dist/core/schema/templates.d.ts +0 -4
- package/dist/core/schema/templates.d.ts.map +1 -1
- package/dist/core/schema/templates.js +25 -7
- package/dist/core/schema/templates.js.map +1 -1
- package/dist/core/sequencing/analyze.d.ts.map +1 -1
- package/dist/core/sequencing/analyze.js +3 -1
- package/dist/core/sequencing/analyze.js.map +1 -1
- package/dist/core/sequencing/priority-queue.d.ts +9 -3
- package/dist/core/sequencing/priority-queue.d.ts.map +1 -1
- package/dist/core/sequencing/priority-queue.js +10 -4
- package/dist/core/sequencing/priority-queue.js.map +1 -1
- package/dist/core/sequencing/stale-detector.d.ts.map +1 -1
- package/dist/core/sequencing/stale-detector.js +5 -0
- package/dist/core/sequencing/stale-detector.js.map +1 -1
- package/dist/core/workflow/apply/apply.d.ts.map +1 -1
- package/dist/core/workflow/apply/apply.js +494 -55
- package/dist/core/workflow/apply/apply.js.map +1 -1
- package/dist/core/workflow/apply/delta-parser.d.ts.map +1 -1
- package/dist/core/workflow/apply/delta-parser.js +43 -9
- package/dist/core/workflow/apply/delta-parser.js.map +1 -1
- package/dist/core/workflow/apply/feature-updater.d.ts.map +1 -1
- package/dist/core/workflow/apply/feature-updater.js +27 -11
- package/dist/core/workflow/apply/feature-updater.js.map +1 -1
- package/dist/core/workflow/apply/types.d.ts +14 -0
- package/dist/core/workflow/apply/types.d.ts.map +1 -1
- package/dist/core/workflow/continue/continue.d.ts +18 -0
- package/dist/core/workflow/continue/continue.d.ts.map +1 -1
- package/dist/core/workflow/continue/continue.js +134 -15
- package/dist/core/workflow/continue/continue.js.map +1 -1
- package/dist/core/workflow/continue/next-action.d.ts.map +1 -1
- package/dist/core/workflow/continue/next-action.js +16 -3
- package/dist/core/workflow/continue/next-action.js.map +1 -1
- package/dist/core/workflow/continue/types.d.ts +12 -0
- package/dist/core/workflow/continue/types.d.ts.map +1 -1
- package/dist/core/workflow/propose/note-creator.d.ts +2 -2
- package/dist/core/workflow/propose/note-creator.d.ts.map +1 -1
- package/dist/core/workflow/propose/note-creator.js +89 -12
- package/dist/core/workflow/propose/note-creator.js.map +1 -1
- package/dist/core/workflow/propose/propose.d.ts.map +1 -1
- package/dist/core/workflow/propose/propose.js +190 -46
- package/dist/core/workflow/propose/propose.js.map +1 -1
- package/dist/core/workflow/propose/query-normalizer.d.ts.map +1 -1
- package/dist/core/workflow/propose/query-normalizer.js +37 -5
- package/dist/core/workflow/propose/query-normalizer.js.map +1 -1
- package/dist/core/workflow/propose/types.d.ts +15 -0
- package/dist/core/workflow/propose/types.d.ts.map +1 -1
- package/dist/core/workflow/propose/types.js +6 -1
- package/dist/core/workflow/propose/types.js.map +1 -1
- package/dist/core/workflow/query/query-note-creator.d.ts +0 -4
- package/dist/core/workflow/query/query-note-creator.d.ts.map +1 -1
- package/dist/core/workflow/query/query-note-creator.js +27 -37
- package/dist/core/workflow/query/query-note-creator.js.map +1 -1
- package/dist/core/workflow/verify/coherence.d.ts +10 -0
- package/dist/core/workflow/verify/coherence.d.ts.map +1 -1
- package/dist/core/workflow/verify/coherence.js +91 -4
- package/dist/core/workflow/verify/coherence.js.map +1 -1
- package/dist/core/workflow/verify/completeness.d.ts +1 -1
- package/dist/core/workflow/verify/completeness.d.ts.map +1 -1
- package/dist/core/workflow/verify/completeness.js +53 -10
- package/dist/core/workflow/verify/completeness.js.map +1 -1
- package/dist/core/workflow/verify/correctness.d.ts +1 -1
- package/dist/core/workflow/verify/correctness.d.ts.map +1 -1
- package/dist/core/workflow/verify/correctness.js +95 -14
- package/dist/core/workflow/verify/correctness.js.map +1 -1
- package/dist/core/workflow/verify/vault-integrity.d.ts +11 -0
- package/dist/core/workflow/verify/vault-integrity.d.ts.map +1 -1
- package/dist/core/workflow/verify/vault-integrity.js +80 -3
- package/dist/core/workflow/verify/vault-integrity.js.map +1 -1
- package/dist/core/workflow/verify/verify.d.ts +0 -5
- package/dist/core/workflow/verify/verify.d.ts.map +1 -1
- package/dist/core/workflow/verify/verify.js +54 -3
- package/dist/core/workflow/verify/verify.js.map +1 -1
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -1
- package/dist/types/cli-contracts.d.ts +78 -0
- package/dist/types/cli-contracts.d.ts.map +1 -0
- package/dist/types/cli-contracts.js +2 -0
- package/dist/types/cli-contracts.js.map +1 -0
- package/dist/types/error-codes.d.ts +25 -0
- package/dist/types/error-codes.d.ts.map +1 -0
- package/dist/types/error-codes.js +27 -0
- package/dist/types/error-codes.js.map +1 -0
- package/dist/types/frontmatter.d.ts +9 -2
- package/dist/types/frontmatter.d.ts.map +1 -1
- package/dist/types/next-action.d.ts +21 -0
- package/dist/types/next-action.d.ts.map +1 -1
- package/dist/types/retrieval.d.ts +17 -0
- package/dist/types/retrieval.d.ts.map +1 -1
- package/dist/types/verify.d.ts +58 -1
- package/dist/types/verify.d.ts.map +1 -1
- package/dist/types/verify.js +58 -1
- package/dist/types/verify.js.map +1 -1
- package/dist/utils/conventions.d.ts +9 -0
- package/dist/utils/conventions.d.ts.map +1 -0
- package/dist/utils/conventions.js +22 -0
- package/dist/utils/conventions.js.map +1 -0
- package/dist/utils/id-generator.d.ts.map +1 -1
- package/dist/utils/id-generator.js +8 -0
- package/dist/utils/id-generator.js.map +1 -1
- package/dist/utils/normalize.d.ts +7 -4
- package/dist/utils/normalize.d.ts.map +1 -1
- package/dist/utils/normalize.js +43 -6
- package/dist/utils/normalize.js.map +1 -1
- package/dist/utils/path-safety.d.ts +12 -1
- package/dist/utils/path-safety.d.ts.map +1 -1
- package/dist/utils/path-safety.js +54 -3
- package/dist/utils/path-safety.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared schema-version compatibility check for CLI commands.
|
|
3
|
+
*
|
|
4
|
+
* Problem: `buildIndex` loads the vault's declared schema version into the
|
|
5
|
+
* index but does not validate it, and only `ows verify` calls
|
|
6
|
+
* `isSchemaVersionSupported`. Every other command (status, propose,
|
|
7
|
+
* continue, apply, query, ...) happily operates on a vault with an
|
|
8
|
+
* unknown or unsupported schema, silently risking miscommunication
|
|
9
|
+
* between the tool version and the vault format.
|
|
10
|
+
*
|
|
11
|
+
* This helper prints a clear stderr warning once per CLI invocation when
|
|
12
|
+
* the loaded index carries an unsupported or missing schema version. It is
|
|
13
|
+
* non-throwing on purpose so read-only commands like `ows status` still
|
|
14
|
+
* work on legacy vaults — they just surface the mismatch loudly so the
|
|
15
|
+
* user can decide whether to upgrade.
|
|
16
|
+
*
|
|
17
|
+
* Set `OWS_QUIET=1` in the environment to suppress the warning (useful in
|
|
18
|
+
* CI pipelines that run `ows` against known-good fixtures).
|
|
19
|
+
*/
|
|
20
|
+
import type { VaultIndex } from '../types/index-record.js';
|
|
21
|
+
export declare function warnOnUnsupportedSchema(index: VaultIndex): void;
|
|
22
|
+
/**
|
|
23
|
+
* Reset the once-per-process latch. Test-only — production code never
|
|
24
|
+
* needs to call this.
|
|
25
|
+
*/
|
|
26
|
+
export declare function __resetSchemaWarnLatchForTests(): void;
|
|
27
|
+
//# sourceMappingURL=schema-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-check.d.ts","sourceRoot":"","sources":["../../src/cli/schema-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAK3D,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CA0B/D;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,IAAI,IAAI,CAErD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { isSchemaVersionSupported, SUPPORTED_SCHEMA_VERSIONS } from '../core/index/schema-version.js';
|
|
2
|
+
let warnedOnce = false;
|
|
3
|
+
export function warnOnUnsupportedSchema(index) {
|
|
4
|
+
if (warnedOnce)
|
|
5
|
+
return;
|
|
6
|
+
if (process.env.OWS_QUIET === '1')
|
|
7
|
+
return;
|
|
8
|
+
const version = index.schema_version;
|
|
9
|
+
if (!version || version === 'unknown') {
|
|
10
|
+
warnedOnce = true;
|
|
11
|
+
process.stderr.write(`[ows] Warning: vault has no declared schema_version ` +
|
|
12
|
+
`(wiki/00-meta/schema.md missing or empty). This CLI version expects ` +
|
|
13
|
+
`one of: ${SUPPORTED_SCHEMA_VERSIONS.join(', ')}. ` +
|
|
14
|
+
`Run \`ows init\` to initialize metadata, or \`ows migrate\` to import ` +
|
|
15
|
+
`an existing openspec/ directory. Continuing with best-effort parsing.\n`);
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
if (!isSchemaVersionSupported(version)) {
|
|
19
|
+
warnedOnce = true;
|
|
20
|
+
process.stderr.write(`[ows] Warning: vault schema_version "${version}" is not supported by ` +
|
|
21
|
+
`this ows version (supported: ${SUPPORTED_SCHEMA_VERSIONS.join(', ')}). ` +
|
|
22
|
+
`Results may be incorrect. Upgrade the vault or pin a compatible ows release. ` +
|
|
23
|
+
`Run \`ows verify\` for details.\n`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Reset the once-per-process latch. Test-only — production code never
|
|
28
|
+
* needs to call this.
|
|
29
|
+
*/
|
|
30
|
+
export function __resetSchemaWarnLatchForTests() {
|
|
31
|
+
warnedOnce = false;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=schema-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-check.js","sourceRoot":"","sources":["../../src/cli/schema-check.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEtG,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,MAAM,UAAU,uBAAuB,CAAC,KAAiB;IACvD,IAAI,UAAU;QAAE,OAAO;IACvB,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,GAAG;QAAE,OAAO;IAE1C,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC;IACrC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACtC,UAAU,GAAG,IAAI,CAAC;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sDAAsD;YACpD,sEAAsE;YACtE,WAAW,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACnD,wEAAwE;YACxE,yEAAyE,CAC5E,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,UAAU,GAAG,IAAI,CAAC;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,wCAAwC,OAAO,wBAAwB;YACrE,gCAAgC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YACzE,+EAA+E;YAC/E,mCAAmC,CACtC,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B;IAC5C,UAAU,GAAG,KAAK,CAAC;AACrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault-discovery.d.ts","sourceRoot":"","sources":["../../src/cli/vault-discovery.ts"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"vault-discovery.d.ts","sourceRoot":"","sources":["../../src/cli/vault-discovery.ts"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAmC3D"}
|
|
@@ -13,7 +13,8 @@ import * as path from 'node:path';
|
|
|
13
13
|
* @throws Error if no valid wiki/ directory is found.
|
|
14
14
|
*/
|
|
15
15
|
export function discoverVaultPath(startDir) {
|
|
16
|
-
|
|
16
|
+
const cwd = startDir ?? process.cwd();
|
|
17
|
+
let dir = cwd;
|
|
17
18
|
while (true) {
|
|
18
19
|
const candidate = path.join(dir, 'wiki');
|
|
19
20
|
if (fs.existsSync(candidate) &&
|
|
@@ -23,7 +24,20 @@ export function discoverVaultPath(startDir) {
|
|
|
23
24
|
}
|
|
24
25
|
const parent = path.dirname(dir);
|
|
25
26
|
if (parent === dir) {
|
|
26
|
-
|
|
27
|
+
// Reached filesystem root without finding a vault.
|
|
28
|
+
// Give an explicit, actionable error that distinguishes the two common cases:
|
|
29
|
+
// (a) user is not in a project directory → `cd` into the project
|
|
30
|
+
// (b) user is in a project but hasn't initialized → `ows init`
|
|
31
|
+
const err = new Error(`No open-wiki-spec vault found.\n\n` +
|
|
32
|
+
`Searched from: ${cwd}\n` +
|
|
33
|
+
`(walked up to filesystem root looking for a directory containing wiki/00-meta/schema.md)\n\n` +
|
|
34
|
+
`To fix this:\n` +
|
|
35
|
+
` • If you're in the wrong directory: cd into your project root and retry.\n` +
|
|
36
|
+
` • If you haven't initialized a vault yet: run \`ows init\` inside your project.\n` +
|
|
37
|
+
` • If your vault lives elsewhere: cd into the project root that contains wiki/.\n\n` +
|
|
38
|
+
`ows commands must run from inside a project that has a wiki/ directory.`);
|
|
39
|
+
err.code = 'VAULT_NOT_FOUND';
|
|
40
|
+
throw err;
|
|
27
41
|
}
|
|
28
42
|
dir = parent;
|
|
29
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault-discovery.js","sourceRoot":"","sources":["../../src/cli/vault-discovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAiB;IACjD,
|
|
1
|
+
{"version":3,"file":"vault-discovery.js","sourceRoot":"","sources":["../../src/cli/vault-discovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAiB;IACjD,MAAM,GAAG,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACtC,IAAI,GAAG,GAAG,GAAG,CAAC;IAEd,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACzC,IACE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YACxB,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;YACpC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,EAC3D,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,mDAAmD;YACnD,8EAA8E;YAC9E,mEAAmE;YACnE,iEAAiE;YACjE,MAAM,GAAG,GAAG,IAAI,KAAK,CACnB,oCAAoC;gBACpC,kBAAkB,GAAG,IAAI;gBACzB,8FAA8F;gBAC9F,gBAAgB;gBAChB,8EAA8E;gBAC9E,qFAAqF;gBACrF,sFAAsF;gBACtF,yEAAyE,CAC1E,CAAC;YACD,GAA6B,CAAC,IAAI,GAAG,iBAAiB,CAAC;YACxD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -4,17 +4,26 @@ export interface EmbeddingCacheEntry {
|
|
|
4
4
|
}
|
|
5
5
|
export interface EmbeddingCache {
|
|
6
6
|
model: string;
|
|
7
|
+
/** Model revision hash — cache is invalidated when revision changes. */
|
|
8
|
+
revision?: string;
|
|
7
9
|
entries: Record<string, EmbeddingCacheEntry>;
|
|
8
10
|
}
|
|
9
|
-
export declare function createEmptyCache(model: string): EmbeddingCache;
|
|
11
|
+
export declare function createEmptyCache(model: string, revision?: string): EmbeddingCache;
|
|
10
12
|
/**
|
|
11
13
|
* Load embedding cache from disk.
|
|
12
14
|
* Returns null if file doesn't exist, is corrupted, or model mismatches.
|
|
13
15
|
*/
|
|
14
|
-
export declare function loadEmbeddingCache(filePath: string, expectedModel?: string): EmbeddingCache | null;
|
|
16
|
+
export declare function loadEmbeddingCache(filePath: string, expectedModel?: string, expectedRevision?: string): EmbeddingCache | null;
|
|
15
17
|
/**
|
|
16
18
|
* Save embedding cache to disk atomically (write-to-temp-then-rename).
|
|
17
|
-
*
|
|
19
|
+
*
|
|
20
|
+
* Concurrent-write safety: two simultaneous `propose` processes each load
|
|
21
|
+
* the file, add their own entries, and save. A naive last-write-wins would
|
|
22
|
+
* drop the other process's new entries. Before the atomic rename, re-read
|
|
23
|
+
* whatever is currently on disk and merge its entries with ours — favoring
|
|
24
|
+
* in-memory entries on conflict (newest wins, which is safe because cache
|
|
25
|
+
* entries are content-addressed by content_hash). Cache misses cost an
|
|
26
|
+
* embed recompute but never data loss.
|
|
18
27
|
*/
|
|
19
28
|
export declare function saveEmbeddingCache(filePath: string, cache: EmbeddingCache): void;
|
|
20
29
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/core/embedding/cache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/core/embedding/cache.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAC9C;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc,CAEjF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,MAAM,EACtB,gBAAgB,CAAC,EAAE,MAAM,GACxB,cAAc,GAAG,IAAI,CAavB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,CAoChF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,GAClB,MAAM,EAAE,GAAG,IAAI,CAIjB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EAAE,EAChB,WAAW,EAAE,MAAM,GAClB,IAAI,CAEN"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import * as fs from 'node:fs';
|
|
2
2
|
import * as path from 'node:path';
|
|
3
3
|
import * as crypto from 'node:crypto';
|
|
4
|
-
export function createEmptyCache(model) {
|
|
5
|
-
return { model, entries: {} };
|
|
4
|
+
export function createEmptyCache(model, revision) {
|
|
5
|
+
return { model, revision, entries: {} };
|
|
6
6
|
}
|
|
7
7
|
/**
|
|
8
8
|
* Load embedding cache from disk.
|
|
9
9
|
* Returns null if file doesn't exist, is corrupted, or model mismatches.
|
|
10
10
|
*/
|
|
11
|
-
export function loadEmbeddingCache(filePath, expectedModel) {
|
|
11
|
+
export function loadEmbeddingCache(filePath, expectedModel, expectedRevision) {
|
|
12
12
|
try {
|
|
13
13
|
if (!fs.existsSync(filePath))
|
|
14
14
|
return null;
|
|
@@ -18,6 +18,9 @@ export function loadEmbeddingCache(filePath, expectedModel) {
|
|
|
18
18
|
return null;
|
|
19
19
|
if (expectedModel && data.model !== expectedModel)
|
|
20
20
|
return null;
|
|
21
|
+
// Invalidate cache when revision changes
|
|
22
|
+
if (expectedRevision && data.revision && data.revision !== expectedRevision)
|
|
23
|
+
return null;
|
|
21
24
|
return data;
|
|
22
25
|
}
|
|
23
26
|
catch {
|
|
@@ -26,13 +29,47 @@ export function loadEmbeddingCache(filePath, expectedModel) {
|
|
|
26
29
|
}
|
|
27
30
|
/**
|
|
28
31
|
* Save embedding cache to disk atomically (write-to-temp-then-rename).
|
|
29
|
-
*
|
|
32
|
+
*
|
|
33
|
+
* Concurrent-write safety: two simultaneous `propose` processes each load
|
|
34
|
+
* the file, add their own entries, and save. A naive last-write-wins would
|
|
35
|
+
* drop the other process's new entries. Before the atomic rename, re-read
|
|
36
|
+
* whatever is currently on disk and merge its entries with ours — favoring
|
|
37
|
+
* in-memory entries on conflict (newest wins, which is safe because cache
|
|
38
|
+
* entries are content-addressed by content_hash). Cache misses cost an
|
|
39
|
+
* embed recompute but never data loss.
|
|
30
40
|
*/
|
|
31
41
|
export function saveEmbeddingCache(filePath, cache) {
|
|
32
42
|
const dir = path.dirname(filePath);
|
|
33
43
|
fs.mkdirSync(dir, { recursive: true });
|
|
44
|
+
// Merge with any on-disk version that was written by a concurrent process
|
|
45
|
+
// between our load and save. Only merge when model/revision match — mismatch
|
|
46
|
+
// means the other process already invalidated our cache generation.
|
|
47
|
+
let merged = cache;
|
|
48
|
+
try {
|
|
49
|
+
if (fs.existsSync(filePath)) {
|
|
50
|
+
const raw = fs.readFileSync(filePath, 'utf-8');
|
|
51
|
+
const onDisk = JSON.parse(raw);
|
|
52
|
+
if (onDisk &&
|
|
53
|
+
onDisk.model === cache.model &&
|
|
54
|
+
(onDisk.revision ?? undefined) === (cache.revision ?? undefined) &&
|
|
55
|
+
onDisk.entries &&
|
|
56
|
+
typeof onDisk.entries === 'object') {
|
|
57
|
+
merged = {
|
|
58
|
+
model: cache.model,
|
|
59
|
+
revision: cache.revision,
|
|
60
|
+
// Spread on-disk first so in-memory entries win on key collision.
|
|
61
|
+
entries: { ...onDisk.entries, ...cache.entries },
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
// On-disk file corrupted or unreadable — fall through and overwrite
|
|
68
|
+
// with our in-memory copy. We prefer losing the corrupted bytes over
|
|
69
|
+
// failing the whole save.
|
|
70
|
+
}
|
|
34
71
|
const tmpPath = path.join(dir, `.embeddings-${crypto.randomBytes(4).toString('hex')}.tmp`);
|
|
35
|
-
fs.writeFileSync(tmpPath, JSON.stringify(
|
|
72
|
+
fs.writeFileSync(tmpPath, JSON.stringify(merged), 'utf-8');
|
|
36
73
|
fs.renameSync(tmpPath, filePath);
|
|
37
74
|
}
|
|
38
75
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/core/embedding/cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/core/embedding/cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
* Uses @huggingface/transformers when available, otherwise returns null vectors.
|
|
4
4
|
*/
|
|
5
5
|
export declare const DEFAULT_MODEL = "Xenova/multilingual-e5-small";
|
|
6
|
+
/**
|
|
7
|
+
* Pinned model revision (commit hash) on HuggingFace Hub.
|
|
8
|
+
* Update this hash when intentionally upgrading the model version.
|
|
9
|
+
* For air-gapped environments, set CreateEmbedderOptions.localModelPath
|
|
10
|
+
* to a local directory containing the model files instead.
|
|
11
|
+
*/
|
|
12
|
+
export declare const DEFAULT_MODEL_REVISION = "bf4b30e4e5543f3949ad93f84e0b12c40feb1528";
|
|
6
13
|
export type EmbedPipeline = (text: string) => Promise<number[]>;
|
|
7
14
|
export interface Embedder {
|
|
8
15
|
available: boolean;
|
|
@@ -16,6 +23,17 @@ export interface CreateEmbedderOptions {
|
|
|
16
23
|
pipeline?: EmbedPipeline;
|
|
17
24
|
/** Model name override. */
|
|
18
25
|
model?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Model revision (commit hash) to pin downloads to a specific version.
|
|
28
|
+
* Defaults to DEFAULT_MODEL_REVISION.
|
|
29
|
+
*/
|
|
30
|
+
revision?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Local filesystem path to a pre-downloaded model directory.
|
|
33
|
+
* When set, the model is loaded from disk instead of downloading from HuggingFace Hub.
|
|
34
|
+
* Recommended for air-gapped or security-sensitive environments.
|
|
35
|
+
*/
|
|
36
|
+
localModelPath?: string;
|
|
19
37
|
}
|
|
20
38
|
/**
|
|
21
39
|
* Create an embedder instance.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedder.d.ts","sourceRoot":"","sources":["../../../src/core/embedding/embedder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,aAAa,iCAAiC,CAAC;AAE5D,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAEhE,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,qBAAqB;IACpC,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"embedder.d.ts","sourceRoot":"","sources":["../../../src/core/embedding/embedder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,aAAa,iCAAiC,CAAC;AAE5D;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,6CAA6C,CAAC;AAEjF,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAEhE,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,qBAAqB;IACpC,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAiBD;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,QAAQ,CAAC,CA+CnB"}
|
|
@@ -3,41 +3,118 @@
|
|
|
3
3
|
* Uses @huggingface/transformers when available, otherwise returns null vectors.
|
|
4
4
|
*/
|
|
5
5
|
export const DEFAULT_MODEL = 'Xenova/multilingual-e5-small';
|
|
6
|
+
/**
|
|
7
|
+
* Pinned model revision (commit hash) on HuggingFace Hub.
|
|
8
|
+
* Update this hash when intentionally upgrading the model version.
|
|
9
|
+
* For air-gapped environments, set CreateEmbedderOptions.localModelPath
|
|
10
|
+
* to a local directory containing the model files instead.
|
|
11
|
+
*/
|
|
12
|
+
export const DEFAULT_MODEL_REVISION = 'bf4b30e4e5543f3949ad93f84e0b12c40feb1528';
|
|
13
|
+
/**
|
|
14
|
+
* In-flight embedder promises keyed by model identity so concurrent
|
|
15
|
+
* `propose` calls within the same Node process share a single load —
|
|
16
|
+
* avoiding a redundant model download/initialization on cold start.
|
|
17
|
+
*
|
|
18
|
+
* We can't dedupe across separate Node processes from JavaScript (that
|
|
19
|
+
* would need a filesystem lock), but transformers.js already caches
|
|
20
|
+
* model files on disk, so the cost of two parallel processes is a
|
|
21
|
+
* one-time race on the cache directory, not a full double download.
|
|
22
|
+
* Within a single process (tests, long-lived server wrappers, repeated
|
|
23
|
+
* CLI invocations via programmatic API) this latch prevents the
|
|
24
|
+
* pathological case of two proposes each spawning a full initialization.
|
|
25
|
+
*/
|
|
26
|
+
const inFlightEmbedders = new Map();
|
|
6
27
|
/**
|
|
7
28
|
* Create an embedder instance.
|
|
8
29
|
* When @huggingface/transformers is not installed or loadModel is false,
|
|
9
30
|
* returns a no-op embedder (available: false).
|
|
10
31
|
*/
|
|
11
32
|
export async function createEmbedder(options = {}) {
|
|
12
|
-
const { loadModel = true, pipeline: injectedPipeline, model = DEFAULT_MODEL } = options;
|
|
13
|
-
// If a mock pipeline is injected, use it directly
|
|
33
|
+
const { loadModel = true, pipeline: injectedPipeline, model = DEFAULT_MODEL, revision = DEFAULT_MODEL_REVISION, localModelPath, } = options;
|
|
34
|
+
// If a mock pipeline is injected, use it directly.
|
|
35
|
+
// Apply the same empty-string guard as the real model path so tests
|
|
36
|
+
// and the null embedder see the same contract: whitespace-only input
|
|
37
|
+
// returns null rather than a garbage vector.
|
|
14
38
|
if (injectedPipeline) {
|
|
39
|
+
const guardedInjected = async (text) => {
|
|
40
|
+
if (!text || text.trim().length === 0)
|
|
41
|
+
return null;
|
|
42
|
+
return injectedPipeline(text);
|
|
43
|
+
};
|
|
15
44
|
return {
|
|
16
45
|
available: true,
|
|
17
|
-
embed:
|
|
18
|
-
embedBatch: async (texts) => Promise.all(texts.map(
|
|
46
|
+
embed: guardedInjected,
|
|
47
|
+
embedBatch: async (texts) => Promise.all(texts.map(guardedInjected)),
|
|
19
48
|
};
|
|
20
49
|
}
|
|
21
50
|
if (!loadModel) {
|
|
22
51
|
return createNullEmbedder();
|
|
23
52
|
}
|
|
53
|
+
// Singleton-per-model: if another caller in this process has already
|
|
54
|
+
// kicked off an initialization for the same model/revision/path tuple,
|
|
55
|
+
// wait on that promise instead of spawning a duplicate load. Failures
|
|
56
|
+
// are cached too (we clear on error so a retry can try again).
|
|
57
|
+
const cacheKey = `${localModelPath ?? ''}|${model}|${revision ?? ''}`;
|
|
58
|
+
const existing = inFlightEmbedders.get(cacheKey);
|
|
59
|
+
if (existing)
|
|
60
|
+
return existing;
|
|
61
|
+
const loadPromise = loadEmbedderInternal(model, revision, localModelPath);
|
|
62
|
+
inFlightEmbedders.set(cacheKey, loadPromise);
|
|
63
|
+
try {
|
|
64
|
+
return await loadPromise;
|
|
65
|
+
}
|
|
66
|
+
catch (err) {
|
|
67
|
+
// Clear on error so the next call can retry rather than permanently
|
|
68
|
+
// inheriting a failed load.
|
|
69
|
+
inFlightEmbedders.delete(cacheKey);
|
|
70
|
+
throw err;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
async function loadEmbedderInternal(model, revision, localModelPath) {
|
|
24
74
|
// Try to load @huggingface/transformers dynamically
|
|
25
75
|
try {
|
|
26
76
|
const { pipeline } = await import('@huggingface/transformers');
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
77
|
+
const modelSource = localModelPath ?? model;
|
|
78
|
+
const pipelineOpts = { dtype: 'q8' };
|
|
79
|
+
if (!localModelPath && revision) {
|
|
80
|
+
pipelineOpts.revision = revision;
|
|
81
|
+
}
|
|
82
|
+
const extractor = await pipeline('feature-extraction', modelSource, pipelineOpts);
|
|
30
83
|
const embedFn = async (text) => {
|
|
31
84
|
const output = await extractor(text, { pooling: 'mean', normalize: true });
|
|
32
85
|
return Array.from(output.data);
|
|
33
86
|
};
|
|
87
|
+
// Empty-string guard. transformers.js on an empty input produces a
|
|
88
|
+
// degenerate zero-norm vector and emits a warning; that zero vector
|
|
89
|
+
// then pollutes cosine similarity (everything looks like a 0.0 match
|
|
90
|
+
// instead of being filtered out). Match the null-embedder contract
|
|
91
|
+
// and return `null` for empty/whitespace-only inputs so callers
|
|
92
|
+
// can skip scoring cleanly.
|
|
93
|
+
const guardedEmbed = async (text) => {
|
|
94
|
+
if (!text || text.trim().length === 0)
|
|
95
|
+
return null;
|
|
96
|
+
return embedFn(text);
|
|
97
|
+
};
|
|
34
98
|
return {
|
|
35
99
|
available: true,
|
|
36
|
-
embed:
|
|
37
|
-
embedBatch: async (texts) => Promise.all(texts.map(
|
|
100
|
+
embed: guardedEmbed,
|
|
101
|
+
embedBatch: async (texts) => Promise.all(texts.map(guardedEmbed)),
|
|
38
102
|
};
|
|
39
103
|
}
|
|
40
|
-
catch {
|
|
104
|
+
catch (err) {
|
|
105
|
+
// Surface the failure so users know embedding is degraded.
|
|
106
|
+
// Verbose mode emits full error; default emits one-line warning.
|
|
107
|
+
const message = err.message ?? String(err);
|
|
108
|
+
if (process.env.OWS_DEBUG === '1' || process.env.OWS_VERBOSE === '1') {
|
|
109
|
+
process.stderr.write(`[ows] Embedding model failed to load: ${message}\n`);
|
|
110
|
+
if (err.stack) {
|
|
111
|
+
process.stderr.write(`${err.stack}\n`);
|
|
112
|
+
}
|
|
113
|
+
process.stderr.write('[ows] Falling back to lexical-only retrieval (semantic search disabled).\n');
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
process.stderr.write(`[ows] Warning: embedding model unavailable (${message}). Using lexical retrieval only.\n`);
|
|
117
|
+
}
|
|
41
118
|
return createNullEmbedder();
|
|
42
119
|
}
|
|
43
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedder.js","sourceRoot":"","sources":["../../../src/core/embedding/embedder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"embedder.js","sourceRoot":"","sources":["../../../src/core/embedding/embedder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/core/index/build.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,UAAU,EAAgB,MAAM,6BAA6B,CAAC;AAczF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA8BD;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/core/index/build.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,UAAU,EAAgB,MAAM,6BAA6B,CAAC;AAczF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA8BD;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,UAAU,CAgGhF"}
|
package/dist/core/index/build.js
CHANGED
|
@@ -28,7 +28,20 @@ export function buildIndex(vaultRoot, options) {
|
|
|
28
28
|
emptyTypedNotePaths.push(file.path);
|
|
29
29
|
continue;
|
|
30
30
|
}
|
|
31
|
-
|
|
31
|
+
// Catch ENOENT gracefully: files may be deleted between scan and parse.
|
|
32
|
+
// Without this, a single deleted file would abort the entire index build.
|
|
33
|
+
let result;
|
|
34
|
+
try {
|
|
35
|
+
result = parseNoteToRawRecord(file, schemaVersion);
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
const code = err.code;
|
|
39
|
+
if (code === 'ENOENT' || code === 'EACCES') {
|
|
40
|
+
// File vanished or became unreadable — skip silently
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
throw err;
|
|
44
|
+
}
|
|
32
45
|
if (result.invalidFrontmatter) {
|
|
33
46
|
invalidFrontmatterPaths.push(file.path);
|
|
34
47
|
continue;
|
|
@@ -52,11 +65,21 @@ export function buildIndex(vaultRoot, options) {
|
|
|
52
65
|
const linkErrors = [];
|
|
53
66
|
const records = new Map();
|
|
54
67
|
const duplicateIds = detectDuplicateIds(rawRecords);
|
|
68
|
+
// Sort duplicate path groups up front with a locale-independent collator
|
|
69
|
+
// so the "keep first occurrence" decision is deterministic regardless
|
|
70
|
+
// of host locale (Korean, Japanese, Turkish users would otherwise see
|
|
71
|
+
// different winners from the same vault). Using `numeric: true` also
|
|
72
|
+
// orders `part-2` before `part-10`, matching human expectations.
|
|
73
|
+
const pathCollator = new Intl.Collator('en', { numeric: true, sensitivity: 'variant' });
|
|
74
|
+
const dedupedWinner = new Map();
|
|
75
|
+
for (const [dupId, paths] of duplicateIds) {
|
|
76
|
+
const sorted = [...paths].sort((a, b) => pathCollator.compare(a, b));
|
|
77
|
+
dedupedWinner.set(dupId, sorted[0]);
|
|
78
|
+
}
|
|
55
79
|
for (const raw of rawRecords) {
|
|
56
80
|
// Skip duplicate ids (keep first occurrence by path sort order)
|
|
57
81
|
if (duplicateIds.has(raw.id)) {
|
|
58
|
-
|
|
59
|
-
if (raw.path !== paths.sort()[0]) {
|
|
82
|
+
if (raw.path !== dedupedWinner.get(raw.id)) {
|
|
60
83
|
continue;
|
|
61
84
|
}
|
|
62
85
|
}
|
|
@@ -98,9 +121,15 @@ function parseNoteToRawRecord(fileEntry, schemaVersion) {
|
|
|
98
121
|
if (!fm.id) {
|
|
99
122
|
return { raw: null, missingId: true, invalidFrontmatter: false };
|
|
100
123
|
}
|
|
101
|
-
// Extract title from first H1 heading or frontmatter id
|
|
124
|
+
// Extract title from first H1 heading or frontmatter id.
|
|
125
|
+
// Cap at 200 chars to stay within filesystem path limits (Windows 260-char limit,
|
|
126
|
+
// plus vault prefix overhead). Unicode grapheme clusters are preserved.
|
|
127
|
+
const MAX_TITLE_LENGTH = 200;
|
|
102
128
|
const h1 = parseResult.sections.find(s => s.level === 1);
|
|
103
|
-
const
|
|
129
|
+
const rawTitle = h1?.title ?? fm.id;
|
|
130
|
+
const title = rawTitle.length > MAX_TITLE_LENGTH
|
|
131
|
+
? rawTitle.slice(0, MAX_TITLE_LENGTH)
|
|
132
|
+
: rawTitle;
|
|
104
133
|
const getArray = (key) => {
|
|
105
134
|
const val = fm[key];
|
|
106
135
|
return Array.isArray(val) ? val : [];
|
|
@@ -173,6 +202,25 @@ function resolveRecordLinks(rawRecord, lookups, errors, schemaVersion) {
|
|
|
173
202
|
}
|
|
174
203
|
return ids;
|
|
175
204
|
}
|
|
205
|
+
// Like resolveArray but keeps unresolved wikilinks as raw tokens
|
|
206
|
+
// so downstream blocking logic can detect them
|
|
207
|
+
function resolveArrayKeepUnresolved(rawLinks) {
|
|
208
|
+
const ids = [];
|
|
209
|
+
for (const raw of rawLinks) {
|
|
210
|
+
const result = resolveWikilink(raw, lookups);
|
|
211
|
+
if (isResolved(result)) {
|
|
212
|
+
ids.push(result.target_id);
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
errors.push({ source_id: rawRecord.id, source_path: rawRecord.path, ...result });
|
|
216
|
+
// Preserve raw token so blocking logic knows a dependency exists
|
|
217
|
+
const stripped = raw.replace(/^\[\[/, '').replace(/\]\]$/, '').replace(/"/g, '');
|
|
218
|
+
if (stripped)
|
|
219
|
+
ids.push(stripped);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
return ids;
|
|
223
|
+
}
|
|
176
224
|
function resolveSingle(raw) {
|
|
177
225
|
if (raw === null)
|
|
178
226
|
return undefined;
|
|
@@ -198,7 +246,7 @@ function resolveRecordLinks(rawRecord, lookups, errors, schemaVersion) {
|
|
|
198
246
|
changes: resolveArray(rawRecord.changes_raw),
|
|
199
247
|
feature: resolveSingle(rawRecord.feature_raw),
|
|
200
248
|
features: rawRecord.features_raw ? resolveArray(rawRecord.features_raw) : undefined,
|
|
201
|
-
depends_on:
|
|
249
|
+
depends_on: resolveArrayKeepUnresolved(rawRecord.depends_on_raw),
|
|
202
250
|
touches: resolveArray(rawRecord.touches_raw),
|
|
203
251
|
links_out: resolveArray(rawRecord.links_out_raw),
|
|
204
252
|
links_in: [], // populated by computeReverseIndex
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/core/index/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAkB,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAuC,MAAM,cAAc,CAAC;AACjH,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEjF,MAAM,gBAAgB,GAAgB,IAAI,GAAG,CAAC;IAC5C,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO;CAC7D,CAAC,CAAC;AAmCH;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,SAAiB,EAAE,OAAsB;IAClE,qBAAqB;IACrB,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAE9D,yBAAyB;IACzB,MAAM,aAAa,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAEnD,iCAAiC;IACjC,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,uBAAuB,GAAa,EAAE,CAAC;IAC7C,MAAM,mBAAmB,GAAa,EAAE,CAAC;IAEzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,sCAAsC;QACtC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC9B,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;YACxB,2DAA2D;YAC3D,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;YACD,SAAS;QACX,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,4BAA4B;IAC5B,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAE5C,8CAA8C;IAC9C,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC/C,MAAM,YAAY,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAEpD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,gEAAgE;QAChE,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;YACxC,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,gCAAgC;IAChC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE7B,mCAAmC;IACnC,MAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,uBAAuB,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;IAElI,OAAO;QACL,cAAc,EAAE,aAAa;QAC7B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QAClC,OAAO;QACP,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,SAAoB,EACpB,aAAqB;IAErB,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAEtD,IAAI,WAAW,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QACrC,IAAI,WAAW,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACxC,wEAAwE;YACxE,sEAAsE;YACtE,IAAI,WAAW,CAAC,cAAc,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC/C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;YACpE,CAAC;YACD,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAC5C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,CACvD,CAAC;YACF,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;YACnE,CAAC;QACH,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;IACpE,CAAC;IAED,MAAM,EAAE,GAAG,WAAW,CAAC,WAAW,CAAC;IAEnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;IACpE,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACX,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;IACnE,CAAC;IAED,wDAAwD;IACxD,MAAM,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAY,EAAE;QACzC,MAAM,GAAG,GAAI,EAA8B,CAAC,GAAG,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACvC,CAAC,CAAC;IAEF,gCAAgC;IAChC,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,kEAAkE;IAClE,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,qDAAqD,EAAE,EAAE,CAAC,CAAC;IAChG,IAAI,cAAc,KAAK,KAAK,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IACD,mFAAmF;IACnF,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,qEAAqE;IACrE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,aAAa,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACpC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAc;QACrB,EAAE,EAAE,EAAE,CAAC,EAAE;QACT,IAAI,EAAE,EAAE,CAAC,IAAgB;QACzB,KAAK;QACL,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,MAAM,EAAG,EAA8B,CAAC,MAAgB,IAAI,QAAQ;QACpE,UAAU,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,EAA8B,CAAC,UAAoB,CAAC,CAAC,CAAC,SAAS;QACnG,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC;QAChC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC;QAChC,aAAa,EAAE,QAAQ,CAAC,WAAW,CAAC;QACpC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC;QAChC,cAAc,EAAE,QAAQ,CAAC,YAAY,CAAC;QACtC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC;QAChC,WAAW,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAE,EAA8B,CAAC,OAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QACtG,YAAY,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3G,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,YAAY,EAAE,WAAW,CAAC,YAAY;QACtC,aAAa,EAAE,WAAW,CAAC,YAAY;QACvC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,aAAa,EAAE,qBAAqB,CAAC,WAAW,CAAC,SAAS,CAAC;QAC3D,QAAQ,EAAE,WAAW,CAAC,IAAI;QAC1B,YAAY,EAAE,WAAW,CAAC,WAAW;QACrC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO;QAC7B,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI;KAC/B,CAAC;IAEF,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;AAC9D,CAAC;AAED,SAAS,kBAAkB,CACzB,SAAoB,EACpB,OAAmB,EACnB,MAAuB,EACvB,aAAqB;IAErB,SAAS,YAAY,CAAC,QAAkB;QACtC,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC7C,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,SAAS,aAAa,CAAC,GAAkB;QACvC,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QACnC,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAI,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC,SAAS,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QACjF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,cAAc,EAAE,aAAa;QAC7B,EAAE,EAAE,SAAS,CAAC,EAAE;QAChB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC;QAC5C,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC;QAC5C,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,aAAa,CAAC;QAChD,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC;QAC5C,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC;QAC7C,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;QACnF,UAAU,EAAE,YAAY,CAAC,SAAS,CAAC,cAAc,CAAC;QAClD,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC;QAC5C,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,aAAa,CAAC;QAChD,QAAQ,EAAE,EAAE,EAAE,mCAAmC;QACjD,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/C,GAAG,GAAG;YACN,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,IAAI;SACpC,CAAC,CAAC;QACH,aAAa,EAAE,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnD,GAAG,KAAK;YACR,cAAc,EAAE,CAAC,GAAG,EAAE;gBACpB,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBAChE,IAAI,UAAU,CAAC,QAAQ,CAAC;oBAAE,OAAO,QAAQ,CAAC,SAAS,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;gBACnF,OAAO,EAAE,CAAC,CAAC,qEAAqE;YAClF,CAAC,CAAC,EAAE;SACL,CAAC,CAAC;QACH,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,YAAY,EAAE,SAAS,CAAC,YAAY;KACrC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/core/index/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/core/index/resolve.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/core/index/resolve.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACpC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC;CACxC;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,UAAU,GAAG,iBAAiB,GAAG,YAAY,CAAC;IACrD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,UAAU,CAkCnE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,UAAU,GAClB,kBAAkB,GAAG;IAAE,KAAK,EAAE,UAAU,GAAG,iBAAiB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAyCzG;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,GAAG,MAAM,IAAI,kBAAkB,CAEnG"}
|