copilotkit 4.13.0 → 4.14.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 (80) hide show
  1. package/README.md +109 -6
  2. package/cli-build-info.json +8 -8
  3. package/index.js +43866 -40955
  4. package/onboarding/index.json +1 -1
  5. package/onboarding/prompts/authenticate/start.md +38 -27
  6. package/onboarding/prompts/conversion/plan.md +3 -3
  7. package/onboarding/prompts/credentials/finalize-plan.md +14 -12
  8. package/onboarding/prompts/credentials/plan.md +21 -21
  9. package/onboarding/prompts/credentials/settle-credentials.md +18 -11
  10. package/onboarding/prompts/credentials/write-plan.md +19 -12
  11. package/onboarding/prompts/fallback/best-effort.md +9 -9
  12. package/onboarding/prompts/feature/a2ui/implement.md +6 -6
  13. package/onboarding/prompts/feature/a2ui/proof.md +6 -6
  14. package/onboarding/prompts/feature/a2ui/start.md +7 -7
  15. package/onboarding/prompts/feature/channels/implement.md +41 -15
  16. package/onboarding/prompts/feature/channels/proof.md +12 -10
  17. package/onboarding/prompts/feature/channels/start.md +13 -12
  18. package/onboarding/prompts/feature/chat-suggestions/implement.md +6 -6
  19. package/onboarding/prompts/feature/chat-suggestions/proof.md +6 -6
  20. package/onboarding/prompts/feature/chat-suggestions/start.md +7 -7
  21. package/onboarding/prompts/feature/complete.md +19 -1
  22. package/onboarding/prompts/feature/learning/implement.md +16 -16
  23. package/onboarding/prompts/feature/learning/proof.md +7 -7
  24. package/onboarding/prompts/feature/learning/start.md +8 -8
  25. package/onboarding/prompts/feature/open-generative-ui/implement.md +6 -6
  26. package/onboarding/prompts/feature/open-generative-ui/proof.md +6 -6
  27. package/onboarding/prompts/feature/open-generative-ui/start.md +7 -7
  28. package/onboarding/prompts/feature/realtime-sync/implement.md +7 -7
  29. package/onboarding/prompts/feature/realtime-sync/proof.md +6 -6
  30. package/onboarding/prompts/feature/realtime-sync/start.md +6 -6
  31. package/onboarding/prompts/feature/rich-threads/implement.md +10 -10
  32. package/onboarding/prompts/feature/rich-threads/proof.md +6 -6
  33. package/onboarding/prompts/feature/rich-threads/start.md +6 -6
  34. package/onboarding/prompts/feature/stop.md +36 -2
  35. package/onboarding/prompts/feature/voice/implement.md +7 -7
  36. package/onboarding/prompts/feature/voice/proof.md +6 -6
  37. package/onboarding/prompts/feature/voice/start.md +8 -8
  38. package/onboarding/prompts/framework/ag2.md +2 -2
  39. package/onboarding/prompts/framework/agno.md +2 -2
  40. package/onboarding/prompts/framework/built-in.md +2 -2
  41. package/onboarding/prompts/framework/claude-sdk-python.md +2 -2
  42. package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
  43. package/onboarding/prompts/framework/crewai-flows.md +2 -2
  44. package/onboarding/prompts/framework/deep-agents.md +2 -2
  45. package/onboarding/prompts/framework/google-adk.md +2 -2
  46. package/onboarding/prompts/framework/langgraph-fastapi.md +2 -2
  47. package/onboarding/prompts/framework/langgraph-python.md +2 -2
  48. package/onboarding/prompts/framework/langgraph-typescript.md +2 -2
  49. package/onboarding/prompts/framework/llamaindex.md +2 -2
  50. package/onboarding/prompts/framework/mastra.md +2 -2
  51. package/onboarding/prompts/framework/ms-agent-dotnet.md +2 -2
  52. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +2 -2
  53. package/onboarding/prompts/framework/ms-agent-python.md +2 -2
  54. package/onboarding/prompts/framework/pydantic-ai.md +2 -2
  55. package/onboarding/prompts/framework/strands-python.md +2 -2
  56. package/onboarding/prompts/framework/strands-typescript.md +2 -2
  57. package/onboarding/prompts/frontend/angular.md +3 -3
  58. package/onboarding/prompts/frontend/nextjs.md +3 -3
  59. package/onboarding/prompts/frontend/plan.md +7 -7
  60. package/onboarding/prompts/frontend/react-native.md +5 -2
  61. package/onboarding/prompts/frontend/react-spa.md +5 -2
  62. package/onboarding/prompts/frontend/vue.md +5 -2
  63. package/onboarding/prompts/implementation/build-and-validate.md +24 -23
  64. package/onboarding/prompts/proof/complete.md +8 -8
  65. package/onboarding/prompts/proof/oss-baseline.md +5 -5
  66. package/onboarding/prompts/proof/round-trip.md +11 -11
  67. package/onboarding/prompts/research/gather.md +36 -7
  68. package/onboarding/prompts/research/merge.md +3 -3
  69. package/onboarding/prompts/research/preflight.md +4 -4
  70. package/onboarding/prompts/research/route.md +10 -8
  71. package/onboarding/prompts/starter/clone.md +97 -26
  72. package/onboarding/prompts/stopped/run-failed.md +2 -2
  73. package/onboarding/prompts/subagent/create-plan.md +4 -4
  74. package/onboarding/prompts/subagent/implement-and-validate.md +26 -6
  75. package/onboarding/prompts/subagent/inspect-repository.md +2 -2
  76. package/onboarding/prompts/subagent/prove-oss-baseline.md +2 -2
  77. package/onboarding/prompts/subagent/prove-round-trip.md +10 -10
  78. package/onboarding/prompts/unsupported/no-validated-path.md +2 -2
  79. package/package.json +5 -1
  80. package/release/release-tool.js +330 -72
