amalfa 1.0.1 โ†’ 1.0.2

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 (83) hide show
  1. package/README.md +226 -263
  2. package/docs/AGENT-METADATA-PATTERNS.md +1021 -0
  3. package/docs/CONFIG_E2E_VALIDATION.md +147 -0
  4. package/docs/CONFIG_UNIFICATION.md +187 -0
  5. package/docs/CONFIG_VALIDATION.md +103 -0
  6. package/docs/LEGACY_DEPRECATION.md +174 -0
  7. package/docs/MCP_SETUP.md +317 -0
  8. package/docs/QUICK_START_MCP.md +168 -0
  9. package/docs/SESSION-2026-01-06-METADATA-PATTERNS.md +346 -0
  10. package/docs/SETUP.md +464 -0
  11. package/docs/SETUP_COMPLETE.md +464 -0
  12. package/docs/VISION-AGENT-LEARNING.md +1242 -0
  13. package/docs/_current-config-status.md +93 -0
  14. package/package.json +6 -3
  15. package/polyvis.settings.json.bak +38 -0
  16. package/src/cli.ts +103 -21
  17. package/src/config/defaults.ts +52 -12
  18. package/src/core/VectorEngine.ts +18 -9
  19. package/src/mcp/index.ts +62 -7
  20. package/src/resonance/DatabaseFactory.ts +3 -4
  21. package/src/resonance/db.ts +4 -4
  22. package/src/resonance/services/vector-daemon.ts +151 -0
  23. package/src/utils/DaemonManager.ts +147 -0
  24. package/src/utils/ZombieDefense.ts +5 -1
  25. package/:memory: +0 -0
  26. package/:memory:-shm +0 -0
  27. package/:memory:-wal +0 -0
  28. package/CHANGELOG.md.old +0 -43
  29. package/README.old.md +0 -112
  30. package/ROADMAP.md +0 -316
  31. package/TEST_PLAN.md +0 -561
  32. package/agents.config.json +0 -11
  33. package/drizzle/0000_minor_iron_fist.sql +0 -19
  34. package/drizzle/meta/0000_snapshot.json +0 -139
  35. package/drizzle/meta/_journal.json +0 -13
  36. package/example_usage.ts +0 -39
  37. package/experiment.sh +0 -35
  38. package/hello +0 -2
  39. package/index.html +0 -52
  40. package/knowledge/excalibur.md +0 -12
  41. package/plans/experience-graph-integration.md +0 -60
  42. package/prompts/gemini-king-mode-prompt.md +0 -46
  43. package/public/docs/MCP_TOOLS.md +0 -372
  44. package/schemas/README.md +0 -20
  45. package/schemas/cda.schema.json +0 -84
  46. package/schemas/conceptual-lexicon.schema.json +0 -75
  47. package/scratchpads/dummy-debrief-boxed.md +0 -39
  48. package/scratchpads/dummy-debrief.md +0 -27
  49. package/scratchpads/scratchpad-design.md +0 -50
  50. package/scratchpads/scratchpad-scrolling.md +0 -20
  51. package/scratchpads/scratchpad-toc-disappearance.md +0 -23
  52. package/scratchpads/scratchpad-toc.md +0 -28
  53. package/scratchpads/test_gardener.md +0 -7
  54. package/src/core/LLMClient.ts +0 -93
  55. package/src/core/TagEngine.ts +0 -56
  56. package/src/db/schema.ts +0 -46
  57. package/src/gardeners/AutoTagger.ts +0 -116
  58. package/src/pipeline/HarvesterPipeline.ts +0 -101
  59. package/src/pipeline/Ingestor.ts +0 -555
  60. package/src/resonance/cli/ingest.ts +0 -41
  61. package/src/resonance/cli/migrate.ts +0 -54
  62. package/src/resonance/config.ts +0 -40
  63. package/src/resonance/daemon.ts +0 -236
  64. package/src/resonance/pipeline/extract.ts +0 -89
  65. package/src/resonance/pipeline/transform_docs.ts +0 -60
  66. package/src/resonance/services/tokenizer.ts +0 -159
  67. package/src/resonance/transform/cda.ts +0 -393
  68. package/src/utils/EnvironmentVerifier.ts +0 -67
  69. package/substack/substack-playbook-1.md +0 -95
  70. package/substack/substack-playbook-2.md +0 -78
  71. package/tasks/ui-investigation.md +0 -26
  72. package/test-db +0 -0
  73. package/test-db-shm +0 -0
  74. package/test-db-wal +0 -0
  75. package/tests/canary/verify_pinch_check.ts +0 -44
  76. package/tests/fixtures/ingest_test.md +0 -12
  77. package/tests/fixtures/ingest_test_boxed.md +0 -13
  78. package/tests/fixtures/safety_test.md +0 -45
  79. package/tests/fixtures/safety_test_boxed.md +0 -49
  80. package/tests/fixtures/tagged_output.md +0 -49
  81. package/tests/fixtures/tagged_test.md +0 -49
  82. package/tests/mcp-server-settings.json +0 -8
  83. package/verify-embedder.ts +0 -54
