copilotkit 4.17.0 → 4.19.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 (81) hide show
  1. package/README.md +133 -6
  2. package/cli-build-info.json +7 -7
  3. package/exporters/langgraph/README.md +118 -0
  4. package/exporters/langgraph/export_checkpointer.py +125 -0
  5. package/index.js +13382 -9313
  6. package/onboarding/index.json +1 -1
  7. package/onboarding/prompts/authenticate/start.md +31 -23
  8. package/onboarding/prompts/conversion/plan.md +3 -3
  9. package/onboarding/prompts/credentials/finalize-plan.md +57 -200
  10. package/onboarding/prompts/credentials/plan.md +50 -23
  11. package/onboarding/prompts/credentials/settle-credentials.md +56 -217
  12. package/onboarding/prompts/credentials/write-plan.md +17 -8
  13. package/onboarding/prompts/fallback/best-effort.md +36 -24
  14. package/onboarding/prompts/feature/a2ui/implement.md +7 -7
  15. package/onboarding/prompts/feature/a2ui/proof.md +8 -8
  16. package/onboarding/prompts/feature/a2ui/start.md +53 -9
  17. package/onboarding/prompts/feature/channels/implement.md +8 -8
  18. package/onboarding/prompts/feature/channels/proof.md +7 -7
  19. package/onboarding/prompts/feature/channels/start.md +50 -7
  20. package/onboarding/prompts/feature/chat-suggestions/implement.md +7 -7
  21. package/onboarding/prompts/feature/chat-suggestions/proof.md +7 -7
  22. package/onboarding/prompts/feature/chat-suggestions/start.md +50 -7
  23. package/onboarding/prompts/feature/complete.md +2 -2
  24. package/onboarding/prompts/feature/learning/implement.md +24 -19
  25. package/onboarding/prompts/feature/learning/proof.md +8 -8
  26. package/onboarding/prompts/feature/learning/start.md +43 -20
  27. package/onboarding/prompts/feature/open-generative-ui/implement.md +7 -7
  28. package/onboarding/prompts/feature/open-generative-ui/proof.md +7 -7
  29. package/onboarding/prompts/feature/open-generative-ui/start.md +50 -7
  30. package/onboarding/prompts/feature/realtime-sync/implement.md +8 -8
  31. package/onboarding/prompts/feature/realtime-sync/proof.md +7 -7
  32. package/onboarding/prompts/feature/realtime-sync/start.md +49 -6
  33. package/onboarding/prompts/feature/rich-threads/implement.md +9 -9
  34. package/onboarding/prompts/feature/rich-threads/proof.md +7 -7
  35. package/onboarding/prompts/feature/rich-threads/start.md +49 -6
  36. package/onboarding/prompts/feature/stop.md +5 -5
  37. package/onboarding/prompts/feature/voice/implement.md +7 -7
  38. package/onboarding/prompts/feature/voice/proof.md +7 -7
  39. package/onboarding/prompts/feature/voice/start.md +50 -7
  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 +2 -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 +2 -2
  47. package/onboarding/prompts/framework/google-adk.md +2 -2
  48. package/onboarding/prompts/framework/langgraph-fastapi.md +2 -2
  49. package/onboarding/prompts/framework/langgraph-python.md +2 -2
  50. package/onboarding/prompts/framework/langgraph-typescript.md +2 -2
  51. package/onboarding/prompts/framework/llamaindex.md +2 -2
  52. package/onboarding/prompts/framework/mastra.md +2 -2
  53. package/onboarding/prompts/framework/ms-agent-dotnet.md +8 -3
  54. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +8 -3
  55. package/onboarding/prompts/framework/ms-agent-python.md +2 -2
  56. package/onboarding/prompts/framework/pydantic-ai.md +2 -2
  57. package/onboarding/prompts/framework/strands-python.md +2 -2
  58. package/onboarding/prompts/framework/strands-typescript.md +2 -2
  59. package/onboarding/prompts/frontend/angular.md +3 -3
  60. package/onboarding/prompts/frontend/nextjs.md +3 -3
  61. package/onboarding/prompts/frontend/plan.md +9 -8
  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 +27 -20
  66. package/onboarding/prompts/proof/complete.md +35 -19
  67. package/onboarding/prompts/proof/oss-baseline.md +5 -5
  68. package/onboarding/prompts/proof/round-trip.md +29 -20
  69. package/onboarding/prompts/research/gather.md +6 -6
  70. package/onboarding/prompts/research/merge.md +5 -4
  71. package/onboarding/prompts/research/preflight.md +15 -50
  72. package/onboarding/prompts/research/route.md +7 -6
  73. package/onboarding/prompts/starter/clone.md +8 -7
  74. package/onboarding/prompts/stopped/run-failed.md +4 -4
  75. package/onboarding/prompts/subagent/create-plan.md +19 -1
  76. package/onboarding/prompts/subagent/inspect-repository.md +18 -3
  77. package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
  78. package/onboarding/prompts/subagent/prove-round-trip.md +106 -62
  79. package/onboarding/prompts/unsupported/no-validated-path.md +4 -4
  80. package/package.json +1 -1
  81. package/release/release-tool.js +28 -5
