@alpacakit/agents 0.1.0-beta.31 → 0.1.0-beta.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/README.md +40 -10
  2. package/dist/agents/claude.d.ts +9 -2
  3. package/dist/agents/claude.d.ts.map +1 -1
  4. package/dist/agents/claude.js +35 -5
  5. package/dist/agents/codex.d.ts +1 -1
  6. package/dist/agents/codex.d.ts.map +1 -1
  7. package/dist/agents/codex.js +19 -1
  8. package/dist/core/error.d.ts +25 -0
  9. package/dist/core/error.d.ts.map +1 -1
  10. package/dist/core/error.js +15 -0
  11. package/dist/core/node-controlled-exec.d.ts.map +1 -1
  12. package/dist/core/node-controlled-exec.js +31 -8
  13. package/dist/core/node-ports.d.ts.map +1 -1
  14. package/dist/core/node-ports.js +20 -0
  15. package/dist/core/ports.d.ts +5 -0
  16. package/dist/core/ports.d.ts.map +1 -1
  17. package/dist/fleet/policy.d.ts.map +1 -1
  18. package/dist/fleet/policy.js +3 -0
  19. package/dist/host/availability.d.ts +56 -0
  20. package/dist/host/availability.d.ts.map +1 -0
  21. package/dist/host/availability.js +177 -0
  22. package/dist/host/command-doctor.d.ts +4 -0
  23. package/dist/host/command-doctor.d.ts.map +1 -0
  24. package/dist/host/command-doctor.js +21 -0
  25. package/dist/index.d.ts +10 -8
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +4 -3
  28. package/dist/internal/controlled-process/host-controller.d.ts +3 -2
  29. package/dist/internal/controlled-process/host-controller.d.ts.map +1 -1
  30. package/dist/internal/controlled-process/host-controller.js +63 -23
  31. package/dist/internal/controlled-process/input-transport.d.ts +17 -0
  32. package/dist/internal/controlled-process/input-transport.d.ts.map +1 -0
  33. package/dist/internal/controlled-process/input-transport.js +188 -0
  34. package/dist/internal/controlled-process/lifecycle.d.ts +1 -1
  35. package/dist/internal/controlled-process/lifecycle.d.ts.map +1 -1
  36. package/dist/internal/controlled-process/lifecycle.js +1 -0
  37. package/dist/internal/controlled-process/schema.d.ts +2 -2
  38. package/dist/internal/controlled-process/schema.js +1 -1
  39. package/dist/internal/controlled-process/shim-runtime.d.ts.map +1 -1
  40. package/dist/internal/controlled-process/shim-runtime.js +43 -4
  41. package/dist/internal/controlled-process/supervisor-coordinator.d.ts.map +1 -1
  42. package/dist/internal/controlled-process/supervisor-coordinator.js +4 -2
  43. package/dist/internal/controlled-process/supervisor-model.d.ts +24 -2
  44. package/dist/internal/controlled-process/supervisor-model.d.ts.map +1 -1
  45. package/dist/internal/controlled-process/supervisor-runtime.d.ts.map +1 -1
  46. package/dist/internal/controlled-process/supervisor-runtime.js +116 -15
  47. package/dist/internal/controlled-process/supervisor-schema.d.ts +66 -3
  48. package/dist/internal/controlled-process/supervisor-schema.d.ts.map +1 -1
  49. package/dist/internal/controlled-process/supervisor-schema.js +31 -3
  50. package/dist/internal/controlled-process/supervisor-values.d.ts +5 -0
  51. package/dist/internal/controlled-process/supervisor-values.d.ts.map +1 -1
  52. package/dist/internal/controlled-process/supervisor-values.js +5 -0
  53. package/dist/internal/controlled-process/values.d.ts +4 -4
  54. package/dist/internal/controlled-process/values.js +4 -4
  55. package/dist/kernel/cli-agent.d.ts +3 -0
  56. package/dist/kernel/cli-agent.d.ts.map +1 -1
  57. package/dist/kernel/cli-agent.js +8 -19
  58. package/dist/kernel/definition.d.ts +2 -0
  59. package/dist/kernel/definition.d.ts.map +1 -1
  60. package/dist/kernel/facets.d.ts +5 -0
  61. package/dist/kernel/facets.d.ts.map +1 -1
  62. package/dist/kernel/facets.js +5 -0
  63. package/dist/kernel/runtime.d.ts +2 -1
  64. package/dist/kernel/runtime.d.ts.map +1 -1
  65. package/dist/kernel/runtime.js +4 -1
  66. package/dist/structured/run-structured.d.ts.map +1 -1
  67. package/dist/structured/run-structured.js +2 -5
  68. package/package.json +2 -2
