copilotkit 4.12.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 (80) hide show
  1. package/README.md +10 -0
  2. package/cli-build-info.json +8 -8
  3. package/index.js +1015 -123
  4. package/onboarding/index.json +20 -2
  5. package/onboarding/prompts/authenticate/start.md +38 -33
  6. package/onboarding/prompts/conversion/plan.md +3 -3
  7. package/onboarding/prompts/credentials/finalize-plan.md +7 -7
  8. package/onboarding/prompts/credentials/plan.md +26 -20
  9. package/onboarding/prompts/credentials/settle-credentials.md +8 -8
  10. package/onboarding/prompts/credentials/write-plan.md +19 -6
  11. package/onboarding/prompts/fallback/best-effort.md +6 -6
  12. package/onboarding/prompts/feature/a2ui/implement.md +6 -6
  13. package/onboarding/prompts/feature/a2ui/proof.md +6 -6
  14. package/onboarding/prompts/feature/a2ui/start.md +7 -7
  15. package/onboarding/prompts/feature/channels/implement.md +67 -12
  16. package/onboarding/prompts/feature/channels/proof.md +13 -6
  17. package/onboarding/prompts/feature/channels/start.md +27 -10
  18. package/onboarding/prompts/feature/chat-suggestions/implement.md +6 -6
  19. package/onboarding/prompts/feature/chat-suggestions/proof.md +6 -6
  20. package/onboarding/prompts/feature/chat-suggestions/start.md +7 -7
  21. package/onboarding/prompts/feature/complete.md +1 -1
  22. package/onboarding/prompts/feature/learning/implement.md +15 -15
  23. package/onboarding/prompts/feature/learning/proof.md +7 -7
  24. package/onboarding/prompts/feature/learning/start.md +8 -8
  25. package/onboarding/prompts/feature/open-generative-ui/implement.md +6 -6
  26. package/onboarding/prompts/feature/open-generative-ui/proof.md +6 -6
  27. package/onboarding/prompts/feature/open-generative-ui/start.md +7 -7
  28. package/onboarding/prompts/feature/realtime-sync/implement.md +7 -7
  29. package/onboarding/prompts/feature/realtime-sync/proof.md +6 -6
  30. package/onboarding/prompts/feature/realtime-sync/start.md +6 -6
  31. package/onboarding/prompts/feature/rich-threads/implement.md +8 -8
  32. package/onboarding/prompts/feature/rich-threads/proof.md +6 -6
  33. package/onboarding/prompts/feature/rich-threads/start.md +6 -6
  34. package/onboarding/prompts/feature/stop.md +2 -2
  35. package/onboarding/prompts/feature/voice/implement.md +6 -6
  36. package/onboarding/prompts/feature/voice/proof.md +6 -6
  37. package/onboarding/prompts/feature/voice/start.md +7 -7
  38. package/onboarding/prompts/framework/ag2.md +2 -2
  39. package/onboarding/prompts/framework/agno.md +2 -2
  40. package/onboarding/prompts/framework/built-in.md +4 -2
  41. package/onboarding/prompts/framework/claude-sdk-python.md +2 -2
  42. package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
  43. package/onboarding/prompts/framework/crewai-flows.md +2 -2
  44. package/onboarding/prompts/framework/deep-agents.md +5 -2
  45. package/onboarding/prompts/framework/google-adk.md +4 -2
  46. package/onboarding/prompts/framework/langgraph-fastapi.md +4 -3
  47. package/onboarding/prompts/framework/langgraph-python.md +6 -2
  48. package/onboarding/prompts/framework/langgraph-typescript.md +6 -2
  49. package/onboarding/prompts/framework/llamaindex.md +2 -2
  50. package/onboarding/prompts/framework/mastra.md +4 -2
  51. package/onboarding/prompts/framework/ms-agent-dotnet.md +4 -2
  52. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +2 -2
  53. package/onboarding/prompts/framework/ms-agent-python.md +4 -2
  54. package/onboarding/prompts/framework/pydantic-ai.md +2 -2
  55. package/onboarding/prompts/framework/strands-python.md +4 -2
  56. package/onboarding/prompts/framework/strands-typescript.md +4 -2
  57. package/onboarding/prompts/frontend/angular.md +3 -3
  58. package/onboarding/prompts/frontend/nextjs.md +3 -3
  59. package/onboarding/prompts/frontend/plan.md +21 -10
  60. package/onboarding/prompts/frontend/react-native.md +2 -2
  61. package/onboarding/prompts/frontend/react-spa.md +2 -2
  62. package/onboarding/prompts/frontend/vue.md +2 -2
  63. package/onboarding/prompts/implementation/build-and-validate.md +33 -15
  64. package/onboarding/prompts/proof/complete.md +35 -16
  65. package/onboarding/prompts/proof/oss-baseline.md +5 -5
  66. package/onboarding/prompts/proof/round-trip.md +23 -12
  67. package/onboarding/prompts/research/gather.md +12 -102
  68. package/onboarding/prompts/research/merge.md +60 -0
  69. package/onboarding/prompts/research/preflight.md +75 -0
  70. package/onboarding/prompts/research/route.md +28 -4
  71. package/onboarding/prompts/starter/clone.md +5 -5
  72. package/onboarding/prompts/stopped/run-failed.md +2 -2
  73. package/onboarding/prompts/subagent/create-plan.md +18 -1
  74. package/onboarding/prompts/subagent/implement-and-validate.md +30 -0
  75. package/onboarding/prompts/subagent/inspect-repository.md +1 -1
  76. package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
  77. package/onboarding/prompts/subagent/prove-round-trip.md +17 -7
  78. package/onboarding/prompts/unsupported/no-validated-path.md +2 -2
  79. package/package.json +4 -1
  80. package/release/release-tool.js +1 -1