@@ -19,7 +19,7 @@ Record the selected framework, vendor, model, required credential variable names
19
19
  these URLs.
20
20
 
21
21
  If the pages support the selection, run
22
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/plan`.
22
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/plan`.
23
23
 
24
24
  If the documentation does not support the selection, run
25
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
25
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.
@@ -19,7 +19,7 @@ Record the selected framework, vendor, model, required credential variable names
19
19
  these URLs.
20
20
 
21
21
  If the pages support the selection, run
22
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/plan`.
22
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/plan`.
23
23
 
24
24
  If the documentation does not support the selection, run
25
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
25
+ `npx --prefer-offline --yes copilotkit@4.19.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 --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/plan`.
37
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/plan`.
38
38
 
39
39
  If the documentation does not support the selection, run
40
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
40
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.
@@ -47,7 +47,7 @@ Record the selected framework, vendor, model, required credential variable names
47
47
  these URLs.
48
48
 
49
49
  If the pages support the selection, run
50
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/plan`.
50
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/plan`.
51
51
 
52
52
  If the documentation does not support the selection, run
53
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
53
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.
@@ -11,7 +11,12 @@ For a user secret, run `dotnet user-secrets set OPENAI_API_KEY` from the agent d
11
11
  The app must read the same name through .NET configuration. An exported environment
12
12
  variable with that name takes precedence over the user secret.
13
13
 
14
- Run `dotnet --version` before you change the project.
14
+ Run `dotnet --version` before you change the project. If it fails, no .NET SDK is on this
15
+ shell's PATH. Do not change the project, and do not install the SDK yourself. Tell the
16
+ developer to install the .NET SDK from https://dotnet.microsoft.com/download. Say that the
17
+ coding agent's shell cannot see a new install until the developer restarts the coding
18
+ agent. Give them `npx --prefer-offline --yes copilotkit@4.19.0 onboard start --run <onboarding_run_id>`
19
+ to resume the run after the restart. Then end your turn and wait for the developer.
15
20
 
16
21
  ## Documentation
17
22
 
@@ -36,7 +41,7 @@ Record the selected framework, provider, model, required credential variable nam
36
41
  these URLs.
37
42
 
38
43
  If the pages support the selection, run
39
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/plan`.
44
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/plan`.
40
45
 
41
46
  If the documentation does not support the selection, run
42
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
47
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.
@@ -5,7 +5,12 @@ Use direct OpenAI for a new setup. Name its credential `OPENAI_API_KEY`.
5
5
 
6
6
  For a user secret, run `dotnet user-secrets set OPENAI_API_KEY` from the agent directory.
7
7
  The app must read the same name through .NET configuration. Run `dotnet --version` before
8
- you change the project.
8
+ you change the project. If it fails, no .NET SDK is on this shell's PATH. Do not change
9
+ the project, and do not install the SDK yourself. Tell the developer to install the .NET
10
+ SDK from https://dotnet.microsoft.com/download. Say that the coding agent's shell cannot
11
+ see a new install until the developer restarts the coding agent. Give them
12
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard start --run <onboarding_run_id>` to resume the run
13
+ after the restart. Then end your turn and wait for the developer.
9
14
 
10
15
  ## Documentation
11
16
 
@@ -44,7 +49,7 @@ Record the selected framework, provider, model, required credential variable nam
44
49
  URLs, and the quickstart gap.
45
50
 
46
51
  If the pages support the selection, run
47
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/plan`.
52
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/plan`.
48
53
 
49
54
  If the documentation does not support the selection, run
50
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
55
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.
@@ -30,7 +30,7 @@ Record the selected framework, vendor, model, required credential variable names
30
30
  these URLs.
