copilotkit 4.22.0 → 4.23.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 +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
|
@@ -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.0 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.0 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.0 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.
|
|
@@ -66,7 +66,7 @@ status:
|
|
|
66
66
|
before the capture, the inspection, and any edit:
|
|
67
67
|
|
|
68
68
|
```text
|
|
69
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
69
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard read feature/blocked-by-plan
|
|
70
70
|
```
|
|
71
71
|
|
|
72
72
|
- `LEARNING_AVAILABILITY_UNAVAILABLE` means the platform did not resolve the answer. It is
|
|
@@ -87,7 +87,7 @@ again: it has no answer, so it carries the question forward rather than ending o
|
|
|
87
87
|
Before any subagent or project process runs, capture the developer's existing work:
|
|
88
88
|
|
|
89
89
|
```text
|
|
90
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
90
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard protect
|
|
91
91
|
```
|
|
92
92
|
|
|
93
93
|
Keep the exact protected path list it prints and give that list to every subagent. No
|
|
@@ -101,50 +101,21 @@ test/dev commands. Prove the current round trip and inspect `/info`.
|
|
|
101
101
|
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
102
102
|
|
|
103
103
|
```text
|
|
104
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
104
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard checkpoint --phase research-returned
|
|
105
105
|
```
|
|
106
106
|
|
|
107
107
|
If the inspection did not prove the baseline this intent extends, stop here without
|
|
108
108
|
changing files:
|
|
109
109
|
|
|
110
110
|
```text
|
|
111
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
111
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard read feature/stop
|
|
112
112
|
```
|
|
113
113
|
|
|
114
|
-
|
|
115
|
-
https://docs.copilotkit.ai/learning.md
|
|
116
|
-
https://docs.copilotkit.ai/backend/copilot-runtime.md
|
|
117
|
-
https://docs.copilotkit.ai/intelligence/quickstart.md
|
|
118
|
-
https://docs.copilotkit.ai/threads.md
|
|
119
|
-
Use a second retrieval method if needed.
|
|
120
|
-
|
|
121
|
-
The CLI owns the container. `copilotkit learning containers list --json` reads the ones this
|
|
122
|
-
project already has, and `copilotkit learning containers create --id <id> --name <name>
|
|
123
|
-
--json` makes one. So there is no dashboard step and no reason to guess: never invent an id,
|
|
124
|
-
scrape a dashboard, or treat an arbitrary string as a container.
|
|
125
|
-
|
|
126
|
-
Read the "Assign Threads to Learning Containers" section of that page. The container is
|
|
127
|
-
chosen by `getLearningContainerId` on the `CopilotKitIntelligence` instance, which the
|
|
128
|
-
same page documents; it receives the resolved application user and the run input, and it
|
|
129
|
-
serves web and Channel runs through one API.
|
|
130
|
-
|
|
131
|
-
Show a concise plan for managed runtime/thread prerequisites, a stable selected container,
|
|
132
|
-
the documented `getLearningContainerId` selector, validation, and a visible assignment
|
|
133
|
-
proof. Ask for approval separately.
|
|
134
|
-
|
|
135
|
-
The plan must list every protected path it needs to change under `Authorization requested`,
|
|
136
|
-
with one sentence explaining why. Write `None` when it needs none. Authorization covers
|
|
137
|
-
changing a protected path, not removing it, so the plan must not delete, move, or rename
|
|
138
|
-
one.
|
|
139
|
-
|
|
140
|
-
After approval, record each approved path before implementation:
|
|
114
|
+
When the inspection proved what this intent needs, read the next prompt now, in this turn:
|
|
141
115
|
|
|
142
116
|
```text
|
|
143
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
117
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard read feature/learning/plan
|
|
144
118
|
```
|
|
145
119
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
authorize a path the approved plan did not list.
|
|
149
|
-
|
|
150
|
-
Then run `npx --prefer-offline --yes copilotkit@4.22.0 onboard read feature/learning/implement`.
|
|
120
|
+
That prompt holds the plan, the developer's approval, and the paths the plan changes.
|
|
121
|
+
Do not write the plan or change project files in this prompt.
|
|
@@ -16,7 +16,7 @@ validation results without secrets.
|
|
|
16
16
|
Before you spawn the implementation subagent, take the authorized list from the CLI:
|
|
17
17
|
|
|
18
18
|
```text
|
|
19
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
19
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard audit
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
|
|
@@ -35,7 +35,7 @@ still go on the record. Name the file and why the work needs it, then end your t
|
|
|
35
35
|
for the developer's answer. If they allow it, record their answer before any edit:
|
|
36
36
|
|
|
37
37
|
```text
|
|
38
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
38
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -47,7 +47,7 @@ feature stop route below.
|
|
|
47
47
|
After validation and each repair, run:
|
|
48
48
|
|
|
49
49
|
```text
|
|
50
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
50
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard audit
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
@@ -58,7 +58,7 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
58
58
|
the path, accept the developer's external change:
|
|
59
59
|
|
|
60
60
|
```text
|
|
61
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
61
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard protect --accept-external --path <path>
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
For an env file where the developer placed a requested credential, use
|
|
@@ -71,11 +71,11 @@ Run the audit again after each accepted change. If it still fails, or starts
|
|
|
71
71
|
with `Status: blocked`, route out and stop:
|
|
72
72
|
|
|
73
73
|
```text
|
|
74
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
74
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard read feature/stop
|
|
75
75
|
```
|
|
76
76
|
|
|
77
77
|
If validation cannot pass, or this intent needs a prerequisite the app does not have, use
|
|
78
78
|
the feature stop route above without further changes.
|
|
79
79
|
|
|
80
80
|
Otherwise run
|
|
81
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
81
|
+
`npx --prefer-offline --yes copilotkit@4.23.0 onboard read feature/open-generative-ui/proof`.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Plan Open Generative UI with the developer
|
|
2
|
+
|
|
3
|
+
The inspection in `feature/open-generative-ui/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/open-generative-ui/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.0 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/open-generative-ui/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
|
+
component, agent id, package versions, existing middleware, sandbox and CSP constraints,
|
|
29
|
+
test and dev commands, and the round trip that `verify` proved.
|
|
30
|
+
|
|
31
|
+
If you do not hold them, as after `onboard resume` in a new session, get them back before
|
|
32
|
+
you plan. Run `onboard protect` again from the target app directory: on the same run it
|
|
33
|
+
prints the baseline the run already holds.
|
|
34
|
+
|
|
35
|
+
```text
|
|
36
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard protect
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Then have one read-only subagent repeat the inspection for the findings above, and wait
|
|
40
|
+
for it. It changes no files.
|
|
41
|
+
|
|
42
|
+
## Plan the change
|
|
43
|
+
|
|
44
|
+
Do not sign in, select an Intelligence project, create credentials, change the existing
|
|
45
|
+
agent, or swap out the chat surface. Open Generative UI is an OSS runtime feature.
|
|
46
|
+
|
|
47
|
+
Fetch the current official guide before planning:
|
|
48
|
+
https://docs.copilotkit.ai/generative-ui/open-generative-ui.md
|
|
49
|
+
Retry through a second retrieval method if needed. Setup is the documented
|
|
50
|
+
`openGenerativeUI` option on the runtime, which makes `/info` report
|
|
51
|
+
`openGenerativeUIEnabled`. The middleware is what parses tool-call arguments afterwards.
|
|
52
|
+
Show a small plan covering that runtime option, the existing provider's renderer path,
|
|
53
|
+
likely CSP/sandbox implications, tests, and a user-visible generated UI proof. Ask for approval as its own question.
|
|
54
|
+
|
|
55
|
+
The plan must list every protected path it needs to change under `Authorization requested`,
|
|
56
|
+
with one sentence explaining why. Write `None` when it needs none. Authorization covers
|
|
57
|
+
changing a protected path, not removing it, so the plan must not delete, move, or rename
|
|
58
|
+
one.
|
|
59
|
+
|
|
60
|
+
After approval, record each approved path before implementation:
|
|
61
|
+
|
|
62
|
+
```text
|
|
63
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
If an approved path changed after capture and no implementation step has run, add
|
|
67
|
+
`--with-prior-change`. Continue only when every result starts with `Status: passed`. Do not
|
|
68
|
+
authorize a path the approved plan did not list.
|
|
69
|
+
|
|
70
|
+
Then run `npx --prefer-offline --yes copilotkit@4.23.0 onboard read feature/open-generative-ui/implement`.
|
|
@@ -21,7 +21,7 @@ still go on the record. Name the file and why the fix needs it, then end your tu
|
|
|
21
21
|
for the developer's answer. If they allow it, record their answer before any edit:
|
|
22
22
|
|
|
23
23
|
```text
|
|
24
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
24
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -34,11 +34,11 @@ Report the outcome of each attempt as it ends, before any repair. The command co
|
|
|
34
34
|
attempts and the repairs:
|
|
35
35
|
|
|
36
36
|
```text
|
|
37
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
37
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
Use `passed` only for a proved generated UI, `failed` for an attempted proof that failed,
|
|
41
|
-
and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.
|
|
41
|
+
and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.23.0 onboard audit`.
|
|
42
42
|
Continue only when it starts with `Status: passed`.
|
|
43
43
|
|
|
44
44
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -53,9 +53,9 @@ the path and the change the audit reports. Run the audit again after each accept
|
|
|
53
53
|
If the audit still fails, or starts with `Status: blocked`, route out and stop:
|
|
54
54
|
|
|
55
55
|
```text
|
|
56
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
56
|
+
npx --prefer-offline --yes copilotkit@4.23.0 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.0 onboard read feature/complete` with the outcome actually
|
|
61
61
|
observed.
|
|
@@ -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.0 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.0 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.0 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.0 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,46 +59,27 @@ approved authorization before implementation.
|
|
|
59
59
|
Before edits, have a research subagent identify the current CopilotKit runtime route,
|
|
60
60
|
provider/chat component, agent id, package versions, existing middleware, sandbox/CSP
|
|
61
61
|
constraints, and normal test/dev commands. Prove the existing app first with `/info`,
|
|
62
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
62
|
+
`npx --prefer-offline --yes copilotkit@4.23.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
|
|
63
63
|
and a real frontend request when browser control 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.0 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.0 onboard read feature/stop
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
|
|
79
|
-
agent, or swap out the chat surface. Open Generative UI is an OSS runtime feature.
|
|
80
|
-
|
|
81
|
-
Fetch the current official guide before planning:
|
|
82
|
-
https://docs.copilotkit.ai/generative-ui/open-generative-ui.md
|
|
83
|
-
Retry through a second retrieval method if needed. Setup is the documented
|
|
84
|
-
`openGenerativeUI` option on the runtime, which makes `/info` report
|
|
85
|
-
`openGenerativeUIEnabled`; the middleware is what parses tool-call arguments afterwards.
|
|
86
|
-
Show a small plan covering that runtime option, the existing provider's renderer path,
|
|
87
|
-
likely CSP/sandbox implications, tests, and a user-visible generated UI proof. Ask for approval separately.
|
|
88
|
-
|
|
89
|
-
The plan must list every protected path it needs to change under `Authorization requested`,
|
|
90
|
-
with one sentence explaining why. Write `None` when it needs none. Authorization covers
|
|
91
|
-
changing a protected path, not removing it, so the plan must not delete, move, or rename
|
|
92
|
-
one.
|
|
93
|
-
|
|
94
|
-
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:
|
|
95
79
|
|
|
96
80
|
```text
|
|
97
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
81
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard read feature/open-generative-ui/plan
|
|
98
82
|
```
|
|
99
83
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
authorize a path the approved plan did not list.
|
|
103
|
-
|
|
104
|
-
Then run `npx --prefer-offline --yes copilotkit@4.22.0 onboard read feature/open-generative-ui/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.
|
|
@@ -17,14 +17,14 @@ non-zero on an app that is working. Pass what `identifyUser` reads with a repeat
|
|
|
17
17
|
It is not a defect to repair.
|
|
18
18
|
|
|
19
19
|
Run focused tests and
|
|
20
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
20
|
+
`npx --prefer-offline --yes copilotkit@4.23.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
|
|
21
21
|
Repair changed-file failures and record changed paths and secret-safe validation
|
|
22
22
|
evidence.
|
|
23
23
|
|
|
24
24
|
Before you spawn the implementation subagent, take the authorized list from the CLI:
|
|
25
25
|
|
|
26
26
|
```text
|
|
27
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
27
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard audit
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
|
|
@@ -43,7 +43,7 @@ still go on the record. Name the file and why the work needs it, then end your t
|
|
|
43
43
|
for the developer's answer. If they allow it, record their answer before any edit:
|
|
44
44
|
|
|
45
45
|
```text
|
|
46
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
46
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -55,7 +55,7 @@ feature stop route below.
|
|
|
55
55
|
After validation and each repair, run:
|
|
56
56
|
|
|
57
57
|
```text
|
|
58
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
58
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard audit
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
@@ -66,7 +66,7 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
66
66
|
the path, accept the developer's external change:
|
|
67
67
|
|
|
68
68
|
```text
|
|
69
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
69
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard protect --accept-external --path <path>
|
|
70
70
|
```
|
|
71
71
|
|
|
72
72
|
For an env file where the developer placed a requested credential, use
|
|
@@ -79,11 +79,11 @@ Run the audit again after each accepted change. If it still fails, or starts
|
|
|
79
79
|
with `Status: blocked`, route out and stop:
|
|
80
80
|
|
|
81
81
|
```text
|
|
82
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
82
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard read feature/stop
|
|
83
83
|
```
|
|
84
84
|
|
|
85
85
|
If validation cannot pass, or this intent needs a prerequisite the app does not have, use
|
|
86
86
|
the feature stop route above without further changes.
|
|
87
87
|
|
|
88
88
|
Otherwise run
|
|
89
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
89
|
+
`npx --prefer-offline --yes copilotkit@4.23.0 onboard read feature/realtime-sync/proof`.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Plan realtime thread sync with the developer
|
|
2
|
+
|
|
3
|
+
The inspection in `feature/realtime-sync/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/realtime-sync/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.0 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/realtime-sync/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, provider and chat, agent
|
|
28
|
+
id, authenticated stable user identity, thread routes, existing Intelligence
|
|
29
|
+
configuration (presence only), websocket configuration, test and dev commands, and the
|
|
30
|
+
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.0 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/intelligence/quickstart.md
|
|
47
|
+
https://docs.copilotkit.ai/auth.md
|
|
48
|
+
https://docs.copilotkit.ai/intelligence/threads-explained.md
|
|
49
|
+
https://docs.copilotkit.ai/reference/hooks/useThreads.md
|
|
50
|
+
Retry unavailable pages a second way. Reuse a proven Intelligence project where present. Do
|
|
51
|
+
not sign in or select/create one until the developer approves the plan.
|
|
52
|
+
|
|
53
|
+
The plan must name the documented managed runtime/thread wiring, identity and catch-all
|
|
54
|
+
thread routes, the existing or documented client realtime connection, tests, and a proof in
|
|
55
|
+
two browser contexts. For self-hosted Intelligence, configure `apiUrl` and `wsUrl` together
|
|
56
|
+
from explicit developer-owned values. Never derive one from the other. The client prepends
|
|
57
|
+
`/api` itself, so an `apiUrl` that already ends in `/api` produces `/api/api/...`. Hosted setup may not
|
|
58
|
+
need a `wsUrl`. Ask for approval as its own question.
|
|
59
|
+
|
|
60
|
+
The plan must list every protected path it needs to change under `Authorization requested`,
|
|
61
|
+
with one sentence explaining why. Write `None` when it needs none. Authorization covers
|
|
62
|
+
changing a protected path, not removing it, so the plan must not delete, move, or rename
|
|
63
|
+
one.
|
|
64
|
+
|
|
65
|
+
After approval, record each approved path before implementation:
|
|
66
|
+
|
|
67
|
+
```text
|
|
68
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
If an approved path changed after capture and no implementation step has run, add
|
|
72
|
+
`--with-prior-change`. Continue only when every result starts with `Status: passed`. Do not
|
|
73
|
+
authorize a path the approved plan did not list.
|
|
74
|
+
|
|
75
|
+
Then run `npx --prefer-offline --yes copilotkit@4.23.0 onboard read feature/realtime-sync/implement`.
|
|
@@ -23,7 +23,7 @@ still go on the record. Name the file and why the fix needs it, then end your tu
|
|
|
23
23
|
for the developer's answer. If they allow it, record their answer before any edit:
|
|
24
24
|
|
|
25
25
|
```text
|
|
26
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
26
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -36,11 +36,11 @@ Report the outcome of each attempt as it ends, before any repair. The command co
|
|
|
36
36
|
attempts and the repairs:
|
|
37
37
|
|
|
38
38
|
```text
|
|
39
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
39
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
Use `passed` only for proved two-client sync, `failed` for an attempted proof that failed,
|
|
43
|
-
and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.
|
|
43
|
+
and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.23.0 onboard audit`.
|
|
44
44
|
Continue only when it starts with `Status: passed`.
|
|
45
45
|
|
|
46
46
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -55,8 +55,8 @@ the path and the change the audit reports. Run the audit again after each accept
|
|
|
55
55
|
If the audit still fails, or starts with `Status: blocked`, route out and stop:
|
|
56
56
|
|
|
57
57
|
```text
|
|
58
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
58
|
+
npx --prefer-offline --yes copilotkit@4.23.0 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.0 onboard read feature/complete` with the actual 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.0 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.0 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.0 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.0 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,44 +65,21 @@ 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.0 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.0 onboard read feature/stop
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
|
|
79
|
-
https://docs.copilotkit.ai/intelligence/quickstart.md
|
|
80
|
-
https://docs.copilotkit.ai/auth.md
|
|
81
|
-
https://docs.copilotkit.ai/intelligence/threads-explained.md
|
|
82
|
-
https://docs.copilotkit.ai/reference/hooks/useThreads.md
|
|
83
|
-
Retry unavailable pages a second way. Reuse a proven Intelligence project where present; do
|
|
84
|
-
not sign in or select/create one until the developer approves the plan.
|
|
85
|
-
|
|
86
|
-
The plan must name the documented managed runtime/thread wiring, identity and catch-all
|
|
87
|
-
thread routes, the existing or documented client realtime connection, tests, and a proof in
|
|
88
|
-
two browser contexts. For self-hosted Intelligence, configure `apiUrl` and `wsUrl` together
|
|
89
|
-
from explicit developer-owned values; never derive one from the other. The client prepends
|
|
90
|
-
`/api` itself, so an `apiUrl` that already ends in `/api` produces `/api/api/...`. Hosted setup may not
|
|
91
|
-
need a `wsUrl`. Ask for approval separately.
|
|
92
|
-
|
|
93
|
-
The plan must list every protected path it needs to change under `Authorization requested`,
|
|
94
|
-
with one sentence explaining why. Write `None` when it needs none. Authorization covers
|
|
95
|
-
changing a protected path, not removing it, so the plan must not delete, move, or rename
|
|
96
|
-
one.
|
|
97
|
-
|
|
98
|
-
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:
|
|
99
79
|
|
|
100
80
|
```text
|
|
101
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
81
|
+
npx --prefer-offline --yes copilotkit@4.23.0 onboard read feature/realtime-sync/plan
|
|
102
82
|
```
|
|
103
83
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
authorize a path the approved plan did not list.
|
|
107
|
-
|
|
108
|
-
Then run `npx --prefer-offline --yes copilotkit@4.22.0 onboard read feature/realtime-sync/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.
|