@desplega.ai/agent-swarm 1.103.0 → 1.105.0

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 (129) hide show
  1. package/README.md +3 -0
  2. package/dist/{actions-7txktrdj.js → actions-45g8tvc8.js} +6 -6
  3. package/dist/{app-xm3xsdye.js → app-18x5k1cj.js} +3 -3
  4. package/dist/{assistant-qpv63wk6.js → assistant-ka281qe8.js} +9 -10
  5. package/dist/{boot-reembed-9cxqka3e.js → boot-reembed-f38vbxw8.js} +4 -3
  6. package/dist/{boot-reembed-chxhrwv8.js → boot-reembed-rp2gba79.js} +5 -4
  7. package/dist/{boot-scrub-logs-8qtfkcz8.js → boot-scrub-logs-nsnc9f1a.js} +2 -2
  8. package/dist/{cli-gzepjz54.js → cli-0e24r2b6.js} +900 -352
  9. package/dist/{cli-dz3d6zjg.js → cli-0n4xxmy0.js} +121 -2
  10. package/dist/{cli-jt9d9fjw.js → cli-0s37sw3k.js} +1 -1
  11. package/dist/{cli-yeemwevj.js → cli-2hg6bj31.js} +20 -16
  12. package/dist/{cli-wjyyv518.js → cli-3j01d33e.js} +9 -14
  13. package/dist/{cli-xmtsan9k.js → cli-4df7btj0.js} +1 -1
  14. package/dist/{cli-8w95v19d.js → cli-634jy7sa.js} +351 -24
  15. package/dist/{cli-m8f6qzck.js → cli-7esh9fda.js} +1 -1
  16. package/dist/{cli-4fnp2tc3.js → cli-87fj1jk4.js} +1 -1
  17. package/dist/{cli-ksq38x4n.js → cli-8y7y1vmp.js} +2 -2
  18. package/dist/{cli-rvae030h.js → cli-ba47wf2q.js} +3 -3
  19. package/dist/{cli-2qynerth.js → cli-c4h8m0m3.js} +1 -1
  20. package/dist/{cli-fygaw191.js → cli-dd6tegmp.js} +2 -2
  21. package/dist/{cli-85pf4z38.js → cli-ehcjr5vs.js} +5 -3
  22. package/dist/{cli-rttgde5f.js → cli-gq7gvvrn.js} +1 -1
  23. package/dist/{cli-kk51f3tf.js → cli-gzmv1371.js} +5 -5
  24. package/dist/{http-zts4haq7.js → cli-sdf2qwkt.js} +83970 -76419
  25. package/dist/{cli-krvxq8bc.js → cli-sm9yseh1.js} +23 -4
  26. package/dist/{cli-8hyv6c2v.js → cli-v2fb1fxf.js} +41 -23
  27. package/dist/{cli-fwxdt7kt.js → cli-vpwffend.js} +30 -5
  28. package/dist/{cli-fedn86nz.js → cli-wztagmpk.js} +8 -3
  29. package/dist/{cli-v9283nma.js → cli-yd29d4n4.js} +1 -1
  30. package/dist/{cli-yfwwjeft.js → cli-yfyqsqzj.js} +1 -1
  31. package/dist/{cli-ns0r7mkr.js → cli-yzr0qxx1.js} +3 -3
  32. package/dist/{cli-s14sb64w.js → cli-zmta7t3y.js} +5 -7
  33. package/dist/cli.js +12 -10
  34. package/dist/{commands-aqn63mcw.js → commands-tn8zj0an.js} +2 -2
  35. package/dist/{db-azrvwsnj.js → db-gtqymk7r.js} +2 -2
  36. package/dist/{handlers-hf61har3.js → handlers-5xdqk40d.js} +10 -12
  37. package/dist/{hook-306p3yz4.js → hook-gj6j6zwj.js} +7 -5
  38. package/dist/http-4pceba9h.js +17374 -0
  39. package/dist/{index-bfh9hgek.js → index-0rfp6wh2.js} +5 -5
  40. package/dist/{index-3c651yfk.js → index-as4evz9g.js} +14 -11
  41. package/dist/{index-h2yqjyk0.js → index-paaw4xt5.js} +9 -8
  42. package/dist/{index-29vg51x6.js → index-wf0q4k03.js} +23 -10
  43. package/dist/{keepalive-a0dg5pds.js → keepalive-akbzjt41.js} +4 -4
  44. package/dist/{lead-7mcxedkc.js → lead-g8v85nf4.js} +19 -19
  45. package/dist/{maintenance-mrzqd53t.js → maintenance-9yrzmrh8.js} +5 -4
  46. package/dist/{onboard-4dkpv9wa.js → onboard-v5bx0kpy.js} +2 -2
  47. package/dist/{otel-impl-jt7gpyp9.js → otel-impl-530442da.js} +4510 -4465
  48. package/dist/{pricing-refresh-xqnzh8dt.js → pricing-refresh-dt289v11.js} +4 -4
  49. package/dist/{seed-pricing-56tjm1fj.js → seed-pricing-183er9b3.js} +3 -3
  50. package/dist/{setup-tbwk8j10.js → setup-tjgsvznx.js} +2 -2
  51. package/dist/{worker-e03za92t.js → worker-nxcxk5pb.js} +19 -19
  52. package/openapi.json +90 -4
  53. package/package.json +5 -3
  54. package/src/be/memory/constants.ts +6 -0
  55. package/src/be/memory/providers/sqlite-store.ts +468 -71
  56. package/src/be/memory/raters/retrieval.ts +4 -2
  57. package/src/be/memory/reranker.ts +5 -2
  58. package/src/be/memory/retrieval-store.ts +2 -0
  59. package/src/be/memory/types.ts +46 -0
  60. package/src/be/migrations/099_memory_structured_key_versioning.sql +41 -0
  61. package/src/be/migrations/100_memory_retrieval_source.sql +8 -0
  62. package/src/be/migrations/101_script_connections.sql +67 -0
  63. package/src/be/script-connections.ts +744 -0
  64. package/src/be/script-credential-broker.ts +38 -0
  65. package/src/be/scripts/typecheck.ts +23 -2
  66. package/src/be/seed-scripts/catalog/boot-triage.inline.ts +16 -4
  67. package/src/be/seed-scripts/catalog/boot-triage.ts +16 -4
  68. package/src/commands/runner.ts +8 -6
  69. package/src/heartbeat/heartbeat.ts +42 -1
  70. package/src/heartbeat/index.ts +7 -1
  71. package/src/http/memory.ts +127 -14
  72. package/src/http/pages-public.ts +123 -2
  73. package/src/http/scripts.ts +15 -14
  74. package/src/http/session-data.ts +16 -0
  75. package/src/otel-impl.ts +73 -0
  76. package/src/otel.ts +12 -0
  77. package/src/scripts-runtime/api-client.ts +100 -0
  78. package/src/scripts-runtime/api-types.ts +45 -0
  79. package/src/scripts-runtime/credential-broker/README.md +40 -0
  80. package/src/scripts-runtime/credential-broker/broker.ts +51 -0
  81. package/src/scripts-runtime/credential-broker/default-bindings.ts +19 -0
  82. package/src/scripts-runtime/credential-broker/fetch-patch.ts +102 -0
  83. package/src/scripts-runtime/credential-broker/index.ts +17 -0
  84. package/src/scripts-runtime/credential-broker/store.ts +72 -0
  85. package/src/scripts-runtime/credential-broker/types.ts +54 -0
  86. package/src/scripts-runtime/ctx.ts +11 -1
  87. package/src/scripts-runtime/egress-secrets.ts +14 -76
  88. package/src/scripts-runtime/eval-harness.ts +1 -1
  89. package/src/scripts-runtime/executors/types.ts +5 -5
  90. package/src/scripts-runtime/loader.ts +6 -1
  91. package/src/scripts-runtime/sdk-allowlist.ts +1 -0
  92. package/src/scripts-runtime/types/stdlib.d.ts +11 -0
  93. package/src/scripts-runtime/types/swarm-sdk.d.ts +11 -0
  94. package/src/server.ts +6 -0
  95. package/src/tests/credential-broker.test.ts +281 -0
  96. package/src/tests/heartbeat.test.ts +239 -0
  97. package/src/tests/memory-edit.test.ts +177 -0
  98. package/src/tests/memory-hybrid.test.ts +212 -0
  99. package/src/tests/otel-impl-secret-scrubbing.test.ts +101 -3
  100. package/src/tests/otel-session-cost-metrics.test.ts +281 -0
  101. package/src/tests/pages-authed-mode.test.ts +50 -0
  102. package/src/tests/runner-repo-autostash.test.ts +39 -8
  103. package/src/tests/script-connections.test.ts +360 -0
  104. package/src/tests/scripts-http.test.ts +16 -10
  105. package/src/tests/scripts-runtime-secret-egress.test.ts +26 -5
  106. package/src/tests/swarm-config-reserved-keys.test.ts +23 -0
  107. package/src/tests/update-schedule-mcp-tool.test.ts +83 -4
  108. package/src/tools/credential-bindings/index.ts +1 -0
  109. package/src/tools/credential-bindings/tool.ts +238 -0
  110. package/src/tools/memory-edit.ts +148 -0
  111. package/src/tools/memory-search.ts +17 -10
  112. package/src/tools/schedules/delete-schedule.ts +18 -8
  113. package/src/tools/schedules/update-schedule.ts +4 -9
  114. package/src/tools/script-connections/index.ts +1 -0
  115. package/src/tools/script-connections/tool.ts +167 -0
  116. package/src/tools/swarm-config/delete-config.ts +5 -0
  117. package/src/tools/swarm-config/set-config.ts +23 -1
  118. package/src/tools/tool-config.ts +6 -1
  119. package/src/types.ts +6 -0
  120. package/src/workflows/executors/swarm-script.ts +2 -0
  121. package/templates/community/dora-metrics/PLAYBOOK.md +294 -0
  122. package/templates/community/dora-metrics/README.md +39 -0
  123. package/templates/community/dora-metrics/lead-prompt.md +56 -0
  124. package/templates/community/dora-metrics/report.mjs +393 -0
  125. package/templates/community/dora-metrics/run.sh +113 -0
  126. package/templates/schedules/weekly-dora-metrics/config.json +13 -0
  127. package/templates/schedules/weekly-dora-metrics/content.md +61 -0
  128. package/dist/cli-2307phk1.js +0 -24223
  129. package/dist/cli-2deg0cen.js +0 -120
