antpath 0.10.9 → 0.10.12

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.
@@ -17,3 +17,4 @@ export * from "./known-events.js";
17
17
  export * from "./http.js";
18
18
  export * as operations from "./operations.js";
19
19
  export * from "./proxy-validation.js";
20
+ export * from "./telemetry.js";
@@ -19,4 +19,5 @@ export * from "./known-events.js";
19
19
  export * from "./http.js";
20
20
  export * as operations from "./operations.js";
21
21
  export * from "./proxy-validation.js";
22
+ export * from "./telemetry.js";
22
23
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Shared telemetry: fire-and-forget error reporter consumed by SDK,
3
+ * worker, and dashboard. The CLI does NOT call this directly — its
4
+ * structured stderr envelope is forwarded by the worker (see
5
+ * `references/telemetry.md`).
6
+ *
7
+ * Design invariants:
8
+ * 1. **Never throw, never block.** Every catch is swallowed. The
9
+ * caller drops the returned promise; nothing in the hot path
10
+ * should `await` it.
11
+ * 2. **No PII, no secrets, no upstream bytes.** The reporter
12
+ * receives a small structured payload (`code`, `component`,
13
+ * `version`, free-form `context` record) and applies a
14
+ * defensive redaction pass before sending. Callers are also
15
+ * expected to keep `context` shallow + non-sensitive.
16
+ * 3. **Default on, env-configurable opt-out.** Default endpoint:
17
+ * `https://www.antpath.ai/api/telemetry`. Override with
18
+ * `ANTPATH_TELEMETRY_ENDPOINT`; disable with
19
+ * `ANTPATH_TELEMETRY_DISABLED=1`.
20
+ * 4. **Bounded payload.** Stringified payload capped at 8 KiB; the
21
+ * reporter clips at runtime so a runaway context object cannot
22
+ * stall a process or stuff the endpoint.
23
+ */
24
+ /**
25
+ * Default sink. Co-located with the SDK's default API base so we
26
+ * don't introduce a second canonical host to keep in sync.
27
+ */
28
+ export declare const DEFAULT_TELEMETRY_ENDPOINT = "https://www.antpath.ai/api/telemetry";
29
+ /**
30
+ * Hard cap on the JSON body sent to the sink. Anything above this is
31
+ * either a coding mistake (huge context object) or an attempt to
32
+ * exfiltrate state via telemetry — both should drop the report.
33
+ */
34
+ export declare const TELEMETRY_PAYLOAD_BYTE_CAP: number;
35
+ export interface TelemetryReport {
36
+ /** Stable short code, e.g. "proxy_non_json", "submit_failed". */
37
+ readonly code: string;
38
+ /** Source component. Keep this enum-like for downstream filtering. */
39
+ readonly component: "sdk" | "cli" | "worker" | "dashboard";
40
+ /** Package or build version the report came from. */
41
+ readonly version: string;
42
+ /** Optional free-form structured context. Keep shallow + non-sensitive. */
43
+ readonly context?: Readonly<Record<string, unknown>>;
44
+ }
45
+ export interface TelemetryEnvelope extends TelemetryReport {
46
+ /** Wire protocol version. Bumped on any breaking field change. */
47
+ readonly protocol: 1;
48
+ /** ISO-8601 timestamp set on the reporter side. */
49
+ readonly timestamp: string;
50
+ /** Optional runtime fingerprint useful for triage. */
51
+ readonly runtime?: {
52
+ readonly platform?: string;
53
+ readonly nodeVersion?: string;
54
+ };
55
+ }
56
+ export interface TelemetryReporterOptions {
57
+ /** Override the sink. Default: {@link DEFAULT_TELEMETRY_ENDPOINT}. */
58
+ readonly endpoint?: string;
59
+ /** Force-disable. Default: `process.env.ANTPATH_TELEMETRY_DISABLED === "1"`. */
60
+ readonly disabled?: boolean;
61
+ /** Hook injected by tests. Default: global `fetch`. */
62
+ readonly fetchImpl?: typeof fetch;
63
+ /** Wall clock for the envelope `timestamp`. Default: `Date.now()`. */
64
+ readonly now?: () => number;
65
+ /** Reporter timeout (ms). Default: 2000. The fetch is also aborted on this. */
66
+ readonly timeoutMs?: number;
67
+ /** Runtime fingerprint hook for envs without `process` (tests, edge). */
68
+ readonly runtime?: TelemetryEnvelope["runtime"];
69
+ }
70
+ /**
71
+ * Apply defensive redaction to an arbitrary context record. Drops
72
+ * sensitive-named keys outright; sweeps free-form string values for
73
+ * token-shaped patterns. The implementation walks one level deep —
74
+ * nested objects/arrays get string-stringified then swept, which
75
+ * keeps the payload size bounded even when the caller hands us a big
76
+ * blob.
77
+ */
78
+ export declare function redactTelemetryContext(input: Readonly<Record<string, unknown>>): Readonly<Record<string, unknown>>;
79
+ /**
80
+ * Resolve the effective sink + opt-out from environment variables.
81
+ * Exported separately so the dashboard route can reuse the same
82
+ * lookup logic when deciding whether to log inbound reports.
83
+ */
84
+ export declare function resolveTelemetryConfig(env?: NodeJS.ProcessEnv): {
85
+ readonly endpoint: string;
86
+ readonly disabled: boolean;
87
+ };
88
+ /**
89
+ * Fire-and-forget error reporter. Returns a promise that resolves to
90
+ * `true` if the request was sent (regardless of server response), or
91
+ * `false` if telemetry was disabled or the payload was malformed.
92
+ *
93
+ * **The caller MUST NOT await this in the hot path.** It is
94
+ * intentionally typed as returning a promise so test code can wait
95
+ * for the send to land, but production call sites should drop it on
96
+ * the floor:
97
+ *
98
+ * void reportTelemetryError({ code: "...", component: "sdk", version: "..." });
99
+ *
100
+ * Errors during send are swallowed — telemetry never crashes a host
101
+ * process.
102
+ */
103
+ export declare function reportTelemetryError(report: TelemetryReport, options?: TelemetryReporterOptions): Promise<boolean>;
@@ -0,0 +1,225 @@
1
+ /**
2
+ * Shared telemetry: fire-and-forget error reporter consumed by SDK,
3
+ * worker, and dashboard. The CLI does NOT call this directly — its
4
+ * structured stderr envelope is forwarded by the worker (see
5
+ * `references/telemetry.md`).
6
+ *
7
+ * Design invariants:
8
+ * 1. **Never throw, never block.** Every catch is swallowed. The
9
+ * caller drops the returned promise; nothing in the hot path
10
+ * should `await` it.
11
+ * 2. **No PII, no secrets, no upstream bytes.** The reporter
12
+ * receives a small structured payload (`code`, `component`,
13
+ * `version`, free-form `context` record) and applies a
14
+ * defensive redaction pass before sending. Callers are also
15
+ * expected to keep `context` shallow + non-sensitive.
16
+ * 3. **Default on, env-configurable opt-out.** Default endpoint:
17
+ * `https://www.antpath.ai/api/telemetry`. Override with
18
+ * `ANTPATH_TELEMETRY_ENDPOINT`; disable with
19
+ * `ANTPATH_TELEMETRY_DISABLED=1`.
20
+ * 4. **Bounded payload.** Stringified payload capped at 8 KiB; the
21
+ * reporter clips at runtime so a runaway context object cannot
22
+ * stall a process or stuff the endpoint.
23
+ */
24
+ /**
25
+ * Default sink. Co-located with the SDK's default API base so we
26
+ * don't introduce a second canonical host to keep in sync.
27
+ */
28
+ export const DEFAULT_TELEMETRY_ENDPOINT = "https://www.antpath.ai/api/telemetry";
29
+ /**
30
+ * Hard cap on the JSON body sent to the sink. Anything above this is
31
+ * either a coding mistake (huge context object) or an attempt to
32
+ * exfiltrate state via telemetry — both should drop the report.
33
+ */
34
+ export const TELEMETRY_PAYLOAD_BYTE_CAP = 8 * 1024;
35
+ /**
36
+ * Headers / query keys we always strip if a caller leaks them into
37
+ * `context`. Defense in depth — call sites should never put these
38
+ * here, but a redaction pass shields us from a bad refactor.
39
+ */
40
+ const SENSITIVE_KEYS = new Set([
41
+ "authorization",
42
+ "auth",
43
+ "apikey",
44
+ "api_key",
45
+ "apitoken",
46
+ "api_token",
47
+ "token",
48
+ "bearer",
49
+ "password",
50
+ "secret",
51
+ "cookie",
52
+ "set-cookie",
53
+ "x-api-key",
54
+ "x-antpath-headers"
55
+ ]);
56
+ /**
57
+ * Looks "secret-ish" — long opaque strings that smell like tokens.
58
+ * Cheap regex sweep so we don't ship raw bearers even if a caller
59
+ * names a context field something benign like "value".
60
+ */
61
+ const SECRET_VALUE_PATTERNS = [
62
+ /\bsk-[a-zA-Z0-9_-]{16,}\b/g,
63
+ /\bant_[a-zA-Z0-9]{16,}\b/g,
64
+ /\bBearer\s+[a-zA-Z0-9._-]{16,}\b/gi,
65
+ /\beyJ[a-zA-Z0-9._-]{20,}\b/g // JWTs
66
+ ];
67
+ /**
68
+ * Apply defensive redaction to an arbitrary context record. Drops
69
+ * sensitive-named keys outright; sweeps free-form string values for
70
+ * token-shaped patterns. The implementation walks one level deep —
71
+ * nested objects/arrays get string-stringified then swept, which
72
+ * keeps the payload size bounded even when the caller hands us a big
73
+ * blob.
74
+ */
75
+ export function redactTelemetryContext(input) {
76
+ const out = {};
77
+ for (const [key, value] of Object.entries(input)) {
78
+ if (SENSITIVE_KEYS.has(key.toLowerCase())) {
79
+ out[key] = "[redacted]";
80
+ continue;
81
+ }
82
+ if (typeof value === "string") {
83
+ out[key] = scrubString(value);
84
+ continue;
85
+ }
86
+ if (value === null || value === undefined || typeof value === "number" || typeof value === "boolean") {
87
+ out[key] = value;
88
+ continue;
89
+ }
90
+ // Anything more complex — best effort: stringify-then-scrub. We
91
+ // deliberately do NOT recurse: caller is expected to keep context
92
+ // shallow, and a recursion would risk both perf and missed
93
+ // redactions in unusual shapes.
94
+ out[key] = scrubString(safeStringify(value));
95
+ }
96
+ return out;
97
+ }
98
+ function scrubString(value) {
99
+ let out = value;
100
+ for (const pattern of SECRET_VALUE_PATTERNS) {
101
+ out = out.replace(pattern, "[redacted-token]");
102
+ }
103
+ return out;
104
+ }
105
+ function safeStringify(value) {
106
+ try {
107
+ return JSON.stringify(value);
108
+ }
109
+ catch {
110
+ return "[unserializable]";
111
+ }
112
+ }
113
+ /**
114
+ * Resolve the effective sink + opt-out from environment variables.
115
+ * Exported separately so the dashboard route can reuse the same
116
+ * lookup logic when deciding whether to log inbound reports.
117
+ */
118
+ export function resolveTelemetryConfig(env = typeof process !== "undefined" ? process.env : {}) {
119
+ return {
120
+ endpoint: env.ANTPATH_TELEMETRY_ENDPOINT ?? DEFAULT_TELEMETRY_ENDPOINT,
121
+ disabled: env.ANTPATH_TELEMETRY_DISABLED === "1"
122
+ };
123
+ }
124
+ /**
125
+ * Fire-and-forget error reporter. Returns a promise that resolves to
126
+ * `true` if the request was sent (regardless of server response), or
127
+ * `false` if telemetry was disabled or the payload was malformed.
128
+ *
129
+ * **The caller MUST NOT await this in the hot path.** It is
130
+ * intentionally typed as returning a promise so test code can wait
131
+ * for the send to land, but production call sites should drop it on
132
+ * the floor:
133
+ *
134
+ * void reportTelemetryError({ code: "...", component: "sdk", version: "..." });
135
+ *
136
+ * Errors during send are swallowed — telemetry never crashes a host
137
+ * process.
138
+ */
139
+ export async function reportTelemetryError(report, options = {}) {
140
+ try {
141
+ const cfg = resolveTelemetryConfig();
142
+ const disabled = options.disabled ?? cfg.disabled;
143
+ if (disabled) {
144
+ return false;
145
+ }
146
+ const endpoint = options.endpoint ?? cfg.endpoint;
147
+ const fetchImpl = options.fetchImpl ?? (typeof fetch !== "undefined" ? fetch : undefined);
148
+ if (!fetchImpl) {
149
+ return false;
150
+ }
151
+ const now = options.now ?? Date.now;
152
+ const envelope = {
153
+ protocol: 1,
154
+ timestamp: new Date(now()).toISOString(),
155
+ code: report.code,
156
+ component: report.component,
157
+ version: report.version,
158
+ ...(report.context ? { context: redactTelemetryContext(report.context) } : {}),
159
+ ...(options.runtime !== undefined
160
+ ? { runtime: options.runtime }
161
+ : typeof process !== "undefined" && process.versions?.node
162
+ ? { runtime: { platform: process.platform, nodeVersion: process.versions.node } }
163
+ : {})
164
+ };
165
+ let body;
166
+ try {
167
+ body = JSON.stringify(envelope);
168
+ }
169
+ catch {
170
+ return false;
171
+ }
172
+ if (body.length > TELEMETRY_PAYLOAD_BYTE_CAP) {
173
+ // Drop the context entirely if it pushed us over the cap rather
174
+ // than trying to half-send a partial envelope. The cap is large
175
+ // enough that this only fires on accidents.
176
+ const slim = {
177
+ protocol: envelope.protocol,
178
+ timestamp: envelope.timestamp,
179
+ code: envelope.code,
180
+ component: envelope.component,
181
+ version: envelope.version,
182
+ ...(envelope.runtime !== undefined ? { runtime: envelope.runtime } : {}),
183
+ context: { _dropped: "payload exceeded cap" }
184
+ };
185
+ try {
186
+ body = JSON.stringify(slim);
187
+ }
188
+ catch {
189
+ return false;
190
+ }
191
+ }
192
+ const controller = new AbortController();
193
+ const timeout = setTimeout(() => controller.abort(), options.timeoutMs ?? 2000);
194
+ try {
195
+ await fetchImpl(endpoint, {
196
+ method: "POST",
197
+ headers: { "content-type": "application/json" },
198
+ body,
199
+ signal: controller.signal,
200
+ // Telemetry MUST NOT carry the caller's credentials; the sink
201
+ // is a public ingest endpoint that takes anonymous reports.
202
+ // Explicit "omit" rather than the default so a future fetch
203
+ // shim that defaults to "include" can't leak cookies.
204
+ credentials: "omit",
205
+ // Match the CLI's redirect policy: never follow. A 3xx from
206
+ // the sink is itself the failure mode we're trying to catch.
207
+ redirect: "manual"
208
+ });
209
+ return true;
210
+ }
211
+ catch {
212
+ return false;
213
+ }
214
+ finally {
215
+ clearTimeout(timeout);
216
+ }
217
+ }
218
+ catch {
219
+ // Defense-in-depth: anything that escapes the inner try (e.g.
220
+ // a setTimeout or Date.now throwing in a weird env) still has to
221
+ // never throw out of this function.
222
+ return false;
223
+ }
224
+ }
225
+ //# sourceMappingURL=telemetry.js.map
package/dist/cli.mjs CHANGED
@@ -805,6 +805,9 @@ function validateProxyAuth(endpoints, auth) {
805
805
  }
