copilotkit 4.9.47 → 4.9.60
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.
- package/README.md +179 -9
- package/cli-build-info.json +8 -8
- package/index.js +13012 -8898
- package/onboarding/index.json +162 -1
- package/onboarding/prompts/authenticate/start.md +41 -14
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +54 -13
- package/onboarding/prompts/credentials/plan.md +20 -20
- package/onboarding/prompts/fallback/best-effort.md +6 -6
- package/onboarding/prompts/feature/a2ui/implement.md +32 -0
- package/onboarding/prompts/feature/a2ui/proof.md +34 -0
- package/onboarding/prompts/feature/a2ui/start.md +55 -0
- package/onboarding/prompts/feature/chat-suggestions/implement.md +28 -0
- package/onboarding/prompts/feature/chat-suggestions/proof.md +26 -0
- package/onboarding/prompts/feature/chat-suggestions/start.md +46 -0
- package/onboarding/prompts/feature/learning/implement.md +106 -0
- package/onboarding/prompts/feature/learning/proof.md +45 -0
- package/onboarding/prompts/feature/learning/start.md +56 -0
- package/onboarding/prompts/feature/open-generative-ui/implement.md +28 -0
- package/onboarding/prompts/feature/open-generative-ui/proof.md +27 -0
- package/onboarding/prompts/feature/open-generative-ui/start.md +47 -0
- package/onboarding/prompts/feature/realtime-sync/implement.md +38 -0
- package/onboarding/prompts/feature/realtime-sync/proof.md +28 -0
- package/onboarding/prompts/feature/realtime-sync/start.md +50 -0
- package/onboarding/prompts/feature/rich-threads/implement.md +41 -0
- package/onboarding/prompts/feature/rich-threads/proof.md +27 -0
- package/onboarding/prompts/feature/rich-threads/start.md +52 -0
- package/onboarding/prompts/feature/stop.md +41 -0
- package/onboarding/prompts/feature/voice/implement.md +28 -0
- package/onboarding/prompts/feature/voice/proof.md +27 -0
- package/onboarding/prompts/feature/voice/start.md +45 -0
- package/onboarding/prompts/framework/ag2.md +2 -2
- package/onboarding/prompts/framework/agno.md +2 -2
- package/onboarding/prompts/framework/built-in.md +2 -2
- package/onboarding/prompts/framework/claude-sdk-python.md +2 -2
- package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
- package/onboarding/prompts/framework/crewai-flows.md +2 -2
- package/onboarding/prompts/framework/deep-agents.md +2 -2
- package/onboarding/prompts/framework/google-adk.md +2 -2
- package/onboarding/prompts/framework/langgraph-fastapi.md +2 -2
- package/onboarding/prompts/framework/langgraph-python.md +2 -2
- package/onboarding/prompts/framework/langgraph-typescript.md +2 -2
- package/onboarding/prompts/framework/llamaindex.md +2 -2
- package/onboarding/prompts/framework/mastra.md +2 -2
- package/onboarding/prompts/framework/ms-agent-dotnet.md +2 -2
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +2 -2
- package/onboarding/prompts/framework/ms-agent-python.md +2 -2
- package/onboarding/prompts/framework/pydantic-ai.md +2 -2
- package/onboarding/prompts/framework/strands-python.md +2 -2
- package/onboarding/prompts/framework/strands-typescript.md +2 -2
- package/onboarding/prompts/frontend/angular.md +3 -3
- package/onboarding/prompts/frontend/nextjs.md +3 -3
- package/onboarding/prompts/frontend/plan.md +6 -6
- package/onboarding/prompts/frontend/react-native.md +2 -2
- package/onboarding/prompts/frontend/react-spa.md +2 -2
- package/onboarding/prompts/frontend/vue.md +2 -2
- package/onboarding/prompts/implementation/build-and-validate.md +83 -13
- package/onboarding/prompts/proof/complete.md +10 -10
- package/onboarding/prompts/proof/oss-baseline.md +16 -7
- package/onboarding/prompts/proof/round-trip.md +16 -9
- package/onboarding/prompts/starter/clone.md +5 -5
- package/onboarding/prompts/subagent/create-plan.md +11 -3
- package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
- package/onboarding/prompts/subagent/prove-round-trip.md +13 -10
- package/onboarding/prompts/unsupported/no-validated-path.md +4 -4
- package/package.json +1 -1
- package/release/release-tool.js +37 -11
package/onboarding/index.json
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
{
|
|
2
|
-
"graphTree": "
|
|
2
|
+
"graphTree": "17c99aa34ab1293ba344b5f6ff0f5eb9d05b0055",
|
|
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.
|
|
19
|
+
`npx --yes copilotkit@4.9.60 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.
|
|
@@ -30,9 +30,20 @@ answer they cannot get, and it hides the documentation gap that blocks them.
|
|
|
30
30
|
Send this exact message once, as your first message in this onboarding run, before
|
|
31
31
|
anything else:
|
|
32
32
|
|
|
33
|
-
Welcome to CopilotKit.
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
Welcome to CopilotKit. By the end of this run your own application talks to an AI agent,
|
|
34
|
+
and every conversation it holds is kept on the managed Intelligence platform. I prove that
|
|
35
|
+
round trip in the running app before I call it done. You finish with working software and
|
|
36
|
+
the evidence that it works.
|
|
37
|
+
|
|
38
|
+
I will check sign-in, inspect your project, recommend a setup, and show you a plan before I
|
|
39
|
+
change files. After you approve the plan, I will build the integration, prove the full round
|
|
40
|
+
trip, and leave the app running with its URLs.
|
|
41
|
+
|
|
42
|
+
Everything I need from you comes before that approval: sign-in, a few short setup questions,
|
|
43
|
+
and the plan itself. After you approve it, you can walk away. Building and proving the
|
|
44
|
+
integration is the long part of this run, and I work through it without you. You hear from
|
|
45
|
+
me next when the app is running and I hand you its URLs, or when something stops me and I
|
|
46
|
+
tell you what it was.
|
|
36
47
|
|
|
37
48
|
That message belongs to the run, not to this prompt. If you already sent it in this run, do
|
|
38
49
|
not send it again, including on a second read of this prompt. It has no value after the
|
|
@@ -50,7 +61,7 @@ without another developer question. The CLI telemetry gate decides whether the r
|
|
|
50
61
|
sent.
|
|
51
62
|
|
|
52
63
|
```text
|
|
53
|
-
npx --yes copilotkit@4.9.
|
|
64
|
+
npx --yes copilotkit@4.9.60 onboard feedback
|
|
54
65
|
```
|
|
55
66
|
|
|
56
67
|
Write at most four lines to the command's standard input: the step you stopped at and what
|
|
@@ -67,7 +78,22 @@ Until now the route out of an unsupported path was the only place that asked for
|
|
|
67
78
|
so a stop anywhere else left no trace at all. A stop nobody hears about is a stop this
|
|
68
79
|
graph cannot fix.
|
|
69
80
|
|
|
70
|
-
|
|
81
|
+
## Say which coding agent you are
|
|
82
|
+
|
|
83
|
+
Report your own product with one short slug, such as `codex` or `claude-code`:
|
|
84
|
+
|
|
85
|
+
```text
|
|
86
|
+
npx --yes copilotkit@4.9.60 onboard identify --coding-agent <coding-agent-slug>
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Run it before the sign-in command below. The slug tells the sign-in page which agent
|
|
90
|
+
sent the developer, so the page names you instead of "your coding agent". It labels this
|
|
91
|
+
run and nothing else: it grants no access and gates no step.
|
|
92
|
+
|
|
93
|
+
The prompt the developer copied used to ask them to pass this. It asked a human to read
|
|
94
|
+
an instruction written for you, so it lives here now.
|
|
95
|
+
|
|
96
|
+
Run `npx --yes copilotkit@4.9.60 login --json` before any project work. This command
|
|
71
97
|
checks the current session. It starts sign-in only as needed. Treat this as a long-lived
|
|
72
98
|
streaming process. Do not wait for the command to exit before you read its standard output.
|
|
73
99
|
|
|
@@ -80,8 +106,9 @@ Read each JSON Lines record as the running command writes it:
|
|
|
80
106
|
When that first URL arrives, send this exact message once. Do not send it when the
|
|
81
107
|
existing session is already valid, and do not add a feature list or another explanation:
|
|
82
108
|
|
|
83
|
-
I will open a sign-in page
|
|
84
|
-
|
|
109
|
+
I will open a sign-in page. Signing in gives this project a managed CopilotKit project
|
|
110
|
+
and its API key, which is what lets your app keep every conversation it holds. You can
|
|
111
|
+
remove the key later to disconnect this workspace.
|
|
85
112
|
|
|
86
113
|
3. Open the first `authentication_url` exactly once with the operating system's default
|
|
87
114
|
browser. Run the opener separately from the long-lived login process. Use the command
|
|
@@ -124,7 +151,7 @@ Before you ask the developer any setup question, finish every read-only investig
|
|
|
124
151
|
preflight check in this section.
|
|
125
152
|
|
|
126
153
|
Prepare two research assignments. Give each research subagent one assignment. Tell it to run
|
|
127
|
-
`npx --yes copilotkit@4.9.
|
|
154
|
+
`npx --yes copilotkit@4.9.60 onboard read subagent/inspect-repository` first and follow the
|
|
128
155
|
prompt it returns. If that read fails because the subagent cannot use the shell, stop that
|
|
129
156
|
subagent. Run the same command yourself, then spawn a fresh subagent with the returned prompt
|
|
130
157
|
and the same handoff. Require only its assigned packet.
|
|
@@ -189,7 +216,7 @@ Wait for both research subagents to finish.
|
|
|
189
216
|
Then report that the research came back:
|
|
190
217
|
|
|
191
218
|
```text
|
|
192
|
-
npx --yes copilotkit@4.9.
|
|
219
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase research-returned
|
|
193
220
|
```
|
|
194
221
|
|
|
195
222
|
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
@@ -216,7 +243,7 @@ both workers return the same one target app directory. Both results must start w
|
|
|
216
243
|
Before you route on, run this from the target app directory:
|
|
217
244
|
|
|
218
245
|
```text
|
|
219
|
-
npx --yes copilotkit@4.9.
|
|
246
|
+
npx --yes copilotkit@4.9.60 onboard protect
|
|
220
247
|
```
|
|
221
248
|
|
|
222
249
|
It reads the working tree itself, records every changed or untracked path with a digest,
|
|
@@ -258,7 +285,7 @@ settle these three from your own reading of the project. Each one comes from the
|
|
|
258
285
|
packets or it is not proved.
|
|
259
286
|
|
|
260
287
|
If all three are proved, prove the live starting state before any project file changes. Run
|
|
261
|
-
`npx --yes copilotkit@4.9.
|
|
288
|
+
`npx --yes copilotkit@4.9.60 onboard read proof/oss-baseline`.
|
|
262
289
|
|
|
263
290
|
Route there before you ask the developer anything else. The questions after this prompt
|
|
264
291
|
select a framework and a frontend that the findings already name, so a developer who
|
|
@@ -271,10 +298,10 @@ developer nor the repository findings prove what the project is for, ask one gui
|
|
|
271
298
|
question about the user outcome. This asks what the developer wants to build before you
|
|
272
299
|
select a framework. Give two or three short examples and offer a minimal starter. Record
|
|
273
300
|
the answer and give it to each later subagent. Then run
|
|
274
|
-
`npx --yes copilotkit@4.9.
|
|
301
|
+
`npx --yes copilotkit@4.9.60 onboard read credentials/plan`.
|
|
275
302
|
|
|
276
303
|
Do not ask that question on the route above. A project carrying all three states its
|
|
277
304
|
purpose in the application it already serves.
|
|
278
305
|
|
|
279
306
|
If authentication or inspection stops onboarding, run
|
|
280
|
-
`npx --yes copilotkit@4.9.
|
|
307
|
+
`npx --yes copilotkit@4.9.60 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.
|
|
103
|
+
fifth item is proved by `npx --yes copilotkit@4.9.60 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.
|
|
119
|
+
Then run `npx --yes copilotkit@4.9.60 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.
|
|
122
|
+
`npx --yes copilotkit@4.9.60 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.
|
|
26
|
+
npx --yes copilotkit@4.9.60 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.
|
|
@@ -35,18 +35,26 @@ not a route change and does not resume the run.
|
|
|
35
35
|
## Record the audit cell
|
|
36
36
|
|
|
37
37
|
Use the repository findings and selected choices to record the path before project work
|
|
38
|
-
starts. Choose one starting state: empty, agent-only, frontend-only, both,
|
|
38
|
+
starts. Choose one starting state: empty, agent-only, frontend-only, both,
|
|
39
|
+
both-copilotkit-unproved, both-oss.
|
|
39
40
|
|
|
40
41
|
- `empty`: no agent and no frontend.
|
|
41
42
|
- `agent-only`: an agent and no frontend.
|
|
42
43
|
- `frontend-only`: a frontend and no agent.
|
|
43
|
-
- `both`: an agent and frontend
|
|
44
|
+
- `both`: an agent and frontend with no CopilotKit integration.
|
|
45
|
+
- `both-copilotkit-unproved`: an agent, a frontend and a CopilotKit integration whose
|
|
46
|
+
round trip did not prove.
|
|
44
47
|
- `both-oss`: an agent and frontend with the proved OSS CopilotKit baseline.
|
|
45
48
|
|
|
49
|
+
The last two are the states of a project that has CopilotKit, and the baseline proof
|
|
50
|
+
decides which one is true. A run served `proof/oss-baseline` records one of them. The
|
|
51
|
+
first four say that an agent, a frontend, or the CopilotKit integration is absent, and
|
|
52
|
+
the command refuses one of them from a run that was served that node.
|
|
53
|
+
|
|
46
54
|
Run this command with the exact selected slugs:
|
|
47
55
|
|
|
48
56
|
```text
|
|
49
|
-
npx --yes copilotkit@4.9.
|
|
57
|
+
npx --yes copilotkit@4.9.60 onboard classify --starting-state <starting-state> --agent-framework <agent-framework> --frontend <frontend>
|
|
50
58
|
```
|
|
51
59
|
|
|
52
60
|
Do not continue if a value is refused. Fix the value from the choices that the earlier
|
|
@@ -140,7 +148,7 @@ passes against the wrong one.
|
|
|
140
148
|
Create it, from the target directory:
|
|
141
149
|
|
|
142
150
|
```text
|
|
143
|
-
npx --yes copilotkit@4.9.
|
|
151
|
+
npx --yes copilotkit@4.9.60 project select --create <name> --json
|
|
144
152
|
```
|
|
145
153
|
|
|
146
154
|
If the command fails as a duplicate, the organization already holds that display name and
|
|
@@ -154,13 +162,13 @@ Take this branch only when the developer asks for an existing project, or asks t
|
|
|
154
162
|
projects they have. Read the choices:
|
|
155
163
|
|
|
156
164
|
```text
|
|
157
|
-
npx --yes copilotkit@4.9.
|
|
165
|
+
npx --yes copilotkit@4.9.60 project list --json
|
|
158
166
|
```
|
|
159
167
|
|
|
160
168
|
Narrow them:
|
|
161
169
|
|
|
162
170
|
```text
|
|
163
|
-
npx --yes copilotkit@4.9.
|
|
171
|
+
npx --yes copilotkit@4.9.60 project list --search <query> --json
|
|
164
172
|
```
|
|
165
173
|
|
|
166
174
|
With `--json` the payload is the only thing on standard output, so it is safe to parse. Do
|
|
@@ -172,7 +180,7 @@ this directory's.
|
|
|
172
180
|
Then record the project they name, from the target directory:
|
|
173
181
|
|
|
174
182
|
```text
|
|
175
|
-
npx --yes copilotkit@4.9.
|
|
183
|
+
npx --yes copilotkit@4.9.60 project select --project <slug-or-id> --json
|
|
176
184
|
```
|
|
177
185
|
|
|
178
186
|
The two flags cannot be combined. A slug that does not exist fails and lists the real ones,
|
|
@@ -236,7 +244,7 @@ protected path list. Also add each project file that the developer changed for m
|
|
|
236
244
|
credentials. Record them in the baseline from the target app directory:
|
|
237
245
|
|
|
238
246
|
```text
|
|
239
|
-
npx --yes copilotkit@4.9.
|
|
247
|
+
npx --yes copilotkit@4.9.60 onboard protect --path <path>
|
|
240
248
|
```
|
|
241
249
|
|
|
242
250
|
Pass one `--path` for each. The command captures a digest for each path and never re-reads
|
|
@@ -246,13 +254,39 @@ Then re-capture the files this graph wrote itself. For each path the first captu
|
|
|
246
254
|
as `deferred` that this run has now written, run:
|
|
247
255
|
|
|
248
256
|
```text
|
|
249
|
-
npx --yes copilotkit@4.9.
|
|
257
|
+
npx --yes copilotkit@4.9.60 onboard protect --rebaseline --path <path>
|
|
250
258
|
```
|
|
251
259
|
|
|
252
260
|
From that point they are protected like any other path, so a later step that rewrites
|
|
253
261
|
`.env` and drops its key fails the audit rather than passing it. Continue only if every
|
|
254
262
|
result starts with `Status: passed`.
|
|
255
263
|
|
|
264
|
+
### When the developer writes a credential after the baseline
|
|
265
|
+
|
|
266
|
+
Asking the developer to place a credential themselves means their edit lands when they get
|
|
267
|
+
to it, and often after the paths above are captured. A later audit then reports the
|
|
268
|
+
environment path as changed. That change is the one this run asked for, so it is not
|
|
269
|
+
damage, and the credential route is how the run says so.
|
|
270
|
+
|
|
271
|
+
Do not run that route here as a step of its own. Run it only when an audit names the
|
|
272
|
+
environment path. The command below is what to run at that point, from the target app
|
|
273
|
+
directory:
|
|
274
|
+
|
|
275
|
+
```text
|
|
276
|
+
npx --yes copilotkit@4.9.60 onboard protect --accept-credential --path <environment path>
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
The command compares the variable names the baseline recorded with the names the file holds
|
|
280
|
+
now. Read its result:
|
|
281
|
+
|
|
282
|
+
- `Status: passed` means the developer added a credential and every recorded credential is
|
|
283
|
+
still there. Carry the accepted path into the summary.
|
|
284
|
+
- `credential-lost` means a variable the baseline recorded is gone or empty, and the
|
|
285
|
+
refusal names it. Do not repair or rewrite the file. Report the named variable and stop
|
|
286
|
+
onboarding. A run that lost the project key has nothing to prove a round trip with.
|
|
287
|
+
- `unchanged-path` means the file matches its baseline, so nothing was placed in it. That
|
|
288
|
+
is not a failed step. It answers the question and the run carries on.
|
|
289
|
+
|
|
256
290
|
## Wire the runtime to Intelligence
|
|
257
291
|
|
|
258
292
|
The key in `.env` does nothing on its own. The runtime reads no environment variable for
|
|
@@ -270,7 +304,7 @@ proof subagents:
|
|
|
270
304
|
Fetch them together with the pages already selected rather than on their own.
|
|
271
305
|
|
|
272
306
|
Spawn one planning subagent. Tell it to run
|
|
273
|
-
`npx --yes copilotkit@4.9.
|
|
307
|
+
`npx --yes copilotkit@4.9.60 onboard read subagent/create-plan` first and follow the prompt
|
|
274
308
|
it returns. If that read fails because the subagent cannot use the shell, stop that subagent.
|
|
275
309
|
Run the same command yourself, then spawn a fresh subagent with the returned prompt and the
|
|
276
310
|
same handoff. Give it the repository findings, selected framework, frontend, model, credential
|
|
@@ -295,8 +329,15 @@ An upgrade to a working install is the developer's call, so it belongs in the pl
|
|
|
295
329
|
approve rather than in the implementation that follows. Do not upgrade a dependency the
|
|
296
330
|
developer did not approve.
|
|
297
331
|
|
|
332
|
+
When you ask for approval, tell the developer in one line that this is the last thing you
|
|
333
|
+
need from them, and that they can leave the run once they approve. That is a fact about
|
|
334
|
+
this graph rather than a reassurance: no step after approval asks the developer a question,
|
|
335
|
+
and the steps that follow are the longest ones in the run. A developer who does not know
|
|
336
|
+
that waits at the terminal through all of them for a question that never comes. Say it in
|
|
337
|
+
the same message as the plan, and do not turn it into a second question.
|
|
338
|
+
|
|
298
339
|
If the developer approves the plan, run
|
|
299
|
-
`npx --yes copilotkit@4.9.
|
|
340
|
+
`npx --yes copilotkit@4.9.60 onboard read implementation/build-and-validate`.
|
|
300
341
|
|
|
301
342
|
If no exact supported path or documentation URL exists, run
|
|
302
|
-
`npx --yes copilotkit@4.9.
|
|
343
|
+
`npx --yes copilotkit@4.9.60 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.
|
|
72
|
-
2. Agno: `npx --yes copilotkit@4.9.
|
|
73
|
-
3. Built-in CopilotKit agent: `npx --yes copilotkit@4.9.
|
|
74
|
-
4. Claude Agent SDK Python: `npx --yes copilotkit@4.9.
|
|
75
|
-
5. Claude Agent SDK TypeScript: `npx --yes copilotkit@4.9.
|
|
76
|
-
6. CrewAI Flows: `npx --yes copilotkit@4.9.
|
|
77
|
-
7. Deep Agents: `npx --yes copilotkit@4.9.
|
|
78
|
-
8. LangGraph Python: `npx --yes copilotkit@4.9.
|
|
79
|
-
9. LangGraph FastAPI: `npx --yes copilotkit@4.9.
|
|
80
|
-
10. LangGraph TypeScript: `npx --yes copilotkit@4.9.
|
|
81
|
-
11. LlamaIndex: `npx --yes copilotkit@4.9.
|
|
82
|
-
12. ADK: `npx --yes copilotkit@4.9.
|
|
83
|
-
13. Microsoft Agent Framework Python: `npx --yes copilotkit@4.9.
|
|
84
|
-
14. Microsoft Agent Framework .NET: `npx --yes copilotkit@4.9.
|
|
85
|
-
15. Mastra: `npx --yes copilotkit@4.9.
|
|
86
|
-
16. MS Agent Harness .NET: `npx --yes copilotkit@4.9.
|
|
87
|
-
17. Pydantic AI: `npx --yes copilotkit@4.9.
|
|
88
|
-
18. Strands Agents Python: `npx --yes copilotkit@4.9.
|
|
89
|
-
19. Strands Agents TypeScript: `npx --yes copilotkit@4.9.
|
|
71
|
+
1. AG2: `npx --yes copilotkit@4.9.60 onboard read framework/ag2`
|
|
72
|
+
2. Agno: `npx --yes copilotkit@4.9.60 onboard read framework/agno`
|
|
73
|
+
3. Built-in CopilotKit agent: `npx --yes copilotkit@4.9.60 onboard read framework/built-in`
|
|
74
|
+
4. Claude Agent SDK Python: `npx --yes copilotkit@4.9.60 onboard read framework/claude-sdk-python`
|
|
75
|
+
5. Claude Agent SDK TypeScript: `npx --yes copilotkit@4.9.60 onboard read framework/claude-sdk-typescript`
|
|
76
|
+
6. CrewAI Flows: `npx --yes copilotkit@4.9.60 onboard read framework/crewai-flows`
|
|
77
|
+
7. Deep Agents: `npx --yes copilotkit@4.9.60 onboard read framework/deep-agents`
|
|
78
|
+
8. LangGraph Python: `npx --yes copilotkit@4.9.60 onboard read framework/langgraph-python`
|
|
79
|
+
9. LangGraph FastAPI: `npx --yes copilotkit@4.9.60 onboard read framework/langgraph-fastapi`
|
|
80
|
+
10. LangGraph TypeScript: `npx --yes copilotkit@4.9.60 onboard read framework/langgraph-typescript`
|
|
81
|
+
11. LlamaIndex: `npx --yes copilotkit@4.9.60 onboard read framework/llamaindex`
|
|
82
|
+
12. ADK: `npx --yes copilotkit@4.9.60 onboard read framework/google-adk`
|
|
83
|
+
13. Microsoft Agent Framework Python: `npx --yes copilotkit@4.9.60 onboard read framework/ms-agent-python`
|
|
84
|
+
14. Microsoft Agent Framework .NET: `npx --yes copilotkit@4.9.60 onboard read framework/ms-agent-dotnet`
|
|
85
|
+
15. Mastra: `npx --yes copilotkit@4.9.60 onboard read framework/mastra`
|
|
86
|
+
16. MS Agent Harness .NET: `npx --yes copilotkit@4.9.60 onboard read framework/ms-agent-harness-dotnet`
|
|
87
|
+
17. Pydantic AI: `npx --yes copilotkit@4.9.60 onboard read framework/pydantic-ai`
|
|
88
|
+
18. Strands Agents Python: `npx --yes copilotkit@4.9.60 onboard read framework/strands-python`
|
|
89
|
+
19. Strands Agents TypeScript: `npx --yes copilotkit@4.9.60 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.
|
|
93
|
+
`npx --yes copilotkit@4.9.60 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.
|
|
17
|
+
npx --yes copilotkit@4.9.60 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.
|
|
59
|
+
- Run `npx --yes copilotkit@4.9.60 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.
|
|
65
|
+
`npx --yes copilotkit@4.9.60 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.
|
|
118
|
+
When the proof is complete, run `npx --yes copilotkit@4.9.60 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.
|
|
124
|
-
npx --yes copilotkit@4.9.
|
|
123
|
+
npx --yes copilotkit@4.9.60 onboard complete --visual-check <outcome>
|
|
124
|
+
npx --yes copilotkit@4.9.60 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.60 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.60 onboard read feature/stop
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Otherwise run
|
|
32
|
+
`npx --yes copilotkit@4.9.60 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.60 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.60 onboard checkpoint --phase repair-attempted --attempt 1
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
When the actual surface was driven, run
|
|
32
|
+
`npx --yes copilotkit@4.9.60 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`.
|