copilotkit 4.29.0 → 4.30.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 +311 -33
- package/cli-build-info.json +7 -7
- package/exporters/claude-sdk/README.md +93 -0
- package/exporters/claude-sdk/export_session_store.py +39 -0
- package/exporters/claude-sdk/store-export.ts +61 -0
- package/index.js +212561 -109267
- package/onboarding/index.json +51 -5
- package/onboarding/prompts/authenticate/start.md +51 -49
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +15 -15
- package/onboarding/prompts/credentials/plan.md +25 -29
- package/onboarding/prompts/credentials/settle-credentials.md +13 -8
- package/onboarding/prompts/credentials/write-plan.md +18 -16
- package/onboarding/prompts/deployment/choose-local.md +13 -12
- package/onboarding/prompts/deployment/local-evaluation.md +11 -11
- package/onboarding/prompts/fallback/best-effort.md +10 -11
- package/onboarding/prompts/feature/a2ui/implement.md +7 -5
- package/onboarding/prompts/feature/a2ui/plan.md +7 -3
- package/onboarding/prompts/feature/a2ui/proof.md +8 -6
- package/onboarding/prompts/feature/a2ui/start.md +10 -10
- package/onboarding/prompts/feature/channels/implement.md +10 -8
- package/onboarding/prompts/feature/channels/plan.md +9 -5
- package/onboarding/prompts/feature/channels/proof.md +8 -6
- package/onboarding/prompts/feature/channels/start.md +17 -13
- package/onboarding/prompts/feature/chat-suggestions/implement.md +7 -5
- package/onboarding/prompts/feature/chat-suggestions/plan.md +7 -3
- package/onboarding/prompts/feature/chat-suggestions/proof.md +8 -6
- package/onboarding/prompts/feature/chat-suggestions/start.md +10 -10
- package/onboarding/prompts/feature/complete.md +3 -3
- package/onboarding/prompts/feature/learning/implement.md +15 -13
- package/onboarding/prompts/feature/learning/plan.md +8 -4
- package/onboarding/prompts/feature/learning/proof.md +16 -14
- package/onboarding/prompts/feature/learning/start.md +10 -10
- package/onboarding/prompts/feature/open-generative-ui/implement.md +7 -5
- package/onboarding/prompts/feature/open-generative-ui/plan.md +7 -3
- package/onboarding/prompts/feature/open-generative-ui/proof.md +8 -6
- package/onboarding/prompts/feature/open-generative-ui/start.md +10 -10
- package/onboarding/prompts/feature/realtime-sync/implement.md +8 -6
- package/onboarding/prompts/feature/realtime-sync/plan.md +7 -3
- package/onboarding/prompts/feature/realtime-sync/proof.md +8 -6
- package/onboarding/prompts/feature/realtime-sync/start.md +9 -9
- package/onboarding/prompts/feature/rich-threads/implement.md +9 -7
- package/onboarding/prompts/feature/rich-threads/plan.md +7 -3
- package/onboarding/prompts/feature/rich-threads/proof.md +8 -6
- package/onboarding/prompts/feature/rich-threads/start.md +9 -9
- package/onboarding/prompts/feature/stop.md +4 -4
- package/onboarding/prompts/feature/voice/implement.md +7 -5
- package/onboarding/prompts/feature/voice/plan.md +8 -4
- package/onboarding/prompts/feature/voice/proof.md +8 -6
- package/onboarding/prompts/feature/voice/start.md +10 -10
- package/onboarding/prompts/framework/ag2.md +4 -11
- package/onboarding/prompts/framework/agno.md +4 -11
- 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 +6 -12
- package/onboarding/prompts/framework/custom-ag-ui.md +5 -11
- package/onboarding/prompts/framework/deep-agents.md +5 -11
- package/onboarding/prompts/framework/google-adk.md +4 -8
- package/onboarding/prompts/framework/langgraph-fastapi.md +4 -10
- package/onboarding/prompts/framework/langgraph-python.md +4 -10
- package/onboarding/prompts/framework/langgraph-typescript.md +5 -11
- package/onboarding/prompts/framework/llamaindex.md +4 -10
- package/onboarding/prompts/framework/mastra.md +4 -10
- package/onboarding/prompts/framework/ms-agent-dotnet.md +6 -13
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +7 -13
- package/onboarding/prompts/framework/ms-agent-python.md +5 -11
- package/onboarding/prompts/framework/pydantic-ai.md +4 -10
- package/onboarding/prompts/framework/strands-python.md +4 -10
- package/onboarding/prompts/framework/strands-typescript.md +4 -10
- 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 +33 -16
- package/onboarding/prompts/proof/complete.md +22 -19
- package/onboarding/prompts/proof/oss-baseline.md +6 -6
- package/onboarding/prompts/proof/round-trip.md +34 -14
- package/onboarding/prompts/research/gather.md +15 -15
- package/onboarding/prompts/research/merge.md +6 -5
- package/onboarding/prompts/research/preflight.md +2 -2
- package/onboarding/prompts/research/route.md +4 -4
- package/onboarding/prompts/setup/questions.md +10 -8
- package/onboarding/prompts/starter/clone.md +77 -75
- package/onboarding/prompts/starter/setup.md +111 -0
- package/onboarding/prompts/stopped/declined.md +44 -0
- package/onboarding/prompts/stopped/run-failed.md +6 -6
- package/onboarding/prompts/subagent/create-plan.md +5 -5
- package/onboarding/prompts/subagent/implement-and-validate.md +4 -4
- package/onboarding/prompts/subagent/inspect-repository.md +1 -1
- package/onboarding/prompts/subagent/prove-oss-baseline.md +2 -2
- package/onboarding/prompts/subagent/prove-round-trip.md +21 -8
- package/onboarding/prompts/unsupported/no-validated-path.md +6 -6
- package/package.json +4 -1
- package/release/release-tool.js +383 -112
|
@@ -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.30.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,28 +22,28 @@ 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.30.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:
|
|
29
29
|
|
|
30
|
-
| Agent framework | Frontend | Framework ID | Model key |
|
|
31
|
-
| -------------------------------- | -------- | ---------------------------------- | ----------------------------------------- |
|
|
32
|
-
| Agno | Next.js | `agno` | `OPENAI_API_KEY` |
|
|
33
|
-
| Claude Agent SDK Python | Next.js | `claude-sdk-python` | `ANTHROPIC_API_KEY` |
|
|
34
|
-
| Claude Agent SDK TypeScript | Next.js | `claude-sdk-typescript` | `ANTHROPIC_API_KEY` |
|
|
35
|
-
| CrewAI Flows | Next.js | `flows` | `OPENAI_API_KEY` |
|
|
36
|
-
| LangGraph Python | Next.js | `langgraph-py` | `OPENAI_API_KEY` |
|
|
37
|
-
| LangGraph TypeScript | Next.js | `langgraph-js` | `OPENAI_API_KEY` |
|
|
38
|
-
| LlamaIndex | Next.js | `llamaindex` | `OPENAI_API_KEY` |
|
|
39
|
-
| ADK | Next.js | `adk` | `GOOGLE_API_KEY` |
|
|
40
|
-
| ADK | Angular | `adk-angular` | `GOOGLE_API_KEY` |
|
|
41
|
-
| Microsoft Agent Framework Python | Next.js | `microsoft-agent-framework-py` | `OPENAI_API_KEY` in `agent/.env` |
|
|
42
|
-
| Microsoft Agent Framework .NET | Next.js | `microsoft-agent-framework-dotnet` | `OPENAI_API_KEY` in `dotnet user-secrets` |
|
|
43
|
-
| Mastra | Next.js | `mastra` | `OPENAI_API_KEY` |
|
|
44
|
-
| Pydantic AI | Next.js | `pydantic-ai` | `OPENAI_API_KEY` |
|
|
45
|
-
| Strands Agents Python | Next.js | `aws-strands-py` | `OPENAI_API_KEY` |
|
|
46
|
-
| Strands Agents TypeScript | Next.js | `aws-strands-ts` | `OPENAI_API_KEY` |
|
|
30
|
+
| Agent framework | Frontend | Framework ID | Model key | Other vendors |
|
|
31
|
+
| -------------------------------- | -------- | ---------------------------------- | ----------------------------------------- | ------------------------------------------------ |
|
|
32
|
+
| Agno | Next.js | `agno` | `OPENAI_API_KEY` | an OpenAI-compatible provider, Anthropic, Google |
|
|
33
|
+
| Claude Agent SDK Python | Next.js | `claude-sdk-python` | `ANTHROPIC_API_KEY` | none |
|
|
34
|
+
| Claude Agent SDK TypeScript | Next.js | `claude-sdk-typescript` | `ANTHROPIC_API_KEY` | none |
|
|
35
|
+
| CrewAI Flows | Next.js | `flows` | `OPENAI_API_KEY` | an OpenAI-compatible provider |
|
|
36
|
+
| LangGraph Python | Next.js | `langgraph-py` | `OPENAI_API_KEY` | an OpenAI-compatible provider, Anthropic, Google |
|
|
37
|
+
| LangGraph TypeScript | Next.js | `langgraph-js` | `OPENAI_API_KEY` | an OpenAI-compatible provider, Anthropic, Google |
|
|
38
|
+
| LlamaIndex | Next.js | `llamaindex` | `OPENAI_API_KEY` | an OpenAI-compatible provider |
|
|
39
|
+
| ADK | Next.js | `adk` | `GOOGLE_API_KEY` | OpenAI, an OpenAI-compatible provider, Anthropic |
|
|
40
|
+
| ADK | Angular | `adk-angular` | `GOOGLE_API_KEY` | OpenAI, an OpenAI-compatible provider, Anthropic |
|
|
41
|
+
| Microsoft Agent Framework Python | Next.js | `microsoft-agent-framework-py` | `OPENAI_API_KEY` in `agent/.env` | an OpenAI-compatible provider, Anthropic |
|
|
42
|
+
| Microsoft Agent Framework .NET | Next.js | `microsoft-agent-framework-dotnet` | `OPENAI_API_KEY` in `dotnet user-secrets` | an OpenAI-compatible provider |
|
|
43
|
+
| Mastra | Next.js | `mastra` | `OPENAI_API_KEY` | an OpenAI-compatible provider, Anthropic, Google |
|
|
44
|
+
| Pydantic AI | Next.js | `pydantic-ai` | `OPENAI_API_KEY` | an OpenAI-compatible provider, Anthropic, Google |
|
|
45
|
+
| Strands Agents Python | Next.js | `aws-strands-py` | `OPENAI_API_KEY` | an OpenAI-compatible provider, Anthropic |
|
|
46
|
+
| Strands Agents TypeScript | Next.js | `aws-strands-ts` | `OPENAI_API_KEY` | an OpenAI-compatible provider, Anthropic |
|
|
47
47
|
|
|
48
48
|
Each Framework ID selects a starter that the CLI ships with Intelligence. Do not infer a
|
|
49
49
|
different pair from a similar name. AG2 does not use this shortcut because its starter does
|
|
@@ -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.30.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.30.0 onboard checkpoint --phase awaiting-developer --about project-name
|
|
89
89
|
```
|
|
90
90
|
|
|
91
91
|
## Ask where the model credential lives
|
|
@@ -95,10 +95,9 @@ Use the recorded `key` answer. A named file (`key.file`) goes to
|
|
|
95
95
|
`--model-key-file`. An answer of "later" (`key.later`) clones without one: the step after the clone pauses
|
|
96
96
|
for the key. Do not ask again.
|
|
97
97
|
|
|
98
|
-
When the recorded vendor is not the vendor of the Model key column, `init`
|
|
99
|
-
|
|
100
|
-
although its key is `OPENAI_API_KEY`.
|
|
101
|
-
follow `## Switch the starter to the recorded vendor` after the clone.
|
|
98
|
+
When the recorded vendor is not the vendor of the Model key column, `init` takes the
|
|
99
|
+
vendor as a flag, below, and then copies that vendor's key from the key file. An
|
|
100
|
+
OpenAI-compatible provider counts as another vendor, although its key is `OPENAI_API_KEY`.
|
|
102
101
|
|
|
103
102
|
If neither the record nor this conversation holds a key answer, ask for it now, while the developer is still
|
|
104
103
|
here, and not after the clone. The variable is the Model key column of the row you
|
|
@@ -119,7 +118,7 @@ stops the clone. Pass the new file with `--model-key-file`, as for any other key
|
|
|
119
118
|
Before you end your turn to wait for the developer, report the pause:
|
|
120
119
|
|
|
121
120
|
```text
|
|
122
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
121
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-model-credential
|
|
123
122
|
```
|
|
124
123
|
|
|
125
124
|
A path the developer names is theirs to give, including one outside the project. A path
|
|
@@ -132,7 +131,7 @@ This route skips the plan step that records the path, so record it here, once, b
|
|
|
132
131
|
the clone:
|
|
133
132
|
|
|
134
133
|
```text
|
|
135
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
134
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard classify --starting-state <starting-state> --agent-framework <agent-framework> --frontend <frontend> --model-vendor <model-vendor> --model-vendor-choice <model-vendor-choice>
|
|
136
135
|
```
|
|
137
136
|
|
|
138
137
|
- `<starting-state>`: the starting state the research recorded, usually `empty`.
|
|
@@ -155,7 +154,7 @@ Do not inspect another entry in the parent directory. Replace each placeholder w
|
|
|
155
154
|
recorded value. Do not run a placeholder as a shell argument. If the path holds a space,
|
|
156
155
|
put it in double quotes.
|
|
157
156
|
|
|
158
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
157
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 init --dir <absolute-target-directory> --framework <framework-id> --channel none --no-banner --no-key-prompt --create <name> --install`
|
|
159
158
|
|
|
160
159
|
`--dir` is always the absolute path of the target directory. `init` builds the app in that
|
|
161
160
|
directory and gives the app the directory's name. Do not add `--name`: `init` refuses
|
|
@@ -175,26 +174,37 @@ variable name and never the value. Do not read or copy the key file yourself. If
|
|
|
175
174
|
reports that it cannot read the model key file, it stopped before it cloned anything. Ask
|
|
176
175
|
the developer for the right path, or run the command again without the flag.
|
|
177
176
|
|
|
177
|
+
When the recorded `vendor.vendor` is not the vendor of the Model key column, also add
|
|
178
|
+
`--model-vendor <vendor.vendor>`. For an OpenAI-compatible provider, add
|
|
179
|
+
`--model-vendor openai-compatible --model-id <vendor.modelId> --base-url <vendor.baseUrl>`.
|
|
180
|
+
`init` writes `COPILOTKIT_AGENT_MODEL` into the starter's env file, with a model the vendor
|
|
181
|
+
serves to a new key today, and `OPENAI_BASE_URL` for an OpenAI-compatible provider. It then
|
|
182
|
+
names that vendor's key in its output, and `--model-key-file` copies that key. The .NET starter
|
|
183
|
+
takes no `--model-vendor`. A refusal stops `init` before it clones anything. If it says that the
|
|
184
|
+
starter does not run the vendor, follow `## Switch the starter to the recorded vendor`. If it
|
|
185
|
+
refuses `--model-id` or `--base-url`, ask the developer for the model id or base URL again, and
|
|
186
|
+
run the command again.
|
|
187
|
+
|
|
178
188
|
Before you end your turn to wait for the developer, report the pause:
|
|
179
189
|
|
|
180
190
|
```text
|
|
181
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
191
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-model-credential
|
|
182
192
|
```
|
|
183
193
|
|
|
184
194
|
If you cannot pass the key file to `init`, for example because a sandbox refuses the path,
|
|
185
195
|
clone without `--model-key-file`. Then copy the key from `<target>` with one command:
|
|
186
|
-
`cd <target> && npx --prefer-offline --yes copilotkit@4.
|
|
196
|
+
`cd <target> && npx --prefer-offline --yes copilotkit@4.30.0 onboard credentials --model-key <VARIABLE> --env-path <key-file> --copy-to <env file> --json`.
|
|
187
197
|
`<env file>` is `.env`, or `agent/.env` for the Microsoft Agent Framework Python starter.
|
|
188
198
|
The command writes the key into that file without printing it. If the
|
|
189
199
|
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.
|
|
200
|
+
`! cd <target> && npx --prefer-offline --yes copilotkit@4.30.0 onboard credentials --model-key <VARIABLE> --env-path <key-file> --copy-to <env file>`.
|
|
191
201
|
The command needs no input. Without `!`, they run the same command in a terminal.
|
|
192
202
|
Do not write a `sed`, `grep`, or `cat` command to copy the key.
|
|
193
203
|
|
|
194
204
|
Before you end your turn to wait for the developer, report the pause:
|
|
195
205
|
|
|
196
206
|
```text
|
|
197
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
207
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-model-credential
|
|
198
208
|
```
|
|
199
209
|
|
|
200
210
|
### For a recorded local choice
|
|
@@ -204,7 +214,7 @@ command instead of the hosted command above. Do not ask the project questions ab
|
|
|
204
214
|
Local evaluation creates its own empty project, and `init --local` refuses `--create` and
|
|
205
215
|
`--project`.
|
|
206
216
|
|
|
207
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
217
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 init --dir <absolute-target-directory> --framework <framework-id> --channel none --no-banner --no-key-prompt --local --defer-model --install`
|
|
208
218
|
|
|
209
219
|
Use the `learning` answer from the record, or this conversation. Use the default only when
|
|
210
220
|
neither holds one.
|
|
@@ -212,13 +222,14 @@ For `learning.later`, keep `--defer-model`. For `learning.file`, replace
|
|
|
212
222
|
`--defer-model` with `--model-config <learning.file>`. Do not read or print that
|
|
213
223
|
file. The CLI selects the latest stable release. If the developer gave a candidate
|
|
214
224
|
manifest for release testing, add `--candidate <manifest.json>`. Otherwise, do not add it.
|
|
215
|
-
The `--dir`, `--no-install
|
|
225
|
+
The `--dir`, `--no-install`, `--model-key-file` and `--model-vendor` rules above apply here
|
|
226
|
+
too.
|
|
216
227
|
|
|
217
|
-
Before `init`, run `npx --prefer-offline --yes copilotkit@4.
|
|
228
|
+
Before `init`, run `npx --prefer-offline --yes copilotkit@4.30.0 onboard local-terms --json`. If `accepted`
|
|
218
229
|
is false, pause here. Give the developer this exact command to run in their own terminal:
|
|
219
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
230
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 local accept-terms`. Never accept the agreement yourself.
|
|
220
231
|
Report the pause with
|
|
221
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
232
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about local-terms`, end your
|
|
222
233
|
turn, and wait for "done". Then run `local-terms` again, and continue only when `accepted` is
|
|
223
234
|
true. A local command that fails with `eula_acceptance_required` comes back to this step.
|
|
224
235
|
|
|
@@ -228,7 +239,7 @@ After `init` reports the stack ready:
|
|
|
228
239
|
Ask the developer to run this command in their own terminal window, in `<target>`:
|
|
229
240
|
|
|
230
241
|
```text
|
|
231
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
242
|
+
npx --prefer-offline --yes copilotkit@4.30.0 local setup
|
|
232
243
|
```
|
|
233
244
|
|
|
234
245
|
Do not give it as a `!` line, and do not run it yourself. Its guided model prompt needs a
|
|
@@ -237,9 +248,9 @@ changes nothing. The prompt asks for the model and its key, and it saves them pr
|
|
|
237
248
|
On a running stack, it restarts only Learning. Do not ask for a model file.
|
|
238
249
|
|
|
239
250
|
Say that the run continues when they reply or resume this session. Report the pause with
|
|
240
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
251
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-model-credential`, end your
|
|
241
252
|
turn, and wait. When the developer replies, run
|
|
242
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
253
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 local status --json` from `<target>` and read `learning.configuration`.
|
|
243
254
|
|
|
244
255
|
The command installs the local stack, then connects the starter to it. It writes the
|
|
245
256
|
gitignored `.copilotkit/local.json` stack reference and `.copilotkit/project.json` with the
|
|
@@ -261,29 +272,17 @@ and validation commands.
|
|
|
261
272
|
|
|
262
273
|
## Switch the starter to the recorded vendor
|
|
263
274
|
|
|
264
|
-
Each starter reads its model from `COPILOTKIT_AGENT_MODEL`,
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
starter only to
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
model that the vendor serves to a new key today: `openai:<model>` on an ADK starter.
|
|
276
|
-
Do not change the starter's code.
|
|
277
|
-
2. For an OpenAI-compatible provider, set `COPILOTKIT_AGENT_MODEL` to
|
|
278
|
-
`openai:<vendor.modelId>`, and `OPENAI_BASE_URL` to `vendor.baseUrl`.
|
|
279
|
-
3. If the developer named a key file, copy the key with the `onboard credentials
|
|
280
|
-
--model-key <VARIABLE> --env-path <key-file> --copy-to <env file> --json` command above,
|
|
281
|
-
with the recorded vendor's variable. Otherwise the next section pauses for it.
|
|
282
|
-
|
|
283
|
-
For the Microsoft Agent Framework .NET starter, set these values with
|
|
284
|
-
`dotnet user-secrets set` from the agent directory, because .NET does not read the env
|
|
285
|
-
file. In the next section, check the recorded vendor's variable in place of the Model key
|
|
286
|
-
column's.
|
|
275
|
+
Each starter reads its model from `COPILOTKIT_AGENT_MODEL`. With `--model-vendor`, `init`
|
|
276
|
+
already switched it to the recorded vendor, and set `OPENAI_BASE_URL` for an
|
|
277
|
+
OpenAI-compatible provider. Do not change the starter's code.
|
|
278
|
+
|
|
279
|
+
Switch a starter only to a vendor in the Other vendors column of its row. A row with none, such as the Claude Agent SDK rows, runs only its own vendor: never switch it. This release does not run Anthropic or Google on a starter whose row leaves them out. If `init` refused the recorded vendor, say that this release supports the row's vendors on that framework, that Anthropic and Google come in a later release, and offer the Built-in CopilotKit agent if they need them now.
|
|
280
|
+
|
|
281
|
+
For the Microsoft Agent Framework .NET starter, set `COPILOTKIT_AGENT_MODEL`, and
|
|
282
|
+
`OPENAI_BASE_URL` for an OpenAI-compatible provider, with `dotnet user-secrets set` from the
|
|
283
|
+
agent directory, because .NET does not read the env file. Use the recorded vendor and a model
|
|
284
|
+
that the vendor serves to a new key today. In the next section, check the recorded vendor's
|
|
285
|
+
variable in place of the Model key column's.
|
|
287
286
|
|
|
288
287
|
## Settle the model credential
|
|
289
288
|
|
|
@@ -302,10 +301,10 @@ grep -c '^<VARIABLE>=.' <target>/.env
|
|
|
302
301
|
a count and never the value.
|
|
303
302
|
|
|
304
303
|
If a variable is empty, run
|
|
305
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
304
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard credentials --model-key <VARIABLE> --json` from
|
|
306
305
|
`<target>`, and show the developer `question.ask` word for word. It names the file by its
|
|
307
306
|
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.
|
|
307
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard credentials --model-key <VARIABLE> --env-path <file> --copy-to <question.envFile> --json`
|
|
309
308
|
from `<target>`. Ask nothing else first. Quote a path that holds a space. The command copies
|
|
310
309
|
the key without printing it. When it reports `ready`, the key is in `question.envFile`. Run
|
|
311
310
|
the check above again, and continue. Follow this paragraph, not the packet's `next`, which is
|
|
@@ -333,7 +332,7 @@ The two Microsoft Agent Framework starters keep their key outside `<target>/.env
|
|
|
333
332
|
When you ask, say that the run continues when they reply or resume this session. Then report the pause and end your turn:
|
|
334
333
|
|
|
335
334
|
```text
|
|
336
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
335
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-model-credential
|
|
337
336
|
```
|
|
338
337
|
|
|
339
338
|
This is a pause, not a stop. Do not send a stop report, and do not take a stop route.
|
|
@@ -349,20 +348,21 @@ Run this from `<target>`, with one `--model-key` for each variable. For the Micr
|
|
|
349
348
|
Framework Python starter, add `--env-path agent/.env`. Skip it for the .NET starter.
|
|
350
349
|
|
|
351
350
|
```text
|
|
352
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
351
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard credentials --model-key <VARIABLE> --json
|
|
353
352
|
```
|
|
354
353
|
|
|
355
354
|
The command never prints a value. If `status` is `ready`, continue. Otherwise do what
|
|
356
355
|
`next` says. When it says to ask `question.ask`, end your turn. The command already
|
|
357
356
|
reported the pause. When the developer replies, run the command again. If they choose
|
|
358
|
-
another provider that the framework can use, set `COPILOTKIT_AGENT_MODEL`
|
|
359
|
-
|
|
357
|
+
another provider that the framework can use, set `COPILOTKIT_AGENT_MODEL` in the starter's
|
|
358
|
+
env file to `<provider>:<model>`, and `OPENAI_BASE_URL` for an OpenAI-compatible provider,
|
|
359
|
+
as `init --model-vendor` does. Then check that provider's variable instead. With the cause `model_unavailable`, the key
|
|
360
360
|
works and the app's model does not: the vendor does not serve the model that
|
|
361
361
|
`COPILOTKIT_AGENT_MODEL` names. When the developer agrees to the model that `question.ask`
|
|
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.30.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.30.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.30.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.30.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,8 @@ 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.30.0 onboard read stopped/run-failed --reason <reason>`. The starter is one this
|
|
404
404
|
graph ships and the stack was chosen from its own supported list, so a command that
|
|
405
|
-
returned an error is a run that broke, not a setup this release does not support.
|
|
405
|
+
returned an error is a run that broke, not a setup this release does not support. For
|
|
406
|
+
`<reason>`, pick `dependency-install` for an install that failed, `build` for a build that
|
|
407
|
+
failed, and `other` for anything else.
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Set up the starter
|
|
2
|
+
|
|
3
|
+
This folder is empty, so this run builds a CopilotKit starter app here. The CLI clones the
|
|
4
|
+
starter, creates the project, copies the model key, installs the dependencies, starts the
|
|
5
|
+
app and proves it, in two commands. You show the developer two messages and run a few
|
|
6
|
+
commands.
|
|
7
|
+
|
|
8
|
+
Do not research this folder, read other prompts, change code, or start subagents on this
|
|
9
|
+
route. Never read, show, store, or request a secret value. Ask only for the file that holds
|
|
10
|
+
the model key.
|
|
11
|
+
|
|
12
|
+
## Stay on this route
|
|
13
|
+
|
|
14
|
+
If the developer asks for a Slack, Microsoft Teams, or other Channel app, run
|
|
15
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/channels/start` instead, and follow it.
|
|
16
|
+
|
|
17
|
+
To stop onboarding, tell the developer what failed in one sentence, with any log path the
|
|
18
|
+
CLI named. Send the stop report:
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
`--message` takes one or two sentences: the step you stopped at and what stopped it. Pick
|
|
25
|
+
the category from docs-missing, docs-wrong, docs-sequential, cli-gap, sdk-gap, environment,
|
|
26
|
+
port-collision, credential, validation-loop, or other. Leave --cost-seconds off: a stop
|
|
27
|
+
report needs no estimate. Send no secrets, source code, logs, or command output.
|
|
28
|
+
|
|
29
|
+
Then run `npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/run-failed --reason <reason>`.
|
|
30
|
+
For `<reason>`, pick `dependency-install` for an install that failed, `model-call` for a
|
|
31
|
+
model key or a chat round trip that failed, `build` for a build that failed, and `other`
|
|
32
|
+
for anything else. Do this when sign-in stops onboarding, and when a step below says to
|
|
33
|
+
stop onboarding.
|
|
34
|
+
|
|
35
|
+
## Ask the setup questions
|
|
36
|
+
|
|
37
|
+
When `onboard begin` printed a setup message after this prompt, that is the first setup
|
|
38
|
+
message: do what its `next` says, and skip to the last paragraph of this section.
|
|
39
|
+
|
|
40
|
+
If this folder's README names the agent framework to build on, record it first, with the
|
|
41
|
+
name the README gives, such as `Agno` or `LangGraph Python`:
|
|
42
|
+
|
|
43
|
+
```text
|
|
44
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard setup-answers --framework <name> --framework-choice developer
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
On the local route, first run `npx --prefer-offline --yes copilotkit@4.30.0 onboard local-terms --json`.
|
|
48
|
+
If it reports `signed-out` or `unavailable`, follow its `next`. The setup message carries
|
|
49
|
+
the agreement line, so do not add it yourself.
|
|
50
|
+
|
|
51
|
+
Run this from this folder. Add `--vendor <vendor>` only for a model vendor the developer
|
|
52
|
+
named, as `openai`, `anthropic`, `google`, or `openai-compatible`:
|
|
53
|
+
|
|
54
|
+
```text
|
|
55
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard setup-message --target empty
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Do what its `next` says. It tells you how to show the message, how to report the pause,
|
|
59
|
+
and how to record each reply. Repeat until it prints `status: settled`. If the developer
|
|
60
|
+
declines, such as **no**, run
|
|
61
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/declined --message "<their reason>"`.
|
|
62
|
+
|
|
63
|
+
## Build the starter
|
|
64
|
+
|
|
65
|
+
If a sign-in process runs, wait until it emits `type: completed`. Then write this line in
|
|
66
|
+
your reply, word for word:
|
|
67
|
+
|
|
68
|
+
> Creating your app now. This takes about a minute: I copy the starter, install its
|
|
69
|
+
> packages, and send one chat message through your agent to prove that it works.
|
|
70
|
+
|
|
71
|
+
Then run:
|
|
72
|
+
|
|
73
|
+
```text
|
|
74
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard starter create
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
It builds from the recorded answers and waits up to 90 seconds. While it prints
|
|
78
|
+
`running`, run `npx --prefer-offline --yes copilotkit@4.30.0 onboard starter status --wait` again.
|
|
79
|
+
While you wait, write nothing about the command, its process, or its output. If you write
|
|
80
|
+
anything, write only the `Still working` line it prints.
|
|
81
|
+
|
|
82
|
+
- If it names a framework and frontend with no starter, run
|
|
83
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard read research/gather` and follow that route.
|
|
84
|
+
- If it failed on an answer, such as a project name the account already has, ask the
|
|
85
|
+
developer for a new answer. Report the pause with
|
|
86
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about project-name`,
|
|
87
|
+
and end your turn. Record their answer with `onboard setup-answers`, then run
|
|
88
|
+
`onboard starter create` again.
|
|
89
|
+
- If it says the step did not reach the network, ask the developer to approve network
|
|
90
|
+
access for the command, or to let it run outside the sandbox. Report the pause with
|
|
91
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about harness-permission`,
|
|
92
|
+
and end your turn. When they reply, run `onboard starter create` again.
|
|
93
|
+
- For any other failure, stop onboarding.
|
|
94
|
+
|
|
95
|
+
## Prove it
|
|
96
|
+
|
|
97
|
+
When `create` prints `done`, run:
|
|
98
|
+
|
|
99
|
+
```text
|
|
100
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard starter prove
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
It checks the model key, starts the app, and runs a chat round trip. Wait for it as for
|
|
104
|
+
`create`.
|
|
105
|
+
|
|
106
|
+
- If it prints a message for the developer, write it in your reply word for word. Report the
|
|
107
|
+
pause with `npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-model-credential`,
|
|
108
|
+
and end your turn. When the developer replies, run `onboard starter prove` again. If the
|
|
109
|
+
reply names a file that holds the key, add `--key-file <path>`.
|
|
110
|
+
- If it failed, stop onboarding.
|
|
111
|
+
- When it prints `done`, write its report in your reply word for word. The run is complete.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Stop because the developer said no
|
|
2
|
+
|
|
3
|
+
This is the ending for a developer who decided not to go on: a reply such as **no**,
|
|
4
|
+
**not now**, **do not install it**, or **do not add it**. Nothing broke. Do not report
|
|
5
|
+
this run as a failure, and do not tell the developer their setup is unsupported.
|
|
6
|
+
|
|
7
|
+
It is the same ending for an onboarding run and for a run that adds one feature. A
|
|
8
|
+
feature run that reads this step does not also read `feature/stop`.
|
|
9
|
+
|
|
10
|
+
The read that served this step recorded the developer's reason, from
|
|
11
|
+
`onboard read stopped/declined --message "<the developer's reason, in one line>"`. Do not
|
|
12
|
+
read this step again to add a reason.
|
|
13
|
+
|
|
14
|
+
This run ends here. Make no more repository changes, and do not try to change the
|
|
15
|
+
developer's mind.
|
|
16
|
+
|
|
17
|
+
## What to tell the developer
|
|
18
|
+
|
|
19
|
+
Write a short reply:
|
|
20
|
+
|
|
21
|
+
1. Thank them for trying CopilotKit.
|
|
22
|
+
2. Say that this run stopped and nothing else will change in their project.
|
|
23
|
+
3. Say what this run left behind. This step prints `## Your files` below: relay that
|
|
24
|
+
report as printed. When it names a restore command, offer it as the way to put their
|
|
25
|
+
files back. A run that started in an empty folder prints no such section: list no
|
|
26
|
+
files and offer no restore.
|
|
27
|
+
4. Name any process this run started that is still running, and offer to stop it.
|
|
28
|
+
5. Say they can start again at any time with the same prompt they used for this run.
|
|
29
|
+
|
|
30
|
+
## If the developer asks you to clean up
|
|
31
|
+
|
|
32
|
+
Run the restore command the report printed, for example:
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard restore --run <onboarding_run_id>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
It puts back each file this run changed, from the backup taken when the run started. It
|
|
39
|
+
keeps files this run added. If the developer also wants those removed, list each one and
|
|
40
|
+
delete only the files they confirm. Stop any process this run started. Do not delete
|
|
41
|
+
anything this run did not create.
|
|
42
|
+
|
|
43
|
+
The CLI keeps the run's own record outside the project, so there is nothing else to clean
|
|
44
|
+
up in the project folder.
|
|
@@ -20,9 +20,9 @@ files changed cannot be acted on: nobody reading it can tell which file moved.
|
|
|
20
20
|
Say what the developer has now. Name the processes still running and the files this run
|
|
21
21
|
changed, so they can carry on by hand or start again from a known state. A run that stops
|
|
22
22
|
without saying what it left behind leaves the developer to discover it. This step prints
|
|
23
|
-
`##
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
`## Your files` below: relay that report as printed, with its restore command. A run
|
|
24
|
+
that started in an empty folder prints no such section: list no files and offer no
|
|
25
|
+
restore.
|
|
26
26
|
|
|
27
27
|
A step can fail on a network error: `EAI_AGAIN`, `ECONNRESET`, `ETIMEDOUT`, a timeout,
|
|
28
28
|
or a message that names a proxy. The CLI has already tried that step again. Ask the
|
|
@@ -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.30.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.30.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.30.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
|
|
@@ -92,8 +92,8 @@ plan one container per end user: a project holds at most 500, the first automati
|
|
|
92
92
|
run needs threads from 15 distinct conversations in one container, and a container per
|
|
93
93
|
person needs those 15 conversations from that one person.
|
|
94
94
|
|
|
95
|
-
Where the Learning step was skipped, plan no container and no selector, and
|
|
96
|
-
|
|
95
|
+
Where the Learning step was skipped, plan no container and no selector, and name the skip
|
|
96
|
+
reason in the plan.
|
|
97
97
|
|
|
98
98
|
When the starting state is `both-oss`, use its recorded live baseline evidence. Preserve
|
|
99
99
|
the working agent, frontend, CopilotKit integration, and OSS behavior. Plan the project
|
|
@@ -110,7 +110,7 @@ against a dead host, and the failure arrives as an empty-body 404 with no cause
|
|
|
110
110
|
Ask the CLI for the dependency upgrade, from the target directory:
|
|
111
111
|
|
|
112
112
|
```text
|
|
113
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
113
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard upgrade-plan --json
|
|
114
114
|
```
|
|
115
115
|
|
|
116
116
|
It reads the installed tree and the registry. Read `status`:
|
|
@@ -198,7 +198,7 @@ here is work the developer did not ask for.
|
|
|
198
198
|
Plan the threads drawer itself: add it from the selected drawer page, where this frontend
|
|
199
199
|
does not already render one. Where this journey's frontend framework ships no threads
|
|
200
200
|
drawer -- React Native --, plan that the thread is proved by
|
|
201
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
201
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 verify --round-trip`, which needs no browser. Do not plan a
|
|
202
202
|
step that opens the managed Intelligence dashboard.
|
|
203
203
|
|
|
204
204
|
## Name the files the run writes itself
|
|
@@ -347,7 +347,7 @@ what you run next.
|
|
|
347
347
|
Before you return, record that you are returning:
|
|
348
348
|
|
|
349
349
|
```text
|
|
350
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
350
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase subagent-returned --brief create-plan --result <ok|failed>
|
|
351
351
|
```
|
|
352
352
|
|
|
353
353
|
The Status line of your result decides the value. Pass `ok` only for `Status: passed`.
|
|
@@ -149,7 +149,7 @@ Intelligence: declare each exact version in its app's manifest, then install wit
|
|
|
149
149
|
project's package manager, under the install rule above. Then check the installed tree:
|
|
150
150
|
|
|
151
151
|
```text
|
|
152
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
152
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard upgrade-plan --check --json
|
|
153
153
|
```
|
|
154
154
|
|
|
155
155
|
`single` means every direct dependency resolved to one version. `duplicates` names each
|
|
@@ -164,7 +164,7 @@ If the check finds duplicates or the baseline regresses, put the manifests and l
|
|
|
164
164
|
back, leave Intelligence unwired, and report what failed:
|
|
165
165
|
|
|
166
166
|
```text
|
|
167
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
167
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard upgrade-plan --revert --json
|
|
168
168
|
```
|
|
169
169
|
|
|
170
170
|
Then end your turn. Never add an `overrides`, `resolutions`, or `pnpm.overrides` block to
|
|
@@ -205,7 +205,7 @@ Where the plan names a Learning Container id, check that the container exists fi
|
|
|
205
205
|
this from the target app directory, before you write any selector:
|
|
206
206
|
|
|
207
207
|
```text
|
|
208
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
208
|
+
npx --prefer-offline --yes copilotkit@4.30.0 learning containers get <id> --json
|
|
209
209
|
```
|
|
210
210
|
|
|
211
211
|
`"status": "success"` means the container exists. An `error.code` of
|
|
@@ -241,7 +241,7 @@ what you run next.
|
|
|
241
241
|
Before you return, record that you are returning:
|
|
242
242
|
|
|
243
243
|
```text
|
|
244
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
244
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase subagent-returned --brief implement-and-validate --result <ok|failed>
|
|
245
245
|
```
|
|
246
246
|
|
|
247
247
|
The Status line of your result decides the value. Pass `ok` only for `Status: passed`.
|
|
@@ -8,7 +8,7 @@ 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.30.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
|
|
@@ -48,7 +48,7 @@ Prove the live runtime in this order:
|
|
|
48
48
|
4. Confirm from project files that the runtime constructor passes a `runner` option rather
|
|
49
49
|
than an `intelligence` option. A package, import, project file, or key is not use proof.
|
|
50
50
|
5. Run
|
|
51
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
51
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 verify --expect-runtime oss --round-trip --agent <expected-agent-id> --json`,
|
|
52
52
|
with the runtime URL or auth header options that this project needs. Add
|
|
53
53
|
`--runtime-url <url>` when the report names a runtime URL the dev server does not
|
|
54
54
|
serve. Require exit zero
|
|
@@ -84,7 +84,7 @@ replace it and do not describe all OSS runs as ephemeral.
|
|
|
84
84
|
Before you return, record that you are returning:
|
|
85
85
|
|
|
86
86
|
```text
|
|
87
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
87
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase subagent-returned --brief prove-oss-baseline --result <ok|failed>
|
|
88
88
|
```
|
|
89
89
|
|
|
90
90
|
The Status line of your result decides the value. Pass `ok` only for `Status: passed`.
|