copilotkit 4.9.50 → 4.10.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 (74) hide show
  1. package/README.md +44 -4
  2. package/cli-build-info.json +7 -7
  3. package/index.js +1810 -354
  4. package/onboarding/index.json +81 -18
  5. package/onboarding/prompts/authenticate/start.md +56 -190
  6. package/onboarding/prompts/conversion/plan.md +3 -3
  7. package/onboarding/prompts/credentials/finalize-plan.md +25 -98
  8. package/onboarding/prompts/credentials/plan.md +20 -20
  9. package/onboarding/prompts/credentials/settle-credentials.md +153 -0
  10. package/onboarding/prompts/credentials/write-plan.md +93 -0
  11. package/onboarding/prompts/fallback/best-effort.md +12 -9
  12. package/onboarding/prompts/feature/a2ui/implement.md +35 -6
  13. package/onboarding/prompts/feature/a2ui/proof.md +30 -6
  14. package/onboarding/prompts/feature/a2ui/start.md +29 -6
  15. package/onboarding/prompts/feature/chat-suggestions/implement.md +36 -6
  16. package/onboarding/prompts/feature/chat-suggestions/proof.md +30 -5
  17. package/onboarding/prompts/feature/chat-suggestions/start.md +29 -6
  18. package/onboarding/prompts/feature/complete.md +11 -0
  19. package/onboarding/prompts/feature/learning/implement.md +102 -11
  20. package/onboarding/prompts/feature/learning/proof.md +53 -9
  21. package/onboarding/prompts/feature/learning/start.md +35 -8
  22. package/onboarding/prompts/feature/open-generative-ui/implement.md +37 -6
  23. package/onboarding/prompts/feature/open-generative-ui/proof.md +30 -5
  24. package/onboarding/prompts/feature/open-generative-ui/start.md +29 -6
  25. package/onboarding/prompts/feature/realtime-sync/implement.md +36 -7
  26. package/onboarding/prompts/feature/realtime-sync/proof.md +29 -5
  27. package/onboarding/prompts/feature/realtime-sync/start.md +28 -5
  28. package/onboarding/prompts/feature/rich-threads/implement.md +37 -8
  29. package/onboarding/prompts/feature/rich-threads/proof.md +31 -5
  30. package/onboarding/prompts/feature/rich-threads/start.md +28 -5
  31. package/onboarding/prompts/feature/stop.md +10 -7
  32. package/onboarding/prompts/feature/voice/implement.md +35 -6
  33. package/onboarding/prompts/feature/voice/proof.md +30 -5
  34. package/onboarding/prompts/feature/voice/start.md +29 -6
  35. package/onboarding/prompts/framework/ag2.md +2 -2
  36. package/onboarding/prompts/framework/agno.md +2 -2
  37. package/onboarding/prompts/framework/built-in.md +2 -2
  38. package/onboarding/prompts/framework/claude-sdk-python.md +2 -2
  39. package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
  40. package/onboarding/prompts/framework/crewai-flows.md +2 -2
  41. package/onboarding/prompts/framework/deep-agents.md +2 -2
  42. package/onboarding/prompts/framework/google-adk.md +2 -2
  43. package/onboarding/prompts/framework/langgraph-fastapi.md +2 -2
  44. package/onboarding/prompts/framework/langgraph-python.md +2 -2
  45. package/onboarding/prompts/framework/langgraph-typescript.md +2 -2
  46. package/onboarding/prompts/framework/llamaindex.md +2 -2
  47. package/onboarding/prompts/framework/mastra.md +2 -2
  48. package/onboarding/prompts/framework/ms-agent-dotnet.md +2 -2
  49. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +2 -2
  50. package/onboarding/prompts/framework/ms-agent-python.md +2 -2
  51. package/onboarding/prompts/framework/pydantic-ai.md +2 -2
  52. package/onboarding/prompts/framework/strands-python.md +2 -2
  53. package/onboarding/prompts/framework/strands-typescript.md +2 -2
  54. package/onboarding/prompts/frontend/angular.md +3 -3
  55. package/onboarding/prompts/frontend/nextjs.md +3 -3
  56. package/onboarding/prompts/frontend/plan.md +6 -6
  57. package/onboarding/prompts/frontend/react-native.md +2 -2
  58. package/onboarding/prompts/frontend/react-spa.md +2 -2
  59. package/onboarding/prompts/frontend/vue.md +2 -2
  60. package/onboarding/prompts/implementation/build-and-validate.md +122 -12
  61. package/onboarding/prompts/proof/complete.md +23 -10
  62. package/onboarding/prompts/proof/oss-baseline.md +17 -7
  63. package/onboarding/prompts/proof/round-trip.md +33 -13
  64. package/onboarding/prompts/research/gather.md +121 -0
  65. package/onboarding/prompts/research/route.md +81 -0
  66. package/onboarding/prompts/starter/clone.md +18 -9
  67. package/onboarding/prompts/stopped/run-failed.md +44 -0
  68. package/onboarding/prompts/subagent/create-plan.md +32 -1
  69. package/onboarding/prompts/subagent/implement-and-validate.md +9 -1
  70. package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
  71. package/onboarding/prompts/subagent/prove-round-trip.md +59 -12
  72. package/onboarding/prompts/unsupported/no-validated-path.md +10 -7
  73. package/package.json +1 -1
  74. package/release/release-tool.js +39 -3
