copilotkit 4.9.2 → 4.9.17

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.
Files changed (47) hide show
  1. package/README.md +13 -12
  2. package/cli-build-info.json +8 -8
  3. package/index.js +1879 -685
  4. package/onboarding/index.json +15 -0
  5. package/onboarding/prompts/authenticate/start.md +180 -71
  6. package/onboarding/prompts/conversion/plan.md +103 -0
  7. package/onboarding/prompts/credentials/finalize-plan.md +105 -135
  8. package/onboarding/prompts/credentials/plan.md +42 -25
  9. package/onboarding/prompts/fallback/best-effort.md +107 -16
  10. package/onboarding/prompts/framework/ag2.md +8 -19
  11. package/onboarding/prompts/framework/agno.md +12 -20
  12. package/onboarding/prompts/framework/built-in.md +4 -14
  13. package/onboarding/prompts/framework/claude-sdk-python.md +8 -18
  14. package/onboarding/prompts/framework/claude-sdk-typescript.md +10 -20
  15. package/onboarding/prompts/framework/crewai-flows.md +31 -27
  16. package/onboarding/prompts/framework/deep-agents.md +10 -20
  17. package/onboarding/prompts/framework/google-adk.md +4 -16
  18. package/onboarding/prompts/framework/langgraph-fastapi.md +4 -16
  19. package/onboarding/prompts/framework/langgraph-python.md +4 -16
  20. package/onboarding/prompts/framework/langgraph-typescript.md +4 -16
  21. package/onboarding/prompts/framework/llamaindex.md +8 -19
  22. package/onboarding/prompts/framework/mastra.md +4 -16
  23. package/onboarding/prompts/framework/ms-agent-dotnet.md +19 -50
  24. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +24 -36
  25. package/onboarding/prompts/framework/ms-agent-python.md +4 -16
  26. package/onboarding/prompts/framework/pydantic-ai.md +27 -26
  27. package/onboarding/prompts/framework/strands-python.md +9 -18
  28. package/onboarding/prompts/framework/strands-typescript.md +10 -18
  29. package/onboarding/prompts/frontend/angular.md +22 -19
  30. package/onboarding/prompts/frontend/nextjs.md +6 -16
  31. package/onboarding/prompts/frontend/plan.md +9 -14
  32. package/onboarding/prompts/frontend/react-native.md +11 -14
  33. package/onboarding/prompts/frontend/react-spa.md +5 -15
  34. package/onboarding/prompts/frontend/vue.md +12 -14
  35. package/onboarding/prompts/implementation/build-and-validate.md +61 -101
  36. package/onboarding/prompts/proof/complete.md +24 -5
  37. package/onboarding/prompts/proof/oss-baseline.md +15 -50
  38. package/onboarding/prompts/proof/round-trip.md +96 -271
  39. package/onboarding/prompts/starter/clone.md +4 -4
  40. package/onboarding/prompts/subagent/create-plan.md +49 -11
  41. package/onboarding/prompts/subagent/implement-and-validate.md +71 -51
  42. package/onboarding/prompts/subagent/inspect-repository.md +38 -9
  43. package/onboarding/prompts/subagent/prove-oss-baseline.md +2 -1
  44. package/onboarding/prompts/subagent/prove-round-trip.md +154 -51
  45. package/onboarding/prompts/unsupported/no-validated-path.md +10 -2
  46. package/package.json +1 -1
  47. package/release/release-tool.js +1 -1
