copilotkit 4.22.0 → 4.23.1

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 +390 -17
  2. package/cli-build-info.json +8 -8
  3. package/index.js +52224 -34474
  4. package/onboarding/index.json +83 -9
  5. package/onboarding/prompts/authenticate/start.md +44 -34
  6. package/onboarding/prompts/conversion/plan.md +3 -3
  7. package/onboarding/prompts/credentials/finalize-plan.md +12 -7
  8. package/onboarding/prompts/credentials/plan.md +23 -23
  9. package/onboarding/prompts/credentials/settle-credentials.md +10 -7
  10. package/onboarding/prompts/credentials/write-plan.md +17 -7
  11. package/onboarding/prompts/deployment/choose-local.md +46 -0
  12. package/onboarding/prompts/deployment/local-evaluation.md +71 -0
  13. package/onboarding/prompts/fallback/best-effort.md +8 -8
  14. package/onboarding/prompts/feature/a2ui/implement.md +6 -6
  15. package/onboarding/prompts/feature/a2ui/plan.md +72 -0
  16. package/onboarding/prompts/feature/a2ui/proof.md +5 -5
  17. package/onboarding/prompts/feature/a2ui/start.md +11 -32
  18. package/onboarding/prompts/feature/channels/implement.md +23 -16
  19. package/onboarding/prompts/feature/channels/plan.md +85 -0
  20. package/onboarding/prompts/feature/channels/proof.md +5 -5
  21. package/onboarding/prompts/feature/channels/start.md +14 -41
  22. package/onboarding/prompts/feature/chat-suggestions/implement.md +6 -6
  23. package/onboarding/prompts/feature/chat-suggestions/plan.md +71 -0
  24. package/onboarding/prompts/feature/chat-suggestions/proof.md +5 -5
  25. package/onboarding/prompts/feature/chat-suggestions/start.md +11 -30
  26. package/onboarding/prompts/feature/complete.md +2 -2
  27. package/onboarding/prompts/feature/learning/implement.md +13 -13
  28. package/onboarding/prompts/feature/learning/plan.md +82 -0
  29. package/onboarding/prompts/feature/learning/proof.md +6 -6
  30. package/onboarding/prompts/feature/learning/start.md +11 -40
  31. package/onboarding/prompts/feature/open-generative-ui/implement.md +6 -6
  32. package/onboarding/prompts/feature/open-generative-ui/plan.md +70 -0
  33. package/onboarding/prompts/feature/open-generative-ui/proof.md +5 -5
  34. package/onboarding/prompts/feature/open-generative-ui/start.md +11 -30
  35. package/onboarding/prompts/feature/realtime-sync/implement.md +7 -7
  36. package/onboarding/prompts/feature/realtime-sync/plan.md +75 -0
  37. package/onboarding/prompts/feature/realtime-sync/proof.md +5 -5
  38. package/onboarding/prompts/feature/realtime-sync/start.md +10 -33
  39. package/onboarding/prompts/feature/rich-threads/implement.md +8 -8
  40. package/onboarding/prompts/feature/rich-threads/plan.md +77 -0
  41. package/onboarding/prompts/feature/rich-threads/proof.md +5 -5
  42. package/onboarding/prompts/feature/rich-threads/start.md +10 -35
  43. package/onboarding/prompts/feature/stop.md +3 -3
  44. package/onboarding/prompts/feature/voice/implement.md +6 -6
  45. package/onboarding/prompts/feature/voice/plan.md +74 -0
  46. package/onboarding/prompts/feature/voice/proof.md +5 -5
  47. package/onboarding/prompts/feature/voice/start.md +11 -29
  48. package/onboarding/prompts/framework/ag2.md +2 -2
  49. package/onboarding/prompts/framework/agno.md +2 -2
  50. package/onboarding/prompts/framework/built-in.md +2 -2
  51. package/onboarding/prompts/framework/claude-sdk-python.md +2 -2
  52. package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
  53. package/onboarding/prompts/framework/crewai-flows.md +2 -2
  54. package/onboarding/prompts/framework/custom-ag-ui.md +5 -2
  55. package/onboarding/prompts/framework/deep-agents.md +2 -2
  56. package/onboarding/prompts/framework/google-adk.md +2 -2
  57. package/onboarding/prompts/framework/langgraph-fastapi.md +2 -2
  58. package/onboarding/prompts/framework/langgraph-python.md +2 -2
  59. package/onboarding/prompts/framework/langgraph-typescript.md +2 -2
  60. package/onboarding/prompts/framework/llamaindex.md +2 -2
  61. package/onboarding/prompts/framework/mastra.md +2 -2
  62. package/onboarding/prompts/framework/ms-agent-dotnet.md +3 -3
  63. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +3 -3
  64. package/onboarding/prompts/framework/ms-agent-python.md +2 -2
  65. package/onboarding/prompts/framework/pydantic-ai.md +2 -2
  66. package/onboarding/prompts/framework/strands-python.md +2 -2
  67. package/onboarding/prompts/framework/strands-typescript.md +2 -2
  68. package/onboarding/prompts/frontend/angular.md +3 -3
  69. package/onboarding/prompts/frontend/nextjs.md +3 -3
  70. package/onboarding/prompts/frontend/plan.md +7 -7
  71. package/onboarding/prompts/frontend/react-native.md +2 -2
  72. package/onboarding/prompts/frontend/react-spa.md +2 -2
  73. package/onboarding/prompts/frontend/vue.md +2 -2
  74. package/onboarding/prompts/implementation/build-and-validate.md +14 -13
  75. package/onboarding/prompts/proof/complete.md +3 -3
  76. package/onboarding/prompts/proof/oss-baseline.md +5 -5
  77. package/onboarding/prompts/proof/round-trip.md +16 -11
  78. package/onboarding/prompts/research/gather.md +9 -8
  79. package/onboarding/prompts/research/merge.md +6 -3
  80. package/onboarding/prompts/research/preflight.md +2 -2
  81. package/onboarding/prompts/research/route.md +22 -14
  82. package/onboarding/prompts/starter/clone.md +5 -5
  83. package/onboarding/prompts/stopped/run-failed.md +2 -2
  84. package/onboarding/prompts/subagent/create-plan.md +9 -2
  85. package/onboarding/prompts/subagent/implement-and-validate.md +34 -2
  86. package/onboarding/prompts/subagent/inspect-repository.md +1 -1
  87. package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
  88. package/onboarding/prompts/subagent/prove-round-trip.md +39 -21
  89. package/onboarding/prompts/unsupported/no-validated-path.md +2 -2
  90. package/package.json +4 -1
  91. package/release/release-tool.js +167 -18
  92. package/services/local-auth-worker.js +21465 -0