806
806
  }
807
807
 
808
+ // ../shared/dist/telemetry.js
809
+ var TELEMETRY_PAYLOAD_BYTE_CAP = 8 * 1024;
810
+
808
811
  // dist/host/common.js
809
812
  var SUCCESS = { code: 0 };
810
813
  var USAGE_ERR = { code: 2 };
@@ -1208,11 +1211,18 @@ async function runProxy(io2, rest) {
1208
1211
  try {
1209
1212
  parsedBody = text ? JSON.parse(text) : {};
1210
1213
  } catch {
1214
+ const snippet = text.slice(0, 200).replace(/\s+/g, " ").trim();
1211
1215
  emitError(io2, {
1212
1216
  error: "internal_error",
1213
- message: "proxy returned non-JSON response",
1217
+ message: `proxy returned non-JSON response (HTTP ${response.status}, body=${JSON.stringify(snippet)})`,
1214
1218
  endpointName: f.endpointName
1215
1219
  });
1220
+ emitTelemetry(io2, {
1221
+ code: "cli_proxy_non_json",
1222
+ httpStatus: response.status,
1223
+ endpointName: f.endpointName,
1224
+ bodySnippet: snippet
1225
+ });
1216
1226
  return RUNTIME_ERR;
1217
1227
  }
1218
1228
  if (!response.ok) {
@@ -1239,6 +1249,11 @@ async function resolveBody(io2, spec) {
1239
1249
  function emitError(io2, body) {
1240
1250
  io2.stderr(JSON.stringify(body) + "\n");
1241
1251
  }
1252
+ var TELEMETRY_LINE_PREFIX = "TELEMETRY: ";
1253
+ function emitTelemetry(io2, payload) {
1254
+ io2.stderr(`${TELEMETRY_LINE_PREFIX}${JSON.stringify(payload)}
1255
+ `);
1256
+ }
1242
1257
  async function tryReadManifest(io2) {
1243
1258
  try {
1244
1259
  const raw = await io2.readFile(ANTPATH_INDEX_PATH);
@@ -1 +1 @@
1
- 96f0a14f0b47cef1bb57dfd5751fc615ba20df3408241b7434935a55eef3a7ff cli.mjs
1
+ 0e3e0168990913d0c819793e8a0174bbe06d599f3843e731f7dce2a481d84f71 cli.mjs
package/dist/client.js CHANGED
@@ -1,4 +1,5 @@
1
- import { HttpClient, operations } from "./_shared/index.js";
1
+ import { HttpClient, operations, reportTelemetryError } from "./_shared/index.js";
2
+ import { SDK_VERSION } from "./version.js";
2
3
  import { AgentsMd } from "./agents-md.js";
3
4
  import { File } from "./file.js";
4
5
  import { McpServer } from "./mcp-server.js";
@@ -321,6 +322,13 @@ export class AntpathClient {
321
322
  skills: skillRefs,
322
323
  agentsMd: agentsMdRefs,
323
324
  files: fileRefs,
325
+ // submissionMcpServers may contain workspace refs of the shape
326
+ // {kind:"workspace", id:"mcp_..."}. The BFF runs
327
+ // `resolveWorkspaceMcpRefsInSubmission` BEFORE the shared parser
328
+ // and replaces them with the resolved {name, url}, so by the
329
+ // time anything reads PlatformFlatSubmission post-parse the
330
+ // shape matches McpServerRef. The cast acknowledges that the
331
+ // SDK is producing pre-resolution wire input here.
324
332
  mcpServers: submissionMcpServers,
325
333
  ...(options.environment ? { environment: options.environment } : {}),
326
334
  ...(options.metadata ? { metadata: options.metadata } : {}),
@@ -343,9 +351,36 @@ export class AntpathClient {
343
351
  : {})
344
352
  };
345
353
  const isMultipart = transientBundles.length > 0 || transientAgentsMdParts.length > 0 || transientFileParts.length > 0;
346
- const run = isMultipart
347
- ? await operations.submitRunFlatMultipart(this.#http, request, transientBundles, transientAgentsMdParts, transientFileParts)
348
- : await operations.submitRunFlat(this.#http, request);
354
+ let run;
355
+ try {
356
+ run = isMultipart
357
+ ? await operations.submitRunFlatMultipart(this.#http, request, transientBundles, transientAgentsMdParts, transientFileParts)
358
+ : await operations.submitRunFlat(this.#http, request);
359
+ }
360
+ catch (err) {
361
+ // Fire-and-forget telemetry for unexpected submit failures so we
362
+ // see them at the SDK boundary. Validation errors thrown earlier
363
+ // in this function are user-fixable and skipped. The
364
+ // reportTelemetryError implementation is non-blocking and never
365
+ // throws — we explicitly drop the returned promise via `void` to
366
+ // signal that.
367
+ void reportTelemetryError({
368
+ code: "sdk_submit_run_failed",
369
+ component: "sdk",
370
+ version: SDK_VERSION,
371
+ context: {
372
+ // `err` may carry the BFF status code on `HttpError`; surface
373
+ // just the status + a short message so triage gets enough to
374
+ // route without leaking request bodies.
375
+ status: typeof err.status === "number"
376
+ ? err.status
377
+ : undefined,
378
+ message: err?.message?.slice(0, 200) ?? null,
379
+ multipart: isMultipart
380
+ }
381
+ });
382
+ throw err;
383
+ }
349
384
  return new RunRef(this, run.id);
350
385
  }
351
386
  getRun(runId) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -1,44 +1,76 @@
1
1
  import type { McpServerRef, PlatformMcpServerSecret } from "./_shared/index.js";
2
2
  /**
3
- * Inline MCP server reference. Headers (typically `Authorization`) are
4
- * vaulted server-side under `secrets.mcpServers` and excluded from the
5
- * idempotency hash; the non-secret `{ name, url }` part is hashed.
3
+ * Wire shape for a workspace MCP server ref in `submission.mcpServers[]`.
4
+ * The BFF resolves this to an inline `{name, url}` before the shared
5
+ * parser runs. Auth still arrives inline in
6
+ * `secrets.mcpServers[<resolved-name>].headers` — workspace refs do
7
+ * not carry auth, by design.
8
+ */
9
+ export interface WorkspaceMcpServerSubmissionEntry {
10
+ readonly kind: "workspace";
11
+ readonly id: string;
12
+ }
13
+ /**
14
+ * Inline MCP server reference OR a workspace-persistent ref via
15
+ * `McpServer.fromId("mcp_...")`.
16
+ *
17
+ * For inline refs, headers (typically `Authorization`) are vaulted
18
+ * server-side under `secrets.mcpServers` and excluded from the
19
+ * idempotency hash; the non-secret `{name, url}` part is hashed.
6
20
  *
7
21
  * The SDK splits the header bag from the public ref BEFORE the wire
8
- * payload is built, so a single `McpServer` instance becomes:
22
+ * payload is built, so a single inline `McpServer` instance becomes:
9
23
  *
10
24
  * - a `submission.mcpServers` entry of `{ name, url }`, and
11
25
  * - (when `headers` is present) a `secrets.mcpServers` entry of
12
26
  * `{ name, headers }`.
13
27
  *
14
- * This keeps `Authorization` out of `runs.flat_snapshot`, audit reads,
15
- * and the idempotency fingerprint, even if the caller forgets to pass
16
- * `secrets.mcpServers` explicitly.
28
+ * For workspace refs (`McpServer.fromId(id)`), the submission entry
29
+ * is `{kind:"workspace", id}`; the BFF resolves it to inline at
30
+ * submit time. The user still supplies auth separately via
31
+ * `secrets.mcpServers[<workspace-name>]` keyed by the workspace
32
+ * MCP's persisted `name`.
17
33
  */
18
34
  export declare class McpServer {
35
+ readonly kind: "inline" | "workspace";
19
36
  readonly name: string;
20
37
  readonly url: string;
38
+ readonly id: string | undefined;
21
39
  readonly headers: Readonly<Record<string, string>> | undefined;
22
- /** Internal constructor. Use `McpServer.remote(...)`. */
40
+ /** Internal constructor. Use `McpServer.remote(...)` or `McpServer.fromId(...)`. */
23
41
  constructor(args: {
24
- readonly name: string;
25
- readonly url: string;
42
+ readonly kind?: "inline" | "workspace";
43
+ readonly id?: string;
44
+ readonly name?: string;
45
+ readonly url?: string;
26
46
  readonly headers?: Readonly<Record<string, string>>;
27
47
  });
28
- /** Remote MCP server reachable over HTTP(S) by URL. */
48
+ /** Inline remote MCP server reachable over HTTP(S) by URL. */
29
49
  static remote(args: {
30
50
  readonly name: string;
31
51
  readonly url: string;
32
52
  readonly headers?: Readonly<Record<string, string>>;
33
53
  }): McpServer;
54
+ /**
55
+ * Reference a workspace-persistent MCP server by id. The BFF
56
+ * resolves the ref to inline `{name, url}` at submit time using the
57
+ * row from `workspace_mcp_servers`. Auth still arrives inline at
58
+ * the call site — pass it in `secrets.mcpServers[<workspace-name>]`.
59
+ */
60
+ static fromId(id: string): McpServer;
34
61
  /** Wire shape for the non-secret `submission.mcpServers` entry. */
35
- toSubmissionEntry(): McpServerRef;
62
+ toSubmissionEntry(): McpServerRef | WorkspaceMcpServerSubmissionEntry;
36
63
  /**
37
- * Wire shape for the `secrets.mcpServers` entry, or `undefined` when
38
- * no headers were provided. Returned headers are a defensive copy.
39
- * The url is required by the BFF's cross-validation rule:
40
- * `secrets.mcpServers[name=X].url` must equal
41
- * `submission.mcpServers[name=X].url`.
64
+ * Wire shape for the `secrets.mcpServers` entry, or `undefined`
65
+ * when no headers were provided. Returned headers are a defensive
66
+ * copy.
67
+ *
68
+ * Workspace refs never emit a secret entry from the SDK — the
69
+ * caller knows the resolved `name` (from the dashboard or from a
70
+ * prior list call) and supplies the headers under that name
71
+ * directly on the `secrets.mcpServers[]` array. Mixing SDK-side
72
+ * auth into a workspace ref's `name` would create a name/auth
73
+ * mismatch the BFF can't validate.
42
74
  */
43
75
  toSecretEntry(): PlatformMcpServerSecret | undefined;
44
76
  }
@@ -1,55 +1,96 @@
1
+ const WORKSPACE_MCP_ID_PATTERN = /^mcp_[A-Za-z0-9_-]{8,128}$/;
1
2
  /**
2
- * Inline MCP server reference. Headers (typically `Authorization`) are
3
- * vaulted server-side under `secrets.mcpServers` and excluded from the
4
- * idempotency hash; the non-secret `{ name, url }` part is hashed.
3
+ * Inline MCP server reference OR a workspace-persistent ref via
4
+ * `McpServer.fromId("mcp_...")`.
5
+ *
6
+ * For inline refs, headers (typically `Authorization`) are vaulted
7
+ * server-side under `secrets.mcpServers` and excluded from the
8
+ * idempotency hash; the non-secret `{name, url}` part is hashed.
5
9
  *
6
10
  * The SDK splits the header bag from the public ref BEFORE the wire
7
- * payload is built, so a single `McpServer` instance becomes:
11
+ * payload is built, so a single inline `McpServer` instance becomes:
8
12
  *
9
13
  * - a `submission.mcpServers` entry of `{ name, url }`, and
10
14
  * - (when `headers` is present) a `secrets.mcpServers` entry of
11
15
  * `{ name, headers }`.
12
16
  *
13
- * This keeps `Authorization` out of `runs.flat_snapshot`, audit reads,
14
- * and the idempotency fingerprint, even if the caller forgets to pass
15
- * `secrets.mcpServers` explicitly.
17
+ * For workspace refs (`McpServer.fromId(id)`), the submission entry
18
+ * is `{kind:"workspace", id}`; the BFF resolves it to inline at
19
+ * submit time. The user still supplies auth separately via
20
+ * `secrets.mcpServers[<workspace-name>]` keyed by the workspace
21
+ * MCP's persisted `name`.
16
22
  */
17
23
  export class McpServer {
24
+ kind;
18
25
  name;
19
26
  url;
27
+ id;
20
28
  headers;
21
- /** Internal constructor. Use `McpServer.remote(...)`. */
29
+ /** Internal constructor. Use `McpServer.remote(...)` or `McpServer.fromId(...)`. */
22
30
  constructor(args) {
23
31
  if (!args || typeof args !== "object") {
24
32
  throw new Error("McpServer: args is required");
25
33
  }
34
+ if (args.kind === "workspace") {
35
+ if (typeof args.id !== "string" || !WORKSPACE_MCP_ID_PATTERN.test(args.id)) {
36
+ throw new Error(`McpServer.fromId: id must match ${WORKSPACE_MCP_ID_PATTERN.source}`);
37
+ }
38
+ this.kind = "workspace";
39
+ this.id = args.id;
40
+ // `name` and `url` are resolved server-side; populate placeholders so
41
+ // type-level access never returns undefined, but mark the workspace
42
+ // ref so callers can branch.
43
+ this.name = "";
44
+ this.url = "";
45
+ this.headers = undefined;
46
+ return;
47
+ }
26
48
  if (typeof args.name !== "string" || !args.name) {
27
49
  throw new Error("McpServer: name is required");
28
50
  }
29
51
  if (typeof args.url !== "string" || !args.url) {
30
52
  throw new Error("McpServer: url is required");
31
53
  }
54
+ this.kind = "inline";
55
+ this.id = undefined;
32
56
  this.name = args.name;
33
57
  this.url = args.url;
34
58
  this.headers = args.headers && Object.keys(args.headers).length > 0 ? { ...args.headers } : undefined;
35
59
  }
36
- /** Remote MCP server reachable over HTTP(S) by URL. */
60
+ /** Inline remote MCP server reachable over HTTP(S) by URL. */
37
61
  static remote(args) {
38
- return new McpServer(args);
62
+ return new McpServer({ kind: "inline", ...args });
63
+ }
64
+ /**
65
+ * Reference a workspace-persistent MCP server by id. The BFF
66
+ * resolves the ref to inline `{name, url}` at submit time using the
67
+ * row from `workspace_mcp_servers`. Auth still arrives inline at
68
+ * the call site — pass it in `secrets.mcpServers[<workspace-name>]`.
69
+ */
70
+ static fromId(id) {
71
+ return new McpServer({ kind: "workspace", id });
39
72
  }
40
73
  /** Wire shape for the non-secret `submission.mcpServers` entry. */
41
74
  toSubmissionEntry() {
75
+ if (this.kind === "workspace") {
76
+ return { kind: "workspace", id: this.id };
77
+ }
42
78
  return { name: this.name, url: this.url };
43
79
  }
44
80
  /**
45
- * Wire shape for the `secrets.mcpServers` entry, or `undefined` when
46
- * no headers were provided. Returned headers are a defensive copy.
47
- * The url is required by the BFF's cross-validation rule:
48
- * `secrets.mcpServers[name=X].url` must equal
49
- * `submission.mcpServers[name=X].url`.
81
+ * Wire shape for the `secrets.mcpServers` entry, or `undefined`
82
+ * when no headers were provided. Returned headers are a defensive
83
+ * copy.
84
+ *
85
+ * Workspace refs never emit a secret entry from the SDK — the
86
+ * caller knows the resolved `name` (from the dashboard or from a
87
+ * prior list call) and supplies the headers under that name
88
+ * directly on the `secrets.mcpServers[]` array. Mixing SDK-side
89
+ * auth into a workspace ref's `name` would create a name/auth
90
+ * mismatch the BFF can't validate.
50
91
  */
51
92
  toSecretEntry() {
52
- if (!this.headers) {
93
+ if (this.kind === "workspace" || !this.headers) {
53
94
  return undefined;
54
95
  }
55
96
  return { name: this.name, url: this.url, headers: { ...this.headers } };
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,SAAS;IACX,IAAI,CAAS;IACb,GAAG,CAAS;IACZ,OAAO,CAA+C;IAE/D,yDAAyD;IACzD,YAAY,IAA0G;QACpH,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACxG,CAAC;IAED,uDAAuD;IACvD,MAAM,CAAC,MAAM,CAAC,IAA0G;QACtH,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,mEAAmE;IACnE,iBAAiB;QACf,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5C,CAAC;IAED;;;;;;OAMG;IACH,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;IAC1E,CAAC;CACF"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Single source of truth for the SDK version exposed at runtime.
3
+ *
4
+ * Must match `packages/sdk/package.json`'s `version` field — a unit
5
+ * test asserts this. Bump both on every release.
6
+ *
7
+ * Used by:
8
+ * - Telemetry envelope (`packages/shared/src/telemetry.ts`) so error
9
+ * reports carry the exact build the failure came from.
10
+ * - Future User-Agent header on outbound SDK requests.
11
+ */
12
+ export declare const SDK_VERSION = "0.10.12";
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Single source of truth for the SDK version exposed at runtime.
3
+ *
4
+ * Must match `packages/sdk/package.json`'s `version` field — a unit
5
+ * test asserts this. Bump both on every release.
6
+ *
7
+ * Used by:
8
+ * - Telemetry envelope (`packages/shared/src/telemetry.ts`) so error
9
+ * reports carry the exact build the failure came from.
10
+ * - Future User-Agent header on outbound SDK requests.
11
+ */
12
+ export const SDK_VERSION = "0.10.12";
13
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "antpath",
3
- "version": "0.10.9",
3
+ "version": "0.10.12",
4
4
  "description": "TypeScript SDK for running autonomous Claude Managed Agents sessions.",
5
5
  "repository": {
6
6
  "type": "git",