copilotkit 4.26.0 → 4.28.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 +418 -40
  2. package/cli-build-info.json +7 -7
  3. package/index.js +15343 -9085
  4. package/onboarding/index.json +3 -2
  5. package/onboarding/prompts/authenticate/start.md +48 -56
  6. package/onboarding/prompts/conversion/plan.md +3 -3
  7. package/onboarding/prompts/credentials/finalize-plan.md +42 -29
  8. package/onboarding/prompts/credentials/plan.md +50 -34
  9. package/onboarding/prompts/credentials/settle-credentials.md +38 -14
  10. package/onboarding/prompts/credentials/write-plan.md +122 -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 +14 -16
  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 +8 -7
  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 +27 -20
  75. package/onboarding/prompts/proof/complete.md +9 -7
  76. package/onboarding/prompts/proof/oss-baseline.md +9 -6
  77. package/onboarding/prompts/proof/round-trip.md +18 -20
  78. package/onboarding/prompts/research/gather.md +38 -10
  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 +10 -4
  82. package/onboarding/prompts/setup/questions.md +54 -202
  83. package/onboarding/prompts/starter/clone.md +141 -57
  84. package/onboarding/prompts/stopped/run-failed.md +5 -3
  85. package/onboarding/prompts/subagent/create-plan.md +73 -22
  86. package/onboarding/prompts/subagent/implement-and-validate.md +27 -34
  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 +46 -54
  90. package/onboarding/prompts/unsupported/no-validated-path.md +5 -4
  91. package/package.json +1 -1
  92. package/release/release-tool.js +19 -2
@@ -10,7 +10,7 @@ run is doing in the developer's words instead.
10
10
  Run this before anything else in this prompt:
11
11
 
12
12
  ```text
13
- npx --prefer-offline --yes copilotkit@4.26.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
13
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
14
14
  ```
15
15
 
16
16
  Report your product slug, such as `codex` or `claude-code`. The command needs no sign-in,
@@ -39,13 +39,13 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
39
39
  once:
40
40
 
41
41
  ```text
42
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase delegation-unavailable
42
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase delegation-unavailable
43
43
  ```
44
44
 
45
45
  Before you end your turn to wait for the developer, report the pause:
46
46
 
47
47
  ```text
48
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-developer
48
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
49
49
  ```
50
50
 
51
51
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
@@ -55,7 +55,7 @@ If you stop this run, send one short report before you stop. The friction comman
55
55
  the telemetry setting the developer already chose, so it needs no separate question.
56
56
 
57
57
  ```text
58
- npx --prefer-offline --yes copilotkit@4.26.0 onboard friction --phase stop --category <slug> --message "<sentences>"
58
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard friction --phase stop --category <slug> --message "<sentences>"
59
59
  ```
60
60
 
61
61
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -77,26 +77,28 @@ development/test commands. It must return paths and secret-safe presence checks
77
77
 
78
78
  Require an existing frontend, agent, and CopilotKit round trip. Start only project-owned
79
79
  processes when needed, inspect `/info`, and run
80
- `npx --prefer-offline --yes copilotkit@4.26.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`.
80
+ `npx --prefer-offline --yes copilotkit@4.28.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`.
81
81
  Also drive one existing request through the frontend when browser control is available.
82
+ The `verify` report names the runtime URL it probed. If the dev server serves the
83
+ runtime at another URL, add `--runtime-url <url>`.
82
84
 
83
85
  Wait for the inspection subagent to finish. Then report that the inspection came back:
84
86
 
85
87
  ```text
86
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase research-returned
88
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase research-returned
87
89
  ```
88
90
 
89
91
  If the inspection did not prove the baseline this intent extends, stop here without
90
92
  changing files:
91
93
 
92
94
  ```text
93
- npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/stop
95
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
94
96
  ```
95
97
 
96
98
  When the inspection proved what this intent needs, read the next prompt now, in this turn:
97
99
 
98
100
  ```text
99
- npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/a2ui/plan
101
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/a2ui/plan
100
102
  ```
