copilotkit 4.8.2 → 4.8.4

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 (29) hide show
  1. package/README.md +218 -4
  2. package/cli-build-info.json +7 -7
  3. package/index.js +43404 -20635
  4. package/onboarding/index.json +179 -0
  5. package/onboarding/prompts/authenticate/start.md +83 -0
  6. package/onboarding/prompts/credentials/finalize-plan.md +185 -0
  7. package/onboarding/prompts/credentials/plan.md +38 -0
  8. package/onboarding/prompts/framework/google-adk.md +41 -0
  9. package/onboarding/prompts/framework/langgraph-python.md +28 -0
  10. package/onboarding/prompts/framework/langgraph-typescript.md +28 -0
  11. package/onboarding/prompts/framework/mastra.md +58 -0
  12. package/onboarding/prompts/framework/ms-agent-dotnet.md +66 -0
  13. package/onboarding/prompts/framework/ms-agent-python.md +41 -0
  14. package/onboarding/prompts/frontend/angular.md +27 -0
  15. package/onboarding/prompts/frontend/nextjs.md +23 -0
  16. package/onboarding/prompts/frontend/plan.md +27 -0
  17. package/onboarding/prompts/frontend/react-native.md +18 -0
  18. package/onboarding/prompts/frontend/react-spa.md +12 -0
  19. package/onboarding/prompts/frontend/vue.md +18 -0
  20. package/onboarding/prompts/implementation/build-and-validate.md +78 -0
  21. package/onboarding/prompts/proof/complete.md +59 -0
  22. package/onboarding/prompts/proof/round-trip.md +143 -0
  23. package/onboarding/prompts/subagent/create-plan.md +69 -0
  24. package/onboarding/prompts/subagent/implement-and-validate.md +48 -0
  25. package/onboarding/prompts/subagent/inspect-repository.md +24 -0
  26. package/onboarding/prompts/subagent/prove-round-trip.md +114 -0
  27. package/onboarding/prompts/unsupported/no-validated-path.md +22 -0
  28. package/package.json +4 -1
  29. package/release/release-tool.js +39 -5