31
31
 
32
32
  If the pages support the selection, run
33
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/plan`.
33
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/plan`.
34
34
 
35
35
  If the documentation does not support the selection, run
36
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
36
+ `npx --prefer-offline --yes copilotkit@4.19.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 --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/plan`.
46
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/plan`.
47
47
 
48
48
  If the documentation does not support the selection, run
49
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
49
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.
@@ -29,7 +29,7 @@ Record the selected framework, vendor, model, required credential variable names
29
29
  URLs, and the context documentation gap.
30
30
 
31
31
  If the pages support the selection, run
32
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/plan`.
32
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/plan`.
33
33
 
34
34
  If the documentation does not support the selection, run
35
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
35
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.
@@ -30,7 +30,7 @@ Record the selected framework, vendor, model, required credential variable names
30
30
  URLs, and the context documentation gap.
31
31
 
32
32
  If the pages support the selection, run
33
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/plan`.
33
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/plan`.
34
34
 
35
35
  If the documentation does not support the selection, run
36
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
36
+ `npx --prefer-offline --yes copilotkit@4.19.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 holds no
6
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 --prefer-offline --yes copilotkit@4.17.0 onboard read starter/clone` before you fetch documentation.
8
+ `npx --prefer-offline --yes copilotkit@4.19.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 --prefer-offline --yes copilotkit@4.17.0 onboard read credentials/finalize-plan`.
66
+ `npx --prefer-offline --yes copilotkit@4.19.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 --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
69
+ together, run `npx --prefer-offline --yes copilotkit@4.19.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 --prefer-offline --yes copilotkit@4.17.0 onboard read starter/clone` before you fetch documentation.
18
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read starter/clone` before you fetch documentation.
19
19
 
20
20
  ## Documentation
21
21
 
@@ -40,7 +40,7 @@ developer's work.
40
40
  - Do not claim, revert, or delete these files. Name them in the report as Next.js output.
41
41
 
42
42
  If the page supports the selection, record Next.js and this URL. Then run
43
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read credentials/finalize-plan`.
43
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read credentials/finalize-plan`.
44
44
 
45
45
  If the documentation does not support the selection, run
46
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
46
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.
@@ -28,7 +28,8 @@ needs a frontend, show the valid choices and one recommendation based on reposit
28
28
  evidence, then ask the developer to choose.
29
29
 
30
30
  The valid choices are React SPA, Next.js, Angular, Vue 3, React Native, Slack, and
31
- Microsoft Teams. They are valid in every starting state. Do not show the internal route.
31
+ Microsoft Teams. They are valid in every starting state. Route names are this graph's own
32
+ bookkeeping. Say what the run is doing in the developer's words instead.
32
33
 
33
34
  Recommend the frontend the project already uses. Where there is no existing frontend,
34
35
  include Slack and Microsoft Teams in the frontend question. They are chat UIs, not
@@ -36,15 +37,15 @@ CopilotKit web apps. Then recommend the one the developer names, and say what ea
36
37
 
37
38
  Use exactly one matching internal route:
38
39
 
39
- 1. React SPA: `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/react-spa`
40
- 2. Next.js: `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/nextjs`
41
- 3. Angular: `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/angular`
42
- 4. Vue 3: `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/vue`
43
- 5. React Native: `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/react-native`
44
- 6. Slack or Microsoft Teams: `npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/channels/start`
40
+ 1. React SPA: `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/react-spa`
41
+ 2. Next.js: `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/nextjs`
42
+ 3. Angular: `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/angular`
43
+ 4. Vue 3: `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/vue`
44
+ 5. React Native: `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/react-native`
45
+ 6. Slack or Microsoft Teams: `npx --prefer-offline --yes copilotkit@4.19.0 onboard read feature/channels/start`
45
46
 
46
47
  If they chose Slack or Microsoft Teams, tell that node which one they chose so it
47
48
  does not ask again.
48
49
 
49
50
  If no listed frontend fits, run
50
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
51
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.
@@ -18,7 +18,7 @@ documents `useRenderTool`, which is React Native's own hook for drawing a tool t
18
18
  already has. That is a different job and needs a tool in the agent.
19
19
 
20
20
  If the pages support the selection, record React Native and these URLs. Then run
21
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read credentials/finalize-plan`.
21
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read credentials/finalize-plan`.
22
22
 
23
23
  If the documentation does not support the selection, run
24
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
24
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.
@@ -14,7 +14,7 @@ not move the agent into it.
14
14
  - https://docs.copilotkit.ai/react-spa.md
15
15
 
16
16
  If the page supports the selection, record React SPA and this URL. Then run
17
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read credentials/finalize-plan`.
17
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read credentials/finalize-plan`.
18
18
 
19
19
  If the documentation does not support the selection, run
20
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
20
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.
@@ -19,7 +19,7 @@ page above. Vue has its own `useComponent`, which is not the React package. Take
19
19
  that reference page rather than from a Vue generative-UI guide, which is not published.
20
20
 
21
21
  If the pages support the selection, record Vue 3 and these URLs. Then run
22
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read credentials/finalize-plan`.
22
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read credentials/finalize-plan`.
23
23
 
24
24
  If the documentation does not support the selection, run
25
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
25
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.
@@ -6,14 +6,13 @@ Do not implement the plan yourself. Use the step order in the approved plan.
6
6
 
7
7
  Two rules below stop onboarding: a Learning Container create that fails for a reason other
8
8
  than the container already existing, and a `--accept-credential` refusal that names a lost
9
- variable. Each one ends a run the developer has already approved a plan for. Name the
10
- exact command, id, and error code that stopped you: a report that names only the step
11
- cannot be acted on. Send one short report before you stop. Run the friction
12
- command without another developer question. Do not ask the developer about telemetry: the
13
- command applies the setting they already have.
9
+ variable. Each one ends a run the developer has already approved a plan for. Name the exact
10
+ command, id, and error code that stopped you: a report that names only the step cannot be
11
+ acted on. Send one short report before you stop. The friction command follows the telemetry
12
+ setting the developer already chose, so it needs no separate question.
14
13
 
15
14
  ```text