101
103
 
102
104
  That prompt holds the plan, the developer's approval, and the paths the plan changes.
@@ -19,15 +19,18 @@ On Teams, skip Slack-only tools and the Slack e2e harness. Do not add a CopilotK
19
19
  web app to make this run look complete. Do not replace the existing agent.
20
20
 
21
21
  If repository evidence does not prove an existing valid Intelligence selection, sign in
22
- yourself with `npx --prefer-offline --yes copilotkit@4.26.0 login --json`: the same single streaming
22
+ yourself with `npx --prefer-offline --yes copilotkit@4.28.0 login --json`: the same single streaming
23
23
  session generic onboarding uses. Read its JSON Lines while the process runs. The CLI opens
24
24
  the page itself when it can: with `"browser_opened": false` in `action_required`, show the
25
25
  developer the clickable URL and ask them to finish sign-in there. If the record carries
26
26
  `user_code`, show the developer the code to check against the page. Never ask the developer
27
27
  to run a login command. Keep reading the same process. Continue only after that same process emits
28
28
  `type: completed`. Only when it emits `type: failed`, report the error and take the
29
- feature stop route below. Then list projects and select or create one only after they choose. Require the secret-safe project/key provisioning summary
30
- before wiring the Channel. Never display a key.
29
+ feature stop route below. Then run `npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers`.
30
+ When it holds a `project` answer from the setup message, create or select that project
31
+ without asking again. Otherwise list projects and select or create one only after they
32
+ choose. Require the secret-safe project/key provisioning summary before wiring the
33
+ Channel. Never display a key.
31
34
 
32
35
  Run `channels add` until it reports completed. Run the focused type/test command and
33
36
  start the long-running runtime. Confirm `/info` can return HTTP 200, but treat that
@@ -81,7 +84,7 @@ That result is a question for the developer. Name the file and why the work need
81
84
  Before you end your turn to wait for the developer, report the pause:
82
85
 
83
86
  ```text
84
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-developer
87
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
85
88
  ```
86
89
 
87
90
  Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
@@ -91,12 +94,12 @@ cannot ask, or the developer declines, take the feature stop route below.
91
94
  If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
92
95
  a step, show the developer the list it printed, and run what they choose:
93
96
  the `onboard restore` command the tripwire stop prints, which names each deleted file, or
94
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard tripwire --continue`. Then read the step again.
97
+ `npx --prefer-offline --yes copilotkit@4.28.0 onboard tripwire --continue`. Then read the step again.
95
98
 
96
99
  To route out and stop:
97
100
 
98
101
  ```text
99
- npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/stop
102
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
100
103
  ```
101
104
 
102
105
  ## Values this run writes, and the one credential the developer supplies
@@ -129,7 +132,7 @@ nothing. Ask the developer which Channel this project serves and wait for their
129
132
  Before you end your turn to wait for the developer, report the pause:
130
133
 
131
134
  ```text
132
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-developer
135
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
133
136
  ```
134
137
 
135
138
  The only credential the developer supplies is their model provider key, such as
@@ -143,4 +146,4 @@ If validation cannot pass, or this run needs a prerequisite the app does not hav
143
146
  the feature stop route above without further changes.
144
147
 
145
148
  Otherwise run
146
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/channels/proof`.
149
+ `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/channels/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.28.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.
@@ -48,10 +48,18 @@ Retry it a second way if needed.
48
48
 
49
49
  For an empty folder, OpenTag runs its own agent on `OPENAI_API_KEY`. State that before the
50
50
  plan. Check the target `.env` and the environment for that name. Report presence only, and
51
- never read, print, or store the value. If it is absent, ask the developer to place it as
52
- part of the plan approval, not at backend start. Say that the key is never displayed and
53
- goes only into the project `.env`. Asking for a key the developer already owns is not
54
- creating a credential.
51
+ never read, print, or store the value. If it is absent, run
52
+ `npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers` for the key answer the setup message
53
+ recorded, and do not ask for the key again when it holds one:
54
+
55
+ - `key.file`: the plan copies the key from that file after approval, with
56
+ `npx --prefer-offline --yes copilotkit@4.28.0 onboard credentials --model-key OPENAI_API_KEY --env-path <key.file> --copy-to .env --json`.
57
+ - `key.later`: the plan says the developer adds it to the project `.env` before the backend
58
+ starts.
59
+
60
+ With no key answer, ask the developer to place it as part of the plan approval, not at
61
+ backend start. Say that the key is never displayed and goes only into the project `.env`.
62
+ Asking for a key the developer already owns is not creating a credential.
55
63
 
56
64
  Show a small plan. For an empty folder, clone OpenTag and do not rewrite it. For an
57
65
  existing agent or app, keep that code and wire a managed Channel. Slack or Teams is
@@ -62,7 +70,7 @@ tests and a real mention proof on the chosen provider. Ask for approval as its o
62
70
  Before you end your turn to wait for the developer, report the pause:
63
71
 
64
72
  ```text
