@letta-ai/letta-code 0.34.26 → 0.34.28

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 (117) hide show
  1. package/cursor-worker.js +4 -3
  2. package/dist/agent-presets.js +5 -5
  3. package/dist/agent-presets.js.map +1 -1
  4. package/dist/channels-slack.js +2 -2
  5. package/dist/channels-slack.js.map +3 -3
  6. package/dist/mcp-client.js +2 -2
  7. package/dist/mcp-client.js.map +1 -1
  8. package/dist/mcp-oauth.js +26 -16
  9. package/dist/mcp-oauth.js.map +6 -5
  10. package/dist/memory-confinement.js +109 -51
  11. package/dist/memory-confinement.js.map +9 -8
  12. package/dist/types/agent/mcp-originator-authority-file.d.ts +1 -0
  13. package/dist/types/agent/mcp-originator-authority-file.d.ts.map +1 -1
  14. package/dist/types/agent/memory-filesystem.d.ts +3 -3
  15. package/dist/types/agent/memory-filesystem.d.ts.map +1 -1
  16. package/dist/types/agent/memory-git.d.ts +2 -2
  17. package/dist/types/agent/memory-git.d.ts.map +1 -1
  18. package/dist/types/agent/skills.d.ts +3 -3
  19. package/dist/types/agent/skills.d.ts.map +1 -1
  20. package/dist/types/agent/subagents/index.d.ts +4 -0
  21. package/dist/types/agent/subagents/index.d.ts.map +1 -1
  22. package/dist/types/agent/subagents/subagent-launcher.d.ts.map +1 -1
  23. package/dist/types/backend/api/schedules.d.ts +16 -2
  24. package/dist/types/backend/api/schedules.d.ts.map +1 -1
  25. package/dist/types/channels/slack/attachment-primitives.d.ts.map +1 -1
  26. package/dist/types/channels/types.d.ts +1 -1
  27. package/dist/types/cli/helpers/chunk-log.d.ts.map +1 -1
  28. package/dist/types/cron/cron-file.d.ts.map +1 -1
  29. package/dist/types/hooks/loader.d.ts.map +1 -1
  30. package/dist/types/mods/paths.d.ts +3 -3
  31. package/dist/types/mods/paths.d.ts.map +1 -1
  32. package/dist/types/permissions/agent-memory-prefixes.d.ts.map +1 -1
  33. package/dist/types/permissions/analyzer.d.ts +1 -0
  34. package/dist/types/permissions/analyzer.d.ts.map +1 -1
  35. package/dist/types/permissions/cross-agent-guard.d.ts.map +1 -1
  36. package/dist/types/permissions/loader.d.ts +2 -1
  37. package/dist/types/permissions/loader.d.ts.map +1 -1
  38. package/dist/types/permissions/sandbox-policy.d.ts +9 -7
  39. package/dist/types/permissions/sandbox-policy.d.ts.map +1 -1
  40. package/dist/types/sandbox/bwrap.d.ts +2 -2
  41. package/dist/types/sandbox/bwrap.d.ts.map +1 -1
  42. package/dist/types/sandbox/policy.d.ts +20 -3
  43. package/dist/types/sandbox/policy.d.ts.map +1 -1
  44. package/dist/types/sandbox/seatbelt.d.ts +1 -1
  45. package/dist/types/sandbox/seatbelt.d.ts.map +1 -1
  46. package/dist/types/settings-manager.d.ts +4 -12
  47. package/dist/types/settings-manager.d.ts.map +1 -1
  48. package/dist/types/tools/commit-trailer.d.ts +27 -0
  49. package/dist/types/tools/commit-trailer.d.ts.map +1 -0
  50. package/dist/types/tools/impl/codex-app-server.d.ts +2 -0
  51. package/dist/types/tools/impl/codex-app-server.d.ts.map +1 -1
  52. package/dist/types/tools/impl/cursor-session.d.ts +2 -0
  53. package/dist/types/tools/impl/cursor-session.d.ts.map +1 -1
  54. package/dist/types/tools/impl/cursor-worker.d.ts +4 -1
  55. package/dist/types/tools/impl/cursor-worker.d.ts.map +1 -1
  56. package/dist/types/tools/impl/monitor-script.d.ts +38 -0
  57. package/dist/types/tools/impl/monitor-script.d.ts.map +1 -0
  58. package/dist/types/tools/impl/monitor.d.ts +2 -0
  59. package/dist/types/tools/impl/monitor.d.ts.map +1 -1
  60. package/dist/types/tools/impl/overflow.d.ts +1 -1
  61. package/dist/types/tools/impl/overflow.d.ts.map +1 -1
  62. package/dist/types/tools/impl/process_manager.d.ts +1 -1
  63. package/dist/types/tools/impl/process_manager.d.ts.map +1 -1
  64. package/dist/types/tools/impl/ripgrep-manager.d.ts.map +1 -1
  65. package/dist/types/tools/impl/shell-env.d.ts.map +1 -1
  66. package/dist/types/tools/impl/wake.d.ts.map +1 -1
  67. package/dist/types/tools/manager.d.ts.map +1 -1
  68. package/dist/types/tools/script-tool-scope.d.ts.map +1 -1
  69. package/dist/types/tools/tool-context-retention.d.ts +7 -0
  70. package/dist/types/tools/tool-context-retention.d.ts.map +1 -0
  71. package/dist/types/tools/tool-definitions.d.ts.map +1 -1
  72. package/dist/types/tools/workflow/workflow-engine.d.ts +4 -1
  73. package/dist/types/tools/workflow/workflow-engine.d.ts.map +1 -1
  74. package/dist/types/types/background-process-protocol.d.ts +1 -1
  75. package/dist/types/types/background-process-protocol.d.ts.map +1 -1
  76. package/dist/types/utils/fs.d.ts +5 -1
  77. package/dist/types/utils/fs.d.ts.map +1 -1
  78. package/dist/types/utils/local-backend-paths.d.ts +1 -1
  79. package/dist/types/utils/local-backend-paths.d.ts.map +1 -1
  80. package/dist/types/utils/secrets.d.ts +1 -1
  81. package/dist/types/utils/secrets.d.ts.map +1 -1
  82. package/dist/types/utils/settings-path.d.ts +14 -0
  83. package/dist/types/utils/settings-path.d.ts.map +1 -0
  84. package/dist/types/utils/transcript-paths.d.ts +1 -1
  85. package/dist/types/websocket/listener/constants.d.ts +6 -0
  86. package/dist/types/websocket/listener/constants.d.ts.map +1 -1
  87. package/dist/types/websocket/listener/input-disposition-path.d.ts.map +1 -1
  88. package/dist/types/websocket/listener/interrupted-turn-storage.d.ts.map +1 -1
  89. package/dist/types/websocket/listener/org-credentials.d.ts.map +1 -1
  90. package/dist/types/websocket/listener/remote-settings.d.ts +2 -2
  91. package/dist/types/websocket/listener/remote-settings.d.ts.map +1 -1
  92. package/dist/types/websocket/listener/turn-finished-replay.d.ts +1 -0
  93. package/dist/types/websocket/listener/turn-finished-replay.d.ts.map +1 -1
  94. package/letta.js +2988 -1990
  95. package/npm-shrinkwrap.json +90 -86
  96. package/package.json +3 -2
  97. package/scripts/isolated-unit-tests.json +10 -0
  98. package/scripts/run-api-integration-tests.ts +36 -0
  99. package/scripts/source-file-size-baseline.json +1 -1
  100. package/scripts/test-home-preload.ts +1 -0
  101. package/skills/acquiring-skills/SKILL.md +4 -4
  102. package/skills/creating-mods/SKILL.md +3 -3
  103. package/skills/creating-mods/references/analysis-mode.md +7 -5
  104. package/skills/creating-mods/references/architecture.md +2 -2
  105. package/skills/creating-mods/references/plan-mode.md +12 -11
  106. package/skills/creating-mods/references/providers.md +1 -1
  107. package/skills/creating-skills/scripts/init-skill.ts +4 -2
  108. package/skills/customizing-commands/SKILL.md +3 -3
  109. package/skills/customizing-statusline/SKILL.md +3 -3
  110. package/skills/customizing-statusline/references/api.md +3 -3
  111. package/skills/customizing-statusline/references/migration.md +2 -2
  112. package/skills/initializing-memory/SKILL.md +1 -1
  113. package/skills/self-configuration/SKILL.md +4 -4
  114. package/skills/self-configuration/scripts/add_permission.py +26 -5
  115. package/skills/self-configuration/scripts/show_config.py +17 -2
  116. package/skills/video-generation/SKILL.md +152 -0
  117. package/skills/workflow-authoring/SKILL.md +1 -1
