abtars 0.3.4-alpha.2 → 0.3.4-alpha.3

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 (45) hide show
  1. package/bundle/{_registry.generated-RC6PEH6Z.js → _registry.generated-63W2WKXW.js} +3 -3
  2. package/bundle/abtars.js +12 -12
  3. package/bundle/{agent-registry-GU7ABOK5.js → agent-registry-6IH7NS4T.js} +2 -2
  4. package/bundle/{chunk-RIHQ37U5.js → chunk-F7THYOK3.js} +2 -2
  5. package/bundle/{chunk-Q32H6VPU.js → chunk-GRYCM3JE.js} +7 -7
  6. package/bundle/{chunk-3CACHBDI.js → chunk-KQME4N7U.js} +4 -4
  7. package/bundle/{chunk-BFDBGESM.js → chunk-LXYKFANI.js} +2 -2
  8. package/bundle/{chunk-ZKJOFASV.js → chunk-N75OXMFF.js} +2 -2
  9. package/bundle/{chunk-HMKVL7AX.js → chunk-QRMN5TAW.js} +10 -10
  10. package/bundle/{chunk-OLAURO5G.js → chunk-QRZR5WHC.js} +2 -2
  11. package/bundle/{chunk-UUIHL65U.js → chunk-RIQILIBT.js} +4 -2
  12. package/bundle/{chunk-UUIHL65U.js.map → chunk-RIQILIBT.js.map} +2 -2
  13. package/bundle/{commands-EWA4HNCM.js → commands-QEGLY46M.js} +3 -3
  14. package/bundle/{context-5P7IYYU2.js → context-GYHF4PVF.js} +2 -2
  15. package/bundle/{direct-api-transport-WQ6HA5OX.js → direct-api-transport-QTFFUAHE.js} +3 -3
  16. package/bundle/{discord-adapter-4TTETYDI.js → discord-adapter-J2LR3INL.js} +3 -3
  17. package/bundle/{heartbeat-tier3-55T2HUNE.js → heartbeat-tier3-SAIBVLMH.js} +5 -5
  18. package/bundle/{message-pipeline-KSONH4MT.js → message-pipeline-MV7JIE5Q.js} +3 -3
  19. package/bundle/meta.json +106 -116
  20. package/bundle/{phase-transport-2BRWACDF.js → phase-transport-V6Q3XVI3.js} +3 -3
  21. package/bundle/{sleep-SRCSXY6T.js → sleep-4ZD43ENZ.js} +3 -3
  22. package/bundle/{subagent-runtime-3UJB4HUB.js → subagent-runtime-KEJV3AAG.js} +2 -2
  23. package/bundle/{telegram-adapter-7G773NII.js → telegram-adapter-AP4KD425.js} +4 -4
  24. package/bundle/{tool-registry-J6TE3I2T.js → tool-registry-3OW66W4Z.js} +3 -3
  25. package/package.json +1 -1
  26. /package/bundle/{_registry.generated-RC6PEH6Z.js.map → _registry.generated-63W2WKXW.js.map} +0 -0
  27. /package/bundle/{agent-registry-GU7ABOK5.js.map → agent-registry-6IH7NS4T.js.map} +0 -0
  28. /package/bundle/{chunk-RIHQ37U5.js.map → chunk-F7THYOK3.js.map} +0 -0
  29. /package/bundle/{chunk-Q32H6VPU.js.map → chunk-GRYCM3JE.js.map} +0 -0
  30. /package/bundle/{chunk-3CACHBDI.js.map → chunk-KQME4N7U.js.map} +0 -0
  31. /package/bundle/{chunk-BFDBGESM.js.map → chunk-LXYKFANI.js.map} +0 -0
  32. /package/bundle/{chunk-ZKJOFASV.js.map → chunk-N75OXMFF.js.map} +0 -0
  33. /package/bundle/{chunk-HMKVL7AX.js.map → chunk-QRMN5TAW.js.map} +0 -0
  34. /package/bundle/{chunk-OLAURO5G.js.map → chunk-QRZR5WHC.js.map} +0 -0
  35. /package/bundle/{commands-EWA4HNCM.js.map → commands-QEGLY46M.js.map} +0 -0
  36. /package/bundle/{context-5P7IYYU2.js.map → context-GYHF4PVF.js.map} +0 -0
  37. /package/bundle/{direct-api-transport-WQ6HA5OX.js.map → direct-api-transport-QTFFUAHE.js.map} +0 -0
  38. /package/bundle/{discord-adapter-4TTETYDI.js.map → discord-adapter-J2LR3INL.js.map} +0 -0
  39. /package/bundle/{heartbeat-tier3-55T2HUNE.js.map → heartbeat-tier3-SAIBVLMH.js.map} +0 -0
  40. /package/bundle/{message-pipeline-KSONH4MT.js.map → message-pipeline-MV7JIE5Q.js.map} +0 -0
  41. /package/bundle/{phase-transport-2BRWACDF.js.map → phase-transport-V6Q3XVI3.js.map} +0 -0
  42. /package/bundle/{sleep-SRCSXY6T.js.map → sleep-4ZD43ENZ.js.map} +0 -0
  43. /package/bundle/{subagent-runtime-3UJB4HUB.js.map → subagent-runtime-KEJV3AAG.js.map} +0 -0
  44. /package/bundle/{telegram-adapter-7G773NII.js.map → telegram-adapter-AP4KD425.js.map} +0 -0
  45. /package/bundle/{tool-registry-J6TE3I2T.js.map → tool-registry-3OW66W4Z.js.map} +0 -0
@@ -5,14 +5,14 @@ import {
5
5
  } from "./chunk-7Z3HBPRY.js";
6
6
  import {
7
7
  sleep_exports
8
- } from "./chunk-OLAURO5G.js";
8
+ } from "./chunk-QRZR5WHC.js";
9
9
  import {
10
10
  hotskills_exports,
11
11
  init_hotskills
12
12
  } from "./chunk-JNIHEDKF.js";
