copilotkit 4.26.0 → 4.27.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.
Files changed (92) hide show
  1. package/README.md +271 -25
  2. package/cli-build-info.json +7 -7
  3. package/index.js +6785 -3294
  4. package/onboarding/index.json +2 -2
  5. package/onboarding/prompts/authenticate/start.md +28 -23
  6. package/onboarding/prompts/conversion/plan.md +3 -3
  7. package/onboarding/prompts/credentials/finalize-plan.md +34 -25
  8. package/onboarding/prompts/credentials/plan.md +46 -33
  9. package/onboarding/prompts/credentials/settle-credentials.md +38 -14
  10. package/onboarding/prompts/credentials/write-plan.md +104 -47
  11. package/onboarding/prompts/deployment/choose-local.md +17 -20
  12. package/onboarding/prompts/deployment/local-evaluation.md +45 -21
  13. package/onboarding/prompts/fallback/best-effort.md +11 -9
  14. package/onboarding/prompts/feature/a2ui/implement.md +4 -4
  15. package/onboarding/prompts/feature/a2ui/plan.md +3 -3
  16. package/onboarding/prompts/feature/a2ui/proof.md +5 -5
  17. package/onboarding/prompts/feature/a2ui/start.md +10 -8
  18. package/onboarding/prompts/feature/channels/implement.md +11 -8
  19. package/onboarding/prompts/feature/channels/plan.md +15 -7
  20. package/onboarding/prompts/feature/channels/proof.md +5 -5
  21. package/onboarding/prompts/feature/channels/start.md +11 -10
  22. package/onboarding/prompts/feature/chat-suggestions/implement.md +4 -4
  23. package/onboarding/prompts/feature/chat-suggestions/plan.md +3 -3
  24. package/onboarding/prompts/feature/chat-suggestions/proof.md +5 -5
  25. package/onboarding/prompts/feature/chat-suggestions/start.md +10 -8
  26. package/onboarding/prompts/feature/complete.md +2 -2
  27. package/onboarding/prompts/feature/learning/implement.md +14 -12
  28. package/onboarding/prompts/feature/learning/plan.md +4 -4
  29. package/onboarding/prompts/feature/learning/proof.md +24 -14
  30. package/onboarding/prompts/feature/learning/start.md +8 -8
  31. package/onboarding/prompts/feature/open-generative-ui/implement.md +4 -4
  32. package/onboarding/prompts/feature/open-generative-ui/plan.md +3 -3
  33. package/onboarding/prompts/feature/open-generative-ui/proof.md +5 -5
  34. package/onboarding/prompts/feature/open-generative-ui/start.md +10 -8
  35. package/onboarding/prompts/feature/realtime-sync/implement.md +7 -5
  36. package/onboarding/prompts/feature/realtime-sync/plan.md +3 -3
  37. package/onboarding/prompts/feature/realtime-sync/proof.md +5 -5
  38. package/onboarding/prompts/feature/realtime-sync/start.md +7 -7
  39. package/onboarding/prompts/feature/rich-threads/implement.md +8 -6
  40. package/onboarding/prompts/feature/rich-threads/plan.md +3 -3
  41. package/onboarding/prompts/feature/rich-threads/proof.md +5 -5
  42. package/onboarding/prompts/feature/rich-threads/start.md +7 -7
  43. package/onboarding/prompts/feature/stop.md +4 -4
  44. package/onboarding/prompts/feature/voice/implement.md +4 -4
  45. package/onboarding/prompts/feature/voice/plan.md +4 -4
  46. package/onboarding/prompts/feature/voice/proof.md +5 -5
  47. package/onboarding/prompts/feature/voice/start.md +10 -8
  48. package/onboarding/prompts/framework/ag2.md +20 -5
  49. package/onboarding/prompts/framework/agno.md +25 -9
  50. package/onboarding/prompts/framework/built-in.md +21 -6
  51. package/onboarding/prompts/framework/claude-sdk-python.md +11 -5
  52. package/onboarding/prompts/framework/claude-sdk-typescript.md +13 -6
  53. package/onboarding/prompts/framework/crewai-flows.md +24 -10
  54. package/onboarding/prompts/framework/custom-ag-ui.md +62 -28
  55. package/onboarding/prompts/framework/deep-agents.md +26 -9
  56. package/onboarding/prompts/framework/google-adk.md +18 -5
  57. package/onboarding/prompts/framework/langgraph-fastapi.md +20 -5
  58. package/onboarding/prompts/framework/langgraph-python.md +20 -5
  59. package/onboarding/prompts/framework/langgraph-typescript.md +27 -7
  60. package/onboarding/prompts/framework/llamaindex.md +24 -8
  61. package/onboarding/prompts/framework/mastra.md +21 -8
  62. package/onboarding/prompts/framework/ms-agent-dotnet.md +24 -6
  63. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +24 -5
  64. package/onboarding/prompts/framework/ms-agent-python.md +21 -5
  65. package/onboarding/prompts/framework/pydantic-ai.md +20 -5
  66. package/onboarding/prompts/framework/strands-python.md +27 -12
  67. package/onboarding/prompts/framework/strands-typescript.md +27 -12
  68. package/onboarding/prompts/frontend/angular.md +4 -4
  69. package/onboarding/prompts/frontend/nextjs.md +4 -4
  70. package/onboarding/prompts/frontend/plan.md +21 -13
  71. package/onboarding/prompts/frontend/react-native.md +3 -3
  72. package/onboarding/prompts/frontend/react-spa.md +3 -3
  73. package/onboarding/prompts/frontend/vue.md +3 -3
  74. package/onboarding/prompts/implementation/build-and-validate.md +25 -20
  75. package/onboarding/prompts/proof/complete.md +10 -7
  76. package/onboarding/prompts/proof/oss-baseline.md +6 -6
  77. package/onboarding/prompts/proof/round-trip.md +10 -10
  78. package/onboarding/prompts/research/gather.md +8 -8
  79. package/onboarding/prompts/research/merge.md +3 -3
  80. package/onboarding/prompts/research/preflight.md +2 -2
  81. package/onboarding/prompts/research/route.md +4 -4
  82. package/onboarding/prompts/setup/questions.md +192 -159
  83. package/onboarding/prompts/starter/clone.md +126 -51
  84. package/onboarding/prompts/stopped/run-failed.md +5 -3
  85. package/onboarding/prompts/subagent/create-plan.md +73 -20
  86. package/onboarding/prompts/subagent/implement-and-validate.md +30 -14
  87. package/onboarding/prompts/subagent/inspect-repository.md +3 -2
  88. package/onboarding/prompts/subagent/prove-oss-baseline.md +10 -5
  89. package/onboarding/prompts/subagent/prove-round-trip.md +23 -14
  90. package/onboarding/prompts/unsupported/no-validated-path.md +5 -4
  91. package/package.json +1 -1
  92. package/release/release-tool.js +12 -2
