copilotkit 4.9.47 → 4.9.60
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 +179 -9
- package/cli-build-info.json +8 -8
- package/index.js +13012 -8898
- package/onboarding/index.json +162 -1
- package/onboarding/prompts/authenticate/start.md +41 -14
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +54 -13
- package/onboarding/prompts/credentials/plan.md +20 -20
- package/onboarding/prompts/fallback/best-effort.md +6 -6
- package/onboarding/prompts/feature/a2ui/implement.md +32 -0
- package/onboarding/prompts/feature/a2ui/proof.md +34 -0
- package/onboarding/prompts/feature/a2ui/start.md +55 -0
- package/onboarding/prompts/feature/chat-suggestions/implement.md +28 -0
- package/onboarding/prompts/feature/chat-suggestions/proof.md +26 -0
- package/onboarding/prompts/feature/chat-suggestions/start.md +46 -0
- package/onboarding/prompts/feature/learning/implement.md +106 -0
- package/onboarding/prompts/feature/learning/proof.md +45 -0
- package/onboarding/prompts/feature/learning/start.md +56 -0
- package/onboarding/prompts/feature/open-generative-ui/implement.md +28 -0
- package/onboarding/prompts/feature/open-generative-ui/proof.md +27 -0
- package/onboarding/prompts/feature/open-generative-ui/start.md +47 -0
- package/onboarding/prompts/feature/realtime-sync/implement.md +38 -0
- package/onboarding/prompts/feature/realtime-sync/proof.md +28 -0
- package/onboarding/prompts/feature/realtime-sync/start.md +50 -0
- package/onboarding/prompts/feature/rich-threads/implement.md +41 -0
- package/onboarding/prompts/feature/rich-threads/proof.md +27 -0
- package/onboarding/prompts/feature/rich-threads/start.md +52 -0
- package/onboarding/prompts/feature/stop.md +41 -0
- package/onboarding/prompts/feature/voice/implement.md +28 -0
- package/onboarding/prompts/feature/voice/proof.md +27 -0
- package/onboarding/prompts/feature/voice/start.md +45 -0
- package/onboarding/prompts/framework/ag2.md +2 -2
- package/onboarding/prompts/framework/agno.md +2 -2
- package/onboarding/prompts/framework/built-in.md +2 -2
- package/onboarding/prompts/framework/claude-sdk-python.md +2 -2
- package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
- package/onboarding/prompts/framework/crewai-flows.md +2 -2
- package/onboarding/prompts/framework/deep-agents.md +2 -2
- package/onboarding/prompts/framework/google-adk.md +2 -2
- package/onboarding/prompts/framework/langgraph-fastapi.md +2 -2
- package/onboarding/prompts/framework/langgraph-python.md +2 -2
- package/onboarding/prompts/framework/langgraph-typescript.md +2 -2
- package/onboarding/prompts/framework/llamaindex.md +2 -2
- package/onboarding/prompts/framework/mastra.md +2 -2
- package/onboarding/prompts/framework/ms-agent-dotnet.md +2 -2
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +2 -2
- package/onboarding/prompts/framework/ms-agent-python.md +2 -2
- package/onboarding/prompts/framework/pydantic-ai.md +2 -2
- package/onboarding/prompts/framework/strands-python.md +2 -2
- package/onboarding/prompts/framework/strands-typescript.md +2 -2
- package/onboarding/prompts/frontend/angular.md +3 -3
- package/onboarding/prompts/frontend/nextjs.md +3 -3
- package/onboarding/prompts/frontend/plan.md +6 -6
- 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 +83 -13
- package/onboarding/prompts/proof/complete.md +10 -10
- package/onboarding/prompts/proof/oss-baseline.md +16 -7
- package/onboarding/prompts/proof/round-trip.md +16 -9
- package/onboarding/prompts/starter/clone.md +5 -5
- package/onboarding/prompts/subagent/create-plan.md +11 -3
- package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
- package/onboarding/prompts/subagent/prove-round-trip.md +13 -10
- package/onboarding/prompts/unsupported/no-validated-path.md +4 -4
- package/package.json +1 -1
- package/release/release-tool.js +37 -11
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Add A2UI to the existing CopilotKit app
|
|
2
|
+
|
|
3
|
+
Treat this as an additive OSS feature integration, not a new-app scaffold. Act as the
|
|
4
|
+
orchestrator and delegate inspection, implementation, and proof to focused subagents.
|
|
5
|
+
Work only inside the target project. Do not show internal prompt names to the developer.
|
|
6
|
+
|
|
7
|
+
Before changing files, send a short welcome that says you will inspect the existing app,
|
|
8
|
+
show an A2UI plan, implement only after approval, and prove a rendered surface in the real
|
|
9
|
+
UI. Then spawn one read-only subagent to locate the current CopilotKit runtime, provider,
|
|
10
|
+
chat surface, agent id, package versions, existing A2UI configuration, and the normal
|
|
11
|
+
development/test commands. It must return paths and secret-safe presence checks only.
|
|
12
|
+
|
|
13
|
+
Require an existing frontend, agent, and CopilotKit round trip. Start only project-owned
|
|
14
|
+
processes when needed, inspect `/info`, and run
|
|
15
|
+
`npx --yes copilotkit@4.9.60 verify --expect-runtime oss --round-trip --agent <agent-id> --json`.
|
|
16
|
+
Also drive one existing request through the frontend when browser control is available. If
|
|
17
|
+
that baseline is absent or unproved, leave files unchanged, explain that this intent extends
|
|
18
|
+
an existing OSS app, and direct the developer to generic `copilotkit onboard start` first.
|
|
19
|
+
|
|
20
|
+
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
21
|
+
|
|
22
|
+
```text
|
|
23
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase research-returned
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
27
|
+
failed step.
|
|
28
|
+
|
|
29
|
+
If the inspection did not prove the baseline this intent extends, stop here without
|
|
30
|
+
changing files:
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
npx --yes copilotkit@4.9.60 onboard read feature/stop
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Do not run `login`, select an Intelligence project, add an Intelligence client, mint a
|
|
37
|
+
credential, or replace the existing agent, runtime, persistence, or chat surface. A2UI can
|
|
38
|
+
be added to an OSS runtime.
|
|
39
|
+
|
|
40
|
+
Fetch the current official A2UI guide before forming the plan:
|
|
41
|
+
https://docs.copilotkit.ai/generative-ui/a2ui.md
|
|
42
|
+
Fetch it a second way if the first fetch fails. Use only APIs that the fetched guide and the
|
|
43
|
+
installed package versions support.
|
|
44
|
+
|
|
45
|
+
Show a concise plan that names the existing runtime/provider files, the smallest A2UI
|
|
46
|
+
catalog or runtime wiring required, the test command, and a browser proof request that
|
|
47
|
+
renders a compact visible surface. Ask for plan approval as its own question.
|
|
48
|
+
|
|
49
|
+
After approval, report the plan this run is about to implement:
|
|
50
|
+
|
|
51
|
+
```text
|
|
52
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase plan-written
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Then run `npx --yes copilotkit@4.9.60 onboard read feature/a2ui/implement`.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Implement chat suggestions at the existing provider boundary
|
|
2
|
+
|
|
3
|
+
Delegate implementation to one subagent with the approved mode and the official hook guide.
|
|
4
|
+
Configure `useConfigureSuggestions` at the existing CopilotKit provider/chat surface using
|
|
5
|
+
only documented APIs for the installed version. Preserve the agent, runtime route, existing
|
|
6
|
+
message behavior, and current empty/welcome state.
|
|
7
|
+
|
|
8
|
+
For static mode, choose concise, domain-appropriate prompts supported by the existing agent;
|
|
9
|
+
do not invent unsupported product actions. For dynamic mode, use the project's actual
|
|
10
|
+
available context and retain a safe empty state. Do not add Intelligence, credentials, or a
|
|
11
|
+
standalone mock UI.
|
|
12
|
+
|
|
13
|
+
Run focused type/test checks and start the app. Record the changed files and validation.
|
|
14
|
+
When implementation validation passes, report it:
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase build-validated
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
If validation cannot pass, or this intent needs a prerequisite the app does not have, stop
|
|
21
|
+
without further changes:
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
npx --yes copilotkit@4.9.60 onboard read feature/stop
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Otherwise run
|
|
28
|
+
`npx --yes copilotkit@4.9.60 onboard read feature/chat-suggestions/proof`.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Prove a suggestion appears and sends the intended chat message
|
|
2
|
+
|
|
3
|
+
Delegate proof to a fresh subagent. In the real frontend, reach the configured availability
|
|
4
|
+
state, confirm that the suggestion controls are visible and legible, click one, and require
|
|
5
|
+
the exact configured prompt to travel through the existing CopilotKit runtime to the agent.
|
|
6
|
+
Record the visible suggestion, input sent, response, app URL, and process IDs.
|
|
7
|
+
|
|
8
|
+
Do not count a static DOM assertion, a hook return value, or a locally rendered pill as
|
|
9
|
+
proof. If the changed files caused a failure, repair it and repeat the interaction. Keep
|
|
10
|
+
project-owned services running.
|
|
11
|
+
|
|
12
|
+
Report each attempt at the proof as it ends, counting from one:
|
|
13
|
+
|
|
14
|
+
```text
|
|
15
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase journey-attempted --attempt 1
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Report each repair cycle the same way, counting from one:
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase repair-attempted --attempt 1
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Run
|
|
25
|
+
`npx --yes copilotkit@4.9.60 onboard complete --visual-check <performed|skipped-no-browser-tool|failed>`
|
|
26
|
+
with the real browser-proof outcome.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Add chat suggestions to the existing CopilotKit app
|
|
2
|
+
|
|
3
|
+
Treat this as an additive OSS chat-surface feature. Delegate repository inspection,
|
|
4
|
+
implementation, and proof to separate subagents and keep all work inside the target project.
|
|
5
|
+
|
|
6
|
+
Before edits, identify the current CopilotKit provider, chat component, message lifecycle,
|
|
7
|
+
agent id, package version, and test/dev commands. Prove the existing OSS round trip with
|
|
8
|
+
`/info`, `npx --yes copilotkit@4.9.60 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
|
|
9
|
+
and one real frontend request when browser control is available. If there is no proven
|
|
10
|
+
existing CopilotKit chat, leave files unchanged and direct the developer to generic
|
|
11
|
+
onboarding first.
|
|
12
|
+
|
|
13
|
+
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase research-returned
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
20
|
+
failed step.
|
|
21
|
+
|
|
22
|
+
If the inspection did not prove the baseline this intent extends, stop here without
|
|
23
|
+
changing files:
|
|
24
|
+
|
|
25
|
+
```text
|
|
26
|
+
npx --yes copilotkit@4.9.60 onboard read feature/stop
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Do not run login, provision Intelligence, request a credential, replace the agent, or alter
|
|
30
|
+
the existing runtime/persistence. Fetch the official hook guide before planning:
|
|
31
|
+
https://docs.copilotkit.ai/reference/hooks/useConfigureSuggestions.md
|
|
32
|
+
Use a second retrieval method if the first fails.
|
|
33
|
+
|
|
34
|
+
Determine static versus dynamic suggestions from the repository. If the repository does not
|
|
35
|
+
answer it, ask one short question only: recommend static suggestions for a predictable
|
|
36
|
+
first-message experience, or offer dynamic suggestions when the developer needs
|
|
37
|
+
context-dependent follow-ups. Show an approved-plan-sized diff, a focused test, and a proof
|
|
38
|
+
that a visible suggestion submits the intended message.
|
|
39
|
+
|
|
40
|
+
After approval, report the plan this run is about to implement:
|
|
41
|
+
|
|
42
|
+
```text
|
|
43
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase plan-written
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Then run `npx --yes copilotkit@4.9.60 onboard read feature/chat-suggestions/implement`.
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Implement Learning Container assignment without inventing a container
|
|
2
|
+
|
|
3
|
+
Delegate implementation to one subagent with the approved plan and official guides. Reuse a
|
|
4
|
+
valid existing Intelligence selection. If it is absent, use the documented streaming
|
|
5
|
+
`login --json` session, let the developer select or create the Intelligence project, and
|
|
6
|
+
require the secret-safe project/key provisioning summary before wiring the runtime.
|
|
7
|
+
|
|
8
|
+
After the project is selected, settle the container from the terminal.
|
|
9
|
+
|
|
10
|
+
When the plan or the repository already names an id, ask about that one id and nothing else:
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
npx --yes copilotkit@4.9.60 learning containers get <id> --json
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
One call answers it, and no list is needed.
|
|
17
|
+
|
|
18
|
+
When no id is in hand, survey what the project holds:
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
npx --yes copilotkit@4.9.60 learning containers list --json
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
One call returns at most 500 containers. When `nextCursor` in the result is not null, read
|
|
25
|
+
the next page with `--cursor <nextCursor>` and keep going until it is null. A project whose
|
|
26
|
+
container sits on the second page looks empty to a single call, and the run then adds a
|
|
27
|
+
second container for work the first one already covers.
|
|
28
|
+
|
|
29
|
+
Report what the read found before asking anyone anything:
|
|
30
|
+
|
|
31
|
+
```text
|
|
32
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase container-surveyed
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Everything after this waits on a person, so a run that stops past this point stopped on a
|
|
36
|
+
decision rather than on a read.
|
|
37
|
+
|
|
38
|
+
Reuse an existing container when one covers the workflow this run is instrumenting, and ask
|
|
39
|
+
the developer which one when more than one could. Otherwise create one.
|
|
40
|
+
|
|
41
|
+
Default to one container for this project, and name it after the project. Learning needs
|
|
42
|
+
evidence to work with: the first automatic run wants threads from 15 distinct conversations
|
|
43
|
+
in one container, so splitting a new project across several leaves every one of them below
|
|
44
|
+
the line. One container per end user is the same trap and a harder one, because a project
|
|
45
|
+
holds at most 500 and each user's own container then needs 15 conversations from that one
|
|
46
|
+
person. Route per user only when the developer asks for it, and do it in their selector
|
|
47
|
+
rather than in more containers: `getLearningContainerId` receives the resolved application
|
|
48
|
+
user, so the callback can return a different id per tier or per customer.
|
|
49
|
+
|
|
50
|
+
Use a descriptive lowercase hyphenated id of 1-64 characters:
|
|
51
|
+
|
|
52
|
+
```text
|
|
53
|
+
npx --yes copilotkit@4.9.60 learning containers create --id <id> --name <name> --json
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
An id already in use answers `LEARNING_CONTAINER_ALREADY_EXISTS`. That is a container to
|
|
57
|
+
read with `get` and reuse, not a failure to repair and not a reason to pick a new id.
|
|
58
|
+
|
|
59
|
+
Confirm the id resolves before any file changes, whichever way it was settled. That check is
|
|
60
|
+
the cheap one to keep: a selector wired to an id the platform does not hold returns
|
|
61
|
+
`LEARNING_CONTAINER_NOT_FOUND` on every thread create and every run lock, so a working chat
|
|
62
|
+
breaks on the next message. Stop here if the id does not resolve. Do not write a placeholder
|
|
63
|
+
or a guessed id.
|
|
64
|
+
|
|
65
|
+
Then report that the container is settled, before any edit:
|
|
66
|
+
|
|
67
|
+
```text
|
|
68
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase container-settled
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Everything above happens between two prompts, so a run that stopped on a developer who could
|
|
72
|
+
not choose, on a taken id, or on an id that never resolved would otherwise report the plan
|
|
73
|
+
and then nothing at all.
|
|
74
|
+
|
|
75
|
+
Add only the documented managed runtime/thread prerequisites and the selected
|
|
76
|
+
`getLearningContainerId` on the `CopilotKitIntelligence` instance. Return the same stable
|
|
77
|
+
1-64 character id for the same thread every time: a thread cannot move after its first
|
|
78
|
+
assignment, and a thread whose agent already ran cannot receive its first assignment
|
|
79
|
+
later. Preserve the existing agent, identity, thread behavior,
|
|
80
|
+
and persistence.
|
|
81
|
+
|
|
82
|
+
An Intelligence runtime requires `identifyUser`, and it usually reads a signed-in session
|
|
83
|
+
that a CLI request does not carry. That makes the round trip UNKNOWN and the command exit
|
|
84
|
+
non-zero on an app that is working. Pass what `identifyUser` reads with a repeatable
|
|
85
|
+
`--header "Name: value"`, or record UNKNOWN as the expected result for an auth-gated app.
|
|
86
|
+
It is not a defect to repair.
|
|
87
|
+
|
|
88
|
+
Run focused tests and
|
|
89
|
+
`npx --yes copilotkit@4.9.60 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
|
|
90
|
+
Repair changed-file failures and record secret-safe evidence.
|
|
91
|
+
|
|
92
|
+
When implementation validation passes, report it:
|
|
93
|
+
|
|
94
|
+
```text
|
|
95
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase build-validated
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
If validation cannot pass, or this intent needs a prerequisite the app does not have, stop
|
|
99
|
+
without further changes:
|
|
100
|
+
|
|
101
|
+
```text
|
|
102
|
+
npx --yes copilotkit@4.9.60 onboard read feature/stop
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Otherwise run
|
|
106
|
+
`npx --yes copilotkit@4.9.60 onboard read feature/learning/proof`.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Prove a real run is assigned to the selected Learning Container
|
|
2
|
+
|
|
3
|
+
Delegate proof to a fresh subagent. In the real authenticated app, create or use a thread,
|
|
4
|
+
send a normal agent request, and confirm the resulting run reached the selected Learning
|
|
5
|
+
Container. Confirm the thread remains associated with the expected user.
|
|
6
|
+
|
|
7
|
+
One command decides it:
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
npx --yes copilotkit@4.9.60 verify --expect-runtime intelligence --round-trip --agent <agent-id> --expect-learning-container <id> --json
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
It reads the thread back from the platform, so it answers for any runtime mount, and it
|
|
14
|
+
passes only when that thread carries the container this run selected.
|
|
15
|
+
|
|
16
|
+
Two other signals look like proof and are not. `features.self_learning` is a plan
|
|
17
|
+
entitlement and is already true before any wiring. The `/info` response reports Learning
|
|
18
|
+
from the presence of a callback, not from a single assigned thread. Never report either one
|
|
19
|
+
as evidence.
|
|
20
|
+
|
|
21
|
+
Do not claim that Insights or Skills are already available: those depend on completed runs
|
|
22
|
+
and later learning processing. Record only the assignment visible now, the request, app URL,
|
|
23
|
+
process IDs, and safe stop commands. Repair changed-file defects and repeat.
|
|
24
|
+
|
|
25
|
+
Tell the developer what happens next, because a correct run looks like a broken one
|
|
26
|
+
otherwise. Learning runs on its own: the first automatic run needs new threads from 15
|
|
27
|
+
distinct conversations in this container, and only the newest snapshot of each thread
|
|
28
|
+
counts. Threads that already ran before this change are never pulled in, because a thread
|
|
29
|
+
takes its container before its first agent run. So the container starts empty on purpose.
|
|
30
|
+
|
|
31
|
+
Report each attempt at the proof as it ends, counting from one:
|
|
32
|
+
|
|
33
|
+
```text
|
|
34
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase journey-attempted --attempt 1
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Report each repair cycle the same way, counting from one:
|
|
38
|
+
|
|
39
|
+
```text
|
|
40
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase repair-attempted --attempt 1
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Run
|
|
44
|
+
`npx --yes copilotkit@4.9.60 onboard complete --visual-check <performed|skipped-no-browser-tool|failed>`
|
|
45
|
+
with the actual surface outcome.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Add Learning to the existing CopilotKit app
|
|
2
|
+
|
|
3
|
+
Treat Learning as a managed Intelligence feature that assigns real threads to a chosen
|
|
4
|
+
Learning Container. Orchestrate with separate read-only, implementation, and proof
|
|
5
|
+
subagents. Work only inside the target project and preserve its existing agent and chat.
|
|
6
|
+
|
|
7
|
+
Before edits, inspect the runtime, agent id, provider/chat, server-side user identity,
|
|
8
|
+
existing Intelligence configuration (presence only), existing thread routes, and the normal
|
|
9
|
+
test/dev commands. Prove the current round trip and inspect `/info`. If the project does not
|
|
10
|
+
already have a CopilotKit app, leave it unchanged and direct the developer to generic
|
|
11
|
+
onboarding.
|
|
12
|
+
|
|
13
|
+
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase research-returned
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
20
|
+
failed step.
|
|
21
|
+
|
|
22
|
+
If the inspection did not prove the baseline this intent extends, stop here without
|
|
23
|
+
changing files:
|
|
24
|
+
|
|
25
|
+
```text
|
|
26
|
+
npx --yes copilotkit@4.9.60 onboard read feature/stop
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Fetch the current official guides before planning:
|
|
30
|
+
https://docs.copilotkit.ai/learning.md
|
|
31
|
+
https://docs.copilotkit.ai/backend/copilot-runtime.md
|
|
32
|
+
https://docs.copilotkit.ai/intelligence/connect-your-runtime.md
|
|
33
|
+
https://docs.copilotkit.ai/threads.md
|
|
34
|
+
Use a second retrieval method if needed.
|
|
35
|
+
|
|
36
|
+
The CLI owns the container. `copilotkit learning containers list --json` reads the ones this
|
|
37
|
+
project already has, and `copilotkit learning containers create --id <id> --name <name>
|
|
38
|
+
--json` makes one. So there is no dashboard step and no reason to guess: never invent an id,
|
|
39
|
+
scrape a dashboard, or treat an arbitrary string as a container.
|
|
40
|
+
|
|
41
|
+
Read the "Assign Threads to Learning Containers" section of that page. The container is
|
|
42
|
+
chosen by `getLearningContainerId` on the `CopilotKitIntelligence` instance, which the
|
|
43
|
+
same page documents; it receives the resolved application user and the run input, and it
|
|
44
|
+
serves web and Channel runs through one API.
|
|
45
|
+
|
|
46
|
+
Show a concise plan for managed runtime/thread prerequisites, a stable selected container,
|
|
47
|
+
the documented `getLearningContainerId` selector, validation, and a visible assignment
|
|
48
|
+
proof. Ask for approval separately.
|
|
49
|
+
|
|
50
|
+
After approval, report the plan this run is about to implement:
|
|
51
|
+
|
|
52
|
+
```text
|
|
53
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase plan-written
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Then run `npx --yes copilotkit@4.9.60 onboard read feature/learning/implement`.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Implement Open Generative UI with the existing chat surface
|
|
2
|
+
|
|
3
|
+
Delegate implementation to one subagent with the approved plan and the fetched official
|
|
4
|
+
guide. Add only the documented Open Generative UI runtime middleware and any documented
|
|
5
|
+
provider wiring the current package versions require. Preserve the existing agent, runtime
|
|
6
|
+
route, persistence, chat surface, and model setup.
|
|
7
|
+
|
|
8
|
+
Do not introduce Intelligence, a license key, a replacement agent, bespoke iframe HTML, or
|
|
9
|
+
an "unknown tool" placeholder as the success path. Keep sandboxing and existing CSP rules
|
|
10
|
+
intact unless the official guide and observed failure require a minimal documented change.
|
|
11
|
+
|
|
12
|
+
Run the project's focused validation commands. Start the app and confirm `/info` reports
|
|
13
|
+
`openGenerativeUIEnabled`, while treating that only as capability evidence. Record changed paths and
|
|
14
|
+
validation results without secrets. When implementation validation passes, report it:
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase build-validated
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
If validation cannot pass, or this intent needs a prerequisite the app does not have, stop
|
|
21
|
+
without further changes:
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
npx --yes copilotkit@4.9.60 onboard read feature/stop
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Otherwise run
|
|
28
|
+
`npx --yes copilotkit@4.9.60 onboard read feature/open-generative-ui/proof`.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Prove a generated UI renders safely in the real chat
|
|
2
|
+
|
|
3
|
+
Delegate proof to a fresh subagent. Use the existing frontend and agent to request a small,
|
|
4
|
+
benign interactive UI such as a greeting card. Require the resulting sandboxed generated UI
|
|
5
|
+
or iframe to render in the conversation and respond to its intended interaction. A capability
|
|
6
|
+
flag, tool-call stream, or "Unknown Tool" fallback is not proof.
|
|
7
|
+
|
|
8
|
+
Record the request, visible result, app URL, process IDs, and safe stop commands. Keep
|
|
9
|
+
project-owned services running. Repair a failure caused by changed files and prove again;
|
|
10
|
+
do not replace the output with a hard-coded component. If browser control is absent, report
|
|
11
|
+
the missing visual proof honestly.
|
|
12
|
+
|
|
13
|
+
Report each attempt at the proof as it ends, counting from one:
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase journey-attempted --attempt 1
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Report each repair cycle the same way, counting from one:
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase repair-attempted --attempt 1
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Then run
|
|
26
|
+
`npx --yes copilotkit@4.9.60 onboard complete --visual-check <performed|skipped-no-browser-tool|failed>`
|
|
27
|
+
with the outcome actually observed.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Add Open Generative UI to the existing CopilotKit app
|
|
2
|
+
|
|
3
|
+
Treat this as a focused OSS enhancement. Orchestrate the work with separate read-only,
|
|
4
|
+
implementation, and proof subagents, all restricted to the target project directory.
|
|
5
|
+
|
|
6
|
+
Before edits, have a research subagent identify the current CopilotKit runtime route,
|
|
7
|
+
provider/chat component, agent id, package versions, existing middleware, sandbox/CSP
|
|
8
|
+
constraints, and normal test/dev commands. Prove the existing app first with `/info`,
|
|
9
|
+
`npx --yes copilotkit@4.9.60 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
|
|
10
|
+
and a real frontend request when browser control is available. If the app is not an existing
|
|
11
|
+
OSS CopilotKit app with a proven round trip, change nothing and direct the developer to the
|
|
12
|
+
generic onboarding path first.
|
|
13
|
+
|
|
14
|
+
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase research-returned
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
21
|
+
failed step.
|
|
22
|
+
|
|
23
|
+
If the inspection did not prove the baseline this intent extends, stop here without
|
|
24
|
+
changing files:
|
|
25
|
+
|
|
26
|
+
```text
|
|
27
|
+
npx --yes copilotkit@4.9.60 onboard read feature/stop
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Do not sign in, select an Intelligence project, create credentials, change the existing
|
|
31
|
+
agent, or swap out the chat surface. Open Generative UI is an OSS runtime feature.
|
|
32
|
+
|
|
33
|
+
Fetch the current official guide before planning:
|
|
34
|
+
https://docs.copilotkit.ai/generative-ui/open-generative-ui.md
|
|
35
|
+
Retry through a second retrieval method if needed. Setup is the documented
|
|
36
|
+
`openGenerativeUI` option on the runtime, which makes `/info` report
|
|
37
|
+
`openGenerativeUIEnabled`; the middleware is what parses tool-call arguments afterwards.
|
|
38
|
+
Show a small plan covering that runtime option, the existing provider's renderer path,
|
|
39
|
+
likely CSP/sandbox implications, tests, and a user-visible generated UI proof. Ask for approval separately.
|
|
40
|
+
|
|
41
|
+
After approval, report the plan this run is about to implement:
|
|
42
|
+
|
|
43
|
+
```text
|
|
44
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase plan-written
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Then run `npx --yes copilotkit@4.9.60 onboard read feature/open-generative-ui/implement`.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Implement managed realtime thread sync with documented endpoints
|
|
2
|
+
|
|
3
|
+
Delegate implementation to one subagent with the approved plan and fetched guides. If no
|
|
4
|
+
valid Intelligence selection exists, follow the single streaming `login --json` session,
|
|
5
|
+
let the developer select or create a project, and require the secret-safe selection summary
|
|
6
|
+
before wiring it. Reuse a valid selected project instead of creating another one.
|
|
7
|
+
|
|
8
|
+
Add only the documented Intelligence runtime, stable server-side `identifyUser`, catch-all
|
|
9
|
+
thread routes, and client realtime wiring. Preserve the existing agent, persistence, and
|
|
10
|
+
chat UI. For self-hosted setup, require explicit `apiUrl` and `wsUrl` together; do not infer
|
|
11
|
+
or rewrite either endpoint. For hosted setup, do not add a speculative URL.
|
|
12
|
+
|
|
13
|
+
An Intelligence runtime requires `identifyUser`, and it usually reads a signed-in session
|
|
14
|
+
that a CLI request does not carry. That makes the round trip UNKNOWN and the command exit
|
|
15
|
+
non-zero on an app that is working. Pass what `identifyUser` reads with a repeatable
|
|
16
|
+
`--header "Name: value"`, or record UNKNOWN as the expected result for an auth-gated app.
|
|
17
|
+
It is not a defect to repair.
|
|
18
|
+
|
|
19
|
+
Run focused tests and
|
|
20
|
+
`npx --yes copilotkit@4.9.60 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
|
|
21
|
+
Repair changed-file failures and record changed paths and secret-safe validation
|
|
22
|
+
evidence.
|
|
23
|
+
|
|
24
|
+
When implementation validation passes, report it:
|
|
25
|
+
|
|
26
|
+
```text
|
|
27
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase build-validated
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
If validation cannot pass, or this intent needs a prerequisite the app does not have, stop
|
|
31
|
+
without further changes:
|
|
32
|
+
|
|
33
|
+
```text
|
|
34
|
+
npx --yes copilotkit@4.9.60 onboard read feature/stop
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Otherwise run
|
|
38
|
+
`npx --yes copilotkit@4.9.60 onboard read feature/realtime-sync/proof`.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Prove realtime thread changes reach a second active client
|
|
2
|
+
|
|
3
|
+
Delegate proof to a fresh subagent. Open the same authenticated project/thread in two isolated
|
|
4
|
+
browser contexts. From context A, create or mutate a thread and send a message. Require
|
|
5
|
+
context B to receive the thread/message change without a manual reload. Then exercise a
|
|
6
|
+
second mutation in the reverse direction where the product supports it. Keep the managed
|
|
7
|
+
round-trip verification green.
|
|
8
|
+
|
|
9
|
+
Record both visible states, actions, timing, app URL, process IDs, and safe stop commands.
|
|
10
|
+
A successful WebSocket connection, a server event, or a refreshed second tab is not proof.
|
|
11
|
+
Repair changed-file defects and repeat. If the environment cannot drive two contexts, report
|
|
12
|
+
the missing proof rather than claiming realtime works.
|
|
13
|
+
|
|
14
|
+
Report each attempt at the proof as it ends, counting from one:
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase journey-attempted --attempt 1
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Report each repair cycle the same way, counting from one:
|
|
21
|
+
|
|
22
|
+
```text
|
|
23
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase repair-attempted --attempt 1
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Run
|
|
27
|
+
`npx --yes copilotkit@4.9.60 onboard complete --visual-check <performed|skipped-no-browser-tool|failed>`
|
|
28
|
+
with the actual outcome.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Add realtime thread sync to the existing CopilotKit app
|
|
2
|
+
|
|
3
|
+
Treat realtime sync as the Intelligence thread-realtime plane, not as a generic WebSocket
|
|
4
|
+
exercise. Act as the orchestrator and delegate read-only inspection, implementation, and
|
|
5
|
+
two-context proof to subagents within the target project.
|
|
6
|
+
|
|
7
|
+
Before edits, inspect the current runtime, provider/chat, agent id, authenticated stable user
|
|
8
|
+
identity, thread routes, existing Intelligence configuration (presence only), current websocket
|
|
9
|
+
configuration, and normal test/dev commands. Prove the current frontend-to-runtime-to-agent
|
|
10
|
+
round trip and inspect `/info`. If this is not an existing CopilotKit app, leave files
|
|
11
|
+
unchanged and direct the developer to generic onboarding first.
|
|
12
|
+
|
|
13
|
+
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase research-returned
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
20
|
+
failed step.
|
|
21
|
+
|
|
22
|
+
If the inspection did not prove the baseline this intent extends, stop here without
|
|
23
|
+
changing files:
|
|
24
|
+
|
|
25
|
+
```text
|
|
26
|
+
npx --yes copilotkit@4.9.60 onboard read feature/stop
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Fetch the current official guides before planning:
|
|
30
|
+
https://docs.copilotkit.ai/intelligence/connect-your-runtime.md
|
|
31
|
+
https://docs.copilotkit.ai/auth.md
|
|
32
|
+
https://docs.copilotkit.ai/intelligence/threads-explained.md
|
|
33
|
+
https://docs.copilotkit.ai/reference/hooks/useThreads.md
|
|
34
|
+
Retry unavailable pages a second way. Reuse a proven Intelligence project where present; do
|
|
35
|
+
not sign in or select/create one until the developer approves the plan.
|
|
36
|
+
|
|
37
|
+
The plan must name the documented managed runtime/thread wiring, identity and catch-all
|
|
38
|
+
thread routes, the existing or documented client realtime connection, tests, and a proof in
|
|
39
|
+
two browser contexts. For self-hosted Intelligence, configure `apiUrl` and `wsUrl` together
|
|
40
|
+
from explicit developer-owned values; never derive one from the other. The client prepends
|
|
41
|
+
`/api` itself, so an `apiUrl` that already ends in `/api` produces `/api/api/...`. Hosted setup may not
|
|
42
|
+
need a `wsUrl`. Ask for approval separately.
|
|
43
|
+
|
|
44
|
+
After approval, report the plan this run is about to implement:
|
|
45
|
+
|
|
46
|
+
```text
|
|
47
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase plan-written
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Then run `npx --yes copilotkit@4.9.60 onboard read feature/realtime-sync/implement`.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Implement Rich Threads with a stable identity and managed runtime
|
|
2
|
+
|
|
3
|
+
Delegate implementation to one subagent with the approved plan and fetched official guides.
|
|
4
|
+
If repository evidence does not prove an existing valid Intelligence selection, run
|
|
5
|
+
`npx --yes copilotkit@4.9.60 login --json` and follow its single streaming session. Then
|
|
6
|
+
list projects, show the developer the current/recent choices, and select or create one only
|
|
7
|
+
after they choose. Require the secret-safe selection summary to confirm the project file,
|
|
8
|
+
environment file, and key provisioning; never display a key. If existing configuration is
|
|
9
|
+
valid, reuse it rather than minting another project or key.
|
|
10
|
+
|
|
11
|
+
Add only documented Intelligence runtime wiring, server-side `identifyUser`, and catch-all
|
|
12
|
+
thread routes. Use the existing authenticated user source; if no stable source exists, stop
|
|
13
|
+
and explain that it is a prerequisite. Preserve the agent, existing persistence, and chat
|
|
14
|
+
surface. Add the documented drawer only if the approved plan selected it.
|
|
15
|
+
|
|
16
|
+
An Intelligence runtime requires `identifyUser`, and it usually reads a signed-in session
|
|
17
|
+
that a CLI request does not carry. That makes the round trip UNKNOWN and the command exit
|
|
18
|
+
non-zero on an app that is working. Pass what `identifyUser` reads with a repeatable
|
|
19
|
+
`--header "Name: value"`, or record UNKNOWN as the expected result for an auth-gated app.
|
|
20
|
+
It is not a defect to repair.
|
|
21
|
+
|
|
22
|
+
Run focused type/test commands, then start the app and run
|
|
23
|
+
`npx --yes copilotkit@4.9.60 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
|
|
24
|
+
Repair changed-file failures before continuing. Record changed paths and secret-safe
|
|
25
|
+
validation evidence.
|
|
26
|
+
|
|
27
|
+
When implementation validation passes, report it:
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase build-validated
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
If validation cannot pass, or this intent needs a prerequisite the app does not have, stop
|
|
34
|
+
without further changes:
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
npx --yes copilotkit@4.9.60 onboard read feature/stop
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Otherwise run
|
|
41
|
+
`npx --yes copilotkit@4.9.60 onboard read feature/rich-threads/proof`.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Prove Rich Threads persist and reopen for the same user
|
|
2
|
+
|
|
3
|
+
Delegate proof to a fresh subagent. In the real authenticated frontend, create a conversation,
|
|
4
|
+
send a distinct message, confirm the response, reload or reopen the same thread, and require
|
|
5
|
+
the prior history to remain visible for that same stable user. Confirm the runtime exposes
|
|
6
|
+
the required thread routes and the Intelligence verification remains successful.
|
|
7
|
+
|
|
8
|
+
Record the interaction, visible persisted history, app URL, process IDs, and safe stop
|
|
9
|
+
commands. Do not count a thread id in a log, a successful API call, or an in-memory history
|
|
10
|
+
as proof. Repair defects caused by changed files and repeat. Keep project-owned servers
|
|
11
|
+
running.
|
|
12
|
+
|
|
13
|
+
Report each attempt at the proof as it ends, counting from one:
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase journey-attempted --attempt 1
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Report each repair cycle the same way, counting from one:
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
npx --yes copilotkit@4.9.60 onboard checkpoint --phase repair-attempted --attempt 1
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Then run
|
|
26
|
+
`npx --yes copilotkit@4.9.60 onboard complete --visual-check <performed|skipped-no-browser-tool|failed>`
|
|
27
|
+
with the actual browser outcome.
|