copilotkit 4.23.1 → 4.24.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 (94) hide show
  1. package/README.md +91 -5
  2. package/cli-build-info.json +8 -8
  3. package/exporters/langgraph/README.md +33 -0
  4. package/exporters/langgraph/export_checkpointer.py +16 -0
  5. package/index.js +4380 -3586
  6. package/onboarding/index.json +2 -1
  7. package/onboarding/prompts/authenticate/start.md +15 -12
  8. package/onboarding/prompts/conversion/plan.md +3 -3
  9. package/onboarding/prompts/credentials/finalize-plan.md +8 -8
  10. package/onboarding/prompts/credentials/plan.md +23 -23
  11. package/onboarding/prompts/credentials/settle-credentials.md +14 -5
  12. package/onboarding/prompts/credentials/write-plan.md +6 -6
  13. package/onboarding/prompts/deployment/choose-local.md +24 -13
  14. package/onboarding/prompts/deployment/local-evaluation.md +31 -7
  15. package/onboarding/prompts/fallback/best-effort.md +8 -8
  16. package/onboarding/prompts/feature/a2ui/implement.md +6 -6
  17. package/onboarding/prompts/feature/a2ui/plan.md +4 -4
  18. package/onboarding/prompts/feature/a2ui/proof.md +5 -5
  19. package/onboarding/prompts/feature/a2ui/start.md +25 -8
  20. package/onboarding/prompts/feature/channels/implement.md +7 -7
  21. package/onboarding/prompts/feature/channels/plan.md +4 -4
  22. package/onboarding/prompts/feature/channels/proof.md +5 -5
  23. package/onboarding/prompts/feature/channels/start.md +23 -19
  24. package/onboarding/prompts/feature/chat-suggestions/implement.md +6 -6
  25. package/onboarding/prompts/feature/chat-suggestions/plan.md +4 -4
  26. package/onboarding/prompts/feature/chat-suggestions/proof.md +5 -5
  27. package/onboarding/prompts/feature/chat-suggestions/start.md +25 -8
  28. package/onboarding/prompts/feature/complete.md +2 -2
  29. package/onboarding/prompts/feature/learning/implement.md +13 -13
  30. package/onboarding/prompts/feature/learning/plan.md +4 -4
  31. package/onboarding/prompts/feature/learning/proof.md +49 -6
  32. package/onboarding/prompts/feature/learning/start.md +25 -8
  33. package/onboarding/prompts/feature/open-generative-ui/implement.md +6 -6
  34. package/onboarding/prompts/feature/open-generative-ui/plan.md +4 -4
  35. package/onboarding/prompts/feature/open-generative-ui/proof.md +5 -5
  36. package/onboarding/prompts/feature/open-generative-ui/start.md +25 -8
  37. package/onboarding/prompts/feature/realtime-sync/implement.md +7 -7
  38. package/onboarding/prompts/feature/realtime-sync/plan.md +4 -4
  39. package/onboarding/prompts/feature/realtime-sync/proof.md +5 -5
  40. package/onboarding/prompts/feature/realtime-sync/start.md +24 -7
  41. package/onboarding/prompts/feature/rich-threads/implement.md +8 -8
  42. package/onboarding/prompts/feature/rich-threads/plan.md +4 -4
  43. package/onboarding/prompts/feature/rich-threads/proof.md +5 -5
  44. package/onboarding/prompts/feature/rich-threads/start.md +24 -7
  45. package/onboarding/prompts/feature/stop.md +3 -3
  46. package/onboarding/prompts/feature/voice/implement.md +6 -6
  47. package/onboarding/prompts/feature/voice/plan.md +5 -5
  48. package/onboarding/prompts/feature/voice/proof.md +5 -5
  49. package/onboarding/prompts/feature/voice/start.md +25 -8
  50. package/onboarding/prompts/framework/ag2.md +2 -2
  51. package/onboarding/prompts/framework/agno.md +2 -2
  52. package/onboarding/prompts/framework/built-in.md +2 -2
  53. package/onboarding/prompts/framework/claude-sdk-python.md +2 -2
  54. package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
  55. package/onboarding/prompts/framework/crewai-flows.md +2 -2
  56. package/onboarding/prompts/framework/custom-ag-ui.md +2 -2
  57. package/onboarding/prompts/framework/deep-agents.md +2 -2
  58. package/onboarding/prompts/framework/google-adk.md +2 -2
  59. package/onboarding/prompts/framework/langgraph-fastapi.md +2 -2
  60. package/onboarding/prompts/framework/langgraph-python.md +2 -2
  61. package/onboarding/prompts/framework/langgraph-typescript.md +2 -2
  62. package/onboarding/prompts/framework/llamaindex.md +2 -2
  63. package/onboarding/prompts/framework/mastra.md +2 -2
  64. package/onboarding/prompts/framework/ms-agent-dotnet.md +3 -3
  65. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +3 -3
  66. package/onboarding/prompts/framework/ms-agent-python.md +2 -2
  67. package/onboarding/prompts/framework/pydantic-ai.md +2 -2
  68. package/onboarding/prompts/framework/strands-python.md +2 -2
  69. package/onboarding/prompts/framework/strands-typescript.md +2 -2
  70. package/onboarding/prompts/frontend/angular.md +3 -3
  71. package/onboarding/prompts/frontend/nextjs.md +3 -3
  72. package/onboarding/prompts/frontend/plan.md +7 -7
  73. package/onboarding/prompts/frontend/react-native.md +2 -2
  74. package/onboarding/prompts/frontend/react-spa.md +2 -2
  75. package/onboarding/prompts/frontend/vue.md +2 -2
  76. package/onboarding/prompts/implementation/build-and-validate.md +16 -14
  77. package/onboarding/prompts/proof/complete.md +3 -3
  78. package/onboarding/prompts/proof/oss-baseline.md +5 -5
  79. package/onboarding/prompts/proof/round-trip.md +8 -8
  80. package/onboarding/prompts/research/gather.md +5 -5
  81. package/onboarding/prompts/research/merge.md +2 -2
  82. package/onboarding/prompts/research/preflight.md +2 -2
  83. package/onboarding/prompts/research/route.md +5 -5
  84. package/onboarding/prompts/starter/clone.md +92 -7
  85. package/onboarding/prompts/stopped/run-failed.md +2 -2
  86. package/onboarding/prompts/subagent/create-plan.md +2 -2
  87. package/onboarding/prompts/subagent/implement-and-validate.md +2 -2
  88. package/onboarding/prompts/subagent/inspect-repository.md +1 -1
  89. package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
  90. package/onboarding/prompts/subagent/prove-round-trip.md +8 -6
  91. package/onboarding/prompts/unsupported/no-validated-path.md +2 -2
  92. package/package.json +1 -1
  93. package/release/release-tool.js +12 -1
  94. package/services/local-auth-worker.js +175 -159
