copilotkit 4.23.1 → 4.25.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 +164 -17
  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 +10909 -8245
  6. package/onboarding/index.json +2 -1
  7. package/onboarding/prompts/authenticate/start.md +50 -42
  8. package/onboarding/prompts/conversion/plan.md +3 -3
  9. package/onboarding/prompts/credentials/finalize-plan.md +30 -8
  10. package/onboarding/prompts/credentials/plan.md +115 -49
  11. package/onboarding/prompts/credentials/settle-credentials.md +16 -5
  12. package/onboarding/prompts/credentials/write-plan.md +15 -15
  13. package/onboarding/prompts/deployment/choose-local.md +62 -14
  14. package/onboarding/prompts/deployment/local-evaluation.md +37 -7
  15. package/onboarding/prompts/fallback/best-effort.md +8 -8
  16. package/onboarding/prompts/feature/a2ui/implement.md +15 -8
  17. package/onboarding/prompts/feature/a2ui/plan.md +15 -7
  18. package/onboarding/prompts/feature/a2ui/proof.md +14 -7
  19. package/onboarding/prompts/feature/a2ui/start.md +26 -8
  20. package/onboarding/prompts/feature/channels/implement.md +21 -9
  21. package/onboarding/prompts/feature/channels/plan.md +15 -7
  22. package/onboarding/prompts/feature/channels/proof.md +14 -7
  23. package/onboarding/prompts/feature/channels/start.md +30 -19
  24. package/onboarding/prompts/feature/chat-suggestions/implement.md +15 -8
  25. package/onboarding/prompts/feature/chat-suggestions/plan.md +15 -7
  26. package/onboarding/prompts/feature/chat-suggestions/proof.md +14 -7
  27. package/onboarding/prompts/feature/chat-suggestions/start.md +26 -8
  28. package/onboarding/prompts/feature/complete.md +2 -2
  29. package/onboarding/prompts/feature/learning/implement.md +32 -18
  30. package/onboarding/prompts/feature/learning/plan.md +15 -7
  31. package/onboarding/prompts/feature/learning/proof.md +76 -9
  32. package/onboarding/prompts/feature/learning/start.md +26 -8
  33. package/onboarding/prompts/feature/open-generative-ui/implement.md +15 -8
  34. package/onboarding/prompts/feature/open-generative-ui/plan.md +15 -7
  35. package/onboarding/prompts/feature/open-generative-ui/proof.md +14 -7
  36. package/onboarding/prompts/feature/open-generative-ui/start.md +26 -8
  37. package/onboarding/prompts/feature/realtime-sync/implement.md +20 -12
  38. package/onboarding/prompts/feature/realtime-sync/plan.md +15 -7
  39. package/onboarding/prompts/feature/realtime-sync/proof.md +14 -7
  40. package/onboarding/prompts/feature/realtime-sync/start.md +25 -7
  41. package/onboarding/prompts/feature/rich-threads/implement.md +21 -13
  42. package/onboarding/prompts/feature/rich-threads/plan.md +15 -7
  43. package/onboarding/prompts/feature/rich-threads/proof.md +14 -7
  44. package/onboarding/prompts/feature/rich-threads/start.md +25 -7
  45. package/onboarding/prompts/feature/stop.md +9 -3
  46. package/onboarding/prompts/feature/voice/implement.md +15 -8
  47. package/onboarding/prompts/feature/voice/plan.md +16 -8
  48. package/onboarding/prompts/feature/voice/proof.md +14 -7
  49. package/onboarding/prompts/feature/voice/start.md +26 -8
  50. package/onboarding/prompts/framework/ag2.md +6 -5
  51. package/onboarding/prompts/framework/agno.md +6 -5
  52. package/onboarding/prompts/framework/built-in.md +9 -6
  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 +12 -4
  56. package/onboarding/prompts/framework/custom-ag-ui.md +8 -2
  57. package/onboarding/prompts/framework/deep-agents.md +6 -5
  58. package/onboarding/prompts/framework/google-adk.md +2 -2
  59. package/onboarding/prompts/framework/langgraph-fastapi.md +8 -5
  60. package/onboarding/prompts/framework/langgraph-python.md +8 -5
  61. package/onboarding/prompts/framework/langgraph-typescript.md +8 -5
  62. package/onboarding/prompts/framework/llamaindex.md +6 -5
  63. package/onboarding/prompts/framework/mastra.md +9 -6
  64. package/onboarding/prompts/framework/ms-agent-dotnet.md +12 -4
  65. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +12 -4
  66. package/onboarding/prompts/framework/ms-agent-python.md +6 -5
  67. package/onboarding/prompts/framework/pydantic-ai.md +6 -5
  68. package/onboarding/prompts/framework/strands-python.md +10 -6
  69. package/onboarding/prompts/framework/strands-typescript.md +10 -6
  70. package/onboarding/prompts/frontend/angular.md +10 -3
  71. package/onboarding/prompts/frontend/nextjs.md +36 -3
  72. package/onboarding/prompts/frontend/plan.md +13 -7
  73. package/onboarding/prompts/frontend/react-native.md +9 -2
  74. package/onboarding/prompts/frontend/react-spa.md +9 -2
  75. package/onboarding/prompts/frontend/vue.md +9 -2
  76. package/onboarding/prompts/implementation/build-and-validate.md +49 -21
  77. package/onboarding/prompts/proof/complete.md +3 -3
  78. package/onboarding/prompts/proof/oss-baseline.md +30 -13
  79. package/onboarding/prompts/proof/round-trip.md +55 -17
  80. package/onboarding/prompts/research/gather.md +21 -11
  81. package/onboarding/prompts/research/merge.md +8 -2
  82. package/onboarding/prompts/research/preflight.md +2 -2
  83. package/onboarding/prompts/research/route.md +14 -7
  84. package/onboarding/prompts/starter/clone.md +151 -9
  85. package/onboarding/prompts/stopped/run-failed.md +8 -2
  86. package/onboarding/prompts/subagent/create-plan.md +9 -2
  87. package/onboarding/prompts/subagent/implement-and-validate.md +2 -2
  88. package/onboarding/prompts/subagent/inspect-repository.md +12 -6
  89. package/onboarding/prompts/subagent/prove-oss-baseline.md +6 -1
  90. package/onboarding/prompts/subagent/prove-round-trip.md +53 -10
  91. package/onboarding/prompts/unsupported/no-validated-path.md +8 -2
  92. package/package.json +1 -1
  93. package/release/release-tool.js +18 -1
  94. package/services/local-auth-worker.js +175 -159