16
- npx --prefer-offline --yes copilotkit@4.17.0 onboard friction --phase stop --category <slug> --message "<sentences>"
15
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard friction --phase stop --category <slug> --message "<sentences>"
17
16
  ```
18
17
 
19
18
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -68,7 +67,7 @@ Approving the plan is the developer agreeing to every path it listed under
68
67
  app directory:
69
68
 
70
69
  ```text
71
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
70
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
72
71
  ```
73
72
 
74
73
  Consent has to be on the record before the file moves, so a call made after the change is
@@ -96,7 +95,7 @@ No implementation step has run yet, so the change is theirs rather than this run
96
95
  consent over it by adding one flag:
97
96
 
98
97
  ```text
99
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>" --with-prior-change
98
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>" --with-prior-change
100
99
  ```
101
100
 
102
101
  The flag records their change as drift beside the consent, so the closing report names both
@@ -116,7 +115,7 @@ audit below describes, rather than use this section.
116
115
  Run the audit from the target app directory:
117
116
 
118
117
  ```text
119
- npx --prefer-offline --yes copilotkit@4.17.0 onboard audit
118
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard audit
120
119
  ```
121
120
 
122
121
  It compares every protected path with the digest the CLI captured for it. Its result starts
@@ -151,14 +150,14 @@ A path that no Files changed section names changed outside the run, and it is th
151
150
  developer's own file. Accept it by name:
152
151
 
153
152
  ```text
154
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --accept-external --path <path>
153
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard protect --accept-external --path <path>
155
154
  ```
156
155
 
157
156
  A changed env file is its own case. This run asked the developer to place a credential
158
157
  there, so it takes the credential route rather than this one:
159
158
 
160
159
  ```text
161
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --accept-credential --path <path>
160
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard protect --accept-credential --path <path>
162
161
  ```
163
162
 
164
163
  That route proves no recorded credential was lost, instead of taking the run's word that it
@@ -177,7 +176,7 @@ neither does a one-line fix. Never repair, reset, or revert it. Ask the develope
177
176
  the change, and record the answer they give:
178
177
 
179
178
  ```text