@@ -1,8 +1,8 @@
1
- # Write the plan and get it approved
1
+ # Write the plan and show it
2
2
 
3
3
  The project and its credentials are settled. This phase wires the runtime, has a
4
- subagent write the plan, and asks the developer to approve it. This is the last question
5
- the run asks them.
4
+ subagent write the plan, and shows the plan to the developer. The run waits for their
5
+ answer only when the plan makes a risky change or still needs the model key.
6
6
 
7
7
  ## If you stop in this phase
8
8
 
@@ -11,14 +11,12 @@ friction command follows the telemetry setting the developer already chose, so i
11
11
  separate question.
12
12
 
13
13
  ```text
14
- npx --prefer-offline --yes copilotkit@4.26.0 onboard friction --phase stop --category <slug> --message "<sentences>"
14
+ npx --prefer-offline --yes copilotkit@4.27.0 onboard friction --phase stop --category <slug> --message "<sentences>"
15
15
  ```
16
16
 
17
17
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
18
18
  Pick the category that fits from docs-missing, docs-wrong, docs-sequential, cli-gap,
19
- sdk-gap, environment, port-collision, credential, validation-loop, and other. Leave
20
- --cost-seconds off. A run that stopped cannot separate one papercut's cost from the cost of
21
- the whole run, so the estimate is optional on a stop report and only there. Send no secrets,
19
+ sdk-gap, environment, port-collision, credential, validation-loop, and other. Leave --cost-seconds off. Send no secrets,
22
20
  source code, logs, or command output. A refused report is not a failed step: reword it and
23
21
  send it again, or stop without a report.
24
22
 
@@ -72,7 +70,7 @@ page is selected yet, add the one for the frontend selected above to the same li
72
70
  Native, so the planner proves the thread with `verify --round-trip` instead.
73
71
 
74
72
  Spawn one planning subagent. Tell it to run
75
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard read subagent/create-plan` first and follow the
73
+ `npx --prefer-offline --yes copilotkit@4.27.0 onboard read subagent/create-plan` first and follow the
76
74
  prompt it returns. Tell it to return at once, and say so, if that read is refused or fails,
77
75
  and not to wait for an approval. If it returns that way, stop that subagent. Run the same
78
76
  command yourself, then spawn a fresh subagent with the returned prompt and the same handoff.
@@ -81,18 +79,18 @@ names, selected documentation URLs, and documentation policy. Give it each findi
81
79
  framework route told you to record, such as how the agent connects or a `clone()` finding.
82
80
  Some of those rules, such as the `clone()` override, are on no documentation page. On a
83
81
  conversion, also give it the frozen criterion. Give the planning subagent the paths that
84
- had uncommitted changes when the run started, from the repository findings. Wait for the
85
- subagent to finish.
82
+ had uncommitted changes when the run started, from the repository findings, and the
83
+ `backup` result from `onboard credentials`. Wait for the subagent to finish.
86
84
 
87
85
  Continue only if the planning result starts with `Status: passed`. For `Status: failed`,
88
86
  send the result back to the planning subagent for repair, up to three attempts. For
89
87
  `Status: blocked`, or a third failed result, run
90
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard read stopped/run-failed`. A plan this run cannot
88
+ `npx --prefer-offline --yes copilotkit@4.27.0 onboard read stopped/run-failed`. A plan this run cannot
91
89
  write is a run that broke, not a stack the documentation does not cover. The exception is