@@ -33,7 +33,7 @@ Record the selected framework, vendor, model, required credential variable names
33
33
  URLs, and the context limit.
34
34
 
35
35
  If the pages support the selection, run
36
- `npx --yes copilotkit@4.9.50 onboard read frontend/plan`.
36
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
37
37
 
38
38
  If the documentation does not support the selection, run
39
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
39
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -37,7 +37,7 @@ Record the selected framework, vendor, model, required credential variable names
37
37
  URLs, and the context limit.
38
38
 
39
39
  If the pages support the selection, run
40
- `npx --yes copilotkit@4.9.50 onboard read frontend/plan`.
40
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
41
41
 
42
42
  If the documentation does not support the selection, run
43
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
43
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -54,7 +54,7 @@ variable names the repository proves or the developer named, these URLs, the ada
54
54
  shared-state limit.
55
55
 
56
56
  If the pages support the selection, run
57
- `npx --yes copilotkit@4.9.50 onboard read frontend/plan`.
57
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
58
58
 
59
59
  If the documentation does not support the selection, run
60
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
60
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -29,7 +29,7 @@ Record the selected framework, language, vendor, model, required credential vari
29
29
  names, these URLs, and each documentation gap.
30
30
 
31
31
  If the pages support the selection, run
32
- `npx --yes copilotkit@4.9.50 onboard read frontend/plan`.
32
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
33
33
 
34
34
  If the documentation does not support the selection, run
35
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
35
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -28,7 +28,7 @@ Record the selected framework, vendor, model, required credential variable names
28
28
  these URLs.
29
29
 
30
30
  If the pages support the selection, run
31
- `npx --yes copilotkit@4.9.50 onboard read frontend/plan`.
31
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
32
32
 
33
33
  If the documentation does not support the selection, run
34
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
34
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -24,7 +24,7 @@ Record the selected framework, vendor, model, required credential variable names
24
24
  these URLs.
25
25
 
26
26
  If the pages support the selection, run
27
- `npx --yes copilotkit@4.9.50 onboard read frontend/plan`.
27
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
28
28
 
29
29
  If the documentation does not support the selection, run
30
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
30
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -15,7 +15,7 @@ Record the selected framework, vendor, model, required credential variable names
15
15
  these URLs.
16
16
 
17
17
  If the pages support the selection, run
18
- `npx --yes copilotkit@4.9.50 onboard read frontend/plan`.
18
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
19
19
 
20
20
  If the documentation does not support the selection, run
21
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
21
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -15,7 +15,7 @@ Record the selected framework, vendor, model, required credential variable names
15
15
  these URLs.
16
16
 
17
17
  If the pages support the selection, run
18
- `npx --yes copilotkit@4.9.50 onboard read frontend/plan`.
18
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
19
19
 