@@ -8,26 +8,56 @@ requirement.
8
8
 
9
9
  If the folder was empty, clone OpenTag from https://github.com/CopilotKit/OpenTag.git
10
10
  and do not rewrite it. Point the subagent at the existing OpenTag agent and runtime
11
- to verify and run. If the project already has an agent or app, do not clone. Keep
12
- that code and wire a managed Channel.
11
+ to verify and run. Confirm the project `.env` holds `OPENAI_API_KEY` before the OpenTag
12
+ backend starts, by presence alone. If the project already has an agent or app, do not
13
+ clone. Keep that code and wire a managed Channel.
13
14
 
14
15
  On Teams, skip Slack-only tools and the Slack e2e harness. Do not add a CopilotKit
15
16
  web app to make this run look complete. Do not replace the existing agent.
16
17
 
17
- If repository evidence does not prove an existing valid Intelligence selection, give
18
- the developer `login` to run, wait, then list projects and select or create one only
19
- after they choose. Require the secret-safe project/key provisioning summary before
20
- wiring the Channel. Never display a key.
18
+ If repository evidence does not prove an existing valid Intelligence selection, sign in
19
+ yourself with `npx --yes copilotkit@4.13.0 login --json`: the same single streaming
20
+ session generic onboarding uses. Read its JSON Lines while the process runs. Open the
21
+ first `authentication_url` exactly once with the operating system's default browser
22
+ opener, `open` on macOS, `xdg-open` on Linux, `Start-Process` in Windows PowerShell. Your
23
+ own built-in browser is not that opener and does not carry the session the developer
24
+ already signed in with. Never ask the developer to run a login command. If the opener is
25
+ unavailable or fails, show the developer the clickable URL and ask them to finish sign-in
26
+ there, and keep reading the same process. Continue only after that same process emits
27
+ `type: completed`. Report and stop only when it emits `type: failed`. Then list projects
28
+ and select or create one only after they choose. Require the secret-safe project/key provisioning summary
29
+ before wiring the Channel. Never display a key.
21
30
 
22
31
  Run `channels add` until it reports completed. Run the focused type/test command and
23
32
  start the long-running runtime. Confirm `/info` can return HTTP 200, but treat that
24
33
  as capability evidence rather than completed Channel proof. Record changed paths
25
34
  and validation results.
26
35
 
36
+ ## Connect the Channel to the agent
37
+
38
+ Wire the Channel runtime to the agent with the connection API named on the documentation
39
+ page this run selected. Use no other class. A class remembered from an earlier CopilotKit
40
+ version fails type checking against this release.
41
+
42
+ The `framework/<name>` node carries the current connection API for each framework. Match
43
+ the agent the repository already has to its node -- `framework/langgraph-python`,
44
+ `framework/mastra`, `framework/google-adk`, and the rest -- and use the class that node
45
+ names.
46
+
47
+ For LangGraph, that is `LangGraphAgent` from `@copilotkit/runtime/langgraph` on the
48
+ LangSmith path and `HttpAgent` from `@ag-ui/client` on the self-hosted FastAPI path.
49
+ `LangGraphHttpAgent` is deprecated. Do not use it.
50
+
51
+ A symbol the installed package marks `@deprecated` in its type definitions is not a valid
52
+ choice, whatever documentation found elsewhere shows. Read the installed type definitions
53
+ before you write the connection. Where the selected documentation page itself shows a
54
+ deprecated symbol, report that page under the `docs-wrong` friction category and use the
55
+ current symbol the package's own type definitions or changelog names.
56
+
27
57
  After validation and each repair, run:
28
58
 
29
59
  ```text
30
- npx --yes copilotkit@4.12.0 onboard audit
60
+ npx --yes copilotkit@4.13.0 onboard audit
31
61
  ```
32
62
 
33
63
  Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
@@ -38,7 +68,7 @@ with the implementation subagent's `Files changed` section. If that section does
38
68
  the path, accept the developer's external change:
39
69
 
40
70
  ```text
41
- npx --yes copilotkit@4.12.0 onboard protect --accept-external --path <path>
71
+ npx --yes copilotkit@4.13.0 onboard protect --accept-external --path <path>
42
72
  ```