@@ -20,13 +20,13 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
20
20
  once:
21
21
 
22
22
  ```text
23
- npx --prefer-offline --yes copilotkit@4.22.0 onboard checkpoint --phase delegation-unavailable
23
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase delegation-unavailable
24
24
  ```
25
25
 
26
26
  Before you end your turn to wait for the developer, report the pause:
27
27
 
28
28
  ```text
29
- npx --prefer-offline --yes copilotkit@4.22.0 onboard checkpoint --phase awaiting-developer
29
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase awaiting-developer
30
30
  ```
31
31
 
32
32
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
@@ -36,7 +36,7 @@ If you stop this run, send one short report before you stop. The friction comman
36
36
  the telemetry setting the developer already chose, so it needs no separate question.
37
37
 
38
38
  ```text
39
- npx --prefer-offline --yes copilotkit@4.22.0 onboard friction --phase stop --category <slug> --message "<sentences>"
39
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard friction --phase stop --category <slug> --message "<sentences>"
40
40
  ```
41
41
 
42
42
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -66,7 +66,7 @@ status:
66
66
  before the capture, the inspection, and any edit:
67
67
 
68
68
  ```text
69
- npx --prefer-offline --yes copilotkit@4.22.0 onboard read feature/blocked-by-plan
69
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/blocked-by-plan
70
70
  ```
71
71
 
72
72
  - `LEARNING_AVAILABILITY_UNAVAILABLE` means the platform did not resolve the answer. It is
@@ -87,7 +87,7 @@ again: it has no answer, so it carries the question forward rather than ending o
87
87
  Before any subagent or project process runs, capture the developer's existing work:
88
88
 
