cotal-ai 0.86.0 → 0.88.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.
Files changed (28) hide show
  1. package/package.json +16 -16
  2. package/seeded-connectors/claude/dist/extension.d.ts.map +1 -1
  3. package/seeded-connectors/claude/dist/index.js +10 -9
  4. package/seeded-connectors/claude/dist/mcp.cjs +1767 -1382
  5. package/seeded-connectors/claude/package.json +1 -1
  6. package/seeded-connectors/codex/dist/extension.d.ts.map +1 -1
  7. package/seeded-connectors/codex/dist/host.js +1830 -1445
  8. package/seeded-connectors/codex/dist/index.js +8 -6
  9. package/seeded-connectors/codex/package.json +1 -1
  10. package/seeded-connectors/hermes/dist/extension.d.ts.map +1 -1
  11. package/seeded-connectors/hermes/dist/index.js +15 -7
  12. package/seeded-connectors/hermes/dist/launch.js +1597 -1212
  13. package/seeded-connectors/hermes/package.json +1 -1
  14. package/seeded-connectors/hermes/plugin/cotal/_sidecar/standalone.cjs +1586 -1201
  15. package/seeded-connectors/jcode/dist/extension.d.ts.map +1 -1
  16. package/seeded-connectors/jcode/dist/host.js +1661 -1276
  17. package/seeded-connectors/jcode/dist/index.js +15 -4
  18. package/seeded-connectors/jcode/dist/mcp.js +608 -497
  19. package/seeded-connectors/jcode/package.json +1 -1
  20. package/seeded-connectors/opencode/dist/extension.d.ts.map +1 -1
  21. package/seeded-connectors/opencode/dist/index.js +9 -12
  22. package/seeded-connectors/opencode/dist/plugin/index.js +1658 -1273
  23. package/seeded-connectors/opencode/package.json +1 -1
  24. package/seeded-connectors/pi/dist/connector.d.ts.map +1 -1
  25. package/seeded-connectors/pi/dist/index.js +35 -34
  26. package/seeded-connectors/pi/dist/standalone.js +1639 -1254
  27. package/seeded-connectors/pi/package.json +1 -1
  28. package/seeded-connectors/web/package.json +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cotal-ai",
3
- "version": "0.86.0",
3
+ "version": "0.88.0",
4
4
  "description": "Cotal — lateral agent coordination over NATS. Run `npx cotal-ai` for the CLI.",
5
5
  "license": "Apache-2.0",
6
6
  "keywords": [
@@ -33,24 +33,24 @@
33
33
  "node": ">=22"
34
34
  },
35
35
  "dependencies": {
36
- "@cotal-ai/auth": "0.86.0",
37
- "@cotal-ai/cli": "0.86.0",
38
- "@cotal-ai/connector-core": "0.86.0",
39
- "@cotal-ai/core": "0.86.0",
40
- "@cotal-ai/delivery": "0.86.0",
41
- "@cotal-ai/manager": "0.86.0",
42
- "@cotal-ai/runtime": "0.86.0",
43
- "@cotal-ai/workspace": "0.86.0"
36
+ "@cotal-ai/auth": "0.88.0",
37
+ "@cotal-ai/cli": "0.88.0",
38
+ "@cotal-ai/connector-core": "0.88.0",
39
+ "@cotal-ai/core": "0.88.0",
40
+ "@cotal-ai/delivery": "0.88.0",
41
+ "@cotal-ai/manager": "0.88.0",
42
+ "@cotal-ai/runtime": "0.88.0",
43
+ "@cotal-ai/workspace": "0.88.0"
44
44
  },
