@polintpro/proposit-core 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/README.md +13 -0
  2. package/dist/cli/commands/sources.d.ts +3 -0
  3. package/dist/cli/commands/sources.d.ts.map +1 -0
  4. package/dist/cli/commands/sources.js +175 -0
  5. package/dist/cli/commands/sources.js.map +1 -0
  6. package/dist/cli/config.d.ts +2 -0
  7. package/dist/cli/config.d.ts.map +1 -1
  8. package/dist/cli/config.js +6 -0
  9. package/dist/cli/config.js.map +1 -1
  10. package/dist/cli/engine.d.ts.map +1 -1
  11. package/dist/cli/engine.js +39 -1
  12. package/dist/cli/engine.js.map +1 -1
  13. package/dist/cli/schemata.d.ts +8 -0
  14. package/dist/cli/schemata.d.ts.map +1 -1
  15. package/dist/cli/schemata.js +10 -0
  16. package/dist/cli/schemata.js.map +1 -1
  17. package/dist/cli/storage/sources.d.ts +11 -0
  18. package/dist/cli/storage/sources.d.ts.map +1 -0
  19. package/dist/cli/storage/sources.js +105 -0
  20. package/dist/cli/storage/sources.js.map +1 -0
  21. package/dist/cli.js +2 -0
  22. package/dist/cli.js.map +1 -1
  23. package/dist/extensions/ieee/index.d.ts +3 -0
  24. package/dist/extensions/ieee/index.d.ts.map +1 -0
  25. package/dist/extensions/ieee/index.js +3 -0
  26. package/dist/extensions/ieee/index.js.map +1 -0
  27. package/dist/extensions/ieee/references.d.ts +620 -0
  28. package/dist/extensions/ieee/references.d.ts.map +1 -0
  29. package/dist/extensions/ieee/references.js +450 -0
  30. package/dist/extensions/ieee/references.js.map +1 -0
  31. package/dist/extensions/ieee/source.d.ts +286 -0
  32. package/dist/extensions/ieee/source.d.ts.map +1 -0
  33. package/dist/extensions/ieee/source.js +12 -0
  34. package/dist/extensions/ieee/source.js.map +1 -0
  35. package/dist/lib/consts.d.ts.map +1 -1
  36. package/dist/lib/consts.js +19 -0
  37. package/dist/lib/consts.js.map +1 -1
  38. package/dist/lib/core/argument-engine.d.ts +42 -134
  39. package/dist/lib/core/argument-engine.d.ts.map +1 -1
  40. package/dist/lib/core/argument-engine.js +299 -116
  41. package/dist/lib/core/argument-engine.js.map +1 -1
  42. package/dist/lib/core/change-collector.d.ts +12 -2
  43. package/dist/lib/core/change-collector.d.ts.map +1 -1
  44. package/dist/lib/core/change-collector.js +27 -0
  45. package/dist/lib/core/change-collector.js.map +1 -1
  46. package/dist/lib/core/diff.d.ts +8 -2
  47. package/dist/lib/core/diff.d.ts.map +1 -1
  48. package/dist/lib/core/diff.js +58 -0
  49. package/dist/lib/core/diff.js.map +1 -1
  50. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts +334 -0
  51. package/dist/lib/core/interfaces/argument-engine.interfaces.d.ts.map +1 -0
  52. package/dist/lib/core/interfaces/argument-engine.interfaces.js +2 -0
  53. package/dist/lib/core/interfaces/argument-engine.interfaces.js.map +1 -0
  54. package/dist/lib/core/interfaces/index.d.ts +5 -0
  55. package/dist/lib/core/interfaces/index.d.ts.map +1 -0
  56. package/dist/lib/core/interfaces/index.js +2 -0
  57. package/dist/lib/core/interfaces/index.js.map +1 -0
  58. package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts +317 -0
  59. package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts.map +1 -0
  60. package/dist/lib/core/interfaces/premise-engine.interfaces.js +2 -0
  61. package/dist/lib/core/interfaces/premise-engine.interfaces.js.map +1 -0
  62. package/dist/lib/core/interfaces/shared.interfaces.d.ts +24 -0
  63. package/dist/lib/core/interfaces/shared.interfaces.d.ts.map +1 -0
  64. package/dist/lib/core/interfaces/shared.interfaces.js +2 -0
  65. package/dist/lib/core/interfaces/shared.interfaces.js.map +1 -0
  66. package/dist/lib/core/interfaces/source-management.interfaces.d.ts +110 -0
  67. package/dist/lib/core/interfaces/source-management.interfaces.d.ts.map +1 -0
  68. package/dist/lib/core/interfaces/source-management.interfaces.js +2 -0
  69. package/dist/lib/core/interfaces/source-management.interfaces.js.map +1 -0
  70. package/dist/lib/core/premise-engine.d.ts +19 -153
  71. package/dist/lib/core/premise-engine.d.ts.map +1 -1
  72. package/dist/lib/core/premise-engine.js +95 -143
  73. package/dist/lib/core/premise-engine.js.map +1 -1
  74. package/dist/lib/core/source-manager.d.ts +109 -0
  75. package/dist/lib/core/source-manager.d.ts.map +1 -0
  76. package/dist/lib/core/source-manager.js +420 -0
  77. package/dist/lib/core/source-manager.js.map +1 -0
  78. package/dist/lib/index.d.ts +4 -1
  79. package/dist/lib/index.d.ts.map +1 -1
  80. package/dist/lib/index.js +2 -1
  81. package/dist/lib/index.js.map +1 -1
  82. package/dist/lib/schemata/index.d.ts +1 -0
  83. package/dist/lib/schemata/index.d.ts.map +1 -1
  84. package/dist/lib/schemata/index.js +1 -0
  85. package/dist/lib/schemata/index.js.map +1 -1
  86. package/dist/lib/schemata/source.d.ts +28 -0
  87. package/dist/lib/schemata/source.d.ts.map +1 -0
  88. package/dist/lib/schemata/source.js +35 -0
  89. package/dist/lib/schemata/source.js.map +1 -0
  90. package/dist/lib/types/checksum.d.ts +6 -0
  91. package/dist/lib/types/checksum.d.ts.map +1 -1
  92. package/dist/lib/types/diff.d.ts +9 -3
  93. package/dist/lib/types/diff.d.ts.map +1 -1
  94. package/dist/lib/types/evaluation.d.ts +1 -1
  95. package/dist/lib/types/evaluation.d.ts.map +1 -1
  96. package/dist/lib/types/mutation.d.ts +7 -3
  97. package/dist/lib/types/mutation.d.ts.map +1 -1
  98. package/dist/lib/types/reactive.d.ts +5 -2
  99. package/dist/lib/types/reactive.d.ts.map +1 -1
  100. package/package.json +5 -1