180
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
179
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
181
180
  ```
182
181
 
183
182
  Use it only for an answer a developer actually gave. It records the consent as taken
@@ -189,6 +188,14 @@ and spawn a fresh implementation subagent with the same handoff and that list. I
189
188
  audit starts with `Status: blocked`, use the route-out rules instead. A subagent
190
189
  that already returned cannot pick up consent recorded after it was spawned.
191
190
 
191
+ A failed audit can also list project files that name a credential file outside the
192
+ repository. Such a file is not a protected path, and no route accepts it. It ties the commit
193
+ to a folder in the developer's home directory, so the app has no model key on any other
194
+ machine. Spawn a fresh implementation subagent with the same handoff and this one change:
195
+ remove the outside path, and load the key the way the approved plan says, from the app's
196
+ env file or from an environment variable. Then run the audit again. If the file is a
197
+ protected path, or the plan names no other way to load the key, use the route-out rules.
198
+
192
199
  `Status: blocked` means the audit has no baseline to read. A blocked audit compared
193
200
  nothing and proved nothing changed. It is not a preservation failure: do not report a
194
201
  protected path as changed. Report the printed reason and use the route-out rules.
@@ -204,7 +211,7 @@ create it now, from the target app directory. The developer approved the id befo
204
211
  made, so this is the first point at which it can be created:
205
212
 
206
213
  ```text
207
- npx --prefer-offline --yes copilotkit@4.17.0 learning containers create --id <id> --name <name> --json
214
+ npx --prefer-offline --yes copilotkit@4.19.0 learning containers create --id <id> --name <name> --json
208
215
  ```
209
216
 
210
217
  Pass the id the plan names. Take the name from the selected project's own display name, so
@@ -220,7 +227,7 @@ hold.
220
227
  Then report that the container is settled, before any edit:
221
228
 
222
229
  ```text
223
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase container-settled
230
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase container-settled
224
231
  ```
225
232
 
226
233
  Where the plan names a container the platform already held, report the same checkpoint and
@@ -231,11 +238,11 @@ create nothing. Where the plan names no container, skip this section.
231
238
  Report the plan this run is about to implement:
232
239
 
233
240
  ```text
234
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase plan-written
241
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase plan-written
235
242
  ```
236
243
 
237
244
  Spawn one implementation subagent. Tell it to run
238
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read subagent/implement-and-validate` first and follow
245
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read subagent/implement-and-validate` first and follow
239
246
  the prompt it returns. If that read fails because the subagent cannot use the shell, stop that
240
247
  subagent. Run the same command yourself, then spawn a fresh subagent with the returned prompt
241
248
  and the same handoff. Give it the plan, selected framework, frontend, model, exact target app
@@ -264,11 +271,11 @@ returned. Continue to proof only when that audit passes.
264
271
  After the selected implementation path passes, report it:
265
272
 
266
273
  ```text
267
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase build-validated
274
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase build-validated
268
275
  ```
269
276
 
270
277
  Then run
271
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read proof/round-trip`.
278
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read proof/round-trip`.
272
279
 
273
280
  ## Repair rules
274
281
 
@@ -294,9 +301,9 @@ the same command still fails after three repair attempts, a result starts with
294
301
  declined a file the plan does not name, or the run cannot ask them about it. A defect in a
295
302
  package this run installed is not a stack CopilotKit does not serve, a command this run cannot get to pass is not one either, and a blocked audit
296
303
  proved nothing about the stack. In those cases run
297
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read stopped/run-failed`.
304
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read stopped/run-failed`.
298
305
 
299
306
  A plan with no path to follow takes the unsupported ending: the fix requires changing the
300
307
  developer's existing agent or frontend, or the documentation does not support the plan. In
301
308
  those cases run
302
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
309
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.
@@ -8,12 +8,16 @@ Do not complete onboarding without this evidence.
8
8
  Report whether the real UI was driven on this journey's own surface -- in a browser for a
9
9
  web frontend, on a device for React Native -- using the outcome the proof subagent
10
10
  returned. Do not soften it and do not leave it out: a run that never drove the UI proved
11
- the agent, not the surface, and the developer needs to know which they have.
11
+ the agent, not the surface, and the developer needs to know which they have. For
12
+ `skipped-no-browser-tool`, the command's list of what no browser checked is that report. Give
13
+ it once, in the section about what was proved. Do not add a separate line, heading, or
14
+ opening sentence about the missing browser.
12
15
 
13
16
  **Whether this run is complete is decided by the command at the end of this prompt, not
14
17
  here.** Run it before you write the summary, and let its output decide which summary you
15
18
  write. A run whose surface was never driven is blocked, not complete, unless it cloned a
16
- starter and records `skipped-cloned-starter`. For a blocked run, say so in the first
19
+ starter and records `skipped-cloned-starter`, or had no browser tool loaded, records
20
+ `skipped-no-browser-tool`, and recorded a passed round trip. For a blocked run, say so in the first
17
21
  line, name the evidence the command lists as missing, and do not describe the run as
18
22
  finished, working, or ready. Everything else below applies to either outcome.
19
23
 
@@ -85,7 +89,7 @@ Name the debugging surface this journey's frontend can reach, rather than the on
85
89
  of the documentation leads with. For a web frontend it is the CopilotKit Inspector. For
86
90
  React Native there is no Inspector: it is a browser overlay built on a DOM custom element,
87
91
  and `@copilotkit/react-native` does not ship it. Give a mobile developer
88
- `npx --prefer-offline --yes copilotkit@4.17.0 verify --round-trip`, the runtime's own log, the AG-UI
92
+ `npx --prefer-offline --yes copilotkit@4.19.0 verify --round-trip`, the runtime's own log, the AG-UI
89
93
  Event Inspector in the CopilotKit VS Code extension, and the CopilotKit Intelligence
90
94
  thread view
91
95
  instead. Naming the Inspector to a developer who cannot open it costs them the time it
@@ -115,12 +119,12 @@ Learning Container. The servers end when that host ends, and a `localhost` URL o
115
119
  developer's machine only through a forwarded port. Write the items that output lists in
116
120
  place of this sentence.
117
121
 
118
- Report each thing that slowed this run down. Send at most four reports, worst first. Run
119
- the friction commands without another developer question. Do not ask the developer about
120
- telemetry: the command applies the setting they already have.
122
+ Report each thing that slowed this run down. Send at most four reports, worst first. The
123
+ friction commands follow the telemetry setting the developer already chose, so they need no
124
+ separate question.
121
125
 
122
126
  ```text
