copilotkit 4.12.0 → 4.13.1
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 +10 -0
- package/cli-build-info.json +7 -7
- package/index.js +1590 -348
- package/onboarding/index.json +20 -2
- package/onboarding/prompts/authenticate/start.md +38 -33
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +9 -8
- package/onboarding/prompts/credentials/plan.md +26 -20
- package/onboarding/prompts/credentials/settle-credentials.md +8 -8
- package/onboarding/prompts/credentials/write-plan.md +19 -6
- package/onboarding/prompts/fallback/best-effort.md +6 -6
- package/onboarding/prompts/feature/a2ui/implement.md +6 -6
- package/onboarding/prompts/feature/a2ui/proof.md +6 -6
- package/onboarding/prompts/feature/a2ui/start.md +7 -7
- package/onboarding/prompts/feature/channels/implement.md +75 -12
- package/onboarding/prompts/feature/channels/proof.md +13 -6
- package/onboarding/prompts/feature/channels/start.md +27 -10
- package/onboarding/prompts/feature/chat-suggestions/implement.md +6 -6
- package/onboarding/prompts/feature/chat-suggestions/proof.md +6 -6
- package/onboarding/prompts/feature/chat-suggestions/start.md +7 -7
- package/onboarding/prompts/feature/complete.md +1 -1
- package/onboarding/prompts/feature/learning/implement.md +15 -15
- package/onboarding/prompts/feature/learning/proof.md +7 -7
- package/onboarding/prompts/feature/learning/start.md +8 -8
- package/onboarding/prompts/feature/open-generative-ui/implement.md +6 -6
- package/onboarding/prompts/feature/open-generative-ui/proof.md +6 -6
- package/onboarding/prompts/feature/open-generative-ui/start.md +7 -7
- package/onboarding/prompts/feature/realtime-sync/implement.md +7 -7
- package/onboarding/prompts/feature/realtime-sync/proof.md +6 -6
- package/onboarding/prompts/feature/realtime-sync/start.md +6 -6
- package/onboarding/prompts/feature/rich-threads/implement.md +8 -8
- package/onboarding/prompts/feature/rich-threads/proof.md +6 -6
- package/onboarding/prompts/feature/rich-threads/start.md +6 -6
- package/onboarding/prompts/feature/stop.md +2 -2
- package/onboarding/prompts/feature/voice/implement.md +6 -6
- package/onboarding/prompts/feature/voice/proof.md +6 -6
- package/onboarding/prompts/feature/voice/start.md +7 -7
- package/onboarding/prompts/framework/ag2.md +2 -2
- package/onboarding/prompts/framework/agno.md +2 -2
- package/onboarding/prompts/framework/built-in.md +4 -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 +5 -2
- package/onboarding/prompts/framework/google-adk.md +4 -2
- package/onboarding/prompts/framework/langgraph-fastapi.md +4 -3
- package/onboarding/prompts/framework/langgraph-python.md +6 -2
- package/onboarding/prompts/framework/langgraph-typescript.md +6 -2
- package/onboarding/prompts/framework/llamaindex.md +2 -2
- package/onboarding/prompts/framework/mastra.md +4 -2
- package/onboarding/prompts/framework/ms-agent-dotnet.md +4 -2
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +2 -2
- package/onboarding/prompts/framework/ms-agent-python.md +4 -2
- package/onboarding/prompts/framework/pydantic-ai.md +2 -2
- package/onboarding/prompts/framework/strands-python.md +4 -2
- package/onboarding/prompts/framework/strands-typescript.md +4 -2
- package/onboarding/prompts/frontend/angular.md +3 -3
- package/onboarding/prompts/frontend/nextjs.md +3 -3
- package/onboarding/prompts/frontend/plan.md +21 -10
- 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 +33 -15
- package/onboarding/prompts/proof/complete.md +35 -16
- package/onboarding/prompts/proof/oss-baseline.md +5 -5
- package/onboarding/prompts/proof/round-trip.md +23 -12
- package/onboarding/prompts/research/gather.md +12 -102
- package/onboarding/prompts/research/merge.md +60 -0
- package/onboarding/prompts/research/preflight.md +75 -0
- package/onboarding/prompts/research/route.md +30 -6
- package/onboarding/prompts/starter/clone.md +5 -5
- package/onboarding/prompts/stopped/run-failed.md +2 -2
- package/onboarding/prompts/subagent/create-plan.md +18 -1
- package/onboarding/prompts/subagent/implement-and-validate.md +37 -0
- package/onboarding/prompts/subagent/inspect-repository.md +1 -1
- package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
- package/onboarding/prompts/subagent/prove-round-trip.md +17 -7
- package/onboarding/prompts/unsupported/no-validated-path.md +2 -2
- package/package.json +4 -1
- package/release/release-tool.js +101 -1
|
@@ -46,7 +46,7 @@ the derived name.
|
|
|
46
46
|
Only if the developer asks for an existing project, or asks to see the projects they have,
|
|
47
47
|
read the choices:
|
|
48
48
|
|
|
49
|
-
`npx --yes copilotkit@4.
|
|
49
|
+
`npx --yes copilotkit@4.13.1 project list --json`
|
|
50
50
|
|
|
51
51
|
Then ask which one to use. Do not order the projects by creation time. If the developer
|
|
52
52
|
already gave this answer, do not ask again. Do not read a secret value. Do not show or
|
|
@@ -56,7 +56,7 @@ Run the command from the parent directory. Do not inspect another entry in the p
|
|
|
56
56
|
directory. Replace each placeholder with the recorded value. Do not run a placeholder as
|
|
57
57
|
a shell argument.
|
|
58
58
|
|
|
59
|
-
`npx --yes copilotkit@4.
|
|
59
|
+
`npx --yes copilotkit@4.13.1 init --name <project-name> --framework <framework-id> --channel none --no-banner --create <name> --install`
|
|
60
60
|
|
|
61
61
|
Pass the confirmed name to both `--name` and `--create`: the app directory and its
|
|
62
62
|
Intelligence project take the same name here. If the developer names an existing project,
|
|
@@ -72,7 +72,7 @@ account. The command does not need terminal input.
|
|
|
72
72
|
Report the clone before you inspect anything:
|
|
73
73
|
|
|
74
74
|
```text
|
|
75
|
-
npx --yes copilotkit@4.
|
|
75
|
+
npx --yes copilotkit@4.13.1 onboard checkpoint --phase starter-cloned
|
|
76
76
|
```
|
|
77
77
|
|
|
78
78
|
This is its own step, not an aside. A run that clones and then goes quiet is
|
|
@@ -82,10 +82,10 @@ separates them.
|
|
|
82
82
|
Do not rebuild the starter by hand. Then inspect only the generated
|
|
83
83
|
paths inside the target directory. Record the files, install result, project connection,
|
|
84
84
|
and validation commands. Then run
|
|
85
|
-
`npx --yes copilotkit@4.
|
|
85
|
+
`npx --yes copilotkit@4.13.1 onboard read proof/round-trip`.
|
|
86
86
|
|
|
87
87
|
If the command fails, report its exact error and do not claim that the starter is ready.
|
|
88
88
|
Then run
|
|
89
|
-
`npx --yes copilotkit@4.
|
|
89
|
+
`npx --yes copilotkit@4.13.1 onboard read stopped/run-failed`. The starter is one this
|
|
90
90
|
graph ships and the stack was chosen from its own supported list, so a command that
|
|
91
91
|
returned an error is a run that broke, not a setup this release does not support.
|
|
@@ -35,7 +35,7 @@ put to them, stop here and send the report below.
|
|
|
35
35
|
If they approve it, make that one fix and nothing else. Then come back into this run:
|
|
36
36
|
|
|
37
37
|
```text
|
|
38
|
-
npx --yes copilotkit@4.
|
|
38
|
+
npx --yes copilotkit@4.13.1 onboard resume
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
Write the developer's approval to standard input, in one or two sentences: the fix they
|
|
@@ -58,7 +58,7 @@ Send one short report. Run the friction command without another developer questi
|
|
|
58
58
|
ask the developer about telemetry: the command applies the setting they already have.
|
|
59
59
|
|
|
60
60
|
```text
|
|
61
|
-
npx --yes copilotkit@4.
|
|
61
|
+
npx --yes copilotkit@4.13.1 onboard friction --phase stop --category <slug>
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
Write one or two sentences to standard input: the step you stopped at and what stopped
|
|
@@ -15,6 +15,23 @@ URLs you were given, not from another checkout on this machine.
|
|
|
15
15
|
List the required credential variable names. Do not read or return credential values.
|
|
16
16
|
Preserve each agent or frontend that already exists.
|
|
17
17
|
|
|
18
|
+
## What the existing agent's behavior is
|
|
19
|
+
|
|
20
|
+
The existing agent's behavior is four things: its system prompt and instructions, its
|
|
21
|
+
tools and what those tools do, its model and provider configuration, and its memory or
|
|
22
|
+
state handling.
|
|
23
|
+
|
|
24
|
+
Wiring is not behavior. The CopilotKit SDK dependency, the middleware the agent is wrapped
|
|
25
|
+
in, the runtime mount, the AG-UI connection, and a frontend that renders what the agent
|
|
26
|
+
already returns are wiring. Plan them as ordinary steps.
|
|
27
|
+
|
|
28
|
+
Every item on the behavior list is a change the developer has to approve. Where a step
|
|
29
|
+
needs one, plan it as its own item, name the file and the exact change, and state that it
|
|
30
|
+
changes how the agent answers everywhere, not only in CopilotKit. A system prompt the
|
|
31
|
+
developer wrote is the agent's behavior rather than a setting this run tunes until a
|
|
32
|
+
component renders. Where the plan cannot be written without such a change and you cannot
|
|
33
|
+
state it that way, return `Status: blocked`.
|
|
34
|
+
|
|
18
35
|
Plan the runtime to consume the Intelligence credential. The runtime takes an
|
|
19
36
|
`intelligence` option holding a client built from the project key. A runtime given a
|
|
20
37
|
`runner` option instead is the OSS runtime. It never reads the Intelligence key, and the
|
|
@@ -153,7 +170,7 @@ here is work the developer did not ask for.
|
|
|
153
170
|
Plan the threads drawer itself: add it from the selected drawer page, where this frontend
|
|
154
171
|
does not already render one. Where this journey's frontend framework ships no threads
|
|
155
172
|
drawer -- React Native --, plan that the thread is proved by
|
|
156
|
-
`npx --yes copilotkit@4.
|
|
173
|
+
`npx --yes copilotkit@4.13.1 verify --round-trip`, which needs no browser. Do not plan a
|
|
157
174
|
step that opens the managed Intelligence dashboard.
|
|
158
175
|
|
|
159
176
|
## Order the plan into steps
|
|
@@ -13,6 +13,13 @@ Change only the files and directories the approved plan names as changeable. If
|
|
|
13
13
|
requires a file the plan does not name, stop and return the blocker. Do not run a
|
|
14
14
|
repository-wide formatter.
|
|
15
15
|
|
|
16
|
+
All implementation work happens in the run root's own working tree: the target app
|
|
17
|
+
directory the main coding agent named. Never work in a separate worktree, a branch
|
|
18
|
+
checkout, or a copy of the project. If any of your changes are already somewhere else,
|
|
19
|
+
bring them into the run root before you report, and name them under Files changed. The
|
|
20
|
+
completion step verifies that the changed files exist in this project, so work left in
|
|
21
|
+
another tree ends the run with nothing in the developer's hands.
|
|
22
|
+
|
|
16
23
|
Before validation, read the protected path list. Inspect the current changed and untracked
|
|
17
24
|
paths. Keep protected paths out of the run path set. Compare every changed path with the
|
|
18
25
|
paths the plan named. Here, a changed path means one in the run path set. If a changed path
|
|
@@ -26,6 +33,19 @@ Add only the props, options, and imports that appear in the fetched documentatio
|
|
|
26
33
|
remembered API from an earlier CopilotKit version will fail type checking against this
|
|
27
34
|
release. Do not add details that the fetched documentation omits.
|
|
28
35
|
|
|
36
|
+
A symbol the installed package marks `@deprecated` in its type definitions is not a valid
|
|
37
|
+
choice, whatever documentation found elsewhere shows. Read the installed type definitions
|
|
38
|
+
for the symbol you are about to write. Where the selected documentation page itself shows
|
|
39
|
+
a deprecated symbol, name that page under Blockers as `docs-wrong` friction and use the
|
|
40
|
+
current symbol the package's own type definitions or changelog names.
|
|
41
|
+
|
|
42
|
+
A symbol this graph names is not that case. The approved plan and the framework
|
|
43
|
+
node carry the connection API for this stack, and `LangGraphAgent` from
|
|
44
|
+
`@copilotkit/runtime/langgraph` is one of them: deprecated at its entrypoint,
|
|
45
|
+
still the documented LangSmith path, and given no replacement by its own tooltip.
|
|
46
|
+
Write what the plan names. Do not rewrite a cloned starter to satisfy this rule,
|
|
47
|
+
and do not name the page that shows it under Blockers.
|
|
48
|
+
|
|
29
49
|
The documentation supplies the wiring. The project supplies the application. Use that
|
|
30
50
|
wiring in the project's domain. Do not copy an example's agent name, tools, or data.
|
|
31
51
|
|
|
@@ -34,6 +54,23 @@ connection. Do not read, show, store, or return secrets. Do not read a file outs
|
|
|
34
54
|
project directory: not for a credential, and not for an API question the fetched
|
|
35
55
|
documentation answers. Ask the main coding agent for a missing credential.
|
|
36
56
|
|
|
57
|
+
## What the existing agent's behavior is
|
|
58
|
+
|
|
59
|
+
The existing agent's behavior is four things: its system prompt and instructions, its
|
|
60
|
+
tools and what those tools do, its model and provider configuration, and its memory or
|
|
61
|
+
state handling. Write none of them unless the approved plan named that exact change as its
|
|
62
|
+
own item.
|
|
63
|
+
|
|
64
|
+
Wiring is not behavior. Add the CopilotKit SDK dependency, wrap the agent in the
|
|
65
|
+
middleware, mount the runtime, connect AG-UI, and render what the agent already returns.
|
|
66
|
+
Those are the parts this run adds.
|
|
67
|
+
|
|
68
|
+
A change on the behavior list changes how the agent answers everywhere, not only in
|
|
69
|
+
CopilotKit, so the developer approves it before it is written. Where a step cannot be
|
|
70
|
+
built without one the plan did not name, return `Status: blocked` and name the file, the
|
|
71
|
+
change, and the check that asked for it. Do not edit the agent's prompt to make a
|
|
72
|
+
component render.
|
|
73
|
+
|
|
37
74
|
An existing `README.md` is the developer's, not this run's. Leave it exactly as you found
|
|
38
75
|
it: not the title, not a section, not a line. Where this run has documentation to write,
|
|
39
76
|
write it to a new file and name that file when you report the result. On an empty project
|
|
@@ -7,7 +7,7 @@ Work only on the packet you were assigned. Inspect the repository without changi
|
|
|
7
7
|
Run this first, from the target project directory:
|
|
8
8
|
|
|
9
9
|
```text
|
|
10
|
-
npx --yes copilotkit@4.
|
|
10
|
+
npx --yes copilotkit@4.13.1 onboard inspect --json
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
It answers the deterministic half of both packets exactly, from the same code
|
|
@@ -19,7 +19,7 @@ Prove the live runtime in this order:
|
|
|
19
19
|
4. Confirm from project files that the runtime constructor passes a `runner` option rather
|
|
20
20
|
than an `intelligence` option. A package, import, project file, or key is not use proof.
|
|
21
21
|
5. Run
|
|
22
|
-
`npx --yes copilotkit@4.
|
|
22
|
+
`npx --yes copilotkit@4.13.1 verify --expect-runtime oss --round-trip --agent <expected-agent-id> --json`,
|
|
23
23
|
with the runtime URL or auth header options that this project needs. Require exit zero
|
|
24
24
|
and the JSON `ok` field to be `true`.
|
|
25
25
|
6. Drive one real request through the existing frontend, CopilotKit runtime, and expected
|
|
@@ -9,6 +9,16 @@ You can make only operational repairs to project-owned processes, ports, and req
|
|
|
9
9
|
Do not write a path that overlaps a protected path. If a required proof or tool path
|
|
10
10
|
overlaps one, return `Status: blocked` before writing it.
|
|
11
11
|
|
|
12
|
+
The existing agent's behavior is outside every step of this proof. It is four things: the
|
|
13
|
+
agent's system prompt and instructions, its tools and what those tools do, its model and
|
|
14
|
+
provider configuration, and its memory or state handling. A failing predicate is repaired
|
|
15
|
+
on the CopilotKit side -- the frontend rendering, the tool schema, the runtime wiring.
|
|
16
|
+
Where the only fix you can find is a change to the agent's instructions or tools, stop and
|
|
17
|
+
return the failing predicate with the change you propose, for the developer to approve.
|
|
18
|
+
Such a change is a behavior change rather than a repair: it changes how the agent answers
|
|
19
|
+
everywhere, not only in CopilotKit. Never rewrite the agent's prompt to make a component
|
|
20
|
+
render, and never report a round trip proved by a prompt this run rewrote.
|
|
21
|
+
|
|
12
22
|
Run the steps below in the order they appear. They are the proof. Do not design a
|
|
13
23
|
different sequence of your own, and do not drop a step because an earlier one looked
|
|
14
24
|
convincing. Step 6 has a web form and a React Native form: run the one that matches this
|
|
@@ -135,7 +145,7 @@ IPv6 only, so an IPv4 literal fails against the correct port.
|
|
|
135
145
|
## Step 4 -- Check the wiring
|
|
136
146
|
|
|
137
147
|
With both running, check the wiring in one command before you open a browser:
|
|
138
|
-
`npx --yes copilotkit@4.
|
|
148
|
+
`npx --yes copilotkit@4.13.1 verify --json`. It reads the port from this project, so a
|
|
139
149
|
non-default port needs no flag. The payload reports `runtimeUrl` and `runtimeUrlSource`. A
|
|
140
150
|
`runtimeUrlSource` of `default` means nothing in the project named a port, so pass
|
|
141
151
|
`--runtime-url` with the URL from step 1 in that case. Read the individual checks rather than
|
|
@@ -169,7 +179,7 @@ named no port the CLI can read: keep step 2's URL, and rewrite its host as `loca
|
|
|
169
179
|
before you use it.
|
|
170
180
|
|
|
171
181
|
Then run the command once more with the URL you are about to open:
|
|
172
|
-
`npx --yes copilotkit@4.
|
|
182
|
+
`npx --yes copilotkit@4.13.1 verify --frontend-url <that url> --json`. The
|
|
173
183
|
`frontend_assets_served` check asks that server for its page and for one of the page's own
|
|
174
184
|
assets, on that exact host. A `fail` there means the dev server refuses its own static
|
|
175
185
|
assets on the host you were about to use, and the check names the URL to use instead. This
|
|
@@ -177,7 +187,7 @@ is the cheapest step that can save the most expensive one, so run it before the
|
|
|
177
187
|
|
|
178
188
|
## Step 5 -- Prove that the agent runs
|
|
179
189
|
|
|
180
|
-
Run `npx --yes copilotkit@4.
|
|
190
|
+
Run `npx --yes copilotkit@4.13.1 verify --round-trip --json`. It sends one request through
|
|
181
191
|
the runtime and reads the answer back from the thread, so it separates an agent that is
|
|
182
192
|
configured from an agent that works. Use `--agent <id>` when the runtime declares more
|
|
183
193
|
than one. If it reports `user-not-identified`, this project's `identifyUser` reads a
|
|
@@ -190,7 +200,7 @@ Where this run settled a Learning Container, add the flag to the call above rath
|
|
|
190
200
|
running a second round trip:
|
|
191
201
|
|
|
192
202
|
```text
|
|
193
|
-
npx --yes copilotkit@4.
|
|
203
|
+
npx --yes copilotkit@4.13.1 verify --round-trip --expect-learning-container <container id> --json
|
|
194
204
|
```
|
|
195
205
|
|
|
196
206
|
The check reads the thread that this run created, so a second round trip proves a second
|
|
@@ -224,7 +234,7 @@ the credential was written holds an empty key while the file beside it carries t
|
|
|
224
234
|
one. Run this from the target app directory:
|
|
225
235
|
|
|
226
236
|
```text
|
|
227
|
-
npx --yes copilotkit@4.
|
|
237
|
+
npx --yes copilotkit@4.13.1 onboard env-staleness
|
|
228
238
|
```
|
|
229
239
|
|
|
230
240
|
A `stale` line names the env file and how long after launch it was written. Report that,
|
|
@@ -302,7 +312,7 @@ For a recorded `both-oss` starting state, this step has no component to render.
|
|
|
302
312
|
same request the baseline recorded, require the same kind of user-visible result the
|
|
303
313
|
baseline produced, and require that the thread for that request is listed in the drawer.
|
|
304
314
|
Where this journey's frontend framework ships no threads drawer -- React Native --, prove
|
|
305
|
-
that thread with `npx --yes copilotkit@4.
|
|
315
|
+
that thread with `npx --yes copilotkit@4.13.1 verify --round-trip`, which reads the
|
|
306
316
|
answer back off the thread and needs no browser. Record which of the two you proved.
|
|
307
317
|
|
|
308
318
|
Use the surface control the main coding agent recorded for your environment. It either had
|
|
@@ -330,7 +340,7 @@ request never exercises. Drive it with the browser control step 6 named.
|
|
|
330
340
|
the page to finish loading. Do not retype the host, and do not substitute a URL a tool
|
|
331
341
|
offers you by default. Where the page loads but its styling is missing or the chat
|
|
332
342
|
control is dead, run
|
|
333
|
-
`npx --yes copilotkit@4.
|
|
343
|
+
`npx --yes copilotkit@4.13.1 verify --frontend-url <the url you opened> --json`
|
|
334
344
|
before you diagnose anything else. A dev server can serve its page and refuse every
|
|
335
345
|
static chunk behind it, and on screen that is indistinguishable from a broken
|
|
336
346
|
integration. The `frontend_assets_served` check tells the two apart.
|
|
@@ -30,13 +30,13 @@ Before you show the best-effort plan, require this complete packet:
|
|
|
30
30
|
- Give the ordered proof rules.
|
|
31
31
|
|
|
32
32
|
After the developer approves the best-effort plan, run
|
|
33
|
-
`npx --yes copilotkit@4.
|
|
33
|
+
`npx --yes copilotkit@4.13.1 onboard read fallback/best-effort`.
|
|
34
34
|
|
|
35
35
|
Send one short report. Run the friction command without another developer question. Do not
|
|
36
36
|
ask the developer about telemetry: the command applies the setting they already have.
|
|
37
37
|
|
|
38
38
|
```text
|
|
39
|
-
npx --yes copilotkit@4.
|
|
39
|
+
npx --yes copilotkit@4.13.1 onboard friction --phase stop --category <slug>
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
Write one or two sentences to standard input: the step you stopped at and what stopped it.
|
package/package.json
CHANGED
package/release/release-tool.js
CHANGED
|
@@ -14696,9 +14696,109 @@ import * as fs4 from "node:fs";
|
|
|
14696
14696
|
import * as os2 from "node:os";
|
|
14697
14697
|
import * as path4 from "node:path";
|
|
14698
14698
|
|
|
14699
|
+
// libs/feature-flags/src/registry.ts
|
|
14700
|
+
function defineFlags(defs) {
|
|
14701
|
+
return Object.fromEntries(
|
|
14702
|
+
Object.entries(defs).map(([key, body]) => [key, { ...body, key }])
|
|
14703
|
+
);
|
|
14704
|
+
}
|
|
14705
|
+
var FLAG_DEFINITIONS = defineFlags({
|
|
14706
|
+
// Ops can auto-deploy before App API, including in staging. Keep issuance
|
|
14707
|
+
// off in every environment until all verifiers accept this signed claim.
|
|
14708
|
+
"cli.organization-slug": {
|
|
14709
|
+
purpose: "Include the Clerk organization slug in CLI product credentials after App API rollout.",
|
|
14710
|
+
owner: "platform",
|
|
14711
|
+
createdAt: "2026-09-17",
|
|
14712
|
+
status: "rollout",
|
|
14713
|
+
surfaces: ["ops-api"],
|
|
14714
|
+
defaultByEnv: { dev: false, ci: false, prod: false },
|
|
14715
|
+
envVar: "OPS_CLI_ORGANIZATION_SLUG_ENABLED"
|
|
14716
|
+
},
|
|
14717
|
+
// Self-hosted is a seam, not an offered choice yet (PE-94): the target moves
|
|
14718
|
+
// only the app API URL, and no onboarding path offers it. Keep released
|
|
14719
|
+
// binaries on managed until a self-hosted deployment can serve the product.
|
|
14720
|
+
"cli.self-hosted-deployment": {
|
|
14721
|
+
purpose: "Lets the CLI target a self-hosted Intelligence deployment through --deployment or COPILOTKIT_DEPLOYMENT.",
|
|
14722
|
+
owner: "platform",
|
|
14723
|
+
createdAt: "2026-09-22",
|
|
14724
|
+
status: "rollout",
|
|
14725
|
+
surfaces: ["cli"],
|
|
14726
|
+
defaultByEnv: { dev: true, ci: true, prod: false }
|
|
14727
|
+
},
|
|
14728
|
+
"threads.bounded-replay": {
|
|
14729
|
+
purpose: "Stage connect history on disk and require SDK acknowledgements for bounded delivery.",
|
|
14730
|
+
owner: "realtime",
|
|
14731
|
+
createdAt: "2026-09-16",
|
|
14732
|
+
status: "rollout",
|
|
14733
|
+
surfaces: ["realtime-gateway", "copilotkit-core"],
|
|
14734
|
+
defaultByEnv: { dev: true, ci: true, prod: false },
|
|
14735
|
+
envVar: "REALTIME_GATEWAY_BOUNDED_REPLAY_ENABLED"
|
|
14736
|
+
},
|
|
14737
|
+
// `active` (not `rollout`): a long-lived operational kill-switch, default-on
|
|
14738
|
+
// in every env; `envVar` adopts the pre-existing INSPECT_ROUTES_ENABLED name.
|
|
14739
|
+
"inspect.routes": {
|
|
14740
|
+
purpose: "Gates the /api/_inspect/* introspection routes used by the web inspector; operational kill-switch.",
|
|
14741
|
+
owner: "platform",
|
|
14742
|
+
createdAt: "2026-06-23",
|
|
14743
|
+
status: "active",
|
|
14744
|
+
surfaces: ["app-api"],
|
|
14745
|
+
defaultByEnv: { dev: true, ci: true, prod: true },
|
|
14746
|
+
envVar: "INSPECT_ROUTES_ENABLED"
|
|
14747
|
+
},
|
|
14748
|
+
// Rollout flag for the in-progress Channels feature (OSS-373). Lets the
|
|
14749
|
+
// SDK, UI, and infra land incrementally and deploy dark; production stays off
|
|
14750
|
+
// until the rollout completes and the prod default is flipped in a later
|
|
14751
|
+
// build. Server boundaries enforce it via the shared `resolveChannelsRollout`
|
|
14752
|
+
// helper; `envVar` pins the pre-existing FF_MANAGED_BOTS toggle name so the
|
|
14753
|
+
// operational override is byte-identical across the rename.
|
|
14754
|
+
channels: {
|
|
14755
|
+
purpose: "Gates the Channels feature (activation, listener, delivery, egress) so unfinished customer behavior stays dark until rollout completes.",
|
|
14756
|
+
owner: "channels",
|
|
14757
|
+
createdAt: "2026-06-25",
|
|
14758
|
+
status: "rollout",
|
|
14759
|
+
surfaces: ["app-api", "realtime-gateway", "app-frontend"],
|
|
14760
|
+
defaultByEnv: { dev: true, ci: true, prod: false },
|
|
14761
|
+
envVar: "FF_MANAGED_BOTS"
|
|
14762
|
+
},
|
|
14763
|
+
"managed-channels": {
|
|
14764
|
+
purpose: "Canonical Managed Channels rollout gate, evaluated alongside the legacy FF_MANAGED_BOTS override while deployments migrate.",
|
|
14765
|
+
owner: "channels",
|
|
14766
|
+
createdAt: "2026-07-09",
|
|
14767
|
+
status: "rollout",
|
|
14768
|
+
surfaces: ["app-api", "realtime-gateway", "app-frontend"],
|
|
14769
|
+
defaultByEnv: { dev: true, ci: true, prod: true }
|
|
14770
|
+
},
|
|
14771
|
+
"learning.platform-v1": {
|
|
14772
|
+
purpose: "Gates the Learning V1 control API, runtime workers, product UI, and CLI download while the platform rolls out.",
|
|
14773
|
+
owner: "learning",
|
|
14774
|
+
createdAt: "2026-08-06",
|
|
14775
|
+
status: "rollout",
|
|
14776
|
+
surfaces: ["app-api", "app-frontend", "cli"],
|
|
14777
|
+
defaultByEnv: { dev: false, ci: false, prod: false },
|
|
14778
|
+
envVar: "LEARNING_ENABLED"
|
|
14779
|
+
},
|
|
14780
|
+
"analytics.pipeline": {
|
|
14781
|
+
purpose: "Gates project-scoped analytics reads and realtime projection while the durable pipeline rolls out.",
|
|
14782
|
+
owner: "analytics",
|
|
14783
|
+
createdAt: "2026-08-16",
|
|
14784
|
+
status: "rollout",
|
|
14785
|
+
surfaces: ["app-api", "realtime-gateway"],
|
|
14786
|
+
defaultByEnv: { dev: false, ci: false, prod: false },
|
|
14787
|
+
envVar: "ANALYTICS_ENABLED"
|
|
14788
|
+
},
|
|
14789
|
+
"ops.stripe-billing-v1": {
|
|
14790
|
+
purpose: "Gates the direct Stripe Checkout, Portal, projection, and provider-aware billing API during rollout.",
|
|
14791
|
+
owner: "ops",
|
|
14792
|
+
createdAt: "2026-09-08",
|
|
14793
|
+
status: "rollout",
|
|
14794
|
+
surfaces: ["ops-api"],
|
|
14795
|
+
defaultByEnv: { dev: true, ci: true, prod: false }
|
|
14796
|
+
}
|
|
14797
|
+
});
|
|
14798
|
+
|
|
14699
14799
|
// apps/cli/src/config.ts
|
|
14700
14800
|
function getTemplateRef() {
|
|
14701
|
-
return true ? "
|
|
14801
|
+
return true ? "f8047217b909a3e18404034f31f47157c4312241" : "main";
|
|
14702
14802
|
}
|
|
14703
14803
|
|
|
14704
14804
|
// apps/cli/src/services/agentcore-config.ts
|