copilotkit 4.16.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 +195 -8
- 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 +13890 -9434
- package/onboarding/index.json +1 -1
- package/onboarding/prompts/authenticate/start.md +24 -23
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +56 -199
- package/onboarding/prompts/credentials/plan.md +24 -23
- package/onboarding/prompts/credentials/settle-credentials.md +40 -177
- package/onboarding/prompts/credentials/write-plan.md +47 -23
- package/onboarding/prompts/fallback/best-effort.md +25 -17
- package/onboarding/prompts/feature/a2ui/implement.md +40 -12
- package/onboarding/prompts/feature/a2ui/proof.md +29 -9
- package/onboarding/prompts/feature/a2ui/start.md +54 -12
- package/onboarding/prompts/feature/blocked-by-plan.md +4 -4
- package/onboarding/prompts/feature/channels/implement.md +41 -13
- package/onboarding/prompts/feature/channels/proof.md +30 -11
- package/onboarding/prompts/feature/channels/start.md +54 -9
- package/onboarding/prompts/feature/chat-suggestions/implement.md +40 -12
- package/onboarding/prompts/feature/chat-suggestions/proof.md +29 -9
- package/onboarding/prompts/feature/chat-suggestions/start.md +51 -10
- package/onboarding/prompts/feature/complete.md +2 -2
- package/onboarding/prompts/feature/learning/implement.md +66 -29
- package/onboarding/prompts/feature/learning/proof.md +30 -10
- package/onboarding/prompts/feature/learning/start.md +46 -20
- package/onboarding/prompts/feature/open-generative-ui/implement.md +41 -13
- package/onboarding/prompts/feature/open-generative-ui/proof.md +29 -9
- package/onboarding/prompts/feature/open-generative-ui/start.md +51 -10
- package/onboarding/prompts/feature/realtime-sync/implement.md +41 -13
- package/onboarding/prompts/feature/realtime-sync/proof.md +31 -10
- package/onboarding/prompts/feature/realtime-sync/start.md +51 -9
- package/onboarding/prompts/feature/rich-threads/implement.md +42 -14
- package/onboarding/prompts/feature/rich-threads/proof.md +31 -10
- package/onboarding/prompts/feature/rich-threads/start.md +51 -9
- package/onboarding/prompts/feature/stop.md +5 -5
- package/onboarding/prompts/feature/voice/implement.md +40 -12
- package/onboarding/prompts/feature/voice/proof.md +29 -9
- package/onboarding/prompts/feature/voice/start.md +51 -9
- package/onboarding/prompts/framework/ag2.md +2 -2
- package/onboarding/prompts/framework/agno.md +4 -4
- package/onboarding/prompts/framework/built-in.md +2 -2
- package/onboarding/prompts/framework/claude-sdk-python.md +8 -7
- package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
- package/onboarding/prompts/framework/crewai-flows.md +15 -7
- package/onboarding/prompts/framework/deep-agents.md +4 -3
- package/onboarding/prompts/framework/google-adk.md +7 -7
- 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 +4 -4
- 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 +6 -6
- package/onboarding/prompts/framework/pydantic-ai.md +2 -2
- package/onboarding/prompts/framework/strands-python.md +4 -4
- package/onboarding/prompts/framework/strands-typescript.md +4 -4
- package/onboarding/prompts/frontend/angular.md +3 -3
- package/onboarding/prompts/frontend/nextjs.md +16 -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 +68 -30
- package/onboarding/prompts/proof/complete.md +24 -17
- package/onboarding/prompts/proof/oss-baseline.md +16 -12
- package/onboarding/prompts/proof/round-trip.md +39 -27
- package/onboarding/prompts/research/gather.md +8 -7
- package/onboarding/prompts/research/merge.md +3 -3
- package/onboarding/prompts/research/preflight.md +4 -4
- package/onboarding/prompts/research/route.md +6 -6
- package/onboarding/prompts/starter/clone.md +16 -12
- package/onboarding/prompts/stopped/run-failed.md +11 -11
- package/onboarding/prompts/subagent/create-plan.md +24 -10
- package/onboarding/prompts/subagent/implement-and-validate.md +25 -11
- package/onboarding/prompts/subagent/inspect-repository.md +21 -6
- package/onboarding/prompts/subagent/prove-oss-baseline.md +5 -4
- package/onboarding/prompts/subagent/prove-round-trip.md +77 -23
- package/onboarding/prompts/unsupported/no-validated-path.md +4 -4
- package/package.json +1 -5
- package/release/release-tool.js +189 -44
|
@@ -4,10 +4,53 @@ Treat Rich Threads as a managed Intelligence feature layered onto the existing a
|
|
|
4
4
|
reason to replace its agent or chat. Act as the orchestrator and delegate inspection,
|
|
5
5
|
implementation, and proof to separate subagents within the target project.
|
|
6
6
|
|
|
7
|
+
## Waits, stops, and subagents
|
|
8
|
+
|
|
9
|
+
A run that starts here has not read these rules yet, so they come first. They cover this
|
|
10
|
+
prompt and every later one.
|
|
11
|
+
|
|
12
|
+
Spawning a subagent returns almost at once. That return is the dispatch succeeding, not the
|
|
13
|
+
work finishing: the result reaches you as a notification, or with the dispatch itself where
|
|
14
|
+
your harness works that way. Do the work that does not depend on the result, then end your
|
|
15
|
+
turn and wait for the result. That wait is a pause. Do not sleep or poll.
|
|
16
|
+
|
|
17
|
+
A subagent that returns no usable result failed in your harness, not in this graph. Every
|
|
18
|
+
assignment here is work you can do yourself, slower, so run that assignment yourself and
|
|
19
|
+
carry on. Keep a read-only assignment read-only. If no subagent works at all, report it
|
|
20
|
+
once:
|
|
21
|
+
|
|
22
|
+
```text
|
|
23
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase delegation-unavailable
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
27
|
+
|
|
28
|
+
```text
|
|
29
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase awaiting-developer
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
|
|
33
|
+
When the answer or the result arrives, continue from the step that paused.
|
|
34
|
+
|
|
35
|
+
If you stop this run, send one short report before you stop. The friction command follows
|
|
36
|
+
the telemetry setting the developer already chose, so it needs no separate question.
|
|
37
|
+
|
|
38
|
+
```text
|
|
39
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
43
|
+
Pick the category that fits from docs-missing, docs-wrong, docs-sequential, cli-gap,
|
|
44
|
+
sdk-gap, environment, port-collision, credential, validation-loop, and other. Leave
|
|
45
|
+
--cost-seconds off. Send no secrets, source code, logs, or command output. A refused report
|
|
46
|
+
is not a failed step: reword it and send it again, or stop without a report. A stop that
|
|
47
|
+
routes to `feature/stop` sends no report here: that prompt first asks the developer about
|
|
48
|
+
one scoped fix, and sends the report itself when no fix is approved.
|
|
49
|
+
|
|
7
50
|
Before any subagent or project process runs, capture the developer's existing work:
|
|
8
51
|
|
|
9
52
|
```text
|
|
10
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
53
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect
|
|
11
54
|
```
|
|
12
55
|
|
|
13
56
|
Keep the exact protected path list it prints and give that list to every subagent. No
|
|
@@ -17,13 +60,12 @@ approved authorization before implementation.
|
|
|
17
60
|
Before edits, have a read-only subagent locate the runtime route, CopilotKit provider/chat,
|
|
18
61
|
agent id, current thread UI or headless API, authentication boundary, stable server-side user
|
|
19
62
|
identity source, current project configuration (presence only), and test/dev commands. Prove
|
|
20
|
-
the current frontend-to-runtime-to-agent round trip and inspect `/info`.
|
|
21
|
-
an existing CopilotKit app, leave it unchanged and direct the developer to generic onboarding.
|
|
63
|
+
the current frontend-to-runtime-to-agent round trip and inspect `/info`.
|
|
22
64
|
|
|
23
65
|
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
24
66
|
|
|
25
67
|
```text
|
|
26
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
68
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase research-returned
|
|
27
69
|
```
|
|
28
70
|
|
|
29
71
|
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
@@ -33,13 +75,13 @@ If the inspection did not prove the baseline this intent extends, stop here with
|
|
|
33
75
|
changing files:
|
|
34
76
|
|
|
35
77
|
```text
|
|
36
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
78
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/stop
|
|
37
79
|
```
|
|
38
80
|
|
|
39
81
|
Fetch the current official guides before planning:
|
|
40
82
|
https://docs.copilotkit.ai/threads.md
|
|
41
83
|
https://docs.copilotkit.ai/threads-lifecycle.md
|
|
42
|
-
https://docs.copilotkit.ai/intelligence/
|
|
84
|
+
https://docs.copilotkit.ai/intelligence/quickstart.md
|
|
43
85
|
https://docs.copilotkit.ai/auth.md
|
|
44
86
|
https://docs.copilotkit.ai/prebuilt-components/copilot-threads-drawer.md
|
|
45
87
|
Retry unavailable pages a second way. Do not infer an identity from a browser display name or
|
|
@@ -61,7 +103,7 @@ one.
|
|
|
61
103
|
After approval, record each approved path before implementation:
|
|
62
104
|
|
|
63
105
|
```text
|
|
64
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
106
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
65
107
|
```
|
|
66
108
|
|
|
67
109
|
If an approved path changed after capture and no implementation step has run, add
|
|
@@ -71,7 +113,7 @@ authorize a path the approved plan did not list.
|
|
|
71
113
|
Then report the plan this run is about to implement:
|
|
72
114
|
|
|
73
115
|
```text
|
|
74
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
116
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase plan-written
|
|
75
117
|
```
|
|
76
118
|
|
|
77
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
119
|
+
Then run `npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/rich-threads/implement`.
|
|
@@ -20,7 +20,7 @@ a `start` with no `--run` reprints the id this stopped run already holds, and on
|
|
|
20
20
|
covering both reads as one run that did two different things.
|
|
21
21
|
|
|
22
22
|
```text
|
|
23
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
23
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard start --run <new-12-character-id>
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
Do not read a generic onboarding node from this run. A feature run and a generic run are
|
|
@@ -48,7 +48,7 @@ put to them, stop here and send the report below.
|
|
|
48
48
|
If they approve it, make that one fix and nothing else. Then come back into this run:
|
|
49
49
|
|
|
50
50
|
```text
|
|
51
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
51
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard resume --message "<approval>"
|
|
52
52
|
```
|
|
53
53
|
|
|
54
54
|
Put the developer's approval in `--message`, in one or two sentences: the fix they
|
|
@@ -65,11 +65,11 @@ said and stop.
|
|
|
65
65
|
|
|
66
66
|
## If no fix is approved
|
|
67
67
|
|
|
68
|
-
Send one short report.
|
|
69
|
-
|
|
68
|
+
Send one short report. The friction command follows the telemetry setting the developer
|
|
69
|
+
already chose, so it needs no separate question.
|
|
70
70
|
|
|
71
71
|
```text
|
|
72
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
72
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
@@ -11,10 +11,41 @@ type/test command and start the app. Confirm `/info` reports
|
|
|
11
11
|
`audioFileTranscriptionEnabled`, but treat it as capability evidence rather than completed
|
|
12
12
|
voice proof. Record changed paths and validation results.
|
|
13
13
|
|
|
14
|
+
Before you spawn the implementation subagent, take the authorized list from the CLI:
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard audit
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
|
|
21
|
+
no such block means that nothing is authorized. Read only that block now, and decide the
|
|
22
|
+
findings of a failed audit after implementation, with the audit rules below. If this audit
|
|
23
|
+
starts with `Status: blocked`, the CLI cannot supply the list. Report the printed reason and
|
|
24
|
+
take the feature stop route below.
|
|
25
|
+
|
|
26
|
+
Give the implementation subagent the protected path list and the authorized list. Tell it
|
|
27
|
+
this rule: it can change a path on the authorized list. When the work needs any other
|
|
28
|
+
protected path, it must not edit it. It returns a result that starts with `Status: blocked`
|
|
29
|
+
and names the file under Blockers.
|
|
30
|
+
|
|
31
|
+
That result is a question for the developer. The file has not changed yet, so consent can
|
|
32
|
+
still go on the record. Name the file and why the work needs it, then end your turn and wait
|
|
33
|
+
for the developer's answer. If they allow it, record their answer before any edit:
|
|
34
|
+
|
|
35
|
+
```text
|
|
36
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
40
|
+
new list from its `Authorized to modify:` block, and spawn a fresh implementation subagent
|
|
41
|
+
with the same handoff and that list. A subagent that already returned cannot pick up consent
|
|
42
|
+
recorded after it was spawned. If you cannot ask, or the developer declines, take the
|
|
43
|
+
feature stop route below.
|
|
44
|
+
|
|
14
45
|
After validation and each repair, run:
|
|
15
46
|
|
|
16
47
|
```text
|
|
17
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
48
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard audit
|
|
18
49
|
```
|
|
19
50
|
|
|
20
51
|
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
@@ -25,33 +56,30 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
25
56
|
the path, accept the developer's external change:
|
|
26
57
|
|
|
27
58
|
```text
|
|
28
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
59
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --accept-external --path <path>
|
|
29
60
|
```
|
|
30
61
|
|
|
31
62
|
For an env file where the developer placed a requested credential, use
|
|
32
63
|
`onboard protect --accept-credential --path <path>` instead. If the subagent names the path,
|
|
33
|
-
or its report does not settle who changed it,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
```text
|
|
37
|
-
npx --prefer-offline --yes copilotkit@4.16.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
38
|
-
```
|
|
64
|
+
or its report does not settle who changed it, the change is this run's own, made without
|
|
65
|
+
consent. Do not ask the developer to allow it: the CLI refuses consent for a path that
|
|
66
|
+
already changed. Route out, and name the path and the change the audit reports.
|
|
39
67
|
|
|
40
|
-
Run the audit again after each accepted
|
|
68
|
+
Run the audit again after each accepted change. If it still fails, or starts
|
|
41
69
|
with `Status: blocked`, route out and stop:
|
|
42
70
|
|
|
43
71
|
```text
|
|
44
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
72
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/stop
|
|
45
73
|
```
|
|
46
74
|
|
|
47
75
|
When implementation validation passes, report it:
|
|
48
76
|
|
|
49
77
|
```text
|
|
50
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
78
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase build-validated
|
|
51
79
|
```
|
|
52
80
|
|
|
53
81
|
If validation cannot pass, or this intent needs a prerequisite the app does not have, use
|
|
54
82
|
the feature stop route above without further changes.
|
|
55
83
|
|
|
56
84
|
Otherwise run
|
|
57
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
85
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/voice/proof`.
|
|
@@ -10,26 +10,46 @@ When microphone permission is unavailable, use the official guide's documented c
|
|
|
10
10
|
developer's behalf or claim a live recording was made. Record the visible control, transcript
|
|
11
11
|
path, agent response, app URL, and process IDs. Fix changed-file defects and repeat.
|
|
12
12
|
|
|
13
|
+
Give the proof subagent the protected path list and the authorized list. Take that list from
|
|
14
|
+
the latest audit, and copy the paths under `Authorized to modify:`. Tell it this rule: a fix
|
|
15
|
+
can change a path on the authorized list. When a fix needs any other protected path, it must
|
|
16
|
+
not edit it. It returns a result that starts with `Status: blocked` and names the file under
|
|
17
|
+
Blockers.
|
|
18
|
+
|
|
19
|
+
That result is a question for the developer. The file has not changed yet, so consent can
|
|
20
|
+
still go on the record. Name the file and why the fix needs it, then end your turn and wait
|
|
21
|
+
for the developer's answer. If they allow it, record their answer before any edit:
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
28
|
+
new list from its `Authorized to modify:` block, and spawn a fresh proof subagent with the
|
|
29
|
+
same handoff and that list. A subagent that already returned cannot pick up consent recorded
|
|
30
|
+
after it was spawned. If you cannot ask, or the developer declines, take the feature stop
|
|
31
|
+
route below.
|
|
32
|
+
|
|
13
33
|
Report each attempt at the proof as it ends, counting from one:
|
|
14
34
|
|
|
15
35
|
```text
|
|
16
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
36
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase journey-attempted --attempt 1
|
|
17
37
|
```
|
|
18
38
|
|
|
19
39
|
Report each repair cycle the same way, counting from one:
|
|
20
40
|
|
|
21
41
|
```text
|
|
22
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
42
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase repair-attempted --attempt 1
|
|
23
43
|
```
|
|
24
44
|
|
|
25
45
|
After the final attempt, report the gate exactly once:
|
|
26
46
|
|
|
27
47
|
```text
|
|
28
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
48
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
29
49
|
```
|
|
30
50
|
|
|
31
51
|
Use `passed` only for proved voice input, `failed` for an attempted proof that failed, and
|
|
32
|
-
`skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.
|
|
52
|
+
`skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.18.0 onboard audit`.
|
|
33
53
|
Continue only when it starts with `Status: passed`.
|
|
34
54
|
|
|
35
55
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -37,16 +57,16 @@ with the proof subagent's `Files changed` section. If that section does not name
|
|
|
37
57
|
run `onboard protect --accept-external --path <path>`, or
|
|
38
58
|
`onboard protect --accept-credential --path <path>` for an env file where the developer
|
|
39
59
|
placed a requested credential. If the subagent names the path, or its report does not settle
|
|
40
|
-
who changed it,
|
|
41
|
-
|
|
42
|
-
Run the audit again after each accepted
|
|
60
|
+
who changed it, the change is this run's own, made without consent. Do not ask the developer
|
|
61
|
+
to allow it: the CLI refuses consent for a path that already changed. Route out, and name
|
|
62
|
+
the path and the change the audit reports. Run the audit again after each accepted change.
|
|
43
63
|
|
|
44
64
|
If the audit still fails, or starts with `Status: blocked`, route out and stop:
|
|
45
65
|
|
|
46
66
|
```text
|
|
47
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
67
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/stop
|
|
48
68
|
```
|
|
49
69
|
|
|
50
70
|
When the audit passes, run
|
|
51
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
71
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/complete` with the actual surface
|
|
52
72
|
outcome.
|
|
@@ -3,10 +3,53 @@
|
|
|
3
3
|
Treat voice as an OSS enhancement to an existing CopilotKit chat. Orchestrate with separate
|
|
4
4
|
read-only, implementation, and proof subagents, each restricted to the target project.
|
|
5
5
|
|
|
6
|
+
## Waits, stops, and subagents
|
|
7
|
+
|
|
8
|
+
A run that starts here has not read these rules yet, so they come first. They cover this
|
|
9
|
+
prompt and every later one.
|
|
10
|
+
|
|
11
|
+
Spawning a subagent returns almost at once. That return is the dispatch succeeding, not the
|
|
12
|
+
work finishing: the result reaches you as a notification, or with the dispatch itself where
|
|
13
|
+
your harness works that way. Do the work that does not depend on the result, then end your
|
|
14
|
+
turn and wait for the result. That wait is a pause. Do not sleep or poll.
|
|
15
|
+
|
|
16
|
+
A subagent that returns no usable result failed in your harness, not in this graph. Every
|
|
17
|
+
assignment here is work you can do yourself, slower, so run that assignment yourself and
|
|
18
|
+
carry on. Keep a read-only assignment read-only. If no subagent works at all, report it
|
|
19
|
+
once:
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
npx --prefer-offline --yes copilotkit@4.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
|
|
@@ -16,14 +59,13 @@ approved authorization before implementation.
|
|
|
16
59
|
Before edits, inspect the runtime route, CopilotKit provider/chat composer, current agent,
|
|
17
60
|
existing provider credential variable names (presence only), package versions, browser
|
|
18
61
|
permissions approach, and test/dev commands. Prove the existing OSS baseline with `/info`,
|
|
19
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
20
|
-
and a real UI request when a browser is available.
|
|
21
|
-
and direct the developer to generic onboarding first.
|
|
62
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
|
|
63
|
+
and a real UI request when a browser is available.
|
|
22
64
|
|
|
23
65
|
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
24
66
|
|
|
25
67
|
```text
|
|
26
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
68
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase research-returned
|
|
27
69
|
```
|
|
28
70
|
|
|
29
71
|
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
@@ -33,7 +75,7 @@ If the inspection did not prove the baseline this intent extends, stop here with
|
|
|
33
75
|
changing files:
|
|
34
76
|
|
|
35
77
|
```text
|
|
36
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
78
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/stop
|
|
37
79
|
```
|
|
38
80
|
|
|
39
81
|
Do not run login, select Intelligence, create a credential, read a credential value, or
|
|
@@ -54,7 +96,7 @@ one.
|
|
|
54
96
|
After approval, record each approved path before implementation:
|
|
55
97
|
|
|
56
98
|
```text
|
|
57
|
-
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>"
|
|
58
100
|
```
|
|
59
101
|
|
|
60
102
|
If an approved path changed after capture and no implementation step has run, add
|
|
@@ -64,7 +106,7 @@ authorize a path the approved plan did not list.
|
|
|
64
106
|
Then report the plan this run is about to implement:
|
|
65
107
|
|
|
66
108
|
```text
|
|
67
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
109
|
+
npx --prefer-offline --yes copilotkit@4.18.0 onboard checkpoint --phase plan-written
|
|
68
110
|
```
|
|
69
111
|
|
|
70
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
112
|
+
Then run `npx --prefer-offline --yes copilotkit@4.18.0 onboard read feature/voice/implement`.
|
|
@@ -31,7 +31,7 @@ Record the selected framework, vendor, model, required credential variable names
|
|
|
31
31
|
URLs, and the A2UI documentation gap.
|
|
32
32
|
|
|
33
33
|
If the pages support the selection, run
|
|
34
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
34
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read frontend/plan`.
|
|
35
35
|
|
|
36
36
|
If the documentation does not support the selection, run
|
|
37
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
37
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read unsupported/no-validated-path`.
|
|
@@ -23,8 +23,8 @@ new agent. For a new agent, install the documented Python dependencies
|
|
|
23
23
|
the endpoint without repository evidence.
|
|
24
24
|
|
|
25
25
|
The agent-readonly page does not bundle its Agno backend context setup. Do not invent it.
|
|
26
|
-
If the requested work
|
|
27
|
-
unsupported route below.
|
|
26
|
+
If the requested work passes project data to the agent and the project does not already have that
|
|
27
|
+
setup, run the unsupported route below. Otherwise, record the gap and continue.
|
|
28
28
|
|
|
29
29
|
A2UI is not on this path. If the developer asks for it, say first that its page has no Agno
|
|
30
30
|
backend schema-loading, render-operations, or runtime setup snippet, so there is nothing to
|
|
@@ -34,7 +34,7 @@ Record the selected framework, vendor, model, required credential variable names
|
|
|
34
34
|
URLs, the documented dependencies and adapter, and the context documentation gap.
|
|
35
35
|
|
|
36
36
|
If the pages support the selection, run
|
|
37
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
37
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read frontend/plan`.
|
|
38
38
|
|
|
39
39
|
If the documentation does not support the selection, run
|
|
40
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
40
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read unsupported/no-validated-path`.
|
|
@@ -29,7 +29,7 @@ Record the selected framework, vendor, model, required credential variable names
|
|
|
29
29
|
these URLs.
|
|
30
30
|
|
|
31
31
|
If the pages support the selection, run
|
|
32
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
32
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read frontend/plan`.
|
|
33
33
|
|
|
34
34
|
If the documentation does not support the selection, run
|
|
35
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
35
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read unsupported/no-validated-path`.
|
|
@@ -13,6 +13,7 @@ Name the model credential `ANTHROPIC_API_KEY`. The documented model variable is
|
|
|
13
13
|
- https://docs.copilotkit.ai/claude-sdk-python/inspector.md
|
|
14
14
|
- https://docs.copilotkit.ai/claude-sdk-python/generative-ui/tool-based.md
|
|
15
15
|
- https://docs.copilotkit.ai/reference/v2/hooks/useAgentContext.md
|
|
16
|
+
- https://docs.copilotkit.ai/claude-sdk-python/shared-state/agent-readonly.md
|
|
16
17
|
|
|
17
18
|
The documentation scope is `claude-sdk-python`. For an existing agent, install the exact
|
|
18
19
|
documented backend set with
|
|
@@ -25,15 +26,15 @@ A2UI is not on this path. If the developer asks for it, say first that the docum
|
|
|
25
26
|
Python setup does not support `action_handlers` on `a2ui.render`, so its button callback
|
|
26
27
|
cannot return a decision to the agent.
|
|
27
28
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
Where the requested work passes project data to the agent, follow the agent-readonly page above for
|
|
30
|
+
both sides. The adapter does not add the context to the Claude prompt by itself, so the
|
|
31
|
+
agent-side step on that page, which appends the context to the system prompt, is required.
|
|
31
32
|
|
|
32
|
-
Record the selected framework, vendor, model, required credential variable names,
|
|
33
|
-
URLs
|
|
33
|
+
Record the selected framework, vendor, model, required credential variable names, and
|
|
34
|
+
these URLs.
|
|
34
35
|
|
|
35
36
|
If the pages support the selection, run
|
|
36
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
37
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read frontend/plan`.
|
|
37
38
|
|
|
38
39
|
If the documentation does not support the selection, run
|
|
39
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
40
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read unsupported/no-validated-path`.
|
|
@@ -37,7 +37,7 @@ Record the selected framework, vendor, model, required credential variable names
|
|
|
37
37
|
URLs, and the context limit.
|
|
38
38
|
|
|
39
39
|
If the pages support the selection, run
|
|
40
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
40
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read frontend/plan`.
|
|
41
41
|
|
|
42
42
|
If the documentation does not support the selection, run
|
|
43
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
43
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read unsupported/no-validated-path`.
|
|
@@ -4,6 +4,13 @@ Preserve the project's existing CrewAI Flow, provider, model, and deployment. Th
|
|
|
4
4
|
pages do not name a default model vendor or model credential variable. Do not choose a
|
|
5
5
|
vendor or credential name for the developer.
|
|
6
6
|
|
|
7
|
+
When the target directory holds no project, do not ask the vendor question yet. The
|
|
8
|
+
frontend is chosen next, and with Next.js the run clones the CrewAI Flows starter, which
|
|
9
|
+
reads `OPENAI_API_KEY`, so an answer here decides nothing. If the run clones that
|
|
10
|
+
starter, tell the developer that the starter decides the vendor. If the frontend prompt
|
|
11
|
+
sends you to its Documentation section instead, ask the vendor question below at that
|
|
12
|
+
point, before the plan.
|
|
13
|
+
|
|
7
14
|
When the repository shows a provider, keep it and ask nothing further about it. When
|
|
8
15
|
neither the repository nor these pages show one, the developer decides, so ask. Ask one
|
|
9
16
|
short question: which model vendor the CrewAI Flow will call. Say that the CopilotKit
|
|
@@ -24,6 +31,7 @@ vendor. That route is for a documentation page that does not support the selecti
|
|
|
24
31
|
- https://docs.copilotkit.ai/crewai-crews/inspector.md
|
|
25
32
|
- https://docs.copilotkit.ai/crewai-crews/generative-ui/tool-based.md
|
|
26
33
|
- https://docs.copilotkit.ai/crewai-crews/shared-state/in-app-agent-read.md
|
|
34
|
+
- https://docs.copilotkit.ai/crewai-crews/agent-app-context.md
|
|
27
35
|
|
|
28
36
|
The public onboarding route ID is `crewai-flows`. The canonical documentation scope is
|
|
29
37
|
`crewai-crews`. The quickstart and feature pages also contain older `/crewai-flows/`
|
|
@@ -45,16 +53,16 @@ A2UI is not on this path. If the developer asks for it, say first that its page
|
|
|
45
53
|
this base adapter rather than standing alone, so it needs the Flow to call
|
|
46
54
|
`copilotkit_emit_tool_result` itself.
|
|
47
55
|
|
|
48
|
-
The shared-state page is not an agent-app-context guide.
|
|
49
|
-
|
|
50
|
-
|
|
56
|
+
The shared-state page is not an agent-app-context guide. Where the requested work passes project data
|
|
57
|
+
to the agent, follow the agent-app-context page above for both sides. The Flow does not
|
|
58
|
+
receive the context by itself, so the steps that declare `context` on the state class and
|
|
59
|
+
render it into the crew's work are required.
|
|
51
60
|
|
|
52
61
|
Record the selected framework, project-defined provider and model, the credential
|
|
53
|
-
variable names the repository proves or the developer named, these URLs, the adapter
|
|
54
|
-
shared-state limit.
|
|
62
|
+
variable names the repository proves or the developer named, these URLs, and the adapter.
|
|
55
63
|
|
|
56
64
|
If the pages support the selection, run
|
|
57
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
65
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read frontend/plan`.
|
|
58
66
|
|
|
59
67
|
If the documentation does not support the selection, run
|
|
60
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
68
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read unsupported/no-validated-path`.
|
|
@@ -20,7 +20,8 @@ Preserve the project's existing deployment path. Choose the same `Deep Agent` or
|
|
|
20
20
|
deployment to FastAPI or a FastAPI deployment to Deep Agent.
|
|
21
21
|
|
|
22
22
|
No Deep Agents agent-app-context Markdown page is available. Do not invent an
|
|
23
|
-
agent-app-context setup. If the requested work
|
|
23
|
+
agent-app-context setup. If the requested work passes project data to the agent, run the unsupported
|
|
24
|
+
route below. Otherwise, record the gap and continue.
|
|
24
25
|
|
|
25
26
|
A2UI is not on this path. If the developer asks for it, say first that its backend example
|
|
26
27
|
is Python-only, so a TypeScript project has nothing to follow.
|
|
@@ -32,7 +33,7 @@ Record the selected framework, language, vendor, model, required credential vari
|
|
|
32
33
|
names, these URLs, and each documentation gap.
|
|
33
34
|
|
|
34
35
|
If the pages support the selection, run
|
|
35
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
36
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read frontend/plan`.
|
|
36
37
|
|
|
37
38
|
If the documentation does not support the selection, run
|
|
38
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
39
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read unsupported/no-validated-path`.
|
|
@@ -14,15 +14,15 @@ key.
|
|
|
14
14
|
- https://docs.copilotkit.ai/google-adk/inspector.md
|
|
15
15
|
- https://docs.copilotkit.ai/google-adk/generative-ui/tool-based.md
|
|
16
16
|
- https://docs.copilotkit.ai/reference/v2/hooks/useAgentContext.md
|
|
17
|
+
- https://docs.copilotkit.ai/google-adk/agent-app-context.md
|
|
17
18
|
|
|
18
19
|
The documentation scope is `google-adk`. A `/adk/` URL answers with a redirect stub
|
|
19
20
|
whose body is the canonical path, so fetch the `google-adk` form.
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
agent and not for ADK.
|
|
22
|
+
Follow the agent-app-context page above for both sides of frontend context. The ADK
|
|
23
|
+
agent does not receive the context by itself, so the agent-side step on that page is
|
|
24
|
+
required. Do not read the built-in-agent context page in its place: that page states no
|
|
25
|
+
backend work is needed, which holds for the built-in agent and not for ADK.
|
|
26
26
|
|
|
27
27
|
Connect the Copilot Runtime with `HttpAgent` from `@ag-ui/client`.
|
|
28
28
|
|
|
@@ -30,7 +30,7 @@ Record the selected framework, vendor, model, required credential variable names
|
|
|
30
30
|
these URLs.
|
|
31
31
|
|
|
32
32
|
If the pages support the selection, run
|
|
33
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
33
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read frontend/plan`.
|
|
34
34
|
|
|
35
35
|
If the documentation does not support the selection, run
|
|
36
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
36
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read unsupported/no-validated-path`.
|
|
@@ -25,7 +25,7 @@ Record the selected framework, vendor, model, required credential variable names
|
|
|
25
25
|
these URLs.
|
|
26
26
|
|
|
27
27
|
If the pages support the selection, run
|
|
28
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
28
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read frontend/plan`.
|
|
29
29
|
|
|
30
30
|
If the documentation does not support the selection, run
|
|
31
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
31
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read unsupported/no-validated-path`.
|
|
@@ -19,7 +19,7 @@ Record the selected framework, vendor, model, required credential variable names
|
|
|
19
19
|
these URLs.
|
|
20
20
|
|
|
21
21
|
If the pages support the selection, run
|
|
22
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
22
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read frontend/plan`.
|
|
23
23
|
|
|
24
24
|
If the documentation does not support the selection, run
|
|
25
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
25
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read unsupported/no-validated-path`.
|
|
@@ -19,7 +19,7 @@ Record the selected framework, vendor, model, required credential variable names
|
|
|
19
19
|
these URLs.
|
|
20
20
|
|
|
21
21
|
If the pages support the selection, run
|
|
22
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
22
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read frontend/plan`.
|
|
23
23
|
|
|
24
24
|
If the documentation does not support the selection, run
|
|
25
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
25
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read unsupported/no-validated-path`.
|
|
@@ -27,14 +27,14 @@ LlamaIndex backend code but does not bundle its runtime setup, so it only works
|
|
|
27
27
|
the quickstart runtime it extends.
|
|
28
28
|
|
|
29
29
|
The shared-state page is not an agent-app-context guide. Do not use it to invent a
|
|
30
|
-
`useAgentContext` backend setup. If the requested work
|
|
31
|
-
|
|
30
|
+
`useAgentContext` backend setup. If the requested work passes project data to the agent, run the
|
|
31
|
+
unsupported route below. Otherwise, record the gap and continue.
|
|
32
32
|
|
|
33
33
|
Record the selected framework, vendor, model, required credential variable names, these
|
|
34
34
|
URLs, the documented dependencies and adapter, and both documentation limits.
|
|
35
35
|
|
|
36
36
|
If the pages support the selection, run
|
|
37
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
37
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read frontend/plan`.
|
|
38
38
|
|
|
39
39
|
If the documentation does not support the selection, run
|
|
40
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
40
|
+
`npx --prefer-offline --yes copilotkit@4.18.0 onboard read unsupported/no-validated-path`.
|