@eventmodelers/cli 1.0.77 → 1.0.79

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 (35) hide show
  1. package/README.md +52 -2
  2. package/RELEASE_NOTES.md +9 -0
  3. package/cli.js +65 -24
  4. package/lib/adapters/spec-kitty-adapter.js +1 -1
  5. package/lib/fetch.js +1 -1
  6. package/lib/modeling-local-ai.js +283 -0
  7. package/package.json +1 -1
  8. package/shared/build-kit/lib/ralph.js +2 -2
  9. package/shared/skills/connect/SKILL.md +1 -3
  10. package/shared/skills/learn-eventmodelers-api/SKILL.md +2 -2
  11. package/shared/skills/load-slice/SKILL.md +0 -1
  12. package/shared/skills/request-feedback/SKILL.md +0 -2
  13. package/shared/skills/update-slice-status/SKILL.md +0 -2
  14. package/stacks/modeling-kit/templates/.claude/skills/analyze-existing-model/references/api-fallback.md +0 -6
  15. package/stacks/modeling-kit/templates/.claude/skills/attributes/references/api-fallback.md +1 -2
  16. package/stacks/modeling-kit/templates/.claude/skills/discover-storyboard/references/api-fallback.md +0 -2
  17. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-brainstorming-events/references/api-fallback.md +7 -7
  18. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-checking-completeness/references/api-fallback.md +4 -4
  19. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-designing-automation-chains/references/api-fallback.md +1 -1
  20. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-inputs/references/api-fallback.md +7 -7
  21. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-outputs/references/api-fallback.md +7 -7
  22. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-orchestrating-event-modeling/references/api-fallback.md +5 -5
  23. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-plotting-events/references/api-fallback.md +1 -1
  24. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-storyboarding-events/references/api-fallback.md +7 -7
  25. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-validating-event-models/references/api-fallback.md +3 -3
  26. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-validating-event-models-checklist/references/api-fallback.md +3 -3
  27. package/stacks/modeling-kit/templates/.claude/skills/examples/references/api-fallback.md +0 -1
  28. package/stacks/modeling-kit/templates/.claude/skills/handle-comment/references/api-fallback.md +4 -4
  29. package/stacks/modeling-kit/templates/.claude/skills/html-screen/references/api-fallback.md +1 -4
  30. package/stacks/modeling-kit/templates/.claude/skills/place-element/SKILL.md +1 -1
  31. package/stacks/modeling-kit/templates/.claude/skills/place-element/references/api-fallback.md +2 -7
  32. package/stacks/modeling-kit/templates/.claude/skills/storyboard/references/api-fallback.md +1 -3
  33. package/stacks/modeling-kit/templates/.claude/skills/storyboard-screen/references/api-fallback.md +1 -3
  34. package/stacks/modeling-kit/templates/.claude/skills/wdyt/SKILL.md +1 -1
  35. package/stacks/react/templates/build-kit/lib/ralph.js +2 -2
@@ -45,7 +45,6 @@ curl -s -X POST "$BASE_URL/api/org/$ORG_ID/boards/$BOARD_ID/timelines/$TL/column
45
45
  ```bash
46
46
  curl -s -X POST "$BASE_URL/api/org/$ORG_ID/boards/$BOARD_ID/timelines/$TIMELINE_ID/columns" \
47
47
  -H "x-token: $TOKEN" \
48
- -H "x-board-id: $BOARD_ID" \
49
48
  -H "x-user-id: agent" \
50
49
  -H "Content-Type: application/json" \
51
50
  -d '{}'
@@ -75,7 +74,7 @@ No relative-insertion equivalent over REST (unlike MCP's `afterNodeId`) — comp
75
74
 
76
75
  ```bash
77
76
  curl -s -X POST "$BASE_URL/api/org/$ORG_ID/boards/$BOARD_ID/timelines/$TIMELINE_ID/columns" \
78
- -H "x-token: $TOKEN" -H "x-board-id: $BOARD_ID" -H "x-user-id: agent" \
77
+ -H "x-token: $TOKEN" -H "x-user-id: agent" \
79
78
  -H "Content-Type: application/json" \
80
79
  -d '{"index": <currentColumnIndex + 1>}'
81
80
  ```
@@ -89,7 +88,6 @@ curl -s -X POST "$BASE_URL/api/org/$ORG_ID/boards/$BOARD_ID/timelines/$TIMELINE_
89
88
  ```bash