20
20
  If the documentation does not support the selection, run
21
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
21
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -34,7 +34,7 @@ Record the selected framework, vendor, model, required credential variable names
34
34
  URLs, the documented dependencies and adapter, and both documentation limits.
35
35
 
36
36
  If the pages support the selection, run
37
- `npx --yes copilotkit@4.9.50 onboard read frontend/plan`.
37
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
38
38
 
39
39
  If the documentation does not support the selection, run
40
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
40
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -45,7 +45,7 @@ Record the selected framework, vendor, model, required credential variable names
45
45
  these URLs.
46
46
 
47
47
  If the pages support the selection, run
48
- `npx --yes copilotkit@4.9.50 onboard read frontend/plan`.
48
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
49
49
 
50
50
  If the documentation does not support the selection, run
51
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
51
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -34,7 +34,7 @@ Record the selected framework, provider, model, required credential variable nam
34
34
  these URLs.
35
35
 
36
36
  If the pages support the selection, run
37
- `npx --yes copilotkit@4.9.50 onboard read frontend/plan`.
37
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
38
38
 
39
39
  If the documentation does not support the selection, run
40
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
40
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -44,7 +44,7 @@ Record the selected framework, provider, model, required credential variable nam
44
44
  URLs, and the quickstart gap.
45
45
 
46
46
  If the pages support the selection, run
47
- `npx --yes copilotkit@4.9.50 onboard read frontend/plan`.
47
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
48
48
 
49
49
  If the documentation does not support the selection, run
50
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
50
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -28,7 +28,7 @@ Record the selected framework, vendor, model, required credential variable names
28
28
  these URLs.
29
29
 
30
30
  If the pages support the selection, run
31
- `npx --yes copilotkit@4.9.50 onboard read frontend/plan`.
31
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
32
32
 
33
33
  If the documentation does not support the selection, run
34
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
34
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -43,7 +43,7 @@ Record the selected framework, vendor, model, required credential variable names
43
43
  URLs, and the two-step context route.
44
44
 
45
45
  If the pages support the selection, run
46
- `npx --yes copilotkit@4.9.50 onboard read frontend/plan`.
46
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
47
47
 
48
48
  If the documentation does not support the selection, run
49
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
49
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -27,7 +27,7 @@ Record the selected framework, vendor, model, required credential variable names
27
27
  URLs, and the context documentation gap.
28
28
 
29
29
  If the pages support the selection, run
30
- `npx --yes copilotkit@4.9.50 onboard read frontend/plan`.
30
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
31
31
 
32
32
  If the documentation does not support the selection, run
33
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
33
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -28,7 +28,7 @@ Record the selected framework, vendor, model, required credential variable names
28
28
  URLs, and the context documentation gap.
29
29
 
30
30
  If the pages support the selection, run
31
- `npx --yes copilotkit@4.9.50 onboard read frontend/plan`.
31
+ `npx --yes copilotkit@4.10.0 onboard read frontend/plan`.
32
32
 
33
33
  If the documentation does not support the selection, run
34
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
34
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -5,7 +5,7 @@ Preserve an existing Angular frontend. Use the selected page for a new frontend.
5
5
  Use the starter shortcut only if all these facts are true: the target directory contains
