copilotkit 4.17.0 → 4.19.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 (81) hide show
  1. package/README.md +133 -6
  2. package/cli-build-info.json +7 -7
  3. package/exporters/langgraph/README.md +118 -0
  4. package/exporters/langgraph/export_checkpointer.py +125 -0
  5. package/index.js +13382 -9313
  6. package/onboarding/index.json +1 -1
  7. package/onboarding/prompts/authenticate/start.md +31 -23
  8. package/onboarding/prompts/conversion/plan.md +3 -3
  9. package/onboarding/prompts/credentials/finalize-plan.md +57 -200
  10. package/onboarding/prompts/credentials/plan.md +50 -23
  11. package/onboarding/prompts/credentials/settle-credentials.md +56 -217
  12. package/onboarding/prompts/credentials/write-plan.md +17 -8
  13. package/onboarding/prompts/fallback/best-effort.md +36 -24
  14. package/onboarding/prompts/feature/a2ui/implement.md +7 -7
  15. package/onboarding/prompts/feature/a2ui/proof.md +8 -8
  16. package/onboarding/prompts/feature/a2ui/start.md +53 -9
  17. package/onboarding/prompts/feature/channels/implement.md +8 -8
  18. package/onboarding/prompts/feature/channels/proof.md +7 -7
  19. package/onboarding/prompts/feature/channels/start.md +50 -7
  20. package/onboarding/prompts/feature/chat-suggestions/implement.md +7 -7
  21. package/onboarding/prompts/feature/chat-suggestions/proof.md +7 -7
  22. package/onboarding/prompts/feature/chat-suggestions/start.md +50 -7
  23. package/onboarding/prompts/feature/complete.md +2 -2
  24. package/onboarding/prompts/feature/learning/implement.md +24 -19
  25. package/onboarding/prompts/feature/learning/proof.md +8 -8
  26. package/onboarding/prompts/feature/learning/start.md +43 -20
  27. package/onboarding/prompts/feature/open-generative-ui/implement.md +7 -7
  28. package/onboarding/prompts/feature/open-generative-ui/proof.md +7 -7
  29. package/onboarding/prompts/feature/open-generative-ui/start.md +50 -7
  30. package/onboarding/prompts/feature/realtime-sync/implement.md +8 -8
  31. package/onboarding/prompts/feature/realtime-sync/proof.md +7 -7
  32. package/onboarding/prompts/feature/realtime-sync/start.md +49 -6
  33. package/onboarding/prompts/feature/rich-threads/implement.md +9 -9
  34. package/onboarding/prompts/feature/rich-threads/proof.md +7 -7
  35. package/onboarding/prompts/feature/rich-threads/start.md +49 -6
  36. package/onboarding/prompts/feature/stop.md +5 -5
  37. package/onboarding/prompts/feature/voice/implement.md +7 -7
  38. package/onboarding/prompts/feature/voice/proof.md +7 -7
  39. package/onboarding/prompts/feature/voice/start.md +50 -7
  40. package/onboarding/prompts/framework/ag2.md +2 -2
  41. package/onboarding/prompts/framework/agno.md +2 -2
  42. package/onboarding/prompts/framework/built-in.md +2 -2
  43. package/onboarding/prompts/framework/claude-sdk-python.md +2 -2
  44. package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
  45. package/onboarding/prompts/framework/crewai-flows.md +2 -2
  46. package/onboarding/prompts/framework/deep-agents.md +2 -2
  47. package/onboarding/prompts/framework/google-adk.md +2 -2
  48. package/onboarding/prompts/framework/langgraph-fastapi.md +2 -2
  49. package/onboarding/prompts/framework/langgraph-python.md +2 -2
  50. package/onboarding/prompts/framework/langgraph-typescript.md +2 -2
  51. package/onboarding/prompts/framework/llamaindex.md +2 -2
  52. package/onboarding/prompts/framework/mastra.md +2 -2
  53. package/onboarding/prompts/framework/ms-agent-dotnet.md +8 -3
  54. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +8 -3
  55. package/onboarding/prompts/framework/ms-agent-python.md +2 -2
  56. package/onboarding/prompts/framework/pydantic-ai.md +2 -2
  57. package/onboarding/prompts/framework/strands-python.md +2 -2
  58. package/onboarding/prompts/framework/strands-typescript.md +2 -2
  59. package/onboarding/prompts/frontend/angular.md +3 -3
  60. package/onboarding/prompts/frontend/nextjs.md +3 -3
  61. package/onboarding/prompts/frontend/plan.md +9 -8
  62. package/onboarding/prompts/frontend/react-native.md +2 -2
  63. package/onboarding/prompts/frontend/react-spa.md +2 -2
  64. package/onboarding/prompts/frontend/vue.md +2 -2
  65. package/onboarding/prompts/implementation/build-and-validate.md +27 -20
  66. package/onboarding/prompts/proof/complete.md +35 -19
  67. package/onboarding/prompts/proof/oss-baseline.md +5 -5
  68. package/onboarding/prompts/proof/round-trip.md +29 -20
  69. package/onboarding/prompts/research/gather.md +6 -6
  70. package/onboarding/prompts/research/merge.md +5 -4
  71. package/onboarding/prompts/research/preflight.md +15 -50
  72. package/onboarding/prompts/research/route.md +7 -6
  73. package/onboarding/prompts/starter/clone.md +8 -7
  74. package/onboarding/prompts/stopped/run-failed.md +4 -4
  75. package/onboarding/prompts/subagent/create-plan.md +19 -1
  76. package/onboarding/prompts/subagent/inspect-repository.md +18 -3
  77. package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
  78. package/onboarding/prompts/subagent/prove-round-trip.md +106 -62
  79. package/onboarding/prompts/unsupported/no-validated-path.md +4 -4
  80. package/package.json +1 -1
  81. package/release/release-tool.js +28 -5
