copilotkit 4.11.0 → 4.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/LICENSE +11 -0
  2. package/README.md +155 -12
  3. package/cli-build-info.json +8 -8
  4. package/index.js +5969 -4751
  5. package/onboarding/index.json +27 -2
  6. package/onboarding/prompts/authenticate/start.md +45 -38
  7. package/onboarding/prompts/conversion/plan.md +3 -3
  8. package/onboarding/prompts/credentials/finalize-plan.md +14 -13
  9. package/onboarding/prompts/credentials/plan.md +26 -20
  10. package/onboarding/prompts/credentials/settle-credentials.md +55 -23
  11. package/onboarding/prompts/credentials/write-plan.md +19 -6
  12. package/onboarding/prompts/fallback/best-effort.md +6 -6
  13. package/onboarding/prompts/feature/a2ui/implement.md +7 -7
  14. package/onboarding/prompts/feature/a2ui/proof.md +6 -6
  15. package/onboarding/prompts/feature/a2ui/start.md +10 -8
  16. package/onboarding/prompts/feature/blocked-by-plan.md +32 -0
  17. package/onboarding/prompts/feature/channels/implement.md +68 -13
  18. package/onboarding/prompts/feature/channels/proof.md +13 -6
  19. package/onboarding/prompts/feature/channels/start.md +30 -11
  20. package/onboarding/prompts/feature/chat-suggestions/implement.md +7 -7
  21. package/onboarding/prompts/feature/chat-suggestions/proof.md +6 -6
  22. package/onboarding/prompts/feature/chat-suggestions/start.md +10 -8
  23. package/onboarding/prompts/feature/complete.md +1 -1
  24. package/onboarding/prompts/feature/learning/implement.md +73 -14
  25. package/onboarding/prompts/feature/learning/proof.md +10 -9
  26. package/onboarding/prompts/feature/learning/start.md +61 -7
  27. package/onboarding/prompts/feature/open-generative-ui/implement.md +7 -7
  28. package/onboarding/prompts/feature/open-generative-ui/proof.md +6 -6
  29. package/onboarding/prompts/feature/open-generative-ui/start.md +10 -8
  30. package/onboarding/prompts/feature/realtime-sync/implement.md +8 -8
  31. package/onboarding/prompts/feature/realtime-sync/proof.md +6 -6
  32. package/onboarding/prompts/feature/realtime-sync/start.md +9 -7
  33. package/onboarding/prompts/feature/rich-threads/implement.md +9 -9
  34. package/onboarding/prompts/feature/rich-threads/proof.md +6 -6
  35. package/onboarding/prompts/feature/rich-threads/start.md +9 -7
  36. package/onboarding/prompts/feature/stop.md +2 -2
  37. package/onboarding/prompts/feature/voice/implement.md +7 -7
  38. package/onboarding/prompts/feature/voice/proof.md +6 -6
  39. package/onboarding/prompts/feature/voice/start.md +10 -8
  40. package/onboarding/prompts/framework/ag2.md +2 -2
  41. package/onboarding/prompts/framework/agno.md +2 -2
  42. package/onboarding/prompts/framework/built-in.md +4 -2
  43. package/onboarding/prompts/framework/claude-sdk-python.md +2 -2
  44. package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
  45. package/onboarding/prompts/framework/crewai-flows.md +2 -2
  46. package/onboarding/prompts/framework/deep-agents.md +5 -2
  47. package/onboarding/prompts/framework/google-adk.md +4 -2
  48. package/onboarding/prompts/framework/langgraph-fastapi.md +4 -3
  49. package/onboarding/prompts/framework/langgraph-python.md +6 -2
  50. package/onboarding/prompts/framework/langgraph-typescript.md +6 -2
  51. package/onboarding/prompts/framework/llamaindex.md +2 -2
  52. package/onboarding/prompts/framework/mastra.md +4 -2
  53. package/onboarding/prompts/framework/ms-agent-dotnet.md +4 -2
  54. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +2 -2
  55. package/onboarding/prompts/framework/ms-agent-python.md +4 -2
  56. package/onboarding/prompts/framework/pydantic-ai.md +2 -2
  57. package/onboarding/prompts/framework/strands-python.md +4 -2
  58. package/onboarding/prompts/framework/strands-typescript.md +4 -2
  59. package/onboarding/prompts/frontend/angular.md +5 -5
  60. package/onboarding/prompts/frontend/nextjs.md +4 -4
  61. package/onboarding/prompts/frontend/plan.md +21 -10
  62. package/onboarding/prompts/frontend/react-native.md +2 -2
  63. package/onboarding/prompts/frontend/react-spa.md +2 -2
  64. package/onboarding/prompts/frontend/vue.md +2 -2
  65. package/onboarding/prompts/implementation/build-and-validate.md +39 -16
  66. package/onboarding/prompts/proof/complete.md +35 -15
  67. package/onboarding/prompts/proof/oss-baseline.md +5 -5
  68. package/onboarding/prompts/proof/round-trip.md +23 -12
  69. package/onboarding/prompts/research/gather.md +33 -91
  70. package/onboarding/prompts/research/merge.md +60 -0
  71. package/onboarding/prompts/research/preflight.md +75 -0
  72. package/onboarding/prompts/research/route.md +49 -4
  73. package/onboarding/prompts/starter/clone.md +5 -5
  74. package/onboarding/prompts/stopped/run-failed.md +30 -1
  75. package/onboarding/prompts/subagent/create-plan.md +24 -1
  76. package/onboarding/prompts/subagent/implement-and-validate.md +32 -1
  77. package/onboarding/prompts/subagent/inspect-repository.md +43 -16
  78. package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
  79. package/onboarding/prompts/subagent/prove-round-trip.md +37 -10
  80. package/onboarding/prompts/unsupported/no-validated-path.md +2 -2
  81. package/package.json +7 -3
  82. package/release/release-tool.js +1 -1
