@cotal-ai/connector-core 0.23.0 → 0.25.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.
@@ -1 +1 @@
1
- {"version":3,"file":"docs-bundle.generated.js","sourceRoot":"","sources":["../src/docs-bundle.generated.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs-bundle.generated.js","sourceRoot":"","sources":["../src/docs-bundle.generated.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,WAAW,GAAe;IACrC,SAAS,EAAE,QAAQ;IACnB,eAAe,EAAE,mEAAmE;IACpF,OAAO,EAAE;QACP;YACE,MAAM,EAAE,eAAe;YACvB,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,0BAA0B;YAClC,SAAS,EAAE,+FAA+F;YAC1G,MAAM,EAAE,o6IAAo6I;SAC76I;QACD;YACE,MAAM,EAAE,iBAAiB;YACzB,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,0BAA0B;YAClC,SAAS,EAAE,gHAAgH;YAC3H,MAAM,EAAE,imVAAimV;SAC1mV;QACD;YACE,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,uBAAuB;YAC/B,SAAS,EAAE,wMAAwM;YACnN,MAAM,EAAE,ktiBAAktiB;SAC3tiB;QACD;YACE,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,kBAAkB;YAC3B,MAAM,EAAE,mEAAmE;YAC3E,SAAS,EAAE,wMAAwM;YACnN,MAAM,EAAE,8jsBAA8jsB;SACvksB;QACD;YACE,MAAM,EAAE,0BAA0B;YAClC,OAAO,EAAE,0BAA0B;YACnC,MAAM,EAAE,mCAAmC;YAC3C,SAAS,EAAE,sIAAsI;YACjJ,MAAM,EAAE,u+JAAu+J;SACh/J;QACD;YACE,MAAM,EAAE,mBAAmB;YAC3B,OAAO,EAAE,iBAAiB;YAC1B,MAAM,EAAE,uBAAuB;YAC/B,SAAS,EAAE,oDAAoD;YAC/D,MAAM,EAAE,6tnBAA6tnB;SACtunB;QACD;YACE,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,yFAAyF;YACjG,SAAS,EAAE,gJAAgJ;YAC3J,MAAM,EAAE,k0PAAk0P;SAC30P;QACD;YACE,MAAM,EAAE,uBAAuB;YAC/B,OAAO,EAAE,uBAAuB;YAChC,MAAM,EAAE,sFAAsF;YAC9F,SAAS,EAAE,6GAA6G;YACxH,MAAM,EAAE,m4KAAm4K;SAC54K;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,OAAO,EAAE,sBAAsB;YAC/B,MAAM,EAAE,qBAAqB;YAC7B,SAAS,EAAE,sMAAsM;YACjN,MAAM,EAAE,09RAA09R;SACn+R;QACD;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,uBAAuB;YAChC,MAAM,EAAE,wGAAwG;YAChH,SAAS,EAAE,iKAAiK;YAC5K,MAAM,EAAE,i6/EAAi6/E;SAC16/E;QACD;YACE,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,6BAA6B;YACtC,MAAM,EAAE,uHAAuH;YAC/H,SAAS,EAAE,wMAAwM;YACnN,MAAM,EAAE,o+mBAAo+mB;SAC7+mB;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,OAAO,EAAE,gBAAgB;YACzB,MAAM,EAAE,qBAAqB;YAC7B,SAAS,EAAE,+EAA+E;YAC1F,MAAM,EAAE,ytyBAAytyB;SACluyB;QACD;YACE,MAAM,EAAE,eAAe;YACvB,OAAO,EAAE,sBAAsB;YAC/B,MAAM,EAAE,qBAAqB;YAC7B,SAAS,EAAE,wMAAwM;YACnN,MAAM,EAAE,+6rBAA+6rB;SACx7rB;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,OAAO,EAAE,wBAAwB;YACjC,MAAM,EAAE,qBAAqB;YAC7B,SAAS,EAAE,kJAAkJ;YAC7J,MAAM,EAAE,yrIAAyrI;SAClsI;QACD;YACE,MAAM,EAAE,kBAAkB;YAC1B,OAAO,EAAE,yBAAyB;YAClC,MAAM,EAAE,qBAAqB;YAC7B,SAAS,EAAE,wJAAwJ;YACnK,MAAM,EAAE,ktPAAktP;SAC3tP;QACD;YACE,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,oBAAoB;YAC7B,MAAM,EAAE,qBAAqB;YAC7B,SAAS,EAAE,8DAA8D;YACzE,MAAM,EAAE,wxLAAwxL;SACjyL;QACD;YACE,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,qBAAqB;YAC7B,SAAS,EAAE,4HAA4H;YACvI,MAAM,EAAE,4uGAA4uG;SACrvG;QACD;YACE,MAAM,EAAE,iBAAiB;YACzB,OAAO,EAAE,qBAAqB;YAC9B,MAAM,EAAE,uBAAuB;YAC/B,SAAS,EAAE,oIAAoI;YAC/I,MAAM,EAAE,mgeAAmge;SAC5ge;QACD;YACE,MAAM,EAAE,eAAe;YACvB,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,qBAAqB;YAC7B,SAAS,EAAE,wMAAwM;YACnN,MAAM,EAAE,ilQAAilQ;SAC1lQ;QACD;YACE,MAAM,EAAE,iBAAiB;YACzB,OAAO,EAAE,+BAA+B;YACxC,MAAM,EAAE,uBAAuB;YAC/B,SAAS,EAAE,6HAA6H;YACxI,MAAM,EAAE,s5JAAs5J;SAC/5J;QACD;YACE,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,gDAAgD;YACzD,MAAM,EAAE,qBAAqB;YAC7B,SAAS,EAAE,6GAA6G;YACxH,MAAM,EAAE,+oMAA+oM;SACxpM;QACD;YACE,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,yDAAyD;YAClE,MAAM,EAAE,qBAAqB;YAC7B,SAAS,EAAE,yEAAyE;YACpF,MAAM,EAAE,uivBAAuivB;SAChjvB;QACD;YACE,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,qBAAqB;YAC7B,SAAS,EAAE,6DAA6D;YACxE,MAAM,EAAE,yrFAAyrF;SAClsF;QACD;YACE,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,yBAAyB;YACjC,SAAS,EAAE,wEAAwE;YACnF,MAAM,EAAE,65PAA65P;SACt6P;QACD;YACE,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,8BAA8B;YACvC,MAAM,EAAE,8CAA8C;YACtD,SAAS,EAAE,qIAAqI;YAChJ,MAAM,EAAE,oyNAAoyN;SAC7yN;QACD;YACE,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,oCAAoC;YAC7C,MAAM,EAAE,uHAAuH;YAC/H,SAAS,EAAE,uJAAuJ;YAClK,MAAM,EAAE,++SAA++S;SACx/S;QACD;YACE,MAAM,EAAE,uBAAuB;YAC/B,OAAO,EAAE,qBAAqB;YAC9B,MAAM,EAAE,uBAAuB;YAC/B,SAAS,EAAE,0IAA0I;YACrJ,MAAM,EAAE,o8LAAo8L;SAC78L;QACD;YACE,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,qBAAqB;YAC9B,MAAM,EAAE,0CAA0C;YAClD,SAAS,EAAE,gIAAgI;YAC3I,MAAM,EAAE,gtHAAgtH;SACztH;QACD;YACE,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,yBAAyB;YACjC,SAAS,EAAE,mLAAmL;YAC9L,MAAM,EAAE,k8KAAk8K;SAC38K;QACD;YACE,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,qBAAqB;YAC7B,SAAS,EAAE,wMAAwM;YACnN,MAAM,EAAE,uxeAAuxe;SAChye;QACD;YACE,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,gBAAgB;YACzB,MAAM,EAAE,oCAAoC;YAC5C,SAAS,EAAE,kGAAkG;YAC7G,MAAM,EAAE,8mWAA8mW;SACvnW;QACD;YACE,MAAM,EAAE,iBAAiB;YACzB,OAAO,EAAE,oCAAoC;YAC7C,MAAM,EAAE,0CAA0C;YAClD,SAAS,EAAE,wMAAwM;YACnN,MAAM,EAAE,wlcAAwlc;SACjmc;QACD;YACE,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,mBAAmB;YAC5B,MAAM,EAAE,uBAAuB;YAC/B,SAAS,EAAE,2DAA2D;YACtE,MAAM,EAAE,g0KAAg0K;SACz0K;QACD;YACE,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,qBAAqB;YAC9B,MAAM,EAAE,uBAAuB;YAC/B,SAAS,EAAE,kGAAkG;YAC7G,MAAM,EAAE,oyPAAoyP;SAC7yP;QACD;YACE,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,uBAAuB;YAChC,MAAM,EAAE,uBAAuB;YAC/B,SAAS,EAAE,kGAAkG;YAC7G,MAAM,EAAE,mlNAAmlN;SAC5lN;QACD;YACE,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,qBAAqB;YAC7B,SAAS,EAAE,uHAAuH;YAClI,MAAM,EAAE,63WAA63W;SACt4W;QACD;YACE,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,uBAAuB;YAC/B,SAAS,EAAE,kHAAkH;YAC7H,MAAM,EAAE,0/UAA0/U;SACngV;KACF;IACD,MAAM,EAAE;QACN,OAAO,EAAE,0BAA0B;QACnC,MAAM,EAAE,kg6YAAkg6Y;KAC3g6Y;IACD,MAAM,EAAE;QACN,OAAO,EAAE,mCAAmC;QAC5C,MAAM,EAAE,k4yEAAk4yE;KAC34yE;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,oCAAoC;QAC7C,MAAM,EAAE,siUAAsiU;KAC/iU;CACF,CAAC"}
package/dist/docs.d.ts CHANGED
@@ -20,6 +20,11 @@ export interface DocsBundle {
20
20
  title: string;
21
21
  body: string;
22
22
  };
23
+ /** The normative workflow-language reference (spec/cotal-lang.md). Reachable as page "lang". */
24
+ lang: {
25
+ title: string;
26
+ body: string;
27
+ };
23
28
  /** The machine-readable message schema (JSON). Reachable as page "schema". */
24
29
  schema: {
25
30
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../src/docs.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,QAAQ;IACvB,qFAAqF;IACrF,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,+FAA+F;IAC/F,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,uEAAuE;IACvE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,8EAA8E;IAC9E,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAED,yFAAyF;AACzF,eAAO,MAAM,YAAY,QAAsB,CAAC;AAqBhD;yFACyF;AACzF,wBAAgB,eAAe,IAAI,MAAM,CAuBxC;AA4GD,MAAM,WAAW,MAAM;IACrB,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED;+FAC+F;AAC/F,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,EAAE,CAiC7D;AAoDD,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,6FAA6F;AAC7F,wBAAsB,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAiCjE"}
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../src/docs.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,QAAQ;IACvB,qFAAqF;IACrF,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,+FAA+F;IAC/F,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,uEAAuE;IACvE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,gGAAgG;IAChG,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,8EAA8E;IAC9E,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAED,yFAAyF;AACzF,eAAO,MAAM,YAAY,QAAsB,CAAC;AAuBhD;yFACyF;AACzF,wBAAgB,eAAe,IAAI,MAAM,CAwBxC;AA6GD,MAAM,WAAW,MAAM;IACrB,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED;+FAC+F;AAC/F,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,EAAE,CAiC7D;AAoDD,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,6FAA6F;AAC7F,wBAAsB,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAiCjE"}
package/dist/docs.js CHANGED
@@ -17,12 +17,14 @@ import { DOCS_BUNDLE } from "./docs-bundle.generated.js";
17
17
  /** The installed Cotal version, for stamping the orientation card and other surfaces. */
18
18
  export const DOCS_VERSION = DOCS_BUNDLE.version;
19
19
  const REMOTE_BASE = "https://docs.cotal.ai";
20
- /** Resolve a `page` argument to a bundle entry. "spec"/"schema" are aliases for the two
20
+ /** Resolve a `page` argument to a bundle entry. "spec"/"lang"/"schema" are aliases for the three
21
21
  * non-page docs; everything else matches a page slug (case-insensitive). */
22
22
  function resolvePage(page) {
23
23
  const key = page.trim().toLowerCase().replace(/\.md$/, "");
24
24
  if (key === "spec")
25
25
  return { slug: "spec", title: DOCS_BUNDLE.spec.title, kind: "normative", summary: "", body: DOCS_BUNDLE.spec.body };
26
+ if (key === "lang" || key === "cotal-lang")
27
+ return { slug: "lang", title: DOCS_BUNDLE.lang.title, kind: "normative", summary: "", body: DOCS_BUNDLE.lang.body };
26
28
  if (key === "schema")
27
29
  return { slug: "schema", title: DOCS_BUNDLE.schema.title, kind: "reference", summary: "", body: DOCS_BUNDLE.schema.body };
28
30
  return DOCS_BUNDLE.pages.find((p) => p.slug === key);
@@ -33,6 +35,8 @@ function remoteUrl(slug) {
33
35
  const base = `${REMOTE_BASE}/v/${DOCS_BUNDLE.version}`;
34
36
  if (slug === "schema")
35
37
  return `${base}/cotal.schema.json`;
38
+ if (slug === "lang")
39
+ return `${base}/cotal-lang.md`;
36
40
  return `${base}/${slug}.md`;
37
41
  }
38
42
  /** The index: version banner + every page (slug · kind · summary) + spec/schema + how to
@@ -55,6 +59,7 @@ export function renderDocsIndex() {
55
59
  "",
56
60
  "## The normative sources",
57
61
  `- \`spec\` — ${DOCS_BUNDLE.spec.title} (the wire contract; where a page disagrees, the spec wins)`,
62
+ `- \`lang\` — ${DOCS_BUNDLE.lang.title} (the workflow language a durable run executes; spec §14)`,
58
63
  `- \`schema\` — ${DOCS_BUNDLE.schema.title} (authoritative for message shapes)`,
59
64
  "",
60
65
  "## Pages",
@@ -131,6 +136,7 @@ function buildIndex() {
131
136
  for (const p of DOCS_BUNDLE.pages)
132
137
  sections.push(...sectionsOf(p.slug, p.title, p.body));
133
138
  sections.push(...sectionsOf("spec", DOCS_BUNDLE.spec.title, DOCS_BUNDLE.spec.body));
139
+ sections.push(...sectionsOf("lang", DOCS_BUNDLE.lang.title, DOCS_BUNDLE.lang.body));
134
140
  // The schema is JSON (no Markdown headings) — index it as a single section.
135
141
  const sTok = [...tokenize(DOCS_BUNDLE.schema.title), ...tokenize(DOCS_BUNDLE.schema.title), ...tokenize(DOCS_BUNDLE.schema.body)];
136
142
  sections.push({ slug: "schema", pageTitle: DOCS_BUNDLE.schema.title, heading: DOCS_BUNDLE.schema.title, text: DOCS_BUNDLE.schema.body, tokens: sTok, len: sTok.length });
@@ -243,7 +249,7 @@ export async function runDocs(args) {
243
249
  if (!found) {
244
250
  const names = DOCS_BUNDLE.pages.map((p) => p.slug).join(", ");
245
251
  return {
246
- text: `No Cotal doc page "${page}". Available: spec, schema, ${names}. Call cotal_docs() for the index.`,
252
+ text: `No Cotal doc page "${page}". Available: spec, lang, schema, ${names}. Call cotal_docs() for the index.`,
247
253
  isError: true,
248
254
  };
249
255
  }
package/dist/docs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"docs.js","sourceRoot":"","sources":["../src/docs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../src/docs.ts"],"names":[],"mappings":"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"}
package/dist/launch.d.ts CHANGED
@@ -1,40 +1,75 @@
1
1
  /**
2
- * The spawned-agent env allow-list (P3) — the single chokepoint for what a child process sees.
3
- *
4
- * Connectors build the child's env as `{ ...launchEnv(...), <COTAL_* identity>, <connector vars> }`
5
- * and the runtimes pass ONLY that (never `...process.env`). So the operator's *unrelated* env
6
- * (AWS creds, GH tokens, other service keys sitting in their shell) stops bleeding into every
7
- * spawned child. What a child sees is auditable from the spec, not "whatever the manager
8
- * inherited."
9
- *
10
- * Scope this is HONEST about (P6): it closes ENV-VAR bleed. It does NOT close (i) model-key
11
- * exfil for key-based providers — the agent holds the key in its own process to do inference, so
12
- * a compromised agent exfils from its OWN env, spawn-gating the key only breaks the child's LLM
13
- * function (the real fix is per-agent model auth, a separate roadmap item); nor (ii) filesystem
14
- * secret access — HOME / XDG / platform config dirs are forwarded, so a child can still read
15
- * ~/.aws / ~/.ssh / ~/.config off disk (needs a workspace sandbox, a separate control).
2
+ * The spawned-agent env (P3) - the single chokepoint for what a child process sees.
3
+ *
4
+ * DEFAULT: a spawned agent INHERITS the operator's environment. A coding harness the operator
5
+ * installed and configured should behave under `cotal spawn` the way it behaves when they run it
6
+ * themselves, and Cotal has no business holding an opinion about which inference providers exist or
7
+ * which variables a harness reads. The list of vendor key names that used to live here was the tell:
8
+ * every new provider needed a change in Cotal before it would work through a managed spawn.
9
+ *
10
+ * EXCEPT Cotal's own `COTAL_*` namespace, which is RESET. That is not an opinion about the
11
+ * operator's environment; it is Cotal refusing to let one agent's identity become another's. A
12
+ * connector re-supplies the `COTAL_*` a child should have, but many of those assignments are
13
+ * CONDITIONAL - {@link aclEnv} omits an empty ACL so the connector can defer to the persona file,
14
+ * {@link materialEnv} returns `{}` when a launch carries nothing to hand over, `if (opts.role)`,
15
+ * `if (opts.lifecycleUid)` - so an inherited value is never overwritten and survives into a child
16
+ * that was never granted it.
17
+ *
18
+ * The prefix is stripped WHOLESALE rather than by a named deny-list, because the danger is
19
+ * ASYMMETRY rather than any single omission: `COTAL_EVENTS` and `COTAL_WORKSPACE_ROOT` are set by
20
+ * opencode/claude/codex and NOT by hermes/pi, `COTAL_CHANNEL` only by claude, `COTAL_VARIANT` only
21
+ * by opencode/codex, the `COTAL_CODEX_*` family only by codex. A hand-maintained deny-list names
22
+ * what its author remembers. The repo has a worked example: six suite files reached main each
23
+ * blanking exactly `COTAL_SPACE`, `COTAL_SERVERS` and `COTAL_CREDS` by hand before spreading
24
+ * `...process.env` into a `cotal attach` child, which let the lifecycle uid, the control token, both
25
+ * identity quads and {@link LAUNCH_MATERIAL_ENV} through to a process that reads connection
26
+ * material. {@link OPERATOR_ENV_KEEP} is the inverse and is safe for the same reason a deny-list is
27
+ * not: every name on it is one no connector assigns per spawn, so a new connector cannot invalidate
28
+ * it by forgetting something.
29
+ *
30
+ * OPT-IN CONTAINMENT: an operator who wants the child confined sets `spawn.env` in the cotal config
31
+ * file; the caller resolves it and passes it as `envAllow`. The child then gets the OS allow-list
32
+ * plus exactly the names declared there, and nothing else.
33
+ *
34
+ * Scope this is HONEST about (P6). NEITHER mode closes filesystem secret access: HOME / XDG /
35
+ * platform config dirs are forwarded either way, so a child with a shell reads ~/.aws, ~/.ssh,
36
+ * ~/.config and ~/.cotal straight off disk. An allow-list stops env-ONLY secrets - an
37
+ * `aws-vault exec` or `op run` shell, CI-injected values - and nothing that has a file behind it.
38
+ * Nor does either mode close model-key exfil: a key-based agent holds its provider key in its own
39
+ * process in order to do inference. What DOES narrow under inherit is that Cotal's own connection
40
+ * material is no longer in the environment at all: {@link materialEnv} moved the credential, the
41
+ * broker address and the control token behind a 0600 file, so what a child now inherits from the
42
+ * `COTAL_*` namespace is a path this function removes, not a secret.
16
43
  */
17
44
  import { type McpServerSpec } from "@cotal-ai/core";
18
- /** Model-provider API keys a key-based connector may forward to its child. claude needs none
19
- * (macOS Keychain / OAuth token, not an env key) → strong isolation for free; opencode/hermes
20
- * need the key for the provider behind the agent's model → forward just these, by NAME, only if
21
- * present. This is the single chokepoint for model-key forwarding — the seam for spawner-
22
- * conditional gating (per-agent model auth) later. Never `...process.env`. */
23
- export declare const MODEL_PROVIDER_KEYS: readonly ["OPENCODE_API_KEY", "ANTHROPIC_API_KEY", "OPENAI_API_KEY", "OPENROUTER_API_KEY", "NOUS_API_KEY", "NEBIUS_API_KEY"];
24
- /** Build the base env a spawned agent runs with: the OS allow-list plus any named keys the
25
- * connector declares the agent needs — `providerKeys` (the model-provider key) and `mcpKeys`
26
- * (the `${VAR}` secrets a shared MCP server references, see {@link mcpServerEnvKeys}). Every entry
27
- * is copied from the manager's env BY NAME and only when present — never required, never spread
28
- * wholesale, so the operator's unrelated secrets don't bleed into the child (P3).
29
- *
30
- * Matching is CASE-INSENSITIVE and each value is copied under the OS's OWN key casing: Windows
31
- * spells these `Path`/`ComSpec`/`windir`, so a canonical-only copy would either miss them (a plain
32
- * read of `process.env.SystemRoot` differs from `process.env.systemroot`) or, worse, emit BOTH
33
- * `Path` and `PATH` — a case-duplicate Windows process creation chokes on. Keying off the source
34
- * env's actual casing (one entry per lowercased name) forwards each var exactly once. */
45
+ /** The `COTAL_*` an operator sets MACHINE-WIDE, which a child legitimately needs. The qualifying
46
+ * property is not "harmless" but "no connector assigns it per spawn": a name no launch path writes
47
+ * cannot carry one agent's grant into another, which is why this list stays correct as connectors
48
+ * are added and a deny-list would not. `COTAL_HOME` is the load-bearing entry - it redirects the
49
+ * mesh registry, and a child that shells out to `cotal` must resolve the one its parent did.
50
+ * `COTAL_CODEX_BIN` and its siblings are operator binary overrides, and sit here precisely BECAUSE
51
+ * the neighbouring per-launch `COTAL_CODEX_HOME`/`_CONFIG`/`_TUI`/`_PROMPT` do not. */
52
+ export declare const OPERATOR_ENV_KEEP: readonly ["COTAL_HOME", "COTAL_FEEDBACK_KEY", "COTAL_FEEDBACK_EMAIL", "COTAL_FEEDBACK_URL", "COTAL_DEFAULT_AGENT", "COTAL_DEFAULT_PERSONA", "COTAL_SKIP_CONNECTOR_SEED", "COTAL_SKIP_ASSIST", "COTAL_DETACH_KEY", "COTAL_COMPLETE_DEBUG", "COTAL_DEBUG", "COTAL_SERVE_HEADLESS", "COTAL_EVENTS_DEFAULT", "COTAL_MEMBERSHIP_INTERVAL_MS", "COTAL_DELIVERY_BROKER_GONE_MS", "COTAL_IDP_TIMEOUT_MS", "COTAL_CODEX_BIN", "COTAL_OPENCODE_BIN", "COTAL_ORCA_BIN"];
53
+ /** Build the base env a spawned agent runs with.
54
+ *
55
+ * DEFAULT (`envAllow` absent): the operator's environment minus {@link SESSION_ENV_PREFIX}, keeping
56
+ * {@link OPERATOR_ENV_KEEP}. The connector layers this child's own `COTAL_*` on top, so every
57
+ * per-session name it ends up with was granted to IT.
58
+ *
59
+ * OPT-IN (`envAllow` present, from the config file's `spawn.env`): the OS allow-list plus exactly
60
+ * the declared names and `mcpKeys` (the `${VAR}` secrets a shared MCP server references, see
61
+ * {@link mcpServerEnvKeys}). Each is copied BY NAME and only when present. An EMPTY array is a real
62
+ * policy - the OS allow-list alone - and not "unset", which is why the mode is chosen on
63
+ * `!== undefined` rather than on length.
64
+ *
65
+ * Allow-list matching is CASE-INSENSITIVE and each value is copied under the OS's OWN key casing:
66
+ * Windows spells these `Path`/`ComSpec`/`windir`, so a canonical-only copy would either miss them
67
+ * (a plain read of `process.env.SystemRoot` differs from `process.env.systemroot`) or, worse, emit
68
+ * BOTH `Path` and `PATH` - a case-duplicate Windows process creation chokes on. Keying off the
69
+ * source env's actual casing (one entry per lowercased name) forwards each var exactly once. */
35
70
  export declare function launchEnv(opts?: {
36
- providerKeys?: readonly string[];
37
71
  mcpKeys?: readonly string[];
72
+ envAllow?: readonly string[];
38
73
  }): Record<string, string>;
39
74
  /** The agent's resolved access policy as `COTAL_*` env, when present. Forwarded by each connector
40
75
  * so the spawned session's runtime read/post set matches the creds the manager minted from the
@@ -60,11 +95,29 @@ export declare function aclEnv(opts: {
60
95
  * would corrupt the config object or garble a rendered flag. Core never sees this; each connector
61
96
  * calls it for the surface IT renders. */
62
97
  export declare function connectorLaunchOptions(connector: string, launchOptions: Record<string, unknown> | undefined): [string, unknown][];
63
- /** USER-MODE launch identity as `COTAL_*` env, when present — the one place the LaunchOpts.userAuth
64
- * → env mapping lives, so every connector forwards the identical contract configFromEnv parses.
65
- * Refuses a creds+userAuth combination here (one launch, one identity plane — U10). */
66
- export declare function userAuthEnv(opts: {
98
+ /**
99
+ * The launch's CONNECTION MATERIAL as a private file, and one env entry naming it.
100
+ *
101
+ * This replaces `userAuthEnv` and the per-connector `COTAL_CREDS` / `COTAL_SERVERS` /
102
+ * `COTAL_CONTROL_TOKEN` assignments it used to sit beside. Those put the broker address, the
103
+ * credential and a control-plane bearer into the seat's process environment, which every descendant
104
+ * of the seat inherits: the build it runs, the linter, the third-party CLI, the test suite that
105
+ * reads its broker from the environment. Nothing in that chain asked for any of it, and there is no
106
+ * moment where a human sees a credential being handed over, so there is no natural moment to object.
107
+ *
108
+ * Now they ride a 0600 file (see `writeLaunchMaterial`) and only its PATH is exported. The identity
109
+ * that is not secret - space, name, role, id, lifecycle uid, the ACLs, the control SOCKET path -
110
+ * stays in the environment where the launcher's contract has always put it, because a descendant
111
+ * learning the seat's name is not the failure.
112
+ *
113
+ * Refuses a creds+userAuth combination here (one launch, one identity plane - U10), which is where
114
+ * `userAuthEnv` refused it.
115
+ */
116
+ export declare function materialEnv(opts: {
67
117
  creds?: string;
118
+ servers?: string;
119
+ token?: string;
120
+ controlToken?: string;
68
121
  userAuth?: {
69
122
  owner: string;
70
123
  actor: string;
@@ -1 +1 @@
1
- {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../src/launch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAiD,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AA0DnG;;;;+EAI+E;AAC/E,eAAO,MAAM,mBAAmB,8HAOtB,CAAC;AAEX;;;;;;;;;;0FAU0F;AAC1F,wBAAgB,SAAS,CACvB,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAO,GAC3E,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAexB;AAED;;;;;mFAKmF;AACnF,wBAAgB,MAAM,CAAC,IAAI,EAAE;IAC3B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUzB;AAgBD;;;;;;;;;;2CAU2C;AAC3C,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACjD,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAMrB;AAED;;wFAEwF;AACxF,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC7F,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUzB;AAED;;;;;;;;;;;;;;;;qFAgBqF;AACrF,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB;;;;;;;;;;;;6CAY6C;AAC7C,wBAAgB,sBAAsB,CACpC,EAAE,EAAE;IAAE,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,gBAAgB,EAAE,OAAO,CAAA;CAAE,GAC7E,MAAM,CASR;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAC9E,MAAM,CAwCR;AAED;;;;kEAIkE;AAClE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,MAAM,EAAE,CAcjF"}
1
+ {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../src/launch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,EAOL,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AA+DxB;;;;;;wFAMwF;AACxF,eAAO,MAAM,iBAAiB,8bAoBpB,CAAC;AAEX;;;;;;;;;;;;;;;;iGAgBiG;AACjG,wBAAgB,SAAS,CACvB,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAO,GACvE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA6BxB;AAED;;;;;mFAKmF;AACnF,wBAAgB,MAAM,CAAC,IAAI,EAAE;IAC3B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUzB;AAgBD;;;;;;;;;;2CAU2C;AAC3C,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACjD,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAMrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC7F,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAczB;AAED;;;;;;;;;;;;;;;;qFAgBqF;AACrF,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB;;;;;;;;;;;;6CAY6C;AAC7C,wBAAgB,sBAAsB,CACpC,EAAE,EAAE;IAAE,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,gBAAgB,EAAE,OAAO,CAAA;CAAE,GAC7E,MAAM,CASR;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAC9E,MAAM,CAwCR;AAED;;;;kEAIkE;AAClE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,MAAM,EAAE,CAcjF"}
package/dist/launch.js CHANGED
@@ -1,20 +1,47 @@
1
1
  /**
2
- * The spawned-agent env allow-list (P3) — the single chokepoint for what a child process sees.
2
+ * The spawned-agent env (P3) - the single chokepoint for what a child process sees.
3
3
  *
4
- * Connectors build the child's env as `{ ...launchEnv(...), <COTAL_* identity>, <connector vars> }`
5
- * and the runtimes pass ONLY that (never `...process.env`). So the operator's *unrelated* env
6
- * (AWS creds, GH tokens, other service keys sitting in their shell) stops bleeding into every
7
- * spawned child. What a child sees is auditable from the spec, not "whatever the manager
8
- * inherited."
4
+ * DEFAULT: a spawned agent INHERITS the operator's environment. A coding harness the operator
5
+ * installed and configured should behave under `cotal spawn` the way it behaves when they run it
6
+ * themselves, and Cotal has no business holding an opinion about which inference providers exist or
7
+ * which variables a harness reads. The list of vendor key names that used to live here was the tell:
8
+ * every new provider needed a change in Cotal before it would work through a managed spawn.
9
9
  *
10
- * Scope this is HONEST about (P6): it closes ENV-VAR bleed. It does NOT close (i) model-key
11
- * exfil for key-based providers — the agent holds the key in its own process to do inference, so
12
- * a compromised agent exfils from its OWN env, spawn-gating the key only breaks the child's LLM
13
- * function (the real fix is per-agent model auth, a separate roadmap item); nor (ii) filesystem
14
- * secret access — HOME / XDG / platform config dirs are forwarded, so a child can still read
15
- * ~/.aws / ~/.ssh / ~/.config off disk (needs a workspace sandbox, a separate control).
10
+ * EXCEPT Cotal's own `COTAL_*` namespace, which is RESET. That is not an opinion about the
11
+ * operator's environment; it is Cotal refusing to let one agent's identity become another's. A
12
+ * connector re-supplies the `COTAL_*` a child should have, but many of those assignments are
13
+ * CONDITIONAL - {@link aclEnv} omits an empty ACL so the connector can defer to the persona file,
14
+ * {@link materialEnv} returns `{}` when a launch carries nothing to hand over, `if (opts.role)`,
15
+ * `if (opts.lifecycleUid)` - so an inherited value is never overwritten and survives into a child
16
+ * that was never granted it.
17
+ *
18
+ * The prefix is stripped WHOLESALE rather than by a named deny-list, because the danger is
19
+ * ASYMMETRY rather than any single omission: `COTAL_EVENTS` and `COTAL_WORKSPACE_ROOT` are set by
20
+ * opencode/claude/codex and NOT by hermes/pi, `COTAL_CHANNEL` only by claude, `COTAL_VARIANT` only
21
+ * by opencode/codex, the `COTAL_CODEX_*` family only by codex. A hand-maintained deny-list names
22
+ * what its author remembers. The repo has a worked example: six suite files reached main each
23
+ * blanking exactly `COTAL_SPACE`, `COTAL_SERVERS` and `COTAL_CREDS` by hand before spreading
24
+ * `...process.env` into a `cotal attach` child, which let the lifecycle uid, the control token, both
25
+ * identity quads and {@link LAUNCH_MATERIAL_ENV} through to a process that reads connection
26
+ * material. {@link OPERATOR_ENV_KEEP} is the inverse and is safe for the same reason a deny-list is
27
+ * not: every name on it is one no connector assigns per spawn, so a new connector cannot invalidate
28
+ * it by forgetting something.
29
+ *
30
+ * OPT-IN CONTAINMENT: an operator who wants the child confined sets `spawn.env` in the cotal config
31
+ * file; the caller resolves it and passes it as `envAllow`. The child then gets the OS allow-list
32
+ * plus exactly the names declared there, and nothing else.
33
+ *
34
+ * Scope this is HONEST about (P6). NEITHER mode closes filesystem secret access: HOME / XDG /
35
+ * platform config dirs are forwarded either way, so a child with a shell reads ~/.aws, ~/.ssh,
36
+ * ~/.config and ~/.cotal straight off disk. An allow-list stops env-ONLY secrets - an
37
+ * `aws-vault exec` or `op run` shell, CI-injected values - and nothing that has a file behind it.
38
+ * Nor does either mode close model-key exfil: a key-based agent holds its provider key in its own
39
+ * process in order to do inference. What DOES narrow under inherit is that Cotal's own connection
40
+ * material is no longer in the environment at all: {@link materialEnv} moved the credential, the
41
+ * broker address and the control token behind a 0600 file, so what a child now inherits from the
42
+ * `COTAL_*` namespace is a path this function removes, not a secret.
16
43
  */
17
- import { eventChannel, parsePrincipalKey, principalKey } from "@cotal-ai/core";
44
+ import { eventChannel, LAUNCH_MATERIAL_ENV, parsePrincipalKey, principalKey, writeLaunchMaterial, } from "@cotal-ai/core";
18
45
  /** OS env a coding-agent TUI genuinely needs to run — find its binary (PATH), render (TERM /
19
46
  * COLORTERM), resolve home/config/data roots (HOME / XDG_*_HOME on Unix,
20
47
  * USERPROFILE / APPDATA / LOCALAPPDATA on Windows), locale (LANG / LC_*), timezone (TZ), temp
@@ -70,49 +97,89 @@ const OS_ENV_ALLOW = [
70
97
  "CommonProgramFiles",
71
98
  "PUBLIC",
72
99
  ];
73
- /** Model-provider API keys a key-based connector may forward to its child. claude needs none
74
- * (macOS Keychain / OAuth token, not an env key) → strong isolation for free; opencode/hermes
75
- * need the key for the provider behind the agent's model → forward just these, by NAME, only if
76
- * present. This is the single chokepoint for model-key forwarding — the seam for spawner-
77
- * conditional gating (per-agent model auth) later. Never `...process.env`. */
78
- export const MODEL_PROVIDER_KEYS = [
79
- "OPENCODE_API_KEY",
80
- "ANTHROPIC_API_KEY",
81
- "OPENAI_API_KEY",
82
- "OPENROUTER_API_KEY",
83
- "NOUS_API_KEY",
84
- "NEBIUS_API_KEY",
100
+ /** Cotal's own per-session namespace. Everything under this prefix is reset before a child starts,
101
+ * except {@link OPERATOR_ENV_KEEP}. Compared case-INSENSITIVELY: Windows env lookup is
102
+ * case-insensitive, so a stray `Cotal_Creds` must not slip past a case-sensitive test. */
103
+ const SESSION_ENV_PREFIX = "COTAL_";
104
+ /** The `COTAL_*` an operator sets MACHINE-WIDE, which a child legitimately needs. The qualifying
105
+ * property is not "harmless" but "no connector assigns it per spawn": a name no launch path writes
106
+ * cannot carry one agent's grant into another, which is why this list stays correct as connectors
107
+ * are added and a deny-list would not. `COTAL_HOME` is the load-bearing entry - it redirects the
108
+ * mesh registry, and a child that shells out to `cotal` must resolve the one its parent did.
109
+ * `COTAL_CODEX_BIN` and its siblings are operator binary overrides, and sit here precisely BECAUSE
110
+ * the neighbouring per-launch `COTAL_CODEX_HOME`/`_CONFIG`/`_TUI`/`_PROMPT` do not. */
111
+ export const OPERATOR_ENV_KEEP = [
112
+ "COTAL_HOME",
113
+ "COTAL_FEEDBACK_KEY",
114
+ "COTAL_FEEDBACK_EMAIL",
115
+ "COTAL_FEEDBACK_URL",
116
+ "COTAL_DEFAULT_AGENT",
117
+ "COTAL_DEFAULT_PERSONA",
118
+ "COTAL_SKIP_CONNECTOR_SEED",
119
+ "COTAL_SKIP_ASSIST",
120
+ "COTAL_DETACH_KEY",
121
+ "COTAL_COMPLETE_DEBUG",
122
+ "COTAL_DEBUG",
123
+ "COTAL_SERVE_HEADLESS",
124
+ "COTAL_EVENTS_DEFAULT",
125
+ "COTAL_MEMBERSHIP_INTERVAL_MS",
126
+ "COTAL_DELIVERY_BROKER_GONE_MS",
127
+ "COTAL_IDP_TIMEOUT_MS",
128
+ "COTAL_CODEX_BIN",
129
+ "COTAL_OPENCODE_BIN",
130
+ "COTAL_ORCA_BIN",
85
131
  ];
86
- /** Build the base env a spawned agent runs with: the OS allow-list plus any named keys the
87
- * connector declares the agent needs — `providerKeys` (the model-provider key) and `mcpKeys`
88
- * (the `${VAR}` secrets a shared MCP server references, see {@link mcpServerEnvKeys}). Every entry
89
- * is copied from the manager's env BY NAME and only when present — never required, never spread
90
- * wholesale, so the operator's unrelated secrets don't bleed into the child (P3).
132
+ /** Build the base env a spawned agent runs with.
91
133
  *
92
- * Matching is CASE-INSENSITIVE and each value is copied under the OS's OWN key casing: Windows
93
- * spells these `Path`/`ComSpec`/`windir`, so a canonical-only copy would either miss them (a plain
94
- * read of `process.env.SystemRoot` differs from `process.env.systemroot`) or, worse, emit BOTH
95
- * `Path` and `PATH` — a case-duplicate Windows process creation chokes on. Keying off the source
96
- * env's actual casing (one entry per lowercased name) forwards each var exactly once. */
134
+ * DEFAULT (`envAllow` absent): the operator's environment minus {@link SESSION_ENV_PREFIX}, keeping
135
+ * {@link OPERATOR_ENV_KEEP}. The connector layers this child's own `COTAL_*` on top, so every
136
+ * per-session name it ends up with was granted to IT.
137
+ *
138
+ * OPT-IN (`envAllow` present, from the config file's `spawn.env`): the OS allow-list plus exactly
139
+ * the declared names and `mcpKeys` (the `${VAR}` secrets a shared MCP server references, see
140
+ * {@link mcpServerEnvKeys}). Each is copied BY NAME and only when present. An EMPTY array is a real
141
+ * policy - the OS allow-list alone - and not "unset", which is why the mode is chosen on
142
+ * `!== undefined` rather than on length.
143
+ *
144
+ * Allow-list matching is CASE-INSENSITIVE and each value is copied under the OS's OWN key casing:
145
+ * Windows spells these `Path`/`ComSpec`/`windir`, so a canonical-only copy would either miss them
146
+ * (a plain read of `process.env.SystemRoot` differs from `process.env.systemroot`) or, worse, emit
147
+ * BOTH `Path` and `PATH` - a case-duplicate Windows process creation chokes on. Keying off the
148
+ * source env's actual casing (one entry per lowercased name) forwards each var exactly once. */
97
149
  export function launchEnv(opts = {}) {
150
+ if (opts.envAllow !== undefined) {
151
+ const env = {};
152
+ // lowercased name -> the OS's actual key casing; one entry per var (the OS env has no case-dup),
153
+ // so every allow-list name resolves to a single source key and the result carries no case-dup.
154
+ const sourceKey = new Map();
155
+ for (const k of Object.keys(process.env))
156
+ sourceKey.set(k.toLowerCase(), k);
157
+ const copy = (name) => {
158
+ const src = sourceKey.get(name.toLowerCase());
159
+ if (src === undefined)
160
+ return;
161
+ const v = process.env[src];
162
+ if (v !== undefined)
163
+ env[src] = v;
164
+ };
165
+ for (const k of OS_ENV_ALLOW)
166
+ copy(k);
167
+ for (const k of [...opts.envAllow, ...(opts.mcpKeys ?? [])])
168
+ copy(k);
169
+ return env;
170
+ }
171
+ // Inherit. `mcpKeys` needs no handling in this mode: a `${VAR}` a shared MCP server references is
172
+ // already in the operator's environment, which is what the child is being given.
173
+ const keep = new Set(OPERATOR_ENV_KEEP);
98
174
  const env = {};
99
- // lowercased name -> the OS's actual key casing; one entry per var (the OS env has no case-dup),
100
- // so every allow-list name resolves to a single source key and the result carries no case-dup.
101
- const sourceKey = new Map();
102
- for (const k of Object.keys(process.env))
103
- sourceKey.set(k.toLowerCase(), k);
104
- const copy = (name) => {
105
- const src = sourceKey.get(name.toLowerCase());
106
- if (src === undefined)
107
- return;
108
- const v = process.env[src];
109
- if (v !== undefined)
110
- env[src] = v;
111
- };
112
- for (const k of OS_ENV_ALLOW)
113
- copy(k);
114
- for (const k of [...(opts.providerKeys ?? []), ...(opts.mcpKeys ?? [])])
115
- copy(k);
175
+ for (const [k, v] of Object.entries(process.env)) {
176
+ if (v === undefined)
177
+ continue;
178
+ const canon = k.toUpperCase();
179
+ if (canon.startsWith(SESSION_ENV_PREFIX) && !keep.has(canon))
180
+ continue;
181
+ env[k] = v;
182
+ }
116
183
  return env;
117
184
  }
118
185
  /** The agent's resolved access policy as `COTAL_*` env, when present. Forwarded by each connector
@@ -167,20 +234,44 @@ export function connectorLaunchOptions(connector, launchOptions) {
167
234
  throw new Error(`${connector} connector: launch option key ${JSON.stringify(k)} is not a valid flag name`);
168
235
  return Object.entries(launchOptions);
169
236
  }
170
- /** USER-MODE launch identity as `COTAL_*` env, when present — the one place the LaunchOpts.userAuth
171
- * → env mapping lives, so every connector forwards the identical contract configFromEnv parses.
172
- * Refuses a creds+userAuth combination here (one launch, one identity plane — U10). */
173
- export function userAuthEnv(opts) {
174
- if (!opts.userAuth)
175
- return {};
176
- if (opts.creds)
237
+ /**
238
+ * The launch's CONNECTION MATERIAL as a private file, and one env entry naming it.
239
+ *
240
+ * This replaces `userAuthEnv` and the per-connector `COTAL_CREDS` / `COTAL_SERVERS` /
241
+ * `COTAL_CONTROL_TOKEN` assignments it used to sit beside. Those put the broker address, the
242
+ * credential and a control-plane bearer into the seat's process environment, which every descendant
243
+ * of the seat inherits: the build it runs, the linter, the third-party CLI, the test suite that
244
+ * reads its broker from the environment. Nothing in that chain asked for any of it, and there is no
245
+ * moment where a human sees a credential being handed over, so there is no natural moment to object.
246
+ *
247
+ * Now they ride a 0600 file (see `writeLaunchMaterial`) and only its PATH is exported. The identity
248
+ * that is not secret - space, name, role, id, lifecycle uid, the ACLs, the control SOCKET path -
249
+ * stays in the environment where the launcher's contract has always put it, because a descendant
250
+ * learning the seat's name is not the failure.
251
+ *
252
+ * Refuses a creds+userAuth combination here (one launch, one identity plane - U10), which is where
253
+ * `userAuthEnv` refused it.
254
+ */
255
+ export function materialEnv(opts) {
256
+ if (opts.userAuth && opts.creds)
177
257
  throw new Error("launch: creds (static auth) and userAuth (user-mode auth) are mutually exclusive — one launch carries one identity plane");
178
- return {
179
- COTAL_OWNER: opts.userAuth.owner,
180
- COTAL_ACTOR: opts.userAuth.actor,
181
- COTAL_SENTINEL_CREDS: opts.userAuth.sentinelCredsPath,
182
- COTAL_BEARER_CMD: JSON.stringify(opts.userAuth.bearerCmd),
183
- };
258
+ const material = {};
259
+ if (opts.creds)
260
+ material.creds = opts.creds;
261
+ if (opts.servers)
262
+ material.servers = opts.servers;
263
+ if (opts.token)
264
+ material.token = opts.token;
265
+ if (opts.controlToken)
266
+ material.controlToken = opts.controlToken;
267
+ if (opts.userAuth)
268
+ material.userAuth = opts.userAuth;
269
+ // Nothing to hand over (an open mesh launched with no control endpoint) → no file and no env
270
+ // entry, rather than a file that says nothing. writeLaunchMaterial refuses the empty case too;
271
+ // this is the caller-side half of the same rule.
272
+ if (Object.keys(material).length === 0)
273
+ return {};
274
+ return { [LAUNCH_MATERIAL_ENV]: writeLaunchMaterial(material) };
184
275
  }
185
276
  /** The per-agent EVENT channel and its classifier, RE-EXPORTED FROM CORE.
186
277
  *