copilotkit 4.11.0 → 4.13.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 (82) hide show
  1. package/LICENSE +11 -0
  2. package/README.md +155 -12
  3. package/cli-build-info.json +8 -8
  4. package/index.js +5969 -4751
  5. package/onboarding/index.json +27 -2
  6. package/onboarding/prompts/authenticate/start.md +45 -38
  7. package/onboarding/prompts/conversion/plan.md +3 -3
  8. package/onboarding/prompts/credentials/finalize-plan.md +14 -13
  9. package/onboarding/prompts/credentials/plan.md +26 -20
  10. package/onboarding/prompts/credentials/settle-credentials.md +55 -23
  11. package/onboarding/prompts/credentials/write-plan.md +19 -6
  12. package/onboarding/prompts/fallback/best-effort.md +6 -6
  13. package/onboarding/prompts/feature/a2ui/implement.md +7 -7
  14. package/onboarding/prompts/feature/a2ui/proof.md +6 -6
  15. package/onboarding/prompts/feature/a2ui/start.md +10 -8
  16. package/onboarding/prompts/feature/blocked-by-plan.md +32 -0
  17. package/onboarding/prompts/feature/channels/implement.md +68 -13
  18. package/onboarding/prompts/feature/channels/proof.md +13 -6
  19. package/onboarding/prompts/feature/channels/start.md +30 -11
  20. package/onboarding/prompts/feature/chat-suggestions/implement.md +7 -7
  21. package/onboarding/prompts/feature/chat-suggestions/proof.md +6 -6
  22. package/onboarding/prompts/feature/chat-suggestions/start.md +10 -8
  23. package/onboarding/prompts/feature/complete.md +1 -1
  24. package/onboarding/prompts/feature/learning/implement.md +73 -14
  25. package/onboarding/prompts/feature/learning/proof.md +10 -9
  26. package/onboarding/prompts/feature/learning/start.md +61 -7
  27. package/onboarding/prompts/feature/open-generative-ui/implement.md +7 -7
  28. package/onboarding/prompts/feature/open-generative-ui/proof.md +6 -6
  29. package/onboarding/prompts/feature/open-generative-ui/start.md +10 -8
  30. package/onboarding/prompts/feature/realtime-sync/implement.md +8 -8
  31. package/onboarding/prompts/feature/realtime-sync/proof.md +6 -6
  32. package/onboarding/prompts/feature/realtime-sync/start.md +9 -7
  33. package/onboarding/prompts/feature/rich-threads/implement.md +9 -9
  34. package/onboarding/prompts/feature/rich-threads/proof.md +6 -6
  35. package/onboarding/prompts/feature/rich-threads/start.md +9 -7
  36. package/onboarding/prompts/feature/stop.md +2 -2
  37. package/onboarding/prompts/feature/voice/implement.md +7 -7
  38. package/onboarding/prompts/feature/voice/proof.md +6 -6
  39. package/onboarding/prompts/feature/voice/start.md +10 -8
  40. package/onboarding/prompts/framework/ag2.md +2 -2
  41. package/onboarding/prompts/framework/agno.md +2 -2
  42. package/onboarding/prompts/framework/built-in.md +4 -2
  43. package/onboarding/prompts/framework/claude-sdk-python.md +2 -2
  44. package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
  45. package/onboarding/prompts/framework/crewai-flows.md +2 -2
  46. package/onboarding/prompts/framework/deep-agents.md +5 -2
  47. package/onboarding/prompts/framework/google-adk.md +4 -2
  48. package/onboarding/prompts/framework/langgraph-fastapi.md +4 -3
  49. package/onboarding/prompts/framework/langgraph-python.md +6 -2
  50. package/onboarding/prompts/framework/langgraph-typescript.md +6 -2
  51. package/onboarding/prompts/framework/llamaindex.md +2 -2
  52. package/onboarding/prompts/framework/mastra.md +4 -2
  53. package/onboarding/prompts/framework/ms-agent-dotnet.md +4 -2
  54. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +2 -2
  55. package/onboarding/prompts/framework/ms-agent-python.md +4 -2
  56. package/onboarding/prompts/framework/pydantic-ai.md +2 -2
  57. package/onboarding/prompts/framework/strands-python.md +4 -2
  58. package/onboarding/prompts/framework/strands-typescript.md +4 -2
  59. package/onboarding/prompts/frontend/angular.md +5 -5
  60. package/onboarding/prompts/frontend/nextjs.md +4 -4
  61. package/onboarding/prompts/frontend/plan.md +21 -10
  62. package/onboarding/prompts/frontend/react-native.md +2 -2
  63. package/onboarding/prompts/frontend/react-spa.md +2 -2
  64. package/onboarding/prompts/frontend/vue.md +2 -2
  65. package/onboarding/prompts/implementation/build-and-validate.md +39 -16
  66. package/onboarding/prompts/proof/complete.md +35 -15
  67. package/onboarding/prompts/proof/oss-baseline.md +5 -5
  68. package/onboarding/prompts/proof/round-trip.md +23 -12
  69. package/onboarding/prompts/research/gather.md +33 -91
  70. package/onboarding/prompts/research/merge.md +60 -0
  71. package/onboarding/prompts/research/preflight.md +75 -0
  72. package/onboarding/prompts/research/route.md +49 -4
  73. package/onboarding/prompts/starter/clone.md +5 -5
  74. package/onboarding/prompts/stopped/run-failed.md +30 -1
  75. package/onboarding/prompts/subagent/create-plan.md +24 -1
  76. package/onboarding/prompts/subagent/implement-and-validate.md +32 -1
  77. package/onboarding/prompts/subagent/inspect-repository.md +43 -16
  78. package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
  79. package/onboarding/prompts/subagent/prove-round-trip.md +37 -10
  80. package/onboarding/prompts/unsupported/no-validated-path.md +2 -2
  81. package/package.json +7 -3
  82. package/release/release-tool.js +1 -1