89
89
  ```text
90
- npx --prefer-offline --yes copilotkit@4.22.0 onboard protect
90
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard protect
91
91
  ```
92
92
 
93
93
  Keep the exact protected path list it prints and give that list to every subagent. No
@@ -101,50 +101,21 @@ test/dev commands. Prove the current round trip and inspect `/info`.
101
101
  Wait for the inspection subagent to finish. Then report that the inspection came back:
102
102
 
103
103
  ```text
104
- npx --prefer-offline --yes copilotkit@4.22.0 onboard checkpoint --phase research-returned
104
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase research-returned
105
105
  ```
106
106
 
107
107
  If the inspection did not prove the baseline this intent extends, stop here without
108
108
  changing files:
109
109
 
110
110
  ```text
111
- npx --prefer-offline --yes copilotkit@4.22.0 onboard read feature/stop
111
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
112
112
  ```
113
113
 
114
- Fetch the current official guides before planning:
115
- https://docs.copilotkit.ai/learning.md
116
- https://docs.copilotkit.ai/backend/copilot-runtime.md
117
- https://docs.copilotkit.ai/intelligence/quickstart.md
118
- https://docs.copilotkit.ai/threads.md
119
- Use a second retrieval method if needed.
120
-
121
- The CLI owns the container. `copilotkit learning containers list --json` reads the ones this
122
- project already has, and `copilotkit learning containers create --id <id> --name <name>
123
- --json` makes one. So there is no dashboard step and no reason to guess: never invent an id,
124
- scrape a dashboard, or treat an arbitrary string as a container.
125
-
126
- Read the "Assign Threads to Learning Containers" section of that page. The container is
127
- chosen by `getLearningContainerId` on the `CopilotKitIntelligence` instance, which the
128
- same page documents; it receives the resolved application user and the run input, and it
129
- serves web and Channel runs through one API.
130
-
131
- Show a concise plan for managed runtime/thread prerequisites, a stable selected container,
132
- the documented `getLearningContainerId` selector, validation, and a visible assignment
133
- proof. Ask for approval separately.
134
-
135
- The plan must list every protected path it needs to change under `Authorization requested`,
136
- with one sentence explaining why. Write `None` when it needs none. Authorization covers
137
- changing a protected path, not removing it, so the plan must not delete, move, or rename
138
- one.
139
-
140
- After approval, record each approved path before implementation:
114
+ When the inspection proved what this intent needs, read the next prompt now, in this turn:
141
115
 
142
116
  ```text
143
- npx --prefer-offline --yes copilotkit@4.22.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
117
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/learning/plan
144
118
  ```
145
119
 
146
- If an approved path changed after capture and no implementation step has run, add
147
- `--with-prior-change`. Continue only when every result starts with `Status: passed`. Do not
148
- authorize a path the approved plan did not list.
149
-
150
- Then run `npx --prefer-offline --yes copilotkit@4.22.0 onboard read feature/learning/implement`.
120
+ That prompt holds the plan, the developer's approval, and the paths the plan changes.
121
+ Do not write the plan or change project files in this prompt.
@@ -16,7 +16,7 @@ validation results without secrets.
16
16
  Before you spawn the implementation subagent, take the authorized list from the CLI:
17
17
 
18
18
  ```text
19
- npx --prefer-offline --yes copilotkit@4.22.0 onboard audit
19
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard audit
20
20
  ```
21
21
 
22
22
  From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
@@ -35,7 +35,7 @@ still go on the record. Name the file and why the work needs it, then end your t
35
35
  for the developer's answer. If they allow it, record their answer before any edit:
36
36
 
37
37
  ```text
38
- npx --prefer-offline --yes copilotkit@4.22.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
38
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
39
39
  ```
40
40
 
41
41
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -47,7 +47,7 @@ feature stop route below.
47
47
  After validation and each repair, run:
48
48
 
49
49
  ```text
50
- npx --prefer-offline --yes copilotkit@4.22.0 onboard audit
50
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard audit
51
51
  ```
52
52
 
53
53
  Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
@@ -58,7 +58,7 @@ with the implementation subagent's `Files changed` section. If that section does
58
58
  the path, accept the developer's external change:
59
59
 