package/README.md CHANGED
@@ -58,6 +58,19 @@ To evaluate or check an argument, premises must be assigned roles:
58
58
 
59
59
  A premise that is neither supporting nor the conclusion and whose type is `"constraint"` is automatically used to filter admissible variable assignments during validity checking.
60
60
 
61
+ ### Sources
62
+
63
+ A **source** is an evidentiary reference (paper, article, URL) that supports components of an argument. Sources are argument-scoped entities managed by the `ArgumentEngine`.
64
+
65
+ Sources are connected to argument components via two types of **associations**:
66
+
67
+ - **Variable–source association** — links a source to a propositional variable (supporting a statement's truth claim).
68
+ - **Expression–source association** — links a source to a specific expression within a premise (supporting a logical relationship).
69
+
70
+ Associations are immutable — create or delete only, no update. When all associations for a source are removed, the source is automatically deleted (orphan cleanup).
71
+
72
+ The `@polintpro/proposit-core/extensions/ieee` subpath export provides `IEEESourceSchema` — an extended source type with IEEE citation reference schemas covering 33 reference types.
73
+
61
74
  Each expression carries:
62
75
 
63
76
  | Field | Type | Description |
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function registerSourceCommands(versionedCmd: Command, argumentId: string, version: number): void;
3
+ //# sourceMappingURL=sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/sources.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAkBnC,wBAAgB,sBAAsB,CAClC,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,IAAI,CA6LN"}
@@ -0,0 +1,175 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { Command } from "commander";
3
+ import { hydrateEngine, persistEngine } from "../engine.js";
4
+ import { errorExit, printJson, printLine } from "../output.js";
5
+ import { readVersionMeta } from "../storage/arguments.js";
6
+ import { deleteSourceDir } from "../storage/sources.js";
7
+ async function assertNotPublished(argumentId, version) {
8
+ const meta = await readVersionMeta(argumentId, version);
9
+ if (meta.published) {
10
+ errorExit(`Version ${version} of argument "${argumentId}" is published and cannot be modified.`);
11
+ }
12
+ }
13
+ export function registerSourceCommands(versionedCmd, argumentId, version) {
14
+ const sources = versionedCmd
15
+ .command("sources")
16
+ .description("Manage sources and associations");
17
+ // ── add ────────────────────────────────────────────────────────────────
18
+ sources
19
+ .command("add")
20
+ .description("Add a new source")
21
+ .requiredOption("--url <url>", "Source URL")
22
+ .option("--id <source_id>", "Explicit source ID (default: generated UUID)")
23
+ .action(async (opts) => {
24
+ await assertNotPublished(argumentId, version);
25
+ const engine = await hydrateEngine(argumentId, version);
26
+ const newId = opts.id ?? randomUUID();
27
+ const source = {
28
+ id: newId,
29
+ argumentId,
30
+ argumentVersion: version,
31
+ url: opts.url,
32
+ };
33
+ try {
34
+ engine.addSource(source);
35
+ }
36
+ catch (err) {
37
+ errorExit(err instanceof Error ? err.message : String(err));
38
+ }
39
+ await persistEngine(engine);
40
+ printLine(newId);
41
+ });
42
+ // ── remove ─────────────────────────────────────────────────────────────
43
+ sources
44
+ .command("remove <source_id>")
45
+ .description("Remove a source and its associations")
46
+ .action(async (sourceId) => {
47
+ await assertNotPublished(argumentId, version);
48
+ const engine = await hydrateEngine(argumentId, version);
49
+ if (!engine.getSource(sourceId)) {
50
+ errorExit(`Source "${sourceId}" not found.`);
51
+ }
52
+ engine.removeSource(sourceId);
53
+ await persistEngine(engine);
54
+ await deleteSourceDir(argumentId, version, sourceId);
55
+ printLine("success");
56
+ });
57
+ // ── list ───────────────────────────────────────────────────────────────
58
+ sources
59
+ .command("list")
60
+ .description("List all sources")
61
+ .option("--json", "Output as JSON")
62
+ .action(async (opts) => {
63
+ const engine = await hydrateEngine(argumentId, version);
64
+ const allSources = engine.getSources();
65
+ if (opts.json) {
66
+ printJson(allSources);
67
+ }
68
+ else {
69
+ for (const s of allSources) {
70
+ const record = s;
71
+ const url = typeof record.url === "string" ? record.url : "";
72
+ printLine(`${s.id} | ${url}`);
73
+ }
74
+ }
75
+ });
76
+ // ── show ───────────────────────────────────────────────────────────────
77
+ sources
78
+ .command("show <source_id>")
79
+ .description("Show a source and its associations")
80
+ .option("--json", "Output as JSON")
81
+ .action(async (sourceId, opts) => {
82
+ const engine = await hydrateEngine(argumentId, version);
83
+ const source = engine.getSource(sourceId);
84
+ if (!source)
85
+ errorExit(`Source "${sourceId}" not found.`);
86
+ const associations = engine.getAssociationsForSource(sourceId);
87
+ if (opts.json) {
88
+ printJson({ source, associations });
89
+ }
90
+ else {
91
+ const record = source;
92
+ const url = typeof record.url === "string" ? record.url : "";
93
+ printLine(`${source.id} | ${url}`);
94
+ if (associations.variable.length > 0) {
95
+ printLine("Variable associations:");
96
+ for (const a of associations.variable) {
97
+ printLine(` ${a.id} → variable ${a.variableId}`);
98
+ }
99
+ }
100
+ if (associations.expression.length > 0) {
101
+ printLine("Expression associations:");
102
+ for (const a of associations.expression) {
103
+ printLine(` ${a.id} → expression ${a.expressionId} (premise ${a.premiseId})`);
104
+ }
105
+ }
106
+ }
107
+ });
108
+ // ── link-variable ──────────────────────────────────────────────────────
109
+ sources
110
+ .command("link-variable <source_id> <variable_id>")
111
+ .description("Link a source to a variable")
112
+ .action(async (sourceId, variableId) => {
113
+ await assertNotPublished(argumentId, version);
114
+ const engine = await hydrateEngine(argumentId, version);
115
+ try {
116
+ engine.addVariableSourceAssociation(sourceId, variableId);
117
+ }
118
+ catch (err) {
119
+ errorExit(err instanceof Error ? err.message : String(err));
120
+ }
121
+ await persistEngine(engine);
122
+ printLine("success");
123
+ });
124
+ // ── link-expression ────────────────────────────────────────────────────
125
+ sources
126
+ .command("link-expression <source_id> <expression_id>")
127
+ .description("Link a source to an expression")
128
+ .action(async (sourceId, expressionId) => {
129
+ await assertNotPublished(argumentId, version);
130
+ const engine = await hydrateEngine(argumentId, version);
131
+ // Find which premise owns this expression
132
+ const premise = engine.findPremiseByExpressionId(expressionId);
133
+ if (!premise) {
134
+ errorExit(`Expression "${expressionId}" not found in any premise.`);
135
+ }
136
+ try {
137
+ engine.addExpressionSourceAssociation(sourceId, expressionId, premise.getId());
138
+ }
139
+ catch (err) {
140
+ errorExit(err instanceof Error ? err.message : String(err));
141
+ }
142
+ await persistEngine(engine);
143
+ printLine("success");
144
+ });
145
+ // ── unlink ─────────────────────────────────────────────────────────────
146
+ sources
147
+ .command("unlink <association_id>")
148
+ .description("Remove a source association")
149
+ .action(async (associationId) => {
150
+ await assertNotPublished(argumentId, version);
151
+ const engine = await hydrateEngine(argumentId, version);
152
+ // Check variable associations first
153
+ const varAssoc = engine
154
+ .getAllVariableSourceAssociations()
155
+ .find((a) => a.id === associationId);
156
+ if (varAssoc) {
157
+ engine.removeVariableSourceAssociation(associationId);
158
+ await persistEngine(engine);
159
+ printLine("success");
160
+ return;
161
+ }
162
+ // Check expression associations
163
+ const exprAssoc = engine
164
+ .getAllExpressionSourceAssociations()
165
+ .find((a) => a.id === associationId);
166
+ if (exprAssoc) {
167
+ engine.removeExpressionSourceAssociation(associationId);
168
+ await persistEngine(engine);
169
+ printLine("success");
170
+ return;
171
+ }
172
+ errorExit(`Association "${associationId}" not found.`);
173
+ });
174
+ }
175
+ //# sourceMappingURL=sources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../src/cli/commands/sources.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,6 @@ export declare function getArgumentDir(argumentId: string): string;
4
4
  export declare function getVersionDir(argumentId: string, version: number): string;
5
5
  export declare function getPremisesDir(argumentId: string, version: number): string;
6
6
  export declare function getPremiseDir(argumentId: string, version: number, premiseId: string): string;
7
+ export declare function getSourcesDir(argumentId: string, version: number): string;
8
+ export declare function getSourceDir(argumentId: string, version: number, sourceId: string): string;
7
9
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAGA,wBAAgB,WAAW,IAAI,MAAM,CAIpC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,wBAAgB,aAAa,CACzB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAClB,MAAM,CAER"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAGA,wBAAgB,WAAW,IAAI,MAAM,CAIpC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,wBAAgB,aAAa,CACzB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAClB,MAAM,CAER;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wBAAgB,YAAY,CACxB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACjB,MAAM,CAER"}
@@ -18,4 +18,10 @@ export function getPremisesDir(argumentId, version) {
18
18
  export function getPremiseDir(argumentId, version, premiseId) {
19
19
  return path.join(getPremisesDir(argumentId, version), premiseId);
20
20
  }
21
+ export function getSourcesDir(argumentId, version) {
22
+ return path.join(getVersionDir(argumentId, version), "sources");
23
+ }
24
+ export function getSourceDir(argumentId, version, sourceId) {
25
+ return path.join(getSourcesDir(argumentId, version), sourceId);
26
+ }
21
27
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,MAAM,UAAU,WAAW;IACvB,OAAO,CACH,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,CACzE,CAAA;AACL,CAAC;AAED,MAAM,UAAU,eAAe;IAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,UAAkB;IAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,UAAU,CAAC,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,UAAkB,EAAE,OAAe;IAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,UAAkB,EAAE,OAAe;IAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,UAAU,aAAa,CACzB,UAAkB,EAClB,OAAe,EACf,SAAiB;IAEjB,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAAA;AACpE,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,MAAM,UAAU,WAAW;IACvB,OAAO,CACH,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,CACzE,CAAA;AACL,CAAC;AAED,MAAM,UAAU,eAAe;IAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,UAAkB;IAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,UAAU,CAAC,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,UAAkB,EAAE,OAAe;IAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,UAAkB,EAAE,OAAe;IAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,UAAU,aAAa,CACzB,UAAkB,EAClB,OAAe,EACf,SAAiB;IAEjB,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,UAAkB,EAAE,OAAe;IAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAAA;AACnE,CAAC;AAED,MAAM,UAAU,YAAY,CACxB,UAAkB,EAClB,OAAe,EACf,QAAgB;IAEhB,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAA;AAClE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/cli/engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAoB/D;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CAgFzB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA2CzE"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/cli/engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAiC/D;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CAmHzB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAmEzE"}
@@ -1,9 +1,10 @@
1
1
  import fs from "node:fs/promises";
