copilotkit 4.28.0 → 4.30.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 (97) hide show
  1. package/README.md +317 -36
  2. package/cli-build-info.json +7 -7
  3. package/exporters/claude-sdk/README.md +93 -0
  4. package/exporters/claude-sdk/export_session_store.py +39 -0
  5. package/exporters/claude-sdk/store-export.ts +61 -0
  6. package/index.js +212799 -109146
  7. package/onboarding/index.json +51 -5
  8. package/onboarding/prompts/authenticate/start.md +66 -52
  9. package/onboarding/prompts/conversion/plan.md +3 -3
  10. package/onboarding/prompts/credentials/finalize-plan.md +15 -15
  11. package/onboarding/prompts/credentials/plan.md +25 -29
  12. package/onboarding/prompts/credentials/settle-credentials.md +13 -8
  13. package/onboarding/prompts/credentials/write-plan.md +40 -30
  14. package/onboarding/prompts/deployment/choose-local.md +13 -12
  15. package/onboarding/prompts/deployment/local-evaluation.md +12 -12
  16. package/onboarding/prompts/fallback/best-effort.md +10 -11
  17. package/onboarding/prompts/feature/a2ui/implement.md +7 -5
  18. package/onboarding/prompts/feature/a2ui/plan.md +7 -3
  19. package/onboarding/prompts/feature/a2ui/proof.md +8 -6
  20. package/onboarding/prompts/feature/a2ui/start.md +18 -9
  21. package/onboarding/prompts/feature/channels/implement.md +10 -8
  22. package/onboarding/prompts/feature/channels/plan.md +9 -5
  23. package/onboarding/prompts/feature/channels/proof.md +8 -6
  24. package/onboarding/prompts/feature/channels/start.md +25 -12
  25. package/onboarding/prompts/feature/chat-suggestions/implement.md +7 -5
  26. package/onboarding/prompts/feature/chat-suggestions/plan.md +7 -3
  27. package/onboarding/prompts/feature/chat-suggestions/proof.md +8 -6
  28. package/onboarding/prompts/feature/chat-suggestions/start.md +18 -9
  29. package/onboarding/prompts/feature/complete.md +3 -3
  30. package/onboarding/prompts/feature/learning/implement.md +15 -13
  31. package/onboarding/prompts/feature/learning/plan.md +8 -4
  32. package/onboarding/prompts/feature/learning/proof.md +16 -14
  33. package/onboarding/prompts/feature/learning/start.md +18 -9
  34. package/onboarding/prompts/feature/open-generative-ui/implement.md +7 -5
  35. package/onboarding/prompts/feature/open-generative-ui/plan.md +7 -3
  36. package/onboarding/prompts/feature/open-generative-ui/proof.md +8 -6
  37. package/onboarding/prompts/feature/open-generative-ui/start.md +18 -9
  38. package/onboarding/prompts/feature/realtime-sync/implement.md +8 -6
  39. package/onboarding/prompts/feature/realtime-sync/plan.md +7 -3
  40. package/onboarding/prompts/feature/realtime-sync/proof.md +8 -6
  41. package/onboarding/prompts/feature/realtime-sync/start.md +17 -8
  42. package/onboarding/prompts/feature/rich-threads/implement.md +9 -7
  43. package/onboarding/prompts/feature/rich-threads/plan.md +7 -3
  44. package/onboarding/prompts/feature/rich-threads/proof.md +8 -6
  45. package/onboarding/prompts/feature/rich-threads/start.md +17 -8
  46. package/onboarding/prompts/feature/stop.md +4 -4
  47. package/onboarding/prompts/feature/voice/implement.md +7 -5
  48. package/onboarding/prompts/feature/voice/plan.md +8 -4
  49. package/onboarding/prompts/feature/voice/proof.md +8 -6
  50. package/onboarding/prompts/feature/voice/start.md +18 -9
  51. package/onboarding/prompts/framework/ag2.md +4 -11
  52. package/onboarding/prompts/framework/agno.md +4 -11
  53. package/onboarding/prompts/framework/built-in.md +3 -3
  54. package/onboarding/prompts/framework/claude-sdk-python.md +3 -3
  55. package/onboarding/prompts/framework/claude-sdk-typescript.md +3 -3
  56. package/onboarding/prompts/framework/crewai-flows.md +6 -12
  57. package/onboarding/prompts/framework/custom-ag-ui.md +5 -11
  58. package/onboarding/prompts/framework/deep-agents.md +5 -11
  59. package/onboarding/prompts/framework/google-adk.md +4 -8
  60. package/onboarding/prompts/framework/langgraph-fastapi.md +4 -10
  61. package/onboarding/prompts/framework/langgraph-python.md +4 -10
  62. package/onboarding/prompts/framework/langgraph-typescript.md +5 -11
  63. package/onboarding/prompts/framework/llamaindex.md +4 -10
  64. package/onboarding/prompts/framework/mastra.md +4 -10
  65. package/onboarding/prompts/framework/ms-agent-dotnet.md +6 -13
  66. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +7 -13
  67. package/onboarding/prompts/framework/ms-agent-python.md +5 -11
  68. package/onboarding/prompts/framework/pydantic-ai.md +4 -10
  69. package/onboarding/prompts/framework/strands-python.md +4 -10
  70. package/onboarding/prompts/framework/strands-typescript.md +4 -10
  71. package/onboarding/prompts/frontend/angular.md +4 -4
  72. package/onboarding/prompts/frontend/nextjs.md +4 -4
  73. package/onboarding/prompts/frontend/plan.md +10 -10
  74. package/onboarding/prompts/frontend/react-native.md +3 -3
  75. package/onboarding/prompts/frontend/react-spa.md +3 -3
  76. package/onboarding/prompts/frontend/vue.md +3 -3
  77. package/onboarding/prompts/implementation/build-and-validate.md +48 -15
  78. package/onboarding/prompts/proof/complete.md +22 -19
  79. package/onboarding/prompts/proof/oss-baseline.md +21 -5
  80. package/onboarding/prompts/proof/round-trip.md +55 -13
  81. package/onboarding/prompts/research/gather.md +60 -43
  82. package/onboarding/prompts/research/merge.md +6 -5
  83. package/onboarding/prompts/research/preflight.md +2 -2
  84. package/onboarding/prompts/research/route.md +5 -5
  85. package/onboarding/prompts/setup/questions.md +11 -9
  86. package/onboarding/prompts/starter/clone.md +78 -76
  87. package/onboarding/prompts/starter/setup.md +111 -0
  88. package/onboarding/prompts/stopped/declined.md +44 -0
  89. package/onboarding/prompts/stopped/run-failed.md +6 -6
  90. package/onboarding/prompts/subagent/create-plan.md +29 -4
  91. package/onboarding/prompts/subagent/implement-and-validate.md +31 -3
  92. package/onboarding/prompts/subagent/inspect-repository.md +17 -4
  93. package/onboarding/prompts/subagent/prove-oss-baseline.md +24 -1
  94. package/onboarding/prompts/subagent/prove-round-trip.md +43 -7
  95. package/onboarding/prompts/unsupported/no-validated-path.md +6 -6
  96. package/package.json +4 -1
  97. package/release/release-tool.js +383 -112