123
- npx --prefer-offline --yes copilotkit@4.17.0 onboard friction --category <slug> --cost-seconds <seconds> --message "<sentences>"
127
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard friction --category <slug> --cost-seconds <seconds> --message "<sentences>"
124
128
  ```
125
129
 
126
130
  Put one or two sentences in `--message`. Pick one category from
@@ -132,7 +136,7 @@ Pass --docs-path only for a docs-missing or docs-wrong report, naming the page t
132
136
  is about:
133
137
 
134
138
  ```text
135
- npx --prefer-offline --yes copilotkit@4.17.0 onboard friction --category docs-wrong --cost-seconds 300 --docs-path /docs/threads/drawer --message "<sentences>"
139
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard friction --category docs-wrong --cost-seconds 300 --docs-path /docs/threads/drawer --message "<sentences>"
136
140
  ```
137
141
 
138
142
  Give the page's site-relative path or its full URL, with no spaces, query string, or
@@ -149,24 +153,28 @@ Tell the developer when you send a friction report. Do not quote or summarize th
149
153
  unless the developer asks. If the CLI says the report was not sent,
150
154
  state what it said and continue without another question.
151
155
 
152
- When the evidence is gathered, run `npx --prefer-offline --yes copilotkit@4.17.0 onboard complete`, carrying
156
+ When the evidence is gathered, run `npx --prefer-offline --yes copilotkit@4.19.0 onboard complete`, carrying
153
157
  the surface-check outcome the proof subagent returned. Pass exactly one of `--visual-check`
154
158
  or `--device-check`, and pass the one that matches this journey's surface.
155
159
 
156
160
  For a web frontend -- React SPA, Next.js, Angular, Vue:
157
161
 
158
162
  ```text
159
- npx --prefer-offline --yes copilotkit@4.17.0 onboard complete --visual-check <outcome>
163
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard complete --visual-check <outcome>
160
164
  ```
161
165
 
162
166
  The outcome is one of `performed`, `skipped-no-browser-tool`, `skipped-cloned-starter`, or
163
167
  `failed`. Use `skipped-cloned-starter` only for a run that cloned a starter and was told to
164
- open no browser. It is the one skip that does not block.
168
+ open no browser. Use `skipped-no-browser-tool` for a run with no browser tool loaded in this
169
+ session. `skipped-cloned-starter` does not block. `skipped-no-browser-tool` does not block
170
+ when this run recorded a passed round trip with `onboard proof`. The command then prints
171
+ what no browser checked and how to add a browser for the next session. Put each in the
172
+ summary once, as the command prints it.
165
173
 
166
174
  For React Native:
167
175
 
168
176
  ```text