92
90
  a blocked result that names `unsupported/no-validated-path`: the planning subagent found
93
91
  that no page supports the plan, so take the no-supported-path route at the end of this
94
- prompt instead. Do not show or
95
- ask for approval of a non-pass plan.
92
+ prompt instead. Do not show a
93
+ non-pass plan.
96
94
 
97
95
  Make sure that the plan preserves each part that already exists. The plan must name the
98
96
  credential variables, the Intelligence runtime wiring, the application the project asks
@@ -100,53 +98,112 @@ for, implementation steps, validation steps, and proof steps. Where the plan upg
100
98
  CopilotKit dependencies, it must name the versions it moves, every other pin it has to
101
99
  move with them, and the revert it falls back to. It must not contain secret values.
102
100
 
103
- Show only the selected framework, frontend, model, planned file changes with the feature explanations below where applicable, any ignore-file line this run adds, the files the run writes itself, the CopilotKit Skills install as a choice the developer approves or declines, the CopilotKit dependency upgrade and the versions it moves, every other dependency the upgrade moves and the versions it moves them to, any TypeScript upgrade a `tsconfig.json` change needs and the compiler options it removes, validation commands, and proof steps.
101
+ ## Show the plan
104
102
 
105
- Explain these benefits in your own words within the planned changes, only when the
106
- plan includes the feature:
103
+ Show the plan as one short message, one line per item, in this order: the agent, the app
104
+ changes, the packages, Learning, Skills, the notes, and the risky changes last. Leave out a
105
+ line with nothing to say, except the risky changes. When `Risky changes` says `none`:
107
106
 
108
- - Threads drawer: users can switch between conversations and return to earlier work
109
- with their messages, generative UI, tool interactions, and application state restored.
110
- - Learning Container: it groups the conversations Automatic Learning learns from.
111
- As people use the app, Automatic Learning can find recurring patterns and propose
112
- reusable Skills to help the agent improve. The developer can review the supporting
113
- conversations and decide which Skills to approve.
107
+ ```text
108
+ Plan: no approval needed. Reply **stop** at any time.
109
+
110
+ - Agent: built-in CopilotKit agent on Groq (openai/gpt-oss-120b)
111
+ - App changes: runtime route, provider, chat with order status cards and a Threads drawer (7 files)
112
+ - Packages added: @copilotkit/runtime and @copilotkit/react-core 1.78.0, @ai-sdk/openai, zod. No upgrades.
113
+ - Learning: new container order-assistant
114
+ - Skills: CopilotKit skills into .agents/skills/ (say **no Skills** to skip)
115
+ - Note: the fixed test user identity works only in development (this app has no sign-in)
116
+
117
+ Risky changes: none. `onboard restore` puts back what the backup holds.
118
+ ```
119
+
120
+ - App changes: what the app gains, and how many files change.
121
+ - Packages: each package added, with the CopilotKit version. Name each version a move
122
+ changes, or end with "No upgrades."
123
+ - Learning: the container id, or that Learning is not available to this organization.
124
+ - Skills: the `Skills install` line, or "in place".
125
+ - A note is only for something that changes behavior or security, such as a local
126
+ placeholder, a side effect the plan blocks, a TypeScript upgrade, or an ignore-file line
127
+ this run adds.
114
128
 
115
- These explanations are required content, not fixed wording. They explain the existing
116
- plan. They do not add features, implementation steps, or a separate message or question.
129
+ Leave out what a feature does, the validation and proof steps, and the files the run
130
+ writes itself. They stay in the plan.
117
131
 
118
- Carry the developer's answer on the Skills install into the implementation and proof
119
- handoffs. Approving the plan without a word on the Skills approves the install.
132
+ A plan with a risky change puts its risky lines at the top, from the plan's `Risky
133
+ changes` section, and waits:
120
134
 
121
- An upgrade to a working install is the developer's call, so it belongs in the plan they
122
- approve rather than in the implementation that follows. Do not upgrade a dependency the
123
- developer did not approve.
135
+ ```text
136
+ Plan: reply **go** to make the risky changes below, or name the ones to leave out. Reply **stop** at any time.
137
+
138
+ Risky changes:
139
+ - package.json: moves @copilotkit/react-core from 1.70.2 to 1.78.0, which Intelligence needs
140
+
141
+ - Agent: ...
142
+
143
+ `onboard restore` puts back what the backup holds.
144
+ ```
124
145
 
125
- If the plan carries a missing model key, name the variable and its file in the approval
126
- message. Ask the developer to add the key before they approve.
146
+ The Skills install is not a risky change, so the plan does not wait for it. If the developer
147
+ says no to it, at any point, carry that into the implementation and proof handoffs. If the
148
+ no arrives after the install, tell the developer that the install wrote `.agents/skills/`
149
+ and its links in `.claude/skills/`, and that deleting both removes it.
127
150
 
128
- When you ask for approval, tell the developer in one line that this is the last thing you
129
- need from them, and that if you need them to approve a command, or something blocks you, you
130
- will ask them here. Do not predict whether that will happen: no step after approval asks the
131
- developer a question unless a step cannot be built as approved, but a harness can still hold
132
- a command for approval. Say it in the same message as the plan, and do not turn it into a
133
- second question.
151
+ An upgrade to a working install is the developer's call. Do not upgrade a dependency the
152
+ plan does not name.
134
153
 
135
- Before you end your turn to wait for the answer, report the pause, each time you show the
136
- plan:
154
+ ## Go on, or wait for one answer
155
+
156
+ Check `Risky changes` first. Where the plan makes one of these and does not list it, send
157
+ the plan back to the planning subagent: a write outside the project, any CopilotKit
158
+ dependency version change, and a backup that is `partial` or `failed`.
159
+
160
+ When `Risky changes` says `none`, do not wait for an answer. Send the plan message and
161
+ start the build at once, in the same turn, with the read at the end of this section. Do not
162
+ ask the developer to approve the plan, and do not end your turn.
163
+
164
+ Otherwise, the plan's first line asks the risky-change question, as above. A reply
165
+ such as "go" approves every risky change except an untrack: only an answer to that line
166
+ approves an untrack. Add one line: this is the last thing you need from them, unless a command needs their
167
+ approval or something blocks you. Before you end your turn to
168
+ wait for the answer, report the pause, each time you show the plan:
137
169
 
138
170
  ```text
