@polintpro/proposit-core 0.5.3 → 0.5.8
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/README.md +172 -1
- package/dist/cli/commands/arguments.d.ts.map +1 -1
- package/dist/cli/commands/arguments.js +33 -5
- package/dist/cli/commands/arguments.js.map +1 -1
- package/dist/cli/commands/claims.d.ts +3 -0
- package/dist/cli/commands/claims.d.ts.map +1 -0
- package/dist/cli/commands/claims.js +120 -0
- package/dist/cli/commands/claims.js.map +1 -0
- package/dist/cli/commands/parse.d.ts +3 -0
- package/dist/cli/commands/parse.d.ts.map +1 -0
- package/dist/cli/commands/parse.js +159 -0
- package/dist/cli/commands/parse.js.map +1 -0
- package/dist/cli/commands/render.d.ts.map +1 -1
- package/dist/cli/commands/render.js +77 -4
- package/dist/cli/commands/render.js.map +1 -1
- package/dist/cli/commands/sources.d.ts +1 -1
- package/dist/cli/commands/sources.d.ts.map +1 -1
- package/dist/cli/commands/sources.js +83 -45
- package/dist/cli/commands/sources.js.map +1 -1
- package/dist/cli/config.d.ts +1 -0
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +3 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/engine.d.ts +14 -1
- package/dist/cli/engine.d.ts.map +1 -1
- package/dist/cli/engine.js +45 -2
- package/dist/cli/engine.js.map +1 -1
- package/dist/cli/import.d.ts +9 -1
- package/dist/cli/import.d.ts.map +1 -1
- package/dist/cli/import.js +22 -4
- package/dist/cli/import.js.map +1 -1
- package/dist/cli/llm/index.d.ts +6 -0
- package/dist/cli/llm/index.d.ts.map +1 -0
- package/dist/cli/llm/index.js +26 -0
- package/dist/cli/llm/index.js.map +1 -0
- package/dist/cli/llm/openai.d.ts +4 -0
- package/dist/cli/llm/openai.d.ts.map +1 -0
- package/dist/cli/llm/openai.js +44 -0
- package/dist/cli/llm/openai.js.map +1 -0
- package/dist/cli/llm/types.d.ts +14 -0
- package/dist/cli/llm/types.d.ts.map +1 -0
- package/dist/cli/llm/types.js +2 -0
- package/dist/cli/llm/types.js.map +1 -0
- package/dist/cli/logging.d.ts +8 -0
- package/dist/cli/logging.d.ts.map +1 -0
- package/dist/cli/logging.js +23 -0
- package/dist/cli/logging.js.map +1 -0
- package/dist/cli/router.d.ts.map +1 -1
- package/dist/cli/router.js +2 -0
- package/dist/cli/router.js.map +1 -1
- package/dist/cli/storage/libraries.d.ts +11 -0
- package/dist/cli/storage/libraries.d.ts.map +1 -0
- package/dist/cli/storage/libraries.js +61 -0
- package/dist/cli/storage/libraries.js.map +1 -0
- package/dist/cli.js +5 -1
- package/dist/cli.js.map +1 -1
- package/dist/extensions/basics/argument-parser.d.ts +12 -0
- package/dist/extensions/basics/argument-parser.d.ts.map +1 -0
- package/dist/extensions/basics/argument-parser.js +27 -0
- package/dist/extensions/basics/argument-parser.js.map +1 -0
- package/dist/extensions/basics/index.d.ts +4 -0
- package/dist/extensions/basics/index.d.ts.map +1 -0
- package/dist/extensions/basics/index.js +3 -0
- package/dist/extensions/basics/index.js.map +1 -0
- package/dist/extensions/basics/schemata.d.ts +31 -0
- package/dist/extensions/basics/schemata.d.ts.map +1 -0
- package/dist/extensions/basics/schemata.js +55 -0
- package/dist/extensions/basics/schemata.js.map +1 -0
- package/dist/lib/core/argument-engine.d.ts +5 -2
- package/dist/lib/core/argument-engine.d.ts.map +1 -1
- package/dist/lib/core/argument-engine.js +20 -24
- package/dist/lib/core/argument-engine.js.map +1 -1
- package/dist/lib/core/claim-library.d.ts +2 -2
- package/dist/lib/core/claim-library.d.ts.map +1 -1
- package/dist/lib/core/claim-source-library.d.ts +2 -2
- package/dist/lib/core/claim-source-library.d.ts.map +1 -1
- package/dist/lib/core/expression-manager.d.ts +25 -2
- package/dist/lib/core/expression-manager.d.ts.map +1 -1
- package/dist/lib/core/expression-manager.js +211 -4
- package/dist/lib/core/expression-manager.js.map +1 -1
- package/dist/lib/core/interfaces/index.d.ts +1 -1
- package/dist/lib/core/interfaces/index.d.ts.map +1 -1
- package/dist/lib/core/interfaces/library.interfaces.d.ts +243 -14
- package/dist/lib/core/interfaces/library.interfaces.d.ts.map +1 -1
- package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts +38 -0
- package/dist/lib/core/interfaces/premise-engine.interfaces.d.ts.map +1 -1
- package/dist/lib/core/parser/formula-gen.js +120 -47
- package/dist/lib/core/premise-engine.d.ts +8 -1
- package/dist/lib/core/premise-engine.d.ts.map +1 -1
- package/dist/lib/core/premise-engine.js +90 -21
- package/dist/lib/core/premise-engine.js.map +1 -1
- package/dist/lib/core/source-library.d.ts +2 -2
- package/dist/lib/core/source-library.d.ts.map +1 -1
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +2 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/parsing/argument-parser.d.ts +47 -0
- package/dist/lib/parsing/argument-parser.d.ts.map +1 -0
- package/dist/lib/parsing/argument-parser.js +307 -0
- package/dist/lib/parsing/argument-parser.js.map +1 -0
- package/dist/lib/parsing/index.d.ts +7 -0
- package/dist/lib/parsing/index.d.ts.map +1 -0
- package/dist/lib/parsing/index.js +4 -0
- package/dist/lib/parsing/index.js.map +1 -0
- package/dist/lib/parsing/prompt-builder.d.ts +11 -0
- package/dist/lib/parsing/prompt-builder.d.ts.map +1 -0
- package/dist/lib/parsing/prompt-builder.js +192 -0
- package/dist/lib/parsing/prompt-builder.js.map +1 -0
- package/dist/lib/parsing/schemata.d.ts +77 -0
- package/dist/lib/parsing/schemata.d.ts.map +1 -0
- package/dist/lib/parsing/schemata.js +88 -0
- package/dist/lib/parsing/schemata.js.map +1 -0
- package/dist/lib/parsing/types.d.ts +13 -0
- package/dist/lib/parsing/types.d.ts.map +1 -0
- package/dist/lib/parsing/types.js +2 -0
- package/dist/lib/parsing/types.js.map +1 -0
- package/dist/lib/types/grammar.d.ts +31 -0
- package/dist/lib/types/grammar.d.ts.map +1 -0
- package/dist/lib/types/grammar.js +11 -0
- package/dist/lib/types/grammar.js.map +1 -0
- package/package.json +5 -1
- package/dist/cli/storage/sources.d.ts +0 -4
- package/dist/cli/storage/sources.d.ts.map +0 -1
- package/dist/cli/storage/sources.js +0 -22
- package/dist/cli/storage/sources.js.map +0 -1
package/README.md
CHANGED
|
@@ -4,6 +4,38 @@ Core engine for building, evaluating, and checking the logical validity of propo
|
|
|
4
4
|
|
|
5
5
|
Also ships a **CLI** (`proposit-core`) for managing arguments, premises, variables, expressions, and analyses stored on disk.
|
|
6
6
|
|
|
7
|
+
## Visual Overview
|
|
8
|
+
|
|
9
|
+
```mermaid
|
|
10
|
+
flowchart TD
|
|
11
|
+
AE["ArgumentEngine"]
|
|
12
|
+
|
|
13
|
+
AE --> PM["PremiseEngine (0..N)"]
|
|
14
|
+
AE --> VM["Variables (0..N, shared)"]
|
|
15
|
+
AE --> Roles["Roles"]
|
|
16
|
+
|
|
17
|
+
PM --> EM["ExpressionManager"]
|
|
18
|
+
EM --> ET["Expression Tree"]
|
|
19
|
+
|
|
20
|
+
VM --> CBV["Claim-Bound\n(claimId, claimVersion)"]
|
|
21
|
+
VM --> PBV["Premise-Bound\n(boundPremiseId,\nboundArgumentId,\nboundArgumentVersion)"]
|
|
22
|
+
|
|
23
|
+
CBV -.-> CL
|
|
24
|
+
PBV -.->|"references specific premise\n(may be cross-argument)"| PM
|
|
25
|
+
|
|
26
|
+
Roles -.->|"conclusionPremiseId\n(supporting & constraint\nroles are derived)"| PM
|
|
27
|
+
|
|
28
|
+
subgraph Injected["Injected Libraries"]
|
|
29
|
+
CL["ClaimLibrary"]
|
|
30
|
+
SL["SourceLibrary"]
|
|
31
|
+
CSL["ClaimSourceLibrary"]
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
AE -.-> Injected
|
|
35
|
+
|
|
36
|
+
style Injected fill:none,stroke:#888,stroke-dasharray: 5 5
|
|
37
|
+
```
|
|
38
|
+
|
|
7
39
|
## Installation
|
|
8
40
|
|
|
9
41
|
```bash
|
|
@@ -49,6 +81,36 @@ The five supported operators and their arities are:
|
|
|
49
81
|
|
|
50
82
|
`implies` and `iff` are **root-only**: they must have `parentId: null` and cannot be nested inside another expression.
|
|
51
83
|
|
|
84
|
+
The following diagram shows how the expression `¬(P ∧ R) → (Q ∨ S)` is represented as a tree. Note the formula node — a transparent wrapper equivalent to parentheses — and that `implies` must be the root:
|
|
85
|
+
|
|
86
|
+
```mermaid
|
|
87
|
+
flowchart TD
|
|
88
|
+
IMP["→ implies\n(root-only, binary)"]
|
|
89
|
+
|
|
90
|
+
IMP --> NOT["¬ not\n(unary)"]
|
|
91
|
+
IMP --> OR["∨ or\n(variadic, ≥ 2)"]
|
|
92
|
+
|
|
93
|
+
NOT --> FRM["( ) formula\n(transparent wrapper,\nexactly 1 child)"]
|
|
94
|
+
|
|
95
|
+
FRM --> AND["∧ and\n(variadic, ≥ 2)"]
|
|
96
|
+
|
|
97
|
+
AND --> P["P\n(variable)"]
|
|
98
|
+
AND --> R["R\n(variable)"]
|
|
99
|
+
|
|
100
|
+
OR --> Q["Q\n(variable)"]
|
|
101
|
+
OR --> S["S\n(variable)"]
|
|
102
|
+
|
|
103
|
+
style IMP fill:#e8f4fd,stroke:#2196f3
|
|
104
|
+
style NOT fill:#e8f4fd,stroke:#2196f3
|
|
105
|
+
style AND fill:#e8f4fd,stroke:#2196f3
|
|
106
|
+
style OR fill:#e8f4fd,stroke:#2196f3
|
|
107
|
+
style FRM fill:none,stroke:#888,stroke-dasharray: 5 5
|
|
108
|
+
style P fill:#f5f5f5,stroke:#666
|
|
109
|
+
style R fill:#f5f5f5,stroke:#666
|
|
110
|
+
style Q fill:#f5f5f5,stroke:#666
|
|
111
|
+
style S fill:#f5f5f5,stroke:#666
|
|
112
|
+
```
|
|
113
|
+
|
|
52
114
|
### Argument roles
|
|
53
115
|
|
|
54
116
|
To evaluate or check an argument, premises must be assigned roles:
|
|
@@ -58,6 +120,46 @@ To evaluate or check an argument, premises must be assigned roles:
|
|
|
58
120
|
|
|
59
121
|
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
122
|
|
|
123
|
+
The following diagram shows how premises, roles, and shared variables compose an argument:
|
|
124
|
+
|
|
125
|
+
```mermaid
|
|
126
|
+
flowchart TD
|
|
127
|
+
ARG["Argument"]
|
|
128
|
+
|
|
129
|
+
ARG --> P1["Premise 1\n<b>Conclusion</b>\n(inference: root is →)"]
|
|
130
|
+
ARG --> P2["Premise 2\n<b>Supporting</b>\n(inference: root is ↔)"]
|
|
131
|
+
ARG --> P3["Premise 3\n<b>Constraint</b>\n(root is ∧)"]
|
|
132
|
+
|
|
133
|
+
subgraph Shared["Shared Variables"]
|
|
134
|
+
VP["P"]
|
|
135
|
+
VQ["Q"]
|
|
136
|
+
VR["R"]
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
P1 -.- VP
|
|
140
|
+
P1 -.- VQ
|
|
141
|
+
P2 -.- VQ
|
|
142
|
+
P2 -.- VR
|
|
143
|
+
P3 -.- VP
|
|
144
|
+
P3 -.- VR
|
|
145
|
+
|
|
146
|
+
note1["Conclusion: set via setConclusionPremise()\nFirst premise auto-designated if not set"]
|
|
147
|
+
note2["Supporting: any inference premise\nthat is not the conclusion (derived)"]
|
|
148
|
+
note3["Constraint: any non-inference premise (derived)"]
|
|
149
|
+
|
|
150
|
+
P1 ~~~ note1
|
|
151
|
+
P2 ~~~ note2
|
|
152
|
+
P3 ~~~ note3
|
|
153
|
+
|
|
154
|
+
style P1 fill:#e8f4fd,stroke:#2196f3
|
|
155
|
+
style P2 fill:#e8f4fd,stroke:#2196f3
|
|
156
|
+
style P3 fill:#fff3e0,stroke:#ff9800
|
|
157
|
+
style Shared fill:none,stroke:#888,stroke-dasharray: 5 5
|
|
158
|
+
style note1 fill:none,stroke:none
|
|
159
|
+
style note2 fill:none,stroke:none
|
|
160
|
+
style note3 fill:none,stroke:none
|
|
161
|
+
```
|
|
162
|
+
|
|
61
163
|
### Sources
|
|
62
164
|
|
|
63
165
|
A **source** is an evidentiary reference (paper, article, URL). Source entities live in a global `SourceLibrary` with versioning and freeze semantics (same as `ClaimLibrary`).
|
|
@@ -208,6 +310,51 @@ const { result: expr, changes: exprChanges } = pm.addExpression({
|
|
|
208
310
|
|
|
209
311
|
### Evaluating an argument
|
|
210
312
|
|
|
313
|
+
The evaluation pipeline proceeds as follows:
|
|
314
|
+
|
|
315
|
+
```mermaid
|
|
316
|
+
flowchart LR
|
|
317
|
+
IN["Input\n(variable ID → true/false/null\n+ rejected expression IDs)"]
|
|
318
|
+
|
|
319
|
+
IN --> VAL{"validateEvaluability()"}
|
|
320
|
+
|
|
321
|
+
VAL -->|"fail"| FAIL["{ ok: false }\nvalidation errors"]
|
|
322
|
+
VAL -->|"pass"| CON["Evaluate\nConstraint\nPremises"]
|
|
323
|
+
|
|
324
|
+
CON --> ADM{"Admissible?\n(three-valued)"}
|
|
325
|
+
|
|
326
|
+
ADM -->|"true"| SUP["Evaluate\nSupporting\nPremises"]
|
|
327
|
+
ADM -->|"false/null"| INADM["Not admissible\n(skip)"]
|
|
328
|
+
|
|
329
|
+
SUP --> SUPR{"All supporting\ntrue?\n(three-valued)"}
|
|
330
|
+
|
|
331
|
+
SUPR -->|"true"| CONC["Evaluate\nConclusion"]
|
|
332
|
+
SUPR -->|"false/null"| NONCE["Not a\ncounterexample"]
|
|
333
|
+
|
|
334
|
+
CONC --> CONCR{"Conclusion\ntrue?\n(three-valued)"}
|
|
335
|
+
|
|
336
|
+
CONCR -->|"false"| CE["Counterexample\n(admissible + all supporting\ntrue + conclusion false)"]
|
|
337
|
+
CONCR -->|"true/null"| NONCE2["Not a\ncounterexample"]
|
|
338
|
+
|
|
339
|
+
subgraph Validity["Validity Check (all 2ⁿ assignments)"]
|
|
340
|
+
direction LR
|
|
341
|
+
VALID["No counterexamples\namong admissible\nassignments → Valid"]
|
|
342
|
+
end
|
|
343
|
+
|
|
344
|
+
CE --> Validity
|
|
345
|
+
NONCE --> Validity
|
|
346
|
+
NONCE2 --> Validity
|
|
347
|
+
INADM --> Validity
|
|
348
|
+
|
|
349
|
+
style FAIL fill:#ffebee,stroke:#f44336
|
|
350
|
+
style CE fill:#ffebee,stroke:#f44336
|
|
351
|
+
style NONCE fill:#e8f5e9,stroke:#4caf50
|
|
352
|
+
style NONCE2 fill:#e8f5e9,stroke:#4caf50
|
|
353
|
+
style INADM fill:#f5f5f5,stroke:#888
|
|
354
|
+
style VALID fill:#e8f5e9,stroke:#4caf50
|
|
355
|
+
style Validity fill:none,stroke:#888,stroke-dasharray: 5 5
|
|
356
|
+
```
|
|
357
|
+
|
|
211
358
|
Assignments use `TCoreExpressionAssignment`, which carries both variable truth values (three-valued: `true`, `false`, or `null` for unknown) and a list of rejected expression IDs:
|
|
212
359
|
|
|
213
360
|
```typescript
|
|
@@ -441,6 +588,18 @@ proposit-core arguments create <title> <desc> Create a new argument (prints
|
|
|
441
588
|
proposit-core arguments list [--json] List all arguments
|
|
442
589
|
proposit-core arguments delete [--all] [--confirm] <id> Delete an argument or its latest version
|
|
443
590
|
proposit-core arguments publish <id> Publish latest version, prepare new draft
|
|
591
|
+
proposit-core arguments parse [text] [options] Parse natural language into an argument via LLM
|
|
592
|
+
proposit-core arguments import <yaml_file> Import an argument from YAML
|
|
593
|
+
proposit-core claims list [--json] List all claims
|
|
594
|
+
proposit-core claims show <claim_id> [--json] Show all versions of a claim
|
|
595
|
+
proposit-core claims add [--title <t>] [--body <b>] Create a new claim
|
|
596
|
+
proposit-core claims update <claim_id> [--title <t>] [--body <b>] Update claim metadata
|
|
597
|
+
proposit-core claims freeze <claim_id> Freeze current version
|
|
598
|
+
proposit-core sources list [--json] List all sources
|
|
599
|
+
proposit-core sources show <source_id> [--json] Show all versions of a source
|
|
600
|
+
proposit-core sources add --text <text> Create a new source
|
|
601
|
+
proposit-core sources link-claim <source_id> <claim_id> Link a source to a claim
|
|
602
|
+
proposit-core sources unlink <association_id> Remove a claim-source association
|
|
444
603
|
```
|
|
445
604
|
|
|
446
605
|
By default `delete` removes only the latest version. Pass `--all` to remove the argument entirely. Both `delete` and `delete-unused` prompt for confirmation unless `--confirm` is supplied.
|
|
@@ -467,7 +626,15 @@ Displays argument metadata (id, title, description, version, createdAt, publishe
|
|
|
467
626
|
proposit-core <id> <ver> render
|
|
468
627
|
```
|
|
469
628
|
|
|
470
|
-
|
|
629
|
+
Renders the full argument with metadata. Output includes:
|
|
630
|
+
|
|
631
|
+
- **Argument header** — title and description
|
|
632
|
+
- **Premises** — one per line with formula display string and title (if present); conclusion marked with `*`
|
|
633
|
+
- **Variables** — symbol and bound claim title (or premise binding)
|
|
634
|
+
- **Claims** — ID, version, frozen status, title, and body
|
|
635
|
+
- **Sources** — ID, version, and text
|
|
636
|
+
|
|
637
|
+
Display strings use standard logical notation (¬ ∧ ∨ → ↔).
|
|
471
638
|
|
|
472
639
|
#### roles
|
|
473
640
|
|
|
@@ -564,6 +731,10 @@ proposit-core <id> <ver> analysis export [--json]
|
|
|
564
731
|
- **`refs`** — lists every variable referenced across all premises.
|
|
565
732
|
- **`export`** — dumps the full `ArgumentEngine` state as JSON (uses `snapshot()` internally).
|
|
566
733
|
|
|
734
|
+
### Logging
|
|
735
|
+
|
|
736
|
+
All CLI invocations are logged to `~/.proposit-core/logs/cli.jsonl` (or `$PROPOSIT_HOME/logs/cli.jsonl`). Each line is a JSON object with a timestamp and event name. The `arguments parse` command additionally logs the full LLM request and response, plus dedicated error entries for validation and build failures.
|
|
737
|
+
|
|
567
738
|
## Development
|
|
568
739
|
|
|
569
740
|
```bash
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arguments.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/arguments.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"arguments.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/arguments.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA8BnC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmM/D"}
|
|
@@ -4,12 +4,16 @@ import path from "node:path";
|
|
|
4
4
|
import { Command } from "commander";
|
|
5
5
|
import { importArgumentFromYaml } from "../import.js";
|
|
6
6
|
import { getVersionDir } from "../config.js";
|
|
7
|
-
import { persistEngine } from "../engine.js";
|
|
7
|
+
import { hydrateLibraries, persistEngine, persistLibraries } from "../engine.js";
|
|
8
|
+
import { ClaimLibrary } from "../../lib/core/claim-library.js";
|
|
9
|
+
import { SourceLibrary } from "../../lib/core/source-library.js";
|
|
10
|
+
import { ClaimSourceLibrary } from "../../lib/core/claim-source-library.js";
|
|
8
11
|
import { errorExit, printJson, printLine, requireConfirmation, } from "../output.js";
|
|
9
12
|
import { copyVersionDir, deleteArgumentDir, deleteVersionDir, latestVersionNumber, listArgumentIds, listVersionNumbers, readArgumentMeta, readVersionMeta, writeArgumentMeta, writeVersionMeta, } from "../storage/arguments.js";
|
|
10
13
|
import { writeVariables } from "../storage/variables.js";
|
|
11
14
|
import { writeRoles } from "../storage/roles.js";
|
|
12
15
|
import { getPremisesDir } from "../config.js";
|
|
16
|
+
import { registerParseCommand } from "./parse.js";
|
|
13
17
|
export function registerArgumentCommands(program) {
|
|
14
18
|
const args = program.command("arguments").description("Manage arguments");
|
|
15
19
|
args.command("create <title> <description>")
|
|
@@ -39,15 +43,38 @@ export function registerArgumentCommands(program) {
|
|
|
39
43
|
catch {
|
|
40
44
|
errorExit(`Cannot read file: ${filePath}`);
|
|
41
45
|
}
|
|
42
|
-
let
|
|
46
|
+
let result;
|
|
43
47
|
try {
|
|
44
|
-
|
|
48
|
+
result = importArgumentFromYaml(content);
|
|
45
49
|
}
|
|
46
50
|
catch (error) {
|
|
47
51
|
errorExit(error instanceof Error ? error.message : String(error));
|
|
48
52
|
}
|
|
49
|
-
|
|
50
|
-
|
|
53
|
+
// Merge new libraries into existing global libraries
|
|
54
|
+
const existing = await hydrateLibraries();
|
|
55
|
+
const mergedClaims = ClaimLibrary.fromSnapshot({
|
|
56
|
+
claims: [
|
|
57
|
+
...existing.claimLibrary.snapshot().claims,
|
|
58
|
+
...result.claimLibrary.snapshot().claims,
|
|
59
|
+
],
|
|
60
|
+
});
|
|
61
|
+
const mergedSources = SourceLibrary.fromSnapshot({
|
|
62
|
+
sources: [
|
|
63
|
+
...existing.sourceLibrary.snapshot().sources,
|
|
64
|
+
...result.sourceLibrary.snapshot().sources,
|
|
65
|
+
],
|
|
66
|
+
});
|
|
67
|
+
const mergedAssocs = ClaimSourceLibrary.fromSnapshot({
|
|
68
|
+
claimSourceAssociations: [
|
|
69
|
+
...existing.claimSourceLibrary.snapshot()
|
|
70
|
+
.claimSourceAssociations,
|
|
71
|
+
...result.claimSourceLibrary.snapshot()
|
|
72
|
+
.claimSourceAssociations,
|
|
73
|
+
],
|
|
74
|
+
}, mergedClaims, mergedSources);
|
|
75
|
+
await persistEngine(result.engine);
|
|
76
|
+
await persistLibraries(mergedClaims, mergedSources, mergedAssocs);
|
|
77
|
+
printLine(result.engine.getArgument().id);
|
|
51
78
|
});
|
|
52
79
|
args.command("list")
|
|
53
80
|
.description("List all arguments")
|
|
@@ -137,5 +164,6 @@ export function registerArgumentCommands(program) {
|
|
|
137
164
|
await fs.writeFile(newMetaPath, JSON.stringify(cleanMeta, null, 2));
|
|
138
165
|
printLine(`Version ${V} published, draft version ${newV} prepared`);
|
|
139
166
|
});
|
|
167
|
+
registerParseCommand(args);
|
|
140
168
|
}
|
|
141
169
|
//# sourceMappingURL=arguments.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arguments.js","sourceRoot":"","sources":["../../../src/cli/commands/arguments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"arguments.js","sourceRoot":"","sources":["../../../src/cli/commands/arguments.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claims.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/claims.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+I5D"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { Command } from "commander";
|
|
3
|
+
import { hydrateLibraries, persistLibraries } from "../engine.js";
|
|
4
|
+
import { errorExit, printJson, printLine } from "../output.js";
|
|
5
|
+
export function registerClaimCommands(program) {
|
|
6
|
+
const claims = program
|
|
7
|
+
.command("claims")
|
|
8
|
+
.description("Manage global claim library");
|
|
9
|
+
claims
|
|
10
|
+
.command("list")
|
|
11
|
+
.description("List all claims")
|
|
12
|
+
.option("--json", "Output as JSON")
|
|
13
|
+
.action(async (opts) => {
|
|
14
|
+
const { claimLibrary } = await hydrateLibraries();
|
|
15
|
+
const all = claimLibrary.getAll();
|
|
16
|
+
if (opts.json) {
|
|
17
|
+
printJson(all);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
for (const claim of all) {
|
|
21
|
+
const extras = claim;
|
|
22
|
+
const frozen = claim.frozen ? " [frozen]" : "";
|
|
23
|
+
const title = typeof extras.title === "string"
|
|
24
|
+
? ` | ${extras.title}`
|
|
25
|
+
: "";
|
|
26
|
+
printLine(`${claim.id}@${claim.version}${frozen}${title}`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
claims
|
|
31
|
+
.command("show <claim_id>")
|
|
32
|
+
.description("Show all versions of a claim")
|
|
33
|
+
.option("--json", "Output as JSON")
|
|
34
|
+
.action(async (claimId, opts) => {
|
|
35
|
+
const { claimLibrary } = await hydrateLibraries();
|
|
36
|
+
const versions = claimLibrary.getVersions(claimId);
|
|
37
|
+
if (versions.length === 0) {
|
|
38
|
+
errorExit(`Claim "${claimId}" not found.`);
|
|
39
|
+
}
|
|
40
|
+
if (opts.json) {
|
|
41
|
+
printJson(versions);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
for (const v of versions) {
|
|
45
|
+
const extras = v;
|
|
46
|
+
const frozen = v.frozen ? " [frozen]" : "";
|
|
47
|
+
printLine(`v${v.version}${frozen}`);
|
|
48
|
+
if (typeof extras.title === "string") {
|
|
49
|
+
printLine(` title: ${extras.title}`);
|
|
50
|
+
}
|
|
51
|
+
if (typeof extras.body === "string") {
|
|
52
|
+
printLine(` body: ${extras.body}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
claims
|
|
58
|
+
.command("add")
|
|
59
|
+
.description("Create a new claim")
|
|
60
|
+
.option("--title <title>", "Short title summarizing the claim")
|
|
61
|
+
.option("--body <body>", "Detailed description of the claim")
|
|
62
|
+
.action(async (opts) => {
|
|
63
|
+
const libs = await hydrateLibraries();
|
|
64
|
+
const claim = libs.claimLibrary.create({
|
|
65
|
+
id: randomUUID(),
|
|
66
|
+
...(opts.title !== undefined ? { title: opts.title } : {}),
|
|
67
|
+
...(opts.body !== undefined ? { body: opts.body } : {}),
|
|
68
|
+
});
|
|
69
|
+
await persistLibraries(libs.claimLibrary, libs.sourceLibrary, libs.claimSourceLibrary);
|
|
70
|
+
printLine(claim.id);
|
|
71
|
+
});
|
|
72
|
+
claims
|
|
73
|
+
.command("update <claim_id>")
|
|
74
|
+
.description("Update claim metadata")
|
|
75
|
+
.option("--title <title>", "New title")
|
|
76
|
+
.option("--body <body>", "New body")
|
|
77
|
+
.action(async (claimId, opts) => {
|
|
78
|
+
const libs = await hydrateLibraries();
|
|
79
|
+
const current = libs.claimLibrary.getCurrent(claimId);
|
|
80
|
+
if (!current) {
|
|
81
|
+
errorExit(`Claim "${claimId}" not found.`);
|
|
82
|
+
}
|
|
83
|
+
if (current.frozen) {
|
|
84
|
+
errorExit(`Claim "${claimId}" version ${current.version} is frozen and cannot be updated.`);
|
|
85
|
+
}
|
|
86
|
+
const updates = {};
|
|
87
|
+
if (opts.title !== undefined)
|
|
88
|
+
updates.title = opts.title;
|
|
89
|
+
if (opts.body !== undefined)
|
|
90
|
+
updates.body = opts.body;
|
|
91
|
+
if (Object.keys(updates).length === 0) {
|
|
92
|
+
errorExit("No updates specified. Use --title or --body.");
|
|
93
|
+
}
|
|
94
|
+
libs.claimLibrary.update(claimId, updates);
|
|
95
|
+
await persistLibraries(libs.claimLibrary, libs.sourceLibrary, libs.claimSourceLibrary);
|
|
96
|
+
printLine("success");
|
|
97
|
+
});
|
|
98
|
+
claims
|
|
99
|
+
.command("freeze <claim_id>")
|
|
100
|
+
.description("Freeze the current version and create a new mutable version")
|
|
101
|
+
.action(async (claimId) => {
|
|
102
|
+
const libs = await hydrateLibraries();
|
|
103
|
+
const current = libs.claimLibrary.getCurrent(claimId);
|
|
104
|
+
if (!current) {
|
|
105
|
+
errorExit(`Claim "${claimId}" not found.`);
|
|
106
|
+
}
|
|
107
|
+
let frozen, newVersion;
|
|
108
|
+
try {
|
|
109
|
+
const result = libs.claimLibrary.freeze(claimId);
|
|
110
|
+
frozen = result.frozen;
|
|
111
|
+
newVersion = result.current;
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
errorExit(error instanceof Error ? error.message : String(error));
|
|
115
|
+
}
|
|
116
|
+
await persistLibraries(libs.claimLibrary, libs.sourceLibrary, libs.claimSourceLibrary);
|
|
117
|
+
printLine(`Frozen v${frozen.version}, new mutable v${newVersion.version}`);
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=claims.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claims.js","sourceRoot":"","sources":["../../../src/cli/commands/claims.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA+CxC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAoKxD"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { buildParsingPrompt } from "../../lib/parsing/index.js";
|
|
2
|
+
import { BasicsArgumentParser, BasicsParsingSchema, } from "../../extensions/basics/index.js";
|
|
3
|
+
import { hydrateLibraries, persistEngine, persistLibraries } from "../engine.js";
|
|
4
|
+
import { ClaimLibrary } from "../../lib/core/claim-library.js";
|
|
5
|
+
import { SourceLibrary } from "../../lib/core/source-library.js";
|
|
6
|
+
import { ClaimSourceLibrary } from "../../lib/core/claim-source-library.js";
|
|
7
|
+
import { cliLog } from "../logging.js";
|
|
8
|
+
import { errorExit, printJson, printLine } from "../output.js";
|
|
9
|
+
import { resolveApiKey, createLlmProvider } from "../llm/index.js";
|
|
10
|
+
class CliArgumentParser extends BasicsArgumentParser {
|
|
11
|
+
cliTitle;
|
|
12
|
+
cliDescription;
|
|
13
|
+
constructor(title, description) {
|
|
14
|
+
super();
|
|
15
|
+
this.cliTitle = title;
|
|
16
|
+
this.cliDescription = description ?? "";
|
|
17
|
+
}
|
|
18
|
+
mapArgument(parsed) {
|
|
19
|
+
const basicsFields = super.mapArgument(parsed);
|
|
20
|
+
return {
|
|
21
|
+
...basicsFields,
|
|
22
|
+
...(this.cliTitle !== undefined ? { title: this.cliTitle } : {}),
|
|
23
|
+
description: this.cliDescription,
|
|
24
|
+
createdAt: new Date(),
|
|
25
|
+
published: false,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
async function readStdin() {
|
|
30
|
+
const chunks = [];
|
|
31
|
+
for await (const chunk of process.stdin) {
|
|
32
|
+
chunks.push(chunk);
|
|
33
|
+
}
|
|
34
|
+
return Buffer.concat(chunks).toString("utf-8");
|
|
35
|
+
}
|
|
36
|
+
export function registerParseCommand(args) {
|
|
37
|
+
args.command("parse [text]")
|
|
38
|
+
.description("Parse natural-language text into a structured argument using an LLM")
|
|
39
|
+
.option("--llm <provider>", "LLM provider name", "openai")
|
|
40
|
+
.option("--api-key <key>", "API key (overrides env var)")
|
|
41
|
+
.option("--model <model>", "Model override")
|
|
42
|
+
.option("--title <title>", "Argument title (overrides LLM-generated title)")
|
|
43
|
+
.option("--description <desc>", "Argument description", "")
|
|
44
|
+
.option("--dry-run", "Print raw LLM JSON without persisting")
|
|
45
|
+
.action(async (text, opts) => {
|
|
46
|
+
// 1. Resolve API key
|
|
47
|
+
let apiKey;
|
|
48
|
+
try {
|
|
49
|
+
apiKey = resolveApiKey(opts.llm, opts.apiKey);
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
errorExit(error instanceof Error ? error.message : String(error));
|
|
53
|
+
}
|
|
54
|
+
// 2. Resolve input text
|
|
55
|
+
let inputText;
|
|
56
|
+
if (text) {
|
|
57
|
+
inputText = text;
|
|
58
|
+
}
|
|
59
|
+
else if (!process.stdin.isTTY) {
|
|
60
|
+
inputText = await readStdin();
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
errorExit("No input text provided. Pass as argument or pipe to stdin.");
|
|
64
|
+
}
|
|
65
|
+
if (!inputText.trim()) {
|
|
66
|
+
errorExit("Input text is empty.");
|
|
67
|
+
}
|
|
68
|
+
// 3. Build prompt and schema
|
|
69
|
+
const responseSchema = BasicsParsingSchema;
|
|
70
|
+
const systemPrompt = buildParsingPrompt(responseSchema);
|
|
71
|
+
// 4. Call LLM
|
|
72
|
+
const provider = createLlmProvider(opts.llm, {
|
|
73
|
+
apiKey,
|
|
74
|
+
model: opts.model,
|
|
75
|
+
});
|
|
76
|
+
let result;
|
|
77
|
+
try {
|
|
78
|
+
result = await provider.complete({
|
|
79
|
+
systemPrompt,
|
|
80
|
+
userMessage: inputText,
|
|
81
|
+
responseSchema,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
86
|
+
await cliLog("parse:llm-error", { error: msg });
|
|
87
|
+
errorExit(msg);
|
|
88
|
+
}
|
|
89
|
+
// 5. Log raw LLM response
|
|
90
|
+
await cliLog("parse:llm-response", {
|
|
91
|
+
provider: opts.llm,
|
|
92
|
+
model: opts.model ?? "(default)",
|
|
93
|
+
inputText,
|
|
94
|
+
response: result,
|
|
95
|
+
});
|
|
96
|
+
// 6. Dry-run: print raw response and exit
|
|
97
|
+
if (opts.dryRun) {
|
|
98
|
+
printJson(result);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
// 7. Validate
|
|
102
|
+
const parser = new CliArgumentParser(opts.title, opts.description);
|
|
103
|
+
let response;
|
|
104
|
+
try {
|
|
105
|
+
response = parser.validate(result);
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
109
|
+
await cliLog("parse:validation-error", { error: msg });
|
|
110
|
+
errorExit(`Validation failed: ${msg}`);
|
|
111
|
+
}
|
|
112
|
+
// 8. Check for null argument
|
|
113
|
+
if (response.argument === null) {
|
|
114
|
+
const msg = response.failureText ??
|
|
115
|
+
"The LLM could not parse the input as an argument.";
|
|
116
|
+
await cliLog("parse:null-argument", {
|
|
117
|
+
failureText: response.failureText,
|
|
118
|
+
});
|
|
119
|
+
errorExit(msg);
|
|
120
|
+
}
|
|
121
|
+
// 9. Build engine
|
|
122
|
+
let built;
|
|
123
|
+
try {
|
|
124
|
+
built = parser.build(response);
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
128
|
+
await cliLog("parse:build-error", { error: msg });
|
|
129
|
+
errorExit(`Build failed: ${msg}`);
|
|
130
|
+
}
|
|
131
|
+
// 10. Merge libraries with existing global state
|
|
132
|
+
const existing = await hydrateLibraries();
|
|
133
|
+
const mergedClaims = ClaimLibrary.fromSnapshot({
|
|
134
|
+
claims: [
|
|
135
|
+
...existing.claimLibrary.snapshot().claims,
|
|
136
|
+
...built.claimLibrary.snapshot().claims,
|
|
137
|
+
],
|
|
138
|
+
});
|
|
139
|
+
const mergedSources = SourceLibrary.fromSnapshot({
|
|
140
|
+
sources: [
|
|
141
|
+
...existing.sourceLibrary.snapshot().sources,
|
|
142
|
+
...built.sourceLibrary.snapshot().sources,
|
|
143
|
+
],
|
|
144
|
+
});
|
|
145
|
+
const mergedAssocs = ClaimSourceLibrary.fromSnapshot({
|
|
146
|
+
claimSourceAssociations: [
|
|
147
|
+
...existing.claimSourceLibrary.snapshot()
|
|
148
|
+
.claimSourceAssociations,
|
|
149
|
+
...built.claimSourceLibrary.snapshot()
|
|
150
|
+
.claimSourceAssociations,
|
|
151
|
+
],
|
|
152
|
+
}, mergedClaims, mergedSources);
|
|
153
|
+
// 11. Persist and output
|
|
154
|
+
await persistEngine(built.engine);
|
|
155
|
+
await persistLibraries(mergedClaims, mergedSources, mergedAssocs);
|
|
156
|
+
printLine(built.engine.getArgument().id);
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=parse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/cli/commands/parse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAE/D,OAAO,EACH,oBAAoB,EACpB,mBAAmB,GACtB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAElE,MAAM,iBAAkB,SAAQ,oBAAoB;IAC/B,QAAQ,CAAS;IACjB,cAAc,CAAQ;IAEvC,YAAY,KAAc,EAAE,WAAoB;QAC5C,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QACrB,IAAI,CAAC,cAAc,GAAG,WAAW,IAAI,EAAE,CAAA;IAC3C,CAAC;IAEkB,WAAW,CAC1B,MAAuB;QAEvB,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QAC9C,OAAO;YACH,GAAG,YAAY;YACf,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,WAAW,EAAE,IAAI,CAAC,cAAc;YAChC,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,KAAK;SACnB,CAAA;IACL,CAAC;CACJ;AAED,KAAK,UAAU,SAAS;IACpB,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;AAClD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAa;IAC9C,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CACR,qEAAqE,CACxE;SACA,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,QAAQ,CAAC;SACzD,MAAM,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;SACxD,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;SAC3C,MAAM,CACH,iBAAiB,EACjB,gDAAgD,CACnD;SACA,MAAM,CAAC,sBAAsB,EAAE,sBAAsB,EAAE,EAAE,CAAC;SAC1D,MAAM,CAAC,WAAW,EAAE,uCAAuC,CAAC;SAC5D,MAAM,CACH,KAAK,EACD,IAAwB,EACxB,IAOC,EACH,EAAE;QACA,qBAAqB;QACrB,IAAI,MAAc,CAAA;QAClB,IAAI,CAAC;YACD,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,SAAS,CACL,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACzD,CAAA;QACL,CAAC;QAED,wBAAwB;QACxB,IAAI,SAAiB,CAAA;QACrB,IAAI,IAAI,EAAE,CAAC;YACP,SAAS,GAAG,IAAI,CAAA;QACpB,CAAC;aAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAC9B,SAAS,GAAG,MAAM,SAAS,EAAE,CAAA;QACjC,CAAC;aAAM,CAAC;YACJ,SAAS,CACL,4DAA4D,CAC/D,CAAA;QACL,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YACpB,SAAS,CAAC,sBAAsB,CAAC,CAAA;QACrC,CAAC;QAED,6BAA6B;QAC7B,MAAM,cAAc,GAAG,mBAAmB,CAAA;QAC1C,MAAM,YAAY,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAA;QAEvD,cAAc;QACd,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE;YACzC,MAAM;YACN,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC,CAAA;QAEF,IAAI,MAA+B,CAAA;QACnC,IAAI,CAAC;YACD,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC;gBAC7B,YAAY;gBACZ,WAAW,EAAE,SAAS;gBACtB,cAAc;aACjB,CAAC,CAAA;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,GAAG,GACL,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC1D,MAAM,MAAM,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;YAC/C,SAAS,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC;QAED,0BAA0B;QAC1B,MAAM,MAAM,CAAC,oBAAoB,EAAE;YAC/B,QAAQ,EAAE,IAAI,CAAC,GAAG;YAClB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,WAAW;YAChC,SAAS;YACT,QAAQ,EAAE,MAAM;SACnB,CAAC,CAAA;QAEF,0CAA0C;QAC1C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,SAAS,CAAC,MAAM,CAAC,CAAA;YACjB,OAAM;QACV,CAAC;QAED,cAAc;QACd,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAChC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,WAAW,CACnB,CAAA;QACD,IAAI,QAAQ,CAAA;QACZ,IAAI,CAAC;YACD,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,GAAG,GACL,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC1D,MAAM,MAAM,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;YACtD,SAAS,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAA;QAC1C,CAAC;QAED,6BAA6B;QAC7B,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,GAAG,GACL,QAAQ,CAAC,WAAW;gBACpB,mDAAmD,CAAA;YACvD,MAAM,MAAM,CAAC,qBAAqB,EAAE;gBAChC,WAAW,EAAE,QAAQ,CAAC,WAAW;aACpC,CAAC,CAAA;YACF,SAAS,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC;QAED,kBAAkB;QAClB,IAAI,KAAK,CAAA;QACT,IAAI,CAAC;YACD,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,GAAG,GACL,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC1D,MAAM,MAAM,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;YACjD,SAAS,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAA;QACrC,CAAC;QAED,iDAAiD;QACjD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,EAAE,CAAA;QACzC,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;YAC3C,MAAM,EAAE;gBACJ,GAAG,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,MAAM;gBAC1C,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,MAAM;aAC1C;SACJ,CAAC,CAAA;QACF,MAAM,aAAa,GAAG,aAAa,CAAC,YAAY,CAAC;YAC7C,OAAO,EAAE;gBACL,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,OAAO;gBAC5C,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,OAAO;aAC5C;SACJ,CAAC,CAAA;QACF,MAAM,YAAY,GAAG,kBAAkB,CAAC,YAAY,CAChD;YACI,uBAAuB,EAAE;gBACrB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,EAAE;qBACpC,uBAAuB;gBAC5B,GAAG,KAAK,CAAC,kBAAkB,CAAC,QAAQ,EAAE;qBACjC,uBAAuB;aAC/B;SACJ,EACD,YAAY,EACZ,aAAa,CAChB,CAAA;QAED,yBAAyB;QACzB,MAAM,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACjC,MAAM,gBAAgB,CAClB,YAAY,EACZ,aAAa,EACb,YAAY,CACf,CAAA;QACD,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAA;IAC5C,CAAC,CACJ,CAAA;AACT,CAAC"}
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAiBnC,wBAAgB,qBAAqB,CACjC,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,IAAI,CAiGN"}
|