package/dist/mcp-oauth.js CHANGED
@@ -7612,14 +7612,14 @@ var execFile5, __dirname2, localXdgOpenPath, platform, arch, pTryEach = async (a
7612
7612
  }
7613
7613
  const subprocess = childProcess.spawn(command, cliArguments, childProcessOptions);
7614
7614
  if (options.wait) {
7615
- return new Promise((resolve, reject) => {
7615
+ return new Promise((resolve2, reject) => {
7616
7616
  subprocess.once("error", reject);
7617
7617
  subprocess.once("close", (exitCode) => {
7618
7618
  if (!options.allowNonzeroExitCode && exitCode > 0) {
7619
7619
  reject(new Error(`Exited with code ${exitCode}`));
7620
7620
  return;
7621
7621
  }
7622
- resolve(subprocess);
7622
+ resolve2(subprocess);
7623
7623
  });
7624
7624
  });
7625
7625
  }
@@ -17550,7 +17550,7 @@ class StreamableHTTPClientTransport {
17550
17550
  // src/mcp-client.ts
17551
17551
  var DEFAULT_CLIENT_INFO = {
17552
17552
  name: "letta-code",
17553
- version: "0.34.26"
17553
+ version: "0.34.28"
17554
17554
  };
17555
17555
  async function connectMcpServer(config2, options = {}) {
17556
17556
  let client = new Client(options.clientInfo ?? DEFAULT_CLIENT_INFO);
@@ -17934,9 +17934,24 @@ import {
17934
17934
  readFileSync,
17935
17935
  unlinkSync
17936
17936
  } from "node:fs";
17937
+ import { join as join2 } from "node:path";
17938
+
17939
+ // src/utils/settings-path.ts
17937
17940
  import { homedir } from "node:os";
17938
- import { join } from "node:path";
17939
- var DEBUG_LOG_DIR = join(homedir(), ".letta", "logs", "debug");
17941
+ import { isAbsolute, join, normalize, resolve } from "node:path";
17942
+ function resolveGlobalConfigDir(env = process.env, fallbackHome = homedir()) {
17943
+ const override = env.LETTA_CONFIG_DIR?.trim();
17944
+ if (override) {
17945
+ if (!isAbsolute(override)) {
17946
+ throw new Error("LETTA_CONFIG_DIR must be absolute");
17947
+ }
17948
+ return normalize(override);
17949
+ }
17950
+ return join(env.HOME || fallbackHome, ".letta");
17951
+ }
17952
+
17953
+ // src/utils/debug.ts
17954
+ var DEBUG_LOG_DIR = join2(resolveGlobalConfigDir(), "logs", "debug");
17940
17955
  var MAX_SESSION_FILES = 5;
17941
17956
  var MAX_LOG_BYTES = 10 * 1024 * 1024;
17942
17957
  var DEFAULT_TAIL_LINES = 50;
@@ -17952,8 +17967,8 @@ class DebugLogFile {
17952
17967
  const telem = process.env.LETTA_CODE_TELEM;
17953
17968
  if (telem === "0" || telem === "false")
17954
17969
  return;
17955
- this.agentDir = join(options.dir ?? DEBUG_LOG_DIR, agentId);
17956
- this.logPath = join(this.agentDir, `${sessionId}.log`);
17970
+ this.agentDir = join2(options.dir ?? DEBUG_LOG_DIR, agentId);
17971
+ this.logPath = join2(this.agentDir, `${sessionId}.log`);
17957
17972
  this.maxBytes = options.maxBytes ?? MAX_LOG_BYTES;
17958
17973
  this.dirCreated = false;
17959
17974
  this.bytesWritten = 0;
@@ -18018,7 +18033,7 @@ class DebugLogFile {
18018
18033
  const toDelete = files.slice(0, files.length - MAX_SESSION_FILES + 1);
18019
18034
  for (const file of toDelete) {
18020
18035
  try {
18021
- unlinkSync(join(this.agentDir, file));
18036
+ unlinkSync(join2(this.agentDir, file));
18022
18037
  } catch {}
18023
18038
  }
18024
18039
  }
@@ -18029,11 +18044,6 @@ var debugLogFile = new DebugLogFile;
18029
18044
 
18030
18045
  // src/utils/secrets.ts
18031
18046
  var secrets = globalThis.Bun?.secrets;
18032
- function scopeServiceName(name) {
18033
- const testPrefix = process.env.LETTA_TEST_SECRETS_SERVICE_PREFIX?.trim();
18034
- return testPrefix ? `${testPrefix}:${name}` : name;
18035
- }
18036
- var SERVICE_NAME = scopeServiceName("letta-code");
18037
18047
  var warnedSecretReadFailures = new Set;
18038
18048
 
18039
18049
  // src/mcp-oauth.ts
@@ -18715,7 +18725,7 @@ function subscribeToAuthorization(flightKey, flight, signal) {
18715
18725
  flight.controller.abort();
18716
18726
  }
18717
18727
  };
18718
- return new Promise((resolve, reject) => {
18728
+ return new Promise((resolve2, reject) => {
18719
18729
  let settled = false;
18720
18730
  const abort = () => {
18721
18731
  if (settled)
@@ -18733,7 +18743,7 @@ function subscribeToAuthorization(flightKey, flight, signal) {
18733
18743
  settled = true;
18734
18744
  signal?.removeEventListener("abort", abort);
18735
18745
  release();
18736
- resolve({ ...credentials });
18746
+ resolve2({ ...credentials });
18737
18747
  }, (error2) => {
18738
18748
  if (settled)
18739
18749
  return;
@@ -18766,4 +18776,4 @@ export {
18766
18776
  authorizeMcpServerWithStorage
18767
18777
  };
18768
18778
 
18769
- //# debugId=34827806B038DB6564756E2164756E21
18779
+ //# debugId=DBE5503C0851B77A64756E2164756E21