@@ -4,10 +4,53 @@ Treat realtime sync as the Intelligence thread-realtime plane, not as a generic
4
4
  exercise. Act as the orchestrator and delegate read-only inspection, implementation, and
5
5
  two-context proof to subagents within the target project.
6
6
 
7
+ ## Waits, stops, and subagents
8
+
9
+ A run that starts here has not read these rules yet, so they come first. They cover this
10
+ prompt and every later one.
11
+
12
+ Spawning a subagent returns almost at once. That return is the dispatch succeeding, not the
13
+ work finishing: the result reaches you as a notification, or with the dispatch itself where
14
+ your harness works that way. Do the work that does not depend on the result, then end your
15
+ turn and wait for the result. That wait is a pause. Do not sleep or poll.
16
+
17
+ A subagent that returns no usable result failed in your harness, not in this graph. Every
18
+ assignment here is work you can do yourself, slower, so run that assignment yourself and
19
+ carry on. Keep a read-only assignment read-only. If no subagent works at all, report it
20
+ once:
21
+
22
+ ```text
23
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase delegation-unavailable
24
+ ```
25
+
26
+ Before you end your turn to wait for the developer, report the pause:
27
+
28
+ ```text
29
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase awaiting-developer
30
+ ```
31
+
32
+ A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
33
+ When the answer or the result arrives, continue from the step that paused.
34
+
35
+ If you stop this run, send one short report before you stop. The friction command follows
36
+ the telemetry setting the developer already chose, so it needs no separate question.
37
+
38
+ ```text
39
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard friction --phase stop --category <slug> --message "<sentences>"
40
+ ```
41
+
42
+ `--message` takes one or two sentences: the step you stopped at and what stopped it.
43
+ Pick the category that fits from docs-missing, docs-wrong, docs-sequential, cli-gap,
44
+ sdk-gap, environment, port-collision, credential, validation-loop, and other. Leave
45
+ --cost-seconds off. Send no secrets, source code, logs, or command output. A refused report
46
+ is not a failed step: reword it and send it again, or stop without a report. A stop that
47
+ routes to `feature/stop` sends no report here: that prompt first asks the developer about
48
+ one scoped fix, and sends the report itself when no fix is approved.
49
+
7
50
  Before any subagent or project process runs, capture the developer's existing work:
8
51
 
9
52
  ```text
10
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect
53
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard protect
11
54
  ```
12
55
 
13
56
  Keep the exact protected path list it prints and give that list to every subagent. No
@@ -22,7 +65,7 @@ round trip and inspect `/info`.
22
65
  Wait for the inspection subagent to finish. Then report that the inspection came back:
23
66
 
24
67
  ```text
25
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase research-returned
68
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase research-returned
26
69
  ```
27
70
 
28
71
  A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
@@ -32,7 +75,7 @@ If the inspection did not prove the baseline this intent extends, stop here with
32
75
  changing files:
33
76
 
34
77
  ```text
35
- npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
78
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard read feature/stop
36
79
  ```
37
80
 
38
81
  Fetch the current official guides before planning:
@@ -58,7 +101,7 @@ one.
58
101
  After approval, record each approved path before implementation:
59
102
 
60
103
  ```text
61
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
104
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
62
105
  ```
63
106
 
64
107
  If an approved path changed after capture and no implementation step has run, add
@@ -68,7 +111,7 @@ authorize a path the approved plan did not list.
68
111
  Then report the plan this run is about to implement:
69
112
 
70
113
  ```text
71
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase plan-written
114
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase plan-written
72
115
  ```
73
116
 
74
- Then run `npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/realtime-sync/implement`.
117
+ Then run `npx --prefer-offline --yes copilotkit@4.19.0 onboard read feature/realtime-sync/implement`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Delegate implementation to one subagent with the approved plan and fetched official guides.
4
4
  If repository evidence does not prove an existing valid Intelligence selection, run
5
- `npx --prefer-offline --yes copilotkit@4.17.0 login --json` and follow its single streaming session. Then
5
+ `npx --prefer-offline --yes copilotkit@4.19.0 login --json` and follow its single streaming session. Then
6
6
  list projects, show the developer the current/recent choices, and select or create one only
7
7
  after they choose. Require the secret-safe selection summary to confirm the project file,
8
8
  environment file, and key provisioning; never display a key. If existing configuration is
@@ -20,14 +20,14 @@ non-zero on an app that is working. Pass what `identifyUser` reads with a repeat
20
20
  It is not a defect to repair.
21
21
 
22
22
  Run focused type/test commands, then start the app and run
23
- `npx --prefer-offline --yes copilotkit@4.17.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
23
+ `npx --prefer-offline --yes copilotkit@4.19.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
24
24
  Repair changed-file failures before continuing. Record changed paths and secret-safe
25
25
  validation evidence.
26
26
 
27
27
  Before you spawn the implementation subagent, take the authorized list from the CLI:
28
28
 
29
29
  ```text
30
- npx --prefer-offline --yes copilotkit@4.17.0 onboard audit
30
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard audit
31
31
  ```
32
32
 
33
33
  From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
@@ -46,7 +46,7 @@ still go on the record. Name the file and why the work needs it, then end your t
46
46
  for the developer's answer. If they allow it, record their answer before any edit:
47
47
 
48
48
  ```text
49
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
49
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
50
50
  ```
51
51
 
52
52
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -58,7 +58,7 @@ feature stop route below.
58
58
  After validation and each repair, run:
59
59
 
60
60
  ```text
61
- npx --prefer-offline --yes copilotkit@4.17.0 onboard audit
61
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard audit
62
62
  ```
63
63
 
64
64
  Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
@@ -69,7 +69,7 @@ with the implementation subagent's `Files changed` section. If that section does
69
69
  the path, accept the developer's external change:
70
70
 
71
71
  ```text
72
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --accept-external --path <path>
72
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard protect --accept-external --path <path>
73
73
  ```
74
74
 
75
75
  For an env file where the developer placed a requested credential, use
@@ -82,17 +82,17 @@ Run the audit again after each accepted change. If it still fails, or starts
82
82
  with `Status: blocked`, route out and stop:
83
83
 
84
84
  ```text
85
- npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
85
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard read feature/stop
86
86
  ```
87
87
 
88
88
  When implementation validation passes, report it:
89
89
 
90
90
  ```text
91
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase build-validated
91
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase build-validated
92
92
  ```
93
93
 
94
94
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
95
95
  the feature stop route above without further changes.
96
96
 
97
97
  Otherwise run
98
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/rich-threads/proof`.
98
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read feature/rich-threads/proof`.
@@ -22,7 +22,7 @@ still go on the record. Name the file and why the fix needs it, then end your tu
22
22
  for the developer's answer. If they allow it, record their answer before any edit:
23
23
 
24
24
  ```text
25
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
25
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
26
26
  ```
27
27
 
28
28
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -34,24 +34,24 @@ route below.
34
34
  Report each attempt at the proof as it ends, counting from one:
35
35
 
36
36
  ```text
37
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase journey-attempted --attempt 1
37
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase journey-attempted --attempt 1
38
38
  ```
39
39
 
40
40
  Report each repair cycle the same way, counting from one:
41
41
 
