neoctl 0.2.36 → 0.2.38

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 (208) hide show
  1. package/dist/agents/agent-definition.d.ts +2 -0
  2. package/dist/agents/agent-definition.js +10 -0
  3. package/dist/agents/agent-definition.js.map +1 -1
  4. package/dist/agents/agent-report-security.test.d.ts +1 -0
  5. package/dist/agents/agent-report-security.test.js +301 -0
  6. package/dist/agents/agent-report-security.test.js.map +1 -0
  7. package/dist/agents/agent-tool-persistence.test.js +9 -3
  8. package/dist/agents/agent-tool-persistence.test.js.map +1 -1
  9. package/dist/agents/agent-tool.d.ts +3 -0
  10. package/dist/agents/agent-tool.js +131 -34
  11. package/dist/agents/agent-tool.js.map +1 -1
  12. package/dist/agents/coordination-boundary.test.d.ts +1 -0
  13. package/dist/agents/coordination-boundary.test.js +58 -0
  14. package/dist/agents/coordination-boundary.test.js.map +1 -0
  15. package/dist/agents/live-preview-redaction-security.test.d.ts +1 -0
  16. package/dist/agents/live-preview-redaction-security.test.js +286 -0
  17. package/dist/agents/live-preview-redaction-security.test.js.map +1 -0
  18. package/dist/agents/local-agent-task.d.ts +27 -1
  19. package/dist/agents/local-agent-task.js +75 -5
  20. package/dist/agents/local-agent-task.js.map +1 -1
  21. package/dist/agents/obs07-11-run-facts.test.d.ts +1 -0
  22. package/dist/agents/obs07-11-run-facts.test.js +459 -0
  23. package/dist/agents/obs07-11-run-facts.test.js.map +1 -0
  24. package/dist/agents/smoke-agent-lifecycle.js +8 -4
  25. package/dist/agents/smoke-agent-lifecycle.js.map +1 -1
  26. package/dist/agents/smoke-agents.js +7 -3
  27. package/dist/agents/smoke-agents.js.map +1 -1
  28. package/dist/context/context-manager.d.ts +5 -0
  29. package/dist/context/context-manager.js +14 -7
  30. package/dist/context/context-manager.js.map +1 -1
  31. package/dist/context/prompt-config.d.ts +35 -0
  32. package/dist/context/prompt-config.js +151 -0
  33. package/dist/context/prompt-config.js.map +1 -0
  34. package/dist/context/prompt-config.test.d.ts +1 -0
  35. package/dist/context/prompt-config.test.js +124 -0
  36. package/dist/context/prompt-config.test.js.map +1 -0
  37. package/dist/context/prompts.d.ts +1 -1
  38. package/dist/context/prompts.js +4 -27
  39. package/dist/context/prompts.js.map +1 -1
  40. package/dist/context/smoke-context.js +49 -4
  41. package/dist/context/smoke-context.js.map +1 -1
  42. package/dist/context/system.md +16 -0
  43. package/dist/core/image-registry.js +1 -1
  44. package/dist/core/image-registry.js.map +1 -1
  45. package/dist/core/obs04-visible-data.test.d.ts +1 -0
  46. package/dist/core/obs04-visible-data.test.js +147 -0
  47. package/dist/core/obs04-visible-data.test.js.map +1 -0
  48. package/dist/core/query-engine.d.ts +32 -1
  49. package/dist/core/query-engine.js +320 -95
  50. package/dist/core/query-engine.js.map +1 -1
  51. package/dist/core/query-session-settings.test.d.ts +1 -0
  52. package/dist/core/query-session-settings.test.js +252 -0
  53. package/dist/core/query-session-settings.test.js.map +1 -0
  54. package/dist/core/query.d.ts +18 -0
  55. package/dist/core/query.js +134 -15
  56. package/dist/core/query.js.map +1 -1
  57. package/dist/core/run-agent.d.ts +2 -0
  58. package/dist/core/run-agent.js +23 -15
  59. package/dist/core/run-agent.js.map +1 -1
  60. package/dist/core/session-settings-prompt.d.ts +35 -0
  61. package/dist/core/session-settings-prompt.js +61 -0
  62. package/dist/core/session-settings-prompt.js.map +1 -0
  63. package/dist/core/session-settings-prompt.test.d.ts +1 -0
  64. package/dist/core/session-settings-prompt.test.js +257 -0
  65. package/dist/core/session-settings-prompt.test.js.map +1 -0
  66. package/dist/index.d.ts +3 -0
  67. package/dist/index.js +2 -0
  68. package/dist/index.js.map +1 -1
  69. package/dist/model/model-gateway.d.ts +1 -0
  70. package/dist/model/model-metadata.json +97 -99
  71. package/dist/model/openai-native-image-guard.test.d.ts +1 -0
  72. package/dist/model/openai-native-image-guard.test.js +101 -0
  73. package/dist/model/openai-native-image-guard.test.js.map +1 -0
  74. package/dist/model/openai-responses-instructions.test.d.ts +1 -0
  75. package/dist/model/openai-responses-instructions.test.js +64 -0
  76. package/dist/model/openai-responses-instructions.test.js.map +1 -0
  77. package/dist/model/openai-responses-mapper.js +96 -32
  78. package/dist/model/openai-responses-mapper.js.map +1 -1
  79. package/dist/model/smoke-responses-mapper.js +8 -5
  80. package/dist/model/smoke-responses-mapper.js.map +1 -1
  81. package/dist/plugins/smoke-plugin-system.js +14 -14
  82. package/dist/repl/index.js +2 -2
  83. package/dist/repl/index.js.map +1 -1
  84. package/dist/secrets/secret-redaction.d.ts +6 -5
  85. package/dist/secrets/secret-redaction.js +7 -79
  86. package/dist/secrets/secret-redaction.js.map +1 -1
  87. package/dist/secrets/secret-types.d.ts +4 -1
  88. package/dist/secrets/secret-types.js.map +1 -1
  89. package/dist/session/session-export.d.ts +6 -0
  90. package/dist/session/session-export.js.map +1 -1
  91. package/dist/session/session-store.d.ts +15 -1
  92. package/dist/session/session-store.js +30 -2
  93. package/dist/session/session-store.js.map +1 -1
  94. package/dist/tasks/subagent-tools.test.js +1 -0
  95. package/dist/tasks/subagent-tools.test.js.map +1 -1
  96. package/dist/tasks/task-ack-size.test.js +6 -5
  97. package/dist/tasks/task-ack-size.test.js.map +1 -1
  98. package/dist/tasks/task-persistence.d.ts +1 -0
  99. package/dist/tasks/task-persistence.js +31 -9
  100. package/dist/tasks/task-persistence.js.map +1 -1
  101. package/dist/tasks/task-store.d.ts +6 -4
  102. package/dist/tasks/task-store.js +46 -20
  103. package/dist/tasks/task-store.js.map +1 -1
  104. package/dist/tools/builtins/exec-process-manager.d.ts +97 -2
  105. package/dist/tools/builtins/exec-process-manager.js +221 -19
  106. package/dist/tools/builtins/exec-process-manager.js.map +1 -1
  107. package/dist/tools/builtins/exec-tool.js +14 -1
  108. package/dist/tools/builtins/exec-tool.js.map +1 -1
  109. package/dist/tools/builtins/image-generation-tool.js +24 -24
  110. package/dist/tools/builtins/image-generation-tool.js.map +1 -1
  111. package/dist/tools/smoke-exec-process.js +2 -1
  112. package/dist/tools/smoke-exec-process.js.map +1 -1
  113. package/dist/tools/smoke-terminal-output-chain.d.ts +1 -0
  114. package/dist/tools/smoke-terminal-output-chain.js +245 -0
  115. package/dist/tools/smoke-terminal-output-chain.js.map +1 -0
  116. package/dist/tools/smoke-tool-system.js +6 -6
  117. package/dist/tools/smoke-tool-system.js.map +1 -1
  118. package/dist/tools/terminal-background-history.test.d.ts +1 -0
  119. package/dist/tools/terminal-background-history.test.js +77 -0
  120. package/dist/tools/terminal-background-history.test.js.map +1 -0
  121. package/dist/tools/terminal-output-persistence.test.d.ts +1 -0
  122. package/dist/tools/terminal-output-persistence.test.js +50 -0
  123. package/dist/tools/terminal-output-persistence.test.js.map +1 -0
  124. package/dist/tools/terminal-output-store.d.ts +154 -0
  125. package/dist/tools/terminal-output-store.js +580 -0
  126. package/dist/tools/terminal-output-store.js.map +1 -0
  127. package/dist/tools/terminal-output-store.test.d.ts +1 -0
  128. package/dist/tools/terminal-output-store.test.js +364 -0
  129. package/dist/tools/terminal-output-store.test.js.map +1 -0
  130. package/dist/types/events.d.ts +1 -0
  131. package/dist/types/messages.d.ts +1 -0
  132. package/dist/web/agent-content-detail.d.ts +78 -0
  133. package/dist/web/agent-content-detail.js +495 -0
  134. package/dist/web/agent-content-detail.js.map +1 -0
  135. package/dist/web/agent-content-detail.test.d.ts +1 -0
  136. package/dist/web/agent-content-detail.test.js +307 -0
  137. package/dist/web/agent-content-detail.test.js.map +1 -0
  138. package/dist/web/agent-parent-messages.test.d.ts +1 -0
  139. package/dist/web/agent-parent-messages.test.js +58 -0
  140. package/dist/web/agent-parent-messages.test.js.map +1 -0
  141. package/dist/web/agent-tool-payload-security.test.d.ts +1 -0
  142. package/dist/web/agent-tool-payload-security.test.js +120 -0
  143. package/dist/web/agent-tool-payload-security.test.js.map +1 -0
  144. package/dist/web/index.d.ts +136 -4
  145. package/dist/web/index.js +303 -78
  146. package/dist/web/index.js.map +1 -1
  147. package/dist/web/prompt-config-protocol.d.ts +4 -0
  148. package/dist/web/prompt-config-protocol.js +57 -0
  149. package/dist/web/prompt-config-protocol.js.map +1 -0
  150. package/dist/web/prompt-config-protocol.test.d.ts +1 -0
  151. package/dist/web/prompt-config-protocol.test.js +78 -0
  152. package/dist/web/prompt-config-protocol.test.js.map +1 -0
  153. package/dist/web/runtime-context-protocol.d.ts +1 -0
  154. package/dist/web/runtime-context-protocol.js +1 -0
  155. package/dist/web/runtime-context-protocol.js.map +1 -1
  156. package/dist/web/session-prompt-integration.test.d.ts +1 -0
  157. package/dist/web/session-prompt-integration.test.js +57 -0
  158. package/dist/web/session-prompt-integration.test.js.map +1 -0
  159. package/dist/web/session-prompt-protocol.d.ts +8 -0
  160. package/dist/web/session-prompt-protocol.js +11 -0
  161. package/dist/web/session-prompt-protocol.js.map +1 -0
  162. package/dist/web/session-settings.test.d.ts +1 -0
  163. package/dist/web/session-settings.test.js +254 -0
  164. package/dist/web/session-settings.test.js.map +1 -0
  165. package/dist/web/smoke-agent-content-http.d.ts +1 -0
  166. package/dist/web/smoke-agent-content-http.js +446 -0
  167. package/dist/web/smoke-agent-content-http.js.map +1 -0
  168. package/dist/web/smoke-status-semantics.d.ts +1 -0
  169. package/dist/web/smoke-status-semantics.js +90 -0
  170. package/dist/web/smoke-status-semantics.js.map +1 -0
  171. package/dist/web/smoke-task-session-entrypoints.js +22 -1
  172. package/dist/web/smoke-task-session-entrypoints.js.map +1 -1
  173. package/dist/web/smoke-terminal-output-http.d.ts +1 -0
  174. package/dist/web/smoke-terminal-output-http.js +377 -0
  175. package/dist/web/smoke-terminal-output-http.js.map +1 -0
  176. package/dist/web/smoke-tool-call-detail.d.ts +1 -0
  177. package/dist/web/smoke-tool-call-detail.js +106 -0
  178. package/dist/web/smoke-tool-call-detail.js.map +1 -0
  179. package/dist/web/smoke-tool-call-http.d.ts +1 -0
  180. package/dist/web/smoke-tool-call-http.js +100 -0
  181. package/dist/web/smoke-tool-call-http.js.map +1 -0
  182. package/dist/web/smoke-tool-detail-fields-http.d.ts +1 -0
  183. package/dist/web/smoke-tool-detail-fields-http.js +121 -0
  184. package/dist/web/smoke-tool-detail-fields-http.js.map +1 -0
  185. package/dist/web/smoke-web-terminal-tasks.js +223 -76
  186. package/dist/web/smoke-web-terminal-tasks.js.map +1 -1
  187. package/dist/web/status-semantics.d.ts +11 -0
  188. package/dist/web/status-semantics.js +59 -0
  189. package/dist/web/status-semantics.js.map +1 -0
  190. package/dist/web/terminal-presentation.d.ts +15 -0
  191. package/dist/web/terminal-presentation.js +61 -0
  192. package/dist/web/terminal-presentation.js.map +1 -0
  193. package/dist/web/terminal-presentation.test.d.ts +1 -0
  194. package/dist/web/terminal-presentation.test.js +33 -0
  195. package/dist/web/terminal-presentation.test.js.map +1 -0
  196. package/dist/web/tool-call-detail.d.ts +40 -0
  197. package/dist/web/tool-call-detail.js +167 -0
  198. package/dist/web/tool-call-detail.js.map +1 -0
  199. package/dist/web/tool-detail-fields.d.ts +59 -0
  200. package/dist/web/tool-detail-fields.js +119 -0
  201. package/dist/web/tool-detail-fields.js.map +1 -0
  202. package/dist/web/tool-detail-fields.test.d.ts +1 -0
  203. package/dist/web/tool-detail-fields.test.js +121 -0
  204. package/dist/web/tool-detail-fields.test.js.map +1 -0
  205. package/docs/prompt-config.md +71 -0
  206. package/package.json +94 -93
  207. package/scripts/build-standalone.mjs +3 -0
  208. package/scripts/copy-prompt-resources.mjs +5 -0