@@ -3,7 +3,7 @@ import {
3
3
  getAgentWorkingOnThread,
4
4
  getAllAgents,
5
5
  init_db
6
- } from "./cli-fedn86nz.js";
6
+ } from "./cli-wztagmpk.js";
7
7
 
8
8
  // src/slack/router.ts
9
9
  init_db();
@@ -63,6 +63,125 @@ function extractTaskFromMessage(text, botUserId) {
63
63
  return text.replace(new RegExp(`<@${botUserId}>`, "g"), "").replace(/swarm#[a-f0-9-]{36}/gi, "").replace(/swarm#all/gi, "").trim();
64
64
  }
65
65
 
66
+ // src/slack/message-text.ts
67
+ function collectRichTextParts(node, parts) {
68
+ if (node == null || typeof node !== "object")
69
+ return;
70
+ const n = node;
71
+ if (n.type === "text" && n.text) {
72
+ parts.push(n.text);
73
+ }
74
+ if (Array.isArray(n.elements)) {
75
+ for (const child of n.elements) {
76
+ collectRichTextParts(child, parts);
77
+ }
78
+ }
79
+ }
80
+ function extractSlackMessageText(msg) {
81
+ const topText = msg.text?.trim() ?? "";
82
+ const attachmentParts = [];
83
+ if (Array.isArray(msg.attachments) && msg.attachments.length > 0) {
84
+ for (const raw of msg.attachments) {
85
+ if (raw == null || typeof raw !== "object")
86
+ continue;
87
+ const a = raw;
88
+ const attParts = [];
89
+ const titleText = a.title_link && a.title ? `<${a.title_link}|${a.title}>` : a.title;
90
+ const seenPrimary = new Set;
91
+ for (const part of [a.pretext, titleText, a.text, a.fallback]) {
92
+ const s = part?.trim();
93
+ if (s && !seenPrimary.has(s)) {
94
+ seenPrimary.add(s);
95
+ attParts.push(s);
96
+ }
97
+ }
98
+ if (Array.isArray(a.fields)) {
99
+ for (const field of a.fields) {
100
+ if (field == null || typeof field !== "object")
101
+ continue;
102
+ const f = field;
103
+ if (f.title && f.value)
104
+ attParts.push(`${f.title}: ${f.value}`);
105
+ else if (f.title)
106
+ attParts.push(f.title);
107
+ else if (f.value)
108
+ attParts.push(f.value);
109
+ }
110
+ }
111
+ if (Array.isArray(a.actions)) {
112
+ for (const action of a.actions) {
113
+ if (action == null || typeof action !== "object")
114
+ continue;
115
+ const act = action;
116
+ if (act.url) {
117
+ attParts.push(act.text ? `<${act.url}|${act.text}>` : act.url);
118
+ }
119
+ }
120
+ }
121
+ if (attParts.length > 0)
122
+ attachmentParts.push(attParts.join(`
123
+ `));
124
+ }
125
+ }
126
+ const blockParts = [];
127
+ if (Array.isArray(msg.blocks) && msg.blocks.length > 0) {
128
+ for (const rawBlock of msg.blocks) {
129
+ if (rawBlock == null || typeof rawBlock !== "object")
130
+ continue;
131
+ const block = rawBlock;
132
+ if (block.type === "section") {
133
+ if (block.text?.text)
134
+ blockParts.push(block.text.text);
135
+ if (Array.isArray(block.fields)) {
136
+ for (const field of block.fields) {
137
+ if (field != null && typeof field === "object" && field.text) {
138
+ blockParts.push(field.text);
139
+ }
140
+ }
141
+ }
142
+ } else if (block.type === "rich_text" && Array.isArray(block.elements)) {
143
+ for (const el of block.elements) {
144
+ collectRichTextParts(el, blockParts);
145
+ }
146
+ } else if (block.type === "header") {
147
+ if (block.text?.text)
148
+ blockParts.push(block.text.text);
149
+ } else if (block.type === "context" && Array.isArray(block.elements)) {
150
+ for (const el of block.elements) {
151
+ if (el == null || typeof el !== "object")
152
+ continue;
153
+ const e = el;
154
+ if (e.text)
155
+ blockParts.push(e.text);
156
+ }
157
+ } else if (block.type === "actions" && Array.isArray(block.elements)) {
158
+ for (const el of block.elements) {
159
+ if (el == null || typeof el !== "object")
160
+ continue;
161
+ const e = el;
162
+ const label = e.text?.text;
163
+ const url = e.url;
164
+ if (label && url)
165
+ blockParts.push(`<${url}|${label}>`);
166
+ else if (label)
167
+ blockParts.push(label);
168
+ else if (url)
169
+ blockParts.push(url);
170
+ }
171
+ }
172
+ }
173
+ }
174
+ const bodyText = [...attachmentParts, ...blockParts].filter(Boolean).join(`
175
+ `);
176
+ const bodyLines = new Set(bodyText.split(`
177
+ `).map((l) => l.trim()).filter(Boolean));
178
+ if (topText && !bodyLines.has(topText)) {
179
+ return bodyText ? `${topText}
180
+ ${bodyText}` : topText;
181
+ }
182
+ return bodyText || topText;
183
+ }
184
+
66
185
  // src/tasks/additive-buffer.ts
67
186
  function createAdditiveBuffer(options) {
68
187
  const { timeoutMs, onFlush, label } = options;
@@ -133,4 +252,4 @@ function createAdditiveBuffer(options) {
133
252
  };
134
253
  }
135
254
 
136
- export { hasOtherUserMention, routeMessage, extractTaskFromMessage, createAdditiveBuffer };
255
+ export { hasOtherUserMention, routeMessage, extractTaskFromMessage, extractSlackMessageText, createAdditiveBuffer };
@@ -3,7 +3,7 @@ import {
3
3
  getAgentById,
4
4
  getInProgressTasksByContextKey,
5
5
  init_db
6
- } from "./cli-fedn86nz.js";
6
+ } from "./cli-wztagmpk.js";
7
7
 
