@skaile/workspaces 0.9.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +69 -0
- package/dist/base-assets/connectors/flow/run-flow.js +1 -1
- package/dist/bridge/drivers/claude-sdk.js +263 -2
- package/dist/bridge/drivers/claude-sdk.js.map +1 -1
- package/dist/bridge/drivers/codex.js +1 -1
- package/dist/bridge/drivers/echo.js +1 -1
- package/dist/bridge/drivers/omp.js +1 -1
- package/dist/bridge/index.js +2 -2
- package/dist/bridge/src/drivers/claude-sdk.d.ts +23 -0
- package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
- package/dist/bridge/src/drivers/scrub-transcript.d.ts +113 -0
- package/dist/bridge/src/drivers/scrub-transcript.d.ts.map +1 -0
- package/dist/bridge/src/types.d.ts +2 -2
- package/dist/bridge/src/types.d.ts.map +1 -1
- package/dist/{chunk-O32AN5P2.js → chunk-BYZI6FMB.js} +26 -25
- package/dist/chunk-BYZI6FMB.js.map +1 -0
- package/dist/{chunk-44ZICIN4.js → chunk-D3VO6WNC.js} +92 -4
- package/dist/chunk-D3VO6WNC.js.map +1 -0
- package/dist/{chunk-NMREHIHP.js → chunk-NPNRWHCU.js} +2 -2
- package/dist/{chunk-NMREHIHP.js.map → chunk-NPNRWHCU.js.map} +1 -1
- package/dist/{chunk-KMIWXGQ7.js → chunk-OSJH4SPO.js} +3 -3
- package/dist/{chunk-KMIWXGQ7.js.map → chunk-OSJH4SPO.js.map} +1 -1
- package/dist/{chunk-5VNUL5KL.js → chunk-S7RACIZI.js} +2 -2
- package/dist/{chunk-5VNUL5KL.js.map → chunk-S7RACIZI.js.map} +1 -1
- package/dist/{chunk-O5AE4QDX.js → chunk-TDSRLMDB.js} +4 -4
- package/dist/chunk-TDSRLMDB.js.map +1 -0
- package/dist/chunk-W3UDISS2.js +31 -0
- package/dist/chunk-W3UDISS2.js.map +1 -0
- package/dist/{chunk-5IC6CJL4.js → chunk-YWQ3NGCS.js} +2 -2
- package/dist/{chunk-5IC6CJL4.js.map → chunk-YWQ3NGCS.js.map} +1 -1
- package/dist/cli/index.js +8 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/runner/index.js +6 -5
- package/dist/runner/prompt-assembly.js +4 -0
- package/dist/runner/prompt-assembly.js.map +1 -0
- package/dist/runner/src/capability-registry.d.ts.map +1 -1
- package/dist/runner/src/capability-roundtrip.d.ts +18 -0
- package/dist/runner/src/capability-roundtrip.d.ts.map +1 -1
- package/dist/runner/src/define-capability.d.ts +7 -0
- package/dist/runner/src/define-capability.d.ts.map +1 -1
- package/dist/runner/src/prompt-assembly.d.ts +39 -0
- package/dist/runner/src/prompt-assembly.d.ts.map +1 -1
- package/dist/runner/src/resource-handler.d.ts.map +1 -1
- package/dist/runner/src/serve.d.ts.map +1 -1
- package/dist/sdk/bridge.js +2 -2
- package/dist/sdk/index.js +6 -5
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/runner.js +6 -5
- package/dist/sdk/session.js +2 -2
- package/dist/sdk/types.js +1 -1
- package/dist/session/index.js +2 -2
- package/dist/session/src/dispatcher.d.ts +61 -1
- package/dist/session/src/dispatcher.d.ts.map +1 -1
- package/dist/{setup-IZG3QE43.js → setup-QIEPIYH2.js} +4 -4
- package/dist/{setup-IZG3QE43.js.map → setup-QIEPIYH2.js.map} +1 -1
- package/dist/tui/index.js +6 -5
- package/dist/tui/index.js.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/src/capabilities.d.ts +13 -0
- package/dist/types/src/capabilities.d.ts.map +1 -1
- package/dist/types/src/events.d.ts +35 -2
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/version.d.ts +19 -1
- package/dist/types/src/version.d.ts.map +1 -1
- package/dist/workspace-plugin/adapters/mcp.js +2 -2
- package/dist/workspace-plugin/index.js +1 -1
- package/package.json +7 -1
- package/dist/chunk-44ZICIN4.js.map +0 -1
- package/dist/chunk-O32AN5P2.js.map +0 -1
- package/dist/chunk-O5AE4QDX.js.map +0 -1
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Poisoned-transcript repair for the Claude Agent SDK driver.
|
|
3
|
+
*
|
|
4
|
+
* The Anthropic Messages API can permanently reject a conversation once its
|
|
5
|
+
* persisted history contains a malformed content block. Because the bad block
|
|
6
|
+
* lives in the SDK's on-disk JSONL transcript, every replayed turn fails with
|
|
7
|
+
* the same `400 invalid_request_error` and the session is bricked with no
|
|
8
|
+
* in-band recovery.
|
|
9
|
+
*
|
|
10
|
+
* This module repairs the transcript in place, covering three known poison
|
|
11
|
+
* classes:
|
|
12
|
+
*
|
|
13
|
+
* 1. **Image `media_type` mismatch / omission.** An image block whose declared
|
|
14
|
+
* `media_type` does not match — or is missing for — the actual bytes:
|
|
15
|
+
* `... The image was specified using the image/png media type, but the
|
|
16
|
+
* image appears to be a image/jpeg image`. Produced by the Claude Code
|
|
17
|
+
* `Read` tool's format fallback (anthropics/claude-code#55338, #30124,
|
|
18
|
+
* #33179). Repaired by sniffing the base64 magic bytes and correcting
|
|
19
|
+
* `media_type`.
|
|
20
|
+
* 2. **Oversized image.** An image whose decoded payload exceeds the API's
|
|
21
|
+
* 5 MB per-image limit (anthropics/claude-code#34566). Replaced with a
|
|
22
|
+
* text stub — the byte budget cannot be recovered any other way.
|
|
23
|
+
* 3. **`cache_control` on an empty text block.** A text block carrying a
|
|
24
|
+
* `cache_control` marker with empty/whitespace `text`
|
|
25
|
+
* (anthropics/claude-code#59626). The `cache_control` field is stripped.
|
|
26
|
+
*
|
|
27
|
+
* Genuinely unidentifiable image blocks are also replaced with a text stub.
|
|
28
|
+
*
|
|
29
|
+
* Recovering by content scan (rather than parsing the API's `messages.N`
|
|
30
|
+
* index) is deliberate: the index addresses the assembled API request, not a
|
|
31
|
+
* JSONL line, and reproducing the SDK's message-assembly is fragile. A full
|
|
32
|
+
* scan is index-free and repairs every poisoned block in one pass.
|
|
33
|
+
*
|
|
34
|
+
* @module
|
|
35
|
+
*/
|
|
36
|
+
/**
|
|
37
|
+
* Minimal logger shape accepted by {@link scrubPoisonedTranscript}. Compatible
|
|
38
|
+
* with the bridge `Logger`, but narrowed so the helper stays unit-testable
|
|
39
|
+
* without a real logger instance.
|
|
40
|
+
*
|
|
41
|
+
* @category Transcript repair
|
|
42
|
+
*/
|
|
43
|
+
export interface ScrubLogger {
|
|
44
|
+
info(message: string, data?: Record<string, unknown>): void;
|
|
45
|
+
warn(message: string, data?: Record<string, unknown>): void;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Options for {@link scrubPoisonedTranscript}.
|
|
49
|
+
*
|
|
50
|
+
* @category Transcript repair
|
|
51
|
+
*/
|
|
52
|
+
export interface ScrubTranscriptOptions {
|
|
53
|
+
/**
|
|
54
|
+
* Claude Code config directory — the parent of `projects/`. Resolve from
|
|
55
|
+
* `CLAUDE_CONFIG_DIR`, falling back to `~/.claude`.
|
|
56
|
+
*/
|
|
57
|
+
configDir: string;
|
|
58
|
+
/** SDK session id whose transcript JSONL should be repaired. */
|
|
59
|
+
sessionId: string;
|
|
60
|
+
/** Optional logger for diagnostics. */
|
|
61
|
+
log?: ScrubLogger;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Outcome of a {@link scrubPoisonedTranscript} pass.
|
|
65
|
+
*
|
|
66
|
+
* @category Transcript repair
|
|
67
|
+
*/
|
|
68
|
+
export interface ScrubTranscriptResult {
|
|
69
|
+
/** The located JSONL transcript path, or `null` when not found. */
|
|
70
|
+
filePath: string | null;
|
|
71
|
+
/** Image blocks whose `media_type` was corrected (or filled in) to match the bytes. */
|
|
72
|
+
corrected: number;
|
|
73
|
+
/**
|
|
74
|
+
* Image blocks replaced with a text stub — either unidentifiable bytes or a
|
|
75
|
+
* payload over the API's 5 MB per-image limit.
|
|
76
|
+
*/
|
|
77
|
+
stubbed: number;
|
|
78
|
+
/** Empty text blocks from which a rejected `cache_control` marker was stripped. */
|
|
79
|
+
cacheStripped: number;
|
|
80
|
+
/**
|
|
81
|
+
* `true` when the transcript was located, contained at least one poisoned
|
|
82
|
+
* block, and was rewritten. `false` means nothing needed repair (or the
|
|
83
|
+
* file was not found) — the caller should not retry the resume.
|
|
84
|
+
*/
|
|
85
|
+
changed: boolean;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Identify an image's media type from the leading bytes of its base64 payload.
|
|
89
|
+
*
|
|
90
|
+
* Recognises the four formats the Anthropic API accepts. Returns `null` when
|
|
91
|
+
* the magic bytes match no known format — the caller treats that as a
|
|
92
|
+
* genuinely corrupt block and stubs it.
|
|
93
|
+
*
|
|
94
|
+
* @param base64 - Base64-encoded image data (only the prefix is inspected).
|
|
95
|
+
* @returns An `image/*` media type, or `null` when unrecognised.
|
|
96
|
+
* @category Transcript repair
|
|
97
|
+
*/
|
|
98
|
+
export declare function sniffImageMediaType(base64: string): string | null;
|
|
99
|
+
/**
|
|
100
|
+
* Scan a Claude Code SDK transcript for image content blocks whose declared
|
|
101
|
+
* `media_type` does not match the actual bytes, repair them, and atomically
|
|
102
|
+
* rewrite the file.
|
|
103
|
+
*
|
|
104
|
+
* Safe to call after a turn has failed: the SDK query is dead at that point,
|
|
105
|
+
* and the next resume re-reads the transcript from disk.
|
|
106
|
+
*
|
|
107
|
+
* @param opts - Config directory, session id, and an optional logger.
|
|
108
|
+
* @returns A {@link ScrubTranscriptResult}. When `changed` is `true` the
|
|
109
|
+
* caller may retry the resume with the same session id.
|
|
110
|
+
* @category Transcript repair
|
|
111
|
+
*/
|
|
112
|
+
export declare function scrubPoisonedTranscript(opts: ScrubTranscriptOptions): ScrubTranscriptResult;
|
|
113
|
+
//# sourceMappingURL=scrub-transcript.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrub-transcript.d.ts","sourceRoot":"","sources":["../../../../bridge/src/drivers/scrub-transcript.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAKH;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC7D;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,GAAG,CAAC,EAAE,WAAW,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,uFAAuF;IACvF,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB;AAeD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAwCjE;AAwHD;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,sBAAsB,GAAG,qBAAqB,CAqF3F"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EventEmitter } from "node:events";
|
|
2
|
+
import type { Span, TelemetryProvider, Trace } from "@skaile/workspaces/telemetry";
|
|
2
3
|
import type { Capability, CredentialMint, RenderInvokedEvent, TokenUsage } from "@skaile/workspaces/types";
|
|
3
|
-
import type { TelemetryProvider, Trace, Span } from "@skaile/workspaces/telemetry";
|
|
4
4
|
import type { ModelEntry } from "./models.js";
|
|
5
5
|
/**
|
|
6
6
|
* Minimal LLM tool descriptor used by the capability dispatch path. Mirrors
|
|
@@ -418,7 +418,7 @@ export type AgentEvent = {
|
|
|
418
418
|
} | {
|
|
419
419
|
type: "resume_failed";
|
|
420
420
|
resumeSessionId: string;
|
|
421
|
-
reason: "signature_mismatch" | "model_mismatch" | "jsonl_lost";
|
|
421
|
+
reason: "signature_mismatch" | "model_mismatch" | "jsonl_lost" | "jsonl_poisoned";
|
|
422
422
|
[k: string]: any;
|
|
423
423
|
};
|
|
424
424
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../bridge/src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../bridge/src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { WorkspacePlugin } from './chunk-
|
|
2
|
-
import { PROTOCOL_VERSION } from './chunk-O5AE4QDX.js';
|
|
1
|
+
import { WorkspacePlugin } from './chunk-YWQ3NGCS.js';
|
|
3
2
|
import { WebSocketServerTransport } from './chunk-PBWMV5GM.js';
|
|
4
|
-
import {
|
|
3
|
+
import { assembleSystemPrompt, buildCapabilitiesPromptSection } from './chunk-W3UDISS2.js';
|
|
4
|
+
import { PROTOCOL_VERSION } from './chunk-TDSRLMDB.js';
|
|
5
|
+
import { EventNormalizer } from './chunk-OSJH4SPO.js';
|
|
5
6
|
import { classifyClaudeSdkError } from './chunk-EWP5HZBV.js';
|
|
6
|
-
import { createDriver } from './chunk-
|
|
7
|
+
import { createDriver } from './chunk-S7RACIZI.js';
|
|
7
8
|
import { deployCatalogEntry, undeployCatalogEntry } from './chunk-LV2HPH3C.js';
|
|
8
9
|
import { registerBuiltinConnectors, findMissingPackages, installNpmPackages, ConnectorManager, ConnectorStartupError, buildConnectorPromptSection, buildSdkConnectorTools } from './chunk-EPGHAOEU.js';
|
|
9
10
|
import { loadConnectorDeclarations, PreMintedSecretProvider, InMemorySecretProvider } from './chunk-W75ASXH4.js';
|
|
@@ -16,8 +17,8 @@ import { __require } from './chunk-NSBPE2FW.js';
|
|
|
16
17
|
import pc from 'picocolors';
|
|
17
18
|
import { Marked } from 'marked';
|
|
18
19
|
import { markedTerminal } from 'marked-terminal';
|
|
19
|
-
import { readdirSync, existsSync, readFileSync, unlinkSync, writeFileSync, statSync,
|
|
20
|
-
import path4, { join, resolve,
|
|
20
|
+
import { readdirSync, existsSync, readFileSync, unlinkSync, mkdirSync, writeFileSync, statSync, watch, openSync, readSync, closeSync } from 'fs';
|
|
21
|
+
import path4, { join, resolve, dirname, basename, relative } from 'path';
|
|
21
22
|
import { homedir } from 'os';
|
|
22
23
|
import * as z5 from 'zod';
|
|
23
24
|
import { z } from 'zod';
|
|
@@ -242,6 +243,7 @@ function defineCapability(args) {
|
|
|
242
243
|
userInvokable: args.userInvokable,
|
|
243
244
|
audience: args.audience,
|
|
244
245
|
promptFragment: args.promptFragment,
|
|
246
|
+
callTimeoutMs: args.callTimeoutMs,
|
|
245
247
|
render: args.render,
|
|
246
248
|
inputZod: args.input,
|
|
247
249
|
outputZod: args.output,
|
|
@@ -705,20 +707,6 @@ async function loadAgentManifest(agentDir) {
|
|
|
705
707
|
return void 0;
|
|
706
708
|
}
|
|
707
709
|
}
|
|
708
|
-
|
|
709
|
-
// runner/src/prompt-assembly.ts
|
|
710
|
-
function assembleSystemPrompt(parts) {
|
|
711
|
-
const filtered = parts.filter((p) => !!p);
|
|
712
|
-
if (filtered.length === 0) return void 0;
|
|
713
|
-
return filtered.join("\n\n---\n\n");
|
|
714
|
-
}
|
|
715
|
-
function buildCapabilitiesPromptSection(registry) {
|
|
716
|
-
const body = registry.composePromptSection();
|
|
717
|
-
if (!body) return void 0;
|
|
718
|
-
return `<CAPABILITIES>
|
|
719
|
-
${body}
|
|
720
|
-
</CAPABILITIES>`;
|
|
721
|
-
}
|
|
722
710
|
var RecipeUnavailableError = class extends Error {
|
|
723
711
|
constructor(flakeRef, attr, cause) {
|
|
724
712
|
super(
|
|
@@ -1469,8 +1457,14 @@ function handleMountResourceRequest(command, manager, emit) {
|
|
|
1469
1457
|
break;
|
|
1470
1458
|
}
|
|
1471
1459
|
case "write": {
|
|
1460
|
+
mkdirSync(dirname(targetPath), { recursive: true });
|
|
1472
1461
|
const writeContent = typeof content === "string" ? content : content?.data ?? "";
|
|
1473
|
-
|
|
1462
|
+
const encoding = typeof content === "string" ? void 0 : content?.encoding;
|
|
1463
|
+
if (encoding === "binary") {
|
|
1464
|
+
writeFileSync(targetPath, Buffer.from(writeContent, "base64"));
|
|
1465
|
+
} else {
|
|
1466
|
+
writeFileSync(targetPath, writeContent, "utf-8");
|
|
1467
|
+
}
|
|
1474
1468
|
data = true;
|
|
1475
1469
|
break;
|
|
1476
1470
|
}
|
|
@@ -1879,6 +1873,7 @@ var CapabilityRegistry = class {
|
|
|
1879
1873
|
userInvokable: cap.userInvokable,
|
|
1880
1874
|
audience: cap.audience,
|
|
1881
1875
|
promptFragment: cap.promptFragment,
|
|
1876
|
+
callTimeoutMs: cap.callTimeoutMs,
|
|
1882
1877
|
render: cap.render
|
|
1883
1878
|
};
|
|
1884
1879
|
}
|
|
@@ -1908,6 +1903,11 @@ var HYDRATED_REJECT_HANDLER = async () => {
|
|
|
1908
1903
|
|
|
1909
1904
|
// runner/src/capability-roundtrip.ts
|
|
1910
1905
|
var DEFAULT_CAPABILITY_CALL_TIMEOUT_MS = 6e4;
|
|
1906
|
+
function resolveCapabilityCallTimeoutMs(cap, approvalTimeoutMs) {
|
|
1907
|
+
if (typeof cap.callTimeoutMs === "number") return cap.callTimeoutMs;
|
|
1908
|
+
if (cap.requiresApproval) return approvalTimeoutMs;
|
|
1909
|
+
return DEFAULT_CAPABILITY_CALL_TIMEOUT_MS;
|
|
1910
|
+
}
|
|
1911
1911
|
function buildClientCapabilityHandler(args) {
|
|
1912
1912
|
const timeoutMs = args.timeoutMs ?? DEFAULT_CAPABILITY_CALL_TIMEOUT_MS;
|
|
1913
1913
|
const gen = args.generateCallId ?? (() => `cap-${Date.now()}-${Math.floor(Math.random() * 1e9)}`);
|
|
@@ -2773,11 +2773,12 @@ async function startAgentServer(opts) {
|
|
|
2773
2773
|
};
|
|
2774
2774
|
const APPROVAL_REQUIRED_CAPABILITY_TIMEOUT_MS = 15 * 60 * 1e3;
|
|
2775
2775
|
function buildClientCapabilityHandler2(wire) {
|
|
2776
|
+
const timeoutMs = resolveCapabilityCallTimeoutMs(wire, APPROVAL_REQUIRED_CAPABILITY_TIMEOUT_MS);
|
|
2776
2777
|
return buildClientCapabilityHandler({
|
|
2777
2778
|
wire,
|
|
2778
2779
|
pending: pendingCapabilityCalls,
|
|
2779
2780
|
emit: (event) => sendEvent(event),
|
|
2780
|
-
timeoutMs
|
|
2781
|
+
timeoutMs
|
|
2781
2782
|
});
|
|
2782
2783
|
}
|
|
2783
2784
|
function buildCapabilityHooks() {
|
|
@@ -4127,6 +4128,6 @@ function touchSession(state) {
|
|
|
4127
4128
|
return { ...state, updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
|
|
4128
4129
|
}
|
|
4129
4130
|
|
|
4130
|
-
export { CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CapabilityRegistry, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, MarkdownStreamer, PreInitRingSink, agentDefinitionExists,
|
|
4131
|
-
//# sourceMappingURL=chunk-
|
|
4132
|
-
//# sourceMappingURL=chunk-
|
|
4131
|
+
export { CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CapabilityRegistry, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, MarkdownStreamer, PreInitRingSink, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildContextSection, buildEnvironmentSection, builtinCapabilities, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, createAgentSession, createSessionStimulusBus, defineCapability, deleteSession, emitSystemPromptComposed, ensureGitConfigInclude, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, installPreInitRingSink, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadSession, loadSessionById, newSession, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveMixin, runAgentChat, saveSession, setCurrentSession, startAgentServer, touchSession, writeClaudeCodeCredentialsFile };
|
|
4132
|
+
//# sourceMappingURL=chunk-BYZI6FMB.js.map
|
|
4133
|
+
//# sourceMappingURL=chunk-BYZI6FMB.js.map
|