@@ -0,0 +1,24 @@
1
+ # Inspect the repository
2
+
3
+ Inspect the repository without changing it. Find evidence for:
4
+
5
+ - what the project is for, in the project's own words
6
+ - any existing agent framework
7
+ - any existing frontend
8
+ - current CopilotKit packages and configuration
9
+ - authentication boundaries
10
+ - names of required credential variables, without reading their values
11
+
12
+ A project states what it is for in its `README.md`, in its package description, or in
13
+ the prompt of an agent it already has. Quote that statement rather than rewriting it. An
14
+ empty project carries it in the README alone, and that makes the README the whole of the
15
+ evidence. State the purpose as unproved when the project never says.
16
+
17
+ Gather what you need in as few commands as possible. Combine independent reads into one
18
+ command rather than running them one at a time. Split a command only when its result decides
19
+ what you run next.
20
+
21
+ Return the file paths and a short finding for each item. State each absent or unproved item.
22
+ Do not read, print, or return secret values. Do not read a file outside the project
23
+ directory. Do not run or return another onboarding command. Stop after returning the
24
+ findings to the main coding agent.
@@ -0,0 +1,114 @@
1
+ # Prove the complete round trip
2
+
3
+ Use the proof steps and documentation URLs from the approved plan. Fetch every selected
4
+ URL in one step before you start, rather than one after another.
5
+ Do not use remembered CopilotKit instructions.
6
+
7
+ Read the port the developer's agent already serves from this project's own
8
+ configuration. Do not assume a default, and do not start a second copy of an agent this
9
+ project is already running. Before you bind any new server, check that the port is free
10
+ and pick another one if it is not. Record every port you used.
11
+
12
+ Start the agent and the selected frontend.
13
+
14
+ With both running, check the wiring in one command before you open a browser:
15
+ `npx copilotkit@4.8.4 verify --json`. Add `--runtime-url` when the runtime is not at
16
+ `http://localhost:3000/api/copilotkit`. Read the individual checks rather than the summary
17
+ alone: a check reported `undetermined` did not run, and that is not a pass. Fix anything
18
+ that is not a pass before the browser, because a browser failure stacked on broken wiring
19
+ costs a round of debugging to reach an answer this command already gave.
20
+
21
+ Treat `intelligence_consumed` as the check that matters most here. A journey that finishes
22
+ with the Intelligence credential never read looks complete and proves nothing about the
23
+ paid surface. `api_key_authenticates` passing beside it says the key is real and the
24
+ runtime never used it.
25
+
26
+ `intelligence_thread_routes` fails when the runtime reports a license but serves no
27
+ thread routes, which means saved Threads cannot load in a browser. The usual cause is a
28
+ handler mounted `mode: "single-route"`: remove that option so the handler serves its full
29
+ route set, and mount it at a catch-all route. If instead that check is `undetermined`
30
+ because the runtime reports no thread-endpoint state, the runtime predates the field.
31
+ Record that and move on — there is nothing to repair.
32
+
33
+ Then prove that the agent actually runs, which is the gate for this node:
34
+ `npx copilotkit@4.8.4 verify --round-trip --json`. It sends one request through the
35
+ runtime and reads the answer back from the thread, so it separates an agent that is
36
+ configured from an agent that works. Use `--agent <id>` when the runtime declares more
37
+ than one. If it reports `user-not-identified`, this project's `identifyUser` reads a
38
+ session the CLI does not carry: pass what it reads with `--header "Name: value"` and run
39
+ it again, because an auth-gated app refusing an unauthenticated caller is that app
40
+ working. Do not continue until this passes, and never report a round trip proven without
41
+ it.
42
+
43
+ Then send one real request through the frontend. Make sure that the request passes through
44
+ CopilotKit and reaches the selected agent.
45
+
46
+ Before you trust the agent, confirm that the process answering is the one in this
47
+ repository. `verify` reports which agents the runtime declares and has nothing to compare
48
+ them against, and `--round-trip` proves an agent answers under the declared id without
49
+ proving which deployment did, so this comparison is yours. A health endpoint that returns success proves only that something listens on
50
+ that port. An agent from earlier work often still holds it, and a stale process answers
51
+ as though it were the new one. Ask the running agent which graph or agent id it serves
52
+ and compare that with the id declared in this project.
53
+
54
+ If they do not match, find out whose process it is before you signal anything.
55
+ `lsof -ti :<port> -sTCP:LISTEN` gives the process id, and `lsof -a -p <pid> -d cwd` gives
56
+ the directory it runs in. Stop it only when that directory is inside this project, and
57
+ stop its children before the parent so nothing survives by reparenting. A holder outside
58
+ this project belongs to other work: leave it running, report it, and bind to another port.
59
+ Never stop a process because its command line matches a name. One `pkill` pattern reaches
60
+ every project on the machine and takes down work that has nothing to do with this run.
61
+ Never continue against a process you cannot identify, and never report a round trip proven
62
+ by one.
63
+
64
+ Address a local agent by host name rather than by an IP literal. Some local agents bind
65
+ IPv6 only, so an IPv4 literal fails against the correct port.
66
+
67
+ Drive the real UI in a browser whenever your environment can, and make sure that the
68
+ frontend receives working generative UI from the agent. Prefer this: it is the only step
69
+ that covers realtime delivery to a browser, browser-origin CORS and CSP, the frontend
70
+ provider being wired to this runtime, and a generative UI component actually rendering,
71
+ and no command-line check reaches any of them.
72
+
73
+ Use a browser MCP server already configured for the coding agent you are running as, the
74
+ same way the CopilotKit documentation MCP server below is configured. Do not add a browser
75
+ driver to this project: a devDependency and a browser download land in the diff and tax a
76
+ repository that never asked for one. If nothing in your environment can drive a
77
+ browser, skip this step rather than installing one, and never report a visual result you
78
+ did not see.
79
+
80
+ Report exactly one of `performed`, `skipped-no-browser-tool`, or `failed` for this step.
81
+
82
+ Record the input, visible result, relevant process status, and evidence locations. Do not
83
+ return secret values.
84
+
85
+ Where the answer is meant to be about data the project holds, check it against that data.
86
+ Read the entities the project holds -- the ids, names, or records the answer claims to
87
+ describe -- and confirm the answer names those and no others. Record the entities you
88
+ compared. Where the outcome of this journey references no project data, record that
89
+ instead, and do not invent a comparison to pass this step.
90
+
91
+ An answer that renders correctly over entities the project does not hold looks the same as
92
+ a correct one in a browser, in a screenshot, and in a video, so this comparison is the only
93
+ stage that separates them. An answer that names an entity the project does not hold is a
94
+ failed proof, not a passing one. Find which of these it is before you change anything: the
95
+ project's data never reaches the agent, the agent receives it and its instructions ignore
96
+ it, the page loads its data after the context was registered, or the run wired a different
97
+ source than the page renders. Fix that cause, then prove again.
98
+
99
+ Install the continued-development tools while you drive the round trip, not after it. The
100
+ two are independent, so running them one after the other adds minutes to the journey for
101
+ no reason. Fetch the continued-development guide from the main coding agent at the same
102
+ time as the proof documentation.
103
+ Use it to install the project-scoped CopilotKit Skills.
104
+ Use it to configure the CopilotKit documentation MCP server for the current coding agent.
105
+
106
+ Record the installed Skills and the configured MCP server. If either tool step fails, return
107
+ the exact documentation gap or error.
108
+
109
+ Gather what you need in as few commands as possible. Combine independent reads into one
110
+ command rather than running them one at a time. Split a command only when its result decides
111
+ what you run next.
112
+
113
+ Return the proof or the exact failed step to the main coding agent, together with the
114
+ visual-check outcome. Stop after you return the result.
@@ -0,0 +1,22 @@
1
+ # No validated path in this release
2
+
3
+ Stop onboarding without making more repository changes. Keep the developer's current agent,
4
+ frontend, authentication, and package choices.
5
+
6
+ Explain the exact step that failed. State whether authentication, project selection, project
7
+ credentials, the journey, a documentation URL, implementation, validation, or proof caused
8
+ the stop. Do not invent an adapter or claim that an untested path works.
9
+
10
+ If useful, send one short report:
11
+
12
+ ```text
13
+ npx copilotkit@4.8.4 onboard feedback
14
+ ```
15
+
16
+ Write the feedback message to the command's standard input, in at most four lines.
17
+ Send no secrets, source code, logs, or command output. The command refuses a report
18
+ that carries any of those, prints the reason, and exits zero. A refused report is not
19
+ a failed step. Reword it and send it again, or stop without a report. The command
20
+ prints what it sent. This is the channel for a stop. Report friction only from a run that
21
+ finished, never from here. Stop after the explanation or optional feedback. This
22
+ unsupported outcome does not complete onboarding.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "copilotkit",
3
- "version": "4.8.2",
3
+ "version": "4.8.4",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
@@ -9,5 +9,8 @@
9
9
  },