42
42
  ```text
43
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase repair-attempted --attempt 1
43
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase repair-attempted --attempt 1
44
44
  ```
45
45
 
46
46
  After the final attempt, report the gate exactly once:
47
47
 
48
48
  ```text
49
- npx --prefer-offline --yes copilotkit@4.17.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
49
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
50
50
  ```
51
51
 
52
52
  Use `passed` only for proved persistence and reopen, `failed` for an attempted proof that
53
53
  failed, and `skipped` when the proof could not run. Then run
54
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard audit`. Continue only when it starts with
54
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard audit`. Continue only when it starts with
55
55
  `Status: passed`.
56
56
 
57
57
  If the audit fails, never repair, reset, or revert a protected path. Compare each named path
@@ -66,9 +66,9 @@ the path and the change the audit reports. Run the audit again after each accept
66
66
  If the audit still fails, or starts with `Status: blocked`, route out and stop:
67
67
 
68
68
  ```text
69
- npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
69
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard read feature/stop
70
70
  ```
71
71
 
72
72
  When the audit passes, run
73
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/complete` with the actual browser
73
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read feature/complete` with the actual browser
74
74
  outcome.
@@ -4,10 +4,53 @@ Treat Rich Threads as a managed Intelligence feature layered onto the existing a
4
4
  reason to replace its agent or chat. Act as the orchestrator and delegate inspection,
5
5
  implementation, and proof to separate subagents within the target project.
6
6
 
7
+ ## Waits, stops, and subagents
8
+
9
+ A run that starts here has not read these rules yet, so they come first. They cover this
10
+ prompt and every later one.
11
+
12
+ Spawning a subagent returns almost at once. That return is the dispatch succeeding, not the
13
+ work finishing: the result reaches you as a notification, or with the dispatch itself where
14
+ your harness works that way. Do the work that does not depend on the result, then end your
15
+ turn and wait for the result. That wait is a pause. Do not sleep or poll.
16
+
17
+ A subagent that returns no usable result failed in your harness, not in this graph. Every
18
+ assignment here is work you can do yourself, slower, so run that assignment yourself and
19
+ carry on. Keep a read-only assignment read-only. If no subagent works at all, report it
20
+ once:
21
+
22
+ ```text
23
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase delegation-unavailable
24
+ ```
25
+
26
+ Before you end your turn to wait for the developer, report the pause:
27
+
28
+ ```text
29
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase awaiting-developer
30
+ ```
31
+
32
+ A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
33
+ When the answer or the result arrives, continue from the step that paused.
34
+
35
+ If you stop this run, send one short report before you stop. The friction command follows
36
+ the telemetry setting the developer already chose, so it needs no separate question.
37
+
38
+ ```text
39
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard friction --phase stop --category <slug> --message "<sentences>"
40
+ ```
41
+
42
+ `--message` takes one or two sentences: the step you stopped at and what stopped it.
43
+ Pick the category that fits from docs-missing, docs-wrong, docs-sequential, cli-gap,
44
+ sdk-gap, environment, port-collision, credential, validation-loop, and other. Leave
45
+ --cost-seconds off. Send no secrets, source code, logs, or command output. A refused report
46
+ is not a failed step: reword it and send it again, or stop without a report. A stop that
47
+ routes to `feature/stop` sends no report here: that prompt first asks the developer about
48
+ one scoped fix, and sends the report itself when no fix is approved.
49
+
7
50
  Before any subagent or project process runs, capture the developer's existing work:
8
51
 
9
52
  ```text
10
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect
53
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard protect
11
54
  ```
12
55
 
13
56
  Keep the exact protected path list it prints and give that list to every subagent. No
@@ -22,7 +65,7 @@ the current frontend-to-runtime-to-agent round trip and inspect `/info`.
22
65
  Wait for the inspection subagent to finish. Then report that the inspection came back:
23
66
 
24
67
  ```text
25
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase research-returned
68
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase research-returned
26
69
  ```
27
70
 
28
71
  A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
@@ -32,7 +75,7 @@ If the inspection did not prove the baseline this intent extends, stop here with
32
75
  changing files:
33
76
 
34
77
  ```text
35
- npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
78
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard read feature/stop
36
79
  ```
37
80
 
38
81
  Fetch the current official guides before planning:
@@ -60,7 +103,7 @@ one.
60
103
  After approval, record each approved path before implementation:
61
104
 
62
105
  ```text
63
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
106
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
64
107
  ```
65
108
 
66
109
  If an approved path changed after capture and no implementation step has run, add
@@ -70,7 +113,7 @@ authorize a path the approved plan did not list.
70
113
  Then report the plan this run is about to implement:
71
114
 
72
115
  ```text
73
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase plan-written
116
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase plan-written
74
117
  ```
75
118
 
76
- Then run `npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/rich-threads/implement`.
119
+ Then run `npx --prefer-offline --yes copilotkit@4.19.0 onboard read feature/rich-threads/implement`.
@@ -20,7 +20,7 @@ a `start` with no `--run` reprints the id this stopped run already holds, and on
20
20
  covering both reads as one run that did two different things.
21
21
 
22
22
  ```text
23
- npx --prefer-offline --yes copilotkit@4.17.0 onboard start --run <new-12-character-id>
23
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard start --run <new-12-character-id>
24
24
  ```
25
25
 
26
26
  Do not read a generic onboarding node from this run. A feature run and a generic run are
@@ -48,7 +48,7 @@ put to them, stop here and send the report below.
48
48
  If they approve it, make that one fix and nothing else. Then come back into this run:
49
49
 
50
50
  ```text
51
- npx --prefer-offline --yes copilotkit@4.17.0 onboard resume --message "<approval>"
51
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard resume --message "<approval>"
52
52
  ```
53
53
 
54
54
  Put the developer's approval in `--message`, in one or two sentences: the fix they
@@ -65,11 +65,11 @@ said and stop.
65
65
 
66
66
  ## If no fix is approved
67
67
 
68
- Send one short report. Run the friction command without another developer question. Do not
69
- ask the developer about telemetry: the command applies the setting they already have.
68
+ Send one short report. The friction command follows the telemetry setting the developer
69
+ already chose, so it needs no separate question.
70
70
 
71
71
  ```text
72
- npx --prefer-offline --yes copilotkit@4.17.0 onboard friction --phase stop --category <slug> --message "<sentences>"
72
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard friction --phase stop --category <slug> --message "<sentences>"
73
73
  ```
74
74
 
75
75
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -14,7 +14,7 @@ voice proof. Record changed paths and validation results.
14
14
  Before you spawn the implementation subagent, take the authorized list from the CLI:
15
15
 
16
16
  ```text
17
- npx --prefer-offline --yes copilotkit@4.17.0 onboard audit
17
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard audit
18
18
  ```
19
19
 
20
20
  From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
@@ -33,7 +33,7 @@ still go on the record. Name the file and why the work needs it, then end your t
33
33
  for the developer's answer. If they allow it, record their answer before any edit:
34
34
 
35
35
  ```text
36
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
36
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
37
37
  ```
38
38
 
39
39
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -45,7 +45,7 @@ feature stop route below.
45
45
  After validation and each repair, run:
46
46
 
47
47
  ```text
48
- npx --prefer-offline --yes copilotkit@4.17.0 onboard audit
48
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard audit
49
49
  ```
50
50
 
51
51
  Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
@@ -56,7 +56,7 @@ with the implementation subagent's `Files changed` section. If that section does
56
56
  the path, accept the developer's external change:
57
57
 
58
58
  ```text
59
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --accept-external --path <path>
59
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard protect --accept-external --path <path>
60
60
  ```
61
61
 
62
62
  For an env file where the developer placed a requested credential, use
@@ -69,17 +69,17 @@ Run the audit again after each accepted change. If it still fails, or starts
69
69
  with `Status: blocked`, route out and stop:
70
70
 
71
71
  ```text
72
- npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
72
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard read feature/stop
73
73
  ```
74
74
 
75
75
  When implementation validation passes, report it:
76
76
 
77
77
  ```text
78
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase build-validated
78
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase build-validated
79
79
  ```
80
80
 
81
81
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
82
82
  the feature stop route above without further changes.
83
83
 
84
84
  Otherwise run
85
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/voice/proof`.
85
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read feature/voice/proof`.
@@ -21,7 +21,7 @@ still go on the record. Name the file and why the fix needs it, then end your tu
21
21
  for the developer's answer. If they allow it, record their answer before any edit:
22
22
 
23
23
  ```text
24
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
24
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
25
25
  ```
26
26
 
27
27
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -33,23 +33,23 @@ route below.
33
33
  Report each attempt at the proof as it ends, counting from one:
