copilotkit 4.27.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 +155 -23
  2. package/cli-build-info.json +7 -7
  3. package/index.js +7748 -4981
  4. package/onboarding/index.json +3 -2
  5. package/onboarding/prompts/authenticate/start.md +42 -55
  6. package/onboarding/prompts/conversion/plan.md +3 -3
  7. package/onboarding/prompts/credentials/finalize-plan.md +28 -24
  8. package/onboarding/prompts/credentials/plan.md +31 -28
  9. package/onboarding/prompts/credentials/settle-credentials.md +7 -7
  10. package/onboarding/prompts/credentials/write-plan.md +54 -36
  11. package/onboarding/prompts/deployment/choose-local.md +9 -9
  12. package/onboarding/prompts/deployment/local-evaluation.md +11 -11
  13. package/onboarding/prompts/fallback/best-effort.md +9 -13
  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 +8 -8
  18. package/onboarding/prompts/feature/channels/implement.md +7 -7
  19. package/onboarding/prompts/feature/channels/plan.md +5 -5
  20. package/onboarding/prompts/feature/channels/proof.md +8 -7
  21. package/onboarding/prompts/feature/channels/start.md +9 -9
  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 +8 -8
  26. package/onboarding/prompts/feature/complete.md +2 -2
  27. package/onboarding/prompts/feature/learning/implement.md +12 -12
  28. package/onboarding/prompts/feature/learning/plan.md +4 -4
  29. package/onboarding/prompts/feature/learning/proof.md +13 -13
  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 +8 -8
  35. package/onboarding/prompts/feature/realtime-sync/implement.md +5 -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 +6 -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 +8 -8
  48. package/onboarding/prompts/framework/ag2.md +3 -3
  49. package/onboarding/prompts/framework/agno.md +3 -3
  50. package/onboarding/prompts/framework/built-in.md +3 -3
  51. package/onboarding/prompts/framework/claude-sdk-python.md +3 -3
  52. package/onboarding/prompts/framework/claude-sdk-typescript.md +3 -3
  53. package/onboarding/prompts/framework/crewai-flows.md +6 -6
  54. package/onboarding/prompts/framework/custom-ag-ui.md +4 -4
  55. package/onboarding/prompts/framework/deep-agents.md +3 -3
  56. package/onboarding/prompts/framework/google-adk.md +3 -3
  57. package/onboarding/prompts/framework/langgraph-fastapi.md +3 -3
  58. package/onboarding/prompts/framework/langgraph-python.md +3 -3
  59. package/onboarding/prompts/framework/langgraph-typescript.md +3 -3
  60. package/onboarding/prompts/framework/llamaindex.md +3 -3
  61. package/onboarding/prompts/framework/mastra.md +3 -3
  62. package/onboarding/prompts/framework/ms-agent-dotnet.md +5 -5
  63. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +5 -5
  64. package/onboarding/prompts/framework/ms-agent-python.md +3 -3
  65. package/onboarding/prompts/framework/pydantic-ai.md +3 -3
  66. package/onboarding/prompts/framework/strands-python.md +3 -3
  67. package/onboarding/prompts/framework/strands-typescript.md +3 -3
  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 +12 -12
  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 +16 -14
  75. package/onboarding/prompts/proof/complete.md +6 -7
  76. package/onboarding/prompts/proof/oss-baseline.md +8 -5
  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 +53 -234
  83. package/onboarding/prompts/starter/clone.md +42 -33
  84. package/onboarding/prompts/stopped/run-failed.md +3 -3
  85. package/onboarding/prompts/subagent/create-plan.md +32 -34
  86. package/onboarding/prompts/subagent/implement-and-validate.md +12 -35
  87. package/onboarding/prompts/subagent/inspect-repository.md +1 -1
  88. package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
  89. package/onboarding/prompts/subagent/prove-round-trip.md +35 -52
  90. package/onboarding/prompts/unsupported/no-validated-path.md +3 -3
  91. package/package.json +1 -1
  92. package/release/release-tool.js +8 -1
@@ -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.27.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.
@@ -49,11 +49,11 @@ Retry it a second way if needed.
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
51
  never read, print, or store the value. If it is absent, run
52
- `npx --prefer-offline --yes copilotkit@4.27.0 onboard setup-answers` for the key answer the setup message
52
+ `npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers` for the key answer the setup message
53
53
  recorded, and do not ask for the key again when it holds one:
54
54
 
55
55
  - `key.file`: the plan copies the key from that file after approval, with