139
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-plan-approval
171
+ npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase awaiting-plan-approval
140
172
  ```
141
173
 
142
- After the approval, run the same `onboard credentials --model-key` check again when the plan
143
- carries a missing model key. On `ready`, continue. If the key is still missing, ask the
144
- developer `question.ask` in those words. Report the pause with
145
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-model-credential`, end
174
+ When the developer leaves a risky change out, send the plan back to the planning subagent
175
+ without it. Show the new plan the same way.
176
+
177
+ If the plan carries a missing model key, the run cannot build without it, so wait for it
178
+ even when `Risky changes` says `none`. Name the variable and its file in the plan message,
179
+ and ask the developer to add the key. Ask the risky-change question in the same message, if
180
+ there is one. When the plan has no risky change, report the pause with
181
+ `npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase awaiting-model-credential`
182
+ instead. When the developer answers, run the same `onboard credentials --model-key` check
183
+ again. On `ready`, continue. If the key is still missing, ask the developer `question.ask`
184
+ in those words. Report the pause with
185
+ `npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase awaiting-model-credential`, end
146
186
  your turn, and run the check again when they answer.
147
187
 
148
- If the developer approves the plan, run
149
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard read implementation/build-and-validate`.
188
+ When the plan needs no answer, or after the developer answers, run
189
+ `npx --prefer-offline --yes copilotkit@4.27.0 onboard read implementation/build-and-validate`.
150
190
 
151
191
  If no exact supported path or documentation URL exists, run
152
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard read unsupported/no-validated-path`.
192
+ `npx --prefer-offline --yes copilotkit@4.27.0 onboard read unsupported/no-validated-path`.
193
+
194
+ ## If the developer replies **stop**
195
+
196
+ If the developer replies **stop** at any point after the plan, stop the subagent that is
197
+ running. Ask whether to put back every file this run changed or deleted. Say that files the
198
+ run added stay, and that the restore also undoes any edit the developer made to those files
199
+ during the run. Before you end your turn to wait for the answer, report the pause:
200
+
201
+ ```text
202
+ npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase awaiting-developer
203
+ ```
204
+
205
+ If they say yes, run `npx --prefer-offline --yes copilotkit@4.27.0 onboard restore --force`. The run has
206
+ not ended yet, so without `--force` the restore cannot tell the run's edits from the
207
+ developer's and skips every changed file. Show the developer what it restored and what it
208
+ skipped. If they say no, change nothing. Then send the stop report from the start of this
209
+ prompt with the category `other`, and stop onboarding.
@@ -9,15 +9,15 @@ A local request can arrive after this run created a hosted project: `init --crea
9
9
  Tell the developer that this run already created a hosted project, so it stays managed.
10
10
  Return to the step you were on.
11
11
 
12
- First run `npx --prefer-offline --yes copilotkit@4.26.0 local --help`. If it does not list `setup`
12
+ First run `npx --prefer-offline --yes copilotkit@4.27.0 local --help`. If it does not list `setup`
13
13
  ("Configure model access and install or resume the local stack"), this release has no
14
14
  local evaluation. Tell the developer so, and keep managed. If this run has not recorded
15
- managed yet, run `npx --prefer-offline --yes copilotkit@4.26.0 onboard deployment --choice managed`.
15
+ managed yet, run `npx --prefer-offline --yes copilotkit@4.27.0 onboard deployment --choice managed`.
16
16
  Then return to “Check sign-in” in the start prompt. If a login process from it still
17
17
  runs, keep reading that process and start no second one. Otherwise record the choice:
18
18
 
19
19
  ```text
