wednesdayai 0.5.1-dev.25 → 0.5.1-dev.27

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 (160) hide show
  1. package/dist/{agent-scope-BKsGMXqc.js → agent-scope-DCgndASv.js} +3 -3
  2. package/dist/{agent-turn-runner-LKV3FMwQ.js → agent-turn-runner-CX7rX8by.js} +6 -6
  3. package/dist/{api-key-rotation-DZNFm4xG.js → api-key-rotation-dv2YbGr8.js} +2 -2
  4. package/dist/{audio-preflight-DQous9JR.js → audio-preflight-Qwb3oAbc.js} +29 -29
  5. package/dist/{audio-transcription-runner-BK3cV_ad.js → audio-transcription-runner-C4eHWIy0.js} +26 -26
  6. package/dist/build-info.json +3 -3
  7. package/dist/bundled/boot-md/handler.js +60 -60
  8. package/dist/bundled/bootstrap-extra-files/handler.js +6 -6
  9. package/dist/bundled/command-logger/handler.js +2 -2
  10. package/dist/bundled/session-journal/handler.js +60 -60
  11. package/dist/bundled/session-memory/handler.js +60 -60
  12. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  13. package/dist/{channel-activity-BAxUpg5h.js → channel-activity-Kn1_ykXE.js} +3 -3
  14. package/dist/{chat-content-BWkiC3u3.js → chat-content-CX7Bfpgy.js} +34 -34
  15. package/dist/{chrome-Dzgbe0zH.js → chrome-Bukcguhv.js} +31 -31
  16. package/dist/{chunk-Bvf22vTh.js → chunk-CEygNI3g.js} +3 -3
  17. package/dist/{command-queue-BOMFLCHM.js → command-queue-DOzYI9q4.js} +1 -1
  18. package/dist/{commands-registry-Da3c0MbL.js → commands-registry-Cof4HjvY.js} +2 -2
  19. package/dist/config.js +9 -9
  20. package/dist/{deliver-CJjQbaJE.js → deliver-BaTG7V5x.js} +29 -29
  21. package/dist/{diagnostic-Dn_o8RGN.js → diagnostic-DMrDenZI.js} +5 -5
  22. package/dist/{errors-1FTZDNVR.js → errors-COs_vQr3.js} +1 -1
  23. package/dist/{fetch-CnDdghbc.js → fetch-B1ohBh6A.js} +8 -8
  24. package/dist/{fetch-guard-B6BYdjiQ.js → fetch-guard-BXzVwvnJ.js} +3 -3
  25. package/dist/{frontmatter-DvbDhvt1.js → frontmatter-Cw_6jMAR.js} +3 -3
  26. package/dist/{fs-safe-IYMDplSg.js → fs-safe-BK5ALzKD.js} +26 -26
  27. package/dist/github-copilot-token-DYYKoDuV.js +106 -0
  28. package/dist/{image-ops-BuzZGoUm.js → image-ops-C-5VgbLB.js} +1 -1
  29. package/dist/{ir-CBsM7qoP.js → ir-DioI2VyB.js} +5 -5
  30. package/dist/{legacy-names-Ckds5WWe.js → legacy-names-CghFcfry.js} +1 -1
  31. package/dist/llm-slug-generator.js +60 -60
  32. package/dist/{logger-BeXVb5cn.js → logger-J4xjy-6D.js} +1 -1
  33. package/dist/{manager-BujYLKny.js → manager-D728Thsn.js} +18 -18
  34. package/dist/{markdown-tables-WuCFdPlC.js → markdown-tables-DfLMw9ti.js} +2 -2
  35. package/dist/{model-selection-CHi8o17y.js → model-selection-BHGpQSa9.js} +83 -83
  36. package/dist/{models-config-CAlyknIh.js → models-config-CJUMccZW.js} +2 -2
  37. package/dist/{outbound-attachment-C6mfyze2.js → outbound-attachment-DtVXUXnX.js} +2 -2
  38. package/dist/{outbound-message-hooks-jUzcd2OQ.js → outbound-message-hooks-7ErHCBLv.js} +5 -5
  39. package/dist/{path-alias-guards-BgOxr6f8.js → path-alias-guards-E9ntDORB.js} +1 -1
  40. package/dist/paths-BIDPYPVC.js +233 -0
  41. package/dist/{pi-embedded-aOKwlbog.js → pi-embedded-DpTacVAX.js} +277 -277
  42. package/dist/{pi-embedded-utils-BGvDJMAA.js → pi-embedded-utils-BAaHvb5G.js} +3 -3
  43. package/dist/{pi-model-discovery-CYfRyzsD.js → pi-model-discovery-BaH_6win.js} +7 -7
  44. package/dist/plugin-sdk/{agent-turn-execute-C6g1y27e.js → agent-turn-execute-Dg4sVJSk.js} +12 -12
  45. package/dist/plugin-sdk/{agent-turn-runner-BkP71ySA.js → agent-turn-runner-CD9Y0Gsf.js} +4 -4
  46. package/dist/plugin-sdk/{audio-preflight-CsMLbzm_.js → audio-preflight-GgmY1Zte.js} +5 -5
  47. package/dist/plugin-sdk/{audio-transcription-runner-2bpzZm3F.js → audio-transcription-runner-0gef4Ef0.js} +1 -1
  48. package/dist/plugin-sdk/{chat-content-CCOQCwrz.js → chat-content-Dpzf2nbZ.js} +3 -3
  49. package/dist/plugin-sdk/{chrome-C2bUQR0d.js → chrome-D9DwZOSC.js} +8 -8
  50. package/dist/plugin-sdk/{command-queue-J0ZpvnYU.js → command-queue-Cm8QKC0F.js} +1 -1
  51. package/dist/plugin-sdk/{deliver-CT3Lk2kq.js → deliver-CZVPDUrt.js} +1 -1
  52. package/dist/plugin-sdk/{deliver-dkNTCb3Z.js → deliver-D6hs0zDt.js} +3 -3
  53. package/dist/plugin-sdk/{diagnostic-C-Clqb63.js → diagnostic-Bi52EuT5.js} +1 -1
  54. package/dist/plugin-sdk/{monitor-BHeL2-is.js → monitor-BrUwRgsT.js} +32 -32
  55. package/dist/plugin-sdk/{pi-embedded-utils-BmeLQMRx.js → pi-embedded-utils-CeNVVYT3.js} +1 -1
  56. package/dist/plugin-sdk/{provider-dispatcher-BkEWKVLB.js → provider-dispatcher-Bx_RMlu-.js} +12 -12
  57. package/dist/plugin-sdk/{provider-image-QDVfXKph.js → provider-image-CBXOs7yQ.js} +4 -4
  58. package/dist/plugin-sdk/{provider-image-BSV8WjkR.js → provider-image-DH8Jro3J.js} +1 -1
  59. package/dist/plugin-sdk/{pw-ai-QlS2E2LB.js → pw-ai-BP4Kwaqc.js} +1 -1
  60. package/dist/plugin-sdk/{runs-8iACp6xv.js → runs-C1Lvxfri.js} +3 -3
  61. package/dist/plugin-sdk/{runs-D0UdtKVI.js → runs-DG49eFuR.js} +5 -5
  62. package/dist/plugin-sdk/{send-BP8o2l4w.js → send-BguPpGBL.js} +2 -2
  63. package/dist/plugin-sdk/{send-CYZi6dwK.js → send-CcEF6VcP.js} +1 -1
  64. package/dist/plugin-sdk/{subagent-registry-DA50ITkO.js → subagent-registry-B4EmS6cu.js} +12 -12
  65. package/dist/plugin-sdk/testing.js +12 -12
  66. package/dist/{provider-image-CNBkTbhu.js → provider-image-BSkZoSBN.js} +6 -6
  67. package/dist/{proxy-Ds4gxPy8.js → proxy-CrSpy5Aw.js} +1 -1
  68. package/dist/{proxy-env-DAf-b2bM.js → proxy-env-BxR4m86L.js} +1 -1
  69. package/dist/{proxy-fetch-M3YAp_Kv.js → proxy-fetch-g109vqdt.js} +1 -1
  70. package/dist/{pw-ai-BcibeG9a.js → pw-ai-CNTt9O_x.js} +14 -14
  71. package/dist/{qmd-manager-C3UBJiCk.js → qmd-manager-CU9iEql0.js} +12 -12
  72. package/dist/{query-expansion-BT5lS0um.js → query-expansion-B_2rETEo.js} +13 -13
  73. package/dist/{recorder-B08vNxya.js → recorder-Clg9Kbqu.js} +2 -2
  74. package/dist/{redact-CKI6SufO.js → redact-DpE5Tg36.js} +1 -1
  75. package/dist/{replies-BHkXhmOj.js → replies-Cty02S3t.js} +5 -5
  76. package/dist/{reply-directives-DkfwzHl4.js → reply-directives-BIh2AkNd.js} +2 -2
  77. package/dist/{reply-prefix-DS2s69iC.js → reply-prefix-C-DjHvQK.js} +1 -1
  78. package/dist/{resolve-route-DxuZn3_M.js → resolve-route-DKZiteo6.js} +5 -5
  79. package/dist/{runs-DFvW_PVw.js → runs-6Q7RU60m.js} +9 -9
  80. package/dist/{send-D2WSE41A.js → send-Bf4geLyV.js} +8 -8
  81. package/dist/{send-mILKKt54.js → send-CsDSBjFo.js} +6 -6
  82. package/dist/{send-yIxOvEiz.js → send-DQvfLvpJ.js} +6 -6
  83. package/dist/{send-2aTk7PU-.js → send-VDe5tGbO.js} +28 -28
  84. package/dist/{send-odd2G3DX.js → send-bwKTbNlJ.js} +7 -7
  85. package/dist/{session-meta-B8B6RwSE.js → session-meta-5XI6vLtM.js} +1 -1
  86. package/dist/{sessions-DC7A0bw-.js → sessions-DF9biCmh.js} +5 -5
  87. package/dist/{skill-commands-DdVSQNce.js → skill-commands-CAOvM2sb.js} +8 -8
  88. package/dist/{skills-BXMjgvRl.js → skills-VN1CJK6W.js} +21 -21
  89. package/dist/{store-BVdeIl7N.js → store-HgGweM4u.js} +7 -7
  90. package/dist/subsystem-BZy3aWdW.js +2761 -0
  91. package/dist/{tables-yHwb0GsI.js → tables-DkwNUhx1.js} +1 -1
  92. package/dist/{tokens-CXBau-U0.js → tokens-PMai9bNL.js} +1 -1
  93. package/dist/{tool-loop-detection-Bw8B0hV3.js → tool-loop-detection-BqyMjpvr.js} +2 -2
  94. package/dist/{user-run-recording-8MZq1Us4.js → user-run-recording-B1HujJiT.js} +2 -2
  95. package/dist/{workspace-DK2ZEkpT.js → workspace-Bj1Jegt-.js} +27 -27
  96. package/extensions/acpx/package.json +1 -1
  97. package/extensions/anthropic/package.json +1 -1
  98. package/extensions/bifrost/package.json +1 -1
  99. package/extensions/bluebubbles/package.json +1 -1
  100. package/extensions/copilot-proxy/package.json +1 -1
  101. package/extensions/deepgram/package.json +1 -1
  102. package/extensions/deepinfra/package.json +1 -1
  103. package/extensions/diagnostics-otel/package.json +1 -1
  104. package/extensions/diffs/package.json +1 -1
  105. package/extensions/discord/package.json +1 -1
  106. package/extensions/dream-cycle/package.json +1 -1
  107. package/extensions/elevenlabs/package.json +1 -1
  108. package/extensions/feishu/package.json +1 -1
  109. package/extensions/gemini-search/package.json +1 -1
  110. package/extensions/google/package.json +1 -1
  111. package/extensions/google-gemini-cli-auth/package.json +1 -1
  112. package/extensions/googlechat/package.json +1 -1
  113. package/extensions/grok-search/package.json +1 -1
  114. package/extensions/groq/package.json +1 -1
  115. package/extensions/imessage/package.json +1 -1
  116. package/extensions/irc/package.json +1 -1
  117. package/extensions/kimi-search/package.json +1 -1
  118. package/extensions/learning-core/package.json +1 -1
  119. package/extensions/line/package.json +1 -1
  120. package/extensions/llm-task/package.json +1 -1
  121. package/extensions/lobster/package.json +1 -1
  122. package/extensions/matrix/CHANGELOG.md +1 -1
  123. package/extensions/matrix/package.json +1 -1
  124. package/extensions/mattermost/package.json +1 -1
  125. package/extensions/memory-core/package.json +1 -1
  126. package/extensions/memory-lancedb/package.json +1 -1
  127. package/extensions/minimax/package.json +1 -1
  128. package/extensions/minimax-portal-auth/package.json +1 -1
  129. package/extensions/mistral/package.json +1 -1
  130. package/extensions/moonshot/package.json +1 -1
  131. package/extensions/msteams/CHANGELOG.md +1 -1
  132. package/extensions/msteams/package.json +1 -1
  133. package/extensions/nextcloud-talk/package.json +1 -1
  134. package/extensions/nostr/CHANGELOG.md +1 -1
  135. package/extensions/nostr/package.json +1 -1
  136. package/extensions/open-prose/package.json +1 -1
  137. package/extensions/openai/package.json +1 -1
  138. package/extensions/openai-realtime/package.json +1 -1
  139. package/extensions/openrouter/package.json +1 -1
  140. package/extensions/perplexity-search/package.json +1 -1
  141. package/extensions/searxng-search/package.json +1 -1
  142. package/extensions/signal/package.json +1 -1
  143. package/extensions/slack/package.json +1 -1
  144. package/extensions/synology-chat/package.json +1 -1
  145. package/extensions/telegram/package.json +1 -1
  146. package/extensions/tlon/package.json +1 -1
  147. package/extensions/twitch/CHANGELOG.md +1 -1
  148. package/extensions/twitch/package.json +1 -1
  149. package/extensions/ui-surfaces/package.json +1 -1
  150. package/extensions/voice-call/CHANGELOG.md +1 -1
  151. package/extensions/voice-call/package.json +1 -1
  152. package/extensions/whatsapp/package.json +1 -1
  153. package/extensions/zai/package.json +1 -1
  154. package/extensions/zalo/CHANGELOG.md +1 -1
  155. package/extensions/zalo/package.json +1 -1
  156. package/extensions/zalouser/CHANGELOG.md +1 -1
  157. package/extensions/zalouser/package.json +1 -1
  158. package/package.json +6 -3
  159. package/scripts/install.ps1 +329 -0
  160. package/scripts/install.sh +2479 -0
