mindlore 0.2.1 → 0.3.1

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 (112) hide show
  1. package/README.md +14 -11
  2. package/SCHEMA.md +15 -2
  3. package/dist/scripts/init.d.ts +1 -1
  4. package/dist/scripts/init.js +133 -68
  5. package/dist/scripts/init.js.map +1 -1
  6. package/dist/scripts/lib/constants.d.ts +34 -0
  7. package/dist/scripts/lib/constants.d.ts.map +1 -1
  8. package/dist/scripts/lib/constants.js +95 -1
  9. package/dist/scripts/lib/constants.js.map +1 -1
  10. package/dist/scripts/lib/schemas.d.ts +93 -0
  11. package/dist/scripts/lib/schemas.d.ts.map +1 -0
  12. package/dist/scripts/lib/schemas.js +108 -0
  13. package/dist/scripts/lib/schemas.js.map +1 -0
  14. package/dist/scripts/mindlore-fts5-index.js +3 -4
  15. package/dist/scripts/mindlore-fts5-index.js.map +1 -1
  16. package/dist/scripts/mindlore-fts5-search.d.ts +1 -1
  17. package/dist/scripts/mindlore-fts5-search.js +87 -74
  18. package/dist/scripts/mindlore-fts5-search.js.map +1 -1
  19. package/dist/scripts/quality-populate.d.ts +11 -0
  20. package/dist/scripts/quality-populate.d.ts.map +1 -0
  21. package/dist/scripts/quality-populate.js +86 -0
  22. package/dist/scripts/quality-populate.js.map +1 -0
  23. package/dist/scripts/uninstall.d.ts +1 -1
  24. package/dist/scripts/uninstall.js +27 -17
  25. package/dist/scripts/uninstall.js.map +1 -1
  26. package/dist/tests/compounding.test.js +2 -2
  27. package/dist/tests/compounding.test.js.map +1 -1
  28. package/dist/tests/cwd-changed.test.d.ts +2 -0
  29. package/dist/tests/cwd-changed.test.d.ts.map +1 -0
  30. package/dist/tests/cwd-changed.test.js +62 -0
  31. package/dist/tests/cwd-changed.test.js.map +1 -0
  32. package/dist/tests/dedup.test.js +4 -4
  33. package/dist/tests/dedup.test.js.map +1 -1
  34. package/dist/tests/dont-repeat.test.d.ts +2 -0
  35. package/dist/tests/dont-repeat.test.d.ts.map +1 -0
  36. package/dist/tests/dont-repeat.test.js +100 -0
  37. package/dist/tests/dont-repeat.test.js.map +1 -0
  38. package/dist/tests/e2e-pipeline.test.d.ts +2 -0
  39. package/dist/tests/e2e-pipeline.test.d.ts.map +1 -0
  40. package/dist/tests/e2e-pipeline.test.js +220 -0
  41. package/dist/tests/e2e-pipeline.test.js.map +1 -0
  42. package/dist/tests/evolve.test.d.ts +2 -0
  43. package/dist/tests/evolve.test.d.ts.map +1 -0
  44. package/dist/tests/evolve.test.js +105 -0
  45. package/dist/tests/evolve.test.js.map +1 -0
  46. package/dist/tests/explore.test.d.ts +2 -0
  47. package/dist/tests/explore.test.d.ts.map +1 -0
  48. package/dist/tests/explore.test.js +146 -0
  49. package/dist/tests/explore.test.js.map +1 -0
  50. package/dist/tests/fts5.test.js +7 -7
  51. package/dist/tests/fts5.test.js.map +1 -1
  52. package/dist/tests/global-layer.test.d.ts +2 -0
  53. package/dist/tests/global-layer.test.d.ts.map +1 -0
  54. package/dist/tests/global-layer.test.js +152 -0
  55. package/dist/tests/global-layer.test.js.map +1 -0
  56. package/dist/tests/helpers/db.d.ts +14 -1
  57. package/dist/tests/helpers/db.d.ts.map +1 -1
  58. package/dist/tests/helpers/db.js +3 -3
  59. package/dist/tests/helpers/db.js.map +1 -1
  60. package/dist/tests/hook-smoke.test.js +2 -2
  61. package/dist/tests/hook-smoke.test.js.map +1 -1
  62. package/dist/tests/init.test.js +83 -0
  63. package/dist/tests/init.test.js.map +1 -1
  64. package/dist/tests/model-router.test.d.ts +2 -0
  65. package/dist/tests/model-router.test.d.ts.map +1 -0
  66. package/dist/tests/model-router.test.js +146 -0
  67. package/dist/tests/model-router.test.js.map +1 -0
  68. package/dist/tests/post-read.test.d.ts +2 -0
  69. package/dist/tests/post-read.test.d.ts.map +1 -0
  70. package/dist/tests/post-read.test.js +69 -0
  71. package/dist/tests/post-read.test.js.map +1 -0
  72. package/dist/tests/quality-populate.test.d.ts +2 -0
  73. package/dist/tests/quality-populate.test.d.ts.map +1 -0
  74. package/dist/tests/quality-populate.test.js +158 -0
  75. package/dist/tests/quality-populate.test.js.map +1 -0
  76. package/dist/tests/reflect.test.d.ts +2 -0
  77. package/dist/tests/reflect.test.d.ts.map +1 -0
  78. package/dist/tests/reflect.test.js +122 -0
  79. package/dist/tests/reflect.test.js.map +1 -0
  80. package/dist/tests/schemas.test.d.ts +2 -0
  81. package/dist/tests/schemas.test.d.ts.map +1 -0
  82. package/dist/tests/schemas.test.js +87 -0
  83. package/dist/tests/schemas.test.js.map +1 -0
  84. package/dist/tests/search-hook.test.js +3 -3
  85. package/dist/tests/search-hook.test.js.map +1 -1
  86. package/dist/tests/upgrade.test.d.ts +2 -0
  87. package/dist/tests/upgrade.test.d.ts.map +1 -0
  88. package/dist/tests/upgrade.test.js +91 -0
  89. package/dist/tests/upgrade.test.js.map +1 -0
  90. package/hooks/lib/mindlore-common.cjs +89 -5
  91. package/hooks/lib/types.d.ts +56 -0
  92. package/hooks/mindlore-cwd-changed.cjs +57 -0
  93. package/hooks/mindlore-dont-repeat.cjs +222 -0
  94. package/hooks/mindlore-fts5-sync.cjs +6 -9
  95. package/hooks/mindlore-index.cjs +3 -3
  96. package/hooks/mindlore-model-router.cjs +54 -0
  97. package/hooks/mindlore-post-read.cjs +97 -0
  98. package/hooks/mindlore-read-guard.cjs +27 -4
  99. package/hooks/mindlore-search.cjs +73 -52
  100. package/hooks/mindlore-session-end.cjs +43 -1
  101. package/hooks/mindlore-session-focus.cjs +14 -0
  102. package/package.json +5 -3
  103. package/plugin.json +29 -1
  104. package/skills/mindlore-decide/SKILL.md +8 -0
  105. package/skills/mindlore-evolve/SKILL.md +99 -0
  106. package/skills/mindlore-explore/SKILL.md +104 -0
  107. package/skills/mindlore-health/SKILL.md +8 -0
  108. package/skills/mindlore-ingest/SKILL.md +65 -32
  109. package/skills/mindlore-log/SKILL.md +30 -13
  110. package/skills/mindlore-query/SKILL.md +8 -0
  111. package/templates/SCHEMA.md +15 -2
  112. package/templates/config.json +9 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quality-populate.d.ts","sourceRoot":"","sources":["../../scripts/quality-populate.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG"}
