@mnemonica/tactica 0.1.4 → 0.1.7

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/lib/generator.js CHANGED
@@ -1,13 +1,48 @@
1
1
  'use strict';
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.TypesGenerator = void 0;
37
+ const path = __importStar(require("path"));
4
38
  /**
5
39
  * TypeScript declaration file generator
6
40
  */
7
41
  class TypesGenerator {
8
- constructor(graph, esm = false) {
42
+ constructor(graph, esm = false, outputDir = '.tactica') {
9
43
  this.graph = graph;
10
44
  this.esm = esm;
45
+ this.outputDir = outputDir;
11
46
  }
12
47
  /**
13
48
  * Get import path with optional .js extension for ESM NodeNext
@@ -34,7 +69,7 @@ class TypesGenerator {
34
69
  lines.push('/* eslint-disable @typescript-eslint/no-empty-interface */');
35
70
  lines.push('');
36
71
  // Import ProtoFlat from mnemonica
37
- lines.push("import type { ProtoFlat } from 'mnemonica';");
72
+ lines.push('import type { ProtoFlat } from \'mnemonica\';');
38
73
  lines.push('');
39
74
  // Make this a module so we can use declare global
40
75
  lines.push('export {};');
@@ -42,9 +77,12 @@ class TypesGenerator {
42
77
  // All types go inside declare global so they are globally accessible
43
78
  lines.push('declare global {');
44
79
  lines.push('');
45
- // Generate instance types for all types - in global scope
80
+ // Generate instance types for all default-collection types - in global scope
46
81
  for (const root of this.graph.roots.values()) {
47
82
  for (const node of this.graph.dfs(root)) {
83
+ if (node.collectionId) {
84
+ continue;
85
+ }
48
86
  const instanceName = this.getInstanceTypeName(node);
49
87
  generatedTypes.push(instanceName);
50
88
  this.generateInstanceType(node, lines, 1);
@@ -57,6 +95,9 @@ class TypesGenerator {
57
95
  lines.push('');
58
96
  for (const root of this.graph.roots.values()) {
59
97
  for (const node of this.graph.dfs(root)) {
98
+ if (node.collectionId) {
99
+ continue;
100
+ }
60
101
  this.generateClassInterface(node, lines, 1);
61
102
  }
62
103
  }
@@ -112,9 +153,9 @@ class TypesGenerator {
112
153
  lines.push('');
113
154
  }
114
155
  /**
115
- * Generate class interface for TypeScript declaration merging
116
- * This merges with the actual class to provide proper typing
117
- */
156
+ * Generate class interface for TypeScript declaration merging
157
+ * This merges with the actual class to provide proper typing
158
+ */
118
159
  generateClassInterface(node, lines, indent) {
119
160
  const indentStr = '\t'.repeat(indent);
120
161
  // Build extends clause
@@ -145,9 +186,9 @@ class TypesGenerator {
145
186
  lines.push('');
146
187
  }
147
188
  /**
148
- * Generate a types.ts file with complete instance interfaces
149
- * This includes all properties extracted from the constructors
150
- */
189
+ * Generate a types.ts file with complete instance interfaces
190
+ * This includes all properties extracted from the constructors
191
+ */
151
192
  generateTypesFile() {
152
193
  const lines = [];
153
194
  const generatedTypes = [];
@@ -159,11 +200,17 @@ class TypesGenerator {
159
200
  lines.push('/* eslint-disable @typescript-eslint/no-empty-interface */');
160
201
  lines.push('');
161
202
  // Import ProtoFlat from mnemonica
162
- lines.push("import type { ProtoFlat } from 'mnemonica';");
203
+ lines.push('import type { ProtoFlat } from \'mnemonica\';');
163
204
  lines.push('');
164
- // Generate complete instance interfaces
205
+ // Generate complete instance interfaces for default-collection types and
206
+ // for custom collections that declare a user-provided registry interface
207
+ // (Option B). Custom-collection types without a registry interface are
208
+ // isolated at runtime and are not emitted.
165
209
  for (const root of this.graph.roots.values()) {
166
210
  for (const node of this.graph.dfs(root)) {
211
+ if (node.collectionId && !node.registryInterfaceName) {
212
+ continue;
213
+ }
167
214
  const interfaceName = this.getInstanceTypeName(node);
168
215
  generatedTypes.push(interfaceName);
169
216
  this.generateCompleteInstanceInterface(node, lines);
@@ -245,17 +292,21 @@ class TypesGenerator {
245
292
  lines.push('// This file augments mnemonica\'s TypeRegistry via declaration merging.');
246
293
  lines.push('//');
247
294
  lines.push('// Usage:');
248
- lines.push("// import { lookup } from 'mnemonica';");
249
- lines.push("// import './.tactica/registry'; // applies the augmentation");
250
- lines.push("// const Sentience = lookup('Sentience');");
251
- lines.push('// // TypeScript knows: Sentience is a constructor for SentienceInstance');
252
- lines.push("// const instance = new Sentience({ purpose: 'AI' });");
253
- lines.push('// // instance has full intellisense for Consciousness, Memory, etc.');
295
+ lines.push('// import { lookup } from \'mnemonica\';');
296
+ lines.push('// import \'./.tactica/registry\'; // applies the augmentation');
297
+ lines.push('// const MyType = lookup(\'MyType\');');
298
+ lines.push('// // TypeScript knows: MyType is the typed constructor for MyType');
299
+ lines.push('// const instance = new MyType({ /* constructor args */ });');
300
+ lines.push('// // instance has full intellisense for the generated type');
254
301
  lines.push('');
255
- // Import instance types from types.ts
302
+ // Import instance types from types.ts.
303
+ // Skip custom-collection types that have no user-provided registry interface.
256
304
  lines.push('import type {');
257
305
  for (const root of this.graph.roots.values()) {
258
306
  for (const node of this.graph.dfs(root)) {
307
+ if (node.collectionId && !node.registryInterfaceName) {
308
+ continue;
309
+ }
259
310
  const instanceTypeName = this.getInstanceTypeName(node);
260
311
  lines.push(`\t${instanceTypeName},`);
261
312
  generatedTypes.push(instanceTypeName);
@@ -272,9 +323,15 @@ class TypesGenerator {
272
323
  lines.push(' */');
273
324
  lines.push('declare module \'mnemonica\' {');
274
325
  lines.push(' interface TypeRegistry {');
275
- // Generate entries for all type paths
326
+ // Generate entries for all type paths that belong to the default/global collection.
327
+ // Types that live in a custom collection (collectionId set) are isolated at runtime
328
+ // and are not reachable through free lookup(), so they must not be added to the
329
+ // global TypeRegistry augmentation.
276
330
  for (const root of this.graph.roots.values()) {
277
331
  for (const node of this.graph.dfs(root)) {
332
+ if (node.collectionId) {
333
+ continue;
334
+ }
278
335
  const fullPath = this.getFullPath(node);
279
336
  const instanceType = this.getInstanceTypeName(node);
280
337
  // Generate typed constructor signature for nested types with properties
@@ -285,6 +342,24 @@ class TypesGenerator {
285
342
  lines.push('\t}');
286
343
  lines.push('}');
287
344
  lines.push('');
345
+ // Generate per-collection registry augmentations for Option B
346
+ // (user-provided registry interfaces).
347
+ const collectionGroups = this.groupCollectionRegistryNodes();
348
+ for (const [key, nodes] of collectionGroups) {
349
+ const [registryInterfaceName, sourceFile] = key.split('::');
350
+ const modulePath = this.resolveModulePath(sourceFile);
351
+ lines.push(`declare module '${modulePath}' {`);
352
+ lines.push(`\tinterface ${registryInterfaceName} {`);
353
+ for (const node of nodes) {
354
+ const fullPath = this.getFullPath(node);
355
+ const instanceType = this.getInstanceTypeName(node);
356
+ const constructorSig = this.generateConstructorSignature(node);
357
+ lines.push(`\t\t'${fullPath}': ${constructorSig} => ${instanceType};`);
358
+ }
359
+ lines.push('\t}');
360
+ lines.push('}');
361
+ lines.push('');
362
+ }
288
363
  // Re-export for backward compatibility and explicit usage
289
364
  lines.push('import type { TypeRegistry } from \'mnemonica\';');
290
365
  lines.push('export type { TypeRegistry };');
@@ -324,10 +399,12 @@ class TypesGenerator {
324
399
  /**
325
400
  * Get the instance type name for a node
326
401
  * Uses full path with underscores: Usages.UsageEntry -> Usages_UsageEntry
402
+ * For Option B custom collections, prefixes with the registry interface name.
327
403
  */
328
404
  getInstanceTypeName(node) {
329
405
  const fullPath = this.getFullPath(node);
330
- return fullPath.replace(/\./g, '_');
406
+ const prefix = node.registryInterfaceName ? `${node.registryInterfaceName}_` : '';
407
+ return `${prefix}${fullPath.replace(/\./g, '_')}`;
331
408
  }
332
409
  /**
333
410
  * Resolve a simple type name to its full path name
@@ -376,6 +453,45 @@ class TypesGenerator {
376
453
  }
377
454
  return result;
378
455
  }
456
+ /**
457
+ * Group collection type nodes by their registry interface name and source file.
458
+ * Returns a map keyed by `${registryInterfaceName}::${sourceFile}`.
459
+ */
460
+ groupCollectionRegistryNodes() {
461
+ const groups = new Map();
462
+ for (const root of this.graph.roots.values()) {
463
+ for (const node of this.graph.dfs(root)) {
464
+ if (!node.registryInterfaceName) {
465
+ continue;
466
+ }
467
+ const key = `${node.registryInterfaceName}::${node.sourceFile}`;
468
+ const existing = groups.get(key);
469
+ if (existing) {
470
+ existing.push(node);
471
+ }
472
+ else {
473
+ groups.set(key, [node]);
474
+ }
475
+ }
476
+ }
477
+ return groups;
478
+ }
479
+ /**
480
+ * Resolve a source file path to a module specifier relative to the output directory,
481
+ * suitable for use in a `declare module '...'` block.
482
+ */
483
+ resolveModulePath(sourceFile) {
484
+ const outputAbsolute = path.resolve(this.outputDir);
485
+ const sourceAbsolute = path.resolve(sourceFile);
486
+ let relative = path.relative(outputAbsolute, sourceAbsolute);
487
+ // Remove .ts extension; keep .tsx if present
488
+ if (relative.endsWith('.ts') && !relative.endsWith('.tsx')) {
489
+ relative = relative.slice(0, -3);
490
+ }
491
+ // Convert Windows separators to POSIX
492
+ const posixRelative = relative.replace(/\\/g, '/');
493
+ return posixRelative;
494
+ }
379
495
  }
380
496
  exports.TypesGenerator = TypesGenerator;
381
497
  //# sourceMappingURL=generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
package/lib/graph.d.ts CHANGED
@@ -3,6 +3,13 @@ import { TypeNode, TypeGraph, HierarchyNode } from './types';
3
3
  * Trie-based type graph for storing Mnemonica type hierarchy
4
4
  */
5
5
  export declare class TypeGraphImpl implements TypeGraph {
6
+ /**
7
+ * Keyed by fullPath, not by plain name: a custom collection's root shares
8
+ * its plain name with any other collection (or the default types) — only
9
+ * the `collectionId::`-prefixed fullPath keeps them distinct. Name-keying
10
+ * silently dropped the earlier root, and with it the whole subtree, from
11
+ * every roots-driven walk (generation, hierarchy, verbose tree).
12
+ */
6
13
  roots: Map<string, TypeNode>;
7
14
  allTypes: Map<string, TypeNode>;
8
15
  addRoot(node: TypeNode): void;
@@ -17,7 +24,7 @@ export declare class TypeGraphImpl implements TypeGraph {
17
24
  /**
18
25
  * Create a new TypeNode
19
26
  */
20
- static createNode(name: string, parent: TypeNode | undefined, sourceFile: string, line: number, column: number): TypeNode;
27
+ static createNode(name: string, parent: TypeNode | undefined, sourceFile: string, line: number, column: number, collectionId?: string): TypeNode;
21
28
  /**
22
29
  * Traverse the graph in breadth-first order
23
30
  */
package/lib/graph.js CHANGED
@@ -6,11 +6,18 @@ exports.TypeGraphImpl = void 0;
6
6
  */
7
7
  class TypeGraphImpl {
8
8
  constructor() {
9
+ /**
10
+ * Keyed by fullPath, not by plain name: a custom collection's root shares
11
+ * its plain name with any other collection (or the default types) — only
12
+ * the `collectionId::`-prefixed fullPath keeps them distinct. Name-keying
13
+ * silently dropped the earlier root, and with it the whole subtree, from
14
+ * every roots-driven walk (generation, hierarchy, verbose tree).
15
+ */
9
16
  this.roots = new Map();
10
17
  this.allTypes = new Map();
11
18
  }
12
19
  addRoot(node) {
13
- this.roots.set(node.name, node);
20
+ this.roots.set(node.fullPath, node);
14
21
  this.allTypes.set(node.fullPath, node);
15
22
  }
16
23
  addChild(parent, child) {
@@ -42,8 +49,13 @@ class TypeGraphImpl {
42
49
  /**
43
50
  * Create a new TypeNode
44
51
  */
45
- static createNode(name, parent, sourceFile, line, column) {
46
- const fullPath = parent ? `${parent.fullPath}.${name}` : name;
52
+ static createNode(name, parent, sourceFile, line, column, collectionId) {
53
+ const resolvedCollectionId = collectionId ?? parent?.collectionId;
54
+ const fullPath = parent
55
+ ? `${parent.fullPath}.${name}`
56
+ : resolvedCollectionId
57
+ ? `${resolvedCollectionId}::${name}`
58
+ : name;
47
59
  return {
48
60
  name,
49
61
  fullPath,
@@ -53,6 +65,7 @@ class TypeGraphImpl {
53
65
  sourceFile,
54
66
  line,
55
67
  column,
68
+ collectionId: resolvedCollectionId,
56
69
  };
57
70
  }
58
71
  /**
package/lib/graph.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAMb;;GAEG;AACH,MAAa,aAAa;IAA1B;QACC;;;;;;WAMG;QACH,UAAK,GAA0B,IAAI,GAAG,EAAE,CAAC;QACzC,aAAQ,GAA0B,IAAI,GAAG,EAAE,CAAC;IAiI7C,CAAC;IA/HA,OAAO,CAAE,IAAc;QACtB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,QAAQ,CAAE,MAAgB,EAAE,KAAe;QAC1C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,QAAQ,CAAE,QAAgB;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,cAAc,CAAE,IAAY;QAC3B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,WAAW;QACV,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAChB,IAAY,EACZ,MAA4B,EAC5B,UAAkB,EAClB,IAAY,EACZ,MAAc,EACd,YAAqB;QAErB,MAAM,oBAAoB,GAAG,YAAY,IAAI,MAAM,EAAE,YAAY,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM;YACtB,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE;YAC9B,CAAC,CAAC,oBAAoB;gBACrB,CAAC,CAAC,GAAG,oBAAoB,KAAK,IAAI,EAAE;gBACpC,CAAC,CAAC,IAAI,CAAC;QACT,OAAO;YACN,IAAI;YACJ,QAAQ;YACR,UAAU,EAAK,IAAI,GAAG,EAAE;YACxB,MAAM;YACN,QAAQ,EAAO,IAAI,GAAG,EAAE;YACxB,UAAU;YACV,IAAI;YACJ,MAAM;YACN,YAAY,EAAG,oBAAoB;SACnC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,CAAC,GAAG;QACH,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,KAAK,GAAe,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAE1D,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;YAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,SAAS;YACV,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,MAAM,IAAI,CAAC;YAEX,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;QACF,CAAC;IACF,CAAC;IAED;;OAEG;IACH,CAAC,GAAG,CAAE,IAAe,EAAE,UAAU,IAAI,GAAG,EAAU;QACjD,MAAM,SAAS,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QAC3D,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnD,OAAO;QACR,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC;QAEhB,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACjD,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC;IACF,CAAC;IAED;;OAEG;IACH,WAAW;QACV,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;OAEG;IACK,eAAe,CAAE,IAAc;QACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAC/D,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAkB;YAC7B,IAAI,EAAO,IAAI,CAAC,IAAI;YACpB,QAAQ,EAAG,IAAI,CAAC,QAAQ;YACxB,QAAQ,EAAG,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;YAC3D,QAAQ;SACR,CAAC;QACF,OAAO,MAAM,CAAC;IACf,CAAC;CACD;AA1ID,sCA0IC"}
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEb,qDAAuC;AAEvC;;;;;;GAMG;AAEH,uCAA+C;AAAtC,6GAAA,iBAAiB,OAAA;AAC1B,6DAA2D;AAAlD,yHAAA,kBAAkB,OAAA;AAC3B,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AACtB,yCAA6C;AAApC,2GAAA,cAAc,OAAA;AACvB,mCAAuC;AAA9B,qGAAA,WAAW,OAAA;AAiBpB,kBAAkB;AAClB,6BAAoD;AAA3C,2FAAA,IAAI,OAAA;AAAE,0FAAA,GAAG,OAAA;AAAE,4FAAA,KAAK,OAAA;AAAE,gGAAA,SAAS,OAAA;AAEpC,4BAA4B;AACf,QAAA,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEb,qDAAuC;AAEvC;;;;;;GAMG;AAEH,uCAA+C;AAAtC,6GAAA,iBAAiB,OAAA;AAC1B,6DAA2D;AAAlD,yHAAA,kBAAkB,OAAA;AAC3B,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AACtB,yCAA6C;AAApC,2GAAA,cAAc,OAAA;AACvB,mCAAuC;AAA9B,qGAAA,WAAW,OAAA;AAiBpB,kBAAkB;AAClB,6BAEe;AADd,2FAAA,IAAI,OAAA;AAAE,0FAAA,GAAG,OAAA;AAAE,4FAAA,KAAK,OAAA;AAAE,gGAAA,SAAS,OAAA;AAG5B,4BAA4B;AACf,QAAA,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC"}
@@ -221,7 +221,7 @@ class TopologicaAnalyzer {
221
221
  * Extract `this.property = value` assignments from a function body
222
222
  */
223
223
  extractThisProperties(func, properties) {
224
- const body = func.body;
224
+ const { body } = func;
225
225
  if (!body)
226
226
  return;
227
227
  const visitStatements = (node) => {
@@ -231,8 +231,8 @@ class TopologicaAnalyzer {
231
231
  // Check for this.prop = value
232
232
  if (ts.isBinaryExpression(expr) &&
233
233
  expr.operatorToken.kind === ts.SyntaxKind.EqualsToken) {
234
- const left = expr.left;
235
- const right = expr.right;
234
+ const { left } = expr;
235
+ const { right } = expr;
236
236
  // Check if left side is this.property
237
237
  if (ts.isPropertyAccessExpression(left) &&
238
238
  left.expression.kind === ts.SyntaxKind.ThisKeyword) {
@@ -1 +1 @@
1
- {"version":3,"file":"topologica-analyzer.js","sourceRoot":"","sources":["../src/topologica-analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"topologica-analyzer.js","sourceRoot":"","sources":["../src/topologica-analyzer.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -49,9 +49,13 @@ export interface TypeNode {
49
49
  column: number;
50
50
  /** Constructor function name or class name */
51
51
  constructorName?: string;
52
+ /** Collection identifier if the type belongs to a custom collection (undefined = default/global registry) */
53
+ collectionId?: string;
54
+ /** Registry interface name for custom collections using Option B (user-provided registry interface) */
55
+ registryInterfaceName?: string;
52
56
  }
53
57
  export interface TypeGraph {
54
- /** Root types (defined at module level) */
58
+ /** Root types, keyed by full path (custom-collection roots carry the `collectionId::` prefix) */
55
59
  roots: Map<string, TypeNode>;
56
60
  /** All types by full path */
57
61
  allTypes: Map<string, TypeNode>;
package/lib/writer.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mnemonica/tactica",
3
- "version": "0.1.4",
3
+ "version": "0.1.7",
4
4
  "description": "Type definition generator for Mnemonica — statically analyzes define() calls and emits .tactica/ types, registry, and metadata",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -19,7 +19,8 @@
19
19
  "test": "TS_NODE_PROJECT=./tsconfig.test.json mocha test/**/*.test.ts",
20
20
  "test:coverage": "npx nyc npm test",
21
21
  "test:coverage:html": "npx nyc --reporter=html npm test",
22
- "lint": "npx eslint --fix ./src",
22
+ "lint": "npx eslint --fix ./src ./test",
23
+ "lint:check": "npx eslint ./src ./test",
23
24
  "use:public": "rm -rf node_modules package-lock.json && npm install mnemonica@latest typeomatica@latest --save && npm install mnemonica@latest --save-dev && npm install mnemonica@latest --save-peer && echo 'Switched to PUBLIC npm dependencies (latest)'",
24
25
  "use:local": "node -e \"const fs=require('fs'),p=JSON.parse(fs.readFileSync('package.json','utf8'));p.peerDependencies.mnemonica='file:../core';p.devDependencies.mnemonica='file:../core';p.devDependencies.typeomatica='file:../typeomatica';p.dependencies.mnemonica='file:../core';fs.writeFileSync('package.json',JSON.stringify(p,null,'\\t')+'\\n');console.log('Switched to LOCAL file: dependencies');\""
25
26
  },
@@ -38,7 +39,7 @@
38
39
  },
39
40
  "license": "MIT",
40
41
  "peerDependencies": {
41
- "mnemonica": "^1.0.9",
42
+ "mnemonica": "^1.2.3",
42
43
  "typescript": "^5.0.0 || ^6.0.0"
43
44
  },
44
45
  "devDependencies": {
@@ -46,16 +47,22 @@
46
47
  "@types/chai": "^4.3.20",
47
48
  "@types/mocha": "^10.0.10",
48
49
  "@types/node": "^20.19.43",
50
+ "@typescript-eslint/eslint-plugin": "^8.67.0",
51
+ "@typescript-eslint/parser": "^8.67.0",
49
52
  "chai": "^4.5.0",
53
+ "eslint": "^9.39.5",
54
+ "eslint-plugin-mocha": "^10.5.0",
55
+ "eslint-plugin-no-arrow-this": "^1.2.0",
56
+ "globals": "^15.15.0",
50
57
  "mocha": "^8.4.0",
51
58
  "nyc": "^18.0.0",
52
59
  "ts-node": "^10.9.2",
53
- "typeomatica": "^0.3.59",
60
+ "typeomatica": "^0.3.60",
54
61
  "typescript": "^5.9.3"
55
62
  },
56
63
  "dependencies": {
57
64
  "@types/chokidar": "^2.1.7",
58
65
  "chokidar": "^3.6.0",
59
- "mnemonica": "^1.0.9"
66
+ "mnemonica": "^1.2.3"
60
67
  }
61
68
  }