60
60
  ```text
61
- npx --prefer-offline --yes copilotkit@4.22.0 onboard protect --accept-external --path <path>
61
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --accept-external --path <path>
62
62
  ```
63
63
 
64
64
  For an env file where the developer placed a requested credential, use
@@ -71,11 +71,11 @@ Run the audit again after each accepted change. If it still fails, or starts
71
71
  with `Status: blocked`, route out and stop:
72
72
 
73
73
  ```text
74
- npx --prefer-offline --yes copilotkit@4.22.0 onboard read feature/stop
74
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
75
75
  ```
76
76
 
77
77
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
78
78
  the feature stop route above without further changes.
79
79
 
80
80
  Otherwise run
81
- `npx --prefer-offline --yes copilotkit@4.22.0 onboard read feature/open-generative-ui/proof`.
81
+ `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/open-generative-ui/proof`.
@@ -0,0 +1,70 @@
1
+ # Plan Open Generative UI with the developer
2
+
3
+ The inspection in `feature/open-generative-ui/start` came back and proved what this intent
4
+ needs. This prompt turns it into a plan, asks the developer to approve it, and records the
5
+ protected paths the plan changes. Do not change project files in this prompt.
6
+
7
+ ## Waits and stops
8
+
9
+ The rules in `feature/open-generative-ui/start` still hold here.
10
+
11
+ The approval is a wait for the developer. Before you end your turn to wait, report the
12
+ pause:
13
+
14
+ ```text
15
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase awaiting-developer
16
+ ```
17
+
18
+ A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
19
+ When the answer arrives, continue from the step that paused. If the developer asks for a
20
+ change, show the changed plan and ask again.
21
+
22
+ ## What this prompt takes from the start
23
+
24
+ Keep these from `feature/open-generative-ui/start`, and give them to every subagent:
25
+
26
+ - the protected path list that `onboard protect` printed, and
27
+ - the paths and findings the inspection returned: the runtime route, provider and chat
28
+ component, agent id, package versions, existing middleware, sandbox and CSP constraints,
29
+ test and dev commands, and the round trip that `verify` proved.
30
+
31
+ If you do not hold them, as after `onboard resume` in a new session, get them back before
32
+ you plan. Run `onboard protect` again from the target app directory: on the same run it
33
+ prints the baseline the run already holds.
34
+
35
+ ```text
36
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard protect
37
+ ```
38
+
39
+ Then have one read-only subagent repeat the inspection for the findings above, and wait
40
+ for it. It changes no files.
41
+
42
+ ## Plan the change
43
+
44
+ Do not sign in, select an Intelligence project, create credentials, change the existing
45
+ agent, or swap out the chat surface. Open Generative UI is an OSS runtime feature.
46
+
47
+ Fetch the current official guide before planning:
48
+ https://docs.copilotkit.ai/generative-ui/open-generative-ui.md
49
+ Retry through a second retrieval method if needed. Setup is the documented
50
+ `openGenerativeUI` option on the runtime, which makes `/info` report
51
+ `openGenerativeUIEnabled`. The middleware is what parses tool-call arguments afterwards.
52
+ Show a small plan covering that runtime option, the existing provider's renderer path,
53
+ likely CSP/sandbox implications, tests, and a user-visible generated UI proof. Ask for approval as its own question.
54
+
55
+ The plan must list every protected path it needs to change under `Authorization requested`,
56
+ with one sentence explaining why. Write `None` when it needs none. Authorization covers
57
+ changing a protected path, not removing it, so the plan must not delete, move, or rename
58
+ one.
59
+
60
+ After approval, record each approved path before implementation:
61
+
62
+ ```text
63
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
64
+ ```
65
+
66
+ If an approved path changed after capture and no implementation step has run, add
67
+ `--with-prior-change`. Continue only when every result starts with `Status: passed`. Do not
68
+ authorize a path the approved plan did not list.
69
+
70
+ Then run `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/open-generative-ui/implement`.
@@ -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.22.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
24
+ npx --prefer-offline --yes copilotkit@4.23.1 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
@@ -34,11 +34,11 @@ Report the outcome of each attempt as it ends, before any repair. The command co
34
34
  attempts and the repairs:
35
35
 
