copilotkit 4.6.0 → 4.7.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 CHANGED
@@ -123,35 +123,49 @@ terminal the CLI offers a masked prompt instead.
123
123
 
124
124
  ### Agent-assisted setup
125
125
 
126
- Most of Slack setup is browser work — creating the app, collecting its tokens,
127
- installing it into a workspace. `channels setup` hands that to your coding
128
- agent instead of walking it yourself:
126
+ Much of Slack and Teams setup happens in a provider website — creating the app,
127
+ collecting its tokens, installing it into a workspace. `channels setup` hands
128
+ that work to your coding agent instead of you walking it yourself:
129
129
 
130
130
  ```bash
131
131
  copilotkit channels setup
132
132
  copilotkit channels setup --no-clipboard
133
133
  ```
134
134
 
135
- It prints a setup prompt and copies it to your clipboard; paste it into Claude
136
- (or your coding agent) to start. The prompt is always printed, so you can read
137
- it before handing it over. Pass `--no-clipboard` in a headless or remote shell.
135
+ It installs the `channels-setup` skill, then prints a one-line prompt to paste
136
+ into your coding agent and copies it to your clipboard. The prompt is always
137
+ printed, so you can read it before handing it over. Pass `--no-clipboard` in a
138
+ headless or remote shell.
138
139
 
139
- The prompt points at the `setup-slack-channel` skill, so install the skills
140
- first:
140
+ Everything the run needs is in the skill, so the prompt only names the skill and
141
+ the goal. It does not name a provider: Slack or Microsoft Teams is the skill's
142
+ own first question.
143
+
144
+ Only the prompt goes to stdout. The line introducing it and the clipboard result
145
+ go to stderr, so `copilotkit channels setup > prompt.txt` gives you the payload
146
+ and nothing else.
147
+
148
+ The install runs first, and the command stops if it fails. A prompt that points
149
+ at a skill which is not there would send the agent to set the provider up from
150
+ memory against a live workspace, which is the outcome the prompt exists to
151
+ prevent.
152
+
153
+ The install asks you nothing. It pins the skill and every detected coding agent,
154
+ so it runs to completion in a script or a non-TTY shell rather than stopping on a
155
+ picker.
156
+
157
+ Only `channels-setup` is installed, not every CopilotKit skill. To add the rest:
141
158
 
142
159
  ```bash
143
- npx copilotkit@latest skills install --skill setup-slack-channel
160
+ npx copilotkit@latest skills install
144
161
  ```
145
162
 
146
- `channels setup` does not install or check for the skill, so the prompt itself
147
- tells the agent to stop and ask for that command if the skill is missing —
148
- rather than fall back to setting Slack up from memory against a live workspace.
149
-
150
- `copilotkit skills onboard --channels` does both in one pass — installs the
151
- skills, signs you in, and hands over the same prompt.
163
+ `copilotkit skills onboard --channels` installs the skills, signs you in, and
164
+ hands over the same prompt.
152
165
 
153
- `channels setup` reaches no server and provisions nothing. It needs no hosted
154
- project and no sign-in, so it works from any directory.
166
+ `channels setup` selects no hosted project and provisions nothing, so it needs no
167
+ sign-in and works from any directory. Installing the skill is the only thing it
168
+ reaches out for.
155
169
 
156
170
  `channels status` compares three things that all have to agree — your declared
157
171
  configuration, your project's source, and the server — and names whichever one is
@@ -2,20 +2,20 @@
2
2
  "schemaVersion": 1,
3
3
  "package": {
4
4
  "name": "copilotkit",
5
- "version": "4.6.0"
5
+ "version": "4.7.0"
6
6
  },
7
7
  "intelligence": {
8
- "commit": "bbe66a43632d05b5206cebdf49518d7335cc0f78"
8
+ "commit": "932bad4f3c97b61dd0ee5c20b99362e302e5e48a"
9
9
  },