@@ -2,10 +2,10 @@
2
2
 
3
3
  Preserve an existing Angular frontend. Use the selected page for a new frontend.
4
4
 
5
- Use the starter shortcut only if all these facts are true: the target directory contains
6
- no entries, its name is a valid `init` project name, and the selected framework is ADK.
5
+ Use the starter shortcut only if all these facts are true: the target directory holds no
6
+ project, its name is a valid `init` project name, and the selected framework is ADK.
7
7
  If all three facts are true, record Angular as the selected frontend. Then run
8
- `npx --yes copilotkit@4.11.0 onboard read starter/clone` before you fetch documentation.
8
+ `npx --yes copilotkit@4.13.0 onboard read starter/clone` before you fetch documentation.
9
9
 
10
10
  ## Documentation
11
11
 
@@ -63,7 +63,7 @@ you create or build an Angular project. If the installed version is lower, selec
63
63
  supported version first and use it for every later command in this project.
64
64
 
65
65
  If the pages support the selection, record Angular and these URLs. Then run
66
- `npx --yes copilotkit@4.11.0 onboard read credentials/finalize-plan`.
66
+ `npx --yes copilotkit@4.13.0 onboard read credentials/finalize-plan`.
67
67
 
68
68
  If the documentation does not support the selection, or the two version lines do not fit
69
- together, run `npx --yes copilotkit@4.11.0 onboard read unsupported/no-validated-path`.
69
+ together, run `npx --yes copilotkit@4.13.0 onboard read unsupported/no-validated-path`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Preserve an existing Next.js frontend. Use the selected pages for a new frontend.
4
4
 
5
- Use the starter shortcut only if the target directory contains no entries and its name is
5
+ Use the starter shortcut only if the target directory holds no project and its name is
6
6
  a valid `init` project name. The selected framework must also match one of these options.
7
7
 
8
8
  These Python options have Next.js starters: Agno, Claude Agent SDK Python, CrewAI Flows,
@@ -15,7 +15,7 @@ These TypeScript options have starters: Claude Agent SDK TypeScript, LangGraph T
15
15
  Mastra, and Strands Agents TypeScript. The .NET option is Microsoft Agent Framework .NET.
16
16
 
17
17
  If all shortcut conditions are true, record Next.js as the selected frontend. Then run
18
- `npx --yes copilotkit@4.11.0 onboard read starter/clone` before you fetch documentation.
18
+ `npx --yes copilotkit@4.13.0 onboard read starter/clone` before you fetch documentation.
19
19
 
20
20
  ## Documentation
21
21
 
@@ -27,7 +27,7 @@ agent as the default agent, which is correct only for a project that has no agen
27
27
  Do not replace the developer's existing agent with the built-in agent.
28
28
 
29
29
  If the page supports the selection, record Next.js and this URL. Then run
30
- `npx --yes copilotkit@4.11.0 onboard read credentials/finalize-plan`.
30
+ `npx --yes copilotkit@4.13.0 onboard read credentials/finalize-plan`.
31
31
 
32
32
  If the documentation does not support the selection, run
33
- `npx --yes copilotkit@4.11.0 onboard read unsupported/no-validated-path`.
33
+ `npx --yes copilotkit@4.13.0 onboard read unsupported/no-validated-path`.
@@ -1,5 +1,19 @@
1
1
  # Select the frontend
2
2
 
3
+ ## A named Channel decides this node
4
+
5
+ If the developer already named Slack or Microsoft Teams, use that choice.
6
+ If the copied prompt came from a Slack or Teams docs page, use that page as the named frontend.
7
+
8
+ Either one is final here. Do not ask the frontend question on that run. Do not let an
9
+ existing frontend take a web route instead: the project keeps the frontend it has, and the
10
+ Channel is what this run adds. Take the Slack or Microsoft Teams route below and name the
11
+ provider to it. A Slack page names Slack. A Teams page names Teams.
12
+
13
+ Every rule below is for a run that named neither.
14
+
15
+ ## Select the frontend from the findings
16
+
3
17
  Use the repository findings to select the frontend. Ask the developer only for choices
4
18
  that the repository does not show. Do not change application code in this phase.
5
19
 
@@ -9,9 +23,6 @@ the alternatives short. When the frontend is unknown, use this rule: Ask one fro
9
23
  question that lists the recommendation and valid choices. Do not ask a yes-or-no question