@@ -11,7 +11,7 @@ friction command follows the telemetry setting the developer already chose, so i
11
11
  separate question.
12
12
 
13
13
  ```text
14
- npx --prefer-offline --yes copilotkit@4.23.1 onboard friction --phase stop --category <slug> --message "<sentences>"
14
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard friction --phase stop --category <slug> --message "<sentences>"
15
15
  ```
16
16
 
17
17
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -72,21 +72,21 @@ page is selected yet, add the one for the frontend selected above to the same li
72
72
  Native, so the planner proves the thread with `verify --round-trip` instead.
73
73
 
74
74
  Spawn one planning subagent. Tell it to run
75
- `npx --prefer-offline --yes copilotkit@4.23.1 onboard read subagent/create-plan` first and follow the prompt
76
- it returns. If that read fails because the subagent cannot use the shell, stop that subagent.
77
- Run the same command yourself, then spawn a fresh subagent with the returned prompt and the
78
- same handoff. Give it the repository findings, selected framework, frontend, model, credential
79
- variable names, selected documentation URLs, and documentation policy. Give it each finding
80
- that the framework route told you to record, such as how the agent connects or a `clone()`
81
- finding. Some of those rules, such as the `clone()` override, are on no documentation page.
82
- On a conversion, also give it the frozen criterion. Give the planning subagent the updated
83
- protected path list.
84
- Wait for the subagent to finish.
75
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard read subagent/create-plan` first and follow the
76
+ prompt it returns. Tell it to return at once, and say so, if that read is refused or fails,
77
+ and not to wait for an approval. If it returns that way, stop that subagent. Run the same
78
+ command yourself, then spawn a fresh subagent with the returned prompt and the same handoff.
79
+ Give it the repository findings, selected framework, frontend, model, credential variable
80
+ names, selected documentation URLs, and documentation policy. Give it each finding that the
81
+ framework route told you to record, such as how the agent connects or a `clone()` finding.
82
+ Some of those rules, such as the `clone()` override, are on no documentation page. On a
83
+ conversion, also give it the frozen criterion. Give the planning subagent the updated
84
+ protected path list. Wait for the subagent to finish.
85
85
 
86
86
  Continue only if the planning result starts with `Status: passed`. For `Status: failed`,
87
87
  send the result back to the planning subagent for repair, up to three attempts. For
88
88
  `Status: blocked`, or a third failed result, run
89
- `npx --prefer-offline --yes copilotkit@4.23.1 onboard read stopped/run-failed`. A plan this run cannot
89
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard read stopped/run-failed`. A plan this run cannot
90
90
  write is a run that broke, not a stack the documentation does not cover. The exception is
91
91
  a blocked result that names `unsupported/no-validated-path`: the planning subagent found
92
92
  that no page supports the plan, so take the no-supported-path route at the end of this