@@ -0,0 +1,177 @@
1
+ /**
2
+ * Agent execution availability (ambient, not profile-bound). Definitions own
3
+ * vendor-specific probes and remediation; the runtime only binds HostContext.
4
+ */
5
+ import { PROCESS_SIGNAL } from "../core/values.js";
6
+ export const AGENT_AVAILABILITY_STATUS = {
7
+ runnable: "runnable",
8
+ unavailable: "unavailable",
9
+ indeterminate: "indeterminate",
10
+ };
11
+ export const AGENT_UNAVAILABLE_REASON = {
12
+ commandMissing: "command_missing",
13
+ authenticationRequired: "authentication_required",
14
+ };
15
+ export const AGENT_INDETERMINATE_REASON = {
16
+ probeTimeout: "probe_timeout",
17
+ probeFault: "probe_fault",
18
+ };
19
+ /** The single bounded default for CLI availability subprocesses. */
20
+ export const DEFAULT_AGENT_AVAILABILITY_PROBE_TIMEOUT_MS = 30_000;
21
+ const AVAILABILITY_DETAIL = {
22
+ timeout: "Agent availability probe timed out.",
23
+ commandResolutionFault: "Agent availability probe failed during command resolution.",
24
+ spawnFault: "Agent availability probe failed while starting the command.",
25
+ processFault: "Agent availability probe process failed.",
26
+ cleanupFault: "Agent availability probe process cleanup failed.",
27
+ timerFault: "Agent availability probe timer failed.",
28
+ };
29
+ const PROBE_OBSERVATION_KIND = {
30
+ exit: "exit",
31
+ timeout: "timeout",
32
+ fault: "fault",
33
+ };
34
+ function probeFault(detail) {
35
+ return {
36
+ status: AGENT_AVAILABILITY_STATUS.indeterminate,
37
+ reason: AGENT_INDETERMINATE_REASON.probeFault,
38
+ detail,
39
+ };
40
+ }
41
+ async function observeProcess(child) {
42
+ const drain = (async () => {
43
+ for await (const _chunk of child.chunks) {
44
+ // Availability is exit-code-only. Never retain CLI output.
45
+ }
46
+ })();
47
+ try {
48
+ const [, exit] = await Promise.all([drain, child.exit]);
49
+ return { kind: PROBE_OBSERVATION_KIND.exit, code: exit.code };
50
+ }
51
+ catch {
52
+ return { kind: PROBE_OBSERVATION_KIND.fault };
53
+ }
54
+ }
55
+ async function stopProcess(child) {
56
+ try {
57
+ child.kill(PROCESS_SIGNAL.sigkill);
58
+ await child.awaitTerminationEscalation();
59
+ return true;
60
+ }
61
+ catch {
62
+ return false;
63
+ }
64
+ }
65
+ async function resolveAuthenticationObservation(observation, child, cancelTimeout, remediation) {
66
+ let timeoutCleanupFailed = false;
67
+ try {
68
+ cancelTimeout();
69
+ }
70
+ catch {
71
+ timeoutCleanupFailed = true;
72
+ }
73
+ if (observation.kind === PROBE_OBSERVATION_KIND.timeout) {
74
+ try {
75
+ await child.awaitTerminationEscalation();
76
+ }
77
+ catch {
78
+ return probeFault(AVAILABILITY_DETAIL.cleanupFault);
79
+ }
80
+ if (timeoutCleanupFailed) {
81
+ return probeFault(AVAILABILITY_DETAIL.cleanupFault);
82
+ }
83
+ return {
84
+ status: AGENT_AVAILABILITY_STATUS.indeterminate,
85
+ reason: AGENT_INDETERMINATE_REASON.probeTimeout,
86
+ detail: AVAILABILITY_DETAIL.timeout,
87
+ };
88
+ }
89
+ if (observation.kind === PROBE_OBSERVATION_KIND.fault) {
90
+ const stopped = await stopProcess(child);
91
+ return probeFault(stopped && !timeoutCleanupFailed
92
+ ? AVAILABILITY_DETAIL.processFault
93
+ : AVAILABILITY_DETAIL.cleanupFault);
94
+ }
95
+ if (timeoutCleanupFailed) {
96
+ return probeFault(AVAILABILITY_DETAIL.cleanupFault);
97
+ }
98
+ if (observation.code === 0) {
99
+ return { status: AGENT_AVAILABILITY_STATUS.runnable };
100
+ }
101
+ if (observation.code === null) {
102
+ return probeFault(AVAILABILITY_DETAIL.processFault);
103
+ }
104
+ return {
105
+ status: AGENT_AVAILABILITY_STATUS.unavailable,
106
+ reason: AGENT_UNAVAILABLE_REASON.authenticationRequired,
107
+ remediation,
108
+ };
109
+ }
110
+ /**
111
+ * Build a CLI definition-side availability capability. With no
112
+ * authentication command this is the generic PATH-only default.
113
+ */
114
+ export function cliAvailability(options) {
115
+ return {
116
+ probe: async (ctx) => {
117
+ let command;
118
+ try {
119
+ command = await ctx.exec.which(options.command, ctx.env);
120
+ }
121
+ catch {
122
+ return probeFault(AVAILABILITY_DETAIL.commandResolutionFault);
123
+ }
124
+ if (command === null) {
125
+ return {
126
+ status: AGENT_AVAILABILITY_STATUS.unavailable,
127
+ reason: AGENT_UNAVAILABLE_REASON.commandMissing,
128
+ remediation: options.commandMissingRemediation,
129
+ };
130
+ }
131
+ if (options.authentication === undefined) {
132
+ return { status: AGENT_AVAILABILITY_STATUS.runnable };
133
+ }
134
+ let child;
135
+ try {
136
+ child = ctx.exec.spawn({
137
+ command,
138
+ args: [...options.authentication.args],
139
+ cwd: ctx.location.homeDir,
140
+ env: ctx.env,
141
+ stdin: null,
142
+ });
143
+ }
144
+ catch {
145
+ return probeFault(AVAILABILITY_DETAIL.spawnFault);
146
+ }
147
+ const processObservation = observeProcess(child);
148
+ let settleTimeout = () => { };
149
+ const timeoutObservation = new Promise((resolve) => {
150
+ settleTimeout = resolve;
151
+ });
152
+ let cancelTimeout;
153
+ try {
154
+ cancelTimeout = ctx.clock.setTimeout(() => {
155
+ try {
156
+ child.kill(PROCESS_SIGNAL.sigkill);
157
+ settleTimeout({ kind: PROBE_OBSERVATION_KIND.timeout });
158
+ }
159
+ catch {
160
+ settleTimeout({ kind: PROBE_OBSERVATION_KIND.fault });
161
+ }
162
+ }, options.timeoutMs ?? DEFAULT_AGENT_AVAILABILITY_PROBE_TIMEOUT_MS);
163
+ }
164
+ catch {
165
+ const stopped = await stopProcess(child);
166
+ return probeFault(stopped
167
+ ? AVAILABILITY_DETAIL.timerFault
168
+ : AVAILABILITY_DETAIL.cleanupFault);
169
+ }
170
+ const observation = await Promise.race([
171
+ processObservation,
172
+ timeoutObservation,
173
+ ]);
174
+ return resolveAuthenticationObservation(observation, child, cancelTimeout, options.authentication.remediation);
175
+ },
176
+ };
177
+ }
@@ -0,0 +1,4 @@
1
+ import { type DoctorCapability } from "./capabilities.js";
2
+ /** Default CLI Doctor: command presence only, with no auth inference. */
3
+ export declare function cliCommandDoctor(commandName: string): DoctorCapability;
4
+ //# sourceMappingURL=command-doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-doctor.d.ts","sourceRoot":"","sources":["../../src/host/command-doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE/E,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,CAmBtE"}
@@ -0,0 +1,21 @@
1
+ import { DOCTOR_CHECK_STATUS } from "./capabilities.js";
2
+ /** Default CLI Doctor: command presence only, with no auth inference. */
3
+ export function cliCommandDoctor(commandName) {
4
+ return {
5
+ probe: async (ctx) => {
6
+ const command = await ctx.exec.which(commandName, ctx.env);
7
+ return {
8
+ available: command !== null,
9
+ checks: [
10
+ {
11
+ id: "command-on-path",
12
+ status: command === null
13
+ ? DOCTOR_CHECK_STATUS.fail
14
+ : DOCTOR_CHECK_STATUS.pass,
15
+ detail: command,
16
+ },
17
+ ],
18
+ };
19
+ },
20
+ };
21
+ }
package/dist/index.d.ts CHANGED
@@ -8,7 +8,7 @@
8
8
  * storage (`/config`).