56
- `npx --prefer-offline --yes copilotkit@4.27.0 onboard credentials --model-key OPENAI_API_KEY --env-path <key.file> --copy-to .env --json`.
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
57
  - `key.later`: the plan says the developer adds it to the project `.env` before the backend
58
58
  starts.
59
59
 
@@ -70,7 +70,7 @@ tests and a real mention proof on the chosen provider. Ask for approval as its o
70
70
  Before you end your turn to wait for the developer, report the pause:
71
71
 
72
72
  ```text
73
- npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase awaiting-plan-approval
73
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-plan-approval
74
74
  ```
75
75
 
76
76
  Ask the developer before you edit a file that has uncommitted changes. List those files in
@@ -78,4 +78,4 @@ the plan under `Uncommitted files`, each with one sentence explaining why, or wr
78
78
  `git status` names them. The CLI records no consent: the approved plan is the record. The
79
79
  plan must not delete, move, or rename one of those files.
80
80
 
81
- Then run `npx --prefer-offline --yes copilotkit@4.27.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.27.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.27.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.27.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.27.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.27.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.27.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.27.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.27.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.27.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,7 +72,7 @@ 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
- Run `npx --prefer-offline --yes copilotkit@4.27.0 onboard setup-answers`. When it holds a recorded
75
+ Run `npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers`. When it holds a recorded
76
76
  `frontend` of Slack or Microsoft Teams, use that one. Ask Slack or Teams as its own question
77
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
78
78
  Microsoft Teams, use Teams. Do not ask again.
@@ -93,7 +93,7 @@ This one does not.
93
93
  Wait for the inspection subagent to finish. Then report that the inspection came back:
94
94
 
95
95
  ```text
96
- npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase research-returned
96
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase research-returned
97
97
  ```
98
98
 
99
99
  If the folder is empty, check Node 22, `uv`, and Python before cloning. Python 3.12 or
@@ -103,7 +103,7 @@ to install one with `uv python install 3.12`, and continue after the developer a
103
103
  Before you end your turn to wait for the developer, report the pause:
104
104
 
105
105
  ```text
106
- npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase awaiting-developer
106
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
107
107
  ```
108
108
 
109
109
  Stop here without cloning only when Node 22 is missing, `uv` is missing, or the developer
@@ -113,13 +113,13 @@ and its install command in the message the developer sees: `nvm install 22` for
113
113
  for Python. Offer a custom headless build as a later path. Then route out:
114
114
 
115
115
  ```text
116
- npx --prefer-offline --yes copilotkit@4.27.0 onboard read feature/stop
116
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
117
117
  ```
118
118
 
119
119
  When the tools this run needs are present, read the next prompt now, in this turn:
120
120
 
121
121
  ```text
122
- npx --prefer-offline --yes copilotkit@4.27.0 onboard read feature/channels/plan
122
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/channels/plan
123
123
  ```
124
124
 
125
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.27.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.27.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.27.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.27.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.27.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.27.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.27.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.27.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.27.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.27.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.27.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.27.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.27.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.27.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.27.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.27.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,7 +69,7 @@ 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.27.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
74
  The `verify` report names the runtime URL it probed. If the dev server serves the
75
75
  runtime at another URL, add `--runtime-url <url>`.
@@ -77,20 +77,20 @@ runtime at another URL, add `--runtime-url <url>`.
77
77
  Wait for the inspection subagent to finish. Then report that the inspection came back:
78
78
 
79
79
  ```text
80
- npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase research-returned
80
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase research-returned
81
81
  ```
82
82
 
83
83
  If the inspection did not prove the baseline this intent extends, stop here without
84
84
  changing files:
85
85
 
86
86
  ```text
87
- npx --prefer-offline --yes copilotkit@4.27.0 onboard read feature/stop
87
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
88
88
  ```
89
89
 
90
90
  When the inspection proved what this intent needs, read the next prompt now, in this turn:
91
91
 
92
92
  ```text
93
- npx --prefer-offline --yes copilotkit@4.27.0 onboard read feature/chat-suggestions/plan
93
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/chat-suggestions/plan
94
94
  ```
95
95
 
96
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.27.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.27.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.27.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.27.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.27.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.27.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.27.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.27.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.27.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,7 @@ 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.27.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
147
  The `verify` report names the runtime URL it probed. If the dev server serves the
148
148
  runtime at another URL, add `--runtime-url <url>`.
149
149
  Repair changed-file failures and record secret-safe evidence.
@@ -157,7 +157,7 @@ That result is a question for the developer. Name the file and why the work need
157
157
  Before you end your turn to wait for the developer, report the pause:
158
158
 
159
159
  ```text