@@ -132,11 +132,11 @@ Before you end your turn to wait for the answer, report the pause, each time you
132
132
  plan:
133
133
 
134
134
  ```text
135
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase awaiting-plan-approval
135
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-plan-approval
136
136
  ```
137
137
 
138
138
  If the developer approves the plan, run
139
- `npx --prefer-offline --yes copilotkit@4.23.1 onboard read implementation/build-and-validate`.
139
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard read implementation/build-and-validate`.
140
140
 
141
141
  If no exact supported path or documentation URL exists, run
142
- `npx --prefer-offline --yes copilotkit@4.23.1 onboard read unsupported/no-validated-path`.
142
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard read unsupported/no-validated-path`.
@@ -4,8 +4,27 @@ This node records the developer's local deployment choice in the onboarding rout
4
4
  Use that choice for both new and existing apps throughout this run. Pass it to each
5
5
  worker. Do not offer a hosted project later in this run.
6
6
 
7
+ A local request can arrive after this run created a hosted project: `init --create` or
8
+ `onboard credentials` already ran. Then do not take the local route, and record nothing.
9
+ Tell the developer that this run already created a hosted project, so it stays managed.
10
+ Return to the step you were on.
11
+
12
+ First run `npx --prefer-offline --yes copilotkit@4.25.0 local --help`. If it does not list `setup`
13
+ ("Configure model access and install or resume the local stack"), this release has no
14
+ local evaluation. Tell the developer so, and keep managed. If this run has not recorded
15
+ managed yet, run `npx --prefer-offline --yes copilotkit@4.25.0 onboard deployment --choice managed`.
16
+ Then return to “Check sign-in” in the start prompt. If a login process from it still
17
+ runs, keep reading that process and start no second one. Otherwise record the choice:
18
+
19
+ ```text
20
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard deployment --choice local
21
+ ```
22
+
7
23
  Explain these conditions before sign-in:
8
24
 