65
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-plan-approval
73
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-plan-approval
66
74
  ```
67
75
 
68
76
  Ask the developer before you edit a file that has uncommitted changes. List those files in
@@ -70,4 +78,4 @@ the plan under `Uncommitted files`, each with one sentence explaining why, or wr
70
78
  `git status` names them. The CLI records no consent: the approved plan is the record. The
71
79
  plan must not delete, move, or rename one of those files.
72
80
 
73
- Then run `npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/channels/implement`.
81
+ Then run `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/channels/implement`.
@@ -29,7 +29,7 @@ That result is a question for the developer. Name the file and why the fix needs
29
29
  Before you end your turn to wait for the developer, report the pause:
30
30
 
31
31
  ```text
32
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-developer
32
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
33
33
  ```
34
34
 
35
35
  Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
@@ -39,13 +39,13 @@ or the developer declines, take the feature stop route below.
39
39
  If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
40
40
  a step, show the developer the list it printed, and run what they choose:
41
41
  the `onboard restore` command the tripwire stop prints, which names each deleted file, or
42
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard tripwire --continue`. Then read the step again.
42
+ `npx --prefer-offline --yes copilotkit@4.28.0 onboard tripwire --continue`. Then read the step again.
43
43
 
44
44
  Report the outcome of each attempt as it ends, before any repair. The command counts the
45
45
  attempts and the repairs:
46
46
 
47
47
  ```text
48
- npx --prefer-offline --yes copilotkit@4.26.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
48
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
49
49
  ```
50
50
 
51
51
  Use `passed` only for a proved mention reply, `failed` for an attempted proof that
@@ -54,13 +54,14 @@ failed, and `skipped` when the proof did not run.
54
54
  To route out and stop:
55
55
 
56
56
  ```text
57
- npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/stop
57
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
58
58
  ```
59
59
 
60
60
  When the round trip you reported above was `passed`, run
61
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/complete` and complete with
62
- `--visual-check channels-proof-passed`. The recorded mention and reply are this run's
63
- proof, so no web app check is missing. Use `--visual-check performed` only when a
61
+ `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/complete`, and pass
62
+ `onboard complete` the flag `--visual-check channels-proof-passed`. The recorded mention and
63
+ reply are this run's proof, so no web app check is missing. Use `--visual-check performed`
64
+ only when a
64
65
  browser drove Slack or Teams web and proved the mention reply. Do not use
65
66
  `skipped-no-browser-tool` here: it reports a web app check this run never needed.
66
67
 
@@ -10,7 +10,7 @@ restricted to the target project.
10
10
  Run this before anything else in this prompt:
11
11
 
12
12
  ```text
13
- npx --prefer-offline --yes copilotkit@4.26.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
13
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
14
14
  ```
15
15
 
16
16
  Report your product slug, such as `codex` or `claude-code`. The command needs no sign-in,
@@ -39,13 +39,13 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
39
39
  once:
40
40
 
41
41
  ```text