@@ -1,5 +1,5 @@
1
1
  {
2
- "graphTree": "7638f7b001415b1dbd5bdd5204b9c296810439f7",
2
+ "graphTree": "234fed89763eaf8a634da0ade464d772951157e7",
3
3
  "intentRoots": {
4
4
  "add-a2ui": "feature/a2ui/start",
5
5
  "add-chat-suggestions": "feature/chat-suggestions/start",
@@ -9,12 +9,13 @@
9
9
  "add-rich-threads": "feature/rich-threads/start",
10
10
  "add-voice": "feature/voice/start"
11
11
  },
12
- "packageSpec": "copilotkit@4.28.0",
12
+ "packageSpec": "copilotkit@4.30.0",
13
13
  "root": "authenticate/start",
14
14
  "prompts": [
15
15
  {
16
16
  "edges": [
17
17
  "deployment/choose-local",
18
+ "starter/setup",
18
19
  "research/gather",
19
20
  "stopped/run-failed"
20
21
  ],
@@ -77,7 +78,8 @@
77
78
  "subagent/create-plan",
78
79
  "stopped/run-failed",
79
80
  "implementation/build-and-validate",
80
- "unsupported/no-validated-path"
81
+ "unsupported/no-validated-path",
82
+ "stopped/declined"
81
83
  ],
82
84
  "milestone": "credentials",
83
85
  "name": "credentials/write-plan"
@@ -85,7 +87,8 @@
85
87
  {
86
88
  "edges": [
87
89
  "research/gather",
88
- "stopped/run-failed"
90
+ "stopped/run-failed",
91
+ "stopped/declined"
89
92
  ],
90
93
  "milestone": "deployment",
91
94
  "name": "deployment/choose-local"
@@ -104,6 +107,7 @@
104
107
  },
105
108
  {
106
109
  "edges": [
110
+ "stopped/declined",
107
111
  "feature/stop",
108
112
  "feature/a2ui/proof"
109
113
  ],
@@ -112,6 +116,7 @@
112
116
  },
113
117
  {
114
118
  "edges": [
119
+ "stopped/declined",
115
120
  "feature/a2ui/implement"
116
121
  ],
117
122
  "milestone": "feature",
@@ -119,6 +124,7 @@
119
124
  },
120
125
  {
121
126
  "edges": [
127
+ "stopped/declined",
122
128
  "feature/stop",
123
129
  "feature/complete"
124
130
  ],
@@ -140,6 +146,7 @@
140
146
  },
141
147
  {
142
148
  "edges": [
149
+ "stopped/declined",
143
150
  "feature/stop",
144
151
  "feature/channels/proof"
145
152
  ],
@@ -148,6 +155,7 @@
148
155
  },
149
156
  {
150
157
  "edges": [
158
+ "stopped/declined",
151
159
  "feature/channels/implement"
152
160
  ],
153
161
  "milestone": "feature",
@@ -155,6 +163,7 @@
155
163
  },
156
164
  {
157
165
  "edges": [
166
+ "stopped/declined",
158
167
  "feature/stop",
159
168
  "feature/complete"
160
169
  ],
@@ -163,6 +172,7 @@
163
172
  },
164
173
  {
165
174
  "edges": [
175
+ "stopped/declined",
166
176
  "feature/stop",
167
177
  "feature/channels/plan"
168
178
  ],
@@ -171,6 +181,7 @@
171
181
  },
172
182
  {
173
183
  "edges": [
184
+ "stopped/declined",
174
185
  "feature/stop",
175
186
  "feature/chat-suggestions/proof"
176
187
  ],
@@ -179,6 +190,7 @@
179
190
  },
180
191
  {
181
192
  "edges": [
193
+ "stopped/declined",
182
194
  "feature/chat-suggestions/implement"
183
195
  ],
184
196
  "milestone": "feature",
@@ -186,6 +198,7 @@
186
198
  },
187
199
  {
188
200
  "edges": [
201
+ "stopped/declined",
189
202
  "feature/stop",
190
203
  "feature/complete"
191
204
  ],
@@ -208,6 +221,7 @@
208
221
  {
209
222
  "edges": [
210
223
  "feature/blocked-by-plan",
224
+ "stopped/declined",
211
225
  "feature/stop",
212
226
  "feature/learning/proof"
213
227
  ],
@@ -216,6 +230,7 @@
216
230
  },
217
231
  {
218
232
  "edges": [
233
+ "stopped/declined",
219
234
  "feature/learning/implement"
220
235
  ],
221
236
  "milestone": "feature",
@@ -223,6 +238,7 @@
223
238
  },
224
239
  {
225
240
  "edges": [
241
+ "stopped/declined",
226
242
  "feature/stop",
227
243
  "feature/complete"
228
244
  ],
@@ -240,6 +256,7 @@
240
256
  },
241
257
  {
242
258
  "edges": [
259
+ "stopped/declined",
243
260
  "feature/stop",
244
261
  "feature/open-generative-ui/proof"
245
262
  ],
@@ -248,6 +265,7 @@
248
265
  },
249
266
  {
250
267
  "edges": [
268
+ "stopped/declined",
251
269
  "feature/open-generative-ui/implement"
252
270
  ],
253
271
  "milestone": "feature",
@@ -255,6 +273,7 @@
255
273
  },
256
274
  {
257
275
  "edges": [
276
+ "stopped/declined",
258
277
  "feature/stop",
259
278
  "feature/complete"
260
279
  ],
@@ -271,6 +290,7 @@
271
290
  },
272
291
  {
273
292
  "edges": [
293
+ "stopped/declined",
274
294
  "feature/stop",
275
295
  "feature/realtime-sync/proof"
276
296
  ],
@@ -279,6 +299,7 @@
279
299
  },
280
300
  {
281
301
  "edges": [
302
+ "stopped/declined",
282
303
  "feature/realtime-sync/implement"
283
304
  ],
284
305
  "milestone": "feature",
@@ -286,6 +307,7 @@
286
307
  },
287
308
  {
288
309
  "edges": [
310
+ "stopped/declined",
289
311
  "feature/stop",
290
312
  "feature/complete"
291
313
  ],
@@ -302,6 +324,7 @@
302
324
  },
303
325
  {
304
326
  "edges": [
327
+ "stopped/declined",
305
328
  "feature/stop",
306
329
  "feature/rich-threads/proof"
307
330
  ],
@@ -310,6 +333,7 @@
310
333
  },
311
334
  {
312
335
  "edges": [
336
+ "stopped/declined",
313
337
  "feature/rich-threads/implement"
314
338
  ],
315
339
  "milestone": "feature",
@@ -317,6 +341,7 @@
317
341
  },
318
342
  {
319
343
  "edges": [
344
+ "stopped/declined",
320
345
  "feature/stop",
321
346
  "feature/complete"
322
347
  ],
@@ -338,6 +363,7 @@
338
363
  },
339
364
  {
340
365
  "edges": [
366
+ "stopped/declined",
341
367
  "feature/stop",
342
368
  "feature/voice/proof"
343
369
  ],
@@ -346,6 +372,7 @@
346
372
  },
347
373
  {
348
374
  "edges": [
375
+ "stopped/declined",
349
376
  "feature/stop",
350
377
  "feature/voice/implement"
351
378
  ],
@@ -354,6 +381,7 @@
354
381
  },
355
382
  {
356
383
  "edges": [
384
+ "stopped/declined",
357
385
  "feature/stop",
358
386
  "feature/complete"
359
387
  ],
@@ -585,6 +613,7 @@
585
613
  },
586
614
  {
587
615
  "edges": [
616
+ "stopped/declined",
588
617
  "subagent/implement-and-validate",
589
618
  "proof/round-trip",
590
619
  "stopped/run-failed",
@@ -612,7 +641,8 @@
612
641
  "edges": [
613
642
  "subagent/prove-round-trip",
614
643
  "proof/complete",
615
- "stopped/run-failed"
644
+ "stopped/run-failed",
645
+ "stopped/declined"
616
646
  ],
617
647
  "milestone": "proof",
618
648
  "name": "proof/round-trip"
@@ -655,6 +685,7 @@
655
685
  },
656
686
  {
657
687
  "edges": [
688
+ "stopped/declined",
658
689
  "credentials/plan"
659
690
  ],
660
691
  "milestone": "setup",
@@ -668,6 +699,21 @@
668
699
  "milestone": "starter",
669
700
  "name": "starter/clone"
670
701
  },
702
+ {
703
+ "edges": [
704
+ "feature/channels/start",
705
+ "stopped/run-failed",
706
+ "stopped/declined",
707
+ "research/gather"
708
+ ],
709
+ "milestone": "starter",
710
+ "name": "starter/setup"
711
+ },
712
+ {
713
+ "edges": [],
714
+ "milestone": "stopped",
715
+ "name": "stopped/declined"
716
+ },
671
717
  {
672
718
  "edges": [],
673
719
  "milestone": "stopped",
@@ -6,49 +6,55 @@ This run executes the CopilotKit CLI through `npx`.
6
6
  It spawns read-only inspection subagents inside the target project. It sends checkpoints
7
7
  and optional friction reports to CopilotKit under the developer's telemetry setting. It
8
8
  reads nothing outside the project
9
- directory. It changes files only after writing the plan, and asks before any change the
10
- plan says needs the developer's approval. CopilotKit
11
- Intelligence has a free Developer plan, and this run needs no paid subscription.
9
+ directory. In an existing project, it changes files only after writing the plan, and asks
10
+ before any change the plan says needs the developer's approval. An empty folder gets a
11
+ new app. A free CopilotKit account is required to continue setup. This run needs no paid
12
+ subscription.
12
13
 
13
14
  ## Command approvals
14
15
 
15
16
  Run each CLI call exactly as written, as its own command: no pipe, `tee`, `&&`, redirect,
16
17
  or variable prefix. Every CLI call in this run matches the prefix rule
17
- `["npx", "--prefer-offline", "--yes", "copilotkit@4.28.0"]`.
18
+ `["npx", "--prefer-offline", "--yes", "copilotkit@4.30.0"]`.
19
+
20
+ Never add or edit a permission rule or a settings file yourself. That choice belongs to
21
+ the developer.
18
22
 
19
23
  <!-- sandboxed-harness -->
20
24
 
21
25
  If a command can request escalation with a prefix rule, request this one on the
22
- `onboard identify` call.
26
+ `onboard begin` call.
23
27
 
24
28
  <!-- /sandboxed-harness -->
25
29
 
26
- If your harness asks the developer to approve commands, tell them one approval of that
27
- prefix covers every CLI call. Say then that the install, the dev servers, `curl` to the local app, and
28
- `ps`, `lsof`, and `kill` ask for approval later.
30
+ <!-- antigravity-harness -->
29
31
 
30
- Never add or edit a permission rule or a settings file yourself. That choice belongs to
31
- the developer.
32
+ Antigravity's "always allow" saves only the one full command, so it does not cover the
33
+ next CLI call. Tell the developer that one entry covers every CLI call, and that the
34
+ choice is theirs. The entry goes in `/permissions`, or in `permissions.allow` in
35
+ `~/.gemini/antigravity-cli/settings.json`:
36
+ `command(npx --prefer-offline --yes copilotkit@4.30.0)`.
37
+
38
+ <!-- /antigravity-harness -->
32
39
 
33
40
  If your harness refuses a CLI call without asking the developer, do not retry it or run it
34
- another way. Report the pause: `npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer`.
41
+ another way. Report the pause: `npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about harness-permission`.
35
42
  Name the refused command, ask the developer to approve it or to switch to a
36
43
  mode that asks them, and end your turn. When they answer, run it once more.
37
44
  That refusal is a pause, not a stop.
38
45
 
39
46
  ## First, say which coding agent you are
40
47
 
41
- Before you run any other command, write this one line in your own reply: "Setting up
42
- CopilotKit: I check your sign-in and your project, then show you the setup." The developer
43
- does not see your tool output, and the welcome comes later, with the setup message.
44
-
45
- Then run this:
48
+ Run this before you write anything to the developer:
46
49
 
47
50
  ```text
48
- npx --prefer-offline --yes copilotkit@4.28.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
51
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard begin --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
49
52
  ```
50
53
 
51
- Report your product slug, such as `codex` or `claude-code`.
54
+ It records you and prints the welcome as a JSON line. Do what its `next` says: the
55
+ developer reads the welcome and replies **go**. Then run the same command with
56
+ `--welcomed` added. That call records the deployment, checks sign-in, and prints the next
57
+ step. Report your product slug, such as `codex` or `claude-code`.
52
58
 
53
59
  - `--model`: copy the model id exactly as your instructions write it. Without an exact
54
60
  model id, leave out `--model` rather than guess.
@@ -56,6 +62,17 @@ Report your product slug, such as `codex` or `claude-code`.
56
62
  `claude-sonnet`, `claude-haiku`, `gpt-5`, `gemini`, `grok`, `glm`, `minimax`, `mimo`,
57
63
  `deepseek`, `qwen`, `kimi`, else the model's series. Leave it out if you do not know it.
58
64
  - Never give your product slug as a model, or as an unlisted family.
65
+ - `--vendor`: only for a model vendor the developer named.
66
+ - `--local`: only when the developer asked to run CopilotKit locally, with Docker, or
67
+ self-hosted, or this run recorded local. Otherwise `begin` records the managed default.
68
+ The developer approves it with **go** on the Hosting line of the setup message. Do not
69
+ choose or ask.
70
+
71
+ If the `--welcomed` call prints a prompt, follow it. A JSON line after it is the first
72
+ setup message: do what its `next` says. If it prints `Sign-in needed`, follow "Check sign-in".
73
+
74
+ For a later local request, run
75
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read deployment/choose-local`.
59
76
 
60
77
  ## How to run this onboarding
61
78
 
@@ -70,20 +87,19 @@ the whole run. Every later command reports against it.
70
87
 
71
88
  `onboard read research/gather` gives the rules for the rest of the run.
72
89
 
73
- Do not write a welcome of your own. The CLI puts the run's welcome at the top of the setup
74
- message, which says to write it in your own reply, because the developer does not see your
75
- tool output.
90
+ Do not write a welcome of your own. The welcome is the `message` that `onboard begin`
91
+ prints, because the developer does not see your tool output.
76
92
 
77
93
  ## Report a stop, wherever it happens
78
94
 
79
95
  If you stop this run at any point, send one short report before you stop. This includes
80
96
  unexpected stops and stops caused by your harness.
81
97
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
82
- Report the pause: `npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer`.
98
+ Report the pause as the prompt that asks the question says.
83
99
  A terminal that sends the report itself, or says to file none, overrides this.
84
100
 
85
101
  ```text
86
- npx --prefer-offline --yes copilotkit@4.28.0 onboard friction --phase stop --category <slug> --message "<sentences>"
102
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard friction --phase stop --category <slug> --message "<sentences>"
87
103
  ```
88
104
 
89
105
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -96,20 +112,10 @@ not a failed step. Reword it and send it again, or stop without a report.
96
112
  Reporting a stop is not a route change. It does not resume the run or replace what the
97
113
  rule that stopped you says next: send the report, then stop.
98
114
 
99
- ## Choose where the app stores data
100
-
101
- Take the local route only when the developer already asked to run CopilotKit locally,
102
- with Docker, or self-hosted: in their request, the copied prompt, or a later reply, or
103
- when this run already recorded local. Then run
104
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read deployment/choose-local` instead.
105
-
106
- Otherwise keep managed. Do not ask the developer to choose. Run
107
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard deployment --choice managed`, then continue with
108
- “Check sign-in”. If it refuses because of a local stack, take the local route.
109
-
110
115
  ## Check sign-in
111
116
 
112
- Run `npx --prefer-offline --yes copilotkit@4.28.0 login --json --onboarding` before any project work. It checks the
117
+ Only when `onboard begin` printed `Sign-in needed`: run
118
+ `npx --prefer-offline --yes copilotkit@4.30.0 login --json --onboarding` before any project work. It checks the
113
119
  session and starts sign-in only as needed. Treat this as a long-lived
114
120
  streaming process. Do not wait for the command to exit before you read its standard output.
115
121
 
@@ -119,17 +125,24 @@ Read each JSON Lines record as it arrives:
119
125
  existing session is valid.
120
126
  2. If the process emits `authentication_url`, the developer must sign in. The process is
121
127
  still running.
122
- 3. The CLI does not open the page. The first `action_required` record carries a `message`:
123
- why to sign in, then the link and the code. Write that `message` in your own reply, word
124
- for word, and add nothing else. The developer does not see your tool output. Do not open
125
- the page yourself: the developer opens it from your message. Then report the pause with
126
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer` and end your
127
- turn. Until the developer says they signed in, send them nothing more. When the research or
128
- another helper returns, record what it found and end your turn without a message. Your own
128
+ 3. When it can, the CLI opens the sign-in page in the default browser. The first
129
+ `action_required` record carries a `message`: why to sign in, whether the page opened,
130
+ then the link and the code. Write that `message` in your own reply, word for word, and add
131
+ nothing else. The developer does not see your tool output. Do not open the page yourself.
132
+ Start the research (below), then keep reading the login process. Do not end your turn yet.
133
+ On `type: completed`, follow its `action`. On `type: pause` (about 90 seconds with no
134
+ sign-in), write its `message`, report the pause with
135
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about sign-in` and end your
136
+ turn. Until the developer replies, send them nothing more. When the research or another
137
+ helper returns, record what it found, then read the login process: on `type: completed`,
138
+ follow its `action`. If it has written neither `completed` nor `pause`, keep reading it.
139
+ After a `pause`, end your turn without a message. A `completed` record after a `pause`
140
+ means the developer signed in: follow it. Plain `login --json`, on the local route, writes no
141
+ `pause`: after its message, report the pause and end your turn. Your own
129
142
  built-in browser does not carry the session the developer already signed in with,
130
143
  so do not use it.
131
144
  A later `authentication_url` record with `"renewed": true` means the earlier code expired.
132
- Write its `message` the same way.
145
+ The CLI opens its page too, when it can. Write its `message` the same way.
133
146
  4. Keep monitoring the same login process. Do not start a second login command.
134
147
  5. Go past the research only after that same process emits `type: completed`.
135
148
  6. On `type: failed` with `reason: expired` or `reason: renewal_failed`, ask once whether to
@@ -138,25 +151,26 @@ Read each JSON Lines record as it arrives:
138
151
  7. If that process emits `type: failed`, report the error and stop onboarding. On
139
152
  `reason: repeated_expiry`, rerun `login` with `--force` only if the developer asks.
140
153
 
141
- On `type: completed`, run `npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase sign-in-settled`
154
+ On `type: completed`, run `npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase sign-in-settled`
142
155
  before you continue.
143
156
 
144
157
  If your harness ends the login process or your turn before the process emits
145
- `type: completed` or `type: failed`, that is a pause, not a failed sign-in. Report the pause: `npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer`.
158
+ `type: completed` or `type: failed`, that is a pause, not a failed sign-in. Report the pause: `npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about sign-in`.
146
159
  If the process
147
- still runs, end your turn and wait for the developer to say they signed in, then read the
148
- same process. If the process ended without emitting `type: failed`, run
160
+ still runs, end your turn. When the developer replies, read the same process before anything
161
+ else. If the process ended without emitting `type: failed`, run
149
162
  `login --json --onboarding`
150
163
  again and handle a new `authentication_url` as above. Step 4 forbids a second login only while the first one runs.
151
164
 
152
165
  Do not use `whoami` for this check. Do not put account tokens or credentials in the
153
166
  conversation.
154
167
 
155
- Research reads only this project and needs no account. Start it as soon as the session is
156
- valid or the developer has the sign-in page, and keep monitoring the login process while it
157
- runs: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read research/gather`. If this run already
158
- started the research, do not start it again.
168
+ As soon as the session is valid or the developer has the sign-in page, read the next node,
169
+ and keep monitoring the login process. If `onboard start` printed `Route: starter`, read
170
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read starter/setup`. Otherwise start the research,
171
+ which needs no account: `npx --prefer-offline --yes copilotkit@4.30.0 onboard read research/gather`. If
172
+ this run already started the research, do not start it again.
159
173
 
160
174
  If sign-in stops onboarding, run
161
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read stopped/run-failed`. It does not judge
175
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/run-failed --reason other`. It does not judge
162
176
  this project's stack.
@@ -100,7 +100,7 @@ of this journey, and a drawer that lists nothing is not a reason to mint one. Li
100
100
  tokens stay a self-hosted concern.
101
101
 
102
102
  Where this journey's frontend framework ships no threads drawer -- React Native --, the
103
- fifth item is proved by `npx --prefer-offline --yes copilotkit@4.28.0 verify --round-trip`, which sends a
103
+ fifth item is proved by `npx --prefer-offline --yes copilotkit@4.30.0 verify --round-trip`, which sends a
104
104
  real request and reads the answer back off the thread it landed on. The run says which of
105
105
  the two it proved. Do not send a run to the managed Intelligence dashboard to prove this.
106
106
  An authenticated browser session at a hosted dashboard is the one thing an agent-driven run
@@ -116,7 +116,7 @@ and passed -- so a run scored on either one was scored on the same fact. Every r
116
116
  resolves that condition from, while `licenseStatus` is a compatibility projection of it
117
117
  for older thread surfaces and outlives them only until those surfaces go.
118
118
 
119
- Then run `npx --prefer-offline --yes copilotkit@4.28.0 onboard read credentials/finalize-plan`.
119
+ Then run `npx --prefer-offline --yes copilotkit@4.30.0 onboard read credentials/finalize-plan`.
120
120
 
121
121
  If a selected page does not load after the second method, run
122
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read unsupported/no-validated-path`.
122
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read unsupported/no-validated-path`.
@@ -1,14 +1,14 @@
1
1
  # Select the Intelligence project
2
2
 
3
3
  For a recorded local choice, run
4
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read deployment/local-evaluation`.
4
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read deployment/local-evaluation`.
5
5
  That path connects the local project with the approval the setup message took.
6
6
  Skip hosted selection.
7
7
  Keep the implementation and feature-proof requirements.
8
8
 
9
9
  Use the selected framework, frontend, model vendor, model, documentation URLs, and
10
10
  repository findings. When the framework, frontend or vendor is not in your context, read it
11
- from `npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers`, and do not ask again. On a conversion, use the values the conversion prompt recorded, and
11
+ from `npx --prefer-offline --yes copilotkit@4.30.0 onboard setup-answers`, and do not ask again. On a conversion, use the values the conversion prompt recorded, and
12
12
  ask no framework or frontend question. Do not change application code in this phase. Do
13
13
  not read, show, store, or request a secret value.
14
14
 
@@ -20,7 +20,7 @@ reason only when it names something in the developer's own project. Do not ask a
20
20
  Before you end your turn to wait for the developer, report the pause:
21
21
 
22
22
  ```text
23
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
23
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about setup-answers
24
24
  ```
25
25
 
26
26
  ## Record the audit cell
@@ -38,7 +38,7 @@ Choose the starting state from the repository findings:
38
38
  A run served `proof/oss-baseline` records one of the last two.
39
39
 
40
40
  ```text
41
- npx --prefer-offline --yes copilotkit@4.28.0 onboard classify --starting-state <starting-state> --agent-framework <agent-framework> --frontend <frontend> --model-vendor <model-vendor> --model-vendor-choice <model-vendor-choice>
41
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard classify --starting-state <starting-state> --agent-framework <agent-framework> --frontend <frontend> --model-vendor <model-vendor> --model-vendor-choice <model-vendor-choice>
42
42
  ```
43
43
 
44
44
  `<model-vendor>` is `openai`, `anthropic`, `google`, `openai-compatible`, or `other`.
@@ -55,7 +55,7 @@ runtime `.env` file, that directory is the target, not the repository root. Do n
55
55
  the developer to another terminal.
56
56
 
57
57
  ```text
58
- npx --prefer-offline --yes copilotkit@4.28.0 onboard credentials --json
58
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard credentials --json
59
59
  ```
60
60
 
61
61
  Every credential this run writes goes to the environment path: the target's `.env`, or
@@ -80,7 +80,7 @@ the CLI kept: run `--create` with `question.recorded.create`, or `--project` wit
80
80
  project answer `setup/questions` gave you. A new project with no recorded name takes
81
81
  `suggestedName`. Ask the developer only when `question.taken` or `question.notFound` is
82
82
  present, or when no answer was recorded. When they then give another project, record it
83
- with `npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers --create <name>` or
83
+ with `npx --prefer-offline --yes copilotkit@4.30.0 onboard setup-answers --create <name>` or
84
84
  `--project <slug>`.
85
85
 
86
86
  `project-name` means that no project is bound here, so creating a project for this
@@ -93,7 +93,7 @@ unless the developer says that it is this app's.
93
93
  Before you end your turn to wait for the developer, report the pause:
94
94
 
95
95
  ```text
96
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
96
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about project-name
97
97
  ```
98
98
 
99
99
  If no developer answers, create with the derived name in `suggestedName`. Never select a
@@ -102,9 +102,9 @@ project from a listing without an answer that names it.
102
102
  `--runtime-url` is the URL port research settled, mount path included:
103
103
 
104
104
  ```text
105
- npx --prefer-offline --yes copilotkit@4.28.0 onboard credentials --create <name> \
105
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard credentials --create <name> \
106
106
  --runtime-url http://localhost:<port>/api/copilotkit --json
107
- npx --prefer-offline --yes copilotkit@4.28.0 onboard credentials --project <slug-or-id> \
107
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard credentials --project <slug-or-id> \
108
108
  --runtime-url http://localhost:<port>/api/copilotkit --json
109
109
  ```
110
110
 
@@ -116,12 +116,12 @@ show only what they asked for, and do not order it by creation time:
116
116
  Before you end your turn to wait for the developer, report the pause:
117
117
 
118
118
  ```text
119
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
119
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about which-project
120
120
  ```
121
121
 
122
122
  ```text
123
- npx --prefer-offline --yes copilotkit@4.28.0 project list --json
124
- npx --prefer-offline --yes copilotkit@4.28.0 project list --search <query> --json
123
+ npx --prefer-offline --yes copilotkit@4.30.0 project list --json
124
+ npx --prefer-offline --yes copilotkit@4.30.0 project list --search <query> --json
125
125
  ```
126
126
 
127
127
  `app-directory` means that the key landed where no app reads it. Pick the directory in
@@ -130,7 +130,7 @@ the `--project` command from there with `project.slug`. Do not copy or link the
130
130
 
131
131
  `env-file-exposed` means that git tracks the env file the key goes into, or does not
132
132
  ignore it. So nothing was written. Read `envFile` from
133
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers`, which keeps the developer's answer to
133
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard setup-answers`, which keeps the developer's answer to
134
134
  that line in the setup message: `approved` approves the change the line asks for,
135
135
  `alternative` chose `question.alternative`, and `declined` declined both. Act on it without
136
136
  asking again. An accepting reply to the setup message never approves a line with
@@ -144,7 +144,7 @@ run the same command again with `question.alternative.rerun` added. The CLI adds
144
144
  If they approve the untrack, add
145
145
  `question.ignoreLine` to `question.ignoreFile`. If `question.untrack` is present, run it
146
146
  too. Or the developer does both. Report the pause with
147
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer`, end your
147
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about env-file-tracked`, end your
148
148
  turn, and wait for the answer. Then run the same command again. Write the key only to
149
149
  `question.file`, or to `question.alternative.file` by rerunning with
150
150
  `question.alternative.rerun`.
@@ -160,4 +160,4 @@ turn, and wait for the answer. Then run the same command again. Write the key on
160
160
  reused. The round-trip proof later runs the authenticated Intelligence checks, so record
161
161
  the reused project credentials as unverified in the plan until those checks pass.
162
162
 
163
- Then run `npx --prefer-offline --yes copilotkit@4.28.0 onboard read credentials/settle-credentials`.
163
+ Then run `npx --prefer-offline --yes copilotkit@4.30.0 onboard read credentials/settle-credentials`.