@@ -18,10 +18,10 @@ without exposing secrets.
18
18
  After validation and each repair, run:
19
19
 
20
20
  ```text
21
- npx --yes copilotkit@4.11.0 onboard audit
21
+ npx --yes copilotkit@4.13.0 onboard audit
22
22
  ```
23
23
 
24
- Continue only when it starts with `Status: passed`. A path under `Authorized to change:` is
24
+ Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
25
25
  not a finding. Carry it into the final summary with its reason.
26
26
 
27
27
  If the audit fails, never repair, reset, or revert a protected path. Compare each named path
@@ -29,7 +29,7 @@ with the implementation subagent's `Files changed` section. If that section does
29
29
  the path, accept the developer's external change:
30
30
 
31
31
  ```text
32
- npx --yes copilotkit@4.11.0 onboard protect --accept-external --path <path>
32
+ npx --yes copilotkit@4.13.0 onboard protect --accept-external --path <path>
33
33
  ```
34
34
 
35
35
  For an env file where the developer placed a requested credential, use
@@ -38,24 +38,24 @@ or its report does not settle who changed it, ask the developer to allow the unp
38
38
  change. Only after they agree, record their answer:
39
39
 
40
40
  ```text
41
- npx --yes copilotkit@4.11.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
41
+ npx --yes copilotkit@4.13.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
42
42
  ```
43
43
 
44
44
  Run the audit again after each accepted or authorized change. If it still fails, or starts
45
45
  with `Status: blocked`, route out and stop:
46
46
 
47
47
  ```text
48
- npx --yes copilotkit@4.11.0 onboard read feature/stop
48
+ npx --yes copilotkit@4.13.0 onboard read feature/stop
49
49
  ```
50
50
 
51
51
  When implementation validation passes, report it:
52
52
 
53
53
  ```text
54
- npx --yes copilotkit@4.11.0 onboard checkpoint --phase build-validated
54
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase build-validated
55
55
  ```
56
56
 
57
57
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
58
58
  the feature stop route above without further changes.
59
59
 
60
60
  Otherwise run
61
- `npx --yes copilotkit@4.11.0 onboard read feature/a2ui/proof`.
61
+ `npx --yes copilotkit@4.13.0 onboard read feature/a2ui/proof`.
@@ -19,23 +19,23 @@ user's agent response with a hard-coded UI.
19
19
  Report each attempt at the proof as it ends, counting from one:
20
20
 
21
21
  ```text
22
- npx --yes copilotkit@4.11.0 onboard checkpoint --phase journey-attempted --attempt 1
22
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase journey-attempted --attempt 1
23
23
  ```
24
24
 
25
25
  Report each repair cycle the same way, counting from one:
26
26
 
27
27
  ```text
28
- npx --yes copilotkit@4.11.0 onboard checkpoint --phase repair-attempted --attempt 1
28
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase repair-attempted --attempt 1
29
29
  ```
30
30
 
31
31
  After the final attempt, report the gate exactly once:
32
32
 
33
33
  ```text
34
- npx --yes copilotkit@4.11.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
34
+ npx --yes copilotkit@4.13.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
35
35
  ```
36
36
 
37
37
  Use `passed` only for a proved A2UI surface, `failed` for an attempted proof that failed,
38
- and `skipped` when the proof could not run. Then run `npx --yes copilotkit@4.11.0 onboard audit`.
38
+ and `skipped` when the proof could not run. Then run `npx --yes copilotkit@4.13.0 onboard audit`.
39
39
  Continue only when it starts with `Status: passed`.