45
45
  "devDependencies": {
46
- "@cotal-ai/connector-claude-code": "0.86.0",
47
- "@cotal-ai/connector-codex": "0.86.0",
48
- "@cotal-ai/connector-hermes": "0.86.0",
49
- "@cotal-ai/connector-jcode": "0.86.0",
50
- "@cotal-ai/connector-opencode": "0.86.0",
51
- "@cotal-ai/pi": "0.86.0",
46
+ "@cotal-ai/connector-claude-code": "0.88.0",
47
+ "@cotal-ai/connector-codex": "0.88.0",
48
+ "@cotal-ai/connector-hermes": "0.88.0",
49
+ "@cotal-ai/connector-jcode": "0.88.0",
50
+ "@cotal-ai/connector-opencode": "0.88.0",
51
+ "@cotal-ai/pi": "0.88.0",
52
52
  "@cotal-ai/smoke-kit": "0.0.0",
53
- "@cotal-ai/web": "0.86.0",
53
+ "@cotal-ai/web": "0.88.0",
54
54
  "@nats-io/jetstream": "^3.4.0",
55
55
  "@nats-io/transport-node": "^3.4.0",
56
56
  "typescript": "^5.9.3"
@@ -1 +1 @@
1
- {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgD,KAAK,SAAS,EAAoC,MAAM,gBAAgB,CAAC;AAShI;;;;;;;;;4FAS4F;AAC5F,eAAO,MAAM,oBAAoB,8/DA4EvB,CAAC;AAgDX;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,SA0M7B,CAAC"}
1
+ {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgD,KAAK,SAAS,EAAoC,MAAM,gBAAgB,CAAC;AAShI;;;;;;;;;4FAS4F;AAC5F,eAAO,MAAM,oBAAoB,8/DA4EvB,CAAC;AAgDX;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,SA2M7B,CAAC"}
@@ -6889,7 +6889,7 @@ import { spawn, spawnSync } from "node:child_process";
6889
6889
  import { createHash as createHash2, randomUUID } from "node:crypto";
6890
6890
  import { cpSync, existsSync as existsSync3, mkdirSync, readdirSync, readFileSync as readFileSync3, renameSync as renameSync2, rmSync, statSync as statSync2, writeFileSync as writeFileSync2 } from "node:fs";
6891
6891
  import { homedir as homedir3 } from "node:os";
6892
- import { dirname, join as join4, relative } from "node:path";
6892
+ import { dirname as dirname2, join as join4, relative } from "node:path";
6893
6893
  import { fileURLToPath } from "node:url";
6894
6894
  import {
6895
6895
  globalConfigPath,
@@ -6934,6 +6934,7 @@ function controlEndpoint(space, name, token = randomBytes(32).toString("base64ur
6934
6934
 
6935
6935
  // ../connector-core/dist/launch.js
6936
6936
  import { eventChannel as eventChannel2, LAUNCH_MATERIAL_ENV as LAUNCH_MATERIAL_ENV3, parsePrincipalKey, principalKey, writeLaunchMaterial } from "@cotal-ai/core";
6937
+ import { dirname } from "node:path";
6937
6938
  import { EVENT_CHANNEL_PREFIX, eventChannel as eventChannel3, eventChannelPrincipal, isEventChannel } from "@cotal-ai/core";
6938
6939
  var OS_ENV_ALLOW = [
6939
6940
  "PATH",
@@ -7049,7 +7050,7 @@ function connectorLaunchOptions(connector, launchOptions) {
7049
7050
  throw new Error(`${connector} connector: launch option key ${JSON.stringify(k)} is not a valid flag name`);
7050
7051
  return Object.entries(launchOptions);
7051
7052
  }
7052
- function materialEnv(opts) {
7053
+ function materialEnv(opts, artifacts) {
7053
7054
  if (opts.userAuth && opts.creds)
7054
7055
  throw new Error("launch: creds (static auth) and userAuth (user-mode auth) are mutually exclusive \u2014 one launch carries one identity plane");
7055
7056
  const material = {};
@@ -7067,7 +7068,9 @@ function materialEnv(opts) {
7067
7068
  material.userAuth = opts.userAuth;
7068
7069
  if (Object.keys(material).length === 0)
7069
7070
  return {};
7070
- return { [LAUNCH_MATERIAL_ENV3]: writeLaunchMaterial(material) };
7071
+ const path = writeLaunchMaterial(material);
7072
+ artifacts.push(dirname(path));
7073
+ return { [LAUNCH_MATERIAL_ENV3]: path };
7071
7074
  }
7072
7075
  function launchArmsEvents(opts) {
7073
7076
  return opts.events !== false || opts.eventsRequired === true;
@@ -23623,7 +23626,7 @@ function desktopEntry(cotal) {
23623
23626
  }
23624
23627
  function desktop(cotal, add) {
23625
23628
  const path = desktopConfigPath();
23626
- if (!path || !existsSync3(dirname(path))) return void 0;
23629
+ if (!path || !existsSync3(dirname2(path))) return void 0;
23627
23630
  if (!add && readDesktopEntry(path) === void 0) return void 0;
23628
23631
  const state = writeDesktopEntry(path, desktopEntry(cotal));
23629
23632
  return `Claude Desktop ${state}${state === "current" ? "" : "; quit and reopen Claude Desktop to load it"}`;
@@ -23701,7 +23704,7 @@ function marketplaceManifest(market) {
23701
23704
  }
23702
23705
  function writeMarketplaceManifest(market) {
23703
23706
  const path = join4(market, ".claude-plugin", "marketplace.json");
23704
- mkdirSync(dirname(path), { recursive: true });
23707
+ mkdirSync(dirname2(path), { recursive: true });
23705
23708
  writeFileSync2(path, JSON.stringify(marketplaceManifest(market), null, 2) + "\n");
23706
23709
  return path;
23707
23710
  }
@@ -23807,7 +23810,7 @@ function pluginRow(entries, { version: version2 }) {
23807
23810
  }
23808
23811
  function desktopRow() {
23809
23812
  const path = desktopConfigPath();
23810
- if (!path || !existsSync3(dirname(path))) return void 0;
23813
+ if (!path || !existsSync3(dirname2(path))) return void 0;
23811
23814
  const row = (state, text) => ({ label: "Claude Desktop", state, text });
23812
23815
  let entry;
23813
23816
  try {
@@ -24147,9 +24150,6 @@ var claudeConnector = {
24147
24150
  const env = {
24148
24151
  ...launchEnv({ providerKeys: CLAUDE_PROVIDER_KEYS, mcpKeys: [...mcpServerEnvKeys(shared), ...nativeEnvKeys, ...CLAUDE_MCP_KEYS], envAllow: opts.envAllow }),
24149
24152
  ...aclEnv(opts),
24150
- // Creds, broker URL and the control token ride a 0600 file; only its path is exported, so the
24151
- // shells, builds and third-party CLIs this session runs no longer inherit live authority.
24152
- ...materialEnv({ creds: opts.creds, servers: opts.servers, controlToken: control.token, eventsRequired: opts.eventsRequired, userAuth: opts.userAuth }),
24153
24153
  COTAL_SPACE: opts.space,
24154
24154
  COTAL_NAME: opts.name,
24155
24155
  // Force the connector to emit channel wake-nudges: Claude doesn't advertise the
@@ -24183,6 +24183,7 @@ var claudeConnector = {
24183
24183
  if (opts.model) assertServableModel(opts.model);
24184
24184
  const passthrough = connectorLaunchOptions("claude", opts.launchOptions).map(([k, v]) => [k, String(v)]);
24185
24185
  const artifacts = [];
24186
+ Object.assign(env, materialEnv({ creds: opts.creds, servers: opts.servers, controlToken: control.token, eventsRequired: opts.eventsRequired, userAuth: opts.userAuth }, artifacts));
24186
24187
  let mcpConfig;
24187
24188
  if (Object.keys(shared).length === 0) {
24188
24189
  mcpConfig = JSON.stringify({ mcpServers });