90
89
  curl -s -X POST "$BASE_URL/api/org/$ORG_ID/boards/$BOARD_ID/html-screen-nodes/<node-uuid>" \
91
90
  -H "x-token: $TOKEN" \
92
- -H "x-board-id: $BOARD_ID" \
93
91
  -H "x-user-id: agent" \
94
92
  -H "Content-Type: application/json" \
95
93
  -d '{
@@ -105,7 +103,6 @@ curl -s -X POST "$BASE_URL/api/org/$ORG_ID/boards/$BOARD_ID/html-screen-nodes/<n
105
103
  ```bash
106
104
  curl -s -X POST "$BASE_URL/api/org/$ORG_ID/boards/$BOARD_ID/image-nodes/<node-uuid>/sketch" \
107
105
  -H "x-token: $TOKEN" \
108
- -H "x-board-id: $BOARD_ID" \
109
106
  -H "x-user-id: agent" \
110
107
  -H "Content-Type: application/json" \
111
108
  -d '{
@@ -119,12 +116,11 @@ curl -s -X POST "$BASE_URL/api/org/$ORG_ID/boards/$BOARD_ID/image-nodes/<node-uu
119
116
 
120
117
  ## Step 7b — Create any other node type (normal path, `cellId`)
121
118
 
122
- Include `x-token`, `x-board-id`, and `x-user-id: agent` on every call to `/nodes/events`.
119
+ Include `x-token` and `x-user-id: agent` on every call to `/nodes/events`.
123
120
 
124
121
  ```bash
125
122
  curl -s -X POST "$BASE_URL/api/org/$ORG_ID/boards/$BOARD_ID/nodes/events" \
126
123
  -H "x-token: $TOKEN" \
127
- -H "x-board-id: $BOARD_ID" \
128
124
  -H "x-user-id: agent" \
129
125
  -H "Content-Type: application/json" \
130
126
  -d '[{
@@ -149,7 +145,6 @@ Same as above, but `cellName` replaces `cellId` — nothing else in the payload
149
145
  ```bash
150
146
  curl -s -X POST "$BASE_URL/api/org/$ORG_ID/boards/$BOARD_ID/nodes/events" \
151
147
  -H "x-token: $TOKEN" \
152
- -H "x-board-id: $BOARD_ID" \
153
148
  -H "x-user-id: agent" \
154
149
  -H "Content-Type: application/json" \
155
150
  -d '[{
@@ -33,7 +33,6 @@ curl -s -X POST "$BASE_URL/api/org/$ORG_ID/boards/$BOARD_ID/timelines/$CHAPTER_I
33
33
  ```bash
34
34
  curl -s -X POST "$BASE_URL/api/org/$ORG_ID/boards/$BOARD_ID/html-screen-nodes/$SCREEN_NODE_ID" \
35
35
  -H "x-token: $TOKEN" \
36
- -H "x-board-id: $BOARD_ID" \
37
36
  -H "x-user-id: agent" \
38
37
  -H "Content-Type: application/json" \
39
38
  -d '{
@@ -49,7 +48,6 @@ curl -s -X POST "$BASE_URL/api/org/$ORG_ID/boards/$BOARD_ID/html-screen-nodes/$S
49
48
  ```bash
50
49
  curl -s -X POST "$BASE_URL/api/org/$ORG_ID/boards/$BOARD_ID/image-nodes/$SCREEN_NODE_ID/sketch" \
51
50
  -H "x-token: $TOKEN" \
52
- -H "x-board-id: $BOARD_ID" \
53
51
  -H "x-user-id: agent" \
54
52
  -H "Content-Type: application/json" \
55
53
  -d '{
@@ -65,7 +63,7 @@ curl -s -X POST "$BASE_URL/api/org/$ORG_ID/boards/$BOARD_ID/image-nodes/$SCREEN_
65
63
 
66
64
  ```bash
67
65
  curl -s -X POST "$BASE_URL/api/org/$ORG_ID/boards/$BOARD_ID/nodes/events" \
68
- -H "x-token: $TOKEN" -H "x-board-id: $BOARD_ID" -H "x-user-id: agent" \
66
+ -H "x-token: $TOKEN" -H "x-user-id: agent" \
69
67
  -H "Content-Type: application/json" \