13
13
  import "./chunk-EUZDKV3C.js";
14
14
  import "./chunk-YRSMGJFP.js";
15
- import "./chunk-UUIHL65U.js";
15
+ import "./chunk-RIQILIBT.js";
16
16
  import "./chunk-GRVWZO4C.js";
17
17
  import "./chunk-N5KN3LGD.js";
18
18
  import "./chunk-2KC5G3EA.js";
@@ -33,4 +33,4 @@ var capabilities = [
33
33
  export {
34
34
  capabilities
35
35
  };
36
- //# sourceMappingURL=_registry.generated-RC6PEH6Z.js.map
36
+ //# sourceMappingURL=_registry.generated-63W2WKXW.js.map
package/bundle/abtars.js CHANGED
@@ -19,10 +19,10 @@ import {
19
19
  createSkillStatsFlushTask,
20
20
  createUpdateCheckTask,
21
21
  phasePipelineDeps
22
- } from "./chunk-HMKVL7AX.js";
22
+ } from "./chunk-QRMN5TAW.js";
23
23
  import {
24
24
  loadNLMConfig
25
- } from "./chunk-BFDBGESM.js";
25
+ } from "./chunk-LXYKFANI.js";
26
26
  import "./chunk-63A7ZRIH.js";
27
27
  import {
28
28
  HeartbeatSystem,
@@ -31,7 +31,7 @@ import {
31
31
  } from "./chunk-GP4XUKI5.js";
32
32
  import {
33
33
  phaseTransport
34
- } from "./chunk-Q32H6VPU.js";
34
+ } from "./chunk-GRYCM3JE.js";
35
35
  import {
36
36
  resetAllCtxStarts
37
37
  } from "./chunk-JQDJPUHM.js";
@@ -40,11 +40,11 @@ import "./chunk-OKAQICWY.js";
40
40
  import {
41
41
  loadAndValidateConfig
42
42
  } from "./chunk-NDCRWEEJ.js";
43
- import "./chunk-ZKJOFASV.js";
43
+ import "./chunk-N75OXMFF.js";
44
44
  import "./chunk-LUW62WGO.js";
45
45
  import {
46
46
  SubagentRuntime
47
- } from "./chunk-3CACHBDI.js";
47
+ } from "./chunk-KQME4N7U.js";
48
48
  import {
49
49
  createCapabilityRegistry
50
50
  } from "./chunk-XX6BGTPO.js";
@@ -57,12 +57,12 @@ import {
57
57
  } from "./chunk-YRSMGJFP.js";
58
58
  import {
59
59
  setPeerActivityCallback
60
- } from "./chunk-RIHQ37U5.js";
60
+ } from "./chunk-F7THYOK3.js";
61
61
  import {
62
62
  abmind,
63
63
  loadAbmind,
64
64
  resetAbmindCache
65
- } from "./chunk-UUIHL65U.js";
65
+ } from "./chunk-RIQILIBT.js";
66
66
  import "./chunk-B6ZN6COK.js";
67
67
  import "./chunk-URQPDCK5.js";
68
68
  import "./chunk-VOLAZHA2.js";