@@ -1,44 +0,0 @@
1
- import { existsSync } from "node:fs";
2
- import { unlink } from "node:fs/promises";
3
- import { Ingestor, type IngestorOptions } from "@src/pipeline/Ingestor";
4
-
5
- async function main() {
6
- console.log("๐Ÿค Starting Iron-Clad Persistence Canary...");
7
- const TEST_DB = "canary-persistence.db";
8
-
9
- if (existsSync(TEST_DB)) await unlink(TEST_DB);
10
- if (existsSync(`${TEST_DB}-shm`)) await unlink(`${TEST_DB}-shm`);
11
- if (existsSync(`${TEST_DB}-wal`)) await unlink(`${TEST_DB}-wal`);
12
-
13
- const ingestor = new Ingestor(TEST_DB);
14
- const options: IngestorOptions = {};
15
- const db = await ingestor.init(options);
16
-
17
- try {
18
- console.log("โš™๏ธ Running Ingestion...");
19
- await ingestor.runExperience(options, [], db);
20
-
21
- // Pinch Check
22
- const size = Bun.file(TEST_DB).size;
23
- console.log("๐Ÿ“ Final DB Size:", size);
24
-
25
- if (size > 0) {
26
- console.log("โœ… CANARY PASSED: Persistence verified.");
27
- process.exit(0);
28
- } else {
29
- console.error("โŒ CANARY FAILED: Database size is 0.");
30
- process.exit(1);
31
- }
32
- } catch (e) {
33
- console.error("โŒ CANARY CRASHED:", e);
34
- process.exit(1);
35
- } finally {
36
- ingestor.cleanup(db);
37
- // Cleanup artifacts
38
- if (existsSync(TEST_DB)) await unlink(TEST_DB);
39
- if (existsSync(`${TEST_DB}-shm`)) await unlink(`${TEST_DB}-shm`);
40
- if (existsSync(`${TEST_DB}-wal`)) await unlink(`${TEST_DB}-wal`);
41
- }
42
- }
43
-
44
- main();
@@ -1,12 +0,0 @@
1
- # Ingest Test - Updated
2
-
3
- This is a test file for the ingestion pipeline.
4
-
5
- ## Section 1
6
-
7
- Here is some content with tag-logic in it.
8
-
9
- ## Section 2
10
-
11
- Here is more content linking to [[Ingest Test]].
12
- And a new line to force hash change.
@@ -1,13 +0,0 @@
1
- <!-- locus:182016e1-8c18-4159-9667-20001a6f0bb1 -->
2
- # Ingest Test - Updated
3
-
4
- This is a test file for the ingestion pipeline.
5
-
6
- ## Section 1
7
-
8
- Here is some content with tag-logic in it.
9
-
10
- ## Section 2
11
-
12
- Here is more content linking to [[Ingest Test]].
13
- And a new line to force hash change.
@@ -1,45 +0,0 @@
1
- # Safety Test (Large)
2
-
3
- This document tests the "No-Fly Zone" protection of the Bento Boxer.
4
- It contains a large block of Lorem Ipsum to force a split, and a code block that should remain atomic.
5
-
6
- ## Preamble (Filler)
7
-
8
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
9
-
10
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
11
-
12
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
13
-
14
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
15
-
16
- ## The Restricted Area (Code Block)
17
-
18
- ```python
19
- def fibonacci(n):
20
- """
21
- This is a function that calculates the nth fibonacci number.
22
- It uses recursion which is inefficient but demonstrates code structure.
23
- We want to ensure this entire block is treated as a single atom.
24
- It should not be split in the middle, even if it is long.
25
- """
26
- if n <= 0:
27
- return 0
28
- elif n == 1:
29
- return 1
30
- else:
31
- return fibonacci(n-1) + fibonacci(n-2)
32
-
33
- # Here is some more code
34
- print(fibonacci(10))
35
- ```
36
-
37
- ## Postscript (Filler)
38
-
39
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
40
-
41
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
42
-
43
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
44
-
45
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
@@ -1,49 +0,0 @@
1
- <!-- locus:098ce247-1773-4a01-8ff1-3d5b73ad56ae -->
2
- # Safety Test (Large)
3
-
4
- This document tests the "No-Fly Zone" protection of the Bento Boxer.
5
- It contains a large block of Lorem Ipsum to force a split, and a code block that should remain atomic.
6
-
7
- ## Preamble (Filler)
8
-
9
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
10
-
11
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
12
-
13
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
14
-
15
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
16
-
17
- <!-- locus:f31cc4d0-656d-4e36-ba46-0ed3b7ff7c81 -->
18
- Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
19
-
20
- ## The Restricted Area (Code Block)
21
-
22
- ```python
23
- def fibonacci(n):
24
- """
25
- This is a function that calculates the nth fibonacci number.
26
- It uses recursion which is inefficient but demonstrates code structure.
27
- We want to ensure this entire block is treated as a single atom.
28
- It should not be split in the middle, even if it is long.
29
- """
30
- if n <= 0:
31
- return 0
32
- elif n == 1:
33
- return 1
34
- else:
35
- return fibonacci(n-1) + fibonacci(n-2)
36
-
37
- # Here is some more code
38
- print(fibonacci(10))
39
- ```
40
-
41
- ## Postscript (Filler)
42
-
43
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
44
-
45
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
46
-
47
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
48
-
49
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
@@ -1,49 +0,0 @@
1
- <!-- locus:098ce247-1773-4a01-8ff1-3d5b73ad56ae -->
2
- # Safety Test (Large)
3
-
4
- This document tests the "No-Fly Zone" protection of the Bento Boxer.
5
- It contains a large block of Lorem Ipsum to force a split, and a code block that should remain atomic.
6
-
7
- ## Preamble (Filler)
8
-
9
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
10
-
11
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
12
-
13
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
14
-
15
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
16
-
17
- <!-- locus:f31cc4d0-656d-4e36-ba46-0ed3b7ff7c81 -->
18
- Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
19
-
20
- ## The Restricted Area (Code Block)
21
-
22
- ```python
23
- def fibonacci(n):
24
- """
25
- This is a function that calculates the nth fibonacci number.
26
- It uses recursion which is inefficient but demonstrates code structure.
27
- We want to ensure this entire block is treated as a single atom.
28
- It should not be split in the middle, even if it is long.
29
- """
30
- if n <= 0:
31
- return 0
32
- elif n == 1:
33
- return 1
34
- else:
35
- return fibonacci(n-1) + fibonacci(n-2)
36
-
37
- # Here is some more code
38
- print(fibonacci(10))
39
- ```
40
-
41
- ## Postscript (Filler)
42
-
43
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
44
-
45
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
46
-
47
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
48
-
49
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
@@ -1,49 +0,0 @@
1
- <!-- locus:098ce247-1773-4a01-8ff1-3d5b73ad56ae -->
2
- # Safety Test (Large)
3
-
4
- This document tests the "No-Fly Zone" protection of the Bento Boxer.
5
- It contains a large block of Lorem Ipsum to force a split, and a code block that should remain atomic.
6
-
7
- ## Preamble (Filler)
8
-
9
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
10
-
11
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
12
-
13
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
14
-
15
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
16
-
17
- <!-- locus:f31cc4d0-656d-4e36-ba46-0ed3b7ff7c81 -->
18
- Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
19
-
20
- ## The Restricted Area (Code Block)
21
-
22
- ```python
23
- def fibonacci(n):
24
- """
25
- This is a function that calculates the nth fibonacci number.
26
- It uses recursion which is inefficient but demonstrates code structure.
27
- We want to ensure this entire block is treated as a single atom.
28
- It should not be split in the middle, even if it is long.
29
- """
30
- if n <= 0:
31
- return 0
32
- elif n == 1:
33
- return 1
34
- else:
35
- return fibonacci(n-1) + fibonacci(n-2)
36
-
37
- # Here is some more code
38
- print(fibonacci(10))
39
- ```
40
-
41
- ## Postscript (Filler)
42
-
43
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
44
-
45
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
46
-
47
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
48
-
49
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
@@ -1,8 +0,0 @@
1
- {
2
- "mcpServers": {
3
- "polyvis": {
4
- "command": "/absolute/path/to/polyvis",
5
- "args": ["mcp", "--db", "/absolute/path/to/project_data.sqlite"]
6
- }
7
- }
8
- }
@@ -1,54 +0,0 @@
1
- import { Embedder } from "./src/resonance/services/embedder.js";
2
-
3
- /**
4
- * Verification Script for Embedder Refactor
5
- * Usage:
6
- * 1. Default (BGE Small): npx tsx verify-embedder.ts
7
- * 2. Custom Model: EMBEDDING_MODEL=allminilml6v2 npx tsx verify-embedder.ts
8
- */
9
-
10
- async function verify() {
11
- console.log("๐Ÿ” Starting Embedder Verification Protocol...");
12
-
13
- // 1. Inspect Environment
14
- const envModel = process.env.EMBEDDING_MODEL || "(Not Set - using default)";
15
- console.log(`๐Ÿ“‹ Configuration: EMBEDDING_MODEL=${envModel}`);
16
-
17
- try {
18
- // 2. Initialize Embedder
19
- // We force local usage to ensure we are testing the library, not the daemon
20
- const embedder = Embedder.getInstance();
21
-
22
- const testPhrase =
23
- "The Scottish Enlightenment was a period of intellectual outpouring.";
24
- console.log(`๐Ÿงช Embedding phrase: "${testPhrase.substring(0, 25)}..."`);
25
-
26
- const start = performance.now();
27
- // Force local=true to bypass daemon and test the actual fastembed integration
28
- const vector = await embedder.embed(testPhrase, true);
29
- const duration = (performance.now() - start).toFixed(2);
30
-
31
- // 3. Validate Output
32
- console.log(`โœ… Embedding generated in ${duration}ms`);
33
- console.log(`๐Ÿ“ Vector Dimensions: ${vector.length}`);
34
-
35
- // 4. Model Specific Validation
36
- // BGE-Small and AllMiniLM are both 384, but we verify we got a valid vector
37
- if (vector.length === 384) {
38
- console.log(
39
- "โœจ SUCCESS: Dimension matches expected 384 for BGE-Small/MiniLM.",
40
- );
41
- } else {
42
- console.warn(
43
- `โš ๏ธ WARNING: Unexpected dimension ${vector.length}. Check model configuration.`,
44
- );
45
- }
46
-
47
- console.log("\n[Verification Complete]");
48
- } catch (error) {
49
- console.error("โŒ FAILURE:", error);
50
- process.exit(1);
51
- }
52
- }
53
-
54
- verify();