@@ -0,0 +1,86 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * mindlore quality-populate — Bulk-assign quality to sources with null/missing quality.
5
+ *
6
+ * Usage: node dist/scripts/quality-populate.js [--global]
7
+ *
8
+ * Scans .mindlore/sources/ for files with missing quality in frontmatter,
9
+ * assigns quality based on source_type heuristic, updates frontmatter + FTS5.
10
+ */
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const fs_1 = __importDefault(require("fs"));
16
+ const path_1 = __importDefault(require("path"));
17
+ const constants_js_1 = require("./lib/constants.js");
18
+ const { parseFrontmatter, openDatabase } = require((0, constants_js_1.resolveHookCommon)(__dirname));
19
+ function resolveQuality(meta) {
20
+ const sourceType = String(meta.source_type || '').toLowerCase();
21
+ if (sourceType && constants_js_1.QUALITY_HEURISTICS[sourceType]) {
22
+ return constants_js_1.QUALITY_HEURISTICS[sourceType];
23
+ }
24
+ // URL-based fallback when source_type is missing
25
+ const url = String(meta.source_url || '');
26
+ if (url.includes('github.com'))
27
+ return 'high';
28
+ if (url.includes('docs.') || url.includes('developer.'))
29
+ return 'high';
30
+ if (url.includes('youtube.com') || url.includes('youtu.be'))
31
+ return 'medium';
32
+ return 'medium';
33
+ }
34
+ function updateFrontmatter(content, meta, quality) {
35
+ if (meta.quality) {
36
+ return content.replace(/^quality:\s*.*/m, `quality: ${quality}`);
37
+ }
38
+ return content.replace(/\n---\n/, `\nquality: ${quality}\n---\n`);
39
+ }
40
+ function main() {
41
+ const args = process.argv.slice(2);
42
+ const isGlobal = args.includes('--global');
43
+ const baseDir = isGlobal ? constants_js_1.GLOBAL_MINDLORE_DIR : (0, constants_js_1.getActiveMindloreDir)();
44
+ const sourcesDir = path_1.default.join(baseDir, 'sources');
45
+ if (!fs_1.default.existsSync(sourcesDir)) {
46
+ console.log('No sources/ directory found.');
47
+ return;
48
+ }
49
+ const files = fs_1.default.readdirSync(sourcesDir).filter((f) => f.endsWith('.md') && (0, constants_js_1.isContentFile)(f));
50
+ const dbPath = path_1.default.join(baseDir, constants_js_1.DB_NAME);
51
+ // Open DB once before loop
52
+ const db = fs_1.default.existsSync(dbPath) ? openDatabase(dbPath) : null;
53
+ let updated = 0;
54
+ let skipped = 0;
55
+ for (const file of files) {
56
+ const filePath = path_1.default.join(sourcesDir, file);
57
+ const content = fs_1.default.readFileSync(filePath, 'utf8');
58
+ const { meta } = parseFrontmatter(content);
59
+ // Skip if quality already set
60
+ if (meta.quality && meta.quality !== 'null' && meta.quality !== '') {
61
+ skipped++;
62
+ continue;
63
+ }
64
+ const quality = resolveQuality(meta);
65
+ const newContent = updateFrontmatter(content, meta, quality);
66
+ fs_1.default.writeFileSync(filePath, newContent, 'utf8');
67
+ // Update FTS5
68
+ if (db) {
69
+ try {
70
+ const row = db.prepare('SELECT rowid FROM mindlore_fts WHERE path = ?').get(filePath);
71
+ if (row) {
72
+ db.prepare('UPDATE mindlore_fts SET quality = ? WHERE rowid = ?').run(quality, row.rowid);
73
+ }
74
+ }
75
+ catch (_err) {
76
+ // FTS5 update failure is non-fatal
77
+ }
78
+ }
79
+ (0, constants_js_1.log)(`${file}: quality → ${quality}`);
80
+ updated++;
81
+ }
82
+ db?.close();
83
+ console.log(`\n Quality populate: ${updated} updated, ${skipped} already set (${files.length} total)`);
84
+ }
85
+ main();
86
+ //# sourceMappingURL=quality-populate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quality-populate.js","sourceRoot":"","sources":["../../scripts/quality-populate.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * mindlore uninstall — Remove Mindlore hooks, skills, and optionally project data.
4
4
  *
