copilotkit 4.8.3 → 4.9.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 +183 -2
- package/cli-build-info.json +7 -7
- package/index.js +5645 -3567
- package/onboarding/index.json +33 -33
- package/onboarding/prompts/authenticate/start.md +63 -10
- package/onboarding/prompts/credentials/finalize-plan.md +168 -15
- package/onboarding/prompts/credentials/plan.md +55 -49
- package/onboarding/prompts/fallback/best-effort.md +29 -0
- package/onboarding/prompts/framework/ag2.md +33 -7
- package/onboarding/prompts/framework/agno.md +32 -7
- package/onboarding/prompts/framework/built-in.md +30 -8
- package/onboarding/prompts/framework/claude-sdk-python.md +35 -7
- package/onboarding/prompts/framework/claude-sdk-typescript.md +39 -7
- package/onboarding/prompts/framework/crewai-flows.md +41 -7
- package/onboarding/prompts/framework/deep-agents.md +30 -6
- package/onboarding/prompts/framework/google-adk.md +32 -8
- package/onboarding/prompts/framework/langgraph-fastapi.md +24 -5
- package/onboarding/prompts/framework/langgraph-python.md +15 -5
- package/onboarding/prompts/framework/langgraph-typescript.md +15 -5
- package/onboarding/prompts/framework/llamaindex.md +35 -7
- package/onboarding/prompts/framework/mastra.md +48 -6
- package/onboarding/prompts/framework/ms-agent-dotnet.md +57 -7
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +48 -8
- package/onboarding/prompts/framework/ms-agent-python.md +32 -7
- package/onboarding/prompts/framework/pydantic-ai.md +34 -9
- package/onboarding/prompts/framework/strands-python.md +28 -9
- package/onboarding/prompts/framework/strands-typescript.md +28 -9
- package/onboarding/prompts/frontend/angular.md +20 -5
- package/onboarding/prompts/frontend/nextjs.md +13 -3
- package/onboarding/prompts/frontend/plan.md +20 -19
- package/onboarding/prompts/frontend/react-native.md +9 -3
- package/onboarding/prompts/frontend/react-spa.md +20 -5
- package/onboarding/prompts/frontend/vue.md +9 -3
- package/onboarding/prompts/implementation/build-and-validate.md +82 -7
- package/onboarding/prompts/proof/complete.md +63 -2
- package/onboarding/prompts/proof/oss-baseline.md +59 -0
- package/onboarding/prompts/proof/round-trip.md +150 -8
- package/onboarding/prompts/subagent/create-plan.md +69 -2
- package/onboarding/prompts/subagent/implement-and-validate.md +48 -3
- package/onboarding/prompts/subagent/inspect-repository.md +13 -3
- package/onboarding/prompts/subagent/prove-oss-baseline.md +35 -0
- package/onboarding/prompts/subagent/prove-round-trip.md +118 -11
- package/onboarding/prompts/unsupported/no-validated-path.md +27 -9
- package/package.json +1 -1
- package/release/release-tool.js +32 -4
- package/onboarding/prompts/frontend/slack.md +0 -20
- package/onboarding/prompts/frontend/teams.md +0 -20
|
@@ -1,20 +1,127 @@
|
|
|
1
1
|
# Prove the complete round trip
|
|
2
2
|
|
|
3
|
-
Use the proof steps and documentation URLs from the approved plan. Fetch
|
|
4
|
-
before you start
|
|
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.
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
A fetch tool that refuses a URL, or fails to reach it, reports a limit of the tool and
|
|
8
|
+
not a fact about the page. Retrieve the same URL a second way before you judge it. Run
|
|
9
|
+
`curl -fsSL <url>`, or read the same page without the `.md` suffix. Report a
|
|
10
|
+
documentation gap only after a second method also fails.
|
|
8
11
|
|
|
9
|
-
|
|
10
|
-
|
|
12
|
+
Read the port the developer's agent already serves from this project's own
|
|
13
|
+
configuration. Do not assume a default, and do not start a second copy of an agent this
|
|
14
|
+
project is already running. Before you bind any new server, check that the port is free
|
|
15
|
+
and pick another one if it is not. Record every port you used.
|
|
11
16
|
|
|
12
|
-
|
|
17
|
+
Start the agent and the selected frontend.
|
|
18
|
+
|
|
19
|
+
Leave the agent and frontend servers running after proof. Record each process ID and a
|
|
20
|
+
safe command that stops that process. Record the frontend URL and the commands that start
|
|
21
|
+
both servers again.
|
|
22
|
+
|
|
23
|
+
With both running, check the wiring in one command before you open a browser:
|
|
24
|
+
`npx --yes copilotkit@4.9.0 verify --json`. Add `--runtime-url` when the runtime is not at
|
|
25
|
+
`http://localhost:3000/api/copilotkit`. Read the individual checks rather than the summary
|
|
26
|
+
alone: a check reported `undetermined` did not run, and that is not a pass. Fix anything
|
|
27
|
+
that is not a pass before the browser, because a browser failure stacked on broken wiring
|
|
28
|
+
costs a round of debugging to reach an answer this command already gave.
|
|
29
|
+
|
|
30
|
+
Treat `intelligence_consumed` as the check that matters most here. A journey that finishes
|
|
31
|
+
with the Intelligence credential never read looks complete and proves nothing about the
|
|
32
|
+
paid surface. `api_key_authenticates` passing beside it says the key is real and the
|
|
33
|
+
runtime never used it.
|
|
34
|
+
|
|
35
|
+
`intelligence_thread_routes` fails when the runtime reports a license but serves no
|
|
36
|
+
thread routes, which means saved Threads cannot load in a browser. The usual cause is a
|
|
37
|
+
handler mounted `mode: "single-route"`: remove that option so the handler serves its full
|
|
38
|
+
route set, and mount it at a catch-all route. If instead that check is `undetermined`
|
|
39
|
+
because the runtime reports no thread-endpoint state, the runtime predates the field.
|
|
40
|
+
Record that and move on — there is nothing to repair.
|
|
41
|
+
|
|
42
|
+
Then prove that the agent actually runs, which is the gate for this node:
|
|
43
|
+
`npx --yes copilotkit@4.9.0 verify --round-trip --json`. It sends one request through the
|
|
44
|
+
runtime and reads the answer back from the thread, so it separates an agent that is
|
|
45
|
+
configured from an agent that works. Use `--agent <id>` when the runtime declares more
|
|
46
|
+
than one. If it reports `user-not-identified`, this project's `identifyUser` reads a
|
|
47
|
+
session the CLI does not carry: pass what it reads with `--header "Name: value"` and run
|
|
48
|
+
it again, because an auth-gated app refusing an unauthenticated caller is that app
|
|
49
|
+
working. Do not continue until this passes, and never report a round trip proven without
|
|
50
|
+
it.
|
|
51
|
+
|
|
52
|
+
Then send one real request through the frontend. Make sure that the request passes through
|
|
53
|
+
CopilotKit and reaches the selected agent.
|
|
54
|
+
|
|
55
|
+
For a recorded `both-oss` starting state: Compare the final round trip with the recorded
|
|
56
|
+
OSS baseline. The same frontend request must still reach the same agent and produce the
|
|
57
|
+
same kind of user-visible result. The runtime must now report `licenseStatus`, and the
|
|
58
|
+
authenticated Intelligence checks must pass. Record both before and after evidence.
|
|
59
|
+
|
|
60
|
+
Before you trust the agent, confirm that the process answering is the one in this
|
|
61
|
+
repository. `verify` reports which agents the runtime declares and has nothing to compare
|
|
62
|
+
them against, and `--round-trip` proves an agent answers under the declared id without
|
|
63
|
+
proving which deployment did, so this comparison is yours. A health endpoint that returns success proves only that something listens on
|
|
64
|
+
that port. An agent from earlier work often still holds it, and a stale process answers
|
|
65
|
+
as though it were the new one. Ask the running agent which graph or agent id it serves
|
|
66
|
+
and compare that with the id declared in this project.
|
|
67
|
+
|
|
68
|
+
If they do not match, find out whose process it is before you signal anything.
|
|
69
|
+
`lsof -ti :<port> -sTCP:LISTEN` gives the process id, and `lsof -a -p <pid> -d cwd` gives
|
|
70
|
+
the directory it runs in. Stop it only when that directory is inside this project, and
|
|
71
|
+
stop its children before the parent so nothing survives by reparenting. A holder outside
|
|
72
|
+
this project belongs to other work: leave it running, report it, and bind to another port.
|
|
73
|
+
Never stop a process because its command line matches a name. One `pkill` pattern reaches
|
|
74
|
+
every project on the machine and takes down work that has nothing to do with this run.
|
|
75
|
+
Never continue against a process you cannot identify, and never report a round trip proven
|
|
76
|
+
by one.
|
|
77
|
+
|
|
78
|
+
Address a local agent by host name rather than by an IP literal. Some local agents bind
|
|
79
|
+
IPv6 only, so an IPv4 literal fails against the correct port.
|
|
80
|
+
|
|
81
|
+
Drive the real UI in a browser whenever your environment can, and make sure that the
|
|
82
|
+
frontend receives working generative UI from the agent. Prefer this: it is the only step
|
|
83
|
+
that covers realtime delivery to a browser, browser-origin CORS and CSP, the frontend
|
|
84
|
+
provider being wired to this runtime, and a generative UI component actually rendering,
|
|
85
|
+
and no command-line check reaches any of them.
|
|
86
|
+
|
|
87
|
+
Use a browser MCP server already configured for the coding agent you are running as, the
|
|
88
|
+
same way the CopilotKit documentation MCP server below is configured. Do not add a browser
|
|
89
|
+
driver to this project: a devDependency and a browser download land in the diff and tax a
|
|
90
|
+
repository that never asked for one. If nothing in your environment can drive a
|
|
91
|
+
browser, skip this step rather than installing one, and never report a visual result you
|
|
92
|
+
did not see.
|
|
93
|
+
|
|
94
|
+
Report exactly one of `performed`, `skipped-no-browser-tool`, or `failed` for this step.
|
|
95
|
+
|
|
96
|
+
Record the input, visible result, relevant process status, and evidence locations. Do not
|
|
97
|
+
return secret values.
|
|
98
|
+
|
|
99
|
+
Where the answer is meant to be about data the project holds, check it against that data.
|
|
100
|
+
Read the entities the project holds -- the ids, names, or records the answer claims to
|
|
101
|
+
describe -- and confirm the answer names those and no others. Record the entities you
|
|
102
|
+
compared. Where the outcome of this journey references no project data, record that
|
|
103
|
+
instead, and do not invent a comparison to pass this step.
|
|
104
|
+
|
|
105
|
+
An answer that renders correctly over entities the project does not hold looks the same as
|
|
106
|
+
a correct one in a browser, in a screenshot, and in a video, so this comparison is the only
|
|
107
|
+
stage that separates them. An answer that names an entity the project does not hold is a
|
|
108
|
+
failed proof, not a passing one. Find which of these it is before you change anything: the
|
|
109
|
+
project's data never reaches the agent, the agent receives it and its instructions ignore
|
|
110
|
+
it, the page loads its data after the context was registered, or the run wired a different
|
|
111
|
+
source than the page renders. Fix that cause, then prove again.
|
|
112
|
+
|
|
113
|
+
Fetch the continued-development guide from the main coding agent with the proof
|
|
114
|
+
documentation. Try the continued-development tools after the application passes proof.
|
|
13
115
|
Use it to install the project-scoped CopilotKit Skills.
|
|
14
116
|
Use it to configure the CopilotKit documentation MCP server for the current coding agent.
|
|
15
117
|
|
|
16
|
-
|
|
17
|
-
|
|
118
|
+
Do not validate whether the Skills or MCP server installed correctly. Record the command
|
|
119
|
+
result for each attempt. Report each tool result separately. A tool error does not change
|
|
120
|
+
the proof result.
|
|
121
|
+
|
|
122
|
+
Gather what you need in as few commands as possible. Combine independent reads into one
|
|
123
|
+
command rather than running them one at a time. Split a command only when its result decides
|
|
124
|
+
what you run next.
|
|
18
125
|
|
|
19
|
-
Return the proof or the exact failed step to the main coding agent
|
|
20
|
-
result.
|
|
126
|
+
Return the proof or the exact failed step to the main coding agent, together with the
|
|
127
|
+
visual-check outcome. Stop after you return the result.
|
|
@@ -1,17 +1,35 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Stop without a supported path
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
frontend, authentication, and package choices.
|
|
3
|
+
Keep the developer's current agent, frontend, authentication, and package choices.
|
|
5
4
|
|
|
6
5
|
Explain the exact step that failed. State whether authentication, project selection, project
|
|
7
|
-
credentials, the journey, a documentation URL, implementation, validation, or
|
|
8
|
-
the
|
|
6
|
+
credentials, the journey, a documentation URL, implementation, validation, or the round
|
|
7
|
+
trip caused the route change. Do not say a path works when this release does not support it.
|
|
9
8
|
|
|
10
|
-
|
|
9
|
+
Stop onboarding without making more repository changes by default.
|
|
10
|
+
|
|
11
|
+
The documentation-gap exception applies only before implementation starts. If implementation,
|
|
12
|
+
validation, or proof already started, do not use the documentation-gap exception.
|
|
13
|
+
|
|
14
|
+
If the only cause is a failed documentation URL or missing documentation, use the exception.
|
|
15
|
+
Tell the developer about the gap. Then make a best-effort plan from the official pages that
|
|
16
|
+
are available. Search the broader official CopilotKit documentation before you infer an API.
|
|
17
|
+
Mark each step that the selected pages do not prove. Do not treat the documentation gap as
|
|
18
|
+
proof that the requested integration is unsupported.
|
|
19
|
+
|
|
20
|
+
After the developer approves the best-effort plan, run
|
|
21
|
+
`npx --yes copilotkit@4.9.0 onboard read fallback/best-effort`.
|
|
22
|
+
|
|
23
|
+
If the developer permitted external feedback at the start, you can send one short report:
|
|
11
24
|
|
|
12
25
|
```text
|
|
13
|
-
npx copilotkit@4.
|
|
26
|
+
npx --yes copilotkit@4.9.0 onboard feedback
|
|
14
27
|
```
|
|
15
28
|
|
|
16
|
-
Write the feedback message to the command's standard input
|
|
17
|
-
|
|
29
|
+
Write the feedback message to the command's standard input, in at most four lines.
|
|
30
|
+
Send no secrets, source code, logs, or command output. The command refuses a report
|
|
31
|
+
that carries any of those, prints the reason, and exits zero. A refused report is not
|
|
32
|
+
a failed step. Reword it and send it again, or stop without a report. The command
|
|
33
|
+
prints what it sent. This is the channel for a stop. Report friction only from a run that
|
|
34
|
+
finished, never from here. If the developer did not permit feedback, do not run the
|
|
35
|
+
command.
|
package/package.json
CHANGED
package/release/release-tool.js
CHANGED
|
@@ -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(
|
|
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 ? "
|
|
14698
|
+
return true ? "bf2068734bcc42b9dc9999b183d0fd07a673f713" : "main";
|
|
14687
14699
|
}
|
|
14688
14700
|
|
|
14689
14701
|
// apps/cli/src/services/agentcore-config.ts
|
|
@@ -14860,6 +14872,12 @@ var TELEMETRY_ERROR_CODES = {
|
|
|
14860
14872
|
USER_ABORTED: "USER_ABORTED",
|
|
14861
14873
|
NON_INTERACTIVE: "NON_INTERACTIVE",
|
|
14862
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",
|
|
14863
14881
|
CLI_PRODUCT_BINARY_TOO_LARGE: "CLI_PRODUCT_BINARY_TOO_LARGE",
|
|
14864
14882
|
LEARNING_CONTAINER_ID_INVALID: "LEARNING_CONTAINER_ID_INVALID",
|
|
14865
14883
|
LEARNING_PROJECT_ID_INVALID: "LEARNING_PROJECT_ID_INVALID",
|
|
@@ -14891,6 +14909,7 @@ var FRAMEWORK_EMOJI = {
|
|
|
14891
14909
|
"adk-angular": "\u{1F53A}",
|
|
14892
14910
|
a2a: "\u{1F916}",
|
|
14893
14911
|
"aws-strands-py": "\u{1F9EC}",
|
|
14912
|
+
"aws-strands-ts": "\u{1F9EC}",
|
|
14894
14913
|
"microsoft-agent-framework-dotnet": "\u{1F7E6}",
|
|
14895
14914
|
"microsoft-agent-framework-py": "\u{1F7E6}",
|
|
14896
14915
|
"mcp-apps": "\u{1F9E9}",
|
|
@@ -14925,6 +14944,10 @@ var FRAMEWORK_CHOICES = [
|
|
|
14925
14944
|
label: `${FRAMEWORK_EMOJI["aws-strands-py"]} AWS Strands (Python)`,
|
|
14926
14945
|
value: "aws-strands-py"
|
|
14927
14946
|
},
|
|
14947
|
+
{
|
|
14948
|
+
label: `${FRAMEWORK_EMOJI["aws-strands-ts"]} AWS Strands (TypeScript)`,
|
|
14949
|
+
value: "aws-strands-ts"
|
|
14950
|
+
},
|
|
14928
14951
|
{ label: `${FRAMEWORK_EMOJI.adk} ADK`, value: "adk" },
|
|
14929
14952
|
{
|
|
14930
14953
|
label: `${FRAMEWORK_EMOJI["adk-angular"]} Angular + ADK`,
|
|
@@ -15099,6 +15122,11 @@ var FRAMEWORK_TEMPLATES = {
|
|
|
15099
15122
|
TEMPLATE_REPOS["aws-strands-py"],
|
|
15100
15123
|
`\u{1FA81}\u{1F91D}${FRAMEWORK_EMOJI["aws-strands-py"]}`
|
|
15101
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
|
+
),
|
|
15102
15130
|
a2a: {
|
|
15103
15131
|
...standardTemplate(
|
|
15104
15132
|
"a2a",
|
|
@@ -15438,7 +15466,7 @@ async function scaffoldStarterForSmoke(input, scaffold = scaffoldProject) {
|
|
|
15438
15466
|
}
|
|
15439
15467
|
}
|
|
15440
15468
|
async function executeStarterSmokeChild(command) {
|
|
15441
|
-
return new Promise((
|
|
15469
|
+
return new Promise((resolve4, reject) => {
|
|
15442
15470
|
execFile(
|
|
15443
15471
|
command.executable,
|
|
15444
15472
|
[...command.args],
|
|
@@ -15452,7 +15480,7 @@ async function executeStarterSmokeChild(command) {
|
|
|
15452
15480
|
reject(error48);
|
|
15453
15481
|
return;
|
|
15454
15482
|
}
|
|
15455
|
-
|
|
15483
|
+
resolve4(stdout);
|
|
15456
15484
|
}
|
|
15457
15485
|
);
|
|
15458
15486
|
});
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# Configure Slack
|
|
2
|
-
|
|
3
|
-
Use Slack only for an empty or agent-only starting state. Preserve an existing Slack
|
|
4
|
-
frontend in those states. Record each required credential variable name. Do not read,
|
|
5
|
-
show, store, or request a secret value.
|
|
6
|
-
|
|
7
|
-
## Documentation
|
|
8
|
-
|
|
9
|
-
- Credentials and plan: https://docs.copilotkit.ai/slack/intelligence.md
|
|
10
|
-
- Implementation and validation: https://docs.copilotkit.ai/slack/connect.md
|
|
11
|
-
- Proof: https://docs.copilotkit.ai/slack/deploy-and-operate.md
|
|
12
|
-
|
|
13
|
-
Fetch each selected documentation URL. Record Slack as the selected frontend and keep
|
|
14
|
-
these URLs. Do not use remembered CopilotKit instructions.
|
|
15
|
-
|
|
16
|
-
If the pages support the selection, run
|
|
17
|
-
`npx copilotkit@4.8.3 onboard read credentials/finalize-plan`.
|
|
18
|
-
|
|
19
|
-
If a page does not load or support the selection, run
|
|
20
|
-
`npx copilotkit@4.8.3 onboard read unsupported/no-validated-path`.
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# Configure Microsoft Teams
|
|
2
|
-
|
|
3
|
-
Use Microsoft Teams only for an empty or agent-only starting state. Preserve an existing
|
|
4
|
-
Teams frontend in those states. Record each required credential variable name. Do not
|
|
5
|
-
read, show, store, or request a secret value.
|
|
6
|
-
|
|
7
|
-
## Documentation
|
|
8
|
-
|
|
9
|
-
- Credentials and plan: https://docs.copilotkit.ai/teams/intelligence.md
|
|
10
|
-
- Implementation and validation: https://docs.copilotkit.ai/teams/connect.md
|
|
11
|
-
- Proof: https://docs.copilotkit.ai/teams/deploy-and-operate.md
|
|
12
|
-
|
|
13
|
-
Fetch each selected documentation URL. Record Microsoft Teams as the selected frontend
|
|
14
|
-
and keep these URLs. Do not use remembered CopilotKit instructions.
|
|
15
|
-
|
|
16
|
-
If the pages support the selection, run
|
|
17
|
-
`npx copilotkit@4.8.3 onboard read credentials/finalize-plan`.
|
|
18
|
-
|
|
19
|
-
If a page does not load or support the selection, run
|
|
20
|
-
`npx copilotkit@4.8.3 onboard read unsupported/no-validated-path`.
|