copilotkit 4.28.0 → 4.29.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.
- package/README.md +6 -3
- package/cli-build-info.json +5 -5
- package/index.js +555 -196
- package/onboarding/index.json +2 -2
- package/onboarding/prompts/authenticate/start.md +32 -20
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +15 -15
- package/onboarding/prompts/credentials/plan.md +24 -24
- package/onboarding/prompts/credentials/settle-credentials.md +7 -7
- package/onboarding/prompts/credentials/write-plan.md +34 -26
- package/onboarding/prompts/deployment/choose-local.md +9 -9
- package/onboarding/prompts/deployment/local-evaluation.md +12 -12
- package/onboarding/prompts/fallback/best-effort.md +6 -6
- package/onboarding/prompts/feature/a2ui/implement.md +4 -4
- package/onboarding/prompts/feature/a2ui/plan.md +3 -3
- package/onboarding/prompts/feature/a2ui/proof.md +5 -5
- package/onboarding/prompts/feature/a2ui/start.md +17 -8
- package/onboarding/prompts/feature/channels/implement.md +7 -7
- package/onboarding/prompts/feature/channels/plan.md +5 -5
- package/onboarding/prompts/feature/channels/proof.md +5 -5
- package/onboarding/prompts/feature/channels/start.md +18 -9
- package/onboarding/prompts/feature/chat-suggestions/implement.md +4 -4
- package/onboarding/prompts/feature/chat-suggestions/plan.md +3 -3
- package/onboarding/prompts/feature/chat-suggestions/proof.md +5 -5
- package/onboarding/prompts/feature/chat-suggestions/start.md +17 -8
- package/onboarding/prompts/feature/complete.md +2 -2
- package/onboarding/prompts/feature/learning/implement.md +12 -12
- package/onboarding/prompts/feature/learning/plan.md +4 -4
- package/onboarding/prompts/feature/learning/proof.md +13 -13
- package/onboarding/prompts/feature/learning/start.md +17 -8
- package/onboarding/prompts/feature/open-generative-ui/implement.md +4 -4
- package/onboarding/prompts/feature/open-generative-ui/plan.md +3 -3
- package/onboarding/prompts/feature/open-generative-ui/proof.md +5 -5
- package/onboarding/prompts/feature/open-generative-ui/start.md +17 -8
- package/onboarding/prompts/feature/realtime-sync/implement.md +5 -5
- package/onboarding/prompts/feature/realtime-sync/plan.md +3 -3
- package/onboarding/prompts/feature/realtime-sync/proof.md +5 -5
- package/onboarding/prompts/feature/realtime-sync/start.md +16 -7
- package/onboarding/prompts/feature/rich-threads/implement.md +6 -6
- package/onboarding/prompts/feature/rich-threads/plan.md +3 -3
- package/onboarding/prompts/feature/rich-threads/proof.md +5 -5
- package/onboarding/prompts/feature/rich-threads/start.md +16 -7
- package/onboarding/prompts/feature/stop.md +4 -4
- package/onboarding/prompts/feature/voice/implement.md +4 -4
- package/onboarding/prompts/feature/voice/plan.md +4 -4
- package/onboarding/prompts/feature/voice/proof.md +5 -5
- package/onboarding/prompts/feature/voice/start.md +17 -8
- package/onboarding/prompts/framework/ag2.md +3 -3
- package/onboarding/prompts/framework/agno.md +3 -3
- package/onboarding/prompts/framework/built-in.md +3 -3
- package/onboarding/prompts/framework/claude-sdk-python.md +3 -3
- package/onboarding/prompts/framework/claude-sdk-typescript.md +3 -3
- package/onboarding/prompts/framework/crewai-flows.md +5 -5
- package/onboarding/prompts/framework/custom-ag-ui.md +4 -4
- package/onboarding/prompts/framework/deep-agents.md +3 -3
- package/onboarding/prompts/framework/google-adk.md +3 -3
- package/onboarding/prompts/framework/langgraph-fastapi.md +3 -3
- package/onboarding/prompts/framework/langgraph-python.md +3 -3
- package/onboarding/prompts/framework/langgraph-typescript.md +3 -3
- package/onboarding/prompts/framework/llamaindex.md +3 -3
- package/onboarding/prompts/framework/mastra.md +3 -3
- package/onboarding/prompts/framework/ms-agent-dotnet.md +5 -5
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +5 -5
- package/onboarding/prompts/framework/ms-agent-python.md +3 -3
- package/onboarding/prompts/framework/pydantic-ai.md +3 -3
- package/onboarding/prompts/framework/strands-python.md +3 -3
- package/onboarding/prompts/framework/strands-typescript.md +3 -3
- package/onboarding/prompts/frontend/angular.md +4 -4
- package/onboarding/prompts/frontend/nextjs.md +4 -4
- package/onboarding/prompts/frontend/plan.md +10 -10
- package/onboarding/prompts/frontend/react-native.md +3 -3
- package/onboarding/prompts/frontend/react-spa.md +3 -3
- package/onboarding/prompts/frontend/vue.md +3 -3
- package/onboarding/prompts/implementation/build-and-validate.md +26 -10
- package/onboarding/prompts/proof/complete.md +3 -3
- package/onboarding/prompts/proof/oss-baseline.md +21 -5
- package/onboarding/prompts/proof/round-trip.md +33 -11
- package/onboarding/prompts/research/gather.md +58 -41
- package/onboarding/prompts/research/merge.md +3 -3
- package/onboarding/prompts/research/preflight.md +2 -2
- package/onboarding/prompts/research/route.md +5 -5
- package/onboarding/prompts/setup/questions.md +6 -6
- package/onboarding/prompts/starter/clone.md +28 -28
- package/onboarding/prompts/stopped/run-failed.md +3 -3
- package/onboarding/prompts/subagent/create-plan.md +27 -2
- package/onboarding/prompts/subagent/implement-and-validate.md +31 -3
- package/onboarding/prompts/subagent/inspect-repository.md +17 -4
- package/onboarding/prompts/subagent/prove-oss-baseline.md +24 -1
- package/onboarding/prompts/subagent/prove-round-trip.md +29 -6
- package/onboarding/prompts/unsupported/no-validated-path.md +3 -3
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Clone a starter
|
|
2
2
|
|
|
3
|
-
First run `npx --prefer-offline --yes copilotkit@4.
|
|
3
|
+
First run `npx --prefer-offline --yes copilotkit@4.29.0 onboard setup-answers`. It prints the answers that
|
|
4
4
|
`setup/questions` recorded, even after this conversation lost them: `framework`, `frontend`,
|
|
5
5
|
`vendor`, `project`, `key`, and on the local route `learning`. Take every "recorded" answer
|
|
6
6
|
below from the record, or this conversation when the record lacks it. Do not ask a question
|
|
@@ -22,7 +22,7 @@ project to use, or to open the coding agent in a new empty folder.
|
|
|
22
22
|
Before you end your turn to wait for the developer, report the pause:
|
|
23
23
|
|
|
24
24
|
```text
|
|
25
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
25
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard checkpoint --phase awaiting-developer --about existing-folder
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
Match the selected agent framework and frontend to this table:
|
|
@@ -76,7 +76,7 @@ the derived name.
|
|
|
76
76
|
Only if the developer asks for an existing project, or asks to see the projects they have,
|
|
77
77
|
read the choices:
|
|
78
78
|
|
|
79
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
79
|
+
`npx --prefer-offline --yes copilotkit@4.29.0 project list --json`
|
|
80
80
|
|
|
81
81
|
Then ask which one to use. Do not order the projects by creation time. If the developer
|
|
82
82
|
already gave this answer, do not ask again. Do not read a secret value. Do not show or
|
|
@@ -85,7 +85,7 @@ store a secret value.
|
|
|
85
85
|
Before you end your turn to wait for the developer, report the pause:
|
|
86
86
|
|
|
87
87
|
```text
|
|
88
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
88
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard checkpoint --phase awaiting-developer --about project-name
|
|
89
89
|
```
|
|
90
90
|
|
|
91
91
|
## Ask where the model credential lives
|
|
@@ -119,7 +119,7 @@ stops the clone. Pass the new file with `--model-key-file`, as for any other key
|
|
|
119
119
|
Before you end your turn to wait for the developer, report the pause:
|
|
120
120
|
|
|
121
121
|
```text
|
|
122
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
122
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard checkpoint --phase awaiting-model-credential
|
|
123
123
|
```
|
|
124
124
|
|
|
125
125
|
A path the developer names is theirs to give, including one outside the project. A path
|
|
@@ -132,7 +132,7 @@ This route skips the plan step that records the path, so record it here, once, b
|
|
|
132
132
|
the clone:
|
|
133
133
|
|
|
134
134
|
```text
|
|
135
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
135
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard classify --starting-state <starting-state> --agent-framework <agent-framework> --frontend <frontend> --model-vendor <model-vendor> --model-vendor-choice <model-vendor-choice>
|
|
136
136
|
```
|
|
137
137
|
|
|
138
138
|
- `<starting-state>`: the starting state the research recorded, usually `empty`.
|
|
@@ -155,7 +155,7 @@ Do not inspect another entry in the parent directory. Replace each placeholder w
|
|
|
155
155
|
recorded value. Do not run a placeholder as a shell argument. If the path holds a space,
|
|
156
156
|
put it in double quotes.
|
|
157
157
|
|
|
158
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
158
|
+
`npx --prefer-offline --yes copilotkit@4.29.0 init --dir <absolute-target-directory> --framework <framework-id> --channel none --no-banner --no-key-prompt --create <name> --install`
|
|
159
159
|
|
|
160
160
|
`--dir` is always the absolute path of the target directory. `init` builds the app in that
|
|
161
161
|
directory and gives the app the directory's name. Do not add `--name`: `init` refuses
|
|
@@ -178,23 +178,23 @@ the developer for the right path, or run the command again without the flag.
|
|
|
178
178
|
Before you end your turn to wait for the developer, report the pause:
|
|
179
179
|
|
|
180
180
|
```text
|
|
181
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
181
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard checkpoint --phase awaiting-model-credential
|
|
182
182
|
```
|
|
183
183
|
|
|
184
184
|
If you cannot pass the key file to `init`, for example because a sandbox refuses the path,
|
|
185
185
|
clone without `--model-key-file`. Then copy the key from `<target>` with one command:
|
|
186
|
-
`cd <target> && npx --prefer-offline --yes copilotkit@4.
|
|
186
|
+
`cd <target> && npx --prefer-offline --yes copilotkit@4.29.0 onboard credentials --model-key <VARIABLE> --env-path <key-file> --copy-to <env file> --json`.
|
|
187
187
|
`<env file>` is `.env`, or `agent/.env` for the Microsoft Agent Framework Python starter.
|
|
188
188
|
The command writes the key into that file without printing it. If the
|
|
189
189
|
command is refused too, ask the developer to run it. Give them exactly this one line:
|
|
190
|
-
`! cd <target> && npx --prefer-offline --yes copilotkit@4.
|
|
190
|
+
`! cd <target> && npx --prefer-offline --yes copilotkit@4.29.0 onboard credentials --model-key <VARIABLE> --env-path <key-file> --copy-to <env file>`.
|
|
191
191
|
The command needs no input. Without `!`, they run the same command in a terminal.
|
|
192
192
|
Do not write a `sed`, `grep`, or `cat` command to copy the key.
|
|
193
193
|
|
|
194
194
|
Before you end your turn to wait for the developer, report the pause:
|
|
195
195
|
|
|
196
196
|
```text
|
|
197
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
197
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard checkpoint --phase awaiting-model-credential
|
|
198
198
|
```
|
|
199
199
|
|
|
200
200
|
### For a recorded local choice
|
|
@@ -204,7 +204,7 @@ command instead of the hosted command above. Do not ask the project questions ab
|
|
|
204
204
|
Local evaluation creates its own empty project, and `init --local` refuses `--create` and
|
|
205
205
|
`--project`.
|
|
206
206
|
|
|
207
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
207
|
+
`npx --prefer-offline --yes copilotkit@4.29.0 init --dir <absolute-target-directory> --framework <framework-id> --channel none --no-banner --no-key-prompt --local --defer-model --install`
|
|
208
208
|
|
|
209
209
|
Use the `learning` answer from the record, or this conversation. Use the default only when
|
|
210
210
|
neither holds one.
|
|
@@ -214,12 +214,12 @@ file. The CLI selects the latest stable release. If the developer gave a candida
|
|
|
214
214
|
manifest for release testing, add `--candidate <manifest.json>`. Otherwise, do not add it.
|
|
215
215
|
The `--dir`, `--no-install` and `--model-key-file` rules above apply here too.
|
|
216
216
|
|
|
217
|
-
Before `init`, run `npx --prefer-offline --yes copilotkit@4.
|
|
217
|
+
Before `init`, run `npx --prefer-offline --yes copilotkit@4.29.0 onboard local-terms --json`. If `accepted`
|
|
218
218
|
is false, pause here. Give the developer this exact command to run in their own terminal:
|
|
219
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
219
|
+
`npx --prefer-offline --yes copilotkit@4.29.0 local accept-terms`. Never accept the agreement yourself.
|
|
220
220
|
Report the pause with
|
|
221
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
222
|
-
and wait for "done". Then run `local-terms` again, and continue only when `accepted` is
|
|
221
|
+
`npx --prefer-offline --yes copilotkit@4.29.0 onboard checkpoint --phase awaiting-developer --about local-terms`, end your
|
|
222
|
+
turn, and wait for "done". Then run `local-terms` again, and continue only when `accepted` is
|
|
223
223
|
true. A local command that fails with `eula_acceptance_required` comes back to this step.
|
|
224
224
|
|
|
225
225
|
For `learning.guided`, keep `--defer-model`.
|
|
@@ -228,7 +228,7 @@ After `init` reports the stack ready:
|
|
|
228
228
|
Ask the developer to run this command in their own terminal window, in `<target>`:
|
|
229
229
|
|
|
230
230
|
```text
|
|
231
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
231
|
+
npx --prefer-offline --yes copilotkit@4.29.0 local setup
|
|
232
232
|
```
|
|
233
233
|
|
|
234
234
|
Do not give it as a `!` line, and do not run it yourself. Its guided model prompt needs a
|
|
@@ -237,9 +237,9 @@ changes nothing. The prompt asks for the model and its key, and it saves them pr
|
|
|
237
237
|
On a running stack, it restarts only Learning. Do not ask for a model file.
|
|
238
238
|
|
|
239
239
|
Say that the run continues when they reply or resume this session. Report the pause with
|
|
240
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
240
|
+
`npx --prefer-offline --yes copilotkit@4.29.0 onboard checkpoint --phase awaiting-model-credential`, end your
|
|
241
241
|
turn, and wait. When the developer replies, run
|
|
242
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
242
|
+
`npx --prefer-offline --yes copilotkit@4.29.0 local status --json` from `<target>` and read `learning.configuration`.
|
|
243
243
|
|
|
244
244
|
The command installs the local stack, then connects the starter to it. It writes the
|
|
245
245
|
gitignored `.copilotkit/local.json` stack reference and `.copilotkit/project.json` with the
|
|
@@ -302,10 +302,10 @@ grep -c '^<VARIABLE>=.' <target>/.env
|
|
|
302
302
|
a count and never the value.
|
|
303
303
|
|
|
304
304
|
If a variable is empty, run
|
|
305
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
305
|
+
`npx --prefer-offline --yes copilotkit@4.29.0 onboard credentials --model-key <VARIABLE> --json` from
|
|
306
306
|
`<target>`, and show the developer `question.ask` word for word. It names the file by its
|
|
307
307
|
full path and the line to add. If they reply with the path of a file that holds the key, run
|
|
308
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
308
|
+
`npx --prefer-offline --yes copilotkit@4.29.0 onboard credentials --model-key <VARIABLE> --env-path <file> --copy-to <question.envFile> --json`
|
|
309
309
|
from `<target>`. Ask nothing else first. Quote a path that holds a space. The command copies
|
|
310
310
|
the key without printing it. When it reports `ready`, the key is in `question.envFile`. Run
|
|
311
311
|
the check above again, and continue. Follow this paragraph, not the packet's `next`, which is
|
|
@@ -333,7 +333,7 @@ The two Microsoft Agent Framework starters keep their key outside `<target>/.env
|
|
|
333
333
|
When you ask, say that the run continues when they reply or resume this session. Then report the pause and end your turn:
|
|
334
334
|
|
|
335
335
|
```text
|
|
336
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
336
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard checkpoint --phase awaiting-model-credential
|
|
337
337
|
```
|
|
338
338
|
|
|
339
339
|
This is a pause, not a stop. Do not send a stop report, and do not take a stop route.
|
|
@@ -349,7 +349,7 @@ Run this from `<target>`, with one `--model-key` for each variable. For the Micr
|
|
|
349
349
|
Framework Python starter, add `--env-path agent/.env`. Skip it for the .NET starter.
|
|
350
350
|
|
|
351
351
|
```text
|
|
352
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
352
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard credentials --model-key <VARIABLE> --json
|
|
353
353
|
```
|
|
354
354
|
|
|
355
355
|
The command never prints a value. If `status` is `ready`, continue. Otherwise do what
|
|
@@ -362,7 +362,7 @@ works and the app's model does not: the vendor does not serve the model that
|
|
|
362
362
|
names, or names another, change `COPILOTKIT_AGENT_MODEL` where `question.ask` says, and
|
|
363
363
|
run the command again.
|
|
364
364
|
|
|
365
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
365
|
+
Then run `npx --prefer-offline --yes copilotkit@4.29.0 onboard read proof/round-trip`.
|
|
366
366
|
|
|
367
367
|
If the local command fails, `init` keeps the cloned starter in `<target>`, and its error
|
|
368
368
|
says whether it installed the starter's dependencies, or names the command that does. Do
|
|
@@ -375,14 +375,14 @@ available memory, or 40 GiB storage. Tell the developer what to change in Docker
|
|
|
375
375
|
memory, pass on the amount the message names. Then report the pause and end your turn:
|
|
376
376
|
|
|
377
377
|
```text
|
|
378
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
378
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard checkpoint --phase awaiting-developer --about environment-fix
|
|
379
379
|
```
|
|
380
380
|
|
|
381
381
|
When the developer says that Docker is ready, resume from `<target>` with the same model
|
|
382
382
|
choice. If the run used a `--candidate`, add the same one:
|
|
383
383
|
|
|
384
384
|
```text
|
|
385
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
385
|
+
npx --prefer-offline --yes copilotkit@4.29.0 local setup --defer-model --json
|
|
386
386
|
```
|
|
387
387
|
|
|
388
388
|
If the run used model settings, replace `--defer-model` with `--model-config <private-file>`.
|
|
@@ -390,7 +390,7 @@ Read blockers and the recorded failed step. Do not delete or recreate a failed s
|
|
|
390
390
|
setup reports the stack ready, connect the starter from `<target>`:
|
|
391
391
|
|
|
392
392
|
```text
|
|
393
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
393
|
+
npx --prefer-offline --yes copilotkit@4.29.0 local connect --approve-connection --json
|
|
394
394
|
```
|
|
395
395
|
|
|
396
396
|
The connection writes `.copilotkit/local.json`, `.copilotkit/project.json`, and the local
|
|
@@ -400,6 +400,6 @@ take the route below.
|
|
|
400
400
|
|
|
401
401
|
If the command fails, report its exact error and do not claim that the starter is ready.
|
|
402
402
|
Then run
|
|
403
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
403
|
+
`npx --prefer-offline --yes copilotkit@4.29.0 onboard read stopped/run-failed`. The starter is one this
|
|
404
404
|
graph ships and the stack was chosen from its own supported list, so a command that
|
|
405
405
|
returned an error is a run that broke, not a setup this release does not support.
|
|
@@ -42,13 +42,13 @@ put to them, stop here and send the report below.
|
|
|
42
42
|
Before you end your turn to wait for the developer, report the pause:
|
|
43
43
|
|
|
44
44
|
```text
|
|
45
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
45
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard checkpoint --phase awaiting-developer --about scoped-fix
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
If they approve it, make that one fix and nothing else. Then come back into this run:
|
|
49
49
|
|
|
50
50
|
```text
|
|
51
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
51
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard resume --message "<approval>"
|
|
52
52
|
```
|
|
53
53
|
|
|
54
54
|
Put the developer's approval in `--message`, in one or two sentences: the fix they
|
|
@@ -71,7 +71,7 @@ Send one short report. The friction command follows the telemetry setting the de
|
|
|
71
71
|
already chose, so it needs no separate question.
|
|
72
72
|
|
|
73
73
|
```text
|
|
74
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
74
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
75
75
|
```
|
|
76
76
|
|
|
77
77
|
`--message` takes one or two sentences: the step you stopped at and what stopped
|
|
@@ -22,6 +22,19 @@ override copies.
|
|
|
22
22
|
List the required credential variable names. Do not read or return credential values.
|
|
23
23
|
Preserve each agent or frontend that already exists.
|
|
24
24
|
|
|
25
|
+
## When a command is refused
|
|
26
|
+
|
|
27
|
+
If you are a subagent and your harness refuses a command, return at once. Name the
|
|
28
|
+
command, the directory you ran it from, and the refusal, and run nothing else. Do not wait
|
|
29
|
+
for an approval: nobody sees it. The main coding agent runs the command itself and passes
|
|
30
|
+
the result on. The one wait allowed is a harness escalation request that this brief tells
|
|
31
|
+
you to make for a command. Make that request and wait for its answer.
|
|
32
|
+
|
|
33
|
+
If your handoff holds a command's result, use it and do not run that command again.
|
|
34
|
+
|
|
35
|
+
If you are the main coding agent and follow this brief yourself, this section is not for
|
|
36
|
+
you. Do not return: handle a refused command as the run's other prompts say.
|
|
37
|
+
|
|
25
38
|
## What the existing agent's behavior is
|
|
26
39
|
|
|
27
40
|
The existing agent's behavior is four things: its system prompt and instructions, its
|
|
@@ -97,7 +110,7 @@ against a dead host, and the failure arrives as an empty-body 404 with no cause
|
|
|
97
110
|
Ask the CLI for the dependency upgrade, from the target directory:
|
|
98
111
|
|
|
99
112
|
```text
|
|
100
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
113
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard upgrade-plan --json
|
|
101
114
|
```
|
|
102
115
|
|
|
103
116
|
It reads the installed tree and the registry. Read `status`:
|
|
@@ -185,7 +198,7 @@ here is work the developer did not ask for.
|
|
|
185
198
|
Plan the threads drawer itself: add it from the selected drawer page, where this frontend
|
|
186
199
|
does not already render one. Where this journey's frontend framework ships no threads
|
|
187
200
|
drawer -- React Native --, plan that the thread is proved by
|
|
188
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
201
|
+
`npx --prefer-offline --yes copilotkit@4.29.0 verify --round-trip`, which needs no browser. Do not plan a
|
|
189
202
|
step that opens the managed Intelligence dashboard.
|
|
190
203
|
|
|
191
204
|
## Name the files the run writes itself
|
|
@@ -325,10 +338,22 @@ change. Say that in the plan.
|
|
|
325
338
|
|
|
326
339
|
Do not leave a change that needs approval out of the list to keep the run moving.
|
|
327
340
|
|
|
341
|
+
## Return the result
|
|
342
|
+
|
|
328
343
|
Gather what you need in as few commands as possible. Combine independent reads into one
|
|
329
344
|
command rather than running them one at a time. Split a command only when its result decides
|
|
330
345
|
what you run next.
|
|
331
346
|
|
|
347
|
+
Before you return, record that you are returning:
|
|
348
|
+
|
|
349
|
+
```text
|
|
350
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard checkpoint --phase subagent-returned --brief create-plan --result <ok|failed>
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
The Status line of your result decides the value. Pass `ok` only for `Status: passed`.
|
|
354
|
+
Pass `failed` for `Status: failed` or `Status: blocked`. If your harness refuses this command, say so in your result and return
|
|
355
|
+
anyway: the main coding agent records it.
|
|
356
|
+
|
|
332
357
|
Start with `Status: passed`, `Status: failed`, or `Status: blocked`.
|
|
333
358
|
Return the plan, the URLs that you read, and each documentation gap. End your turn after you return
|
|
334
359
|
the findings to the main coding agent.
|
|
@@ -89,6 +89,19 @@ approved paths that do not overwrite such a file, unless the plan lists it under
|
|
|
89
89
|
running the scaffolder. Ask the main coding agent to revise credential setup when a
|
|
90
90
|
required variable is missing. Do not provision another key to repair a scaffold overwrite.
|
|
91
91
|
|
|
92
|
+
## When a command is refused
|
|
93
|
+
|
|
94
|
+
If you are a subagent and your harness refuses a command, return at once. Name the
|
|
95
|
+
command, the directory you ran it from, and the refusal, and run nothing else. Do not wait
|
|
96
|
+
for an approval: nobody sees it. The main coding agent runs the command itself and passes
|
|
97
|
+
the result on. The one wait allowed is a harness escalation request that this brief tells
|
|
98
|
+
you to make for a command. Make that request and wait for its answer.
|
|
99
|
+
|
|
100
|
+
If your handoff holds a command's result, use it and do not run that command again.
|
|
101
|
+
|
|
102
|
+
If you are the main coding agent and follow this brief yourself, this section is not for
|
|
103
|
+
you. Do not return: handle a refused command as the run's other prompts say.
|
|
104
|
+
|
|
92
105
|
## What the existing agent's behavior is
|
|
93
106
|
|
|
94
107
|
The existing agent's behavior is four things: its system prompt and instructions, its
|
|
@@ -136,7 +149,7 @@ Intelligence: declare each exact version in its app's manifest, then install wit
|
|
|
136
149
|
project's package manager, under the install rule above. Then check the installed tree:
|
|
137
150
|
|
|
138
151
|
```text
|
|
139
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
152
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard upgrade-plan --check --json
|
|
140
153
|
```
|
|
141
154
|
|
|
142
155
|
`single` means every direct dependency resolved to one version. `duplicates` names each
|
|
@@ -151,7 +164,7 @@ If the check finds duplicates or the baseline regresses, put the manifests and l
|
|
|
151
164
|
back, leave Intelligence unwired, and report what failed:
|
|
152
165
|
|
|
153
166
|
```text
|
|
154
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
167
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard upgrade-plan --revert --json
|
|
155
168
|
```
|
|
156
169
|
|
|
157
170
|
Then end your turn. Never add an `overrides`, `resolutions`, or `pnpm.overrides` block to
|
|
@@ -183,11 +196,16 @@ project does not hold, and the rendered result looks the same either way.
|
|
|
183
196
|
Run the full validation list. Record changed files, command results, and errors. Do not
|
|
184
197
|
claim that the real user journey works in this phase.
|
|
185
198
|
|
|
199
|
+
Your validation stops at `verify`. The proof step runs the round trip and records the
|
|
200
|
+
proof, once. Do not run `verify --round-trip`, `onboard proof-check`, or `onboard proof`.
|
|
201
|
+
Where the validation list names the round trip, leave it to the proof step and say so in
|
|
202
|
+
the Validation section.
|
|
203
|
+
|
|
186
204
|
Where the plan names a Learning Container id, check that the container exists first. Run
|
|
187
205
|
this from the target app directory, before you write any selector:
|
|
188
206
|
|
|
189
207
|
```text
|
|
190
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
208
|
+
npx --prefer-offline --yes copilotkit@4.29.0 learning containers get <id> --json
|
|
191
209
|
```
|
|
192
210
|
|
|
193
211
|
`"status": "success"` means the container exists. An `error.code` of
|
|
@@ -220,6 +238,16 @@ Gather what you need in as few commands as possible. Combine independent reads i
|
|
|
220
238
|
command rather than running them one at a time. Split a command only when its result decides
|
|
221
239
|
what you run next.
|
|
222
240
|
|
|
241
|
+
Before you return, record that you are returning:
|
|
242
|
+
|
|
243
|
+
```text
|
|
244
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard checkpoint --phase subagent-returned --brief implement-and-validate --result <ok|failed>
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
The Status line of your result decides the value. Pass `ok` only for `Status: passed`.
|
|
248
|
+
Pass `failed` for `Status: failed` or `Status: blocked`. If your harness refuses this command, say so in your result and return
|
|
249
|
+
anyway: the main coding agent records it.
|
|
250
|
+
|
|
223
251
|
Start with `Status: passed`, `Status: failed`, or `Status: blocked`.
|
|
224
252
|
Return exactly four sections: Status, Files changed, Validation, and Blockers. Then end
|
|
225
253
|
your turn.
|
|
@@ -8,13 +8,13 @@ Your handoff holds the JSON of this command, which the main coding agent ran fro
|
|
|
8
8
|
target project directory:
|
|
9
9
|
|
|
10
10
|
```text
|
|
11
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
11
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard inspect --json
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
Read that JSON. Do not run the command again. If the handoff holds no inspection JSON, run
|
|
15
|
-
the command yourself. If your harness refuses it, return
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
the command yourself. If your harness refuses it, return with no packet, as "When a command
|
|
16
|
+
is refused" below says. That is not `Status: blocked`: the main coding agent can run the
|
|
17
|
+
command and do this work itself.
|
|
18
18
|
|
|
19
19
|
The JSON answers the deterministic half of both packets exactly, from the same code
|
|
20
20
|
`copilotkit verify` uses: the project record by presence, and, for each app or runtime
|
|
@@ -48,6 +48,19 @@ target directory that holds no project yet, and `no-declared-dependency` for a p
|
|
|
48
48
|
where no directory declares one. Report that reason as the finding. Do not report that
|
|
49
49
|
the inspection found nothing.
|
|
50
50
|
|
|
51
|
+
## When a command is refused
|
|
52
|
+
|
|
53
|
+
If you are a subagent and your harness refuses a command, return at once. Name the
|
|
54
|
+
command, the directory you ran it from, and the refusal, and run nothing else. Do not wait
|
|
55
|
+
for an approval: nobody sees it. The main coding agent runs the command itself and passes
|
|
56
|
+
the result on. The one wait allowed is a harness escalation request that this brief tells
|
|
57
|
+
you to make for a command. Make that request and wait for its answer.
|
|
58
|
+
|
|
59
|
+
If your handoff holds a command's result, use it and do not run that command again.
|
|
60
|
+
|
|
61
|
+
If you are the main coding agent and follow this brief yourself, this section is not for
|
|
62
|
+
you. Do not return: handle a refused command as the run's other prompts say.
|
|
63
|
+
|
|
51
64
|
## Project evidence packet
|
|
52
65
|
|
|
53
66
|
Find evidence for:
|
|
@@ -3,6 +3,19 @@
|
|
|
3
3
|
Read and run only inside the project directory. Do not edit source, configuration,
|
|
4
4
|
dependencies, or tracked files. Do not read, show, store, or return secret values.
|
|
5
5
|
|
|
6
|
+
## When a command is refused
|
|
7
|
+
|
|
8
|
+
If you are a subagent and your harness refuses a command, return at once. Name the
|
|
9
|
+
command, the directory you ran it from, and the refusal, and run nothing else. Do not wait
|
|
10
|
+
for an approval: nobody sees it. The main coding agent runs the command itself and passes
|
|
11
|
+
the result on. The one wait allowed is a harness escalation request that this brief tells
|
|
12
|
+
you to make for a command. Make that request and wait for its answer.
|
|
13
|
+
|
|
14
|
+
If your handoff holds a command's result, use it and do not run that command again.
|
|
15
|
+
|
|
16
|
+
If you are the main coding agent and follow this brief yourself, this section is not for
|
|
17
|
+
you. Do not return: handle a refused command as the run's other prompts say.
|
|
18
|
+
|
|
6
19
|
Find the expected agent id from the project. Start the existing agent and frontend only
|
|
7
20
|
when they are not already running. Before using a port, identify its process and working
|
|
8
21
|
directory. Do not stop a process outside this project.
|
|
@@ -35,7 +48,7 @@ Prove the live runtime in this order:
|
|
|
35
48
|
4. Confirm from project files that the runtime constructor passes a `runner` option rather
|
|
36
49
|
than an `intelligence` option. A package, import, project file, or key is not use proof.
|
|
37
50
|
5. Run
|
|
38
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
51
|
+
`npx --prefer-offline --yes copilotkit@4.29.0 verify --expect-runtime oss --round-trip --agent <expected-agent-id> --json`,
|
|
39
52
|
with the runtime URL or auth header options that this project needs. Add
|
|
40
53
|
`--runtime-url <url>` when the report names a runtime URL the dev server does not
|
|
41
54
|
serve. Require exit zero
|
|
@@ -68,5 +81,15 @@ The default in-memory OSS runner is ephemeral. SQLite, custom, or framework pers
|
|
|
68
81
|
can be durable. Report the persistence that project evidence proves, or `unproved`. Do not
|
|
69
82
|
replace it and do not describe all OSS runs as ephemeral.
|
|
70
83
|
|
|
84
|
+
Before you return, record that you are returning:
|
|
85
|
+
|
|
86
|
+
```text
|
|
87
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard checkpoint --phase subagent-returned --brief prove-oss-baseline --result <ok|failed>
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
The Status line of your result decides the value. Pass `ok` only for `Status: passed`.
|
|
91
|
+
Pass `failed` for `Status: failed` or `Status: blocked`. If your harness refuses this command, say so in your result and return
|
|
92
|
+
anyway: the main coding agent records it.
|
|
93
|
+
|
|
71
94
|
Start with `Status: passed`, `Status: failed`, or `Status: blocked`.
|
|
72
95
|
End your turn after returning the baseline result, process ids and ports used, and evidence paths.
|
|
@@ -50,6 +50,19 @@ Gather what you need in as few commands as possible. Combine independent reads i
|
|
|
50
50
|
command rather than running them one at a time. Split a command only when its result decides
|
|
51
51
|
what you run next.
|
|
52
52
|
|
|
53
|
+
## When a command is refused
|
|
54
|
+
|
|
55
|
+
If you are a subagent and your harness refuses a command, return at once. Name the
|
|
56
|
+
command, the directory you ran it from, and the refusal, and run nothing else. Do not wait
|
|
57
|
+
for an approval: nobody sees it. The main coding agent runs the command itself and passes
|
|
58
|
+
the result on. The one wait allowed is a harness escalation request that this brief tells
|
|
59
|
+
you to make for a command. Make that request and wait for its answer.
|
|
60
|
+
|
|
61
|
+
If your handoff holds a command's result, use it and do not run that command again.
|
|
62
|
+
|
|
63
|
+
If you are the main coding agent and follow this brief yourself, this section is not for
|
|
64
|
+
you. Do not return: handle a refused command as the run's other prompts say.
|
|
65
|
+
|
|
53
66
|
## Step 1 -- Read what the proof needs
|
|
54
67
|
|
|
55
68
|
Read all of this from the approved plan in one pass, before you start anything:
|
|
@@ -76,7 +89,7 @@ about the failure it was spawned to clear.
|
|
|
76
89
|
Run this from the target app directory:
|
|
77
90
|
|
|
78
91
|
```text
|
|
79
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
92
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard proof-check --json
|
|
80
93
|
```
|
|
81
94
|
|
|
82
95
|
It starts each app's `dev` script unless a server from that app already listens, and
|
|
@@ -132,7 +145,7 @@ Otherwise sort `firstFailure`, and run the command again after each repair:
|
|
|
132
145
|
asking. Read the port from the log, not from the plan, and record it:
|
|
133
146
|
|
|
134
147
|
```text
|
|
135
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
148
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard runtime-url --url <runtime-url>
|
|
136
149
|
```
|
|
137
150
|
|
|
138
151
|
`<runtime-url>` is the project's runtime URL, or the plan's, with its port replaced by the
|
|
@@ -239,7 +252,7 @@ shows it. Send the same run
|
|
|
239
252
|
body twice: once carrying the context entries the page
|
|
240
253
|
publishes, and once carrying the same entries with one value changed. Use the step 1
|
|
241
254
|
request both times. Write each body to a JSON file in `.copilotkit/proof/`, and send it with
|
|
242
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
255
|
+
`npx --prefer-offline --yes copilotkit@4.29.0 verify --send-run <file> --agent <agent id> --json`.
|
|
243
256
|
The command sends the body to `<runtime>/agent/<agent id>/run` and reads the events the run
|
|
244
257
|
streams. It writes them to `<file name>.events.jsonl` beside the body, and prints that path
|
|
245
258
|
with the answer text and the tool calls. Do not send a run with `curl` and read its events
|
|
@@ -317,7 +330,7 @@ For a recorded `both-oss` starting state, this step has no component to render.
|
|
|
317
330
|
same request the baseline recorded, require the same kind of user-visible result the
|
|
318
331
|
baseline produced, and require that the thread for that request is listed in the drawer.
|
|
319
332
|
Where this journey's frontend framework ships no threads drawer -- React Native --, prove
|
|
320
|
-
that thread with `npx --prefer-offline --yes copilotkit@4.
|
|
333
|
+
that thread with `npx --prefer-offline --yes copilotkit@4.29.0 verify --round-trip`, which reads the
|
|
321
334
|
answer back off the thread and needs no browser. Where the proof checks needed `--thread`,
|
|
322
335
|
prove the thread for this request with `verify --thread <id>` instead. Record which of the
|
|
323
336
|
two you proved.
|
|
@@ -347,7 +360,7 @@ limit can be ten minutes. You cannot interrupt a call while it runs, so the limi
|
|
|
347
360
|
what you do after one. If a browser call took longer than 60 seconds to return, the browser
|
|
348
361
|
control is unresponsive. Do not call the browser again in this attempt. A second call to a
|
|
349
362
|
hung tool waits as long as the first one did. Run
|
|
350
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
363
|
+
`npx --prefer-offline --yes copilotkit@4.29.0 verify --frontend-url <the frontendUrl the proof checks resolved> --json` once,
|
|
351
364
|
and record the `frontend_assets_served` result. Report the outcome `failed` with the cause
|
|
352
365
|
`browser-control-unresponsive`. The application is not at fault on this evidence: every
|
|
353
366
|
step before the browser proved the runtime without one, and no repair to the project can
|
|
@@ -357,7 +370,7 @@ reach the tool.
|
|
|
357
370
|
the page to finish loading. Do not retype the host, and do not substitute a URL a tool
|
|
358
371
|
offers you by default. Where the page loads but its styling is missing or the chat
|
|
359
372
|
control is dead, run
|
|
360
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
373
|
+
`npx --prefer-offline --yes copilotkit@4.29.0 verify --frontend-url <the url you opened> --json`
|
|
361
374
|
before you diagnose anything else. A dev server can serve its page and refuse every
|
|
362
375
|
static chunk behind it, and on screen that is indistinguishable from a broken
|
|
363
376
|
integration. The `frontend_assets_served` check tells the two apart.
|
|
@@ -466,6 +479,16 @@ For every other starting state, record Step 8 as not applicable.
|
|
|
466
479
|
|
|
467
480
|
## Step 9 -- Return the result
|
|
468
481
|
|
|
482
|
+
Before you return, record that you are returning:
|
|
483
|
+
|
|
484
|
+
```text
|
|
485
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard checkpoint --phase subagent-returned --brief prove-round-trip --result <ok|failed>
|
|
486
|
+
```
|
|
487
|
+
|
|
488
|
+
The Status line of your result decides the value. Pass `ok` only for `Status: passed`.
|
|
489
|
+
Pass `failed` for `Status: failed` or `Status: blocked`. If your harness refuses this command, say so in your result and return
|
|
490
|
+
anyway: the main coding agent records it.
|
|
491
|
+
|
|
469
492
|
Start with `Status: passed`, `Status: failed`, or `Status: blocked`.
|
|
470
493
|
Use `Status: passed` when the proof attempt completed with `performed`,
|
|
471
494
|
`skipped-no-browser-tool`, `skipped-no-device`, or `skipped-cloned-starter`. The parent
|
|
@@ -36,17 +36,17 @@ Before you show the best-effort plan, require this complete packet:
|
|
|
36
36
|
Before you end your turn to wait for the developer, report the pause:
|
|
37
37
|
|
|
38
38
|
```text
|
|
39
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
39
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard checkpoint --phase awaiting-plan-approval
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
After the developer approves the best-effort plan, run
|
|
43
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
43
|
+
`npx --prefer-offline --yes copilotkit@4.29.0 onboard read fallback/best-effort`.
|
|
44
44
|
|
|
45
45
|
Send one short report. The friction command follows the telemetry setting the developer
|
|
46
46
|
already chose, so it needs no separate question.
|
|
47
47
|
|
|
48
48
|
```text
|
|
49
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
49
|
+
npx --prefer-offline --yes copilotkit@4.29.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
50
50
|
```
|
|
51
51
|
|
|
52
52
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|