2
2
  import { ArgumentEngine } from "../lib/core/argument-engine.js";
3
- import { getPremisesDir } from "./config.js";
3
+ import { getPremisesDir, getSourcesDir } from "./config.js";
4
4
  import { readArgumentMeta, readVersionMeta, writeArgumentMeta, writeVersionMeta, } from "./storage/arguments.js";
5
5
  import { listPremiseIds, readPremiseData, readPremiseMeta, writePremiseData, writePremiseMeta, } from "./storage/premises.js";
6
6
  import { readRoles, writeRoles } from "./storage/roles.js";
7
+ import { listSourceIds as listDiskSourceIds, readExpressionAssociations, readSourceMeta, readVariableAssociations, writeExpressionAssociations, writeSourceMeta, writeVariableAssociations, } from "./storage/sources.js";
7
8
  import { readVariables, writeVariables } from "./storage/variables.js";
8
9
  /**
9
10
  * Builds a fully-hydrated ArgumentEngine from the on-disk state for the
@@ -81,6 +82,35 @@ export async function hydrateEngine(argumentId, version) {
81
82
  }
82
83
  // Supporting premises are now derived from expression type (inference premises
83
84
  // that aren't the conclusion), so no explicit role assignment is needed.
85
+ // ── Sources ────────────────────────────────────────────────────────────
86
+ // Restore sources via snapshot/rollback to preserve association IDs
87
+ // (engine.addVariableSourceAssociation would generate new IDs).
88
+ const [sourceIds, varAssociations, exprAssociations] = await Promise.all([
89
+ listDiskSourceIds(argumentId, version),
90
+ readVariableAssociations(argumentId, version),
91
+ readExpressionAssociations(argumentId, version),
92
+ ]);
93
+ if (sourceIds.length > 0 ||
94
+ varAssociations.length > 0 ||
95
+ exprAssociations.length > 0) {
96
+ const sourceMetas = await Promise.all(sourceIds.map((sid) => readSourceMeta(argumentId, version, sid)));
97
+ const snap = engine.snapshot();
98
+ snap.sources = {
99
+ sources: sourceMetas.map((s) => ({
100
+ ...s,
101
+ checksum: s.checksum ?? "",
102
+ })),
103
+ variableSourceAssociations: varAssociations.map((a) => ({
104
+ ...a,
105
+ checksum: a.checksum ?? "",
106
+ })),
107
+ expressionSourceAssociations: exprAssociations.map((a) => ({
108
+ ...a,
109
+ checksum: a.checksum ?? "",
110
+ })),
111
+ };
112
+ engine.rollback(snap);
113
+ }
84
114
  return engine;
85
115
  }
86
116
  /**
@@ -121,5 +151,13 @@ export async function persistEngine(engine) {
121
151
  expressions: pm.getExpressions(),
122
152
  });
123
153
  }
154
+ // ── Sources ────────────────────────────────────────────────────────────
155
+ const sourcesDir = getSourcesDir(id, arg.version);
156
+ await fs.mkdir(sourcesDir, { recursive: true });
157
+ for (const source of engine.getSources()) {
158
+ await writeSourceMeta(id, arg.version, source.id, source);
159
+ }
160
+ await writeVariableAssociations(id, arg.version, engine.getAllVariableSourceAssociations());
161
+ await writeExpressionAssociations(id, arg.version, engine.getAllExpressionSourceAssociations());
124
162
  }
125
163
  //# sourceMappingURL=engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/cli/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/cli/engine.ts"],"names":[],"mappings":"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"}
@@ -63,4 +63,12 @@ export declare const CliPremiseDataSchema: Type.TObject<{
63
63
  }>]>>;
64
64
  }>;
65
65
  export type TCliPremiseData = Static<typeof CliPremiseDataSchema>;
66
+ export declare const CliSourceMetaSchema: Type.TObject<{
67
+ id: Type.TString;
68
+ argumentId: Type.TString;
69
+ argumentVersion: Type.TNumber;
70
+ url: Type.TString;
71
+ checksum: Type.TOptional<Type.TString>;
72
+ }>;
73
+ export type TCliSourceMeta = Static<typeof CliSourceMetaSchema>;
66
74
  //# sourceMappingURL=schemata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemata.d.ts","sourceRoot":"","sources":["../../src/cli/schemata.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAQ3C,eAAO,MAAM,qBAAqB;;;;EAOjC,CAAA;AACD,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAMnE,eAAO,MAAM,4BAA4B;;;;;EAKvC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,MAAM,CACxC,OAAO,4BAA4B,CACtC,CAAA;AAMD,eAAO,MAAM,iBAAiB;;;;;;;;;EAS5B,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAM3D,eAAO,MAAM,oBAAoB;;;EAMhC,CAAA;AACD,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAiCjE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc/B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAA"}
1
+ {"version":3,"file":"schemata.d.ts","sourceRoot":"","sources":["../../src/cli/schemata.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAQ3C,eAAO,MAAM,qBAAqB;;;;EAOjC,CAAA;AACD,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAMnE,eAAO,MAAM,4BAA4B;;;;;EAKvC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,MAAM,CACxC,OAAO,4BAA4B,CACtC,CAAA;AAMD,eAAO,MAAM,iBAAiB;;;;;;;;;EAS5B,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAM3D,eAAO,MAAM,oBAAoB;;;EAMhC,CAAA;AACD,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAiCjE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc/B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAKjE,eAAO,MAAM,mBAAmB;;;;;;EAS/B,CAAA;AACD,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAA"}
@@ -82,4 +82,14 @@ export const CliPremiseDataSchema = Type.Object({
82
82
  description: "All expressions in this premise. The root has a null parentId.",
83
83
  }),
84
84
  });
85
+ // ---------------------------------------------------------------------------
86
+ // Source meta (stored in sources/<id>/meta.json)
87
+ // ---------------------------------------------------------------------------
88
+ export const CliSourceMetaSchema = Type.Object({
89
+ id: UUID,
90
+ argumentId: UUID,
91
+ argumentVersion: Type.Number(),
92
+ url: Type.String(),
93
+ checksum: Type.Optional(Type.String()),
94
+ }, { additionalProperties: true });
85
95
  //# sourceMappingURL=schemata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemata.js","sourceRoot":"","sources":["../../src/cli/schemata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemata.js","sourceRoot":"","sources":["../../src/cli/schemata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { TCoreVariableSourceAssociation, TCoreExpressionSourceAssociation } from "../../lib/schemata/index.js";
2
+ import { type TCliSourceMeta } from "../schemata.js";
3
+ export declare function readSourceMeta(argumentId: string, version: number, sourceId: string): Promise<TCliSourceMeta>;
4
+ export declare function writeSourceMeta(argumentId: string, version: number, sourceId: string, data: TCliSourceMeta): Promise<void>;
5
+ export declare function listSourceIds(argumentId: string, version: number): Promise<string[]>;
6
+ export declare function deleteSourceDir(argumentId: string, version: number, sourceId: string): Promise<void>;
7
+ export declare function readVariableAssociations(argumentId: string, version: number): Promise<TCoreVariableSourceAssociation[]>;
8
+ export declare function writeVariableAssociations(argumentId: string, version: number, data: TCoreVariableSourceAssociation[]): Promise<void>;
9
+ export declare function readExpressionAssociations(argumentId: string, version: number): Promise<TCoreExpressionSourceAssociation[]>;
10
+ export declare function writeExpressionAssociations(argumentId: string, version: number, data: TCoreExpressionSourceAssociation[]): Promise<void>;
11
+ //# sourceMappingURL=sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../../src/cli/storage/sources.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,8BAA8B,EAC9B,gCAAgC,EACnC,MAAM,6BAA6B,CAAA;AAIpC,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAIzE,wBAAsB,cAAc,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,CAczB;AAED,wBAAsB,eAAe,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAsB,aAAa,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC,CAUnB;AAED,wBAAsB,eAAe,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAKf;AA4CD,wBAAsB,wBAAwB,CAC1C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,8BAA8B,EAAE,CAAC,CAU3C;AAED,wBAAsB,yBAAyB,CAC3C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,8BAA8B,EAAE,GACvC,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAsB,0BAA0B,CAC5C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,gCAAgC,EAAE,CAAC,CAU7C;AAED,wBAAsB,2BAA2B,CAC7C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,gCAAgC,EAAE,GACzC,OAAO,CAAC,IAAI,CAAC,CAOf"}
@@ -0,0 +1,105 @@
1
+ import fs from "node:fs/promises";
2
+ import path from "node:path";
3
+ import Type from "typebox";
4
+ import Value from "typebox/value";
5
+ import { UUID } from "../../lib/schemata/shared.js";
6
+ import { getSourceDir, getSourcesDir } from "../config.js";
7
+ import { errorExit } from "../output.js";
8
+ import { CliSourceMetaSchema } from "../schemata.js";
9
+ // ── Source meta I/O ─────────────────────────────────────────────────────────
10
+ export async function readSourceMeta(argumentId, version, sourceId) {
11
+ const filePath = path.join(getSourceDir(argumentId, version, sourceId), "meta.json");
12
+ const content = await fs.readFile(filePath, "utf-8").catch(() => {
13
+ errorExit(`Source "${sourceId}" not found.`);
14
+ });
15
+ const raw = JSON.parse(content);
16
+ try {
17
+ return Value.Parse(CliSourceMetaSchema, raw);
18
+ }
19
+ catch {
20
+ errorExit(`Invalid or corrupt file: ${filePath}`);
21
+ }
22
+ }
23
+ export async function writeSourceMeta(argumentId, version, sourceId, data) {
24
+ const dir = getSourceDir(argumentId, version, sourceId);
25
+ await fs.mkdir(dir, { recursive: true });
26
+ await fs.writeFile(path.join(dir, "meta.json"), JSON.stringify(data, null, 2));
27
+ }
28
+ export async function listSourceIds(argumentId, version) {
29
+ const dir = getSourcesDir(argumentId, version);
30
+ await fs.mkdir(dir, { recursive: true });
31
+ const entries = await fs
32
+ .readdir(dir, { withFileTypes: true })
33
+ .catch(() => []);
34
+ return entries
35
+ .filter((e) => e.isDirectory())
36
+ .map((e) => e.name)
37
+ .sort();
38
+ }
39
+ export async function deleteSourceDir(argumentId, version, sourceId) {
40
+ await fs.rm(getSourceDir(argumentId, version, sourceId), {
41
+ recursive: true,
42
+ force: true,
43
+ });
44
+ }
45
+ // ── Association I/O ─────────────────────────────────────────────────────────
46
+ const VariableAssociationSchema = Type.Array(Type.Object({
47
+ id: UUID,
48
+ sourceId: UUID,
49
+ variableId: UUID,
50
+ argumentId: UUID,
51
+ argumentVersion: Type.Number(),
52
+ checksum: Type.Optional(Type.String()),
53
+ }));
54
+ const ExpressionAssociationSchema = Type.Array(Type.Object({
55
+ id: UUID,
56
+ sourceId: UUID,
57
+ expressionId: UUID,
58
+ premiseId: UUID,
59
+ argumentId: UUID,
60
+ argumentVersion: Type.Number(),
61
+ checksum: Type.Optional(Type.String()),
62
+ }));
63
+ function variableAssociationsPath(argumentId, version) {
64
+ return path.join(getSourcesDir(argumentId, version), "variable-associations.json");
65
+ }
66
+ function expressionAssociationsPath(argumentId, version) {
67
+ return path.join(getSourcesDir(argumentId, version), "expression-associations.json");
68
+ }
69
+ export async function readVariableAssociations(argumentId, version) {
70
+ const filePath = variableAssociationsPath(argumentId, version);
71
+ const content = await fs.readFile(filePath, "utf-8").catch(() => null);
72
+ if (content === null)
73
+ return [];
74
+ const raw = JSON.parse(content);
75
+ try {
76
+ return Value.Parse(VariableAssociationSchema, raw);
77
+ }
78
+ catch {
79
+ errorExit(`Invalid or corrupt file: ${filePath}`);
80
+ }
81
+ }
82
+ export async function writeVariableAssociations(argumentId, version, data) {
83
+ const dir = getSourcesDir(argumentId, version);
84
+ await fs.mkdir(dir, { recursive: true });
85
+ await fs.writeFile(variableAssociationsPath(argumentId, version), JSON.stringify(data, null, 2));
86
+ }
87
+ export async function readExpressionAssociations(argumentId, version) {
88
+ const filePath = expressionAssociationsPath(argumentId, version);
89
+ const content = await fs.readFile(filePath, "utf-8").catch(() => null);
90
+ if (content === null)
91
+ return [];
92
+ const raw = JSON.parse(content);
93
+ try {
94
+ return Value.Parse(ExpressionAssociationSchema, raw);
95
+ }
96
+ catch {
97
+ errorExit(`Invalid or corrupt file: ${filePath}`);
98
+ }
99
+ }
100
+ export async function writeExpressionAssociations(argumentId, version, data) {
101
+ const dir = getSourcesDir(argumentId, version);
102
+ await fs.mkdir(dir, { recursive: true });
103
+ await fs.writeFile(expressionAssociationsPath(argumentId, version), JSON.stringify(data, null, 2));
104
+ }
105
+ //# sourceMappingURL=sources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../src/cli/storage/sources.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -8,6 +8,7 @@ import { registerVariableCommands } from "./cli/commands/variables.js";
8
8
  import { registerPremiseCommands } from "./cli/commands/premises.js";
9
9
  import { registerExpressionCommands } from "./cli/commands/expressions.js";
10
10
  import { registerAnalysisCommands } from "./cli/commands/analysis.js";
11
+ import { registerSourceCommands } from "./cli/commands/sources.js";
11
12
  import { registerRenderCommand } from "./cli/commands/render.js";
12
13
  import { registerDiffCommand } from "./cli/commands/diff.js";
13
14
  import { isNamedCommand, resolveVersion } from "./cli/router.js";
@@ -43,6 +44,7 @@ if (!isNamedCommand(process.argv)) {
43
44
  registerPremiseCommands(sub, argumentId, version);
44
45
  registerExpressionCommands(sub, argumentId, version);
45
46
  registerAnalysisCommands(sub, argumentId, version);
47
+ registerSourceCommands(sub, argumentId, version);
46
48
  // Replace the consumed positional args with the remainder so Commander
47
49
  // sees: ["node", "proposit-core", <group>, <subcommand>, ...]
48
50
  await sub.parseAsync(["node", "proposit-core", ...rest]);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAA;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAC7B,OAAO;KACF,IAAI,CAAC,eAAe,CAAC;KACrB,WAAW,CAAC,mBAAmB,CAAC;KAChC,uBAAuB,EAAE;KACzB,kBAAkB,CAAC,KAAK,CAAC,CAAA;AAE9B,iFAAiF;AACjF,oBAAoB,CAAC,OAAO,CAAC,CAAA;AAC7B,wBAAwB,CAAC,OAAO,CAAC,CAAA;AACjC,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAE5B,iFAAiF;AACjF,gFAAgF;AAChF,iFAAiF;AACjF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,AAAD,EAAG,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAA;IAE1D,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,SAAS,CACL,sHAAsH,CACzH,CAAA;IACL,CAAC;IAED,0EAA0E;IAC1E,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAE5D,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAA;IACzB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;SACpB,WAAW,CAAC,gBAAgB,UAAU,IAAI,OAAO,EAAE,CAAC;SACpD,uBAAuB,EAAE,CAAA;IAE9B,0BAA0B,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACpD,qBAAqB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAC/C,oBAAoB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAC9C,wBAAwB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAClD,uBAAuB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACjD,0BAA0B,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACpD,wBAAwB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAElD,uEAAuE;IACvE,8DAA8D;IAC9D,MAAM,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;AAC5D,CAAC;KAAM,CAAC;IACJ,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC1C,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./references.js";
2
+ export * from "./source.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extensions/ieee/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from "./references.js";
2
+ export * from "./source.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensions/ieee/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA"}