copilotkit 4.19.0 → 4.20.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 +18 -9
- package/cli-build-info.json +7 -7
- package/index.js +3127 -2335
- package/onboarding/index.json +1 -1
- package/onboarding/prompts/authenticate/start.md +26 -28
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +7 -7
- package/onboarding/prompts/credentials/plan.md +22 -22
- package/onboarding/prompts/credentials/settle-credentials.md +7 -5
- package/onboarding/prompts/credentials/write-plan.md +9 -6
- package/onboarding/prompts/fallback/best-effort.md +8 -8
- package/onboarding/prompts/feature/a2ui/implement.md +6 -12
- package/onboarding/prompts/feature/a2ui/proof.md +7 -18
- package/onboarding/prompts/feature/a2ui/start.md +9 -18
- package/onboarding/prompts/feature/channels/implement.md +12 -21
- package/onboarding/prompts/feature/channels/proof.md +7 -18
- package/onboarding/prompts/feature/channels/start.md +14 -21
- package/onboarding/prompts/feature/chat-suggestions/implement.md +6 -12
- package/onboarding/prompts/feature/chat-suggestions/proof.md +7 -18
- package/onboarding/prompts/feature/chat-suggestions/start.md +9 -18
- package/onboarding/prompts/feature/complete.md +4 -2
- package/onboarding/prompts/feature/learning/implement.md +13 -38
- package/onboarding/prompts/feature/learning/proof.md +8 -19
- package/onboarding/prompts/feature/learning/start.md +9 -18
- package/onboarding/prompts/feature/open-generative-ui/implement.md +6 -12
- package/onboarding/prompts/feature/open-generative-ui/proof.md +7 -18
- package/onboarding/prompts/feature/open-generative-ui/start.md +9 -18
- package/onboarding/prompts/feature/realtime-sync/implement.md +7 -13
- package/onboarding/prompts/feature/realtime-sync/proof.md +7 -18
- package/onboarding/prompts/feature/realtime-sync/start.md +8 -17
- package/onboarding/prompts/feature/rich-threads/implement.md +8 -14
- package/onboarding/prompts/feature/rich-threads/proof.md +7 -18
- package/onboarding/prompts/feature/rich-threads/start.md +8 -17
- package/onboarding/prompts/feature/stop.md +3 -3
- package/onboarding/prompts/feature/voice/implement.md +6 -12
- package/onboarding/prompts/feature/voice/proof.md +7 -18
- package/onboarding/prompts/feature/voice/start.md +9 -18
- 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 +3 -3
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +3 -3
- 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 +7 -7
- 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 +24 -40
- package/onboarding/prompts/proof/complete.md +86 -204
- package/onboarding/prompts/proof/oss-baseline.md +5 -5
- package/onboarding/prompts/proof/round-trip.md +9 -22
- package/onboarding/prompts/research/gather.md +5 -14
- package/onboarding/prompts/research/merge.md +2 -11
- package/onboarding/prompts/research/preflight.md +2 -8
- package/onboarding/prompts/research/route.md +5 -5
- package/onboarding/prompts/starter/clone.md +5 -15
- package/onboarding/prompts/stopped/run-failed.md +2 -2
- package/onboarding/prompts/subagent/create-plan.md +16 -1
- package/onboarding/prompts/subagent/inspect-repository.md +1 -1
- package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
- package/onboarding/prompts/subagent/prove-round-trip.md +28 -20
- package/onboarding/prompts/unsupported/no-validated-path.md +2 -2
- package/package.json +1 -1
- package/release/release-tool.js +1 -1
|
@@ -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.20.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.20.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.20.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.
|
|
@@ -88,20 +88,11 @@ Start both research subagents in parallel:
|
|
|
88
88
|
2. Spawn a second research subagent. Assign it the environment evidence packet.
|
|
89
89
|
3. Start both research subagents. Then continue.
|
|
90
90
|
|
|
91
|
-
Report that both subagents started:
|
|
92
|
-
|
|
93
|
-
```text
|
|
94
|
-
npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase research-dispatched
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
98
|
-
failed step.
|
|
99
|
-
|
|
100
91
|
The research is under way. Continue to the surface-control preflight while it runs:
|
|
101
92
|
|
|
102
93
|
```text
|
|
103
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
94
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard read research/preflight
|
|
104
95
|
```
|
|
105
96
|
|
|
106
97
|
If inspection stops onboarding, run
|
|
107
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
98
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard read stopped/run-failed`.
|
|
@@ -18,15 +18,6 @@ whatever holds that port answers.
|
|
|
18
18
|
|
|
19
19
|
Project selection is where the settled port is written down, through `--runtime-url`.
|
|
20
20
|
|
|
21
|
-
Then report that the research came back:
|
|
22
|
-
|
|
23
|
-
```text
|
|
24
|
-
npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase research-returned
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
28
|
-
failed step.
|
|
29
|
-
|
|
30
21
|
Continue only if both research results start with `Status: passed`. For `Status: failed`,
|
|
31
22
|
retry only that packet with its failed items, up to three attempts. For `Status: blocked`,
|
|
32
23
|
or a third failed result, use the stop route at the end of this prompt.
|
|
@@ -55,7 +46,7 @@ worker a focused directory check. Continue only when both workers return the sam
|
|
|
55
46
|
app directory. Both results must start with `Status: passed`. Otherwise, use the stop route.
|
|
56
47
|
|
|
57
48
|
When both research results are merged, run
|
|
58
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
49
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard read research/route`.
|
|
59
50
|
|
|
60
51
|
If inspection stops onboarding, run
|
|
61
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
52
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard read stopped/run-failed`.
|
|
@@ -24,17 +24,11 @@ devDependency and a browser download in the diff of a repository that never aske
|
|
|
24
24
|
|
|
25
25
|
Where the device probe found no booted device, that is the whole finding.
|
|
26
26
|
|
|
27
|
-
Report that the probe settled, whichever way it came out:
|
|
28
|
-
|
|
29
|
-
```text
|
|
30
|
-
npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase surface-probed
|
|
31
|
-
```
|
|
32
|
-
|
|
33
27
|
Then merge the research:
|
|
34
28
|
|
|
35
29
|
```text
|
|
36
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
30
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard read research/merge
|
|
37
31
|
```
|
|
38
32
|
|
|
39
33
|
If inspection stops onboarding, run
|
|
40
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
34
|
+
`npx --prefer-offline --yes copilotkit@4.20.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.20.0 onboard protect
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
It reads the working tree itself, records every changed or untracked path with a digest,
|
|
@@ -42,7 +42,7 @@ On either, run this before you read the three findings below, and without asking
|
|
|
42
42
|
purpose question:
|
|
43
43
|
|
|
44
44
|
```text
|
|
45
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
45
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard read feature/channels/start
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
Name the provider to that node so it does not ask again. A Slack page names Slack. A Teams
|
|
@@ -97,7 +97,7 @@ settle these three from your own reading of the project. Each one comes from the
|
|
|
97
97
|
packets or it is not proved.
|
|
98
98
|
|
|
99
99
|
If all three are proved, prove the live starting state before any project file changes. Run
|
|
100
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
100
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard read proof/oss-baseline`.
|
|
101
101
|
|
|
102
102
|
Route there before you ask the developer anything else. The questions after this prompt
|
|
103
103
|
select a framework and a frontend that the findings already name, so a developer who
|
|
@@ -110,7 +110,7 @@ developer nor the repository findings prove what the project is for, ask one gui
|
|
|
110
110
|
question about the user outcome. This asks what the developer wants to build before you
|
|
111
111
|
select a framework. Give two or three short examples. Record the answer and give it to
|
|
112
112
|
each later subagent. Then run
|
|
113
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
113
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard read credentials/plan`.
|
|
114
114
|
|
|
115
115
|
Do not ask that question on the route above. A project carrying all three states its
|
|
116
116
|
purpose in the application it already serves.
|
|
@@ -124,5 +124,5 @@ A purpose question here names a domain before that choice.
|
|
|
124
124
|
Take the same read named above without asking.
|
|
125
125
|
|
|
126
126
|
If authentication, inspection, or the baseline capture stops onboarding, run
|
|
127
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
127
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard read stopped/run-failed`. None of them says anything
|
|
128
128
|
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.20.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.20.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,
|
|
@@ -105,16 +105,6 @@ The command clones the starter into the empty target directory. It also connects
|
|
|
105
105
|
starter to the developer's Intelligence project. The earlier login phase supplies the
|
|
106
106
|
account. The command does not need terminal input.
|
|
107
107
|
|
|
108
|
-
Report the clone before you inspect anything:
|
|
109
|
-
|
|
110
|
-
```text
|
|
111
|
-
npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase starter-cloned
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
This is its own step, not an aside. A run that clones and then goes quiet is
|
|
115
|
-
indistinguishable from a run that never cloned, and the checkpoint is the only thing that
|
|
116
|
-
separates them.
|
|
117
|
-
|
|
118
108
|
Do not rebuild the starter by hand. Then inspect only the generated
|
|
119
109
|
paths inside the target directory. Record the files, install result, project connection,
|
|
120
110
|
and validation commands.
|
|
@@ -153,7 +143,7 @@ When you ask, name each variable and the file it goes in, and say that the run c
|
|
|
153
143
|
when they reply or resume this session. Then report the pause and end your turn:
|
|
154
144
|
|
|
155
145
|
```text
|
|
156
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
146
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard checkpoint --phase awaiting-model-credential
|
|
157
147
|
```
|
|
158
148
|
|
|
159
149
|
This is a pause, not a stop. Do not send a stop report, and do not take a stop route.
|
|
@@ -164,10 +154,10 @@ call.
|
|
|
164
154
|
|
|
165
155
|
If no credential is missing, report no pause and continue.
|
|
166
156
|
|
|
167
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
157
|
+
Then run `npx --prefer-offline --yes copilotkit@4.20.0 onboard read proof/round-trip`.
|
|
168
158
|
|
|
169
159
|
If the command fails, report its exact error and do not claim that the starter is ready.
|
|
170
160
|
Then run
|
|
171
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
161
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard read stopped/run-failed`. The starter is one this
|
|
172
162
|
graph ships and the stack was chosen from its own supported list, so a command that
|
|
173
163
|
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.20.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
|
|
@@ -64,7 +64,7 @@ Send one short report. The friction command follows the telemetry setting the de
|
|
|
64
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.20.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
|
|
@@ -183,9 +183,24 @@ here is work the developer did not ask for.
|
|
|
183
183
|
Plan the threads drawer itself: add it from the selected drawer page, where this frontend
|
|
184
184
|
does not already render one. Where this journey's frontend framework ships no threads
|
|
185
185
|
drawer -- React Native --, plan that the thread is proved by
|
|
186
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
186
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 verify --round-trip`, which needs no browser. Do not plan a
|
|
187
187
|
step that opens the managed Intelligence dashboard.
|
|
188
188
|
|
|
189
|
+
## Name the files the run writes itself
|
|
190
|
+
|
|
191
|
+
List these in the plan under `Files the run writes itself`, apart from the implementation
|
|
192
|
+
steps. They are not steps, and they need no authorization. A developer who approved a plan
|
|
193
|
+
without them reads each one later as a change they never agreed to.
|
|
194
|
+
|
|
195
|
+
- Each `planChanges` entry from `onboard credentials`: the project key in `.env`, the
|
|
196
|
+
project record, and, where it lists `ignore-entries`, the lines `project select` adds to
|
|
197
|
+
`.gitignore` so that no `.env` file can be committed.
|
|
198
|
+
- `.copilotkit/proof/`, where the proof writes its evidence. It holds no source. The
|
|
199
|
+
developer can delete it after the run.
|
|
200
|
+
- The CopilotKit Skills, as a line the developer approves or declines:
|
|
201
|
+
`npx skills add CopilotKit/CopilotKit/skills -y`. It writes `.agents/skills/` and links
|
|
202
|
+
it into `.claude/skills/`. Both sit in the working tree and show up in `git status`.
|
|
203
|
+
|
|
189
204
|
## Order the plan into steps
|
|
190
205
|
|
|
191
206
|
Create one ordered list of implementation steps. For each step, name the outcome, the exact
|
|
@@ -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.20.0 onboard inspect --json
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
It answers the deterministic half of both packets exactly, from the same code
|
|
@@ -32,7 +32,7 @@ Prove the live runtime in this order:
|
|
|
32
32
|
4. Confirm from project files that the runtime constructor passes a `runner` option rather
|
|
33
33
|
than an `intelligence` option. A package, import, project file, or key is not use proof.
|
|
34
34
|
5. Run
|
|
35
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
35
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 verify --expect-runtime oss --round-trip --agent <expected-agent-id> --json`,
|
|
36
36
|
with the runtime URL or auth header options that this project needs. Require exit zero
|
|
37
37
|
and the JSON `ok` field to be `true`.
|
|
38
38
|
6. Drive one real request through the existing frontend, CopilotKit runtime, and expected
|
|
@@ -135,7 +135,7 @@ is taken moves to the next free one without asking. Where the runtime runs as a
|
|
|
135
135
|
its own, this is the runtime's port, not the frontend's.
|
|
136
136
|
|
|
137
137
|
```text
|
|
138
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
138
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard runtime-url --url <runtime-url>
|
|
139
139
|
```
|
|
140
140
|
|
|
141
141
|
`<runtime-url>` is the Step 1 runtime URL with its port replaced by the port that server
|
|
@@ -185,7 +185,7 @@ IPv6 only, so an IPv4 literal fails against the correct port.
|
|
|
185
185
|
## Step 4 -- Check the wiring
|
|
186
186
|
|
|
187
187
|
With both running, check the wiring in one command before you open a browser:
|
|
188
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
188
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 verify --json`. It reads the port from this project, so a
|
|
189
189
|
non-default port needs no flag. The payload reports `runtimeUrl` and `runtimeUrlSource`. A
|
|
190
190
|
`runtimeUrlSource` of `default` means nothing in the project named a port, so the Step 2
|
|
191
191
|
record is missing. Run the Step 2 `onboard runtime-url` command, then run `verify` again. Read the individual checks rather than
|
|
@@ -223,7 +223,7 @@ named no port the CLI can read: keep step 2's URL, and rewrite its host as `loca
|
|
|
223
223
|
before you use it.
|
|
224
224
|
|
|
225
225
|
Then run the command once more with the URL you are about to open:
|
|
226
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
226
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 verify --frontend-url <that url> --json`. The
|
|
227
227
|
`frontend_assets_served` check asks that server for its page and for one of the page's own
|
|
228
228
|
assets, on that exact host. A `fail` there means the dev server refuses its own static
|
|
229
229
|
assets on the host you were about to use, and the check names the URL to use instead. This
|
|
@@ -231,7 +231,7 @@ is the cheapest step that can save the most expensive one, so run it before the
|
|
|
231
231
|
|
|
232
232
|
## Step 5 -- Prove that the agent runs
|
|
233
233
|
|
|
234
|
-
Run `npx --prefer-offline --yes copilotkit@4.
|
|
234
|
+
Run `npx --prefer-offline --yes copilotkit@4.20.0 verify --round-trip --json`. It sends one request through
|
|
235
235
|
the runtime and reads the answer back from the thread, so it separates an agent that is
|
|
236
236
|
configured from an agent that works. Use `--agent <id>` when the runtime declares more
|
|
237
237
|
than one. If it reports `user-not-identified`, this project's `identifyUser` reads a
|
|
@@ -245,15 +245,18 @@ entry, so route on each entry's own `status` rather than on the exit status. Whe
|
|
|
245
245
|
frontend's files call a context hook, one entry has the `id` `page_context_reaches_agent`:
|
|
246
246
|
|
|
247
247
|
- `pass` proves that the agent's model sees context the page sends.
|
|
248
|
-
- `fail` is a defect:
|
|
249
|
-
evidence as a failed proof step.
|
|
250
|
-
- `undetermined` means the context round trip did not complete
|
|
248
|
+
- `fail` is a defect: the agent answered the plain request and recorded nothing for the
|
|
249
|
+
request that carried context. Return it with its evidence as a failed proof step.
|
|
250
|
+
- `undetermined` means the context round trip did not complete, or the agent answered
|
|
251
|
+
without the value. An agent scoped to its own task declines to repeat an arbitrary value
|
|
252
|
+
even when the context reaches its model, so this is not a defect. Record it, and prove
|
|
253
|
+
the path in Step 5a.
|
|
251
254
|
|
|
252
255
|
Where this run settled a Learning Container, add the flag to the call above rather than
|
|
253
256
|
running a second round trip:
|
|
254
257
|
|
|
255
258
|
```text
|
|
256
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
259
|
+
npx --prefer-offline --yes copilotkit@4.20.0 verify --round-trip --expect-learning-container <container id> --json
|
|
257
260
|
```
|
|
258
261
|
|
|
259
262
|
The check reads the thread that this run created, so a second round trip proves a second
|
|
@@ -287,7 +290,7 @@ the credential was written holds an empty key while the file beside it carries t
|
|
|
287
290
|
one. Run this from the target app directory:
|
|
288
291
|
|
|
289
292
|
```text
|
|
290
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
293
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard env-staleness
|
|
291
294
|
```
|
|
292
295
|
|
|
293
296
|
A `stale` line names the env file and how long after launch it was written. Report that,
|
|
@@ -303,7 +306,7 @@ environment on to every process it starts, so a provider base URL exported for t
|
|
|
303
306
|
reaches the dev servers. Run this from the target app directory:
|
|
304
307
|
|
|
305
308
|
```text
|
|
306
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
309
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard inspect --json
|
|
307
310
|
```
|
|
308
311
|
|
|
309
312
|
Read `providerEndpoints` for the app directory. An entry with a `null` `source` came from
|
|
@@ -314,13 +317,14 @@ edit a project file to answer it: the value lives in the shell, not in the proje
|
|
|
314
317
|
|
|
315
318
|
### Step 5a -- Prove that the page's data reaches the model
|
|
316
319
|
|
|
317
|
-
`verify --round-trip` asks a question that needs no context. Where the frontend's files
|
|
318
|
-
a context hook, it also sends one token as context and reports
|
|
319
|
-
`page_context_reaches_agent`,
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
320
|
+
`verify --round-trip` asks a question that needs no context. Where the frontend's files
|
|
321
|
+
call a context hook, it also sends one token as context and reports
|
|
322
|
+
`page_context_reaches_agent`, whose `pass` proves that the agent's model sees context at
|
|
323
|
+
all. An agent scoped to its own task answers without the token, so that check is often
|
|
324
|
+
`undetermined`, and this step is then the only proof of the path. A `pass` does not prove
|
|
325
|
+
that the page's own entries arrive in the shape the agent reads. Nothing else before the
|
|
326
|
+
browser reads that path, so a page whose data the agent never sees answers fluently over a
|
|
327
|
+
record it invented, and the first thing to notice is a card in a screenshot.
|
|
324
328
|
|
|
325
329
|
Where this journey shares page data with the agent, prove that path here. Read the context
|
|
326
330
|
entries this project's frontend publishes, from its own context call. Read the tool
|
|
@@ -392,7 +396,7 @@ For a recorded `both-oss` starting state, this step has no component to render.
|
|
|
392
396
|
same request the baseline recorded, require the same kind of user-visible result the
|
|
393
397
|
baseline produced, and require that the thread for that request is listed in the drawer.
|
|
394
398
|
Where this journey's frontend framework ships no threads drawer -- React Native --, prove
|
|
395
|
-
that thread with `npx --prefer-offline --yes copilotkit@4.
|
|
399
|
+
that thread with `npx --prefer-offline --yes copilotkit@4.20.0 verify --round-trip`, which reads the
|
|
396
400
|
answer back off the thread and needs no browser. Record which of the two you proved.
|
|
397
401
|
|
|
398
402
|
Use the surface control the main coding agent recorded for your environment. That finding
|
|
@@ -420,7 +424,7 @@ limit can be ten minutes. You cannot interrupt a call while it runs, so the limi
|
|
|
420
424
|
what you do after one. If a browser call took longer than 60 seconds to return, the browser
|
|
421
425
|
control is unresponsive. Do not call the browser again in this attempt. A second call to a
|
|
422
426
|
hung tool waits as long as the first one did. Run
|
|
423
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
427
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 verify --frontend-url <the url step 4 resolved> --json` once,
|
|
424
428
|
and record the `frontend_assets_served` result. Report the outcome `failed` with the cause
|
|
425
429
|
`browser-control-unresponsive`. The application is not at fault on this evidence: every
|
|
426
430
|
step before the browser proved the runtime without one, and no repair to the project can
|
|
@@ -430,7 +434,7 @@ reach the tool.
|
|
|
430
434
|
the page to finish loading. Do not retype the host, and do not substitute a URL a tool
|
|
431
435
|
offers you by default. Where the page loads but its styling is missing or the chat
|
|
432
436
|
control is dead, run
|
|
433
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
437
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 verify --frontend-url <the url you opened> --json`
|
|
434
438
|
before you diagnose anything else. A dev server can serve its page and refuse every
|
|
435
439
|
static chunk behind it, and on screen that is indistinguishable from a broken
|
|
436
440
|
integration. The `frontend_assets_served` check tells the two apart.
|
|
@@ -548,6 +552,10 @@ Tell the developer what the skills install writes into this project before you r
|
|
|
548
552
|
and can land in a commit. You cannot know whether this project keeps those directories in
|
|
549
553
|
version control, so name them before you write them rather than after.
|
|
550
554
|
|
|
555
|
+
Install the Skills only when the approved plan includes them. Where the developer declined
|
|
556
|
+
them, do not install them, and do not call that a change from the plan. Report the command
|
|
557
|
+
for them to run later instead: `npx skills add CopilotKit/CopilotKit/skills -y`.
|
|
558
|
+
|
|
551
559
|
Use it to install the project-scoped CopilotKit Skills. Do not register an MCP server: the
|
|
552
560
|
Skills read the CopilotKit documentation without one.
|
|
553
561
|
|
|
@@ -30,13 +30,13 @@ Before you show the best-effort plan, require this complete packet:
|
|
|
30
30
|
- Give the ordered proof rules.
|
|
31
31
|
|
|
32
32
|
After the developer approves the best-effort plan, run
|
|
33
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
33
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard read fallback/best-effort`.
|
|
34
34
|
|
|
35
35
|
Send one short report. The friction command follows the telemetry setting the developer
|
|
36
36
|
already chose, so it needs no separate question.
|
|
37
37
|
|
|
38
38
|
```text
|
|
39
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
39
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
package/package.json
CHANGED
package/release/release-tool.js
CHANGED
|
@@ -14819,7 +14819,7 @@ var FLAG_DEFINITIONS = defineFlags({
|
|
|
14819
14819
|
|
|
14820
14820
|
// apps/cli/src/config.ts
|
|
14821
14821
|
function getTemplateRef() {
|
|
14822
|
-
return true ? "
|
|
14822
|
+
return true ? "24c969848df0b217144a93a58dcc3564bffa26ee" : "main";
|
|
14823
14823
|
}
|
|
14824
14824
|
|
|
14825
14825
|
// apps/cli/src/services/agentcore-config.ts
|