copilotkit 4.15.0 → 4.17.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 +118 -10
- package/cli-build-info.json +8 -8
- package/index.js +24194 -3483
- package/onboarding/index.json +1 -1
- package/onboarding/prompts/authenticate/start.md +17 -15
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +20 -20
- package/onboarding/prompts/credentials/plan.md +21 -21
- package/onboarding/prompts/credentials/settle-credentials.md +46 -10
- package/onboarding/prompts/credentials/write-plan.md +35 -20
- package/onboarding/prompts/fallback/best-effort.md +23 -15
- package/onboarding/prompts/feature/a2ui/implement.md +40 -12
- package/onboarding/prompts/feature/a2ui/proof.md +29 -9
- package/onboarding/prompts/feature/a2ui/start.md +8 -10
- package/onboarding/prompts/feature/blocked-by-plan.md +4 -4
- package/onboarding/prompts/feature/channels/implement.md +41 -13
- package/onboarding/prompts/feature/channels/proof.md +30 -11
- package/onboarding/prompts/feature/channels/start.md +11 -9
- package/onboarding/prompts/feature/chat-suggestions/implement.md +40 -12
- package/onboarding/prompts/feature/chat-suggestions/proof.md +29 -9
- package/onboarding/prompts/feature/chat-suggestions/start.md +8 -10
- package/onboarding/prompts/feature/complete.md +2 -2
- package/onboarding/prompts/feature/learning/implement.md +58 -26
- package/onboarding/prompts/feature/learning/proof.md +30 -10
- package/onboarding/prompts/feature/learning/start.md +15 -12
- package/onboarding/prompts/feature/open-generative-ui/implement.md +41 -13
- package/onboarding/prompts/feature/open-generative-ui/proof.md +29 -9
- package/onboarding/prompts/feature/open-generative-ui/start.md +8 -10
- package/onboarding/prompts/feature/realtime-sync/implement.md +41 -13
- package/onboarding/prompts/feature/realtime-sync/proof.md +31 -10
- package/onboarding/prompts/feature/realtime-sync/start.md +8 -9
- package/onboarding/prompts/feature/rich-threads/implement.md +42 -14
- package/onboarding/prompts/feature/rich-threads/proof.md +31 -10
- package/onboarding/prompts/feature/rich-threads/start.md +8 -9
- package/onboarding/prompts/feature/stop.md +3 -3
- package/onboarding/prompts/feature/voice/implement.md +40 -12
- package/onboarding/prompts/feature/voice/proof.md +29 -9
- package/onboarding/prompts/feature/voice/start.md +8 -9
- package/onboarding/prompts/framework/ag2.md +2 -2
- package/onboarding/prompts/framework/agno.md +4 -4
- package/onboarding/prompts/framework/built-in.md +2 -2
- package/onboarding/prompts/framework/claude-sdk-python.md +8 -7
- package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
- package/onboarding/prompts/framework/crewai-flows.md +15 -7
- package/onboarding/prompts/framework/deep-agents.md +4 -3
- package/onboarding/prompts/framework/google-adk.md +7 -7
- package/onboarding/prompts/framework/langgraph-fastapi.md +2 -2
- package/onboarding/prompts/framework/langgraph-python.md +2 -2
- package/onboarding/prompts/framework/langgraph-typescript.md +2 -2
- package/onboarding/prompts/framework/llamaindex.md +4 -4
- package/onboarding/prompts/framework/mastra.md +2 -2
- package/onboarding/prompts/framework/ms-agent-dotnet.md +2 -2
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +2 -2
- package/onboarding/prompts/framework/ms-agent-python.md +6 -6
- package/onboarding/prompts/framework/pydantic-ai.md +2 -2
- package/onboarding/prompts/framework/strands-python.md +4 -4
- package/onboarding/prompts/framework/strands-typescript.md +4 -4
- package/onboarding/prompts/frontend/angular.md +3 -3
- package/onboarding/prompts/frontend/nextjs.md +16 -3
- package/onboarding/prompts/frontend/plan.md +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 +67 -28
- package/onboarding/prompts/proof/complete.md +21 -14
- package/onboarding/prompts/proof/oss-baseline.md +16 -12
- package/onboarding/prompts/proof/round-trip.md +33 -22
- package/onboarding/prompts/research/gather.md +8 -7
- package/onboarding/prompts/research/merge.md +3 -3
- package/onboarding/prompts/research/preflight.md +4 -4
- package/onboarding/prompts/research/route.md +6 -6
- package/onboarding/prompts/starter/clone.md +30 -20
- package/onboarding/prompts/stopped/run-failed.md +15 -9
- package/onboarding/prompts/subagent/create-plan.md +15 -10
- package/onboarding/prompts/subagent/implement-and-validate.md +25 -11
- package/onboarding/prompts/subagent/inspect-repository.md +14 -6
- package/onboarding/prompts/subagent/prove-oss-baseline.md +11 -4
- package/onboarding/prompts/subagent/prove-round-trip.md +48 -14
- package/onboarding/prompts/unsupported/no-validated-path.md +2 -2
- package/package.json +1 -5
- package/release/release-tool.js +222 -46
package/README.md
CHANGED
|
@@ -280,8 +280,14 @@ and gives up after 10 minutes.
|
|
|
280
280
|
|
|
281
281
|
Under `--json`, the first `authentication_url` record is the URL with the code
|
|
282
282
|
in it, and it also carries `user_code` and `expires_at`. A sign-in that ends without a session writes a `failed`
|
|
283
|
-
record with `reason: expired` or `reason: access_denied
|
|
284
|
-
|
|
283
|
+
record with `reason: expired` or `reason: access_denied`, and with
|
|
284
|
+
`retry: ask_developer`: a person must act before a new code can work. After 2
|
|
285
|
+
codes in a row expire with nobody approving them, `login --json` refuses to
|
|
286
|
+
request another. It writes a `failed` record with `reason: repeated_expiry` and
|
|
287
|
+
exits non-zero. Run `copilotkit login --json --force` when someone is ready to
|
|
288
|
+
approve. Any sign-in that succeeds resets the count, and the count lapses after
|
|
289
|
+
a day. If the Ops service has no device routes, `login --json` falls back to the
|
|
290
|
+
loopback flow.
|
|
285
291
|
|
|
286
292
|
Approve a code only if your own terminal or coding agent showed it to you. If
|
|
287
293
|
someone sent you a code, deny the request: approving it signs their CLI in as
|
|
@@ -334,7 +340,10 @@ asks which frontend they want and offers Slack and Microsoft Teams there. If the
|
|
|
334
340
|
copied prompt came from a Slack or Teams docs page, that page is the named
|
|
335
341
|
frontend.
|
|
336
342
|
Its first prompt records the coding agent with `onboard identify`, including when
|
|
337
|
-
the entry command omitted `--coding-agent`.
|
|
343
|
+
the entry command omitted `--coding-agent`. The agent also passes `--model` with
|
|
344
|
+
the exact model id its instructions name, and leaves it out when they name none.
|
|
345
|
+
The event records a missing id as `unknown`, and the coding agent the environment
|
|
346
|
+
shows as `detected_coding_agent`. Channel setup stage events include
|
|
338
347
|
the existing `onboarding_run_id` when the command runs inside an onboarding run;
|
|
339
348
|
standalone commands omit it. These events use the CLI's existing telemetry consent gate.
|
|
340
349
|
|
|
@@ -350,6 +359,24 @@ subagent returns, when the plan is approved, when implementation validation
|
|
|
350
359
|
passes, and on each proof attempt and repair cycle. A run that cannot go on
|
|
351
360
|
reads `feature/stop`, reports from there, and does not run `onboard complete`.
|
|
352
361
|
|
|
362
|
+
### Onboarding for an existing Intelligence project
|
|
363
|
+
|
|
364
|
+
Use the optional `--project` flag when the developer already chose a hosted
|
|
365
|
+
Intelligence project, for example from the Threads or Analytics page of that
|
|
366
|
+
project. It takes the numeric project id. The run then selects that project at
|
|
367
|
+
the project-selection step instead of asking which project to use or creating
|
|
368
|
+
one. The CLI still checks that the signed-in organization holds the project, so a
|
|
369
|
+
link cannot point a run at another organization's project.
|
|
370
|
+
|
|
371
|
+
```bash
|
|
372
|
+
npx --yes copilotkit@latest onboard start \
|
|
373
|
+
--project <project-id> \
|
|
374
|
+
--run <12-character-id>
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
`--project` accepts digits only and refuses anything else before a run starts.
|
|
378
|
+
A later `onboard start` that re-enters the same run keeps its project.
|
|
379
|
+
|
|
353
380
|
### Coming back after a run that broke
|
|
354
381
|
|
|
355
382
|
A run whose stack this release serves, and which broke anyway, reads
|
|
@@ -432,13 +459,21 @@ copilotkit init -n my-agent -f langgraph-py \
|
|
|
432
459
|
- `--project <slug-or-id>` selects an existing hosted Intelligence project, and
|
|
433
460
|
`--create <name>` makes one. They are mutually exclusive, and they resolve the
|
|
434
461
|
same way `copilotkit project select` does: a typo fails with the available
|
|
435
|
-
slugs instead of creating something you did not ask for.
|
|
462
|
+
slugs instead of creating something you did not ask for. A refused value fails
|
|
463
|
+
before `init` writes any file, so you can retry into the same directory.
|
|
436
464
|
- `-y`/`--yes` installs dependencies without asking; `--no-install` answers the
|
|
437
465
|
same question without installing. `--install` is a longhand for `--yes`.
|
|
438
466
|
- `--no-key-prompt` skips the question about a missing model key. Use it where the
|
|
439
467
|
shell is a pseudo-terminal but nobody types, such as a coding agent's shell:
|
|
440
468
|
there `init` sees a terminal and would ask anyway. The next steps still name
|
|
441
469
|
each missing key.
|
|
470
|
+
- `--model-key-file <path>` copies the model key the starter needs from an env
|
|
471
|
+
file you name into the new app. Only that variable is copied, into the file the
|
|
472
|
+
starter reads (`agent/.env` for the Microsoft Agent Framework Python starter).
|
|
473
|
+
`init` prints the variable name and never the value. A real value already in
|
|
474
|
+
the app is kept. A missing or unreadable file stops `init` before it clones
|
|
475
|
+
anything. The .NET starter keeps its key in `dotnet user-secrets`, so this flag
|
|
476
|
+
does not fill it.
|
|
442
477
|
|
|
443
478
|
A run with no terminal is refused only for what it has not answered, and every
|
|
444
479
|
missing flag is named at once. Sign-in is the one answer no flag supplies:
|
|
@@ -460,7 +495,16 @@ are supported. Configure source identity and access with the
|
|
|
460
495
|
[`MASTRA_IMPORT_*` variables](../../libs/import-mastra/README.md); destination
|
|
461
496
|
Intelligence credentials use the usual import options.
|
|
462
497
|
|
|
463
|
-
Local access requires Node 22.13
|
|
498
|
+
Local access requires Node 22.13+ and npm. The CLI does not ship the LibSQL
|
|
499
|
+
driver, so the first local import installs `@mastra/libsql@1.14.3` and
|
|
500
|
+
`@mastra/core@1.48.0` into `~/.copilotkit/cache/mastra-driver/`
|
|
501
|
+
(`$XDG_CACHE_HOME/copilotkit/mastra-driver/` when that variable is an absolute
|
|
502
|
+
path) and reuses them after that. The install overrides the npm settings
|
|
503
|
+
`legacy-peer-deps` and `omit=optional`, which would otherwise leave out a
|
|
504
|
+
required peer or the native binary. If that install fails, the error prints the
|
|
505
|
+
`npm install` command to run by hand. Server mode installs nothing.
|
|
506
|
+
|
|
507
|
+
Use the same source namespace when switching
|
|
464
508
|
between local and remote access so repeat imports deduplicate. Import while the
|
|
465
509
|
source is idle. This reads existing history and pending data; it does not execute
|
|
466
510
|
models, tools or native resume operations.
|
|
@@ -990,6 +1034,24 @@ exits zero only when `/info` is valid, declares the agent named by `--agent`,
|
|
|
990
1034
|
reports no Intelligence entitlement, and `--round-trip` passes. Both `--round-trip` and
|
|
991
1035
|
`--agent` are required for an OSS pass.
|
|
992
1036
|
|
|
1037
|
+
Without `--expect-runtime`, `verify` checks an app as open source on its own
|
|
1038
|
+
when nothing points at a hosted setup: no `.copilotkit/project.json`, no
|
|
1039
|
+
Intelligence key, and a runtime that answers `/info` without an Intelligence
|
|
1040
|
+
client. The report says so at the top, names the runtime URL it checked, and
|
|
1041
|
+
says when that URL was only assumed. `--json` reports
|
|
1042
|
+
`"expectRuntime": "oss"` with `"expectRuntimeSource": "detected"` (otherwise
|
|
1043
|
+
`"flag"` or `"default"`). The round trip still has to pass. It runs against the
|
|
1044
|
+
agent `--agent` names, with or without `--round-trip`. Without `--agent`, when
|
|
1045
|
+
the runtime declares exactly one agent, `verify` runs it and names it. With no
|
|
1046
|
+
agent or several, the run fails and names `--round-trip --agent <id>`. A runtime
|
|
1047
|
+
mounted `mode: "single-route"` cannot pass this way without a key, because
|
|
1048
|
+
`verify` reads a single-route answer from the Intelligence platform and an
|
|
1049
|
+
open-source runtime records nothing there. Mount it multi-route (the default)
|
|
1050
|
+
and point `--runtime-url` at that endpoint.
|
|
1051
|
+
Pass `--expect-runtime intelligence` to check the hosted setup instead. A
|
|
1052
|
+
recorded project, a key, or a runtime that does not answer keeps the hosted
|
|
1053
|
+
checks.
|
|
1054
|
+
|
|
993
1055
|
### Which runtime URL gets probed
|
|
994
1056
|
|
|
995
1057
|
`verify` works the port out from the project rather than assuming one. In order:
|
|
@@ -1173,6 +1235,35 @@ started, and a starter that serves both halves from one script loses both when
|
|
|
1173
1235
|
either one goes down. Restart what you started, with the command you started it
|
|
1174
1236
|
with, and leave the rest running.
|
|
1175
1237
|
|
|
1238
|
+
### A model key has no credits or is rejected
|
|
1239
|
+
|
|
1240
|
+
A key with no credits passes every static check. The first model call then
|
|
1241
|
+
fails inside the agent, and the round-trip proof reports only a timeout.
|
|
1242
|
+
|
|
1243
|
+
Ask the vendor about one key before the build:
|
|
1244
|
+
|
|
1245
|
+
```bash
|
|
1246
|
+
copilotkit onboard model-key --key OPENAI_API_KEY
|
|
1247
|
+
copilotkit onboard model-key --key ANTHROPIC_API_KEY --env-file agent/.env --json
|
|
1248
|
+
```
|
|
1249
|
+
|
|
1250
|
+
The command reads the key from the env file (`.env` by default) and sends one
|
|
1251
|
+
request with a one-token answer to that vendor. The call costs a fraction of a
|
|
1252
|
+
cent. It knows `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, and `GOOGLE_API_KEY`.
|
|
1253
|
+
|
|
1254
|
+
- `pass`: the vendor served a model call with the key.
|
|
1255
|
+
- `fail`: the vendor refused the key. The cause is `model_quota` (no credits) or
|
|
1256
|
+
`model_auth` (a rejected key).
|
|
1257
|
+
- `missing`: the env file or the key is absent, or the value is a placeholder.
|
|
1258
|
+
- `unsupported` or `undetermined`: the check did not settle it. A rate limit, a
|
|
1259
|
+
vendor outage, or a probe model the key may not use proves nothing about the
|
|
1260
|
+
key, so none of them is a `fail`.
|
|
1261
|
+
|
|
1262
|
+
It does not send the key when a base URL such as `OPENAI_BASE_URL` points the
|
|
1263
|
+
SDK at another endpoint, or when the shell exports a different value for the
|
|
1264
|
+
key. It never prints the key, and it never prints the vendor's error message,
|
|
1265
|
+
because a vendor can echo part of the key in it.
|
|
1266
|
+
|
|
1176
1267
|
### A command, subcommand, or flag that should exist is rejected
|
|
1177
1268
|
|
|
1178
1269
|
`npx` keys its cache on the spec string, so `copilotkit@latest` can keep serving
|
|
@@ -1271,7 +1362,8 @@ projects created with the CLI. See the [package license map](../../docs/licensin
|
|
|
1271
1362
|
### Add existing threads to Learning
|
|
1272
1363
|
|
|
1273
1364
|
Use `learning threads` to add prior conversations to a Container. A thread can
|
|
1274
|
-
join
|
|
1365
|
+
join this Container without changing their other memberships. Threads already
|
|
1366
|
+
in this Container are ineligible for another addition.
|
|
1275
1367
|
|
|
1276
1368
|
```bash
|
|
1277
1369
|
copilotkit learning threads list support --binding all --json
|
|
@@ -1289,15 +1381,31 @@ The binding filter accepts `all`, `unbound`, `this_container`, or `other_contain
|
|
|
1289
1381
|
The source filter accepts `all`, `app`, `slack`, or `teams`, where `app` means the
|
|
1290
1382
|
thread arrived straight from the Runtime and the provider values select threads a
|
|
1291
1383
|
Channel created.
|
|
1384
|
+
`unbound` means no active Container membership. `other_container` means active
|
|
1385
|
+
membership elsewhere, without membership in this Container. Those threads remain
|
|
1386
|
+
eligible for addition to this Container.
|
|
1292
1387
|
|
|
1293
|
-
Read the preview before commit. `--yes`
|
|
1294
|
-
saved selection. Each operation accepts at most 10,000 threads. New matching
|
|
1388
|
+
Read the preview before commit. `--yes` adds or restores memberships for that
|
|
1389
|
+
saved selection. Existing memberships in other Containers stay active. Each operation accepts at most 10,000 threads. New matching
|
|
1295
1390
|
threads cannot enter an existing preview, and a repeated commit cannot bind a
|
|
1296
|
-
second batch. Threads
|
|
1297
|
-
reported. Recovery continues in the background after the CLI exits.
|
|
1391
|
+
second batch. Threads already added to the same Container after preview are skipped and
|
|
1392
|
+
reported. A retry of a committed operation does not undo a later removal. Recovery continues in the background after the CLI exits.
|
|
1298
1393
|
|
|
1299
1394
|
Results distinguish threads bound, runs harvested, runs unrecoverable, other
|
|
1300
1395
|
skipped runs, and pending runs. Pending work is not a completed harvest. The
|
|
1301
1396
|
preview reflects retained history at its timestamp; delayed events or retention
|
|
1302
1397
|
changes can change the final result. `--json` prints a versioned result envelope
|
|
1303
1398
|
on stdout, including errors, and failures exit nonzero.
|
|
1399
|
+
|
|
1400
|
+
## Download skills from several containers
|
|
1401
|
+
|
|
1402
|
+
```bash
|
|
1403
|
+
copilotkit skills download support company-wide --output ./skills
|
|
1404
|
+
```
|
|
1405
|
+
|
|
1406
|
+
Several container IDs produce separate directories, such as `./skills/support/refund-policy/SKILL.md`.
|
|
1407
|
+
A single container keeps the existing flat layout, such as `./skills/refund-policy/SKILL.md`.
|
|
1408
|
+
The destination must not already exist. The CLI validates every bundle before it creates the destination.
|
|
1409
|
+
If a download or validation fails, the CLI leaves no partial destination.
|
|
1410
|
+
Container IDs must be unique and belong to the selected project. Select up to 50 containers.
|
|
1411
|
+
Multiple containers use one product API batch request. If any container fails, the whole request fails.
|
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.17.0"
|
|
6
6
|
},
|
|
7
7
|
"intelligence": {
|
|
8
|
-
"commit": "
|
|
8
|
+
"commit": "f6f91f8357a9058dcda3f2ef07a3283e23ddb9e8"
|
|
9
9
|
},
|
|
10
10
|
"copilotKit": {
|
|
11
|
-
"submittedInput": "
|
|
12
|
-
"commit": "
|
|
11
|
+
"submittedInput": "0c8647a7f4ec",
|
|
12
|
+
"commit": "0c8647a7f4ecf565e58405642539c9d9744f62c5"
|
|
13
13
|
},
|
|
14
14
|
"channel": "production",
|
|
15
|
-
"triggeringActor": "
|
|
15
|
+
"triggeringActor": "BenTaylorDev",
|
|
16
16
|
"workflow": {
|
|
17
|
-
"runId": "
|
|
18
|
-
"runUrl": "https://github.com/CopilotKit/Intelligence/actions/runs/
|
|
17
|
+
"runId": "36178536102",
|
|
18
|
+
"runUrl": "https://github.com/CopilotKit/Intelligence/actions/runs/36178536102"
|
|
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-09-
|
|
27
|
+
"builtAt": "2026-09-25T19:17:42Z"
|
|
28
28
|
}
|