42
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase delegation-unavailable
42
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase delegation-unavailable
43
43
  ```
44
44
 
45
45
  Before you end your turn to wait for the developer, report the pause:
46
46
 
47
47
  ```text
48
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-developer
48
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
49
49
  ```
50
50
 
51
51
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
@@ -55,7 +55,7 @@ If you stop this run, send one short report before you stop. The friction comman
55
55
  the telemetry setting the developer already chose, so it needs no separate question.
56
56
 
57
57
  ```text
58
- npx --prefer-offline --yes copilotkit@4.26.0 onboard friction --phase stop --category <slug> --message "<sentences>"
58
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard friction --phase stop --category <slug> --message "<sentences>"
59
59
  ```
60
60
 
61
61
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -72,8 +72,9 @@ before a subagent or a project process runs.
72
72
  Before changing files, send a short welcome. Say you will inspect the project, show a
73
73
  Channel plan, implement only after approval, and prove a real mention reply.
74
74
 
75
- Ask Slack or Teams as its own question only when neither the copied prompt nor the
76
- developer already named one. If either named Slack, use Slack. If either named Teams or
75
+ Run `npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers`. When it holds a recorded
76
+ `frontend` of Slack or Microsoft Teams, use that one. Ask Slack or Teams as its own question
77
+ only when neither the record, the copied prompt, nor the developer already named one. If either named Slack, use Slack. If either named Teams or
77
78
  Microsoft Teams, use Teams. Do not ask again.
78
79
 
79
80
  For an empty folder, the OpenTag starter brings its own agent. An agent framework this
@@ -92,7 +93,7 @@ This one does not.
92
93
  Wait for the inspection subagent to finish. Then report that the inspection came back:
93
94
 
94
95
  ```text
95
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase research-returned
96
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase research-returned
96
97
  ```
97
98
 
98
99
  If the folder is empty, check Node 22, `uv`, and Python before cloning. Python 3.12 or
@@ -102,7 +103,7 @@ to install one with `uv python install 3.12`, and continue after the developer a
102
103
  Before you end your turn to wait for the developer, report the pause:
103
104
 
104
105
  ```text
105
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-developer
106
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
106
107
  ```
107
108
 
108
109
  Stop here without cloning only when Node 22 is missing, `uv` is missing, or the developer
@@ -112,13 +113,13 @@ and its install command in the message the developer sees: `nvm install 22` for
112
113
  for Python. Offer a custom headless build as a later path. Then route out:
113
114
 
114
115
  ```text
115
- npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/stop
116
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
116
117
  ```
117
118
 
118
119
  When the tools this run needs are present, read the next prompt now, in this turn:
119
120
 
120
121
  ```text
121
- npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/channels/plan
122
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/channels/plan
122
123
  ```
123
124
 
124
125
  That prompt holds the plan, the developer's approval, and the paths the plan changes.
@@ -21,7 +21,7 @@ That result is a question for the developer. Name the file and why the work need
21
21
  Before you end your turn to wait for the developer, report the pause:
22
22
 
23
23
  ```text
24
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-developer
24
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
25
25
  ```
26
26
 
27
27
  Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
@@ -31,16 +31,16 @@ cannot ask, or the developer declines, take the feature stop route below.
31
31
  If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
32
32
  a step, show the developer the list it printed, and run what they choose:
33
33
  the `onboard restore` command the tripwire stop prints, which names each deleted file, or
34
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard tripwire --continue`. Then read the step again.
34
+ `npx --prefer-offline --yes copilotkit@4.28.0 onboard tripwire --continue`. Then read the step again.
35
35
 
36
36
  To route out and stop:
37
37
 
38
38
  ```text
39
- npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/stop
39
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
40
40
  ```
41
41
 
42
42
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
43
43
  the feature stop route above without further changes.
44
44
 
45
45
  Otherwise run
46
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/chat-suggestions/proof`.
46
+ `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/chat-suggestions/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.28.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.
@@ -48,7 +48,7 @@ question.
48
48
  Before you end your turn to wait for the developer, report the pause:
49
49
 
50
50
  ```text
51
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-plan-approval
51
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-plan-approval
52
52
  ```
53
53
 
54
54
  Ask the developer before you edit a file that has uncommitted changes. List those files in
@@ -56,4 +56,4 @@ the plan under `Uncommitted files`, each with one sentence explaining why, or wr
56
56
  `git status` names them. The CLI records no consent: the approved plan is the record. The
57
57
  plan must not delete, move, or rename one of those files.
58
58
 
59
- Then run `npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/chat-suggestions/implement`.
59
+ Then run `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/chat-suggestions/implement`.
@@ -18,7 +18,7 @@ That result is a question for the developer. Name the file and why the fix needs
18
18
  Before you end your turn to wait for the developer, report the pause:
19
19
 
20
20
  ```text
21
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-developer
21
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
22
22
  ```
23
23
 
24
24
  Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
@@ -28,13 +28,13 @@ or the developer declines, take the feature stop route below.
28
28
  If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
29
29
  a step, show the developer the list it printed, and run what they choose:
30
30
  the `onboard restore` command the tripwire stop prints, which names each deleted file, or
31
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard tripwire --continue`. Then read the step again.
31
+ `npx --prefer-offline --yes copilotkit@4.28.0 onboard tripwire --continue`. Then read the step again.
32
32
 
33
33
  Report the outcome of each attempt as it ends, before any repair. The command counts the
34
34
  attempts and the repairs:
35
35
 
36
36
  ```text
37
- npx --prefer-offline --yes copilotkit@4.26.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
37
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
38
38
  ```
39
39
 
40
40
  Use `passed` only for a proved sent suggestion, `failed` for an attempted proof that failed,
@@ -43,9 +43,9 @@ and `skipped` when the proof could not run.
43
43
  To route out and stop:
44
44
 
45
45
  ```text
46
- npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/stop
46
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
47
47
  ```
48
48
 
49
49
  When the proof is recorded, run
50
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/complete` with the real browser-proof
50
+ `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/complete` with the real browser-proof
51
51
  outcome.
@@ -8,7 +8,7 @@ implementation, and proof to separate subagents and keep all work inside the tar
8
8
  Run this before anything else in this prompt:
9
9
 
10
10
  ```text
11
- npx --prefer-offline --yes copilotkit@4.26.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
11
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
12
12
  ```
13
13
 
14
14
  Report your product slug, such as `codex` or `claude-code`. The command needs no sign-in,
@@ -37,13 +37,13 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
37
37
  once:
38
38
 
39
39
  ```text
40
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase delegation-unavailable
40
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase delegation-unavailable
41
41
  ```
42
42
 
43
43
  Before you end your turn to wait for the developer, report the pause:
44
44
 
45
45
  ```text
46
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-developer
46
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
47
47
  ```
48
48
 
49
49
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
@@ -53,7 +53,7 @@ If you stop this run, send one short report before you stop. The friction comman
53
53
  the telemetry setting the developer already chose, so it needs no separate question.
54
54
 
55
55
  ```text
56
- npx --prefer-offline --yes copilotkit@4.26.0 onboard friction --phase stop --category <slug> --message "<sentences>"
56
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard friction --phase stop --category <slug> --message "<sentences>"
57
57
  ```
58
58
 
59
59
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -69,26 +69,28 @@ before a subagent or a project process runs.
69
69
 
70
70
  Before edits, identify the current CopilotKit provider, chat component, message lifecycle,
71
71
  agent id, package version, and test/dev commands. Prove the existing OSS round trip with
72
- `/info`, `npx --prefer-offline --yes copilotkit@4.26.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
72
+ `/info`, `npx --prefer-offline --yes copilotkit@4.28.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
73
73
  and one real frontend request when browser control is available.
74
+ The `verify` report names the runtime URL it probed. If the dev server serves the
75
+ runtime at another URL, add `--runtime-url <url>`.
74
76
 
75
77
  Wait for the inspection subagent to finish. Then report that the inspection came back:
76
78
 
77
79
  ```text
78
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase research-returned
80
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase research-returned
79
81
  ```
80
82
 
81
83
  If the inspection did not prove the baseline this intent extends, stop here without
82
84
  changing files:
83
85
 
84
86
  ```text
85
- npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/stop
87
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
86
88
  ```
87
89
 
88
90
  When the inspection proved what this intent needs, read the next prompt now, in this turn:
89
91
 
90
92
  ```text
91
- npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/chat-suggestions/plan
93
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/chat-suggestions/plan
92
94
  ```
93
95
 
94
96
  That prompt holds the plan, the developer's approval, and the paths the plan changes.
@@ -3,7 +3,7 @@
3
3
  Use the outcome the proof step observed. Run:
4
4
 
5
5
  ```text
6
- npx --prefer-offline --yes copilotkit@4.26.0 onboard complete --visual-check <performed|skipped-no-browser-tool|channels-proof-passed|failed>
6
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard complete --visual-check <performed|skipped-no-browser-tool|channels-proof-passed|failed>
7
7
  ```
8
8
 
9
9
  Use `channels-proof-passed` for a Slack or Teams run that recorded a passed round-trip proof
@@ -22,7 +22,7 @@ Before `onboard complete`, send the friction this run mentioned to the developer
22
22
  report each, at most four, costliest first:
23
23
 
24
24
  ```text
25
- npx --prefer-offline --yes copilotkit@4.26.0 onboard friction --category <slug> --cost-seconds <seconds> --message "<sentences>"
25
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard friction --category <slug> --cost-seconds <seconds> --message "<sentences>"
26
26
  ```
27
27
 
28
28
  Put one or two sentences in `--message`, with no secrets, source, or logs. Pick the
@@ -16,7 +16,7 @@ follows the telemetry setting the developer already chose, so it needs no separa
16
16
  question.
17
17
 
18
18
  ```text
19
- npx --prefer-offline --yes copilotkit@4.26.0 onboard friction --phase stop --category <slug> --message "<sentences>"
19
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard friction --phase stop --category <slug> --message "<sentences>"
20
20
  ```
21
21
 
22
22
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -48,7 +48,7 @@ settled refusal rather than a missing baseline, so stop here, before any file ch
48
48
  take its own ending:
49
49
 
50
50
  ```text
51
- npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/blocked-by-plan
51
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/blocked-by-plan
52
52
  ```
53
53
 
54
54
  `LEARNING_AVAILABILITY_UNAVAILABLE` means the platform did not resolve the answer. It is
@@ -62,7 +62,7 @@ then, so the read below is where its refusal surfaces.
62
62
  When the plan or the repository already names an id, ask about that one id and nothing else:
63
63
 
64
64
  ```text
65
- npx --prefer-offline --yes copilotkit@4.26.0 learning containers get <id> --json
65
+ npx --prefer-offline --yes copilotkit@4.28.0 learning containers get <id> --json
66
66
  ```
67
67
 
68
68
  One call answers it, and no list is needed.
@@ -70,7 +70,7 @@ One call answers it, and no list is needed.
70
70
  When no id is in hand, survey what the project holds:
71
71
 
72
72
  ```text
73
- npx --prefer-offline --yes copilotkit@4.26.0 learning containers list --json
73
+ npx --prefer-offline --yes copilotkit@4.28.0 learning containers list --json
74
74
  ```
75
75
 
76
76
  One call returns at most 500 containers. When `nextCursor` in the result is not null, read
@@ -84,7 +84,7 @@ the developer which one when more than one could. Otherwise create one.
84
84
  Before you end your turn to wait for the developer, report the pause:
85
85
 
86
86
  ```text
87
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-developer
87
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
88
88
  ```
89
89
 
90
90
  Default to one container for this project, and name it after the project. Learning needs
@@ -99,7 +99,7 @@ user, so the callback can return a different id per tier or per customer.
99
99
  Ask the CLI for the id rather than spelling one yourself:
100
100
 