43
73
 
44
74
  For an env file where the developer placed a requested credential, use
@@ -47,24 +77,49 @@ or its report does not settle who changed it, ask the developer to allow the unp
47
77
  change. Only after they agree, record their answer:
48
78
 
49
79
  ```text
50
- npx --yes copilotkit@4.12.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
80
+ npx --yes copilotkit@4.13.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
51
81
  ```
52
82
 
53
83
  Run the audit again after each accepted or authorized change. If it still fails, or starts
54
84
  with `Status: blocked`, route out and stop:
55
85
 
56
86
  ```text
57
- npx --yes copilotkit@4.12.0 onboard read feature/stop
87
+ npx --yes copilotkit@4.13.0 onboard read feature/stop
58
88
  ```
59
89
 
90
+ ## Values this run writes, and the one credential the developer supplies
91
+
92
+ Never ask the developer for `CHANNEL_CODE` or `CPK_INTELLIGENCE_API_KEY`. This run already
93
+ holds both, and writing them is your work, not theirs.
94
+
95
+ `CHANNEL_CODE` is the Channel name `channels add` declared. `.copilotkit/channels.json`
96
+ records the same name. `CPK_INTELLIGENCE_API_KEY` is the project key `project select`
97
+ wrote.
98
+
99
+ Write both into the environment file the application loads, which is the `.env` of the app
100
+ or runtime directory that reads it. Read the project to find that directory instead of
101
+ defaulting to the repository root, and keep both values in that one file. Carry the project
102
+ key over only when that file does not already set it, and move the line without displaying
103
+ what it holds.
104
+
105
+ Check both by name. Never read, print, echo, or log either value, and never put one in a
106
+ report, a command line, or a commit.
107
+
108
+ If that file already sets `CHANNEL_CODE` to a different Channel, change nothing. Ask the
109
+ developer which Channel this project serves and wait for their answer.
110
+
111
+ The only credential the developer supplies is their model provider key, such as
112
+ `OPENAI_API_KEY`, and the run asks for it once as part of plan approval. Never ask for it
113
+ again at backend start.
114
+
60
115
  When implementation validation passes, report it:
61
116
 
62
117
  ```text
63
- npx --yes copilotkit@4.12.0 onboard checkpoint --phase build-validated
118
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase build-validated
64
119
  ```
65
120
 
66
121
  If validation cannot pass, or this run needs a prerequisite the app does not have, use
67
122
  the feature stop route above without further changes.
68
123
 
69
124
  Otherwise run
70
- `npx --yes copilotkit@4.12.0 onboard read feature/channels/proof`.
125
+ `npx --yes copilotkit@4.13.0 onboard read feature/channels/proof`.
@@ -5,6 +5,13 @@ Delegate proof to a fresh subagent. Confirm `channels add` completed,
5
5
  mention on the chosen Slack or Teams provider and a useful agent reply.
6
6
  If a browser tool is available, use it for the mention proof before completing.
7
7
 
8
+ All implementation work happens in the run root's own working tree: the project
9
+ directory this run started in. Never work in a separate worktree, a branch checkout,
10
+ or a copy of the project. A subagent that worked elsewhere must bring its changes into
11
+ the run root before it reports. The completion step verifies that the changed files
12
+ exist in this project, so work left in another tree ends the run with nothing in the
13
+ developer's hands.
14
+
8
15
  HTTP 200 on runtime info is not proof. Do not treat a listening port, a resolved
9
16
  `ready()` call, or `/info` as a mention reply. Record the mention, the reply, the
10
17
  Channel name, app URL or process IDs, and safe stop commands. Fix changed-file
@@ -16,23 +23,23 @@ route after the audit rules below.
16
23
  Report each attempt at the proof as it ends, counting from one:
17
24
 
18
25
  ```text
19
- npx --yes copilotkit@4.12.0 onboard checkpoint --phase journey-attempted --attempt 1
26
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase journey-attempted --attempt 1
20
27
  ```
21
28
 
22
29
  Report each repair cycle the same way, counting from one:
23
30
 
24
31
  ```text
25
- npx --yes copilotkit@4.12.0 onboard checkpoint --phase repair-attempted --attempt 1
32
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase repair-attempted --attempt 1
26
33
  ```
27
34
 
28
35
  After the final attempt, report the gate exactly once:
29
36
 
30
37
  ```text
31
- npx --yes copilotkit@4.12.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
38
+ npx --yes copilotkit@4.13.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
32
39
  ```
33
40
 
34
41
  Use `passed` only for a proved mention reply, `failed` for an attempted proof that
35
- failed, and `skipped` when the proof did not run. Then run `npx --yes copilotkit@4.12.0 onboard audit`.
42
+ failed, and `skipped` when the proof did not run. Then run `npx --yes copilotkit@4.13.0 onboard audit`.
36
43
  Continue only when it starts with `Status: passed`.
