copilotkit 4.9.37 → 4.9.50

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 (67) hide show
  1. package/README.md +185 -7
  2. package/cli-build-info.json +7 -7
  3. package/index.js +7908 -4788
  4. package/onboarding/index.json +162 -1
  5. package/onboarding/prompts/authenticate/start.md +33 -16
  6. package/onboarding/prompts/conversion/plan.md +3 -3
  7. package/onboarding/prompts/credentials/finalize-plan.md +13 -13
  8. package/onboarding/prompts/credentials/plan.md +20 -20
  9. package/onboarding/prompts/fallback/best-effort.md +6 -6
  10. package/onboarding/prompts/feature/a2ui/implement.md +32 -0
  11. package/onboarding/prompts/feature/a2ui/proof.md +34 -0
  12. package/onboarding/prompts/feature/a2ui/start.md +55 -0
  13. package/onboarding/prompts/feature/chat-suggestions/implement.md +28 -0
  14. package/onboarding/prompts/feature/chat-suggestions/proof.md +26 -0
  15. package/onboarding/prompts/feature/chat-suggestions/start.md +46 -0
  16. package/onboarding/prompts/feature/learning/implement.md +44 -0
  17. package/onboarding/prompts/feature/learning/proof.md +27 -0
  18. package/onboarding/prompts/feature/learning/start.md +52 -0
  19. package/onboarding/prompts/feature/open-generative-ui/implement.md +28 -0
  20. package/onboarding/prompts/feature/open-generative-ui/proof.md +27 -0
  21. package/onboarding/prompts/feature/open-generative-ui/start.md +47 -0
  22. package/onboarding/prompts/feature/realtime-sync/implement.md +38 -0
  23. package/onboarding/prompts/feature/realtime-sync/proof.md +28 -0
  24. package/onboarding/prompts/feature/realtime-sync/start.md +50 -0
  25. package/onboarding/prompts/feature/rich-threads/implement.md +41 -0
  26. package/onboarding/prompts/feature/rich-threads/proof.md +27 -0
  27. package/onboarding/prompts/feature/rich-threads/start.md +52 -0
  28. package/onboarding/prompts/feature/stop.md +41 -0
  29. package/onboarding/prompts/feature/voice/implement.md +28 -0
  30. package/onboarding/prompts/feature/voice/proof.md +27 -0
  31. package/onboarding/prompts/feature/voice/start.md +45 -0
  32. package/onboarding/prompts/framework/ag2.md +2 -2
  33. package/onboarding/prompts/framework/agno.md +2 -2
  34. package/onboarding/prompts/framework/built-in.md +2 -2
  35. package/onboarding/prompts/framework/claude-sdk-python.md +2 -2
  36. package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
  37. package/onboarding/prompts/framework/crewai-flows.md +2 -2
  38. package/onboarding/prompts/framework/deep-agents.md +2 -2
  39. package/onboarding/prompts/framework/google-adk.md +2 -2
  40. package/onboarding/prompts/framework/langgraph-fastapi.md +2 -2
  41. package/onboarding/prompts/framework/langgraph-python.md +2 -2
  42. package/onboarding/prompts/framework/langgraph-typescript.md +2 -2
  43. package/onboarding/prompts/framework/llamaindex.md +2 -2
  44. package/onboarding/prompts/framework/mastra.md +2 -2
  45. package/onboarding/prompts/framework/ms-agent-dotnet.md +2 -2
  46. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +2 -2
  47. package/onboarding/prompts/framework/ms-agent-python.md +2 -2
  48. package/onboarding/prompts/framework/pydantic-ai.md +2 -2
  49. package/onboarding/prompts/framework/strands-python.md +2 -2
  50. package/onboarding/prompts/framework/strands-typescript.md +2 -2
  51. package/onboarding/prompts/frontend/angular.md +3 -3
  52. package/onboarding/prompts/frontend/nextjs.md +3 -3
  53. package/onboarding/prompts/frontend/plan.md +6 -6
  54. package/onboarding/prompts/frontend/react-native.md +2 -2
  55. package/onboarding/prompts/frontend/react-spa.md +2 -2
  56. package/onboarding/prompts/frontend/vue.md +2 -2
  57. package/onboarding/prompts/implementation/build-and-validate.md +33 -13
  58. package/onboarding/prompts/proof/complete.md +20 -7
  59. package/onboarding/prompts/proof/oss-baseline.md +5 -5
  60. package/onboarding/prompts/proof/round-trip.md +9 -9
  61. package/onboarding/prompts/starter/clone.md +5 -5
  62. package/onboarding/prompts/subagent/create-plan.md +11 -3
  63. package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
  64. package/onboarding/prompts/subagent/prove-round-trip.md +29 -11
  65. package/onboarding/prompts/unsupported/no-validated-path.md +2 -2
  66. package/package.json +1 -1
  67. package/release/release-tool.js +37 -11