@@ -1,4 +1,4 @@
1
- import { r as markdownToIRWithMeta } from "./ir-CBsM7qoP.js";
1
+ import { r as markdownToIRWithMeta } from "./ir-DioI2VyB.js";
2
2
  import { t as renderMarkdownWithMarkers } from "./render-2Ztmr_V0.js";
3
3
 
4
4
  //#region src/markdown/tables.ts
@@ -1,4 +1,4 @@
1
- import { tt as escapeRegExp } from "./subsystem-BaT-AAVZ.js";
1
+ import { tt as escapeRegExp } from "./subsystem-BZy3aWdW.js";
2
2
 
3
3
  //#region src/auto-reply/tokens.ts
4
4
  const HEARTBEAT_TOKEN = "HEARTBEAT_OK";
@@ -1,5 +1,5 @@
1
- import "./paths-B_gs59ga.js";
2
- import { t as createSubsystemLogger } from "./subsystem-BaT-AAVZ.js";
1
+ import "./paths-BIDPYPVC.js";
2
+ import { t as createSubsystemLogger } from "./subsystem-BZy3aWdW.js";
3
3
  import { t as isPlainObject } from "./plain-object-CLm2c5Nu.js";
4
4
  import { createHash } from "node:crypto";
5
5
 
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { t as createSubsystemLogger } from "./subsystem-BaT-AAVZ.js";
2
+ import { t as createSubsystemLogger } from "./subsystem-BZy3aWdW.js";
3
3
  import { t as CommandLane } from "./lanes-DTaUAkeG.js";