37
44
 
38
45
  If the audit fails, never repair, reset, or revert a protected path. Compare each named path
@@ -47,11 +54,11 @@ Run the audit again after each accepted or authorized change.
47
54
  If the audit still fails, or starts with `Status: blocked`, route out and stop:
48
55
 
49
56
  ```text
50
- npx --yes copilotkit@4.12.0 onboard read feature/stop
57
+ npx --yes copilotkit@4.13.0 onboard read feature/stop
51
58
  ```
52
59
 
53
60
  When the audit passes and the mention proof passed, run
54
- `npx --yes copilotkit@4.12.0 onboard read feature/complete` with the actual surface
61
+ `npx --yes copilotkit@4.13.0 onboard read feature/complete` with the actual surface
55
62
  outcome. Use `--visual-check performed` only when a browser drove Slack or Teams web
56
63
  and proved the mention reply. Use `--visual-check skipped-no-browser-tool` only when
57
64
  no browser tool was available.
@@ -3,7 +3,7 @@
3
3
  First, report your coding agent identity using the same command as generic onboarding:
4
4
 
5
5
  ```text
6
- npx --yes copilotkit@4.12.0 onboard identify --coding-agent <coding-agent-slug>
6
+ npx --yes copilotkit@4.13.0 onboard identify --coding-agent <coding-agent-slug>
7
7
  ```
8
8
 
9
9
  Use your own product's slug, such as `codex` or `claude-code`. This also covers entry
@@ -17,7 +17,7 @@ restricted to the target project.
17
17
  Before any subagent or project process runs, capture the developer's existing work:
18
18
 
19
19
  ```text
20
- npx --yes copilotkit@4.12.0 onboard protect
20
+ npx --yes copilotkit@4.13.0 onboard protect
21
21
  ```
22
22
 
23
23
  Keep the exact protected path list it prints and give that list to every subagent. Do not
@@ -31,6 +31,10 @@ Ask Slack or Teams as its own question only when the copied prompt did not alrea
31
31
  name one. If it named Slack, use Slack. If it named Teams or Microsoft Teams, use
32
32
  Teams. Do not ask again.
33
33
 
34
+ For an empty folder, the OpenTag starter brings its own agent. An agent framework this
35
+ run recorded earlier does not apply here. Say that plainly and do not ask for a framework
36
+ again.
37
+
34
38
  Spawn one read-only subagent to inspect the target directory, Git state, package
35
39
  manager, Node version, Python version, `uv`, existing agent code, existing CopilotKit
36
40
  runtime, Channel config (presence only), Intelligence config (presence only), and the
@@ -43,18 +47,24 @@ This one does not.
43
47
  Wait for the inspection subagent to finish. Then report that the inspection came back:
44
48
 
45
49
  ```text
46
- npx --yes copilotkit@4.12.0 onboard checkpoint --phase research-returned
50
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase research-returned
47
51
  ```
48
52
 
49
53
  A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
50
54
  failed step.
51
55
 
52
- If the folder is empty, and Node 22, Python 3.12, or `uv` is missing, stop here
53
- without cloning. Do not switch to a custom build in silence. Name the missing tool.
54
- Offer a custom headless build as a later path. Then route out:
56
+ If the folder is empty, check Node 22, `uv`, and Python before cloning. Python 3.12 or
57
+ newer satisfies the check. If no Python 3.12 or newer is present and `uv` is, offer once
58
+ to install one with `uv python install 3.12`, and continue after the developer approves.
59
+
60
+ Stop here without cloning only when Node 22 is missing, `uv` is missing, or the developer
61
+ declines that install. Do not switch to a custom build in silence. Name the missing tool
62
+ and its install command in the message the developer sees: `nvm install 22` for Node 22,
63
+ `curl -LsSf https://astral.sh/uv/install.sh | sh` for `uv`, and `uv python install 3.12`
64
+ for Python. Offer a custom headless build as a later path. Then route out:
55
65
 
56
66
  ```text
57
- npx --yes copilotkit@4.12.0 onboard read feature/stop
67
+ npx --yes copilotkit@4.13.0 onboard read feature/stop
58
68
  ```
59
69
 
60
70
  Do not run login, select Intelligence, or create a credential until the developer
@@ -62,6 +72,13 @@ approves the plan. Fetch the official Channels guide before planning:
62
72
  https://docs.copilotkit.ai/channels.md
63
73
  Retry it a second way if needed.
64
74
 
75
+ For an empty folder, OpenTag runs its own agent on `OPENAI_API_KEY`. State that before the
76
+ plan. Check the target `.env` and the environment for that name. Report presence only, and
77
+ never read, print, or store the value. If it is absent, ask the developer to place it as
78
+ part of the plan approval, not at backend start. Say that the key is never displayed and
79
+ goes only into the project `.env`. Asking for a key the developer already owns is not
80
+ creating a credential.
81
+
65
82
  Show a small plan. For an empty folder, clone OpenTag and do not rewrite it. For an
