@cargo-ai/cli 1.0.92 → 1.0.94

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
@@ -152,23 +152,23 @@ cargo-ai orchestration workflow --help
152
152
 
153
153
  ### Domains and example commands
154
154
 
155
- | Domain | Description | Example commands |
156
- | ------------------------ | ----------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
157
- | **orchestration** | Workflows, plays, runs, batches, tools, templates | `cargo-ai orchestration workflow list`, `cargo-ai orchestration run list --workflow-uuid <uuid>` |
158
- | **workspaceManagement** | Workspaces, users, tokens, roles, folders | `cargo-ai workspaceManagement workspaces list`, `cargo-ai workspaceManagement token list` |
159
- | **storage** | Datasets, models, relationships, runs, records | `cargo-ai storage dataset list`, `cargo-ai storage model list` |
160
- | **connection** | Connectors and integrations | `cargo-ai connection connector list`, `cargo-ai connection integration list` |
161
- | **billing** | Usage and subscription | `cargo-ai billing subscription get`, `cargo-ai billing usage get-metrics --payload '{"from":"2025-01-01","to":"2025-01-31"}'` |
162
- | **segmentation** | Segments and changes | `cargo-ai segmentation segment list`, `cargo-ai segmentation change list --payload '{}'` |
163
- | **revenue-organization** | Allocations, capacities, members, territories | `cargo-ai revenue-organization member list`, `cargo-ai revenue-organization territory list` |
164
- | **expression** | Recipes and expression evaluation | `cargo-ai expression recipe list`, `cargo-ai expression eval evaluate --payload '{}'` |
165
- | **system-of-record** | System of record, client, logs | `cargo-ai system-of-record sor list`, `cargo-ai system-of-record log list --payload '{}'` |
166
- | **user-management** | Current user (no workspace context) | `cargo-ai user-management user get-current` |
167
- | **ai** | AI templates, agents, releases, chats, MCP, files | `cargo-ai ai template list`, `cargo-ai ai agent list`, `cargo-ai ai file list` |
168
- | **context** | Context repository, runtime sandbox, and knowledge graph | `cargo-ai context repository get`, `cargo-ai context runtime browse --path <path>`, `cargo-ai context graph get` |
169
- | **hosting** | Cargo Hosting apps (Vite SPAs), workers, and deployments | `cargo-ai hosting app list`, `cargo-ai hosting worker list`, `cargo-ai hosting deployment list --payload '{}'` |
170
- | **mailboxManagement** | Owned sending mailboxes, threads, events, suppressions, pricing | `cargo-ai mailboxManagement mailbox list`, `cargo-ai mailboxManagement mailbox get-send-allowance <uuid>` |
171
- | **cdk** | Declarative IaC: define resources in code, deploy, generate types | `cargo-ai cdk init <dir>`, `cargo-ai cdk types`, `cargo-ai cdk plan`, `cargo-ai cdk deploy` |
155
+ | Domain | Description | Example commands |
156
+ | ------------------------ | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
157
+ | **orchestration** | Workflows, plays, runs, batches, tools, templates | `cargo-ai orchestration workflow list`, `cargo-ai orchestration run list --workflow-uuid <uuid>` |
158
+ | **workspaceManagement** | Workspaces, users, tokens, roles, folders | `cargo-ai workspaceManagement workspaces list`, `cargo-ai workspaceManagement token list` |
159
+ | **storage** | Datasets, models, relationships, runs, records | `cargo-ai storage dataset list`, `cargo-ai storage model list` |
160
+ | **connection** | Connectors and integrations | `cargo-ai connection connector list`, `cargo-ai connection integration list` |
161
+ | **billing** | Usage and subscription | `cargo-ai billing subscription get`, `cargo-ai billing usage get-metrics --payload '{"from":"2025-01-01","to":"2025-01-31"}'` |
162
+ | **segmentation** | Segments and changes | `cargo-ai segmentation segment list`, `cargo-ai segmentation change list --payload '{}'` |
163
+ | **revenue-organization** | Allocations, capacities, members, territories | `cargo-ai revenue-organization member list`, `cargo-ai revenue-organization territory list` |
164
+ | **expression** | Recipes and expression evaluation | `cargo-ai expression recipe list`, `cargo-ai expression eval evaluate --payload '{}'` |
165
+ | **system-of-record** | System of record, client, logs | `cargo-ai system-of-record sor list`, `cargo-ai system-of-record log list --payload '{}'` |
166
+ | **user-management** | Current user (no workspace context) | `cargo-ai user-management user get-current` |
167
+ | **ai** | AI templates, agents, releases, chats, MCP, files | `cargo-ai ai template list`, `cargo-ai ai agent list`, `cargo-ai ai file list` |
168
+ | **context** | Context repository, runtime sandbox, and knowledge graph | `cargo-ai context repository get`, `cargo-ai context runtime browse --path <path>`, `cargo-ai context graph get` |
169
+ | **hosting** | Cargo Hosting apps (Vite SPAs), workers, and deployments | `cargo-ai hosting app list`, `cargo-ai hosting worker list`, `cargo-ai hosting deployment list --payload '{}'` |
170
+ | **mailboxManagement** | Owned sending mailboxes, threads, events, suppressions, pricing | `cargo-ai mailboxManagement mailbox list`, `cargo-ai mailboxManagement mailbox get-send-allowance <uuid>` |
171
+ | **project** | Declarative IaC: define resources in code, deploy, generate types | `cargo-ai project init <dir>`, `cargo-ai project types`, `cargo-ai project plan`, `cargo-ai project deploy` (`cdk` is an alias) |
172
172
 