@@ -1,5 +1,14 @@
1
1
  {
2
- "graphTree": "58b803347fcc8e7c63409e4dd783b37f03451d8a",
2
+ "graphTree": "249d03371764b775fd5893026d7869bbf83716d6",
3
+ "intentRoots": {
4
+ "add-a2ui": "feature/a2ui/start",
5
+ "add-chat-suggestions": "feature/chat-suggestions/start",
6
+ "add-learning": "feature/learning/start",
7
+ "add-open-generative-ui": "feature/open-generative-ui/start",
8
+ "add-realtime-sync": "feature/realtime-sync/start",
9
+ "add-rich-threads": "feature/rich-threads/start",
10
+ "add-voice": "feature/voice/start"
11
+ },
3
12
  "root": "authenticate/start",
4
13
  "prompts": [
5
14
  {
@@ -60,6 +69,158 @@
60
69
  "milestone": "fallback",
61
70
  "name": "fallback/best-effort"
62
71
  },
72
+ {
73
+ "edges": [
74
+ "feature/stop",
75
+ "feature/a2ui/proof"
76
+ ],
77
+ "milestone": "feature",
78
+ "name": "feature/a2ui/implement"
79
+ },
80
+ {
81
+ "edges": [],
82
+ "milestone": "feature",
83
+ "name": "feature/a2ui/proof"
84
+ },
85
+ {
86
+ "edges": [
87
+ "feature/stop",
88
+ "feature/a2ui/implement"
89
+ ],
90
+ "milestone": "feature",
91
+ "name": "feature/a2ui/start"
92
+ },
93
+ {
94
+ "edges": [
95
+ "feature/stop",
96
+ "feature/chat-suggestions/proof"
97
+ ],
98
+ "milestone": "feature",
99
+ "name": "feature/chat-suggestions/implement"
100
+ },
101
+ {
102
+ "edges": [],
103
+ "milestone": "feature",
104
+ "name": "feature/chat-suggestions/proof"
105
+ },
106
+ {
107
+ "edges": [
108
+ "feature/stop",
109
+ "feature/chat-suggestions/implement"
110
+ ],
111
+ "milestone": "feature",
112
+ "name": "feature/chat-suggestions/start"
113
+ },
114
+ {
115
+ "edges": [
116
+ "feature/stop",
117
+ "feature/learning/proof"
118
+ ],
119
+ "milestone": "feature",
120
+ "name": "feature/learning/implement"
121
+ },
122
+ {
123
+ "edges": [],
124
+ "milestone": "feature",
125
+ "name": "feature/learning/proof"
126
+ },
127
+ {
128
+ "edges": [
129
+ "feature/stop",
130
+ "feature/learning/implement"
131
+ ],
132
+ "milestone": "feature",
133
+ "name": "feature/learning/start"
134
+ },
135
+ {
136
+ "edges": [
137
+ "feature/stop",
138
+ "feature/open-generative-ui/proof"
139
+ ],
140
+ "milestone": "feature",
141
+ "name": "feature/open-generative-ui/implement"
142
+ },
143
+ {
144
+ "edges": [],
145
+ "milestone": "feature",
146
+ "name": "feature/open-generative-ui/proof"
147
+ },
148
+ {
149
+ "edges": [
150
+ "feature/stop",
151
+ "feature/open-generative-ui/implement"
152
+ ],
153
+ "milestone": "feature",
154
+ "name": "feature/open-generative-ui/start"
155
+ },
156
+ {
157
+ "edges": [
158
+ "feature/stop",
159
+ "feature/realtime-sync/proof"
160
+ ],
161
+ "milestone": "feature",
162
+ "name": "feature/realtime-sync/implement"
163
+ },
164
+ {
165
+ "edges": [],
166
+ "milestone": "feature",
167
+ "name": "feature/realtime-sync/proof"
168
+ },
169
+ {
170
+ "edges": [
171
+ "feature/stop",
172
+ "feature/realtime-sync/implement"
173
+ ],
174
+ "milestone": "feature",
175
+ "name": "feature/realtime-sync/start"
176
+ },
177
+ {
178
+ "edges": [
179
+ "feature/stop",
180
+ "feature/rich-threads/proof"
181
+ ],
182
+ "milestone": "feature",
183
+ "name": "feature/rich-threads/implement"
184
+ },
185
+ {
186
+ "edges": [],
187
+ "milestone": "feature",
188
+ "name": "feature/rich-threads/proof"
189
+ },
190
+ {
191
+ "edges": [
192
+ "feature/stop",
193
+ "feature/rich-threads/implement"
194
+ ],
195
+ "milestone": "feature",
196
+ "name": "feature/rich-threads/start"
197
+ },
198
+ {
199
+ "edges": [],
200
+ "milestone": "feature",
201
+ "name": "feature/stop"
202
+ },
203
+ {
204
+ "edges": [
205
+ "feature/stop",
206
+ "feature/voice/proof"
207
+ ],
208
+ "milestone": "feature",
209
+ "name": "feature/voice/implement"
210
+ },
211
+ {
212
+ "edges": [],
213
+ "milestone": "feature",
214
+ "name": "feature/voice/proof"
215
+ },
216
+ {
217
+ "edges": [
218
+ "feature/stop",
219
+ "feature/voice/implement"
220
+ ],
221
+ "milestone": "feature",
222
+ "name": "feature/voice/start"
223
+ },
63
224
  {
64
225
  "edges": [
65
226
  "frontend/plan",
@@ -16,7 +16,7 @@ Every later command must run from the directory this run started in. A command r
16
16
  somewhere else, such as a sibling of that directory, is refused rather than answered,
17
17
  because the run it belongs to cannot be found from there. That refusal is a step to take,
18
18
  not a stop to report: run
19
- `npx --yes copilotkit@4.9.37 onboard start --run <onboarding_run_id>` in the directory
19
+ `npx --yes copilotkit@4.9.50 onboard start --run <onboarding_run_id>` in the directory
20
20
  you are now in, which binds it to the same run, then run the refused command again. Do not
21
21
  start a run without that id. A run started without it is a second run, and the work already
22
22
  done stops counting toward the first.
@@ -50,7 +50,7 @@ without another developer question. The CLI telemetry gate decides whether the r
50
50
  sent.
51
51
 
52
52
  ```text
53
- npx --yes copilotkit@4.9.37 onboard feedback
53
+ npx --yes copilotkit@4.9.50 onboard feedback
54
54
  ```
55
55
 
56
56
  Write at most four lines to the command's standard input: the step you stopped at and what
@@ -67,19 +67,36 @@ Until now the route out of an unsupported path was the only place that asked for
67
67
  so a stop anywhere else left no trace at all. A stop nobody hears about is a stop this
68
68
  graph cannot fix.
69
69
 
70
- Run `npx --yes copilotkit@4.9.37 login --json` before any project work. This command
70
+ Run `npx --yes copilotkit@4.9.50 login --json` before any project work. This command
71
71
  checks the current session. It starts sign-in only as needed. Treat this as a long-lived
72
72
  streaming process. Do not wait for the command to exit before you read its standard output.
73
73
 
74
74
  Read each JSON Lines record as the running command writes it:
75
75
 
76
- 1. If the process emits `authentication_url`, show the `authentication_url` to the
77
- developer as soon as that line arrives. The process is still running.
78
- 2. Tell the developer to open the URL and finish sign-in.
79
- 3. Keep monitoring the same process after you show the URL. Do not start a second login
80
- command.
81
- 4. Continue onboarding only after that same process emits `type: completed`.
82
- 5. If that process emits `type: failed`, report the error and stop onboarding.
76
+ 1. If the process emits `type: completed` without an `authentication_url`, continue. The
77
+ existing session is valid and there is no page to open.
78
+ 2. If the process emits `authentication_url`, read the first `authentication_url` without
79
+ changing it. The process is still running.
80
+ When that first URL arrives, send this exact message once. Do not send it when the
81
+ existing session is already valid, and do not add a feature list or another explanation:
82
+
83
+ I will open a sign-in page so I can create a project and API key. You can remove the key
84
+ later to disconnect this workspace.
85
+
86
+ 3. Open the first `authentication_url` exactly once with the operating system's default
87
+ browser. Run the opener separately from the long-lived login process. Use the command
88
+ for the host operating system:
89
+ - macOS: `open "<authentication_url>"`
90
+ - Linux: `xdg-open "<authentication_url>"`
91
+ - Windows PowerShell: `Start-Process "<authentication_url>"`
92
+ Replace the placeholder with the exact URL and pass it as one quoted argument. Do not
93
+ append, remove, decode, or re-encode any part of it.
94
+ 4. If the matching opener is unavailable or exits with an error, show the clickable URL to
95
+ the developer and ask them to finish sign-in there. Do not retry the opener.
96
+ 5. Keep monitoring the original login process after the open attempt. Do not start a
97
+ second login command. Do not treat the opener command finishing as sign-in finishing.
98
+ 6. Continue onboarding only after that same process emits `type: completed`.
99
+ 7. If that process emits `type: failed`, report the error and stop onboarding.
83
100
 
84
101
  Do not use `whoami` for this check. It has no JSON output and some failures exit with code
85
102
  zero. Do not put account tokens or credentials in the conversation.
@@ -107,7 +124,7 @@ Before you ask the developer any setup question, finish every read-only investig
107
124
  preflight check in this section.
108
125
 
109
126
  Prepare two research assignments. Give each research subagent one assignment. Tell it to run
110
- `npx --yes copilotkit@4.9.37 onboard read subagent/inspect-repository` first and follow the
127
+ `npx --yes copilotkit@4.9.50 onboard read subagent/inspect-repository` first and follow the
111
128
  prompt it returns. If that read fails because the subagent cannot use the shell, stop that
112
129
  subagent. Run the same command yourself, then spawn a fresh subagent with the returned prompt
113
130
  and the same handoff. Require only its assigned packet.
@@ -172,7 +189,7 @@ Wait for both research subagents to finish.
172
189
  Then report that the research came back:
173
190
 
174
191
  ```text
175
- npx --yes copilotkit@4.9.37 onboard checkpoint --phase research-returned
192
+ npx --yes copilotkit@4.9.50 onboard checkpoint --phase research-returned
176
193
  ```
177
194
 
178
195
  A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
@@ -199,7 +216,7 @@ both workers return the same one target app directory. Both results must start w
199
216
  Before you route on, run this from the target app directory:
200
217
 
201
218
  ```text
202
- npx --yes copilotkit@4.9.37 onboard protect
219
+ npx --yes copilotkit@4.9.50 onboard protect
203
220
  ```
204
221
 
205
222
  It reads the working tree itself, records every changed or untracked path with a digest,
@@ -241,7 +258,7 @@ settle these three from your own reading of the project. Each one comes from the
241
258
  packets or it is not proved.
242
259
 
243
260
  If all three are proved, prove the live starting state before any project file changes. Run
244
- `npx --yes copilotkit@4.9.37 onboard read proof/oss-baseline`.
261
+ `npx --yes copilotkit@4.9.50 onboard read proof/oss-baseline`.
245
262
 
246
263
  Route there before you ask the developer anything else. The questions after this prompt
247
264
  select a framework and a frontend that the findings already name, so a developer who
@@ -254,10 +271,10 @@ developer nor the repository findings prove what the project is for, ask one gui
254
271
  question about the user outcome. This asks what the developer wants to build before you
255
272
  select a framework. Give two or three short examples and offer a minimal starter. Record
256
273
  the answer and give it to each later subagent. Then run
257
- `npx --yes copilotkit@4.9.37 onboard read credentials/plan`.
274
+ `npx --yes copilotkit@4.9.50 onboard read credentials/plan`.
258
275
 
259
276
  Do not ask that question on the route above. A project carrying all three states its
260
277
  purpose in the application it already serves.
261
278
 
262
279
  If authentication or inspection stops onboarding, run
263
- `npx --yes copilotkit@4.9.37 onboard read unsupported/no-validated-path`.
280
+ `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
@@ -100,7 +100,7 @@ of this journey, and a drawer that lists nothing is not a reason to mint one. Li
100
100
  tokens stay a self-hosted concern.
101
101
 
102
102
  Where this journey's frontend framework ships no threads drawer -- React Native --, the
103
- fifth item is proved by `npx --yes copilotkit@4.9.37 verify --round-trip`, which sends a
103
+ fifth item is proved by `npx --yes copilotkit@4.9.50 verify --round-trip`, which sends a
104
104
  real request and reads the answer back off the thread it landed on. The run says which of
105
105
  the two it proved. Do not send a run to the managed Intelligence dashboard to prove this.
106
106
  An authenticated browser session at a hosted dashboard is the one thing an agent-driven run
@@ -116,7 +116,7 @@ and passed -- so a run scored on either one was scored on the same fact. Every r
116
116
  resolves that condition from, while `licenseStatus` is a compatibility projection of it
117
117
  for older thread surfaces and outlives them only until those surfaces go.
118
118
 
119
- Then run `npx --yes copilotkit@4.9.37 onboard read credentials/finalize-plan`.
119
+ Then run `npx --yes copilotkit@4.9.50 onboard read credentials/finalize-plan`.
120
120
 
121
121
  If a selected page does not load after the second method, run
122
- `npx --yes copilotkit@4.9.37 onboard read unsupported/no-validated-path`.
122
+ `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
@@ -23,7 +23,7 @@ stop. Run the feedback command without another developer question. The CLI telem
23
23
  decides whether the report is sent.
24
24
 
25
25
  ```text
26
- npx --yes copilotkit@4.9.37 onboard feedback
26
+ npx --yes copilotkit@4.9.50 onboard feedback
27
27
  ```
28
28
 
29
29
  Write at most four lines to standard input: the step you stopped at and what stopped it.
@@ -46,7 +46,7 @@ starts. Choose one starting state: empty, agent-only, frontend-only, both, both-
46
46
  Run this command with the exact selected slugs:
47
47
 
48
48
  ```text
49
- npx --yes copilotkit@4.9.37 onboard classify --starting-state <starting-state> --agent-framework <agent-framework> --frontend <frontend>
49
+ npx --yes copilotkit@4.9.50 onboard classify --starting-state <starting-state> --agent-framework <agent-framework> --frontend <frontend>
50
50
  ```
51
51
 
52
52
  Do not continue if a value is refused. Fix the value from the choices that the earlier
@@ -140,7 +140,7 @@ passes against the wrong one.
140
140
  Create it, from the target directory:
141
141
 
142
142
  ```text
143
- npx --yes copilotkit@4.9.37 project select --create <name> --json
143
+ npx --yes copilotkit@4.9.50 project select --create <name> --json
144
144
  ```
145
145
 
146
146
  If the command fails as a duplicate, the organization already holds that display name and
@@ -154,13 +154,13 @@ Take this branch only when the developer asks for an existing project, or asks t
154
154
  projects they have. Read the choices:
155
155
 
156
156
  ```text
157
- npx --yes copilotkit@4.9.37 project list --json
157
+ npx --yes copilotkit@4.9.50 project list --json
158
158
  ```
159
159
 
160
160
  Narrow them:
161
161
 
162
162
  ```text
163
- npx --yes copilotkit@4.9.37 project list --search <query> --json
163
+ npx --yes copilotkit@4.9.50 project list --search <query> --json
164
164
  ```
165
165
 
166
166
  With `--json` the payload is the only thing on standard output, so it is safe to parse. Do
@@ -172,7 +172,7 @@ this directory's.
172
172
  Then record the project they name, from the target directory:
173
173
 
174
174
  ```text
175
- npx --yes copilotkit@4.9.37 project select --project <slug-or-id> --json
175
+ npx --yes copilotkit@4.9.50 project select --project <slug-or-id> --json
176
176
  ```
177
177
 
178
178
  The two flags cannot be combined. A slug that does not exist fails and lists the real ones,
@@ -236,7 +236,7 @@ protected path list. Also add each project file that the developer changed for m
236
236
  credentials. Record them in the baseline from the target app directory:
237
237
 
238
238
  ```text
239
- npx --yes copilotkit@4.9.37 onboard protect --path <path>
239
+ npx --yes copilotkit@4.9.50 onboard protect --path <path>
240
240
  ```
241
241
 
242
242
  Pass one `--path` for each. The command captures a digest for each path and never re-reads
@@ -246,7 +246,7 @@ Then re-capture the files this graph wrote itself. For each path the first captu
246
246
  as `deferred` that this run has now written, run:
247
247
 
248
248
  ```text
249
- npx --yes copilotkit@4.9.37 onboard protect --rebaseline --path <path>
249
+ npx --yes copilotkit@4.9.50 onboard protect --rebaseline --path <path>
250
250
  ```
251
251
 
252
252
  From that point they are protected like any other path, so a later step that rewrites
@@ -263,14 +263,14 @@ browser, and never touches the platform.
263
263
  Add these pages to the selected documentation URLs for the planning, implementation, and
264
264
  proof subagents:
265
265
 
266
- - https://docs.copilotkit.ai/premium/connect-your-runtime.md
266
+ - https://docs.copilotkit.ai/intelligence/connect-your-runtime.md
267
267
  - https://docs.copilotkit.ai/backend/runtime-endpoints.md
268
- - https://docs.copilotkit.ai/premium/managed-intelligence-platform.md
268
+ - https://docs.copilotkit.ai/intelligence/managed-intelligence-platform.md
269
269
 
270
270
  Fetch them together with the pages already selected rather than on their own.
271
271
 
272
272
  Spawn one planning subagent. Tell it to run
273
- `npx --yes copilotkit@4.9.37 onboard read subagent/create-plan` first and follow the prompt
273
+ `npx --yes copilotkit@4.9.50 onboard read subagent/create-plan` first and follow the prompt
274
274
  it returns. If that read fails because the subagent cannot use the shell, stop that subagent.
275
275
  Run the same command yourself, then spawn a fresh subagent with the returned prompt and the
276
276
  same handoff. Give it the repository findings, selected framework, frontend, model, credential
@@ -296,7 +296,7 @@ approve rather than in the implementation that follows. Do not upgrade a depende
296
296
  developer did not approve.
297
297
 
298
298
  If the developer approves the plan, run
299
- `npx --yes copilotkit@4.9.37 onboard read implementation/build-and-validate`.
299
+ `npx --yes copilotkit@4.9.50 onboard read implementation/build-and-validate`.
300
300
 
301
301
  If no exact supported path or documentation URL exists, run
302
- `npx --yes copilotkit@4.9.37 onboard read unsupported/no-validated-path`.
302
+ `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
@@ -68,26 +68,26 @@ another framework. Do not show the internal route.
68
68
 
69
69
  Use exactly one matching internal route:
70
70
 
71
- 1. AG2: `npx --yes copilotkit@4.9.37 onboard read framework/ag2`
72
- 2. Agno: `npx --yes copilotkit@4.9.37 onboard read framework/agno`
73
- 3. Built-in CopilotKit agent: `npx --yes copilotkit@4.9.37 onboard read framework/built-in`
74
- 4. Claude Agent SDK Python: `npx --yes copilotkit@4.9.37 onboard read framework/claude-sdk-python`
75
- 5. Claude Agent SDK TypeScript: `npx --yes copilotkit@4.9.37 onboard read framework/claude-sdk-typescript`
76
- 6. CrewAI Flows: `npx --yes copilotkit@4.9.37 onboard read framework/crewai-flows`
77
- 7. Deep Agents: `npx --yes copilotkit@4.9.37 onboard read framework/deep-agents`
78
- 8. LangGraph Python: `npx --yes copilotkit@4.9.37 onboard read framework/langgraph-python`
79
- 9. LangGraph FastAPI: `npx --yes copilotkit@4.9.37 onboard read framework/langgraph-fastapi`
80
- 10. LangGraph TypeScript: `npx --yes copilotkit@4.9.37 onboard read framework/langgraph-typescript`
81
- 11. LlamaIndex: `npx --yes copilotkit@4.9.37 onboard read framework/llamaindex`
82
- 12. ADK: `npx --yes copilotkit@4.9.37 onboard read framework/google-adk`
83
- 13. Microsoft Agent Framework Python: `npx --yes copilotkit@4.9.37 onboard read framework/ms-agent-python`
84
- 14. Microsoft Agent Framework .NET: `npx --yes copilotkit@4.9.37 onboard read framework/ms-agent-dotnet`
85
- 15. Mastra: `npx --yes copilotkit@4.9.37 onboard read framework/mastra`
86
- 16. MS Agent Harness .NET: `npx --yes copilotkit@4.9.37 onboard read framework/ms-agent-harness-dotnet`
87
- 17. Pydantic AI: `npx --yes copilotkit@4.9.37 onboard read framework/pydantic-ai`
88
- 18. Strands Agents Python: `npx --yes copilotkit@4.9.37 onboard read framework/strands-python`
89
- 19. Strands Agents TypeScript: `npx --yes copilotkit@4.9.37 onboard read framework/strands-typescript`
71
+ 1. AG2: `npx --yes copilotkit@4.9.50 onboard read framework/ag2`
72
+ 2. Agno: `npx --yes copilotkit@4.9.50 onboard read framework/agno`
73
+ 3. Built-in CopilotKit agent: `npx --yes copilotkit@4.9.50 onboard read framework/built-in`
74
+ 4. Claude Agent SDK Python: `npx --yes copilotkit@4.9.50 onboard read framework/claude-sdk-python`
75
+ 5. Claude Agent SDK TypeScript: `npx --yes copilotkit@4.9.50 onboard read framework/claude-sdk-typescript`
76
+ 6. CrewAI Flows: `npx --yes copilotkit@4.9.50 onboard read framework/crewai-flows`
77
+ 7. Deep Agents: `npx --yes copilotkit@4.9.50 onboard read framework/deep-agents`
78
+ 8. LangGraph Python: `npx --yes copilotkit@4.9.50 onboard read framework/langgraph-python`
79
+ 9. LangGraph FastAPI: `npx --yes copilotkit@4.9.50 onboard read framework/langgraph-fastapi`
80
+ 10. LangGraph TypeScript: `npx --yes copilotkit@4.9.50 onboard read framework/langgraph-typescript`
81
+ 11. LlamaIndex: `npx --yes copilotkit@4.9.50 onboard read framework/llamaindex`
82
+ 12. ADK: `npx --yes copilotkit@4.9.50 onboard read framework/google-adk`
83
+ 13. Microsoft Agent Framework Python: `npx --yes copilotkit@4.9.50 onboard read framework/ms-agent-python`
84
+ 14. Microsoft Agent Framework .NET: `npx --yes copilotkit@4.9.50 onboard read framework/ms-agent-dotnet`
85
+ 15. Mastra: `npx --yes copilotkit@4.9.50 onboard read framework/mastra`
86
+ 16. MS Agent Harness .NET: `npx --yes copilotkit@4.9.50 onboard read framework/ms-agent-harness-dotnet`
87
+ 17. Pydantic AI: `npx --yes copilotkit@4.9.50 onboard read framework/pydantic-ai`
88
+ 18. Strands Agents Python: `npx --yes copilotkit@4.9.50 onboard read framework/strands-python`
89
+ 19. Strands Agents TypeScript: `npx --yes copilotkit@4.9.50 onboard read framework/strands-typescript`
90
90
 
91
91
  If the project has an agent in another framework, or no listed framework fits, keep the
92
92
  developer's current agent and run
93
- `npx --yes copilotkit@4.9.37 onboard read unsupported/no-validated-path`.
93
+ `npx --yes copilotkit@4.9.50 onboard read unsupported/no-validated-path`.
@@ -14,7 +14,7 @@ command without another developer question. The CLI telemetry gate decides wheth
14
14
  report is sent.
15
15
 
16
16
  ```text
17
- npx --yes copilotkit@4.9.37 onboard feedback
17
+ npx --yes copilotkit@4.9.50 onboard feedback
18
18
  ```
19
19
 
20
20
  Write at most four lines to standard input: the step you stopped at and what stopped it.
@@ -56,13 +56,13 @@ stop.
56
56
 
57
57
  Use these rules for every protected-path check in this fallback:
58
58
 
59
- - Run `npx --yes copilotkit@4.9.37 onboard audit` from the target app directory.
59
+ - Run `npx --yes copilotkit@4.9.50 onboard audit` from the target app directory.
60
60
  - If a result starts with `Status: blocked`, stop onboarding and report the printed reason.
61
61
  It proved nothing changed, so do not report a preservation failure.
62
62
  - If a result reports a changed protected path this run wrote, stop onboarding.
63
63
  - If a result reports a changed path that no Files changed section from this run names,
64
64
  the change came from outside the run. Accept it by name with
65
- `npx --yes copilotkit@4.9.37 onboard protect --accept-external --path <path>`, run the
65
+ `npx --yes copilotkit@4.9.50 onboard protect --accept-external --path <path>`, run the
66
66
  audit again, and name it in the closing report.
67
67
  - If no Files changed section from this run covers the step that wrote it, stop
68
68
  onboarding. The proof subagent here returns no such section, so a finding it raises is
@@ -115,13 +115,13 @@ application passes proof. Report each tool result separately from the proof resu
115
115
  Report the documentation gap and each assumption with the proof evidence. Do not claim
116
116
  that the selected documentation proved an inferred step.
117
117
 
118
- When the proof is complete, run `npx --yes copilotkit@4.9.37 onboard complete`, carrying the
118
+ When the proof is complete, run `npx --yes copilotkit@4.9.50 onboard complete`, carrying the
119
119
  surface-check result the proof subagent returned. Pass exactly one flag, matching this
120
120
  journey's surface:
121
121
 
122
122
  ```text
123
- npx --yes copilotkit@4.9.37 onboard complete --visual-check <outcome>
124
- npx --yes copilotkit@4.9.37 onboard complete --device-check <outcome>
123
+ npx --yes copilotkit@4.9.50 onboard complete --visual-check <outcome>
124
+ npx --yes copilotkit@4.9.50 onboard complete --device-check <outcome>
125
125
  ```
126
126
 
127
127
  `--visual-check` is for a web frontend and takes `performed`, `skipped-no-browser-tool`, or
@@ -0,0 +1,32 @@
1
+ # Implement A2UI without changing the existing OSS architecture
2
+
3
+ Delegate the change to one implementation subagent. Give it the approved plan, repository
4
+ findings, and the official A2UI guide. It must fetch the guide before editing and preserve
5
+ the existing agent, runtime route, provider, persistence, and chat behavior.
6
+
7
+ Apply only the smallest documented A2UI wiring that fits this project: configure the runtime
8
+ or provider catalog as the guide requires, add a renderer dependency only when the guide
9
+ requires it, and keep the configuration close to the existing CopilotKit provider/runtime.
10
+ Do not add Intelligence, a license key, a model key, a replacement agent, a fake tool result,
11
+ or a custom visual mock to make the feature appear enabled.
12
+
13
+ Run the repository's focused typecheck/test command and repair defects in changed files.
14
+ Start the app with its documented command. Confirm `/info` reports the expected A2UI
15
+ capability, but do not treat that flag as proof. Record changed paths and validation output
16
+ without exposing secrets.
17
+
18
+ When implementation validation passes, report it:
19
+
20
+ ```text
21
+ npx --yes copilotkit@4.9.50 onboard checkpoint --phase build-validated
22
+ ```
23
+
24
+ If validation cannot pass, or this intent needs a prerequisite the app does not have, stop
25
+ without further changes:
26
+
27
+ ```text
28
+ npx --yes copilotkit@4.9.50 onboard read feature/stop
29
+ ```
30
+
31
+ Otherwise run
32
+ `npx --yes copilotkit@4.9.50 onboard read feature/a2ui/proof`.
@@ -0,0 +1,34 @@
1
+ # Prove that A2UI renders for a real user request
2
+
3
+ Delegate proof to a separate subagent. Start only project-owned services and leave them
4
+ running after proof. First run the existing OSS round trip and inspect `/info`. Read the `a2ui` object, not the
5
+ flat `a2uiEnabled` boolean: A2UI can be scoped to named agents, and the boolean discards
6
+ that, so it reads true on a runtime whose `a2ui.agents` does not include the agent under
7
+ test. Require the run's agent to be in `a2ui.agents`, or the list to be absent. Either way
8
+ the capability is necessary and not sufficient.
9
+
10
+ In the real frontend, send a small request that naturally asks the existing agent to render
11
+ one compact card or control using A2UI. Require a visible rendered A2UI surface or operation
12
+ in the chat, not only streamed tool arguments, an activity skeleton, or a server log. Record
13
+ the input, visible result, app URL, process IDs, and safe stop commands. If browser control
14
+ is unavailable, report that the browser proof is blocked rather than claiming success.
15
+
16
+ Fix proof failures caused by changed files, then repeat the same proof. Do not replace the
17
+ user's agent response with a hard-coded UI.
18
+
19
+ Report each attempt at the proof as it ends, counting from one:
20
+
21
+ ```text
22
+ npx --yes copilotkit@4.9.50 onboard checkpoint --phase journey-attempted --attempt 1
23
+ ```
24
+
25
+ Report each repair cycle the same way, counting from one:
26
+
27
+ ```text
28
+ npx --yes copilotkit@4.9.50 onboard checkpoint --phase repair-attempted --attempt 1
29
+ ```
30
+
31
+ When the actual surface was driven, run
32
+ `npx --yes copilotkit@4.9.50 onboard complete --visual-check performed`. If it could not
33
+ be driven because no browser tool is available, run the same command with
34
+ `--visual-check skipped-no-browser-tool`; if it failed, use `--visual-check failed`.
@@ -0,0 +1,55 @@
1
+ # Add A2UI to the existing CopilotKit app
2
+
3
+ Treat this as an additive OSS feature integration, not a new-app scaffold. Act as the
4
+ orchestrator and delegate inspection, implementation, and proof to focused subagents.
5
+ Work only inside the target project. Do not show internal prompt names to the developer.
6
+
7
+ Before changing files, send a short welcome that says you will inspect the existing app,
8
+ show an A2UI plan, implement only after approval, and prove a rendered surface in the real
9
+ UI. Then spawn one read-only subagent to locate the current CopilotKit runtime, provider,
10
+ chat surface, agent id, package versions, existing A2UI configuration, and the normal
11
+ development/test commands. It must return paths and secret-safe presence checks only.
12
+
13
+ Require an existing frontend, agent, and CopilotKit round trip. Start only project-owned
14
+ processes when needed, inspect `/info`, and run
15
+ `npx --yes copilotkit@4.9.50 verify --expect-runtime oss --round-trip --agent <agent-id> --json`.
16
+ Also drive one existing request through the frontend when browser control is available. If
17
+ that baseline is absent or unproved, leave files unchanged, explain that this intent extends
18
+ an existing OSS app, and direct the developer to generic `copilotkit onboard start` first.
19
+
20
+ Wait for the inspection subagent to finish. Then report that the inspection came back:
21
+
22
+ ```text
23
+ npx --yes copilotkit@4.9.50 onboard checkpoint --phase research-returned
24
+ ```
25
+
26
+ A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
27
+ failed step.
28
+
29
+ If the inspection did not prove the baseline this intent extends, stop here without
30
+ changing files:
31
+
32
+ ```text
33
+ npx --yes copilotkit@4.9.50 onboard read feature/stop
34
+ ```
35
+
36
+ Do not run `login`, select an Intelligence project, add an Intelligence client, mint a
37
+ credential, or replace the existing agent, runtime, persistence, or chat surface. A2UI can
38
+ be added to an OSS runtime.
39
+
40
+ Fetch the current official A2UI guide before forming the plan:
41
+ https://docs.copilotkit.ai/generative-ui/a2ui.md
42
+ Fetch it a second way if the first fetch fails. Use only APIs that the fetched guide and the
43
+ installed package versions support.
44
+
45
+ Show a concise plan that names the existing runtime/provider files, the smallest A2UI
46
+ catalog or runtime wiring required, the test command, and a browser proof request that
47
+ renders a compact visible surface. Ask for plan approval as its own question.
48
+
49
+ After approval, report the plan this run is about to implement:
50
+
51
+ ```text
52
+ npx --yes copilotkit@4.9.50 onboard checkpoint --phase plan-written
53
+ ```
54
+
55
+ Then run `npx --yes copilotkit@4.9.50 onboard read feature/a2ui/implement`.
@@ -0,0 +1,28 @@
1
+ # Implement chat suggestions at the existing provider boundary
2
+
3
+ Delegate implementation to one subagent with the approved mode and the official hook guide.
4
+ Configure `useConfigureSuggestions` at the existing CopilotKit provider/chat surface using
5
+ only documented APIs for the installed version. Preserve the agent, runtime route, existing
6
+ message behavior, and current empty/welcome state.
7
+
8
+ For static mode, choose concise, domain-appropriate prompts supported by the existing agent;
9
+ do not invent unsupported product actions. For dynamic mode, use the project's actual
10
+ available context and retain a safe empty state. Do not add Intelligence, credentials, or a
11
+ standalone mock UI.
12
+
13
+ Run focused type/test checks and start the app. Record the changed files and validation.
14
+ When implementation validation passes, report it:
15
+
16
+ ```text
17
+ npx --yes copilotkit@4.9.50 onboard checkpoint --phase build-validated
18
+ ```
19
+
20
+ If validation cannot pass, or this intent needs a prerequisite the app does not have, stop
21
+ without further changes:
22
+
23
+ ```text
24
+ npx --yes copilotkit@4.9.50 onboard read feature/stop
25
+ ```
26
+
27
+ Otherwise run
28
+ `npx --yes copilotkit@4.9.50 onboard read feature/chat-suggestions/proof`.