copilotkit 4.17.0 → 4.18.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.
- package/README.md +127 -5
- package/cli-build-info.json +7 -7
- package/exporters/langgraph/README.md +118 -0
- package/exporters/langgraph/export_checkpointer.py +125 -0
- package/index.js +12227 -9022
- package/onboarding/index.json +1 -1
- package/onboarding/prompts/authenticate/start.md +18 -19
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +57 -200
- package/onboarding/prompts/credentials/plan.md +24 -23
- package/onboarding/prompts/credentials/settle-credentials.md +40 -213
- package/onboarding/prompts/credentials/write-plan.md +17 -8
- package/onboarding/prompts/fallback/best-effort.md +12 -12
- package/onboarding/prompts/feature/a2ui/implement.md +7 -7
- package/onboarding/prompts/feature/a2ui/proof.md +7 -7
- package/onboarding/prompts/feature/a2ui/start.md +53 -9
- package/onboarding/prompts/feature/channels/implement.md +8 -8
- package/onboarding/prompts/feature/channels/proof.md +7 -7
- package/onboarding/prompts/feature/channels/start.md +50 -7
- package/onboarding/prompts/feature/chat-suggestions/implement.md +7 -7
- package/onboarding/prompts/feature/chat-suggestions/proof.md +7 -7
- package/onboarding/prompts/feature/chat-suggestions/start.md +50 -7
- package/onboarding/prompts/feature/complete.md +2 -2
- package/onboarding/prompts/feature/learning/implement.md +24 -19
- package/onboarding/prompts/feature/learning/proof.md +8 -8
- package/onboarding/prompts/feature/learning/start.md +43 -20
- package/onboarding/prompts/feature/open-generative-ui/implement.md +7 -7
- package/onboarding/prompts/feature/open-generative-ui/proof.md +7 -7
- package/onboarding/prompts/feature/open-generative-ui/start.md +50 -7
- package/onboarding/prompts/feature/realtime-sync/implement.md +8 -8
- package/onboarding/prompts/feature/realtime-sync/proof.md +7 -7
- package/onboarding/prompts/feature/realtime-sync/start.md +49 -6
- package/onboarding/prompts/feature/rich-threads/implement.md +9 -9
- package/onboarding/prompts/feature/rich-threads/proof.md +7 -7
- package/onboarding/prompts/feature/rich-threads/start.md +49 -6
- package/onboarding/prompts/feature/stop.md +5 -5
- package/onboarding/prompts/feature/voice/implement.md +7 -7
- package/onboarding/prompts/feature/voice/proof.md +7 -7
- package/onboarding/prompts/feature/voice/start.md +50 -7
- package/onboarding/prompts/framework/ag2.md +2 -2
- package/onboarding/prompts/framework/agno.md +2 -2
- package/onboarding/prompts/framework/built-in.md +2 -2
- package/onboarding/prompts/framework/claude-sdk-python.md +2 -2
- package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
- package/onboarding/prompts/framework/crewai-flows.md +2 -2
- package/onboarding/prompts/framework/deep-agents.md +2 -2
- package/onboarding/prompts/framework/google-adk.md +2 -2
- package/onboarding/prompts/framework/langgraph-fastapi.md +2 -2
- package/onboarding/prompts/framework/langgraph-python.md +2 -2
- package/onboarding/prompts/framework/langgraph-typescript.md +2 -2
- package/onboarding/prompts/framework/llamaindex.md +2 -2
- package/onboarding/prompts/framework/mastra.md +2 -2
- package/onboarding/prompts/framework/ms-agent-dotnet.md +2 -2
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +2 -2
- package/onboarding/prompts/framework/ms-agent-python.md +2 -2
- package/onboarding/prompts/framework/pydantic-ai.md +2 -2
- package/onboarding/prompts/framework/strands-python.md +2 -2
- package/onboarding/prompts/framework/strands-typescript.md +2 -2
- package/onboarding/prompts/frontend/angular.md +3 -3
- package/onboarding/prompts/frontend/nextjs.md +3 -3
- package/onboarding/prompts/frontend/plan.md +9 -8
- package/onboarding/prompts/frontend/react-native.md +2 -2
- package/onboarding/prompts/frontend/react-spa.md +2 -2
- package/onboarding/prompts/frontend/vue.md +2 -2
- package/onboarding/prompts/implementation/build-and-validate.md +19 -20
- package/onboarding/prompts/proof/complete.md +11 -11
- package/onboarding/prompts/proof/oss-baseline.md +5 -5
- package/onboarding/prompts/proof/round-trip.md +16 -15
- package/onboarding/prompts/research/gather.md +6 -6
- package/onboarding/prompts/research/merge.md +3 -3
- package/onboarding/prompts/research/preflight.md +4 -4
- package/onboarding/prompts/research/route.md +5 -5
- package/onboarding/prompts/starter/clone.md +8 -7
- package/onboarding/prompts/stopped/run-failed.md +4 -4
- package/onboarding/prompts/subagent/create-plan.md +10 -1
- package/onboarding/prompts/subagent/inspect-repository.md +9 -2
- package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
- package/onboarding/prompts/subagent/prove-round-trip.md +47 -17
- package/onboarding/prompts/unsupported/no-validated-path.md +4 -4
- package/package.json +1 -1
- package/release/release-tool.js +19 -5
|
@@ -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.
|
|
22
|
+
yourself with `npx --prefer-offline --yes copilotkit@4.18.0 login --json`: the same single streaming
|
|
23
23
|
session generic onboarding uses. Read its JSON Lines while the process runs. Open the
|
|
24
24
|
first `authentication_url` exactly once with the operating system's default browser
|
|
25
25
|
opener, `open` on macOS, `xdg-open` on Linux, `Start-Process` in Windows PowerShell. Your
|
|
@@ -78,7 +78,7 @@ starter to satisfy this rule, and do not report the page that shows it.
|
|
|
78
78
|
Before you spawn the implementation subagent, take the authorized list from the CLI:
|
|
79
79
|
|
|
80
80
|
```text
|
|
81
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
81
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard audit
|
|
82
82
|
```
|
|
83
83
|
|
|
84
84
|
From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
|
|
@@ -97,7 +97,7 @@ still go on the record. Name the file and why the work needs it, then end your t
|
|
|
97
97
|
for the developer's answer. If they allow it, record their answer before any edit:
|
|
98
98
|
|
|
99
99
|
```text
|
|
100
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
100
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
101
101
|
```
|
|
102
102
|
|
|
103
103
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -109,7 +109,7 @@ feature stop route below.
|
|
|
109
109
|
After validation and each repair, run:
|
|
110
110
|
|
|
111
111
|
```text
|
|
112
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
112
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard audit
|
|
113
113
|
```
|
|
114
114
|
|
|
115
115
|
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
@@ -120,7 +120,7 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
120
120
|
the path, accept the developer's external change:
|
|
121
121
|
|
|
122
122
|
```text
|
|
123
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
123
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --accept-external --path <path>
|
|
124
124
|
```
|
|
125
125
|
|
|
126
126
|
For an env file where the developer placed a requested credential, use
|
|
@@ -133,7 +133,7 @@ Run the audit again after each accepted change. If it still fails, or starts
|
|
|
133
133
|
with `Status: blocked`, route out and stop:
|
|
134
134
|
|
|
135
135
|
```text
|
|
136
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
136
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/stop
|
|
137
137
|
```
|
|
138
138
|
|
|
139
139
|
## Values this run writes, and the one credential the developer supplies
|
|
@@ -169,11 +169,11 @@ variable while every recorded one keeps its value, and run the audit again.
|
|
|
169
169
|
When implementation validation passes, report it:
|
|
170
170
|
|
|
171
171
|
```text
|
|
172
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
172
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase build-validated
|
|
173
173
|
```
|
|
174
174
|
|
|
175
175
|
If validation cannot pass, or this run needs a prerequisite the app does not have, use
|
|
176
176
|
the feature stop route above without further changes.
|
|
177
177
|
|
|
178
178
|
Otherwise run
|
|
179
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
179
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/channels/proof`.
|
|
@@ -31,7 +31,7 @@ still go on the record. Name the file and why the fix needs it, then end your tu
|
|
|
31
31
|
for the developer's answer. If they allow it, record their answer before any edit:
|
|
32
32
|
|
|
33
33
|
```text
|
|
34
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
34
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -43,23 +43,23 @@ route below.
|
|
|
43
43
|
Report each attempt at the proof as it ends, counting from one:
|
|
44
44
|
|
|
45
45
|
```text
|
|
46
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
46
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase journey-attempted --attempt 1
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
Report each repair cycle the same way, counting from one:
|
|
50
50
|
|
|
51
51
|
```text
|
|
52
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
52
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase repair-attempted --attempt 1
|
|
53
53
|
```
|
|
54
54
|
|
|
55
55
|
After the final attempt, report the gate exactly once:
|
|
56
56
|
|
|
57
57
|
```text
|
|
58
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
58
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
Use `passed` only for a proved mention reply, `failed` for an attempted proof that
|
|
62
|
-
failed, and `skipped` when the proof did not run. Then run `npx --prefer-offline --yes copilotkit@4.
|
|
62
|
+
failed, and `skipped` when the proof did not run. Then run `npx --prefer-offline --yes copilotkit@4.18.0 onboard audit`.
|
|
63
63
|
Continue only when it starts with `Status: passed`.
|
|
64
64
|
|
|
65
65
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -74,11 +74,11 @@ the path and the change the audit reports. Run the audit again after each accept
|
|
|
74
74
|
If the audit still fails, or starts with `Status: blocked`, route out and stop:
|
|
75
75
|
|
|
76
76
|
```text
|
|
77
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
77
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/stop
|
|
78
78
|
```
|
|
79
79
|
|
|
80
80
|
When the audit passes and the round trip you reported above was `passed`, run
|
|
81
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
81
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/complete` and complete with
|
|
82
82
|
`--visual-check channels-proof-passed`. The recorded mention and reply are this run's
|
|
83
83
|
proof, so no web app check is missing. Use `--visual-check performed` only when a
|
|
84
84
|
browser drove Slack or Teams web and proved the mention reply. Do not use
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
First, report your coding agent identity using the same command as generic onboarding:
|
|
4
4
|
|
|
5
5
|
```text
|
|
6
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
6
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id>
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
Use your own product's slug, such as `codex` or `claude-code`. For `--model`, give the
|
|
@@ -16,10 +16,53 @@ Empty folders, agent-only folders, and existing CopilotKit apps are all valid st
|
|
|
16
16
|
Orchestrate with separate read-only, implementation, and proof subagents, each
|
|
17
17
|
restricted to the target project.
|
|
18
18
|
|
|
19
|
+
## Waits, stops, and subagents
|
|
20
|
+
|
|
21
|
+
A run that starts here has not read these rules yet, so they come first. They cover this
|
|
22
|
+
prompt and every later one.
|
|
23
|
+
|
|
24
|
+
Spawning a subagent returns almost at once. That return is the dispatch succeeding, not the
|
|
25
|
+
work finishing: the result reaches you as a notification, or with the dispatch itself where
|
|
26
|
+
your harness works that way. Do the work that does not depend on the result, then end your
|
|
27
|
+
turn and wait for the result. That wait is a pause. Do not sleep or poll.
|
|
28
|
+
|
|
29
|
+
A subagent that returns no usable result failed in your harness, not in this graph. Every
|
|
30
|
+
assignment here is work you can do yourself, slower, so run that assignment yourself and
|
|
31
|
+
carry on. Keep a read-only assignment read-only. If no subagent works at all, report it
|
|
32
|
+
once:
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase delegation-unavailable
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase awaiting-developer
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
|
|
45
|
+
When the answer or the result arrives, continue from the step that paused.
|
|
46
|
+
|
|
47
|
+
If you stop this run, send one short report before you stop. The friction command follows
|
|
48
|
+
the telemetry setting the developer already chose, so it needs no separate question.
|
|
49
|
+
|
|
50
|
+
```text
|
|
51
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
55
|
+
Pick the category that fits from docs-missing, docs-wrong, docs-sequential, cli-gap,
|
|
56
|
+
sdk-gap, environment, port-collision, credential, validation-loop, and other. Leave
|
|
57
|
+
--cost-seconds off. Send no secrets, source code, logs, or command output. A refused report
|
|
58
|
+
is not a failed step: reword it and send it again, or stop without a report. A stop that
|
|
59
|
+
routes to `feature/stop` sends no report here: that prompt first asks the developer about
|
|
60
|
+
one scoped fix, and sends the report itself when no fix is approved.
|
|
61
|
+
|
|
19
62
|
Before any subagent or project process runs, capture the developer's existing work:
|
|
20
63
|
|
|
21
64
|
```text
|
|
22
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
65
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect
|
|
23
66
|
```
|
|
24
67
|
|
|
25
68
|
Keep the exact protected path list it prints and give that list to every subagent. Do not
|
|
@@ -49,7 +92,7 @@ This one does not.
|
|
|
49
92
|
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
50
93
|
|
|
51
94
|
```text
|
|
52
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
95
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase research-returned
|
|
53
96
|
```
|
|
54
97
|
|
|
55
98
|
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
@@ -66,7 +109,7 @@ and its install command in the message the developer sees: `nvm install 22` for
|
|
|
66
109
|
for Python. Offer a custom headless build as a later path. Then route out:
|
|
67
110
|
|
|
68
111
|
```text
|
|
69
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
112
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/stop
|
|
70
113
|
```
|
|
71
114
|
|
|
72
115
|
Do not run login, select Intelligence, or create a credential until the developer
|
|
@@ -96,7 +139,7 @@ one.
|
|
|
96
139
|
After approval, record each approved path before implementation:
|
|
97
140
|
|
|
98
141
|
```text
|
|
99
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
142
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
100
143
|
```
|
|
101
144
|
|
|
102
145
|
If an approved path changed after capture and no implementation step has run, add
|
|
@@ -106,7 +149,7 @@ authorize a path the approved plan did not list.
|
|
|
106
149
|
Then report the plan this run is about to implement:
|
|
107
150
|
|
|
108
151
|
```text
|
|
109
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
152
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase plan-written
|
|
110
153
|
```
|
|
111
154
|
|
|
112
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
155
|
+
Then run `npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/channels/implement`.
|
|
@@ -15,7 +15,7 @@ Run focused type/test checks and start the app. Record the changed files and val
|
|
|
15
15
|
Before you spawn the implementation subagent, take the authorized list from the CLI:
|
|
16
16
|
|
|
17
17
|
```text
|
|
18
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
18
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard audit
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
|
|
@@ -34,7 +34,7 @@ still go on the record. Name the file and why the work needs it, then end your t
|
|
|
34
34
|
for the developer's answer. If they allow it, record their answer before any edit:
|
|
35
35
|
|
|
36
36
|
```text
|
|
37
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
37
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -46,7 +46,7 @@ feature stop route below.
|
|
|
46
46
|
After validation and each repair, run:
|
|
47
47
|
|
|
48
48
|
```text
|
|
49
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
49
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard audit
|
|
50
50
|
```
|
|
51
51
|
|
|
52
52
|
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
@@ -57,7 +57,7 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
57
57
|
the path, accept the developer's external change:
|
|
58
58
|
|
|
59
59
|
```text
|
|
60
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
60
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --accept-external --path <path>
|
|
61
61
|
```
|
|
62
62
|
|
|
63
63
|
For an env file where the developer placed a requested credential, use
|
|
@@ -70,17 +70,17 @@ Run the audit again after each accepted change. If it still fails, or starts
|
|
|
70
70
|
with `Status: blocked`, route out and stop:
|
|
71
71
|
|
|
72
72
|
```text
|
|
73
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
73
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/stop
|
|
74
74
|
```
|
|
75
75
|
|
|
76
76
|
When implementation validation passes, report it:
|
|
77
77
|
|
|
78
78
|
```text
|
|
79
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
79
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase build-validated
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
If validation cannot pass, or this intent needs a prerequisite the app does not have, use
|
|
83
83
|
the feature stop route above without further changes.
|
|
84
84
|
|
|
85
85
|
Otherwise run
|
|
86
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
86
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/chat-suggestions/proof`.
|
|
@@ -20,7 +20,7 @@ still go on the record. Name the file and why the fix needs it, then end your tu
|
|
|
20
20
|
for the developer's answer. If they allow it, record their answer before any edit:
|
|
21
21
|
|
|
22
22
|
```text
|
|
23
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
23
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -32,23 +32,23 @@ route below.
|
|
|
32
32
|
Report each attempt at the proof as it ends, counting from one:
|
|
33
33
|
|
|
34
34
|
```text
|
|
35
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
35
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase journey-attempted --attempt 1
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
Report each repair cycle the same way, counting from one:
|
|
39
39
|
|
|
40
40
|
```text
|
|
41
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
41
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase repair-attempted --attempt 1
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
After the final attempt, report the gate exactly once:
|
|
45
45
|
|
|
46
46
|
```text
|
|
47
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
47
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
Use `passed` only for a proved sent suggestion, `failed` for an attempted proof that failed,
|
|
51
|
-
and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.
|
|
51
|
+
and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.18.0 onboard audit`.
|
|
52
52
|
Continue only when it starts with `Status: passed`.
|
|
53
53
|
|
|
54
54
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -63,9 +63,9 @@ the path and the change the audit reports. Run the audit again after each accept
|
|
|
63
63
|
If the audit still fails, or starts with `Status: blocked`, route out and stop:
|
|
64
64
|
|
|
65
65
|
```text
|
|
66
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
66
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/stop
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
When the audit passes, run
|
|
70
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
70
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/complete` with the real browser-proof
|
|
71
71
|
outcome.
|
|
@@ -3,10 +3,53 @@
|
|
|
3
3
|
Treat this as an additive OSS chat-surface feature. Delegate repository inspection,
|
|
4
4
|
implementation, and proof to separate subagents and keep all work inside the target project.
|
|
5
5
|
|
|
6
|
+
## Waits, stops, and subagents
|
|
7
|
+
|
|
8
|
+
A run that starts here has not read these rules yet, so they come first. They cover this
|
|
9
|
+
prompt and every later one.
|
|
10
|
+
|
|
11
|
+
Spawning a subagent returns almost at once. That return is the dispatch succeeding, not the
|
|
12
|
+
work finishing: the result reaches you as a notification, or with the dispatch itself where
|
|
13
|
+
your harness works that way. Do the work that does not depend on the result, then end your
|
|
14
|
+
turn and wait for the result. That wait is a pause. Do not sleep or poll.
|
|
15
|
+
|
|
16
|
+
A subagent that returns no usable result failed in your harness, not in this graph. Every
|
|
17
|
+
assignment here is work you can do yourself, slower, so run that assignment yourself and
|
|
18
|
+
carry on. Keep a read-only assignment read-only. If no subagent works at all, report it
|
|
19
|
+
once:
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase delegation-unavailable
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase awaiting-developer
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
|
|
32
|
+
When the answer or the result arrives, continue from the step that paused.
|
|
33
|
+
|
|
34
|
+
If you stop this run, send one short report before you stop. The friction command follows
|
|
35
|
+
the telemetry setting the developer already chose, so it needs no separate question.
|
|
36
|
+
|
|
37
|
+
```text
|
|
38
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
42
|
+
Pick the category that fits from docs-missing, docs-wrong, docs-sequential, cli-gap,
|
|
43
|
+
sdk-gap, environment, port-collision, credential, validation-loop, and other. Leave
|
|
44
|
+
--cost-seconds off. Send no secrets, source code, logs, or command output. A refused report
|
|
45
|
+
is not a failed step: reword it and send it again, or stop without a report. A stop that
|
|
46
|
+
routes to `feature/stop` sends no report here: that prompt first asks the developer about
|
|
47
|
+
one scoped fix, and sends the report itself when no fix is approved.
|
|
48
|
+
|
|
6
49
|
Before any subagent or project process runs, capture the developer's existing work:
|
|
7
50
|
|
|
8
51
|
```text
|
|
9
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
52
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect
|
|
10
53
|
```
|
|
11
54
|
|
|
12
55
|
Keep the exact protected path list it prints and give that list to every subagent. No
|
|
@@ -15,13 +58,13 @@ approved authorization before implementation.
|
|
|
15
58
|
|
|
16
59
|
Before edits, identify the current CopilotKit provider, chat component, message lifecycle,
|
|
17
60
|
agent id, package version, and test/dev commands. Prove the existing OSS round trip with
|
|
18
|
-
`/info`, `npx --prefer-offline --yes copilotkit@4.
|
|
61
|
+
`/info`, `npx --prefer-offline --yes copilotkit@4.18.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
|
|
19
62
|
and one real frontend request when browser control is available.
|
|
20
63
|
|
|
21
64
|
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
22
65
|
|
|
23
66
|
```text
|
|
24
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
67
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase research-returned
|
|
25
68
|
```
|
|
26
69
|
|
|
27
70
|
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
@@ -31,7 +74,7 @@ If the inspection did not prove the baseline this intent extends, stop here with
|
|
|
31
74
|
changing files:
|
|
32
75
|
|
|
33
76
|
```text
|
|
34
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
77
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/stop
|
|
35
78
|
```
|
|
36
79
|
|
|
37
80
|
Do not run login, provision Intelligence, request a credential, replace the agent, or alter
|
|
@@ -53,7 +96,7 @@ one.
|
|
|
53
96
|
After approval, record each approved path before implementation:
|
|
54
97
|
|
|
55
98
|
```text
|
|
56
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
99
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
57
100
|
```
|
|
58
101
|
|
|
59
102
|
If an approved path changed after capture and no implementation step has run, add
|
|
@@ -63,7 +106,7 @@ authorize a path the approved plan did not list.
|
|
|
63
106
|
Then report the plan this run is about to implement:
|
|
64
107
|
|
|
65
108
|
```text
|
|
66
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
109
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase plan-written
|
|
67
110
|
```
|
|
68
111
|
|
|
69
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
112
|
+
Then run `npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/chat-suggestions/implement`.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Use the outcome the proof step observed. Run:
|
|
4
4
|
|
|
5
5
|
```text
|
|
6
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
6
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard complete --visual-check <performed|skipped-no-browser-tool|channels-proof-passed|failed>
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
Use `channels-proof-passed` for a Slack or Teams run that recorded a passed round-trip proof
|
|
@@ -20,7 +20,7 @@ Before `onboard complete`, send the friction this run mentioned to the developer
|
|
|
20
20
|
report each, at most four, costliest first:
|
|
21
21
|
|
|
22
22
|
```text
|
|
23
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
23
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard friction --category <slug> --cost-seconds <seconds> --message "<sentences>"
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
Put one or two sentences in `--message`, with no secrets, source, or logs. Pick the
|
|
@@ -12,12 +12,12 @@ resolve, a container id that never resolves, an audit that still fails or is blo
|
|
|
12
12
|
cannot be cleared, validation that cannot pass, and an intent that needs a prerequisite the
|
|
13
13
|
app does not have. Each one stops onboarding for a developer who has already approved a
|
|
14
14
|
plan. Name the exact command, id, and error code that stopped you: a report that names only
|
|
15
|
-
the step cannot be acted on. Send one short report before you stop.
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
the step cannot be acted on. Send one short report before you stop. The friction command
|
|
16
|
+
follows the telemetry setting the developer already chose, so it needs no separate
|
|
17
|
+
question.
|
|
18
18
|
|
|
19
19
|
```text
|
|
20
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
20
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
@@ -36,6 +36,11 @@ scoped fix, and sends the report itself when no fix is approved.
|
|
|
36
36
|
|
|
37
37
|
After the project is selected, settle the container from the terminal.
|
|
38
38
|
|
|
39
|
+
The `learning containers` commands and `project select` need a CLI sign-in. A project API
|
|
40
|
+
key in `.env` does not replace it, even when the app already authenticates with that key:
|
|
41
|
+
the key serves the app's runtime only. So `AUTH_FAILED` from these commands means sign in
|
|
42
|
+
with `login --json`, not look for another credential.
|
|
43
|
+
|
|
39
44
|
Whichever of the two reads below runs first also answers the entitlement question, because
|
|
40
45
|
a read carries the same availability gate as the create. Read `status` and `error.code`
|
|
41
46
|
from its payload. Route on the code rather than on the exit status.
|
|
@@ -44,7 +49,7 @@ settled refusal rather than a missing baseline, so stop here, before any file ch
|
|
|
44
49
|
take its own ending:
|
|
45
50
|
|
|
46
51
|
```text
|
|
47
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
52
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/blocked-by-plan
|
|
48
53
|
```
|
|
49
54
|
|
|
50
55
|
`LEARNING_AVAILABILITY_UNAVAILABLE` means the platform did not resolve the answer. It is
|
|
@@ -58,7 +63,7 @@ then, so the read below is where its refusal surfaces.
|
|
|
58
63
|
When the plan or the repository already names an id, ask about that one id and nothing else:
|
|
59
64
|
|
|
60
65
|
```text
|
|
61
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
66
|
+
npx --prefer-offline --yes copilotkit@4.18.0 learning containers get <id> --json
|
|
62
67
|
```
|
|
63
68
|
|
|
64
69
|
One call answers it, and no list is needed.
|
|
@@ -66,7 +71,7 @@ One call answers it, and no list is needed.
|
|
|
66
71
|
When no id is in hand, survey what the project holds:
|
|
67
72
|
|
|
68
73
|
```text
|
|
69
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
74
|
+
npx --prefer-offline --yes copilotkit@4.18.0 learning containers list --json
|
|
70
75
|
```
|
|
71
76
|
|
|
72
77
|
One call returns at most 500 containers. When `nextCursor` in the result is not null, read
|
|
@@ -77,7 +82,7 @@ second container for work the first one already covers.
|
|
|
77
82
|
Report what the read found before asking anyone anything:
|
|
78
83
|
|
|
79
84
|
```text
|
|
80
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
85
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase container-surveyed
|
|
81
86
|
```
|
|
82
87
|
|
|
83
88
|
Everything after this waits on a person, so a run that stops past this point stopped on a
|
|
@@ -98,7 +103,7 @@ user, so the callback can return a different id per tier or per customer.
|
|
|
98
103
|
Ask the CLI for the id rather than spelling one yourself:
|
|
99
104
|
|
|
100
105
|
```text
|
|
101
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
106
|
+
npx --prefer-offline --yes copilotkit@4.18.0 learning containers default-id --json
|
|
102
107
|
```
|
|
103
108
|
|
|
104
109
|
It derives the project-scoped id from the selected project's slug, reads the local project
|
|
@@ -112,7 +117,7 @@ run that spells the id differently gives one project two containers, each below
|
|
|
112
117
|
above on its own. One command is what keeps the two spellings identical.
|
|
113
118
|
|
|
114
119
|
```text
|
|
115
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
120
|
+
npx --prefer-offline --yes copilotkit@4.18.0 learning containers create --id <id> --name <name> --json
|
|
116
121
|
```
|
|
117
122
|
|
|
118
123
|
An id already in use answers `LEARNING_CONTAINER_ALREADY_EXISTS`. That is a container to
|
|
@@ -127,7 +132,7 @@ or a guessed id.
|
|
|
127
132
|
Then report that the container is settled, before any edit:
|
|
128
133
|
|
|
129
134
|
```text
|
|
130
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
135
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase container-settled
|
|
131
136
|
```
|
|
132
137
|
|
|
133
138
|
Everything above happens between two prompts, so a run that stopped on a developer who could
|
|
@@ -148,13 +153,13 @@ non-zero on an app that is working. Pass what `identifyUser` reads with a repeat
|
|
|
148
153
|
It is not a defect to repair.
|
|
149
154
|
|
|
150
155
|
Run focused tests and
|
|
151
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
156
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
|
|
152
157
|
Repair changed-file failures and record secret-safe evidence.
|
|
153
158
|
|
|
154
159
|
Before you spawn the implementation subagent, take the authorized list from the CLI:
|
|
155
160
|
|
|
156
161
|
```text
|
|
157
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
162
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard audit
|
|
158
163
|
```
|
|
159
164
|
|
|
160
165
|
From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
|
|
@@ -173,7 +178,7 @@ still go on the record. Name the file and why the work needs it, then end your t
|
|
|
173
178
|
for the developer's answer. If they allow it, record their answer before any edit:
|
|
174
179
|
|
|
175
180
|
```text
|
|
176
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
181
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
177
182
|
```
|
|
178
183
|
|
|
179
184
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -185,7 +190,7 @@ feature stop route below.
|
|
|
185
190
|
After validation and each repair, run:
|
|
186
191
|
|
|
187
192
|
```text
|
|
188
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
193
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard audit
|
|
189
194
|
```
|
|
190
195
|
|
|
191
196
|
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
@@ -196,7 +201,7 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
196
201
|
the path, accept the developer's external change:
|
|
197
202
|
|
|
198
203
|
```text
|
|
199
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
204
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --accept-external --path <path>
|
|
200
205
|
```
|
|
201
206
|
|
|
202
207
|
For an env file where the developer placed a requested credential, use
|
|
@@ -210,17 +215,17 @@ with `Status: blocked`, route out and stop. Route out the same way when
|
|
|
210
215
|
`--accept-credential` refuses because it names a lost variable:
|
|
211
216
|
|
|
212
217
|
```text
|
|
213
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
218
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/stop
|
|
214
219
|
```
|
|
215
220
|
|
|
216
221
|
When implementation validation passes, report it:
|
|
217
222
|
|
|
218
223
|
```text
|
|
219
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
224
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase build-validated
|
|
220
225
|
```
|
|
221
226
|
|
|
222
227
|
If validation cannot pass, or this intent needs a prerequisite the app does not have, use
|
|
223
228
|
the feature stop route above without further changes.
|
|
224
229
|
|
|
225
230
|
Otherwise run
|
|
226
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
231
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/learning/proof`.
|
|
@@ -7,7 +7,7 @@ Container. Confirm the thread remains associated with the expected user.
|
|
|
7
7
|
One command decides it:
|
|
8
8
|
|
|
9
9
|
```text
|
|
10
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
10
|
+
npx --prefer-offline --yes copilotkit@4.18.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --expect-learning-container <id> --json
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
It reads the thread back from the platform, so it answers for any runtime mount, and it
|
|
@@ -40,7 +40,7 @@ still go on the record. Name the file and why the fix needs it, then end your tu
|
|
|
40
40
|
for the developer's answer. If they allow it, record their answer before any edit:
|
|
41
41
|
|
|
42
42
|
```text
|
|
43
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
43
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -52,24 +52,24 @@ route below.
|
|
|
52
52
|
Report each attempt at the proof as it ends, counting from one:
|
|
53
53
|
|
|
54
54
|
```text
|
|
55
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
55
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase journey-attempted --attempt 1
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
Report each repair cycle the same way, counting from one:
|
|
59
59
|
|
|
60
60
|
```text
|
|
61
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
61
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase repair-attempted --attempt 1
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
After the final attempt, report the gate exactly once:
|
|
65
65
|
|
|
66
66
|
```text
|
|
67
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
67
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
Use `passed` only for a proved Container assignment, `failed` for an attempted proof that
|
|
71
71
|
failed, and `skipped` when the proof could not run. Then run
|
|
72
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
72
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard audit`. Continue only when it starts with
|
|
73
73
|
`Status: passed`.
|
|
74
74
|
|
|
75
75
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -84,9 +84,9 @@ the path and the change the audit reports. Run the audit again after each accept
|
|
|
84
84
|
If the audit still fails, or starts with `Status: blocked`, route out and stop:
|
|
85
85
|
|
|
86
86
|
```text
|
|
87
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
87
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/stop
|
|
88
88
|
```
|
|
89
89
|
|
|
90
90
|
When the audit passes, run
|
|
91
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
91
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/complete` with the actual surface
|
|
92
92
|
outcome.
|