@@ -1,5 +1,5 @@
1
1
  {
2
- "graphTree": "4f56a5f7891360d7a7d73ae2fd1d3ed4d6753a8b",
2
+ "graphTree": "3bdef9cbf4b02632fc8dfaa2a5b51cde7a2269eb",
3
3
  "intentRoots": {
4
4
  "add-a2ui": "feature/a2ui/start",
5
5
  "add-chat-suggestions": "feature/chat-suggestions/start",
@@ -15,15 +15,11 @@ does is hidden from the developer.
15
15
  Run this before anything else in this prompt, including the welcome message below:
16
16
 
17
17
  ```text
18
- npx --yes copilotkit@4.13.0 onboard identify --coding-agent <coding-agent-slug>
18
+ npx --yes copilotkit@4.14.0 onboard identify --coding-agent <coding-agent-slug>
19
19
  ```
20
20
 
21
21
  Report your own product with one short slug, such as `codex` or `claude-code`.
22
22
 
23
- It runs first because it is how this run reports that it started working. It needs no
24
- browser, no session, and no project, so nothing below it can prevent it. Every rule after
25
- this point can stop a run instead.
26
-
27
23
  ## How to run this onboarding
28
24
 
29
25
  Act only as the orchestrator. Rely on subagents for all project work.
@@ -42,10 +38,10 @@ printed once.
42
38
  Every later command must run from the directory this run started in. A command run
43
39
  somewhere else is refused, because the run it belongs to cannot be found from there. That
44
40
  refusal is a step, not a stop to report: run
45
- `npx --yes copilotkit@4.13.0 onboard start --run <onboarding_run_id>` where you are
41
+ `npx --yes copilotkit@4.14.0 onboard start --run <onboarding_run_id>` where you are
46
42
  standing, then run the refused command again.
47
43
 
48
- If you no longer hold the id, run `npx --yes copilotkit@4.13.0 onboard start` in the
44
+ If you no longer hold the id, run `npx --yes copilotkit@4.14.0 onboard start` in the
49
45
  directory this run started in, with no `--run` and no `--intent`. It reprints the id of the
50
46
  run under way and starts nothing. An id this project does not already hold starts a second
51
47
  run, and the work already done stops counting toward the first.
@@ -80,6 +76,11 @@ integration is the long part of this run, and I work through it without you. You
80
76
  me next when the app is running and I hand you its URLs, or when something stops me and I
81
77
  tell you what it was.
82
78
 
79
+ If your harness makes the developer approve commands before they run, replace "you can walk
80
+ away" through "without you." with: "I will ask you to approve some commands while I build.
81
+ Keep this window open until the app runs." Decide this from your own approval policy, not
82
+ from your coding-agent slug.
83
+
83
84
  That message belongs to the run, not to this prompt. If you already sent it in this run, do
84
85
  not send it again, including on a second read of this prompt.
85
86
 
@@ -90,9 +91,8 @@ run says so once instead of asking again at each report.
90
91
 
91
92
  ## Where commands run
92
93
 
93
- Run every command from the directory this run started in. That directory is the run root,
94
- and every `--path` argument is read against it rather than against wherever you are
95
- standing, so one path names one file from anywhere in the project.
94
+ The directory this run started in is the run root. Every `--path` argument is read against
95
+ it, so one path names one file from anywhere in the project.
96
96
 
97
97
  One command is deliberately different. `project select` writes the credential into the
98
98
  `.env` beside the directory it runs in, because that is the file the application process
@@ -103,12 +103,12 @@ record to the repository root by itself and prints where it put it.
103
103
 
104
104
  This run reports its own stops. If you stop this run at any point, send one short report
105
105
  before you stop. That covers a stop this prompt names, a stop a later prompt names, and a
106
- stop no prompt anticipated, including one your own harness causes. Run the friction
107
- command without another developer question: it applies the telemetry setting the developer
108
- already set.
106
+ stop no prompt anticipated, including one your own harness causes. A turn that ends while
107
+ the run waits is a pause, not a stop, even when your harness ends it. Run the friction
108
+ command without another developer question.
109
109
 
110
110
  ```text
111
- npx --yes copilotkit@4.13.0 onboard friction --phase stop --category <slug>
111
+ npx --yes copilotkit@4.14.0 onboard friction --phase stop --category <slug>
112
112
  ```
113
113
 
114
114
  Write one or two sentences to standard input: the step you stopped at and what stopped it.
@@ -124,14 +124,14 @@ next: send the report, then stop.
124
124
 
125
125
  ## Check sign-in
126
126
 
127
- Run `npx --yes copilotkit@4.13.0 login --json` before any project work. This command
127
+ Run `npx --yes copilotkit@4.14.0 login --json` before any project work. This command
128
128
  checks the current session. It starts sign-in only as needed. Treat this as a long-lived
129
129
  streaming process. Do not wait for the command to exit before you read its standard output.
130
130
 
131
131
  Read each JSON Lines record as the running command writes it:
132
132
 
133
- 1. If the process emits `type: completed` without an `authentication_url`, continue. The
134
- existing session is valid and there is no page to open.
133
+ 1. If the process emits `type: completed` without an `authentication_url`, continue: the
134
+ existing session is valid.
135
135
  2. If the process emits `authentication_url`, read the first `authentication_url` without
136
136
  changing it. The process is still running.
137
137
  When that first URL arrives, send this exact message once. Do not send it when the
@@ -141,27 +141,38 @@ Read each JSON Lines record as the running command writes it:
141
141
  and its API key. That key is what lets your users reopen past conversations. You can
142
142
  remove it later to disconnect this workspace.
143
143
 
144
+ If it carries `user_code`, add: `Check that the page shows this code: <user_code>`.
145
+
144
146
  3. Open the first `authentication_url` exactly once with the operating system's default
145
- browser. Run the opener separately from the long-lived login process. Use the command
146
- for the host operating system:
147
+ browser. Your own built-in browser is not that opener and does not carry the session
148
+ the developer already signed in with. Run the opener separately from the long-lived
149
+ login process. Use the command for the host operating system:
147
150
  - macOS: `open "<authentication_url>"`
148
151
  - Linux: `xdg-open "<authentication_url>"`
149
152
  - Windows PowerShell: `Start-Process "<authentication_url>"`
150
- Replace the placeholder with the exact URL and pass it as one quoted argument. Do not
151
- append, remove, decode, or re-encode any part of it.
153
+ Pass the exact URL as one quoted argument, unchanged.
152
154
  4. If the matching opener is unavailable or exits with an error, show the clickable URL to
153
- the developer and ask them to finish sign-in there. Do not retry the opener.
155
+ the developer and ask them to finish sign-in there. Show any `user_code` too. The page
156
+ works from any device. Do not retry the opener.
154
157
  5. Keep monitoring the original login process after the open attempt. Do not start a
155
158
  second login command. Do not treat the opener command finishing as sign-in finishing.
156
159
  6. Continue onboarding only after that same process emits `type: completed`.
157
- 7. If that process emits `type: failed`, report the error and stop onboarding.
160
+ 7. On `type: failed` with `reason: expired`, ask once whether to retry. If yes, start one
161
+ new `login --json`.
162
+ 8. If that process emits `type: failed`, report the error and stop onboarding.
163
+
164
+ If your harness ends the login process or your turn before the process emits
165
+ `type: completed` or `type: failed`, that is a pause, not a failed sign-in. If the process
166
+ still runs, end your turn and wait for the developer to say they signed in, then read the
167
+ same process. If the process ended, run `login --json` again and handle a new
168
+ `authentication_url` as above. Step 5 forbids a second login only while the first one runs.
158
169
 
159
- Do not use `whoami` for this check. It has no JSON output and some failures exit with code
160
- zero. Do not put account tokens or credentials in the conversation.
170
+ Do not use `whoami` for this check. Do not put account tokens or credentials in the
171
+ conversation.
161
172
 
162
173
  When sign-in is settled, run
163
- `npx --yes copilotkit@4.13.0 onboard read research/gather`.
174
+ `npx --yes copilotkit@4.14.0 onboard read research/gather`.
164
175
 
165
176
  If sign-in stops onboarding, run
166
- `npx --yes copilotkit@4.13.0 onboard read stopped/run-failed`. It says nothing about
177
+ `npx --yes copilotkit@4.14.0 onboard read stopped/run-failed`. It says nothing about
167
178
  whether this project's stack is supported, which is not yet known at this point.
@@ -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 --yes copilotkit@4.13.0 verify --round-trip`, which sends a
103
+ fifth item is proved by `npx --yes copilotkit@4.14.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 --yes copilotkit@4.13.0 onboard read credentials/finalize-plan`.
119
+ Then run `npx --yes copilotkit@4.14.0 onboard read credentials/finalize-plan`.
120
120
 
121
121
  If a selected page does not load after the second method, run
122
- `npx --yes copilotkit@4.13.0 onboard read unsupported/no-validated-path`.
122
+ `npx --yes copilotkit@4.14.0 onboard read unsupported/no-validated-path`.
@@ -7,10 +7,11 @@ or frontend question here. Ask the developer only for choices that the repositor
7
7
  show. Do not change application code in this phase. Do not read, show, store, or request
8
8
  a secret value.
9
9
 
10
- Use a gentle wizard. Ask one short question at a time. Do not combine separate choices in
11
- one question. Put the recommendation first, give its evidence in one sentence, and keep
12
- the alternatives short. When project selection is unknown, ask only which project to
13
- use. Keep final plan approval as its own later question.
10
+ Use a gentle wizard. Ask one short question at a time. End your turn and wait for each
11
+ answer. Do not combine separate choices in one question. Put the recommendation first,
12
+ give its evidence in one sentence, and keep the alternatives short. When project selection
13
+ is unknown, ask only which project to use. Keep final plan approval a separate, later
14
+ question.
14
15
 
15
16
  ## If you stop in this phase
16
17
 
@@ -23,7 +24,7 @@ developer question. Do not ask the developer about telemetry: the command applie
23
24
  setting they already have.
24
25
 
25
26
  ```text
26
- npx --yes copilotkit@4.13.0 onboard friction --phase stop --category <slug>
27
+ npx --yes copilotkit@4.14.0 onboard friction --phase stop --category <slug>
27
28
  ```
28
29
 
29
30
  Write one or two sentences to standard input: the step you stopped at and what stopped it.
@@ -58,7 +59,7 @@ the command refuses one of them from a run that was served that node.
58
59
  Run this command with the exact selected slugs:
59
60
 
60
61
  ```text
61
- npx --yes copilotkit@4.13.0 onboard classify --starting-state <starting-state> --agent-framework <agent-framework> --frontend <frontend>
62
+ npx --yes copilotkit@4.14.0 onboard classify --starting-state <starting-state> --agent-framework <agent-framework> --frontend <frontend>
62
63
  ```
63
64
 
64
65
  Do not continue if a value is refused. Fix the value from the choices that the earlier
@@ -155,7 +156,7 @@ passes against the wrong one.
155
156
  Create it, from the target directory, passing the port research settled:
156
157
 
157
158
  ```text
158
- npx --yes copilotkit@4.13.0 project select --create <name> \
159
+ npx --yes copilotkit@4.14.0 project select --create <name> \
159
160
  --runtime-url http://localhost:<port>/api/copilotkit --json
160
161
  ```
161
162
 
@@ -173,13 +174,13 @@ Take this branch only when the developer asks for an existing project, or asks t
173
174
  projects they have. Read the choices:
174
175
 
175
176
  ```text
176
- npx --yes copilotkit@4.13.0 project list --json
177
+ npx --yes copilotkit@4.14.0 project list --json
177
178
  ```
178
179
 
179
180
  Narrow them:
180
181
 
181
182
  ```text
182
- npx --yes copilotkit@4.13.0 project list --search <query> --json
183
+ npx --yes copilotkit@4.14.0 project list --search <query> --json
183
184
  ```
184
185
 
185
186
  With `--json` the payload is the only thing on standard output, so it is safe to parse. Do
@@ -192,7 +193,7 @@ Then record the project they name, from the target directory, with the same
192
193
  `--runtime-url`:
193
194
 
194
195
  ```text
195
- npx --yes copilotkit@4.13.0 project select --project <slug-or-id> \
196
+ npx --yes copilotkit@4.14.0 project select --project <slug-or-id> \
196
197
  --runtime-url http://localhost:<port>/api/copilotkit --json
197
198
  ```
198
199
 
@@ -222,7 +223,8 @@ After project reuse or a warning-free selection result, send the environment
222
223
  research subagent a focused follow-up check. Give it the exact target app directory and both
223
224
  credential paths. Require it to report these facts without values:
224
225
 
225
- - The project-record path has non-empty `projectId`, `projectSlug`, and `clerkOrgId` fields.
226
+ - The project-record path has non-empty `projectId` and `projectSlug` fields. Unless
227
+ `COPILOTKIT_DEPLOYMENT` is `self-hosted`, it also has a non-empty `clerkOrgId` field.
226
228
  - The environment path has a non-empty `CPK_INTELLIGENCE_API_KEY` entry.
227
229
  - If project selection ran, its selected slug matches `projectSlug`.
228
230
  - If project selection ran, the `.env` file was created or its modification time advanced.
@@ -236,4 +238,4 @@ project-record path and environment path as the credential setup path list. Do n
236
238
  to the baseline yet.
237
239
 
238
240
  When project selection is settled, run
239
- `npx --yes copilotkit@4.13.0 onboard read credentials/settle-credentials`.
241
+ `npx --yes copilotkit@4.14.0 onboard read credentials/settle-credentials`.
@@ -20,7 +20,7 @@ If the target directory holds no project and the copied prompt came from the Sla
20
20
  Microsoft Teams docs page, do not ask the framework question. The Channel starter brings
21
21
  its own agent, so an answer here decides nothing. Tell the developer that the Channel
22
22
  starter decides the agent, then run
23
- `npx --yes copilotkit@4.13.0 onboard read frontend/plan`.
23
+ `npx --yes copilotkit@4.14.0 onboard read frontend/plan`.
24
24
 
25
25
  Use a gentle wizard. Ask one short question at a time. Do not combine separate choices in
26
26
  one question. Put the recommendation first, give its evidence in one sentence, and keep
@@ -74,26 +74,26 @@ another framework. Do not show the internal route.
74
74
 
75
75
  Use exactly one matching internal route:
76
76
 
77
- 1. AG2: `npx --yes copilotkit@4.13.0 onboard read framework/ag2`
78
- 2. Agno: `npx --yes copilotkit@4.13.0 onboard read framework/agno`
79
- 3. Built-in CopilotKit agent: `npx --yes copilotkit@4.13.0 onboard read framework/built-in`
80
- 4. Claude Agent SDK Python: `npx --yes copilotkit@4.13.0 onboard read framework/claude-sdk-python`
81
- 5. Claude Agent SDK TypeScript: `npx --yes copilotkit@4.13.0 onboard read framework/claude-sdk-typescript`
82
- 6. CrewAI Flows: `npx --yes copilotkit@4.13.0 onboard read framework/crewai-flows`
83
- 7. Deep Agents: `npx --yes copilotkit@4.13.0 onboard read framework/deep-agents`
84
- 8. LangGraph Python: `npx --yes copilotkit@4.13.0 onboard read framework/langgraph-python`
85
- 9. LangGraph FastAPI: `npx --yes copilotkit@4.13.0 onboard read framework/langgraph-fastapi`
86
- 10. LangGraph TypeScript: `npx --yes copilotkit@4.13.0 onboard read framework/langgraph-typescript`
87
- 11. LlamaIndex: `npx --yes copilotkit@4.13.0 onboard read framework/llamaindex`
88
- 12. ADK: `npx --yes copilotkit@4.13.0 onboard read framework/google-adk`
89
- 13. Microsoft Agent Framework Python: `npx --yes copilotkit@4.13.0 onboard read framework/ms-agent-python`
90
- 14. Microsoft Agent Framework .NET: `npx --yes copilotkit@4.13.0 onboard read framework/ms-agent-dotnet`
91
- 15. Mastra: `npx --yes copilotkit@4.13.0 onboard read framework/mastra`
92
- 16. MS Agent Harness .NET: `npx --yes copilotkit@4.13.0 onboard read framework/ms-agent-harness-dotnet`
93
- 17. Pydantic AI: `npx --yes copilotkit@4.13.0 onboard read framework/pydantic-ai`
94
- 18. Strands Agents Python: `npx --yes copilotkit@4.13.0 onboard read framework/strands-python`
95
- 19. Strands Agents TypeScript: `npx --yes copilotkit@4.13.0 onboard read framework/strands-typescript`
77
+ 1. AG2: `npx --yes copilotkit@4.14.0 onboard read framework/ag2`
78
+ 2. Agno: `npx --yes copilotkit@4.14.0 onboard read framework/agno`
79
+ 3. Built-in CopilotKit agent: `npx --yes copilotkit@4.14.0 onboard read framework/built-in`
80
+ 4. Claude Agent SDK Python: `npx --yes copilotkit@4.14.0 onboard read framework/claude-sdk-python`
81
+ 5. Claude Agent SDK TypeScript: `npx --yes copilotkit@4.14.0 onboard read framework/claude-sdk-typescript`
82
+ 6. CrewAI Flows: `npx --yes copilotkit@4.14.0 onboard read framework/crewai-flows`
83
+ 7. Deep Agents: `npx --yes copilotkit@4.14.0 onboard read framework/deep-agents`
84
+ 8. LangGraph Python: `npx --yes copilotkit@4.14.0 onboard read framework/langgraph-python`
85
+ 9. LangGraph FastAPI: `npx --yes copilotkit@4.14.0 onboard read framework/langgraph-fastapi`
86
+ 10. LangGraph TypeScript: `npx --yes copilotkit@4.14.0 onboard read framework/langgraph-typescript`
87
+ 11. LlamaIndex: `npx --yes copilotkit@4.14.0 onboard read framework/llamaindex`
88
+ 12. ADK: `npx --yes copilotkit@4.14.0 onboard read framework/google-adk`
89
+ 13. Microsoft Agent Framework Python: `npx --yes copilotkit@4.14.0 onboard read framework/ms-agent-python`
90
+ 14. Microsoft Agent Framework .NET: `npx --yes copilotkit@4.14.0 onboard read framework/ms-agent-dotnet`
91
+ 15. Mastra: `npx --yes copilotkit@4.14.0 onboard read framework/mastra`
92
+ 16. MS Agent Harness .NET: `npx --yes copilotkit@4.14.0 onboard read framework/ms-agent-harness-dotnet`
93
+ 17. Pydantic AI: `npx --yes copilotkit@4.14.0 onboard read framework/pydantic-ai`
94
+ 18. Strands Agents Python: `npx --yes copilotkit@4.14.0 onboard read framework/strands-python`
95
+ 19. Strands Agents TypeScript: `npx --yes copilotkit@4.14.0 onboard read framework/strands-typescript`
96
96
 
97
97
  If the project has an agent in another framework, or no listed framework fits, keep the
98
98
  developer's current agent and run
99
- `npx --yes copilotkit@4.13.0 onboard read unsupported/no-validated-path`.
99
+ `npx --yes copilotkit@4.14.0 onboard read unsupported/no-validated-path`.
@@ -11,7 +11,7 @@ friction command without another developer question. Do not ask the developer ab
11
11
  telemetry: the command applies the setting they already have.
12
12
 
13
13
  ```text
14
- npx --yes copilotkit@4.13.0 onboard friction --phase stop --category <slug>
14
+ npx --yes copilotkit@4.14.0 onboard friction --phase stop --category <slug>
15
15
  ```
16
16
 
17
17
  Write one or two sentences to standard input: the step you stopped at and what stopped it.
@@ -60,7 +60,7 @@ One container for this project is the default scope, so the id comes from the se
60
60
  project slug. Ask the CLI for it, from the target directory:
61
61
 
62
62
  ```text
63
- npx --yes copilotkit@4.13.0 learning containers default-id --json
63
+ npx --yes copilotkit@4.14.0 learning containers default-id --json
64
64
  ```
65
65
 
66
66
  The command reads the local project record. It needs no credential and makes no network
@@ -79,7 +79,7 @@ happened.
79
79
  Then ask the platform about that id, from the target directory:
80
80
 
81
81
  ```text
82
- npx --yes copilotkit@4.13.0 learning containers get <id> --json
82
+ npx --yes copilotkit@4.14.0 learning containers get <id> --json
83
83
  ```
84
84
 
85
85
  The read carries the same availability gate as the create, so it answers the entitlement
@@ -104,7 +104,7 @@ Never invent an id, scrape a dashboard, or treat an arbitrary string as a contai
104
104
  Report what the read found, before anything is planned:
105
105
 
106
106
  ```text
107
- npx --yes copilotkit@4.13.0 onboard checkpoint --phase container-surveyed
107
+ npx --yes copilotkit@4.14.0 onboard checkpoint --phase container-surveyed
108
108
  ```
109
109
 
110
110
  Carry the derived id into the planning subagent's handoff, with whether the platform
@@ -125,16 +125,23 @@ the developer to write the value into the project's env file themselves. A path
125
125
  developer names is theirs to give, including one outside the project. A path this run
126
126
  finds is not.
127
127
 
128
- If no answer comes, stop. Do not write a placeholder or an empty value. A scaffold
129
- carrying a dummy key looks finished and fails at the first model call, which is worse
130
- than stopping here.
128
+ Until the developer answers, the run waits. Report the pause and end your turn:
129
+
130
+ ```text
131
+ npx --yes copilotkit@4.14.0 onboard checkpoint --phase awaiting-developer
132
+ ```
133
+
134
+ This is a pause, not a stop. `research/gather` describes it under "Pausing vs stopping".
135
+ Do not send a stop report, and do not take a stop route. When the developer answers,
136
+ continue from this step. Do not write a placeholder or an empty value. A scaffold carrying
137
+ a dummy key looks finished and fails at the first model call.
131
138
 
132
139
  After model credential placement is complete, add each credential setup path to the
133
140
  protected path list. Also add each project file that the developer changed for model
134
141
  credentials. Record them in the baseline from the target app directory:
135
142
 
136
143
  ```text
137
- npx --yes copilotkit@4.13.0 onboard protect --path <path>
144
+ npx --yes copilotkit@4.14.0 onboard protect --path <path>
138
145
  ```
139
146
 
140
147
  Pass one `--path` for each. The command captures a digest for each path and never re-reads
@@ -148,7 +155,7 @@ Then re-capture the files this graph wrote itself. For each path the first captu
148
155
  as `deferred` that this run has now written, run:
149
156
 
150
157
  ```text
151
- npx --yes copilotkit@4.13.0 onboard protect --rebaseline --path <path>
158
+ npx --yes copilotkit@4.14.0 onboard protect --rebaseline --path <path>
152
159
  ```
153
160
 
154
161
  From that point they are protected like any other path, so a later step that rewrites
@@ -167,7 +174,7 @@ environment path. The command below is what to run at that point, from the targe
167
174
  directory:
168
175
 
169
176
  ```text
170
- npx --yes copilotkit@4.13.0 onboard protect --accept-credential --path <environment path>
177
+ npx --yes copilotkit@4.14.0 onboard protect --accept-credential --path <environment path>
171
178
  ```
172
179
 
173
180
  The command compares the variable names the baseline recorded with the names the file holds
@@ -182,4 +189,4 @@ now. Read its result:
182
189
  is not a failed step. It answers the question and the run carries on.
183
190
 
184
191
  When the credential question is answered, run
185
- `npx --yes copilotkit@4.13.0 onboard read credentials/write-plan`.
192
+ `npx --yes copilotkit@4.14.0 onboard read credentials/write-plan`.
@@ -1,8 +1,8 @@
1
1
  # Write the plan and get it approved
2
2
 
3
3
  The project and its credentials are settled. This phase wires the runtime, has a
4
- subagent write the plan, and asks the developer to approve it. This is the last thing
5
- the run needs from them.
4
+ subagent write the plan, and asks the developer to approve it. This is the last question
5
+ the run asks them.
6
6
 
7
7
  ## If you stop in this phase
8
8
 
@@ -11,7 +11,7 @@ friction command without another developer question. Do not ask the developer ab
11
11
  telemetry: the command applies the setting they already have.
12
12
 
13
13
  ```text
14
- npx --yes copilotkit@4.13.0 onboard friction --phase stop --category <slug>
14
+ npx --yes copilotkit@4.14.0 onboard friction --phase stop --category <slug>
15
15
  ```
16
16
 
17
17
  Write one or two sentences to standard input: the step you stopped at and what stopped it.
@@ -52,7 +52,7 @@ proof subagents:
52
52
  Fetch them together with the pages already selected rather than on their own.
53
53
 
54
54
  Spawn one planning subagent. Tell it to run
55
- `npx --yes copilotkit@4.13.0 onboard read subagent/create-plan` first and follow the prompt
55
+ `npx --yes copilotkit@4.14.0 onboard read subagent/create-plan` first and follow the prompt
56
56
  it returns. If that read fails because the subagent cannot use the shell, stop that subagent.
57
57
  Run the same command yourself, then spawn a fresh subagent with the returned prompt and the
58
58
  same handoff. Give it the repository findings, selected framework, frontend, model, credential
@@ -63,7 +63,7 @@ Wait for the subagent to finish.
63
63
  Continue only if the planning result starts with `Status: passed`. For `Status: failed`,
64
64
  send the result back to the planning subagent for repair, up to three attempts. For
65
65
  `Status: blocked`, or a third failed result, run
66
- `npx --yes copilotkit@4.13.0 onboard read stopped/run-failed`. A plan this run cannot
66
+ `npx --yes copilotkit@4.14.0 onboard read stopped/run-failed`. A plan this run cannot
67
67
  write is a run that broke, not a stack the documentation does not cover. Do not show or
68
68
  ask for approval of a non-pass plan.
69
69
 
@@ -93,14 +93,21 @@ approve rather than in the implementation that follows. Do not upgrade a depende
93
93
  developer did not approve.
94
94
 
95
95
  When you ask for approval, tell the developer in one line that this is the last thing you
96
- need from them, and that they can leave the run once they approve. That is a fact about
97
- this graph rather than a reassurance: no step after approval asks the developer a question,
98
- and the steps that follow are the longest ones in the run. A developer who does not know
99
- that waits at the terminal through all of them for a question that never comes. Say it in
100
- the same message as the plan, and do not turn it into a second question.
96
+ need from them, and, unless your harness makes the developer approve commands before they
97
+ run, that they can leave the run once they approve. That is a fact about this graph rather
98
+ than a reassurance: no step after approval asks the developer a question, and the steps
99
+ that follow are the longest ones in the run. A developer who does not know that waits at
100
+ the terminal through all of them for a question that never comes. Say it in the same
101
+ message as the plan, and do not turn it into a second question.
102
+
103
+ A command-approval prompt from your harness is not a question from this graph, but the
104
+ build still stops at each one until the developer answers. If your harness raises them,
105
+ replace the leave line with this one: "I will ask you to approve some commands while I
106
+ build. Keep this window open until the app runs." Decide from your own approval policy,
107
+ as the welcome did, not from your coding-agent slug.
101
108
 
102
109
  If the developer approves the plan, run
103
- `npx --yes copilotkit@4.13.0 onboard read implementation/build-and-validate`.
110
+ `npx --yes copilotkit@4.14.0 onboard read implementation/build-and-validate`.
104
111
 
105
112
  If no exact supported path or documentation URL exists, run
106
- `npx --yes copilotkit@4.13.0 onboard read unsupported/no-validated-path`.
113
+ `npx --yes copilotkit@4.14.0 onboard read unsupported/no-validated-path`.
@@ -14,7 +14,7 @@ command without another developer question. Do not ask the developer about telem
14
14
  command applies the setting they already have.
15
15
 
16
16
  ```text
17
- npx --yes copilotkit@4.13.0 onboard friction --phase stop --category <slug>
17
+ npx --yes copilotkit@4.14.0 onboard friction --phase stop --category <slug>
18
18
  ```
19
19
 
20
20
  Write one or two sentences to standard input: the step you stopped at and what stopped it.
@@ -55,18 +55,18 @@ Use these rules for the implementation result:
55
55
  2. For `Status: failed`, retry the same subagent with its evidence. Make at most three attempts.
56
56
  3. For `Status: blocked`, stop onboarding. Report the blocker.
57
57
 
58
- After a third failed result, stop. When a fix needs changes to the existing agent or frontend,
59
- stop.
58
+ After a third failed result, stop onboarding. When a fix needs changes to the existing agent
59
+ or frontend, stop onboarding.
60
60
 
61
61
  Use these rules for every protected-path check in this fallback:
62
62
 
63
- - Run `npx --yes copilotkit@4.13.0 onboard audit` from the target app directory.
63
+ - Run `npx --yes copilotkit@4.14.0 onboard audit` from the target app directory.
64
64
  - If a result starts with `Status: blocked`, stop onboarding and report the printed reason.
65
65
  It proved nothing changed, so do not report a preservation failure.
66
66
  - If a result reports a changed protected path this run wrote, stop onboarding.
67
67
  - If a result reports a changed path that no Files changed section from this run names,
68
68
  the change came from outside the run. Accept it by name with
69
- `npx --yes copilotkit@4.13.0 onboard protect --accept-external --path <path>`, run the
69
+ `npx --yes copilotkit@4.14.0 onboard protect --accept-external --path <path>`, run the
70
70
  audit again, and name it in the closing report.
71
71
  - If no Files changed section from this run covers the step that wrote it, stop
72
72
  onboarding. The proof subagent here returns no such section, so a finding it raises is
@@ -94,7 +94,7 @@ Wait for the proof subagent to finish. For `Status: blocked`, stop onboarding an
94
94
  blocker. For `Status: failed`, classify the cause before retrying.
95
95
 
96
96
  Retry the proof worker only for a project-owned process, port, or request-option failure.
97
- Give it the failure evidence and wait after each attempt. Stop after three failed attempts.
97
+ Give it the failure evidence and wait after each attempt. After three failed attempts, stop onboarding.
98
98
 
99
99
  For a source, configuration, dependency, or tracked-file defect, send the evidence to the
100
100
  implementation subagent. Require the repair and full validation. Wait for the repair to
@@ -119,13 +119,13 @@ application passes proof. Report each tool result separately from the proof resu
119
119
  Report the documentation gap and each assumption with the proof evidence. Do not claim
120
120
  that the selected documentation proved an inferred step.
121
121
 
122
- When the proof is complete, run `npx --yes copilotkit@4.13.0 onboard complete`, carrying the
122
+ When the proof is complete, run `npx --yes copilotkit@4.14.0 onboard complete`, carrying the
123
123
  surface-check result the proof subagent returned. Pass exactly one flag, matching this
124
124
  journey's surface:
125
125
 
126
126
  ```text
127
- npx --yes copilotkit@4.13.0 onboard complete --visual-check <outcome>
128
- npx --yes copilotkit@4.13.0 onboard complete --device-check <outcome>
127
+ npx --yes copilotkit@4.14.0 onboard complete --visual-check <outcome>
128
+ npx --yes copilotkit@4.14.0 onboard complete --device-check <outcome>
129
129
  ```
130
130
 
131
131
  `--visual-check` is for a web frontend and takes `performed`, `skipped-no-browser-tool`, or
@@ -18,7 +18,7 @@ without exposing secrets.
18
18
  After validation and each repair, run:
19
19
 
20
20
  ```text
21
- npx --yes copilotkit@4.13.0 onboard audit
21
+ npx --yes copilotkit@4.14.0 onboard audit
22
22
  ```
23
23
 
24
24
  Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
@@ -29,7 +29,7 @@ with the implementation subagent's `Files changed` section. If that section does
29
29
  the path, accept the developer's external change:
30
30
 
31
31
  ```text
32
- npx --yes copilotkit@4.13.0 onboard protect --accept-external --path <path>
32
+ npx --yes copilotkit@4.14.0 onboard protect --accept-external --path <path>
33
33
  ```
34
34
 
35
35
  For an env file where the developer placed a requested credential, use
@@ -38,24 +38,24 @@ or its report does not settle who changed it, ask the developer to allow the unp
38
38
  change. Only after they agree, record their answer:
39
39
 
40
40
  ```text
41
- npx --yes copilotkit@4.13.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
41
+ npx --yes copilotkit@4.14.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
42
42
  ```
43
43
 
44
44
  Run the audit again after each accepted or authorized change. If it still fails, or starts
45
45
  with `Status: blocked`, route out and stop:
46
46
 
47
47
  ```text
48
- npx --yes copilotkit@4.13.0 onboard read feature/stop
48
+ npx --yes copilotkit@4.14.0 onboard read feature/stop
49
49
  ```
50
50
 
51
51
  When implementation validation passes, report it:
52
52
 
53
53
  ```text
54
- npx --yes copilotkit@4.13.0 onboard checkpoint --phase build-validated
54
+ npx --yes copilotkit@4.14.0 onboard checkpoint --phase build-validated
55
55
  ```
56
56
 
57
57
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
58
58
  the feature stop route above without further changes.
59
59
 
60
60
  Otherwise run
61
- `npx --yes copilotkit@4.13.0 onboard read feature/a2ui/proof`.
61
+ `npx --yes copilotkit@4.14.0 onboard read feature/a2ui/proof`.
@@ -19,23 +19,23 @@ user's agent response with a hard-coded UI.
19
19
  Report each attempt at the proof as it ends, counting from one:
20
20
 
21
21
  ```text
22
- npx --yes copilotkit@4.13.0 onboard checkpoint --phase journey-attempted --attempt 1
22
+ npx --yes copilotkit@4.14.0 onboard checkpoint --phase journey-attempted --attempt 1
23
23
  ```
24
24
 
25
25
  Report each repair cycle the same way, counting from one:
26
26
 
27
27
  ```text
28
- npx --yes copilotkit@4.13.0 onboard checkpoint --phase repair-attempted --attempt 1
28
+ npx --yes copilotkit@4.14.0 onboard checkpoint --phase repair-attempted --attempt 1
29
29
  ```
30
30
 
31
31
  After the final attempt, report the gate exactly once:
32
32
 
33
33
  ```text
34
- npx --yes copilotkit@4.13.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
34
+ npx --yes copilotkit@4.14.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
35
35
  ```
36
36
 
37
37
  Use `passed` only for a proved A2UI surface, `failed` for an attempted proof that failed,
38
- and `skipped` when the proof could not run. Then run `npx --yes copilotkit@4.13.0 onboard audit`.
38
+ and `skipped` when the proof could not run. Then run `npx --yes copilotkit@4.14.0 onboard audit`.
39
39
  Continue only when it starts with `Status: passed`.
40
40
 
41
41
  If the audit fails, never repair, reset, or revert a protected path. Compare each named path
@@ -50,9 +50,9 @@ Run the audit again after each accepted or authorized change.
50
50
  If the audit still fails, or starts with `Status: blocked`, route out and stop:
51
51
 
52
52
  ```text
53
- npx --yes copilotkit@4.13.0 onboard read feature/stop
53
+ npx --yes copilotkit@4.14.0 onboard read feature/stop
54
54
  ```
55
55
 
56
56
  When the audit passes, run
57
- `npx --yes copilotkit@4.13.0 onboard read feature/complete` with the actual browser-proof
57
+ `npx --yes copilotkit@4.14.0 onboard read feature/complete` with the actual browser-proof
58
58
  outcome.