@@ -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.23.1 onboard checkpoint --phase awaiting-developer
15
+ npx --prefer-offline --yes copilotkit@4.24.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.
@@ -34,7 +34,7 @@ you plan. Run `onboard protect` again from the target app directory: on the same
34
34
  prints the baseline the run already holds.
35
35
 
36
36
  ```text
37
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect
37
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect
38
38
  ```
39
39
 
40
40
  Then have one read-only subagent repeat the inspection for the findings above, and wait
@@ -72,11 +72,11 @@ one.
72
72
  After approval, record each approved path before implementation:
73
73
 
74
74
  ```text
75
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
75
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
76
76
  ```
77
77
 
78
78
  If an approved path changed after capture and no implementation step has run, add
79
79
  `--with-prior-change`. Continue only when every result starts with `Status: passed`. Do not
80
80
  authorize a path the approved plan did not list.
81
81
 
82
- Then run `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/learning/implement`.
82
+ Then run `npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/learning/implement`.
@@ -4,10 +4,53 @@ Delegate proof to a fresh subagent. In the real authenticated app, create or use
4
4
  send a normal agent request, and confirm the resulting run reached the selected Learning
5
5
  Container. Confirm the thread remains associated with the expected user.
6
6
 
7
+ ## Check the local Learning model first
8
+
9
+ If the app directory has `.copilotkit/local.json`, the app uses a local evaluation stack.
10
+ A local stack runs Learning only with a model that the developer gave it. Before the proof,
11
+ run this command from the app directory:
12
+
13
+ ```text
14
+ npx --prefer-offline --yes copilotkit@4.24.0 local status --json
15
+ ```
16
+
17
+ Read `learning.configuration`. If it is `configured`, continue with the proof. Any other
18
+ value means that the stack has no Learning model.
19
+
20
+ If the developer chose "configure later" in `deployment/choose-local`, and the run's plan
21
+ records that choice, do not ask again. Continue with the proof, and report it as below.
22
+
23
+ Otherwise, tell the developer that Learning cannot process this container's threads until
24
+ it has a model. Ask them to run this command in their own terminal window, in the app
25
+ directory:
26
+
27
+ ```text
28
+ npx --prefer-offline --yes copilotkit@4.24.0 local setup
29
+ ```
30
+
31
+ Do not give it as a `!` line, and do not run it yourself. Its guided model prompt needs a
32
+ terminal, and a coding agent's shell has none. Without a terminal, the command stops and
33
+ changes nothing. The prompt asks for the model and its key, and it saves them privately.
34
+ On a running stack, it restarts only Learning. The container and its threads stay. Do not
35
+ ask the developer to write a model file, and do not read or print the model key.
36
+
37
+ Say that the run continues when they reply or resume this session. Report the pause with
38
+ `npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase awaiting-model-credential`, end your
39
+ turn, and wait. When the developer replies, run `local status --json` again.
40
+ When it reports `configured`, continue with the proof.
41
+
42
+ If the developer declines, continue with the proof, because the container assignment can
43
+ still be proved. In the closing report, write "Learning configuration incomplete". Name the
44
+ command that adds the model later: `npx --prefer-offline --yes copilotkit@4.24.0 local setup`, run from
45
+ the app directory. `learning.verified` is always `false`. It does not mean that Learning
46
+ failed.
47
+
48
+ ## Prove the container assignment
49
+
7
50
  One command decides it:
8
51
 
9
52
  ```text
10
- npx --prefer-offline --yes copilotkit@4.23.1 verify --expect-runtime intelligence --round-trip --agent <agent-id> --expect-learning-container <id> --json
53
+ npx --prefer-offline --yes copilotkit@4.24.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --expect-learning-container <id> --json
11
54
  ```
12
55
 
13
56
  It reads the thread back from the platform, so it answers for any runtime mount, and it
@@ -40,7 +83,7 @@ still go on the record. Name the file and why the fix needs it, then end your tu
40
83
  for the developer's answer. If they allow it, record their answer before any edit:
41
84
 
42
85
  ```text
43
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
86
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
44
87
  ```
45
88
 
46
89
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -53,12 +96,12 @@ Report the outcome of each attempt as it ends, before any repair. The command co
53
96
  attempts and the repairs:
54
97
 
55
98
  ```text
56
- npx --prefer-offline --yes copilotkit@4.23.1 onboard proof --step round-trip --outcome <passed|failed|skipped>
99
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
57
100
  ```
58
101
 
59
102
  Use `passed` only for a proved Container assignment, `failed` for an attempted proof that
60
103
  failed, and `skipped` when the proof could not run. Then run
61
- `npx --prefer-offline --yes copilotkit@4.23.1 onboard audit`. Continue only when it starts with
104
+ `npx --prefer-offline --yes copilotkit@4.24.0 onboard audit`. Continue only when it starts with
62
105
  `Status: passed`.
63
106
 
64
107
  If the audit fails, never repair, reset, or revert a protected path. Compare each named path
@@ -73,9 +116,9 @@ the path and the change the audit reports. Run the audit again after each accept
73
116
  If the audit still fails, or starts with `Status: blocked`, route out and stop:
74
117
 
75
118
  ```text
76
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
119
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/stop
77
120
  ```
78
121
 
79
122
  When the audit passes, run
80
- `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/complete` with the actual surface
123
+ `npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/complete` with the actual surface
81
124
  outcome.
@@ -4,6 +4,23 @@ Treat Learning as a managed Intelligence feature that assigns real threads to a
4
4
  Learning Container. Orchestrate with separate read-only, implementation, and proof
5
5
  subagents. Work only inside the target project and preserve its existing agent and chat.
6
6
 
7
+ ## First, say which coding agent you are
8
+
9
+ Run this before anything else in this prompt:
10
+
11
+ ```text
12
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
13
+ ```
14
+
15
+ Report your product slug, such as `codex` or `claude-code`. The command needs no sign-in,
16
+ browser, or project. If this run already ran `onboard identify`, skip this step.
17
+
18
+ - `--model`: copy the model id exactly as your instructions write it. If they name no
19
+ exact model id, leave out `--model` rather than guess.
20
+ - `--model-family`: your model's family, such as `claude-opus` or `gpt-5`. Give it even
21
+ without `--model`, and leave out `--model-family` if you do not know it.
22
+ - Never give your product slug as a model or a family.
23
+
7
24
  ## Waits, stops, and subagents
8
25
 
