@goondocks/myco 0.21.0 → 0.21.1
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/bin/myco-run +68 -7
- package/dist/{agent-eval-RJSQI5S2.js → agent-eval-YK2VP2S4.js} +7 -6
- package/dist/{agent-eval-RJSQI5S2.js.map → agent-eval-YK2VP2S4.js.map} +1 -1
- package/dist/{agent-run-2JSYFOKU.js → agent-run-GEJBD2YD.js} +5 -5
- package/dist/{agent-tasks-APFJIM2T.js → agent-tasks-5XSRGTRX.js} +5 -5
- package/dist/{chunk-R2JIJBCL.js → chunk-6ALVMIB4.js} +3 -3
- package/dist/{chunk-JZS6GZ6T.js → chunk-AUIXX33A.js} +10 -3
- package/dist/chunk-AUIXX33A.js.map +1 -0
- package/dist/{chunk-RL5R4CQU.js → chunk-DTWUHHFI.js} +39 -2
- package/dist/{chunk-RL5R4CQU.js.map → chunk-DTWUHHFI.js.map} +1 -1
- package/dist/{chunk-CESKJD44.js → chunk-EEOJWLMP.js} +5 -9
- package/dist/chunk-EEOJWLMP.js.map +1 -0
- package/dist/{chunk-BUTL6IFS.js → chunk-ENZR5NG7.js} +2 -2
- package/dist/{chunk-P66DLD6G.js → chunk-KTTSXYEK.js} +2 -2
- package/dist/chunk-LQIPXVDH.js +17 -0
- package/dist/chunk-LQIPXVDH.js.map +1 -0
- package/dist/{chunk-5ZG4RMUH.js → chunk-N2DGFACQ.js} +2 -2
- package/dist/{chunk-F3OEQYLS.js → chunk-N7Z3LUEZ.js} +33 -22
- package/dist/{chunk-F3OEQYLS.js.map → chunk-N7Z3LUEZ.js.map} +1 -1
- package/dist/{chunk-G6QIBNZM.js → chunk-NFO7BRCO.js} +4 -4
- package/dist/{chunk-VHNRMM4O.js → chunk-OTQH5KZW.js} +87 -37
- package/dist/chunk-OTQH5KZW.js.map +1 -0
- package/dist/{chunk-DJ3IHNYO.js → chunk-OZ3FBAK5.js} +2 -2
- package/dist/{chunk-6LB7XELY.js → chunk-QATYARI5.js} +15 -13
- package/dist/chunk-QATYARI5.js.map +1 -0
- package/dist/{chunk-JR54LTPP.js → chunk-QDLVIW2O.js} +3 -3
- package/dist/{chunk-LVIY7P35.js → chunk-QLLBJEM7.js} +5 -1
- package/dist/chunk-QLLBJEM7.js.map +1 -0
- package/dist/chunk-TSM6VESW.js +25 -0
- package/dist/chunk-TSM6VESW.js.map +1 -0
- package/dist/{chunk-ILJPRYES.js → chunk-USVFEWYL.js} +2 -2
- package/dist/{chunk-75Z7UKDY.js → chunk-VRI56337.js} +2 -2
- package/dist/{chunk-NGH7U6A3.js → chunk-X2IRGXGF.js} +336 -77
- package/dist/chunk-X2IRGXGF.js.map +1 -0
- package/dist/{chunk-NGROSFOH.js → chunk-Z66IT5KL.js} +14 -9
- package/dist/chunk-Z66IT5KL.js.map +1 -0
- package/dist/{cli-LNYSTDQM.js → cli-HSLIG7EX.js} +37 -37
- package/dist/{client-NWE4TCNO.js → client-Z43DNLJH.js} +3 -3
- package/dist/{detect-PXNM6TA7.js → detect-7NUD5B5R.js} +2 -2
- package/dist/{doctor-TI7EZ3RW.js → doctor-HJCWHAU4.js} +6 -6
- package/dist/{executor-F2YU7HXJ.js → executor-DO6QFC6G.js} +11 -10
- package/dist/{init-KG3TYVGE.js → init-4KVK7W2E.js} +9 -9
- package/dist/{installer-UMH7OJ5A.js → installer-N4UTEACX.js} +2 -2
- package/dist/{loader-NAVVZK63.js → loader-UDNUMEDA.js} +3 -2
- package/dist/{main-5PRQNEEE.js → main-4J4QZZTZ.js} +121 -62
- package/dist/main-4J4QZZTZ.js.map +1 -0
- package/dist/{open-5A27BCSB.js → open-7TXJQM3H.js} +5 -5
- package/dist/{post-compact-USAODKPQ.js → post-compact-7AEFVCZS.js} +7 -7
- package/dist/{post-tool-use-GMMSYBII.js → post-tool-use-TZINWWDH.js} +6 -6
- package/dist/{post-tool-use-failure-NZVSL2PO.js → post-tool-use-failure-TCFEU2GI.js} +7 -7
- package/dist/{pre-compact-LZ57DLUS.js → pre-compact-LO2VZCGR.js} +7 -7
- package/dist/{registry-M2Z5QBWH.js → registry-F3THYC5M.js} +4 -3
- package/dist/{remove-T3KE6C5N.js → remove-F77AAALE.js} +7 -7
- package/dist/{restart-YWDEVZUJ.js → restart-UEFDPMLT.js} +6 -6
- package/dist/{search-GKFDGELR.js → search-NHNVUAQQ.js} +6 -6
- package/dist/{server-AHUR6CWF.js → server-AZJSTQEK.js} +5 -5
- package/dist/{session-2ZEPLWW6.js → session-3HLC5KOD.js} +5 -5
- package/dist/{session-end-LWJYQAXX.js → session-end-FS46UARX.js} +6 -6
- package/dist/{session-start-WTA6GCOQ.js → session-start-46KPFV2H.js} +10 -10
- package/dist/{setup-llm-E7UU5IO7.js → setup-llm-JMWSNQ2C.js} +5 -5
- package/dist/src/agent/definitions/tasks/cortex-instructions.yaml +63 -41
- package/dist/src/agent/definitions/tasks/skill-evolve.yaml +177 -21
- package/dist/src/agent/definitions/tasks/skill-generate.yaml +20 -6
- package/dist/src/agent/definitions/tasks/vault-evolve.yaml +65 -55
- package/dist/src/cli.js +1 -1
- package/dist/src/daemon/main.js +1 -1
- package/dist/src/hooks/post-tool-use.js +1 -1
- package/dist/src/hooks/session-end.js +1 -1
- package/dist/src/hooks/session-start.js +1 -1
- package/dist/src/hooks/stop.js +1 -1
- package/dist/src/hooks/user-prompt-submit.js +1 -1
- package/dist/src/mcp/server.js +1 -1
- package/dist/src/symbionts/manifests/opencode.yaml +7 -0
- package/dist/src/symbionts/templates/agents-starter.md +1 -1
- package/dist/{stats-DFG6S23S.js → stats-MKMETHMA.js} +6 -6
- package/dist/{stop-WRBTXEVT.js → stop-OUEX6KA4.js} +6 -6
- package/dist/{stop-failure-32MGIG2Q.js → stop-failure-2BWVNZEG.js} +7 -7
- package/dist/{subagent-start-VFGHQFVL.js → subagent-start-J4VV6DEE.js} +7 -7
- package/dist/{subagent-stop-663FXG3P.js → subagent-stop-JMLVEPIA.js} +7 -7
- package/dist/{task-completed-ZCQYEFMZ.js → task-completed-65CHMMKA.js} +7 -7
- package/dist/{team-JTI5CDUO.js → team-U2LDKIS4.js} +3 -3
- package/dist/ui/assets/{index-DGf1h-Ha.js → index-BUGor9dk.js} +1 -1
- package/dist/ui/index.html +1 -1
- package/dist/{update-3NBQTG32.js → update-ZSHVXWSQ.js} +7 -7
- package/dist/{user-prompt-submit-ME2TBKOS.js → user-prompt-submit-APMO6FVU.js} +6 -6
- package/dist/{version-GQAFBBPX.js → version-TXPPS3L5.js} +2 -2
- package/package.json +1 -1
- package/skills/myco-rules/SKILL.md +94 -0
- package/skills/{rules → myco-rules}/references/rules-bad-example.md +1 -1
- package/skills/{rules → myco-rules}/references/rules-good-example.md +1 -1
- package/dist/chunk-6LB7XELY.js.map +0 -1
- package/dist/chunk-CESKJD44.js.map +0 -1
- package/dist/chunk-CUDIZJY7.js +0 -36
- package/dist/chunk-CUDIZJY7.js.map +0 -1
- package/dist/chunk-JZS6GZ6T.js.map +0 -1
- package/dist/chunk-LVIY7P35.js.map +0 -1
- package/dist/chunk-NGH7U6A3.js.map +0 -1
- package/dist/chunk-NGROSFOH.js.map +0 -1
- package/dist/chunk-VHNRMM4O.js.map +0 -1
- package/dist/main-5PRQNEEE.js.map +0 -1
- package/skills/myco-curate/SKILL.md +0 -86
- package/skills/rules/SKILL.md +0 -214
- /package/dist/{agent-run-2JSYFOKU.js.map → agent-run-GEJBD2YD.js.map} +0 -0
- /package/dist/{agent-tasks-APFJIM2T.js.map → agent-tasks-5XSRGTRX.js.map} +0 -0
- /package/dist/{chunk-R2JIJBCL.js.map → chunk-6ALVMIB4.js.map} +0 -0
- /package/dist/{chunk-BUTL6IFS.js.map → chunk-ENZR5NG7.js.map} +0 -0
- /package/dist/{chunk-P66DLD6G.js.map → chunk-KTTSXYEK.js.map} +0 -0
- /package/dist/{chunk-5ZG4RMUH.js.map → chunk-N2DGFACQ.js.map} +0 -0
- /package/dist/{chunk-G6QIBNZM.js.map → chunk-NFO7BRCO.js.map} +0 -0
- /package/dist/{chunk-DJ3IHNYO.js.map → chunk-OZ3FBAK5.js.map} +0 -0
- /package/dist/{chunk-JR54LTPP.js.map → chunk-QDLVIW2O.js.map} +0 -0
- /package/dist/{chunk-ILJPRYES.js.map → chunk-USVFEWYL.js.map} +0 -0
- /package/dist/{chunk-75Z7UKDY.js.map → chunk-VRI56337.js.map} +0 -0
- /package/dist/{cli-LNYSTDQM.js.map → cli-HSLIG7EX.js.map} +0 -0
- /package/dist/{client-NWE4TCNO.js.map → client-Z43DNLJH.js.map} +0 -0
- /package/dist/{detect-PXNM6TA7.js.map → detect-7NUD5B5R.js.map} +0 -0
- /package/dist/{doctor-TI7EZ3RW.js.map → doctor-HJCWHAU4.js.map} +0 -0
- /package/dist/{executor-F2YU7HXJ.js.map → executor-DO6QFC6G.js.map} +0 -0
- /package/dist/{init-KG3TYVGE.js.map → init-4KVK7W2E.js.map} +0 -0
- /package/dist/{installer-UMH7OJ5A.js.map → installer-N4UTEACX.js.map} +0 -0
- /package/dist/{loader-NAVVZK63.js.map → loader-UDNUMEDA.js.map} +0 -0
- /package/dist/{open-5A27BCSB.js.map → open-7TXJQM3H.js.map} +0 -0
- /package/dist/{post-compact-USAODKPQ.js.map → post-compact-7AEFVCZS.js.map} +0 -0
- /package/dist/{post-tool-use-GMMSYBII.js.map → post-tool-use-TZINWWDH.js.map} +0 -0
- /package/dist/{post-tool-use-failure-NZVSL2PO.js.map → post-tool-use-failure-TCFEU2GI.js.map} +0 -0
- /package/dist/{pre-compact-LZ57DLUS.js.map → pre-compact-LO2VZCGR.js.map} +0 -0
- /package/dist/{registry-M2Z5QBWH.js.map → registry-F3THYC5M.js.map} +0 -0
- /package/dist/{remove-T3KE6C5N.js.map → remove-F77AAALE.js.map} +0 -0
- /package/dist/{restart-YWDEVZUJ.js.map → restart-UEFDPMLT.js.map} +0 -0
- /package/dist/{search-GKFDGELR.js.map → search-NHNVUAQQ.js.map} +0 -0
- /package/dist/{server-AHUR6CWF.js.map → server-AZJSTQEK.js.map} +0 -0
- /package/dist/{session-2ZEPLWW6.js.map → session-3HLC5KOD.js.map} +0 -0
- /package/dist/{session-end-LWJYQAXX.js.map → session-end-FS46UARX.js.map} +0 -0
- /package/dist/{session-start-WTA6GCOQ.js.map → session-start-46KPFV2H.js.map} +0 -0
- /package/dist/{setup-llm-E7UU5IO7.js.map → setup-llm-JMWSNQ2C.js.map} +0 -0
- /package/dist/{stats-DFG6S23S.js.map → stats-MKMETHMA.js.map} +0 -0
- /package/dist/{stop-WRBTXEVT.js.map → stop-OUEX6KA4.js.map} +0 -0
- /package/dist/{stop-failure-32MGIG2Q.js.map → stop-failure-2BWVNZEG.js.map} +0 -0
- /package/dist/{subagent-start-VFGHQFVL.js.map → subagent-start-J4VV6DEE.js.map} +0 -0
- /package/dist/{subagent-stop-663FXG3P.js.map → subagent-stop-JMLVEPIA.js.map} +0 -0
- /package/dist/{task-completed-ZCQYEFMZ.js.map → task-completed-65CHMMKA.js.map} +0 -0
- /package/dist/{team-JTI5CDUO.js.map → team-U2LDKIS4.js.map} +0 -0
- /package/dist/{update-3NBQTG32.js.map → update-ZSHVXWSQ.js.map} +0 -0
- /package/dist/{user-prompt-submit-ME2TBKOS.js.map → user-prompt-submit-APMO6FVU.js.map} +0 -0
- /package/dist/{version-GQAFBBPX.js.map → version-TXPPS3L5.js.map} +0 -0
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
getEmbeddingQueueDepth,
|
|
19
19
|
getUnembedded,
|
|
20
20
|
markEmbedded
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-VRI56337.js";
|
|
22
22
|
import {
|
|
23
23
|
deleteSecrets,
|
|
24
24
|
getTeamPackageVersion,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
readSecrets,
|
|
28
28
|
resolveVaultConfigPath,
|
|
29
29
|
writeSecret
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-6ALVMIB4.js";
|
|
31
31
|
import {
|
|
32
32
|
DEFAULT_OPENAI_URL,
|
|
33
33
|
DEFAULT_OPENROUTER_URL,
|
|
@@ -90,28 +90,31 @@ import {
|
|
|
90
90
|
tryParseJson,
|
|
91
91
|
updateCandidate,
|
|
92
92
|
updateNotificationStatus
|
|
93
|
-
} from "./chunk-
|
|
93
|
+
} from "./chunk-X2IRGXGF.js";
|
|
94
94
|
import {
|
|
95
|
-
errorMessage,
|
|
96
95
|
parseCheckpointState,
|
|
97
96
|
runDurationMs
|
|
98
|
-
} from "./chunk-
|
|
97
|
+
} from "./chunk-QATYARI5.js";
|
|
99
98
|
import {
|
|
100
99
|
fullTextSearch,
|
|
101
|
-
hydrateSearchResults
|
|
102
|
-
|
|
100
|
+
hydrateSearchResults,
|
|
101
|
+
sanitizeFtsQuery
|
|
102
|
+
} from "./chunk-QLLBJEM7.js";
|
|
103
103
|
import {
|
|
104
104
|
copyTaskToUser,
|
|
105
105
|
deleteUserTask,
|
|
106
106
|
loadAllTasks,
|
|
107
107
|
validateTaskName,
|
|
108
108
|
writeUserTask
|
|
109
|
-
} from "./chunk-
|
|
109
|
+
} from "./chunk-USVFEWYL.js";
|
|
110
110
|
import {
|
|
111
111
|
registerAgent,
|
|
112
112
|
resolveDefinitionsDir,
|
|
113
113
|
taskFromParsed
|
|
114
|
-
} from "./chunk-
|
|
114
|
+
} from "./chunk-AUIXX33A.js";
|
|
115
|
+
import {
|
|
116
|
+
errorMessage
|
|
117
|
+
} from "./chunk-LQIPXVDH.js";
|
|
115
118
|
import {
|
|
116
119
|
listTurnsByRun
|
|
117
120
|
} from "./chunk-FCJ5JV54.js";
|
|
@@ -135,11 +138,11 @@ import {
|
|
|
135
138
|
cleanStaleBuffers,
|
|
136
139
|
listBufferSessionIds
|
|
137
140
|
} from "./chunk-V7XG6V6C.js";
|
|
138
|
-
import "./chunk-
|
|
141
|
+
import "./chunk-QDLVIW2O.js";
|
|
139
142
|
import "./chunk-SAKJMNSR.js";
|
|
140
143
|
import {
|
|
141
144
|
SymbiontInstaller
|
|
142
|
-
} from "./chunk-
|
|
145
|
+
} from "./chunk-OTQH5KZW.js";
|
|
143
146
|
import {
|
|
144
147
|
checkLocalProvider
|
|
145
148
|
} from "./chunk-TKAJ3JVF.js";
|
|
@@ -150,7 +153,7 @@ import {
|
|
|
150
153
|
import {
|
|
151
154
|
composeSessionStartContext,
|
|
152
155
|
shouldInjectSessionStartDigest
|
|
153
|
-
} from "./chunk-
|
|
156
|
+
} from "./chunk-OZ3FBAK5.js";
|
|
154
157
|
import {
|
|
155
158
|
buildCortexInstructionsInput,
|
|
156
159
|
countSpores,
|
|
@@ -170,7 +173,7 @@ import {
|
|
|
170
173
|
shouldInjectCortex,
|
|
171
174
|
updateSporeStatus,
|
|
172
175
|
upsertPlan
|
|
173
|
-
} from "./chunk-
|
|
176
|
+
} from "./chunk-N7Z3LUEZ.js";
|
|
174
177
|
import {
|
|
175
178
|
backfillUnsynced,
|
|
176
179
|
closeSession,
|
|
@@ -202,7 +205,7 @@ import {
|
|
|
202
205
|
} from "./chunk-XL75KZGI.js";
|
|
203
206
|
import {
|
|
204
207
|
PLAN_STATUSES
|
|
205
|
-
} from "./chunk-
|
|
208
|
+
} from "./chunk-EEOJWLMP.js";
|
|
206
209
|
import {
|
|
207
210
|
EMBEDDING_DIMENSIONS,
|
|
208
211
|
REST_SETTABLE_STATUSES,
|
|
@@ -215,7 +218,7 @@ import {
|
|
|
215
218
|
createSchema,
|
|
216
219
|
humanizePlanToken,
|
|
217
220
|
normalizePlanSourcePath
|
|
218
|
-
} from "./chunk-
|
|
221
|
+
} from "./chunk-DTWUHHFI.js";
|
|
219
222
|
import {
|
|
220
223
|
CONFIG_FILENAME,
|
|
221
224
|
MycoConfigSchema,
|
|
@@ -244,14 +247,14 @@ import {
|
|
|
244
247
|
} from "./chunk-ZXZPJJN3.js";
|
|
245
248
|
import {
|
|
246
249
|
resolveCliEntryPath
|
|
247
|
-
} from "./chunk-
|
|
250
|
+
} from "./chunk-KTTSXYEK.js";
|
|
248
251
|
import {
|
|
249
252
|
getPluginVersion
|
|
250
|
-
} from "./chunk-
|
|
253
|
+
} from "./chunk-ENZR5NG7.js";
|
|
251
254
|
import {
|
|
252
255
|
loadManifests,
|
|
253
256
|
resolvePackageRoot
|
|
254
|
-
} from "./chunk-
|
|
257
|
+
} from "./chunk-Z66IT5KL.js";
|
|
255
258
|
import {
|
|
256
259
|
findPackageRoot
|
|
257
260
|
} from "./chunk-LPUQPDC2.js";
|
|
@@ -2896,13 +2899,17 @@ function createTeamHandlers(deps) {
|
|
|
2896
2899
|
try {
|
|
2897
2900
|
pendingCount = countPending();
|
|
2898
2901
|
deadLetterCount = countDeadLettered();
|
|
2899
|
-
} catch {
|
|
2902
|
+
} catch (err) {
|
|
2903
|
+
const detail = errorMessage(err);
|
|
2904
|
+
logger.warn("team-sync.outbox.count-failed", "team-outbox counts unavailable", { error: detail });
|
|
2900
2905
|
}
|
|
2901
2906
|
let collectiveStatus = null;
|
|
2902
2907
|
if (client && config.team.enabled) {
|
|
2903
2908
|
try {
|
|
2904
2909
|
collectiveStatus = await client.getCollectiveStatus();
|
|
2905
|
-
} catch {
|
|
2910
|
+
} catch (err) {
|
|
2911
|
+
const detail = errorMessage(err);
|
|
2912
|
+
logger.warn("team-sync.collective.status-failed", "Collective status unavailable", { error: detail });
|
|
2906
2913
|
collectiveStatus = null;
|
|
2907
2914
|
}
|
|
2908
2915
|
}
|
|
@@ -2945,7 +2952,7 @@ function createTeamHandlers(deps) {
|
|
|
2945
2952
|
return { body: { retried: count } };
|
|
2946
2953
|
}
|
|
2947
2954
|
async function handleUpgradeWorker(_req) {
|
|
2948
|
-
const { upgradeWorker } = await import("./team-
|
|
2955
|
+
const { upgradeWorker } = await import("./team-U2LDKIS4.js");
|
|
2949
2956
|
logger.info("team-sync.upgrade.start", "Starting worker upgrade");
|
|
2950
2957
|
const result = upgradeWorker(vaultDir);
|
|
2951
2958
|
if (!result.success) {
|
|
@@ -2983,7 +2990,7 @@ function createTeamHandlers(deps) {
|
|
|
2983
2990
|
logger.info("team-sync.mcp-token.rotated", "MCP access token rotated");
|
|
2984
2991
|
return { body: { token } };
|
|
2985
2992
|
} catch (err) {
|
|
2986
|
-
const message =
|
|
2993
|
+
const message = errorMessage(err);
|
|
2987
2994
|
logger.error("team-sync.mcp-token.rotate-failed", "MCP token rotation failed", { error: message });
|
|
2988
2995
|
return {
|
|
2989
2996
|
status: 500,
|
|
@@ -3337,7 +3344,7 @@ function createSkillRecordDeleteHandler(deps) {
|
|
|
3337
3344
|
logger.warn(LOG_KINDS.PROCESSOR_BATCH, "Failed to remove skill directory", { name: record.name, error: String(err) });
|
|
3338
3345
|
}
|
|
3339
3346
|
try {
|
|
3340
|
-
const { syncSkillSymlinks } = await import("./installer-
|
|
3347
|
+
const { syncSkillSymlinks } = await import("./installer-N4UTEACX.js");
|
|
3341
3348
|
syncSkillSymlinks(projectRoot, record.name, { remove: true });
|
|
3342
3349
|
} catch (err) {
|
|
3343
3350
|
logger.warn(LOG_KINDS.PROCESSOR_BATCH, "Failed to remove skill symlinks", { name: record.name, error: String(err) });
|
|
@@ -3618,7 +3625,7 @@ async function fetchRemoteProviderModels(provider, _baseUrl, timeoutMs = REMOTE_
|
|
|
3618
3625
|
const modelIds = (data.data ?? []).map((entry) => entry.id).filter((id) => typeof id === "string" && id.length > 0);
|
|
3619
3626
|
return filterLlmModels(modelIds);
|
|
3620
3627
|
}
|
|
3621
|
-
async function handleGetModels(req) {
|
|
3628
|
+
async function handleGetModels(req, logger) {
|
|
3622
3629
|
const provider = req.query.provider;
|
|
3623
3630
|
const type = req.query.type;
|
|
3624
3631
|
const localBackend = req.query.local_backend;
|
|
@@ -3626,6 +3633,7 @@ async function handleGetModels(req) {
|
|
|
3626
3633
|
return { status: 400, body: { error: "provider query parameter required" } };
|
|
3627
3634
|
}
|
|
3628
3635
|
let models = [];
|
|
3636
|
+
let fetchError;
|
|
3629
3637
|
try {
|
|
3630
3638
|
const localBackendKind = inferLocalOpenAIBackendKind({
|
|
3631
3639
|
type: provider === "lm-studio" ? "lmstudio" : provider,
|
|
@@ -3640,14 +3648,22 @@ async function handleGetModels(req) {
|
|
|
3640
3648
|
} else if (provider === "openai" || provider === "openrouter") {
|
|
3641
3649
|
models = await fetchRemoteProviderModels(provider, void 0, MODEL_LIST_TIMEOUT_MS);
|
|
3642
3650
|
}
|
|
3643
|
-
} catch {
|
|
3651
|
+
} catch (err) {
|
|
3652
|
+
fetchError = errorMessage(err);
|
|
3653
|
+
logger?.warn(`models.${provider}.list-unavailable`, `${provider} model list unavailable`, { error: fetchError });
|
|
3644
3654
|
}
|
|
3645
3655
|
if (type === "embedding") {
|
|
3646
3656
|
models = filterEmbeddingModels(models);
|
|
3647
3657
|
} else if (type === "llm") {
|
|
3648
3658
|
models = filterLlmModels(models);
|
|
3649
3659
|
}
|
|
3650
|
-
return {
|
|
3660
|
+
return {
|
|
3661
|
+
body: {
|
|
3662
|
+
provider,
|
|
3663
|
+
models,
|
|
3664
|
+
...fetchError ? { error: fetchError } : {}
|
|
3665
|
+
}
|
|
3666
|
+
};
|
|
3651
3667
|
}
|
|
3652
3668
|
|
|
3653
3669
|
// src/daemon/api/stats.ts
|
|
@@ -3900,11 +3916,12 @@ async function triggerTitleSummary(sessionId, deps) {
|
|
|
3900
3916
|
if (config.agent.summary_batch_interval <= 0) return;
|
|
3901
3917
|
if (config.agent.event_tasks_enabled === false) return;
|
|
3902
3918
|
try {
|
|
3903
|
-
const { runAgent: runAgent2 } = await import("./executor-
|
|
3919
|
+
const { runAgent: runAgent2 } = await import("./executor-DO6QFC6G.js");
|
|
3904
3920
|
runAgent2(vaultDir, {
|
|
3905
3921
|
task: "title-summary",
|
|
3906
3922
|
instruction: `Process session ${sessionId} only`,
|
|
3907
|
-
embeddingManager
|
|
3923
|
+
embeddingManager,
|
|
3924
|
+
logger
|
|
3908
3925
|
}).catch((err) => {
|
|
3909
3926
|
logger.warn(LOG_KINDS.AGENT_ERROR, "Title-summary task failed", {
|
|
3910
3927
|
session_id: sessionId,
|
|
@@ -4441,15 +4458,40 @@ function createSearchHandler(deps) {
|
|
|
4441
4458
|
const type = req.query.type;
|
|
4442
4459
|
const limit = Number(req.query.limit) || SEARCH_RESULTS_DEFAULT_LIMIT;
|
|
4443
4460
|
const namespace = req.query.namespace;
|
|
4461
|
+
const sanitized = sanitizeFtsQuery(query);
|
|
4444
4462
|
if (mode === "fts") {
|
|
4445
|
-
|
|
4446
|
-
|
|
4463
|
+
try {
|
|
4464
|
+
const results = fullTextSearch(sanitized, { type, limit });
|
|
4465
|
+
return { body: { mode: "fts", results } };
|
|
4466
|
+
} catch (err) {
|
|
4467
|
+
return {
|
|
4468
|
+
status: 500,
|
|
4469
|
+
body: {
|
|
4470
|
+
error: "fts_query_failed",
|
|
4471
|
+
message: errorMessage(err),
|
|
4472
|
+
query,
|
|
4473
|
+
sanitized_query: sanitized !== query ? sanitized : void 0
|
|
4474
|
+
}
|
|
4475
|
+
};
|
|
4476
|
+
}
|
|
4447
4477
|
}
|
|
4448
4478
|
const queryVector = await deps.embeddingManager.embedQuery(query);
|
|
4449
4479
|
if (queryVector === null) {
|
|
4450
4480
|
if (mode === "auto") {
|
|
4451
|
-
|
|
4452
|
-
|
|
4481
|
+
try {
|
|
4482
|
+
const results = fullTextSearch(sanitized, { type, limit });
|
|
4483
|
+
return { body: { mode: "fts", results, fallback: true } };
|
|
4484
|
+
} catch (err) {
|
|
4485
|
+
return {
|
|
4486
|
+
status: 500,
|
|
4487
|
+
body: {
|
|
4488
|
+
error: "fts_fallback_failed",
|
|
4489
|
+
message: errorMessage(err),
|
|
4490
|
+
query,
|
|
4491
|
+
sanitized_query: sanitized !== query ? sanitized : void 0
|
|
4492
|
+
}
|
|
4493
|
+
};
|
|
4494
|
+
}
|
|
4453
4495
|
}
|
|
4454
4496
|
return { body: { mode: "semantic", results: [], provider_unavailable: true } };
|
|
4455
4497
|
}
|
|
@@ -4604,7 +4646,8 @@ ${goal.trim()}`,
|
|
|
4604
4646
|
task: CORTEX_PROMPT_BUILDER_TASK,
|
|
4605
4647
|
agentId: DEFAULT_AGENT_ID,
|
|
4606
4648
|
instruction: builderInstruction,
|
|
4607
|
-
embeddingManager: deps.embeddingManager
|
|
4649
|
+
embeddingManager: deps.embeddingManager,
|
|
4650
|
+
logger: deps.logger
|
|
4608
4651
|
});
|
|
4609
4652
|
const runId = getLatestRunId(DEFAULT_AGENT_ID, CORTEX_PROMPT_BUILDER_TASK);
|
|
4610
4653
|
const tracked = resultPromise.catch((err) => {
|
|
@@ -4642,7 +4685,7 @@ function getCortexPromptResult(runId) {
|
|
|
4642
4685
|
}
|
|
4643
4686
|
async function triggerCortexInstructions(deps) {
|
|
4644
4687
|
const { vaultDir, embeddingManager, liveConfig, logger, getTeamClient } = deps;
|
|
4645
|
-
const loadExecutor = deps.loadExecutor ?? (() => import("./executor-
|
|
4688
|
+
const loadExecutor = deps.loadExecutor ?? (() => import("./executor-DO6QFC6G.js"));
|
|
4646
4689
|
const config = liveConfig.current;
|
|
4647
4690
|
if (config.agent.event_tasks_enabled === false) {
|
|
4648
4691
|
return { started: false, reason: "event-tasks-disabled" };
|
|
@@ -6693,10 +6736,10 @@ var ANTHROPIC_MODELS_CACHE_TTL_MS = 10 * 60 * 1e3;
|
|
|
6693
6736
|
var anthropicModelsCache = null;
|
|
6694
6737
|
var HTTP_OK2 = 200;
|
|
6695
6738
|
var HTTP_BAD_REQUEST2 = 400;
|
|
6696
|
-
async function handleGetProviders() {
|
|
6739
|
+
async function handleGetProviders(logger) {
|
|
6697
6740
|
const detectionPlan = [
|
|
6698
6741
|
{
|
|
6699
|
-
detect: () => detectAnthropic(),
|
|
6742
|
+
detect: () => detectAnthropic(logger),
|
|
6700
6743
|
fallback: { type: "anthropic", runtime: "claude-sdk", available: false, models: [] }
|
|
6701
6744
|
},
|
|
6702
6745
|
{
|
|
@@ -6708,11 +6751,11 @@ async function handleGetProviders() {
|
|
|
6708
6751
|
fallback: { type: "lmstudio", runtime: "claude-sdk", available: false, baseUrl: LmStudioBackend.DEFAULT_BASE_URL, models: [] }
|
|
6709
6752
|
},
|
|
6710
6753
|
{
|
|
6711
|
-
detect: () => detectRemoteProviderInfo("openai", DEFAULT_OPENAI_URL),
|
|
6754
|
+
detect: () => detectRemoteProviderInfo("openai", DEFAULT_OPENAI_URL, logger),
|
|
6712
6755
|
fallback: { type: "openai", runtime: "openai-agents", available: false, authConfigured: false, baseUrl: DEFAULT_OPENAI_URL, models: [] }
|
|
6713
6756
|
},
|
|
6714
6757
|
{
|
|
6715
|
-
detect: () => detectRemoteProviderInfo("openrouter", DEFAULT_OPENROUTER_URL),
|
|
6758
|
+
detect: () => detectRemoteProviderInfo("openrouter", DEFAULT_OPENROUTER_URL, logger),
|
|
6716
6759
|
fallback: { type: "openrouter", runtime: "openai-agents", available: false, authConfigured: false, baseUrl: DEFAULT_OPENROUTER_URL, models: [] }
|
|
6717
6760
|
},
|
|
6718
6761
|
{
|
|
@@ -6771,7 +6814,10 @@ async function handleTestProvider(req) {
|
|
|
6771
6814
|
result = testAnthropic();
|
|
6772
6815
|
}
|
|
6773
6816
|
} catch (err) {
|
|
6774
|
-
result = {
|
|
6817
|
+
result = {
|
|
6818
|
+
ok: false,
|
|
6819
|
+
error: errorMessage(err)
|
|
6820
|
+
};
|
|
6775
6821
|
}
|
|
6776
6822
|
if (result.ok) {
|
|
6777
6823
|
result.latency_ms = Math.round(performance.now() - start);
|
|
@@ -6790,7 +6836,7 @@ async function detectLocalProviderInfo(type, defaultBaseUrl) {
|
|
|
6790
6836
|
models
|
|
6791
6837
|
};
|
|
6792
6838
|
}
|
|
6793
|
-
async function detectAnthropic() {
|
|
6839
|
+
async function detectAnthropic(logger) {
|
|
6794
6840
|
const now = Date.now();
|
|
6795
6841
|
if (anthropicModelsCache && now - anthropicModelsCache.ts < ANTHROPIC_MODELS_CACHE_TTL_MS) {
|
|
6796
6842
|
return { type: "anthropic", runtime: "claude-sdk", available: true, models: anthropicModelsCache.models };
|
|
@@ -6806,12 +6852,14 @@ async function detectAnthropic() {
|
|
|
6806
6852
|
if (liveModels.length > 0) {
|
|
6807
6853
|
models = liveModels;
|
|
6808
6854
|
}
|
|
6809
|
-
} catch {
|
|
6855
|
+
} catch (err) {
|
|
6856
|
+
const detail = errorMessage(err);
|
|
6857
|
+
logger?.warn("providers.anthropic.models-unavailable", "Anthropic model list unavailable", { error: detail });
|
|
6810
6858
|
}
|
|
6811
6859
|
anthropicModelsCache = { ts: now, models };
|
|
6812
6860
|
return { type: "anthropic", runtime: "claude-sdk", available: true, models };
|
|
6813
6861
|
}
|
|
6814
|
-
async function detectRemoteProviderInfo(type, baseUrl) {
|
|
6862
|
+
async function detectRemoteProviderInfo(type, baseUrl, logger) {
|
|
6815
6863
|
const authConfigured = Boolean(getRemoteProviderApiKey(type));
|
|
6816
6864
|
let models = [];
|
|
6817
6865
|
let available = false;
|
|
@@ -6819,8 +6867,10 @@ async function detectRemoteProviderInfo(type, baseUrl) {
|
|
|
6819
6867
|
try {
|
|
6820
6868
|
models = await fetchRemoteProviderModels(type, void 0, ANTHROPIC_MODELS_TIMEOUT_MS);
|
|
6821
6869
|
available = true;
|
|
6822
|
-
} catch {
|
|
6870
|
+
} catch (err) {
|
|
6823
6871
|
available = false;
|
|
6872
|
+
const detail = errorMessage(err);
|
|
6873
|
+
logger?.warn(`providers.${type}.models-unavailable`, `${type} model list unavailable`, { error: detail });
|
|
6824
6874
|
}
|
|
6825
6875
|
}
|
|
6826
6876
|
return {
|
|
@@ -7009,7 +7059,7 @@ async function registerScheduledTasks(powerManager, deps) {
|
|
|
7009
7059
|
if (!lastEnabled) {
|
|
7010
7060
|
logger.info(LOG_KINDS.AGENT_RUN, "Scheduled agent tasks disabled (agent.scheduled_tasks_enabled: false) \u2014 jobs registered but will no-op until enabled");
|
|
7011
7061
|
}
|
|
7012
|
-
const { loadAllTasks: loadAllTasks2 } = await import("./registry-
|
|
7062
|
+
const { loadAllTasks: loadAllTasks2 } = await import("./registry-F3THYC5M.js");
|
|
7013
7063
|
const allTasks = Array.from(loadAllTasks2(definitionsDir, vaultDir).values());
|
|
7014
7064
|
const taskAgentMap = /* @__PURE__ */ new Map();
|
|
7015
7065
|
for (const task of allTasks) {
|
|
@@ -7045,7 +7095,7 @@ async function registerScheduledTasks(powerManager, deps) {
|
|
|
7045
7095
|
lastEnabled = enabled;
|
|
7046
7096
|
}
|
|
7047
7097
|
if (!enabled) return;
|
|
7048
|
-
const { runAgent: runAgent2 } = await import("./executor-
|
|
7098
|
+
const { runAgent: runAgent2 } = await import("./executor-DO6QFC6G.js");
|
|
7049
7099
|
const resumableRun = getLatestResumableRunForTask(DEFAULT_AGENT_ID, taskName);
|
|
7050
7100
|
if (resumableRun) {
|
|
7051
7101
|
const resumed = await runAgent2(vaultDir, {
|
|
@@ -7053,7 +7103,8 @@ async function registerScheduledTasks(powerManager, deps) {
|
|
|
7053
7103
|
task: taskName,
|
|
7054
7104
|
resumeRunId: resumableRun.id,
|
|
7055
7105
|
resumeMode: "scheduled",
|
|
7056
|
-
embeddingManager
|
|
7106
|
+
embeddingManager,
|
|
7107
|
+
logger
|
|
7057
7108
|
});
|
|
7058
7109
|
logger.info(LOG_KINDS.AGENT_RUN, `Scheduled task ${taskName} resumed`, {
|
|
7059
7110
|
status: resumed.status,
|
|
@@ -7084,7 +7135,8 @@ async function registerScheduledTasks(powerManager, deps) {
|
|
|
7084
7135
|
task: taskName,
|
|
7085
7136
|
instruction: built?.instruction,
|
|
7086
7137
|
runContext: built?.context,
|
|
7087
|
-
embeddingManager
|
|
7138
|
+
embeddingManager,
|
|
7139
|
+
logger
|
|
7088
7140
|
});
|
|
7089
7141
|
logger.info(LOG_KINDS.AGENT_RUN, `Scheduled task ${taskName} completed`, {
|
|
7090
7142
|
status: result.status,
|
|
@@ -7873,7 +7925,7 @@ function isPlainObject(value) {
|
|
|
7873
7925
|
}
|
|
7874
7926
|
|
|
7875
7927
|
// src/daemon/api/run-serializer.ts
|
|
7876
|
-
function buildPhaseCheckpointSummary(checkpointsRaw) {
|
|
7928
|
+
function buildPhaseCheckpointSummary(checkpointsRaw, logger) {
|
|
7877
7929
|
if (!checkpointsRaw) return [];
|
|
7878
7930
|
try {
|
|
7879
7931
|
const parsed = JSON.parse(checkpointsRaw);
|
|
@@ -7885,7 +7937,9 @@ function buildPhaseCheckpointSummary(checkpointsRaw) {
|
|
|
7885
7937
|
...phase.costUsd !== void 0 ? { costUsd: phase.costUsd } : {},
|
|
7886
7938
|
...phase.costSource !== void 0 ? { costSource: phase.costSource } : {}
|
|
7887
7939
|
}));
|
|
7888
|
-
} catch {
|
|
7940
|
+
} catch (err) {
|
|
7941
|
+
const detail = errorMessage(err);
|
|
7942
|
+
logger?.warn("run-serializer.checkpoints-parse-failed", "checkpoints JSON parse failed", { error: detail });
|
|
7889
7943
|
return [];
|
|
7890
7944
|
}
|
|
7891
7945
|
}
|
|
@@ -7905,7 +7959,8 @@ function serializeRun(run, opts = {}) {
|
|
|
7905
7959
|
includeResumeFields = true,
|
|
7906
7960
|
includePhaseCheckpoints = true,
|
|
7907
7961
|
writeIntents,
|
|
7908
|
-
duration_ms
|
|
7962
|
+
duration_ms,
|
|
7963
|
+
logger
|
|
7909
7964
|
} = opts;
|
|
7910
7965
|
const base = {
|
|
7911
7966
|
id: run.id,
|
|
@@ -7944,7 +7999,7 @@ function serializeRun(run, opts = {}) {
|
|
|
7944
7999
|
resumed_at: run.resumed_at,
|
|
7945
8000
|
checkpoints: run.checkpoints
|
|
7946
8001
|
} : {},
|
|
7947
|
-
...includePhaseCheckpoints ? { phase_checkpoints: buildPhaseCheckpointSummary(run.checkpoints) } : {},
|
|
8002
|
+
...includePhaseCheckpoints ? { phase_checkpoints: buildPhaseCheckpointSummary(run.checkpoints, logger) } : {},
|
|
7948
8003
|
...writeIntents !== void 0 && writeIntents !== null ? { write_intents: writeIntents } : {},
|
|
7949
8004
|
...duration_ms !== void 0 ? { duration_ms } : {}
|
|
7950
8005
|
};
|
|
@@ -8033,7 +8088,7 @@ function createAgentRunHandlers(deps) {
|
|
|
8033
8088
|
};
|
|
8034
8089
|
}
|
|
8035
8090
|
}
|
|
8036
|
-
const { runAgent: runAgent2 } = await import("./executor-
|
|
8091
|
+
const { runAgent: runAgent2 } = await import("./executor-DO6QFC6G.js");
|
|
8037
8092
|
const resultPromise = runAgent2(vaultDir, {
|
|
8038
8093
|
task,
|
|
8039
8094
|
instruction,
|
|
@@ -8042,7 +8097,8 @@ function createAgentRunHandlers(deps) {
|
|
|
8042
8097
|
runContext,
|
|
8043
8098
|
dryRun,
|
|
8044
8099
|
evaluationId,
|
|
8045
|
-
executionOverrides
|
|
8100
|
+
executionOverrides,
|
|
8101
|
+
logger
|
|
8046
8102
|
});
|
|
8047
8103
|
const effectiveAgentId = agentId ?? "myco-agent";
|
|
8048
8104
|
const runId = getLatestRunId(effectiveAgentId, task);
|
|
@@ -8094,7 +8150,7 @@ function createAgentRunHandlers(deps) {
|
|
|
8094
8150
|
const filterOpts = { agent_id: agentId, status, task, search };
|
|
8095
8151
|
const runs = listRuns({ ...filterOpts, limit, offset });
|
|
8096
8152
|
const total = countRuns(filterOpts);
|
|
8097
|
-
return { body: { runs: runs.map((run) => serializeRun(run)), total, offset, limit } };
|
|
8153
|
+
return { body: { runs: runs.map((run) => serializeRun(run, { logger })), total, offset, limit } };
|
|
8098
8154
|
}
|
|
8099
8155
|
async function handleGetRun(req) {
|
|
8100
8156
|
const run = getRun(req.params.id);
|
|
@@ -8107,7 +8163,8 @@ function createAgentRunHandlers(deps) {
|
|
|
8107
8163
|
body: {
|
|
8108
8164
|
run: serializeRun(run, {
|
|
8109
8165
|
writeIntents: { total, by_tool: byTool },
|
|
8110
|
-
duration_ms: runDurationMs(run)
|
|
8166
|
+
duration_ms: runDurationMs(run),
|
|
8167
|
+
logger
|
|
8111
8168
|
})
|
|
8112
8169
|
}
|
|
8113
8170
|
};
|
|
@@ -8121,14 +8178,15 @@ function createAgentRunHandlers(deps) {
|
|
|
8121
8178
|
return { status: 400, body: { error: "Run is not resumable" } };
|
|
8122
8179
|
}
|
|
8123
8180
|
const { mode } = ResumeRunBody.parse(req.body ?? {});
|
|
8124
|
-
const { runAgent: runAgent2 } = await import("./executor-
|
|
8181
|
+
const { runAgent: runAgent2 } = await import("./executor-DO6QFC6G.js");
|
|
8125
8182
|
const resultPromise = runAgent2(vaultDir, {
|
|
8126
8183
|
agentId: run.agent_id,
|
|
8127
8184
|
task: run.task ?? void 0,
|
|
8128
8185
|
instruction: run.instruction ?? void 0,
|
|
8129
8186
|
resumeRunId: run.id,
|
|
8130
8187
|
resumeMode: mode ?? "manual",
|
|
8131
|
-
embeddingManager
|
|
8188
|
+
embeddingManager,
|
|
8189
|
+
logger
|
|
8132
8190
|
});
|
|
8133
8191
|
resultPromise.then((result) => {
|
|
8134
8192
|
logger.info(LOG_KINDS.AGENT_RUN, "Agent run resumed", {
|
|
@@ -8351,7 +8409,7 @@ function createAgentEvaluationHandlers(deps) {
|
|
|
8351
8409
|
});
|
|
8352
8410
|
const dryRun = body.matrix.dryRun ?? false;
|
|
8353
8411
|
void (async () => {
|
|
8354
|
-
const { runAgent: runAgent2 } = await import("./executor-
|
|
8412
|
+
const { runAgent: runAgent2 } = await import("./executor-DO6QFC6G.js");
|
|
8355
8413
|
let anyCompleted = false;
|
|
8356
8414
|
let transitionedToRunning = false;
|
|
8357
8415
|
const sharedPhases = body.matrix.phases;
|
|
@@ -8361,6 +8419,7 @@ function createAgentEvaluationHandlers(deps) {
|
|
|
8361
8419
|
evaluationId: evalId,
|
|
8362
8420
|
dryRun,
|
|
8363
8421
|
embeddingManager,
|
|
8422
|
+
logger,
|
|
8364
8423
|
executionOverrides: {
|
|
8365
8424
|
...cell.runtime ? { runtime: cell.runtime } : {},
|
|
8366
8425
|
...cell.reasoningLevel ? { reasoningLevel: cell.reasoningLevel } : {},
|
|
@@ -10352,7 +10411,7 @@ async function main() {
|
|
|
10352
10411
|
const databaseManager = new DatabaseMaintenanceManager(vaultDbPath(vaultDir), vaultDir, logger);
|
|
10353
10412
|
let definitionsDir;
|
|
10354
10413
|
try {
|
|
10355
|
-
const { registerBuiltInAgentsAndTasks, resolveDefinitionsDir: resolveDefinitionsDir2 } = await import("./loader-
|
|
10414
|
+
const { registerBuiltInAgentsAndTasks, resolveDefinitionsDir: resolveDefinitionsDir2 } = await import("./loader-UDNUMEDA.js");
|
|
10356
10415
|
definitionsDir = resolveDefinitionsDir2();
|
|
10357
10416
|
await registerBuiltInAgentsAndTasks(definitionsDir, vaultDir);
|
|
10358
10417
|
logger.info(LOG_KINDS.AGENT_TASK, "Built-in agents and tasks registered");
|
|
@@ -10584,7 +10643,7 @@ async function main() {
|
|
|
10584
10643
|
server.registerRoute("GET", "/api/logs/stream", handleLogStream);
|
|
10585
10644
|
server.registerRoute("GET", "/api/logs/:id", handleLogDetail);
|
|
10586
10645
|
server.registerRoute("POST", "/api/log", createLogIngestionHandler(logger));
|
|
10587
|
-
server.registerRoute("GET", "/api/models", async (req) => handleGetModels(req));
|
|
10646
|
+
server.registerRoute("GET", "/api/models", async (req) => handleGetModels(req, logger));
|
|
10588
10647
|
server.registerRoute("POST", "/api/restart", async (req) => handleRestart({ vaultDir, progressTracker }, req.body));
|
|
10589
10648
|
const updateProjectRoot = path24.dirname(vaultDir);
|
|
10590
10649
|
const updateHandlers = createUpdateHandlers({
|
|
@@ -10690,7 +10749,7 @@ async function main() {
|
|
|
10690
10749
|
}
|
|
10691
10750
|
return result;
|
|
10692
10751
|
});
|
|
10693
|
-
server.registerRoute("GET", "/api/providers", async () => handleGetProviders());
|
|
10752
|
+
server.registerRoute("GET", "/api/providers", async () => handleGetProviders(logger));
|
|
10694
10753
|
server.registerRoute("POST", "/api/providers/test", async (req) => handleTestProvider(req));
|
|
10695
10754
|
server.registerRoute("GET", "/api/providers/secrets", async () => handleGetProviderSecrets(vaultDir));
|
|
10696
10755
|
server.registerRoute("PUT", "/api/providers/secrets/:provider", async (req) => handlePutProviderSecret(vaultDir, req));
|
|
@@ -10855,4 +10914,4 @@ export {
|
|
|
10855
10914
|
handleUserPrompt,
|
|
10856
10915
|
main
|
|
10857
10916
|
};
|
|
10858
|
-
//# sourceMappingURL=main-
|
|
10917
|
+
//# sourceMappingURL=main-4J4QZZTZ.js.map
|