@@ -1145,7 +1145,7 @@ async function phasePlatformsConnect(ctx) {
1145
1145
  registry.register("telegram", {
1146
1146
  configured: Boolean(config.telegram.botToken && config.telegram.allowedUserIds.size > 0),
1147
1147
  async create() {
1148
- const { TelegramAdapter } = await import("./telegram-adapter-7G773NII.js");
1148
+ const { TelegramAdapter } = await import("./telegram-adapter-AP4KD425.js");
1149
1149
  const adapter = new TelegramAdapter(
1150
1150
  { botToken: config.telegram.botToken, allowedUserIds: config.telegram.allowedUserIds, pollTimeoutS: config.telegram.pollTimeoutS },
1151
1151
  { pipeline: { handleInbound: (msg) => recovery.handle(msg, adapter) }, conversationBuffer: ctx.conversationBuffer, transport: null, memory: null, sessionManager: ctx.sessionManager, actionGate: ctx.actionGate }
@@ -1177,7 +1177,7 @@ async function phasePlatformsConnect(ctx) {
1177
1177
  if (!config.discord.appId || !isValidSnowflake(config.discord.appId)) {
1178
1178
  throw new Error("DISCORD_APP_ID missing or invalid \u2014 Discord disabled");
1179
1179
  }
1180
- const { DiscordAdapter } = await import("./discord-adapter-4TTETYDI.js");
1180
+ const { DiscordAdapter } = await import("./discord-adapter-J2LR3INL.js");
1181
1181
  const adapter = new DiscordAdapter(
1182
1182
  { botToken: config.discord.botToken, appId: config.discord.appId, allowedUserIds: config.discord.allowedUserIds },
1183
1183
  { pipeline: { handleInbound: (msg) => recovery.handle(msg, adapter) }, transport: null, memory: null, conversationBuffer: ctx.conversationBuffer }
@@ -1255,7 +1255,7 @@ async function phaseCapabilities(ctx) {
1255
1255
  let loaded = [];
1256
1256
  let staticCaps;
1257
1257
  try {
1258
- ({ capabilities: staticCaps } = await import("./_registry.generated-RC6PEH6Z.js"));
1258
+ ({ capabilities: staticCaps } = await import("./_registry.generated-63W2WKXW.js"));
1259
1259
  } catch (err) {
1260
1260
  logError("capabilities", `Registry import failed: ${err instanceof Error ? err.message : String(err)}. Loading individually.`);
1261
1261
  staticCaps = [];
@@ -1472,8 +1472,8 @@ async function phaseSleep(ctx) {
1472
1472
  logWarn("boot", `${phaseSleep.name}: skipping \u2014 heartbeat not available`);
1473
1473
  return "skipped";
1474
1474
  }
1475
- const { createSleepHandle } = await import("./sleep-SRCSXY6T.js");
1476
- const { killWakeInhibit } = await import("./commands-EWA4HNCM.js");
1475
+ const { createSleepHandle } = await import("./sleep-4ZD43ENZ.js");
1476
+ const { killWakeInhibit } = await import("./commands-QEGLY46M.js");
1477
1477
  const SLEEP_HOUR = parseInt(readEnvWithDefault("BED_TIME", "2", "bedtime hour").split(":")[0] ?? "2", 10);
1478
1478
  let subagent = null;
1479
1479
  const { getEnv: getEnv2 } = await import("./env-schema-4JXQUOH4.js");
@@ -3,7 +3,7 @@
3
3
  import {
4
4
  createAgentTransport,
5
5
  createSubagentTransport
6
- } from "./chunk-ZKJOFASV.js";
6
+ } from "./chunk-N75OXMFF.js";
7
7
  import "./chunk-LUW62WGO.js";
8
8
  import "./chunk-GRVWZO4C.js";
9
9
  import "./chunk-N5KN3LGD.js";
@@ -17,4 +17,4 @@ export {
17
17
  createAgentTransport,
18
18
  createSubagentTransport
19
19
  };
20
- //# sourceMappingURL=agent-registry-GU7ABOK5.js.map
20
+ //# sourceMappingURL=agent-registry-6IH7NS4T.js.map
@@ -2,7 +2,7 @@
2
2
  import { createRequire as __bundleCreateRequire } from 'node:module'; import { fileURLToPath as __bundleFileURLToPath } from 'node:url'; import { dirname as __bundleDirname } from 'node:path'; const require = __bundleCreateRequire(import.meta.url); const __chunk_filename = __bundleFileURLToPath(import.meta.url); const __chunk_dirname = __bundleDirname(__chunk_filename);
3
3
  import {
4
4
  abmind
5
- } from "./chunk-UUIHL65U.js";
5
+ } from "./chunk-RIQILIBT.js";
6
6
  import {
7
7
  getDelegationTools
8
8
  } from "./chunk-B6ZN6COK.js";
@@ -1243,4 +1243,4 @@ export {
1243
1243
  getToolSchemas,
1244
1244
  executeToolCall
1245
1245
  };
1246
- //# sourceMappingURL=chunk-RIHQ37U5.js.map
1246
+ //# sourceMappingURL=chunk-F7THYOK3.js.map
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-JQDJPUHM.js";
6
6
  import {
7
7
  createAgentTransport
8
- } from "./chunk-ZKJOFASV.js";
8
+ } from "./chunk-N75OXMFF.js";
9
9
  import {
10
10
  init_spin,
11
11
  spin_exports
@@ -533,7 +533,7 @@ async function buildTransport(ctx) {
533
533
  defaults?.maxWaitSec ?? config.transport.tmuxMaxWaitSec
534
534
  );
535
535
  } else if (resolved.provider.transport === "api") {
536
- const { DirectApiTransport } = await import("./direct-api-transport-WQ6HA5OX.js");
536
+ const { DirectApiTransport } = await import("./direct-api-transport-QTFFUAHE.js");
537
537
  const { ModelHealthRegistry } = await import("./model-health-registry-MLEIZSTV.js");
538
538
  const { FallbackPolicy } = await import("./fallback-policy-SR6ED5I3.js");
539
539
  const apiKey = getEnv().getApiKey(resolved.provider.apiKeyEnv ?? "API_KEY");
@@ -643,13 +643,13 @@ async function buildTransport(ctx) {
643
643
  const { join: join2 } = await import("node:path");
644
644
  const { abtarsHome: abtarsHome2 } = await import("./paths-X4LRYUI6.js");
645
645
  const { ActionGate } = await import("./action-gate-G2V47NHW.js");
646
- const { setActionGate } = await import("./tool-registry-J6TE3I2T.js");
646
+ const { setActionGate } = await import("./tool-registry-3OW66W4Z.js");
647
647
  const authDir = join2(abtarsHome2(), "auth");
648
648
  ctx.actionGate = new ActionGate(authDir);
649
649
  setActionGate(ctx.actionGate);
650
650
  logDebug("main", "\u{1F512} ActionGate wired");
651
651
  if (ctx.seatbeltActive) {
652
- const { setSeatbelt } = await import("./tool-registry-J6TE3I2T.js");
652
+ const { setSeatbelt } = await import("./tool-registry-3OW66W4Z.js");
653
653
  const { getPolicy } = await import("./seatbelt-GFJ3BR2E.js");
654
654
  const home = abtarsHome2();
655
655
  const policy = getPolicy("A", join2(home, "workspace"), home);
@@ -657,7 +657,7 @@ async function buildTransport(ctx) {
657
657
  logDebug("main", "\u{1F6E1}\uFE0F Seatbelt wired to tool-registry");
658
658
  }
659
659
  if (resolved.provider.transport === "api" && ctx.memory?.available) {
660
- const { setMemoryBackend } = await import("./tool-registry-J6TE3I2T.js");
660
+ const { setMemoryBackend } = await import("./tool-registry-3OW66W4Z.js");
661
661
  const mm = ctx.memory;
662
662
  const backend = {
663
663
  initialize: async () => {
@@ -685,7 +685,7 @@ async function buildTransport(ctx) {
685
685
  const db = ctx.memory.getDb?.() ?? ctx.memory.getDatabase?.();
686
686
  if (db && resolved.contextWindow >= 128e3) {
687
687
  const { ContextEngine } = await import("abmind");
688
- const { createContextOrchestrator } = await import("./context-5P7IYYU2.js");
688
+ const { createContextOrchestrator } = await import("./context-GYHF4PVF.js");
689
689
  const contextEngine = new ContextEngine(db);
690
690
  const orchestrator = createContextOrchestrator(
691
691
  contextEngine,
@@ -745,4 +745,4 @@ export {
745
745
  buildTransport,
746
746
  rebuildTransport
747
747
  };
748
- //# sourceMappingURL=chunk-Q32H6VPU.js.map
748
+ //# sourceMappingURL=chunk-GRYCM3JE.js.map
@@ -69,7 +69,7 @@ var SubagentRuntime = class {
69
69
  const cached = this.cache.get(agent);
70
70
  if (cached && sessionStrategy === "fresh") {
71
71
  await cached.transport.resetSession?.(cached.sessionKey);
72
- (await import("./tool-registry-J6TE3I2T.js")).resetStoreCounter();
72
+ (await import("./tool-registry-3OW66W4Z.js")).resetStoreCounter();
73
73
  }
74
74
  const { transport, model, sessionKey } = cached ?? await this.createAgent(agent, opts?.sessionType);
75
75
  if (opts?.timeoutMs && transport.setTimeoutOverride) {
@@ -176,7 +176,7 @@ var SubagentRuntime = class {
176
176
  const { logInfo: logInfo2 } = await import("./logger-OWCSNYCA.js");
177
177
  logInfo2("subagent", `Sandbox spawn: ${agent} (type=${resolvedType}) \u2192 Docker container`);
178
178
  }
179
- const { createSubagentTransport } = await import("./agent-registry-GU7ABOK5.js");
179
+ const { createSubagentTransport } = await import("./agent-registry-6IH7NS4T.js");
180
180
  const role = AGENT_TO_ROLE[agent];
181
181
  const mainModel = this._mainTransport && "currentModel" in this._mainTransport ? this._mainTransport.currentModel : void 0;
182
182
  const { transport, model } = await createSubagentTransport(role, this._registry ?? void 0, mainModel);
@@ -192,7 +192,7 @@ var SubagentRuntime = class {
192
192
  const sessionKey = `system:${cacheKey ?? agent}`;
193
193
  const entry = { transport, model, sessionKey };
194
194
  this.cache.set(cacheKey ?? agent, entry);
195
- (await import("./tool-registry-J6TE3I2T.js")).resetStoreCounter();
195
+ (await import("./tool-registry-3OW66W4Z.js")).resetStoreCounter();
196
196
  return entry;
197
197
  }
198
198
  };
@@ -207,4 +207,4 @@ var AGENT_TO_ROLE = {
207
207
  export {
208
208
  SubagentRuntime
209
209
  };
210
- //# sourceMappingURL=chunk-3CACHBDI.js.map
210
+ //# sourceMappingURL=chunk-KQME4N7U.js.map
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-LUW62WGO.js";
12
12
  import {
13
13
  abmind
14
- } from "./chunk-UUIHL65U.js";
14
+ } from "./chunk-RIQILIBT.js";
15
15
  import {
16
16
  fire,
17
17
  hasHooks
@@ -4111,4 +4111,4 @@ export {
4111
4111
  resetAndPrepare,
4112
4112
  handleInboundMessage
4113
4113
  };
4114
- //# sourceMappingURL=chunk-BFDBGESM.js.map
4114
+ //# sourceMappingURL=chunk-LXYKFANI.js.map
@@ -70,7 +70,7 @@ async function createSubagentTransport(role, registry, currentModel) {
70
70
  return { model: fb.model, provider: fb.provider, providerName: fb.providerName, contextWindow: fb.contextWindow, maxOutput: fb.maxOutput, fallbacks: [] };
71
71
  })();
72
72
  if (agent.provider.transport === "api") {
73
- const { DirectApiTransport } = await import("./direct-api-transport-WQ6HA5OX.js");
73
+ const { DirectApiTransport } = await import("./direct-api-transport-QTFFUAHE.js");
74
74
  const { FallbackPolicy } = await import("./fallback-policy-SR6ED5I3.js");
75
75
  const apiKey = getEnv().getApiKey(agent.provider.apiKeyEnv ?? "API_KEY");
76
76
  const startModel = currentModel ?? agent.model;
@@ -187,4 +187,4 @@ export {
187
187
  createAgentTransport,
188
188
  createSubagentTransport
189
189
  };
190
- //# sourceMappingURL=chunk-ZKJOFASV.js.map
190
+ //# sourceMappingURL=chunk-N75OXMFF.js.map
@@ -2,7 +2,7 @@
2
2
  import { createRequire as __bundleCreateRequire } from 'node:module'; import { fileURLToPath as __bundleFileURLToPath } from 'node:url'; import { dirname as __bundleDirname } from 'node:path'; const require = __bundleCreateRequire(import.meta.url); const __chunk_filename = __bundleFileURLToPath(import.meta.url); const __chunk_dirname = __bundleDirname(__chunk_filename);
3
3
  import {
4
4
  setIdleCompactReset
5
- } from "./chunk-BFDBGESM.js";
5
+ } from "./chunk-LXYKFANI.js";
6
6
  import {
7
7
  updateCtxStart
8
8
  } from "./chunk-JQDJPUHM.js";
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-WYHGNI56.js";
16
16
  import {
17
17
  abmind
18
- } from "./chunk-UUIHL65U.js";
18
+ } from "./chunk-RIQILIBT.js";
19
19
  import {
20
20
  init_spin,
21
21
  spin
@@ -1048,7 +1048,7 @@ Exception: fixing JSON structural corruption (invalid syntax, parse errors) is a
1048
1048
  A single task failure is NOT grounds for config changes. Investigate root cause, report findings.`;
1049
1049
  void (async () => {
1050
1050
  try {
1051
- const { SubagentRuntime } = await import("./subagent-runtime-3UJB4HUB.js");
1051
+ const { SubagentRuntime } = await import("./subagent-runtime-KEJV3AAG.js");
1052
1052
  const runtime = new SubagentRuntime();
1053
1053
  await runtime.complete("coding", msg, { sessionType: "S" });
1054
1054
  await runtime.shutdown();
@@ -1072,7 +1072,7 @@ Resume with: /task resume <id>`;
1072
1072
  ctx.cronQueue = cronQueue;
1073
1073
  const cronCallback = (_chatId, _message, _result, _dodFiles) => {
1074
1074
  };
1075
- const { setEnqueueCron } = await import("./tool-registry-J6TE3I2T.js");
1075
+ const { setEnqueueCron } = await import("./tool-registry-3OW66W4Z.js");
1076
1076
  const enqueueCron = (id, manual) => {
1077
1077
  try {
1078
1078
  const entry = readEntry(id);
@@ -1135,7 +1135,7 @@ Resume with: /task resume <id>`;
1135
1135
  selfHealerTask: null,
1136
1136
  hailMary: ctx.hailMary,
1137
1137
  rebuildTransport: async () => {
1138
- const { rebuildTransport } = await import("./phase-transport-2BRWACDF.js");
1138
+ const { rebuildTransport } = await import("./phase-transport-V6Q3XVI3.js");
1139
1139
  await rebuildTransport(ctx);
1140
1140
  },
1141
1141
  phaseHealth: ctx.phaseHealth,
@@ -1154,7 +1154,7 @@ Resume with: /task resume <id>`;
1154
1154
  }
1155
1155
  };
1156
1156
  ctx.pipelineDeps = pipelineDeps;
1157
- const { handleInboundMessage } = await import("./message-pipeline-KSONH4MT.js");
1157
+ const { handleInboundMessage } = await import("./message-pipeline-MV7JIE5Q.js");
1158
1158
  if (ctx.telegramAdapter) {
1159
1159
  ctx.telegramAdapter.setMessageHandler({ pipeline: pipelineDeps, conversationBuffer: ctx.conversationBuffer, transport, memory: ctx.memory, sessionManager: ctx.sessionManager, actionGate: ctx.actionGate });
1160
1160
  logInfo("boot", "Telegram: full pipeline wired");
@@ -1180,7 +1180,7 @@ Resume with: /task resume <id>`;
1180
1180
  if (ctx.telegramAdapter) {
1181
1181
  const mainChatId = config.mainChatId;
1182
1182
  if (mainChatId) {
1183
- const { setSendDocument } = await import("./tool-registry-J6TE3I2T.js");
1183
+ const { setSendDocument } = await import("./tool-registry-3OW66W4Z.js");
1184
1184
  setSendDocument((path, caption) => ctx.telegramAdapter.sendDocument(String(mainChatId), path, caption));
1185
1185
  if (ctx.actionGate) {
1186
1186
  const api = ctx.telegramAdapter.api;
@@ -1197,14 +1197,14 @@ Resume with: /task resume <id>`;
1197
1197
  }
1198
1198
  const ircAdapter = ctx.platformAdapters.get("irc");
1199
1199
  if (ircAdapter) {
1200
- const { setIrcSend } = await import("./tool-registry-J6TE3I2T.js");
1200
+ const { setIrcSend } = await import("./tool-registry-3OW66W4Z.js");
1201
1201
  setIrcSend((channel, message) => {
1202
1202
  ircAdapter.sendMessage(channel, message);
1203
1203
  });
1204
1204
  }
1205
1205
  const { initChannelSync } = await import("./kanban-channel-IJ52OMNA.js");
1206
1206
  initChannelSync();
1207
- const { registerTier3Tasks } = await import("./heartbeat-tier3-55T2HUNE.js");
1207
+ const { registerTier3Tasks } = await import("./heartbeat-tier3-SAIBVLMH.js");
1208
1208
  await registerTier3Tasks(ctx);
1209
1209
  return "ran";
1210
1210
  }
@@ -1230,4 +1230,4 @@ export {
1230
1230
  phasePipelineDeps,
1231
1231
  createCronCallback
1232
1232
  };
1233
- //# sourceMappingURL=chunk-HMKVL7AX.js.map
1233
+ //# sourceMappingURL=chunk-QRMN5TAW.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-YRSMGJFP.js";
7
7
  import {
8
8
  abmind
9
- } from "./chunk-UUIHL65U.js";
9
+ } from "./chunk-RIQILIBT.js";
10
10
  import {
11
11
  init_bridge_lock_transport,
12
12
  readAndClearForceSleep,
@@ -235,4 +235,4 @@ export {
235
235
  register,
236
236
  sleep_exports
237
237
  };
238
- //# sourceMappingURL=chunk-OLAURO5G.js.map
238
+ //# sourceMappingURL=chunk-QRZR5WHC.js.map
@@ -43,7 +43,9 @@ async function loadAbmind() {
43
43
  _loaded = true;
44
44
  let mod = null;
45
45
  try {
46
- mod = await import("abmind");
46
+ const req = createRequire(import.meta.url);
47
+ const resolvedPath = req.resolve("abmind");
48
+ mod = await import(resolvedPath);
47
49
  } catch {
48
50
  mod = null;
49
51
  }
@@ -74,4 +76,4 @@ export {
74
76
  loadAbmind,
75
77
  abmind
76
78
  };
77
- //# sourceMappingURL=chunk-UUIHL65U.js.map
79
+ //# sourceMappingURL=chunk-RIQILIBT.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/utils/abmind-lazy.ts"],
4
- "sourcesContent": ["/**\n * Lazy abmind loader \u2014 pre-loaded once at boot, then available synchronously.\n * ALL runtime access to abmind goes through here.\n *\n * If abmind is not installed, or is below the supported contract version\n * (#1243), abmind() returns null and the bridge runs without persistent\n * memory (nullMemory). A below-floor abmind is rejected loudly \u2014 never a\n * silent contract break that would quietly drop memory mid-session.\n */\nimport { createRequire } from \"node:module\";\nimport { readFileSync } from \"node:fs\";\nimport { logDebug, logError, logWarn } from \"../components/logger.js\";\n\ntype AbmindModule = typeof import(\"abmind\");\n\n/**\n * Minimum abmind version that provides the supported contract surface\n * (abmind SUPPORTED-SURFACE.md, #1243). Below this \u2192 memory disabled loudly.\n * Bump only when abtars starts relying on newer surface.\n */\nexport const ABMIND_MIN: readonly [number, number, number] = [0, 3, 0];\n\nlet _mod: AbmindModule | null = null;\nlet _loaded = false;\n\n/** Reset cache \u2014 called on in-process restart. */\nexport function resetAbmindCache(): void {\n _mod = null;\n _loaded = false;\n}\n\n/** Parse the leading major.minor.patch from a semver string (ignores pre-release/build). */\nexport function parseSemver(v: string): [number, number, number] | null {\n const m = /^(\\d+)\\.(\\d+)\\.(\\d+)/.exec(v);\n return m ? [Number(m[1]), Number(m[2]), Number(m[3])] : null;\n}\n\nfunction lt(a: readonly [number, number, number], b: readonly [number, number, number]): boolean {\n return a[0] !== b[0] ? a[0] < b[0] : a[1] !== b[1] ? a[1] < b[1] : a[2] < b[2];\n}\n\n/** True iff `version` is at least ABMIND_MIN (the supported contract floor). */\nexport function isSupportedVersion(version: string): boolean {\n const p = parseSemver(version);\n return !!p && !lt(p, ABMIND_MIN);\n}\n\n/** Read the version of the resolvable abmind package, or null if not resolvable. */\nfunction readResolvedAbmindVersion(): string | null {\n try {\n const req = createRequire(import.meta.url);\n const pkgPath = req.resolve(\"abmind/package.json\");\n return (JSON.parse(readFileSync(pkgPath, \"utf-8\")).version as string) ?? null;\n } catch {\n return null;\n }\n}\n\n/** Call once at boot (phase-memory). Caches the module. Returns null if unavailable or below-floor. */\nexport async function loadAbmind(): Promise<AbmindModule | null> {\n if (_loaded) return _mod;\n _loaded = true;\n\n let mod: AbmindModule | null = null;\n try {\n mod = await import(\"abmind\");\n } catch {\n mod = null;\n }\n if (!mod) {\n logWarn(\"boot\", \"abmind not installed \u2014 running without persistent memory\");\n _mod = null;\n return null;\n }\n\n const ver = readResolvedAbmindVersion();\n if (!ver || !isSupportedVersion(ver)) {\n logError(\n \"boot\",\n `abmind@${ver ?? \"?\"} is below the supported floor ${ABMIND_MIN.join(\".\")} \u2014 memory disabled to avoid a silent contract break. Upgrade: npm install -g abmind@latest`,\n );\n _mod = null;\n return null;\n }\n\n logDebug(\"boot\", `memory: enabled via abmind@${ver}`);\n _mod = mod;\n return _mod;\n}\n\n/** Synchronous access after loadAbmind() has been called. Returns null if unavailable. */\nexport function abmind(): AbmindModule | null {\n return _mod;\n}\n"],
5
- "mappings": ";;;;;;;;;;AAWA;AAFA,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAUtB,IAAM,aAAgD,CAAC,GAAG,GAAG,CAAC;AAErE,IAAI,OAA4B;AAChC,IAAI,UAAU;AAGP,SAAS,mBAAyB;AACvC,SAAO;AACP,YAAU;AACZ;AAGO,SAAS,YAAY,GAA4C;AACtE,QAAM,IAAI,uBAAuB,KAAK,CAAC;AACvC,SAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI;AAC1D;AAEA,SAAS,GAAG,GAAsC,GAA+C;AAC/F,SAAO,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;AAC/E;AAGO,SAAS,mBAAmB,SAA0B;AAC3D,QAAM,IAAI,YAAY,OAAO;AAC7B,SAAO,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU;AACjC;AAGA,SAAS,4BAA2C;AAClD,MAAI;AACF,UAAM,MAAM,cAAc,YAAY,GAAG;AACzC,UAAM,UAAU,IAAI,QAAQ,qBAAqB;AACjD,WAAQ,KAAK,MAAM,aAAa,SAAS,OAAO,CAAC,EAAE,WAAsB;AAAA,EAC3E,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAGA,eAAsB,aAA2C;AAC/D,MAAI,QAAS,QAAO;AACpB,YAAU;AAEV,MAAI,MAA2B;AAC/B,MAAI;AACF,UAAM,MAAM,OAAO,QAAQ;AAAA,EAC7B,QAAQ;AACN,UAAM;AAAA,EACR;AACA,MAAI,CAAC,KAAK;AACR,YAAQ,QAAQ,+DAA0D;AAC1E,WAAO;AACP,WAAO;AAAA,EACT;AAEA,QAAM,MAAM,0BAA0B;AACtC,MAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,GAAG;AACpC;AAAA,MACE;AAAA,MACA,UAAU,OAAO,GAAG,iCAAiC,WAAW,KAAK,GAAG,CAAC;AAAA,IAC3E;AACA,WAAO;AACP,WAAO;AAAA,EACT;AAEA,WAAS,QAAQ,8BAA8B,GAAG,EAAE;AACpD,SAAO;AACP,SAAO;AACT;AAGO,SAAS,SAA8B;AAC5C,SAAO;AACT;",
4
+ "sourcesContent": ["/**\n * Lazy abmind loader \u2014 pre-loaded once at boot, then available synchronously.\n * ALL runtime access to abmind goes through here.\n *\n * If abmind is not installed, or is below the supported contract version\n * (#1243), abmind() returns null and the bridge runs without persistent\n * memory (nullMemory). A below-floor abmind is rejected loudly \u2014 never a\n * silent contract break that would quietly drop memory mid-session.\n */\nimport { createRequire } from \"node:module\";\nimport { readFileSync } from \"node:fs\";\nimport { logDebug, logError, logWarn } from \"../components/logger.js\";\n\ntype AbmindModule = typeof import(\"abmind\");\n\n/**\n * Minimum abmind version that provides the supported contract surface\n * (abmind SUPPORTED-SURFACE.md, #1243). Below this \u2192 memory disabled loudly.\n * Bump only when abtars starts relying on newer surface.\n */\nexport const ABMIND_MIN: readonly [number, number, number] = [0, 3, 0];\n\nlet _mod: AbmindModule | null = null;\nlet _loaded = false;\n\n/** Reset cache \u2014 called on in-process restart. */\nexport function resetAbmindCache(): void {\n _mod = null;\n _loaded = false;\n}\n\n/** Parse the leading major.minor.patch from a semver string (ignores pre-release/build). */\nexport function parseSemver(v: string): [number, number, number] | null {\n const m = /^(\\d+)\\.(\\d+)\\.(\\d+)/.exec(v);\n return m ? [Number(m[1]), Number(m[2]), Number(m[3])] : null;\n}\n\nfunction lt(a: readonly [number, number, number], b: readonly [number, number, number]): boolean {\n return a[0] !== b[0] ? a[0] < b[0] : a[1] !== b[1] ? a[1] < b[1] : a[2] < b[2];\n}\n\n/** True iff `version` is at least ABMIND_MIN (the supported contract floor). */\nexport function isSupportedVersion(version: string): boolean {\n const p = parseSemver(version);\n return !!p && !lt(p, ABMIND_MIN);\n}\n\n/** Read the version of the resolvable abmind package, or null if not resolvable. */\nfunction readResolvedAbmindVersion(): string | null {\n try {\n const req = createRequire(import.meta.url);\n const pkgPath = req.resolve(\"abmind/package.json\");\n return (JSON.parse(readFileSync(pkgPath, \"utf-8\")).version as string) ?? null;\n } catch {\n return null;\n }\n}\n\n/** Call once at boot (phase-memory). Caches the module. Returns null if unavailable or below-floor. */\nexport async function loadAbmind(): Promise<AbmindModule | null> {\n if (_loaded) return _mod;\n _loaded = true;\n\n let mod: AbmindModule | null = null;\n try {\n const req = createRequire(import.meta.url);\n const resolvedPath = req.resolve(\"abmind\");\n mod = await import(resolvedPath);\n } catch {\n mod = null;\n }\n if (!mod) {\n logWarn(\"boot\", \"abmind not installed \u2014 running without persistent memory\");\n _mod = null;\n return null;\n }\n\n const ver = readResolvedAbmindVersion();\n if (!ver || !isSupportedVersion(ver)) {\n logError(\n \"boot\",\n `abmind@${ver ?? \"?\"} is below the supported floor ${ABMIND_MIN.join(\".\")} \u2014 memory disabled to avoid a silent contract break. Upgrade: npm install -g abmind@latest`,\n );\n _mod = null;\n return null;\n }\n\n logDebug(\"boot\", `memory: enabled via abmind@${ver}`);\n _mod = mod;\n return _mod;\n}\n\n/** Synchronous access after loadAbmind() has been called. Returns null if unavailable. */\nexport function abmind(): AbmindModule | null {\n return _mod;\n}\n"],
5
+ "mappings": ";;;;;;;;;;AAWA;AAFA,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAUtB,IAAM,aAAgD,CAAC,GAAG,GAAG,CAAC;AAErE,IAAI,OAA4B;AAChC,IAAI,UAAU;AAGP,SAAS,mBAAyB;AACvC,SAAO;AACP,YAAU;AACZ;AAGO,SAAS,YAAY,GAA4C;AACtE,QAAM,IAAI,uBAAuB,KAAK,CAAC;AACvC,SAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI;AAC1D;AAEA,SAAS,GAAG,GAAsC,GAA+C;AAC/F,SAAO,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;AAC/E;AAGO,SAAS,mBAAmB,SAA0B;AAC3D,QAAM,IAAI,YAAY,OAAO;AAC7B,SAAO,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU;AACjC;AAGA,SAAS,4BAA2C;AAClD,MAAI;AACF,UAAM,MAAM,cAAc,YAAY,GAAG;AACzC,UAAM,UAAU,IAAI,QAAQ,qBAAqB;AACjD,WAAQ,KAAK,MAAM,aAAa,SAAS,OAAO,CAAC,EAAE,WAAsB;AAAA,EAC3E,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAGA,eAAsB,aAA2C;AAC/D,MAAI,QAAS,QAAO;AACpB,YAAU;AAEV,MAAI,MAA2B;AAC/B,MAAI;AACF,UAAM,MAAM,cAAc,YAAY,GAAG;AACzC,UAAM,eAAe,IAAI,QAAQ,QAAQ;AACzC,UAAM,MAAM,OAAO;AAAA,EACrB,QAAQ;AACN,UAAM;AAAA,EACR;AACA,MAAI,CAAC,KAAK;AACR,YAAQ,QAAQ,+DAA0D;AAC1E,WAAO;AACP,WAAO;AAAA,EACT;AAEA,QAAM,MAAM,0BAA0B;AACtC,MAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,GAAG;AACpC;AAAA,MACE;AAAA,MACA,UAAU,OAAO,GAAG,iCAAiC,WAAW,KAAK,GAAG,CAAC;AAAA,IAC3E;AACA,WAAO;AACP,WAAO;AAAA,EACT;AAEA,WAAS,QAAQ,8BAA8B,GAAG,EAAE;AACpD,SAAO;AACP,SAAO;AACT;AAGO,SAAS,SAA8B;AAC5C,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -6,11 +6,11 @@ import {
6
6
  registerCommand,
7
7
  triggerNewSession,
8
8
  triggerResetSession
9
- } from "./chunk-BFDBGESM.js";
9
+ } from "./chunk-LXYKFANI.js";
10
10
  import "./chunk-63A7ZRIH.js";
11
11
  import "./chunk-OKAQICWY.js";
12
12
  import "./chunk-LUW62WGO.js";
13
- import "./chunk-UUIHL65U.js";
13
+ import "./chunk-RIQILIBT.js";
14
14
  import "./chunk-NRUSRJXR.js";
15
15
  import "./chunk-YWZPKBO6.js";
16
16
  import "./chunk-EFJVUJBE.js";
@@ -35,4 +35,4 @@ export {
35
35
  triggerNewSession,
36
36
  triggerResetSession
37
37
  };
38
- //# sourceMappingURL=commands-EWA4HNCM.js.map
38
+ //# sourceMappingURL=commands-QEGLY46M.js.map
@@ -2,7 +2,7 @@
2
2
  import { createRequire as __bundleCreateRequire } from 'node:module'; import { fileURLToPath as __bundleFileURLToPath } from 'node:url'; import { dirname as __bundleDirname } from 'node:path'; const require = __bundleCreateRequire(import.meta.url); const __chunk_filename = __bundleFileURLToPath(import.meta.url); const __chunk_dirname = __bundleDirname(__chunk_filename);
3
3
  import {
4
4
  abmind
5
- } from "./chunk-UUIHL65U.js";
5
+ } from "./chunk-RIQILIBT.js";
6
6
  import "./chunk-GWILHZPT.js";
7
7
  import "./chunk-GALQBVKO.js";
8
8
  import "./chunk-O7KQG6ME.js";
@@ -73,4 +73,4 @@ export {
73
73
  createContextOrchestrator,
74
74
  createSummarizeFn
75
75
  };
76
- //# sourceMappingURL=context-5P7IYYU2.js.map
76
+ //# sourceMappingURL=context-GYHF4PVF.js.map
@@ -9,8 +9,8 @@ import {
9
9
  import {
10
10
  executeToolCall,
11
11
  getToolSchemas
12
- } from "./chunk-RIHQ37U5.js";
13
- import "./chunk-UUIHL65U.js";
12
+ } from "./chunk-F7THYOK3.js";
13
+ import "./chunk-RIQILIBT.js";
14
14
  import "./chunk-B6ZN6COK.js";
15
15
  import "./chunk-URQPDCK5.js";
16
16
  import "./chunk-VOLAZHA2.js";
@@ -937,4 +937,4 @@ ${summary}`);
937
937
  export {
938
938
  DirectApiTransport
939
939
  };
940
- //# sourceMappingURL=direct-api-transport-WQ6HA5OX.js.map
940
+ //# sourceMappingURL=direct-api-transport-QTFFUAHE.js.map
@@ -13,11 +13,11 @@ import {
13
13
  } from "./chunk-HFOCNYEO.js";
14
14
  import {
15
15
  handleInboundMessage
16
- } from "./chunk-BFDBGESM.js";
16
+ } from "./chunk-LXYKFANI.js";
17
17
  import "./chunk-63A7ZRIH.js";
18
18
  import "./chunk-OKAQICWY.js";
19
19
  import "./chunk-LUW62WGO.js";
20
- import "./chunk-UUIHL65U.js";
20
+ import "./chunk-RIQILIBT.js";
21
21
  import "./chunk-NRUSRJXR.js";
22
22
  import "./chunk-YWZPKBO6.js";
23
23
  import "./chunk-EFJVUJBE.js";
@@ -622,4 +622,4 @@ export {
622
622
  DISCORD_CAPABILITIES,
623
623
  DiscordAdapter
624
624
  };
625
- //# sourceMappingURL=discord-adapter-4TTETYDI.js.map
625
+ //# sourceMappingURL=discord-adapter-J2LR3INL.js.map
@@ -17,8 +17,8 @@ import {
17
17
  createMetricsTask,
18
18
  createUserSessionExpiryTask,
19
19
  readPendingReminders
20
- } from "./chunk-HMKVL7AX.js";
21
- import "./chunk-BFDBGESM.js";
20
+ } from "./chunk-QRMN5TAW.js";
21
+ import "./chunk-LXYKFANI.js";
22
22
  import "./chunk-63A7ZRIH.js";
23
23
  import "./chunk-JQDJPUHM.js";
24
24
  import "./chunk-ZAA7B5BN.js";
@@ -28,7 +28,7 @@ import "./chunk-WYHGNI56.js";
28
28
  import {
29
29
  readEnvWithDefault
30
30
  } from "./chunk-YRSMGJFP.js";
31
- import "./chunk-UUIHL65U.js";
31
+ import "./chunk-RIQILIBT.js";
32
32
  import "./chunk-NRUSRJXR.js";
33
33
  import {
34
34
  init_spin,
@@ -543,7 +543,7 @@ ${String(meta.message ?? "").slice(0, 200)}`);
543
543
  }
544
544
  ctx.selfHealerTask = selfHealerTask;
545
545
  pipelineDeps.selfHealerTask = selfHealerTask;
546
- const { registerCommand } = await import("./commands-EWA4HNCM.js");
546
+ const { registerCommand } = await import("./commands-QEGLY46M.js");
547
547
  for (const [name, handler] of capabilities.commands) {
548
548
  registerCommand(name, handler);
549
549
  }
@@ -559,4 +559,4 @@ ${String(meta.message ?? "").slice(0, 200)}`);
559
559
  export {
560
560
  registerTier3Tasks
561
561
  };
562
- //# sourceMappingURL=heartbeat-tier3-55T2HUNE.js.map
562
+ //# sourceMappingURL=heartbeat-tier3-SAIBVLMH.js.map
@@ -6,11 +6,11 @@ import {
6
6
  resetAndPrepare,
7
7
  resetIdleCompactFlag,
8
8
  setIdleCompactReset
9
- } from "./chunk-BFDBGESM.js";
9
+ } from "./chunk-LXYKFANI.js";
10
10
  import "./chunk-63A7ZRIH.js";
11
11
  import "./chunk-OKAQICWY.js";
12
12
  import "./chunk-LUW62WGO.js";
13
- import "./chunk-UUIHL65U.js";
13
+ import "./chunk-RIQILIBT.js";
14
14
  import "./chunk-NRUSRJXR.js";
15
15
  import "./chunk-YWZPKBO6.js";
16
16
  import "./chunk-EFJVUJBE.js";
@@ -35,4 +35,4 @@ export {
35
35
  resetIdleCompactFlag,
36
36
  setIdleCompactReset
37
37
  };
38
- //# sourceMappingURL=message-pipeline-KSONH4MT.js.map
38
+ //# sourceMappingURL=message-pipeline-MV7JIE5Q.js.map