34
34
 
35
35
  ```text
36
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase journey-attempted --attempt 1
36
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase journey-attempted --attempt 1
37
37
  ```
38
38
 
39
39
  Report each repair cycle the same way, counting from one:
40
40
 
41
41
  ```text
42
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase repair-attempted --attempt 1
42
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase repair-attempted --attempt 1
43
43
  ```
44
44
 
45
45
  After the final attempt, report the gate exactly once:
46
46
 
47
47
  ```text
48
- npx --prefer-offline --yes copilotkit@4.17.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
48
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
49
49
  ```
50
50
 
51
51
  Use `passed` only for proved voice input, `failed` for an attempted proof that failed, and
52
- `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.17.0 onboard audit`.
52
+ `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.19.0 onboard audit`.
53
53
  Continue only when it starts with `Status: passed`.
54
54
 
55
55
  If the audit fails, never repair, reset, or revert a protected path. Compare each named path
@@ -64,9 +64,9 @@ the path and the change the audit reports. Run the audit again after each accept
64
64
  If the audit still fails, or starts with `Status: blocked`, route out and stop:
65
65
 
66
66
  ```text
67
- npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
67
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard read feature/stop
68
68
  ```
69
69
 
70
70
  When the audit passes, run
71
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/complete` with the actual surface
71
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read feature/complete` with the actual surface
72
72
  outcome.
@@ -3,10 +3,53 @@
3
3
  Treat voice as an OSS enhancement to an existing CopilotKit chat. Orchestrate with separate
4
4
  read-only, implementation, and proof subagents, each restricted to the target project.
5
5
 
6
+ ## Waits, stops, and subagents
7
+
8
+ A run that starts here has not read these rules yet, so they come first. They cover this
9
+ prompt and every later one.
10
+
11
+ Spawning a subagent returns almost at once. That return is the dispatch succeeding, not the
12
+ work finishing: the result reaches you as a notification, or with the dispatch itself where
13
+ your harness works that way. Do the work that does not depend on the result, then end your
14
+ turn and wait for the result. That wait is a pause. Do not sleep or poll.
15
+
16
+ A subagent that returns no usable result failed in your harness, not in this graph. Every
17
+ assignment here is work you can do yourself, slower, so run that assignment yourself and
18
+ carry on. Keep a read-only assignment read-only. If no subagent works at all, report it
19
+ once:
20
+
21
+ ```text
22
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase delegation-unavailable
23
+ ```
24
+
25
+ Before you end your turn to wait for the developer, report the pause:
26
+
27
+ ```text
28
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase awaiting-developer
29
+ ```
30
+
31
+ A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
32
+ When the answer or the result arrives, continue from the step that paused.
33
+
34
+ If you stop this run, send one short report before you stop. The friction command follows
35
+ the telemetry setting the developer already chose, so it needs no separate question.
36
+
37
+ ```text
38
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard friction --phase stop --category <slug> --message "<sentences>"
39
+ ```
40
+
41
+ `--message` takes one or two sentences: the step you stopped at and what stopped it.
42
+ Pick the category that fits from docs-missing, docs-wrong, docs-sequential, cli-gap,
43
+ sdk-gap, environment, port-collision, credential, validation-loop, and other. Leave
44
+ --cost-seconds off. Send no secrets, source code, logs, or command output. A refused report
45
+ is not a failed step: reword it and send it again, or stop without a report. A stop that
46
+ routes to `feature/stop` sends no report here: that prompt first asks the developer about
47
+ one scoped fix, and sends the report itself when no fix is approved.
48
+
6
49
  Before any subagent or project process runs, capture the developer's existing work:
7
50
 
8
51
  ```text
9
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect
52
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard protect
10
53
  ```
11
54
 
12
55
  Keep the exact protected path list it prints and give that list to every subagent. No
@@ -16,13 +59,13 @@ approved authorization before implementation.
16
59
  Before edits, inspect the runtime route, CopilotKit provider/chat composer, current agent,
17
60
  existing provider credential variable names (presence only), package versions, browser
18
61
  permissions approach, and test/dev commands. Prove the existing OSS baseline with `/info`,
19
- `npx --prefer-offline --yes copilotkit@4.17.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
62
+ `npx --prefer-offline --yes copilotkit@4.19.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
20
63
  and a real UI request when a browser is available.
21
64
 
