@olierjs/fugue-cli 0.1.0 → 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.
- package/README.md +52 -2
- package/THIRD_PARTY_NOTICES +52 -1
- package/dist/darwin-arm64/fugue-cli +0 -0
- package/dist/darwin-x64/fugue-cli +0 -0
- package/dist/linux-arm64/fugue-cli +0 -0
- package/dist/linux-x64/fugue-cli +0 -0
- package/dist/win32-arm64/fugue-cli.exe +0 -0
- package/dist/win32-x64/fugue-cli.exe +0 -0
- package/package.json +2 -1
- package/skills/fugue-show-me/SKILL.md +16 -0
- package/skills/show-me/SKILL.md +128 -0
- package/skills/show-me/agents/openai.yaml +2 -0
- package/skills/statechart/SKILL.md +36 -0
- package/skills/statechart/scripts/bug-states.mjs +81 -0
- package/skills/statechart/scripts/chart-edges.mjs +68 -0
- package/skills/statechart/scripts/chart-parts.mjs +21 -0
- package/skills/statechart/scripts/chart-to-tla.mjs +205 -0
- package/skills/statechart/scripts/compare-charts.mjs +74 -0
- package/skills/statechart/scripts/lib.mjs +970 -0
- package/skills/statechart/scripts/map-view.mjs +92 -0
- package/skills/statechart/scripts/property-loop.mjs +60 -0
- package/skills/statechart/scripts/read-check.mjs +79 -0
- package/skills/statechart/scripts/regions-chart.mjs +307 -0
- package/skills/statechart/scripts/render.mjs +531 -0
- package/skills/statechart/scripts/rule-book.mjs +84 -0
- package/skills/statechart/scripts/second-replay.mjs +122 -0
- package/skills/statechart/scripts/snapshot.mjs +74 -0
- package/skills/statechart/scripts/spec-text.mjs +126 -0
- package/skills/statechart/scripts/statechart-help.mjs +350 -0
- package/skills/statechart/scripts/statechart.mjs +903 -0
- package/skills/statechart/scripts/test/band.mmd +15 -0
- package/skills/statechart/scripts/test/regions.mmd +62 -0
- package/skills/statechart/scripts/test/statechart.test.mjs +6854 -0
- package/skills/statechart/scripts/test/sync.mmd +19 -0
- package/skills/statechart/scripts/test/upload.mmd +16 -0
- package/skills/statechart/scripts/tlc-to-chart-args.mjs +52 -0
- package/skills/statechart/scripts/tlc-to-chart.mjs +802 -0
- package/skills/statechart/scripts/tlc-tools.mjs +69 -0
- package/skills/statechart/scripts/ways-in.mjs +69 -0
- package/upstream-skills.json +18 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
stateDiagram-v2
|
|
2
|
+
state "Notes app" as App {
|
|
3
|
+
state "Connection" as Connection {
|
|
4
|
+
[*] --> Online
|
|
5
|
+
Online --> Offline : the network drops
|
|
6
|
+
Offline --> Online : the network returns
|
|
7
|
+
}
|
|
8
|
+
--
|
|
9
|
+
state "Sync badge" as Sync {
|
|
10
|
+
state "Synced" as Synced
|
|
11
|
+
state "Waiting to sync" as Pending
|
|
12
|
+
[*] --> Synced
|
|
13
|
+
Synced --> Pending : you edit a note
|
|
14
|
+
Synced --> Pending : the network drops
|
|
15
|
+
Pending --> Synced : the server confirms
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
[*] --> App
|
|
19
|
+
%% never NeverSyncedWhileOffline: Offline & Synced -- You never see "Synced" while you are offline.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
stateDiagram-v2
|
|
2
|
+
state "Nothing chosen" as Idle
|
|
3
|
+
state "Uploading" as Uploading {
|
|
4
|
+
state "Sending the file" as Sending
|
|
5
|
+
state "Checking the file" as Checking
|
|
6
|
+
[*] --> Sending
|
|
7
|
+
Sending --> Checking : the last byte arrives
|
|
8
|
+
}
|
|
9
|
+
state "Uploaded" as Done
|
|
10
|
+
state "Upload failed" as Failed
|
|
11
|
+
[*] --> Idle
|
|
12
|
+
Idle --> Uploading : you choose a file
|
|
13
|
+
Checking --> Done : the check passes
|
|
14
|
+
Uploading --> Failed : the network drops
|
|
15
|
+
Failed --> Uploading : you retry
|
|
16
|
+
Uploading --> Idle : you cancel
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import process from "node:process";
|
|
2
|
+
|
|
3
|
+
export const args = {
|
|
4
|
+
traces: [],
|
|
5
|
+
fixedTraces: [],
|
|
6
|
+
againstTraces: [],
|
|
7
|
+
fixedRules: [],
|
|
8
|
+
againstRules: [],
|
|
9
|
+
specs: [],
|
|
10
|
+
next: [],
|
|
11
|
+
view: "customer",
|
|
12
|
+
highlight: 1,
|
|
13
|
+
};
|
|
14
|
+
for (let i = 2; i < process.argv.length; i++) {
|
|
15
|
+
const a = process.argv[i];
|
|
16
|
+
const next = () => process.argv[++i];
|
|
17
|
+
if (a === "--dot") args.dot = next();
|
|
18
|
+
else if (a === "--map") args.map = next();
|
|
19
|
+
else if (a === "--traces") args.traces.push(next());
|
|
20
|
+
else if (a === "--broken") args.broken = next();
|
|
21
|
+
else if (a === "--fixed-dot") args.fixedDot = next();
|
|
22
|
+
else if (a === "--fixed-traces") args.fixedTraces.push(next());
|
|
23
|
+
else if (a === "--fixed-rules") args.fixedRules.push(...next().split(","));
|
|
24
|
+
else if (a === "--fixed-broken") args.fixedBroken = next();
|
|
25
|
+
else if (a === "--against-dot") args.againstDot = next();
|
|
26
|
+
else if (a === "--against-traces") args.againstTraces.push(next());
|
|
27
|
+
else if (a === "--against-broken") args.againstBroken = next();
|
|
28
|
+
else if (a === "--against-rules") args.againstRules.push(...next().split(","));
|
|
29
|
+
else if (a === "--listed") args.listed = next();
|
|
30
|
+
else if (a === "--label") args.label = next();
|
|
31
|
+
else if (a === "--spec") args.specs.push(next());
|
|
32
|
+
else if (a === "--next") args.next.push(next());
|
|
33
|
+
else if (a === "--view") args.view = next();
|
|
34
|
+
else if (a === "--highlight") args.highlight = Number(next());
|
|
35
|
+
else if (a === "--path-only") args.pathOnly = true;
|
|
36
|
+
else if (a === "--full-labels") args.fullLabels = true;
|
|
37
|
+
else if (a === "--flat") args.flat = true;
|
|
38
|
+
else if (a === "--loops") args.loops = true;
|
|
39
|
+
else if (a === "--regions") args.regions = true;
|
|
40
|
+
else if (a === "--proof") args.proof = next();
|
|
41
|
+
else if (a === "--regions-all") args.regionsAll = next();
|
|
42
|
+
else if (a === "--cover") args.cover = true;
|
|
43
|
+
else if (a === "--title") args.title = next();
|
|
44
|
+
else if (a === "--out") args.out = next();
|
|
45
|
+
else if (a === "--story") args.story = next();
|
|
46
|
+
else if (a === "--summary") args.summary = next();
|
|
47
|
+
else {
|
|
48
|
+
console.error(`unknown argument ${a}.`);
|
|
49
|
+
process.exit(2);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (args.listed !== undefined) args.listed = JSON.parse(args.listed);
|