copilotkit 4.17.0 → 4.18.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 +127 -5
- package/cli-build-info.json +7 -7
- package/exporters/langgraph/README.md +118 -0
- package/exporters/langgraph/export_checkpointer.py +125 -0
- package/index.js +12227 -9022
- package/onboarding/index.json +1 -1
- package/onboarding/prompts/authenticate/start.md +18 -19
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +57 -200
- package/onboarding/prompts/credentials/plan.md +24 -23
- package/onboarding/prompts/credentials/settle-credentials.md +40 -213
- package/onboarding/prompts/credentials/write-plan.md +17 -8
- package/onboarding/prompts/fallback/best-effort.md +12 -12
- package/onboarding/prompts/feature/a2ui/implement.md +7 -7
- package/onboarding/prompts/feature/a2ui/proof.md +7 -7
- package/onboarding/prompts/feature/a2ui/start.md +53 -9
- package/onboarding/prompts/feature/channels/implement.md +8 -8
- package/onboarding/prompts/feature/channels/proof.md +7 -7
- package/onboarding/prompts/feature/channels/start.md +50 -7
- package/onboarding/prompts/feature/chat-suggestions/implement.md +7 -7
- package/onboarding/prompts/feature/chat-suggestions/proof.md +7 -7
- package/onboarding/prompts/feature/chat-suggestions/start.md +50 -7
- package/onboarding/prompts/feature/complete.md +2 -2
- package/onboarding/prompts/feature/learning/implement.md +24 -19
- package/onboarding/prompts/feature/learning/proof.md +8 -8
- package/onboarding/prompts/feature/learning/start.md +43 -20
- package/onboarding/prompts/feature/open-generative-ui/implement.md +7 -7
- package/onboarding/prompts/feature/open-generative-ui/proof.md +7 -7
- package/onboarding/prompts/feature/open-generative-ui/start.md +50 -7
- package/onboarding/prompts/feature/realtime-sync/implement.md +8 -8
- package/onboarding/prompts/feature/realtime-sync/proof.md +7 -7
- package/onboarding/prompts/feature/realtime-sync/start.md +49 -6
- package/onboarding/prompts/feature/rich-threads/implement.md +9 -9
- package/onboarding/prompts/feature/rich-threads/proof.md +7 -7
- package/onboarding/prompts/feature/rich-threads/start.md +49 -6
- package/onboarding/prompts/feature/stop.md +5 -5
- package/onboarding/prompts/feature/voice/implement.md +7 -7
- package/onboarding/prompts/feature/voice/proof.md +7 -7
- package/onboarding/prompts/feature/voice/start.md +50 -7
- 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 +9 -8
- 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 +19 -20
- package/onboarding/prompts/proof/complete.md +11 -11
- package/onboarding/prompts/proof/oss-baseline.md +5 -5
- package/onboarding/prompts/proof/round-trip.md +16 -15
- package/onboarding/prompts/research/gather.md +6 -6
- package/onboarding/prompts/research/merge.md +3 -3
- package/onboarding/prompts/research/preflight.md +4 -4
- package/onboarding/prompts/research/route.md +5 -5
- package/onboarding/prompts/starter/clone.md +8 -7
- package/onboarding/prompts/stopped/run-failed.md +4 -4
- package/onboarding/prompts/subagent/create-plan.md +10 -1
- package/onboarding/prompts/subagent/inspect-repository.md +9 -2
- package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
- package/onboarding/prompts/subagent/prove-round-trip.md +47 -17
- package/onboarding/prompts/unsupported/no-validated-path.md +4 -4
- package/package.json +1 -1
- package/release/release-tool.js +19 -5
|
@@ -14,7 +14,7 @@ not move the agent into it.
|
|
|
14
14
|
- https://docs.copilotkit.ai/react-spa.md
|
|
15
15
|
|
|
16
16
|
If the page supports the selection, record React SPA and this URL. Then run
|
|
17
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
17
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read credentials/finalize-plan`.
|
|
18
18
|
|
|
19
19
|
If the documentation does not support the selection, run
|
|
20
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
20
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read unsupported/no-validated-path`.
|
|
@@ -19,7 +19,7 @@ page above. Vue has its own `useComponent`, which is not the React package. Take
|
|
|
19
19
|
that reference page rather than from a Vue generative-UI guide, which is not published.
|
|
20
20
|
|
|
21
21
|
If the pages support the selection, record Vue 3 and these URLs. Then run
|
|
22
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
22
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read credentials/finalize-plan`.
|
|
23
23
|
|
|
24
24
|
If the documentation does not support the selection, run
|
|
25
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
25
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read unsupported/no-validated-path`.
|
|
@@ -6,14 +6,13 @@ Do not implement the plan yourself. Use the step order in the approved plan.
|
|
|
6
6
|
|
|
7
7
|
Two rules below stop onboarding: a Learning Container create that fails for a reason other
|
|
8
8
|
than the container already existing, and a `--accept-credential` refusal that names a lost
|
|
9
|
-
variable. Each one ends a run the developer has already approved a plan for. Name the
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
command applies the setting they already have.
|
|
9
|
+
variable. Each one ends a run the developer has already approved a plan for. Name the exact
|
|
10
|
+
command, id, and error code that stopped you: a report that names only the step cannot be
|
|
11
|
+
acted on. Send one short report before you stop. The friction command follows the telemetry
|
|
12
|
+
setting the developer already chose, so it needs no separate question.
|
|
14
13
|
|
|
15
14
|
```text
|
|
16
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
15
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
17
16
|
```
|
|
18
17
|
|
|
19
18
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
@@ -68,7 +67,7 @@ Approving the plan is the developer agreeing to every path it listed under
|
|
|
68
67
|
app directory:
|
|
69
68
|
|
|
70
69
|
```text
|
|
71
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
70
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
72
71
|
```
|
|
73
72
|
|
|
74
73
|
Consent has to be on the record before the file moves, so a call made after the change is
|
|
@@ -96,7 +95,7 @@ No implementation step has run yet, so the change is theirs rather than this run
|
|
|
96
95
|
consent over it by adding one flag:
|
|
97
96
|
|
|
98
97
|
```text
|
|
99
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
98
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>" --with-prior-change
|
|
100
99
|
```
|
|
101
100
|
|
|
102
101
|
The flag records their change as drift beside the consent, so the closing report names both
|
|
@@ -116,7 +115,7 @@ audit below describes, rather than use this section.
|
|
|
116
115
|
Run the audit from the target app directory:
|
|
117
116
|
|
|
118
117
|
```text
|
|
119
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
118
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard audit
|
|
120
119
|
```
|
|
121
120
|
|
|
122
121
|
It compares every protected path with the digest the CLI captured for it. Its result starts
|
|
@@ -151,14 +150,14 @@ A path that no Files changed section names changed outside the run, and it is th
|
|
|
151
150
|
developer's own file. Accept it by name:
|
|
152
151
|
|
|
153
152
|
```text
|
|
154
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
153
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --accept-external --path <path>
|
|
155
154
|
```
|
|
156
155
|
|
|
157
156
|
A changed env file is its own case. This run asked the developer to place a credential
|
|
158
157
|
there, so it takes the credential route rather than this one:
|
|
159
158
|
|
|
160
159
|
```text
|
|
161
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
160
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --accept-credential --path <path>
|
|
162
161
|
```
|
|
163
162
|
|
|
164
163
|
That route proves no recorded credential was lost, instead of taking the run's word that it
|
|
@@ -177,7 +176,7 @@ neither does a one-line fix. Never repair, reset, or revert it. Ask the develope
|
|
|
177
176
|
the change, and record the answer they give:
|
|
178
177
|
|
|
179
178
|
```text
|
|
180
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
179
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
181
180
|
```
|
|
182
181
|
|
|
183
182
|
Use it only for an answer a developer actually gave. It records the consent as taken
|
|
@@ -204,7 +203,7 @@ create it now, from the target app directory. The developer approved the id befo
|
|
|
204
203
|
made, so this is the first point at which it can be created:
|
|
205
204
|
|
|
206
205
|
```text
|
|
207
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
206
|
+
npx --prefer-offline --yes copilotkit@4.18.0 learning containers create --id <id> --name <name> --json
|
|
208
207
|
```
|
|
209
208
|
|
|
210
209
|
Pass the id the plan names. Take the name from the selected project's own display name, so
|
|
@@ -220,7 +219,7 @@ hold.
|
|
|
220
219
|
Then report that the container is settled, before any edit:
|
|
221
220
|
|
|
222
221
|
```text
|
|
223
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
222
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase container-settled
|
|
224
223
|
```
|
|
225
224
|
|
|
226
225
|
Where the plan names a container the platform already held, report the same checkpoint and
|
|
@@ -231,11 +230,11 @@ create nothing. Where the plan names no container, skip this section.
|
|
|
231
230
|
Report the plan this run is about to implement:
|
|
232
231
|
|
|
233
232
|
```text
|
|
234
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
233
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase plan-written
|
|
235
234
|
```
|
|
236
235
|
|
|
237
236
|
Spawn one implementation subagent. Tell it to run
|
|
238
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
237
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read subagent/implement-and-validate` first and follow
|
|
239
238
|
the prompt it returns. If that read fails because the subagent cannot use the shell, stop that
|
|
240
239
|
subagent. Run the same command yourself, then spawn a fresh subagent with the returned prompt
|
|
241
240
|
and the same handoff. Give it the plan, selected framework, frontend, model, exact target app
|
|
@@ -264,11 +263,11 @@ returned. Continue to proof only when that audit passes.
|
|
|
264
263
|
After the selected implementation path passes, report it:
|
|
265
264
|
|
|
266
265
|
```text
|
|
267
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
266
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase build-validated
|
|
268
267
|
```
|
|
269
268
|
|
|
270
269
|
Then run
|
|
271
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
270
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read proof/round-trip`.
|
|
272
271
|
|
|
273
272
|
## Repair rules
|
|
274
273
|
|
|
@@ -294,9 +293,9 @@ the same command still fails after three repair attempts, a result starts with
|
|
|
294
293
|
declined a file the plan does not name, or the run cannot ask them about it. A defect in a
|
|
295
294
|
package this run installed is not a stack CopilotKit does not serve, a command this run cannot get to pass is not one either, and a blocked audit
|
|
296
295
|
proved nothing about the stack. In those cases run
|
|
297
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
296
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read stopped/run-failed`.
|
|
298
297
|
|
|
299
298
|
A plan with no path to follow takes the unsupported ending: the fix requires changing the
|
|
300
299
|
developer's existing agent or frontend, or the documentation does not support the plan. In
|
|
301
300
|
those cases run
|
|
302
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
301
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read unsupported/no-validated-path`.
|
|
@@ -85,7 +85,7 @@ Name the debugging surface this journey's frontend can reach, rather than the on
|
|
|
85
85
|
of the documentation leads with. For a web frontend it is the CopilotKit Inspector. For
|
|
86
86
|
React Native there is no Inspector: it is a browser overlay built on a DOM custom element,
|
|
87
87
|
and `@copilotkit/react-native` does not ship it. Give a mobile developer
|
|
88
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
88
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 verify --round-trip`, the runtime's own log, the AG-UI
|
|
89
89
|
Event Inspector in the CopilotKit VS Code extension, and the CopilotKit Intelligence
|
|
90
90
|
thread view
|
|
91
91
|
instead. Naming the Inspector to a developer who cannot open it costs them the time it
|
|
@@ -115,12 +115,12 @@ Learning Container. The servers end when that host ends, and a `localhost` URL o
|
|
|
115
115
|
developer's machine only through a forwarded port. Write the items that output lists in
|
|
116
116
|
place of this sentence.
|
|
117
117
|
|
|
118
|
-
Report each thing that slowed this run down. Send at most four reports, worst first.
|
|
119
|
-
|
|
120
|
-
|
|
118
|
+
Report each thing that slowed this run down. Send at most four reports, worst first. The
|
|
119
|
+
friction commands follow the telemetry setting the developer already chose, so they need no
|
|
120
|
+
separate question.
|
|
121
121
|
|
|
122
122
|
```text
|
|
123
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
123
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard friction --category <slug> --cost-seconds <seconds> --message "<sentences>"
|
|
124
124
|
```
|
|
125
125
|
|
|
126
126
|
Put one or two sentences in `--message`. Pick one category from
|
|
@@ -132,7 +132,7 @@ Pass --docs-path only for a docs-missing or docs-wrong report, naming the page t
|
|
|
132
132
|
is about:
|
|
133
133
|
|
|
134
134
|
```text
|
|
135
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
135
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard friction --category docs-wrong --cost-seconds 300 --docs-path /docs/threads/drawer --message "<sentences>"
|
|
136
136
|
```
|
|
137
137
|
|
|
138
138
|
Give the page's site-relative path or its full URL, with no spaces, query string, or
|
|
@@ -149,14 +149,14 @@ Tell the developer when you send a friction report. Do not quote or summarize th
|
|
|
149
149
|
unless the developer asks. If the CLI says the report was not sent,
|
|
150
150
|
state what it said and continue without another question.
|
|
151
151
|
|
|
152
|
-
When the evidence is gathered, run `npx --prefer-offline --yes copilotkit@4.
|
|
152
|
+
When the evidence is gathered, run `npx --prefer-offline --yes copilotkit@4.18.0 onboard complete`, carrying
|
|
153
153
|
the surface-check outcome the proof subagent returned. Pass exactly one of `--visual-check`
|
|
154
154
|
or `--device-check`, and pass the one that matches this journey's surface.
|
|
155
155
|
|
|
156
156
|
For a web frontend -- React SPA, Next.js, Angular, Vue:
|
|
157
157
|
|
|
158
158
|
```text
|
|
159
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
159
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard complete --visual-check <outcome>
|
|
160
160
|
```
|
|
161
161
|
|
|
162
162
|
The outcome is one of `performed`, `skipped-no-browser-tool`, `skipped-cloned-starter`, or
|
|
@@ -166,7 +166,7 @@ open no browser. It is the one skip that does not block.
|
|
|
166
166
|
For React Native:
|
|
167
167
|
|
|
168
168
|
```text
|
|
169
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
169
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard complete --device-check <outcome>
|
|
170
170
|
```
|
|
171
171
|
|
|
172
172
|
The outcome is one of `performed`, `skipped-no-device`, `skipped-cloned-starter`, or
|
|
@@ -179,7 +179,7 @@ browser-origin CORS, so the flag you pass is how this run states which surface i
|
|
|
179
179
|
For a web frontend, also pass the URL the browser opened:
|
|
180
180
|
|
|
181
181
|
```text
|
|
182
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
182
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard complete --visual-check <outcome> \
|
|
183
183
|
--frontend-url <the url you opened>
|
|
184
184
|
```
|
|
185
185
|
|
|
@@ -199,7 +199,7 @@ If the round trip proved and something after it still blocked this run, add `--b
|
|
|
199
199
|
to the same command:
|
|
200
200
|
|
|
201
201
|
```text
|
|
202
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
202
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard complete --visual-check performed --blocked-by <cause>
|
|
203
203
|
```
|
|
204
204
|
|
|
205
205
|
The cause is one of `inspector` for a debugging surface that did not open,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Prove the existing OSS baseline
|
|
2
2
|
|
|
3
3
|
Do not prove the baseline yourself. Spawn one proof subagent. Tell it to run
|
|
4
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
4
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read subagent/prove-oss-baseline` first and follow the
|
|
5
5
|
prompt it returns. If that read fails because the subagent cannot use the shell, stop that
|
|
6
6
|
subagent. Run the same command yourself, then spawn a fresh subagent with the returned prompt
|
|
7
7
|
and the same handoff. Give it the repository findings and exact CLI package spec.
|
|
@@ -17,7 +17,7 @@ Wait for the subagent to finish.
|
|
|
17
17
|
Record what that proof returned before you route on it:
|
|
18
18
|
|
|
19
19
|
```text
|
|
20
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
20
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard proof --step oss-baseline --outcome <passed|failed|skipped> [--predicate <1-6>]
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
Report the gate whatever it returned. Use the list below. A proof that never ran is `skipped`, not failed. The command prints one line and sends
|
|
@@ -39,12 +39,12 @@ Do not change project files before this proof ends. Starting existing developmen
|
|
|
39
39
|
processes and their ignored runtime files is allowed.
|
|
40
40
|
|
|
41
41
|
If the subagent proves the `both-oss` predicate, keep its evidence with the plan and run
|
|
42
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
42
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read conversion/plan`. That project already works.
|
|
43
43
|
What it needs is the conversion, not a build.
|
|
44
44
|
|
|
45
45
|
If the proof does not establish the baseline, record the starting state
|
|
46
46
|
`both-copilotkit-unproved` and run
|
|
47
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
47
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read credentials/plan`. This prompt is served
|
|
48
48
|
whenever a project looks like an OSS integration, so a baseline that did not prove is an
|
|
49
49
|
ordinary starting state rather than a failure. Keep the failing predicate with the plan.
|
|
50
50
|
|
|
@@ -58,5 +58,5 @@ and the plan preserves it rather than repeating it.
|
|
|
58
58
|
|
|
59
59
|
If it cannot identify the running process safely, exposes a secret, or finds a baseline
|
|
60
60
|
failure that cannot be classified, run
|
|
61
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
61
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read stopped/run-failed`. None of those mean the
|
|
62
62
|
project is unsupported: they mean this run did not establish what it needed to.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Prove the user journey
|
|
2
2
|
|
|
3
3
|
Do not do the proof work yourself. Spawn one proof subagent. Tell it to run
|
|
4
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
4
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read subagent/prove-round-trip` first and follow the
|
|
5
5
|
prompt it returns. If that read fails because the subagent cannot use the shell, stop that
|
|
6
6
|
subagent. Run the same command yourself, then spawn a fresh subagent with the returned prompt
|
|
7
7
|
and the same handoff. Give it the selected framework, frontend, model, approved plan, selected
|
|
@@ -33,21 +33,22 @@ pass the time.
|
|
|
33
33
|
Report each attempt at the journey as it ends, counting from one:
|
|
34
34
|
|
|
35
35
|
```text
|
|
36
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
36
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase journey-attempted --attempt 1
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
Record what that proof returned before you route on it:
|
|
40
40
|
|
|
41
41
|
```text
|
|
42
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
42
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
Report the gate whatever it returned. A proof that never ran is `skipped`, not failed.
|
|
46
|
-
|
|
45
|
+
Report the gate whatever it returned. A proof that never ran is `skipped`, not failed. A
|
|
46
|
+
round trip that `verify --round-trip` ran and saw fail is `failed`, and the command refuses
|
|
47
|
+
to record it as `skipped`. The command prints one line and sends nothing else. Where a repair cycle runs the proof again,
|
|
47
48
|
record each attempt as it ends.
|
|
48
49
|
|
|
49
50
|
For every protected-path audit in this prompt, run
|
|
50
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
51
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard audit` from the target app directory. If its result
|
|
51
52
|
starts with `Status: blocked`, report the printed reason and use the route-out rules below.
|
|
52
53
|
A blocked audit proved nothing changed and is not a preservation failure. If a
|
|
53
54
|
protected-path audit reports a changed path, decide it the way the implementation prompt
|
|
@@ -56,7 +57,7 @@ returns none, so a finding with no Files changed section to test against routes
|
|
|
56
57
|
path one of those sections names is this run's own change and routes out too. Accept a
|
|
57
58
|
path only when a section this run collected covers the step that wrote it and does not
|
|
58
59
|
name it:
|
|
59
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
60
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --accept-external --path <path>`. Then run
|
|
60
61
|
the audit again and name the path in the closing summary. Never repair, reset, or revert a
|
|
61
62
|
protected path.
|
|
62
63
|
|
|
@@ -64,12 +65,12 @@ That holds for a repair cycle too. When the fix for a failing check lands on a p
|
|
|
64
65
|
path, the path is still the developer's, however right the diagnosis is and however small
|
|
65
66
|
the fix. Reading the file never settles who wrote it. Ask the developer to allow the
|
|
66
67
|
change, and record their answer with
|
|
67
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
68
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"`,
|
|
68
69
|
or route out. Never repair it, and never send it to a repair worker.
|
|
69
70
|
|
|
70
71
|
If the proof result starts with `Status: passed`, run the protected-path audit. Continue to
|
|
71
72
|
`proof/complete` only if that audit passes. After the audit passes, run
|
|
72
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
73
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read proof/complete`. A performed surface outcome with
|
|
73
74
|
the full round trip is core success even if a continued-development tool fails. A skipped
|
|
74
75
|
surface outcome still enters `proof/complete` so the CLI records the blocked result.
|
|
75
76
|
`skipped-cloned-starter` is the exception: the CLI records that run as complete. Do not
|
|
@@ -147,7 +148,7 @@ Restart each project-owned process changed by the repair. Report the cycle, coun
|
|
|
147
148
|
one:
|
|
148
149
|
|
|
149
150
|
```text
|
|
150
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
151
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase repair-attempted --attempt 1
|
|
151
152
|
```
|
|
152
153
|
|
|
153
154
|
Then spawn a fresh proof subagent
|
|
@@ -165,18 +166,18 @@ proof cycles, use the route-out rules below.
|
|
|
165
166
|
|
|
166
167
|
Route out only when the failure is not yours to fix, when the same proof still fails after
|
|
167
168
|
three attempts, or when no evidence of the round trip can be produced. In those cases run
|
|
168
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
169
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read stopped/run-failed`. The stack is supported:
|
|
169
170
|
this run did not finish, which is a different ending and a different report. All three are
|
|
170
171
|
about the round trip itself. A round trip that proved is not one of them, whatever failed
|
|
171
172
|
after it.
|
|
172
173
|
|
|
173
174
|
If you stop here without taking that route -- a repair cycle you cannot finish, a limit in
|
|
174
|
-
your own harness, a run that has run out -- send one short report before you stop.
|
|
175
|
-
friction command
|
|
176
|
-
|
|
175
|
+
your own harness, a run that has run out -- send one short report before you stop. The
|
|
176
|
+
friction command follows the telemetry setting the developer already chose, so it needs no
|
|
177
|
+
separate question.
|
|
177
178
|
|
|
178
179
|
```text
|
|
179
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
180
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
180
181
|
```
|
|
181
182
|
|
|
182
183
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
@@ -44,7 +44,7 @@ Before you end your turn to wait for the developer where the prompt states no de
|
|
|
44
44
|
report the pause:
|
|
45
45
|
|
|
46
46
|
```text
|
|
47
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
47
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase awaiting-developer
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
When the answer or the result arrives, continue from the step that paused. Do not read an
|
|
@@ -64,7 +64,7 @@ Both research subagents failing means this harness has no working subagent at al
|
|
|
64
64
|
is worth recording once:
|
|
65
65
|
|
|
66
66
|
```text
|
|
67
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
67
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase delegation-unavailable
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
Then say once, in your own words, that this environment has no working subagents, so you
|
|
@@ -77,7 +77,7 @@ Before you ask the developer any setup question, finish every read-only investig
|
|
|
77
77
|
preflight check in this section.
|
|
78
78
|
|
|
79
79
|
Prepare two research assignments. Give each research subagent one assignment. Tell it to run
|
|
80
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
80
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read subagent/inspect-repository` first and follow the
|
|
81
81
|
prompt it returns. If that read fails because the subagent cannot use the shell, stop that
|
|
82
82
|
subagent. Run the same command yourself, then spawn a fresh subagent with the returned prompt
|
|
83
83
|
and the same handoff. Require only its assigned packet.
|
|
@@ -91,7 +91,7 @@ Start both research subagents in parallel:
|
|
|
91
91
|
Report that both subagents started:
|
|
92
92
|
|
|
93
93
|
```text
|
|
94
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
94
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase research-dispatched
|
|
95
95
|
```
|
|
96
96
|
|
|
97
97
|
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
@@ -100,8 +100,8 @@ failed step.
|
|
|
100
100
|
The research is under way. Continue to the surface-control preflight while it runs:
|
|
101
101
|
|
|
102
102
|
```text
|
|
103
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
103
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard read research/preflight
|
|
104
104
|
```
|
|
105
105
|
|
|
106
106
|
If inspection stops onboarding, run
|
|
107
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
107
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read stopped/run-failed`.
|
|
@@ -21,7 +21,7 @@ Project selection is where the settled port is written down, through `--runtime-
|
|
|
21
21
|
Then report that the research came back:
|
|
22
22
|
|
|
23
23
|
```text
|
|
24
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
24
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase research-returned
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
@@ -54,7 +54,7 @@ worker a focused directory check. Continue only when both workers return the sam
|
|
|
54
54
|
app directory. Both results must start with `Status: passed`. Otherwise, use the stop route.
|
|
55
55
|
|
|
56
56
|
When both research results are merged, run
|
|
57
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
57
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read research/route`.
|
|
58
58
|
|
|
59
59
|
If inspection stops onboarding, run
|
|
60
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
60
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read stopped/run-failed`.
|
|
@@ -45,7 +45,7 @@ mechanism a later step uses for the CopilotKit documentation server.
|
|
|
45
45
|
|
|
46
46
|
Some coding agents, Claude Code among them, load a newly registered MCP server only at the
|
|
47
47
|
next session start. Tell the developer in one line to expect one restart, then restart and
|
|
48
|
-
re-bind with `npx --prefer-offline --yes copilotkit@4.
|
|
48
|
+
re-bind with `npx --prefer-offline --yes copilotkit@4.18.0 onboard start --run <onboarding_run_id>`. That
|
|
49
49
|
restart is a step here, not an error.
|
|
50
50
|
|
|
51
51
|
Do not add a browser or device driver to the project. A driver added there is a
|
|
@@ -62,14 +62,14 @@ whole finding.
|
|
|
62
62
|
Report that the probe settled, whichever way it came out:
|
|
63
63
|
|
|
64
64
|
```text
|
|
65
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
65
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase surface-probed
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
Then merge the research:
|
|
69
69
|
|
|
70
70
|
```text
|
|
71
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
71
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard read research/merge
|
|
72
72
|
```
|
|
73
73
|
|
|
74
74
|
If inspection stops onboarding, run
|
|
75
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
75
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read stopped/run-failed`.
|
|
@@ -9,7 +9,7 @@ sends the run down one path.
|
|
|
9
9
|
Before you route on, run this from the target app directory:
|
|
10
10
|
|
|
11
11
|
```text
|
|
12
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
12
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
It reads the working tree itself, records every changed or untracked path with a digest,
|
|
@@ -41,7 +41,7 @@ On either, run this before you read the three findings below, and without asking
|
|
|
41
41
|
purpose question:
|
|
42
42
|
|
|
43
43
|
```text
|
|
44
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
44
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/channels/start
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
Name the provider to that node so it does not ask again. A Slack page names Slack. A Teams
|
|
@@ -96,7 +96,7 @@ settle these three from your own reading of the project. Each one comes from the
|
|
|
96
96
|
packets or it is not proved.
|
|
97
97
|
|
|
98
98
|
If all three are proved, prove the live starting state before any project file changes. Run
|
|
99
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
99
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read proof/oss-baseline`.
|
|
100
100
|
|
|
101
101
|
Route there before you ask the developer anything else. The questions after this prompt
|
|
102
102
|
select a framework and a frontend that the findings already name, so a developer who
|
|
@@ -109,7 +109,7 @@ developer nor the repository findings prove what the project is for, ask one gui
|
|
|
109
109
|
question about the user outcome. This asks what the developer wants to build before you
|
|
110
110
|
select a framework. Give two or three short examples. Record the answer and give it to
|
|
111
111
|
each later subagent. Then run
|
|
112
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
112
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read credentials/plan`.
|
|
113
113
|
|
|
114
114
|
Do not ask that question on the route above. A project carrying all three states its
|
|
115
115
|
purpose in the application it already serves.
|
|
@@ -123,5 +123,5 @@ A purpose question here names a domain before that choice.
|
|
|
123
123
|
Take the same read named above without asking.
|
|
124
124
|
|
|
125
125
|
If authentication, inspection, or the baseline capture stops onboarding, run
|
|
126
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
126
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read stopped/run-failed`. None of them says anything
|
|
127
127
|
about whether this project's stack is supported, which is not yet known at this point.
|
|
@@ -55,7 +55,7 @@ the derived name.
|
|
|
55
55
|
Only if the developer asks for an existing project, or asks to see the projects they have,
|
|
56
56
|
read the choices:
|
|
57
57
|
|
|
58
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
58
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 project list --json`
|
|
59
59
|
|
|
60
60
|
Then ask which one to use. Do not order the projects by creation time. If the developer
|
|
61
61
|
already gave this answer, do not ask again. Do not read a secret value. Do not show or
|
|
@@ -82,7 +82,7 @@ Run the command from the parent directory. Do not inspect another entry in the p
|
|
|
82
82
|
directory. Replace each placeholder with the recorded value. Do not run a placeholder as
|
|
83
83
|
a shell argument. If the directory name holds a space, put it in double quotes.
|
|
84
84
|
|
|
85
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
85
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 init --name <directory-name> --framework <framework-id> --channel none --no-banner --no-key-prompt --create <name> --install`
|
|
86
86
|
|
|
87
87
|
`--name` is always the target directory name derived above, because `init` creates the
|
|
88
88
|
app at `<parent>/<name>`. Any other value puts the app in a new folder beside the target,
|
|
@@ -108,7 +108,7 @@ account. The command does not need terminal input.
|
|
|
108
108
|
Report the clone before you inspect anything:
|
|
109
109
|
|
|
110
110
|
```text
|
|
111
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
111
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase starter-cloned
|
|
112
112
|
```
|
|
113
113
|
|
|
114
114
|
This is its own step, not an aside. A run that clones and then goes quiet is
|
|
@@ -149,10 +149,11 @@ The two Microsoft Agent Framework starters keep their key outside `<target>/.env
|
|
|
149
149
|
`cd <target>/agent && dotnet user-secrets set OPENAI_API_KEY "<key>"` themselves, even
|
|
150
150
|
if they named a key file.
|
|
151
151
|
|
|
152
|
-
|
|
152
|
+
When you ask, name each variable and the file it goes in, and say that the run continues
|
|
153
|
+
when they reply or resume this session. Then report the pause and end your turn:
|
|
153
154
|
|
|
154
155
|
```text
|
|
155
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
156
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase awaiting-model-credential
|
|
156
157
|
```
|
|
157
158
|
|
|
158
159
|
This is a pause, not a stop. Do not send a stop report, and do not take a stop route.
|
|
@@ -163,10 +164,10 @@ call.
|
|
|
163
164
|
|
|
164
165
|
If no credential is missing, report no pause and continue.
|
|
165
166
|
|
|
166
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
167
|
+
Then run `npx --prefer-offline --yes copilotkit@4.18.0 onboard read proof/round-trip`.
|
|
167
168
|
|
|
168
169
|
If the command fails, report its exact error and do not claim that the starter is ready.
|
|
169
170
|
Then run
|
|
170
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
171
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read stopped/run-failed`. The starter is one this
|
|
171
172
|
graph ships and the stack was chosen from its own supported list, so a command that
|
|
172
173
|
returned an error is a run that broke, not a setup this release does not support.
|
|
@@ -41,7 +41,7 @@ put to them, stop here and send the report below.
|
|
|
41
41
|
If they approve it, make that one fix and nothing else. Then come back into this run:
|
|
42
42
|
|
|
43
43
|
```text
|
|
44
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
44
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard resume --message "<approval>"
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
Put the developer's approval in `--message`, in one or two sentences: the fix they
|
|
@@ -60,11 +60,11 @@ said and stop.
|
|
|
60
60
|
|
|
61
61
|
Stop onboarding without making more repository changes.
|
|
62
62
|
|
|
63
|
-
Send one short report.
|
|
64
|
-
|
|
63
|
+
Send one short report. The friction command follows the telemetry setting the developer
|
|
64
|
+
already chose, so it needs no separate question.
|
|
65
65
|
|
|
66
66
|
```text
|
|
67
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
67
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
`--message` takes one or two sentences: the step you stopped at and what stopped
|
|
@@ -174,7 +174,7 @@ here is work the developer did not ask for.
|
|
|
174
174
|
Plan the threads drawer itself: add it from the selected drawer page, where this frontend
|
|
175
175
|
does not already render one. Where this journey's frontend framework ships no threads
|
|
176
176
|
drawer -- React Native --, plan that the thread is proved by
|
|
177
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
177
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 verify --round-trip`, which needs no browser. Do not plan a
|
|
178
178
|
step that opens the managed Intelligence dashboard.
|
|
179
179
|
|
|
180
180
|
## Order the plan into steps
|
|
@@ -219,6 +219,15 @@ to make a build pass during onboarding.
|
|
|
219
219
|
|
|
220
220
|
The type check runs against the project's own configuration. If the project has no
|
|
221
221
|
type-check command, add one that uses the configuration the project already has.
|
|
222
|
+
Where the repository findings carry a `typescript.migration` for an app, plan it as its
|
|
223
|
+
own step, before the first step that imports a CopilotKit package in that app. Name the
|
|
224
|
+
migration `file` and each change in `changes`, and give its `reason` in one sentence.
|
|
225
|
+
Under `node` or `node10` resolution, TypeScript ignores a package's `exports` map, so
|
|
226
|
+
every CopilotKit subpath import fails the type check while the app still runs. A plan
|
|
227
|
+
without this step stops after approval to ask for it. If the file is a protected path,
|
|
228
|
+
list it under `Authorization requested`. Where no migration is reported, do not change
|
|
229
|
+
`moduleResolution` or `module`. This change does not weaken type safety.
|
|
230
|
+
|
|
222
231
|
Do not add compiler strictness the project did not have. Nothing later in the run is
|
|
223
232
|
allowed to weaken type safety, so a stricter gate named here is one the run cannot get
|
|
224
233
|
back out of.
|
|
@@ -7,7 +7,7 @@ Work only on the packet you were assigned. Inspect the repository without changi
|
|
|
7
7
|
Run this first, from the target project directory:
|
|
8
8
|
|
|
9
9
|
```text
|
|
10
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
10
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard inspect --json
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
It answers the deterministic half of both packets exactly, from the same code
|
|
@@ -15,7 +15,8 @@ It answers the deterministic half of both packets exactly, from the same code
|
|
|
15
15
|
directory on its own, the env files, which variable carries the Intelligence key and which
|
|
16
16
|
file it came from, whether that directory's own process can load it, the package manager
|
|
17
17
|
its lockfile proves, the port it declares, the exact installed version of every
|
|
18
|
-
`@copilotkit/*` dependency,
|
|
18
|
+
`@copilotkit/*` dependency, every provider base URL its process will read, and the
|
|
19
|
+
module resolution its `tsconfig.json` sets, read through the `extends` chain. It reads
|
|
19
20
|
only and prints no secret value.
|
|
20
21
|
|
|
21
22
|
Report each `providerEndpoints` entry with the variable, its origin, and where it came
|
|
@@ -67,6 +68,12 @@ reading of the files will not reproduce.
|
|
|
67
68
|
neither can be proved from project files
|
|
68
69
|
- package compatibility risks, and whether any `@copilotkit/*` version the CLI reported is
|
|
69
70
|
below 1.70.0
|
|
71
|
+
- the `tsconfig.json` change each app needs, from `typescript.migration`: its file and each
|
|
72
|
+
change, as they came back. The change lets CopilotKit subpath imports such as
|
|
73
|
+
`@copilotkit/runtime/v2` type-check. A `null` migration means that no change is needed.
|
|
74
|
+
Where `typescript.status` is `unreadable` or `typescript.unresolvedExtends` is not
|
|
75
|
+
empty, read that app's `tsconfig.json` chain and report its `moduleResolution` and
|
|
76
|
+
`module` values, or report them as unproved
|
|
70
77
|
|
|
71
78
|
Key every environment finding by its app or runtime directory. Do not combine findings
|
|
72
79
|
from different directories. The CLI packet keys its own readings the same way.
|