160
- npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase awaiting-developer
160
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
161
161
  ```
162
162
 
163
163
  Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
@@ -167,16 +167,16 @@ cannot ask, or the developer declines, take the feature stop route below.
167
167
  If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
168
168
  a step, show the developer the list it printed, and run what they choose:
169
169
  the `onboard restore` command the tripwire stop prints, which names each deleted file, or
170
- `npx --prefer-offline --yes copilotkit@4.27.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.
171
171
 
172
172
  To route out and stop:
173
173
 
174
174
  ```text
175
- npx --prefer-offline --yes copilotkit@4.27.0 onboard read feature/stop
175
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
176
176
  ```
177
177
 
178
178
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
179
179
  the feature stop route above without further changes.
180
180
 
181
181
  Otherwise run
182
- `npx --prefer-offline --yes copilotkit@4.27.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.27.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.27.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.27.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.27.0 onboard read feature/learning/implement`.
98
+ Then run `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/learning/implement`.
@@ -12,13 +12,13 @@ A local stack runs Learning only with a model that the developer gave it. Before
12
12
  run this command from the app directory:
13
13
 
14
14
  ```text
15
- npx --prefer-offline --yes copilotkit@4.27.0 local status --json
15
+ npx --prefer-offline --yes copilotkit@4.28.0 local status --json
16
16
  ```
17
17
 
18
18
  Read `learning.configuration`. If it is `configured`, continue with the proof. Any other
19
19
  value means that the stack has no Learning model.
20
20
 
21
- Run `npx --prefer-offline --yes copilotkit@4.27.0 onboard setup-answers`. It holds the setup message's
21
+ Run `npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers`. It holds the setup message's
22
22
  answers, even after this conversation lost them. Take the Learning answer from the record,
23
23
  or this conversation. If it is `later`, the developer chose "configure later" for the
24
24
  Learning model on the local route, so do not ask again. The same holds when neither holds a
@@ -30,7 +30,7 @@ it has a model. Ask them to run this command in their own terminal window, in th
30
30
  directory:
31
31
 
32
32
  ```text
33
- npx --prefer-offline --yes copilotkit@4.27.0 local setup
33
+ npx --prefer-offline --yes copilotkit@4.28.0 local setup
34
34
  ```
35
35
 
36
36
  Do not give it as a `!` line, and do not run it yourself. Its guided model prompt needs a
@@ -40,13 +40,13 @@ On a running stack, it restarts only Learning. The container and its threads sta
40
40
  ask the developer to write a model file, and do not read or print the model key.
41
41
 
42
42
  Say that the run continues when they reply or resume this session. Report the pause with
43
- `npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase awaiting-model-credential`, end your
43
+ `npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-model-credential`, end your
44
44
  turn, and wait. When the developer replies, run `local status --json` again.
45
45
  When it reports `configured`, continue with the proof.
46
46
 
47
47
  If the developer declines, continue with the proof, because the container assignment can
48
48
  still be proved. In the closing report, write "Learning configuration incomplete". Name the
49
- command that adds the model later: `npx --prefer-offline --yes copilotkit@4.27.0 local setup`, run from
49
+ command that adds the model later: `npx --prefer-offline --yes copilotkit@4.28.0 local setup`, run from
50
50
  the app directory. `learning.verified` is always `false`. It does not mean that Learning
51
51
  failed.
52
52
 
@@ -55,7 +55,7 @@ failed.
55
55
  One command decides it:
56
56
 
57
57
  ```text
58
- npx --prefer-offline --yes copilotkit@4.27.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --expect-learning-container <id> --json
58
+ npx --prefer-offline --yes copilotkit@4.28.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --expect-learning-container <id> --json
59
59
  ```
60
60
 
61
61
  It reads the thread back from the platform, so it answers for any runtime mount, and it
@@ -74,11 +74,11 @@ a signed-in user, read that request's `threadId` from the request body the page
74
74
  the runtime, and prove the same thread. Where the page needs a sign-in, do not create an
75
75
  account and do not enter credentials. Where you cannot send the request yourself, ask the
76
76
  developer to send one message on a new thread and give you its thread id. Report the pause
77
- with `npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase awaiting-developer`, then
77
+ with `npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer`, then
78
78
  end your turn and wait. When the developer gives the id, prove that thread:
79
79
 
80
80
  ```text
81
- npx --prefer-offline --yes copilotkit@4.27.0 verify --expect-runtime intelligence --thread <thread-id> --expect-learning-container <id> --json
81
+ npx --prefer-offline --yes copilotkit@4.28.0 verify --expect-runtime intelligence --thread <thread-id> --expect-learning-container <id> --json
82
82
  ```