20
- npx --prefer-offline --yes copilotkit@4.26.0 onboard deployment --choice local
20
+ npx --prefer-offline --yes copilotkit@4.27.0 onboard deployment --choice local
21
21
  ```
22
22
 
23
23
  Explain these conditions before sign-in:
@@ -25,9 +25,9 @@ Explain these conditions before sign-in:
25
25
  - This is self-hosting on the developer's machine, for evaluation. The CLI does not
26
26
  install into a cluster. To self-host in their own cluster, they follow the Helm guide
27
27
  (https://docs.copilotkit.ai/intelligence/self-hosting.md).
28
- - The developer supplies Docker with 4 CPUs, 12 GiB of memory available to containers,
28
+ - The developer supplies Docker with 4 CPUs, 4 GiB of memory available to containers,
29
29
  and 40 GiB free storage for this stack, after other workloads. Docker keeps part of its
30
- memory limit for itself, so the limit must be 14 GiB or more.
30
+ memory limit for itself, so the limit must be 6 GiB or more.
31
31
  - The CLI installs Threads, Learning, Channels, the dashboard, CLI-approved local sign-in,
32
32
  databases, and persistent object storage. Memory and analytics are excluded.
33
33
  - CopilotKit sign-in issues a renewable plan-based license. Local dashboard
@@ -41,15 +41,17 @@ candidate manifest. If the developer gives a candidate manifest path for release
41
41
  testing, record it for setup. Do not substitute a chart tag or a checkout build.
42
42
  Never ask the developer to paste credentials into the conversation.
43
43
 
44
- Collect the model choice for Learning. The first proof does not need a Learning model,
45
- and Learning starts its first run only after 15 conversations. Offer these choices:
44
+ Do not ask for the Learning model here. The first proof does not need one, and Learning
45
+ starts its first run only after 15 conversations, so the setup message asks it later with
46
+ the other setup questions. A run that skips that message takes the default. These are the
47
+ choices:
46
48
 
47
49
  1. Configure later, the default. Install with `--defer-model`. In the closing report, write
48
50
  "Learning configuration incomplete". Name the command that adds the model later:
49
- `npx --prefer-offline --yes copilotkit@4.26.0 local setup`, run in a terminal in the app directory.
51
+ `npx --prefer-offline --yes copilotkit@4.27.0 local setup`, run in a terminal in the app directory.
50
52
  2. Guided setup. If the developer named Learning as a goal, offer it first. Install
51
53
  the stack with `--defer-model`. After the stack is ready, the developer runs
52
- `npx --prefer-offline --yes copilotkit@4.26.0 local setup` in their own terminal window, in the app
54
+ `npx --prefer-offline --yes copilotkit@4.27.0 local setup` in their own terminal window, in the app
53
55
  directory. Never give it as a `!` line: its guided prompt needs a terminal, and a coding
54
56
  agent's shell has none. The prompt asks for the model and its key, and it saves them
55
57
  privately. On a running stack, it restarts only Learning. Do not ask the developer to
@@ -57,13 +59,8 @@ and Learning starts its first run only after 15 conversations. Offer these choic
57
59
  3. A private model file that the developer has already. Pass its path with
58
60
  `--model-config <file>`. Do not read or print the file.
59
61
 
60
- Before you end your turn to wait for the developer, report the pause:
61
-
62
- ```text
63
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-developer
64
- ```
65
-
66
- Record the model choice, and any candidate path, in the plan, but no secret values.
62
+ If the developer already named one of them, record it. Record the model choice, and any
63
+ candidate path, in the plan, but no secret values.
67
64
  Create no cluster and change no app files at this step. The developer can still decline sign-in.
68
65
  If declined, take the failure path below.
69
66
 
@@ -74,7 +71,7 @@ If the managed sign-in message was already sent, send this once and no other sig
74
71
  message: “You asked to run it locally, so this project gets no managed CopilotKit project.
75
72
  Signing in only gets the renewable evaluation license.”
76
73
 
77
- Otherwise run `npx --prefer-offline --yes copilotkit@4.26.0 login --json`. Follow the streaming sign-in
74
+ Otherwise run `npx --prefer-offline --yes copilotkit@4.27.0 login --json`. Follow the streaming sign-in
78
75
  protocol from “Check sign-in” in the start prompt: open the first authentication URL
79
76
  once, keep the same process running, and continue only after its completed record.
80
77
  When the first authentication URL arrives, send this message in place of the managed
@@ -82,9 +79,9 @@ sign-in message: “Sign in to get the renewable evaluation license. Your local
82
79
  will use CLI approval.”
83
80
  On failed or declined sign-in, take the failure path below.
84
81
 
85
- After sign-in completes, report it: `npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase sign-in-settled`.
82
+ After sign-in completes, report it: `npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase sign-in-settled`.
86
83
  Then continue with
87
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard read research/gather`, unless research already started.
84
+ `npx --prefer-offline --yes copilotkit@4.27.0 onboard read research/gather`, unless research already started.
88
85
  If it already started, return to the step you were on. `starter/clone` and
89
86
  `credentials/finalize-plan` each have a branch for a recorded local choice.
90
87
  Keep the local choice and collected paths in the run's plan and worker context.
@@ -92,4 +89,4 @@ Keep the local choice and collected paths in the run's plan and worker context.
92
89
  ## Failure path