9
9
  */
10
10
  export { BUILTIN_AGENT_ID, type BuiltinAgentId, builtinAgentFactories, } from "./agents/builtin.js";
11
- export { claude, structuredQuotaMatcher } from "./agents/claude.js";
11
+ export { claude, type ClaudeOptions, structuredQuotaMatcher, } from "./agents/claude.js";
12
12
  export { capacityTextMatcher, codex } from "./agents/codex.js";
13
13
  export type { PiSessionEngineOptions } from "./agents/openai-compatible/pi/engine.js";
14
14
  export { PI_DEFAULT_CONTEXT_WINDOW, PI_DEFAULT_MAX_TOKENS, piSessionEngine, } from "./agents/openai-compatible/pi/engine.js";
@@ -20,12 +20,12 @@ export type { ApiKeyProfileOptions, AuthCapability, AuthMaterial, AuthMaterialDe
20
20
  export { AUTH_MATERIAL_KIND, AUTH_STATUS, createApiKeyProfile, createHomeDirProfile, envVarAuthMaterial, } from "./auth/material.js";
21
21
  export { fileProfileStore, type ProfileStore } from "./auth/profile-store.js";
22
22
  export { envResolver, requireSecret } from "./auth/secrets.js";
23
+ export type { ChildProcessAbsenceProof, ChildProcessCompletion, ChildProcessIdentity, ChildProcessLifecycle, ChildProcessTerminationEvidence, ChildProcessTerminationPhase, ChildProcessTerminationResult, ChildProcessUnkillableReason, ControlledExec, ControlledExecOptions, ControlledExecProcess, ControlledProcessRecovery, } from "./core/controlled-process.js";
24
+ export { CHILD_PROCESS_ABSENCE_PROOF, CHILD_PROCESS_TERMINATION_EVIDENCE_KIND, CHILD_PROCESS_TERMINATION_KIND, CHILD_PROCESS_TERMINATION_PHASE, CHILD_PROCESS_UNKILLABLE_REASON, } from "./core/controlled-process.js";
23
25
  export type { EnvPatch } from "./core/env.js";
24
26
  export { applyEnvPatch, EMPTY_ENV_PATCH, mergeEnvPatches, processEnv, } from "./core/env.js";
25
- export type { AgentErrorCode, AgentErrorData, AgentErrorOptions, AgentFailure, AgentFailureCode, AgentFailureClass, AgentInfrastructureFailureCode, AuthFailureReason, GuardViolation, Issue, NotAvailableCause, TimeoutKind, } from "./core/error.js";
26
- export { AGENT_ERROR_CODE, AGENT_FAILURE_CLASS, AGENT_INFRASTRUCTURE_FAILURE_CODE, AgentError, AUTH_FAILURE_REASON, agentFailure, infrastructureFailure, isAgentError, NOT_AVAILABLE_CAUSE, TIMEOUT_KIND, } from "./core/error.js";
27
- export type { ChildProcessAbsenceProof, ChildProcessCompletion, ChildProcessIdentity, ChildProcessLifecycle, ChildProcessTerminationEvidence, ChildProcessTerminationPhase, ChildProcessTerminationResult, ChildProcessUnkillableReason, ControlledExec, ControlledExecOptions, ControlledExecProcess, ControlledProcessRecovery, } from "./core/controlled-process.js";
28
- export { CHILD_PROCESS_TERMINATION_EVIDENCE_KIND, CHILD_PROCESS_ABSENCE_PROOF, CHILD_PROCESS_TERMINATION_KIND, CHILD_PROCESS_TERMINATION_PHASE, CHILD_PROCESS_UNKILLABLE_REASON, } from "./core/controlled-process.js";
27
+ export type { AgentErrorCode, AgentErrorData, AgentErrorOptions, AgentFailure, AgentFailureClass, AgentFailureCode, AgentInfrastructureFailureCode, AuthFailureReason, ControlledProcessLaunchFailureCode, ControlledProcessLaunchFailureData, ControlledProcessLaunchFailureRetryability, GuardViolation, Issue, NotAvailableCause, TimeoutKind, } from "./core/error.js";
28
+ export { AGENT_ERROR_CODE, AGENT_FAILURE_CLASS, AGENT_INFRASTRUCTURE_FAILURE_CODE, AgentError, AUTH_FAILURE_REASON, agentFailure, CONTROLLED_PROCESS_LAUNCH_FAILURE_CODE, CONTROLLED_PROCESS_LAUNCH_FAILURE_RETRYABILITY, infrastructureFailure, isAgentError, NOT_AVAILABLE_CAUSE, TIMEOUT_KIND, } from "./core/error.js";
29
29
  export { createControlledExec } from "./core/node-controlled-exec.js";
30
30
  export type { Clock, Exec, ExecChunk, ExecExit, ExecProcess, ExecSpawnOptions, HttpClient, InteractiveExecProcess, InteractiveExecSpawnOptions, Logger, LogLevel, Ports, SecretResolver, SecretResolvers, TelemetrySink, } from "./core/ports.js";
31
31
  export { LOG_LEVEL } from "./core/ports.js";
@@ -36,12 +36,14 @@ export type { OutputChannel, ProcessSignal } from "./core/values.js";
36
36
  export { OUTPUT_CHANNEL, PROCESS_SIGNAL } from "./core/values.js";
37
37
  export type { FailureCorpusRecorder, FailureCorpusRecorderOptions, } from "./corpus/failure-corpus.js";
38
38
  export { createFailureCorpusRecorder } from "./corpus/failure-corpus.js";
39
- export type { AttemptStatus, AttemptTrace, Blocker, BlockerReason, Candidate, CandidateOptions, CreateFleetOptions, FleetAttemptRunOptions, Fleet, FleetOutcome, FleetPlainRunOptions, FleetOutcomeStatus, FleetRunOptions, FleetStructuredRunOptions, } from "./fleet/fleet.js";
39
+ export type { AttemptStatus, AttemptTrace, Blocker, BlockerReason, Candidate, CandidateOptions, CreateFleetOptions, Fleet, FleetAttemptRunOptions, FleetOutcome, FleetOutcomeStatus, FleetPlainRunOptions, FleetRunOptions, FleetStructuredRunOptions, } from "./fleet/fleet.js";
40
40
  export { ATTEMPT_STATUS, BLOCKER_REASON, candidateForAgent, candidateFromProfile, candidateKey, createFleet, FLEET_OUTCOME_STATUS, profileCooldownKey, } from "./fleet/fleet.js";
41
41
  export type { CooldownScope, FailureAction, FailureActionKind, FailurePolicy, PolicyCode, } from "./fleet/policy.js";
42
42
  export { CAPACITY_DEFAULT_COOLDOWN_MS, COOLDOWN_SCOPE, defaultFailurePolicy, FAILURE_ACTION_KIND, QUOTA_DEFAULT_COOLDOWN_MS, } from "./fleet/policy.js";
43
43
  export type { CooldownKey, FleetStateStore } from "./fleet/store.js";
44
44
  export { fileFleetStore, memoryFleetStore } from "./fleet/store.js";
45
+ export type { AgentAvailability, AgentAvailabilityCapability, AgentRemediation, } from "./host/availability.js";
46
+ export { AGENT_AVAILABILITY_STATUS, AGENT_INDETERMINATE_REASON, AGENT_UNAVAILABLE_REASON, DEFAULT_AGENT_AVAILABILITY_PROBE_TIMEOUT_MS, } from "./host/availability.js";
45
47
  export type { DoctorCapability, DoctorCheck, DoctorReport, InstalledSkill, InstallOptions, InstallOutcome, McpAvailability, McpCapability, McpScope, McpServerSpec, McpServerState, McpTransport, SkillAvailability, SkillSource, SkillSourceKind, SkillsCapability, StdioMcpServerSpec, } from "./host/capabilities.js";
46
48
  export { CAPABILITY_AVAILABILITY_STATUS, checkMcpAvailability, checkSkillAvailability, DOCTOR_CHECK_STATUS, INSTALL_STATUS, MCP_SCOPE, MCP_TRANSPORT, SKILL_SOURCE_KIND, } from "./host/capabilities.js";
47
49
  export type { HostContext, HostLocation } from "./host/context.js";
@@ -56,10 +58,10 @@ export type { AgentDefinition, AgentRun, RunContext, } from "./kernel/definition
56
58
  export { defineAgent } from "./kernel/definition.js";
57
59
  export type { EnvTemplate, EnvTemplateResolution, } from "./kernel/env-template.js";
58
60
  export { referencedEnvNames, resolveEnvTemplate, } from "./kernel/env-template.js";
59
- export type { AgentAuth, AgentDoctor, AgentLogin, AgentMcp, AgentSkills, } from "./kernel/facets.js";
61
+ export type { AgentAuth, AgentAvailabilityProbe, AgentDoctor, AgentLogin, AgentMcp, AgentSkills, } from "./kernel/facets.js";
60
62
  export type { Guard, GuardContext, GuardFactory } from "./kernel/guard.js";
61
63
  export { maxToolCalls, maxTurns, noProgress, repeatedOutput, } from "./kernel/guard.js";
62
- export type { ControlledChildProcessResource, Grant, Limits, ResolvedLimits, ResolvedRunResources, ResolvedRunOptions, ResolvedSandbox, RunOptions, RunResources, Sandbox, SandboxMode, } from "./kernel/options.js";
64
+ export type { ControlledChildProcessResource, Grant, Limits, ResolvedLimits, ResolvedRunOptions, ResolvedRunResources, ResolvedSandbox, RunOptions, RunResources, Sandbox, SandboxMode, } from "./kernel/options.js";
63
65
  export { GRANT_KIND, SANDBOX_MODE } from "./kernel/options.js";
64
66
  export type { Agent, AgentRuntime, AgentRuntimeOptions, } from "./kernel/runtime.js";
65
67
  export { createAgentRuntime, resolvePorts } from "./kernel/runtime.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@
8
8
  * storage (`/config`).
9
9
  */
10
10
  export { BUILTIN_AGENT_ID, builtinAgentFactories, } from "./agents/builtin.js";
11
- export { claude, structuredQuotaMatcher } from "./agents/claude.js";
11
+ export { claude, structuredQuotaMatcher, } from "./agents/claude.js";
12
12
  export { capacityTextMatcher, codex } from "./agents/codex.js";
13
13
  export { PI_DEFAULT_CONTEXT_WINDOW, PI_DEFAULT_MAX_TOKENS, piSessionEngine, } from "./agents/openai-compatible/pi/engine.js";
14
14
  export { openaiCompatible } from "./agents/openai-compatible.js";
@@ -16,9 +16,9 @@ export { LOGIN_EVENT_TYPE, LOGIN_METHOD } from "./auth/login.js";
16
16
  export { AUTH_MATERIAL_KIND, AUTH_STATUS, createApiKeyProfile, createHomeDirProfile, envVarAuthMaterial, } from "./auth/material.js";
17
17
  export { fileProfileStore } from "./auth/profile-store.js";
18
18
  export { envResolver, requireSecret } from "./auth/secrets.js";
19
+ export { CHILD_PROCESS_ABSENCE_PROOF, CHILD_PROCESS_TERMINATION_EVIDENCE_KIND, CHILD_PROCESS_TERMINATION_KIND, CHILD_PROCESS_TERMINATION_PHASE, CHILD_PROCESS_UNKILLABLE_REASON, } from "./core/controlled-process.js";
19
20
  export { applyEnvPatch, EMPTY_ENV_PATCH, mergeEnvPatches, processEnv, } from "./core/env.js";
20
- export { AGENT_ERROR_CODE, AGENT_FAILURE_CLASS, AGENT_INFRASTRUCTURE_FAILURE_CODE, AgentError, AUTH_FAILURE_REASON, agentFailure, infrastructureFailure, isAgentError, NOT_AVAILABLE_CAUSE, TIMEOUT_KIND, } from "./core/error.js";
21
- export { CHILD_PROCESS_TERMINATION_EVIDENCE_KIND, CHILD_PROCESS_ABSENCE_PROOF, CHILD_PROCESS_TERMINATION_KIND, CHILD_PROCESS_TERMINATION_PHASE, CHILD_PROCESS_UNKILLABLE_REASON, } from "./core/controlled-process.js";
21
+ export { AGENT_ERROR_CODE, AGENT_FAILURE_CLASS, AGENT_INFRASTRUCTURE_FAILURE_CODE, AgentError, AUTH_FAILURE_REASON, agentFailure, CONTROLLED_PROCESS_LAUNCH_FAILURE_CODE, CONTROLLED_PROCESS_LAUNCH_FAILURE_RETRYABILITY, infrastructureFailure, isAgentError, NOT_AVAILABLE_CAUSE, TIMEOUT_KIND, } from "./core/error.js";
22
22
  export { createControlledExec } from "./core/node-controlled-exec.js";
23
23
  export { LOG_LEVEL } from "./core/ports.js";
24
24
  export { redactJsonSecrets, redactSecrets } from "./core/redact.js";
@@ -28,6 +28,7 @@ export { createFailureCorpusRecorder } from "./corpus/failure-corpus.js";
28
28
  export { ATTEMPT_STATUS, BLOCKER_REASON, candidateForAgent, candidateFromProfile, candidateKey, createFleet, FLEET_OUTCOME_STATUS, profileCooldownKey, } from "./fleet/fleet.js";
29
29
  export { CAPACITY_DEFAULT_COOLDOWN_MS, COOLDOWN_SCOPE, defaultFailurePolicy, FAILURE_ACTION_KIND, QUOTA_DEFAULT_COOLDOWN_MS, } from "./fleet/policy.js";
30
30
  export { fileFleetStore, memoryFleetStore } from "./fleet/store.js";
31
+ export { AGENT_AVAILABILITY_STATUS, AGENT_INDETERMINATE_REASON, AGENT_UNAVAILABLE_REASON, DEFAULT_AGENT_AVAILABILITY_PROBE_TIMEOUT_MS, } from "./host/availability.js";
31
32
  export { CAPABILITY_AVAILABILITY_STATUS, checkMcpAvailability, checkSkillAvailability, DOCTOR_CHECK_STATUS, INSTALL_STATUS, MCP_SCOPE, MCP_TRANSPORT, SKILL_SOURCE_KIND, } from "./host/capabilities.js";
32
33
  export { parseMcpRequirementRef, parseSkillRequirementRef, } from "./host/requirement-ref.js";
33
34
  export { validateSpecSecrets } from "./host/validate-spec.js";
@@ -1,10 +1,11 @@
1
1
  import type { ChildProcessCompletion, ChildProcessIdentity, ChildProcessLifecycle, ChildProcessTerminationResult } from "../../core/controlled-process.js";
2
- import type { ControlledProcessOutput, SupervisorTimingOptions, SupervisorWorkerOptions } from "./supervisor-model.js";
2
+ import type { ExecSpawnOptions } from "../../core/ports.js";
3
+ import type { ControlledProcessOutput, SupervisorTimingOptions } from "./supervisor-model.js";
3
4
  export type ControlledProcessLaunchInput = {
4
5
  readonly supervisorEntryPath: string;
5
6
  readonly shimEntryPath: string;
6
7
  readonly runtimeDirectory: string;
7
- readonly worker: SupervisorWorkerOptions;
8
+ readonly worker: ExecSpawnOptions;
8
9
  readonly timing: SupervisorTimingOptions;
9
10
  readonly lifecycle: ChildProcessLifecycle;
10
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"host-controller.d.ts","sourceRoot":"","sources":["../../../src/internal/controlled-process/host-controller.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EAErB,6BAA6B,EAC9B,MAAM,kCAAkC,CAAC;AA+B1C,OAAO,KAAK,EACV,uBAAuB,EAEvB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAoC/B,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;CAC3C,CAAC;AAEF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACxD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACrD,kBAAkB,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACvD;AAqED,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,2BAA2B,CAAC,CA2GtC;AAymBD,wBAAsB,wBAAwB,CAAC,KAAK,EAAE;IACpD,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;CACrE,GAAG,OAAO,CAAC,6BAA6B,CAAC,CA4BzC"}
1
+ {"version":3,"file":"host-controller.d.ts","sourceRoot":"","sources":["../../../src/internal/controlled-process/host-controller.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EAErB,6BAA6B,EAC9B,MAAM,kCAAkC,CAAC;AAQ1C,OAAO,KAAK,EAAY,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AA6BtE,OAAO,KAAK,EACV,uBAAuB,EAEvB,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAqC/B,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;CAC3C,CAAC;AAEF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACxD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACrD,kBAAkB,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACvD;AAsED,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,2BAA2B,CAAC,CAoJtC;AAgnBD,wBAAsB,wBAAwB,CAAC,KAAK,EAAE;IACpD,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;CACrE,GAAG,OAAO,CAAC,6BAA6B,CAAC,CA4BzC"}
@@ -1,7 +1,9 @@
1
1
  // biome-ignore-all lint/nursery/noExcessiveLinesPerFile: Section 5.103 confines the correction to this existing host lifecycle owner.
2
2
  import { spawn } from "node:child_process";
3
3
  import { CHILD_PROCESS_ABSENCE_PROOF, CHILD_PROCESS_TERMINATION_EVIDENCE_KIND, CHILD_PROCESS_TERMINATION_KIND, CHILD_PROCESS_UNKILLABLE_REASON, } from "../../core/controlled-process.js";
4
+ import { CONTROLLED_PROCESS_LAUNCH_FAILURE_RETRYABILITY } from "../../core/error.js";
4
5
  import { readFramedRecords, readRequiredFrame, writeFramedRecord, } from "./framed-transport.js";
6
+ import { ControlledProcessLaunchError, workerInputManifest, writeWorkerInput, } from "./input-transport.js";
5
7
  import { transitionControlledProcess } from "./lifecycle.js";
6
8
  import { controlledProcessRecordMatchesToken, signControlledProcessRecord, verifySignedControlledProcessRecord, } from "./record.js";
7
9
  import { assertSecureRuntimeDirectory, resolveSupervisorSocketNamespace, SignedRecordStore, supervisorSocketPath, } from "./record-store.js";
@@ -14,6 +16,7 @@ import { decodeProcessStartToken } from "./token.js";
14
16
  import { CONTROLLED_PROCESS_STATE } from "./values.js";
15
17
  const HOST_BOOTSTRAP_FD = 3;
16
18
  const HOST_IDENTITY_FD = 4;
19
+ const HOST_INPUT_FD = 5;
17
20
  const OUTPUT_QUEUE_HIGH_WATER_BYTES = 64 * 1024;
18
21
  const OUTPUT_QUEUE_LOW_WATER_BYTES = 32 * 1024;
19
22
  const PRE_READY_CLEANUP_AUTHORITY = {
@@ -29,8 +32,9 @@ const TERMINATION_OBSERVATION_SOURCE = {
29
32
  supervisorClose: "supervisor_close",
30
33
  offlineFallback: "offline_fallback",
31
34
  };
32
- class SupervisorReportedLaunchFailure extends Error {
35
+ class SupervisorReportedLaunchFailure extends ControlledProcessLaunchError {
33
36
  }
37
+ // biome-ignore lint/complexity/noExcessiveLinesPerFunction: Launch, readiness, and pre-ready cleanup share one custody scope.
34
38
  export async function launchControlledProcess(input) {
35
39
  const platform = createSupervisorPlatformAdapter();
36
40
  const runtimeDirectory = await assertSecureRuntimeDirectory(input.runtimeDirectory, platform.uid);
@@ -39,6 +43,7 @@ export async function launchControlledProcess(input) {
39
43
  void supervisorClose.promise.catch(() => undefined);
40
44
  const control = supervisor.stdio[HOST_BOOTSTRAP_FD];
41
45
  const identityStream = supervisor.stdio[HOST_IDENTITY_FD];
46
+ const inputStream = supervisor.stdio.at(HOST_INPUT_FD);
42
47
  const identityFrames = readFramedRecords(identityStream)[Symbol.asyncIterator]();
43
48
  let output = null;
44
49
  let identity = null;
@@ -50,29 +55,52 @@ export async function launchControlledProcess(input) {
50
55
  kind: SUPERVISOR_BOOTSTRAP_FRAME_KIND.bootstrap,
51
56
  runtimeDirectory,
52
57
  shimEntryPath: input.shimEntryPath,
53
- worker: input.worker,
58
+ worker: {
59
+ command: input.worker.command,
60
+ args: input.worker.args,
61
+ cwd: input.worker.cwd,
62
+ env: input.worker.env,
63
+ },
64
+ input: workerInputManifest(input.worker.stdin),
54
65
  timing: input.timing,
55
66
  });
67
+ const inputTransfer = writeWorkerInput(inputStream, input.worker.stdin);
68
+ void inputTransfer.catch(() => undefined);
56
69
  identity = await readSupervisorIdentity(identityFrames);
57
- let hostAckComplete = false;
58
- const readinessObservation = observeSupervisorReadiness(identityFrames, () => hostAckComplete);
70
+ let hostAckWriteStarted = false;
71
+ const readinessObservation = observeSupervisorReadiness(identityFrames, () => hostAckWriteStarted);
59
72
  await input.lifecycle.beforeExec(identity);
60
73
  descriptorCommitted = true;
74
+ hostAckWriteStarted = true;
61
75
  await writeFramedRecord(control, {
62
76
  kind: SUPERVISOR_BOOTSTRAP_FRAME_KIND.hostAck,
63
77
  });
64
- hostAckComplete = true;
65
78
  control.end();
66
- const readiness = await concludeSupervisorReadiness({
67
- observation: readinessObservation,
68
- identity,
69
- runtimeDirectory,
70
- supervisorClose,
71
- timing: input.timing,
72
- });
79
+ const [inputSettlement, readinessSettlement] = await Promise.allSettled([
80
+ inputTransfer,
81
+ concludeSupervisorReadiness({
82
+ observation: readinessObservation,
83
+ identity,
84
+ runtimeDirectory,
85
+ supervisorClose,
86
+ timing: input.timing,
87
+ }),
88
+ ]);
89
+ if (readinessSettlement.status === "rejected") {
90
+ throw readinessSettlement.reason;
91
+ }
92
+ const readiness = readinessSettlement.value;
73
93
  if (readiness.kind === "failure") {
74
94
  cleanupAuthority = readiness.cleanupAuthority;
75
- throw readiness.error;
95
+ if (readiness.error instanceof SupervisorReportedLaunchFailure) {
96
+ throw readiness.error;
97
+ }
98
+ throw inputSettlement.status === "rejected"
99
+ ? inputSettlement.reason
100
+ : readiness.error;
101
+ }
102
+ if (inputSettlement.status === "rejected") {
103
+ throw inputSettlement.reason;
76
104
  }
77
105
  const readyIdentity = identity;
78
106
  let terminationRequested = false;
@@ -101,12 +129,14 @@ export async function launchControlledProcess(input) {
101
129
  };
102
130
  }
103
131
  catch (primaryFailure) {
104
- if (primaryFailure instanceof SupervisorReportedLaunchFailure) {
132
+ if (primaryFailure instanceof SupervisorReportedLaunchFailure &&
133
+ identity === null) {
105
134
  cleanupAuthority = PRE_READY_CLEANUP_AUTHORITY.reportedFailure;
106
135
  }
107
136
  try {
108
137
  await cleanupPreReadySupervisor({
109
138
  control,
139
+ inputStream,
110
140
  identity,
111
141
  descriptorCommitted,
112
142
  runtimeDirectory,
@@ -118,26 +148,32 @@ export async function launchControlledProcess(input) {
118
148
  });
119
149
  }
120
150
  catch (cleanupFailure) {
151
+ if (primaryFailure instanceof ControlledProcessLaunchError) {
152
+ throw new ControlledProcessLaunchError({
153
+ ...primaryFailure.failure,
154
+ retryability: CONTROLLED_PROCESS_LAUNCH_FAILURE_RETRYABILITY.permanent,
155
+ }, new AggregateError([primaryFailure, cleanupFailure], `Controlled process launch and pre-ready cleanup both failed (${cleanupAuthority}).`));
156
+ }
121
157
  throw new AggregateError([primaryFailure, cleanupFailure], "Controlled process launch and pre-ready cleanup both failed.");
122
158
  }
123
159
  throw primaryFailure;
124
160
  }
125
161
  }
126
- function observeSupervisorReadiness(frames, hostAckComplete) {
162
+ function observeSupervisorReadiness(frames, hostAckWriteStarted) {
127
163
  return frames.next().then((result) => ({
128
164
  kind: "result",
129
165
  result,
130
- observedBeforeHostAck: !hostAckComplete(),
166
+ observedBeforeHostAckWrite: !hostAckWriteStarted(),
131
167
  }), (error) => ({
132
168
  kind: "failure",
133
169
  error,
134
- observedBeforeHostAck: !hostAckComplete(),
170
+ observedBeforeHostAckWrite: !hostAckWriteStarted(),
135
171
  }));
136
172
  }
137
173
  async function concludeSupervisorReadiness(input) {
138
174
  const observation = await input.observation;
139
- if (observation.observedBeforeHostAck) {
140
- return readinessFailure(new Error("Supervisor readiness arrived before host ACK completed."), PRE_READY_CLEANUP_AUTHORITY.unprobed);
175
+ if (observation.observedBeforeHostAckWrite) {
176
+ return readinessFailure(new Error("Supervisor readiness arrived before the host ACK write began."), PRE_READY_CLEANUP_AUTHORITY.unprobed);
141
177
  }
142
178
  if (observation.kind === "failure") {
143
179
  return readinessFailure(observation.error, PRE_READY_CLEANUP_AUTHORITY.unprobed);
@@ -145,7 +181,7 @@ async function concludeSupervisorReadiness(input) {
145
181
  if (!observation.result.done) {
146
182
  const failure = supervisorLaunchFailedFrameSchema.safeParse(observation.result.value);
147
183
  if (failure.success) {
148
- return readinessFailure(new Error(failure.data.reason), PRE_READY_CLEANUP_AUTHORITY.rollbackCompleted);
184
+ return readinessFailure(new SupervisorReportedLaunchFailure(failure.data.failure), PRE_READY_CLEANUP_AUTHORITY.live);
149
185
  }
150
186
  return readinessFailure(new Error("Supervisor readiness frame is invalid."), PRE_READY_CLEANUP_AUTHORITY.unprobed);
151
187
  }
@@ -209,6 +245,9 @@ async function cleanupPreReadySupervisor(input) {
209
245
  if (!input.control.destroyed && !input.control.writableEnded) {
210
246
  input.control.end();
211
247
  }
248
+ if (!input.inputStream.destroyed && !input.inputStream.writableEnded) {
249
+ input.inputStream.destroy();
250
+ }
212
251
  if (input.output !== null) {
213
252
  await input.output.queue[Symbol.asyncIterator]().return?.();
214
253
  }
@@ -377,7 +416,8 @@ async function raceSupervisorRequestWithClose(input) {
377
416
  return result;
378
417
  }
379
418
  function preReadyCleanupDeadline(timing) {
380
- const budget = Math.min(Number.MAX_SAFE_INTEGER, timing.termGraceMs + timing.killProbeTimeoutMs + timing.probeIntervalMs);
419
+ const budget = Math.min(Number.MAX_SAFE_INTEGER, (timing.termGraceMs + timing.killProbeTimeoutMs + timing.probeIntervalMs) *
420
+ 2);
381
421
  return Math.min(Number.MAX_SAFE_INTEGER, Date.now() + budget);
382
422
  }
383
423
  function beforeDeadline(operation, deadline, message) {
@@ -716,7 +756,7 @@ function spawnSupervisor(entryPath) {
716
756
  const child = spawn(process.execPath, [entryPath], {
717
757
  detached: true,
718
758
  env: {},
719
- stdio: ["ignore", "pipe", "pipe", "pipe", "pipe"],
759
+ stdio: ["ignore", "pipe", "pipe", "pipe", "pipe", "pipe"],
720
760
  });
721
761
  containSupervisorStdioErrors(child);
722
762
  child.once("error", () => { });
@@ -777,7 +817,7 @@ async function readSupervisorIdentity(frames) {
777
817
  }
778
818
  const failure = supervisorLaunchFailedFrameSchema.safeParse(frame);
779
819
  if (failure.success) {
780
- throw new SupervisorReportedLaunchFailure(failure.data.reason);
820
+ throw new SupervisorReportedLaunchFailure(failure.data.failure);
781
821
  }
782
822
  throw new Error("Supervisor identity frame is invalid.");
783
823
  }
@@ -0,0 +1,17 @@
1
+ import type { Readable, Writable } from "node:stream";
2
+ import type { ControlledProcessLaunchFailure, WorkerInputManifest } from "./supervisor-model.js";
3
+ export declare class ControlledProcessLaunchError extends Error {
4
+ readonly failure: ControlledProcessLaunchFailure;
5
+ constructor(failure: ControlledProcessLaunchFailure, cause?: unknown);
6
+ }
7
+ export declare function workerInputManifest(input: string | null): WorkerInputManifest;
8
+ export declare function writeWorkerInput(writable: Writable, input: string | null): Promise<void>;
9
+ export declare function transferWorkerInput(input: {
10
+ readonly readable: Readable;
11
+ readonly writable: Writable;
12
+ readonly manifest: WorkerInputManifest;
13
+ readonly stage: ControlledProcessLaunchFailure["stage"];
14
+ readonly timeoutMs: number;
15
+ }): Promise<void>;
16
+ export declare function launchFailure(code: ControlledProcessLaunchFailure["code"], stage: ControlledProcessLaunchFailure["stage"], expectedBytes: number | null, actualBytes: number | null, message: string, cause?: unknown): ControlledProcessLaunchError;
17
+ //# sourceMappingURL=input-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-transport.d.ts","sourceRoot":"","sources":["../../../src/internal/controlled-process/input-transport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAKtD,OAAO,KAAK,EACV,8BAA8B,EAC9B,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAK/B,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,OAAO,EAAE,8BAA8B,CAAC;gBAErC,OAAO,EAAE,8BAA8B,EAAE,KAAK,CAAC,EAAE,OAAO;CAKrE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,mBAAmB,CAU7E;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAC/C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,8BAA8B,CAAC,OAAO,CAAC,CAAC;IACxD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GAAG,OAAO,CAAC,IAAI,CAAC,CAuGhB;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,8BAA8B,CAAC,MAAM,CAAC,EAC5C,KAAK,EAAE,8BAA8B,CAAC,OAAO,CAAC,EAC9C,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,GACd,4BAA4B,CAW9B"}