copilotkit 4.27.0 → 4.29.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 +161 -26
- package/cli-build-info.json +7 -7
- package/index.js +8234 -5108
- package/onboarding/index.json +3 -2
- package/onboarding/prompts/authenticate/start.md +54 -55
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +28 -24
- package/onboarding/prompts/credentials/plan.md +31 -28
- package/onboarding/prompts/credentials/settle-credentials.md +7 -7
- package/onboarding/prompts/credentials/write-plan.md +77 -51
- package/onboarding/prompts/deployment/choose-local.md +9 -9
- package/onboarding/prompts/deployment/local-evaluation.md +12 -12
- package/onboarding/prompts/fallback/best-effort.md +9 -13
- package/onboarding/prompts/feature/a2ui/implement.md +4 -4
- package/onboarding/prompts/feature/a2ui/plan.md +3 -3
- package/onboarding/prompts/feature/a2ui/proof.md +5 -5
- package/onboarding/prompts/feature/a2ui/start.md +17 -8
- package/onboarding/prompts/feature/channels/implement.md +7 -7
- package/onboarding/prompts/feature/channels/plan.md +5 -5
- package/onboarding/prompts/feature/channels/proof.md +8 -7
- package/onboarding/prompts/feature/channels/start.md +18 -9
- package/onboarding/prompts/feature/chat-suggestions/implement.md +4 -4
- package/onboarding/prompts/feature/chat-suggestions/plan.md +3 -3
- package/onboarding/prompts/feature/chat-suggestions/proof.md +5 -5
- package/onboarding/prompts/feature/chat-suggestions/start.md +17 -8
- package/onboarding/prompts/feature/complete.md +2 -2
- package/onboarding/prompts/feature/learning/implement.md +12 -12
- package/onboarding/prompts/feature/learning/plan.md +4 -4
- package/onboarding/prompts/feature/learning/proof.md +13 -13
- package/onboarding/prompts/feature/learning/start.md +17 -8
- package/onboarding/prompts/feature/open-generative-ui/implement.md +4 -4
- package/onboarding/prompts/feature/open-generative-ui/plan.md +3 -3
- package/onboarding/prompts/feature/open-generative-ui/proof.md +5 -5
- package/onboarding/prompts/feature/open-generative-ui/start.md +17 -8
- package/onboarding/prompts/feature/realtime-sync/implement.md +5 -5
- package/onboarding/prompts/feature/realtime-sync/plan.md +3 -3
- package/onboarding/prompts/feature/realtime-sync/proof.md +5 -5
- package/onboarding/prompts/feature/realtime-sync/start.md +16 -7
- package/onboarding/prompts/feature/rich-threads/implement.md +6 -6
- package/onboarding/prompts/feature/rich-threads/plan.md +3 -3
- package/onboarding/prompts/feature/rich-threads/proof.md +5 -5
- package/onboarding/prompts/feature/rich-threads/start.md +16 -7
- package/onboarding/prompts/feature/stop.md +4 -4
- package/onboarding/prompts/feature/voice/implement.md +4 -4
- package/onboarding/prompts/feature/voice/plan.md +4 -4
- package/onboarding/prompts/feature/voice/proof.md +5 -5
- package/onboarding/prompts/feature/voice/start.md +17 -8
- package/onboarding/prompts/framework/ag2.md +3 -3
- package/onboarding/prompts/framework/agno.md +3 -3
- package/onboarding/prompts/framework/built-in.md +3 -3
- package/onboarding/prompts/framework/claude-sdk-python.md +3 -3
- package/onboarding/prompts/framework/claude-sdk-typescript.md +3 -3
- package/onboarding/prompts/framework/crewai-flows.md +6 -6
- package/onboarding/prompts/framework/custom-ag-ui.md +4 -4
- package/onboarding/prompts/framework/deep-agents.md +3 -3
- package/onboarding/prompts/framework/google-adk.md +3 -3
- package/onboarding/prompts/framework/langgraph-fastapi.md +3 -3
- package/onboarding/prompts/framework/langgraph-python.md +3 -3
- package/onboarding/prompts/framework/langgraph-typescript.md +3 -3
- package/onboarding/prompts/framework/llamaindex.md +3 -3
- package/onboarding/prompts/framework/mastra.md +3 -3
- package/onboarding/prompts/framework/ms-agent-dotnet.md +5 -5
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +5 -5
- package/onboarding/prompts/framework/ms-agent-python.md +3 -3
- package/onboarding/prompts/framework/pydantic-ai.md +3 -3
- package/onboarding/prompts/framework/strands-python.md +3 -3
- package/onboarding/prompts/framework/strands-typescript.md +3 -3
- package/onboarding/prompts/frontend/angular.md +4 -4
- package/onboarding/prompts/frontend/nextjs.md +4 -4
- package/onboarding/prompts/frontend/plan.md +12 -12
- package/onboarding/prompts/frontend/react-native.md +3 -3
- package/onboarding/prompts/frontend/react-spa.md +3 -3
- package/onboarding/prompts/frontend/vue.md +3 -3
- package/onboarding/prompts/implementation/build-and-validate.md +32 -14
- package/onboarding/prompts/proof/complete.md +6 -7
- package/onboarding/prompts/proof/oss-baseline.md +24 -5
- package/onboarding/prompts/proof/round-trip.md +41 -21
- package/onboarding/prompts/research/gather.md +85 -40
- package/onboarding/prompts/research/merge.md +3 -3
- package/onboarding/prompts/research/preflight.md +2 -2
- package/onboarding/prompts/research/route.md +10 -4
- package/onboarding/prompts/setup/questions.md +53 -234
- package/onboarding/prompts/starter/clone.md +43 -34
- package/onboarding/prompts/stopped/run-failed.md +3 -3
- package/onboarding/prompts/subagent/create-plan.md +57 -34
- package/onboarding/prompts/subagent/implement-and-validate.md +40 -35
- package/onboarding/prompts/subagent/inspect-repository.md +17 -4
- package/onboarding/prompts/subagent/prove-oss-baseline.md +24 -1
- package/onboarding/prompts/subagent/prove-round-trip.md +55 -49
- package/onboarding/prompts/unsupported/no-validated-path.md +3 -3
- package/package.json +1 -1
- package/release/release-tool.js +8 -1
package/README.md
CHANGED
|
@@ -422,9 +422,12 @@ where it found it in `detected_coding_agent_source`. `cli.onboarding.started` al
|
|
|
422
422
|
no identify event. It also carries `audience`: `detected-agent` when the
|
|
423
423
|
environment shows an agent, `human-terminal` for a terminal with no detected
|
|
424
424
|
agent, and `non-tty` otherwise. A run sends `cli.onboarding.started` once. A
|
|
425
|
-
later `onboard start` for the same run and intent
|
|
426
|
-
|
|
427
|
-
`cli.onboarding.prompt_served`.
|
|
425
|
+
later `onboard start` for the same run and intent sends no second start. Before
|
|
426
|
+
the run reads a second step, it prints the first prompt again, so the repeat
|
|
427
|
+
shows only as `prompt_repeat` on `cli.onboarding.prompt_served`. After that, it
|
|
428
|
+
prints no prompt: it names the step the run is at, skipping `subagent/` briefs.
|
|
429
|
+
It then sends `cli.onboarding.prompt_served` for that step with `reentry: start`,
|
|
430
|
+
so `prompt_repeat` still counts the repeat. A feature run that reads a node of another
|
|
428
431
|
feature moves to that feature's intent. It sends `cli.onboarding.intent_switched`
|
|
429
432
|
with `previous_intent` and the new `onboarding_intent`, and every later event
|
|
430
433
|
carries the new intent. Before sign-in, the first prompt records where the
|
|
@@ -457,6 +460,10 @@ The fields:
|
|
|
457
460
|
events do not have it. The total always has it when setup finished.
|
|
458
461
|
- The total carries `duration_ms`, `outcome`, and `phase_count`. A failed setup adds
|
|
459
462
|
`failed_setup_phase`.
|
|
463
|
+
- The total also carries `learning_model`: `configured` when the stack gets a Learning
|
|
464
|
+
model, or `deferred` when setup ran with `--defer-model` or "configure later". A resumed
|
|
465
|
+
setup reports the choice it saved. The total has no `learning_model` when setup stopped
|
|
466
|
+
before the choice was known, for example at the Docker check.
|
|
460
467
|
- A failed setup also adds `failure_reason` to the total and to the failed phase. It is
|
|
461
468
|
a fixed slug that comes from the error's type, never from its message. Examples:
|
|
462
469
|
`docker_unavailable`, `authentication_required`, `memory_short`, `cpu_short`,
|
|
@@ -1101,8 +1108,9 @@ It prints one line on stderr that names the run whose backup it is.
|
|
|
1101
1108
|
- `onboard credentials` reports the backup as `backup.status`: `ok`, `partial`
|
|
1102
1109
|
with each path it left out and why, `pending` when the backup waits for
|
|
1103
1110
|
`onboard start --move`, or `failed` with the cause. A symlink to a file or
|
|
1104
|
-
folder the backup holds does not count as left out. The onboarding plan
|
|
1105
|
-
a `partial` or `failed` backup
|
|
1111
|
+
folder the backup holds does not count as left out. The onboarding plan lists
|
|
1112
|
+
a `partial` or `failed` backup under the changes that need your approval, and
|
|
1113
|
+
waits for your answer.
|
|
1106
1114
|
|
|
1107
1115
|
Backups live in `~/.copilotkit/backups/<run-id>/`, or in
|
|
1108
1116
|
`$COPILOTKIT_CONFIG_DIR/backups/` when that is set. Besides the current run, the
|
|
@@ -1197,10 +1205,11 @@ Outside a repository, `copilotkit init` runs `git init` in the new app and makes
|
|
|
1197
1205
|
an initial commit when a git identity is configured, so you have a restore point
|
|
1198
1206
|
before you start editing.
|
|
1199
1207
|
|
|
1200
|
-
Inside a repository you already have, it does neither.
|
|
1201
|
-
|
|
1202
|
-
repository
|
|
1203
|
-
|
|
1208
|
+
Inside a repository you already have, it does neither. This includes a target
|
|
1209
|
+
folder that is a repository itself. A second `git init` would make the new app a
|
|
1210
|
+
nested repository: commits made in it would go to the inner repository, while the
|
|
1211
|
+
outer one saw only an untracked directory. The CLI names the repository it found,
|
|
1212
|
+
commits nothing, and leaves the new app for you to review with `git status`. A repository
|
|
1204
1213
|
at your home directory, or above it, does not count here, so an app created below
|
|
1205
1214
|
it gets its own `git init`.
|
|
1206
1215
|
|
|
@@ -1347,6 +1356,12 @@ wired app returns too. The report shows it as `WARN`, `--json` names it in
|
|
|
1347
1356
|
warns when the agent answers without the context value, because a correctly
|
|
1348
1357
|
wired agent that keeps to its own task answers that way too.
|
|
1349
1358
|
|
|
1359
|
+
`page_context_reaches_agent` runs after every passing round trip, also for a
|
|
1360
|
+
frontend whose files call no context hook. CopilotKit's frontend sends context
|
|
1361
|
+
entries of its own, such as the A2UI catalog, and an agent that breaks on
|
|
1362
|
+
context fails every browser chat while a plain request still answers. For such a
|
|
1363
|
+
frontend, any answer passes, and a run with no answer fails.
|
|
1364
|
+
|
|
1350
1365
|
With `--json` the payload is the only thing on stdout and every diagnostic goes
|
|
1351
1366
|
to stderr, so piping is safe.
|
|
1352
1367
|
|
|
@@ -1382,7 +1397,10 @@ checks.
|
|
|
1382
1397
|
2. `"runtimeUrl"` in `.copilotkit/project.json` — an absolute URL for a
|
|
1383
1398
|
project whose runtime is somewhere none of the below can find it. Add it by
|
|
1384
1399
|
hand, or let `project select --runtime-url <url>` or
|
|
1385
|
-
`onboard runtime-url --url <url>` write it. The CLI never removes one
|
|
1400
|
+
`onboard runtime-url --url <url>` write it. The CLI never removes one, but
|
|
1401
|
+
in an onboarding run it can replace one that refuses connections:
|
|
1402
|
+
`verify --round-trip --runtime-url <url>` and `onboard proof-check` can
|
|
1403
|
+
write the new URL. See [`verify` probes port 3000 while the app runs on another port](#verify-probes-port-3000-while-the-app-runs-on-another-port).
|
|
1386
1404
|
3. `COPILOTKIT_RUNTIME_URL` in the project's `.env` / `.env.local`, when it is
|
|
1387
1405
|
absolute.
|
|
1388
1406
|
4. The port the app's own dev configuration declares: `PORT` in its env files,
|
|
@@ -1460,10 +1478,33 @@ request in hand is a `resource/request`, and an `info` call never is. A runtime
|
|
|
1460
1478
|
below `@copilotkit/runtime` 1.70.2 reports no `singleRoute` block and therefore
|
|
1461
1479
|
cannot say, so the check is `UNKNOWN` there and names the upgrade.
|
|
1462
1480
|
|
|
1481
|
+
### Sending one run body and reading its events
|
|
1482
|
+
|
|
1483
|
+
`--send-run <file>` sends the AG-UI run body in `<file>` to the agent that
|
|
1484
|
+
`--agent` names, and writes the events the run streams to
|
|
1485
|
+
`<file name>.events.jsonl` beside it. It runs no check. It prints the answer
|
|
1486
|
+
text, the tool calls, and the events path, and exits non-zero when the run did
|
|
1487
|
+
not finish or ended in a `RUN_ERROR`.
|
|
1488
|
+
|
|
1489
|
+
```bash
|
|
1490
|
+
copilotkit verify --send-run .copilotkit/proof/context-run.json --agent incident_triage --json
|
|
1491
|
+
```
|
|
1492
|
+
|
|
1493
|
+
A runtime wired to Intelligence answers the run with a join token instead of an
|
|
1494
|
+
event stream, and the events travel over the realtime gateway. The token is
|
|
1495
|
+
single-use and expires 30 seconds after the run starts. The command joins the
|
|
1496
|
+
gateway channel as soon as the run answers. If the gateway still refuses the
|
|
1497
|
+
token, the command asks the runtime's `/connect` route for a fresh one, once,
|
|
1498
|
+
and reads only this run from the channel's replay. Every send gets a new
|
|
1499
|
+
`runId`, and a body without `threadId` gets one. A runtime mounted
|
|
1500
|
+
`mode: "single-route"` gets the run inside its envelope. A second send of the
|
|
1501
|
+
same file replaces its events file. `--timeout` bounds the whole capture
|
|
1502
|
+
(default: 90 seconds).
|
|
1503
|
+
|
|
1463
1504
|
### Proving the agent runs, not just that it is configured
|
|
1464
1505
|
|
|
1465
1506
|
Every check above describes the project. `--round-trip` makes it work: it sends
|
|
1466
|
-
one real request through the runtime and reads the answer
|
|
1507
|
+
one real request through the runtime and reads the agent's answer.
|
|
1467
1508
|
|
|
1468
1509
|
```bash
|
|
1469
1510
|
copilotkit verify --round-trip
|
|
@@ -1471,14 +1512,23 @@ copilotkit verify --round-trip --agent incident_triage # several declared
|
|
|
1471
1512
|
copilotkit verify --round-trip --header "Cookie: session=…" # auth-gated app
|
|
1472
1513
|
```
|
|
1473
1514
|
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1515
|
+
In Intelligence mode, the run returns a thread lock, a join token and a gateway
|
|
1516
|
+
URL. The agent's events travel over the realtime gateway, on the stream that the
|
|
1517
|
+
app's chat shows. `verify` joins that stream as soon as the run answers, and
|
|
1518
|
+
reads the answer from it. A 200 on the run proves only that a run started. A
|
|
1519
|
+
runtime that stops mid-turn also returns that 200, so the answer itself must
|
|
1520
|
+
arrive. The platform saves the thread from the same events later. Under load,
|
|
1521
|
+
the saved thread can lag the run by minutes, so it does not decide the verdict.
|
|
1522
|
+
|
|
1523
|
+
In four cases, `verify` reads the answer back from `GET /threads/:id/messages`:
|
|
1524
|
+
|
|
1525
|
+
- The runtime streams SSE.
|
|
1526
|
+
- This Node.js has no `WebSocket`.
|
|
1527
|
+
- The gateway refuses the join.
|
|
1528
|
+
- The stream ends with no text.
|
|
1529
|
+
|
|
1530
|
+
The thread that the run reports wins over the thread that the CLI sent, because
|
|
1531
|
+
Intelligence rewrites both ids when it takes the lock.
|
|
1482
1532
|
|
|
1483
1533
|
The assertion is that a non-empty answer came back, never what it said, so the
|
|
1484
1534
|
verdict does not depend on the model behind the agent. It costs a model call and
|
|
@@ -1510,7 +1560,10 @@ no thread. It reads the thread from app-api with the project key, so it needs no
|
|
|
1510
1560
|
`--expect-learning-container` checks that same thread. A pass proves that the
|
|
1511
1561
|
agent's answer was recorded on that thread. It does not prove which end user the
|
|
1512
1562
|
thread belongs to. A thread app-api does not hold for this project is a `FAIL`.
|
|
1513
|
-
Only an answer after the thread's newest user message counts.
|
|
1563
|
+
Only an answer after the thread's newest user message counts. App-api can save
|
|
1564
|
+
that answer minutes after the run under load. If the newest user message has no
|
|
1565
|
+
answer yet, `--thread` reads the thread again once a second. It waits up to 60
|
|
1566
|
+
seconds before it reports a `FAIL`. Inside an
|
|
1514
1567
|
onboarding run, a thread that did not change after the run started is a `FAIL`,
|
|
1515
1568
|
because its answer can predate the app as it is now. With `--agent`, a thread
|
|
1516
1569
|
of another agent is a `FAIL`, and the evidence names the thread's own agent.
|
|
@@ -1529,6 +1582,15 @@ the coding agent, decides three things about it:
|
|
|
1529
1582
|
to the run's code. `developer` means an answer or an action only the developer
|
|
1530
1583
|
can give. Where the check started a server, the step carries the last lines of
|
|
1531
1584
|
its log.
|
|
1585
|
+
- A failing `runtime-answers` or `round-trip:agent_answers` check names why in
|
|
1586
|
+
`failureKind`, such as `runtime-timeout`, `run-error`, `run-refused`,
|
|
1587
|
+
`read-refused`, `agent-missing` or `agent-ambiguous`. `run-refused` is a run
|
|
1588
|
+
the runtime refused with 401, 402, 403 or 429. That status usually comes from
|
|
1589
|
+
the Intelligence platform key or the app's own auth, so it names no provider.
|
|
1590
|
+
A failed run whose error carried the provider's own code also names it in
|
|
1591
|
+
`providerError`: `auth`, `quota`, `model-not-found`, `rate-limit` or `other`.
|
|
1592
|
+
It is read from that code, never from a status or a message.
|
|
1593
|
+
`verify --round-trip --json` reports both on `roundTrip` too.
|
|
1532
1594
|
- When the same check fails three proof checks in a row, the command prints
|
|
1533
1595
|
`Status: stopped`. A later `onboard proof-check` in the same attempt starts no
|
|
1534
1596
|
server and prints the same stop. Recording the attempt with `onboard proof`
|
|
@@ -1628,10 +1690,30 @@ project record, it writes nothing and exits non-zero.
|
|
|
1628
1690
|
Inside an onboarding run, a `verify --round-trip --runtime-url <url>` that
|
|
1629
1691
|
passes on a runtime other than the recorded one does not count for the run.
|
|
1630
1692
|
`verify` says so on stderr, and in `roundTripNotRecorded` with `--json`, and
|
|
1631
|
-
names this command.
|
|
1693
|
+
names this command.
|
|
1694
|
+
|
|
1695
|
+
There is one exception. The pass counts, and `verify` writes `<url>` into the
|
|
1696
|
+
record, when all of these are true:
|
|
1697
|
+
|
|
1698
|
+
- the recorded URL refuses the connection. A timeout, a TLS error, or any
|
|
1699
|
+
answer, even an error, keeps the record;
|
|
1700
|
+
- `<url>` is on this machine;
|
|
1701
|
+
- a process whose working directory is inside this project listens on the
|
|
1702
|
+
port of `<url>`.
|
|
1703
|
+
|
|
1704
|
+
`verify` asks the recorded URL without the `--header` values. In the same
|
|
1705
|
+
run, `onboard proof-check` replaces a recorded URL where nothing answers when
|
|
1706
|
+
the app's server was already running. It writes the port that server holds. `onboard proof` then names that runtime too. The CLI reads
|
|
1632
1707
|
`localhost`, `127.0.0.1`, `0.0.0.0`, and `[::1]` on the same port and path as
|
|
1633
1708
|
one runtime.
|
|
1634
1709
|
|
|
1710
|
+
`onboard proof-check` restarts a server of the app that started before an env file it reads
|
|
1711
|
+
was written, and names the old pids under `servers[].restarted`. After it starts a server, it
|
|
1712
|
+
waits up to 90 seconds for the runtime's `/info`. It waits only while nothing answers or the
|
|
1713
|
+
server answers with an error, as a dev server does while it compiles. A runtime still not up
|
|
1714
|
+
after the wait fails `runtime-answers` with `runtime-not-found`. Any other answer, such as a
|
|
1715
|
+
401, goes on to `verify`. `serverWaitMs` says how long the wait took.
|
|
1716
|
+
|
|
1635
1717
|
### A model key has no credits or is rejected
|
|
1636
1718
|
|
|
1637
1719
|
A key with no credits passes every static check. The first model call then
|
|
@@ -1674,8 +1756,10 @@ the Responses API, which the AI SDK uses. The JSON reports the model as `model`,
|
|
|
1674
1756
|
it was set as `modelSource`, and the env file that holds it as `modelFile`. The fix for a
|
|
1675
1757
|
refused model names that file. The key and the model can live in different files, as in
|
|
1676
1758
|
the Microsoft Agent Framework Python starter. A model the vendor says it does not serve is a `fail` with
|
|
1677
|
-
the cause `model_unavailable`. When the probe passed, the message names the
|
|
1678
|
-
|
|
1759
|
+
the cause `model_unavailable`. When the probe passed, the message names the model that the
|
|
1760
|
+
app's `.env.example` sets in `COPILOTKIT_AGENT_MODEL`, if it is a different model for the same
|
|
1761
|
+
vendor. It never names the probe model: the probe sends a plain request, and the app sends
|
|
1762
|
+
system messages and page context, so a model that answers the probe can still fail every chat. After the probe passed, a 403 or a spent quota on the app's
|
|
1679
1763
|
model is `model_unavailable` too: the key works, and Google gives some models no free-tier
|
|
1680
1764
|
quota. A bare 404 is `undetermined`, because a wrong base URL path answers 404 too. The command reads the variable from the shell first, then from the service whose base URL
|
|
1681
1765
|
the key goes to, or else from the first service that sets it (see below). The JSON names
|
|
@@ -1776,11 +1860,17 @@ It records every answer from the setup message for the bound run, so a later
|
|
|
1776
1860
|
step reads it even after the coding agent lost its context:
|
|
1777
1861
|
|
|
1778
1862
|
- `--purpose <text>`, `--framework <name>`, and `--frontend <name>`.
|
|
1779
|
-
`--framework` takes a framework slug or a name from the
|
|
1780
|
-
|
|
1863
|
+
`--framework` takes a framework slug or a name from the framework table that
|
|
1864
|
+
`onboard setup-message --options` lists. Another framework's name is recorded as `frameworkName`, with
|
|
1781
1865
|
`framework` set to `custom-ag-ui`, the route that builds it. A name close to
|
|
1782
1866
|
a table row is refused with that row named. Add `--custom-framework` to
|
|
1783
|
-
record it as given.
|
|
1867
|
+
record it as given. A framework recorded before any setup message, for a
|
|
1868
|
+
project with no agent of its own, is kept as a default
|
|
1869
|
+
(`frameworkChoice: default`), because research only inferred it. A provider
|
|
1870
|
+
the developer names later can then replace it with one that takes that
|
|
1871
|
+
provider. Add `--framework-choice developer` for a framework the developer
|
|
1872
|
+
named. A framework recorded with `--vendor-choice existing`, or after the
|
|
1873
|
+
message, is the developer's.
|
|
1784
1874
|
- `--vendor <openai|anthropic|google|openai-compatible|other>`, with
|
|
1785
1875
|
`--vendor-choice <developer|default|existing>`. An OpenAI-compatible provider
|
|
1786
1876
|
also needs `--base-url <url>`, an http or https URL with no user, password, or
|
|
@@ -1792,6 +1882,9 @@ step reads it even after the coding agent lost its context:
|
|
|
1792
1882
|
(`--connection approved|declined`), and the approval to write to an env file
|
|
1793
1883
|
or `.copilotkit/project.json` with uncommitted changes
|
|
1794
1884
|
(`--uncommitted-writes approved|declined`).
|
|
1885
|
+
- The env-file answer, when git tracks the env file the key goes into or does
|
|
1886
|
+
not ignore it: `--env-line approved|alternative|declined`.
|
|
1887
|
+
`credentials/finalize-plan` reads it, so the developer is not asked twice.
|
|
1795
1888
|
|
|
1796
1889
|
A later call replaces only the answers it names. The vendor flags replace the
|
|
1797
1890
|
recorded vendor answer as a whole. With no flag, it prints what the run recorded
|
|
@@ -1801,6 +1894,48 @@ must name an existing file. When the key file sets `OPENAI_BASE_URL`, the JSON s
|
|
|
1801
1894
|
A free-text answer shaped like a key, such as an `sk-`, `gsk_`, or `AIza` key or
|
|
1802
1895
|
a long random token, is refused the same way.
|
|
1803
1896
|
|
|
1897
|
+
`onboard setup-message` writes the setup message the coding agent shows the
|
|
1898
|
+
developer. The agent first records what the repository already settles with
|
|
1899
|
+
`setup-answers`, then runs it from the target app directory:
|
|
1900
|
+
|
|
1901
|
+
```bash
|
|
1902
|
+
copilotkit onboard setup-message --target empty --json
|
|
1903
|
+
copilotkit onboard setup-message --target empty --options --json
|
|
1904
|
+
copilotkit onboard setup-message --target empty --options framework --json
|
|
1905
|
+
copilotkit onboard setup-message --target empty --accept-defaults --json
|
|
1906
|
+
```
|
|
1907
|
+
|
|
1908
|
+
It prints `status`, the `message` to show word for word, the `open` lines, and
|
|
1909
|
+
`next`, what the agent does after it:
|
|
1910
|
+
|
|
1911
|
+
- `ask`: show `message`, wait, and record the reply. The message puts every
|
|
1912
|
+
default on one line that **go** accepts. The model key is the one question
|
|
1913
|
+
**go** never answers: the developer names the file that holds it, or says
|
|
1914
|
+
"later". The message also holds every line that needs the developer's own
|
|
1915
|
+
answer, such as an env file to untrack or files with uncommitted changes.
|
|
1916
|
+
- `settled`: every line is answered. The run goes on to `credentials/plan`.
|
|
1917
|
+
- `needs-credentials`: an existing app on the managed route has no project
|
|
1918
|
+
finding yet. The command runs the read-only `onboard credentials` check
|
|
1919
|
+
itself first, so the env-file and project lines go into the one message with
|
|
1920
|
+
the key. Only a check that settles neither line leaves this status, and the
|
|
1921
|
+
agent then runs `onboard credentials --json` itself.
|
|
1922
|
+
- `stopped`: that check stopped onboarding. It already filed the stop report,
|
|
1923
|
+
and `stopReason` says why.
|
|
1924
|
+
- `needs-toolchain`: the developer chose a framework this machine cannot run
|
|
1925
|
+
yet. The message names what to install, and the run resumes after a restart.
|
|
1926
|
+
|
|
1927
|
+
The summary line names every line, the recorded ones too, while one of them
|
|
1928
|
+
still holds a default. `--options` shows every line with its recommendation
|
|
1929
|
+
first and its likeliest two or three alternatives. `--options <line>`, such as
|
|
1930
|
+
`--options framework` or `--options frontend`, lists every choice on that one
|
|
1931
|
+
line. `--accept-defaults`
|
|
1932
|
+
records the defaults the reply did not change, then prints what is still open.
|
|
1933
|
+
`--language <typescript|python|dotnet>` picks the framework for a project with
|
|
1934
|
+
no agent, and `--vendor` names a model vendor the developer asked for. A vendor
|
|
1935
|
+
the framework does not take becomes a line of its own. On the local route,
|
|
1936
|
+
which `onboard deployment` now records, the message holds the Learning model,
|
|
1937
|
+
the agreement and the connection lines instead of a project.
|
|
1938
|
+
|
|
1804
1939
|
Only the developer accepts the local evaluation agreement, in their own
|
|
1805
1940
|
terminal, with `copilotkit local accept-terms`. The command refuses to run
|
|
1806
1941
|
without a terminal or when a coding agent runs it. It shows the agreement, its
|
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.29.0"
|
|
6
6
|
},
|
|
7
7
|
"intelligence": {
|
|
8
|
-
"commit": "
|
|
8
|
+
"commit": "c2941f81dd4028b36bcc8d09cead7a5cf9381519"
|
|
9
9
|
},
|
|
10
10
|
"copilotKit": {
|
|
11
|
-
"submittedInput": "
|
|
12
|
-
"commit": "
|
|
11
|
+
"submittedInput": "c616389550105d5a96d74501f77c6921aa79ecee",
|
|
12
|
+
"commit": "c616389550105d5a96d74501f77c6921aa79ecee"
|
|
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": "38603793405",
|
|
18
|
+
"runUrl": "https://github.com/CopilotKit/Intelligence/actions/runs/38603793405"
|
|
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-14T17:08:34Z"
|
|
28
28
|
}
|