10
24
  first. Do not ask about the model or project in this step.
11
25
 
12
- If the developer already named Slack or Microsoft Teams, use that choice.
13
- If the copied prompt came from a Slack or Teams docs page, use that page as the named frontend.
14
-
15
26
  If the project has a frontend, preserve it and use the matching route below. If the project
16
27
  needs a frontend, show the valid choices and one recommendation based on repository
17
28
  evidence, then ask the developer to choose.
@@ -25,15 +36,15 @@ CopilotKit web apps. Then recommend the one the developer names, and say what ea
25
36
 
26
37
  Use exactly one matching internal route:
27
38
 
28
- 1. React SPA: `npx --yes copilotkit@4.11.0 onboard read frontend/react-spa`
29
- 2. Next.js: `npx --yes copilotkit@4.11.0 onboard read frontend/nextjs`
30
- 3. Angular: `npx --yes copilotkit@4.11.0 onboard read frontend/angular`
31
- 4. Vue 3: `npx --yes copilotkit@4.11.0 onboard read frontend/vue`
32
- 5. React Native: `npx --yes copilotkit@4.11.0 onboard read frontend/react-native`
33
- 6. Slack or Microsoft Teams: `npx --yes copilotkit@4.11.0 onboard read feature/channels/start`
39
+ 1. React SPA: `npx --yes copilotkit@4.13.0 onboard read frontend/react-spa`
40
+ 2. Next.js: `npx --yes copilotkit@4.13.0 onboard read frontend/nextjs`
41
+ 3. Angular: `npx --yes copilotkit@4.13.0 onboard read frontend/angular`
42
+ 4. Vue 3: `npx --yes copilotkit@4.13.0 onboard read frontend/vue`
43
+ 5. React Native: `npx --yes copilotkit@4.13.0 onboard read frontend/react-native`
44
+ 6. Slack or Microsoft Teams: `npx --yes copilotkit@4.13.0 onboard read feature/channels/start`
34
45
 
35
46
  If they chose Slack or Microsoft Teams, tell that node which one they chose so it
36
47
  does not ask again.
37
48
 
38
49
  If no listed frontend fits, run
39
- `npx --yes copilotkit@4.11.0 onboard read unsupported/no-validated-path`.
50
+ `npx --yes copilotkit@4.13.0 onboard read unsupported/no-validated-path`.
@@ -15,7 +15,7 @@ documents `useRenderTool`, which is React Native's own hook for drawing a tool t
15
15
  already has. That is a different job and needs a tool in the agent.
16
16
 
17
17
  If the pages support the selection, record React Native and these URLs. Then run
18
- `npx --yes copilotkit@4.11.0 onboard read credentials/finalize-plan`.
18
+ `npx --yes copilotkit@4.13.0 onboard read credentials/finalize-plan`.
19
19
 
20
20
  If the documentation does not support the selection, run
21
- `npx --yes copilotkit@4.11.0 onboard read unsupported/no-validated-path`.
21
+ `npx --yes copilotkit@4.13.0 onboard read unsupported/no-validated-path`.
@@ -11,7 +11,7 @@ not move the agent into it.
11
11
  - https://docs.copilotkit.ai/react-spa.md
12
12
 
13
13
  If the page supports the selection, record React SPA and this URL. Then run
14
- `npx --yes copilotkit@4.11.0 onboard read credentials/finalize-plan`.
14
+ `npx --yes copilotkit@4.13.0 onboard read credentials/finalize-plan`.
15
15
 
16
16
  If the documentation does not support the selection, run
17
- `npx --yes copilotkit@4.11.0 onboard read unsupported/no-validated-path`.
17
+ `npx --yes copilotkit@4.13.0 onboard read unsupported/no-validated-path`.
@@ -16,7 +16,7 @@ page above. Vue has its own `useComponent`, which is not the React package. Take
16
16
  that reference page rather than from a Vue generative-UI guide, which is not published.
17
17
 
18
18
  If the pages support the selection, record Vue 3 and these URLs. Then run
19
- `npx --yes copilotkit@4.11.0 onboard read credentials/finalize-plan`.
19
+ `npx --yes copilotkit@4.13.0 onboard read credentials/finalize-plan`.
20
20
 
21
21
  If the documentation does not support the selection, run
22
- `npx --yes copilotkit@4.11.0 onboard read unsupported/no-validated-path`.
22
+ `npx --yes copilotkit@4.13.0 onboard read unsupported/no-validated-path`.
@@ -12,7 +12,7 @@ command without another developer question. Do not ask the developer about telem
12
12
  command applies the setting they already have.
13
13
 
14
14
  ```text
15
- npx --yes copilotkit@4.11.0 onboard friction --phase stop --category <slug>
15
+ npx --yes copilotkit@4.13.0 onboard friction --phase stop --category <slug>
16
16
  ```
17
17
 
18
18
  Write one or two sentences to standard input: the step you stopped at and what stopped it.
@@ -36,6 +36,16 @@ plan said, what you did instead, and why. Carry that record into the closing sum
36
36
  which has an item for it. Do not stop for a departure that is the right call, and do not
37
37
  leave it unrecorded either.
38
38
 