70
68
  -d '[{
71
69
  "id": "<event-uuid>", "eventType": "node:changed", "nodeId": "<SCREEN_NODE_ID>",
@@ -7,7 +7,6 @@ Only needed when MCP is not connected. Every call below has an MCP equivalent in
7
7
  ```bash
8
8
  curl -s "$BASE_URL/api/org/$ORG_ID/boards/$BOARD_ID/images/$NODE_ID/description" \
9
9
  -H "x-token: $TOKEN" \
10
- -H "x-board-id: $BOARD_ID" \
11
10
  -H "x-user-id: agent"
12
11
  ```
13
12
 
@@ -19,7 +18,6 @@ curl -s "$BASE_URL/api/org/$ORG_ID/boards/$BOARD_ID/images/$NODE_ID/description"
19
18
  ```bash
20
19
  curl -s -X POST "$BASE_URL/api/org/$ORG_ID/boards/$BOARD_ID/images/$NODE_ID/sketch" \
21
20
  -H "x-token: $TOKEN" \
22
- -H "x-board-id: $BOARD_ID" \
23
21
  -H "x-user-id: agent" \
24
22
  -H "Content-Type: application/json" \
25
23
  -d '{"description": "<what this screen shows>", "elements": [...]}'
@@ -31,7 +29,7 @@ Expect `204 No Content` on success.
31
29
 
32
30
  ```bash
33
31
  curl -s -X POST "$BASE_URL/api/org/$ORG_ID/boards/$BOARD_ID/nodes/events" \
34
- -H "x-token: $TOKEN" -H "x-board-id: $BOARD_ID" -H "x-user-id: agent" \
32
+ -H "x-token: $TOKEN" -H "x-user-id: agent" \
35
33
  -H "Content-Type: application/json" \
36
34
  -d '[{
37
35
  "id": "<event-uuid>", "eventType": "node:changed", "nodeId": "<NODE_ID>",
@@ -146,7 +146,7 @@ Only post questions that are **genuinely unclear or missing** — don't post obs
146
146
 
147
147
  **Prefer MCP:** `mcp__eventmodelers__create_drawing` — one call per drawing, no auth headers needed.
148
148
 
149
- **Fallback (no MCP):** `POST /api/org/{orgId}/boards/{boardId}/drawing/draw` (auth headers same as every other call — `x-token`, `x-board-id`, `x-user-id: wdyt`). Same fields as the tool args below.
149
+ **Fallback (no MCP):** `POST /api/org/{orgId}/boards/{boardId}/drawing/draw` (auth headers same as every other call — `x-token`, `x-user-id: wdyt`). Same fields as the tool args below.
150
150
 
151
151
  There are two kinds — no text-callout kind; a drawing never carries the question itself, only the shape of the concern:
152
152
 
@@ -178,7 +178,7 @@ function slugify(str) {
178
178
  async function fetchAndPersistSlices(cfg, kitDir) {
179
179
  const url = `${cfg.baseUrl}/api/org/${cfg.organizationId}/boards/${cfg.boardId}/slicedata/slices`;
180
180
  const { slices } = await fetchJSON(url, {
181
- headers: { 'x-token': cfg.token, 'x-board-id': cfg.boardId, ...agentHeaders(cfg) },
181
+ headers: { 'x-token': cfg.token, ...agentHeaders(cfg) },
182
182
  });
183
183
  const slicesDir = join(kitDir, '.slices');
184
184
  mkdirSync(slicesDir, { recursive: true });
@@ -400,7 +400,7 @@ async function blockStuckSlice(kitDir, cfg, credentialed, planned, attempts) {
400
400
  try {
401
401
  await fetchJSON(`${cfg.baseUrl}/api/org/${cfg.organizationId}/boards/${cfg.boardId}/nodes/events`, {
402
402
  method: 'POST',
403
- headers: { 'Content-Type': 'application/json', 'x-token': cfg.token, 'x-board-id': cfg.boardId, 'x-user-id': 'ralph-loop', ...agentHeaders(cfg) },
403
+ headers: { 'Content-Type': 'application/json', 'x-token': cfg.token, 'x-user-id': 'ralph-loop', ...agentHeaders(cfg) },
404
404
  body: JSON.stringify([{
405
405
  id: randomUUID(),
406
406
  eventType: 'node:changed',