169
- npx --prefer-offline --yes copilotkit@4.17.0 onboard complete --device-check <outcome>
177
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard complete --device-check <outcome>
170
178
  ```
171
179
 
172
180
  The outcome is one of `performed`, `skipped-no-device`, `skipped-cloned-starter`, or
@@ -179,7 +187,7 @@ browser-origin CORS, so the flag you pass is how this run states which surface i
179
187
  For a web frontend, also pass the URL the browser opened:
180
188
 
181
189
  ```text
182
- npx --prefer-offline --yes copilotkit@4.17.0 onboard complete --visual-check <outcome> \
190
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard complete --visual-check <outcome> \
183
191
  --frontend-url <the url you opened>
184
192
  ```
185
193
 
@@ -189,9 +197,9 @@ name -- and never the host itself. A run that opened the loopback IP literal los
189
197
  static chunk to a refusal, and the field is how that stops being invisible. Leave the flag
190
198
  off for React Native, which opens no URL.
191
199
 
192
- Pass the outcome you were given rather than the one you wanted. Anything but `performed` or
193
- `skipped-cloned-starter` prints what the missing check leaves unverified and ends this run
194
- as blocked. That output
200
+ Pass the outcome you were given rather than the one you wanted. `failed` and
201
+ `skipped-no-device` print what the missing check leaves unverified and end this run as
202
+ blocked. That output
195
203
  is the developer's finding, so carry it into the summary rather than restating it as a
196
204
  smaller caveat.
197
205
 
@@ -199,13 +207,21 @@ If the round trip proved and something after it still blocked this run, add `--b
199
207
  to the same command:
200
208
 
201
209
  ```text
202
- npx --prefer-offline --yes copilotkit@4.17.0 onboard complete --visual-check performed --blocked-by <cause>
210
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard complete --visual-check performed --blocked-by <cause>
203
211
  ```
204
212
 
205
213
  The cause is one of `inspector` for a debugging surface that did not open,
206
214
  `plan-excluded-capability` for a capability the approved plan had already excluded for this
207
- framework, and `other` for anything else. Pick `other` rather than leaving the flag off.
208
- The command ends the run as blocked and prints what the blocker leaves unverified.
215
+ framework, `browser-control-unresponsive` for a browser tool that stopped answering during
216
+ the surface check, and `other` for anything else. Pick `other` rather than leaving the flag
217
+ off. The command ends the run as blocked and prints what the blocker leaves unverified.
218
+
219
+ `browser-control-unresponsive` is the one cause that goes with the failed check, because
220
+ nothing drove the frontend:
221
+
222
+ ```text
223
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard complete --visual-check failed --blocked-by browser-control-unresponsive
224
+ ```
209
225
 
210
226
  The managed Intelligence dashboard is not among these, because nothing in this graph asks a
211
227
  run to open it. A run that records a blocker for a surface it was never sent to looks worse
@@ -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 --prefer-offline --yes copilotkit@4.17.0 onboard read subagent/prove-oss-baseline` first and follow the
4
+ `npx --prefer-offline --yes copilotkit@4.19.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 --prefer-offline --yes copilotkit@4.17.0 onboard proof --step oss-baseline --outcome <passed|failed|skipped> [--predicate <1-6>]
20
+ npx --prefer-offline --yes copilotkit@4.19.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. Use the list below. A proof that never ran is `skipped`, not failed. The command prints one line and sends
@@ -39,12 +39,12 @@ Do not change project files before this proof ends. Starting existing developmen
39
39
  processes and their ignored runtime files is allowed.
40
40
 
41
41
  If the subagent proves the `both-oss` predicate, keep its evidence with the plan and run
42
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read conversion/plan`. That project already works.
42
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read conversion/plan`. That project already works.
43
43
  What it needs is the conversion, not a build.
44
44
 
45
45
  If the proof does not establish the baseline, record the starting state
46
46
  `both-copilotkit-unproved` and run
47
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read credentials/plan`. This prompt is served
47
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read credentials/plan`. This prompt is served
48
48
  whenever a project looks like an OSS integration, so a baseline that did not prove is an
49
49
  ordinary starting state rather than a failure. Keep the failing predicate with the plan.
50
50
 
@@ -58,5 +58,5 @@ and the plan preserves it rather than repeating it.
58
58
 
59
59
  If it cannot identify the running process safely, exposes a secret, or finds a baseline
60
60
  failure that cannot be classified, run
61
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read stopped/run-failed`. None of those mean the
61
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read stopped/run-failed`. None of those mean the
62
62
  project is unsupported: they mean this run did not establish what it needed to.