@yourtechtribe-labs/koncept-core 0.2.0-alpha.1 → 0.2.0-alpha.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.
@@ -0,0 +1,32 @@
1
+ /**
2
+ * checker — executes invariant.check payloads (grep | command | none).
3
+ *
4
+ * Lives in koncept-core so it can be tested independently of the CLI.
5
+ * Uses node:fs (reads) and node:child_process (command kind) — no writes
6
+ * to .koncept/ (D-002 invariant preserved).
7
+ */
8
+ export interface CheckOptions {
9
+ /** Repo root — used to locate .koncept/concepts/ AND resolve grep.in paths. */
10
+ cwd: string;
11
+ /** If set, only check invariants belonging to this concept id. */
12
+ filterId?: string;
13
+ }
14
+ export type CheckStatus = 'pass' | 'fail' | 'skip' | 'error';
15
+ export interface InvariantCheckResult {
16
+ conceptId: string;
17
+ invariantId: string;
18
+ kind: 'grep' | 'command' | 'none';
19
+ status: CheckStatus;
20
+ detail?: string;
21
+ }
22
+ export interface CheckResult {
23
+ results: InvariantCheckResult[];
24
+ passed: number;
25
+ failed: number;
26
+ /** kind: none invariants — never a failure */
27
+ skipped: number;
28
+ /** Infrastructure failures (file not found, spawn error, invalid regex) */
29
+ errors: number;
30
+ }
31
+ export declare function runChecks(opts: CheckOptions): Promise<CheckResult>;
32
+ //# sourceMappingURL=checker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../src/checker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,MAAM,WAAW,YAAY;IAC3B,+EAA+E;IAC/E,GAAG,EAAE,MAAM,CAAA;IACX,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;AAE5D,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAA;IACjC,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,oBAAoB,EAAE,CAAA;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAA;IACf,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAA;CACf;AAID,wBAAsB,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAqDxE"}
@@ -0,0 +1,144 @@
1
+ /**
2
+ * checker — executes invariant.check payloads (grep | command | none).
3
+ *
4
+ * Lives in koncept-core so it can be tested independently of the CLI.
5
+ * Uses node:fs (reads) and node:child_process (command kind) — no writes
6
+ * to .koncept/ (D-002 invariant preserved).
7
+ */
8
+ import { readFileSync } from 'node:fs';
9
+ import { join } from 'node:path';
10
+ import { spawnSync } from 'node:child_process';
11
+ import { loadConcepts } from './affected.js';
12
+ // ─── Main entry point ─────────────────────────────────────────────────────────
13
+ export async function runChecks(opts) {
14
+ const loaded = await loadConcepts(opts.cwd);
15
+ let concepts = loaded.concepts;
16
+ if (opts.filterId !== undefined) {
17
+ const found = concepts.find((c) => c.id === opts.filterId);
18
+ if (!found) {
19
+ return {
20
+ results: [
21
+ {
22
+ conceptId: opts.filterId,
23
+ invariantId: '(concept)',
24
+ kind: 'none',
25
+ status: 'error',
26
+ detail: `concept not found: ${opts.filterId}`,
27
+ },
28
+ ],
29
+ passed: 0,
30
+ failed: 0,
31
+ skipped: 0,
32
+ errors: 1,
33
+ };
34
+ }
35
+ concepts = [found];
36
+ }
37
+ const results = [];
38
+ for (const concept of concepts) {
39
+ for (const inv of concept.invariants) {
40
+ const check = inv.check;
41
+ let result;
42
+ if (check.kind === 'none') {
43
+ result = { conceptId: concept.id, invariantId: inv.id, kind: 'none', status: 'skip' };
44
+ }
45
+ else if (check.kind === 'grep') {
46
+ result = executeGrep(concept.id, inv.id, check.pattern, check.in, check.should_match, opts.cwd);
47
+ }
48
+ else {
49
+ result = executeCommand(concept.id, inv.id, check.cmd, opts.cwd);
50
+ }
51
+ results.push(result);
52
+ }
53
+ }
54
+ return tally(results);
55
+ }
56
+ // ─── Private helpers ──────────────────────────────────────────────────────────
57
+ function executeGrep(conceptId, invariantId, pattern, files, shouldMatch, cwd) {
58
+ let regex;
59
+ try {
60
+ regex = new RegExp(pattern);
61
+ }
62
+ catch {
63
+ return {
64
+ conceptId,
65
+ invariantId,
66
+ kind: 'grep',
67
+ status: 'error',
68
+ detail: `invalid regex: ${pattern}`,
69
+ };
70
+ }
71
+ const matchedFiles = [];
72
+ for (const rel of files) {
73
+ const abs = join(cwd, rel);
74
+ let content;
75
+ try {
76
+ content = readFileSync(abs, 'utf-8');
77
+ }
78
+ catch {
79
+ return {
80
+ conceptId,
81
+ invariantId,
82
+ kind: 'grep',
83
+ status: 'error',
84
+ detail: `file not found: ${rel}`,
85
+ };
86
+ }
87
+ if (regex.test(content)) {
88
+ matchedFiles.push(rel);
89
+ }
90
+ }
91
+ const anyMatch = matchedFiles.length > 0;
92
+ if (shouldMatch && anyMatch) {
93
+ return { conceptId, invariantId, kind: 'grep', status: 'pass' };
94
+ }
95
+ if (!shouldMatch && !anyMatch) {
96
+ return { conceptId, invariantId, kind: 'grep', status: 'pass' };
97
+ }
98
+ // Failure
99
+ const detail = shouldMatch
100
+ ? `pattern '${pattern}' not found in: ${files.join(', ')}`
101
+ : `pattern '${pattern}' found in: ${matchedFiles.join(', ')}`;
102
+ return { conceptId, invariantId, kind: 'grep', status: 'fail', detail };
103
+ }
104
+ function executeCommand(conceptId, invariantId, cmd, cwd) {
105
+ const result = spawnSync(cmd, {
106
+ cwd,
107
+ shell: true,
108
+ timeout: 30_000,
109
+ encoding: 'utf-8',
110
+ });
111
+ if (result.error) {
112
+ return {
113
+ conceptId,
114
+ invariantId,
115
+ kind: 'command',
116
+ status: 'error',
117
+ detail: result.error.message,
118
+ };
119
+ }
120
+ if (result.status === 0) {
121
+ return { conceptId, invariantId, kind: 'command', status: 'pass' };
122
+ }
123
+ const raw = ((result.stdout ?? '') + (result.stderr ?? '')).trim();
124
+ const detail = raw.length > 500 ? raw.slice(0, 500) + '…' : raw;
125
+ return { conceptId, invariantId, kind: 'command', status: 'fail', detail };
126
+ }
127
+ function tally(results) {
128
+ let passed = 0;
129
+ let failed = 0;
130
+ let skipped = 0;
131
+ let errors = 0;
132
+ for (const r of results) {
133
+ if (r.status === 'pass')
134
+ passed++;
135
+ else if (r.status === 'fail')
136
+ failed++;
137
+ else if (r.status === 'skip')
138
+ skipped++;
139
+ else
140
+ errors++;
141
+ }
142
+ return { results, passed, failed, skipped, errors };
143
+ }
144
+ //# sourceMappingURL=checker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checker.js","sourceRoot":"","sources":["../src/checker.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -11,4 +11,6 @@ export { computeAffected, loadConcepts, resolveRelatedIds } from './affected.js'
11
11
  export type { AffectedReport, AffectedConcept, AffectedInvariant, MatchedRole, LoadConceptsResult, } from './affected.js';
