copilotkit 4.24.0 → 4.25.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 (91) hide show
  1. package/README.md +75 -14
  2. package/cli-build-info.json +7 -7
  3. package/index.js +8544 -6674
  4. package/onboarding/index.json +2 -2
  5. package/onboarding/prompts/authenticate/start.md +50 -45
  6. package/onboarding/prompts/conversion/plan.md +3 -3
  7. package/onboarding/prompts/credentials/finalize-plan.md +30 -8
  8. package/onboarding/prompts/credentials/plan.md +115 -49
  9. package/onboarding/prompts/credentials/settle-credentials.md +7 -5
  10. package/onboarding/prompts/credentials/write-plan.md +15 -15
  11. package/onboarding/prompts/deployment/choose-local.md +44 -7
  12. package/onboarding/prompts/deployment/local-evaluation.md +12 -6
  13. package/onboarding/prompts/fallback/best-effort.md +8 -8
  14. package/onboarding/prompts/feature/a2ui/implement.md +15 -8
  15. package/onboarding/prompts/feature/a2ui/plan.md +15 -7
  16. package/onboarding/prompts/feature/a2ui/proof.md +14 -7
  17. package/onboarding/prompts/feature/a2ui/start.md +15 -14
  18. package/onboarding/prompts/feature/channels/implement.md +21 -9
  19. package/onboarding/prompts/feature/channels/plan.md +15 -7
  20. package/onboarding/prompts/feature/channels/proof.md +14 -7
  21. package/onboarding/prompts/feature/channels/start.md +20 -13
  22. package/onboarding/prompts/feature/chat-suggestions/implement.md +15 -8
  23. package/onboarding/prompts/feature/chat-suggestions/plan.md +15 -7
  24. package/onboarding/prompts/feature/chat-suggestions/proof.md +14 -7
  25. package/onboarding/prompts/feature/chat-suggestions/start.md +15 -14
  26. package/onboarding/prompts/feature/complete.md +2 -2
  27. package/onboarding/prompts/feature/learning/implement.md +32 -18
  28. package/onboarding/prompts/feature/learning/plan.md +15 -7
  29. package/onboarding/prompts/feature/learning/proof.md +37 -13
  30. package/onboarding/prompts/feature/learning/start.md +15 -14
  31. package/onboarding/prompts/feature/open-generative-ui/implement.md +15 -8
  32. package/onboarding/prompts/feature/open-generative-ui/plan.md +15 -7
  33. package/onboarding/prompts/feature/open-generative-ui/proof.md +14 -7
  34. package/onboarding/prompts/feature/open-generative-ui/start.md +15 -14
  35. package/onboarding/prompts/feature/realtime-sync/implement.md +20 -12
  36. package/onboarding/prompts/feature/realtime-sync/plan.md +15 -7
  37. package/onboarding/prompts/feature/realtime-sync/proof.md +14 -7
  38. package/onboarding/prompts/feature/realtime-sync/start.md +14 -13
  39. package/onboarding/prompts/feature/rich-threads/implement.md +21 -13
  40. package/onboarding/prompts/feature/rich-threads/plan.md +15 -7
  41. package/onboarding/prompts/feature/rich-threads/proof.md +14 -7
  42. package/onboarding/prompts/feature/rich-threads/start.md +14 -13
  43. package/onboarding/prompts/feature/stop.md +9 -3
  44. package/onboarding/prompts/feature/voice/implement.md +15 -8
  45. package/onboarding/prompts/feature/voice/plan.md +16 -8
  46. package/onboarding/prompts/feature/voice/proof.md +14 -7
  47. package/onboarding/prompts/feature/voice/start.md +15 -14
  48. package/onboarding/prompts/framework/ag2.md +6 -5
  49. package/onboarding/prompts/framework/agno.md +6 -5
  50. package/onboarding/prompts/framework/built-in.md +9 -6
  51. package/onboarding/prompts/framework/claude-sdk-python.md +2 -2
  52. package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
  53. package/onboarding/prompts/framework/crewai-flows.md +12 -4
  54. package/onboarding/prompts/framework/custom-ag-ui.md +8 -2
  55. package/onboarding/prompts/framework/deep-agents.md +6 -5
  56. package/onboarding/prompts/framework/google-adk.md +2 -2
  57. package/onboarding/prompts/framework/langgraph-fastapi.md +8 -5
  58. package/onboarding/prompts/framework/langgraph-python.md +8 -5
  59. package/onboarding/prompts/framework/langgraph-typescript.md +8 -5
  60. package/onboarding/prompts/framework/llamaindex.md +6 -5
  61. package/onboarding/prompts/framework/mastra.md +9 -6
  62. package/onboarding/prompts/framework/ms-agent-dotnet.md +12 -4
  63. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +12 -4
  64. package/onboarding/prompts/framework/ms-agent-python.md +6 -5
  65. package/onboarding/prompts/framework/pydantic-ai.md +6 -5
  66. package/onboarding/prompts/framework/strands-python.md +10 -6
  67. package/onboarding/prompts/framework/strands-typescript.md +10 -6
  68. package/onboarding/prompts/frontend/angular.md +10 -3
  69. package/onboarding/prompts/frontend/nextjs.md +36 -3
  70. package/onboarding/prompts/frontend/plan.md +13 -7
  71. package/onboarding/prompts/frontend/react-native.md +9 -2
  72. package/onboarding/prompts/frontend/react-spa.md +9 -2
  73. package/onboarding/prompts/frontend/vue.md +9 -2
  74. package/onboarding/prompts/implementation/build-and-validate.md +45 -19
  75. package/onboarding/prompts/proof/complete.md +3 -3
  76. package/onboarding/prompts/proof/oss-baseline.md +30 -13
  77. package/onboarding/prompts/proof/round-trip.md +55 -17
  78. package/onboarding/prompts/research/gather.md +21 -11
  79. package/onboarding/prompts/research/merge.md +8 -2
  80. package/onboarding/prompts/research/preflight.md +2 -2
  81. package/onboarding/prompts/research/route.md +14 -7
  82. package/onboarding/prompts/starter/clone.md +73 -16
  83. package/onboarding/prompts/stopped/run-failed.md +8 -2
  84. package/onboarding/prompts/subagent/create-plan.md +9 -2
  85. package/onboarding/prompts/subagent/implement-and-validate.md +2 -2
  86. package/onboarding/prompts/subagent/inspect-repository.md +12 -6
  87. package/onboarding/prompts/subagent/prove-oss-baseline.md +6 -1
  88. package/onboarding/prompts/subagent/prove-round-trip.md +50 -9
  89. package/onboarding/prompts/unsupported/no-validated-path.md +8 -2
  90. package/package.json +1 -1
  91. package/release/release-tool.js +9 -3
