copilotkit 4.22.0 → 4.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +390 -17
- package/cli-build-info.json +8 -8
- package/index.js +52224 -34474
- package/onboarding/index.json +83 -9
- package/onboarding/prompts/authenticate/start.md +44 -34
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +12 -7
- package/onboarding/prompts/credentials/plan.md +23 -23
- package/onboarding/prompts/credentials/settle-credentials.md +10 -7
- package/onboarding/prompts/credentials/write-plan.md +17 -7
- package/onboarding/prompts/deployment/choose-local.md +46 -0
- package/onboarding/prompts/deployment/local-evaluation.md +71 -0
- package/onboarding/prompts/fallback/best-effort.md +8 -8
- package/onboarding/prompts/feature/a2ui/implement.md +6 -6
- package/onboarding/prompts/feature/a2ui/plan.md +72 -0
- package/onboarding/prompts/feature/a2ui/proof.md +5 -5
- package/onboarding/prompts/feature/a2ui/start.md +11 -32
- package/onboarding/prompts/feature/channels/implement.md +23 -16
- package/onboarding/prompts/feature/channels/plan.md +85 -0
- package/onboarding/prompts/feature/channels/proof.md +5 -5
- package/onboarding/prompts/feature/channels/start.md +14 -41
- package/onboarding/prompts/feature/chat-suggestions/implement.md +6 -6
- package/onboarding/prompts/feature/chat-suggestions/plan.md +71 -0
- package/onboarding/prompts/feature/chat-suggestions/proof.md +5 -5
- package/onboarding/prompts/feature/chat-suggestions/start.md +11 -30
- package/onboarding/prompts/feature/complete.md +2 -2
- package/onboarding/prompts/feature/learning/implement.md +13 -13
- package/onboarding/prompts/feature/learning/plan.md +82 -0
- package/onboarding/prompts/feature/learning/proof.md +6 -6
- package/onboarding/prompts/feature/learning/start.md +11 -40
- package/onboarding/prompts/feature/open-generative-ui/implement.md +6 -6
- package/onboarding/prompts/feature/open-generative-ui/plan.md +70 -0
- package/onboarding/prompts/feature/open-generative-ui/proof.md +5 -5
- package/onboarding/prompts/feature/open-generative-ui/start.md +11 -30
- package/onboarding/prompts/feature/realtime-sync/implement.md +7 -7
- package/onboarding/prompts/feature/realtime-sync/plan.md +75 -0
- package/onboarding/prompts/feature/realtime-sync/proof.md +5 -5
- package/onboarding/prompts/feature/realtime-sync/start.md +10 -33
- package/onboarding/prompts/feature/rich-threads/implement.md +8 -8
- package/onboarding/prompts/feature/rich-threads/plan.md +77 -0
- package/onboarding/prompts/feature/rich-threads/proof.md +5 -5
- package/onboarding/prompts/feature/rich-threads/start.md +10 -35
- package/onboarding/prompts/feature/stop.md +3 -3
- package/onboarding/prompts/feature/voice/implement.md +6 -6
- package/onboarding/prompts/feature/voice/plan.md +74 -0
- package/onboarding/prompts/feature/voice/proof.md +5 -5
- package/onboarding/prompts/feature/voice/start.md +11 -29
- 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/custom-ag-ui.md +5 -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 +3 -3
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +3 -3
- 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 +7 -7
- 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 +14 -13
- package/onboarding/prompts/proof/complete.md +3 -3
- package/onboarding/prompts/proof/oss-baseline.md +5 -5
- package/onboarding/prompts/proof/round-trip.md +16 -11
- package/onboarding/prompts/research/gather.md +9 -8
- package/onboarding/prompts/research/merge.md +6 -3
- package/onboarding/prompts/research/preflight.md +2 -2
- package/onboarding/prompts/research/route.md +22 -14
- package/onboarding/prompts/starter/clone.md +5 -5
- package/onboarding/prompts/stopped/run-failed.md +2 -2
- package/onboarding/prompts/subagent/create-plan.md +9 -2
- package/onboarding/prompts/subagent/implement-and-validate.md +34 -2
- package/onboarding/prompts/subagent/inspect-repository.md +1 -1
- package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
- package/onboarding/prompts/subagent/prove-round-trip.md +39 -21
- package/onboarding/prompts/unsupported/no-validated-path.md +2 -2
- package/package.json +4 -1
- package/release/release-tool.js +167 -18
- package/services/local-auth-worker.js +21465 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Delegate implementation to one subagent with the approved plan and fetched official guides.
|
|
4
4
|
If repository evidence does not prove an existing valid Intelligence selection, run
|
|
5
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
5
|
+
`npx --prefer-offline --yes copilotkit@4.23.1 login --json` and follow its single streaming session. Then
|
|
6
6
|
list projects, show the developer the current/recent choices, and select or create one only
|
|
7
7
|
after they choose. Require the secret-safe selection summary to confirm the project file,
|
|
8
8
|
environment file, and key provisioning; never display a key. If existing configuration is
|
|
@@ -20,14 +20,14 @@ non-zero on an app that is working. Pass what `identifyUser` reads with a repeat
|
|
|
20
20
|
It is not a defect to repair.
|
|
21
21
|
|
|
22
22
|
Run focused type/test commands, then start the app and run
|
|
23
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
23
|
+
`npx --prefer-offline --yes copilotkit@4.23.1 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
|
|
24
24
|
Repair changed-file failures before continuing. Record changed paths and secret-safe
|
|
25
25
|
validation evidence.
|
|
26
26
|
|
|
27
27
|
Before you spawn the implementation subagent, take the authorized list from the CLI:
|
|
28
28
|
|
|
29
29
|
```text
|
|
30
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
30
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard audit
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
|
|
@@ -46,7 +46,7 @@ still go on the record. Name the file and why the work needs it, then end your t
|
|
|
46
46
|
for the developer's answer. If they allow it, record their answer before any edit:
|
|
47
47
|
|
|
48
48
|
```text
|
|
49
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
49
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
50
50
|
```
|
|
51
51
|
|
|
52
52
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -58,7 +58,7 @@ feature stop route below.
|
|
|
58
58
|
After validation and each repair, run:
|
|
59
59
|
|
|
60
60
|
```text
|
|
61
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
61
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard audit
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
@@ -69,7 +69,7 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
69
69
|
the path, accept the developer's external change:
|
|
70
70
|
|
|
71
71
|
```text
|
|
72
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
72
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --accept-external --path <path>
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
For an env file where the developer placed a requested credential, use
|
|
@@ -82,11 +82,11 @@ Run the audit again after each accepted change. If it still fails, or starts
|
|
|
82
82
|
with `Status: blocked`, route out and stop:
|
|
83
83
|
|
|
84
84
|
```text
|
|
85
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
85
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
|
|
86
86
|
```
|
|
87
87
|
|
|
88
88
|
If validation cannot pass, or this intent needs a prerequisite the app does not have, use
|
|
89
89
|
the feature stop route above without further changes.
|
|
90
90
|
|
|
91
91
|
Otherwise run
|
|
92
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
92
|
+
`npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/rich-threads/proof`.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Plan Rich Threads with the developer
|
|
2
|
+
|
|
3
|
+
The inspection in `feature/rich-threads/start` came back and proved what this intent
|
|
4
|
+
needs. This prompt turns it into a plan, asks the developer to approve it, and records the
|
|
5
|
+
protected paths the plan changes. Do not change project files in this prompt.
|
|
6
|
+
|
|
7
|
+
## Waits and stops
|
|
8
|
+
|
|
9
|
+
The rules in `feature/rich-threads/start` still hold here.
|
|
10
|
+
|
|
11
|
+
The approval is a wait for the developer. Before you end your turn to wait, report the
|
|
12
|
+
pause:
|
|
13
|
+
|
|
14
|
+
```text
|
|
15
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase awaiting-developer
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
|
|
19
|
+
When the answer arrives, continue from the step that paused. If the developer asks for a
|
|
20
|
+
change, show the changed plan and ask again.
|
|
21
|
+
|
|
22
|
+
## What this prompt takes from the start
|
|
23
|
+
|
|
24
|
+
Keep these from `feature/rich-threads/start`, and give them to every subagent:
|
|
25
|
+
|
|
26
|
+
- the protected path list that `onboard protect` printed, and
|
|
27
|
+
- the paths and findings the inspection returned: the runtime route, CopilotKit provider
|
|
28
|
+
and chat, agent id, current thread UI or headless API, authentication boundary,
|
|
29
|
+
server-side user identity source, project configuration (presence only), test and dev
|
|
30
|
+
commands, and the round trip.
|
|
31
|
+
|
|
32
|
+
If you do not hold them, as after `onboard resume` in a new session, get them back before
|
|
33
|
+
you plan. Run `onboard protect` again from the target app directory: on the same run it
|
|
34
|
+
prints the baseline the run already holds.
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard protect
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Then have one read-only subagent repeat the inspection for the findings above, and wait
|
|
41
|
+
for it. It changes no files.
|
|
42
|
+
|
|
43
|
+
## Plan the change
|
|
44
|
+
|
|
45
|
+
Fetch the current official guides before planning:
|
|
46
|
+
https://docs.copilotkit.ai/threads.md
|
|
47
|
+
https://docs.copilotkit.ai/threads-lifecycle.md
|
|
48
|
+
https://docs.copilotkit.ai/intelligence/quickstart.md
|
|
49
|
+
https://docs.copilotkit.ai/auth.md
|
|
50
|
+
https://docs.copilotkit.ai/prebuilt-components/copilot-threads-drawer.md
|
|
51
|
+
Retry unavailable pages a second way. Do not infer an identity from a browser display name or
|
|
52
|
+
use a client-supplied identifier as the server-side user identity. `identifyUser` names an
|
|
53
|
+
already-authenticated caller. It is not the authentication gate, and the auth page lists the
|
|
54
|
+
thread routes that do not resolve the caller through it and must be guarded separately.
|
|
55
|
+
|
|
56
|
+
Re-use a valid existing Intelligence project and credential when repository evidence proves
|
|
57
|
+
one. If Intelligence is missing, do not create a project or sign in yet: show a plan first.
|
|
58
|
+
The plan must name the documented Intelligence runtime wiring, server-side `identifyUser`,
|
|
59
|
+
catch-all thread routes, the selected UI (drawer or existing headless UI), preserved behavior,
|
|
60
|
+
tests, and a reload/reopen proof. Ask for approval as its own question.
|
|
61
|
+
|
|
62
|
+
The plan must list every protected path it needs to change under `Authorization requested`,
|
|
63
|
+
with one sentence explaining why. Write `None` when it needs none. Authorization covers
|
|
64
|
+
changing a protected path, not removing it, so the plan must not delete, move, or rename
|
|
65
|
+
one.
|
|
66
|
+
|
|
67
|
+
After approval, record each approved path before implementation:
|
|
68
|
+
|
|
69
|
+
```text
|
|
70
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
If an approved path changed after capture and no implementation step has run, add
|
|
74
|
+
`--with-prior-change`. Continue only when every result starts with `Status: passed`. Do not
|
|
75
|
+
authorize a path the approved plan did not list.
|
|
76
|
+
|
|
77
|
+
Then run `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/rich-threads/implement`.
|
|
@@ -22,7 +22,7 @@ still go on the record. Name the file and why the fix needs it, then end your tu
|
|
|
22
22
|
for the developer's answer. If they allow it, record their answer before any edit:
|
|
23
23
|
|
|
24
24
|
```text
|
|
25
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
25
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -35,12 +35,12 @@ Report the outcome of each attempt as it ends, before any repair. The command co
|
|
|
35
35
|
attempts and the repairs:
|
|
36
36
|
|
|
37
37
|
```text
|
|
38
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
38
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
Use `passed` only for proved persistence and reopen, `failed` for an attempted proof that
|
|
42
42
|
failed, and `skipped` when the proof could not run. Then run
|
|
43
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
43
|
+
`npx --prefer-offline --yes copilotkit@4.23.1 onboard audit`. Continue only when it starts with
|
|
44
44
|
`Status: passed`.
|
|
45
45
|
|
|
46
46
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -55,9 +55,9 @@ the path and the change the audit reports. Run the audit again after each accept
|
|
|
55
55
|
If the audit still fails, or starts with `Status: blocked`, route out and stop:
|
|
56
56
|
|
|
57
57
|
```text
|
|
58
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
58
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
When the audit passes, run
|
|
62
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
62
|
+
`npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/complete` with the actual browser
|
|
63
63
|
outcome.
|
|
@@ -20,13 +20,13 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
|
|
|
20
20
|
once:
|
|
21
21
|
|
|
22
22
|
```text
|
|
23
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
23
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase delegation-unavailable
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
Before you end your turn to wait for the developer, report the pause:
|
|
27
27
|
|
|
28
28
|
```text
|
|
29
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
29
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase awaiting-developer
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
|
|
@@ -36,7 +36,7 @@ If you stop this run, send one short report before you stop. The friction comman
|
|
|
36
36
|
the telemetry setting the developer already chose, so it needs no separate question.
|
|
37
37
|
|
|
38
38
|
```text
|
|
39
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
39
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
@@ -50,7 +50,7 @@ one scoped fix, and sends the report itself when no fix is approved.
|
|
|
50
50
|
Before any subagent or project process runs, capture the developer's existing work:
|
|
51
51
|
|
|
52
52
|
```text
|
|
53
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
53
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard protect
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
Keep the exact protected path list it prints and give that list to every subagent. No
|
|
@@ -65,46 +65,21 @@ the current frontend-to-runtime-to-agent round trip and inspect `/info`.
|
|
|
65
65
|
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
66
66
|
|
|
67
67
|
```text
|
|
68
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
68
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase research-returned
|
|
69
69
|
```
|
|
70
70
|
|
|
71
71
|
If the inspection did not prove the baseline this intent extends, stop here without
|
|
72
72
|
changing files:
|
|
73
73
|
|
|
74
74
|
```text
|
|
75
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
75
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
|
|
79
|
-
https://docs.copilotkit.ai/threads.md
|
|
80
|
-
https://docs.copilotkit.ai/threads-lifecycle.md
|
|
81
|
-
https://docs.copilotkit.ai/intelligence/quickstart.md
|
|
82
|
-
https://docs.copilotkit.ai/auth.md
|
|
83
|
-
https://docs.copilotkit.ai/prebuilt-components/copilot-threads-drawer.md
|
|
84
|
-
Retry unavailable pages a second way. Do not infer an identity from a browser display name or
|
|
85
|
-
use a client-supplied identifier as the server-side user identity. `identifyUser` names an
|
|
86
|
-
already-authenticated caller; it is not the authentication gate, and the auth page lists the
|
|
87
|
-
thread routes that do not resolve the caller through it and must be guarded separately.
|
|
88
|
-
|
|
89
|
-
Re-use a valid existing Intelligence project and credential when repository evidence proves
|
|
90
|
-
one. If Intelligence is missing, do not create a project or sign in yet: show a plan first.
|
|
91
|
-
The plan must name the documented Intelligence runtime wiring, server-side `identifyUser`,
|
|
92
|
-
catch-all thread routes, the selected UI (drawer or existing headless UI), preserved behavior,
|
|
93
|
-
tests, and a reload/reopen proof. Ask for approval separately.
|
|
94
|
-
|
|
95
|
-
The plan must list every protected path it needs to change under `Authorization requested`,
|
|
96
|
-
with one sentence explaining why. Write `None` when it needs none. Authorization covers
|
|
97
|
-
changing a protected path, not removing it, so the plan must not delete, move, or rename
|
|
98
|
-
one.
|
|
99
|
-
|
|
100
|
-
After approval, record each approved path before implementation:
|
|
78
|
+
When the inspection proved what this intent needs, read the next prompt now, in this turn:
|
|
101
79
|
|
|
102
80
|
```text
|
|
103
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
81
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/rich-threads/plan
|
|
104
82
|
```
|
|
105
83
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
authorize a path the approved plan did not list.
|
|
109
|
-
|
|
110
|
-
Then run `npx --prefer-offline --yes copilotkit@4.22.0 onboard read feature/rich-threads/implement`.
|
|
84
|
+
That prompt holds the plan, the developer's approval, and the paths the plan changes.
|
|
85
|
+
Do not write the plan or change project files in this prompt.
|
|
@@ -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.23.1 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.23.1 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
|
|
@@ -69,7 +69,7 @@ Send one short report. The friction command follows the telemetry setting the de
|
|
|
69
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.23.1 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.
|
|
@@ -14,7 +14,7 @@ voice proof. Record changed paths and validation results.
|
|
|
14
14
|
Before you spawn the implementation subagent, take the authorized list from the CLI:
|
|
15
15
|
|
|
16
16
|
```text
|
|
17
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
17
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard audit
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
|
|
@@ -33,7 +33,7 @@ still go on the record. Name the file and why the work needs it, then end your t
|
|
|
33
33
|
for the developer's answer. If they allow it, record their answer before any edit:
|
|
34
34
|
|
|
35
35
|
```text
|
|
36
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
36
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -45,7 +45,7 @@ feature stop route below.
|
|
|
45
45
|
After validation and each repair, run:
|
|
46
46
|
|
|
47
47
|
```text
|
|
48
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
48
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard audit
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
@@ -56,7 +56,7 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
56
56
|
the path, accept the developer's external change:
|
|
57
57
|
|
|
58
58
|
```text
|
|
59
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
59
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --accept-external --path <path>
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
For an env file where the developer placed a requested credential, use
|
|
@@ -69,11 +69,11 @@ Run the audit again after each accepted change. If it still fails, or starts
|
|
|
69
69
|
with `Status: blocked`, route out and stop:
|
|
70
70
|
|
|
71
71
|
```text
|
|
72
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
72
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
If validation cannot pass, or this intent needs a prerequisite the app does not have, use
|
|
76
76
|
the feature stop route above without further changes.
|
|
77
77
|
|
|
78
78
|
Otherwise run
|
|
79
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
79
|
+
`npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/voice/proof`.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Plan voice input with the developer
|
|
2
|
+
|
|
3
|
+
The inspection in `feature/voice/start` came back and proved what this intent needs. This
|
|
4
|
+
prompt turns it into a plan, asks the developer to approve it, and records the protected
|
|
5
|
+
paths the plan changes. Do not change project files in this prompt.
|
|
6
|
+
|
|
7
|
+
## Waits and stops
|
|
8
|
+
|
|
9
|
+
The rules in `feature/voice/start` still hold here.
|
|
10
|
+
|
|
11
|
+
The approval is a wait for the developer. Before you end your turn to wait, report the
|
|
12
|
+
pause:
|
|
13
|
+
|
|
14
|
+
```text
|
|
15
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase awaiting-developer
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
|
|
19
|
+
When the answer arrives, continue from the step that paused. If the developer asks for a
|
|
20
|
+
change, show the changed plan and ask again.
|
|
21
|
+
|
|
22
|
+
## What this prompt takes from the start
|
|
23
|
+
|
|
24
|
+
Keep these from `feature/voice/start`, and give them to every subagent:
|
|
25
|
+
|
|
26
|
+
- the protected path list that `onboard protect` printed, and
|
|
27
|
+
- the paths and findings the inspection returned: the runtime route, provider and chat
|
|
28
|
+
composer, current agent, provider credential variable names (presence only), package
|
|
29
|
+
versions, browser permissions approach, test and dev commands, and the round trip that
|
|
30
|
+
`verify` proved.
|
|
31
|
+
|
|
32
|
+
If you do not hold them, as after `onboard resume` in a new session, get them back before
|
|
33
|
+
you plan. Run `onboard protect` again from the target app directory: on the same run it
|
|
34
|
+
prints the baseline the run already holds.
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard protect
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Then have one read-only subagent repeat the inspection for the findings above, and wait
|
|
41
|
+
for it. It changes no files.
|
|
42
|
+
|
|
43
|
+
## Plan the change
|
|
44
|
+
|
|
45
|
+
Do not run login, select Intelligence, create a credential, read a credential value, or
|
|
46
|
+
replace the existing chat/runtime. Fetch the official voice guide before planning:
|
|
47
|
+
https://docs.copilotkit.ai/voice.md
|
|
48
|
+
Retry it a second way if needed. Use an existing user-owned provider credential only when
|
|
49
|
+
the repository proves its variable name is configured. Otherwise, explain the setup gate and
|
|
50
|
+
take the feature stop route rather than writing a placeholder:
|
|
51
|
+
|
|
52
|
+
```text
|
|
53
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Show a small plan for the documented transcription service, the existing composer, focused
|
|
57
|
+
tests, and a microphone/canned-transcript proof. Ask for approval as its own question.
|
|
58
|
+
|
|
59
|
+
The plan must list every protected path it needs to change under `Authorization requested`,
|
|
60
|
+
with one sentence explaining why. Write `None` when it needs none. Authorization covers
|
|
61
|
+
changing a protected path, not removing it, so the plan must not delete, move, or rename
|
|
62
|
+
one.
|
|
63
|
+
|
|
64
|
+
After approval, record each approved path before implementation:
|
|
65
|
+
|
|
66
|
+
```text
|
|
67
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
If an approved path changed after capture and no implementation step has run, add
|
|
71
|
+
`--with-prior-change`. Continue only when every result starts with `Status: passed`. Do not
|
|
72
|
+
authorize a path the approved plan did not list.
|
|
73
|
+
|
|
74
|
+
Then run `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/voice/implement`.
|
|
@@ -21,7 +21,7 @@ still go on the record. Name the file and why the fix needs it, then end your tu
|
|
|
21
21
|
for the developer's answer. If they allow it, record their answer before any edit:
|
|
22
22
|
|
|
23
23
|
```text
|
|
24
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
24
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -34,11 +34,11 @@ Report the outcome of each attempt as it ends, before any repair. The command co
|
|
|
34
34
|
attempts and the repairs:
|
|
35
35
|
|
|
36
36
|
```text
|
|
37
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
37
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
Use `passed` only for proved voice input, `failed` for an attempted proof that failed, and
|
|
41
|
-
`skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.
|
|
41
|
+
`skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.23.1 onboard audit`.
|
|
42
42
|
Continue only when it starts with `Status: passed`.
|
|
43
43
|
|
|
44
44
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -53,9 +53,9 @@ the path and the change the audit reports. Run the audit again after each accept
|
|
|
53
53
|
If the audit still fails, or starts with `Status: blocked`, route out and stop:
|
|
54
54
|
|
|
55
55
|
```text
|
|
56
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
56
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
When the audit passes, run
|
|
60
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
60
|
+
`npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/complete` with the actual surface
|
|
61
61
|
outcome.
|
|
@@ -19,13 +19,13 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
|
|
|
19
19
|
once:
|
|
20
20
|
|
|
21
21
|
```text
|
|
22
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
22
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase delegation-unavailable
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
Before you end your turn to wait for the developer, report the pause:
|
|
26
26
|
|
|
27
27
|
```text
|
|
28
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
28
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase awaiting-developer
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
|
|
@@ -35,7 +35,7 @@ If you stop this run, send one short report before you stop. The friction comman
|
|
|
35
35
|
the telemetry setting the developer already chose, so it needs no separate question.
|
|
36
36
|
|
|
37
37
|
```text
|
|
38
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
38
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
@@ -49,7 +49,7 @@ one scoped fix, and sends the report itself when no fix is approved.
|
|
|
49
49
|
Before any subagent or project process runs, capture the developer's existing work:
|
|
50
50
|
|
|
51
51
|
```text
|
|
52
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
52
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard protect
|
|
53
53
|
```
|
|
54
54
|
|
|
55
55
|
Keep the exact protected path list it prints and give that list to every subagent. No
|
|
@@ -59,45 +59,27 @@ approved authorization before implementation.
|
|
|
59
59
|
Before edits, inspect the runtime route, CopilotKit provider/chat composer, current agent,
|
|
60
60
|
existing provider credential variable names (presence only), package versions, browser
|
|
61
61
|
permissions approach, and test/dev commands. Prove the existing OSS baseline with `/info`,
|
|
62
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
62
|
+
`npx --prefer-offline --yes copilotkit@4.23.1 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
|
|
63
63
|
and a real UI request when a browser is available.
|
|
64
64
|
|
|
65
65
|
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
66
66
|
|
|
67
67
|
```text
|
|
68
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
68
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase research-returned
|
|
69
69
|
```
|
|
70
70
|
|
|
71
71
|
If the inspection did not prove the baseline this intent extends, stop here without
|
|
72
72
|
changing files:
|
|
73
73
|
|
|
74
74
|
```text
|
|
75
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
75
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
|
|
79
|
-
replace the existing chat/runtime. Fetch the official voice guide before planning:
|
|
80
|
-
https://docs.copilotkit.ai/voice.md
|
|
81
|
-
Retry it a second way if needed. Use an existing user-owned provider credential only when
|
|
82
|
-
the repository proves its variable name is configured; otherwise explain the setup gate and
|
|
83
|
-
take the feature stop route above rather than writing a placeholder.
|
|
84
|
-
|
|
85
|
-
Show a small plan for the documented transcription service, the existing composer, focused
|
|
86
|
-
tests, and a microphone/canned-transcript proof. Ask for approval separately.
|
|
87
|
-
|
|
88
|
-
The plan must list every protected path it needs to change under `Authorization requested`,
|
|
89
|
-
with one sentence explaining why. Write `None` when it needs none. Authorization covers
|
|
90
|
-
changing a protected path, not removing it, so the plan must not delete, move, or rename
|
|
91
|
-
one.
|
|
92
|
-
|
|
93
|
-
After approval, record each approved path before implementation:
|
|
78
|
+
When the inspection proved what this intent needs, read the next prompt now, in this turn:
|
|
94
79
|
|
|
95
80
|
```text
|
|
96
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
81
|
+
npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/voice/plan
|
|
97
82
|
```
|
|
98
83
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
authorize a path the approved plan did not list.
|
|
102
|
-
|
|
103
|
-
Then run `npx --prefer-offline --yes copilotkit@4.22.0 onboard read feature/voice/implement`.
|
|
84
|
+
That prompt holds the plan, the developer's approval, and the paths the plan changes.
|
|
85
|
+
Do not write the plan or change project files in this prompt.
|
|
@@ -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.23.1 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.23.1 onboard read unsupported/no-validated-path`.
|
|
@@ -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.23.1 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.23.1 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.23.1 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.23.1 onboard read unsupported/no-validated-path`.
|
|
@@ -34,7 +34,7 @@ Record the selected framework, vendor, model, required credential variable names
|
|
|
34
34
|
these URLs.
|
|
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.23.1 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.23.1 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.23.1 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.23.1 onboard read unsupported/no-validated-path`.
|
|
@@ -62,7 +62,7 @@ Record the selected framework, project-defined provider and model, the credentia
|
|
|
62
62
|
variable names the repository proves or the developer named, these URLs, and the adapter.
|
|
63
63
|
|
|
64
64
|
If the pages support the selection, run
|
|
65
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
65
|
+
`npx --prefer-offline --yes copilotkit@4.23.1 onboard read frontend/plan`.
|
|
66
66
|
|
|
67
67
|
If the documentation does not support the selection, run
|
|
68
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
68
|
+
`npx --prefer-offline --yes copilotkit@4.23.1 onboard read unsupported/no-validated-path`.
|
|
@@ -37,6 +37,9 @@ Register the agent in the `agents` map of the Copilot Runtime from
|
|
|
37
37
|
instance of the project's own class.
|
|
38
38
|
- Connect an agent that runs as its own service with `HttpAgent` from `@ag-ui/client`. Its
|
|
39
39
|
`url` is the service's own AG-UI endpoint, not the runtime's `/api/copilotkit` path.
|
|
40
|
+
That service reads its own environment, not the app's env file. When the credential
|
|
41
|
+
step settles the model key, pass `--copy-to <service directory>/.env`, so the key goes
|
|
42
|
+
into the env file that the service loads.
|
|
40
43
|
|
|
41
44
|
Do not use `selfManagedAgents` or `agents__unsafe_dev_only`. Those provider options send
|
|
42
45
|
requests past the runtime, so the Intelligence features that this run adds never reach
|
|
@@ -92,7 +95,7 @@ credential variable names that the agent already uses, the `clone()` finding, an
|
|
|
92
95
|
URLs.
|
|
93
96
|
|
|
94
97
|
If the pages support the selection, run
|
|
95
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
98
|
+
`npx --prefer-offline --yes copilotkit@4.23.1 onboard read frontend/plan`.
|
|
96
99
|
|
|
97
100
|
If the documentation does not support the selection, run
|
|
98
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
101
|
+
`npx --prefer-offline --yes copilotkit@4.23.1 onboard read unsupported/no-validated-path`.
|
|
@@ -33,7 +33,7 @@ Record the selected framework, language, vendor, model, required credential vari
|
|
|
33
33
|
names, these URLs, and each documentation gap.
|
|
34
34
|
|
|
35
35
|
If the pages support the selection, run
|
|
36
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
36
|
+
`npx --prefer-offline --yes copilotkit@4.23.1 onboard read frontend/plan`.
|
|
37
37
|
|
|
38
38
|
If the documentation does not support the selection, run
|
|
39
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
39
|
+
`npx --prefer-offline --yes copilotkit@4.23.1 onboard read unsupported/no-validated-path`.
|