9
26
  A run that starts here has not read these rules yet, so they come first. They cover this
@@ -20,13 +37,13 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
20
37
  once:
21
38
 
22
39
  ```text
23
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase delegation-unavailable
40
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase delegation-unavailable
24
41
  ```
25
42
 
26
43
  Before you end your turn to wait for the developer, report the pause:
27
44
 
28
45
  ```text
29
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase awaiting-developer
46
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase awaiting-developer
30
47
  ```
31
48
 
32
49
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
@@ -36,7 +53,7 @@ If you stop this run, send one short report before you stop. The friction comman
36
53
  the telemetry setting the developer already chose, so it needs no separate question.
37
54
 
38
55
  ```text
39
- npx --prefer-offline --yes copilotkit@4.23.1 onboard friction --phase stop --category <slug> --message "<sentences>"
56
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard friction --phase stop --category <slug> --message "<sentences>"
40
57
  ```
41
58
 
42
59
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -66,7 +83,7 @@ status:
66
83
  before the capture, the inspection, and any edit:
67
84
 
68
85
  ```text
69
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/blocked-by-plan
86
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/blocked-by-plan
70
87
  ```
71
88
 
72
89
  - `LEARNING_AVAILABILITY_UNAVAILABLE` means the platform did not resolve the answer. It is
@@ -87,7 +104,7 @@ again: it has no answer, so it carries the question forward rather than ending o
87
104
  Before any subagent or project process runs, capture the developer's existing work:
88
105
 
89
106
  ```text
90
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect
107
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect
91
108
  ```
92
109
 
93
110
  Keep the exact protected path list it prints and give that list to every subagent. No
@@ -101,20 +118,20 @@ test/dev commands. Prove the current round trip and inspect `/info`.
101
118
  Wait for the inspection subagent to finish. Then report that the inspection came back:
102
119
 
103
120
  ```text
104
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase research-returned
121
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase research-returned
105
122
  ```
106
123
 
107
124
  If the inspection did not prove the baseline this intent extends, stop here without
108
125
  changing files:
109
126
 
110
127
  ```text
111
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
128
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/stop
112
129
  ```
113
130
 
114
131
  When the inspection proved what this intent needs, read the next prompt now, in this turn:
115
132
 
116
133
  ```text
117
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/learning/plan
134
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/learning/plan
118
135
  ```
119
136
 
120
137
  That prompt holds the plan, the developer's approval, and the paths the plan changes.
@@ -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.23.1 onboard audit
19
+ npx --prefer-offline --yes copilotkit@4.24.0 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.23.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
38
+ npx --prefer-offline --yes copilotkit@4.24.0 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.23.1 onboard audit
50
+ npx --prefer-offline --yes copilotkit@4.24.0 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.23.1 onboard protect --accept-external --path <path>
61
+ npx --prefer-offline --yes copilotkit@4.24.0 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.23.1 onboard read feature/stop
74
+ npx --prefer-offline --yes copilotkit@4.24.0 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.23.1 onboard read feature/open-generative-ui/proof`.
81
+ `npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/open-generative-ui/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.23.1 onboard checkpoint --phase awaiting-developer
15
+ npx --prefer-offline --yes copilotkit@4.24.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.
@@ -33,7 +33,7 @@ you plan. Run `onboard protect` again from the target app directory: on the same
33
33
  prints the baseline the run already holds.
34
34
 
35
35
  ```text
36
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect
36
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect
37
37
  ```
38
38
 
39
39
  Then have one read-only subagent repeat the inspection for the findings above, and wait
@@ -60,11 +60,11 @@ one.
60
60
  After approval, record each approved path before implementation:
61
61
 
62
62
  ```text
63
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
63
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
64
64
  ```
65
65
 
66
66
  If an approved path changed after capture and no implementation step has run, add
67
67
  `--with-prior-change`. Continue only when every result starts with `Status: passed`. Do not
68
68
  authorize a path the approved plan did not list.
69
69
 
