copilotkit 4.24.0 → 4.25.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 +75 -14
- package/cli-build-info.json +7 -7
- package/index.js +8544 -6674
- package/onboarding/index.json +2 -2
- package/onboarding/prompts/authenticate/start.md +50 -45
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +30 -8
- package/onboarding/prompts/credentials/plan.md +115 -49
- package/onboarding/prompts/credentials/settle-credentials.md +7 -5
- package/onboarding/prompts/credentials/write-plan.md +15 -15
- package/onboarding/prompts/deployment/choose-local.md +44 -7
- package/onboarding/prompts/deployment/local-evaluation.md +12 -6
- package/onboarding/prompts/fallback/best-effort.md +8 -8
- package/onboarding/prompts/feature/a2ui/implement.md +15 -8
- package/onboarding/prompts/feature/a2ui/plan.md +15 -7
- package/onboarding/prompts/feature/a2ui/proof.md +14 -7
- package/onboarding/prompts/feature/a2ui/start.md +15 -14
- package/onboarding/prompts/feature/channels/implement.md +21 -9
- package/onboarding/prompts/feature/channels/plan.md +15 -7
- package/onboarding/prompts/feature/channels/proof.md +14 -7
- package/onboarding/prompts/feature/channels/start.md +20 -13
- package/onboarding/prompts/feature/chat-suggestions/implement.md +15 -8
- package/onboarding/prompts/feature/chat-suggestions/plan.md +15 -7
- package/onboarding/prompts/feature/chat-suggestions/proof.md +14 -7
- package/onboarding/prompts/feature/chat-suggestions/start.md +15 -14
- package/onboarding/prompts/feature/complete.md +2 -2
- package/onboarding/prompts/feature/learning/implement.md +32 -18
- package/onboarding/prompts/feature/learning/plan.md +15 -7
- package/onboarding/prompts/feature/learning/proof.md +37 -13
- package/onboarding/prompts/feature/learning/start.md +15 -14
- package/onboarding/prompts/feature/open-generative-ui/implement.md +15 -8
- package/onboarding/prompts/feature/open-generative-ui/plan.md +15 -7
- package/onboarding/prompts/feature/open-generative-ui/proof.md +14 -7
- package/onboarding/prompts/feature/open-generative-ui/start.md +15 -14
- package/onboarding/prompts/feature/realtime-sync/implement.md +20 -12
- package/onboarding/prompts/feature/realtime-sync/plan.md +15 -7
- package/onboarding/prompts/feature/realtime-sync/proof.md +14 -7
- package/onboarding/prompts/feature/realtime-sync/start.md +14 -13
- package/onboarding/prompts/feature/rich-threads/implement.md +21 -13
- package/onboarding/prompts/feature/rich-threads/plan.md +15 -7
- package/onboarding/prompts/feature/rich-threads/proof.md +14 -7
- package/onboarding/prompts/feature/rich-threads/start.md +14 -13
- package/onboarding/prompts/feature/stop.md +9 -3
- package/onboarding/prompts/feature/voice/implement.md +15 -8
- package/onboarding/prompts/feature/voice/plan.md +16 -8
- package/onboarding/prompts/feature/voice/proof.md +14 -7
- package/onboarding/prompts/feature/voice/start.md +15 -14
- package/onboarding/prompts/framework/ag2.md +6 -5
- package/onboarding/prompts/framework/agno.md +6 -5
- package/onboarding/prompts/framework/built-in.md +9 -6
- 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 +12 -4
- package/onboarding/prompts/framework/custom-ag-ui.md +8 -2
- package/onboarding/prompts/framework/deep-agents.md +6 -5
- package/onboarding/prompts/framework/google-adk.md +2 -2
- package/onboarding/prompts/framework/langgraph-fastapi.md +8 -5
- package/onboarding/prompts/framework/langgraph-python.md +8 -5
- package/onboarding/prompts/framework/langgraph-typescript.md +8 -5
- package/onboarding/prompts/framework/llamaindex.md +6 -5
- package/onboarding/prompts/framework/mastra.md +9 -6
- package/onboarding/prompts/framework/ms-agent-dotnet.md +12 -4
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +12 -4
- package/onboarding/prompts/framework/ms-agent-python.md +6 -5
- package/onboarding/prompts/framework/pydantic-ai.md +6 -5
- package/onboarding/prompts/framework/strands-python.md +10 -6
- package/onboarding/prompts/framework/strands-typescript.md +10 -6
- package/onboarding/prompts/frontend/angular.md +10 -3
- package/onboarding/prompts/frontend/nextjs.md +36 -3
- package/onboarding/prompts/frontend/plan.md +13 -7
- package/onboarding/prompts/frontend/react-native.md +9 -2
- package/onboarding/prompts/frontend/react-spa.md +9 -2
- package/onboarding/prompts/frontend/vue.md +9 -2
- package/onboarding/prompts/implementation/build-and-validate.md +45 -19
- package/onboarding/prompts/proof/complete.md +3 -3
- package/onboarding/prompts/proof/oss-baseline.md +30 -13
- package/onboarding/prompts/proof/round-trip.md +55 -17
- package/onboarding/prompts/research/gather.md +21 -11
- package/onboarding/prompts/research/merge.md +8 -2
- package/onboarding/prompts/research/preflight.md +2 -2
- package/onboarding/prompts/research/route.md +14 -7
- package/onboarding/prompts/starter/clone.md +73 -16
- package/onboarding/prompts/stopped/run-failed.md +8 -2
- package/onboarding/prompts/subagent/create-plan.md +9 -2
- package/onboarding/prompts/subagent/implement-and-validate.md +2 -2
- package/onboarding/prompts/subagent/inspect-repository.md +12 -6
- package/onboarding/prompts/subagent/prove-oss-baseline.md +6 -1
- package/onboarding/prompts/subagent/prove-round-trip.md +50 -9
- package/onboarding/prompts/unsupported/no-validated-path.md +8 -2
- package/package.json +1 -1
- package/release/release-tool.js +9 -3
package/README.md
CHANGED
|
@@ -283,15 +283,22 @@ The CLI prints a page URL that carries an eight-character code, such as
|
|
|
283
283
|
`WDJB-MJHT`, and prints the code too. Open the URL in a browser on any device
|
|
284
284
|
and sign in if asked. The page opens on the confirmation screen: check that it
|
|
285
285
|
shows the same code and where the request came from, then approve it. You can
|
|
286
|
-
also open the plain page and type the code.
|
|
287
|
-
|
|
286
|
+
also open the plain page and type the code. A code lasts 10 minutes. If
|
|
287
|
+
nobody approves it in time, the CLI prints a new code and keeps polling. It
|
|
288
|
+
does this twice, so it gives up after about 30 minutes.
|
|
288
289
|
|
|
289
290
|
Under `--json`, the first `authentication_url` record is the URL with the code
|
|
290
|
-
in it, and it also carries `user_code` and `expires_at`. A
|
|
291
|
+
in it, and it also carries `user_code` and `expires_at`. A renewed code writes
|
|
292
|
+
another `authentication_url` record, with `renewed: true` and its `renewal`
|
|
293
|
+
number, and another `action_required` record. The old page then shows an
|
|
294
|
+
expired code, so show the developer the new one. A sign-in that ends without a session writes a `failed`
|
|
291
295
|
record with `reason: expired` or `reason: access_denied`, and with
|
|
292
|
-
`retry: ask_developer`: a person must act before a new code can work.
|
|
293
|
-
|
|
294
|
-
|
|
296
|
+
`retry: ask_developer`: a person must act before a new code can work. If a
|
|
297
|
+
code expired and the request for its replacement failed, for example on a rate
|
|
298
|
+
limit, the record says `reason: renewal_failed` and its `error` names that
|
|
299
|
+
failure. After 2
|
|
300
|
+
sign-ins in a row end with nobody approving any of their codes, `login --json`
|
|
301
|
+
refuses to request another. It writes a `failed` record with `reason: repeated_expiry` and
|
|
295
302
|
exits non-zero. Run `copilotkit login --json --force` when someone is ready to
|
|
296
303
|
approve. Any sign-in that succeeds resets the count, and the count lapses after
|
|
297
304
|
a day.
|
|
@@ -387,20 +394,33 @@ frontend.
|
|
|
387
394
|
Its first prompt records the coding agent with `onboard identify`, including when
|
|
388
395
|
the entry command omitted `--coding-agent`. The agent also passes `--model` with
|
|
389
396
|
the exact model id its instructions name, and leaves it out when they name none.
|
|
390
|
-
It passes `--model-family
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
397
|
+
It always passes `--model-family`, picked from a fixed list such as `claude-opus`
|
|
398
|
+
or `gpt-5`. The event reports `coding_agent` and `model_family` normalized to
|
|
399
|
+
fixed lists, so `copilot` and `github-copilot-cli` both read `github-copilot`,
|
|
400
|
+
and keeps what the agent wrote in `coding_agent_raw` and `model_family_raw`. A
|
|
401
|
+
missing family is read from the model id when it names one. The event records a
|
|
402
|
+
missing id or family as `unknown`, a value that is not a model, such as a
|
|
403
|
+
coding-agent product name, as `unreportable`, and a name not on the list as
|
|
404
|
+
`other`. It records the coding agent the environment shows as
|
|
394
405
|
`detected_coding_agent`, and sets `coding_agent_mismatch` when that agent differs
|
|
395
|
-
from the declared one.
|
|
406
|
+
from the declared one. The CLI reads the agent from environment variables the
|
|
407
|
+
agent sets. When only markers that leak into child agents are set (`AI_AGENT`,
|
|
408
|
+
`CLAUDECODE`), or several agents' markers are, the nearest parent process that
|
|
409
|
+
is an agent's binary decides. With no marker, it reads the parent processes.
|
|
410
|
+
Set `COPILOTKIT_SKIP_AGENT_PROCESS_PROBE=1` to skip the parent-process walk. It
|
|
411
|
+
sends only the matched agent name, never a path or a command line, and records
|
|
412
|
+
where it found it in `detected_coding_agent_source`. `cli.onboarding.started` also carries
|
|
396
413
|
`detected_coding_agent`, because a run that stops before `onboard identify` sends
|
|
397
414
|
no identify event. It also carries `audience`: `detected-agent` when the
|
|
398
415
|
environment shows an agent, `human-terminal` for a terminal with no detected
|
|
399
416
|
agent, and `non-tty` otherwise. Before sign-in, the first prompt records where the
|
|
400
417
|
app stores data with `onboard deployment --choice <managed|local>`. The
|
|
401
418
|
`cli.onboarding.deployment_chosen` event carries that `deployment` and
|
|
402
|
-
`local_offered`, which this CLI release reads from its local evaluation flag.
|
|
403
|
-
|
|
419
|
+
`local_offered`, which this CLI release reads from its local evaluation flag.
|
|
420
|
+
No run is asked to choose, so `local_offered: true` means only that this release
|
|
421
|
+
can run local. A developer who asks for local after the first prompt recorded
|
|
422
|
+
managed sends a second event with `local`, so the last event in a run is its
|
|
423
|
+
choice. Channel setup stage events include
|
|
404
424
|
the existing `onboarding_run_id` when the command runs inside an onboarding run;
|
|
405
425
|
standalone commands omit it. These events use the CLI's existing telemetry consent gate.
|
|
406
426
|
|
|
@@ -1324,6 +1344,31 @@ correctly. Pass what it reads with `--header`, repeatable. `verify` sends
|
|
|
1324
1344
|
the header on every request to the runtime, `/info` included, so a runtime
|
|
1325
1345
|
behind auth needs no local proxy.
|
|
1326
1346
|
|
|
1347
|
+
### Proving a thread the app created
|
|
1348
|
+
|
|
1349
|
+
Some apps refuse a run that `verify` starts: an `identifyUser` that reads a
|
|
1350
|
+
signed-in session, or an app that runs only threads it created. For those, send
|
|
1351
|
+
one message in the app and pass that thread's id with `--thread`:
|
|
1352
|
+
|
|
1353
|
+
```bash
|
|
1354
|
+
copilotkit verify --thread <thread-id>
|
|
1355
|
+
copilotkit verify --thread <thread-id> --expect-learning-container support-desk
|
|
1356
|
+
copilotkit onboard proof-check --thread <thread-id> --json
|
|
1357
|
+
```
|
|
1358
|
+
|
|
1359
|
+
`--thread` replaces `--round-trip`. It starts no agent run and asks the app for
|
|
1360
|
+
no thread. It reads the thread from app-api with the project key, so it needs no session, and
|
|
1361
|
+
`--expect-learning-container` checks that same thread. A pass proves that the
|
|
1362
|
+
agent's answer was recorded on that thread. It does not prove which end user the
|
|
1363
|
+
thread belongs to. A thread app-api does not hold for this project is a `FAIL`.
|
|
1364
|
+
Only an answer after the thread's newest user message counts. Inside an
|
|
1365
|
+
onboarding run, a thread that did not change after the run started is a `FAIL`,
|
|
1366
|
+
because its answer can predate the app as it is now. With `--agent`, a thread
|
|
1367
|
+
of another agent is a `FAIL`, and the evidence names the thread's own agent.
|
|
1368
|
+
Telemetry marks a proof made this way with `proof_source: app-thread`.
|
|
1369
|
+
The page-context check needs a run of its own, so with `--thread` it is a
|
|
1370
|
+
warning that names the browser as the place to prove it.
|
|
1371
|
+
|
|
1327
1372
|
### What `verify` still does not prove
|
|
1328
1373
|
|
|
1329
1374
|
It does not drive a browser. Realtime delivery to a browser over the gateway,
|
|
@@ -1438,10 +1483,16 @@ The command reads the key from the env file (`.env` by default) and sends one
|
|
|
1438
1483
|
request with a one-token answer to that vendor. The call costs a fraction of a
|
|
1439
1484
|
cent. It knows `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, and `GOOGLE_API_KEY`.
|
|
1440
1485
|
|
|
1486
|
+
When the env file has no real value for the key, the command checks the value
|
|
1487
|
+
in the environment instead. A key you export in the shell, or set with direnv or
|
|
1488
|
+
`op run`, reaches the dev server the same way. `source` in the JSON says where
|
|
1489
|
+
the value came from: `env-file` or `environment`.
|
|
1490
|
+
|
|
1441
1491
|
- `pass`: the vendor served a model call with the key.
|
|
1442
1492
|
- `fail`: the vendor refused the key. The cause is `model_quota` (no credits) or
|
|
1443
1493
|
`model_auth` (a rejected key).
|
|
1444
|
-
- `missing`: the env file
|
|
1494
|
+
- `missing`: neither the env file nor the environment holds a real value for
|
|
1495
|
+
the key.
|
|
1445
1496
|
- `unsupported` or `undetermined`: the check did not settle it. A rate limit, a
|
|
1446
1497
|
vendor outage, or a probe model the key may not use proves nothing about the
|
|
1447
1498
|
key, so none of them is a `fail`.
|
|
@@ -1451,6 +1502,10 @@ SDK at another endpoint, or when the shell exports a different value for the
|
|
|
1451
1502
|
key. It never prints the key, and it never prints the vendor's error message,
|
|
1452
1503
|
because a vendor can echo part of the key in it.
|
|
1453
1504
|
|
|
1505
|
+
During an onboarding run, a `pass` also replaces a `missing` or `fail` that the
|
|
1506
|
+
credentials step kept for the same key in the same env file. So after the
|
|
1507
|
+
developer fixes the key, `onboard proof-check` runs the round trip again.
|
|
1508
|
+
|
|
1454
1509
|
### An onboarding run stops while it selects the project
|
|
1455
1510
|
|
|
1456
1511
|
The onboarding graph settles the project, its key, and the Learning Container
|
|
@@ -1724,6 +1779,12 @@ Release ordering: merge the CopilotKit starter before releasing this command. Th
|
|
|
1724
1779
|
|
|
1725
1780
|
## Local evaluation candidate setup
|
|
1726
1781
|
|
|
1782
|
+
Local evaluation is how the CLI offers self-hosting: `init` lists it as
|
|
1783
|
+
"Self-hosted: try it on your machine (Docker)". It runs the full stack on the
|
|
1784
|
+
developer's machine. The CLI does not install into a cluster; for that, use the
|
|
1785
|
+
[self-hosting guide](https://docs.copilotkit.ai/intelligence/self-hosting) and its
|
|
1786
|
+
Helm chart.
|
|
1787
|
+
|
|
1727
1788
|
This preview accepts macOS with Docker Desktop and Linux with rootful Docker Engine.
|
|
1728
1789
|
The CLI checks daemon identity and refuses unknown engines, rootless Docker, Podman,
|
|
1729
1790
|
non-Desktop macOS engines, Windows, and Docker Desktop on Linux. The Windows init picker
|
package/cli-build-info.json
CHANGED
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"package": {
|
|
4
4
|
"name": "copilotkit",
|
|
5
|
-
"version": "4.
|
|
5
|
+
"version": "4.25.0"
|
|
6
6
|
},
|
|
7
7
|
"intelligence": {
|
|
8
|
-
"commit": "
|
|
8
|
+
"commit": "9d0e411b31a75cac62342c22a7da942463eaca55"
|
|
9
9
|
},
|
|
10
10
|
"copilotKit": {
|
|
11
|
-
"submittedInput": "
|
|
12
|
-
"commit": "
|
|
11
|
+
"submittedInput": "1477c8eab6f88833fa93236fe766746c9800a991",
|
|
12
|
+
"commit": "1477c8eab6f88833fa93236fe766746c9800a991"
|
|
13
13
|
},
|
|
14
14
|
"channel": "production",
|
|
15
15
|
"triggeringActor": "BenTaylorDev",
|
|
16
16
|
"workflow": {
|
|
17
|
-
"runId": "
|
|
18
|
-
"runUrl": "https://github.com/CopilotKit/Intelligence/actions/runs/
|
|
17
|
+
"runId": "37398681686",
|
|
18
|
+
"runUrl": "https://github.com/CopilotKit/Intelligence/actions/runs/37398681686"
|
|
19
19
|
},
|
|
20
20
|
"validationResult": "passed",
|
|
21
21
|
"ag2": {
|
|
@@ -24,5 +24,5 @@
|
|
|
24
24
|
"revision": "main",
|
|
25
25
|
"pinned": false
|
|
26
26
|
},
|
|
27
|
-
"builtAt": "2026-10-
|
|
27
|
+
"builtAt": "2026-10-06T01:22:51Z"
|
|
28
28
|
}
|