83
83
 
84
84
  It reads that thread from the platform with the project key and starts no run.
@@ -108,7 +108,7 @@ That result is a question for the developer. Name the file and why the fix needs
108
108
  Before you end your turn to wait for the developer, report the pause:
109
109
 
110
110
  ```text
111
- npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase awaiting-developer
111
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
112
112
  ```
113
113
 
114
114
  Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
@@ -118,13 +118,13 @@ or the developer declines, take the feature stop route below.
118
118
  If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
119
119
  a step, show the developer the list it printed, and run what they choose:
120
120
  the `onboard restore` command the tripwire stop prints, which names each deleted file, or
121
- `npx --prefer-offline --yes copilotkit@4.27.0 onboard tripwire --continue`. Then read the step again.
121
+ `npx --prefer-offline --yes copilotkit@4.28.0 onboard tripwire --continue`. Then read the step again.
122
122
 
123
123
  Report the outcome of each attempt as it ends, before any repair. The command counts the
124
124
  attempts and the repairs:
125
125
 
126
126
  ```text
127
- npx --prefer-offline --yes copilotkit@4.27.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
127
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
128
128
  ```
129
129
 
130
130
  Use `passed` only for a proved Container assignment, `failed` for an attempted proof that
@@ -133,9 +133,9 @@ failed, and `skipped` when the proof could not run.
133
133
  To route out and stop:
134
134
 
135
135
  ```text
136
- npx --prefer-offline --yes copilotkit@4.27.0 onboard read feature/stop
136
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
137
137
  ```
138
138
 
139
139
  When the proof is recorded, run
140
- `npx --prefer-offline --yes copilotkit@4.27.0 onboard read feature/complete` with the actual surface
140
+ `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/complete` with the actual surface
141
141
  outcome.
@@ -9,7 +9,7 @@ subagents. Work only inside the target project and preserve its existing agent a
9
9
  Run this before anything else in this prompt:
10
10
 
11
11
  ```text
12
- npx --prefer-offline --yes copilotkit@4.27.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
12
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
13
13
  ```
14
14
 
15
15
  Report your product slug, such as `codex` or `claude-code`. The command needs no sign-in,
@@ -38,13 +38,13 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
38
38
  once:
39
39
 
40
40
  ```text
41
- npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase delegation-unavailable
41
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase delegation-unavailable
42
42
  ```
43
43
 
44
44
  Before you end your turn to wait for the developer, report the pause:
45
45
 
46
46
  ```text
47
- npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase awaiting-developer
47
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
48
48
  ```
49
49
 
50
50
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
@@ -54,7 +54,7 @@ If you stop this run, send one short report before you stop. The friction comman
54
54
  the telemetry setting the developer already chose, so it needs no separate question.
55
55
 
56
56
  ```text
57
- npx --prefer-offline --yes copilotkit@4.27.0 onboard friction --phase stop --category <slug> --message "<sentences>"
57
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard friction --phase stop --category <slug> --message "<sentences>"
58
58
  ```
59
59
 
60
60
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -84,7 +84,7 @@ status:
84
84
  before the capture, the inspection, and any edit:
85
85
 
86
86
  ```text
87
- npx --prefer-offline --yes copilotkit@4.27.0 onboard read feature/blocked-by-plan
87
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/blocked-by-plan
88
88
  ```
89
89
 
90
90
  - `LEARNING_AVAILABILITY_UNAVAILABLE` means the platform did not resolve the answer. It is
@@ -112,20 +112,20 @@ test/dev commands. Prove the current round trip and inspect `/info`.
112
112
  Wait for the inspection subagent to finish. Then report that the inspection came back:
113
113
 
114
114
  ```text
115
- npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase research-returned
115
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase research-returned
116
116
  ```
117
117
 
118
118
  If the inspection did not prove the baseline this intent extends, stop here without
119
119
  changing files:
120
120
 
121
121
  ```text
122
- npx --prefer-offline --yes copilotkit@4.27.0 onboard read feature/stop
122
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
123
123
  ```
124
124
 
125
125
  When the inspection proved what this intent needs, read the next prompt now, in this turn:
126
126
 
127
127
  ```text
128
- npx --prefer-offline --yes copilotkit@4.27.0 onboard read feature/learning/plan
128
+ npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/learning/plan
129
129
  ```
130
130
 
131
131
  That prompt holds the plan, the developer's approval, and the paths the plan changes.