@polintpro/proposit-core 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +182 -8
  2. package/dist/cli/commands/analysis.d.ts +3 -0
  3. package/dist/cli/commands/analysis.d.ts.map +1 -0
  4. package/dist/cli/commands/analysis.js +324 -0
  5. package/dist/cli/commands/analysis.js.map +1 -0
  6. package/dist/cli/commands/arguments.d.ts +3 -0
  7. package/dist/cli/commands/arguments.d.ts.map +1 -0
  8. package/dist/cli/commands/arguments.js +118 -0
  9. package/dist/cli/commands/arguments.js.map +1 -0
  10. package/dist/cli/commands/expressions.d.ts +3 -0
  11. package/dist/cli/commands/expressions.d.ts.map +1 -0
  12. package/dist/cli/commands/expressions.js +240 -0
  13. package/dist/cli/commands/expressions.js.map +1 -0
  14. package/dist/cli/commands/meta.d.ts +3 -0
  15. package/dist/cli/commands/meta.d.ts.map +1 -0
  16. package/dist/cli/commands/meta.js +14 -0
  17. package/dist/cli/commands/meta.js.map +1 -0
  18. package/dist/cli/commands/premises.d.ts +3 -0
  19. package/dist/cli/commands/premises.d.ts.map +1 -0
  20. package/dist/cli/commands/premises.js +214 -0
  21. package/dist/cli/commands/premises.js.map +1 -0
  22. package/dist/cli/commands/render.d.ts +3 -0
  23. package/dist/cli/commands/render.d.ts.map +1 -0
  24. package/dist/cli/commands/render.js +25 -0
  25. package/dist/cli/commands/render.js.map +1 -0
  26. package/dist/cli/commands/roles.d.ts +3 -0
  27. package/dist/cli/commands/roles.d.ts.map +1 -0
  28. package/dist/cli/commands/roles.js +94 -0
  29. package/dist/cli/commands/roles.js.map +1 -0
  30. package/dist/cli/commands/variables.d.ts +3 -0
  31. package/dist/cli/commands/variables.d.ts.map +1 -0
  32. package/dist/cli/commands/variables.js +173 -0
  33. package/dist/cli/commands/variables.js.map +1 -0
  34. package/dist/cli/commands/versionShow.d.ts +3 -0
  35. package/dist/cli/commands/versionShow.d.ts.map +1 -0
  36. package/dist/cli/commands/versionShow.js +31 -0
  37. package/dist/cli/commands/versionShow.js.map +1 -0
  38. package/dist/cli/config.d.ts +7 -0
  39. package/dist/cli/config.d.ts.map +1 -0
  40. package/dist/cli/config.js +21 -0
  41. package/dist/cli/config.js.map +1 -0
  42. package/dist/cli/engine.d.ts +13 -0
  43. package/dist/cli/engine.d.ts.map +1 -0
  44. package/dist/cli/engine.js +71 -0
  45. package/dist/cli/engine.js.map +1 -0
  46. package/dist/cli/output.d.ts +5 -0
  47. package/dist/cli/output.d.ts.map +1 -0
  48. package/dist/cli/output.js +34 -0
  49. package/dist/cli/output.js.map +1 -0
  50. package/dist/cli/router.d.ts +14 -0
  51. package/dist/cli/router.d.ts.map +1 -0
  52. package/dist/cli/router.js +56 -0
  53. package/dist/cli/router.js.map +1 -0
  54. package/dist/cli/storage/analysis.d.ts +8 -0
  55. package/dist/cli/storage/analysis.d.ts.map +1 -0
  56. package/dist/cli/storage/analysis.js +70 -0
  57. package/dist/cli/storage/analysis.js.map +1 -0
  58. package/dist/cli/storage/arguments.d.ts +12 -0
  59. package/dist/cli/storage/arguments.d.ts.map +1 -0
  60. package/dist/cli/storage/arguments.js +80 -0
  61. package/dist/cli/storage/arguments.js.map +1 -0
  62. package/dist/cli/storage/premises.d.ts +9 -0
  63. package/dist/cli/storage/premises.d.ts.map +1 -0
  64. package/dist/cli/storage/premises.js +67 -0
  65. package/dist/cli/storage/premises.js.map +1 -0
  66. package/dist/cli/storage/roles.d.ts +4 -0
  67. package/dist/cli/storage/roles.d.ts.map +1 -0
  68. package/dist/cli/storage/roles.js +26 -0
  69. package/dist/cli/storage/roles.js.map +1 -0
  70. package/dist/cli/storage/variables.d.ts +4 -0
  71. package/dist/cli/storage/variables.d.ts.map +1 -0
  72. package/dist/cli/storage/variables.js +28 -0
  73. package/dist/cli/storage/variables.js.map +1 -0
  74. package/dist/cli.d.ts +3 -0
  75. package/dist/cli.d.ts.map +1 -0
  76. package/dist/cli.js +51 -0
  77. package/dist/cli.js.map +1 -0
  78. package/dist/lib/core/ArgumentEngine.d.ts +4 -3
  79. package/dist/lib/core/ArgumentEngine.d.ts.map +1 -1
  80. package/dist/lib/core/ArgumentEngine.js +11 -3
  81. package/dist/lib/core/ArgumentEngine.js.map +1 -1
  82. package/dist/lib/core/ExpressionManager.d.ts +1 -1
  83. package/dist/lib/core/ExpressionManager.d.ts.map +1 -1
  84. package/dist/lib/core/ExpressionManager.js +1 -1
  85. package/dist/lib/core/ExpressionManager.js.map +1 -1
  86. package/dist/lib/core/PremiseManager.d.ts +3 -2
  87. package/dist/lib/core/PremiseManager.d.ts.map +1 -1
  88. package/dist/lib/core/PremiseManager.js +9 -10
  89. package/dist/lib/core/PremiseManager.js.map +1 -1
  90. package/dist/lib/core/VariableManager.d.ts +3 -2
  91. package/dist/lib/core/VariableManager.d.ts.map +1 -1
  92. package/dist/lib/core/VariableManager.js +13 -0
  93. package/dist/lib/core/VariableManager.js.map +1 -1
  94. package/dist/lib/core/evaluation/shared.d.ts +1 -1
  95. package/dist/lib/core/evaluation/shared.d.ts.map +1 -1
  96. package/dist/lib/index.d.ts +3 -3
  97. package/dist/lib/index.d.ts.map +1 -1
  98. package/dist/lib/index.js +3 -3
  99. package/dist/lib/index.js.map +1 -1
  100. package/dist/lib/schemata/analysis.d.ts +8 -0
  101. package/dist/lib/schemata/analysis.d.ts.map +1 -0
  102. package/dist/lib/schemata/analysis.js +10 -0
  103. package/dist/lib/schemata/analysis.js.map +1 -0
  104. package/dist/lib/schemata/argument.d.ts +36 -2
  105. package/dist/lib/schemata/argument.d.ts.map +1 -1
  106. package/dist/lib/schemata/argument.js +34 -3
  107. package/dist/lib/schemata/argument.js.map +1 -1
  108. package/dist/lib/schemata/index.d.ts +4 -3
  109. package/dist/lib/schemata/index.d.ts.map +1 -1
  110. package/dist/lib/schemata/index.js +4 -3
  111. package/dist/lib/schemata/index.js.map +1 -1
  112. package/dist/lib/schemata/propositional.d.ts +37 -6
  113. package/dist/lib/schemata/propositional.d.ts.map +1 -1
  114. package/dist/lib/schemata/propositional.js +13 -7
  115. package/dist/lib/schemata/propositional.js.map +1 -1
  116. package/dist/lib/types/evaluation.d.ts +2 -5
  117. package/dist/lib/types/evaluation.d.ts.map +1 -1
  118. package/package.json +7 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"premises.js","sourceRoot":"","sources":["../../../src/cli/commands/premises.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function registerRenderCommand(versionedCmd: Command, argumentId: string, version: number): void;
3
+ //# sourceMappingURL=render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC,wBAAgB,qBAAqB,CACjC,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,IAAI,CAsBN"}
@@ -0,0 +1,25 @@
1
+ import { Command } from "commander";
2
+ import { hydrateEngine } from "../engine.js";
3
+ import { printLine } from "../output.js";
4
+ export function registerRenderCommand(versionedCmd, argumentId, version) {
5
+ versionedCmd
6
+ .command("render")
7
+ .description("Render all premises as logical expression strings")
8
+ .action(async () => {
9
+ const engine = await hydrateEngine(argumentId, version);
10
+ const roles = engine.getRoleState();
11
+ const conclusionId = roles.conclusionPremiseId;
12
+ const all = engine.listPremises();
13
+ const sorted = [
14
+ ...all.filter((pm) => pm.getId() === conclusionId),
15
+ ...all.filter((pm) => pm.getId() !== conclusionId),
16
+ ];
17
+ for (const pm of sorted) {
18
+ const id = pm.getId();
19
+ const marker = id === conclusionId ? "*" : "";
20
+ const display = pm.toDisplayString() || "(empty)";
21
+ printLine(`${id}${marker}: ${display}`);
22
+ }
23
+ });
24
+ }
25
+ //# sourceMappingURL=render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/cli/commands/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,MAAM,UAAU,qBAAqB,CACjC,YAAqB,EACrB,UAAkB,EAClB,OAAe;IAEf,YAAY;SACP,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,mDAAmD,CAAC;SAChE,MAAM,CAAC,KAAK,IAAI,EAAE;QACf,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,EAAE,CAAA;QACnC,MAAM,YAAY,GAAG,KAAK,CAAC,mBAAmB,CAAA;QAE9C,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG;YACX,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,YAAY,CAAC;YAClD,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,YAAY,CAAC;SACrD,CAAA;QAED,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACtB,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAA;YACrB,MAAM,MAAM,GAAG,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;YAC7C,MAAM,OAAO,GAAG,EAAE,CAAC,eAAe,EAAE,IAAI,SAAS,CAAA;YACjD,SAAS,CAAC,GAAG,EAAE,GAAG,MAAM,KAAK,OAAO,EAAE,CAAC,CAAA;QAC3C,CAAC;IACL,CAAC,CAAC,CAAA;AACV,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function registerRoleCommands(versionedCmd: Command, argumentId: string, version: number): void;
3
+ //# sourceMappingURL=roles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/roles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAkBnC,wBAAgB,oBAAoB,CAChC,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,IAAI,CA+FN"}
@@ -0,0 +1,94 @@
1
+ import { Command } from "commander";
2
+ import { errorExit, printJson, printLine } from "../output.js";
3
+ import { readVersionMeta } from "../storage/arguments.js";
4
+ import { premiseExists } from "../storage/premises.js";
5
+ import { readRoles, writeRoles } from "../storage/roles.js";
6
+ async function assertNotPublished(argumentId, version) {
7
+ const meta = await readVersionMeta(argumentId, version);
8
+ if (meta.published) {
9
+ errorExit(`Version ${version} of argument "${argumentId}" is published and cannot be modified.`);
10
+ }
11
+ }
12
+ export function registerRoleCommands(versionedCmd, argumentId, version) {
13
+ const roles = versionedCmd
14
+ .command("roles")
15
+ .description("Manage premise role assignments");
16
+ roles
17
+ .command("show")
18
+ .description("Show current role assignments")
19
+ .option("--json", "Output as JSON")
20
+ .action(async (opts) => {
21
+ const state = await readRoles(argumentId, version);
22
+ if (opts.json) {
23
+ printJson(state);
24
+ }
25
+ else {
26
+ printLine(`conclusion: ${state.conclusionPremiseId ?? "(none)"}`);
27
+ printLine(`supporting: ${state.supportingPremiseIds.length > 0 ? state.supportingPremiseIds.join(", ") : "(none)"}`);
28
+ }
29
+ });
30
+ roles
31
+ .command("set-conclusion <premise_id>")
32
+ .description("Set the designated conclusion premise")
33
+ .action(async (premiseId) => {
34
+ await assertNotPublished(argumentId, version);
35
+ if (!(await premiseExists(argumentId, version, premiseId))) {
36
+ errorExit(`Premise "${premiseId}" does not exist.`);
37
+ }
38
+ const state = await readRoles(argumentId, version);
39
+ if (state.supportingPremiseIds.includes(premiseId)) {
40
+ errorExit(`Premise "${premiseId}" is already a supporting premise.`);
41
+ }
42
+ await writeRoles(argumentId, version, {
43
+ ...state,
44
+ conclusionPremiseId: premiseId,
45
+ });
46
+ printLine("success");
47
+ });
48
+ roles
49
+ .command("clear-conclusion")
50
+ .description("Clear the designated conclusion premise")
51
+ .action(async () => {
52
+ await assertNotPublished(argumentId, version);
53
+ const state = await readRoles(argumentId, version);
54
+ const { conclusionPremiseId: _removed, ...rest } = state;
55
+ await writeRoles(argumentId, version, {
56
+ ...rest,
57
+ conclusionPremiseId: undefined,
58
+ });
59
+ printLine("success");
60
+ });
61
+ roles
62
+ .command("add-support <premise_id>")
63
+ .description("Add a premise to supporting premises")
64
+ .action(async (premiseId) => {
65
+ await assertNotPublished(argumentId, version);
66
+ if (!(await premiseExists(argumentId, version, premiseId))) {
67
+ errorExit(`Premise "${premiseId}" does not exist.`);
68
+ }
69
+ const state = await readRoles(argumentId, version);
70
+ if (state.conclusionPremiseId === premiseId) {
71
+ errorExit(`Premise "${premiseId}" is the conclusion and cannot also be supporting.`);
72
+ }
73
+ const ids = new Set(state.supportingPremiseIds);
74
+ ids.add(premiseId);
75
+ await writeRoles(argumentId, version, {
76
+ ...state,
77
+ supportingPremiseIds: Array.from(ids).sort(),
78
+ });
79
+ printLine("success");
80
+ });
81
+ roles
82
+ .command("remove-support <premise_id>")
83
+ .description("Remove a premise from supporting premises")
84
+ .action(async (premiseId) => {
85
+ await assertNotPublished(argumentId, version);
86
+ const state = await readRoles(argumentId, version);
87
+ await writeRoles(argumentId, version, {
88
+ ...state,
89
+ supportingPremiseIds: state.supportingPremiseIds.filter((id) => id !== premiseId),
90
+ });
91
+ printLine("success");
92
+ });
93
+ }
94
+ //# sourceMappingURL=roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/cli/commands/roles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function registerVariableCommands(versionedCmd: Command, argumentId: string, version: number): void;
3
+ //# sourceMappingURL=variables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/variables.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAuCnC,wBAAgB,wBAAwB,CACpC,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,IAAI,CA2LN"}
@@ -0,0 +1,173 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { Command } from "commander";
3
+ import { errorExit, printJson, printLine, requireConfirmation, } from "../output.js";
4
+ import { readVersionMeta } from "../storage/arguments.js";
5
+ import { listPremiseIds, readPremiseData } from "../storage/premises.js";
6
+ import { readVariables, writeVariables } from "../storage/variables.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
+ /** Collect the set of variable IDs referenced by any expression in any premise. */
14
+ async function referencedVariableIds(argumentId, version) {
15
+ const premiseIds = await listPremiseIds(argumentId, version);
16
+ const referenced = new Set();
17
+ for (const premiseId of premiseIds) {
18
+ const data = await readPremiseData(argumentId, version, premiseId);
19
+ for (const id of data.variables) {
20
+ referenced.add(id);
21
+ }
22
+ }
23
+ return referenced;
24
+ }
25
+ export function registerVariableCommands(versionedCmd, argumentId, version) {
26
+ const vars = versionedCmd
27
+ .command("variables")
28
+ .description("Manage argument-level variables");
29
+ vars.command("create <symbol>")
30
+ .description("Register a new propositional variable")
31
+ .option("--id <variable_id>", "Explicit variable ID (default: generated UUID)")
32
+ .action(async (symbol, opts) => {
33
+ await assertNotPublished(argumentId, version);
34
+ const variables = await readVariables(argumentId, version);
35
+ if (variables.some((v) => v.symbol === symbol)) {
36
+ errorExit(`Symbol "${symbol}" is already in use.`);
37
+ }
38
+ const newId = opts.id ?? randomUUID();
39
+ if (variables.some((v) => v.id === newId)) {
40
+ errorExit(`Variable ID "${newId}" already exists.`);
41
+ }
42
+ variables.push({
43
+ id: newId,
44
+ argumentId,
45
+ argumentVersion: version,
46
+ symbol,
47
+ });
48
+ await writeVariables(argumentId, version, variables);
49
+ printLine(newId);
50
+ });
51
+ vars.command("list")
52
+ .description("List all variables")
53
+ .option("--json", "Output as JSON")
54
+ .action(async (opts) => {
55
+ const variables = await readVariables(argumentId, version);
56
+ const sorted = [...variables].sort((a, b) => a.id.localeCompare(b.id));
57
+ if (opts.json) {
58
+ printJson(sorted);
59
+ }
60
+ else {
61
+ for (const v of sorted) {
62
+ printLine(`${v.id} | ${v.symbol}`);
63
+ }
64
+ }
65
+ });
66
+ vars.command("show <variable_id>")
67
+ .description("Show a single variable")
68
+ .option("--json", "Output as JSON")
69
+ .action(async (variableId, opts) => {
70
+ const variables = await readVariables(argumentId, version);
71
+ const variable = variables.find((v) => v.id === variableId);
72
+ if (!variable)
73
+ errorExit(`Variable "${variableId}" not found.`);
74
+ if (opts.json) {
75
+ printJson(variable);
76
+ }
77
+ else {
78
+ printLine(`${variable.id} | ${variable.symbol}`);
79
+ }
80
+ });
81
+ vars.command("update <variable_id>")
82
+ .description("Update a variable symbol")
83
+ .option("--symbol <new_symbol>", "New symbol")
84
+ .action(async (variableId, opts) => {
85
+ await assertNotPublished(argumentId, version);
86
+ const variables = await readVariables(argumentId, version);
87
+ const idx = variables.findIndex((v) => v.id === variableId);
88
+ if (idx === -1)
89
+ errorExit(`Variable "${variableId}" not found.`);
90
+ if (opts.symbol !== undefined) {
91
+ if (variables.some((v) => v.symbol === opts.symbol && v.id !== variableId)) {
92
+ errorExit(`Symbol "${opts.symbol}" is already in use.`);
93
+ }
94
+ variables[idx] = { ...variables[idx], symbol: opts.symbol };
95
+ }
96
+ await writeVariables(argumentId, version, variables);
97
+ printLine("success");
98
+ });
99
+ vars.command("delete <variable_id>")
100
+ .description("Remove a variable (fails if any expression references it)")
101
+ .action(async (variableId) => {
102
+ await assertNotPublished(argumentId, version);
103
+ const variables = await readVariables(argumentId, version);
104
+ if (!variables.some((v) => v.id === variableId)) {
105
+ errorExit(`Variable "${variableId}" not found.`);
106
+ }
107
+ // Check references
108
+ const premiseIds = await listPremiseIds(argumentId, version);
109
+ for (const premiseId of premiseIds) {
110
+ const data = await readPremiseData(argumentId, version, premiseId);
111
+ for (const expr of data.expressions) {
112
+ if (expr.type === "variable" &&
113
+ expr.variableId === variableId) {
114
+ errorExit(`Variable "${variableId}" is referenced by expression "${expr.id}" in premise "${premiseId}".`);
115
+ }
116
+ }
117
+ }
118
+ await writeVariables(argumentId, version, variables.filter((v) => v.id !== variableId));
119
+ printLine("success");
120
+ });
121
+ vars.command("list-unused")
122
+ .description("List variables not referenced by any expression")
123
+ .option("--json", "Output as JSON")
124
+ .action(async (opts) => {
125
+ const variables = await readVariables(argumentId, version);
126
+ const referenced = await referencedVariableIds(argumentId, version);
127
+ const unused = variables
128
+ .filter((v) => !referenced.has(v.id))
129
+ .sort((a, b) => a.id.localeCompare(b.id));
130
+ if (opts.json) {
131
+ printJson(unused);
132
+ }
133
+ else {
134
+ for (const v of unused) {
135
+ printLine(`${v.id} | ${v.symbol}`);
136
+ }
137
+ }
138
+ });
139
+ vars.command("delete-unused")
140
+ .description("Delete all variables not referenced by any expression")
141
+ .option("--confirm", "Skip confirmation prompt")
142
+ .option("--json", "Output as JSON")
143
+ .action(async (opts) => {
144
+ await assertNotPublished(argumentId, version);
145
+ const variables = await readVariables(argumentId, version);
146
+ const referenced = await referencedVariableIds(argumentId, version);
147
+ const unused = variables.filter((v) => !referenced.has(v.id));
148
+ if (unused.length === 0) {
149
+ if (opts.json) {
150
+ printJson({ deleted: 0, deletedIds: [] });
151
+ }
152
+ else {
153
+ printLine("0 variable(s) deleted");
154
+ }
155
+ return;
156
+ }
157
+ if (!opts.confirm) {
158
+ await requireConfirmation(`Delete ${unused.length} unused variable(s)?`);
159
+ }
160
+ const unusedIds = new Set(unused.map((v) => v.id));
161
+ await writeVariables(argumentId, version, variables.filter((v) => !unusedIds.has(v.id)));
162
+ if (opts.json) {
163
+ printJson({
164
+ deleted: unused.length,
165
+ deletedIds: unused.map((v) => v.id),
166
+ });
167
+ }
168
+ else {
169
+ printLine(`${unused.length} variable(s) deleted`);
170
+ }
171
+ });
172
+ }
173
+ //# sourceMappingURL=variables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../src/cli/commands/variables.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function registerVersionShowCommand(versionedCmd: Command, argumentId: string, version: number): void;
3
+ //# sourceMappingURL=versionShow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versionShow.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/versionShow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKnC,wBAAgB,0BAA0B,CACtC,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,IAAI,CA6BN"}
@@ -0,0 +1,31 @@
1
+ import { Command } from "commander";
2
+ import { printJson, printLine } from "../output.js";
3
+ import { readArgumentMeta } from "../storage/arguments.js";
4
+ import { readVersionMeta } from "../storage/arguments.js";
5
+ export function registerVersionShowCommand(versionedCmd, argumentId, version) {
6
+ versionedCmd
7
+ .command("show")
8
+ .description("Show metadata for this argument version")
9
+ .option("--json", "Output as JSON")
10
+ .action(async (opts) => {
11
+ const [argMeta, vMeta] = await Promise.all([
12
+ readArgumentMeta(argumentId),
13
+ readVersionMeta(argumentId, version),
14
+ ]);
15
+ if (opts.json) {
16
+ printJson({ ...argMeta, ...vMeta });
17
+ }
18
+ else {
19
+ printLine(`id: ${argMeta.id}`);
20
+ printLine(`title: ${argMeta.title}`);
21
+ printLine(`description: ${argMeta.description}`);
22
+ printLine(`version: ${vMeta.version}`);
23
+ printLine(`created: ${new Date(vMeta.createdAt).toLocaleString()}`);
24
+ printLine(`published: ${vMeta.published}`);
25
+ if (vMeta.publishedAt !== undefined) {
26
+ printLine(`publishedAt: ${new Date(vMeta.publishedAt).toLocaleString()}`);
27
+ }
28
+ }
29
+ });
30
+ }
31
+ //# sourceMappingURL=versionShow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versionShow.js","sourceRoot":"","sources":["../../../src/cli/commands/versionShow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEzD,MAAM,UAAU,0BAA0B,CACtC,YAAqB,EACrB,UAAkB,EAClB,OAAe;IAEf,YAAY;SACP,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,yCAAyC,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QACvC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvC,gBAAgB,CAAC,UAAU,CAAC;YAC5B,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC;SACvC,CAAC,CAAA;QAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;QACvC,CAAC;aAAM,CAAC;YACJ,SAAS,CAAC,gBAAgB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;YACvC,SAAS,CAAC,gBAAgB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;YAC1C,SAAS,CAAC,gBAAgB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;YAChD,SAAS,CAAC,gBAAgB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YAC1C,SAAS,CACL,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE,CAC/D,CAAA;YACD,SAAS,CAAC,gBAAgB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAA;YAC5C,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBAClC,SAAS,CACL,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,cAAc,EAAE,EAAE,CACjE,CAAA;YACL,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAA;AACV,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare function getStateDir(): string;
2
+ export declare function getArgumentsDir(): string;
3
+ export declare function getArgumentDir(argumentId: string): string;
4
+ export declare function getVersionDir(argumentId: string, version: number): string;
5
+ export declare function getPremisesDir(argumentId: string, version: number): string;
6
+ export declare function getPremiseDir(argumentId: string, version: number, premiseId: string): string;
7
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,21 @@
1
+ import os from "node:os";
2
+ import path from "node:path";
3
+ export function getStateDir() {
4
+ return (process.env.PROPOSIT_HOME ?? path.join(os.homedir(), ".proposit-core"));
5
+ }
6
+ export function getArgumentsDir() {
7
+ return path.join(getStateDir(), "arguments");
8
+ }
9
+ export function getArgumentDir(argumentId) {
10
+ return path.join(getArgumentsDir(), argumentId);
11
+ }
12
+ export function getVersionDir(argumentId, version) {
13
+ return path.join(getArgumentDir(argumentId), String(version));
14
+ }
15
+ export function getPremisesDir(argumentId, version) {
16
+ return path.join(getVersionDir(argumentId, version), "premises");
17
+ }
18
+ export function getPremiseDir(argumentId, version, premiseId) {
19
+ return path.join(getPremisesDir(argumentId, version), premiseId);
20
+ }
21
+ //# sourceMappingURL=config.js.map
@@ -0,0 +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"}
@@ -0,0 +1,13 @@
1
+ import { ArgumentEngine } from "../lib/core/ArgumentEngine.js";
2
+ /**
3
+ * Builds a fully-hydrated ArgumentEngine from the on-disk state for the
4
+ * given argument ID and version number.
5
+ *
6
+ * All argument-level variables are registered with every PremiseManager so
7
+ * that expression validation and evaluation work correctly.
8
+ *
9
+ * Expressions are added in BFS order (root first, then children) to satisfy
10
+ * the parent-existence requirement of addExpression.
11
+ */
12
+ export declare function hydrateEngine(argumentId: string, version: number): Promise<ArgumentEngine>;
13
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/cli/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAW9D;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CAgEzB"}
@@ -0,0 +1,71 @@
1
+ import { ArgumentEngine } from "../lib/core/ArgumentEngine.js";
2
+ import { readArgumentMeta, readVersionMeta } from "./storage/arguments.js";
3
+ import { listPremiseIds, readPremiseData, readPremiseMeta, } from "./storage/premises.js";
4
+ import { readRoles } from "./storage/roles.js";
5
+ import { readVariables } from "./storage/variables.js";
6
+ /**
7
+ * Builds a fully-hydrated ArgumentEngine from the on-disk state for the
8
+ * given argument ID and version number.
9
+ *
10
+ * All argument-level variables are registered with every PremiseManager so
11
+ * that expression validation and evaluation work correctly.
12
+ *
13
+ * Expressions are added in BFS order (root first, then children) to satisfy
14
+ * the parent-existence requirement of addExpression.
15
+ */
16
+ export async function hydrateEngine(argumentId, version) {
17
+ const [argMeta, versionMeta, allVariables, roles, premiseIds] = await Promise.all([
18
+ readArgumentMeta(argumentId),
19
+ readVersionMeta(argumentId, version),
20
+ readVariables(argumentId, version),
21
+ readRoles(argumentId, version),
22
+ listPremiseIds(argumentId, version),
23
+ ]);
24
+ const argument = { ...argMeta, ...versionMeta };
25
+ const engine = new ArgumentEngine(argument);
26
+ for (const premiseId of premiseIds) {
27
+ const [meta, data] = await Promise.all([
28
+ readPremiseMeta(argumentId, version, premiseId),
29
+ readPremiseData(argumentId, version, premiseId),
30
+ ]);
31
+ const pm = engine.createPremiseWithId(premiseId, meta.title);
32
+ for (const variable of allVariables) {
33
+ pm.addVariable(variable);
34
+ }
35
+ // Add expressions in BFS order: root (parentId===null) first, then
36
+ // children of already-added expressions.
37
+ const remaining = [...data.expressions];
38
+ const added = new Set();
39
+ // First pass: root expressions
40
+ for (let i = remaining.length - 1; i >= 0; i--) {
41
+ const expr = remaining[i];
42
+ if (expr.parentId === null) {
43
+ pm.addExpression(expr);
44
+ added.add(expr.id);
45
+ remaining.splice(i, 1);
46
+ }
47
+ }
48
+ // Subsequent passes: children of already-added nodes
49
+ let progress = true;
50
+ while (remaining.length > 0 && progress) {
51
+ progress = false;
52
+ for (let i = remaining.length - 1; i >= 0; i--) {
53
+ const expr = remaining[i];
54
+ if (expr.parentId !== null && added.has(expr.parentId)) {
55
+ pm.addExpression(expr);
56
+ added.add(expr.id);
57
+ remaining.splice(i, 1);
58
+ progress = true;
59
+ }
60
+ }
61
+ }
62
+ }
63
+ if (roles.conclusionPremiseId !== undefined) {
64
+ engine.setConclusionPremise(roles.conclusionPremiseId);
65
+ }
66
+ for (const id of roles.supportingPremiseIds) {
67
+ engine.addSupportingPremise(id);
68
+ }
69
+ return engine;
70
+ }
71
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/cli/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function printJson(value: unknown): void;
2
+ export declare function printLine(text: string): void;
3
+ export declare function errorExit(message: string, code?: number): never;
4
+ export declare function requireConfirmation(prompt: string): Promise<void>;
5
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"AAGA,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE9C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE5C;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAI,GAAG,KAAK,CAG1D;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBvE"}
@@ -0,0 +1,34 @@
1
+ import readline from "node:readline";
2
+ import fs from "node:fs";
3
+ export function printJson(value) {
4
+ process.stdout.write(JSON.stringify(value, null, 2) + "\n");
5
+ }
6
+ export function printLine(text) {
7
+ process.stdout.write(text + "\n");
8
+ }
9
+ export function errorExit(message, code = 1) {
10
+ process.stderr.write(message + "\n");
11
+ process.exit(code);
12
+ }
13
+ export async function requireConfirmation(prompt) {
14
+ // Open /dev/tty directly so piped stdin doesn't interfere
15
+ let input;
16
+ try {
17
+ input = fs.createReadStream("/dev/tty");
18
+ }
19
+ catch {
20
+ input = process.stdin;
21
+ }
22
+ const rl = readline.createInterface({ input, output: process.stderr });
23
+ process.stderr.write(`${prompt} (type "confirm" to proceed): `);
24
+ await new Promise((resolve) => {
25
+ rl.once("line", (line) => {
26
+ rl.close();
27
+ if (line.trim() !== "confirm") {
28
+ errorExit("Aborted.");
29
+ }
30
+ resolve();
31
+ });
32
+ });
33
+ }
34
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,MAAM,SAAS,CAAA;AAExB,MAAM,UAAU,SAAS,CAAC,KAAc;IACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AAC/D,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,IAAI,GAAG,CAAC;IAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;IACpC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAc;IACpD,0DAA0D;IAC1D,IAAI,KAA4B,CAAA;IAChC,IAAI,CAAC;QACD,KAAK,GAAG,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;IAC3C,CAAC;IAAC,MAAM,CAAC;QACL,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IACzB,CAAC;IAED,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,gCAAgC,CAAC,CAAA;IAE/D,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAChC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,EAAE,CAAC,KAAK,EAAE,CAAA;YACV,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;gBAC5B,SAAS,CAAC,UAAU,CAAC,CAAA;YACzB,CAAC;YACD,OAAO,EAAE,CAAA;QACb,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Returns true when argv[2] is a named top-level command (not a UUID).
3
+ */
4
+ export declare function isNamedCommand(argv: string[]): boolean;
5
+ /**
6
+ * Resolves an argument_version string to a concrete version number.
7
+ *
8
+ * Accepts:
9
+ * - A non-negative integer string → validates existence, returns it
10
+ * - "latest" → max version number found in the argument directory
11
+ * - "last-published" → highest published version; exits 1 if none
12
+ */
13
+ export declare function resolveVersion(argumentId: string, versionArg: string): Promise<number>;
14
+ //# sourceMappingURL=router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":"AAaA;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAItD;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAChC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAgCjB"}