10
10
  "bin": {
11
11
  "copilotkit": "./index.js"
12
+ },
13
+ "dependencies": {
14
+ "@microsoft/teams.cli": "3.0.3"
12
15
  }
13
16
  }
@@ -91,6 +91,9 @@ var STARTER_SOURCE_CATALOG = {
91
91
  adk: copilotKitStarter("examples/integrations/adk"),
92
92
  "adk-angular": copilotKitStarter("examples/integrations/adk-angular"),
93
93
  "aws-strands-py": copilotKitStarter("examples/integrations/strands-python"),
94
+ "aws-strands-ts": copilotKitStarter(
95
+ "examples/integrations/strands-typescript"
96
+ ),
94
97
  a2a: copilotKitStarter("examples/integrations/a2a-middleware"),
95
98
  "microsoft-agent-framework-dotnet": copilotKitStarter(
96
99
  "examples/integrations/ms-agent-framework-dotnet"
@@ -13900,6 +13903,15 @@ config(en_default());
13900
13903
  // apps/cli/src/release/release-schemas.ts
13901
13904
  var import_starter_source_policy2 = __toESM(require_starter_source_policy(), 1);
13902
13905
  var CLI_BUILD_INFO_FILENAME = "cli-build-info.json";
13906
+ var PROVENANCE_CHANNELS = [
13907
+ "production",
13908
+ "dev",
13909
+ "staging",
13910
+ "preview",
13911
+ "push",
13912
+ "pull-request",
13913
+ "validation"
13914
+ ];
13903
13915
  var canonicalCommitSchema = external_exports.string().regex(/^[0-9a-f]{40}$/);
13904
13916
  var instantSchema = external_exports.iso.datetime({ offset: true });
13905
13917
  var packageVersionSchema = external_exports.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/);
@@ -13921,7 +13933,7 @@ var buildInfoSchema = external_exports.object({
13921
13933
  submittedInput: external_exports.string().min(1),
13922
13934
  commit: canonicalCommitSchema
13923
13935
  }).strict(),
13924
- channel: external_exports.enum(["production", "dev", "staging", "preview", "validation"]),
13936
+ channel: external_exports.enum(PROVENANCE_CHANNELS),
13925
13937
  triggeringActor: external_exports.string().min(1),
13926
13938
  workflow: external_exports.object({
13927
13939
  runId: external_exports.string().min(1),
@@ -14683,7 +14695,7 @@ import * as path4 from "node:path";
14683
14695
 
14684
14696
  // apps/cli/src/config.ts
14685
14697
  function getTemplateRef() {
14686
- return true ? "53cf7e6575e8eae2a0dcaf64a7c3c2baf3e6dd04" : "main";
14698
+ return true ? "47c5510b4909f6728288ecf28d7b14cd14922d33" : "main";
14687
14699
  }
14688
14700
 
14689
14701
  // apps/cli/src/services/agentcore-config.ts
@@ -14859,7 +14871,19 @@ var TELEMETRY_ERROR_CODES = {
14859
14871
  AUTH_FAILED: "AUTH_FAILED",
14860
14872
  USER_ABORTED: "USER_ABORTED",
14861
14873
  NON_INTERACTIVE: "NON_INTERACTIVE",
14862
- FILESYSTEM_WRITE_FAILED: "FILESYSTEM_WRITE_FAILED"
14874
+ FILESYSTEM_WRITE_FAILED: "FILESYSTEM_WRITE_FAILED",
14875
+ /**
14876
+ * `project select --project` named a project the active organization does
14877
+ * not have. Distinct from a generic validation failure so the funnel can
14878
+ * tell "the caller guessed a slug" from a malformed request.
14879
+ */
14880
+ PROJECT_NOT_FOUND: "PROJECT_NOT_FOUND",
14881
+ CLI_PRODUCT_BINARY_TOO_LARGE: "CLI_PRODUCT_BINARY_TOO_LARGE",
14882
+ LEARNING_CONTAINER_ID_INVALID: "LEARNING_CONTAINER_ID_INVALID",
14883
+ LEARNING_PROJECT_ID_INVALID: "LEARNING_PROJECT_ID_INVALID",
14884
+ LEARNING_SKILLS_BUNDLE_INVALID: "LEARNING_SKILLS_BUNDLE_INVALID",
14885
+ LEARNING_SKILLS_INTEGRITY_FAILED: "LEARNING_SKILLS_INTEGRITY_FAILED",
14886
+ LEARNING_SKILLS_OUTPUT_EXISTS: "LEARNING_SKILLS_OUTPUT_EXISTS"
14863
14887
  };
14864
14888
  function tagError(err, code) {
14865
14889
  err.code = code;
@@ -14885,6 +14909,7 @@ var FRAMEWORK_EMOJI = {
14885
14909
  "adk-angular": "\u{1F53A}",
14886
14910
  a2a: "\u{1F916}",
14887
14911
  "aws-strands-py": "\u{1F9EC}",
14912
+ "aws-strands-ts": "\u{1F9EC}",
14888
14913
  "microsoft-agent-framework-dotnet": "\u{1F7E6}",
14889
14914
  "microsoft-agent-framework-py": "\u{1F7E6}",
14890
14915
  "mcp-apps": "\u{1F9E9}",
@@ -14919,6 +14944,10 @@ var FRAMEWORK_CHOICES = [
14919
14944
  label: `${FRAMEWORK_EMOJI["aws-strands-py"]} AWS Strands (Python)`,
14920
14945
  value: "aws-strands-py"
14921
14946
  },
14947
+ {
14948
+ label: `${FRAMEWORK_EMOJI["aws-strands-ts"]} AWS Strands (TypeScript)`,
14949
+ value: "aws-strands-ts"
14950
+ },
14922
14951
  { label: `${FRAMEWORK_EMOJI.adk} ADK`, value: "adk" },
14923
14952
  {
14924
14953
  label: `${FRAMEWORK_EMOJI["adk-angular"]} Angular + ADK`,
@@ -15093,6 +15122,11 @@ var FRAMEWORK_TEMPLATES = {
15093
15122
  TEMPLATE_REPOS["aws-strands-py"],
15094
15123
  `\u{1FA81}\u{1F91D}${FRAMEWORK_EMOJI["aws-strands-py"]}`
15095
15124
  ),
15125
+ "aws-strands-ts": standardTemplate(
15126
+ "aws-strands-ts",
15127
+ TEMPLATE_REPOS["aws-strands-ts"],
15128
+ `\u{1FA81}\u{1F91D}${FRAMEWORK_EMOJI["aws-strands-ts"]}`
15129
+ ),
15096
15130
  a2a: {
15097
15131
  ...standardTemplate(
15098
15132
  "a2a",
@@ -15432,7 +15466,7 @@ async function scaffoldStarterForSmoke(input, scaffold = scaffoldProject) {
15432
15466
  }
15433
15467
  }
15434
15468
  async function executeStarterSmokeChild(command) {
15435
- return new Promise((resolve3, reject) => {
15469
+ return new Promise((resolve4, reject) => {
15436
15470
  execFile(
15437
15471
  command.executable,
15438
15472
  [...command.args],
@@ -15446,7 +15480,7 @@ async function executeStarterSmokeChild(command) {
15446
15480
  reject(error48);
15447
15481
  return;
15448
15482
  }
15449
- resolve3(stdout);
15483
+ resolve4(stdout);
15450
15484
  }
15451
15485
  );
15452
15486
  });