@alan-ai-hq/agent-manager-linux-x64 0.1.130 → 0.1.131

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/alan-agent.cjs CHANGED
@@ -19993,7 +19993,7 @@ var init_ids = __esm({
19993
19993
  function wire() {
19994
19994
  return (schema) => schema;
19995
19995
  }
19996
- var canonicalUserMessageSchema, canonicalAssistantMessageSchema, externalMcpServerSchema, runAttachmentSchema, parsedAttachmentSchema, taskMetaSchema, pullRequestMetaSchema, agentUserIdentitySchema, workflowToolRefSchema, relevantContextRecallSchema, runPromptContextSchema;
19996
+ var canonicalUserMessageSchema, canonicalAssistantMessageSchema, externalMcpServerSchema, runAttachmentSchema, parsedAttachmentSchema, taskMetaSchema, pullRequestMetaSchema, agentUserIdentitySchema, workflowToolRefSchema, runPromptContextSchema;
19997
19997
  var init_run_context = __esm({
19998
19998
  "../shared/dist/runtime-v2/run-context.js"() {
19999
19999
  "use strict";
@@ -20099,7 +20099,6 @@ var init_run_context = __esm({
20099
20099
  }));
20100
20100
  agentUserIdentitySchema = wire()(external_exports.object({ id: external_exports.string().min(1), name: external_exports.string().nullable(), email: external_exports.string() }));
20101
20101
  workflowToolRefSchema = wire()(external_exports.object({ type: external_exports.string().min(1), id: external_exports.string().min(1) }));
20102
- relevantContextRecallSchema = wire()(external_exports.object({ query: external_exports.string(), envelope: external_exports.record(external_exports.string(), external_exports.unknown()) }));
20103
20102
  runPromptContextSchema = external_exports.object({
20104
20103
  taskMeta: taskMetaSchema.optional(),
20105
20104
  prMeta: pullRequestMetaSchema.optional(),
@@ -20356,10 +20355,8 @@ var init_desired_state = __esm({
20356
20355
  promptContext: runPromptContextSchema.optional(),
20357
20356
  /** Absent means entitled, so a spec from an older server keeps the code-index prompts. */
20358
20357
  codeIndexEnabled: external_exports.boolean().optional(),
20359
- /** Absent means entitled, so a spec from an older server keeps the context-search prompt. */
20358
+ /** Omitted by older servers; only an explicit entitlement enables context-search guidance. */
20360
20359
  contextGraphEnabled: external_exports.boolean().optional(),
20361
- /** Already appended to `content` as `<relevantContext>`; the holder records it as a recall. */
20362
- relevantContext: relevantContextRecallSchema.optional(),
20363
20360
  cloudEnvironmentId: external_exports.guid().optional(),
20364
20361
  localRepoUrls: external_exports.array(external_exports.string().min(1)).optional()
20365
20362
  // Never here: the provider API key. The holder fetches it per run (RUN_PROVIDER_CREDENTIAL_PATH).
@@ -21433,7 +21430,7 @@ Use these tools, in roughly this order of frequency:
21433
21430
  4. \`get_session_context\` \u2014 check what a worker accomplished
21434
21431
  5. \`update_task\` \u2014 keep status, priority, labels current
21435
21432
  6. \`send_session_message\` / \`start_task_session\` \u2014 continue a specific session or force a new session only when needed
21436
- 7. \`list_sessions\` / \`find_records\` / \`search_context\` / \`search_code_context\` / \`Read\` / \`Glob\` / \`Grep\` \u2014 situational awareness (\`find_records\` locates canonical records; \`search_context\` finds relevant non-code context whose exact source is unknown; \`search_code_context\` handles source-code discovery; read exact cited sources before claiming authoritative details)
21433
+ 7. \`list_sessions\` / \`find_records\` / \`search_code_context\` / \`Read\` / \`Glob\` / \`Grep\` \u2014 situational awareness (\`find_records\` locates canonical records; \`search_code_context\` handles source-code discovery; read exact cited sources before claiming authoritative details)
21437
21434
  8. \`create_plan\` \u2014 document implementation plans and durable specs as artifacts
21438
21435
  9. \`add_task_comment\` \u2014 human-facing collaboration: answer questions, post explicit status updates, escalate blockers, or leave comments the user asked you to post. Do not use comments as running notes or context storage.
21439
21436
 
@@ -21508,8 +21505,7 @@ You work on the Alan platform. The platform is where product truth lives: tasks,
21508
21505
  | Scope, status, priority, or history of work | \`get_task\`, \`list_subtasks\`, \`list_tasks\` | \`git log\`, commit messages |
21509
21506
  | What was decided and why | \`list_task_decisions\`, \`list_task_events\` | code comments, in-repo ADRs |
21510
21507
  | What an agent did or is doing | \`list_sessions\`, \`get_session_context\` | \`git log\`, diffing the worktree |
21511
- | Prior agent context | \`search_context\`, \`list_task_events\`, \`get_session_context\` | scratch files |
21512
- | Relevant non-code context with no exact source | \`search_context\` | guessing IDs, container tags, or provider filters |
21508
+ | Prior agent context | \`list_task_events\`, \`get_session_context\` | scratch files |
21513
21509
  | Outputs of completed work | \`list_artifacts\`, \`get_artifact\` | build output, generated files |
21514
21510
  | Where code lives or how it works | \`search_code_context\` first, then \`Read\` the cited files | \`Grep\`/\`Glob\` sweeps |
21515
21511
 
@@ -21538,8 +21534,7 @@ Use these tools, in roughly this order of frequency:
21538
21534
  4. \`get_session_context\` / \`list_sessions\` \u2014 track progress
21539
21535
  5. \`update_task\` \u2014 keep status and priority current
21540
21536
  6. \`list_task_events\` / \`add_task_event\` \u2014 persist only high-signal human-readable decisions, learnings, checkpoints, and outcomes in the Agent Log
21541
- 7. \`search_context\` \u2014 retrieve relevant non-code context when the exact source is unknown
21542
- 8. \`add_task_comment\` \u2014 human-facing collaboration: answer questions, post explicit status updates, escalate blockers, or leave comments the user asked you to post. Do not use comments as running notes or context storage.
21537
+ 7. \`add_task_comment\` \u2014 human-facing collaboration: answer questions, post explicit status updates, escalate blockers, or leave comments the user asked you to post. Do not use comments as running notes or context storage.
21543
21538
 
21544
21539
  ## How to think like a PM
21545
21540
 
@@ -21740,13 +21735,6 @@ var init_browser_surface = __esm({
21740
21735
  }
21741
21736
  });
21742
21737
 
21743
- // ../shared/dist/agent/context-intent.js
21744
- var init_context_intent = __esm({
21745
- "../shared/dist/agent/context-intent.js"() {
21746
- "use strict";
21747
- }
21748
- });
21749
-
21750
21738
  // ../shared/dist/agent/gated-mcp-tools.js
21751
21739
  var CODE_INDEX_MCP_TOOLS, CONTEXT_GRAPH_MCP_TOOLS, ENTITLEMENT_GATED_MCP_TOOLS;
21752
21740
  var init_gated_mcp_tools = __esm({
@@ -22065,13 +22053,13 @@ var init_system_prompt = __esm({
22065
22053
 
22066
22054
  The codebase records what the system does. It does not record why it is that way, what was ruled out, what an outside constraint forbids, or what someone was left owed. That record lives in \`search_context\` \u2014 this team's decisions, constraints, procedures, ownership, rejected approaches and unfinished work.
22067
22055
 
22056
+ Before answering or acting on a question about a past decision, ownership, history, or unfinished work whose exact source is unknown, call \`search_context\` first.
22057
+
22068
22058
  So when a turn depends on something the repository cannot tell you \u2014 a value chosen rather than tuned, an approach that may already have been tried, a boundary another team owns, work someone else left half-done \u2014 recover it before you answer or act. Reading the code, or the document someone named, does not settle it: those answer a different question, and one turn can need both.
22069
22059
 
22070
22060
  What comes back is the answer, not a step towards it. Carry its specifics into what you write or change \u2014 the value, the constraint, the reason, the person \u2014 and say plainly when the evidence contradicts what was asked for. Retrieving a decision and then producing work that ignores it is worse than never having searched, because it looks informed.
22071
22061
 
22072
- Skip it when nothing team-specific is at stake: source-code questions, general knowledge, mechanical work fully specified in the request, or an exact ID already in hand.
22073
-
22074
- A \`relevantContext\` block, when present, is evidence already retrieved. Use it, do not search again for what it answers, and do not mention that it was loaded.`;
22062
+ Skip it when nothing team-specific is at stake: source-code questions, general knowledge, mechanical work fully specified in the request, or an exact ID already in hand.`;
22075
22063
  ALAN_PLATFORM_TOOL_ROUTING_PROMPT = `## Alan platform tools
22076
22064
 
22077
22065
  When an action reads, creates, changes, links, sends, or controls Alan-owned state \u2014 or uses a provider identity connected through Alan \u2014 use the matching Alan MCP tool. This applies whether the agent runs locally or in the cloud. Do not substitute a shell CLI, browser automation, raw HTTP, or a local file; those paths bypass Alan's identity, authorization, audit trail, and task linkage.
@@ -22114,8 +22102,6 @@ Team
22114
22102
 
22115
22103
  ${ALAN_PLATFORM_TOOL_ROUTING_PROMPT}
22116
22104
 
22117
- ${ALAN_CONTEXT_SEARCH_PROMPT}
22118
-
22119
22105
  ## Record & Entity Resolution (Tasks, PRs, Docs, Epics)
22120
22106
 
22121
22107
  When the user refers to a specific task, pull request, document, or epic by human identifier (e.g. \`AL-2980\`, \`2980\`, \`#45\`), title, or topic phrase:
@@ -22258,7 +22244,6 @@ var init_agent2 = __esm({
22258
22244
  init_agent_definitions();
22259
22245
  init_attachment_mention();
22260
22246
  init_browser_surface();
22261
- init_context_intent();
22262
22247
  init_gated_mcp_tools();
22263
22248
  init_generated_images();
22264
22249
  init_iframe_embeddability();
@@ -23825,7 +23810,7 @@ var init_acp = __esm({
23825
23810
  }
23826
23811
  });
23827
23812
 
23828
- // ../agent-core/dist/chunk-OUQ7HMD3.js
23813
+ // ../agent-core/dist/chunk-UGRKZTAD.js
23829
23814
  function textBlock(text2) {
23830
23815
  return { type: "text", text: text2 };
23831
23816
  }
@@ -23853,18 +23838,6 @@ function noticeUpdate(severity, kind, title, description) {
23853
23838
  _meta: { [NOTICE_KIND_META]: kind }
23854
23839
  };
23855
23840
  }
23856
- function contextRecallUpdate(toolCallId, recall) {
23857
- return {
23858
- sessionUpdate: "tool_call_update",
23859
- toolCallId,
23860
- name: "search_context",
23861
- kind: "search",
23862
- status: "completed",
23863
- rawInput: { query: recall.query },
23864
- rawOutput: JSON.stringify(recall.envelope),
23865
- _meta: { [CONTEXT_RECALL_META]: "prefetch" }
23866
- };
23867
- }
23868
23841
  function usageUpdate(breakdown, fallbackModel = "") {
23869
23842
  const used = (breakdown.inputTokens ?? 0) + (breakdown.outputTokens ?? 0) + (breakdown.cacheReadTokens ?? 0) + (breakdown.cacheCreationTokens ?? 0);
23870
23843
  const model = breakdown.model || fallbackModel;
@@ -24067,9 +24040,9 @@ function withoutInlineMedia(update) {
24067
24040
  ...nextRawOutput === rawOutput ? {} : { rawOutput: nextRawOutput }
24068
24041
  };
24069
24042
  }
24070
- var PROVIDER_PAYLOAD_META, TOOL_RESULT_ONLY_META, PARENT_TOOL_CALL_META, SUBAGENT_LAUNCHER_META, SUBAGENT_TASK_ID_META, SUBAGENT_OUTPUT_FILE_META, USAGE_META, TODOS_META, NOTICE_KIND_META, CONTEXT_RECALL_META, ASK_USER_QUESTIONS_META, USER_ANSWER_META, AWAITING_TOOL_CALLS_META, EXIT_PLAN_MODE_INPUT_META, BACKGROUND_TASK_META, TASK_PROGRESS_META, RATE_LIMIT_META, MODEL_META, TOOLS_META, SLASH_COMMANDS_META, TOOL_KIND_RULES, ANSWER_PREFIX, ACCEPT_WORDS, MIN_INLINE_MEDIA_CHARS, DATA_URL_PREFIX, BASE64_BODY;
24071
- var init_chunk_OUQ7HMD3 = __esm({
24072
- "../agent-core/dist/chunk-OUQ7HMD3.js"() {
24043
+ var PROVIDER_PAYLOAD_META, TOOL_RESULT_ONLY_META, PARENT_TOOL_CALL_META, SUBAGENT_LAUNCHER_META, SUBAGENT_TASK_ID_META, SUBAGENT_OUTPUT_FILE_META, USAGE_META, TODOS_META, NOTICE_KIND_META, ASK_USER_QUESTIONS_META, USER_ANSWER_META, AWAITING_TOOL_CALLS_META, EXIT_PLAN_MODE_INPUT_META, BACKGROUND_TASK_META, TASK_PROGRESS_META, RATE_LIMIT_META, MODEL_META, TOOLS_META, SLASH_COMMANDS_META, TOOL_KIND_RULES, ANSWER_PREFIX, ACCEPT_WORDS, MIN_INLINE_MEDIA_CHARS, DATA_URL_PREFIX, BASE64_BODY;
24044
+ var init_chunk_UGRKZTAD = __esm({
24045
+ "../agent-core/dist/chunk-UGRKZTAD.js"() {
24073
24046
  "use strict";
24074
24047
  init_chunk_YXWJW7I5();
24075
24048
  init_constants();
@@ -24083,7 +24056,6 @@ var init_chunk_OUQ7HMD3 = __esm({
24083
24056
  USAGE_META = "alan.dev/usage";
24084
24057
  TODOS_META = "alan.dev/todos";
24085
24058
  NOTICE_KIND_META = "alan.dev/noticeKind";
24086
- CONTEXT_RECALL_META = "alan.dev/contextRecall";
24087
24059
  ASK_USER_QUESTIONS_META = "alan.dev/askUserQuestions";
24088
24060
  USER_ANSWER_META = "alan.dev/userAnswer";
24089
24061
  AWAITING_TOOL_CALLS_META = "alan.dev/awaitingToolCallIds";
@@ -24120,12 +24092,12 @@ var init_chunk_OUQ7HMD3 = __esm({
24120
24092
  var init_acp2 = __esm({
24121
24093
  "../agent-core/dist/acp.js"() {
24122
24094
  "use strict";
24123
- init_chunk_OUQ7HMD3();
24095
+ init_chunk_UGRKZTAD();
24124
24096
  init_chunk_YXWJW7I5();
24125
24097
  }
24126
24098
  });
24127
24099
 
24128
- // ../agent-core/dist/chunk-LR52JUGL.js
24100
+ // ../agent-core/dist/chunk-DALFHI4B.js
24129
24101
  function isRecordValue(value2) {
24130
24102
  return value2 !== null;
24131
24103
  }
@@ -24304,10 +24276,10 @@ function readTranscriptTurns(transcript, chunk, baseOffset, skipped = []) {
24304
24276
  return { turns, consumedBytes: consumedEnd - baseOffset };
24305
24277
  }
24306
24278
  var import_fs3, NEWLINE2, TranscriptCursor, TranscriptLineLookup, CONTENT_UPDATES;
24307
- var init_chunk_LR52JUGL = __esm({
24308
- "../agent-core/dist/chunk-LR52JUGL.js"() {
24279
+ var init_chunk_DALFHI4B = __esm({
24280
+ "../agent-core/dist/chunk-DALFHI4B.js"() {
24309
24281
  "use strict";
24310
- init_chunk_OUQ7HMD3();
24282
+ init_chunk_UGRKZTAD();
24311
24283
  init_chunk_YXWJW7I5();
24312
24284
  import_fs3 = require("fs");
24313
24285
  NEWLINE2 = 10;
@@ -24816,7 +24788,7 @@ var init_chunk_R32NAS3B = __esm({
24816
24788
  }
24817
24789
  });
24818
24790
 
24819
- // ../agent-core/dist/chunk-BVWCFGFG.js
24791
+ // ../agent-core/dist/chunk-X5JKSBTB.js
24820
24792
  function collectStrings(value2, out) {
24821
24793
  if (typeof value2 === "string") out.push(value2);
24822
24794
  else if (Array.isArray(value2)) for (const item of value2) collectStrings(item, out);
@@ -25186,10 +25158,10 @@ function silentStartError(name, timeoutMs) {
25186
25158
  };
25187
25159
  }
25188
25160
  var import_crypto3, import_fs4, import_path3, IMAGE_MIME_BY_EXT, VIDEO_MIME_BY_EXT, IMAGE_EXTENSIONS, VIDEO_EXTENSIONS, MAX_IMAGE_BYTES, MAX_VIDEO_BYTES, AGENT_BROWSER_MENTION, LocalMediaReader, SessionOpenRefusal, JsonRpcError, ACP_PROTOCOL_VERSION, ACP_ERROR, STDERR_TAIL_LINES, RESULT_EXIT_GRACE_MS, PerTurnSession;
25189
- var init_chunk_BVWCFGFG = __esm({
25190
- "../agent-core/dist/chunk-BVWCFGFG.js"() {
25161
+ var init_chunk_X5JKSBTB = __esm({
25162
+ "../agent-core/dist/chunk-X5JKSBTB.js"() {
25191
25163
  "use strict";
25192
- init_chunk_OUQ7HMD3();
25164
+ init_chunk_UGRKZTAD();
25193
25165
  init_chunk_R32NAS3B();
25194
25166
  init_chunk_NDAB5G24();
25195
25167
  init_chunk_YXWJW7I5();
@@ -25653,7 +25625,7 @@ var init_chunk_J2KTV5FP = __esm({
25653
25625
  }
25654
25626
  });
25655
25627
 
25656
- // ../agent-core/dist/chunk-GXBS4QWA.js
25628
+ // ../agent-core/dist/chunk-6WN2R725.js
25657
25629
  function truncate(value2, limit) {
25658
25630
  const normalized2 = Array.from(value2, (character) => {
25659
25631
  const code = character.charCodeAt(0);
@@ -25924,7 +25896,7 @@ Prefer relative paths and keep your work scoped to this project.` : void 0;
25924
25896
  ]),
25925
25897
  append: present([
25926
25898
  ALAN_PLATFORM_TOOL_ROUTING_PROMPT,
25927
- spec.contextGraphEnabled === false ? void 0 : ALAN_CONTEXT_SEARCH_PROMPT,
25899
+ spec.contextGraphEnabled === true ? ALAN_CONTEXT_SEARCH_PROMPT : void 0,
25928
25900
  overlay
25929
25901
  ])
25930
25902
  };
@@ -25980,8 +25952,8 @@ ${body}` : body;
25980
25952
  return spec.mode === "plan" ? planModePrefix(prefixed) : prefixed;
25981
25953
  }
25982
25954
  var MAX_PARSED_ATTACHMENTS, MAX_PARSED_ATTACHMENT_CHARS, MAX_METADATA_CHARS, UNAVAILABLE, READ_ONLY_MODES, AGENT_MODES;
25983
- var init_chunk_GXBS4QWA = __esm({
25984
- "../agent-core/dist/chunk-GXBS4QWA.js"() {
25955
+ var init_chunk_6WN2R725 = __esm({
25956
+ "../agent-core/dist/chunk-6WN2R725.js"() {
25985
25957
  "use strict";
25986
25958
  init_agent2();
25987
25959
  MAX_PARSED_ATTACHMENTS = 3;
@@ -27244,13 +27216,13 @@ var import_crypto6, import_fs5, import_path5, import_crypto7, import_promises30,
27244
27216
  var init_claude = __esm({
27245
27217
  "../agent-core/dist/providers/claude.js"() {
27246
27218
  "use strict";
27247
- init_chunk_LR52JUGL();
27248
- init_chunk_BVWCFGFG();
27249
- init_chunk_OUQ7HMD3();
27219
+ init_chunk_DALFHI4B();
27220
+ init_chunk_X5JKSBTB();
27221
+ init_chunk_UGRKZTAD();
27250
27222
  init_chunk_R32NAS3B();
27251
27223
  init_chunk_J2KTV5FP();
27252
27224
  init_chunk_NDAB5G24();
27253
- init_chunk_GXBS4QWA();
27225
+ init_chunk_6WN2R725();
27254
27226
  init_chunk_YXWJW7I5();
27255
27227
  init_effort();
27256
27228
  import_crypto6 = require("crypto");
@@ -28554,7 +28526,7 @@ function basenameOf(path4) {
28554
28526
  return path4.split(/[\\/]/).at(-1) ?? "";
28555
28527
  }
28556
28528
  function mayMatter(line) {
28557
- return line.includes("image_gen") || line.includes('"task_complete"') || line.includes('"turn_aborted"');
28529
+ return line.includes("image_gen");
28558
28530
  }
28559
28531
  function imageKey(update) {
28560
28532
  if (update.sessionUpdate !== "_alan/generated_image") return void 0;
@@ -30016,17 +29988,17 @@ function codexTurnInput(run2, context) {
30016
29988
  ...images.length ? { imagePaths: images.map((image) => image.path) } : {}
30017
29989
  };
30018
29990
  }
30019
- var import_fs6, import_path6, import_crypto8, import_crypto9, import_crypto10, TokenRefresher, MCP_STARTUP_TIMEOUT_SEC, FIELD_TYPES, YES_NO, ACCEPT_DECLINE, MAX_INLINE_GENERATED_IMAGE_BYTES, PNG_SIGNATURE, JPEG_NON_FRAME_MARKERS, IMAGE_GEN_CALL, PROMPT_LITERAL, TURN_END_EVENTS, RELOCATE_EVERY_MS, CodexImageGenerationFold, CodexRolloutImages, USER_INPUT_METHOD, PERMISSIONS_METHOD, ELICITATION_METHOD, COMMAND_OR_FILE, LEGACY, DECISIONS, COORDINATION_TOOLS, SETTLED_AGENT, STATUS, CHANGE_OPERATIONS, SILENT_ON_START, IGNORED_ITEMS, PLAN_STATUS, WORKER_LIFECYCLE, INFO_KINDS, SILENT, CodexTurn, STDERR_TAIL_LINES3, MAX_BETWEEN_UPDATES, UNSUPPORTED_REQUEST, DECLINED_ELICITATION, IMAGE_CATCH_UP_MS, IMAGE_POLL_MS, CodexSession, CODEX_MIN_VERSION, CODEX_REQUIREMENT, CODEX_TESTED_LINE, DEFAULTS2, CLIENT_INFO, STATUS2, EXITED_WITHOUT_RESPONSE, CodexExecTurn, DEFAULTS22, CodexExecSession, INJECTED_USER_PREFIXES, SHELL_TOOL_NAMES, ANNOUNCING_ITEM_TYPES, OUTPUT_MARKER, OPEN_PAGE_ACTIONS, FIND_IN_PAGE_ACTIONS, FILE_OPERATIONS, UNDERSTOOD_ITEM_TYPES, PRELUDE_TYPES2, PRELUDE_EVENTS, codexRolloutFile;
29991
+ var import_fs6, import_path6, import_crypto8, import_crypto9, import_crypto10, TokenRefresher, MCP_STARTUP_TIMEOUT_SEC, FIELD_TYPES, YES_NO, ACCEPT_DECLINE, MAX_INLINE_GENERATED_IMAGE_BYTES, PNG_SIGNATURE, JPEG_NON_FRAME_MARKERS, IMAGE_GEN_CALL, PROMPT_LITERAL, RELOCATE_EVERY_MS, CodexImageGenerationFold, CodexRolloutImages, USER_INPUT_METHOD, PERMISSIONS_METHOD, ELICITATION_METHOD, COMMAND_OR_FILE, LEGACY, DECISIONS, COORDINATION_TOOLS, SETTLED_AGENT, STATUS, CHANGE_OPERATIONS, SILENT_ON_START, IGNORED_ITEMS, PLAN_STATUS, WORKER_LIFECYCLE, INFO_KINDS, SILENT, CodexTurn, STDERR_TAIL_LINES3, MAX_BETWEEN_UPDATES, UNSUPPORTED_REQUEST, DECLINED_ELICITATION, IMAGE_CATCH_UP_MS, IMAGE_POLL_MS, CodexSession, CODEX_MIN_VERSION, CODEX_REQUIREMENT, CODEX_TESTED_LINE, DEFAULTS2, CLIENT_INFO, STATUS2, EXITED_WITHOUT_RESPONSE, CodexExecTurn, DEFAULTS22, CodexExecSession, INJECTED_USER_PREFIXES, SHELL_TOOL_NAMES, ANNOUNCING_ITEM_TYPES, OUTPUT_MARKER, OPEN_PAGE_ACTIONS, FIND_IN_PAGE_ACTIONS, FILE_OPERATIONS, UNDERSTOOD_ITEM_TYPES, PRELUDE_TYPES2, PRELUDE_EVENTS, codexRolloutFile;
30020
29992
  var init_codex = __esm({
30021
29993
  "../agent-core/dist/providers/codex.js"() {
30022
29994
  "use strict";
30023
- init_chunk_LR52JUGL();
30024
- init_chunk_BVWCFGFG();
30025
- init_chunk_OUQ7HMD3();
29995
+ init_chunk_DALFHI4B();
29996
+ init_chunk_X5JKSBTB();
29997
+ init_chunk_UGRKZTAD();
30026
29998
  init_chunk_R32NAS3B();
30027
29999
  init_chunk_J2KTV5FP();
30028
30000
  init_chunk_NDAB5G24();
30029
- init_chunk_GXBS4QWA();
30001
+ init_chunk_6WN2R725();
30030
30002
  init_chunk_YXWJW7I5();
30031
30003
  import_fs6 = require("fs");
30032
30004
  import_path6 = require("path");
@@ -30080,19 +30052,17 @@ var init_codex = __esm({
30080
30052
  JPEG_NON_FRAME_MARKERS = /* @__PURE__ */ new Set([196, 200, 204]);
30081
30053
  IMAGE_GEN_CALL = /\bimage_gen\w*\s*\(/;
30082
30054
  PROMPT_LITERAL = /\bprompt\s*:\s*("(?:[^"\\]|\\.)*")/;
30083
- TURN_END_EVENTS = /* @__PURE__ */ new Set(["task_complete", "turn_aborted"]);
30084
30055
  RELOCATE_EVERY_MS = 1e3;
30085
30056
  CodexImageGenerationFold = class {
30086
30057
  #clock;
30087
30058
  #pending = [];
30088
30059
  #updates = [];
30089
- #turnEnded = false;
30090
30060
  constructor(clock) {
30091
30061
  this.#clock = clock;
30092
30062
  }
30093
- /** A call is still waiting for its image and the rollout has not recorded the turn's end. */
30063
+ /** A call is still waiting for its image. */
30094
30064
  get waiting() {
30095
- return this.#pending.length > 0 && !this.#turnEnded;
30065
+ return this.#pending.length > 0;
30096
30066
  }
30097
30067
  foldLine(text2) {
30098
30068
  if (!mayMatter(text2)) return;
@@ -30115,7 +30085,6 @@ var init_codex = __esm({
30115
30085
  }
30116
30086
  if (entryType !== "event_msg") return;
30117
30087
  const type = asString(payload.type);
30118
- if (TURN_END_EVENTS.has(type)) this.#turnEnded = true;
30119
30088
  if (type === "image_generation_end") {
30120
30089
  this.#finish(payload, ts);
30121
30090
  return;
@@ -30199,7 +30168,7 @@ var init_codex = __esm({
30199
30168
  settle() {
30200
30169
  return [...this.drain(), ...this.#fold.settlePending()];
30201
30170
  }
30202
- /** Waits, up to `ms`, for the rollout to record a pending call's image or the turn's end. */
30171
+ /** Waits, up to `ms`, for pending images. A prior turn's end can trail this turn's start. */
30203
30172
  async catchUp(ms, pollMs) {
30204
30173
  const updates = this.drain();
30205
30174
  const deadline = this.#clock.monotonic() + ms;
@@ -41261,8 +41230,8 @@ var require_tar_stream = __commonJS({
41261
41230
  var init_dist = __esm({
41262
41231
  "../agent-core/dist/index.js"() {
41263
41232
  "use strict";
41264
- init_chunk_BVWCFGFG();
41265
- init_chunk_OUQ7HMD3();
41233
+ init_chunk_X5JKSBTB();
41234
+ init_chunk_UGRKZTAD();
41266
41235
  init_chunk_R32NAS3B();
41267
41236
  init_chunk_NDAB5G24();
41268
41237
  init_chunk_YXWJW7I5();
@@ -42008,12 +41977,12 @@ var import_promises46, import_path9, import_crypto12, import_promises47, CURSOR_
42008
41977
  var init_acp3 = __esm({
42009
41978
  "../agent-core/dist/providers/acp.js"() {
42010
41979
  "use strict";
42011
- init_chunk_BVWCFGFG();
42012
- init_chunk_OUQ7HMD3();
41980
+ init_chunk_X5JKSBTB();
41981
+ init_chunk_UGRKZTAD();
42013
41982
  init_chunk_R32NAS3B();
42014
41983
  init_chunk_J2KTV5FP();
42015
41984
  init_chunk_NDAB5G24();
42016
- init_chunk_GXBS4QWA();
41985
+ init_chunk_6WN2R725();
42017
41986
  init_chunk_YXWJW7I5();
42018
41987
  import_promises46 = require("fs/promises");
42019
41988
  import_path9 = require("path");
@@ -43672,12 +43641,12 @@ var import_http10, import_crypto13, import_path10, import_url2, import_crypto14,
43672
43641
  var init_opencode = __esm({
43673
43642
  "../agent-core/dist/providers/opencode.js"() {
43674
43643
  "use strict";
43675
- init_chunk_BVWCFGFG();
43676
- init_chunk_OUQ7HMD3();
43644
+ init_chunk_X5JKSBTB();
43645
+ init_chunk_UGRKZTAD();
43677
43646
  init_chunk_R32NAS3B();
43678
43647
  init_chunk_J2KTV5FP();
43679
43648
  init_chunk_NDAB5G24();
43680
- init_chunk_GXBS4QWA();
43649
+ init_chunk_6WN2R725();
43681
43650
  init_chunk_YXWJW7I5();
43682
43651
  import_http10 = require("http");
43683
43652
  init_runtime_v2();
@@ -45431,12 +45400,12 @@ var import_crypto15, import_promises48, FACTORY_API_VERSION, FACTORY_PROTOCOL_VE
45431
45400
  var init_droid = __esm({
45432
45401
  "../agent-core/dist/providers/droid.js"() {
45433
45402
  "use strict";
45434
- init_chunk_BVWCFGFG();
45435
- init_chunk_OUQ7HMD3();
45403
+ init_chunk_X5JKSBTB();
45404
+ init_chunk_UGRKZTAD();
45436
45405
  init_chunk_R32NAS3B();
45437
45406
  init_chunk_J2KTV5FP();
45438
45407
  init_chunk_NDAB5G24();
45439
- init_chunk_GXBS4QWA();
45408
+ init_chunk_6WN2R725();
45440
45409
  init_chunk_YXWJW7I5();
45441
45410
  init_runtime_v2();
45442
45411
  import_crypto15 = require("crypto");
@@ -46500,12 +46469,12 @@ var import_fs8, import_path11, import_path12, import_url3, import_crypto16, NO_A
46500
46469
  var init_antigravity = __esm({
46501
46470
  "../agent-core/dist/providers/antigravity.js"() {
46502
46471
  "use strict";
46503
- init_chunk_LR52JUGL();
46504
- init_chunk_BVWCFGFG();
46505
- init_chunk_OUQ7HMD3();
46472
+ init_chunk_DALFHI4B();
46473
+ init_chunk_X5JKSBTB();
46474
+ init_chunk_UGRKZTAD();
46506
46475
  init_chunk_R32NAS3B();
46507
46476
  init_chunk_NDAB5G24();
46508
- init_chunk_GXBS4QWA();
46477
+ init_chunk_6WN2R725();
46509
46478
  init_chunk_YXWJW7I5();
46510
46479
  import_fs8 = require("fs");
46511
46480
  import_path11 = require("path");
@@ -47185,12 +47154,12 @@ var import_promises49, import_path13, import_crypto17, COMMAND_CODE_GRAMMAR_NAME
47185
47154
  var init_command_code = __esm({
47186
47155
  "../agent-core/dist/providers/command-code.js"() {
47187
47156
  "use strict";
47188
- init_chunk_BVWCFGFG();
47189
- init_chunk_OUQ7HMD3();
47157
+ init_chunk_X5JKSBTB();
47158
+ init_chunk_UGRKZTAD();
47190
47159
  init_chunk_R32NAS3B();
47191
47160
  init_chunk_J2KTV5FP();
47192
47161
  init_chunk_NDAB5G24();
47193
- init_chunk_GXBS4QWA();
47162
+ init_chunk_6WN2R725();
47194
47163
  init_chunk_YXWJW7I5();
47195
47164
  import_promises49 = require("fs/promises");
47196
47165
  import_path13 = require("path");
@@ -52385,7 +52354,7 @@ var require_websocket_server = __commonJS({
52385
52354
  // package.json
52386
52355
  var package_default = {
52387
52356
  name: "@alan-ai-hq/agent-manager",
52388
- version: "0.1.130",
52357
+ version: "0.1.131",
52389
52358
  private: true,
52390
52359
  type: "module",
52391
52360
  description: "Alan machine runtime (alan-agent): identity, link, reconciler, session holders, run log, uploader, local API",
@@ -65129,10 +65098,6 @@ async function runWithInputs({ spec, leaseTargets, skills }, context, sink, sign
65129
65098
  _promise2 && await _promise2;
65130
65099
  }
65131
65100
  }
65132
- function recordRelevantContext(spec, append) {
65133
- if (spec.relevantContext === void 0) return;
65134
- append(fitForRunLog(contextRecallUpdate(`relevant-context-${spec.runId}`, spec.relevantContext)));
65135
- }
65136
65101
  async function admitAndRun(spec, context, append, sink, signal) {
65137
65102
  if (context.workspace === void 0) {
65138
65103
  if (spec.skillInvocations?.length) {
@@ -65142,7 +65107,6 @@ async function admitAndRun(spec, context, append, sink, signal) {
65142
65107
  message: "Selected skills need this computer's skill sync, which this holder does not have."
65143
65108
  };
65144
65109
  }
65145
- recordRelevantContext(spec, append);
65146
65110
  return runWithInputs({ spec, leaseTargets: [], skills: [] }, context, sink, signal);
65147
65111
  }
65148
65112
  const admission = await admitRun(spec, context.workspace.admission, signal);
@@ -65151,7 +65115,6 @@ async function admitAndRun(spec, context, append, sink, signal) {
65151
65115
  return { outcome: "rejected", rejection: admission.rejection, message: admission.message };
65152
65116
  }
65153
65117
  if (admission.relocated !== null) append(admission.relocated);
65154
- recordRelevantContext(spec, append);
65155
65118
  return runWithInputs(admission, context, sink, signal);
65156
65119
  }
65157
65120
  async function claimRun(spec, context) {
package/alan-holder.cjs CHANGED
@@ -19993,7 +19993,7 @@ var init_ids = __esm({
19993
19993
  function wire() {
19994
19994
  return (schema) => schema;
19995
19995
  }
19996
- var canonicalUserMessageSchema, canonicalAssistantMessageSchema, externalMcpServerSchema, runAttachmentSchema, parsedAttachmentSchema, taskMetaSchema, pullRequestMetaSchema, agentUserIdentitySchema, workflowToolRefSchema, relevantContextRecallSchema, runPromptContextSchema;
19996
+ var canonicalUserMessageSchema, canonicalAssistantMessageSchema, externalMcpServerSchema, runAttachmentSchema, parsedAttachmentSchema, taskMetaSchema, pullRequestMetaSchema, agentUserIdentitySchema, workflowToolRefSchema, runPromptContextSchema;
19997
19997
  var init_run_context = __esm({
19998
19998
  "../shared/dist/runtime-v2/run-context.js"() {
19999
19999
  "use strict";
@@ -20099,7 +20099,6 @@ var init_run_context = __esm({
20099
20099
  }));
20100
20100
  agentUserIdentitySchema = wire()(external_exports.object({ id: external_exports.string().min(1), name: external_exports.string().nullable(), email: external_exports.string() }));
20101
20101
  workflowToolRefSchema = wire()(external_exports.object({ type: external_exports.string().min(1), id: external_exports.string().min(1) }));
20102
- relevantContextRecallSchema = wire()(external_exports.object({ query: external_exports.string(), envelope: external_exports.record(external_exports.string(), external_exports.unknown()) }));
20103
20102
  runPromptContextSchema = external_exports.object({
20104
20103
  taskMeta: taskMetaSchema.optional(),
20105
20104
  prMeta: pullRequestMetaSchema.optional(),
@@ -20353,10 +20352,8 @@ var init_desired_state = __esm({
20353
20352
  promptContext: runPromptContextSchema.optional(),
20354
20353
  /** Absent means entitled, so a spec from an older server keeps the code-index prompts. */
20355
20354
  codeIndexEnabled: external_exports.boolean().optional(),
20356
- /** Absent means entitled, so a spec from an older server keeps the context-search prompt. */
20355
+ /** Omitted by older servers; only an explicit entitlement enables context-search guidance. */
20357
20356
  contextGraphEnabled: external_exports.boolean().optional(),
20358
- /** Already appended to `content` as `<relevantContext>`; the holder records it as a recall. */
20359
- relevantContext: relevantContextRecallSchema.optional(),
20360
20357
  cloudEnvironmentId: external_exports.guid().optional(),
20361
20358
  localRepoUrls: external_exports.array(external_exports.string().min(1)).optional()
20362
20359
  // Never here: the provider API key. The holder fetches it per run (RUN_PROVIDER_CREDENTIAL_PATH).
@@ -21374,7 +21371,7 @@ Use these tools, in roughly this order of frequency:
21374
21371
  4. \`get_session_context\` \u2014 check what a worker accomplished
21375
21372
  5. \`update_task\` \u2014 keep status, priority, labels current
21376
21373
  6. \`send_session_message\` / \`start_task_session\` \u2014 continue a specific session or force a new session only when needed
21377
- 7. \`list_sessions\` / \`find_records\` / \`search_context\` / \`search_code_context\` / \`Read\` / \`Glob\` / \`Grep\` \u2014 situational awareness (\`find_records\` locates canonical records; \`search_context\` finds relevant non-code context whose exact source is unknown; \`search_code_context\` handles source-code discovery; read exact cited sources before claiming authoritative details)
21374
+ 7. \`list_sessions\` / \`find_records\` / \`search_code_context\` / \`Read\` / \`Glob\` / \`Grep\` \u2014 situational awareness (\`find_records\` locates canonical records; \`search_code_context\` handles source-code discovery; read exact cited sources before claiming authoritative details)
21378
21375
  8. \`create_plan\` \u2014 document implementation plans and durable specs as artifacts
21379
21376
  9. \`add_task_comment\` \u2014 human-facing collaboration: answer questions, post explicit status updates, escalate blockers, or leave comments the user asked you to post. Do not use comments as running notes or context storage.
21380
21377
 
@@ -21449,8 +21446,7 @@ You work on the Alan platform. The platform is where product truth lives: tasks,
21449
21446
  | Scope, status, priority, or history of work | \`get_task\`, \`list_subtasks\`, \`list_tasks\` | \`git log\`, commit messages |
21450
21447
  | What was decided and why | \`list_task_decisions\`, \`list_task_events\` | code comments, in-repo ADRs |
21451
21448
  | What an agent did or is doing | \`list_sessions\`, \`get_session_context\` | \`git log\`, diffing the worktree |
21452
- | Prior agent context | \`search_context\`, \`list_task_events\`, \`get_session_context\` | scratch files |
21453
- | Relevant non-code context with no exact source | \`search_context\` | guessing IDs, container tags, or provider filters |
21449
+ | Prior agent context | \`list_task_events\`, \`get_session_context\` | scratch files |
21454
21450
  | Outputs of completed work | \`list_artifacts\`, \`get_artifact\` | build output, generated files |
21455
21451
  | Where code lives or how it works | \`search_code_context\` first, then \`Read\` the cited files | \`Grep\`/\`Glob\` sweeps |
21456
21452
 
@@ -21479,8 +21475,7 @@ Use these tools, in roughly this order of frequency:
21479
21475
  4. \`get_session_context\` / \`list_sessions\` \u2014 track progress
21480
21476
  5. \`update_task\` \u2014 keep status and priority current
21481
21477
  6. \`list_task_events\` / \`add_task_event\` \u2014 persist only high-signal human-readable decisions, learnings, checkpoints, and outcomes in the Agent Log
21482
- 7. \`search_context\` \u2014 retrieve relevant non-code context when the exact source is unknown
21483
- 8. \`add_task_comment\` \u2014 human-facing collaboration: answer questions, post explicit status updates, escalate blockers, or leave comments the user asked you to post. Do not use comments as running notes or context storage.
21478
+ 7. \`add_task_comment\` \u2014 human-facing collaboration: answer questions, post explicit status updates, escalate blockers, or leave comments the user asked you to post. Do not use comments as running notes or context storage.
21484
21479
 
21485
21480
  ## How to think like a PM
21486
21481
 
@@ -21681,13 +21676,6 @@ var init_browser_surface = __esm({
21681
21676
  }
21682
21677
  });
21683
21678
 
21684
- // ../shared/dist/agent/context-intent.js
21685
- var init_context_intent = __esm({
21686
- "../shared/dist/agent/context-intent.js"() {
21687
- "use strict";
21688
- }
21689
- });
21690
-
21691
21679
  // ../shared/dist/agent/gated-mcp-tools.js
21692
21680
  var CODE_INDEX_MCP_TOOLS, CONTEXT_GRAPH_MCP_TOOLS, ENTITLEMENT_GATED_MCP_TOOLS;
21693
21681
  var init_gated_mcp_tools = __esm({
@@ -21951,13 +21939,13 @@ var init_system_prompt = __esm({
21951
21939
 
21952
21940
  The codebase records what the system does. It does not record why it is that way, what was ruled out, what an outside constraint forbids, or what someone was left owed. That record lives in \`search_context\` \u2014 this team's decisions, constraints, procedures, ownership, rejected approaches and unfinished work.
21953
21941
 
21942
+ Before answering or acting on a question about a past decision, ownership, history, or unfinished work whose exact source is unknown, call \`search_context\` first.
21943
+
21954
21944
  So when a turn depends on something the repository cannot tell you \u2014 a value chosen rather than tuned, an approach that may already have been tried, a boundary another team owns, work someone else left half-done \u2014 recover it before you answer or act. Reading the code, or the document someone named, does not settle it: those answer a different question, and one turn can need both.
21955
21945
 
21956
21946
  What comes back is the answer, not a step towards it. Carry its specifics into what you write or change \u2014 the value, the constraint, the reason, the person \u2014 and say plainly when the evidence contradicts what was asked for. Retrieving a decision and then producing work that ignores it is worse than never having searched, because it looks informed.
21957
21947
 
21958
- Skip it when nothing team-specific is at stake: source-code questions, general knowledge, mechanical work fully specified in the request, or an exact ID already in hand.
21959
-
21960
- A \`relevantContext\` block, when present, is evidence already retrieved. Use it, do not search again for what it answers, and do not mention that it was loaded.`;
21948
+ Skip it when nothing team-specific is at stake: source-code questions, general knowledge, mechanical work fully specified in the request, or an exact ID already in hand.`;
21961
21949
  ALAN_PLATFORM_TOOL_ROUTING_PROMPT = `## Alan platform tools
21962
21950
 
21963
21951
  When an action reads, creates, changes, links, sends, or controls Alan-owned state \u2014 or uses a provider identity connected through Alan \u2014 use the matching Alan MCP tool. This applies whether the agent runs locally or in the cloud. Do not substitute a shell CLI, browser automation, raw HTTP, or a local file; those paths bypass Alan's identity, authorization, audit trail, and task linkage.
@@ -22000,8 +21988,6 @@ Team
22000
21988
 
22001
21989
  ${ALAN_PLATFORM_TOOL_ROUTING_PROMPT}
22002
21990
 
22003
- ${ALAN_CONTEXT_SEARCH_PROMPT}
22004
-
22005
21991
  ## Record & Entity Resolution (Tasks, PRs, Docs, Epics)
22006
21992
 
22007
21993
  When the user refers to a specific task, pull request, document, or epic by human identifier (e.g. \`AL-2980\`, \`2980\`, \`#45\`), title, or topic phrase:
@@ -22144,7 +22130,6 @@ var init_agent2 = __esm({
22144
22130
  init_agent_definitions();
22145
22131
  init_attachment_mention();
22146
22132
  init_browser_surface();
22147
- init_context_intent();
22148
22133
  init_gated_mcp_tools();
22149
22134
  init_generated_images();
22150
22135
  init_iframe_embeddability();
@@ -23711,7 +23696,7 @@ var init_acp = __esm({
23711
23696
  }
23712
23697
  });
23713
23698
 
23714
- // ../agent-core/dist/chunk-OUQ7HMD3.js
23699
+ // ../agent-core/dist/chunk-UGRKZTAD.js
23715
23700
  function textBlock(text2) {
23716
23701
  return { type: "text", text: text2 };
23717
23702
  }
@@ -23739,18 +23724,6 @@ function noticeUpdate(severity, kind, title, description) {
23739
23724
  _meta: { [NOTICE_KIND_META]: kind }
23740
23725
  };
23741
23726
  }
23742
- function contextRecallUpdate(toolCallId, recall) {
23743
- return {
23744
- sessionUpdate: "tool_call_update",
23745
- toolCallId,
23746
- name: "search_context",
23747
- kind: "search",
23748
- status: "completed",
23749
- rawInput: { query: recall.query },
23750
- rawOutput: JSON.stringify(recall.envelope),
23751
- _meta: { [CONTEXT_RECALL_META]: "prefetch" }
23752
- };
23753
- }
23754
23727
  function usageUpdate(breakdown, fallbackModel = "") {
23755
23728
  const used = (breakdown.inputTokens ?? 0) + (breakdown.outputTokens ?? 0) + (breakdown.cacheReadTokens ?? 0) + (breakdown.cacheCreationTokens ?? 0);
23756
23729
  const model = breakdown.model || fallbackModel;
@@ -23953,9 +23926,9 @@ function withoutInlineMedia(update) {
23953
23926
  ...nextRawOutput === rawOutput ? {} : { rawOutput: nextRawOutput }
23954
23927
  };
23955
23928
  }
23956
- var PROVIDER_PAYLOAD_META, TOOL_RESULT_ONLY_META, PARENT_TOOL_CALL_META, SUBAGENT_LAUNCHER_META, SUBAGENT_TASK_ID_META, SUBAGENT_OUTPUT_FILE_META, USAGE_META, TODOS_META, NOTICE_KIND_META, CONTEXT_RECALL_META, ASK_USER_QUESTIONS_META, USER_ANSWER_META, AWAITING_TOOL_CALLS_META, EXIT_PLAN_MODE_INPUT_META, BACKGROUND_TASK_META, TASK_PROGRESS_META, RATE_LIMIT_META, MODEL_META, TOOLS_META, SLASH_COMMANDS_META, TOOL_KIND_RULES, ANSWER_PREFIX, ACCEPT_WORDS, MIN_INLINE_MEDIA_CHARS, DATA_URL_PREFIX, BASE64_BODY;
23957
- var init_chunk_OUQ7HMD3 = __esm({
23958
- "../agent-core/dist/chunk-OUQ7HMD3.js"() {
23929
+ var PROVIDER_PAYLOAD_META, TOOL_RESULT_ONLY_META, PARENT_TOOL_CALL_META, SUBAGENT_LAUNCHER_META, SUBAGENT_TASK_ID_META, SUBAGENT_OUTPUT_FILE_META, USAGE_META, TODOS_META, NOTICE_KIND_META, ASK_USER_QUESTIONS_META, USER_ANSWER_META, AWAITING_TOOL_CALLS_META, EXIT_PLAN_MODE_INPUT_META, BACKGROUND_TASK_META, TASK_PROGRESS_META, RATE_LIMIT_META, MODEL_META, TOOLS_META, SLASH_COMMANDS_META, TOOL_KIND_RULES, ANSWER_PREFIX, ACCEPT_WORDS, MIN_INLINE_MEDIA_CHARS, DATA_URL_PREFIX, BASE64_BODY;
23930
+ var init_chunk_UGRKZTAD = __esm({
23931
+ "../agent-core/dist/chunk-UGRKZTAD.js"() {
23959
23932
  "use strict";
23960
23933
  init_chunk_YXWJW7I5();
23961
23934
  init_constants();
@@ -23969,7 +23942,6 @@ var init_chunk_OUQ7HMD3 = __esm({
23969
23942
  USAGE_META = "alan.dev/usage";
23970
23943
  TODOS_META = "alan.dev/todos";
23971
23944
  NOTICE_KIND_META = "alan.dev/noticeKind";
23972
- CONTEXT_RECALL_META = "alan.dev/contextRecall";
23973
23945
  ASK_USER_QUESTIONS_META = "alan.dev/askUserQuestions";
23974
23946
  USER_ANSWER_META = "alan.dev/userAnswer";
23975
23947
  AWAITING_TOOL_CALLS_META = "alan.dev/awaitingToolCallIds";
@@ -24006,17 +23978,17 @@ var init_chunk_OUQ7HMD3 = __esm({
24006
23978
  var init_acp2 = __esm({
24007
23979
  "../agent-core/dist/acp.js"() {
24008
23980
  "use strict";
24009
- init_chunk_OUQ7HMD3();
23981
+ init_chunk_UGRKZTAD();
24010
23982
  init_chunk_YXWJW7I5();
24011
23983
  }
24012
23984
  });
24013
23985
 
24014
- // ../agent-core/dist/chunk-LR52JUGL.js
23986
+ // ../agent-core/dist/chunk-DALFHI4B.js
24015
23987
  var import_fs3, NEWLINE2, TranscriptCursor, TranscriptLineLookup;
24016
- var init_chunk_LR52JUGL = __esm({
24017
- "../agent-core/dist/chunk-LR52JUGL.js"() {
23988
+ var init_chunk_DALFHI4B = __esm({
23989
+ "../agent-core/dist/chunk-DALFHI4B.js"() {
24018
23990
  "use strict";
24019
- init_chunk_OUQ7HMD3();
23991
+ init_chunk_UGRKZTAD();
24020
23992
  init_chunk_YXWJW7I5();
24021
23993
  import_fs3 = require("fs");
24022
23994
  NEWLINE2 = 10;
@@ -24516,7 +24488,7 @@ var init_chunk_R32NAS3B = __esm({
24516
24488
  }
24517
24489
  });
24518
24490
 
24519
- // ../agent-core/dist/chunk-BVWCFGFG.js
24491
+ // ../agent-core/dist/chunk-X5JKSBTB.js
24520
24492
  function collectStrings(value, out) {
24521
24493
  if (typeof value === "string") out.push(value);
24522
24494
  else if (Array.isArray(value)) for (const item of value) collectStrings(item, out);
@@ -24886,10 +24858,10 @@ function silentStartError(name, timeoutMs) {
24886
24858
  };
24887
24859
  }
24888
24860
  var import_crypto3, import_fs4, import_path3, IMAGE_MIME_BY_EXT, VIDEO_MIME_BY_EXT, IMAGE_EXTENSIONS, VIDEO_EXTENSIONS, MAX_IMAGE_BYTES, MAX_VIDEO_BYTES, AGENT_BROWSER_MENTION, LocalMediaReader, SessionOpenRefusal, JsonRpcError, ACP_PROTOCOL_VERSION, ACP_ERROR, STDERR_TAIL_LINES, RESULT_EXIT_GRACE_MS, PerTurnSession;
24889
- var init_chunk_BVWCFGFG = __esm({
24890
- "../agent-core/dist/chunk-BVWCFGFG.js"() {
24861
+ var init_chunk_X5JKSBTB = __esm({
24862
+ "../agent-core/dist/chunk-X5JKSBTB.js"() {
24891
24863
  "use strict";
24892
- init_chunk_OUQ7HMD3();
24864
+ init_chunk_UGRKZTAD();
24893
24865
  init_chunk_R32NAS3B();
24894
24866
  init_chunk_NDAB5G24();
24895
24867
  init_chunk_YXWJW7I5();
@@ -25353,7 +25325,7 @@ var init_chunk_J2KTV5FP = __esm({
25353
25325
  }
25354
25326
  });
25355
25327
 
25356
- // ../agent-core/dist/chunk-GXBS4QWA.js
25328
+ // ../agent-core/dist/chunk-6WN2R725.js
25357
25329
  function truncate(value, limit) {
25358
25330
  const normalized2 = Array.from(value, (character) => {
25359
25331
  const code = character.charCodeAt(0);
@@ -25624,7 +25596,7 @@ Prefer relative paths and keep your work scoped to this project.` : void 0;
25624
25596
  ]),
25625
25597
  append: present([
25626
25598
  ALAN_PLATFORM_TOOL_ROUTING_PROMPT,
25627
- spec.contextGraphEnabled === false ? void 0 : ALAN_CONTEXT_SEARCH_PROMPT,
25599
+ spec.contextGraphEnabled === true ? ALAN_CONTEXT_SEARCH_PROMPT : void 0,
25628
25600
  overlay
25629
25601
  ])
25630
25602
  };
@@ -25680,8 +25652,8 @@ ${body}` : body;
25680
25652
  return spec.mode === "plan" ? planModePrefix(prefixed) : prefixed;
25681
25653
  }
25682
25654
  var MAX_PARSED_ATTACHMENTS, MAX_PARSED_ATTACHMENT_CHARS, MAX_METADATA_CHARS, UNAVAILABLE, READ_ONLY_MODES, AGENT_MODES;
25683
- var init_chunk_GXBS4QWA = __esm({
25684
- "../agent-core/dist/chunk-GXBS4QWA.js"() {
25655
+ var init_chunk_6WN2R725 = __esm({
25656
+ "../agent-core/dist/chunk-6WN2R725.js"() {
25685
25657
  "use strict";
25686
25658
  init_agent2();
25687
25659
  MAX_PARSED_ATTACHMENTS = 3;
@@ -26750,13 +26722,13 @@ var import_crypto6, import_fs5, import_path5, import_crypto7, import_promises13,
26750
26722
  var init_claude = __esm({
26751
26723
  "../agent-core/dist/providers/claude.js"() {
26752
26724
  "use strict";
26753
- init_chunk_LR52JUGL();
26754
- init_chunk_BVWCFGFG();
26755
- init_chunk_OUQ7HMD3();
26725
+ init_chunk_DALFHI4B();
26726
+ init_chunk_X5JKSBTB();
26727
+ init_chunk_UGRKZTAD();
26756
26728
  init_chunk_R32NAS3B();
26757
26729
  init_chunk_J2KTV5FP();
26758
26730
  init_chunk_NDAB5G24();
26759
- init_chunk_GXBS4QWA();
26731
+ init_chunk_6WN2R725();
26760
26732
  init_chunk_YXWJW7I5();
26761
26733
  init_effort();
26762
26734
  import_crypto6 = require("crypto");
@@ -28037,7 +28009,7 @@ function basenameOf(path) {
28037
28009
  return path.split(/[\\/]/).at(-1) ?? "";
28038
28010
  }
28039
28011
  function mayMatter(line) {
28040
- return line.includes("image_gen") || line.includes('"task_complete"') || line.includes('"turn_aborted"');
28012
+ return line.includes("image_gen");
28041
28013
  }
28042
28014
  function imageKey(update) {
28043
28015
  if (update.sessionUpdate !== "_alan/generated_image") return void 0;
@@ -28878,17 +28850,17 @@ function codexTurnInput(run, context) {
28878
28850
  ...images.length ? { imagePaths: images.map((image) => image.path) } : {}
28879
28851
  };
28880
28852
  }
28881
- var import_fs6, import_path6, import_crypto8, import_crypto9, import_crypto10, TokenRefresher, MCP_STARTUP_TIMEOUT_SEC, FIELD_TYPES, YES_NO, ACCEPT_DECLINE, MAX_INLINE_GENERATED_IMAGE_BYTES, PNG_SIGNATURE, JPEG_NON_FRAME_MARKERS, IMAGE_GEN_CALL, PROMPT_LITERAL, TURN_END_EVENTS, RELOCATE_EVERY_MS, CodexImageGenerationFold, CodexRolloutImages, USER_INPUT_METHOD, PERMISSIONS_METHOD, ELICITATION_METHOD, COMMAND_OR_FILE, LEGACY, DECISIONS, COORDINATION_TOOLS, SETTLED_AGENT, STATUS, CHANGE_OPERATIONS, SILENT_ON_START, IGNORED_ITEMS, PLAN_STATUS, WORKER_LIFECYCLE, INFO_KINDS, SILENT, CodexTurn, STDERR_TAIL_LINES3, MAX_BETWEEN_UPDATES, UNSUPPORTED_REQUEST, DECLINED_ELICITATION, IMAGE_CATCH_UP_MS, IMAGE_POLL_MS, CodexSession, CODEX_MIN_VERSION, CODEX_REQUIREMENT, CODEX_TESTED_LINE, DEFAULTS2, CLIENT_INFO, STATUS2, EXITED_WITHOUT_RESPONSE, CodexExecTurn, DEFAULTS22, CodexExecSession;
28853
+ var import_fs6, import_path6, import_crypto8, import_crypto9, import_crypto10, TokenRefresher, MCP_STARTUP_TIMEOUT_SEC, FIELD_TYPES, YES_NO, ACCEPT_DECLINE, MAX_INLINE_GENERATED_IMAGE_BYTES, PNG_SIGNATURE, JPEG_NON_FRAME_MARKERS, IMAGE_GEN_CALL, PROMPT_LITERAL, RELOCATE_EVERY_MS, CodexImageGenerationFold, CodexRolloutImages, USER_INPUT_METHOD, PERMISSIONS_METHOD, ELICITATION_METHOD, COMMAND_OR_FILE, LEGACY, DECISIONS, COORDINATION_TOOLS, SETTLED_AGENT, STATUS, CHANGE_OPERATIONS, SILENT_ON_START, IGNORED_ITEMS, PLAN_STATUS, WORKER_LIFECYCLE, INFO_KINDS, SILENT, CodexTurn, STDERR_TAIL_LINES3, MAX_BETWEEN_UPDATES, UNSUPPORTED_REQUEST, DECLINED_ELICITATION, IMAGE_CATCH_UP_MS, IMAGE_POLL_MS, CodexSession, CODEX_MIN_VERSION, CODEX_REQUIREMENT, CODEX_TESTED_LINE, DEFAULTS2, CLIENT_INFO, STATUS2, EXITED_WITHOUT_RESPONSE, CodexExecTurn, DEFAULTS22, CodexExecSession;
28882
28854
  var init_codex = __esm({
28883
28855
  "../agent-core/dist/providers/codex.js"() {
28884
28856
  "use strict";
28885
- init_chunk_LR52JUGL();
28886
- init_chunk_BVWCFGFG();
28887
- init_chunk_OUQ7HMD3();
28857
+ init_chunk_DALFHI4B();
28858
+ init_chunk_X5JKSBTB();
28859
+ init_chunk_UGRKZTAD();
28888
28860
  init_chunk_R32NAS3B();
28889
28861
  init_chunk_J2KTV5FP();
28890
28862
  init_chunk_NDAB5G24();
28891
- init_chunk_GXBS4QWA();
28863
+ init_chunk_6WN2R725();
28892
28864
  init_chunk_YXWJW7I5();
28893
28865
  import_fs6 = require("fs");
28894
28866
  import_path6 = require("path");
@@ -28942,19 +28914,17 @@ var init_codex = __esm({
28942
28914
  JPEG_NON_FRAME_MARKERS = /* @__PURE__ */ new Set([196, 200, 204]);
28943
28915
  IMAGE_GEN_CALL = /\bimage_gen\w*\s*\(/;
28944
28916
  PROMPT_LITERAL = /\bprompt\s*:\s*("(?:[^"\\]|\\.)*")/;
28945
- TURN_END_EVENTS = /* @__PURE__ */ new Set(["task_complete", "turn_aborted"]);
28946
28917
  RELOCATE_EVERY_MS = 1e3;
28947
28918
  CodexImageGenerationFold = class {
28948
28919
  #clock;
28949
28920
  #pending = [];
28950
28921
  #updates = [];
28951
- #turnEnded = false;
28952
28922
  constructor(clock) {
28953
28923
  this.#clock = clock;
28954
28924
  }
28955
- /** A call is still waiting for its image and the rollout has not recorded the turn's end. */
28925
+ /** A call is still waiting for its image. */
28956
28926
  get waiting() {
28957
- return this.#pending.length > 0 && !this.#turnEnded;
28927
+ return this.#pending.length > 0;
28958
28928
  }
28959
28929
  foldLine(text2) {
28960
28930
  if (!mayMatter(text2)) return;
@@ -28977,7 +28947,6 @@ var init_codex = __esm({
28977
28947
  }
28978
28948
  if (entryType !== "event_msg") return;
28979
28949
  const type = asString(payload.type);
28980
- if (TURN_END_EVENTS.has(type)) this.#turnEnded = true;
28981
28950
  if (type === "image_generation_end") {
28982
28951
  this.#finish(payload, ts);
28983
28952
  return;
@@ -29061,7 +29030,7 @@ var init_codex = __esm({
29061
29030
  settle() {
29062
29031
  return [...this.drain(), ...this.#fold.settlePending()];
29063
29032
  }
29064
- /** Waits, up to `ms`, for the rollout to record a pending call's image or the turn's end. */
29033
+ /** Waits, up to `ms`, for pending images. A prior turn's end can trail this turn's start. */
29065
29034
  async catchUp(ms, pollMs) {
29066
29035
  const updates = this.drain();
29067
29036
  const deadline = this.#clock.monotonic() + ms;
@@ -37632,8 +37601,8 @@ var require_dist = __commonJS({
37632
37601
  var init_dist = __esm({
37633
37602
  "../agent-core/dist/index.js"() {
37634
37603
  "use strict";
37635
- init_chunk_BVWCFGFG();
37636
- init_chunk_OUQ7HMD3();
37604
+ init_chunk_X5JKSBTB();
37605
+ init_chunk_UGRKZTAD();
37637
37606
  init_chunk_R32NAS3B();
37638
37607
  init_chunk_NDAB5G24();
37639
37608
  init_chunk_YXWJW7I5();
@@ -38379,12 +38348,12 @@ var import_promises20, import_path9, import_crypto12, import_promises21, CURSOR_
38379
38348
  var init_acp3 = __esm({
38380
38349
  "../agent-core/dist/providers/acp.js"() {
38381
38350
  "use strict";
38382
- init_chunk_BVWCFGFG();
38383
- init_chunk_OUQ7HMD3();
38351
+ init_chunk_X5JKSBTB();
38352
+ init_chunk_UGRKZTAD();
38384
38353
  init_chunk_R32NAS3B();
38385
38354
  init_chunk_J2KTV5FP();
38386
38355
  init_chunk_NDAB5G24();
38387
- init_chunk_GXBS4QWA();
38356
+ init_chunk_6WN2R725();
38388
38357
  init_chunk_YXWJW7I5();
38389
38358
  import_promises20 = require("fs/promises");
38390
38359
  import_path9 = require("path");
@@ -40043,12 +40012,12 @@ var import_http4, import_crypto13, import_path10, import_url2, import_crypto14,
40043
40012
  var init_opencode = __esm({
40044
40013
  "../agent-core/dist/providers/opencode.js"() {
40045
40014
  "use strict";
40046
- init_chunk_BVWCFGFG();
40047
- init_chunk_OUQ7HMD3();
40015
+ init_chunk_X5JKSBTB();
40016
+ init_chunk_UGRKZTAD();
40048
40017
  init_chunk_R32NAS3B();
40049
40018
  init_chunk_J2KTV5FP();
40050
40019
  init_chunk_NDAB5G24();
40051
- init_chunk_GXBS4QWA();
40020
+ init_chunk_6WN2R725();
40052
40021
  init_chunk_YXWJW7I5();
40053
40022
  import_http4 = require("http");
40054
40023
  init_runtime_v2();
@@ -41802,12 +41771,12 @@ var import_crypto15, import_promises22, FACTORY_API_VERSION, FACTORY_PROTOCOL_VE
41802
41771
  var init_droid = __esm({
41803
41772
  "../agent-core/dist/providers/droid.js"() {
41804
41773
  "use strict";
41805
- init_chunk_BVWCFGFG();
41806
- init_chunk_OUQ7HMD3();
41774
+ init_chunk_X5JKSBTB();
41775
+ init_chunk_UGRKZTAD();
41807
41776
  init_chunk_R32NAS3B();
41808
41777
  init_chunk_J2KTV5FP();
41809
41778
  init_chunk_NDAB5G24();
41810
- init_chunk_GXBS4QWA();
41779
+ init_chunk_6WN2R725();
41811
41780
  init_chunk_YXWJW7I5();
41812
41781
  init_runtime_v2();
41813
41782
  import_crypto15 = require("crypto");
@@ -42871,12 +42840,12 @@ var import_fs8, import_path11, import_path12, import_url3, import_crypto16, NO_A
42871
42840
  var init_antigravity = __esm({
42872
42841
  "../agent-core/dist/providers/antigravity.js"() {
42873
42842
  "use strict";
42874
- init_chunk_LR52JUGL();
42875
- init_chunk_BVWCFGFG();
42876
- init_chunk_OUQ7HMD3();
42843
+ init_chunk_DALFHI4B();
42844
+ init_chunk_X5JKSBTB();
42845
+ init_chunk_UGRKZTAD();
42877
42846
  init_chunk_R32NAS3B();
42878
42847
  init_chunk_NDAB5G24();
42879
- init_chunk_GXBS4QWA();
42848
+ init_chunk_6WN2R725();
42880
42849
  init_chunk_YXWJW7I5();
42881
42850
  import_fs8 = require("fs");
42882
42851
  import_path11 = require("path");
@@ -43556,12 +43525,12 @@ var import_promises23, import_path13, import_crypto17, COMMAND_CODE_GRAMMAR_NAME
43556
43525
  var init_command_code = __esm({
43557
43526
  "../agent-core/dist/providers/command-code.js"() {
43558
43527
  "use strict";
43559
- init_chunk_BVWCFGFG();
43560
- init_chunk_OUQ7HMD3();
43528
+ init_chunk_X5JKSBTB();
43529
+ init_chunk_UGRKZTAD();
43561
43530
  init_chunk_R32NAS3B();
43562
43531
  init_chunk_J2KTV5FP();
43563
43532
  init_chunk_NDAB5G24();
43564
- init_chunk_GXBS4QWA();
43533
+ init_chunk_6WN2R725();
43565
43534
  init_chunk_YXWJW7I5();
43566
43535
  import_promises23 = require("fs/promises");
43567
43536
  import_path13 = require("path");
@@ -47097,10 +47066,6 @@ async function runWithInputs({ spec, leaseTargets, skills }, context, sink, sign
47097
47066
  _promise2 && await _promise2;
47098
47067
  }
47099
47068
  }
47100
- function recordRelevantContext(spec, append) {
47101
- if (spec.relevantContext === void 0) return;
47102
- append(fitForRunLog(contextRecallUpdate(`relevant-context-${spec.runId}`, spec.relevantContext)));
47103
- }
47104
47069
  async function admitAndRun(spec, context, append, sink, signal) {
47105
47070
  if (context.workspace === void 0) {
47106
47071
  if (spec.skillInvocations?.length) {
@@ -47110,7 +47075,6 @@ async function admitAndRun(spec, context, append, sink, signal) {
47110
47075
  message: "Selected skills need this computer's skill sync, which this holder does not have."
47111
47076
  };
47112
47077
  }
47113
- recordRelevantContext(spec, append);
47114
47078
  return runWithInputs({ spec, leaseTargets: [], skills: [] }, context, sink, signal);
47115
47079
  }
47116
47080
  const admission = await admitRun(spec, context.workspace.admission, signal);
@@ -47119,7 +47083,6 @@ async function admitAndRun(spec, context, append, sink, signal) {
47119
47083
  return { outcome: "rejected", rejection: admission.rejection, message: admission.message };
47120
47084
  }
47121
47085
  if (admission.relocated !== null) append(admission.relocated);
47122
- recordRelevantContext(spec, append);
47123
47086
  return runWithInputs(admission, context, sink, signal);
47124
47087
  }
47125
47088
  async function claimRun(spec, context) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alan-ai-hq/agent-manager-linux-x64",
3
- "version": "0.1.130",
3
+ "version": "0.1.131",
4
4
  "description": "Alan machine runtime (alan-agent) for one platform: the official Node.js binary, the runtime bundle and its launcher. Installed by @alan-ai-hq/agent-manager.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "homepage": "https://tryalan.ai",