@@ -20,7 +20,7 @@ const SUPPORTED_MODEL_LIST = SUPPORTED_IMAGE_MODELS.join(", ");
20
20
  export function createOpenAIImageGenerationTool(options = {}) {
21
21
  return {
22
22
  name: "image_create",
23
- description: `Generate or edit images with OpenAI's Images API. Stable tool name: image2. Defaults to model ${DEFAULT_IMAGE_MODEL}. Use mode=generate for new images and mode=edit to modify existing images. Edit mode accepts explicit image/image(s), imageRefs for prior conversation images, or falls back to the latest prior image. Return generated/edited image data URLs in the tool result for the UI to display. This tool is available only when MODEL_PROVIDER=openai; with other providers, state that this model does not have a drawing/editing tool.`,
23
+ description: `Generate or edit images with OpenAI's Images API. Stable tool name: image_create. Defaults to model ${DEFAULT_IMAGE_MODEL}. Use mode=generate for new images and mode=edit to modify existing images. Edit mode accepts explicit image/image(s), imageRefs for prior conversation images, or falls back to the latest prior image. Return generated/edited image data URLs in the tool result for the UI to display. This tool is available only when MODEL_PROVIDER=openai; with other providers, state that this model does not have a drawing/editing tool.`,
24
24
  inputSchema: {
25
25
  type: "object",
26
26
  properties: {
@@ -74,37 +74,37 @@ export function createOpenAIImageGenerationTool(options = {}) {
74
74
  validateInput(input) {
75
75
  const model = input.model?.trim() || options.model?.trim() || process.env.OPENAI_IMAGE_MODEL?.trim() || DEFAULT_IMAGE_MODEL;
76
76
  if (!isImageToolMode(input.mode))
77
- return { ok: false, message: image2ValidationError(model, "mode", "must be generate or edit") };
77
+ return { ok: false, message: imageCreateValidationError(model, "mode", "must be generate or edit") };
78
78
  const semanticSlug = semanticNameSlug(input.semanticName);
79
79
  if (!semanticSlug)
80
- return { ok: false, message: image2ValidationError(model, "semanticName", "is required and must be a meaningful non-generic Chinese or English image name, e.g. 下班后30分钟重启仪式 or realistic-blue-kitten") };
80
+ return { ok: false, message: imageCreateValidationError(model, "semanticName", "is required and must be a meaningful non-generic Chinese or English image name, e.g. 下班后30分钟重启仪式 or realistic-blue-kitten") };
81
81
  if (!input.prompt.trim())
82
- return { ok: false, message: image2ValidationError(model, "prompt", "cannot be empty") };
82
+ return { ok: false, message: imageCreateValidationError(model, "prompt", "cannot be empty") };
83
83
  if (!isSupportedImageModel(model))
84
- return { ok: false, message: image2ValidationError(model, "model", `is not supported by image2. Supported OpenAI Images API models: ${SUPPORTED_MODEL_LIST}`) };
84
+ return { ok: false, message: imageCreateValidationError(model, "model", `is not supported by image_create. Supported OpenAI Images API models: ${SUPPORTED_MODEL_LIST}`) };
85
85
  if (!isImageSize(input.size))
86
- return { ok: false, message: image2ValidationError(model, "size", "must be auto, 1024x1024, 1536x1024, or 1024x1536") };
86
+ return { ok: false, message: imageCreateValidationError(model, "size", "must be auto, 1024x1024, 1536x1024, or 1024x1536") };
87
87
  if (!isImageQuality(input.quality))
88
- return { ok: false, message: image2ValidationError(model, "quality", "must be auto, low, medium, or high") };
88
+ return { ok: false, message: imageCreateValidationError(model, "quality", "must be auto, low, medium, or high") };
89
89
  if (!isImageFormat(input.outputFormat))
90
- return { ok: false, message: image2ValidationError(model, "outputFormat", "must be png, jpeg, or webp") };
90
+ return { ok: false, message: imageCreateValidationError(model, "outputFormat", "must be png, jpeg, or webp") };
91
91
  if (!isImageBackground(input.background))
92
- return { ok: false, message: image2ValidationError(model, "background", "must be auto, transparent, or opaque") };
92
+ return { ok: false, message: imageCreateValidationError(model, "background", "must be auto, transparent, or opaque") };
93
93
  if (!isImageModeration(input.moderation))
94
- return { ok: false, message: image2ValidationError(model, "moderation", "must be auto or low") };
94
+ return { ok: false, message: imageCreateValidationError(model, "moderation", "must be auto or low") };
95
95
  const count = input.n ?? 1;
96
96
  if (!Number.isInteger(count) || count < 1 || count > MAX_IMAGES)
97
- return { ok: false, message: image2ValidationError(model, "n", `must be between 1 and ${MAX_IMAGES}`) };
97
+ return { ok: false, message: imageCreateValidationError(model, "n", `must be between 1 and ${MAX_IMAGES}`) };
98
98
  if (input.images !== undefined && (!Array.isArray(input.images) || input.images.length === 0))
99
- return { ok: false, message: image2ValidationError(model, "images", "must be a non-empty array when provided") };
99
+ return { ok: false, message: imageCreateValidationError(model, "images", "must be a non-empty array when provided") };
100
100
  if (input.imageRefs !== undefined && (!Array.isArray(input.imageRefs) || input.imageRefs.some((ref) => !ref.trim())))
101
- return { ok: false, message: image2ValidationError(model, "imageRefs", "must contain non-empty strings") };
101
+ return { ok: false, message: imageCreateValidationError(model, "imageRefs", "must contain non-empty strings") };
102
102
  if (input.outputDir !== undefined && !input.outputDir.trim())
103
- return { ok: false, message: image2ValidationError(model, "outputDir", "must be a non-empty string when provided") };
103
+ return { ok: false, message: imageCreateValidationError(model, "outputDir", "must be a non-empty string when provided") };
104
104
  if (input.outputPath !== undefined && !input.outputPath.trim())
105
- return { ok: false, message: image2ValidationError(model, "outputPath", "must be a non-empty string when provided") };
105
+ return { ok: false, message: imageCreateValidationError(model, "outputPath", "must be a non-empty string when provided") };
106
106
  if (input.outputPath !== undefined && count > 1)
107
- return { ok: false, message: image2ValidationError(model, "outputPath", "can only be used when n is 1; use outputDir for multiple images") };
107
+ return { ok: false, message: imageCreateValidationError(model, "outputPath", "can only be used when n is 1; use outputDir for multiple images") };
108
108
  return { ok: true, value: { ...input, model, n: count, semanticName: semanticSlug } };
109
109
  },
110
110
  isConcurrencySafe() {
@@ -130,7 +130,7 @@ export function createOpenAIImageGenerationTool(options = {}) {
130
130
  try {
131
131
  const editSources = mode === "edit" ? resolveImageEditSources(input, context.messages) : [];
132
132
  if (mode === "edit" && editSources.length === 0) {
133
- throw new Error("image2 mode=edit requires a source image. Provide image/images/imageRefs, attach an image, or keep useLatestImage enabled with a prior image in the conversation.");
133
+ throw new Error("image_create mode=edit requires a source image. Provide image/images/imageRefs, attach an image, or keep useLatestImage enabled with a prior image in the conversation.");
134
134
  }
135
135
  const response = mode === "edit"
136
136
  ? await callOpenAIImageEdit({
@@ -297,9 +297,9 @@ function resolveInputImage(image, index) {
297
297
  const parsed = parseImageData(image.dataUrl ?? image.base64 ?? image.data);
298
298
  const mimeType = image.mimeType?.trim() || parsed.mimeType;
299
299
  if (!parsed.base64)
300
- throw new Error(`image2 edit source image ${index + 1} is missing base64/data/dataUrl`);
300
+ throw new Error(`image_create edit source image ${index + 1} is missing base64/data/dataUrl`);
301
301
  if (!mimeType)
302
- throw new Error(`image2 edit source image ${index + 1} is missing mimeType`);
302
+ throw new Error(`image_create edit source image ${index + 1} is missing mimeType`);
303
303
  return {
304
304
  index,
305
305
  base64: normalizeBase64ImageData(parsed.base64),
@@ -315,7 +315,7 @@ function resolveReferencedImages(messages, refs) {
315
315
  return refs.map((ref, index) => {
316
316
  const found = findReferencedImage(imageBlocks, ref);
317
317
  if (!found)
318
- throw new Error(`image2 could not find referenced image: ${ref}. Available imageRefs: ${formatAvailableImageRefs(imageBlocks)}`);
318
+ throw new Error(`image_create could not find referenced image: ${ref}. Available imageRefs: ${formatAvailableImageRefs(imageBlocks)}`);
319
319
  return { ...found, filename: found.filename || imageFilename(found.mimeType, index) };
320
320
  });
321
321
  }
@@ -325,7 +325,7 @@ function findReferencedImage(images, ref) {
325
325
  if (exactIdentity.length === 1)
326
326
  return exactIdentity[0];
327
327
  if (exactIdentity.length > 1)
328
- throw new Error(`image2 image reference is ambiguous: ${ref}`);
328
+ throw new Error(`image_create image reference is ambiguous: ${ref}`);
329
329
  const normalizedRef = canonicalizeImageRef(ref);
330
330
  if (!normalizedRef)
331
331
  return undefined;
@@ -333,7 +333,7 @@ function findReferencedImage(images, ref) {
333
333
  if (labelMatches.length === 1)
334
334
  return labelMatches[0];
335
335
  if (labelMatches.length > 1)
336
- throw new Error(`image2 image reference is ambiguous: ${ref}. Use an imageId instead.`);
336
+ throw new Error(`image_create image reference is ambiguous: ${ref}. Use an imageId instead.`);
337
337
  const numericRef = parseImageRefNumber(normalizedRef);
338
338
  if (numericRef !== undefined)
339
339
  return images[numericRef - 1];
@@ -646,8 +646,8 @@ function isImageToolMode(value) {
646
646
  function isSupportedImageModel(value) {
647
647
  return SUPPORTED_IMAGE_MODELS.includes(value);
648
648
  }
649
- function image2ValidationError(model, field, reason) {
650
- return `image2 validation failed for model ${model}: ${field} ${reason}.`;
649
+ function imageCreateValidationError(model, field, reason) {
650
+ return `image_create validation failed for model ${model}: ${field} ${reason}.`;
651
651
  }
652
652
  function isImageSize(value) {
653
653
  return value === "auto" || value === "1024x1024" || value === "1536x1024" || value === "1024x1536";
@@ -1 +1 @@
1
- {"version":3,"file":"image-generation-tool.js","sourceRoot":"","sources":["../../../src/tools/builtins/image-generation-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-generation-tool.js","sourceRoot":"","sources":["../../../src/tools/builtins/image-generation-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AA+G/C,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AACzD,MAAM,CAAC,MAAM,0BAA0B,GAAqB,aAAa,CAAC;AAC1E,MAAM,mBAAmB,GAAG,0BAA0B,CAAC;AACvD,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC;AAChD,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,sBAAsB,GAAgC,CAAC,0BAA0B,CAAC,CAAC;AACzF,MAAM,oBAAoB,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE/D;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B,CAAC,UAAkD,EAAE;IAClG,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,uGAAuG,mBAAmB,saAAsa;QAC7iB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,sGAAsG,EAAE;gBACzK,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sSAAsS,EAAE;gBACrV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uGAAuG,EAAE;gBAChJ,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,sBAAsB,CAAC,EAAE,WAAW,EAAE,uEAAuE,mBAAmB,6BAA6B,oBAAoB,GAAG,EAAE;gBACzN,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,GAAG,mBAAmB,gGAAgG,EAAE;gBACpN,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,GAAG,mBAAmB,kFAAkF,EAAE;gBAC3L,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,GAAG,mBAAmB,6EAA6E,EAAE;gBACjL,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,GAAG,mBAAmB,sFAAsF,EAAE;gBAClM,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,GAAG,mBAAmB,qEAAqE,EAAE;gBAC/J,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,mBAAmB,+BAA+B,UAAU,kBAAkB,EAAE;gBACtH,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wGAAwG,EAAE,oBAAoB,EAAE,IAAI,EAAE;gBAC5K,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,uCAAuC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE;gBACtI,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,+FAA+F,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACrK,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kIAAkI,EAAE;gBACpL,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wHAAwH,EAAE;gBACpK,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uLAAuL,EAAE;aACrO;YACD,QAAQ,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC;YACpC,oBAAoB,EAAE,KAAK;SAC5B;QACD,QAAQ,EAAE;YACR,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,IAAI;YACb,kBAAkB,EAAE,KAAK;SAC1B;QACD,QAAQ,CAAC,KAAK;YACZ,MAAM,MAAM,GAAG,KAA0C,CAAC;YAC1D,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,UAAU;gBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;gBACvC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;gBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM;gBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,MAAM;gBACjC,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,KAAK;gBAC1C,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM;gBACvC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM;gBACvC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC;gBAChB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;gBAC7C,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC;QACJ,CAAC;QACD,aAAa,CAAC,KAAK;YACjB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,mBAAmB,CAAC;YAC5H,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,CAAC;YACvI,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAY;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,CAAC,KAAK,EAAE,cAAc,EAAE,2HAA2H,CAAC,EAAE,CAAC;YACjO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,iBAAiB,CAAC,EAAE,CAAC;YACxH,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,yEAAyE,oBAAoB,EAAE,CAAC,EAAE,CAAC;YAC9M,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,kDAAkD,CAAC,EAAE,CAAC;YAC3J,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,oCAAoC,CAAC,EAAE,CAAC;YACtJ,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,CAAC,KAAK,EAAE,cAAc,EAAE,4BAA4B,CAAC,EAAE,CAAC;YACvJ,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,CAAC,KAAK,EAAE,YAAY,EAAE,sCAAsC,CAAC,EAAE,CAAC;YACjK,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,CAAC,KAAK,EAAE,YAAY,EAAE,qBAAqB,CAAC,EAAE,CAAC;YAChJ,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,UAAU;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,CAAC,KAAK,EAAE,GAAG,EAAE,yBAAyB,UAAU,EAAE,CAAC,EAAE,CAAC;YAC9K,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,yCAAyC,CAAC,EAAE,CAAC;YACrN,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,CAAC,KAAK,EAAE,WAAW,EAAE,gCAAgC,CAAC,EAAE,CAAC;YACtO,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,CAAC,KAAK,EAAE,WAAW,EAAE,0CAA0C,CAAC,EAAE,CAAC;YACxL,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,CAAC,KAAK,EAAE,YAAY,EAAE,0CAA0C,CAAC,EAAE,CAAC;YAC3L,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,CAAC,KAAK,EAAE,YAAY,EAAE,iEAAiE,CAAC,EAAE,CAAC;YACnM,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,CAAC;QACxF,CAAC;QACD,iBAAiB;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW;YACpC,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE;wBACN,QAAQ,EAAE,QAAQ;wBAClB,KAAK,EAAE,0EAA0E;qBAClF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,uBAAuB,CAAC,CAAC;YAC3K,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,mBAAmB,CAAC;YACzD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,wBAAwB,CAAC;YAEjL,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC;YACtC,WAAW,CAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,sBAAsB,KAAK,EAAE,EAAE,CAAC,CAAC;YAC5I,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5F,IAAI,IAAI,KAAK,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChD,MAAM,IAAI,KAAK,CAAC,yKAAyK,CAAC,CAAC;gBAC7L,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,KAAK,MAAM;oBAC9B,CAAC,CAAC,MAAM,mBAAmB,CAAC;wBAC1B,MAAM;wBACN,OAAO;wBACP,SAAS;wBACT,MAAM,EAAE,OAAO,CAAC,WAAW;wBAC3B,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE;wBAC1B,MAAM,EAAE,WAAW;qBACpB,CAAC;oBACF,CAAC,CAAC,MAAM,yBAAyB,CAAC;wBAChC,MAAM;wBACN,OAAO;wBACP,SAAS;wBACT,MAAM,EAAE,OAAO,CAAC,WAAW;wBAC3B,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE;qBAC3B,CAAC,CAAC;gBACL,MAAM,MAAM,GAAG,MAAM,sBAAsB,CACzC,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,EAC7D,KAAK,EACL,OAAO,CACR,CAAC;gBACF,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;gBAChD,MAAM,MAAM,GAA8B;oBACxC,GAAG,MAAM;oBACT,QAAQ,EAAE,QAAQ;oBAClB,IAAI;oBACJ,KAAK;oBACL,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,MAAM;oBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,MAAM;oBAChC,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,KAAK;oBACzC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,MAAM;oBACtC,cAAc,EAAE,MAAM,CAAC,MAAM;oBAC7B,YAAY,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;oBAC9D,SAAS,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;oBACrJ,MAAM;oBACN,GAAG,EAAE,kBAAkB,CAAC,QAAQ,CAAC;iBAClC,CAAC;gBACF,OAAO;oBACL,EAAE,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC;oBACrB,MAAM;oBACN,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,aAAa,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,OAAO,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,uCAAuC,MAAM,CAAC,QAAQ,IAAI;iBACtL,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG;oBACb,GAAG,qBAAqB,CAAC,SAAS,CAAC;oBACnC,QAAQ,EAAE,QAAQ;oBAClB,IAAI;oBACJ,KAAK;oBACL,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC;gBACF,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM;iBACP,CAAC;YACJ,CAAC;QACH,CAAC;QACD,SAAS,CAAC,MAAM;YACd,OAAO,4BAA4B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;QACD,uBAAuB,CAAC,MAAM,EAAE,OAAO;YACrC,OAAO,sCAAsC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,+BAA+B,EAAE,CAAC;AAwB3E,KAAK,UAAU,yBAAyB,CAAC,OAA4C;IACnF,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,4CAA4C,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACpJ,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAEjE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,wBAAwB,EAAE;YACvE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,OAAO,CAAC,MAAM,EAAE;aAC1C;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAChE,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,CAAC,MAAM,KAAK,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACzH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,OAAsC;IACvE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,sCAAsC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9I,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAEjE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrF,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACtF,IAAI,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,kBAAkB,EAAE;YACjE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,aAAa,EAAE,UAAU,OAAO,CAAC,MAAM,EAAE;aAC1C;YACD,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,CAAC,MAAM,KAAK,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACnH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAmD;IACtF,OAAO,aAAa,CAAC;QACnB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,MAAM;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,MAAM;QAChC,aAAa,EAAE,KAAK,CAAC,YAAY,IAAI,KAAK;QAC1C,UAAU,EAAE,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU;QACtE,UAAU,EAAE,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU;KACvE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB,EAAE,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE;IACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;IACrD,OAAO;QACL,SAAS;QACT,YAAY,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;QAC/C,UAAU;QACV,aAAa,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;QACjD,QAAQ;QACR,OAAO,EAAE,QAAQ;QACjB,UAAU,EAAE,QAAQ;QACpB,SAAS,EAAE,QAAQ;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAA+B,EAAE,QAAwC;IACxG,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAgC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjH,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC1E,MAAM,eAAe,GAAG,KAAK,CAAC,cAAc,KAAK,KAAK,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAChK,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA0B,EAAE,KAAa;IAClE,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC;IAC3D,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAClH,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAClG,OAAO;QACL,KAAK;QACL,MAAM,EAAE,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC;QAC/C,QAAQ;QACR,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC;QAC9D,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAwC,EAAE,IAAuB;IAChG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9C,MAAM,WAAW,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,mBAAmB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,GAAG,0BAA0B,wBAAwB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACnJ,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IACxF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAoC,EAAE,GAAW;IAC5E,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC;IACxF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,GAAG,EAAE,CAAC,CAAC;IAEnG,MAAM,aAAa,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IACrC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,aAAa,IAAI,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,aAAa,CAAC,CAAC;IACnK,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,GAAG,2BAA2B,CAAC,CAAC;IAE3H,MAAM,UAAU,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACtD,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAC5D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAwB;IACpD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC9F,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACnE,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAoC;IACpE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACvC,OAAO,MAAM;SACV,GAAG,CAAC,oBAAoB,CAAC;SACzB,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC5C,KAAK,CAAC,CAAC,EAAE,CAAC;SACV,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAwC;IACvE,MAAM,MAAM,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,yBAAyB,CAAC,QAAwC;IACzE,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;gBAAE,SAAS;YACrC,MAAM,YAAY,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACnC,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,MAAM,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,wBAAwB,CAAC,MAAM,CAAC;gBACxC,QAAQ;gBACR,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;gBAChD,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI;aACjC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,KAAyB;IAC/C,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,KAAK,GAAG,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,IAAI,KAAK;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC;AAGD,SAAS,wBAAwB,CAAC,KAAa;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,QAAgB;IACpD,OAAO,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB,EAAE,KAAa;IACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC;IACvE,MAAM,SAAS,GAAG,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC;IAC5F,OAAO,SAAS,KAAK,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,KAAK;SACT,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,mBAAmB,CAAC,aAAqB;IAChD,MAAM,KAAK,GAAG,mDAAmD,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACtF,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACvE,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAEjE,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACnD,OAAO,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;AACvE,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,OAAO,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,MAA+B,EAC/B,KAA+B,EAC/B,OAAuB;IAEvB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAEvC,MAAM,SAAS,GAAG,8BAA8B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACjE,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAE1C,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACpD,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACvG,MAAM,KAAK,GAAG,yBAAyB,CAAC,aAAa,EAAE,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAC1F,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAC7B,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YACrC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC,CACpE,CAAC;QACF,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE9F,MAAM,WAAW,GAAG,GAAG,UAAU,aAAa,CAAC;QAC/C,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QAEhF,OAAO;YACL,GAAG,KAAK;YACR,KAAK;YACL,IAAI,EAAE,UAAU;YAChB,WAAW;SACZ,CAAC;IACJ,CAAC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,8BAA8B,CAAC,KAA+B,EAAE,OAAuB;IAC9F,IAAI,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACzE,IAAI,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACzF,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACrG,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,OAAO,IAAI,MAAM,EAAE,QAAQ,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,yBAAyB,CAAC,QAAgB,EAAE,QAAwC,EAAE,SAAsB;IACnH,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC;IAC7D,MAAM,QAAQ,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACvF,SAAS,GAAG,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IACD,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;IACvC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,0BAA0B,CAAC,QAAwC;IAC1E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,OAAO,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;QACrC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;gBAAE,SAAS;YACrC,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE;gBAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,aAAqB,EAAE,KAAa,EAAE,SAAiB;IAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;IACtD,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;IACtD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,GAAG,SAAS,aAAa,CAAC,EAAE,CAAC;QACtE,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC;IACrF,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACrC,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC;AACtD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,KAAK;SACT,SAAS,CAAC,MAAM,CAAC;SACjB,OAAO,CAAC,6BAA6B,EAAE,GAAG,CAAC;SAC3C,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC;AAC9B,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAyB;IACjD,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACpC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,UAAU,GAAG,OAAO;SACvB,SAAS,CAAC,MAAM,CAAC;SACjB,WAAW,EAAE;SACb,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;SAChC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;SACxB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,4JAA4J,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClL,CAAC;AAED,SAAS,sCAAsC,CAAC,MAAkB,EAAE,SAAiB;IACnF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,MAAM,GAAsB,CAAC;YACjC,IAAI,EAAE,aAAa;YACnB,SAAS;YACT,IAAI,EAAE,cAAc;YACpB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,MAAM,EAAE,4BAA4B,CAAC,MAAM,CAAC;SAC7C,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,EAAE,IAAI,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC;QACrD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM;gBAC3C,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE;gBAC9C,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;aACvF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO;QACL,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QAC3E,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,MAAM;QACN,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS;KAClF,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAe;IACnD,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACxD,OAAO;QACL,GAAG,MAAM;QACT,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACpC,GAAG,KAAK;YACR,MAAM,EAAE,mDAAmD,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,GAAG;YAC5F,OAAO,EAAE,+CAA+C,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,GAAG;SAC1F,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAc;IACjD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAiC,EAAE,MAA2C;IAC5G,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAA2B,EAAE;QAC3D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;QACjG,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,SAAS,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/D,OAAO,CAAC;gBACN,KAAK;gBACL,QAAQ;gBACR,MAAM;gBACN,OAAO,EAAE,QAAQ,QAAQ,WAAW,MAAM,EAAE;gBAC5C,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC;aAC/C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,UAAmB;IACxC,OAAO,UAAU,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;AAC3H,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAyB;IACpD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAA6B;IACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5D,OAAO,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAiC;IAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,OAAO;QACL,GAAG,QAAQ;QACX,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YACjC,OAAO;gBACL,GAAG,IAAI;gBACP,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS;gBAC9D,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS;gBACtE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS;gBACpE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS;aAC3D,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAA8B;IACnD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,MAAM,CAAC;AAClD,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa;IAC1C,OAAQ,sBAA4C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAa,EAAE,KAAa,EAAE,MAAc;IAC9E,OAAO,4CAA4C,KAAK,KAAK,KAAK,IAAI,MAAM,GAAG,CAAC;AAClF,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,WAAW,CAAC;AACrG,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,CAAC;AACvF,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,CAAC;AACjE,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,aAAa,IAAI,KAAK,KAAK,QAAQ,CAAC;AAC3E,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,CAAC;AAC7C,CAAC"}
@@ -65,7 +65,8 @@ async function main() {
65
65
  outputIsIncremental: incrementalA.stdout === "A" && incrementalB.stdout === "B" && incrementalC.stdout === "C",
66
66
  completedDurationIsStable: completed.termination_reason === "completed" && completed.duration_ms === completedAgain.duration_ms,
67
67
  timeoutTerminalIsStable: timedOut.status === "timed_out" &&
68
- timedOut.exit_code === null &&
68
+ // Preserve the backend's actual exit code (Windows taskkill reports 1), not a synthetic null.
69
+ (timedOut.exit_code === null || Number.isInteger(timedOut.exit_code)) &&
69
70
  timedOut.termination_reason === "timeout" &&
70
71
  timedOut.status === timedOutAgain.status &&
71
72
  timedOut.exit_code === timedOutAgain.exit_code &&
@@ -1 +1 @@
1
- {"version":3,"file":"smoke-exec-process.js","sourceRoot":"","sources":["../../src/tools/smoke-exec-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smoke-exec-process.js","sourceRoot":"","sources":["../../src/tools/smoke-exec-process.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,245 @@
1
+ import assert from "node:assert/strict";
2
+ import fs from "node:fs";
3
+ import os from "node:os";
4
+ import path from "node:path";
5
+ import { ExecProcessManager } from "./builtins/exec-process-manager.js";
6
+ import { TerminalOutputStore, TERMINAL_OUTPUT_RETENTION_MS } from "./terminal-output-store.js";
7
+ import { InMemorySecretRedactionRegistry } from "../secrets/secret-redaction.js";
8
+ const root = fs.mkdtempSync(path.join(os.tmpdir(), "neo-terminal-chain-"));
9
+ const owner = "owner-a";
10
+ const dir = path.join(root, owner);
11
+ fs.mkdirSync(dir);
12
+ const managers = [];
13
+ const checks = [];
14
+ function manager(options = {}) {
15
+ const m = new ExecProcessManager({ sessionsRoot: root, ...options });
16
+ managers.push(m);
17
+ return m;
18
+ }
19
+ function value(result) {
20
+ if (!result.ok)
21
+ throw new Error(`Store failed: ${result.reason}`);
22
+ return result.value;
23
+ }
24
+ function options(command, overrides = {}) {
25
+ return { ownerId: owner, sessionDir: dir, command, cwd: process.cwd(),
26
+ shell: { requested: "node", file: process.execPath, args: ["-e"] }, env: {},
27
+ timeoutMs: 10_000, maxOutputChars: 1_000, tty: false, ...overrides };
28
+ }
29
+ function full(m, id, stream, ownerId = owner, limitBytes = 997) {
30
+ let offset = 0;
31
+ let text = "";
32
+ for (let i = 0; i < 100000; i++) {
33
+ const page = value(m.readOutput(ownerId, id, { stream, offset, limitBytes }));
34
+ assert.equal(page.record.availability, "available");
35
+ assert.notEqual(page.text, null);
36
+ assert.equal(page.offset, offset);
37
+ assert.equal(page.nextOffset - offset, Buffer.byteLength(page.text));
38
+ text += page.text;
39
+ if (page.endOfStoredOutput)
40
+ return text;
41
+ assert.ok(page.nextOffset > offset);
42
+ offset = page.nextOffset;
43
+ }
44
+ throw new Error("Pagination did not terminate");
45
+ }
46
+ function check(name) { checks.push(name); }
47
+ const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
48
+ async function main() {
49
+ const m = manager();
50
+ const expected = "HEAD\n\n 中文😀\n" + "x中😀\n".repeat(30000) + "TAIL\n";
51
+ const err = "ERR\n\n 缩进😀\n";
52
+ const long = await m.execute(options(`process.stdout.write('HEAD\\n\\n 中文😀\\n' + 'x中😀\\n'.repeat(30000) + 'TAIL\\n'); process.stderr.write(${JSON.stringify(err)})`), 5000);
53
+ assert.equal(long.exit_code, 0);
54
+ assert.equal(long.output_kind, "incremental");
55
+ assert.ok(long.output_ranges.stdout.truncated);
56
+ assert.equal(long.output_ranges.stdout.start, 0);
57
+ assert.equal(long.output_ranges.stdout.end, Buffer.byteLength(expected));
58
+ assert.equal(full(m, long.session_id, "stdout"), expected);
59
+ assert.equal(full(m, long.session_id, "stderr"), err);
60
+ assert.equal(full(m, long.session_id, "stdout"), expected);
61
+ assert.ok(!long.output_ref.truncated);
62
+ const emptyDrain = await m.interact(long.session_id, { ownerId: owner, yieldTimeMs: 0 });
63
+ assert.equal(emptyDrain.stdout, "");
64
+ assert.equal(emptyDrain.output_ranges.stdout.start, long.output_ranges.stdout.end);
65
+ assert.equal(emptyDrain.output_ranges.stdout.end, long.output_ranges.stdout.end);
66
+ const live = m.list(owner).find((r) => r.session_id === long.session_id);
67
+ assert.equal(live.output_kind, "snapshot");
68
+ assert.equal(live.output_truncated, true);
69
+ assert.ok(live.output.length < 1100);
70
+ check("long split output, multiline/Unicode, bounded drain gaps, snapshot, repeat pagination without duplicate");
71
+ const echo = await m.execute(options(`process.stdin.setEncoding('utf8'); process.stdin.on('data', s => { process.stdout.write(s); if(s.includes('DONE')) process.exit(0); });`), 0);
72
+ for (let i = 0; i < 3; i++) {
73
+ const registered = value(m.registerOwnerSession(owner, dir));
74
+ const current = registered.records.find((r) => r.record.runId === echo.session_id);
75
+ assert.equal(current.record.lifecycle, "running");
76
+ assert.equal(current.record.exit, null);
77
+ assert.equal(current.record.availability, "available");
78
+ }
79
+ assert.ok(!value(m.listHistory(owner)).records.some((r) => r.record.runId === echo.session_id));
80
+ check("repeated same-instance owner registration leaves real running process running, not lost/history");
81
+ let cursor = 0;
82
+ let gathered = "";
83
+ for (const input of ["A中😀\n", "B\n\n", "DONE\n"]) {
84
+ const r = await m.interact(echo.session_id, { ownerId: owner, chars: input, yieldTimeMs: input.includes("DONE") ? 5000 : 250 });
85
+ assert.equal(r.output_ranges.stdout.start, cursor);
86
+ cursor = r.output_ranges.stdout.end;
87
+ gathered += r.stdout;
88
+ }
89
+ assert.equal(gathered, "A中😀\nB\n\nDONE\n");
90
+ assert.equal(full(m, echo.session_id, "stdout", owner, 4), gathered);
91
+ check("continuous real-process drains and four-byte Unicode pagination share per-stream cursors");
92
+ const registry = new InMemorySecretRedactionRegistry();
93
+ registry.record("token", "super-secret-token");
94
+ const emitted = [];
95
+ const secret = await m.execute(options(`process.stdout.write('out:super-'); process.stderr.write('err:super-'); setTimeout(()=>{process.stdout.write('secret-token😀\\r');process.stderr.write('secret-token\\n');setTimeout(()=>process.stdout.write('\\n end\\n'),30)},30)`, {
96
+ redactOutput: (s) => registry.redact(s), createStreamingRedactor: () => registry.createStreamingRedactor(),
97
+ }), 5000, (delta) => emitted.push(delta));
98
+ assert.equal(secret.stdout, "out:[secret:token]😀\n end\n");
99
+ assert.equal(secret.stderr, "err:[secret:token]\n");
100
+ assert.equal(full(m, secret.session_id, "stdout"), secret.stdout);
101
+ assert.equal(full(m, secret.session_id, "stderr"), secret.stderr);
102
+ assert.ok(!JSON.stringify([secret, emitted, m.list(owner)]).includes("super-secret-token"));
103
+ for (const stream of ["stdout", "stderr"]) {
104
+ let end = 0;
105
+ for (const d of emitted.filter((d) => d.stream === stream)) {
106
+ assert.equal(d.streamStart, end);
107
+ assert.equal(d.streamEnd - end, Buffer.byteLength(d.text));
108
+ end = d.streamEnd;
109
+ }
110
+ assert.equal(end, secret.output_ranges[stream].end);
111
+ }
112
+ check("cross-chunk secrets isolated by stream, final flush, emoji and split CRLF without leak or double newline");
113
+ const failed = await m.execute(options("process.stderr.write('failed\\n'); process.exitCode=7"), 5000);
114
+ assert.equal(failed.status, "exited");
115
+ assert.equal(failed.exit_code, 7);
116
+ assert.equal(failed.termination_reason, "failed");
117
+ const id = m.start(options("setInterval(()=>{},1000)"));
118
+ const killed = await m.interact(id, { ownerId: owner, signal: "kill", yieldTimeMs: 5000 });
119
+ assert.equal(killed.status, "killed");
120
+ assert.equal(killed.termination_reason, "user_kill");
121
+ const history = value(m.listHistory(owner)).records;
122
+ for (const r of [long, failed, killed]) {
123
+ const record = history.find((h) => h.record.runId === r.session_id).record;
124
+ assert.equal(record.exit?.status, r.status);
125
+ assert.equal(record.exit?.exitCode, r.exit_code);
126
+ assert.equal(record.exit?.signal, r.signal);
127
+ assert.equal(record.exit?.durationMs, r.duration_ms);
128
+ assert.equal(record.exit?.terminationReason, r.termination_reason);
129
+ assert.equal(record.expiresAt, r.finished_at + TERMINAL_OUTPUT_RETENTION_MS);
130
+ }
131
+ check("0/nonzero/kill exit facts retained exactly, not success inferred from exited");
132
+ const otherDir = path.join(root, "owner-b");
133
+ fs.mkdirSync(otherDir);
134
+ value(m.registerOwnerSession("owner-b", otherDir));
135
+ assert.equal(m.readOutput("owner-b", long.session_id, { stream: "stdout" }).ok, false);
136
+ assert.deepEqual(value(m.listHistory("owner-b")).records, []);
137
+ assert.deepEqual(m.list("owner-b"), []);
138
+ await assert.rejects(m.interact(long.session_id, { ownerId: "owner-b", yieldTimeMs: 0 }));
139
+ assert.equal(m.registerOwnerSession(owner, otherDir).ok, false);
140
+ const childDir = path.join(dir, "subagents", "child");
141
+ fs.mkdirSync(childDir, { recursive: true });
142
+ const child = await m.execute(options("console.log('child')", { ownerId: "child", sessionDir: childDir }), 5000);
143
+ assert.equal(full(m, child.session_id, "stdout", "child"), "child\n");
144
+ assert.equal(m.readOutput(owner, child.session_id, { stream: "stdout" }).ok, false);
145
+ check("history/read/live/control cross-owner isolation and actual nested child session directory");
146
+ const restored = manager();
147
+ value(restored.registerOwnerSession(owner, dir));
148
+ assert.equal(full(restored, long.session_id, "stdout"), expected);
149
+ assert.equal(value(restored.listHistory(owner)).records.find((r) => r.record.runId === failed.session_id)?.record.exit?.exitCode, 7);
150
+ assert.deepEqual(restored.list(owner), []);
151
+ check("fresh manager/store reloads terminal history/output, never reconstructs running live tasks");
152
+ // Stale persisted running metadata is a crash fixture, NOT a second manager recovering a live process.
153
+ const lostDir = path.join(root, "lost-owner");
154
+ fs.mkdirSync(lostDir);
155
+ const abandonedStore = new TerminalOutputStore({ sessionsRoot: root });
156
+ value(abandonedStore.start("lost-owner", lostDir, "abandoned", { startedAt: Date.now(), status: "running" }));
157
+ const lostManager = manager();
158
+ const recovery = value(lostManager.registerOwnerSession("lost-owner", lostDir));
159
+ assert.equal(recovery.records[0]?.record.lifecycle, "lost");
160
+ assert.equal(recovery.records[0]?.record.exit, null);
161
+ assert.equal(value(lostManager.readOutput("lost-owner", "abandoned", { stream: "stdout" })).text, null);
162
+ check("restart residue is lost, no synthetic exit/success or readable stale output");
163
+ const capDir = path.join(root, "cap-owner");
164
+ fs.mkdirSync(capDir);
165
+ let now = Date.now();
166
+ const capStore = new TerminalOutputStore({ sessionsRoot: root, now: () => now, maxBytesPerRun: 17 });
167
+ const capManager = manager({ outputStore: capStore, maxProcesses: 1 });
168
+ const cap = await capManager.execute(options("process.stdout.write('中😀'.repeat(50));process.stderr.write('ERR')", { ownerId: "cap-owner", sessionDir: capDir }), 5000);
169
+ assert.equal(cap.output_ref.truncated, true);
170
+ const capped = value(capManager.readOutput("cap-owner", cap.session_id, { stream: "stdout" }));
171
+ assert.ok(capped.record.streams.stdout.storedBytes + capped.record.streams.stderr.storedBytes <= 17);
172
+ assert.equal(capped.record.streams.stdout.observedBytes, 350);
173
+ assert.ok(capped.text !== null && !capped.text.includes("�"));
174
+ const next = await capManager.execute(options("console.log('next')", { ownerId: "cap-owner", sessionDir: capDir }), 5000);
175
+ assert.equal(value(capManager.readOutput("cap-owner", cap.session_id, { stream: "stdout" })).record.availability, "evicted");
176
+ assert.equal(value(capManager.listHistory("cap-owner")).records.length, 2);
177
+ now = next.finished_at + TERMINAL_OUTPUT_RETENTION_MS;
178
+ const expired = value(capManager.readOutput("cap-owner", next.session_id, { stream: "stdout" }));
179
+ assert.equal(expired.record.availability, "expired");
180
+ assert.equal(expired.text, null);
181
+ assert.equal(expired.record.exit?.exitCode, 0);
182
+ capManager.sweepOutput();
183
+ check("shared byte cap explicit, global manager slot eviction cleans output not facts, exact TTL revokes reads");
184
+ const ioDir = path.join(root, "io-owner");
185
+ fs.mkdirSync(ioDir);
186
+ const ioManager = manager();
187
+ const io = await ioManager.execute(options("console.log('safe')", { ownerId: "io-owner", sessionDir: ioDir }), 5000);
188
+ const outputFolder = fs.readdirSync(path.join(ioDir, "terminal-output"))[0];
189
+ fs.unlinkSync(path.join(ioDir, "terminal-output", outputFolder, "stdout.txt"));
190
+ const ioRead = value(ioManager.readOutput("io-owner", io.session_id, { stream: "stdout" }));
191
+ assert.equal(ioRead.text, null);
192
+ assert.equal(ioRead.record.availability, "io-error");
193
+ const ioAgain = await ioManager.interact(io.session_id, { ownerId: "io-owner", yieldTimeMs: 0 });
194
+ assert.equal(ioAgain.exit_code, 0);
195
+ assert.equal(ioAgain.status, "exited");
196
+ assert.equal(ioAgain.output_ref.availability, "io-error");
197
+ const unavailable = await ioManager.execute(options("console.log('still runs')", { ownerId: "no-dir", sessionDir: path.join(root, "missing") }), 5000);
198
+ assert.equal(unavailable.exit_code, 0);
199
+ assert.equal(unavailable.output_ref.availability, "unavailable");
200
+ check("store read/start I/O failures do not change process execution result");
201
+ const meta = await m.execute(options("/*" + "中".repeat(1800) + "*/console.log('metadata')", { description: "😀".repeat(800) }), 5000);
202
+ assert.equal(meta.exit_code, 0);
203
+ const metaRecord = value(m.listHistory(owner)).records.find((r) => r.record.runId === meta.session_id).record;
204
+ assert.deepEqual(metaRecord.metadata.truncatedFields, ["command", "description"]);
205
+ assert.ok(Buffer.byteLength(metaRecord.metadata.command) <= 4096);
206
+ assert.ok(Buffer.byteLength(metaRecord.metadata.description) <= 2048);
207
+ assert.equal(full(m, meta.session_id, "stdout"), "metadata\n");
208
+ const metadataReload = manager();
209
+ value(metadataReload.registerOwnerSession(owner, dir));
210
+ const reloadedMetadata = value(metadataReload.listHistory(owner)).records.find((r) => r.record.runId === meta.session_id).record.metadata;
211
+ assert.deepEqual(reloadedMetadata.truncatedFields, ["command", "description"]);
212
+ assert.equal(reloadedMetadata.command, metaRecord.metadata.command);
213
+ check("oversize redacted metadata is Unicode-bounded and marked, run/history never rejected for long command");
214
+ const tty = await m.execute(options("console.log('TTY:'+!!process.stdout.isTTY);console.error('merged')", { tty: true }), 5000);
215
+ assert.equal(tty.exit_code, 0);
216
+ assert.equal(tty.stream_mode, "tty_merged");
217
+ assert.equal(tty.stderr, "");
218
+ const ttyText = full(m, tty.session_id, "stdout");
219
+ assert.ok(ttyText.includes("TTY:true") && ttyText.includes("merged"));
220
+ assert.equal(full(m, tty.session_id, "stderr"), "");
221
+ check("real PTY reports merged stream honestly, no fabricated stderr separation");
222
+ // Default existing global policy remains 64 slots, across owners (small real processes).
223
+ const slotDir = path.join(root, "slots");
224
+ fs.mkdirSync(slotDir);
225
+ const slotManager = manager();
226
+ let first = "";
227
+ for (let i = 0; i < 65; i++) {
228
+ const r = await slotManager.execute(options("process.exit(0)", { ownerId: "slots", sessionDir: slotDir }), 5000);
229
+ if (!i)
230
+ first = r.session_id;
231
+ }
232
+ assert.equal(slotManager.list("slots").length, 64);
233
+ assert.equal(value(slotManager.listHistory("slots", { limit: 100 })).records.length, 65);
234
+ assert.equal(value(slotManager.readOutput("slots", first, { stream: "stdout" })).record.availability, "evicted");
235
+ check("65 real runs verify unchanged global 64-slot retention with persistent exit history");
236
+ console.log(JSON.stringify({ ok: true, count: checks.length, checks }, null, 2));
237
+ }
238
+ void main().catch((error) => { console.error(error); console.error({ passed: checks }); process.exitCode = 1; })
239
+ .finally(async () => {
240
+ for (const m of managers)
241
+ m.terminateAll();
242
+ await delay(150);
243
+ fs.rmSync(root, { recursive: true, force: true });
244
+ });
245
+ //# sourceMappingURL=smoke-terminal-output-chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smoke-terminal-output-chain.js","sourceRoot":"","sources":["../../src/tools/smoke-terminal-output-chain.ts"],"names":[],"mappings":"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"}