39
+ The existing agent's behavior is never a departure to record and carry on from. It is four
40
+ things: its system prompt and instructions, its tools and what those tools do, its model
41
+ and provider configuration, and its memory or state handling. Repair a failing check on
42
+ the CopilotKit side first -- the frontend rendering, the tool schema, the runtime wiring.
43
+ Where the only fix you can find is a change to the agent's instructions or tools, stop:
44
+ report the failing predicate and the change you propose, and continue only after the
45
+ developer approves it. An approved change is a behavior change, and the closing report
46
+ names it as one. Never call a change to the agent's instructions or tools a repair. If you
47
+ cannot ask, or the developer declines, use the route-out rules below.
48
+
39
49
  ## Authorization requested by the plan
40
50
 
41
51
  Approving the plan is the developer agreeing to every path it listed under
@@ -43,19 +53,24 @@ Approving the plan is the developer agreeing to every path it listed under
43
53
  app directory:
44
54
 
45
55
  ```text
46
- npx --yes copilotkit@4.11.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
56
+ npx --yes copilotkit@4.13.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
47
57
  ```
48
58
 
49
59
  Consent has to be on the record before the file moves, so a call made after the change is
50
60
  refused. Continue only if every result starts with `Status: passed`. If the plan listed
51
61
  nothing there, skip this section.
52
62
 
63
+ What you record here covers changing the file. It does not cover removing it. Never delete,
64
+ move, or rename a protected path, whatever the plan says: the audit fails a path that is
65
+ gone even when consent was recorded for it, and no command clears that. If a step cannot
66
+ proceed without removing one, route out and report the path.
67
+
53
68
  If a path the plan listed has already changed, the developer changed it after the capture.
54
69
  No implementation step has run yet, so the change is theirs rather than this run's. Record
55
70
  consent over it by adding one flag:
56
71
 
57
72
  ```text
58
- npx --yes copilotkit@4.11.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>" --with-prior-change
73
+ npx --yes copilotkit@4.13.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>" --with-prior-change
59
74
  ```
60
75
 
61
76
  The flag records their change as drift beside the consent, so the closing report names both
@@ -74,7 +89,7 @@ rather than this section.
74
89
  Run the audit from the target app directory:
75
90
 
76
91
  ```text
77
- npx --yes copilotkit@4.11.0 onboard audit
92
+ npx --yes copilotkit@4.13.0 onboard audit
78
93
  ```
79
94
 
80
95
  It compares every protected path with the digest the CLI captured for it. Its result starts
@@ -87,7 +102,7 @@ answers the same.
87
102
 
88
103
  Decide each path the audit names, one at a time.
89
104
 
90
- A path the audit lists under `Authorized to change:` is not a finding. The developer approved
105
+ A path the audit lists under `Authorized to modify:` is not a finding. The developer approved
91
106
  it, the record says why, and the audit reports it rather than failing on it. Carry it into the
92
107
  summary with its reason. Nothing else is needed for it.
93
108
 
@@ -109,14 +124,14 @@ A path that no Files changed section names changed outside the run, and it is th
109
124
  developer's own file. Accept it by name:
110
125
 
111
126
  ```text
112
- npx --yes copilotkit@4.11.0 onboard protect --accept-external --path <path>
127
+ npx --yes copilotkit@4.13.0 onboard protect --accept-external --path <path>
113
128
  ```
114
129
 
115
130
  A changed env file is its own case. This run asked the developer to place a credential
116
131
  there, so it takes the credential route rather than this one:
117
132
 
118
133
  ```text
119
- npx --yes copilotkit@4.11.0 onboard protect --accept-credential --path <path>
134
+ npx --yes copilotkit@4.13.0 onboard protect --accept-credential --path <path>
120
135
  ```
121
136
 
122
137
  That route proves no recorded credential was lost, instead of taking the run's word that it
@@ -135,7 +150,7 @@ neither does a one-line fix. Never repair, reset, or revert it. Ask the develope
135
150
  the change, and record the answer they give:
136
151
 
137
152
  ```text
138
- npx --yes copilotkit@4.11.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
153
+ npx --yes copilotkit@4.13.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
139
154
  ```
140
155
 
141
156
  Use it only for an answer a developer actually gave. It records the consent as taken
@@ -156,7 +171,7 @@ create it now, from the target app directory. The developer approved the id befo
156
171
  made, so this is the first point at which it can be created:
157
172
 
158
173
  ```text
159
- npx --yes copilotkit@4.11.0 learning containers create --id <id> --name <name> --json
174
+ npx --yes copilotkit@4.13.0 learning containers create --id <id> --name <name> --json
160
175
  ```
161
176
 
162
177
  Pass the id the plan names. Take the name from the selected project's own display name, so
@@ -172,7 +187,7 @@ hold.
172
187
  Then report that the container is settled, before any edit:
173
188
 
174
189
  ```text
175
- npx --yes copilotkit@4.11.0 onboard checkpoint --phase container-settled
190
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase container-settled
176
191
  ```
177
192
 
178
193
  Where the plan names a container the platform already held, report the same checkpoint and
@@ -181,11 +196,11 @@ create nothing. Where the plan names no container, skip this section.
181
196
  Report the plan this run is about to implement:
182
197
 
183
198
  ```text
184
- npx --yes copilotkit@4.11.0 onboard checkpoint --phase plan-written
199
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase plan-written
185
200
  ```
186
201
 
187
202
  Spawn one implementation subagent. Tell it to run
188
- `npx --yes copilotkit@4.11.0 onboard read subagent/implement-and-validate` first and follow
203
+ `npx --yes copilotkit@4.13.0 onboard read subagent/implement-and-validate` first and follow
189
204
  the prompt it returns. If that read fails because the subagent cannot use the shell, stop that
190
205
  subagent. Run the same command yourself, then spawn a fresh subagent with the returned prompt
191
206
  and the same handoff. Give it the plan, selected framework, frontend, model, exact target app
@@ -197,6 +212,14 @@ to implement every step in plan order and run the full validation list. Wait for
197
212
  One subagent implements the whole plan. Do not divide the work across concurrent subagents,
198
213
  and do not spawn a second subagent to reconcile a split.
199
214
 
215
+ All implementation work happens in the run root's own working tree: the target app
216
+ directory this run started in. Never send the subagent to a separate worktree, a branch
217
+ checkout, or a copy of the project, and tell it to work in that directory itself. A
218
+ subagent that worked elsewhere must bring its changes into the run root before it reports.
219
+ The completion step verifies that the changed files exist in this project and refuses a run
220
+ whose tree never changed, so work left in another tree ends the run with nothing in the
221
+ developer's hands.
222
+
200
223
  If the implementation result does not start with `Status: passed`, do not continue to proof.
201
224
  Run the protected-path audit after the implementation subagent passes. Decide each path it
202
225
  names the same way as above, against the Files changed section that subagent just
@@ -205,11 +228,11 @@ returned. Continue to proof only when that audit passes.
205
228
  After the selected implementation path passes, report it:
206
229
 
207
230
  ```text
208
- npx --yes copilotkit@4.11.0 onboard checkpoint --phase build-validated
231
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase build-validated
209
232
  ```
210
233
 
211
234
  Then run
212
- `npx --yes copilotkit@4.11.0 onboard read proof/round-trip`.
235
+ `npx --yes copilotkit@4.13.0 onboard read proof/round-trip`.
213
236
 
214
237
  ## Repair rules
215
238
 
@@ -231,9 +254,9 @@ the same command still fails after three repair attempts, or a result starts wit
231
254
  `Status: blocked`. A defect in a package this run installed is not a stack CopilotKit does
232
255
  not serve, a command this run cannot get to pass is not one either, and a blocked audit
233
256
  proved nothing about the stack. In those cases run
234
- `npx --yes copilotkit@4.11.0 onboard read stopped/run-failed`.
257
+ `npx --yes copilotkit@4.13.0 onboard read stopped/run-failed`.
235
258
 
236
259
  A plan with no path to follow takes the unsupported ending: the fix requires changing the
237
260
  developer's existing agent or frontend, or the documentation does not support the plan. In
238
261
  those cases run
239
- `npx --yes copilotkit@4.11.0 onboard read unsupported/no-validated-path`.
262
+ `npx --yes copilotkit@4.13.0 onboard read unsupported/no-validated-path`.
@@ -32,6 +32,12 @@ about it: keep this version pin, wire this constructor, run this build. It never
32
32
  as an account of hitting it. No count of what went wrong, no list of fixes made along the
33
33
  way, no argument that a failed check is not a defect.
34
34
 
35
+ Where this run connected and proved Rich Threads, explain in your own words that they
36
+ preserve messages, generative UI, tool interactions, and application state so users
37
+ can return to earlier work. Explain that these interactions can also provide evidence
38
+ for Automatic Learning. Describe only the capabilities supported by this run's result.
39
+ This is required content within the handoff, not a separate message or a new check.
40
+
35
41
  The handoff must include:
36
42
 
37
43
  - The URL of the running app.
@@ -41,11 +47,19 @@ The handoff must include:
41
47
  installation. Do not open it. This item makes the developer aware the dashboard is
42
48
  there, and it is a sentence to write rather than a check to perform. Nothing in this
43
49
  graph gates on the dashboard, so a dashboard this run never opened is not a finding,
44
- not a caveat, and not a blocker.
50
+ not a caveat, and not a blocker. Where this run settled a Learning Container, tell the
51
+ developer they can use their project there to follow progress, review Insights and
52
+ supporting conversations, and approve proposed Skills as they become available.
45
53
  - What changed since the developer approved the plan. Name every path, version, or step
46
54
  the run departed from, and why. A deviation can be the right call and still has to
47
55
  reach the person who approved the thing it departed from. Where nothing departed, say
48
56
  that in one line rather than leaving the item out.
57
+ - Every change to the existing agent's behavior: its system prompt or instructions, its
58
+ tools or what those tools do, its model or provider configuration, or its memory or
59
+ state handling. Name each one, name the file, and say the developer approved it. Where
60
+ none of them changed, write `none` on that line rather than leaving the item out. Such a
61
+ change answers differently everywhere the agent is used, not only in CopilotKit, and the
62
+ developer is the only one who can tell whether that is wanted.
49
63
  - The process IDs and stop commands for the running agent and frontend.
