copilotkit 4.16.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.
Files changed (81) hide show
  1. package/README.md +69 -4
  2. package/cli-build-info.json +7 -7
  3. package/index.js +3993 -2742
  4. package/onboarding/index.json +1 -1
  5. package/onboarding/prompts/authenticate/start.md +17 -15
  6. package/onboarding/prompts/conversion/plan.md +3 -3
  7. package/onboarding/prompts/credentials/finalize-plan.md +20 -20
  8. package/onboarding/prompts/credentials/plan.md +21 -21
  9. package/onboarding/prompts/credentials/settle-credentials.md +46 -10
  10. package/onboarding/prompts/credentials/write-plan.md +35 -20
  11. package/onboarding/prompts/fallback/best-effort.md +23 -15
  12. package/onboarding/prompts/feature/a2ui/implement.md +40 -12
  13. package/onboarding/prompts/feature/a2ui/proof.md +29 -9
  14. package/onboarding/prompts/feature/a2ui/start.md +8 -10
  15. package/onboarding/prompts/feature/blocked-by-plan.md +4 -4
  16. package/onboarding/prompts/feature/channels/implement.md +41 -13
  17. package/onboarding/prompts/feature/channels/proof.md +30 -11
  18. package/onboarding/prompts/feature/channels/start.md +11 -9
  19. package/onboarding/prompts/feature/chat-suggestions/implement.md +40 -12
  20. package/onboarding/prompts/feature/chat-suggestions/proof.md +29 -9
  21. package/onboarding/prompts/feature/chat-suggestions/start.md +8 -10
  22. package/onboarding/prompts/feature/complete.md +2 -2
  23. package/onboarding/prompts/feature/learning/implement.md +58 -26
  24. package/onboarding/prompts/feature/learning/proof.md +30 -10
  25. package/onboarding/prompts/feature/learning/start.md +15 -12
  26. package/onboarding/prompts/feature/open-generative-ui/implement.md +41 -13
  27. package/onboarding/prompts/feature/open-generative-ui/proof.md +29 -9
  28. package/onboarding/prompts/feature/open-generative-ui/start.md +8 -10
  29. package/onboarding/prompts/feature/realtime-sync/implement.md +41 -13
  30. package/onboarding/prompts/feature/realtime-sync/proof.md +31 -10
  31. package/onboarding/prompts/feature/realtime-sync/start.md +8 -9
  32. package/onboarding/prompts/feature/rich-threads/implement.md +42 -14
  33. package/onboarding/prompts/feature/rich-threads/proof.md +31 -10
  34. package/onboarding/prompts/feature/rich-threads/start.md +8 -9
  35. package/onboarding/prompts/feature/stop.md +3 -3
  36. package/onboarding/prompts/feature/voice/implement.md +40 -12
  37. package/onboarding/prompts/feature/voice/proof.md +29 -9
  38. package/onboarding/prompts/feature/voice/start.md +8 -9
  39. package/onboarding/prompts/framework/ag2.md +2 -2
  40. package/onboarding/prompts/framework/agno.md +4 -4
  41. package/onboarding/prompts/framework/built-in.md +2 -2
  42. package/onboarding/prompts/framework/claude-sdk-python.md +8 -7
  43. package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
  44. package/onboarding/prompts/framework/crewai-flows.md +15 -7
  45. package/onboarding/prompts/framework/deep-agents.md +4 -3
  46. package/onboarding/prompts/framework/google-adk.md +7 -7
  47. package/onboarding/prompts/framework/langgraph-fastapi.md +2 -2
  48. package/onboarding/prompts/framework/langgraph-python.md +2 -2
  49. package/onboarding/prompts/framework/langgraph-typescript.md +2 -2
  50. package/onboarding/prompts/framework/llamaindex.md +4 -4
  51. package/onboarding/prompts/framework/mastra.md +2 -2
  52. package/onboarding/prompts/framework/ms-agent-dotnet.md +2 -2
  53. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +2 -2
  54. package/onboarding/prompts/framework/ms-agent-python.md +6 -6
  55. package/onboarding/prompts/framework/pydantic-ai.md +2 -2
  56. package/onboarding/prompts/framework/strands-python.md +4 -4
  57. package/onboarding/prompts/framework/strands-typescript.md +4 -4
  58. package/onboarding/prompts/frontend/angular.md +3 -3
  59. package/onboarding/prompts/frontend/nextjs.md +16 -3
  60. package/onboarding/prompts/frontend/plan.md +7 -7
  61. package/onboarding/prompts/frontend/react-native.md +2 -2
  62. package/onboarding/prompts/frontend/react-spa.md +2 -2
  63. package/onboarding/prompts/frontend/vue.md +2 -2
  64. package/onboarding/prompts/implementation/build-and-validate.md +67 -28
  65. package/onboarding/prompts/proof/complete.md +21 -14
  66. package/onboarding/prompts/proof/oss-baseline.md +16 -12
  67. package/onboarding/prompts/proof/round-trip.md +33 -22
  68. package/onboarding/prompts/research/gather.md +8 -7
  69. package/onboarding/prompts/research/merge.md +3 -3
  70. package/onboarding/prompts/research/preflight.md +4 -4
  71. package/onboarding/prompts/research/route.md +6 -6
  72. package/onboarding/prompts/starter/clone.md +14 -11
  73. package/onboarding/prompts/stopped/run-failed.md +9 -9
  74. package/onboarding/prompts/subagent/create-plan.md +15 -10
  75. package/onboarding/prompts/subagent/implement-and-validate.md +25 -11
  76. package/onboarding/prompts/subagent/inspect-repository.md +14 -6
  77. package/onboarding/prompts/subagent/prove-oss-baseline.md +5 -4
  78. package/onboarding/prompts/subagent/prove-round-trip.md +38 -14
  79. package/onboarding/prompts/unsupported/no-validated-path.md +2 -2
  80. package/package.json +1 -5
  81. package/release/release-tool.js +171 -40
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`. If the Ops service
284
- has no device routes, `login --json` falls back to the loopback flow.
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`. Channel setup stage events include
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
 
