copilotkit 4.9.17 → 4.9.31
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 +152 -51
- package/cli-build-info.json +8 -8
- package/index.js +4590 -3234
- package/onboarding/index.json +1 -1
- package/onboarding/prompts/authenticate/start.md +27 -8
- package/onboarding/prompts/conversion/plan.md +24 -13
- package/onboarding/prompts/credentials/finalize-plan.md +119 -45
- package/onboarding/prompts/credentials/plan.md +20 -20
- package/onboarding/prompts/fallback/best-effort.md +19 -10
- 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 +3 -3
- package/onboarding/prompts/framework/strands-python.md +2 -2
- package/onboarding/prompts/framework/strands-typescript.md +2 -2
- package/onboarding/prompts/frontend/angular.md +32 -4
- package/onboarding/prompts/frontend/nextjs.md +3 -3
- package/onboarding/prompts/frontend/plan.md +6 -6
- 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 +32 -10
- package/onboarding/prompts/proof/complete.md +33 -12
- package/onboarding/prompts/proof/oss-baseline.md +13 -6
- package/onboarding/prompts/proof/round-trip.md +20 -12
- package/onboarding/prompts/starter/clone.md +17 -8
- package/onboarding/prompts/subagent/create-plan.md +31 -3
- package/onboarding/prompts/subagent/implement-and-validate.md +30 -1
- package/onboarding/prompts/subagent/inspect-repository.md +1 -1
- package/onboarding/prompts/subagent/prove-oss-baseline.md +16 -7
- package/onboarding/prompts/subagent/prove-round-trip.md +31 -10
- package/onboarding/prompts/unsupported/no-validated-path.md +6 -2
- package/package.json +1 -1
- package/release/release-tool.js +15 -1
package/onboarding/index.json
CHANGED
|
@@ -16,7 +16,7 @@ Every later command must run from the directory this run started in. A command r
|
|
|
16
16
|
somewhere else, such as a sibling of that directory, is refused rather than answered,
|
|
17
17
|
because the run it belongs to cannot be found from there. That refusal is a step to take,
|
|
18
18
|
not a stop to report: run
|
|
19
|
-
`npx --yes copilotkit@4.9.
|
|
19
|
+
`npx --yes copilotkit@4.9.31 onboard start --run <onboarding_run_id>` in the directory
|
|
20
20
|
you are now in, which binds it to the same run, then run the refused command again. Do not
|
|
21
21
|
start a run without that id. A run started without it is a second run, and the work already
|
|
22
22
|
done stops counting toward the first.
|
|
@@ -50,7 +50,7 @@ without another developer question. The CLI telemetry gate decides whether the r
|
|
|
50
50
|
sent.
|
|
51
51
|
|
|
52
52
|
```text
|
|
53
|
-
npx --yes copilotkit@4.9.
|
|
53
|
+
npx --yes copilotkit@4.9.31 onboard feedback
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
Write at most four lines to the command's standard input: the step you stopped at and what
|
|
@@ -67,7 +67,7 @@ Until now the route out of an unsupported path was the only place that asked for
|
|
|
67
67
|
so a stop anywhere else left no trace at all. A stop nobody hears about is a stop this
|
|
68
68
|
graph cannot fix.
|
|
69
69
|
|
|
70
|
-
Run `npx --yes copilotkit@4.9.
|
|
70
|
+
Run `npx --yes copilotkit@4.9.31 login --json` before any project work. This command
|
|
71
71
|
checks the current session. It starts sign-in only as needed. Treat this as a long-lived
|
|
72
72
|
streaming process. Do not wait for the command to exit before you read its standard output.
|
|
73
73
|
|
|
@@ -84,11 +84,30 @@ Read each JSON Lines record as the running command writes it:
|
|
|
84
84
|
Do not use `whoami` for this check. It has no JSON output and some failures exit with code
|
|
85
85
|
zero. Do not put account tokens or credentials in the conversation.
|
|
86
86
|
|
|
87
|
+
## How to wait for a subagent
|
|
88
|
+
|
|
89
|
+
This rule covers every subagent this run spawns, here and in every later prompt.
|
|
90
|
+
|
|
91
|
+
Spawning a subagent returns almost at once. That return is the dispatch succeeding, not the
|
|
92
|
+
work finishing: the subagent runs in the background, and its result reaches you as a
|
|
93
|
+
notification. Where your own harness hands you the report from the dispatch itself instead,
|
|
94
|
+
you already hold the result. Either way there is nothing to poll.
|
|
95
|
+
|
|
96
|
+
After you dispatch, do the work that does not depend on the result -- dispatch the other
|
|
97
|
+
subagent, run the preflight below -- and then stop and wait. Wherever a prompt in this graph
|
|
98
|
+
says to wait for a subagent to finish, that is what it means.
|
|
99
|
+
|
|
100
|
+
Do not sleep to pass the time. Not `sleep`, not `/bin/sleep`, not a timer under another
|
|
101
|
+
name, and not a loop that re-checks whether a result has arrived. Sleeping tells you nothing
|
|
102
|
+
that waiting for the result does not, and it spends wall clock, which is one of the things
|
|
103
|
+
this journey is measured on. One recorded run spent most of two hours asleep between
|
|
104
|
+
dispatches that had all returned in seconds.
|
|
105
|
+
|
|
87
106
|
Before you ask the developer any setup question, finish every read-only investigation and
|
|
88
107
|
preflight check in this section.
|
|
89
108
|
|
|
90
109
|
Prepare two research assignments. Give each research subagent one assignment. Tell it to run
|
|
91
|
-
`npx --yes copilotkit@4.9.
|
|
110
|
+
`npx --yes copilotkit@4.9.31 onboard read subagent/inspect-repository` first and follow the
|
|
92
111
|
prompt it returns. If that read fails because the subagent cannot use the shell, stop that
|
|
93
112
|
subagent. Run the same command yourself, then spawn a fresh subagent with the returned prompt
|
|
94
113
|
and the same handoff. Require only its assigned packet.
|
|
@@ -171,7 +190,7 @@ both workers return the same one target app directory. Both results must start w
|
|
|
171
190
|
Before you route on, run this from the target app directory:
|
|
172
191
|
|
|
173
192
|
```text
|
|
174
|
-
npx --yes copilotkit@4.9.
|
|
193
|
+
npx --yes copilotkit@4.9.31 onboard protect
|
|
175
194
|
```
|
|
176
195
|
|
|
177
196
|
It reads the working tree itself, records every changed or untracked path with a digest,
|
|
@@ -213,7 +232,7 @@ settle these three from your own reading of the project. Each one comes from the
|
|
|
213
232
|
packets or it is not proved.
|
|
214
233
|
|
|
215
234
|
If all three are proved, prove the live starting state before any project file changes. Run
|
|
216
|
-
`npx --yes copilotkit@4.9.
|
|
235
|
+
`npx --yes copilotkit@4.9.31 onboard read proof/oss-baseline`.
|
|
217
236
|
|
|
218
237
|
Route there before you ask the developer anything else. The questions after this prompt
|
|
219
238
|
select a framework and a frontend that the findings already name, so a developer who
|
|
@@ -226,10 +245,10 @@ developer nor the repository findings prove what the project is for, ask one gui
|
|
|
226
245
|
question about the user outcome. This asks what the developer wants to build before you
|
|
227
246
|
select a framework. Give two or three short examples and offer a minimal starter. Record
|
|
228
247
|
the answer and give it to each later subagent. Then run
|
|
229
|
-
`npx --yes copilotkit@4.9.
|
|
248
|
+
`npx --yes copilotkit@4.9.31 onboard read credentials/plan`.
|
|
230
249
|
|
|
231
250
|
Do not ask that question on the route above. A project carrying all three states its
|
|
232
251
|
purpose in the application it already serves.
|
|
233
252
|
|
|
234
253
|
If authentication or inspection stops onboarding, run
|
|
235
|
-
`npx --yes copilotkit@4.9.
|
|
254
|
+
`npx --yes copilotkit@4.9.31 onboard read unsupported/no-validated-path`.
|
|
@@ -52,9 +52,9 @@ Then select the drawer page for the frontend the baseline found:
|
|
|
52
52
|
1. React SPA or Next.js: https://docs.copilotkit.ai/prebuilt-components/copilot-threads-drawer.md
|
|
53
53
|
2. Angular: https://docs.copilotkit.ai/angular/guides/threads-memory-attachments-headless.md
|
|
54
54
|
3. Vue 3: https://docs.copilotkit.ai/vue/guides/threads-and-drawer.md
|
|
55
|
-
4. React Native: select no drawer page
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
4. React Native: select no drawer page. No page documents a threads drawer for React
|
|
56
|
+
Native, and `@copilotkit/react-native` ships no thread components, so the fifth
|
|
57
|
+
criterion below is proved on the command line instead. The closing prompt gives a
|
|
58
58
|
mobile developer a different debugging surface for the same reason.
|
|
59
59
|
|
|
60
60
|
The next prompt adds the runtime pages and fetches everything in one pass, so do not fetch
|
|
@@ -79,25 +79,36 @@ steps unchanged. This conversion succeeded when all five are true:
|
|
|
79
79
|
1. The same request the OSS baseline made still produces the same kind of user-visible
|
|
80
80
|
result, on the same frontend.
|
|
81
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
|
|
83
|
-
`intelligence_consumed` and
|
|
82
|
+
3. `verify --json` exits zero with `ok` true and every check passing, including
|
|
83
|
+
`intelligence_consumed`, `intelligence_thread_routes`, and
|
|
84
|
+
`api_key_loadable_by_app`.
|
|
84
85
|
4. `/info` now reports `licenseStatus`, which the runtime emits exactly when an
|
|
85
86
|
Intelligence client was constructed and passed.
|
|
86
87
|
5. A thread for that request is persisted and visible to the developer.
|
|
87
88
|
|
|
88
89
|
The drawer is what makes the fifth item something the developer can see. Before the
|
|
89
|
-
conversion it
|
|
90
|
-
|
|
91
|
-
after is the conversion's whole user-visible result, and it is why a conversion
|
|
92
|
-
passes the command-line checks is worth less to the developer than one that does
|
|
90
|
+
conversion it lists nothing, because it reads the entitlement the runtime reports and an
|
|
91
|
+
OSS runtime reports none. After it, it lists the thread the proven request created. That
|
|
92
|
+
before and after is the conversion's whole user-visible result, and it is why a conversion
|
|
93
|
+
that only passes the command-line checks is worth less to the developer than one that does
|
|
94
|
+
not.
|
|
95
|
+
|
|
96
|
+
A managed Intelligence project needs no license token. The entitlement the drawer reads
|
|
97
|
+
comes from the project API key this run already configured, resolved by the runtime
|
|
98
|
+
against the managed platform. Minting a token with `copilotkit license create` is not part
|
|
99
|
+
of this journey, and a drawer that lists nothing is not a reason to mint one. License
|
|
100
|
+
tokens stay a self-hosted concern.
|
|
93
101
|
|
|
94
102
|
Where this journey's frontend framework ships no threads drawer -- React Native --, the
|
|
95
|
-
fifth item is proved
|
|
96
|
-
|
|
103
|
+
fifth item is proved by `npx --yes copilotkit@4.9.31 verify --round-trip`, which sends a
|
|
104
|
+
real request and reads the answer back off the thread it landed on. The run says which of
|
|
105
|
+
the two it proved. Do not send a run to the managed Intelligence dashboard to prove this.
|
|
106
|
+
An authenticated browser session at a hosted dashboard is the one thing an agent-driven run
|
|
107
|
+
cannot produce, so a criterion that asks for one can never be met on this route.
|
|
97
108
|
|
|
98
109
|
Record this criterion as `conversion-v1` for the run report.
|
|
99
110
|
|
|
100
|
-
Then run `npx --yes copilotkit@4.9.
|
|
111
|
+
Then run `npx --yes copilotkit@4.9.31 onboard read credentials/finalize-plan`.
|
|
101
112
|
|
|
102
113
|
If a selected page does not load after the second method, run
|
|
103
|
-
`npx --yes copilotkit@4.9.
|
|
114
|
+
`npx --yes copilotkit@4.9.31 onboard read unsupported/no-validated-path`.
|
|
@@ -14,15 +14,16 @@ project to use. Keep final plan approval as its own later question.
|
|
|
14
14
|
|
|
15
15
|
## If you stop in this phase
|
|
16
16
|
|
|
17
|
-
Several rules below stop onboarding: a refused classification value,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
Several rules below stop onboarding: a refused classification value, a project selection
|
|
18
|
+
that reports a false field, a failed credential check, a model credential nobody can
|
|
19
|
+
place. Each one ends a run that reached project selection and never got a plan, and more
|
|
20
|
+
runs stop here than anywhere else. Name the exact file, value, or check that stopped you:
|
|
21
|
+
a report that names only the step cannot be acted on. Send one short report before you
|
|
22
|
+
stop. Run the feedback command without another developer question. The CLI telemetry gate
|
|
23
|
+
decides whether the report is sent.
|
|
23
24
|
|
|
24
25
|
```text
|
|
25
|
-
npx --yes copilotkit@4.9.
|
|
26
|
+
npx --yes copilotkit@4.9.31 onboard feedback
|
|
26
27
|
```
|
|
27
28
|
|
|
28
29
|
Write at most four lines to standard input: the step you stopped at and what stopped it.
|
|
@@ -45,7 +46,7 @@ starts. Choose one starting state: empty, agent-only, frontend-only, both, both-
|
|
|
45
46
|
Run this command with the exact selected slugs:
|
|
46
47
|
|
|
47
48
|
```text
|
|
48
|
-
npx --yes copilotkit@4.9.
|
|
49
|
+
npx --yes copilotkit@4.9.31 onboard classify --starting-state <starting-state> --agent-framework <agent-framework> --frontend <frontend>
|
|
49
50
|
```
|
|
50
51
|
|
|
51
52
|
Do not continue if a value is refused. Fix the value from the choices that the earlier
|
|
@@ -57,6 +58,36 @@ Use the target app or runtime directory from the repository findings. If a neste
|
|
|
57
58
|
the runtime `.env` file, do not default to the repository root.
|
|
58
59
|
Set the environment path to `<target>/.env`.
|
|
59
60
|
|
|
61
|
+
Every credential this run writes goes to the environment path. That covers the project
|
|
62
|
+
key, the model credential, and a license token. Do not write a credential to `.env.local`,
|
|
63
|
+
or to any second env file beside it. A project ignore file usually covers `.env` and not
|
|
64
|
+
`.env.local`, so a credential written there is untracked, visible, and added by the first
|
|
65
|
+
`git add -A`. And a second env file beside `.env` outranks it when a key is read back, so
|
|
66
|
+
the value the run depends on is the one it did not write.
|
|
67
|
+
|
|
68
|
+
### Prove the environment path is ignored
|
|
69
|
+
|
|
70
|
+
Do this before the first credential is written. Ask git whether it ignores the environment
|
|
71
|
+
path, from the repository the path lives in:
|
|
72
|
+
|
|
73
|
+
```text
|
|
74
|
+
git check-ignore -q <environment path>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Ask git rather than reading `.gitignore`. The answer also comes from a parent ignore file,
|
|
78
|
+
a global excludes file, or a pattern the developer already has, and reading one file gets
|
|
79
|
+
each of those wrong.
|
|
80
|
+
|
|
81
|
+
Exit zero means git ignores the path and nothing more is needed. Exit one means git tracks
|
|
82
|
+
the path, and the credential this run is about to write lands in the first commit. Add the
|
|
83
|
+
missing pattern to the ignore file the developer already keeps, and list that edit in the
|
|
84
|
+
plan with every other file change. Any other exit means there is no work tree here to
|
|
85
|
+
protect. Say so once and carry on.
|
|
86
|
+
|
|
87
|
+
If the path cannot be made ignored, stop onboarding and report it. Do not write the
|
|
88
|
+
credential and leave the problem in the closing report. A developer who commits before
|
|
89
|
+
reading the last screen has already published the token.
|
|
90
|
+
|
|
60
91
|
If valid project fields and a non-empty `CPK_INTELLIGENCE_API_KEY` already exist, use this
|
|
61
92
|
rule: Reuse that project without another question. Do not mint another key. The round-trip
|
|
62
93
|
proof later runs the authenticated Intelligence checks. Record the reused project
|
|
@@ -64,57 +95,100 @@ credentials as unverified in the plan until those checks pass.
|
|
|
64
95
|
If you reuse a project, set the project-record path to the exact evidence path from the
|
|
65
96
|
project research subagent.
|
|
66
97
|
|
|
67
|
-
If the developer needs a project
|
|
68
|
-
|
|
98
|
+
If the developer needs a project, do the work yourself from the target directory.
|
|
99
|
+
Do not send the developer to another terminal.
|
|
100
|
+
|
|
101
|
+
Project selection writes the environment path. It updates the nearest project record from
|
|
102
|
+
the target through the repository root. If no project record exists there, it writes one at
|
|
103
|
+
the repository root. If no repository exists, use the target. If the repository root is the
|
|
104
|
+
home directory, use the target.
|
|
69
105
|
|
|
70
|
-
|
|
106
|
+
Before project selection, derive the expected project-record path from the repository
|
|
107
|
+
findings. Compare that path and the environment path with the paths the first capture
|
|
108
|
+
printed as `protected`. Use the path-segment overlap rule. Ignore every path it printed as
|
|
109
|
+
`deferred`. Those are the files project selection exists to write, so the environment path
|
|
110
|
+
always overlaps one of them, and a run that stops on that overlap never reaches the step
|
|
111
|
+
that provisions its key.
|
|
112
|
+
|
|
113
|
+
If an output path overlaps a `protected` path, do not stop. Name the path, say what
|
|
114
|
+
project selection writes there, list that file in the plan with every other change, and
|
|
115
|
+
carry on. Nothing before project selection ends the run. It is the step that provisions
|
|
116
|
+
this project's key, so a run that stops earlier leaves the developer with no key and no
|
|
117
|
+
way to finish.
|
|
118
|
+
|
|
119
|
+
### Create a project for this directory
|
|
120
|
+
|
|
121
|
+
No project is bound to this directory, so creating a project for this directory is the
|
|
122
|
+
default. Take the name from the directory that holds the expected project-record path. If
|
|
123
|
+
that directory name is generic -- `project`, `app`, `apps`, `src`, `web`, `frontend`,
|
|
124
|
+
`backend`, `server`, `packages`, `repo` -- use the nearest enclosing directory whose name
|
|
125
|
+
is not. A generic name tells the developer nothing later, and every run that derives it
|
|
126
|
+
collides on it.
|
|
127
|
+
|
|
128
|
+
Ask one question: confirm that name, give another, or ask to use a project they already
|
|
129
|
+
have. Name that third answer, so a developer who has one is not asked to guess
|
|
130
|
+
that it is available. Do not list the organization's projects as part of the question: a
|
|
131
|
+
menu of projects is what bound one onboarding to another one's project, and a developer who
|
|
132
|
+
wants theirs will say so. If they ask for an existing project, take the branch below.
|
|
133
|
+
|
|
134
|
+
Do not combine this question with a frontend, framework, model, credential, or
|
|
135
|
+
plan-approval question. If no developer answers, create with the derived name. Never select
|
|
136
|
+
a project from a listing without an answer that names it. A project another run created
|
|
137
|
+
minutes ago reads exactly like this directory's own, and every check after the selection
|
|
138
|
+
passes against the wrong one.
|
|
139
|
+
|
|
140
|
+
Create it, from the target directory:
|
|
71
141
|
|
|
72
142
|
```text
|
|
73
|
-
npx --yes copilotkit@4.9.
|
|
143
|
+
npx --yes copilotkit@4.9.31 project select --create <name> --json
|
|
74
144
|
```
|
|
75
145
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
146
|
+
If the command fails as a duplicate, the organization already holds that display name and
|
|
147
|
+
the refusal names the colliding slug. Do not select the colliding project. Ask whether that
|
|
148
|
+
project is this app's. If no developer answers, run the command again with the next free
|
|
149
|
+
`-2`, `-3` suffix on the name.
|
|
80
150
|
|
|
81
|
-
|
|
151
|
+
### Select an existing project instead
|
|
152
|
+
|
|
153
|
+
Take this branch only when the developer asks for an existing project, or asks to see the
|
|
154
|
+
projects they have. Read the choices:
|
|
82
155
|
|
|
83
156
|
```text
|
|
84
|
-
npx --yes copilotkit@4.9.
|
|
157
|
+
npx --yes copilotkit@4.9.31 project list --json
|
|
85
158
|
```
|
|
86
159
|
|
|
87
|
-
|
|
88
|
-
which project to use, or ask for a new project name. Do not combine this question with a
|
|
89
|
-
frontend, framework, model, credential, or plan-approval question.
|
|
160
|
+
Narrow them:
|
|
90
161
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
home directory, use the target.
|
|
162
|
+
```text
|
|
163
|
+
npx --yes copilotkit@4.9.31 project list --search <query> --json
|
|
164
|
+
```
|
|
95
165
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
166
|
+
With `--json` the payload is the only thing on standard output, so it is safe to parse. Do
|
|
167
|
+
not run either list command unless the developer asks. Show what they asked for and nothing
|
|
168
|
+
more. Do not order the projects by creation time: the newest project in the organization is
|
|
169
|
+
the one another run created while this one was working, and it is the least likely to be
|
|
170
|
+
this directory's.
|
|
100
171
|
|
|
101
|
-
Then record
|
|
172
|
+
Then record the project they name, from the target directory:
|
|
102
173
|
|
|
103
174
|
```text
|
|
104
|
-
npx --yes copilotkit@4.9.
|
|
175
|
+
npx --yes copilotkit@4.9.31 project select --project <slug-or-id> --json
|
|
105
176
|
```
|
|
106
177
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
a selection that points at nothing.
|
|
178
|
+
The two flags cannot be combined. A slug that does not exist fails and lists the real ones,
|
|
179
|
+
so a typo cannot record a selection that points at nothing.
|
|
110
180
|
|
|
111
181
|
Read the JSON result. It reports `selected_project_slug`, `config_path`,
|
|
112
182
|
`api_key_provisioned`, `project_file_written`, and `environment_file_written` at the top
|
|
113
183
|
level. The result does not contain a secret. Report `selected_project_slug` as the project
|
|
114
184
|
slug that the server selected or created. Require `api_key_provisioned`,
|
|
115
|
-
`project_file_written`, and `environment_file_written` to be true.
|
|
116
|
-
|
|
117
|
-
|
|
185
|
+
`project_file_written`, and `environment_file_written` to be true.
|
|
186
|
+
|
|
187
|
+
A run that wrote the project record without a key exits 75 and reports `"type": "partial"`
|
|
188
|
+
with a `retry_command`. That is the recoverable half: the record is kept, and the failure
|
|
189
|
+
is usually transient. Run the `retry_command` once. If the retry also reports
|
|
190
|
+
`api_key_provisioned` false, report the error and stop onboarding.
|
|
191
|
+
A scaffold with no key looks finished and is not.
|
|
118
192
|
|
|
119
193
|
After project selection, set the project-record path to the absolute `config_path` from the
|
|
120
194
|
JSON result. If it differs from the expected project-record path, report both paths and stop
|
|
@@ -162,7 +236,7 @@ protected path list. Also add each project file that the developer changed for m
|
|
|
162
236
|
credentials. Record them in the baseline from the target app directory:
|
|
163
237
|
|
|
164
238
|
```text
|
|
165
|
-
npx --yes copilotkit@4.9.
|
|
239
|
+
npx --yes copilotkit@4.9.31 onboard protect --path <path>
|
|
166
240
|
```
|
|
167
241
|
|
|
168
242
|
Pass one `--path` for each. The command captures a digest for each path and never re-reads
|
|
@@ -172,7 +246,7 @@ Then re-capture the files this graph wrote itself. For each path the first captu
|
|
|
172
246
|
as `deferred` that this run has now written, run:
|
|
173
247
|
|
|
174
248
|
```text
|
|
175
|
-
npx --yes copilotkit@4.9.
|
|
249
|
+
npx --yes copilotkit@4.9.31 onboard protect --rebaseline --path <path>
|
|
176
250
|
```
|
|
177
251
|
|
|
178
252
|
From that point they are protected like any other path, so a later step that rewrites
|
|
@@ -196,7 +270,7 @@ proof subagents:
|
|
|
196
270
|
Fetch them together with the pages already selected rather than on their own.
|
|
197
271
|
|
|
198
272
|
Spawn one planning subagent. Tell it to run
|
|
199
|
-
`npx --yes copilotkit@4.9.
|
|
273
|
+
`npx --yes copilotkit@4.9.31 onboard read subagent/create-plan` first and follow the prompt
|
|
200
274
|
it returns. If that read fails because the subagent cannot use the shell, stop that subagent.
|
|
201
275
|
Run the same command yourself, then spawn a fresh subagent with the returned prompt and the
|
|
202
276
|
same handoff. Give it the repository findings, selected framework, frontend, model, credential
|
|
@@ -212,17 +286,17 @@ ask for approval of a non-pass plan.
|
|
|
212
286
|
Make sure that the plan preserves each part that already exists. The plan must name the
|
|
213
287
|
credential variables, the Intelligence runtime wiring, the application the project asks
|
|
214
288
|
for, implementation steps, validation steps, and proof steps. Where the plan upgrades the
|
|
215
|
-
CopilotKit dependencies, it must name the versions it moves
|
|
216
|
-
to. It must not contain secret values.
|
|
289
|
+
CopilotKit dependencies, it must name the versions it moves, every other pin it has to
|
|
290
|
+
move with them, and the revert it falls back to. It must not contain secret values.
|
|
217
291
|
|
|
218
|
-
Show only the selected framework, frontend, model, planned file changes, the CopilotKit dependency upgrade and the versions it moves, validation commands, and proof steps.
|
|
292
|
+
Show only the selected framework, frontend, model, planned file changes, any ignore-file line this run adds, the CopilotKit dependency upgrade and the versions it moves, every other dependency the upgrade moves and the versions it moves them to, validation commands, and proof steps.
|
|
219
293
|
|
|
220
294
|
An upgrade to a working install is the developer's call, so it belongs in the plan they
|
|
221
295
|
approve rather than in the implementation that follows. Do not upgrade a dependency the
|
|
222
296
|
developer did not approve.
|
|
223
297
|
|
|
224
298
|
If the developer approves the plan, run
|
|
225
|
-
`npx --yes copilotkit@4.9.
|
|
299
|
+
`npx --yes copilotkit@4.9.31 onboard read implementation/build-and-validate`.
|
|
226
300
|
|
|
227
301
|
If no exact supported path or documentation URL exists, run
|
|
228
|
-
`npx --yes copilotkit@4.9.
|
|
302
|
+
`npx --yes copilotkit@4.9.31 onboard read unsupported/no-validated-path`.
|
|
@@ -68,26 +68,26 @@ another framework. Do not show the internal route.
|
|
|
68
68
|
|
|
69
69
|
Use exactly one matching internal route:
|
|
70
70
|
|
|
71
|
-
1. AG2: `npx --yes copilotkit@4.9.
|
|
72
|
-
2. Agno: `npx --yes copilotkit@4.9.
|
|
73
|
-
3. Built-in CopilotKit agent: `npx --yes copilotkit@4.9.
|
|
74
|
-
4. Claude Agent SDK Python: `npx --yes copilotkit@4.9.
|
|
75
|
-
5. Claude Agent SDK TypeScript: `npx --yes copilotkit@4.9.
|
|
76
|
-
6. CrewAI Flows: `npx --yes copilotkit@4.9.
|
|
77
|
-
7. Deep Agents: `npx --yes copilotkit@4.9.
|
|
78
|
-
8. LangGraph Python: `npx --yes copilotkit@4.9.
|
|
79
|
-
9. LangGraph FastAPI: `npx --yes copilotkit@4.9.
|
|
80
|
-
10. LangGraph TypeScript: `npx --yes copilotkit@4.9.
|
|
81
|
-
11. LlamaIndex: `npx --yes copilotkit@4.9.
|
|
82
|
-
12. ADK: `npx --yes copilotkit@4.9.
|
|
83
|
-
13. Microsoft Agent Framework Python: `npx --yes copilotkit@4.9.
|
|
84
|
-
14. Microsoft Agent Framework .NET: `npx --yes copilotkit@4.9.
|
|
85
|
-
15. Mastra: `npx --yes copilotkit@4.9.
|
|
86
|
-
16. MS Agent Harness .NET: `npx --yes copilotkit@4.9.
|
|
87
|
-
17. Pydantic AI: `npx --yes copilotkit@4.9.
|
|
88
|
-
18. Strands Agents Python: `npx --yes copilotkit@4.9.
|
|
89
|
-
19. Strands Agents TypeScript: `npx --yes copilotkit@4.9.
|
|
71
|
+
1. AG2: `npx --yes copilotkit@4.9.31 onboard read framework/ag2`
|
|
72
|
+
2. Agno: `npx --yes copilotkit@4.9.31 onboard read framework/agno`
|
|
73
|
+
3. Built-in CopilotKit agent: `npx --yes copilotkit@4.9.31 onboard read framework/built-in`
|
|
74
|
+
4. Claude Agent SDK Python: `npx --yes copilotkit@4.9.31 onboard read framework/claude-sdk-python`
|
|
75
|
+
5. Claude Agent SDK TypeScript: `npx --yes copilotkit@4.9.31 onboard read framework/claude-sdk-typescript`
|
|
76
|
+
6. CrewAI Flows: `npx --yes copilotkit@4.9.31 onboard read framework/crewai-flows`
|
|
77
|
+
7. Deep Agents: `npx --yes copilotkit@4.9.31 onboard read framework/deep-agents`
|
|
78
|
+
8. LangGraph Python: `npx --yes copilotkit@4.9.31 onboard read framework/langgraph-python`
|
|
79
|
+
9. LangGraph FastAPI: `npx --yes copilotkit@4.9.31 onboard read framework/langgraph-fastapi`
|
|
80
|
+
10. LangGraph TypeScript: `npx --yes copilotkit@4.9.31 onboard read framework/langgraph-typescript`
|
|
81
|
+
11. LlamaIndex: `npx --yes copilotkit@4.9.31 onboard read framework/llamaindex`
|
|
82
|
+
12. ADK: `npx --yes copilotkit@4.9.31 onboard read framework/google-adk`
|
|
83
|
+
13. Microsoft Agent Framework Python: `npx --yes copilotkit@4.9.31 onboard read framework/ms-agent-python`
|
|
84
|
+
14. Microsoft Agent Framework .NET: `npx --yes copilotkit@4.9.31 onboard read framework/ms-agent-dotnet`
|
|
85
|
+
15. Mastra: `npx --yes copilotkit@4.9.31 onboard read framework/mastra`
|
|
86
|
+
16. MS Agent Harness .NET: `npx --yes copilotkit@4.9.31 onboard read framework/ms-agent-harness-dotnet`
|
|
87
|
+
17. Pydantic AI: `npx --yes copilotkit@4.9.31 onboard read framework/pydantic-ai`
|
|
88
|
+
18. Strands Agents Python: `npx --yes copilotkit@4.9.31 onboard read framework/strands-python`
|
|
89
|
+
19. Strands Agents TypeScript: `npx --yes copilotkit@4.9.31 onboard read framework/strands-typescript`
|
|
90
90
|
|
|
91
91
|
If the project has an agent in another framework, or no listed framework fits, keep the
|
|
92
92
|
developer's current agent and run
|
|
93
|
-
`npx --yes copilotkit@4.9.
|
|
93
|
+
`npx --yes copilotkit@4.9.31 onboard read unsupported/no-validated-path`.
|
|
@@ -14,7 +14,7 @@ command without another developer question. The CLI telemetry gate decides wheth
|
|
|
14
14
|
report is sent.
|
|
15
15
|
|
|
16
16
|
```text
|
|
17
|
-
npx --yes copilotkit@4.9.
|
|
17
|
+
npx --yes copilotkit@4.9.31 onboard feedback
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
Write at most four lines to standard input: the step you stopped at and what stopped it.
|
|
@@ -40,7 +40,8 @@ from different official pages. Tell it to run every implementation and validatio
|
|
|
40
40
|
plan order, and to run the full validation list.
|
|
41
41
|
|
|
42
42
|
Give it this result format: Start with `Status: passed`, `Status: failed`, or
|
|
43
|
-
`Status: blocked`.
|
|
43
|
+
`Status: blocked`. Then require a Files changed section that names every file it touched.
|
|
44
|
+
The protected-path rules below read that section, so a result without it settles nothing.
|
|
44
45
|
|
|
45
46
|
Wait for the implementation subagent to finish.
|
|
46
47
|
|
|
@@ -55,10 +56,17 @@ stop.
|
|
|
55
56
|
|
|
56
57
|
Use these rules for every protected-path check in this fallback:
|
|
57
58
|
|
|
58
|
-
- Run `npx --yes copilotkit@4.9.
|
|
59
|
+
- Run `npx --yes copilotkit@4.9.31 onboard audit` from the target app directory.
|
|
59
60
|
- If a result starts with `Status: blocked`, stop onboarding and report the printed reason.
|
|
60
61
|
It proved nothing changed, so do not report a preservation failure.
|
|
61
|
-
- If a result reports a changed protected path, stop onboarding.
|
|
62
|
+
- If a result reports a changed protected path this run wrote, stop onboarding.
|
|
63
|
+
- If a result reports a changed path that no Files changed section from this run names,
|
|
64
|
+
the change came from outside the run. Accept it by name with
|
|
65
|
+
`npx --yes copilotkit@4.9.31 onboard protect --accept-external --path <path>`, run the
|
|
66
|
+
audit again, and name it in the closing report.
|
|
67
|
+
- If no Files changed section from this run covers the step that wrote it, stop
|
|
68
|
+
onboarding. The proof subagent here returns no such section, so a finding it raises is
|
|
69
|
+
unsettled rather than outside the run.
|
|
62
70
|
- Never repair, reset, or revert a protected path.
|
|
63
71
|
|
|
64
72
|
Run the protected-path check now. Apply the protected-path rules. Continue only when the
|
|
@@ -107,13 +115,13 @@ application passes proof. Report each tool result separately from the proof resu
|
|
|
107
115
|
Report the documentation gap and each assumption with the proof evidence. Do not claim
|
|
108
116
|
that the selected documentation proved an inferred step.
|
|
109
117
|
|
|
110
|
-
When the proof is complete, run `npx --yes copilotkit@4.9.
|
|
118
|
+
When the proof is complete, run `npx --yes copilotkit@4.9.31 onboard complete`, carrying the
|
|
111
119
|
surface-check result the proof subagent returned. Pass exactly one flag, matching this
|
|
112
120
|
journey's surface:
|
|
113
121
|
|
|
114
122
|
```text
|
|
115
|
-
npx --yes copilotkit@4.9.
|
|
116
|
-
npx --yes copilotkit@4.9.
|
|
123
|
+
npx --yes copilotkit@4.9.31 onboard complete --visual-check <outcome>
|
|
124
|
+
npx --yes copilotkit@4.9.31 onboard complete --device-check <outcome>
|
|
117
125
|
```
|
|
118
126
|
|
|
119
127
|
`--visual-check` is for a web frontend and takes `performed`, `skipped-no-browser-tool`, or
|
|
@@ -122,6 +130,7 @@ or `failed`. Anything but `performed` ends this run as blocked, and the command'
|
|
|
122
130
|
names the evidence that is missing. Report it that way.
|
|
123
131
|
|
|
124
132
|
If the proof passed and something after it still blocked this run, add
|
|
125
|
-
`--blocked-by <cause>` to the same command, with one of `
|
|
126
|
-
|
|
127
|
-
|
|
133
|
+
`--blocked-by <cause>` to the same command, with one of `inspector`, `plan-excluded-capability`,
|
|
134
|
+
or `other`. It ends the run as blocked and names what the blocker leaves unverified. The
|
|
135
|
+
managed Intelligence dashboard is not a cause, because nothing in this graph asks a run to
|
|
136
|
+
open it.
|
|
@@ -31,7 +31,7 @@ Record the selected framework, vendor, model, required credential variable names
|
|
|
31
31
|
URLs, and the A2UI documentation gap.
|
|
32
32
|
|
|
33
33
|
If the pages support the selection, run
|
|
34
|
-
`npx --yes copilotkit@4.9.
|
|
34
|
+
`npx --yes copilotkit@4.9.31 onboard read frontend/plan`.
|
|
35
35
|
|
|
36
36
|
If the documentation does not support the selection, run
|
|
37
|
-
`npx --yes copilotkit@4.9.
|
|
37
|
+
`npx --yes copilotkit@4.9.31 onboard read unsupported/no-validated-path`.
|
|
@@ -34,7 +34,7 @@ Record the selected framework, vendor, model, required credential variable names
|
|
|
34
34
|
URLs, the documented dependencies and adapter, and the context documentation gap.
|
|
35
35
|
|
|
36
36
|
If the pages support the selection, run
|
|
37
|
-
`npx --yes copilotkit@4.9.
|
|
37
|
+
`npx --yes copilotkit@4.9.31 onboard read frontend/plan`.
|
|
38
38
|
|
|
39
39
|
If the documentation does not support the selection, run
|
|
40
|
-
`npx --yes copilotkit@4.9.
|
|
40
|
+
`npx --yes copilotkit@4.9.31 onboard read unsupported/no-validated-path`.
|
|
@@ -27,7 +27,7 @@ Record the selected framework, vendor, model, required credential variable names
|
|
|
27
27
|
these URLs.
|
|
28
28
|
|
|
29
29
|
If the pages support the selection, run
|
|
30
|
-
`npx --yes copilotkit@4.9.
|
|
30
|
+
`npx --yes copilotkit@4.9.31 onboard read frontend/plan`.
|
|
31
31
|
|
|
32
32
|
If the documentation does not support the selection, run
|
|
33
|
-
`npx --yes copilotkit@4.9.
|
|
33
|
+
`npx --yes copilotkit@4.9.31 onboard read unsupported/no-validated-path`.
|
|
@@ -33,7 +33,7 @@ Record the selected framework, vendor, model, required credential variable names
|
|
|
33
33
|
URLs, and the context limit.
|
|
34
34
|
|
|
35
35
|
If the pages support the selection, run
|
|
36
|
-
`npx --yes copilotkit@4.9.
|
|
36
|
+
`npx --yes copilotkit@4.9.31 onboard read frontend/plan`.
|
|
37
37
|
|
|
38
38
|
If the documentation does not support the selection, run
|
|
39
|
-
`npx --yes copilotkit@4.9.
|
|
39
|
+
`npx --yes copilotkit@4.9.31 onboard read unsupported/no-validated-path`.
|
|
@@ -37,7 +37,7 @@ Record the selected framework, vendor, model, required credential variable names
|
|
|
37
37
|
URLs, and the context limit.
|
|
38
38
|
|
|
39
39
|
If the pages support the selection, run
|
|
40
|
-
`npx --yes copilotkit@4.9.
|
|
40
|
+
`npx --yes copilotkit@4.9.31 onboard read frontend/plan`.
|
|
41
41
|
|
|
42
42
|
If the documentation does not support the selection, run
|
|
43
|
-
`npx --yes copilotkit@4.9.
|
|
43
|
+
`npx --yes copilotkit@4.9.31 onboard read unsupported/no-validated-path`.
|
|
@@ -54,7 +54,7 @@ variable names the repository proves or the developer named, these URLs, the ada
|
|
|
54
54
|
shared-state limit.
|
|
55
55
|
|
|
56
56
|
If the pages support the selection, run
|
|
57
|
-
`npx --yes copilotkit@4.9.
|
|
57
|
+
`npx --yes copilotkit@4.9.31 onboard read frontend/plan`.
|
|
58
58
|
|
|
59
59
|
If the documentation does not support the selection, run
|
|
60
|
-
`npx --yes copilotkit@4.9.
|
|
60
|
+
`npx --yes copilotkit@4.9.31 onboard read unsupported/no-validated-path`.
|
|
@@ -29,7 +29,7 @@ Record the selected framework, language, vendor, model, required credential vari
|
|
|
29
29
|
names, these URLs, and each documentation gap.
|
|
30
30
|
|
|
31
31
|
If the pages support the selection, run
|
|
32
|
-
`npx --yes copilotkit@4.9.
|
|
32
|
+
`npx --yes copilotkit@4.9.31 onboard read frontend/plan`.
|
|
33
33
|
|
|
34
34
|
If the documentation does not support the selection, run
|
|
35
|
-
`npx --yes copilotkit@4.9.
|
|
35
|
+
`npx --yes copilotkit@4.9.31 onboard read unsupported/no-validated-path`.
|
|
@@ -28,7 +28,7 @@ Record the selected framework, vendor, model, required credential variable names
|
|
|
28
28
|
these URLs.
|
|
29
29
|
|
|
30
30
|
If the pages support the selection, run
|
|
31
|
-
`npx --yes copilotkit@4.9.
|
|
31
|
+
`npx --yes copilotkit@4.9.31 onboard read frontend/plan`.
|
|
32
32
|
|
|
33
33
|
If the documentation does not support the selection, run
|
|
34
|
-
`npx --yes copilotkit@4.9.
|
|
34
|
+
`npx --yes copilotkit@4.9.31 onboard read unsupported/no-validated-path`.
|
|
@@ -24,7 +24,7 @@ Record the selected framework, vendor, model, required credential variable names
|
|
|
24
24
|
these URLs.
|
|
25
25
|
|
|
26
26
|
If the pages support the selection, run
|
|
27
|
-
`npx --yes copilotkit@4.9.
|
|
27
|
+
`npx --yes copilotkit@4.9.31 onboard read frontend/plan`.
|
|
28
28
|
|
|
29
29
|
If the documentation does not support the selection, run
|
|
30
|
-
`npx --yes copilotkit@4.9.
|
|
30
|
+
`npx --yes copilotkit@4.9.31 onboard read unsupported/no-validated-path`.
|