5
- * Usage: npx mindlore uninstall [--all]
5
+ * Usage: npx mindlore uninstall [--all] [--global]
6
6
  *
7
7
  * --all: also remove .mindlore/ project data (without flag, only hooks + skills)
8
8
  */
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * mindlore uninstall — Remove Mindlore hooks, skills, and optionally project data.
5
5
  *
6
- * Usage: npx mindlore uninstall [--all]
6
+ * Usage: npx mindlore uninstall [--all] [--global]
7
7
  *
8
8
  * --all: also remove .mindlore/ project data (without flag, only hooks + skills)
9
9
  */
@@ -14,14 +14,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
14
14
  const fs_1 = __importDefault(require("fs"));
15
15
  const path_1 = __importDefault(require("path"));
16
16
  const constants_js_1 = require("./lib/constants.js");
17
- function log(msg) {
18
- console.log(` ${msg}`);
19
- }
20
17
  // ── Remove hooks from settings.json ────────────────────────────────────
21
18
  function removeHooks() {
22
19
  const settingsPath = path_1.default.join((0, constants_js_1.homedir)(), '.claude', 'settings.json');
23
20
  if (!fs_1.default.existsSync(settingsPath)) {
24
- log('No settings.json found, skipping hooks');
21
+ (0, constants_js_1.log)('No settings.json found, skipping hooks');
25
22
  return 0;
26
23
  }
27
24
  let settings;
@@ -29,7 +26,7 @@ function removeHooks() {
29
26
  settings = JSON.parse(fs_1.default.readFileSync(settingsPath, 'utf8'));
30
27
  }
31
28
  catch (_err) {
32
- log('Could not parse settings.json, skipping hooks');
29
+ (0, constants_js_1.log)('Could not parse settings.json, skipping hooks');
33
30
  return 0;
34
31
  }
35
32
  if (!settings.hooks)
@@ -101,7 +98,7 @@ function removeFromProjectDocs() {
101
98
  function removeProjectData() {
102
99
  const mindloreDir = path_1.default.join(process.cwd(), '.mindlore');
103
100
  if (!fs_1.default.existsSync(mindloreDir)) {
104
- log('No .mindlore/ directory in current project');
101
+ (0, constants_js_1.log)('No .mindlore/ directory in current project');
105
102
  return false;
106
103
  }
107
104
  fs_1.default.rmSync(mindloreDir, { recursive: true, force: true });
@@ -111,31 +108,44 @@ function removeProjectData() {
111
108
  function main() {
112
109
  const args = process.argv.slice(2);
113
110
  const removeAll = args.includes('--all');
114
- console.log('\n Mindlore — Uninstall\n');
111
+ const isGlobal = args.includes('--global');
112
+ const scopeLabel = isGlobal ? 'global (~/.mindlore/)' : 'project (.mindlore/)';
113
+ console.log(`\n Mindlore — Uninstall [${scopeLabel}]\n`);
115
114
  // Hooks
116
115
  const hooksRemoved = removeHooks();
117
- log(hooksRemoved > 0
116
+ (0, constants_js_1.log)(hooksRemoved > 0
118
117
  ? `Removed ${hooksRemoved} hooks from ~/.claude/settings.json`
119
118
  : 'No hooks found');
120
119
  // Skills
121
120
  const skillsRemoved = removeSkills();
122
- log(skillsRemoved > 0
121
+ (0, constants_js_1.log)(skillsRemoved > 0
123
122
  ? `Removed ${skillsRemoved} skills from ~/.claude/skills/`
124
123
  : 'No skills found');
125
124
  // Project doc files
126
125
  const docsRemoved = removeFromProjectDocs();
127
- log(docsRemoved
126
+ (0, constants_js_1.log)(docsRemoved
128
127
  ? 'Removed SCHEMA.md from project settings'
129
128
  : 'No project doc references found');
130
- // Project data (only with --all)
129
+ // Data removal (only with --all)
131
130
  if (removeAll) {
132
- const dataRemoved = removeProjectData();
133
- log(dataRemoved
134
- ? 'Removed .mindlore/ project data'
135
- : 'No .mindlore/ directory found');
131
+ if (isGlobal) {
132
+ if (fs_1.default.existsSync(constants_js_1.GLOBAL_MINDLORE_DIR)) {
133
+ fs_1.default.rmSync(constants_js_1.GLOBAL_MINDLORE_DIR, { recursive: true, force: true });
134
+ (0, constants_js_1.log)('Removed ~/.mindlore/ global data');
135
+ }
136
+ else {
137
+ (0, constants_js_1.log)('No ~/.mindlore/ directory found');
138
+ }
139
+ }
140
+ else {
141
+ const dataRemoved = removeProjectData();
142
+ (0, constants_js_1.log)(dataRemoved
143
+ ? 'Removed .mindlore/ project data'
144
+ : 'No .mindlore/ directory found');
145
+ }
136
146
  }
137
147
  else {
138
- log('.mindlore/ project data kept (use --all to remove)');
148
+ (0, constants_js_1.log)(`${isGlobal ? '~/.mindlore/' : '.mindlore/'} data kept (use --all to remove)`);
139
149
  }
140
150
  console.log('\n Done! Mindlore has been uninstalled.\n');
141
151
  }
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../scripts/uninstall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../scripts/uninstall.ts"],"names":[],"mappings":"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"}
@@ -27,14 +27,14 @@ describe('Knowledge Compounding', () => {
27
27
  const sourcePath = path_1.default.join(TEST_DIR, 'sources', 'react-hooks.md');
28
28
  const sourceContent = '---\nslug: react-hooks\ntype: source\n---\n# React Hooks\n\nUseEffect cleanup patterns.';
29
29
  fs_1.default.writeFileSync(sourcePath, sourceContent);
30
- (0, db_js_1.insertFts)(db, sourcePath, 'react-hooks', 'UseEffect cleanup patterns', 'source', 'sources', 'React Hooks', sourceContent, '', null);
30
+ (0, db_js_1.insertFts)(db, { path: sourcePath, slug: 'react-hooks', description: 'UseEffect cleanup patterns', type: 'source', category: 'sources', title: 'React Hooks', content: sourceContent, tags: '', quality: null });
31
31
  db.prepare('INSERT INTO file_hashes (path, content_hash, last_indexed) VALUES (?, ?, ?)').run(sourcePath, (0, db_js_1.sha256)(sourceContent), new Date().toISOString());
32
32
  // Step 2: Simulate query → writeback (agent creates an insight)
33
33
  const insightPath = path_1.default.join(TEST_DIR, 'insights', 'react-cleanup.md');
34
34
  const insightContent = '---\nslug: react-cleanup\ntype: insight\n---\n# React Cleanup Pattern\n\nAlways return cleanup function from useEffect to avoid memory leaks.';
35
35
  fs_1.default.writeFileSync(insightPath, insightContent);
36
36
  // Step 3: Reindex (simulates the hook)
37
- (0, db_js_1.insertFts)(db, insightPath, 'react-cleanup', 'Avoid memory leaks with useEffect cleanup', 'insight', 'insights', 'React Cleanup Pattern', insightContent, '', null);
37
+ (0, db_js_1.insertFts)(db, { path: insightPath, slug: 'react-cleanup', description: 'Avoid memory leaks with useEffect cleanup', type: 'insight', category: 'insights', title: 'React Cleanup Pattern', content: insightContent, tags: '', quality: null });
38
38
  db.prepare('INSERT INTO file_hashes (path, content_hash, last_indexed) VALUES (?, ?, ?)').run(insightPath, (0, db_js_1.sha256)(insightContent), new Date().toISOString());
39
39
  // Step 4: Next query should find the writeback content
40
40
  const results = db
@@ -1 +1 @@
1
- {"version":3,"file":"compounding.test.js","sourceRoot":"","sources":["../../tests/compounding.test.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;AAEH,4CAAoB;AACpB,gDAAwB;AACxB,2CAAiG;AAEjG,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC;AAC1E,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AAEnD,UAAU,CAAC,GAAG,EAAE;IACd,IAAA,oBAAY,EAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,GAAG,EAAE;IACb,IAAA,uBAAe,EAAC,QAAQ,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAMH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACnE,MAAM,EAAE,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAC;QAEjC,mCAAmC;QACnC,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACpE,MAAM,aAAa,GAAG,yFAAyF,CAAC;QAChH,YAAE,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAE5C,IAAA,iBAAS,EAAC,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,4BAA4B,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACpI,EAAE,CAAC,OAAO,CACR,6EAA6E,CAC9E,CAAC,GAAG,CAAC,UAAU,EAAE,IAAA,cAAM,EAAC,aAAa,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAEnE,gEAAgE;QAChE,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;QACxE,MAAM,cAAc,GAClB,+IAA+I,CAAC;QAClJ,YAAE,CAAC,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAE9C,uCAAuC;QACvC,IAAA,iBAAS,EAAC,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,2CAA2C,EAAE,SAAS,EAAE,UAAU,EAAE,uBAAuB,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACnK,EAAE,CAAC,OAAO,CACR,6EAA6E,CAC9E,CAAC,GAAG,CAAC,WAAW,EAAE,IAAA,cAAM,EAAC,cAAc,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAErE,uDAAuD;QACvD,MAAM,OAAO,GAAG,EAAE;aACf,OAAO,CACN;;;iBAGS,CACV;aACA,GAAG,CAAC,sBAAsB,CAAiB,CAAC;QAE/C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzE,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"compounding.test.js","sourceRoot":"","sources":["../../tests/compounding.test.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;AAEH,4CAAoB;AACpB,gDAAwB;AACxB,2CAAiG;AAEjG,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC;AAC1E,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AAEnD,UAAU,CAAC,GAAG,EAAE;IACd,IAAA,oBAAY,EAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,GAAG,EAAE;IACb,IAAA,uBAAe,EAAC,QAAQ,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAMH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACnE,MAAM,EAAE,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAC;QAEjC,mCAAmC;QACnC,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACpE,MAAM,aAAa,GAAG,yFAAyF,CAAC;QAChH,YAAE,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAE5C,IAAA,iBAAS,EAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,4BAA4B,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAChN,EAAE,CAAC,OAAO,CACR,6EAA6E,CAC9E,CAAC,GAAG,CAAC,UAAU,EAAE,IAAA,cAAM,EAAC,aAAa,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAEnE,gEAAgE;QAChE,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;QACxE,MAAM,cAAc,GAClB,+IAA+I,CAAC;QAClJ,YAAE,CAAC,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAE9C,uCAAuC;QACvC,IAAA,iBAAS,EAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,2CAA2C,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/O,EAAE,CAAC,OAAO,CACR,6EAA6E,CAC9E,CAAC,GAAG,CAAC,WAAW,EAAE,IAAA,cAAM,EAAC,cAAc,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAErE,uDAAuD;QACvD,MAAM,OAAO,GAAG,EAAE;aACf,OAAO,CACN;;;iBAGS,CACV;aACA,GAAG,CAAC,sBAAsB,CAAiB,CAAC;QAE/C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzE,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cwd-changed.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cwd-changed.test.d.ts","sourceRoot":"","sources":["../../tests/cwd-changed.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const fs_1 = __importDefault(require("fs"));
7
+ const path_1 = __importDefault(require("path"));
8
+ const child_process_1 = require("child_process");
9
+ const db_1 = require("./helpers/db");
10
+ const TEST_DIR = path_1.default.join(__dirname, '..', '.test-cwd-changed');
11
+ const FAKE_PROJECT_A = path_1.default.join(TEST_DIR, 'project-a');
12
+ const FAKE_PROJECT_B = path_1.default.join(TEST_DIR, 'project-b');
13
+ const HOOK_SCRIPT = path_1.default.resolve(__dirname, '..', 'hooks', 'mindlore-cwd-changed.cjs');
14
+ beforeEach(() => {
15
+ (0, db_1.setupTestDir)(TEST_DIR);
16
+ fs_1.default.mkdirSync(FAKE_PROJECT_A, { recursive: true });
17
+ fs_1.default.mkdirSync(FAKE_PROJECT_B, { recursive: true });
18
+ });
19
+ afterEach(() => {
20
+ (0, db_1.teardownTestDir)(TEST_DIR);
21
+ });
22
+ describe('mindlore-cwd-changed hook', () => {
23
+ test('writes _scope.json when project .mindlore/ exists', () => {
24
+ // Create .mindlore/ in project A
25
+ const mindloreDir = path_1.default.join(FAKE_PROJECT_A, '.mindlore');
26
+ const diaryDir = path_1.default.join(mindloreDir, 'diary');
27
+ fs_1.default.mkdirSync(diaryDir, { recursive: true });
28
+ (0, child_process_1.execSync)(`node "${HOOK_SCRIPT}"`, {
29
+ cwd: FAKE_PROJECT_A,
30
+ stdio: 'pipe',
31
+ env: { ...process.env, HOME: TEST_DIR, USERPROFILE: TEST_DIR },
32
+ });
33
+ const scopePath = path_1.default.join(diaryDir, '_scope.json');
34
+ expect(fs_1.default.existsSync(scopePath)).toBe(true);
35
+ const scope = JSON.parse(fs_1.default.readFileSync(scopePath, 'utf8'));
36
+ expect(scope.scope).toBe('project');
37
+ expect(scope.dir).toBe(mindloreDir);
38
+ });
39
+ test('outputs warning to stderr when no .mindlore/ exists', () => {
40
+ // Hook outputs to stderr — capture via 2>&1
41
+ const result = (0, child_process_1.execSync)(`node "${HOOK_SCRIPT}" 2>&1`, {
42
+ cwd: FAKE_PROJECT_B,
43
+ encoding: 'utf8',
44
+ env: { ...process.env, HOME: TEST_DIR, USERPROFILE: TEST_DIR },
45
+ });
46
+ expect(result).toContain('mindlore kurulu degil');
47
+ });
48
+ test('scope.json has correct timestamp format', () => {
49
+ const mindloreDir = path_1.default.join(FAKE_PROJECT_A, '.mindlore');
50
+ const diaryDir = path_1.default.join(mindloreDir, 'diary');
51
+ fs_1.default.mkdirSync(diaryDir, { recursive: true });
52
+ (0, child_process_1.execSync)(`node "${HOOK_SCRIPT}"`, {
53
+ cwd: FAKE_PROJECT_A,
54
+ stdio: 'pipe',
55
+ env: { ...process.env, HOME: TEST_DIR, USERPROFILE: TEST_DIR },
56
+ });
57
+ const scope = JSON.parse(fs_1.default.readFileSync(path_1.default.join(diaryDir, '_scope.json'), 'utf8'));
58
+ expect(scope.timestamp).toMatch(/^\d{4}-\d{2}-\d{2}T/);
59
+ expect(scope.cwd).toBe(FAKE_PROJECT_A);
60
+ });
61
+ });
62
+ //# sourceMappingURL=cwd-changed.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cwd-changed.test.js","sourceRoot":"","sources":["../../tests/cwd-changed.test.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,iDAAyC;AACzC,qCAA6D;AAE7D,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;AACjE,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AACxD,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AACxD,MAAM,WAAW,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,0BAA0B,CAAC,CAAC;AAEvF,UAAU,CAAC,GAAG,EAAE;IACd,IAAA,iBAAY,EAAC,QAAQ,CAAC,CAAC;IACvB,YAAE,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,YAAE,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,GAAG,EAAE;IACb,IAAA,oBAAe,EAAC,QAAQ,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC7D,iCAAiC;QACjC,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACjD,YAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5C,IAAA,wBAAQ,EAAC,SAAS,WAAW,GAAG,EAAE;YAChC,GAAG,EAAE,cAAc;YACnB,KAAK,EAAE,MAAM;YACb,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;SAC/D,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACrD,MAAM,CAAC,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC/D,4CAA4C;QAC5C,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,SAAS,WAAW,QAAQ,EAAE;YACpD,GAAG,EAAE,cAAc;YACnB,QAAQ,EAAE,MAAM;YAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;SAC/D,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACnD,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACjD,YAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5C,IAAA,wBAAQ,EAAC,SAAS,WAAW,GAAG,EAAE;YAChC,GAAG,EAAE,cAAc;YACnB,KAAK,EAAE,MAAM;YACb,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;SAC/D,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,YAAE,CAAC,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAC5D,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -22,7 +22,7 @@ describe('Content-Hash Dedup', () => {
22
22
  const content = '# Test\n\nSome content here.';
23
23
  const hash = (0, db_js_1.sha256)(content);
24
24
  const filePath = path_1.default.join(TEST_DIR, 'test.md');
25
- (0, db_js_1.insertFts)(db, filePath, 'test-doc', 'Some content here', 'source', 'sources', 'Test', content, '', null);
25
+ (0, db_js_1.insertFts)(db, { path: filePath, slug: 'test-doc', description: 'Some content here', type: 'source', category: 'sources', title: 'Test', content, tags: '', quality: null });
26
26
  db.prepare('INSERT INTO file_hashes (path, content_hash, last_indexed) VALUES (?, ?, ?)').run(filePath, hash, new Date().toISOString());
27
27
  const result = db
28
28
  .prepare('SELECT content_hash FROM file_hashes WHERE path = ?')
@@ -35,7 +35,7 @@ describe('Content-Hash Dedup', () => {
35
35
  const content = '# Unchanged\n\nThis content does not change.';
36
36
  const hash = (0, db_js_1.sha256)(content);
37
37
  const filePath = path_1.default.join(TEST_DIR, 'unchanged.md');
38
- (0, db_js_1.insertFts)(db, filePath, 'unchanged-doc', 'This content does not change', 'source', 'sources', 'Unchanged', content, '', null);
38
+ (0, db_js_1.insertFts)(db, { path: filePath, slug: 'unchanged-doc', description: 'This content does not change', type: 'source', category: 'sources', title: 'Unchanged', content, tags: '', quality: null });
39
39
  db.prepare('INSERT INTO file_hashes (path, content_hash, last_indexed) VALUES (?, ?, ?)').run(filePath, hash, '2026-01-01T00:00:00Z');
40
40
  const existing = db
41
41
  .prepare('SELECT content_hash FROM file_hashes WHERE path = ?')
@@ -54,7 +54,7 @@ describe('Content-Hash Dedup', () => {
54
54
  const modified = '# Modified\n\nSecond version with changes.';
55
55
  const filePath = path_1.default.join(TEST_DIR, 'changing.md');
56
56
  const originalHash = (0, db_js_1.sha256)(original);
57
- (0, db_js_1.insertFts)(db, filePath, 'changing-doc', 'First version', 'source', 'sources', 'Original', original, '', null);
57
+ (0, db_js_1.insertFts)(db, { path: filePath, slug: 'changing-doc', description: 'First version', type: 'source', category: 'sources', title: 'Original', content: original, tags: '', quality: null });
58
58
  db.prepare('INSERT INTO file_hashes (path, content_hash, last_indexed) VALUES (?, ?, ?)').run(filePath, originalHash, '2026-01-01T00:00:00Z');
59
59
  const modifiedHash = (0, db_js_1.sha256)(modified);
60
60
  const existing = db
@@ -62,7 +62,7 @@ describe('Content-Hash Dedup', () => {
62
62
  .get(filePath);
63
63
  expect(existing.content_hash).not.toBe(modifiedHash);
64
64
  db.prepare('DELETE FROM mindlore_fts WHERE path = ?').run(filePath);
65
- (0, db_js_1.insertFts)(db, filePath, 'changing-doc', 'Second version with changes', 'source', 'sources', 'Modified', modified, '', null);
65
+ (0, db_js_1.insertFts)(db, { path: filePath, slug: 'changing-doc', description: 'Second version with changes', type: 'source', category: 'sources', title: 'Modified', content: modified, tags: '', quality: null });
66
66
  db.prepare('UPDATE file_hashes SET content_hash = ?, last_indexed = ? WHERE path = ?').run(modifiedHash, new Date().toISOString(), filePath);
67
67
  const results = db
68
68
  .prepare('SELECT path FROM mindlore_fts WHERE mindlore_fts MATCH ?')
@@ -1 +1 @@
1
- {"version":3,"file":"dedup.test.js","sourceRoot":"","sources":["../../tests/dedup.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dedup.test.js","sourceRoot":"","sources":["../../tests/dedup.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dont-repeat.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dont-repeat.test.d.ts","sourceRoot":"","sources":["../../tests/dont-repeat.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const fs_1 = __importDefault(require("fs"));
7
+ const path_1 = __importDefault(require("path"));
8
+ const child_process_1 = require("child_process");
9
+ const db_1 = require("./helpers/db");
10
+ const TEST_DIR = path_1.default.join(__dirname, '..', '.test-dont-repeat');
11
+ const HOOK_SCRIPT = path_1.default.resolve(__dirname, '..', 'hooks', 'mindlore-dont-repeat.cjs');
12
+ beforeEach(() => {
13
+ (0, db_1.setupTestDir)(TEST_DIR);
14
+ // Create a fake lessons file with negative rules
15
+ const lessonsDir = path_1.default.join(TEST_DIR, '.claude', 'lessons');
16
+ fs_1.default.mkdirSync(lessonsDir, { recursive: true });
17
+ fs_1.default.writeFileSync(path_1.default.join(lessonsDir, 'global.md'), [
18
+ '# Global Lessons',
19
+ '',
20
+ '- YAPMA: ESM projede `__dirname` kullanma. `fileURLToPath(import.meta.url)` kullan',
21
+ '- DON\'T: Use `any` type in TypeScript — use `unknown` + type guard',
22
+ '- NEVER: Use `console.log` for production logging',
23
+ ].join('\n'), 'utf8');
24
+ });
25
+ afterEach(() => {
26
+ (0, db_1.teardownTestDir)(TEST_DIR);
27
+ });
28
+ function runHook(stdinData) {
29
+ try {
30
+ return (0, child_process_1.execSync)(`node "${HOOK_SCRIPT}"`, {
31
+ input: JSON.stringify(stdinData),
32
+ encoding: 'utf8',
33
+ timeout: 5000,
34
+ env: { ...process.env, HOME: TEST_DIR, USERPROFILE: TEST_DIR },
35
+ cwd: TEST_DIR,
36
+ });
37
+ }
38
+ catch (err) {
39
+ return err.stdout || '';
40
+ }
41
+ }
42
+ describe('mindlore-dont-repeat hook', () => {
43
+ test('detects violation when writing code with banned pattern', () => {
44
+ const result = runHook({
45
+ tool_name: 'Write',
46
+ tool_input: {
47
+ file_path: path_1.default.join(TEST_DIR, 'test.ts'),
48
+ content: 'const dir = __dirname;\nconsole.log(dir);',
49
+ },
50
+ });
51
+ // Should output JSON with additionalContext containing violation
52
+ if (result.trim()) {
53
+ const parsed = JSON.parse(result);
54
+ expect(parsed.hookSpecificOutput.additionalContext).toContain('dont-repeat');
55
+ }
56
+ // If no output, patterns may not have matched (short pattern filter)
57
+ });
58
+ test('does not trigger on non-code files', () => {
59
+ const result = runHook({
60
+ tool_name: 'Write',
61
+ tool_input: {
62
+ file_path: path_1.default.join(TEST_DIR, 'README.md'),
63
+ content: 'const dir = __dirname;',
64
+ },
65
+ });
66
+ expect(result.trim()).toBe('');
67
+ });
68
+ test('does not trigger on Edit old_string (code being removed)', () => {
69
+ const result = runHook({
70
+ tool_name: 'Edit',
71
+ tool_input: {
72
+ file_path: path_1.default.join(TEST_DIR, 'test.ts'),
73
+ old_string: 'const dir = __dirname;',
74
+ new_string: 'const dir = import.meta.url;',
75
+ },
76
+ });
77
+ // old_string contains __dirname but should NOT trigger (it's being removed)
78
+ // new_string is clean
79
+ expect(result.trim()).toBe('');
80
+ });
81
+ test('only accepts Write and Edit tool names', () => {
82
+ const result = runHook({
83
+ tool_name: 'Read',
84
+ tool_input: {
85
+ file_path: path_1.default.join(TEST_DIR, 'test.ts'),
86
+ },
87
+ });
88
+ expect(result.trim()).toBe('');
89
+ });
90
+ test('exits cleanly with empty stdin', () => {
91
+ const result = (0, child_process_1.execSync)(`echo "{}" | node "${HOOK_SCRIPT}"`, {
92
+ encoding: 'utf8',
93
+ timeout: 5000,
94
+ env: { ...process.env, HOME: TEST_DIR, USERPROFILE: TEST_DIR },
95
+ cwd: TEST_DIR,
96
+ });
97
+ expect(result.trim()).toBe('');
98
+ });
99
+ });
100
+ //# sourceMappingURL=dont-repeat.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dont-repeat.test.js","sourceRoot":"","sources":["../../tests/dont-repeat.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=e2e-pipeline.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"e2e-pipeline.test.d.ts","sourceRoot":"","sources":["../../tests/e2e-pipeline.test.ts"],"names":[],"mappings":""}