6
6
  no entries, 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.9.50 onboard read starter/clone` before you fetch documentation.
8
+ `npx --yes copilotkit@4.10.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.9.50 onboard read credentials/finalize-plan`.
66
+ `npx --yes copilotkit@4.10.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.9.50 onboard read unsupported/no-validated-path`.
69
+ together, run `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -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.9.50 onboard read starter/clone` before you fetch documentation.
18
+ `npx --yes copilotkit@4.10.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.9.50 onboard read credentials/finalize-plan`.
30
+ `npx --yes copilotkit@4.10.0 onboard read credentials/finalize-plan`.
31
31
 
32
32
  If the documentation does not support the selection, run
33
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
33
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -24,11 +24,11 @@ process.
24
24
 
25
25
  Use exactly one matching internal route:
26
26
 
27
- 1. React SPA: `npx --yes copilotkit@4.9.50 onboard read frontend/react-spa`
28
- 2. Next.js: `npx --yes copilotkit@4.9.50 onboard read frontend/nextjs`
29
- 3. Angular: `npx --yes copilotkit@4.9.50 onboard read frontend/angular`
30
- 4. Vue 3: `npx --yes copilotkit@4.9.50 onboard read frontend/vue`
31
- 5. React Native: `npx --yes copilotkit@4.9.50 onboard read frontend/react-native`
27
+ 1. React SPA: `npx --yes copilotkit@4.10.0 onboard read frontend/react-spa`
28
+ 2. Next.js: `npx --yes copilotkit@4.10.0 onboard read frontend/nextjs`
29
+ 3. Angular: `npx --yes copilotkit@4.10.0 onboard read frontend/angular`
30
+ 4. Vue 3: `npx --yes copilotkit@4.10.0 onboard read frontend/vue`
31
+ 5. React Native: `npx --yes copilotkit@4.10.0 onboard read frontend/react-native`
32
32
 
33
33
  If no listed frontend fits, run
34
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
34
+ `npx --yes copilotkit@4.10.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.9.50 onboard read credentials/finalize-plan`.
18
+ `npx --yes copilotkit@4.10.0 onboard read credentials/finalize-plan`.
19
19
 
20
20
  If the documentation does not support the selection, run
21
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
21
+ `npx --yes copilotkit@4.10.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.9.50 onboard read credentials/finalize-plan`.
14
+ `npx --yes copilotkit@4.10.0 onboard read credentials/finalize-plan`.
15
15
 
16
16
  If the documentation does not support the selection, run
17
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
17
+ `npx --yes copilotkit@4.10.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.9.50 onboard read credentials/finalize-plan`.
19
+ `npx --yes copilotkit@4.10.0 onboard read credentials/finalize-plan`.
20
20
 
21
21
  If the documentation does not support the selection, run
22
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
22
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -2,6 +2,28 @@
2
2
 
3
3
  Do not implement the plan yourself. Use the step order in the approved plan.
4
4
 
5
+ ## If you stop in this phase
6
+
7
+ One rule below stops onboarding: a Learning Container create that fails for a reason other
8
+ than the container already existing. It ends a run the developer has already approved a
9
+ plan for. Name the exact command, id, and error code that stopped you: a report that names
10
+ only the step cannot be acted on. Send one short report before you stop. Run the friction command without another developer question. The CLI telemetry gate decides whether the
11
+ report is sent.
12
+
13
+ ```text
14
+ npx --yes copilotkit@4.10.0 onboard friction --phase stop --category <slug>
15
+ ```
16
+
17
+ Write one or two sentences to standard input: the step you stopped at and what stopped it.
18
+ Pick the category that fits from docs-missing, docs-wrong, docs-sequential, cli-gap,
19
+ sdk-gap, environment, port-collision, credential, validation-loop, and other. Leave
20
+ --cost-seconds off. A run that stopped cannot separate one papercut's cost from the cost
21
+ of the whole run, so the estimate is optional on a stop report and only there.
22
+ Send no secrets, source code, logs, or command output. The command refuses a report that
23
+ carries any of those, prints the reason, and exits zero. A refused report is not a failed
24
+ step. Send the report, then stop. Reporting is not a route change and does not resume the
25
+ run.
26
+
5
27
  ## Authorization requested by the plan
6
28
 
7
29
  Approving the plan is the developer agreeing to every path it listed under
@@ -9,19 +31,38 @@ Approving the plan is the developer agreeing to every path it listed under
9
31
  app directory:
10
32
 
11
33
  ```text