8
8
  // src/tasks/context-key.ts
9
9
  var SEPARATOR = ":";
@@ -1,9 +1,3 @@
1
- import {
2
- contentSha256,
3
- resolveClaudeMdPath,
4
- syncProfileFilesToServer,
5
- writeIdentityBaselines
6
- } from "./cli-wjyyv518.js";
7
1
  import {
8
2
  authJsonToCredentialSelection,
9
3
  checkCodexCredentials,
@@ -29,7 +23,7 @@ import {
29
23
  withSpan,
30
24
  withSpanContext,
31
25
  writeSkillsToFilesystem
32
- } from "./cli-2307phk1.js";
26
+ } from "./cli-sdf2qwkt.js";
33
27
  import {
34
28
  checkClaudeCredentials
35
29
  } from "./cli-p04j6hjv.js";
@@ -46,13 +40,20 @@ import {
46
40
  import {
47
41
  getApiKey
48
42
  } from "./cli-f14fvzag.js";
43
+ import {
44
+ contentSha256,
45
+ init_profile_sync,
46
+ resolveClaudeMdPath,
47
+ syncProfileFilesToServer,
48
+ writeIdentityBaselines
49
+ } from "./cli-3j01d33e.js";
49
50
  import {
50
51
  ensure,
51
52
  initialize
52
- } from "./cli-ns0r7mkr.js";
53
+ } from "./cli-yzr0qxx1.js";
53
54
  import {
54
55
  validateJsonSchema
55
- } from "./cli-rttgde5f.js";
56
+ } from "./cli-gq7gvvrn.js";
56
57
  import {
57
58
  getMcpBaseUrl
58
59
  } from "./cli-dh55d5fg.js";