10
10
  "copilotKit": {
11
- "submittedInput": "bc80efb17f5b729cc96a50cbbefca163079dc781",
12
- "commit": "bc80efb17f5b729cc96a50cbbefca163079dc781"
11
+ "submittedInput": "8e59bfd16b415b9f776a4742aa43942a8d02c2ef",
12
+ "commit": "8e59bfd16b415b9f776a4742aa43942a8d02c2ef"
13
13
  },
14
14
  "channel": "production",
15
- "triggeringActor": "MikeRyanDev",
15
+ "triggeringActor": "BenTaylorDev",
16
16
  "workflow": {
17
- "runId": "30914059582",
18
- "runUrl": "https://github.com/CopilotKit/Intelligence/actions/runs/30914059582"
17
+ "runId": "30933084879",
18
+ "runUrl": "https://github.com/CopilotKit/Intelligence/actions/runs/30933084879"
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-08-04T13:31:09Z"
27
+ "builtAt": "2026-08-04T17:17:46Z"
28
28
  }
package/index.js CHANGED
@@ -87,14 +87,14 @@ function getTelemetryEndpointUrl() {
87
87
  }
88
88
  function getBuildInfo() {
89
89
  return {
90
- version: true ? "4.6.0" : "dev",
91
- buildNumber: true ? "30914059582" : "dev",
92
- commitSha: true ? "bbe66a43632d05b5206cebdf49518d7335cc0f78" : "dev",
90
+ version: true ? "4.7.0" : "dev",
91
+ buildNumber: true ? "30933084879" : "dev",
92
+ commitSha: true ? "932bad4f3c97b61dd0ee5c20b99362e302e5e48a" : "dev",
93
93
  copilotKitCommit: getTemplateRef()
94
94
  };
95
95
  }
96
96
  function getTemplateRef() {
97
- return true ? "bc80efb17f5b729cc96a50cbbefca163079dc781" : "main";
97
+ return true ? "8e59bfd16b415b9f776a4742aa43942a8d02c2ef" : "main";
98
98
  }
99
99
  function getC15tBackendUrl() {
100
100
  return true ? "https://calm-hazelnut-joy-copilotkit.inth.app" : "";
@@ -94972,9 +94972,9 @@ function buildSkillsOnboardPrompt() {
94972
94972
  return SKILLS_ONBOARD_AGENT_PROMPT;
94973
94973
  }
94974
94974
  function buildChannelsSetupPrompt() {
94975
- return CHANNELS_SLACK_SETUP_PROMPT;
94975
+ return CHANNELS_SETUP_PROMPT;
94976
94976
  }
94977
- var SKILLS_ONBOARD_AGENT_PROMPT, CHANNELS_SLACK_SETUP_PROMPT;
94977
+ var SKILLS_ONBOARD_AGENT_PROMPT, CHANNELS_SETUP_SKILL, CHANNELS_SETUP_PROMPT;
94978
94978
  var init_agent_prompt = __esm({
94979
94979
  "apps/cli/src/services/agent-prompt.ts"() {
94980
94980
  "use strict";
@@ -94987,23 +94987,8 @@ Use the copilotkit-setup skill to:
94987
94987
  4. Get a working chat integration.
94988
94988
 
94989
94989
  Start by inspecting my repo, then walk me through the setup.`;
94990
- CHANNELS_SLACK_SETUP_PROMPT = `Help me connect this CopilotKit agent to Slack so it answers in a real channel.
94991
-
94992
- Use the \`setup-slack-channel\` skill as your instructions \u2014 read it before you plan anything, and follow it rather than working from memory of how Slack apps usually work.
94993
-
94994
- If \`setup-slack-channel\` is not installed in this repo, stop and tell me to run \`npx copilotkit@latest skills install --skill setup-slack-channel\` before you do anything else. Do not attempt the setup without it.
94995
-
94996
- Before your first step, tell me which mode you are in:
94997
- - You can drive a browser yourself. Then do so, and confirm with me before each consequential change in a live account \u2014 creating the Slack app, attaching the adapter, issuing a key.
94998
- - You cannot. Then say so plainly and walk me through the browser steps one at a time, waiting for me to confirm each before you continue.
94999
-
95000
- Do not guess which one you are. Check what tools you actually have.
95001
-
95002
- Two rules for the whole run:
95003
- - Never ask me to paste a token, signing secret, or API key into this conversation. They go into the Intelligence dashboard and my \`.env\`, typed by me.
95004
- - Do not report success until all three of the skill's gates hold. "The runtime started" is not one of them.
95005
-
95006
- Start by reading the skill, then tell me what you found in my repo and what you plan to do.`;
94990
+ CHANNELS_SETUP_SKILL = "channels-setup";
94991
+ CHANNELS_SETUP_PROMPT = `Use the \`${CHANNELS_SETUP_SKILL}\` skill to set up a Channel for this project.`;
95007
94992
  }
95008
94993
  });
95009
94994
 
@@ -360521,13 +360506,44 @@ async function runChannelsSetup(argv) {
360521
360506
  options: { "no-clipboard": { type: "boolean" } },
360522
360507
  strict: true
360523
360508
  });