50
64
  - The `@copilotkit/*` versions this conversion changed, and what they were before.
51
65
  - On a conversion, the criterion this run was judged against, in the words the run was
@@ -70,18 +84,24 @@ Name the debugging surface this journey's frontend can reach, rather than the on
70
84
  of the documentation leads with. For a web frontend it is the CopilotKit Inspector. For
71
85
  React Native there is no Inspector: it is a browser overlay built on a DOM custom element,
72
86
  and `@copilotkit/react-native` does not ship it. Give a mobile developer
73
- `npx --yes copilotkit@4.11.0 verify --round-trip`, the runtime's own log, the AG-UI
87
+ `npx --yes copilotkit@4.13.0 verify --round-trip`, the runtime's own log, the AG-UI
74
88
  Event Inspector in the CopilotKit VS Code extension, and the CopilotKit Intelligence
75
89
  thread view
76
90
  instead. Naming the Inspector to a developer who cannot open it costs them the time it
77
91
  takes to conclude their own wiring is broken.
78
92
 
79
- Where this run settled a Learning Container, tell the developer what happens next, because
80
- a correct run looks like a broken one otherwise. Learning runs on its own: the first
81
- automatic run needs new threads from 15 distinct conversations in this container, and only
82
- the newest snapshot of each thread counts. A thread takes its container before its first
83
- agent run, so threads that ran before this change are never pulled in. The container starts
84
- empty on purpose.
93
+ Where this run settled a Learning Container, explain in your own words that new
94
+ conversations are routed to it, where Automatic Learning can find recurring patterns
95
+ and propose reusable Skills to help the agent improve. The developer controls which
96
+ Skills get approved. Explain that Learning results appear as new conversations provide
97
+ enough evidence.
98
+
99
+ These are required explanations within the existing handoff, not fixed wording or
100
+ additional actions. Describe only the setup supported by this run's evidence. Do not
101
+ claim this run produced Insights or Skills or configured automatic Skill delivery
102
+ unless its evidence proves that. If no container was configured, report the actual
103
+ reason and retain the project-management destination without implying that Learning
104
+ is collecting evidence.
85
105
 
86
106
  Where the Learning step was skipped because this organization cannot use Learning, say so in
87
107
  one line and name what was not created. A skip nobody names reads as a container that
@@ -94,7 +114,7 @@ the friction commands without another developer question. Do not ask the develop
94
114
  telemetry: the command applies the setting they already have.
95
115
 
96
116
  ```text
97
- npx --yes copilotkit@4.11.0 onboard friction --category <slug> --cost-seconds <seconds>
117
+ npx --yes copilotkit@4.13.0 onboard friction --category <slug> --cost-seconds <seconds>
98
118
  ```
99
119
 
100
120
  Write one or two sentences on the command's standard input. Pick one category from
@@ -106,7 +126,7 @@ Pass --docs-path only for a docs-missing or docs-wrong report, naming the page t
106
126
  is about:
107
127
 
108
128
  ```text
109
- npx --yes copilotkit@4.11.0 onboard friction --category docs-wrong --cost-seconds 300 --docs-path /docs/threads/drawer
129
+ npx --yes copilotkit@4.13.0 onboard friction --category docs-wrong --cost-seconds 300 --docs-path /docs/threads/drawer
110
130
  ```
111
131
 
112
132
  Give the page's site-relative path or its full URL, with no spaces, query string, or
@@ -123,14 +143,14 @@ Tell the developer when you send a friction report. Do not quote or summarize th
123
143
  unless the developer asks. If the CLI says the report was not sent,
124
144
  state what it said and continue without another question.
125
145
 
126
- When the evidence is gathered, run `npx --yes copilotkit@4.11.0 onboard complete`, carrying
146
+ When the evidence is gathered, run `npx --yes copilotkit@4.13.0 onboard complete`, carrying
127
147
  the surface-check outcome the proof subagent returned. Pass exactly one flag, and pass the
128
148
  one that matches this journey's surface.
129
149
 
130
150
  For a web frontend -- React SPA, Next.js, Angular, Vue:
131
151
 
132
152
  ```text
133
- npx --yes copilotkit@4.11.0 onboard complete --visual-check <outcome>
153
+ npx --yes copilotkit@4.13.0 onboard complete --visual-check <outcome>
134
154
  ```
135
155
 
136
156
  The outcome is one of `performed`, `skipped-no-browser-tool`, `skipped-cloned-starter`, or
@@ -140,7 +160,7 @@ open no browser. It is the one skip that does not block.
140
160
  For React Native:
141
161
 
142
162
  ```text
143
- npx --yes copilotkit@4.11.0 onboard complete --device-check <outcome>
163
+ npx --yes copilotkit@4.13.0 onboard complete --device-check <outcome>
144
164
  ```
145
165
 
146
166
  The outcome is one of `performed`, `skipped-no-device`, `skipped-cloned-starter`, or
@@ -153,7 +173,7 @@ browser-origin CORS, so the flag you pass is how this run states which surface i
153
173
  For a web frontend, also pass the URL the browser opened:
154
174
 
155
175
  ```text
156
- npx --yes copilotkit@4.11.0 onboard complete --visual-check <outcome> \
176
+ npx --yes copilotkit@4.13.0 onboard complete --visual-check <outcome> \
157
177
  --frontend-url <the url you opened>
158
178
  ```
159
179
 
@@ -172,7 +192,7 @@ If the round trip proved and something after it still blocked this run, add `--b
172
192
  to the same command:
173
193
 
174
194
  ```text
175
- npx --yes copilotkit@4.11.0 onboard complete --visual-check performed --blocked-by <cause>
195
+ npx --yes copilotkit@4.13.0 onboard complete --visual-check performed --blocked-by <cause>
176
196
  ```
177
197
 
178
198
  The cause is one of `inspector` for a debugging surface that did not open,
@@ -1,7 +1,7 @@
1
1
  # Prove the existing OSS baseline
2
2
 
3
3
  Do not prove the baseline yourself. Spawn one proof subagent. Tell it to run
4
- `npx --yes copilotkit@4.11.0 onboard read subagent/prove-oss-baseline` first and follow the
4
+ `npx --yes copilotkit@4.13.0 onboard read subagent/prove-oss-baseline` first and follow the
5
5
  prompt it returns. If that read fails because the subagent cannot use the shell, stop that
6
6
  subagent. Run the same command yourself, then spawn a fresh subagent with the returned prompt
7
7
  and the same handoff. Give it the repository findings and exact CLI package spec.
@@ -17,7 +17,7 @@ Wait for the subagent to finish.
17
17
  Record what that proof returned before you route on it:
18
18
 
19
19
  ```text
20
- npx --yes copilotkit@4.11.0 onboard proof --step oss-baseline --outcome <passed|failed|skipped> [--predicate <1-6>]
20
+ npx --yes copilotkit@4.13.0 onboard proof --step oss-baseline --outcome <passed|failed|skipped> [--predicate <1-6>]
21
21
  ```
22
22
 
23
23
  Report the gate whatever it returned. Pass `passed` when the subagent proved a predicate,
@@ -35,12 +35,12 @@ Do not change project files before this proof ends. Starting existing developmen
35
35
  processes and their ignored runtime files is allowed.
36
36
 
37
37
  If the subagent proves the `both-oss` predicate, keep its evidence with the plan and run
38
- `npx --yes copilotkit@4.11.0 onboard read conversion/plan`. That project already works.
38
+ `npx --yes copilotkit@4.13.0 onboard read conversion/plan`. That project already works.
39
39
  What it needs is the conversion, not a build.
40
40
 
41
41
  If the proof does not establish the baseline, record the starting state
42
42
  `both-copilotkit-unproved` and run
43
- `npx --yes copilotkit@4.11.0 onboard read credentials/plan`. This prompt is served
43
+ `npx --yes copilotkit@4.13.0 onboard read credentials/plan`. This prompt is served
44
44
  whenever a project looks like an OSS integration, so a baseline that did not prove is an
45
45
  ordinary starting state rather than a failure. Keep the failing predicate with the plan.
46
46
 
@@ -54,5 +54,5 @@ and the plan preserves it rather than repeating it.
54
54
 
55
55
  If it cannot identify the running process safely, exposes a secret, or finds a baseline
56
56
  failure that cannot be classified, run
57
- `npx --yes copilotkit@4.11.0 onboard read stopped/run-failed`. None of those mean the
57
+ `npx --yes copilotkit@4.13.0 onboard read stopped/run-failed`. None of those mean the
58
58
  project is unsupported: they mean this run did not establish what it needed to.
@@ -1,7 +1,7 @@
1
1
  # Prove the user journey
2
2
 
3
3
  Do not do the proof work yourself. Spawn one proof subagent. Tell it to run
4
- `npx --yes copilotkit@4.11.0 onboard read subagent/prove-round-trip` first and follow the
4
+ `npx --yes copilotkit@4.13.0 onboard read subagent/prove-round-trip` first and follow the
5
5
  prompt it returns. If that read fails because the subagent cannot use the shell, stop that
6
6
  subagent. Run the same command yourself, then spawn a fresh subagent with the returned prompt
7
7
  and the same handoff. Give it the selected framework, frontend, model, approved plan, selected
@@ -33,13 +33,13 @@ pass the time.
33
33
  Report each attempt at the journey as it ends, counting from one:
34
34
 
35
35
  ```text
36
- npx --yes copilotkit@4.11.0 onboard checkpoint --phase journey-attempted --attempt 1
36
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase journey-attempted --attempt 1
37
37
  ```
38
38
 
39
39
  Record what that proof returned before you route on it:
40
40
 
41
41
  ```text