25
+ - This is self-hosting on the developer's machine, for evaluation. The CLI does not
26
+ install into a cluster. To self-host in their own cluster, they follow the Helm guide
27
+ (https://docs.copilotkit.ai/intelligence/self-hosting.md).
9
28
  - The developer supplies Docker with 4 CPUs, 12 GiB RAM, and 40 GiB free storage
10
29
  available for this stack, after other workloads.
11
30
  - The CLI installs Threads, Learning, Channels, the dashboard, CLI-approved local sign-in,
@@ -16,31 +35,60 @@ Explain these conditions before sign-in:
16
35
  separate settings, or remain configuration incomplete until settings are supplied.
17
36
  - Slack and Teams need internet access and a developer-provided public HTTPS endpoint.
18
37
 
19
- Collect a path to the published candidate manifest. There is no selected default.
20
- Do not substitute an arbitrary chart tag or a checkout build. If no manifest exists,
21
- report that candidate publication is needed and take the failure path below.
38
+ The CLI selects the latest stable release by itself. Do not ask for a release or a
39
+ candidate manifest. If the developer gives a candidate manifest path for release
40
+ testing, record it for setup. Do not substitute a chart tag or a checkout build.
22
41
  Never ask the developer to paste credentials into the conversation.
23
42
 
24
- Collect the model choice. For reuse, have the developer place their compatible app
25
- model settings in a private JSON file with `model`, `provider`, and any needed
26
- `baseUrl` and `apiKey` fields. Use that file with `--model-config`. Separate settings
27
- use the same private file format. Deferral uses `--defer-model`.
43
+ Collect the model choice for Learning. The first proof does not need a Learning model,
44
+ and Learning starts its first run only after 15 conversations. Offer these choices:
45
+
46
+ 1. Configure later, the default. Install with `--defer-model`. In the closing report, write
47
+ "Learning configuration incomplete". Name the command that adds the model later:
48
+ `npx --prefer-offline --yes copilotkit@4.25.0 local setup`, run in a terminal in the app directory.
49
+ 2. Guided setup. If the developer named Learning as a goal, offer it first. Install
50
+ the stack with `--defer-model`. After the stack is ready, the developer runs
51
+ `npx --prefer-offline --yes copilotkit@4.25.0 local setup` in their own terminal window, in the app
52
+ directory. Never give it as a `!` line: its guided prompt needs a terminal, and a coding
53
+ agent's shell has none. The prompt asks for the model and its key, and it saves them
54
+ privately. On a running stack, it restarts only Learning. Do not ask the developer to
55
+ write a file.
56
+ 3. A private model file that the developer has already. Pass its path with
57
+ `--model-config <file>`. Do not read or print the file.
28
58
 
29
- Record the candidate path and model choice in the plan, but no secret values.
59
+ Before you end your turn to wait for the developer, report the pause:
60
+
61
+ ```text
62
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
63
+ ```
64
+
65
+ Record the model choice, and any candidate path, in the plan, but no secret values.
30
66
  Create no cluster and change no app files at this step. The developer can still decline sign-in.
31
67
  If declined, take the failure path below.
32
68
 
33
- Run `npx --prefer-offline --yes copilotkit@4.23.1 login --json`. Follow the streaming sign-in
69
+ A developer can ask for local after sign-in started. If a login process from the start
70
+ prompt still runs, keep reading that process and start no second one. If sign-in already
71
+ completed, skip sign-in. If research already started, do not start it again.
72
+ If the managed sign-in message was already sent, send this once and no other sign-in
73
+ message: “You asked to run it locally, so this project gets no managed CopilotKit project.
74
+ Signing in only gets the renewable evaluation license.”
75
+
76
+ Otherwise run `npx --prefer-offline --yes copilotkit@4.25.0 login --json`. Follow the streaming sign-in
34
77
  protocol from “Check sign-in” in the start prompt: open the first authentication URL
35
78
  once, keep the same process running, and continue only after its completed record.
36
- Explain that this sign-in obtains the evaluation license, not the local dashboard login.
79
+ When the first authentication URL arrives, send this message in place of the managed
80
+ sign-in message: “Sign in to get the renewable evaluation license. Your local dashboard
81
+ will use CLI approval.”
37
82
  On failed or declined sign-in, take the failure path below.
38
83
 
39
- After sign-in completes, continue with
40
- `npx --prefer-offline --yes copilotkit@4.23.1 onboard read research/gather`.
84
+ After sign-in completes, report it: `npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase sign-in-settled`.
85
+ Then continue with
86
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard read research/gather`, unless research already started.
87
+ If it already started, return to the step you were on. `starter/clone` and
88
+ `credentials/finalize-plan` each have a branch for a recorded local choice.
41
89
  Keep the local choice and collected paths in the run's plan and worker context.
42
90
 
43
91
  ## Failure path
44
92
 
45
- If the candidate is missing or sign-in fails or is declined, stop before cluster creation.
46
- Run `npx --prefer-offline --yes copilotkit@4.23.1 onboard read stopped/run-failed`.
93
+ If sign-in fails or is declined, stop before cluster creation.
94
+ Run `npx --prefer-offline --yes copilotkit@4.25.0 onboard read stopped/run-failed`.
@@ -22,26 +22,36 @@ Get approval for the local installation and these connection writes. Apply the e
22
22
  protected-path authorization rules to these exact files. Approval for a scaffold alone
23
23
  does not authorize replacing an existing app's connection.
24
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.25.0 onboard checkpoint --phase awaiting-developer
29
+ ```
30
+
25
31
  ## Run the shared installer
26
32
 
27
- From the exact app directory, use the collected candidate and model choice:
33
+ From the exact app directory, use the collected model choice:
28
34
 
29
35
  ```text
30
- npx --prefer-offline --yes copilotkit@4.23.1 local setup --candidate <manifest.json> --defer-model --json
36
+ npx --prefer-offline --yes copilotkit@4.25.0 local setup --defer-model --json
31
37
  ```
32
38
 
33
39
  For supplied model access, replace `--defer-model` with `--model-config <private-file>`.
40
+ The CLI selects the latest stable release. Add `--candidate <manifest.json>` only when the
41
+ developer gave a candidate manifest for release testing.
34
42
  Do not print or read the model file into the conversation. Do not install or manage Docker.
35
43
  The CLI supplies its pinned Helm and k3d tools and checks the available Docker budget.
36
44
 
37
- On a retry, run `local setup --json` with no new candidate. It uses saved inputs.
45
+ On a retry, run the same command with the same model flag, `--defer-model` or
46
+ `--model-config <private-file>`, and no new candidate. Setup resumes from its saved inputs.
47
+ A Docker failure stops setup before it saves any input, so the model flag is required.
38
48
  Read blockers and the recorded failed step. Do not delete or recreate a failed stack.
39
49
  A copied app needs explicit `--share-stack`. Do not infer sharing from a copied reference.
40
50
 
41
51
  After setup reports the stack ready, run the approved connection step from that directory:
42
52
 
43
53
  ```text
44
- npx --prefer-offline --yes copilotkit@4.23.1 local connect --approve-connection --json
54
+ npx --prefer-offline --yes copilotkit@4.25.0 local connect --approve-connection --json
45
55
  ```
46
56
 
47
57
  Read the local `.copilotkit/project.json` for its project ID and slug. Do not run hosted
@@ -55,8 +65,28 @@ Use the existing Threads round-trip proof against this local project. Verify a r
55
65
  message, reply, and saved conversation. Installation readiness alone is not that proof.
56
66
 
57
67
  Learning needs valid model settings for this installation. A previous local installation
58
- proves nothing about these settings. If deferred, report “Learning configuration
59
- incomplete.” No Learning run is required to finish onboarding configuration.
68
+ proves nothing about these settings. If the developer chose guided setup, wait until the
69
+ stack is ready. Then:
70
+
71
+ Ask the developer to run this command in their own terminal window, in the app directory:
72
+
73
+ ```text
74
+ npx --prefer-offline --yes copilotkit@4.25.0 local setup
75
+ ```
76
+
77
+ Do not give it as a `!` line, and do not run it yourself. Its guided model prompt needs a
78
+ terminal, and a coding agent's shell has none. Without a terminal, the command stops and
79
+ changes nothing. The prompt asks for the model and its key, and it saves them privately.
80
+ On a running stack, it restarts only Learning. Do not ask for a model file.
81
+
82
+ Say that the run continues when they reply or resume this session. Report the pause with
83
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-model-credential`, end your
84
+ turn, and wait. When the developer replies, run
85
+ `npx --prefer-offline --yes copilotkit@4.25.0 local status --json` and read `learning.configuration`.
86
+
87
+ If the model is still missing or was deferred, report “Learning configuration incomplete”
88
+ and name the same command, run in a terminal window. No Learning run is required to finish
89
+ onboarding configuration.
60
90
 
61
91
  Channels remain incomplete until the existing proof observes a useful reply to a real mention.
62
92
  Use the existing approved HTTPS tunnel instructions when inbound traffic needs a public URL.
@@ -66,6 +96,6 @@ must not block Threads, the dashboard, or later Learning configuration.
66
96
  If the developer cancels the connection, run `local cancel --json` from the app directory.
67
97
  Report conflict names only. Keep the stack unless deletion is separately confirmed.
68
98
 
69
- Continue with `npx --prefer-offline --yes copilotkit@4.23.1 onboard read credentials/settle-credentials`.
99
+ Continue with `npx --prefer-offline --yes copilotkit@4.25.0 onboard read credentials/settle-credentials`.
70
100
  For this local route, skip the hosted selection-result checks and use the local project
71
101
  record. Continue the existing implementation and proof paths against local endpoints.
@@ -16,7 +16,7 @@ you stop. The friction command follows the telemetry setting the developer alrea
16
16
  so it needs no separate question.
17
17
 
18
18
  ```text
19
- npx --prefer-offline --yes copilotkit@4.23.1 onboard friction --phase stop --category <slug> --message "<sentences>"
19
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard friction --phase stop --category <slug> --message "<sentences>"
20
20
  ```
21
21
 
22
22
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -62,19 +62,19 @@ or frontend, stop onboarding.
62
62
 
63
63
  Use these rules for every protected-path check in this fallback:
64
64
 
65
- - Run `npx --prefer-offline --yes copilotkit@4.23.1 onboard audit` from the target app directory.
65
+ - Run `npx --prefer-offline --yes copilotkit@4.25.0 onboard audit` from the target app directory.
66
66
  - If a result starts with `Status: blocked`, stop onboarding and report the printed reason.
67
67
  It proved nothing changed, so do not report a preservation failure.
68
68
  - If a result reports a changed protected path this run wrote, stop onboarding.
69
69
  - If a result reports a changed env file, this rule replaces the one above, even when this
70
70
  run wrote the file. This run asked the developer to place a
71
71
  credential there, so take the credential route rather than the external one. Accept it
72
- with `npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --accept-credential --path <path>`,
72
+ with `npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --accept-credential --path <path>`,
73
73
  run the audit again, and name it in the closing report. If the command refuses because
74
74
  it names a lost variable, stop onboarding.
75
75
  - Before any proof subagent runs, a changed path that no Files changed section from this
76
76
  run names came from outside the run. Accept it by name with
77
- `npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --accept-external --path <path>`, run the
77
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --accept-external --path <path>`, run the
78
78
  audit again, and name it in the closing report.
79
79
  - After a proof subagent runs, a changed path that no Files changed section from this run
80
80
  names is unsettled rather than outside the run, because the proof subagent here returns
@@ -133,16 +133,16 @@ that the selected documentation proved an inferred step.
133
133
  Record what the proof returned before you complete:
134
134
 
135
135
  ```text
136
- npx --prefer-offline --yes copilotkit@4.23.1 onboard proof --step round-trip --outcome <passed|failed|skipped>
136
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
137
137
  ```
138
138
 
139
- When the proof is complete, run `npx --prefer-offline --yes copilotkit@4.23.1 onboard complete`, carrying the
139
+ When the proof is complete, run `npx --prefer-offline --yes copilotkit@4.25.0 onboard complete`, carrying the
140
140
  surface-check result the proof subagent returned. Pass exactly one of `--visual-check` or
141
141
  `--device-check`, matching this journey's surface:
142
142
 
143
143
  ```text
144
- npx --prefer-offline --yes copilotkit@4.23.1 onboard complete --visual-check <outcome>
145
- npx --prefer-offline --yes copilotkit@4.23.1 onboard complete --device-check <outcome>
144
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard complete --visual-check <outcome>
145
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard complete --device-check <outcome>
146
146
  ```
147
147
 
148
148
  `--visual-check` is for a web frontend and takes `performed`, `skipped-no-browser-tool`, or
@@ -18,7 +18,7 @@ without exposing secrets.
18
18
  Before you spawn the implementation subagent, take the authorized list from the CLI:
19
19
 
20
20
  ```text
21
- npx --prefer-offline --yes copilotkit@4.23.1 onboard audit
21
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard audit
22
22
  ```
23
23
 
24
24
  From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
@@ -33,11 +33,18 @@ protected path, it must not edit it. It returns a result that starts with `Statu
33
33
  and names the file under Blockers.
34
34
 
35
35
  That result is a question for the developer. The file has not changed yet, so consent can
36
- still go on the record. Name the file and why the work needs it, then end your turn and wait
37
- for the developer's answer. If they allow it, record their answer before any edit:
36
+ still go on the record. Name the file and why the work needs it.
37
+ Before you end your turn to wait for the developer, report the pause:
38
38
 
39
39
  ```text
40
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
40
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
41
+ ```
42
+
43
+ Then end your turn and wait for the developer's answer. If they allow it, record their
44
+ answer before any edit:
45
+
46
+ ```text
47
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
41
48
  ```
42
49
 
43
50
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -49,7 +56,7 @@ feature stop route below.
49
56
  After validation and each repair, run:
50
57
 
51
58
  ```text
52
- npx --prefer-offline --yes copilotkit@4.23.1 onboard audit
59
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard audit
53
60
  ```
54
61
 
55
62
  Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
@@ -60,7 +67,7 @@ with the implementation subagent's `Files changed` section. If that section does
60
67
  the path, accept the developer's external change:
61
68
 
62
69
  ```text
63
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --accept-external --path <path>
70
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --accept-external --path <path>
64
71
  ```
65
72
 
66
73
  For an env file where the developer placed a requested credential, use
@@ -73,11 +80,11 @@ Run the audit again after each accepted change. If it still fails, or starts
73
80
  with `Status: blocked`, route out and stop:
74
81
 
75
82
  ```text
76
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
83
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/stop
77
84
  ```
78
85
 
79
86
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
80
87
  the feature stop route above without further changes.
81
88
 
82
89
  Otherwise run
83
- `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/a2ui/proof`.
90
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/a2ui/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.25.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.25.0 onboard protect
37
37
  ```
38
38
 
39
39
  Then have one read-only subagent repeat the inspection for the findings above, and wait
@@ -54,19 +54,27 @@ Show a concise plan that names the existing runtime/provider files, the smallest
54
54
  catalog or runtime wiring required, the test command, and a browser proof request that
55
55
  renders a compact visible surface. Ask for approval as its own question.
56
56
 
57
+ Before you end your turn to wait for the developer, report the pause:
58
+
59
+ ```text
60
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-plan-approval
61
+ ```
62
+
57
63
  The plan must list every protected path it needs to change under `Authorization requested`,
58
- with one sentence explaining why. Write `None` when it needs none. Authorization covers
59
- changing a protected path, not removing it, so the plan must not delete, move, or rename
60
- one.
64
+ with one sentence explaining why. Write `None` when it needs none. A step that installs or
65
+ upgrades a package changes its manifest, so list a protected manifest such as `package.json`
66
+ or `pyproject.toml`. Its consent covers its lockfile, beside it or at the workspace root.
67
+ Authorization covers changing a protected path, not removing it, so the plan must not
68
+ delete, move, or rename one.
61
69
 
62
70
  After approval, record each approved path before implementation:
63
71
 
64
72
  ```text
65
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
73
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
66
74
  ```
67
75
 
68
76
  If an approved path changed after capture and no implementation step has run, add
69
77
  `--with-prior-change`. Continue only when every result starts with `Status: passed`. Do not
70
78
  authorize a path the approved plan did not list.
71
79
 
72
- Then run `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/a2ui/implement`.
80
+ Then run `npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/a2ui/implement`.
@@ -23,11 +23,18 @@ not edit it. It returns a result that starts with `Status: blocked` and names th
23
23
  Blockers.
24
24
 
25
25
  That result is a question for the developer. The file has not changed yet, so consent can
26
- still go on the record. Name the file and why the fix needs it, then end your turn and wait
27
- for the developer's answer. If they allow it, record their answer before any edit:
26
+ still go on the record. Name the file and why the fix needs it.
27
+ Before you end your turn to wait for the developer, report the pause:
28
28
 
29
29
  ```text
30
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
30
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
31
+ ```
32
+
33
+ Then end your turn and wait for the developer's answer. If they allow it, record their
34
+ answer before any edit:
35
+
36
+ ```text
37
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
31
38
  ```
32
39
 
33
40
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -40,11 +47,11 @@ Report the outcome of each attempt as it ends, before any repair. The command co
40
47
  attempts and the repairs:
41
48
 
42
49
  ```text
43
- npx --prefer-offline --yes copilotkit@4.23.1 onboard proof --step round-trip --outcome <passed|failed|skipped>
50
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
44
51
  ```
45
52
 
46
53
  Use `passed` only for a proved A2UI surface, `failed` for an attempted proof that failed,
47
- and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.23.1 onboard audit`.
54
+ and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.25.0 onboard audit`.
48
55
  Continue only when it starts with `Status: passed`.
49
56
 
50
57
  If the audit fails, never repair, reset, or revert a protected path. Compare each named path
@@ -59,9 +66,9 @@ the path and the change the audit reports. Run the audit again after each accept
59
66
  If the audit still fails, or starts with `Status: blocked`, route out and stop:
60
67
 
61
68
  ```text
62
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
69
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/stop
63
70
  ```
64
71
 
65
72
  When the audit passes, run
66
- `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/complete` with the actual browser-proof
73
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/complete` with the actual browser-proof
67
74
  outcome.
@@ -5,6 +5,24 @@ orchestrator and delegate inspection, implementation, and proof to focused subag
5
5
  only inside the target project. Prompt names are this graph's own bookkeeping. Say what the
6
6
  run is doing in the developer's words instead.
7
7
 
8
+ ## First, say which coding agent you are
9
+
10
+ Run this before anything else in this prompt:
11
+
12
+ ```text
13
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
14
+ ```
15
+
16
+ Report your product slug, such as `codex` or `claude-code`. The command needs no sign-in,
17
+ browser, or project. If this run already ran `onboard identify`, skip this step.
18
+
19
+ - `--model`: copy the model id exactly as your instructions write it. Without an exact
20
+ model id, leave out `--model` rather than guess.
21
+ - `--model-family`: give it even without `--model`. Closest of: `claude-opus`,
22
+ `claude-sonnet`, `claude-haiku`, `gpt-5`, `gemini`, `grok`, `glm`, `minimax`, `mimo`,
23
+ `deepseek`, `qwen`, `kimi`, else the model's series. Leave it out if you do not know it.
24
+ - Never give your product slug as a model, or as an unlisted family.
25
+
8
26
  ## Waits, stops, and subagents
9
27
 
10
28
  A run that starts here has not read these rules yet, so they come first. They cover this
@@ -21,13 +39,13 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
21
39
  once:
22
40
 
23
41
  ```text
24
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase delegation-unavailable
42
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase delegation-unavailable
25
43
  ```
26
44
 
27
45
  Before you end your turn to wait for the developer, report the pause:
28
46
 
29
47
  ```text
30
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase awaiting-developer
48
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
31
49
  ```
32
50
 
33
51
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
@@ -37,7 +55,7 @@ If you stop this run, send one short report before you stop. The friction comman
37
55
  the telemetry setting the developer already chose, so it needs no separate question.
38
56
 
39
57
  ```text
40
- npx --prefer-offline --yes copilotkit@4.23.1 onboard friction --phase stop --category <slug> --message "<sentences>"
58
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard friction --phase stop --category <slug> --message "<sentences>"
41
59
  ```
42
60
 
43
61
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -51,7 +69,7 @@ one scoped fix, and sends the report itself when no fix is approved.
51
69
  Before any subagent or project process runs, capture the developer's existing work:
52
70
 
53
71
  ```text
54
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect
72
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard protect
55
73
  ```
56
74
 
57
75
  Keep the exact protected path list it prints and give that list to every subagent. No
@@ -66,26 +84,26 @@ development/test commands. It must return paths and secret-safe presence checks
66
84
 
67
85
  Require an existing frontend, agent, and CopilotKit round trip. Start only project-owned
68
86
  processes when needed, inspect `/info`, and run
69
- `npx --prefer-offline --yes copilotkit@4.23.1 verify --expect-runtime oss --round-trip --agent <agent-id> --json`.
87
+ `npx --prefer-offline --yes copilotkit@4.25.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`.
70
88
  Also drive one existing request through the frontend when browser control is available.
71
89
 
72
90
  Wait for the inspection subagent to finish. Then report that the inspection came back:
73
91
 
74
92
  ```text
75
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase research-returned
93
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase research-returned
76
94
  ```
77
95
 
78
96
  If the inspection did not prove the baseline this intent extends, stop here without
79
97
  changing files:
80
98
 
81
99
  ```text
82
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
100
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/stop
83
101
  ```
84
102
 
85
103
  When the inspection proved what this intent needs, read the next prompt now, in this turn:
86
104
 
87
105
  ```text
88
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/a2ui/plan
106
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/a2ui/plan
89
107
  ```
90
108
 
91
109
  That prompt holds the plan, the developer's approval, and the paths the plan changes.
@@ -19,7 +19,7 @@ On Teams, skip Slack-only tools and the Slack e2e harness. Do not add a CopilotK
19
19
  web app to make this run look complete. Do not replace the existing agent.
20
20
 
21
21
  If repository evidence does not prove an existing valid Intelligence selection, sign in
22
- yourself with `npx --prefer-offline --yes copilotkit@4.23.1 login --json`: the same single streaming
22
+ yourself with `npx --prefer-offline --yes copilotkit@4.25.0 login --json`: the same single streaming
23
23
  session generic onboarding uses. Read its JSON Lines while the process runs. The CLI opens
24
24
  the page itself when it can: with `"browser_opened": false` in `action_required`, show the
25
25
  developer the clickable URL and ask them to finish sign-in there. If the record carries
@@ -75,7 +75,7 @@ starter to satisfy this rule, and do not report the page that shows it.
75
75
  Before you spawn the implementation subagent, take the authorized list from the CLI:
76
76
 
77
77
  ```text
78
- npx --prefer-offline --yes copilotkit@4.23.1 onboard audit
78
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard audit
79
79
  ```
80
80
 
81
81
  From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
@@ -90,11 +90,18 @@ protected path, it must not edit it. It returns a result that starts with `Statu
90
90
  and names the file under Blockers.
91
91
 
92
92
  That result is a question for the developer. The file has not changed yet, so consent can
93
- still go on the record. Name the file and why the work needs it, then end your turn and wait
94
- for the developer's answer. If they allow it, record their answer before any edit:
93
+ still go on the record. Name the file and why the work needs it.
94
+ Before you end your turn to wait for the developer, report the pause:
95
95
 
96
96
  ```text
97
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
97
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
98
+ ```
99
+
100
+ Then end your turn and wait for the developer's answer. If they allow it, record their
101
+ answer before any edit:
102
+
103
+ ```text
104
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
98
105
  ```
99
106
 
100
107
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -106,7 +113,7 @@ feature stop route below.
106
113
  After validation and each repair, run:
107
114
 
108
115
  ```text
109
- npx --prefer-offline --yes copilotkit@4.23.1 onboard audit
116
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard audit
110
117
  ```
111
118
 
112
119
  Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
@@ -117,7 +124,7 @@ with the implementation subagent's `Files changed` section. If that section does
117
124
  the path, accept the developer's external change:
118
125
 
119
126
  ```text
120
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --accept-external --path <path>
127
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --accept-external --path <path>
121
128
  ```
122
129
 
123
130
  For an env file where the developer placed a requested credential, use
@@ -130,7 +137,7 @@ Run the audit again after each accepted change. If it still fails, or starts
130
137
  with `Status: blocked`, route out and stop:
131
138
 
132
139
  ```text
133
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
140
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/stop
134
141
  ```
135
142
 
136
143
  ## Values this run writes, and the one credential the developer supplies
@@ -160,6 +167,11 @@ in a report, a command line, or a commit.
160
167
 
161
168
  If that file already sets `INTELLIGENCE_CHANNEL_NAME` to a different Channel, change
162
169
  nothing. Ask the developer which Channel this project serves and wait for their answer.
170
+ Before you end your turn to wait for the developer, report the pause:
171
+
172
+ ```text
173
+ npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
174
+ ```
163
175
 
164
176
  The only credential the developer supplies is their model provider key, such as
165
177
  `OPENAI_API_KEY`, and the run asks for it once as part of plan approval. Never ask for it
@@ -174,4 +186,4 @@ If validation cannot pass, or this run needs a prerequisite the app does not hav
174
186
  the feature stop route above without further changes.
175
187
 
176
188
  Otherwise run
177
- `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/channels/proof`.
189
+ `npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/channels/proof`.