66
83
  existing agent or app, keep that code and wire a managed Channel. Slack or Teams is
67
84
  only `channels add --adapter slack|teams`. On Teams, skip Slack-only tools and the
@@ -76,7 +93,7 @@ one.
76
93
  After approval, record each approved path before implementation:
77
94
 
78
95
  ```text
79
- npx --yes copilotkit@4.12.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
96
+ npx --yes copilotkit@4.13.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
80
97
  ```
81
98
 
82
99
  If an approved path changed after capture and no implementation step has run, add
@@ -86,7 +103,7 @@ authorize a path the approved plan did not list.
86
103
  Then report the plan this run is about to implement:
87
104
 
88
105
  ```text
89
- npx --yes copilotkit@4.12.0 onboard checkpoint --phase plan-written
106
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase plan-written
90
107
  ```
91
108
 
92
- Then run `npx --yes copilotkit@4.12.0 onboard read feature/channels/implement`.
109
+ Then run `npx --yes copilotkit@4.13.0 onboard read feature/channels/implement`.
@@ -15,7 +15,7 @@ Run focused type/test checks and start the app. Record the changed files and val
15
15
  After validation and each repair, run:
16
16
 
17
17
  ```text
18
- npx --yes copilotkit@4.12.0 onboard audit
18
+ npx --yes copilotkit@4.13.0 onboard audit
19
19
  ```
20
20
 
21
21
  Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
@@ -26,7 +26,7 @@ with the implementation subagent's `Files changed` section. If that section does
26
26
  the path, accept the developer's external change:
27
27
 
28
28
  ```text
29
- npx --yes copilotkit@4.12.0 onboard protect --accept-external --path <path>
29
+ npx --yes copilotkit@4.13.0 onboard protect --accept-external --path <path>
30
30
  ```
31
31
 
32
32
  For an env file where the developer placed a requested credential, use
@@ -35,24 +35,24 @@ or its report does not settle who changed it, ask the developer to allow the unp
35
35
  change. Only after they agree, record their answer:
36
36
 
37
37
  ```text
38
- npx --yes copilotkit@4.12.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
38
+ npx --yes copilotkit@4.13.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
39
39
  ```
40
40
 
41
41
  Run the audit again after each accepted or authorized change. If it still fails, or starts
42
42
  with `Status: blocked`, route out and stop:
43
43
 
44
44
  ```text
45
- npx --yes copilotkit@4.12.0 onboard read feature/stop
45
+ npx --yes copilotkit@4.13.0 onboard read feature/stop
46
46
  ```
47
47
 
48
48
  When implementation validation passes, report it:
49
49
 
50
50
  ```text
51
- npx --yes copilotkit@4.12.0 onboard checkpoint --phase build-validated
51
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase build-validated
52
52
  ```
53
53
 
54
54
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
55
55
  the feature stop route above without further changes.
56
56
 
57
57
  Otherwise run
58
- `npx --yes copilotkit@4.12.0 onboard read feature/chat-suggestions/proof`.
58
+ `npx --yes copilotkit@4.13.0 onboard read feature/chat-suggestions/proof`.
@@ -12,23 +12,23 @@ project-owned services running.
12
12
  Report each attempt at the proof as it ends, counting from one:
13
13
 
14
14
  ```text
15
- npx --yes copilotkit@4.12.0 onboard checkpoint --phase journey-attempted --attempt 1
15
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase journey-attempted --attempt 1
16
16
  ```
17
17
 
18
18
  Report each repair cycle the same way, counting from one:
19
19
 
20
20
  ```text
21
- npx --yes copilotkit@4.12.0 onboard checkpoint --phase repair-attempted --attempt 1
21
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase repair-attempted --attempt 1
22
22
  ```
23
23
 
24
24
  After the final attempt, report the gate exactly once:
25
25
 
26
26
  ```text
27
- npx --yes copilotkit@4.12.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
27
+ npx --yes copilotkit@4.13.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
28
28
  ```
29
29
 
30
30
  Use `passed` only for a proved sent suggestion, `failed` for an attempted proof that failed,
31
- and `skipped` when the proof could not run. Then run `npx --yes copilotkit@4.12.0 onboard audit`.
31
+ and `skipped` when the proof could not run. Then run `npx --yes copilotkit@4.13.0 onboard audit`.
32
32
  Continue only when it starts with `Status: passed`.
33
33
 
34
34
  If the audit fails, never repair, reset, or revert a protected path. Compare each named path
@@ -43,9 +43,9 @@ Run the audit again after each accepted or authorized change.
43
43
  If the audit still fails, or starts with `Status: blocked`, route out and stop:
44
44
 
45
45
  ```text
46
- npx --yes copilotkit@4.12.0 onboard read feature/stop
46
+ npx --yes copilotkit@4.13.0 onboard read feature/stop
47
47
  ```
48
48
 
49
49
  When the audit passes, run