93
90
 
94
91
  If sign-in fails or is declined, stop before cluster creation.
95
- Run `npx --prefer-offline --yes copilotkit@4.26.0 onboard read stopped/run-failed`.
92
+ Run `npx --prefer-offline --yes copilotkit@4.27.0 onboard read stopped/run-failed`.
@@ -6,37 +6,61 @@ framework and existing code. Do not run the full init command from this graph.
6
6
 
7
7
  ## Approve the app connection
8
8
 
9
- Before changing files, show a short plan with the exact app directory and these writes:
9
+ The connection writes these in the exact app directory:
10
10
 
11
11
  - `.gitignore` and the gitignored `.copilotkit/local.json` stack reference.
12
- - `.env`: `INTELLIGENCE_API_URL`, `INTELLIGENCE_GATEWAY_WS_URL`,
13
- `CPK_INTELLIGENCE_API_KEY`, and `SL_ENABLED`.
12
+ - The app's env file: `INTELLIGENCE_API_URL`, `INTELLIGENCE_GATEWAY_WS_URL`,
13
+ `CPK_INTELLIGENCE_API_KEY`, and `SL_ENABLED`. The CLI picks the file: `.env`, or the
14
+ ignored env file the app already keeps its project key in.
14
15
  - `.copilotkit/project.json`: the local project selection.
15
16
 
16
- Explain that local setup creates an empty local project. It copies no hosted data.
17
- Prior connection settings are saved in private CLI state before the app changes.
18
- `local cancel` restores only settings that still match this setup's writes and reports
19
- conflicting setting names. It preserves later edits and the stack's data.
17
+ Local setup creates an empty local project. It copies no hosted data. Prior connection
18
+ settings are saved in private CLI state before the app changes. `local cancel` restores only
19
+ settings that still match this setup's writes and reports conflicting setting names. It
20
+ preserves later edits and the stack's data.
20
21
 
21
- Get approval for the local installation and these connection writes. Ask the developer
22
- before you edit one of these files that has uncommitted changes. Approval for a scaffold alone
23
- does not authorize replacing an existing app's connection.
22
+ Run `npx --prefer-offline --yes copilotkit@4.27.0 onboard setup-answers`. It holds the setup message's
23
+ answers, even after this conversation lost them. Take each answer below from the record,
24
+ or this conversation when the record lacks it. A field the record lacks is not a "no".
25
+
26
+ First, the files with uncommitted changes. Write to a file with uncommitted changes only
27
+ when `uncommittedWrites` is `approved`. If it is `declined`, ask the developer to commit
28
+ those changes, and wait. If neither the record nor this conversation answers it and one of
29
+ these files has uncommitted changes, ask about those files on one line, and record the
30
+ answer with `onboard setup-answers --uncommitted-writes <approved|declined>`.
31
+
32
+ Then the connection. If `connection` is `approved`, the developer approved the local
33
+ connection line in the setup message, so do not ask again: name the app directory and
34
+ these writes in one short message, and go on to the installer.
35
+
36
+ Otherwise, with no `connection` answer in the record, or this conversation, show the writes
37
+ above and get approval for the local installation and these connection writes. Record it
38
+ with `onboard setup-answers --connection approved`. Approval for a scaffold alone does not
39
+ authorize replacing an existing app's connection.
24
40
 
25
41
  Before you end your turn to wait for the developer, report the pause:
26
42
 
27
43
  ```text
28
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-developer
44
+ npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase awaiting-developer
29
45
  ```
30
46
 
31
47
  ## Run the shared installer
32
48
 
33
- From the exact app directory, use the collected model choice:
49
+ From the exact app directory, use the `learning` answer from the record, or this
50
+ conversation:
34
51
 
35
52
  ```text
36
- npx --prefer-offline --yes copilotkit@4.26.0 local setup --defer-model --json
53
+ npx --prefer-offline --yes copilotkit@4.27.0 local setup --defer-model --json
37
54
  ```
38
55
 
39
- For supplied model access, replace `--defer-model` with `--model-config <private-file>`.
56
+ For `learning.file`, replace `--defer-model` with `--model-config <learning.file>`.
57
+ Before setup, run `npx --prefer-offline --yes copilotkit@4.27.0 onboard local-terms --json`. If `accepted`
58
+ is false, pause here. Give the developer this exact command to run in their own terminal:
59
+ `npx --prefer-offline --yes copilotkit@4.27.0 local accept-terms`. Never accept the agreement yourself.
60
+ Report the pause with
61
+ `npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase awaiting-developer`, end your turn,
62
+ and wait for "done". Then run `local-terms` again, and continue only when `accepted` is
63
+ true. A local command that fails with `eula_acceptance_required` comes back to this step.
40
64
  The CLI selects the latest stable release. Add `--candidate <manifest.json>` only when the
41
65
  developer gave a candidate manifest for release testing.
42
66
  Do not print or read the model file into the conversation. Do not install or manage Docker.
@@ -51,7 +75,7 @@ A copied app needs explicit `--share-stack`. Do not infer sharing from a copied
51
75
  After setup reports the stack ready, run the approved connection step from that directory:
52
76
 
53
77
  ```text
54
- npx --prefer-offline --yes copilotkit@4.26.0 local connect --approve-connection --json
78
+ npx --prefer-offline --yes copilotkit@4.27.0 local connect --approve-connection --json
55
79
  ```
56
80
 
57
81
  Read the local `.copilotkit/project.json` for its project ID and slug. Do not run hosted
@@ -65,13 +89,13 @@ Use the existing Threads round-trip proof against this local project. Verify a r
65
89
  message, reply, and saved conversation. Installation readiness alone is not that proof.
66
90
 
67
91
  Learning needs valid model settings for this installation. A previous local installation
68
- proves nothing about these settings. If the developer chose guided setup, wait until the
69
- stack is ready. Then:
92
+ proves nothing about these settings. If the developer chose guided setup, in the record or
93
+ this conversation, wait until the stack is ready. Then:
70
94
 
71
95
  Ask the developer to run this command in their own terminal window, in the app directory:
72
96
 
73
97
  ```text
74
- npx --prefer-offline --yes copilotkit@4.26.0 local setup
98
+ npx --prefer-offline --yes copilotkit@4.27.0 local setup
75
99
  ```
76
100
 
77
101
  Do not give it as a `!` line, and do not run it yourself. Its guided model prompt needs a
@@ -80,9 +104,9 @@ changes nothing. The prompt asks for the model and its key, and it saves them pr
80
104
  On a running stack, it restarts only Learning. Do not ask for a model file.
81
105
 
82
106
  Say that the run continues when they reply or resume this session. Report the pause with
83
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-model-credential`, end your
107
+ `npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase awaiting-model-credential`, end your
84
108
  turn, and wait. When the developer replies, run
85
- `npx --prefer-offline --yes copilotkit@4.26.0 local status --json` and read `learning.configuration`.
109
+ `npx --prefer-offline --yes copilotkit@4.27.0 local status --json` and read `learning.configuration`.
86
110
 
87
111
  If the model is still missing or was deferred, report “Learning configuration incomplete”
88
112
  and name the same command, run in a terminal window. No Learning run is required to finish
@@ -96,6 +120,6 @@ must not block Threads, the dashboard, or later Learning configuration.
96
120
  If the developer cancels the connection, run `local cancel --json` from the app directory.
97
121
  Report conflict names only. Keep the stack unless deletion is separately confirmed.
98
122
 
99
- Continue with `npx --prefer-offline --yes copilotkit@4.26.0 onboard read credentials/settle-credentials`.
123
+ Continue with `npx --prefer-offline --yes copilotkit@4.27.0 onboard read credentials/settle-credentials`.
100
124
  For this local route, skip the hosted selection-result checks and use the local project
101
125
  record. Continue the existing implementation and proof paths against local endpoints.
@@ -14,7 +14,7 @@ you stop. The friction command follows the telemetry setting the developer alrea
14
14
  so it needs no separate question.
15
15
 
16
16
  ```text
17
- npx --prefer-offline --yes copilotkit@4.26.0 onboard friction --phase stop --category <slug> --message "<sentences>"
17
+ npx --prefer-offline --yes copilotkit@4.27.0 onboard friction --phase stop --category <slug> --message "<sentences>"
18
18
  ```
19
19
 
20
20
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -61,7 +61,7 @@ or frontend, stop onboarding.
61
61
  If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of a
62
62
  step, show the developer the list it printed, and run what they choose:
63
63
  the `onboard restore` command the tripwire stop prints, which names each deleted file, or
64
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard tripwire --continue`. Then read the step again. If
64
+ `npx --prefer-offline --yes copilotkit@4.27.0 onboard tripwire --continue`. Then read the step again. If
65
65
  you cannot ask, stop onboarding. Never repair, reset, or revert a file the developer changed
66
66
  outside this run.
67
67
 
@@ -110,25 +110,27 @@ that the selected documentation proved an inferred step.
110
110
  Record what the proof returned before you complete:
111
111
 
112
112
  ```text
113
- npx --prefer-offline --yes copilotkit@4.26.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
113
+ npx --prefer-offline --yes copilotkit@4.27.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
114
114
  ```
115
115
 
116
- When the proof is complete, run `npx --prefer-offline --yes copilotkit@4.26.0 onboard complete`, carrying the
116
+ When the proof is complete, run `npx --prefer-offline --yes copilotkit@4.27.0 onboard complete`, carrying the
117
117
  surface-check result the proof subagent returned. Pass exactly one of `--visual-check` or
118
118
  `--device-check`, matching this journey's surface:
119
119
 
120
120
  ```text
121
- npx --prefer-offline --yes copilotkit@4.26.0 onboard complete --visual-check <outcome>
122
- npx --prefer-offline --yes copilotkit@4.26.0 onboard complete --device-check <outcome>
121
+ npx --prefer-offline --yes copilotkit@4.27.0 onboard complete --visual-check <outcome>
122
+ npx --prefer-offline --yes copilotkit@4.27.0 onboard complete --device-check <outcome>
123
123
  ```
124
124
 