36
36
  ```text
37
- npx --prefer-offline --yes copilotkit@4.22.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
37
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard proof --step round-trip --outcome <passed|failed|skipped>
38
38
  ```
39
39
 
40
40
  Use `passed` only for a proved generated UI, `failed` for an attempted proof that failed,
41
- and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.22.0 onboard audit`.
41
+ and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.23.1 onboard audit`.
42
42
  Continue only when it starts with `Status: passed`.
43
43
 
44
44
  If the audit fails, never repair, reset, or revert a protected path. Compare each named path
@@ -53,9 +53,9 @@ the path and the change the audit reports. Run the audit again after each accept
53
53
  If the audit still fails, or starts with `Status: blocked`, route out and stop:
54
54
 
55
55
  ```text
56
- npx --prefer-offline --yes copilotkit@4.22.0 onboard read feature/stop
56
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
57
57
  ```
58
58
 
59
59
  When the audit passes, run
60
- `npx --prefer-offline --yes copilotkit@4.22.0 onboard read feature/complete` with the outcome actually
60
+ `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/complete` with the outcome actually
61
61
  observed.
@@ -19,13 +19,13 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
19
19
  once:
20
20
 
21
21
  ```text
22
- npx --prefer-offline --yes copilotkit@4.22.0 onboard checkpoint --phase delegation-unavailable
22
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase delegation-unavailable
23
23
  ```
24
24
 
25
25
  Before you end your turn to wait for the developer, report the pause:
26
26
 
27
27
  ```text
28
- npx --prefer-offline --yes copilotkit@4.22.0 onboard checkpoint --phase awaiting-developer
28
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase awaiting-developer
29
29
  ```
30
30
 
31
31
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
@@ -35,7 +35,7 @@ If you stop this run, send one short report before you stop. The friction comman
35
35
  the telemetry setting the developer already chose, so it needs no separate question.
36
36
 
37
37
  ```text
38
- npx --prefer-offline --yes copilotkit@4.22.0 onboard friction --phase stop --category <slug> --message "<sentences>"
38
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard friction --phase stop --category <slug> --message "<sentences>"
39
39
  ```
40
40
 
41
41
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -49,7 +49,7 @@ one scoped fix, and sends the report itself when no fix is approved.
49
49
  Before any subagent or project process runs, capture the developer's existing work:
50
50
 
51
51
  ```text
52
- npx --prefer-offline --yes copilotkit@4.22.0 onboard protect
52
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard protect
53
53
  ```
54
54
 
55
55
  Keep the exact protected path list it prints and give that list to every subagent. No
@@ -59,46 +59,27 @@ approved authorization before implementation.
59
59
  Before edits, have a research subagent identify the current CopilotKit runtime route,
60
60
  provider/chat component, agent id, package versions, existing middleware, sandbox/CSP
61
61
  constraints, and normal test/dev commands. Prove the existing app first with `/info`,
62
- `npx --prefer-offline --yes copilotkit@4.22.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
62
+ `npx --prefer-offline --yes copilotkit@4.23.1 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
63
63
  and a real frontend request when browser control is available.
64
64
 
65
65
  Wait for the inspection subagent to finish. Then report that the inspection came back:
66
66
 
67
67
  ```text
68
- npx --prefer-offline --yes copilotkit@4.22.0 onboard checkpoint --phase research-returned
68
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase research-returned
69
69
  ```
70
70
 
71
71
  If the inspection did not prove the baseline this intent extends, stop here without
72
72
  changing files:
73
73
 
74
74
  ```text
75
- npx --prefer-offline --yes copilotkit@4.22.0 onboard read feature/stop
75
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
76
76
  ```
77
77
 
78
- Do not sign in, select an Intelligence project, create credentials, change the existing
79
- agent, or swap out the chat surface. Open Generative UI is an OSS runtime feature.
80
-
81
- Fetch the current official guide before planning:
82
- https://docs.copilotkit.ai/generative-ui/open-generative-ui.md
83
- Retry through a second retrieval method if needed. Setup is the documented
84
- `openGenerativeUI` option on the runtime, which makes `/info` report
85
- `openGenerativeUIEnabled`; the middleware is what parses tool-call arguments afterwards.
86
- Show a small plan covering that runtime option, the existing provider's renderer path,
87
- likely CSP/sandbox implications, tests, and a user-visible generated UI proof. Ask for approval separately.
88
-
89
- The plan must list every protected path it needs to change under `Authorization requested`,
90
- with one sentence explaining why. Write `None` when it needs none. Authorization covers
91
- changing a protected path, not removing it, so the plan must not delete, move, or rename
92
- one.
93
-
94
- After approval, record each approved path before implementation:
78
+ When the inspection proved what this intent needs, read the next prompt now, in this turn:
95
79
 