@@ -1,5 +1,5 @@
1
1
  {
2
- "graphTree": "29dcb290ab507cc1cc9d3f7263f9c39eafe4607b",
2
+ "graphTree": "443ace4b44587f8f7fb3de547ae2b4b566fcc08c",
3
3
  "intentRoots": {
4
4
  "add-a2ui": "feature/a2ui/start",
5
5
  "add-chat-suggestions": "feature/chat-suggestions/start",
@@ -9,7 +9,7 @@
9
9
  "add-rich-threads": "feature/rich-threads/start",
10
10
  "add-voice": "feature/voice/start"
11
11
  },
12
- "packageSpec": "copilotkit@4.24.0",
12
+ "packageSpec": "copilotkit@4.25.0",
13
13
  "root": "authenticate/start",
14
14
  "prompts": [
15
15
  {
@@ -2,19 +2,18 @@
2
2
 
3
3
  ## What this run does
4
4
 
5
- Read this before you proceed. This run executes the CopilotKit CLI through `npx`.
5
+ 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
9
  directory and changes files only after the developer approves a written plan. CopilotKit
10
- Intelligence has a free Developer plan, and this run needs no paid subscription. Nothing it
11
- does is hidden from the developer.
10
+ Intelligence has a free Developer plan, and this run needs no paid subscription.
12
11
 
13
12
  ## Command approvals
14
13
 
15
14
  Run each CLI call exactly as written, as its own command: no pipe, `tee`, `&&`, redirect,
16
15
  or variable prefix. Every CLI call in this run matches the prefix rule
17
- `["npx", "--prefer-offline", "--yes", "copilotkit@4.24.0"]`. If a command can request
16
+ `["npx", "--prefer-offline", "--yes", "copilotkit@4.25.0"]`. If a command can request
18
17
  escalation with a prefix rule, request this one on the `onboard identify` call. If your
19
18
  harness asks the developer to approve commands, tell them one approval of that prefix covers
20
19
  every CLI call. Say then that the install, the dev servers, `curl` to the local app, and
@@ -24,25 +23,27 @@ Never add or edit a permission rule or a settings file yourself. That choice bel
24
23
  the developer.
25
24
 
26
25
  If your harness refuses a CLI call without asking the developer, do not retry it or run it
27
- another way. Name the refused command, ask the developer to approve it or to switch to a
26
+ another way. Report the pause: `npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer`.
27
+ Name the refused command, ask the developer to approve it or to switch to a
28
28
  mode that asks them, and end your turn. When they answer, run it once more.
29
29
  That refusal is a pause, not a stop.
30
30
 
31
31
  ## First, say which coding agent you are
32
32
 
33
- Run this before anything else in this prompt, including the welcome message below:
33
+ Run this first, before the welcome message below:
34
34
 
35
35
  ```text
36
- npx --prefer-offline --yes copilotkit@4.24.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
36
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
37
37
  ```
38
38
 
39
39
  Report your product slug, such as `codex` or `claude-code`.
40
40
 
41
- - `--model`: copy the model id exactly as your instructions write it. If they name no
42
- exact model id, leave out `--model` rather than guess.
43
- - `--model-family`: your model's family, such as `claude-opus` or `gpt-5`. Give it even
44
- without `--model`, and leave out `--model-family` if you do not know it.
45
- - Never give your product slug as a model or a family.
41
+ - `--model`: copy the model id exactly as your instructions write it. Without an exact
42
+ model id, leave out `--model` rather than guess.
43
+ - `--model-family`: give it even without `--model`. Closest of: `claude-opus`,
44
+ `claude-sonnet`, `claude-haiku`, `gpt-5`, `gemini`, `grok`, `glm`, `minimax`, `mimo`,
45
+ `deepseek`, `qwen`, `kimi`, else the model's series. Leave it out if you do not know it.
46
+ - Never give your product slug as a model, or as an unlisted family.
46
47
 
47
48
  ## How to run this onboarding
48
49
 
@@ -58,14 +59,14 @@ one the developer chose is that directory.
58
59
  The first command printed `onboarding_run_id:` followed by an id, once. Keep it for
59
60
  the whole run. Every later command reports against it.
60
61
 
61
- Every later command must run from the directory this run started in. Elsewhere, the
62
+ Every later command must run from the directory this run is bound to. Elsewhere, the
62
63
  command cannot find its run and refuses. Do not report that refusal as a stop. Run
63
- `npx --prefer-offline --yes copilotkit@4.24.0 onboard start --run <onboarding_run_id>` where you are
64
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard start --run <onboarding_run_id>` where you are
64
65
  standing, then run the refused command again.
65
66
 
66
- If you no longer hold the id, run `npx --prefer-offline --yes copilotkit@4.24.0 onboard start` in the
67
- directory this run started in, with no `--run` and no `--intent`. It reprints the id of the
68
- run under way and starts nothing. An id this project does not already hold starts a second
67
+ If you no longer hold the id, run `npx --prefer-offline --yes copilotkit@4.25.0 onboard start` in the
68
+ directory this run started in, with no `--run` and no `--intent`. It reprints the id
69
+ and starts nothing. An id this project does not already hold starts a second
69
70
  run, and the work already done stops counting toward the first.
70
71
 
71
72
  Read only inside the target project directory. Every subagent you spawn inherits that
@@ -96,8 +97,10 @@ Everything I need from you comes before that approval: sign-in, a few short setu
96
97
  and the plan itself. After you approve it, I build and prove the integration, which is the
97
98
  long part of this run. If I need you to approve a command, or something blocks me, I will ask
98
99
  you here. Otherwise you hear from me next when the app is running and I hand you its URLs.
100
+ To self-host on your machine with Docker, say so before you sign in.
99
101
 
100
102
  That message belongs to the run. Send it only once, including after a second read of this prompt.
103
+ Then run `npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase welcome-sent`.
101
104
 
102
105
  Telemetry and friction reports follow the CLI telemetry setting the developer controls with
103
106
  `copilotkit telemetry` or `DO_NOT_TRACK=1`. Each report is one or two sentences and carries
@@ -114,13 +117,14 @@ to the repository root and prints its path.
114
117
 
115
118
  ## Report a stop, wherever it happens
116
119
 
117
- This run reports its own stops. If you stop this run at any point, send one short report
118
- before you stop. This includes unexpected stops and stops caused by your harness.
120
+ If you stop this run at any point, send one short report before you stop. This includes
121
+ unexpected stops and stops caused by your harness.
119
122
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
123
+ Report the pause: `npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer`.
120
124
  A terminal that sends the report itself, or says to file none, overrides this.
121
125
 
122
126
  ```text
123
- npx --prefer-offline --yes copilotkit@4.24.0 onboard friction --phase stop --category <slug> --message "<sentences>"
127
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard friction --phase stop --category <slug> --message "<sentences>"
124
128
  ```
125
129
 
126
130
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -135,35 +139,29 @@ rule that stopped you says next: send the report, then stop.
135
139
 
136
140
  ## Choose where the app stores data
137
141
 
138
- Before sign-in, run `npx --prefer-offline --yes copilotkit@4.24.0 local --help`.
139
- If it lists `setup` ("Configure model access and install or resume the local stack") and no
140
- choice exists, offer managed or local Docker evaluation. Otherwise keep managed. Existing
141
- local recovery still works.
142
- Record the path with
143
- `npx --prefer-offline --yes copilotkit@4.24.0 onboard deployment --choice <managed|local>`.
142
+ Take the local route only when the developer already asked to run CopilotKit locally,
143
+ with Docker, or self-hosted: in their request, the copied prompt, or a later reply, or
144
+ when this run already recorded local. Then run
145
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard read deployment/choose-local` instead.
144
146
 
145
- For a local choice, run
146
- `npx --prefer-offline --yes copilotkit@4.24.0 onboard read deployment/choose-local`.
147
- It records the choice for new and existing apps, completes sign-in, and starts research.
148
- For managed service, continue with “Check sign-in”.
147
+ Otherwise keep managed. Do not ask the developer to choose. Run
148
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard deployment --choice managed`, then continue with
149
+ “Check sign-in”. If it refuses because of a local stack, take the local route.
149
150
 
150
151
  ## Check sign-in
151
152
 
152
- Run `npx --prefer-offline --yes copilotkit@4.24.0 login --json` before any project work. This command
153
- checks the current session. It starts sign-in only as needed. Treat this as a long-lived
153
+ Run `npx --prefer-offline --yes copilotkit@4.25.0 login --json` before any project work. It checks the
154
+ session and starts sign-in only as needed. Treat this as a long-lived
154
155
  streaming process. Do not wait for the command to exit before you read its standard output.
155
156
 
156
- Read each JSON Lines record as the running command writes it:
157
+ Read each JSON Lines record as it arrives:
157
158
 
158
159
  1. If the process emits `type: completed` without an `authentication_url`, continue: the
159
160
  existing session is valid.
160
161
  2. If the process emits `authentication_url`, read the first `authentication_url` without
161
162
  changing it. The process is still running.
162
- When that first URL arrives, send this exact message once. Do not send it when the
163
- existing session is already valid, and do not add a feature list or another explanation:
164
-
165
- For local evaluation, say: “Sign in to get the renewable evaluation license. Your
166
- local dashboard will use CLI approval.” For the managed choice, say:
163
+ When that first URL arrives, send this exact message once. Add no feature list or other
164
+ explanation:
167
165
 
168
166
  I am opening a sign-in page. Signing in gives this project a managed CopilotKit project
169
167
  and its API key. That key is what lets your users reopen past conversations. You can
@@ -174,17 +172,24 @@ Read each JSON Lines record as the running command writes it:
174
172
  3. The CLI opens the page in the default browser itself when it can, and the
175
173
  `action_required` record says whether it did. With `"browser_opened": true`, do not open
176
174
  it again. With `"browser_opened": false`, show the clickable URL to the developer and ask
177
- them to finish sign-in there. The page works from any device. Your own built-in browser
175
+ them to finish sign-in there. Your own built-in browser
178
176
  does not carry the session the developer already signed in with, so do not use it.
177
+ A later `authentication_url` record with `"renewed": true` means the earlier code expired.
178
+ Do not resend the sign-in message. Show only the new code, and the URL if
179
+ `browser_opened` is false.
179
180
  4. Keep monitoring the same login process. Do not start a second login command.
180
181
  5. Go past the research only after that same process emits `type: completed`.
181
- 6. On `type: failed` with `reason: expired`, ask once whether to retry. If yes, start one
182
- new `login --json`. Use `--force` only when the developer asks.
182
+ 6. On `type: failed` with `reason: expired` or `reason: renewal_failed`, ask once whether to
183
+ retry. If yes, start one new `login --json`. Use `--force` only when the developer asks.
183
184
  7. If that process emits `type: failed`, report the error and stop onboarding. On
184
185
  `reason: repeated_expiry`, rerun `login` with `--force` only if the developer asks.
185
186
 
187
+ On `type: completed`, run `npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase sign-in-settled`
188
+ before you continue.
189
+
186
190
  If your harness ends the login process or your turn before the process emits
187
- `type: completed` or `type: failed`, that is a pause, not a failed sign-in. If the process
191
+ `type: completed` or `type: failed`, that is a pause, not a failed sign-in. Report the pause: `npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer`.
192
+ If the process
188
193
  still runs, end your turn and wait for the developer to say they signed in, then read the
189
194
  same process. If the process ended without emitting `type: failed`, run `login --json`
190
195
  again and handle a new `authentication_url` as above. Step 4 forbids a second login only while the first one runs.
@@ -194,9 +199,9 @@ conversation.
194
199
 
195
200
  Research reads only this project and needs no account. Start it as soon as the session is
196
201
  valid or the developer has the sign-in page, and keep monitoring the login process while it
197
- runs: `npx --prefer-offline --yes copilotkit@4.24.0 onboard read research/gather`. If this run already
202
+ runs: `npx --prefer-offline --yes copilotkit@4.25.0 onboard read research/gather`. If this run already
198
203
  started the research, do not start it again.
199
204
 
200
205
  If sign-in stops onboarding, run
201
- `npx --prefer-offline --yes copilotkit@4.24.0 onboard read stopped/run-failed`. It says nothing about
202
- whether this project's stack is supported, which is not yet known at this point.
206
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard read stopped/run-failed`. It does not judge
207
+ 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.24.0 verify --round-trip`, which sends a
103
+ fifth item is proved by `npx --prefer-offline --yes copilotkit@4.25.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.24.0 onboard read credentials/finalize-plan`.
119
+ Then run `npx --prefer-offline --yes copilotkit@4.25.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.24.0 onboard read unsupported/no-validated-path`.
122
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard read unsupported/no-validated-path`.
@@ -1,7 +1,7 @@
1
1
  # Select the Intelligence project
2
2
 
3
3
  For a recorded local choice, run
4
- `npx --prefer-offline --yes copilotkit@4.24.0 onboard read deployment/local-evaluation`.
4
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard read deployment/local-evaluation`.
5
5
  That path obtains approval and connects the local project. Skip hosted selection.
6
6
  Keep the implementation and feature-proof requirements.
7
7
 
@@ -14,6 +14,12 @@ Ask one short question at a time, and end your turn to wait for each answer. Do
14
14
  combine separate choices in one question. Put the recommendation first, with its evidence
15
15
  in one sentence. Keep plan approval a separate, later question.
16
16
 
17
+ Before you end your turn to wait for the developer, report the pause:
18
+
19
+ ```text
20
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
21
+ ```
22
+
17
23
  ## Record the audit cell
18
24
 
19
25
  Choose the starting state from the repository findings:
@@ -29,9 +35,13 @@ Choose the starting state from the repository findings:
29
35
  A run served `proof/oss-baseline` records one of the last two.
30
36
 
31
37
  ```text
32
- npx --prefer-offline --yes copilotkit@4.24.0 onboard classify --starting-state <starting-state> --agent-framework <agent-framework> --frontend <frontend>
38
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard classify --starting-state <starting-state> --agent-framework <agent-framework> --frontend <frontend> --model-vendor <model-vendor> --model-vendor-choice <model-vendor-choice>
33
39
  ```
34
40
 
41
+ `<model-vendor>` is `openai`, `anthropic`, `google`, or `other`. `<model-vendor-choice>` is
42
+ how the framework step chose it: `developer`, `default`, or `existing`. If the run
43
+ recorded no vendor, leave out both flags.
44
+
35
45
  If a value is refused, fix it from the choices the earlier prompts gave, and run the
36
46
  command again.
37
47
 
@@ -42,7 +52,7 @@ runtime `.env` file, that directory is the target, not the repository root. Do n
42
52
  the developer to another terminal.
43
53
 
44
54
  ```text
45
- npx --prefer-offline --yes copilotkit@4.24.0 onboard credentials --json
55
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard credentials --json
46
56
  ```
47
57
 
48
58
  Every credential this run writes goes to the target's `.env`, the environment path. The
@@ -66,15 +76,21 @@ not list the organization's projects as part of the question. When `question.tak
66
76
  present, an existing project already has that name. Do not select the colliding project
67
77
  unless the developer says that it is this app's.
68
78
 
79
+ Before you end your turn to wait for the developer, report the pause:
80
+
81
+ ```text
82
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
83
+ ```
84
+
69
85
  If no developer answers, create with the derived name in `suggestedName`. Never select a
70
86
  project from a listing without an answer that names it.
71
87
 
72
88
  `--runtime-url` is the URL port research settled, mount path included:
73
89
 
74
90
  ```text
75
- npx --prefer-offline --yes copilotkit@4.24.0 onboard credentials --create <name> \
91
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard credentials --create <name> \
76
92
  --runtime-url http://localhost:<port>/api/copilotkit --json
77
- npx --prefer-offline --yes copilotkit@4.24.0 onboard credentials --project <slug-or-id> \
93
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard credentials --project <slug-or-id> \
78
94
  --runtime-url http://localhost:<port>/api/copilotkit --json
79
95
  ```
80
96
 
@@ -83,9 +99,15 @@ id. Search for it and ask which project the developer meant. Do not run either l
83
99
  command unless the developer asks to see their projects, or `notFound` is present. Then
84
100
  show only what they asked for, and do not order it by creation time:
85
101
 
102
+ Before you end your turn to wait for the developer, report the pause:
103
+
104
+ ```text
105
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
106
+ ```
107
+
86
108
  ```text
87
- npx --prefer-offline --yes copilotkit@4.24.0 project list --json
88
- npx --prefer-offline --yes copilotkit@4.24.0 project list --search <query> --json
109
+ npx --prefer-offline --yes copilotkit@4.25.0 project list --json
110
+ npx --prefer-offline --yes copilotkit@4.25.0 project list --search <query> --json
89
111
  ```
90
112
 
91
113
  `app-directory` means that the key landed where no app reads it. Pick the directory in
@@ -100,4 +122,4 @@ the `--project` command from there with `project.slug`. Do not copy or link the
100
122
  reused. The round-trip proof later runs the authenticated Intelligence checks, so record
101
123
  the reused project credentials as unverified in the plan until those checks pass.
102
124
 
103
- Then run `npx --prefer-offline --yes copilotkit@4.24.0 onboard read credentials/settle-credentials`.
125
+ Then run `npx --prefer-offline --yes copilotkit@4.25.0 onboard read credentials/settle-credentials`.
@@ -4,6 +4,12 @@ Use the repository findings to select the agent framework. Ask the developer onl
4
4
  choices that the repository does not show. Do not change application code in this phase.
5
5
  Do not read, show, store, or request a secret value.
6
6
 
7
+ Before you end your turn to wait for the developer, report the pause:
8
+
9
+ ```text
10
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
11
+ ```
12
+
7
13
  Keep `CPK_INTELLIGENCE_API_KEY` separate from every model-vendor credential. Do not read,
8
14
  show, store, or copy either credential.
9
15
 
@@ -20,7 +26,7 @@ If the target directory holds no project and the copied prompt came from the Sla
20
26
  Microsoft Teams docs page, do not ask the framework question. The Channel starter brings
21
27
  its own agent, so an answer here decides nothing. Tell the developer that the Channel
22
28
  starter decides the agent, then run
23
- `npx --prefer-offline --yes copilotkit@4.24.0 onboard read frontend/plan`.
29
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard read frontend/plan`.
24
30
 
25
31
  ## Frameworks this machine cannot run yet
26
32
 
@@ -42,7 +48,13 @@ things in one message:
42
48
  2. That the coding agent's shell reads PATH when it starts, so it cannot see the new
43
49
  toolchain until the developer restarts the coding agent.
44
50
  3. That the run resumes after the restart with
45
- `npx --prefer-offline --yes copilotkit@4.24.0 onboard start --run <onboarding_run_id>`.
51
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard start --run <onboarding_run_id>`.
52
+
53
+ Before you end your turn to wait for the developer, report the pause:
54
+
55
+ ```text
56
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
57
+ ```
46
58
 
47
59
  Then end your turn and wait for the developer. That restart is a step here, not an error.
48
60
 
@@ -52,32 +64,41 @@ Use a gentle wizard. Ask one short question at a time. Do not combine separate c
52
64
  one question. Put the recommendation first, give its evidence in one sentence, and keep
53
65
  the alternatives short. When the framework is unknown, use this rule: Ask one framework
54
66
  question that lists the recommendation and valid choices. Do not ask a yes-or-no question
55
- first. Do not ask about the frontend, model, or project in this step.
56
-
57
- These are the agent frameworks and their default vendors:
58
-
59
- | Framework | Default vendor |
60
- | ---------------------------------- | --------------- |
61
- | AG2 | OpenAI |
62
- | ADK | Google |
63
- | Agno | OpenAI |
64
- | Built-in CopilotKit agent | OpenAI |
65
- | Claude Agent SDK (Python) | Anthropic |
66
- | Claude Agent SDK (TypeScript) | Anthropic |
67
- | CrewAI Flows | Project-defined |
68
- | Existing AG-UI agent | The agent's own |
69
- | Deep Agents | OpenAI |
70
- | LangGraph FastAPI | OpenAI |
71
- | LangGraph Python | OpenAI |
72
- | LangGraph TypeScript | OpenAI |
73
- | LlamaIndex | OpenAI |
74
- | Mastra | OpenAI |
75
- | Microsoft Agent Framework (.NET) | OpenAI |
76
- | Microsoft Agent Framework (Python) | OpenAI |
77
- | MS Agent Harness (.NET) | OpenAI |
78
- | Pydantic AI | OpenAI |
79
- | Strands Agents (Python) | OpenAI |
80
- | Strands Agents (TypeScript) | OpenAI |
67
+ first. Do not ask about the frontend or project in this step. Ask about the model
68
+ provider only as "Choose the model provider" below says.
69
+
70
+ Before you end your turn to wait for the developer, report the pause:
71
+
72
+ ```text
73
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
74
+ ```
75
+
76
+ These are the agent frameworks, their default vendors, and the vendors that this run can
77
+ set up for a new agent. Each documented vendor has a credential variable and setup steps on
78
+ the framework's CopilotKit pages:
79
+
80
+ | Framework | Default vendor | Documented vendors |
81
+ | ---------------------------------- | --------------- | ------------------------- |
82
+ | AG2 | OpenAI | OpenAI |
83
+ | ADK | Google | Google |
84
+ | Agno | OpenAI | OpenAI |
85
+ | Built-in CopilotKit agent | OpenAI | OpenAI, Anthropic, Google |
86
+ | Claude Agent SDK (Python) | Anthropic | Anthropic |
87
+ | Claude Agent SDK (TypeScript) | Anthropic | Anthropic |
88
+ | CrewAI Flows | Project-defined | |
89
+ | Existing AG-UI agent | The agent's own | |
90
+ | Deep Agents | OpenAI | OpenAI |
91
+ | LangGraph FastAPI | OpenAI | OpenAI |
92
+ | LangGraph Python | OpenAI | OpenAI |
93
+ | LangGraph TypeScript | OpenAI | OpenAI |
94
+ | LlamaIndex | OpenAI | OpenAI |
95
+ | Mastra | OpenAI | OpenAI, Anthropic |
96
+ | Microsoft Agent Framework (.NET) | OpenAI | OpenAI |
97
+ | Microsoft Agent Framework (Python) | OpenAI | OpenAI |
98
+ | MS Agent Harness (.NET) | OpenAI | OpenAI |
99
+ | Pydantic AI | OpenAI | OpenAI |
100
+ | Strands Agents (Python) | OpenAI | OpenAI, Anthropic |
101
+ | Strands Agents (TypeScript) | OpenAI | OpenAI, Anthropic |
81
102
 
82
103
  "Project-defined" is not a missing default. It means that framework's own route settles
83
104
  the vendor with the developer: it keeps the one the repository already uses, and asks a
@@ -99,6 +120,12 @@ offer it for a new agent.
99
120
  If the project needs an agent, show the options and one recommendation based on repository
100
121
  evidence. Match the language the repository already uses. Ask the developer to choose.
101
122
 
123
+ Before you end your turn to wait for the developer, report the pause:
124
+
125
+ ```text
126
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
127
+ ```
128
+
102
129
  If the project is empty, state that no repository-based recommendation exists. Give these
103
130
  documented defaults: LangGraph TypeScript, LangGraph Python, ADK, Microsoft Agent Framework
104
131
  Python, Microsoft Agent Framework .NET, and Mastra. Explain which default matches the
@@ -109,29 +136,68 @@ Do not offer a framework that is not listed above. Do not port an existing agent
109
136
  framework. Route names are this graph's own bookkeeping. Say what the run is doing in the
110
137
  developer's words instead.
111
138
 
139
+ ## Choose the model provider
140
+
141
+ The run asks for a model key later. A developer with no key from the vendor the run picked
142
+ cannot answer that question, so settle the vendor now.
143
+
144
+ If the project keeps an existing agent, ask no question here: its route keeps that agent's
145
+ model setup. Record the vendor that the setup uses, or `other` if you cannot tell, with the
146
+ choice `existing`. Then skip the rest of this section.
147
+
148
+ If the default vendor is "Project-defined" or "The agent's own", skip this section. Those
149
+ routes settle the vendor themselves.
150
+
151
+ For a new agent, once the framework is settled, ask one more short question: which model
152
+ provider the developer has an API key for. Ask it even when the framework needed no
153
+ question. Offer the documented vendors of the chosen framework, then another provider, then
154
+ no preference. Never ask for the key itself.
155
+
156
+ Before you end your turn to wait for the developer, report the pause:
157
+
158
+ ```text
159
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
160
+ ```
161
+
162
+ - A documented vendor: use it.
163
+ - No preference: use the default vendor.
164
+ - A vendor that the row does not name: tell the developer that this run cannot set up that
165
+ vendor for a new agent with this framework. Then offer two choices. They can keep the
166
+ framework with its default vendor, or choose a framework whose row names their vendor.
167
+ Ask the framework question again for a new choice.
168
+
169
+ Before you end your turn to wait for the developer, report the pause:
170
+
171
+ ```text
172
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
173
+ ```
174
+
175
+ Record the vendor and how it was chosen. The developer named it: `developer`. The
176
+ developer had no preference: `default`. The framework route uses this vendor.
177
+
112
178
  Use exactly one matching internal route:
113
179
 
114
- 1. AG2: `npx --prefer-offline --yes copilotkit@4.24.0 onboard read framework/ag2`
115
- 2. Agno: `npx --prefer-offline --yes copilotkit@4.24.0 onboard read framework/agno`
116
- 3. Built-in CopilotKit agent: `npx --prefer-offline --yes copilotkit@4.24.0 onboard read framework/built-in`
117
- 4. Claude Agent SDK Python: `npx --prefer-offline --yes copilotkit@4.24.0 onboard read framework/claude-sdk-python`
118
- 5. Claude Agent SDK TypeScript: `npx --prefer-offline --yes copilotkit@4.24.0 onboard read framework/claude-sdk-typescript`
119
- 6. CrewAI Flows: `npx --prefer-offline --yes copilotkit@4.24.0 onboard read framework/crewai-flows`
120
- 7. Existing AG-UI agent: `npx --prefer-offline --yes copilotkit@4.24.0 onboard read framework/custom-ag-ui`
121
- 8. Deep Agents: `npx --prefer-offline --yes copilotkit@4.24.0 onboard read framework/deep-agents`
122
- 9. LangGraph Python: `npx --prefer-offline --yes copilotkit@4.24.0 onboard read framework/langgraph-python`
123
- 10. LangGraph FastAPI: `npx --prefer-offline --yes copilotkit@4.24.0 onboard read framework/langgraph-fastapi`
124
- 11. LangGraph TypeScript: `npx --prefer-offline --yes copilotkit@4.24.0 onboard read framework/langgraph-typescript`
125
- 12. LlamaIndex: `npx --prefer-offline --yes copilotkit@4.24.0 onboard read framework/llamaindex`
126
- 13. ADK: `npx --prefer-offline --yes copilotkit@4.24.0 onboard read framework/google-adk`
127
- 14. Microsoft Agent Framework Python: `npx --prefer-offline --yes copilotkit@4.24.0 onboard read framework/ms-agent-python`
128
- 15. Microsoft Agent Framework .NET: `npx --prefer-offline --yes copilotkit@4.24.0 onboard read framework/ms-agent-dotnet`
129
- 16. Mastra: `npx --prefer-offline --yes copilotkit@4.24.0 onboard read framework/mastra`
130
- 17. MS Agent Harness .NET: `npx --prefer-offline --yes copilotkit@4.24.0 onboard read framework/ms-agent-harness-dotnet`
131
- 18. Pydantic AI: `npx --prefer-offline --yes copilotkit@4.24.0 onboard read framework/pydantic-ai`
132
- 19. Strands Agents Python: `npx --prefer-offline --yes copilotkit@4.24.0 onboard read framework/strands-python`
133
- 20. Strands Agents TypeScript: `npx --prefer-offline --yes copilotkit@4.24.0 onboard read framework/strands-typescript`
180
+ 1. AG2: `npx --prefer-offline --yes copilotkit@4.25.0 onboard read framework/ag2`
181
+ 2. Agno: `npx --prefer-offline --yes copilotkit@4.25.0 onboard read framework/agno`
182
+ 3. Built-in CopilotKit agent: `npx --prefer-offline --yes copilotkit@4.25.0 onboard read framework/built-in`
183
+ 4. Claude Agent SDK Python: `npx --prefer-offline --yes copilotkit@4.25.0 onboard read framework/claude-sdk-python`
184
+ 5. Claude Agent SDK TypeScript: `npx --prefer-offline --yes copilotkit@4.25.0 onboard read framework/claude-sdk-typescript`
185
+ 6. CrewAI Flows: `npx --prefer-offline --yes copilotkit@4.25.0 onboard read framework/crewai-flows`
186
+ 7. Existing AG-UI agent: `npx --prefer-offline --yes copilotkit@4.25.0 onboard read framework/custom-ag-ui`
187
+ 8. Deep Agents: `npx --prefer-offline --yes copilotkit@4.25.0 onboard read framework/deep-agents`
188
+ 9. LangGraph Python: `npx --prefer-offline --yes copilotkit@4.25.0 onboard read framework/langgraph-python`
189
+ 10. LangGraph FastAPI: `npx --prefer-offline --yes copilotkit@4.25.0 onboard read framework/langgraph-fastapi`
190
+ 11. LangGraph TypeScript: `npx --prefer-offline --yes copilotkit@4.25.0 onboard read framework/langgraph-typescript`
191
+ 12. LlamaIndex: `npx --prefer-offline --yes copilotkit@4.25.0 onboard read framework/llamaindex`
192
+ 13. ADK: `npx --prefer-offline --yes copilotkit@4.25.0 onboard read framework/google-adk`
193
+ 14. Microsoft Agent Framework Python: `npx --prefer-offline --yes copilotkit@4.25.0 onboard read framework/ms-agent-python`
194
+ 15. Microsoft Agent Framework .NET: `npx --prefer-offline --yes copilotkit@4.25.0 onboard read framework/ms-agent-dotnet`
195
+ 16. Mastra: `npx --prefer-offline --yes copilotkit@4.25.0 onboard read framework/mastra`
196
+ 17. MS Agent Harness .NET: `npx --prefer-offline --yes copilotkit@4.25.0 onboard read framework/ms-agent-harness-dotnet`
197
+ 18. Pydantic AI: `npx --prefer-offline --yes copilotkit@4.25.0 onboard read framework/pydantic-ai`
198
+ 19. Strands Agents Python: `npx --prefer-offline --yes copilotkit@4.25.0 onboard read framework/strands-python`
199
+ 20. Strands Agents TypeScript: `npx --prefer-offline --yes copilotkit@4.25.0 onboard read framework/strands-typescript`
134
200
 
135
201
  If the project has an agent in another framework that does not speak AG-UI, or no
136
202
  listed framework fits, keep the developer's current agent and run
137
- `npx --prefer-offline --yes copilotkit@4.24.0 onboard read unsupported/no-validated-path`.
203
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard read unsupported/no-validated-path`.
@@ -21,7 +21,7 @@ The plan names the model credential variables. Run this from the directory that
21
21
  `environmentPath` in the project step's result, with one `--model-key` for each variable:
22
22
 
23
23
  ```text
24
- npx --prefer-offline --yes copilotkit@4.24.0 onboard credentials --model-key <variable> --json
24
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard credentials --model-key <variable> --json
25
25
  ```
26
26
 
27
27
  When the framework node names another env file for the credential, add
@@ -40,15 +40,17 @@ never prints a value. When every key settles, it protects the credential paths.
40
40
  list the copy under `Files the run writes itself`, not under `Authorization requested`.
41
41
  The developer's approval of the plan is their consent to the copy. After the approval,
42
42
  copy the key with the command that `next` names. It has this form:
43
- `npx --prefer-offline --yes copilotkit@4.24.0 onboard credentials --model-key <variable> --env-path <file> --copy-to <env file> --json`.
43
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard credentials --model-key <variable> --env-path <file> --copy-to <env file> --json`.
44
44
  It writes the key without printing it and protects the env file. Do not copy the key
45
45
  yourself, and do not write a `sed`, `grep`, or `cat` command for it. If you cannot run
46
46
  the command, for example because a sandbox refuses the path, ask the developer to run it.
47
47
  Give them exactly this one line, with `<app directory>` as the directory that holds
48
48
  `environmentPath`:
49
- `! cd <app directory> && npx --prefer-offline --yes copilotkit@4.24.0 onboard credentials --model-key <variable> --env-path <file> --copy-to <env file>`.
49
+ `! cd <app directory> && npx --prefer-offline --yes copilotkit@4.25.0 onboard credentials --model-key <variable> --env-path <file> --copy-to <env file>`.
50
50
  The command needs no input. Without `!`, they run the same command in a terminal.
51
- When they reply, run the same command with `--json` and read `copiedKeys`.
51
+ Report the pause with
52
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-model-credential`,
53
+ end your turn, and wait. When they reply, run the same command with `--json` and read `copiedKeys`.
52
54
  If the developer declines the copy, the plan has the app read the key from an
53
55
  environment variable that the developer sets. The plan then says how to set it. Never
54
56
  write the outside path into a project file, not even in a config file such as
@@ -78,4 +80,4 @@ Never read a file outside the project directory to find a credential: a key foun
78
80
  bills another project. Asking for a path is not requesting a secret. A path the developer
79
81
  names is theirs to give, including one outside the project. A path this run finds is not.
80
82
 
81
- Then run `npx --prefer-offline --yes copilotkit@4.24.0 onboard read credentials/write-plan`.
83
+ Then run `npx --prefer-offline --yes copilotkit@4.25.0 onboard read credentials/write-plan`.
@@ -11,7 +11,7 @@ friction command follows the telemetry setting the developer already chose, so i
11
11
  separate question.
12
12
 
13
13
  ```text
14
- npx --prefer-offline --yes copilotkit@4.24.0 onboard friction --phase stop --category <slug> --message "<sentences>"
14
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard friction --phase stop --category <slug> --message "<sentences>"
15
15
  ```
16
16
 
17
17
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -72,21 +72,21 @@ page is selected yet, add the one for the frontend selected above to the same li
72
72
  Native, so the planner proves the thread with `verify --round-trip` instead.
73
73
 
74
74
  Spawn one planning subagent. Tell it to run
75
- `npx --prefer-offline --yes copilotkit@4.24.0 onboard read subagent/create-plan` first and follow the prompt
76
- it returns. If that read fails because the subagent cannot use the shell, stop that subagent.
77
- Run the same command yourself, then spawn a fresh subagent with the returned prompt and the
78
- same handoff. Give it the repository findings, selected framework, frontend, model, credential
79
- variable names, selected documentation URLs, and documentation policy. Give it each finding
80
- that the framework route told you to record, such as how the agent connects or a `clone()`
81
- finding. Some of those rules, such as the `clone()` override, are on no documentation page.
82
- On a conversion, also give it the frozen criterion. Give the planning subagent the updated
83
- protected path list.
84
- Wait for the subagent to finish.
75
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard read subagent/create-plan` first and follow the
76
+ prompt it returns. Tell it to return at once, and say so, if that read is refused or fails,
77
+ and not to wait for an approval. If it returns that way, stop that subagent. Run the same
78
+ command yourself, then spawn a fresh subagent with the returned prompt and the same handoff.
79
+ Give it the repository findings, selected framework, frontend, model, credential variable
80
+ names, selected documentation URLs, and documentation policy. Give it each finding that the
81
+ framework route told you to record, such as how the agent connects or a `clone()` finding.
82
+ Some of those rules, such as the `clone()` override, are on no documentation page. On a
83
+ conversion, also give it the frozen criterion. Give the planning subagent the updated
84
+ protected path list. Wait for the subagent to finish.
85
85
 
86
86
  Continue only if the planning result starts with `Status: passed`. For `Status: failed`,
87
87
  send the result back to the planning subagent for repair, up to three attempts. For
88
88
  `Status: blocked`, or a third failed result, run
89
- `npx --prefer-offline --yes copilotkit@4.24.0 onboard read stopped/run-failed`. A plan this run cannot
89
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard read stopped/run-failed`. A plan this run cannot
90
90
  write is a run that broke, not a stack the documentation does not cover. The exception is
91
91
  a blocked result that names `unsupported/no-validated-path`: the planning subagent found
92
92
  that no page supports the plan, so take the no-supported-path route at the end of this
@@ -132,11 +132,11 @@ Before you end your turn to wait for the answer, report the pause, each time you
132
132
  plan:
133
133
 
134
134
  ```text
135
- npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase awaiting-plan-approval
135
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-plan-approval
136
136
  ```
137
137
 
138
138
  If the developer approves the plan, run
139
- `npx --prefer-offline --yes copilotkit@4.24.0 onboard read implementation/build-and-validate`.
139
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard read implementation/build-and-validate`.
140
140
 
141
141
  If no exact supported path or documentation URL exists, run
142
- `npx --prefer-offline --yes copilotkit@4.24.0 onboard read unsupported/no-validated-path`.
142
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard read unsupported/no-validated-path`.