12
- npx --yes copilotkit@4.9.50 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
34
+ npx --yes copilotkit@4.10.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
13
35
  ```
14
36
 
15
37
  Consent has to be on the record before the file moves, so a call made after the change is
16
38
  refused. Continue only if every result starts with `Status: passed`. If the plan listed
17
39
  nothing there, skip this section.
18
40
 
41
+ If a path the plan listed has already changed, the developer changed it after the capture.
42
+ No implementation step has run yet, so the change is theirs rather than this run's. Record
43
+ consent over it by adding one flag:
44
+
45
+ ```text
46
+ npx --yes copilotkit@4.10.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>" --with-prior-change
47
+ ```
48
+
49
+ The flag records their change as drift beside the consent, so the closing report names both
50
+ the change they made and the change this run was allowed to make. Use it only here, before
51
+ any implementation step runs. After one has run, a changed path is this run's own work, and
52
+ the route-out rules apply.
53
+
54
+ This section is the only place the plan's own authorizations are recorded. Once this run
55
+ reports its plan, the CLI refuses `--authorize` for every path the plan did not name. The
56
+ developer approved a plan, not a permission to reach further, so there is no consent to
57
+ record for a path that comes up later. If you find such a path mid-run, use the route below
58
+ rather than this section.
59
+
19
60
  ## Protected-path audit
20
61
 
21
62
  Run the audit from the target app directory:
22
63
 
23
64
  ```text
24
- npx --yes copilotkit@4.9.50 onboard audit
65
+ npx --yes copilotkit@4.10.0 onboard audit
25
66
  ```
26
67
 
27
68
  It compares every protected path with the digest the CLI captured for it. Its result starts
@@ -45,19 +86,50 @@ run collected. If it appears in one, or the sections do not settle it, the chang
45
86
  run's own: use the route-out rules. A plan names a protected path only under
46
87
  `Authorization requested`, so a plan that does not name it there proves nothing on its own.
47
88
 
89
+ A Files changed section is the only evidence that settles who wrote a file. Reading the
90
+ file settles nothing. Recognizing the code, knowing what it is for, seeing that it matches
91
+ what this run was building, believing this run wrote it, or finding it broken in a way this
92
+ run explains are all readings of the file, and the file cannot say who wrote it.
93
+ A path you cannot find in a Files changed section is the developer's, however sure you are
94
+ that it is not.
95
+
48
96
  A path that no Files changed section names changed outside the run, and it is the
49
97
  developer's own file. Accept it by name:
50
98
 
51
99
  ```text
52
- npx --yes copilotkit@4.9.50 onboard protect --accept-external --path <path>
100
+ npx --yes copilotkit@4.10.0 onboard protect --accept-external --path <path>
53
101
  ```
54
102
 
103
+ A changed env file is its own case. This run asked the developer to place a credential
104
+ there, so it takes the credential route rather than this one:
105
+
106
+ ```text
107
+ npx --yes copilotkit@4.10.0 onboard protect --accept-credential --path <path>
108
+ ```
109
+
110
+ That route proves no recorded credential was lost, instead of taking the run's word that it
111
+ did not write the file. Read its refusal and stop if it names a lost variable.
112
+
55
113
  Pass one `--path` for each path you accept. Accept only a path the audit named, and only
56
114
  when no step of this run wrote it. The command re-captures that path, records that this
57
115
  run accepted the change, and prints it. Run the audit again afterwards: it passes and
58
116
  names every accepted path, and the closing summary must name them too. An acceptance is
59
117
  not a repair. It proves nothing about what the file now holds.
60
118
 
119
+ The prohibition on repairing a protected path holds wherever the path comes up, not only
120
+ here. A failing check is the usual way it comes up: the diagnosis lands on a file, and the
121
+ file turns out to be protected. A correct diagnosis does not make the file this run's, and
122
+ neither does a one-line fix. Never repair, reset, or revert it. Ask the developer to allow
123
+ the change, and record the answer they give:
124
+
125
+ ```text
126
+ npx --yes copilotkit@4.10.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
127
+ ```
128
+
129
+ Use it only for an answer a developer actually gave. It records the consent as taken
130
+ outside the approved plan, and every later audit and the closing report say so, which is
131
+ what tells the developer they were asked mid-run. If you cannot ask, route out.
132
+
61
133
  `Status: blocked` means the audit has no baseline to read. A blocked audit compared
62
134
  nothing and proved nothing changed. It is not a preservation failure: do not report a
63
135
  protected path as changed. Report the printed reason and use the route-out rules.
@@ -65,14 +137,43 @@ protected path as changed. Report the printed reason and use the route-out rules
65
137
  An audit that has not passed never continues the run by itself. Continue only after an
66
138
  acceptance clears it, or route out. Do not send an audit result to a repair worker.
67
139
 
140
+ ## Create the approved Learning Container
141
+
142
+ Where the approved plan names a Learning Container id that the platform does not hold yet,
143
+ create it now, from the target app directory. The developer approved the id before it was
144
+ made, so this is the first point at which it can be created:
145
+
146
+ ```text
147
+ npx --yes copilotkit@4.10.0 learning containers create --id <id> --name <name> --json
148
+ ```
149
+
150
+ Pass the id the plan names. Take the name from the selected project's own display name, so
151
+ the container reads as this project's in the dashboard. Both flags are required alongside
152
+ `--json`: a create that leaves either one out is refused as `NON_INTERACTIVE` rather than
153
+ prompted for, whatever terminal the run has.
154
+
155
+ `LEARNING_CONTAINER_ALREADY_EXISTS` means another run already made it. That is a container
156
+ to reuse, not a failure to repair and not a reason to pick a new id. Any other error code:
157
+ report it and stop onboarding, so no run wires a selector to an id the platform does not
158
+ hold.
159
+
160
+ Then report that the container is settled, before any edit:
161
+
162
+ ```text
163
+ npx --yes copilotkit@4.10.0 onboard checkpoint --phase container-settled
164
+ ```
165
+
166
+ Where the plan names a container the platform already held, report the same checkpoint and
167
+ create nothing. Where the plan names no container, skip this section.
168
+
68
169
  Report the plan this run is about to implement:
69
170
 
70
171
  ```text