96
80
  ```text
97
- npx --prefer-offline --yes copilotkit@4.22.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
81
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/open-generative-ui/plan
98
82
  ```
99
83
 
100
- If an approved path changed after capture and no implementation step has run, add
101
- `--with-prior-change`. Continue only when every result starts with `Status: passed`. Do not
102
- authorize a path the approved plan did not list.
103
-
104
- Then run `npx --prefer-offline --yes copilotkit@4.22.0 onboard read feature/open-generative-ui/implement`.
84
+ That prompt holds the plan, the developer's approval, and the paths the plan changes.
85
+ Do not write the plan or change project files in this prompt.
@@ -17,14 +17,14 @@ non-zero on an app that is working. Pass what `identifyUser` reads with a repeat
17
17
  It is not a defect to repair.
18
18
 
19
19
  Run focused tests and
20
- `npx --prefer-offline --yes copilotkit@4.22.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
20
+ `npx --prefer-offline --yes copilotkit@4.23.1 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
21
21
  Repair changed-file failures and record changed paths and secret-safe validation
22
22
  evidence.
23
23
 
24
24
  Before you spawn the implementation subagent, take the authorized list from the CLI:
25
25
 
26
26
  ```text
27
- npx --prefer-offline --yes copilotkit@4.22.0 onboard audit
27
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard audit
28
28
  ```
29
29
 
30
30
  From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
@@ -43,7 +43,7 @@ still go on the record. Name the file and why the work needs it, then end your t
43
43
  for the developer's answer. If they allow it, record their answer before any edit:
44
44
 
45
45
  ```text
46
- npx --prefer-offline --yes copilotkit@4.22.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
46
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
47
47
  ```
48
48
 
49
49
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -55,7 +55,7 @@ feature stop route below.
55
55
  After validation and each repair, run:
56
56
 
57
57
  ```text
58
- npx --prefer-offline --yes copilotkit@4.22.0 onboard audit
58
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard audit
59
59
  ```
60
60
 
61
61
  Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
@@ -66,7 +66,7 @@ with the implementation subagent's `Files changed` section. If that section does
66
66
  the path, accept the developer's external change:
67
67
 
68
68
  ```text
69
- npx --prefer-offline --yes copilotkit@4.22.0 onboard protect --accept-external --path <path>
69
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --accept-external --path <path>
70
70
  ```
71
71
 
72
72
  For an env file where the developer placed a requested credential, use
@@ -79,11 +79,11 @@ Run the audit again after each accepted change. If it still fails, or starts
79
79
  with `Status: blocked`, route out and stop:
80
80
 
81
81
  ```text
82
- npx --prefer-offline --yes copilotkit@4.22.0 onboard read feature/stop
82
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
83
83
  ```
84
84
 
85
85
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
86
86
  the feature stop route above without further changes.
87
87
 
88
88
  Otherwise run