22
65
  Wait for the inspection subagent to finish. Then report that the inspection came back:
23
66
 
24
67
  ```text
25
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase research-returned
68
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase research-returned
26
69
  ```
27
70
 
28
71
  A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
@@ -32,7 +75,7 @@ If the inspection did not prove the baseline this intent extends, stop here with
32
75
  changing files:
33
76
 
34
77
  ```text
35
- npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
78
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard read feature/stop
36
79
  ```
37
80
 
38
81
  Do not run login, select Intelligence, create a credential, read a credential value, or
@@ -53,7 +96,7 @@ one.
53
96
  After approval, record each approved path before implementation:
54
97
 
55
98
  ```text
56
- npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
99
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
57
100
  ```
58
101
 
59
102
  If an approved path changed after capture and no implementation step has run, add
@@ -63,7 +106,7 @@ authorize a path the approved plan did not list.
63
106
  Then report the plan this run is about to implement:
64
107
 
65
108
  ```text
66
- npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase plan-written
109
+ npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase plan-written
67
110
  ```
68
111
 
69
- Then run `npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/voice/implement`.
112
+ Then run `npx --prefer-offline --yes copilotkit@4.19.0 onboard read feature/voice/implement`.
@@ -31,7 +31,7 @@ Record the selected framework, vendor, model, required credential variable names
31
31
  URLs, and the A2UI documentation gap.
32
32
 
33
33
  If the pages support the selection, run
34
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/plan`.
34
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/plan`.
35
35
 
36
36
  If the documentation does not support the selection, run
37
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
37
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.
@@ -34,7 +34,7 @@ Record the selected framework, vendor, model, required credential variable names
34
34
  URLs, the documented dependencies and adapter, and the context documentation gap.
35
35
 
36
36
  If the pages support the selection, run
37
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/plan`.
37
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/plan`.
38
38
 
39
39
  If the documentation does not support the selection, run
40
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
40
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.
@@ -29,7 +29,7 @@ Record the selected framework, vendor, model, required credential variable names
29
29
  these URLs.
30
30
 
31
31
  If the pages support the selection, run
32
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/plan`.
32
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/plan`.
33
33
 
34
34
  If the documentation does not support the selection, run
35
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
35
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.
@@ -34,7 +34,7 @@ Record the selected framework, vendor, model, required credential variable names
34
34
  these URLs.
35
35
 
36
36
  If the pages support the selection, run
37
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/plan`.
37
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/plan`.
38
38
 
39
39
  If the documentation does not support the selection, run
40
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
40
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.
@@ -37,7 +37,7 @@ Record the selected framework, vendor, model, required credential variable names
37
37
  URLs, and the context limit.
38
38
 
39
39
  If the pages support the selection, run
40
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/plan`.
40
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/plan`.
41
41
 
42
42
  If the documentation does not support the selection, run
43
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
43
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.
@@ -62,7 +62,7 @@ Record the selected framework, project-defined provider and model, the credentia
62
62
  variable names the repository proves or the developer named, these URLs, and the adapter.
63
63
 
64
64
  If the pages support the selection, run
65
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/plan`.
65
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/plan`.
66
66
 
67
67
  If the documentation does not support the selection, run
68
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
68
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.
@@ -33,7 +33,7 @@ Record the selected framework, language, vendor, model, required credential vari
33
33
  names, these URLs, and each documentation gap.
34
34
 
35
35
  If the pages support the selection, run
36
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/plan`.
36
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/plan`.
37
37
 
38
38
  If the documentation does not support the selection, run
39
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
39
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.
@@ -30,7 +30,7 @@ Record the selected framework, vendor, model, required credential variable names
30
30
  these URLs.
31
31
 
32
32
  If the pages support the selection, run
33
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/plan`.
33
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/plan`.
34
34
 
35
35
  If the documentation does not support the selection, run
36
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
36
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.
@@ -25,7 +25,7 @@ Record the selected framework, vendor, model, required credential variable names
25
25
  these URLs.
26
26
 
27
27
  If the pages support the selection, run
28
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read frontend/plan`.
28
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read frontend/plan`.
29
29
 
30
30
  If the documentation does not support the selection, run
31
- `npx --prefer-offline --yes copilotkit@4.17.0 onboard read unsupported/no-validated-path`.
31
+ `npx --prefer-offline --yes copilotkit@4.19.0 onboard read unsupported/no-validated-path`.