125
125
  `--visual-check` is for a web frontend and takes `performed`, `skipped-no-browser-tool`, or
126
126
  `failed`. `--device-check` is for React Native and takes `performed`, `skipped-no-device`,
127
127
  or `failed`. `failed` and `skipped-no-device` end this run as blocked, and the command's
128
128
  output names the evidence that is missing. Report it that way. The command also prints
129
- `## The developer's files`: relay that report as printed, with its restore command. `skipped-no-browser-tool`
130
- completes the run when the round trip was recorded as `passed`, and the output names what
131
- no browser checked. Without that record it blocks.
129
+ `## The developer's files`: relay that report as printed, with its restore command. When
130
+ the report says the run started in an empty folder, relay that one line alone: list no
131
+ files and offer no restore. `skipped-no-browser-tool` completes the run when the round
132
+ trip was recorded as `passed`, and the output names what no browser checked. Without that
133
+ record it blocks.
132
134
 
133
135
  If the proof passed and something after it still blocked this run, add
134
136
  `--blocked-by <cause>` to the same command, with one of `inspector`, `plan-excluded-capability`,
@@ -24,7 +24,7 @@ That result is a question for the developer. Name the file and why the work need
24
24
  Before you end your turn to wait for the developer, report the pause:
25
25
 
26
26
  ```text
27
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-developer
27
+ npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase awaiting-developer
28
28
  ```
29
29
 
30
30
  Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
@@ -34,16 +34,16 @@ cannot ask, or the developer declines, take the feature stop route below.
34
34
  If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
35
35
  a step, show the developer the list it printed, and run what they choose:
36
36
  the `onboard restore` command the tripwire stop prints, which names each deleted file, or
37
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard tripwire --continue`. Then read the step again.
37
+ `npx --prefer-offline --yes copilotkit@4.27.0 onboard tripwire --continue`. Then read the step again.
38
38
 
39
39
  To route out and stop:
40
40
 
41
41
  ```text
42
- npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/stop
42
+ npx --prefer-offline --yes copilotkit@4.27.0 onboard read feature/stop
43
43
  ```
44
44
 
45
45
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
46
46
  the feature stop route above without further changes.
47
47
 
48
48
  Otherwise run
49
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/a2ui/proof`.
49
+ `npx --prefer-offline --yes copilotkit@4.27.0 onboard read feature/a2ui/proof`.
@@ -12,7 +12,7 @@ The approval is a wait for the developer. Before you end your turn to wait, repo
12
12
  pause:
13
13
 
14
14
  ```text
15
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-developer
15
+ npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase awaiting-developer
16
16
  ```
17
17
 
18
18
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
@@ -49,7 +49,7 @@ renders a compact visible surface. Ask for approval as its own question.
49
49
  Before you end your turn to wait for the developer, report the pause:
50
50
 
51
51
  ```text
52
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-plan-approval
52
+ npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase awaiting-plan-approval
53
53
  ```
54
54
 
55
55
  Ask the developer before you edit a file that has uncommitted changes. List those files in
@@ -57,4 +57,4 @@ the plan under `Uncommitted files`, each with one sentence explaining why, or wr
57
57
  `git status` names them. The CLI records no consent: the approved plan is the record. The
58
58
  plan must not delete, move, or rename one of those files.
59
59
 
60
- Then run `npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/a2ui/implement`.
60
+ Then run `npx --prefer-offline --yes copilotkit@4.27.0 onboard read feature/a2ui/implement`.
@@ -25,7 +25,7 @@ That result is a question for the developer. Name the file and why the fix needs
25
25
  Before you end your turn to wait for the developer, report the pause:
26
26
 
27
27
  ```text
28
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-developer
28
+ npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase awaiting-developer
29
29
  ```
30
30
 
31
31
  Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
@@ -35,13 +35,13 @@ or the developer declines, take the feature stop route below.
35
35
  If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
36
36
  a step, show the developer the list it printed, and run what they choose:
37
37
  the `onboard restore` command the tripwire stop prints, which names each deleted file, or
38
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard tripwire --continue`. Then read the step again.
38
+ `npx --prefer-offline --yes copilotkit@4.27.0 onboard tripwire --continue`. Then read the step again.
39
39
 
40
40
  Report the outcome of each attempt as it ends, before any repair. The command counts the
41
41
  attempts and the repairs:
42
42
 
43
43
  ```text
44
- npx --prefer-offline --yes copilotkit@4.26.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
44
+ npx --prefer-offline --yes copilotkit@4.27.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
45
45
  ```
46
46
 
47
47
  Use `passed` only for a proved A2UI surface, `failed` for an attempted proof that failed,
@@ -50,9 +50,9 @@ and `skipped` when the proof could not run.
50
50
  To route out and stop:
51
51
 
52
52
  ```text
53
- npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/stop
53
+ npx --prefer-offline --yes copilotkit@4.27.0 onboard read feature/stop
54
54
  ```
55
55
 
56
56
  When the proof is recorded, run
57
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/complete` with the actual browser-proof
57
+ `npx --prefer-offline --yes copilotkit@4.27.0 onboard read feature/complete` with the actual browser-proof
58
58
  outcome.