4
- import { i as summarizeSessionRunPrompt, n as deriveSessionRunId, o as resolveSessionRunStore, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-B08vNxya.js";
4
+ import { i as summarizeSessionRunPrompt, n as deriveSessionRunId, o as resolveSessionRunStore, r as inferSessionRunKind, t as createSessionRunRecorder } from "./recorder-Clg9Kbqu.js";
5
5
  import { randomUUID } from "node:crypto";
6
6
 
7
7
  //#region src/agents/lanes.ts
@@ -1,10 +1,10 @@
1
- import { f as resolveRequiredHomeDir } from "./paths-B_gs59ga.js";
2
- import { P as openBoundaryFile, at as pathExists, h as shouldLogVerbose, j as isBlockedObjectKey, st as resolveUserPath, u as danger } from "./subsystem-BaT-AAVZ.js";
3
- import { n as logError, t as logDebug } from "./logger-BeXVb5cn.js";
1
+ import { f as resolveRequiredHomeDir } from "./paths-BIDPYPVC.js";
2
+ import { P as openBoundaryFile, at as pathExists, h as shouldLogVerbose, j as isBlockedObjectKey, st as resolveUserPath, u as danger } from "./subsystem-BZy3aWdW.js";
3
+ import { n as logError, t as logDebug } from "./logger-J4xjy-6D.js";
4
4
  import path from "node:path";
5
- import syncFs from "node:fs";
5
+ import fs from "node:fs";
6
6
  import os from "node:os";
7
- import fs from "node:fs/promises";
7
+ import fs$1 from "node:fs/promises";
8
8
  import { promisify } from "node:util";
9
9
  import { execFile, spawn } from "node:child_process";
10
10
  import process$1 from "node:process";
@@ -465,7 +465,7 @@ function resolveNpmArgvForWindows(argv) {
465
465
  if (!cliName) return null;
466
466
  const nodeDir = path.dirname(process$1.execPath);
467
467
  const cliPath = path.join(nodeDir, "node_modules", "npm", "bin", cliName);
468
- if (!syncFs.existsSync(cliPath)) return null;
468
+ if (!fs.existsSync(cliPath)) return null;
469
469
  return [
470
470
  process$1.execPath,
471
471
  cliPath,
@@ -661,7 +661,7 @@ function isCorePackageName(name) {
661
661
  }
662
662
  async function readPackageName(dir) {
663
663
  try {
664
- const raw = await fs.readFile(path.join(dir, "package.json"), "utf-8");
664
+ const raw = await fs$1.readFile(path.join(dir, "package.json"), "utf-8");
665
665
  const parsed = JSON.parse(raw);
666
666
  return typeof parsed.name === "string" ? parsed.name : null;
667
667
  } catch {
@@ -670,7 +670,7 @@ async function readPackageName(dir) {
670
670
  }
671
671
  function readPackageNameSync(dir) {
672
672
  try {
673
- const raw = syncFs.readFileSync(path.join(dir, "package.json"), "utf-8");
673
+ const raw = fs.readFileSync(path.join(dir, "package.json"), "utf-8");
674
674
  const parsed = JSON.parse(raw);
675
675
  return typeof parsed.name === "string" ? parsed.name : null;
676
676
  } catch {
@@ -698,7 +698,7 @@ function candidateDirsFromArgv1(argv1) {
698
698
  const normalized = path.resolve(argv1);
699
699
  const candidates = [path.dirname(normalized)];
700
700
  try {
701
- const resolved = syncFs.realpathSync(normalized);
701
+ const resolved = fs.realpathSync(normalized);
702
702
  if (resolved !== normalized) candidates.push(path.dirname(resolved));
703
703
  } catch {}
704
704
  const parts = normalized.split(path.sep);
@@ -798,7 +798,7 @@ function workspaceFileIdentity(stat, canonicalPath) {
798
798
  }
799
799
  function closeFileQuietlySync(fd) {
800
800
  try {
801
- syncFs.closeSync(fd);
801
+ fs.closeSync(fd);
802
802
  } catch {}
803
803
  }
804
804
  async function readWorkspaceFileWithGuards(params) {
@@ -823,7 +823,7 @@ async function readWorkspaceFileWithGuards(params) {
823
823
  };
824
824
  }
825
825
  try {
826
- const content = syncFs.readFileSync(opened.fd, "utf-8");
826
+ const content = fs.readFileSync(opened.fd, "utf-8");
827
827
  workspaceFileCache.set(params.filePath, {
828
828
  content,
829
829
  identity
@@ -874,7 +874,7 @@ async function loadTemplate(name) {
874
874
  const templateDir = await resolveWorkspaceTemplateDir();
875
875
  const templatePath = path.join(templateDir, name);
876
876
  try {
877
- return stripFrontMatter(await fs.readFile(templatePath, "utf-8"));
877
+ return stripFrontMatter(await fs$1.readFile(templatePath, "utf-8"));
878
878
  } catch {
879
879
  throw new Error(`Missing workspace template: ${name} (${templatePath}). Ensure docs/reference/templates are packaged.`);
880
880
  }
@@ -914,7 +914,7 @@ const VALID_BOOTSTRAP_NAMES = new Set([
914
914
  ]);
915
915
  async function writeFileIfMissing(filePath, content) {
916
916
  try {
917
- await fs.writeFile(filePath, content, {
917
+ await fs$1.writeFile(filePath, content, {
918
918
  encoding: "utf-8",
919
919
  flag: "wx"
920
920
  });
@@ -926,7 +926,7 @@ async function writeFileIfMissing(filePath, content) {
926
926
  }
927
927
  async function fileExists(filePath) {
928
928
  try {
929
- await fs.access(filePath);
929
+ await fs$1.access(filePath);
930
930
  return true;
931
931
  } catch {
932
932
  return false;
@@ -950,27 +950,27 @@ function parseWorkspaceOnboardingState(raw) {
950
950
  }
951
951
  async function readWorkspaceOnboardingState(statePath) {
952
952
  try {
953
- return parseWorkspaceOnboardingState(await fs.readFile(statePath, "utf-8")) ?? { version: WORKSPACE_STATE_VERSION };
953
+ return parseWorkspaceOnboardingState(await fs$1.readFile(statePath, "utf-8")) ?? { version: WORKSPACE_STATE_VERSION };
954
954
  } catch (err) {
955
955
  if (err.code !== "ENOENT") throw err;
956
956
  return { version: WORKSPACE_STATE_VERSION };
957
957
  }
958
958
  }
959
959
  async function writeWorkspaceOnboardingState(statePath, state) {
960
- await fs.mkdir(path.dirname(statePath), { recursive: true });
960
+ await fs$1.mkdir(path.dirname(statePath), { recursive: true });
961
961
  const payload = `${JSON.stringify(state, null, 2)}\n`;
962
962
  const tmpPath = `${statePath}.tmp-${process.pid}-${Date.now().toString(36)}`;
963
963
  try {
964
- await fs.writeFile(tmpPath, payload, { encoding: "utf-8" });
965
- await fs.rename(tmpPath, statePath);
964
+ await fs$1.writeFile(tmpPath, payload, { encoding: "utf-8" });
965
+ await fs$1.rename(tmpPath, statePath);
966
966
  } catch (err) {
967
- await fs.unlink(tmpPath).catch(() => {});
967
+ await fs$1.unlink(tmpPath).catch(() => {});
968
968
  throw err;
969
969
  }
970
970
  }
971
971
  async function hasGitRepo(dir) {
972
972
  try {
973
- await fs.stat(path.join(dir, ".git"));
973
+ await fs$1.stat(path.join(dir, ".git"));
974
974
  return true;
975
975
  } catch {
976
976
  return false;
@@ -1000,7 +1000,7 @@ async function ensureGitRepo(dir, isBrandNewWorkspace) {
1000
1000
  }
1001
1001
  async function ensureAgentWorkspace(params) {
1002
1002
  const dir = resolveUserPath(params?.dir?.trim() ? params.dir.trim() : DEFAULT_AGENT_WORKSPACE_DIR);
1003
- await fs.mkdir(dir, { recursive: true });
1003
+ await fs$1.mkdir(dir, { recursive: true });
1004
1004
  if (!params?.ensureBootstrapFiles) return { dir };
1005
1005
  const agentsPath = path.join(dir, DEFAULT_AGENTS_FILENAME);
1006
1006
  const soulPath = path.join(dir, DEFAULT_SOUL_FILENAME);
@@ -1027,7 +1027,7 @@ async function ensureAgentWorkspace(params) {
1027
1027
  const paths = [...templatePaths, ...userContentPaths];
1028
1028
  return (await Promise.all(paths.map(async (p) => {
1029
1029
  try {
1030
- await fs.access(p);
1030
+ await fs$1.access(p);
1031
1031
  return true;
1032
1032
  } catch {
1033
1033
  return false;
@@ -1060,7 +1060,7 @@ async function ensureAgentWorkspace(params) {
1060
1060
  if (!state.bootstrapSeededAt && bootstrapExists) markState({ bootstrapSeededAt: nowIso() });
1061
1061
  if (!state.onboardingCompletedAt && state.bootstrapSeededAt && !bootstrapExists) markState({ onboardingCompletedAt: nowIso() });
1062
1062
  if (!state.bootstrapSeededAt && !state.onboardingCompletedAt && !bootstrapExists) {
1063
- const [identityContent, userContent] = await Promise.all([fs.readFile(identityPath, "utf-8"), fs.readFile(userPath, "utf-8")]);
1063
+ const [identityContent, userContent] = await Promise.all([fs$1.readFile(identityPath, "utf-8"), fs$1.readFile(userPath, "utf-8")]);
1064
1064
  const hasUserContent = await (async () => {
1065
1065
  const indicators = [
1066
1066
  path.join(dir, "memory"),
@@ -1068,7 +1068,7 @@ async function ensureAgentWorkspace(params) {
1068
1068
  path.join(dir, ".git")
1069
1069
  ];
1070
1070
  for (const indicator of indicators) try {
1071
- await fs.access(indicator);
1071
+ await fs$1.access(indicator);
1072
1072
  return true;
1073
1073
  } catch {}
1074
1074
  return false;
@@ -1099,7 +1099,7 @@ async function resolveMemoryBootstrapEntries(resolvedDir) {
1099
1099
  for (const name of candidates) {
1100
1100
  const filePath = path.join(resolvedDir, name);
1101
1101
  try {
1102
- await fs.access(filePath);
1102
+ await fs$1.access(filePath);
1103
1103
  entries.push({
1104
1104
  name,
1105
1105
  filePath
@@ -1112,7 +1112,7 @@ async function resolveMemoryBootstrapEntries(resolvedDir) {
1112
1112
  for (const entry of entries) {
1113
1113
  let key = entry.filePath;
1114
1114
  try {
1115
- key = await fs.realpath(entry.filePath);
1115
+ key = await fs$1.realpath(entry.filePath);
1116
1116
  } catch {}
1117
1117
  if (seen.has(key)) continue;
1118
1118
  seen.add(key);
@@ -1285,7 +1285,7 @@ async function loadExtraBootstrapFilesWithDiagnostics(dir, extraPatterns) {
1285
1285
  const resolvedDir = resolveUserPath(dir);
1286
1286
  const resolvedPaths = /* @__PURE__ */ new Set();
1287
1287
  for (const pattern of extraPatterns) if (pattern.includes("*") || pattern.includes("?") || pattern.includes("{")) try {
1288
- const matches = fs.glob(pattern, { cwd: resolvedDir });
1288
+ const matches = fs$1.glob(pattern, { cwd: resolvedDir });
1289
1289
  for await (const m of matches) resolvedPaths.add(m);
1290
1290
  } catch {
1291
1291
  resolvedPaths.add(pattern);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/acpx",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "description": "OpenClaw ACP runtime backend via acpx",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wednesdayai/anthropic",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "Anthropic media understanding: Claude image description.",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/bifrost",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "WednesdayAI Bifrost provider plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/bluebubbles",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "description": "OpenClaw BlueBubbles channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/copilot-proxy",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "OpenClaw Copilot Proxy provider plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wednesdayai/deepgram",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "Deepgram media understanding: nova-3 audio transcription.",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wednesdayai/deepinfra",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "DeepInfra media understanding: Whisper audio transcription via the DeepInfra OpenAI-compatible API.",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/diagnostics-otel",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "OpenClaw diagnostics OpenTelemetry exporter",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/diffs",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "OpenClaw diff viewer plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/discord",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "description": "OpenClaw Discord channel plugin",
5
5
  "type": "module",
6
6
  "openclaw": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/dream-cycle",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "WednesdayAI dream-cycle engine — idle-time sleep stages, contemplation, adaptation, crystallisation",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wednesdayai/elevenlabs",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "ElevenLabs media understanding: scribe_v2 audio transcription.",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/feishu",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "description": "OpenClaw Feishu/Lark channel plugin (community maintained by @m1heng)",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wednesdayai/gemini-search",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "WednesdayAI Google Gemini web search provider plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wednesdayai/google",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "Google Gemini media understanding: audio transcription, image and video description.",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/google-gemini-cli-auth",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "OpenClaw Gemini CLI OAuth provider plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/googlechat",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "OpenClaw Google Chat channel plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wednesdayai/grok-search",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "WednesdayAI xAI Grok web search provider plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wednesdayai/groq",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "Groq media understanding: whisper-large-v3-turbo audio transcription.",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/imessage",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "OpenClaw iMessage channel plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/irc",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "description": "OpenClaw IRC channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wednesdayai/kimi-search",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "WednesdayAI Kimi by Moonshot web search provider plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/learning-core",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "OpenClaw lesson-first learning plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/line",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "OpenClaw LINE channel plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/llm-task",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "OpenClaw JSON-only LLM task plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/lobster",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "description": "Lobster workflow tool plugin (typed pipelines + resumable approvals)",
5
5
  "type": "module",
6
6
  "openclaw": {
@@ -1,6 +1,6 @@
1
1
  # Changelog
2
2
 
3
- ## 0.5.1-dev.25+31e65a965
3
+ ## 0.5.1-dev.27+2cec8714b
4
4
 
5
5
  ### Changes
6
6
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/matrix",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "description": "OpenClaw Matrix channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/mattermost",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "description": "OpenClaw Mattermost channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/memory-core",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "OpenClaw core memory search plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/memory-lancedb",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "OpenClaw LanceDB-backed long-term memory plugin with auto-recall/capture",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wednesdayai/minimax",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "MiniMax media understanding: MiniMax-VL image description.",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/minimax-portal-auth",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "OpenClaw MiniMax Portal OAuth provider plugin",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wednesdayai/mistral",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "Mistral media understanding: voxtral audio transcription.",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wednesdayai/moonshot",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "Moonshot media understanding: Kimi image and video description.",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  # Changelog
2
2
 
3
- ## 0.5.1-dev.25+31e65a965
3
+ ## 0.5.1-dev.27+2cec8714b
4
4
 
5
5
  ### Changes
6
6
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/msteams",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "description": "OpenClaw Microsoft Teams channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/nextcloud-talk",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "description": "OpenClaw Nextcloud Talk channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  # Changelog
2
2
 
3
- ## 0.5.1-dev.25+31e65a965
3
+ ## 0.5.1-dev.27+2cec8714b
4
4
 
5
5
  ### Changes
6
6
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/nostr",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "description": "OpenClaw Nostr channel plugin for NIP-04 encrypted DMs",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/open-prose",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "OpenProse VM skill pack plugin (slash command + telemetry).",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wednesdayai/openai",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "OpenAI media understanding: audio transcription (gpt-transcribe) and image description.",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wednesdayai/openai-realtime",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "OpenAI Realtime voice provider for WednesdayAI",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wednesdayai/openrouter",
3
- "version": "0.5.1-dev.25+31e65a965",
3
+ "version": "0.5.1-dev.27+2cec8714b",
4
4
  "private": true,
5
5
  "description": "OpenRouter media understanding: audio transcription via the OpenRouter OpenAI-compatible API.",
6
6
  "type": "module",