71
- npx --yes copilotkit@4.9.50 onboard checkpoint --phase plan-written
172
+ npx --yes copilotkit@4.10.0 onboard checkpoint --phase plan-written
72
173
  ```
73
174
 
74
175
  Spawn one implementation subagent. Tell it to run
75
- `npx --yes copilotkit@4.9.50 onboard read subagent/implement-and-validate` first and follow
176
+ `npx --yes copilotkit@4.10.0 onboard read subagent/implement-and-validate` first and follow
76
177
  the prompt it returns. If that read fails because the subagent cannot use the shell, stop that
77
178
  subagent. Run the same command yourself, then spawn a fresh subagent with the returned prompt
78
179
  and the same handoff. Give it the plan, selected framework, frontend, model, exact target app
@@ -92,11 +193,11 @@ returned. Continue to proof only when that audit passes.
92
193
  After the selected implementation path passes, report it:
93
194
 
94
195
  ```text
95
- npx --yes copilotkit@4.9.50 onboard checkpoint --phase build-validated
196
+ npx --yes copilotkit@4.10.0 onboard checkpoint --phase build-validated
96
197
  ```
97
198
 
98
199
  Then run
99
- `npx --yes copilotkit@4.9.50 onboard read proof/round-trip`.
200
+ `npx --yes copilotkit@4.10.0 onboard read proof/round-trip`.
100
201
 
101
202
  ## Repair rules
102
203
 
@@ -110,8 +211,17 @@ implementation path.
110
211
 
111
212
  ## Route-out rules
112
213
 
113
- Route out for `Status: blocked`. Route out only when the failure is not yours to fix: the
114
- failure is in code this run did not write, the fix requires changing the developer's existing
115
- agent or frontend, the same command still fails after three repair attempts, or the
116
- documentation does not support the plan. In those cases run
117
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
214
+ Route out only when the failure is not yours to fix. Two endings are open from here, and
215
+ what failed decides which one this run takes.
216
+
217
+ A run that broke takes the failure ending: the failure is in code this run did not write,
218
+ the same command still fails after three repair attempts, or a result starts with
219
+ `Status: blocked`. A defect in a package this run installed is not a stack CopilotKit does
220
+ not serve, a command this run cannot get to pass is not one either, and a blocked audit
221
+ proved nothing about the stack. In those cases run
222
+ `npx --yes copilotkit@4.10.0 onboard read stopped/run-failed`.
223
+
224
+ A plan with no path to follow takes the unsupported ending: the fix requires changing the
225
+ developer's existing agent or frontend, or the documentation does not support the plan. In
226
+ those cases run
227
+ `npx --yes copilotkit@4.10.0 onboard read unsupported/no-validated-path`.
@@ -46,6 +46,8 @@ The handoff must include:
46
46
  - The `@copilotkit/*` versions this conversion changed, and what they were before.
47
47
  - On a conversion, the criterion this run was judged against, in the words the run was
48
48
  given.
49
+ - The Learning Container this run settled, or the fact that Learning is not available to
50
+ this organization and no container was created.
49
51
  - Any path this run created that git does not ignore, and what to do with each.
50
52
  - Any protected path this run accepted as changed from outside it, and what changed. The
51
53
  command at the end of this prompt prints each one, so copy them from its output rather
@@ -64,11 +66,22 @@ Name the debugging surface this journey's frontend can reach, rather than the on
64
66
  of the documentation leads with. For a web frontend it is the CopilotKit Inspector. For
65
67
  React Native there is no Inspector: it is a browser overlay built on a DOM custom element,
66
68
  and `@copilotkit/react-native` does not ship it. Give a mobile developer
67
- `npx --yes copilotkit@4.9.50 verify --round-trip`, the runtime's own log, the AG-UI
69
+ `npx --yes copilotkit@4.10.0 verify --round-trip`, the runtime's own log, the AG-UI
68
70
  Event Inspector in the CopilotKit VS Code extension, and the Intelligence thread view
69
71
  instead. Naming the Inspector to a developer who cannot open it costs them the time it
70
72
  takes to conclude their own wiring is broken.
71
73
 
74
+ Where this run settled a Learning Container, tell the developer what happens next, because
75
+ a correct run looks like a broken one otherwise. Learning runs on its own: the first
76
+ automatic run needs new threads from 15 distinct conversations in this container, and only
77
+ the newest snapshot of each thread counts. A thread takes its container before its first
78
+ agent run, so threads that ran before this change are never pulled in. The container starts
79
+ empty on purpose.
80
+
81
+ Where the Learning step was skipped because this organization cannot use Learning, say so in
82
+ one line and name what was not created. A skip nobody names reads as a container that
83
+ exists, and the developer then waits for insights from a container this run never made.
84
+
72
85
  State that the servers remain running after proof.
73
86
 
74
87
  Report each thing that slowed this run down. Send at most four reports, worst first. Run
@@ -76,7 +89,7 @@ the friction commands without another developer question. The CLI telemetry gate
76
89
  whether the report is sent.
77
90
 
78
91
  ```text
79
- npx --yes copilotkit@4.9.50 onboard friction --category <slug> --cost-seconds <seconds>
92
+ npx --yes copilotkit@4.10.0 onboard friction --category <slug> --cost-seconds <seconds>
80
93
  ```
81
94
 
82
95
  Write one or two sentences on the command's standard input. Pick one category from
@@ -88,7 +101,7 @@ Pass --docs-path only for a docs-missing or docs-wrong report, naming the page t
88
101
  is about:
89
102
 
90
103
  ```text
91
- npx --yes copilotkit@4.9.50 onboard friction --category docs-wrong --cost-seconds 300 --docs-path /docs/threads/drawer
104
+ npx --yes copilotkit@4.10.0 onboard friction --category docs-wrong --cost-seconds 300 --docs-path /docs/threads/drawer
92
105
  ```
93
106
 
94
107
  Give the page's site-relative path or its full URL, with no spaces, query string, or
@@ -102,17 +115,17 @@ a failed step and not a failed onboarding run. Reword it and send it again, or m
102
115
  on. A run that proves a round trip is complete whether or not it reported friction.
103
116
 
104
117
  Tell the developer when you send a friction report. Do not quote or summarize the report
105
- unless the developer asks. If the CLI says that telemetry is disabled or unavailable,
106
- state that the report was not sent and continue without another question.
118
+ unless the developer asks. If the CLI says the report was not sent,
119
+ state what it said and continue without another question.
107
120
 
108
- When the evidence is gathered, run `npx --yes copilotkit@4.9.50 onboard complete`, carrying
121
+ When the evidence is gathered, run `npx --yes copilotkit@4.10.0 onboard complete`, carrying
109
122
  the surface-check outcome the proof subagent returned. Pass exactly one flag, and pass the
110
123
  one that matches this journey's surface.
111
124
 
112
125
  For a web frontend -- React SPA, Next.js, Angular, Vue:
113
126
 
114
127
  ```text
115
- npx --yes copilotkit@4.9.50 onboard complete --visual-check <outcome>
128
+ npx --yes copilotkit@4.10.0 onboard complete --visual-check <outcome>
116
129
  ```
117
130
 
118
131
  The outcome is one of `performed`, `skipped-no-browser-tool`, or `failed`.
@@ -120,7 +133,7 @@ The outcome is one of `performed`, `skipped-no-browser-tool`, or `failed`.
120
133
  For React Native:
121
134
 
122
135
  ```text
123
- npx --yes copilotkit@4.9.50 onboard complete --device-check <outcome>
136
+ npx --yes copilotkit@4.10.0 onboard complete --device-check <outcome>
124
137
  ```
125
138
 
126
139
  The outcome is one of `performed`, `skipped-no-device`, or `failed`.
@@ -132,7 +145,7 @@ browser-origin CORS, so the flag you pass is how this run states which surface i
132
145
  For a web frontend, also pass the URL the browser opened:
133
146
 
134
147
  ```text
135
- npx --yes copilotkit@4.9.50 onboard complete --visual-check <outcome> \
148
+ npx --yes copilotkit@4.10.0 onboard complete --visual-check <outcome> \
136
149
  --frontend-url <the url you opened>
137
150
  ```
138
151
 
@@ -151,7 +164,7 @@ If the round trip proved and something after it still blocked this run, add `--b
151
164
  to the same command:
152
165
 
153
166
  ```text
154
- npx --yes copilotkit@4.9.50 onboard complete --visual-check performed --blocked-by <cause>
167
+ npx --yes copilotkit@4.10.0 onboard complete --visual-check performed --blocked-by <cause>
155
168
  ```
156
169
 
157
170
  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.9.50 onboard read subagent/prove-oss-baseline` first and follow the
4
+ `npx --yes copilotkit@4.10.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.9.50 onboard proof --step oss-baseline --outcome <passed|failed|skipped> [--predicate <1-6>]
20
+ npx --yes copilotkit@4.10.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,14 +35,24 @@ 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.9.50 onboard read conversion/plan`. That project already works.
38
+ `npx --yes copilotkit@4.10.0 onboard read conversion/plan`. That project already works.
39
39
  What it needs is the conversion, not a build.
40
40
 
41
- If it proves another supported starting state, record that state and run
42
- `npx --yes copilotkit@4.9.50 onboard read credentials/plan`. This prompt is served
41
+ If the proof does not establish the baseline, record the starting state
42
+ `both-copilotkit-unproved` and run
43
+ `npx --yes copilotkit@4.10.0 onboard read credentials/plan`. This prompt is served
43
44
  whenever a project looks like an OSS integration, so a baseline that did not prove is an
44
- ordinary starting state rather than a failure.
45
+ ordinary starting state rather than a failure. Keep the failing predicate with the plan.
46
+
47
+ Do not record a state that says the CopilotKit integration is absent. This prompt is
48
+ reached only when the merged findings prove that the integration is there, so `both` is
49
+ a different project from this one, and `classify` refuses it later in the run.
50
+
51
+ Where the proof fails predicate 3, the live runtime already holds an Intelligence
52
+ client. Say so in the plan. Part of the work this run exists for is in place already,
53
+ and the plan preserves it rather than repeating it.
45
54
 
46
55
  If it cannot identify the running process safely, exposes a secret, or finds a baseline
47
56
  failure that cannot be classified, run
48
- `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
57
+ `npx --yes copilotkit@4.10.0 onboard read stopped/run-failed`. None of those mean the
58
+ project is unsupported: they mean this run did not establish what it needed to.