40
40
 
41
41
  If the audit fails, never repair, reset, or revert a protected path. Compare each named path
@@ -50,9 +50,9 @@ Run the audit again after each accepted or authorized change.
50
50
  If the audit still fails, or starts with `Status: blocked`, route out and stop:
51
51
 
52
52
  ```text
53
- npx --yes copilotkit@4.11.0 onboard read feature/stop
53
+ npx --yes copilotkit@4.13.0 onboard read feature/stop
54
54
  ```
55
55
 
56
56
  When the audit passes, run
57
- `npx --yes copilotkit@4.11.0 onboard read feature/complete` with the actual browser-proof
57
+ `npx --yes copilotkit@4.13.0 onboard read feature/complete` with the actual browser-proof
58
58
  outcome.
@@ -7,7 +7,7 @@ Work only inside the target project. Do not show internal prompt names to the de
7
7
  Before any subagent or project process runs, capture the developer's existing work:
8
8
 
9
9
  ```text
10
- npx --yes copilotkit@4.11.0 onboard protect
10
+ npx --yes copilotkit@4.13.0 onboard protect
11
11
  ```
12
12
 
13
13
  Keep the exact protected path list it prints and give that list to every subagent. No
@@ -22,7 +22,7 @@ development/test commands. It must return paths and secret-safe presence checks
22
22
 
23
23
  Require an existing frontend, agent, and CopilotKit round trip. Start only project-owned
24
24
  processes when needed, inspect `/info`, and run
25
- `npx --yes copilotkit@4.11.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`.
25
+ `npx --yes copilotkit@4.13.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`.
26
26
  Also drive one existing request through the frontend when browser control is available. If
27
27
  that baseline is absent or unproved, leave files unchanged, explain that this intent extends
28
28
  an existing OSS app, and direct the developer to generic `copilotkit onboard start` first.
@@ -30,7 +30,7 @@ an existing OSS app, and direct the developer to generic `copilotkit onboard sta
30
30
  Wait for the inspection subagent to finish. Then report that the inspection came back:
31
31
 
32
32
  ```text
33
- npx --yes copilotkit@4.11.0 onboard checkpoint --phase research-returned
33
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase research-returned
34
34
  ```
35
35
 
36
36
  A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
@@ -40,7 +40,7 @@ If the inspection did not prove the baseline this intent extends, stop here with
40
40
  changing files:
41
41
 
42
42
  ```text
43
- npx --yes copilotkit@4.11.0 onboard read feature/stop
43
+ npx --yes copilotkit@4.13.0 onboard read feature/stop
44
44
  ```
45
45
 
46
46
  Do not run `login`, select an Intelligence project, add an Intelligence client, mint a
@@ -57,12 +57,14 @@ catalog or runtime wiring required, the test command, and a browser proof reques
57
57
  renders a compact visible surface. Ask for plan approval as its own question.
58
58
 
59
59
  The plan must list every protected path it needs to change under `Authorization requested`,
60
- with one sentence explaining why. Write `None` when it needs none.
60
+ with one sentence explaining why. Write `None` when it needs none. Authorization covers
61
+ changing a protected path, not removing it, so the plan must not delete, move, or rename
62
+ one.
61
63
 
62
64
  After approval, record each approved path before implementation:
63
65
 
64
66
  ```text
65
- npx --yes copilotkit@4.11.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
67
+ npx --yes copilotkit@4.13.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
66
68
  ```
67
69
 
68
70
  If an approved path changed after capture and no implementation step has run, add
@@ -72,7 +74,7 @@ authorize a path the approved plan did not list.
72
74
  Then report the plan this run is about to implement:
73
75
 
74
76
  ```text