50
- `npx --yes copilotkit@4.12.0 onboard read feature/complete` with the real browser-proof
50
+ `npx --yes copilotkit@4.13.0 onboard read feature/complete` with the real browser-proof
51
51
  outcome.
@@ -6,7 +6,7 @@ implementation, and proof to separate subagents and keep all work inside the tar
6
6
  Before any subagent or project process runs, capture the developer's existing work:
7
7
 
8
8
  ```text
9
- npx --yes copilotkit@4.12.0 onboard protect
9
+ npx --yes copilotkit@4.13.0 onboard protect
10
10
  ```
11
11
 
12
12
  Keep the exact protected path list it prints and give that list to every subagent. No
@@ -15,7 +15,7 @@ approved authorization before implementation.
15
15
 
16
16
  Before edits, identify the current CopilotKit provider, chat component, message lifecycle,
17
17
  agent id, package version, and test/dev commands. Prove the existing OSS round trip with
18
- `/info`, `npx --yes copilotkit@4.12.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
18
+ `/info`, `npx --yes copilotkit@4.13.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
19
19
  and one real frontend request when browser control is available. If there is no proven
20
20
  existing CopilotKit chat, leave files unchanged and direct the developer to generic
21
21
  onboarding first.
@@ -23,7 +23,7 @@ onboarding first.
23
23
  Wait for the inspection subagent to finish. Then report that the inspection came back:
24
24
 
25
25
  ```text
26
- npx --yes copilotkit@4.12.0 onboard checkpoint --phase research-returned
26
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase research-returned
27
27
  ```
28
28
 
29
29
  A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
@@ -33,7 +33,7 @@ If the inspection did not prove the baseline this intent extends, stop here with
33
33
  changing files:
34
34
 
35
35
  ```text
36
- npx --yes copilotkit@4.12.0 onboard read feature/stop
36
+ npx --yes copilotkit@4.13.0 onboard read feature/stop
37
37
  ```
38
38
 
39
39
  Do not run login, provision Intelligence, request a credential, replace the agent, or alter
@@ -55,7 +55,7 @@ one.
55
55
  After approval, record each approved path before implementation:
56
56
 
57
57
  ```text
58
- npx --yes copilotkit@4.12.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
58
+ npx --yes copilotkit@4.13.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
59
59
  ```
60
60
 
61
61
  If an approved path changed after capture and no implementation step has run, add
@@ -65,7 +65,7 @@ authorize a path the approved plan did not list.
65
65
  Then report the plan this run is about to implement:
66
66
 
67
67
  ```text
68
- npx --yes copilotkit@4.12.0 onboard checkpoint --phase plan-written
68
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase plan-written
69
69
  ```
70
70
 
71
- Then run `npx --yes copilotkit@4.12.0 onboard read feature/chat-suggestions/implement`.
71
+ Then run `npx --yes copilotkit@4.13.0 onboard read feature/chat-suggestions/implement`.
@@ -3,7 +3,7 @@
3
3
  Use the outcome the proof step observed. Run:
4
4
 
5
5
  ```text
6
- npx --yes copilotkit@4.12.0 onboard complete --visual-check <performed|skipped-no-browser-tool|failed>
6
+ npx --yes copilotkit@4.13.0 onboard complete --visual-check <performed|skipped-no-browser-tool|failed>
7
7
  ```
8
8
 
9
9
  Use `performed` only when browser control drove the real user-visible surface. Use
@@ -16,7 +16,7 @@ command without another developer question. Do not ask the developer about telem
16
16
  command applies the setting they already have.
17
17
 
18
18
  ```text
19
- npx --yes copilotkit@4.12.0 onboard friction --phase stop --category <slug>
19
+ npx --yes copilotkit@4.13.0 onboard friction --phase stop --category <slug>
20
20
  ```
21
21
 
22
22
  Write one or two sentences to standard input: the step you stopped at and what stopped it.
@@ -41,7 +41,7 @@ settled refusal rather than a missing baseline, so stop here, before any file ch
41
41
  take its own ending:
42
42
 
43
43
  ```text
44
- npx --yes copilotkit@4.12.0 onboard read feature/blocked-by-plan
44
+ npx --yes copilotkit@4.13.0 onboard read feature/blocked-by-plan
45
45
  ```
46
46
 
47
47
  `LEARNING_AVAILABILITY_UNAVAILABLE` means the platform did not resolve the answer. It is
@@ -55,7 +55,7 @@ then, so the read below is where its refusal surfaces.
55
55
  When the plan or the repository already names an id, ask about that one id and nothing else:
56
56
 
57
57
  ```text
58
- npx --yes copilotkit@4.12.0 learning containers get <id> --json
58
+ npx --yes copilotkit@4.13.0 learning containers get <id> --json
59
59
  ```
60
60
 
61
61
  One call answers it, and no list is needed.
@@ -63,7 +63,7 @@ One call answers it, and no list is needed.
63
63
  When no id is in hand, survey what the project holds:
64
64
 
65
65
  ```text
66
- npx --yes copilotkit@4.12.0 learning containers list --json
66
+ npx --yes copilotkit@4.13.0 learning containers list --json
67
67
  ```
68
68
 
69
69
  One call returns at most 500 containers. When `nextCursor` in the result is not null, read
@@ -74,7 +74,7 @@ second container for work the first one already covers.
74
74
  Report what the read found before asking anyone anything:
75
75
 
76
76
  ```text
77
- npx --yes copilotkit@4.12.0 onboard checkpoint --phase container-surveyed
77
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase container-surveyed
78
78
  ```
79
79
 
80
80
  Everything after this waits on a person, so a run that stops past this point stopped on a
@@ -95,7 +95,7 @@ user, so the callback can return a different id per tier or per customer.
95
95
  Ask the CLI for the id rather than spelling one yourself:
96
96
 
97
97
  ```text
98
- npx --yes copilotkit@4.12.0 learning containers default-id --json
98
+ npx --yes copilotkit@4.13.0 learning containers default-id --json
99
99
  ```
100
100
 
101
101
  It derives the project-scoped id from the selected project's slug, reads the local project
@@ -109,7 +109,7 @@ run that spells the id differently gives one project two containers, each below
109
109
  above on its own. One command is what keeps the two spellings identical.
110
110
 
111
111
  ```text
112
- npx --yes copilotkit@4.12.0 learning containers create --id <id> --name <name> --json
112
+ npx --yes copilotkit@4.13.0 learning containers create --id <id> --name <name> --json
113
113
  ```
114
114
 
115
115
  An id already in use answers `LEARNING_CONTAINER_ALREADY_EXISTS`. That is a container to
@@ -124,7 +124,7 @@ or a guessed id.
124
124
  Then report that the container is settled, before any edit:
125
125
 
126
126
  ```text
127
- npx --yes copilotkit@4.12.0 onboard checkpoint --phase container-settled
127
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase container-settled
128
128
  ```
129
129
 
130
130
  Everything above happens between two prompts, so a run that stopped on a developer who could
@@ -145,13 +145,13 @@ non-zero on an app that is working. Pass what `identifyUser` reads with a repeat
145
145
  It is not a defect to repair.
146
146
 
147
147
  Run focused tests and
148
- `npx --yes copilotkit@4.12.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
148
+ `npx --yes copilotkit@4.13.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
149
149
  Repair changed-file failures and record secret-safe evidence.
150
150
 
151
151
  After validation and each repair, run:
152
152
 
153
153
  ```text
154
- npx --yes copilotkit@4.12.0 onboard audit
154
+ npx --yes copilotkit@4.13.0 onboard audit
155
155
  ```
156
156
 
157
157
  Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
@@ -162,7 +162,7 @@ with the implementation subagent's `Files changed` section. If that section does
162
162
  the path, accept the developer's external change:
163
163
 
164
164
  ```text
165
- npx --yes copilotkit@4.12.0 onboard protect --accept-external --path <path>
165
+ npx --yes copilotkit@4.13.0 onboard protect --accept-external --path <path>
166
166
  ```
167
167
 
168
168
  For an env file where the developer placed a requested credential, use
@@ -171,24 +171,24 @@ or its report does not settle who changed it, ask the developer to allow the unp
171
171
  change. Only after they agree, record their answer:
172
172
 
173
173
  ```text
174
- npx --yes copilotkit@4.12.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
174
+ npx --yes copilotkit@4.13.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
175
175
  ```
176
176
 
177
177
  Run the audit again after each accepted or authorized change. If it still fails, or starts
178
178
  with `Status: blocked`, route out and stop:
179
179
 
180
180
  ```text
181
- npx --yes copilotkit@4.12.0 onboard read feature/stop
181
+ npx --yes copilotkit@4.13.0 onboard read feature/stop
182
182
  ```
183
183
 
184
184
  When implementation validation passes, report it:
185
185
 
186
186
  ```text
187
- npx --yes copilotkit@4.12.0 onboard checkpoint --phase build-validated
187
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase build-validated
188
188
  ```
189
189
 
190
190
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
191
191
  the feature stop route above without further changes.
192
192
 
193
193
  Otherwise run
194
- `npx --yes copilotkit@4.12.0 onboard read feature/learning/proof`.
194
+ `npx --yes copilotkit@4.13.0 onboard read feature/learning/proof`.
@@ -7,7 +7,7 @@ Container. Confirm the thread remains associated with the expected user.
7
7
  One command decides it:
8
8
 
9
9
  ```text
10
- npx --yes copilotkit@4.12.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --expect-learning-container <id> --json
10
+ npx --yes copilotkit@4.13.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --expect-learning-container <id> --json
11
11
  ```
12
12
 
13
13
  It reads the thread back from the platform, so it answers for any runtime mount, and it
@@ -32,24 +32,24 @@ same threshold. Existing threads do not join automatically just because a contai
32
32
  Report each attempt at the proof as it ends, counting from one:
33
33
 
34
34
  ```text
35
- npx --yes copilotkit@4.12.0 onboard checkpoint --phase journey-attempted --attempt 1
35
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase journey-attempted --attempt 1
36
36
  ```
37
37
 
38
38
  Report each repair cycle the same way, counting from one:
39
39
 
40
40
  ```text
41
- npx --yes copilotkit@4.12.0 onboard checkpoint --phase repair-attempted --attempt 1
41
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase repair-attempted --attempt 1
42
42
  ```
43
43
 
44
44
  After the final attempt, report the gate exactly once:
45
45
 
46
46
  ```text
47
- npx --yes copilotkit@4.12.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
47
+ npx --yes copilotkit@4.13.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
48
48
  ```
49
49
 
50
50
  Use `passed` only for a proved Container assignment, `failed` for an attempted proof that
51
51
  failed, and `skipped` when the proof could not run. Then run
52
- `npx --yes copilotkit@4.12.0 onboard audit`. Continue only when it starts with
52
+ `npx --yes copilotkit@4.13.0 onboard audit`. Continue only when it starts with
53
53
  `Status: passed`.
54
54
 
55
55
  If the audit fails, never repair, reset, or revert a protected path. Compare each named path
@@ -64,9 +64,9 @@ Run the audit again after each accepted or authorized change.
64
64
  If the audit still fails, or starts with `Status: blocked`, route out and stop:
65
65
 
66
66
  ```text
67
- npx --yes copilotkit@4.12.0 onboard read feature/stop
67
+ npx --yes copilotkit@4.13.0 onboard read feature/stop
68
68
  ```
69
69
 
70
70
  When the audit passes, run
71
- `npx --yes copilotkit@4.12.0 onboard read feature/complete` with the actual surface
71
+ `npx --yes copilotkit@4.13.0 onboard read feature/complete` with the actual surface
72
72
  outcome.
@@ -11,7 +11,7 @@ friction command without another developer question. Do not ask the developer ab
11
11
  telemetry: the command applies the setting they already have.
12
12
 
13
13
  ```text
14
- npx --yes copilotkit@4.12.0 onboard friction --phase stop --category <slug>
14
+ npx --yes copilotkit@4.13.0 onboard friction --phase stop --category <slug>
15
15
  ```
16
16
 
17
17
  Write one or two sentences to standard input: the step you stopped at and what stopped it.
@@ -38,7 +38,7 @@ status:
38
38
  before the capture, the inspection, and any edit:
39
39
 
40
40
  ```text
41
- npx --yes copilotkit@4.12.0 onboard read feature/blocked-by-plan
41
+ npx --yes copilotkit@4.13.0 onboard read feature/blocked-by-plan
42
42
  ```
43
43
 
44
44
  - `LEARNING_AVAILABILITY_UNAVAILABLE` means the platform did not resolve the answer. It is
@@ -59,7 +59,7 @@ again: it has no answer, so it carries the question forward rather than ending o
59
59
  Before any subagent or project process runs, capture the developer's existing work:
60
60
 
61
61
  ```text
62
- npx --yes copilotkit@4.12.0 onboard protect
62
+ npx --yes copilotkit@4.13.0 onboard protect
63
63
  ```
64
64
 
65
65
  Keep the exact protected path list it prints and give that list to every subagent. No
@@ -75,7 +75,7 @@ onboarding.
75
75
  Wait for the inspection subagent to finish. Then report that the inspection came back:
76
76
 
77
77
  ```text
78
- npx --yes copilotkit@4.12.0 onboard checkpoint --phase research-returned
78
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase research-returned
79
79
  ```
80
80
 
81
81
  A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
@@ -85,7 +85,7 @@ If the inspection did not prove the baseline this intent extends, stop here with
85
85
  changing files:
86
86
 
87
87
  ```text
88
- npx --yes copilotkit@4.12.0 onboard read feature/stop
88
+ npx --yes copilotkit@4.13.0 onboard read feature/stop
89
89
  ```
90
90
 
91
91
  Fetch the current official guides before planning:
@@ -117,7 +117,7 @@ one.
117
117
  After approval, record each approved path before implementation:
118
118
 
119
119
  ```text
120
- npx --yes copilotkit@4.12.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
120
+ npx --yes copilotkit@4.13.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
121
121
  ```
122
122
 
123
123
  If an approved path changed after capture and no implementation step has run, add
@@ -127,7 +127,7 @@ authorize a path the approved plan did not list.
127
127
  Then report the plan this run is about to implement:
128
128
 
129
129
  ```text
130
- npx --yes copilotkit@4.12.0 onboard checkpoint --phase plan-written
130
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase plan-written
131
131
  ```
132
132
 
133
- Then run `npx --yes copilotkit@4.12.0 onboard read feature/learning/implement`.
133
+ Then run `npx --yes copilotkit@4.13.0 onboard read feature/learning/implement`.