42
- npx --yes copilotkit@4.11.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
42
+ npx --yes copilotkit@4.13.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
43
43
  ```
44
44
 
45
45
  Report the gate whatever it returned. A proof that never ran is `skipped`, not failed. The
@@ -47,7 +47,7 @@ command prints one line and sends nothing else. Where a repair cycle runs the pr
47
47
  record each attempt as it ends.
48
48
 
49
49
  For every protected-path audit in this prompt, run
50
- `npx --yes copilotkit@4.11.0 onboard audit` from the target app directory. If its result
50
+ `npx --yes copilotkit@4.13.0 onboard audit` from the target app directory. If its result
51
51
  starts with `Status: blocked`, report the printed reason and use the route-out rules below.
52
52
  A blocked audit proved nothing changed and is not a preservation failure. If a
53
53
  protected-path audit reports a changed path, decide it the way the implementation prompt
@@ -56,7 +56,7 @@ returns none, so a finding with no Files changed section to test against routes
56
56
  path one of those sections names is this run's own change and routes out too. Accept a
57
57
  path only when a section this run collected covers the step that wrote it and does not
58
58
  name it:
59
- `npx --yes copilotkit@4.11.0 onboard protect --accept-external --path <path>`. Then run
59
+ `npx --yes copilotkit@4.13.0 onboard protect --accept-external --path <path>`. Then run
60
60
  the audit again and name the path in the closing summary. Never repair, reset, or revert a
61
61
  protected path.
62
62
 
@@ -64,12 +64,12 @@ That holds for a repair cycle too. When the fix for a failing check lands on a p
64
64
  path, the path is still the developer's, however right the diagnosis is and however small
65
65
  the fix. Reading the file never settles who wrote it. Ask the developer to allow the
66
66
  change, and record their answer with
67
- `npx --yes copilotkit@4.11.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"`,
67
+ `npx --yes copilotkit@4.13.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"`,
68
68
  or route out. Never repair it, and never send it to a repair worker.
69
69
 
70
70
  If the proof result starts with `Status: passed`, run the protected-path audit. Continue to
71
71
  `proof/complete` only if that audit passes. After the audit passes, run
72
- `npx --yes copilotkit@4.11.0 onboard read proof/complete`. A performed surface outcome with
72
+ `npx --yes copilotkit@4.13.0 onboard read proof/complete`. A performed surface outcome with
73
73
  the full round trip is core success even if a continued-development tool fails. A skipped
74
74
  surface outcome still enters `proof/complete` so the CLI records the blocked result. Do not
75
75
  describe a skipped surface as proved. Keep the Skills and MCP results separate from the proof
@@ -97,6 +97,17 @@ times. Use the route-out rules below for a blocked or third failed result.
97
97
  Enter the code-repair branch only for a source, configuration, dependency, or tracked-file
98
98
  defect.
99
99
 
100
+ The existing agent's behavior stays outside that branch. It is four things: the agent's
101
+ system prompt and instructions, its tools and what those tools do, its model and provider
102
+ configuration, and its memory or state handling. Repair a failing proof on the CopilotKit
103
+ side first -- the frontend rendering, the tool schema, the runtime wiring. Where the only
104
+ fix the repair worker can find is a change to the agent's instructions or tools, it stops
105
+ and returns the failing predicate with the change it proposes. Report both to the
106
+ developer and send that repair only after they approve it. An approved change is a
107
+ behavior change and the closing report names it as one. Never call a change to the agent's
108
+ instructions or tools a repair, and never send one to a repair worker without that
109
+ approval. If you cannot ask, or the developer declines, use the route-out rules below.
110
+
100
111
  If the starter shortcut created the selected path, spawn one repair subagent. Give it the
101
112
  failed step, proof evidence, generated path list, selected framework, frontend, model, exact
102
113
  target app directory, documentation, and policy.
@@ -125,7 +136,7 @@ Restart each project-owned process changed by the repair. Report the cycle, coun
125
136
  one:
126
137
 
127
138
  ```text
128
- npx --yes copilotkit@4.11.0 onboard checkpoint --phase repair-attempted --attempt 1
139
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase repair-attempted --attempt 1
129
140
  ```
130
141
 
131
142
  Then spawn a fresh proof subagent
@@ -143,18 +154,18 @@ and proof cycles.
143
154
 
144
155
  Route out only when the failure is not yours to fix, when the same proof still fails after
145
156
  three attempts, or when no evidence of the round trip can be produced. In those cases run
146
- `npx --yes copilotkit@4.11.0 onboard read stopped/run-failed`. The stack is supported:
157
+ `npx --yes copilotkit@4.13.0 onboard read stopped/run-failed`. The stack is supported:
147
158
  this run did not finish, which is a different ending and a different report. All three are
148
159
  about the round trip itself. A round trip that proved is not one of them, whatever failed
149
160
  after it.
150
161
 
151
162
  If you stop here without taking that route -- a repair cycle you cannot finish, a limit in
152
163
  your own harness, a run that has run out -- send one short report before you stop. Run the
153
- friction command without another developer question. Do not ask the developer about
154
- telemetry: the command applies the setting they already have.
164
+ friction command without another developer question: it applies the telemetry setting the
165
+ developer already set.
155
166
 
156
167
  ```text
157
- npx --yes copilotkit@4.11.0 onboard friction --phase stop --category <slug>
168
+ npx --yes copilotkit@4.13.0 onboard friction --phase stop --category <slug>
158
169
  ```
159
170
 
160
171
  Write one or two sentences to standard input: the step you stopped at and what stopped it.