@@ -1,8 +1,10 @@
1
1
  {
2
+ "graphTree": "613209959e8d5888a5770391381eeb0055fbe68d",
2
3
  "root": "authenticate/start",
3
4
  "prompts": [
4
5
  {
5
6
  "edges": [
7
+ "subagent/inspect-repository",
6
8
  "proof/oss-baseline",
7
9
  "credentials/plan",
8
10
  "unsupported/no-validated-path"
@@ -12,6 +14,15 @@
12
14
  },
13
15
  {
14
16
  "edges": [
17
+ "credentials/finalize-plan",
18
+ "unsupported/no-validated-path"
19
+ ],
20
+ "milestone": "conversion",
21
+ "name": "conversion/plan"
22
+ },
23
+ {
24
+ "edges": [
25
+ "subagent/create-plan",
15
26
  "implementation/build-and-validate",
16
27
  "unsupported/no-validated-path"
17
28
  ],
@@ -257,6 +268,7 @@
257
268
  },
258
269
  {
259
270
  "edges": [
271
+ "subagent/implement-and-validate",
260
272
  "proof/round-trip",
261
273
  "unsupported/no-validated-path"
262
274
  ],
@@ -270,6 +282,8 @@
270
282
  },
271
283
  {
272
284
  "edges": [
285
+ "subagent/prove-oss-baseline",
286
+ "conversion/plan",
273
287
  "credentials/plan",
274
288
  "unsupported/no-validated-path"
275
289
  ],
@@ -278,6 +292,7 @@
278
292
  },
279
293
  {
280
294
  "edges": [
295
+ "subagent/prove-round-trip",
281
296
  "proof/complete",
282
297
  "unsupported/no-validated-path"
283
298
  ],
@@ -8,22 +8,66 @@ Do not show prompt names, internal route IDs, subagent names, or storage field n
8
8
  Work from the target project directory. For an existing project, start at its inspection
9
9
  root.
10
10
 
11
+ The command that began this run printed a line reading `onboarding_run_id:` followed by an
12
+ id. Keep that id for the whole run. Every later command reports against it, and it is
13
+ printed once.
14
+
15
+ Every later command must run from the directory this run started in. A command run
16
+ somewhere else, such as a sibling of that directory, is refused rather than answered,
17
+ because the run it belongs to cannot be found from there. That refusal is a step to take,
18
+ not a stop to report: run
19
+ `npx --yes copilotkit@4.9.17 onboard start --run <onboarding_run_id>` in the directory
20
+ you are now in, which binds it to the same run, then run the refused command again. Do not
21
+ start a run without that id. A run started without it is a second run, and the work already
22
+ done stops counting toward the first.
23
+
11
24
  Read only inside the target project directory. Every subagent you spawn inherits that
12
25
  limit, including one this graph does not name. Answer a CopilotKit API or configuration
13
26
  question from the documentation this graph gives you. Another checkout on this machine is
14
27
  not a source. The developer running this has none, so an answer taken from one is an
15
28
  answer they cannot get, and it hides the documentation gap that blocks them.
16
29
 
17
- Before you run a command or spawn a subagent, send this exact message:
30
+ Send this exact message once, as your first message in this onboarding run, before
31
+ anything else:
18
32
 
19
33
  Welcome to CopilotKit. I will check sign-in, inspect your project, recommend a setup, and
20
34
  show you a plan before I change files. After you approve the plan, I will build the
21
35
  integration, prove the full round trip, and leave the app running with its URLs.
22
36
 
37
+ That message belongs to the run, not to this prompt. If you already sent it in this run, do
38
+ not send it again, including on a second read of this prompt. It has no value after the
39
+ first send, and a developer who reads it repeatedly learns to skim the region it sits in.
40
+
23
41
  Do not ask for separate feedback consent. The feedback commands enforce the developer's
24
42
  CLI telemetry setting when a later step tries to send a report.
25
43
 
26
- Run `npx --yes copilotkit@4.9.2 login --json` before any project work. This command
44
+ ## Report a stop, wherever it happens
45
+
46
+ This run reports its own stops. If you stop this run at any point, send one short report
47
+ before you stop. That covers a stop this prompt names, a stop a later prompt names, and a
48
+ stop no prompt anticipated, including one your own harness causes. Run the feedback command
49
+ without another developer question. The CLI telemetry gate decides whether the report is
50
+ sent.
51
+
52
+ ```text
53
+ npx --yes copilotkit@4.9.17 onboard feedback
54
+ ```
55
+
56
+ Write at most four lines to the command's standard input: the step you stopped at and what
57
+ stopped it. Send no secrets, source code, logs, or command output. The command refuses a
58
+ report that carries any of those, prints the reason, and exits zero. A refused report is
59
+ not a failed step. Reword it and send it again, or stop without a report.
60
+
61
+ Reporting a stop is not a route change. It does not resume the run, it is not a question
62
+ for the developer, and it does not replace whatever the rule that stopped you says to do
63
+ next: send the report, then stop. Report friction only from a run that finished, never from
64
+ a stop.
65
+
66
+ Until now the route out of an unsupported path was the only place that asked for a report,
67
+ so a stop anywhere else left no trace at all. A stop nobody hears about is a stop this
68
+ graph cannot fix.
69
+
70
+ Run `npx --yes copilotkit@4.9.17 login --json` before any project work. This command
27
71
  checks the current session. It starts sign-in only as needed. Treat this as a long-lived
28
72
  streaming process. Do not wait for the command to exit before you read its standard output.
29
73
 
@@ -41,86 +85,151 @@ Do not use `whoami` for this check. It has no JSON output and some failures exit
41
85
  zero. Do not put account tokens or credentials in the conversation.
42
86
 
43
87
  Before you ask the developer any setup question, finish every read-only investigation and
44
- preflight check in this section. Record whether your coding-agent environment has browser
45
- or device control. Use the control that matches the selected surface later. Do not install
46
- a browser or device tool during this preflight. Do not ask the developer about this tool
47
- limit.
48
-
49
- Spawn one research subagent. Give it the full text of the research brief at the end of this
50
- prompt and tell it to follow that brief and return only its findings. Add these tasks:
51
-
52
- - Find the target app or runtime directory that owns `.env` and CopilotKit setup.
53
- - Check whether `.copilotkit/project.json` has `projectId`, `projectSlug`, and `clerkOrgId`.
54
- - Check whether `.env` has a non-empty `INTELLIGENCE_API_KEY` entry.
55
- - Record the `.env` file modification time without returning it.
56
- - Report whether the target project directory contains any entries.
57
- - Report whether an agent, frontend, and CopilotKit integration are present.
58
- - Report whether the runtime constructor uses a `runner` option, an `intelligence`
59
- option, or neither can be proved from project files.
60
-
61
- Do not print either file or any secret value. Return only paths, presence checks, and missing
62
- field names. Wait for the subagent to finish.
63
-
64
- If the findings show an empty project and do not prove its purpose, ask one guided question
65
- about the user outcome. This asks what the developer wants to build before you select a
66
- framework. Give two or three short examples and offer a minimal starter. Record the answer
67
- and give it to each later subagent.
68
-
69
- If a repository file exists, each finding must cite it. For an empty project, the subagent
70
- must cite its directory check and report absent parts.
88
+ preflight check in this section.
71
89
 
72
- The findings must cover what the project is for, the agent, frontend, CopilotKit setup,
73
- authentication, credential names, and validation path. Do not ask the developer for facts
74
- that the repository answers.
90
+ Prepare two research assignments. Give each research subagent one assignment. Tell it to run
91
+ `npx --yes copilotkit@4.9.17 onboard read subagent/inspect-repository` first and follow the
92
+ prompt it returns. If that read fails because the subagent cannot use the shell, stop that
93
+ subagent. Run the same command yourself, then spawn a fresh subagent with the returned prompt
94
+ and the same handoff. Require only its assigned packet.
75
95
 
76
- Do not infer a working OSS path from packages, imports, project files, or keys. If an
77
- agent, frontend, and CopilotKit integration are present, prove the live starting state
78
- before any project file changes. Run
79
- `npx --yes copilotkit@4.9.2 onboard read proof/oss-baseline`.
96
+ Start both research subagents in parallel:
80
97
 
81
- For every other inspected state, run
82
- `npx --yes copilotkit@4.9.2 onboard read credentials/plan`.
98
+ 1. Spawn one research subagent. Assign it the project evidence packet.
99
+ 2. Spawn a second research subagent. Assign it the environment evidence packet.
100
+ 3. Start both research subagents. Then continue.
83
101
 
84
- If authentication or inspection stops onboarding, run
85
- `npx --yes copilotkit@4.9.2 onboard read unsupported/no-validated-path`.
102
+ Continue to the surface-control preflight.
103
+
104
+ Prove whether your coding-agent environment has browser or device control. Do not assume it
105
+ either way, and do not report what you expect to be true: a run that guesses here records a
106
+ capability the rest of the graph then trusts. Use a browser or device tool already
107
+ configured for the coding agent you are running as, the same way a later step uses the
108
+ CopilotKit documentation server. With a browser tool, open one inert page such as
109
+ `about:blank` and read its title. With a device tool and no browser, list the booted devices
110
+ in one command: `adb devices -l`. Record the outcome of that attempt: `available` when the
111
+ tool answered, `unavailable` when there was none to call or the page did not open. Use
112
+ the control that matches the selected surface later.
113
+
114
+ Where the browser probe answered, register nothing. The harness came equipped and the run
115
+ owes it no setup.
116
+
117
+ Where no browser tool answered, register one for the coding agent you are running as, then
118
+ run the same probe again and record what the second attempt did. Register this server:
119
+
120
+ ```text
121
+ npx --yes @playwright/mcp@latest --browser chrome --isolated --output-dir <project>/.copilotkit/proof/browser
122
+ ```
123
+
124
+ Replace `<project>` with the absolute path of the target project directory. The server is
125
+ registered against the coding agent rather than against a directory, so a relative path here
126
+ resolves wherever that server happens to start.
127
+
128
+ `--browser chrome` drives the Google Chrome the developer already has, so this downloads no
129
+ browser. `--isolated` keeps the profile in memory, so it never touches their own Chrome
130
+ profile. `--output-dir` is what keeps the snapshots and screenshots out of the developer's
131
+ repository root: without it this server writes them to `.playwright-mcp/` beside their code,
132
+ which a project that never asked for a browser has no reason to carry, and which the graph's
133
+ own evidence rule already has a place for. Register it the way your own harness registers a
134
+ server, which is the mechanism a later step uses for the CopilotKit documentation server.
135
+
136
+ Tell the developer in one line what you registered, that it drives their installed Chrome,
137
+ and that it lives in this coding agent's configuration rather than in their repository. Do
138
+ not ask them to approve it, and do not ask a second question about it.
139
+
140
+ Do not add a browser or device driver to the project. A driver added there is a
141
+ devDependency and a browser download in the diff of a repository that never asked for one,
142
+ which is a different thing from a server registered against the coding agent.
86
143
 
87
- ## Research subagent brief
144
+ Where the second probe still does not answer -- no Chrome to drive, no network, or a
145
+ harness that cannot register a server -- record `unavailable` and carry it. Do not keep
146
+ trying, and do not ask the developer about this tool limit.
88
147
 
89
- Everything below the rule is the subagent's prompt. Give it verbatim.
148
+ Registering a server does not boot a device. Where the device probe found none, that is the
149
+ whole finding, and a browser is not a substitute for a device.
90
150
 
91
- ---
151
+ Wait for both research subagents to finish.
92
152
 
93
- # Inspect the repository
153
+ Continue only if both research results start with `Status: passed`. For `Status: failed`,
154
+ retry only that packet with its failed items, up to three attempts. For `Status: blocked`,
155
+ or a third failed result, use the stop route at the end of this prompt.
94
156
 
95
- Inspect the repository without changing it. Find evidence for:
157
+ Merge both evidence packets by item. On a conflict, spawn one fresh read-only verifier with
158
+ the item, both cited findings, and the research limits. Require its result to start with
159
+ `Status: passed`, `Status: failed`, or `Status: blocked`. Use only a passed cited result. Do
160
+ not inspect the project to settle the conflict yourself. Use the stop route for a non-pass
161
+ verifier result.
96
162
 
97
- - what the project is for, in the project's own words
98
- - any existing agent framework
99
- - any existing frontend
100
- - current CopilotKit packages and configuration
101
- - authentication boundaries
102
- - names of required credential variables, without reading their values
103
- - package manager and lockfile
104
- - required toolchains and their installed versions
105
- - declared ports and whether each port is available
106
- - CopilotKit package versions and package compatibility risks
163
+ Match environment evidence to the target app directory from the project packet. Require one
164
+ target app directory and one matching environment row. If either packet gives no match or
165
+ more than one match, send each research worker a focused directory check. Continue only when
166
+ both workers return the same one target app directory. Both results must start with
167
+ `Status: passed`. Otherwise, use the stop route.
107
168
 
108
- For the CopilotKit versions, report the exact installed version of every `@copilotkit/*`
109
- dependency, read from the lockfile rather than a manifest range, and state whether any of
110
- them is below 1.64.0. The conversion decides its upgrade from exactly that, and a caret
111
- range does not answer it.
169
+ ## Capture the protected-path baseline
112
170
 
113
- A project states what it is for in its `README.md`, in its package description, or in
114
- the prompt of an agent it already has. Quote that statement rather than rewriting it. An
115
- empty project carries it in the README alone, and that makes the README the whole of the
116
- evidence. State the purpose as unproved when the project never says.
171
+ Before you route on, run this from the target app directory:
117
172
 
118
- Gather what you need in as few commands as possible. Combine independent reads into one
119
- command rather than running them one at a time. Split a command only when its result decides
120
- what you run next. Keep this preflight read-only. Do not install packages, stop processes,
121
- or change a port. Check only the toolchains and ports that repository files require.
173
+ ```text
174
+ npx --yes copilotkit@4.9.17 onboard protect
175
+ ```
122
176
 
123
- Return the file paths and a short finding for each item. State each absent or unproved item.
124
- Do not read, print, or return secret values. Do not read a file outside the project
125
- directory. Do not run or return another onboarding command. Stop after returning the
126
- findings to the main coding agent.
177
+ It reads the working tree itself, records every changed or untracked path with a digest,
178
+ and prints the list. Require its result to start with `Status: passed`.
179
+
180
+ Use the printed list as the protected path list for the rest of the run. Do not assemble
181
+ that list yourself, and do not ask a subagent to hold it: every later audit reads the
182
+ captured baseline back from the CLI, so no step depends on a subagent that has since
183
+ finished.
184
+
185
+ Paths printed as `deferred` are the ones onboarding itself writes, `.env` and
186
+ `.copilotkit/project.json`. Every audit reports them and none fails on them until the step
187
+ that writes them re-captures them, so a run whose only untracked files are the two this
188
+ graph exists to create is never stopped by them.
189
+
190
+ If the result starts with `Status: blocked`, report the printed reason and use the stop
191
+ route at the end of this prompt.
192
+
193
+ ## What the merged findings must contain
194
+
195
+ If a repository file exists, each finding must cite it. For an empty project, the subagents
196
+ must cite the directory check and report absent parts.
197
+
198
+ The findings must cover what the project is for, the agent, frontend, CopilotKit setup,
199
+ authentication, credential names, and validation path. Do not ask the developer for facts
200
+ that the repository answers.
201
+
202
+ ## Route on the merged findings
203
+
204
+ Read the route off the merged findings. Three of them decide it, and you already hold all
205
+ three:
206
+
207
+ 1. an agent is present,
208
+ 2. a frontend is present,
209
+ 3. a CopilotKit integration is present.
210
+
211
+ Do not infer a working OSS path from packages, imports, project files, or keys, and do not
212
+ settle these three from your own reading of the project. Each one comes from the merged
213
+ packets or it is not proved.
214
+
215
+ If all three are proved, prove the live starting state before any project file changes. Run
216
+ `npx --yes copilotkit@4.9.17 onboard read proof/oss-baseline`.
217
+
218
+ Route there before you ask the developer anything else. The questions after this prompt
219
+ select a framework and a frontend that the findings already name, so a developer who
220
+ answers them has answered for work the next node exists to check. Their existing
221
+ application is what that node protects. Whether it works is what the proof decides, not
222
+ these three findings.
223
+
224
+ For every other combination of the three, take one more step first. If neither the
225
+ developer nor the repository findings prove what the project is for, ask one guided
226
+ question about the user outcome. This asks what the developer wants to build before you
227
+ select a framework. Give two or three short examples and offer a minimal starter. Record
228
+ the answer and give it to each later subagent. Then run
229
+ `npx --yes copilotkit@4.9.17 onboard read credentials/plan`.
230
+
231
+ Do not ask that question on the route above. A project carrying all three states its
232
+ purpose in the application it already serves.
233
+
234
+ If authentication or inspection stops onboarding, run
235
+ `npx --yes copilotkit@4.9.17 onboard read unsupported/no-validated-path`.
@@ -0,0 +1,103 @@
1
+ # Convert the working application to Intelligence
2
+
3
+ This project already works. The baseline proved the agent answers, the frontend reaches
4
+ it, and CopilotKit carries the round trip. Nothing here rebuilds any of that.
5
+
6
+ What changes is which runtime object this project constructs, and whether its threads
7
+ persist. That is the whole conversion, and it is the journey where the least work is
8
+ genuinely required.
9
+
10
+ ## Read what the baseline already proved
11
+
12
+ Take each of these from the baseline evidence rather than from the developer:
13
+
14
+ - the agent framework and the frontend,
15
+ - the expected agent id,
16
+ - the exact request the baseline drove through the frontend, in its own words,
17
+ - the user-visible result that request produced,
18
+ - the persistence the baseline found, or `unproved`.
19
+
20
+ Do not ask which framework or frontend to use. Both exist and are proved, and a question
21
+ whose answer is already recorded costs the developer a turn and invites an answer that
22
+ contradicts the evidence. Record what you read, and carry the request's exact words
23
+ forward. The proof compares the same request before and after.
24
+
25
+ Preserve the model configuration the baseline found. The conversion changes no model,
26
+ vendor, or model credential. Where the project already has one, the next prompt has
27
+ nothing to place.
28
+
29
+ ## Do not widen the conversion
30
+
31
+ Do not add generative UI. The conversion adds no generative-UI surface. If this application
32
+ answered in prose, the converted one answers in prose. A component the developer did not ask
33
+ for is new work for them to review, new failure surface in the proof, and it is not what
34
+ converting to the platform means. Where the developer asks for one, it is their next piece
35
+ of work rather than part of this conversion.
36
+
37
+ Do not change the agent framework. Do not change the frontend framework. Do not add an
38
+ agent. Do not rebuild a path that already works.
39
+
40
+ The threads drawer is the one thing this conversion adds, and it is the point of the
41
+ conversion rather than a widening of it. Plan it from the drawer page selected below, and
42
+ add it where this frontend does not already render one.
43
+
44
+ ## Select the documentation
45
+
46
+ Select this page for every later step:
47
+
48
+ - https://docs.copilotkit.ai/threads.md
49
+
50
+ Then select the drawer page for the frontend the baseline found:
51
+
52
+ 1. React SPA or Next.js: https://docs.copilotkit.ai/prebuilt-components/copilot-threads-drawer.md
53
+ 2. Angular: https://docs.copilotkit.ai/angular/guides/threads-memory-attachments-headless.md
54
+ 3. Vue 3: https://docs.copilotkit.ai/vue/guides/threads-and-drawer.md
55
+ 4. React Native: select no drawer page, and select the managed Intelligence dashboard as
56
+ the proof surface instead. No page documents a threads drawer for React Native, and
57
+ `@copilotkit/react-native` ships no thread components. The closing prompt gives a
58
+ mobile developer a different debugging surface for the same reason.
59
+
60
+ The next prompt adds the runtime pages and fetches everything in one pass, so do not fetch
61
+ these on their own.
62
+
63
+ ## Documentation policy
64
+
65
+ This documentation policy applies to every page this route selects. Deduplicate the
66
+ selected URL list and fetch each URL once. Fetch all selected URLs in one step. Do not use
67
+ remembered CopilotKit instructions. A fetch tool that refuses a URL, or fails to reach it,
68
+ reports a limit of the tool and not a fact about the page. Retrieve the same URL a second
69
+ way before you judge it. Run `curl -fsSL <url>`, or read the same page without the `.md`
70
+ suffix. Treat a page as unavailable only after a second method also fails. Give this policy
71
+ to every documentation subagent. A page that is still unavailable after the second method
72
+ does not support the selection.
73
+
74
+ ## The criterion this conversion is judged against
75
+
76
+ Freeze this before any project work, and give it to the planning, implementation and proof
77
+ steps unchanged. This conversion succeeded when all five are true:
78
+
79
+ 1. The same request the OSS baseline made still produces the same kind of user-visible
80
+ result, on the same frontend.
81
+ 2. The runtime is constructed with an `intelligence` option rather than a `runner` option.
82
+ 3. `verify --json` exits zero with `ok` true and all seven checks passing, including
83
+ `intelligence_consumed` and `intelligence_thread_routes`.
84
+ 4. `/info` now reports `licenseStatus`, which the runtime emits exactly when an
85
+ Intelligence client was constructed and passed.
86
+ 5. A thread for that request is persisted and visible to the developer.
87
+
88
+ The drawer is what makes the fifth item something the developer can see. Before the
89
+ conversion it renders its locked state, because it reads the license context and this
90
+ project has none. After it, it lists the thread the proven request created. That before and
91
+ after is the conversion's whole user-visible result, and it is why a conversion that only
92
+ passes the command-line checks is worth less to the developer than one that does not.
93
+
94
+ Where this journey's frontend framework ships no threads drawer -- React Native --, the
95
+ fifth item is proved in the managed Intelligence dashboard instead, and the run says which
96
+ of the two it proved.
97
+
98
+ Record this criterion as `conversion-v1` for the run report.
99
+
100
+ Then run `npx --yes copilotkit@4.9.17 onboard read credentials/finalize-plan`.
101
+
102
+ If a selected page does not load after the second method, run
103
+ `npx --yes copilotkit@4.9.17 onboard read unsupported/no-validated-path`.