173
173
  Commands that accept complex payloads use a `--payload <json>` option (e.g. `cargo-ai orchestration play create --payload '{"name":"My Play",...}'`). Use `--help` on any subcommand for options.
174
174
 
@@ -25,7 +25,7 @@ export function parseSlash(text) {
25
25
  if (trimmed.startsWith("/") === false) {
26
26
  return undefined;
27
27
  }
28
- // A cookbook handoff launches Ask with `/cargo-cdk` then a multi-line brief.
28
+ // A cookbook handoff launches Ask with `/cargo-project` then a multi-line brief.
29
29
  // Chat commands are a single line (`/help`, `/exit`); anything with a
30
30
  // newline is prose for the model, including a skill command the harness
31
31
  // expands before the first turn.
@@ -171,7 +171,7 @@ export function formatStartNextSteps(facts) {
171
171
  "Next steps:",
172
172
  " cargo-ai whoami # confirm the workspace",
173
173
  " cargo-ai orchestration action list enrich # find something to run",
174
- " cargo-ai cdk init # define this workspace in a repo",
174
+ " cargo-ai project init # define this workspace in a repo",
175
175
  " cargo-ai # the command palette",
176
176
  ];
177
177
  if (facts.skillsInstalled === false) {
@@ -14,7 +14,7 @@ export type StartOptions = {
14
14
  };
15
15
  /** What the flow needs from the program it was registered on. */
16
16
  export type StartDeps = {
17
- /** The script `cdk init` is re-run through — normally `process.argv[1]`. */
17
+ /** The script `project init` is re-run through — normally `process.argv[1]`. */
18
18
  binPath: string;
19
19
  /** Opens the command palette, part-way down the tree. */
20
20
  openPalette: (startPath: readonly string[]) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/start/index.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAcxC,OAAO,EAUL,KAAK,cAAc,EAGpB,MAAM,YAAY,CAAC;AAGpB,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,iEAAiE;AACjE,MAAM,MAAM,SAAS,GAAG;IACtB,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D,CAAC;AAKF;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAiBjE;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GAAG,EACjB,IAAI,EAAE,SAAS,GACd,IAAI,CAmDN;AAED,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,GAAG,EACjB,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAmDf;AAqPD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,CAkBvE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/start/index.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAcxC,OAAO,EAUL,KAAK,cAAc,EAGpB,MAAM,YAAY,CAAC;AAGpB,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,iEAAiE;AACjE,MAAM,MAAM,SAAS,GAAG;IACtB,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D,CAAC;AAKF;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAiBjE;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GAAG,EACjB,IAAI,EAAE,SAAS,GACd,IAAI,CAmDN;AAED,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,GAAG,EACjB,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAmDf;AAqPD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,CAkBvE"}
@@ -7,7 +7,7 @@
7
7
  // down.
8
8
  //
9
9
  // Three steps and no more: sign in, land in a workspace, choose where to carry
10
- // on. Everything past that belongs to whatever you chose — `cdk init` asks its
10
+ // on. Everything past that belongs to whatever you chose — `project init` asks its
11
11
  // own questions about a project, a coding agent asks its own about the work.
12
12
  // The flow writes nothing to disk except its own state.
13
13
  //
@@ -57,7 +57,7 @@ export function registerStartCommand(program, getApi, deps) {
57
57
  .option("--workspace-name <name>", "Workspace to use, created if it does not exist")
58
58
  .option("--workspace-uuid <uuid>", "Workspace to use")
59
59
  .option("--continue <where>", 'Where to continue: a coding agent ("claude", "cursor", "codex", "gemini"), "code" to set up a project, "cli" for the palette, "demo" for the guided tour, or "none"')
60
- .option("--directory <path>", "Directory to scaffold into, for `--continue code`. Required when there is nobody to ask; supplying it also skips the project wizard, the way `cdk init <directory>` does")
60
+ .option("--directory <path>", "Directory to scaffold into, for `--continue code`. Required when there is nobody to ask; supplying it also skips the project wizard, the way `project init <directory>` does")
61
61
  .option("--icp <description>", "Who you sell to, used to brief the guided demo")
62
62
  .option("--base-url <url>", "Cargo API base URL")
63
63
  .addHelpText("after", `
@@ -83,7 +83,7 @@ export async function runStart(getApi, deps, opts) {
83
83
  // error, and finding it out after a browser sign-in is a poor way to learn.
84
84
  const supplied = opts.continue === undefined ? undefined : requireDestination(opts.continue);
85
85
  // Same reasoning, one step further. Scaffolding headless needs a directory,
86
- // and `cdk init` cannot ask for one — so without this the run signs in,
86
+ // and `project init` cannot ask for one — so without this the run signs in,
87
87
  // saves its state, and *then* dies on a usage error from a child
88
88
  // process, having done everything except the thing it was asked to do.
89
89
  if (supplied !== undefined &&
@@ -166,7 +166,7 @@ async function go(destination, facts, deps, opts) {
166
166
  }
167
167
  }
168
168
  /**
169
- * The skill to load for a general agent handoff: `cargo-cdk` when inside a
169
+ * The skill to load for a general agent handoff: `cargo-project` when inside a
170
170
  * CDK project (the user is building infra as code), `cargo` (the router)
171
171
  * everywhere else.
172
172
  */
@@ -174,7 +174,7 @@ function agentSkill(project) {
174
174
  return project.kind === "none" ? ROUTER_SKILL : CDK_SKILL;
175
175
  }
176
176
  /**
177
- * Hand the whole project question to `cdk init`, which owns it: where the
177
+ * Hand the whole project question to `project init`, which owns it: where the
178
178
  * project goes, what it starts from, and the company questions worth asking
179
179
  * once there is a repo to write the answers into.
180
180
  *
@@ -188,12 +188,12 @@ function scaffoldProject(deps, opts) {
188
188
  // command line, which `--directory` is here to forward.
189
189
  const scaffold = spawnSync(process.execPath, [
190
190
  deps.binPath,
191
- "cdk",
191
+ "project",
192
192
  "init",
193
193
  ...(opts.directory === undefined ? [] : [opts.directory]),
194
194
  ], { stdio: "inherit" });
195
195
  if (scaffold.error !== undefined) {
196
- failWith(`Could not run \`cdk init\`: ${scaffold.error.message}`);
196
+ failWith(`Could not run \`project init\`: ${scaffold.error.message}`);
197
197
  }
198
198
  // The child has already said what went wrong on this terminal, so this
199
199
  // carries its code rather than adding a second message. A null status means
package/build/index.js CHANGED
@@ -248,8 +248,13 @@ registerAiCommands(program, getApi);
248
248
  registerHostingCommands(program, getApi);
249
249
  registerMailboxManagementCommands(program, getApi);
250
250
  registerMcpCommand(program, getApi);
251
+ // `cdk` is what this group was called for its first year, and it is still what
252
+ // the npm package and the standalone bin are called. The alias keeps every
253
+ // pasted command, script and older skill working; `project` is the name a
254
+ // person who has never used the AWS CDK can guess.
251
255
  registerCdkCommands(program
252
- .command("cdk")
256
+ .command("project")
257
+ .alias("cdk")
253
258
  .description("Define this workspace in a repo and deploy it (init/plan/deploy)"), getApi);
254
259
  // Bare `cargo-ai` in a terminal opens the palette instead of printing the help
255
260
  // wall: twenty command groups is a list to navigate, not one to read. Anything
@@ -1 +1 @@
1
- {"version":3,"file":"paletteLayout.d.ts","sourceRoot":"","sources":["../src/paletteLayout.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,mBAAmB,CAAC;AA8E3B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/B,4EAA4E;IAC5E,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,CAS3E;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,kBAAkB,GAAG,SAAS,EAAE,CA+DjE"}
1
+ {"version":3,"file":"paletteLayout.d.ts","sourceRoot":"","sources":["../src/paletteLayout.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,mBAAmB,CAAC;AA+E3B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/B,4EAA4E;IAC5E,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,CAS3E;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,kBAAkB,GAAG,SAAS,EAAE,CA+DjE"}
@@ -18,10 +18,11 @@ const DEPLOY = " deploy";
18
18
  const BOOK_DEMO = " book-demo";
19
19
  /**
20
20
  * `start` runs most of these; the pinned row is the shortcut to one of them.
21
- * The exceptions are "Add" and "Deploy", which run `cdk add` and `cdk deploy`
22
- * directly: neither is a `start` destination, because neither needs the sign-in
23
- * step nor a choice of where to carry on — you are already in the project. Bare
24
- * `cdk add` asks connector vs cookbook, then shows that kind's list. "Book a
21
+ * The exceptions are "Add" and "Deploy", which run `project add` and `project
22
+ * deploy` directly: neither is a `start` destination, because neither needs the
23
+ * sign-in step nor a choice of where to carry on — you are already in the
24
+ * project. Bare `project add` asks connector vs cookbook, then shows that
25
+ * kind's list. "Book a
25
26
  * demo" is the other exception: it is only pinned on an unpaid plan, and runs
26
27
  * `book-demo` itself.
27
28
  */
@@ -78,7 +79,7 @@ const SECTIONS = [
78
79
  ],
79
80
  // The workspace as code sits on its own: it is the same resources again,
80
81
  // declared in a repo rather than run from here.
81
- ["cdk"],
82
+ ["project"],
82
83
  ["doctor", "whoami", "login", "logout", "book-demo"],
83
84
  ];
84
85
  export function buildPaletteLayout(input) {
@@ -162,10 +163,10 @@ function cdkRows(root, cwd) {
162
163
  value: ADD,
163
164
  label: "Add",
164
165
  hint: "a connector or a cookbook into this project",
165
- // `--dir` because `cdk add` refuses a directory with no package.json,
166
+ // `--dir` because `project add` refuses a directory with no package.json,
166
167
  // and the palette is as often open in `infra/` — where the scaffold's
167
168
  // README sends people — as at the root.
168
- argv: ["cdk", "add", "--dir", root],
169
+ argv: ["project", "add", "--dir", root],
169
170
  },
170
171
  {
171
172
  value: DEPLOY,
@@ -180,7 +181,7 @@ function cdkRows(root, cwd) {
180
181
  : `${basename(root)}/ to your workspace`,
181
182
  // No `--yes`: `deploy` shows the plan and asks, which is the point of
182
183
  // reaching it from a menu.
183
- argv: ["cdk", "deploy", "--dir", root],
184
+ argv: ["project", "deploy", "--dir", root],
184
185
  },
185
186
  ];
186
187
  }
@@ -101,7 +101,7 @@ export function resolveTokensFromState(value, file, subject) {
101
101
  failWith(`${subject} references ${String(deps.size)} deployed resource(s) ` +
102
102
  `(${[...deps].join(", ")}), but no cargo.state.json was found near ` +
103
103
  `${absPath} or the current directory. Deploy the resources first with ` +
104
- "`cargo-ai cdk deploy`, or reference them by literal uuid " +
104
+ "`cargo-ai project deploy`, or reference them by literal uuid " +
105
105
  "(toolRef / agentRef / connectorRef).", { code: ExitCodes.NotFound });
106
106
  }
107
107
  // A project whose state lives in the workspace has a pointer here, not a
@@ -120,7 +120,7 @@ export function resolveTokensFromState(value, file, subject) {
120
120
  failWith(`${String(missing.length)} resource(s) referenced by ${subject} ` +
121
121
  `aren't in this project's deploy state yet: ${missing.join(", ")}. A test run ` +
122
122
  "resolves existing (already-deployed) resources from state — it won't " +
123
- "create new ones. Deploy them first with `cargo-ai cdk deploy`, or " +
123
+ "create new ones. Deploy them first with `cargo-ai project deploy`, or " +
124
124
  "reference them by literal uuid (toolRef / agentRef / connectorRef).", { code: ExitCodes.NotFound });
125
125
  }
126
126
  return resolveTokens(value, outputs);
@@ -97,7 +97,7 @@ export async function loadCompiledAgent(file) {
97
97
  if (setUnsupported.length > 0) {
98
98
  failWith(`Agent "${handle.slug}" sets ${setUnsupported.join(", ")}, which a test ` +
99
99
  "message can't apply (they only take effect on a deployed release). " +
100
- "Remove them for a test run, or deploy the agent with `cargo-ai cdk " +
100
+ "Remove them for a test run, or deploy the agent with `cargo-ai project " +
101
101
  "deploy` and chat against it by uuid.", { code: ExitCodes.InvalidUsage });
102
102
  }
103
103
  return compileAgent(node.spec);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cargo-ai/cli",
3
- "version": "1.0.92",
3
+ "version": "1.0.94",
4
4
  "private": false,
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://getcargo.ai",
@@ -69,8 +69,8 @@
69
69
  "@ai-sdk/harness-claude-code": "^1.0.99",
70
70
  "@cargo-ai/api": "^1.0.81",
71
71
  "@cargo-ai/app-sdk": "^1.0.10",
72
- "@cargo-ai/cdk": "^1.0.78",
73
- "@cargo-ai/types": "^1.0.77",
72
+ "@cargo-ai/cdk": "^1.0.80",
73
+ "@cargo-ai/types": "^1.0.78",
74
74
  "@cargo-ai/utils": "^1.0.30",
75
75
  "@cargo-ai/worker-sdk": "^1.0.17",
76
76
  "@modelcontextprotocol/sdk": "1.29.0",