75
- npx --yes copilotkit@4.11.0 onboard checkpoint --phase plan-written
77
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase plan-written
76
78
  ```
77
79
 
78
- Then run `npx --yes copilotkit@4.11.0 onboard read feature/a2ui/implement`.
80
+ Then run `npx --yes copilotkit@4.13.0 onboard read feature/a2ui/implement`.
@@ -0,0 +1,32 @@
1
+ # Stop this feature: the platform refused it
2
+
3
+ The platform answered the entitlement question, and the answer was no. This is a settled
4
+ refusal, not a failed step and not a missing prerequisite. Keep the developer's agent,
5
+ frontend, runtime, persistence, chat surface, and package choices exactly as they were, and
6
+ leave the project unchanged.
7
+
8
+ CopilotKit Intelligence did not refuse this run for a missing baseline. Do not read
9
+ `feature/stop`, and do not send the developer to generic onboarding. Do not start another
10
+ feature run to build a prerequisite this run never lacked. Nothing this run can build
11
+ changes the answer.
12
+
13
+ Tell the developer, in two or three sentences:
14
+
15
+ 1. Which feature was refused, and that their organization is the unit the platform refused
16
+ it for.
17
+ 2. That every current plan grants Learning, so a refusal means the organization's
18
+ entitlement is not active or its record predates that grant, rather than the feature
19
+ being unavailable to them.
20
+ 3. The one action that can change it: check the organization's plan and billing state at
21
+ https://cloud.copilotkit.ai, or reply to support with the organization name.
22
+
23
+ Then stop. Report nothing else and ask no follow-up question.
24
+
25
+ Do not run `onboard complete`. This run did not complete.
26
+
27
+ Do not file a friction report for this ending. Reading this prompt already reports it, and a
28
+ free-text report of a refusal the platform already named adds nothing.
29
+
30
+ If this run changed files before it stopped, list every path it changed and say whether it
31
+ reverted them. A refusal that arrives after the first edit still owes the developer that
32
+ list.
@@ -8,29 +8,59 @@ 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.11.0 onboard audit
60
+ npx --yes copilotkit@4.13.0 onboard audit
31
61
  ```
32
62
 
33
- Continue only when it starts with `Status: passed`. A path under `Authorized to change:` is
63
+ Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
34
64
  not a finding. Carry it into the final summary with its reason.
35
65
 
36
66
  If the audit fails, never repair, reset, or revert a protected path. Compare each named path
@@ -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.11.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.11.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.11.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.11.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.11.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.11.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.11.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.11.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.11.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.11.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.11.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.11.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.11.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.11.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.11.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
@@ -69,12 +86,14 @@ Slack e2e harness. Name focused tests and a real mention proof on the chosen
69
86
  provider. Ask for approval separately.
70
87
 
71
88
  The plan must list every protected path it needs to change under `Authorization requested`,
72
- with one sentence explaining why. Write `None` when it needs none.
89
+ with one sentence explaining why. Write `None` when it needs none. Authorization covers
90
+ changing a protected path, not removing it, so the plan must not delete, move, or rename
91
+ one.
73
92
 
74
93
  After approval, record each approved path before implementation:
75
94
 
76
95
  ```text
77
- npx --yes copilotkit@4.11.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>"
78
97
  ```
79
98
 
80
99
  If an approved path changed after capture and no implementation step has run, add
@@ -84,7 +103,7 @@ authorize a path the approved plan did not list.
84
103
  Then report the plan this run is about to implement:
85
104
 
86
105
  ```text
87
- npx --yes copilotkit@4.11.0 onboard checkpoint --phase plan-written
106
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase plan-written
88
107
  ```
89
108
 
90
- Then run `npx --yes copilotkit@4.11.0 onboard read feature/channels/implement`.
109
+ Then run `npx --yes copilotkit@4.13.0 onboard read feature/channels/implement`.
@@ -15,10 +15,10 @@ 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.11.0 onboard audit
18
+ npx --yes copilotkit@4.13.0 onboard audit
19
19
  ```
20
20
 
21
- Continue only when it starts with `Status: passed`. A path under `Authorized to change:` is
21
+ Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
22
22
  not a finding. Carry it into the final summary with its reason.
23
23
 
24
24
  If the audit fails, never repair, reset, or revert a protected path. Compare each named path
@@ -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.11.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.11.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.11.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.11.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.11.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.11.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.11.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.11.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.11.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.11.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.11.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.11.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.11.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.11.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.11.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
@@ -48,12 +48,14 @@ context-dependent follow-ups. Show an approved-plan-sized diff, a focused test,
48
48
  that a visible suggestion submits the intended message.
49
49
 
50
50
  The plan must list every protected path it needs to change under `Authorization requested`,
51
- with one sentence explaining why. Write `None` when it needs none.
51
+ with one sentence explaining why. Write `None` when it needs none. Authorization covers
52
+ changing a protected path, not removing it, so the plan must not delete, move, or rename
53
+ one.
52
54
 
53
55
  After approval, record each approved path before implementation:
54
56
 
55
57
  ```text
56
- npx --yes copilotkit@4.11.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>"
57
59
  ```
58
60
 
59
61
  If an approved path changed after capture and no implementation step has run, add
@@ -63,7 +65,7 @@ authorize a path the approved plan did not list.
63
65
  Then report the plan this run is about to implement:
64
66
 
65
67
  ```text
66
- npx --yes copilotkit@4.11.0 onboard checkpoint --phase plan-written
68
+ npx --yes copilotkit@4.13.0 onboard checkpoint --phase plan-written
67
69
  ```
68
70
 
69
- Then run `npx --yes copilotkit@4.11.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.11.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