@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.
- package/README.md +3 -0
- package/dist/{actions-7txktrdj.js → actions-45g8tvc8.js} +6 -6
- package/dist/{app-xm3xsdye.js → app-18x5k1cj.js} +3 -3
- package/dist/{assistant-qpv63wk6.js → assistant-ka281qe8.js} +9 -10
- package/dist/{boot-reembed-9cxqka3e.js → boot-reembed-f38vbxw8.js} +4 -3
- package/dist/{boot-reembed-chxhrwv8.js → boot-reembed-rp2gba79.js} +5 -4
- package/dist/{boot-scrub-logs-8qtfkcz8.js → boot-scrub-logs-nsnc9f1a.js} +2 -2
- package/dist/{cli-gzepjz54.js → cli-0e24r2b6.js} +900 -352
- package/dist/{cli-dz3d6zjg.js → cli-0n4xxmy0.js} +121 -2
- package/dist/{cli-jt9d9fjw.js → cli-0s37sw3k.js} +1 -1
- package/dist/{cli-yeemwevj.js → cli-2hg6bj31.js} +20 -16
- package/dist/{cli-wjyyv518.js → cli-3j01d33e.js} +9 -14
- package/dist/{cli-xmtsan9k.js → cli-4df7btj0.js} +1 -1
- package/dist/{cli-8w95v19d.js → cli-634jy7sa.js} +351 -24
- package/dist/{cli-m8f6qzck.js → cli-7esh9fda.js} +1 -1
- package/dist/{cli-4fnp2tc3.js → cli-87fj1jk4.js} +1 -1
- package/dist/{cli-ksq38x4n.js → cli-8y7y1vmp.js} +2 -2
- package/dist/{cli-rvae030h.js → cli-ba47wf2q.js} +3 -3
- package/dist/{cli-2qynerth.js → cli-c4h8m0m3.js} +1 -1
- package/dist/{cli-fygaw191.js → cli-dd6tegmp.js} +2 -2
- package/dist/{cli-85pf4z38.js → cli-ehcjr5vs.js} +5 -3
- package/dist/{cli-rttgde5f.js → cli-gq7gvvrn.js} +1 -1
- package/dist/{cli-kk51f3tf.js → cli-gzmv1371.js} +5 -5
- package/dist/{http-zts4haq7.js → cli-sdf2qwkt.js} +83970 -76419
- package/dist/{cli-krvxq8bc.js → cli-sm9yseh1.js} +23 -4
- package/dist/{cli-8hyv6c2v.js → cli-v2fb1fxf.js} +41 -23
- package/dist/{cli-fwxdt7kt.js → cli-vpwffend.js} +30 -5
- package/dist/{cli-fedn86nz.js → cli-wztagmpk.js} +8 -3
- package/dist/{cli-v9283nma.js → cli-yd29d4n4.js} +1 -1
- package/dist/{cli-yfwwjeft.js → cli-yfyqsqzj.js} +1 -1
- package/dist/{cli-ns0r7mkr.js → cli-yzr0qxx1.js} +3 -3
- package/dist/{cli-s14sb64w.js → cli-zmta7t3y.js} +5 -7
- package/dist/cli.js +12 -10
- package/dist/{commands-aqn63mcw.js → commands-tn8zj0an.js} +2 -2
- package/dist/{db-azrvwsnj.js → db-gtqymk7r.js} +2 -2
- package/dist/{handlers-hf61har3.js → handlers-5xdqk40d.js} +10 -12
- package/dist/{hook-306p3yz4.js → hook-gj6j6zwj.js} +7 -5
- package/dist/http-4pceba9h.js +17374 -0
- package/dist/{index-bfh9hgek.js → index-0rfp6wh2.js} +5 -5
- package/dist/{index-3c651yfk.js → index-as4evz9g.js} +14 -11
- package/dist/{index-h2yqjyk0.js → index-paaw4xt5.js} +9 -8
- package/dist/{index-29vg51x6.js → index-wf0q4k03.js} +23 -10
- package/dist/{keepalive-a0dg5pds.js → keepalive-akbzjt41.js} +4 -4
- package/dist/{lead-7mcxedkc.js → lead-g8v85nf4.js} +19 -19
- package/dist/{maintenance-mrzqd53t.js → maintenance-9yrzmrh8.js} +5 -4
- package/dist/{onboard-4dkpv9wa.js → onboard-v5bx0kpy.js} +2 -2
- package/dist/{otel-impl-jt7gpyp9.js → otel-impl-530442da.js} +4510 -4465
- package/dist/{pricing-refresh-xqnzh8dt.js → pricing-refresh-dt289v11.js} +4 -4
- package/dist/{seed-pricing-56tjm1fj.js → seed-pricing-183er9b3.js} +3 -3
- package/dist/{setup-tbwk8j10.js → setup-tjgsvznx.js} +2 -2
- package/dist/{worker-e03za92t.js → worker-nxcxk5pb.js} +19 -19
- package/openapi.json +90 -4
- package/package.json +5 -3
- package/src/be/memory/constants.ts +6 -0
- package/src/be/memory/providers/sqlite-store.ts +468 -71
- package/src/be/memory/raters/retrieval.ts +4 -2
- package/src/be/memory/reranker.ts +5 -2
- package/src/be/memory/retrieval-store.ts +2 -0
- package/src/be/memory/types.ts +46 -0
- package/src/be/migrations/099_memory_structured_key_versioning.sql +41 -0
- package/src/be/migrations/100_memory_retrieval_source.sql +8 -0
- package/src/be/migrations/101_script_connections.sql +67 -0
- package/src/be/script-connections.ts +744 -0
- package/src/be/script-credential-broker.ts +38 -0
- package/src/be/scripts/typecheck.ts +23 -2
- package/src/be/seed-scripts/catalog/boot-triage.inline.ts +16 -4
- package/src/be/seed-scripts/catalog/boot-triage.ts +16 -4
- package/src/commands/runner.ts +8 -6
- package/src/heartbeat/heartbeat.ts +42 -1
- package/src/heartbeat/index.ts +7 -1
- package/src/http/memory.ts +127 -14
- package/src/http/pages-public.ts +123 -2
- package/src/http/scripts.ts +15 -14
- package/src/http/session-data.ts +16 -0
- package/src/otel-impl.ts +73 -0
- package/src/otel.ts +12 -0
- package/src/scripts-runtime/api-client.ts +100 -0
- package/src/scripts-runtime/api-types.ts +45 -0
- package/src/scripts-runtime/credential-broker/README.md +40 -0
- package/src/scripts-runtime/credential-broker/broker.ts +51 -0
- package/src/scripts-runtime/credential-broker/default-bindings.ts +19 -0
- package/src/scripts-runtime/credential-broker/fetch-patch.ts +102 -0
- package/src/scripts-runtime/credential-broker/index.ts +17 -0
- package/src/scripts-runtime/credential-broker/store.ts +72 -0
- package/src/scripts-runtime/credential-broker/types.ts +54 -0
- package/src/scripts-runtime/ctx.ts +11 -1
- package/src/scripts-runtime/egress-secrets.ts +14 -76
- package/src/scripts-runtime/eval-harness.ts +1 -1
- package/src/scripts-runtime/executors/types.ts +5 -5
- package/src/scripts-runtime/loader.ts +6 -1
- package/src/scripts-runtime/sdk-allowlist.ts +1 -0
- package/src/scripts-runtime/types/stdlib.d.ts +11 -0
- package/src/scripts-runtime/types/swarm-sdk.d.ts +11 -0
- package/src/server.ts +6 -0
- package/src/tests/credential-broker.test.ts +281 -0
- package/src/tests/heartbeat.test.ts +239 -0
- package/src/tests/memory-edit.test.ts +177 -0
- package/src/tests/memory-hybrid.test.ts +212 -0
- package/src/tests/otel-impl-secret-scrubbing.test.ts +101 -3
- package/src/tests/otel-session-cost-metrics.test.ts +281 -0
- package/src/tests/pages-authed-mode.test.ts +50 -0
- package/src/tests/runner-repo-autostash.test.ts +39 -8
- package/src/tests/script-connections.test.ts +360 -0
- package/src/tests/scripts-http.test.ts +16 -10
- package/src/tests/scripts-runtime-secret-egress.test.ts +26 -5
- package/src/tests/swarm-config-reserved-keys.test.ts +23 -0
- package/src/tests/update-schedule-mcp-tool.test.ts +83 -4
- package/src/tools/credential-bindings/index.ts +1 -0
- package/src/tools/credential-bindings/tool.ts +238 -0
- package/src/tools/memory-edit.ts +148 -0
- package/src/tools/memory-search.ts +17 -10
- package/src/tools/schedules/delete-schedule.ts +18 -8
- package/src/tools/schedules/update-schedule.ts +4 -9
- package/src/tools/script-connections/index.ts +1 -0
- package/src/tools/script-connections/tool.ts +167 -0
- package/src/tools/swarm-config/delete-config.ts +5 -0
- package/src/tools/swarm-config/set-config.ts +23 -1
- package/src/tools/tool-config.ts +6 -1
- package/src/types.ts +6 -0
- package/src/workflows/executors/swarm-script.ts +2 -0
- package/templates/community/dora-metrics/PLAYBOOK.md +294 -0
- package/templates/community/dora-metrics/README.md +39 -0
- package/templates/community/dora-metrics/lead-prompt.md +56 -0
- package/templates/community/dora-metrics/report.mjs +393 -0
- package/templates/community/dora-metrics/run.sh +113 -0
- package/templates/schedules/weekly-dora-metrics/config.json +13 -0
- package/templates/schedules/weekly-dora-metrics/content.md +61 -0
- package/dist/cli-2307phk1.js +0 -24223
- 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-
|
|
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 };
|
|
@@ -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-
|
|
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-
|
|
53
|
+
} from "./cli-yzr0qxx1.js";
|
|
53
54
|
import {
|
|
54
55
|
validateJsonSchema
|
|
55
|
-
} from "./cli-
|
|
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-
|
|
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.$`
|
|
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.$`
|
|
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.$`
|
|
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.$`
|
|
1577
|
-
await Bun.$`
|
|
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.$`
|
|
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 };
|