360509
+ recordTelemetryEvent({
360510
+ properties: {
360511
+ command: "channels",
360512
+ subcommand: "setup",
360513
+ outcome: "started"
360514
+ }
360515
+ });
360516
+ try {
360517
+ await installCopilotKitSkills({
360518
+ skills: [CHANNELS_SETUP_SKILL],
360519
+ yes: true
360520
+ });
360521
+ } catch (error48) {
360522
+ recordTelemetryEvent({
360523
+ properties: {
360524
+ command: "channels",
360525
+ subcommand: "setup",
360526
+ outcome: "failed",
360527
+ error_code: classifyError(error48)
360528
+ }
360529
+ });
360530
+ throw error48;
360531
+ }
360524
360532
  const prompt = buildChannelsSetupPrompt();
360525
- process.stdout.write(`${prompt}
360526
- `);
360527
- const copied = parsed.values["no-clipboard"] === true ? false : await copyToClipboard(prompt);
360528
360533
  process.stderr.write(
360529
- copied ? "\nCopied to your clipboard. Paste it into Claude (or your coding agent) to start.\n" : "\nCopy the prompt above and paste it into Claude (or your coding agent) to start.\n"
360534
+ "Paste this prompt into your coding agent:\n\n"
360530
360535
  );
360536
+ process.stdout.write(`${prompt}
360537
+ `);
360538
+ const skipClipboard = parsed.values["no-clipboard"] === true;
360539
+ const copied = skipClipboard ? false : await copyToClipboard(prompt);
360540
+ if (copied) {
360541
+ process.stderr.write("\n\u2713 Copied to your clipboard.\n");
360542
+ } else if (!skipClipboard) {
360543
+ process.stderr.write(
360544
+ "\nCould not copy to your clipboard \u2014 copy the prompt above.\n"
360545
+ );
360546
+ }
360531
360547
  recordTelemetryEvent({
360532
360548
  properties: {
360533
360549
  command: "channels",
@@ -360797,6 +360813,7 @@ var init_channels2 = __esm({
360797
360813
  init_channels();
360798
360814
  init_config();
360799
360815
  init_agent_prompt();
360816
+ init_skills_install();
360800
360817
  init_api_client();
360801
360818
  init_clipboard();
360802
360819
  init_config_service();
@@ -360815,6 +360832,7 @@ var init_channels2 = __esm({
360815
360832
  init_channels_render();
360816
360833
  init_channels_preflight();
360817
360834
  await init_channels_events();
360835
+ init_event_properties();
360818
360836
  await init_telemetry();
360819
360837
  init_project_config();
360820
360838
  init_src11();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "copilotkit",
3
- "version": "4.6.0",
3
+ "version": "4.7.0",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
@@ -14683,7 +14683,7 @@ import * as path4 from "node:path";
14683
14683
 
14684
14684
  // apps/cli/src/config.ts
14685
14685
  function getTemplateRef() {
14686
- return true ? "bc80efb17f5b729cc96a50cbbefca163079dc781" : "main";
14686
+ return true ? "8e59bfd16b415b9f776a4742aa43942a8d02c2ef" : "main";
14687
14687
  }
14688
14688
 
14689
14689
  // apps/cli/src/services/agentcore-config.ts