70
- Then run `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/open-generative-ui/implement`.
70
+ Then run `npx --prefer-offline --yes copilotkit@4.24.0 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.23.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
24
+ npx --prefer-offline --yes copilotkit@4.24.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
@@ -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.23.1 onboard proof --step round-trip --outcome <passed|failed|skipped>
37
+ npx --prefer-offline --yes copilotkit@4.24.0 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.23.1 onboard audit`.
41
+ and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.24.0 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.23.1 onboard read feature/stop
56
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/stop
57
57
  ```
58
58
 
59
59
  When the audit passes, run
60
- `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/complete` with the outcome actually
60
+ `npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/complete` with the outcome actually
61
61
  observed.
@@ -3,6 +3,23 @@
3
3
  Treat this as a focused OSS enhancement. Orchestrate the work with separate read-only,
4
4
  implementation, and proof subagents, all restricted to the target project directory.
5
5
 
6
+ ## First, say which coding agent you are
7
+
8
+ Run this before anything else in this prompt:
9
+
10
+ ```text
11
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
12
+ ```
13
+
14
+ Report your product slug, such as `codex` or `claude-code`. The command needs no sign-in,
15
+ browser, or project. If this run already ran `onboard identify`, skip this step.
16
+
17
+ - `--model`: copy the model id exactly as your instructions write it. If they name no
18
+ exact model id, leave out `--model` rather than guess.
19
+ - `--model-family`: your model's family, such as `claude-opus` or `gpt-5`. Give it even
20
+ without `--model`, and leave out `--model-family` if you do not know it.
21
+ - Never give your product slug as a model or a family.
22
+
6
23
  ## Waits, stops, and subagents
7
24
 
8
25
  A run that starts here has not read these rules yet, so they come first. They cover this
@@ -19,13 +36,13 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
19
36
  once:
20
37
 
21
38
  ```text
22
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase delegation-unavailable
39
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase delegation-unavailable
23
40
  ```
24
41
 
25
42
  Before you end your turn to wait for the developer, report the pause:
26
43
 
27
44
  ```text
28
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase awaiting-developer
45
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase awaiting-developer
29
46
  ```
30
47
 
31
48
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
@@ -35,7 +52,7 @@ If you stop this run, send one short report before you stop. The friction comman
35
52
  the telemetry setting the developer already chose, so it needs no separate question.
36
53
 
37
54
  ```text
38
- npx --prefer-offline --yes copilotkit@4.23.1 onboard friction --phase stop --category <slug> --message "<sentences>"
55
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard friction --phase stop --category <slug> --message "<sentences>"
39
56
  ```
40
57
 
41
58
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -49,7 +66,7 @@ one scoped fix, and sends the report itself when no fix is approved.
49
66
  Before any subagent or project process runs, capture the developer's existing work:
50
67
 
51
68
  ```text
52
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect
69
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect
53
70
  ```
54
71
 
55
72
  Keep the exact protected path list it prints and give that list to every subagent. No
@@ -59,26 +76,26 @@ approved authorization before implementation.
59
76
  Before edits, have a research subagent identify the current CopilotKit runtime route,
60
77
  provider/chat component, agent id, package versions, existing middleware, sandbox/CSP
61
78
  constraints, and normal test/dev commands. Prove the existing app first with `/info`,
62
- `npx --prefer-offline --yes copilotkit@4.23.1 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
79
+ `npx --prefer-offline --yes copilotkit@4.24.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
63
80
  and a real frontend request when browser control is available.
64
81
 
65
82
  Wait for the inspection subagent to finish. Then report that the inspection came back:
66
83
 
67
84
  ```text
68
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase research-returned
85
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase research-returned
69
86
  ```
70
87
 
71
88
  If the inspection did not prove the baseline this intent extends, stop here without
72
89
  changing files:
73
90
 
74
91
  ```text
75
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
92
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/stop
76
93
  ```
77
94
 
78
95
  When the inspection proved what this intent needs, read the next prompt now, in this turn:
79
96
 
80
97
  ```text
81
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/open-generative-ui/plan
98
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/open-generative-ui/plan
82
99
  ```
83
100
 
84
101
  That prompt holds the plan, the developer's approval, and the paths the plan changes.
@@ -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.23.1 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
20
+ `npx --prefer-offline --yes copilotkit@4.24.0 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.23.1 onboard audit
27
+ npx --prefer-offline --yes copilotkit@4.24.0 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.23.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
46
+ npx --prefer-offline --yes copilotkit@4.24.0 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.23.1 onboard audit
58
+ npx --prefer-offline --yes copilotkit@4.24.0 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.23.1 onboard protect --accept-external --path <path>
69
+ npx --prefer-offline --yes copilotkit@4.24.0 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.23.1 onboard read feature/stop
82
+ npx --prefer-offline --yes copilotkit@4.24.0 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.23.1 onboard read feature/realtime-sync/proof`.
89
+ `npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/realtime-sync/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.23.1 onboard checkpoint --phase awaiting-developer
15
+ npx --prefer-offline --yes copilotkit@4.24.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.
@@ -34,7 +34,7 @@ you plan. Run `onboard protect` again from the target app directory: on the same
34
34
  prints the baseline the run already holds.