89
- `npx --prefer-offline --yes copilotkit@4.22.0 onboard read feature/realtime-sync/proof`.
89
+ `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/realtime-sync/proof`.
@@ -0,0 +1,75 @@
1
+ # Plan realtime thread sync with the developer
2
+
3
+ The inspection in `feature/realtime-sync/start` came back and proved what this intent
4
+ needs. This prompt turns it into a plan, asks the developer to approve it, and records the
5
+ protected paths the plan changes. Do not change project files in this prompt.
6
+
7
+ ## Waits and stops
8
+
9
+ The rules in `feature/realtime-sync/start` still hold here.
10
+
11
+ The approval is a wait for the developer. Before you end your turn to wait, report the
12
+ pause:
13
+
14
+ ```text
15
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase awaiting-developer
16
+ ```
17
+
18
+ A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
19
+ When the answer arrives, continue from the step that paused. If the developer asks for a
20
+ change, show the changed plan and ask again.
21
+
22
+ ## What this prompt takes from the start
23
+
24
+ Keep these from `feature/realtime-sync/start`, and give them to every subagent:
25
+
26
+ - the protected path list that `onboard protect` printed, and
27
+ - the paths and findings the inspection returned: the runtime, provider and chat, agent
28
+ id, authenticated stable user identity, thread routes, existing Intelligence
29
+ configuration (presence only), websocket configuration, test and dev commands, and the
30
+ round trip.
31
+
32
+ If you do not hold them, as after `onboard resume` in a new session, get them back before
33
+ you plan. Run `onboard protect` again from the target app directory: on the same run it
34
+ prints the baseline the run already holds.
35
+
36
+ ```text
37
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard protect
38
+ ```
39
+
40
+ Then have one read-only subagent repeat the inspection for the findings above, and wait
41
+ for it. It changes no files.
42
+
43
+ ## Plan the change
44
+
45
+ Fetch the current official guides before planning:
46
+ https://docs.copilotkit.ai/intelligence/quickstart.md
47
+ https://docs.copilotkit.ai/auth.md
48
+ https://docs.copilotkit.ai/intelligence/threads-explained.md
49
+ https://docs.copilotkit.ai/reference/hooks/useThreads.md
50
+ Retry unavailable pages a second way. Reuse a proven Intelligence project where present. Do
51
+ not sign in or select/create one until the developer approves the plan.
52
+
53
+ The plan must name the documented managed runtime/thread wiring, identity and catch-all
54
+ thread routes, the existing or documented client realtime connection, tests, and a proof in
55
+ two browser contexts. For self-hosted Intelligence, configure `apiUrl` and `wsUrl` together
56
+ from explicit developer-owned values. Never derive one from the other. The client prepends
57
+ `/api` itself, so an `apiUrl` that already ends in `/api` produces `/api/api/...`. Hosted setup may not
58
+ need a `wsUrl`. Ask for approval as its own question.
59
+
60
+ The plan must list every protected path it needs to change under `Authorization requested`,
61
+ with one sentence explaining why. Write `None` when it needs none. Authorization covers
62
+ changing a protected path, not removing it, so the plan must not delete, move, or rename
63
+ one.
64
+
65
+ After approval, record each approved path before implementation:
66
+
67
+ ```text
68
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
69
+ ```
70
+
71
+ If an approved path changed after capture and no implementation step has run, add
72
+ `--with-prior-change`. Continue only when every result starts with `Status: passed`. Do not
73
+ authorize a path the approved plan did not list.
74
+
75
+ Then run `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/realtime-sync/implement`.
@@ -23,7 +23,7 @@ still go on the record. Name the file and why the fix needs it, then end your tu
23
23
  for the developer's answer. If they allow it, record their answer before any edit:
24
24
 
25
25
  ```text
26
- npx --prefer-offline --yes copilotkit@4.22.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
26
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
27
27
  ```
28
28
 
29
29
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -36,11 +36,11 @@ Report the outcome of each attempt as it ends, before any repair. The command co
36
36
  attempts and the repairs:
37
37
 
38
38
  ```text
39
- npx --prefer-offline --yes copilotkit@4.22.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
39
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard proof --step round-trip --outcome <passed|failed|skipped>
40
40
  ```
41
41
 
42
42
  Use `passed` only for proved two-client sync, `failed` for an attempted proof that failed,
43
- and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.22.0 onboard audit`.
43
+ and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.23.1 onboard audit`.
44
44
  Continue only when it starts with `Status: passed`.
45
45
 
46
46
  If the audit fails, never repair, reset, or revert a protected path. Compare each named path
@@ -55,8 +55,8 @@ the path and the change the audit reports. Run the audit again after each accept
55
55
  If the audit still fails, or starts with `Status: blocked`, route out and stop:
56
56
 
57
57
  ```text
58
- npx --prefer-offline --yes copilotkit@4.22.0 onboard read feature/stop
58
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
59
59
  ```
60
60
 
61
61
  When the audit passes, run