101
101
  ```text
102
- npx --prefer-offline --yes copilotkit@4.26.0 learning containers default-id --json
102
+ npx --prefer-offline --yes copilotkit@4.28.0 learning containers default-id --json
103
103
  ```
104
104
 
105
105
  It derives the project-scoped id from the selected project's slug, reads the local project
@@ -116,7 +116,7 @@ run that spells the id differently gives one project two containers, each below
116
116
  above on its own. One command is what keeps the two spellings identical.
117
117
 
118
118
  ```text
119
- npx --prefer-offline --yes copilotkit@4.26.0 learning containers create --id <id> --name <name> --json
119
+ npx --prefer-offline --yes copilotkit@4.28.0 learning containers create --id <id> --name <name> --json
120
120
  ```
121
121
 
122
122
  An id already in use answers `LEARNING_CONTAINER_ALREADY_EXISTS`. That is a container to
@@ -143,7 +143,9 @@ such an app on a thread the app created, with `--thread <id>`, which needs no se
143
143
  record UNKNOWN as the expected result here.
144
144
 
145
145
  Run focused tests and
146
- `npx --prefer-offline --yes copilotkit@4.26.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
146
+ `npx --prefer-offline --yes copilotkit@4.28.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
147
+ The `verify` report names the runtime URL it probed. If the dev server serves the
148
+ runtime at another URL, add `--runtime-url <url>`.
147
149
  Repair changed-file failures and record secret-safe evidence.
148
150
 
149
151
  Tell the implementation subagent this rule: it must not edit a file that had uncommitted
@@ -155,7 +157,7 @@ That result is a question for the developer. Name the file and why the work need
155
157
  Before you end your turn to wait for the developer, report the pause:
156
158
 
157
159
  ```text
158
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-developer
160
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
159
161
  ```
160
162
 
161
163
  Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
@@ -165,16 +167,16 @@ cannot ask, or the developer declines, take the feature stop route below.
165
167
  If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
166
168
  a step, show the developer the list it printed, and run what they choose:
167
169
  the `onboard restore` command the tripwire stop prints, which names each deleted file, or
168
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard tripwire --continue`. Then read the step again.
170
+ `npx --prefer-offline --yes copilotkit@4.28.0 onboard tripwire --continue`. Then read the step again.
169
171
 
170
172
  To route out and stop:
171
173
 
172
174
  ```text
173
- npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/stop
175
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
174
176
  ```
175
177
 
176
178
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
177
179
  the feature stop route above without further changes.
178
180
 
179
181
  Otherwise run
180
- `npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/learning/proof`.
182
+ `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/learning/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.28.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.
@@ -52,7 +52,7 @@ now. If the list from `feature/learning/start` holds a container that covers thi
52
52
  name that one. Otherwise ask the CLI for the id of a new one:
53
53
 
54
54
  ```text
55
- npx --prefer-offline --yes copilotkit@4.26.0 learning containers default-id --json
55
+ npx --prefer-offline --yes copilotkit@4.28.0 learning containers default-id --json
56
56
  ```
57
57
 
58
58
  It derives the id from the selected project's slug and needs no credential.
@@ -87,7 +87,7 @@ tracked file, and it accepts a Learning run only after the proof's container che
87
87
  Before you end your turn to wait for the developer, report the pause:
88
88
 
89
89
  ```text
90
- npx --prefer-offline --yes copilotkit@4.26.0 onboard checkpoint --phase awaiting-plan-approval
90
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-plan-approval
91
91
  ```
92
92
 
93
93
  Ask the developer before you edit a file that has uncommitted changes. List those files in
@@ -95,4 +95,4 @@ the plan under `Uncommitted files`, each with one sentence explaining why, or wr
95
95
  `git status` names them. The CLI records no consent: the approved plan is the record. The
96
96
  plan must not delete, move, or rename one of those files.
97
97
 
98
- Then run `npx --prefer-offline --yes copilotkit@4.26.0 onboard read feature/learning/implement`.
98
+ Then run `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/learning/implement`.