35
35
 
36
36
  ```text
37
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect
37
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect
38
38
  ```
39
39
 
40
40
  Then have one read-only subagent repeat the inspection for the findings above, and wait
@@ -65,11 +65,11 @@ one.
65
65
  After approval, record each approved path before implementation:
66
66
 
67
67
  ```text
68
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
68
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
69
69
  ```
70
70
 
71
71
  If an approved path changed after capture and no implementation step has run, add
72
72
  `--with-prior-change`. Continue only when every result starts with `Status: passed`. Do not
73
73
  authorize a path the approved plan did not list.
74
74
 
75
- Then run `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/realtime-sync/implement`.
75
+ Then run `npx --prefer-offline --yes copilotkit@4.24.0 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.23.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
26
+ npx --prefer-offline --yes copilotkit@4.24.0 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.23.1 onboard proof --step round-trip --outcome <passed|failed|skipped>
39
+ npx --prefer-offline --yes copilotkit@4.24.0 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.23.1 onboard audit`.
43
+ and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.24.0 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.23.1 onboard read feature/stop
58
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/stop
59
59
  ```
60
60
 
61
61
  When the audit passes, run
62
- `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/complete` with the actual outcome.
62
+ `npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/complete` with the actual outcome.
@@ -4,6 +4,23 @@ 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
+ ## First, say which coding agent you are
8
+
9
+ Run this before anything else in this prompt:
10
+
11
+ ```text
12
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
13
+ ```
14
+
15
+ Report your product slug, such as `codex` or `claude-code`. The command needs no sign-in,
16
+ browser, or project. If this run already ran `onboard identify`, skip this step.
17
+
18
+ - `--model`: copy the model id exactly as your instructions write it. If they name no
19
+ exact model id, leave out `--model` rather than guess.
20
+ - `--model-family`: your model's family, such as `claude-opus` or `gpt-5`. Give it even
21
+ without `--model`, and leave out `--model-family` if you do not know it.
22
+ - Never give your product slug as a model or a family.
23
+
7
24
  ## Waits, stops, and subagents
8
25
 
9
26
  A run that starts here has not read these rules yet, so they come first. They cover this
@@ -20,13 +37,13 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
20
37
  once:
21
38
 
22
39
  ```text
23
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase delegation-unavailable
40
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase delegation-unavailable
24
41
  ```
25
42
 
26
43
  Before you end your turn to wait for the developer, report the pause:
27
44
 
28
45
  ```text
29
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase awaiting-developer
46
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase awaiting-developer
30
47
  ```
31
48
 
32
49
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
@@ -36,7 +53,7 @@ If you stop this run, send one short report before you stop. The friction comman
36
53
  the telemetry setting the developer already chose, so it needs no separate question.
37
54
 
38
55
  ```text
39
- npx --prefer-offline --yes copilotkit@4.23.1 onboard friction --phase stop --category <slug> --message "<sentences>"
56
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard friction --phase stop --category <slug> --message "<sentences>"
40
57
  ```
41
58
 
42
59
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -50,7 +67,7 @@ one scoped fix, and sends the report itself when no fix is approved.
50
67
  Before any subagent or project process runs, capture the developer's existing work:
51
68
 
52
69
  ```text
53
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect
70
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect
54
71
  ```
55
72
 
56
73
  Keep the exact protected path list it prints and give that list to every subagent. No
@@ -65,20 +82,20 @@ round trip and inspect `/info`.
65
82
  Wait for the inspection subagent to finish. Then report that the inspection came back:
66
83
 
67
84
  ```text
68
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase research-returned
85
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase research-returned
69
86
  ```
70
87
 
71
88
  If the inspection did not prove the baseline this intent extends, stop here without
72
89
  changing files:
73
90
 
74
91
  ```text
75
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
92
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/stop
76
93
  ```
77
94
 
78
95
  When the inspection proved what this intent needs, read the next prompt now, in this turn:
79
96
 
80
97
  ```text
81
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/realtime-sync/plan
98
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/realtime-sync/plan
82
99
  ```
83
100
 
84
101
  That prompt holds the plan, the developer's approval, and the paths the plan changes.