62
- `npx --prefer-offline --yes copilotkit@4.22.0 onboard read feature/complete` with the actual outcome.
62
+ `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/complete` with the actual outcome.
@@ -20,13 +20,13 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
20
20
  once:
21
21
 
22
22
  ```text
23
- npx --prefer-offline --yes copilotkit@4.22.0 onboard checkpoint --phase delegation-unavailable
23
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase delegation-unavailable
24
24
  ```
25
25
 
26
26
  Before you end your turn to wait for the developer, report the pause:
27
27
 
28
28
  ```text
29
- npx --prefer-offline --yes copilotkit@4.22.0 onboard checkpoint --phase awaiting-developer
29
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase awaiting-developer
30
30
  ```
31
31
 
32
32
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
@@ -36,7 +36,7 @@ If you stop this run, send one short report before you stop. The friction comman
36
36
  the telemetry setting the developer already chose, so it needs no separate question.
37
37
 
38
38
  ```text
39
- npx --prefer-offline --yes copilotkit@4.22.0 onboard friction --phase stop --category <slug> --message "<sentences>"
39
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard friction --phase stop --category <slug> --message "<sentences>"
40
40
  ```
41
41
 
42
42
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -50,7 +50,7 @@ one scoped fix, and sends the report itself when no fix is approved.
50
50
  Before any subagent or project process runs, capture the developer's existing work:
51
51
 
52
52
  ```text
53
- npx --prefer-offline --yes copilotkit@4.22.0 onboard protect
53
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard protect
54
54
  ```
55
55
 
56
56
  Keep the exact protected path list it prints and give that list to every subagent. No
@@ -65,44 +65,21 @@ round trip and inspect `/info`.
65
65
  Wait for the inspection subagent to finish. Then report that the inspection came back:
66
66
 
67
67
  ```text
68
- npx --prefer-offline --yes copilotkit@4.22.0 onboard checkpoint --phase research-returned
68
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase research-returned
69
69
  ```
70
70
 
71
71
  If the inspection did not prove the baseline this intent extends, stop here without
72
72
  changing files:
73
73
 
74
74
  ```text
75
- npx --prefer-offline --yes copilotkit@4.22.0 onboard read feature/stop
75
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
76
76
  ```
77
77
 
78
- Fetch the current official guides before planning:
79
- https://docs.copilotkit.ai/intelligence/quickstart.md
80
- https://docs.copilotkit.ai/auth.md
81
- https://docs.copilotkit.ai/intelligence/threads-explained.md
82
- https://docs.copilotkit.ai/reference/hooks/useThreads.md
83
- Retry unavailable pages a second way. Reuse a proven Intelligence project where present; do
84
- not sign in or select/create one until the developer approves the plan.
85
-
86
- The plan must name the documented managed runtime/thread wiring, identity and catch-all
87
- thread routes, the existing or documented client realtime connection, tests, and a proof in
88
- two browser contexts. For self-hosted Intelligence, configure `apiUrl` and `wsUrl` together
89
- from explicit developer-owned values; never derive one from the other. The client prepends
90
- `/api` itself, so an `apiUrl` that already ends in `/api` produces `/api/api/...`. Hosted setup may not
91
- need a `wsUrl`. Ask for approval separately.
92
-
93
- The plan must list every protected path it needs to change under `Authorization requested`,
94
- with one sentence explaining why. Write `None` when it needs none. Authorization covers
95
- changing a protected path, not removing it, so the plan must not delete, move, or rename
96
- one.
97
-
98
- After approval, record each approved path before implementation:
78
+ When the inspection proved what this intent needs, read the next prompt now, in this turn:
99
79
 
100
80
  ```text
101
- npx --prefer-offline --yes copilotkit@4.22.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
81
+ npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/realtime-sync/plan
102
82
  ```
103
83
 
104
- If an approved path changed after capture and no implementation step has run, add
105
- `--with-prior-change`. Continue only when every result starts with `Status: passed`. Do not
106
- authorize a path the approved plan did not list.
107
-
108
- Then run `npx --prefer-offline --yes copilotkit@4.22.0 onboard read feature/realtime-sync/implement`.
84
+ That prompt holds the plan, the developer's approval, and the paths the plan changes.
85
+ Do not write the plan or change project files in this prompt.