12
12
  export { suggestLinks } from './suggest-links.js';
13
13
  export type { LinkSuggestion, SuggestLinksOptions } from './suggest-links.js';
14
+ export { runChecks } from './checker.js';
15
+ export type { CheckOptions, CheckStatus, InvariantCheckResult, CheckResult, } from './checker.js';
14
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAItC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACX,SAAS,EACT,aAAa,EACb,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,MAAM,EACN,cAAc,EACd,QAAQ,EACR,OAAO,GACR,MAAM,aAAa,CAAA;AAGpB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAClE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAG1E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACtE,YAAY,EACV,WAAW,EACX,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,WAAW,GACZ,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAChF,YAAY,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,kBAAkB,GACnB,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAItC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACX,SAAS,EACT,aAAa,EACb,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,MAAM,EACN,cAAc,EACd,QAAQ,EACR,OAAO,GACR,MAAM,aAAa,CAAA;AAGpB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAClE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAG1E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACtE,YAAY,EACV,WAAW,EACX,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,WAAW,GACZ,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAChF,YAAY,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,kBAAkB,GACnB,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAG7E,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,YAAY,EACV,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,WAAW,GACZ,MAAM,cAAc,CAAA"}
package/dist/index.js CHANGED
@@ -15,4 +15,6 @@ export { searchEntries } from './search.js';
15
15
  export { computeAffected, loadConcepts, resolveRelatedIds } from './affected.js';
16
16
  // Auto-link inference
17
17
  export { suggestLinks } from './suggest-links.js';
18
+ // Checker (invariant.check executor)
19
+ export { runChecks } from './checker.js';
18
20
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,uEAAuE;AACvE,4CAA4C;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,gFAAgF;AAChF,uDAAuD;AACvD,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAA;AAgBpB,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAGlE,UAAU;AACV,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAStE,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAG3C,6BAA6B;AAC7B,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAShF,sBAAsB;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,uEAAuE;AACvE,4CAA4C;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,gFAAgF;AAChF,uDAAuD;AACvD,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAA;AAgBpB,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAGlE,UAAU;AACV,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAStE,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAG3C,6BAA6B;AAC7B,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAShF,sBAAsB;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGjD,qCAAqC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yourtechtribe-labs/koncept-core",
3
- "version": "0.2.0-alpha.1",
3
+ "version": "0.2.0-alpha.2",
4
4
  "description": "Core schema, parser, and indexer for koncepto semantic concept graphs.",
5
5
  "keywords": [
6
6
  "yaml",