@@ -486,7 +495,16 @@ are supported. Configure source identity and access with the
486
495
  [`MASTRA_IMPORT_*` variables](../../libs/import-mastra/README.md); destination
487
496
  Intelligence credentials use the usual import options.
488
497
 
489
- Local access requires Node 22.13+. Use the same source namespace when switching
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
490
508
  between local and remote access so repeat imports deduplicate. Import while the
491
509
  source is idle. This reads existing history and pending data; it does not execute
492
510
  models, tools or native resume operations.
@@ -1016,6 +1034,24 @@ exits zero only when `/info` is valid, declares the agent named by `--agent`,
1016
1034
  reports no Intelligence entitlement, and `--round-trip` passes. Both `--round-trip` and
1017
1035
  `--agent` are required for an OSS pass.
1018
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
+
1019
1055
  ### Which runtime URL gets probed
1020
1056
 
1021
1057
  `verify` works the port out from the project rather than assuming one. In order:
@@ -1199,6 +1235,35 @@ started, and a starter that serves both halves from one script loses both when
1199
1235
  either one goes down. Restart what you started, with the command you started it
1200
1236
  with, and leave the rest running.
1201
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
+
1202
1267
  ### A command, subcommand, or flag that should exist is rejected
1203
1268
 
1204
1269
  `npx` keys its cache on the spec string, so `copilotkit@latest` can keep serving
@@ -2,20 +2,20 @@
2
2
  "schemaVersion": 1,
3
3
  "package": {
4
4
  "name": "copilotkit",
5
- "version": "4.16.0"
5
+ "version": "4.17.0"
6
6
  },
7
7
  "intelligence": {
8
- "commit": "9b0c17ef9b25db5614653a69190290fadaf9fe59"
8
+ "commit": "f6f91f8357a9058dcda3f2ef07a3283e23ddb9e8"
9
9
  },
10
10
  "copilotKit": {
11
- "submittedInput": "a933af0b132e",
12
- "commit": "a933af0b132e61d2d04be7ce0a8f55743af21ccc"
11
+ "submittedInput": "0c8647a7f4ec",
12
+ "commit": "0c8647a7f4ecf565e58405642539c9d9744f62c5"
13
13
  },
14
14
  "channel": "production",
15
15
  "triggeringActor": "BenTaylorDev",
16
16
  "workflow": {
17
- "runId": "36051066331",
18
- "runUrl": "https://github.com/CopilotKit/Intelligence/actions/runs/36051066331"
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-24T19:54:09Z"
27
+ "builtAt": "2026-09-25T19:17:42Z"
28
28
  }