@@ -75,7 +76,7 @@ import {
75
76
  resolveTaskModelSelection,
76
77
  resolveTemplateAsync,
77
78
  telemetry
78
- } from "./cli-fedn86nz.js";
79
+ } from "./cli-wztagmpk.js";
79
80
  import {
80
81
  init_credentials,
81
82
  resolveCredentialPools
@@ -1463,6 +1464,9 @@ async function awaitCredentials(opts) {
1463
1464
  return status;
1464
1465
  }
1465
1466
 
1467
+ // src/commands/runner.ts
1468
+ init_profile_sync();
1469
+
1466
1470
  // src/commands/resume-session.ts
1467
1471
  var RESUME_DEPRECATED_REASON = "native resume deprecated — using context preamble";
1468
1472
  function resolveResumeSession(_currentProvider, candidates) {
@@ -1539,7 +1543,7 @@ async function readClaudeMd(clonePath, role) {
1539
1543
  }
1540
1544
  async function listSwarmAutostashes(clonePath, role) {
1541
1545
  try {
1542
- const result = await Bun.$`cd ${clonePath} && git stash list --format=%gd%x09%s`.quiet();
1546
+ const result = await Bun.$`env -u GIT_DIR -u GIT_WORK_TREE -u GIT_INDEX_FILE -u GIT_PREFIX git -C ${clonePath} stash list --format=%gd%x09%s`.quiet();
1543
1547
  return result.text().split(`
1544
1548
  `).map((line) => line.trim()).filter((line) => line.includes("swarm-autostash")).flatMap((line) => {
1545
1549
  const [ref, ...messageParts] = line.split("\t");
@@ -1554,14 +1558,14 @@ async function listSwarmAutostashes(clonePath, role) {
1554
1558
  }
1555
1559
  async function refreshExistingRepoForTask(repoConfig, role) {
1556
1560
  const { name, clonePath, defaultBranch } = repoConfig;
1557
- const statusResult = await Bun.$`cd ${clonePath} && git status --porcelain`.quiet();
1561
+ const statusResult = await Bun.$`env -u GIT_DIR -u GIT_WORK_TREE -u GIT_INDEX_FILE -u GIT_PREFIX git -C ${clonePath} status --porcelain`.quiet();
1558
1562
  const statusOutput = statusResult.text().trim();
1559
1563
  let stashMessage = null;
1560
1564
  if (statusOutput !== "") {
1561
1565
  stashMessage = `swarm-autostash ${defaultBranch} ${new Date().toISOString()}`;
1562
1566
  try {
1563
1567
  console.log(`[${role}] Auto-stashing pending work in ${name}: ${stashMessage}`);
1564
- await Bun.$`cd ${clonePath} && git stash push --include-untracked -m ${stashMessage}`.quiet();
1568
+ await Bun.$`env -u GIT_DIR -u GIT_WORK_TREE -u GIT_INDEX_FILE -u GIT_PREFIX git -C ${clonePath} stash push --include-untracked -m ${stashMessage}`.quiet();
1565
1569
  console.log(`[${role}] Auto-stashed pending work in ${name}`);
1566
1570
  } catch (err) {
1567
1571
  const errorMsg = scrubSecrets(err.message);
@@ -1573,15 +1577,15 @@ async function refreshExistingRepoForTask(repoConfig, role) {
1573
1577
  console.log(`[${role}] Refreshing ${name} from origin/${defaultBranch}...`);
1574
1578
  const fetchSpec = `${defaultBranch}:refs/remotes/origin/${defaultBranch}`;
1575
1579
  const remoteRef = `refs/remotes/origin/${defaultBranch}`;
1576
- await Bun.$`cd ${clonePath} && git fetch origin ${fetchSpec}`.quiet();
1577
- await Bun.$`cd ${clonePath} && git merge --no-edit --no-stat ${remoteRef}`.quiet();
1580
+ await Bun.$`env -u GIT_DIR -u GIT_WORK_TREE -u GIT_INDEX_FILE -u GIT_PREFIX git -C ${clonePath} fetch origin ${fetchSpec}`.quiet();
1581
+ await Bun.$`env -u GIT_DIR -u GIT_WORK_TREE -u GIT_INDEX_FILE -u GIT_PREFIX git -C ${clonePath} merge --no-edit --no-stat ${remoteRef}`.quiet();
1578
1582
  console.log(`[${role}] Refreshed ${name}`);
1579
1583
  return null;
1580
1584
  } catch (err) {
1581
1585
  const errorMsg = scrubSecrets(err.message);
1582
1586
  console.warn(`[${role}] Could not refresh ${name}: ${errorMsg}`);
1583
1587
  try {
1584
- await Bun.$`cd ${clonePath} && git merge --abort`.quiet();
1588
+ await Bun.$`env -u GIT_DIR -u GIT_WORK_TREE -u GIT_INDEX_FILE -u GIT_PREFIX git -C ${clonePath} merge --abort`.quiet();
1585
1589
  } catch {}
1586
1590
  const stashNote = stashMessage ? ` Pending work was preserved in git stash "${stashMessage}".` : "";
1587
1591
  return `The repo "${name}" at ${clonePath} could not be refreshed from origin/${defaultBranch}: ${errorMsg}.${stashNote}`;
@@ -2,15 +2,11 @@ import {
2
2
  init_secret_scrubber,
3
3
  scrubSecrets
4
4
  } from "./cli-3pp1362w.js";
5
+ import {
6
+ __esm
7
+ } from "./cli-p9swy5t3.js";
5
8
 
6
9
  // src/commands/profile-sync.ts
7
- init_secret_scrubber();
8
- var SOUL_MD_PATH = "/workspace/SOUL.md";
9
- var IDENTITY_MD_PATH = "/workspace/IDENTITY.md";
10
- var TOOLS_MD_PATH = "/workspace/TOOLS.md";
11
- var HEARTBEAT_MD_PATH = "/workspace/HEARTBEAT.md";
12
- var SETUP_SCRIPT_PATH = "/workspace/start-up.sh";
13
- var IDENTITY_BASELINES_PATH = "/tmp/identity-baselines.json";
14
10
  function contentSha256(content) {
15
11
  return new Bun.CryptoHasher("sha256").update(content).digest("hex");
16
12
  }
@@ -27,12 +23,6 @@ async function readIdentityBaselines(readFile = readFileIfExists) {
27
23
  return null;
28
24
  }
29
25
  }
30
- var CLAUDE_MD_PATH = `${process.env.HOME}/.claude/CLAUDE.md`;
31
- var WORKSPACE_CLAUDE_MD_PATH = "/workspace/CLAUDE.md";
32
- var IDENTITY_FILE_MIN_LENGTH = 500;
33
- var MAX_FILE_LENGTH = 65536;
34
- var SETUP_MARKER_START = "# === Agent-managed setup (from DB) ===";
35
- var SETUP_MARKER_END = "# === End agent-managed setup ===";
36
26
  function resolveClaudeMdPath(completedProviders) {
37
27
  const anyNonClaude = completedProviders.some((p) => p !== "claude");
38
28
  return anyNonClaude ? WORKSPACE_CLAUDE_MD_PATH : CLAUDE_MD_PATH;
@@ -163,5 +153,10 @@ async function syncProfileFilesToServer(opts) {
163
153
  await postProfileUpdate(opts, payload);
164
154
  }
165
155
  }
156
+ var SOUL_MD_PATH = "/workspace/SOUL.md", IDENTITY_MD_PATH = "/workspace/IDENTITY.md", TOOLS_MD_PATH = "/workspace/TOOLS.md", HEARTBEAT_MD_PATH = "/workspace/HEARTBEAT.md", SETUP_SCRIPT_PATH = "/workspace/start-up.sh", IDENTITY_BASELINES_PATH = "/tmp/identity-baselines.json", CLAUDE_MD_PATH, WORKSPACE_CLAUDE_MD_PATH = "/workspace/CLAUDE.md", IDENTITY_FILE_MIN_LENGTH = 500, MAX_FILE_LENGTH = 65536, SETUP_MARKER_START = "# === Agent-managed setup (from DB) ===", SETUP_MARKER_END = "# === End agent-managed setup ===";
157
+ var init_profile_sync = __esm(() => {
158
+ init_secret_scrubber();
159
+ CLAUDE_MD_PATH = `${process.env.HOME}/.claude/CLAUDE.md`;
160
+ });
166
161
 
167
- export { contentSha256, writeIdentityBaselines, readIdentityBaselines, resolveClaudeMdPath, syncProfileFilesToServer };
162
+ export { contentSha256, writeIdentityBaselines, readIdentityBaselines, resolveClaudeMdPath, syncProfileFilesToServer, init_profile_sync };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  init_package,
3
3
  package_default
4
- } from "./cli-85pf4z38.js";
4
+ } from "./cli-ehcjr5vs.js";
5
5
 
6
6
  // src/commands/shared/client-config.ts
7
7
  init_package();