@askexenow/exe-os 0.9.236 → 0.9.237
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/dist/{active-agent-JD6BCCFZ.js → active-agent-6WX7GZBH.js} +3 -3
- package/dist/{active-agent-RCXBLWQS.js → active-agent-X3GALNAR.js} +3 -3
- package/dist/{agentic-ontology-PAYLA3Q6.js → agentic-ontology-NBU3FHEX.js} +1 -1
- package/dist/{backfill-metadata-63Y4JVSZ.js → backfill-metadata-NG2L5GUP.js} +4 -4
- package/dist/behavior-effectiveness-UP76GMOC.js +344 -0
- package/dist/{behaviors-I7JQLV6G.js → behaviors-DH7XFONJ.js} +3 -3
- package/dist/bin/agentic-ontology-backfill.js +5 -5
- package/dist/bin/agentic-reflection-backfill.js +6 -6
- package/dist/bin/agentic-semantic-label.js +5 -5
- package/dist/bin/backfill-conversations.js +4 -4
- package/dist/bin/backfill-responses.js +4 -4
- package/dist/bin/backfill-vectors.js +5 -5
- package/dist/bin/bulk-sync-postgres.js +6 -6
- package/dist/bin/cleanup-stale-review-tasks.js +9 -9
- package/dist/bin/cli.js +14 -14
- package/dist/bin/exe-agent-config.js +2 -2
- package/dist/bin/exe-agent.js +9 -9
- package/dist/bin/exe-assign.js +5 -5
- package/dist/bin/exe-boot.js +17 -17
- package/dist/bin/exe-call.js +5 -5
- package/dist/bin/exe-cloud.js +4 -4
- package/dist/bin/exe-dispatch.js +9 -9
- package/dist/bin/exe-doctor.js +1 -1
- package/dist/bin/exe-export-behaviors.js +7 -7
- package/dist/bin/exe-forget.js +6 -6
- package/dist/bin/exe-gateway.js +7 -7
- package/dist/bin/exe-heartbeat.js +9 -9
- package/dist/bin/exe-kill.js +12 -12
- package/dist/bin/exe-launch-agent.js +17 -17
- package/dist/bin/exe-new-employee.js +7 -7
- package/dist/bin/exe-pending-messages.js +10 -10
- package/dist/bin/exe-pending-notifications.js +9 -9
- package/dist/bin/exe-pending-reviews.js +9 -9
- package/dist/bin/exe-rename.js +5 -5
- package/dist/bin/exe-review.js +11 -11
- package/dist/bin/exe-search.js +5 -5
- package/dist/bin/exe-session-cleanup.js +14 -14
- package/dist/bin/exe-settings.js +4 -4
- package/dist/bin/exe-start-codex.js +11 -11
- package/dist/bin/exe-start-opencode.js +8 -8
- package/dist/bin/exe-status.js +10 -10
- package/dist/bin/exe-team.js +3 -3
- package/dist/bin/git-sweep.js +9 -9
- package/dist/bin/graph-backfill.js +4 -4
- package/dist/bin/graph-export.js +5 -5
- package/dist/bin/import-history.js +7 -7
- package/dist/bin/install.js +6 -6
- package/dist/bin/intercom-check.js +4 -4
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +4 -4
- package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
- package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
- package/dist/bin/pre-publish.js +1 -1
- package/dist/bin/scan-tasks.js +9 -9
- package/dist/bin/setup.js +1 -1
- package/dist/bin/shard-migrate.js +4 -4
- package/dist/{capacity-monitor-NVSZABQG.js → capacity-monitor-KAKNWAA4.js} +10 -10
- package/dist/{catchup-brief-L76MGN2J.js → catchup-brief-RZF7HEYB.js} +11 -11
- package/dist/{chunk-VTLUUTWI.js → chunk-2LYJTK47.js} +40 -1
- package/dist/{chunk-MJMJMHFC.js → chunk-2O5GJFYQ.js} +1 -1
- package/dist/{chunk-N5VQ3PVS.js → chunk-2VXHPSIJ.js} +1 -1
- package/dist/{chunk-Q25V2UO6.js → chunk-3JVO6X4W.js} +1 -1
- package/dist/{chunk-Y2PQS2GI.js → chunk-3NYRIK73.js} +2 -2
- package/dist/{chunk-QK7R2CUS.js → chunk-4HMKJDPB.js} +3 -3
- package/dist/{chunk-5NIUTWV4.js → chunk-5KDROSDV.js} +1 -1
- package/dist/{chunk-5SYO2FD7.js → chunk-627ZOPZQ.js} +64 -12
- package/dist/{chunk-24KEYEYL.js → chunk-7LIXU3TB.js} +8 -8
- package/dist/{chunk-NEXKWAVU.js → chunk-7PVUUC3O.js} +5 -5
- package/dist/{chunk-X4AZWJP4.js → chunk-AYBC6AYP.js} +8 -8
- package/dist/{chunk-YVN2WG5T.js → chunk-BTPXNV5W.js} +1 -1
- package/dist/{chunk-Z7A6DTIN.js → chunk-CJEVAKKC.js} +2 -2
- package/dist/{chunk-J2QQMTCD.js → chunk-COMWI7SO.js} +1 -1
- package/dist/{chunk-ENGXTDTJ.js → chunk-ENQIADYO.js} +479 -149
- package/dist/{chunk-PBA32J2M.js → chunk-ENWFSMOS.js} +10 -10
- package/dist/{chunk-CKTFH5RQ.js → chunk-ES5JM6V2.js} +2 -2
- package/dist/{chunk-NOQSYYVA.js → chunk-FQJWTRCB.js} +1 -1
- package/dist/{chunk-XORJOW4J.js → chunk-G67R75DG.js} +1 -1
- package/dist/{chunk-SUQSNH4N.js → chunk-GXU3XRI5.js} +3 -3
- package/dist/{chunk-CHFBYRJX.js → chunk-HFYCKIVJ.js} +2 -2
- package/dist/{chunk-LX7AMJIX.js → chunk-HUVSY6NF.js} +2 -2
- package/dist/{chunk-CNCTKOX2.js → chunk-IDCJNL7C.js} +1 -1
- package/dist/{chunk-ZOPLM7G3.js → chunk-IQNT6KAE.js} +1 -1
- package/dist/{chunk-XPRYBSMJ.js → chunk-JBMZS5WO.js} +1 -1
- package/dist/{chunk-BWHBPDYB.js → chunk-JBUHOWIV.js} +1 -1
- package/dist/{chunk-2QRT6G4V.js → chunk-JHFXCYZP.js} +1 -1
- package/dist/{chunk-6XOAK64X.js → chunk-JLHSEBNQ.js} +3 -3
- package/dist/{chunk-5NFBE376.js → chunk-K77WC6HA.js} +12 -0
- package/dist/{chunk-LWQ3PFSR.js → chunk-KRLR26L2.js} +2 -2
- package/dist/{chunk-2EBKU2XN.js → chunk-KWH6H64R.js} +145 -3
- package/dist/{chunk-ZAS43I3E.js → chunk-LUCHTCME.js} +1 -1
- package/dist/{chunk-VXVI75ED.js → chunk-LXP6VRFH.js} +1 -1
- package/dist/{chunk-OMHTKVHC.js → chunk-MPG2FFQS.js} +1 -1
- package/dist/{chunk-43AN2SYJ.js → chunk-N4IJWOIS.js} +2 -2
- package/dist/{chunk-PJPPO6EF.js → chunk-NCJNGQUZ.js} +1 -1
- package/dist/{chunk-2UD2P2LO.js → chunk-NJS4GRIR.js} +1 -1
- package/dist/{chunk-L3GKFCXW.js → chunk-NQU2RTCP.js} +8 -8
- package/dist/{chunk-J2LPDECR.js → chunk-NS7FW3NG.js} +2 -2
- package/dist/{chunk-SL7SYDNI.js → chunk-PQBANSH6.js} +2 -2
- package/dist/{chunk-M4ERGSIO.js → chunk-Q4MZN62R.js} +3 -3
- package/dist/{chunk-MDE2ZNWZ.js → chunk-QQFZID36.js} +1 -1
- package/dist/{chunk-H3UGSTZH.js → chunk-QXKWSRUZ.js} +9 -9
- package/dist/{chunk-Q4GHOMRW.js → chunk-RM6PJ34R.js} +1 -1
- package/dist/{chunk-Z2EJ234K.js → chunk-RXGTA6YQ.js} +3 -3
- package/dist/{chunk-DEAYJXHL.js → chunk-T3ASODFG.js} +3 -3
- package/dist/{chunk-DGZJXYK7.js → chunk-UISUGXJU.js} +1 -1
- package/dist/{chunk-4DIB3GXJ.js → chunk-VEU6LVBR.js} +1 -1
- package/dist/{chunk-ZPZFR3EN.js → chunk-VK5IBXXT.js} +5 -5
- package/dist/{chunk-WJH6IM7Q.js → chunk-WQCSGDRG.js} +1 -1
- package/dist/{chunk-CFG73TVV.js → chunk-WQXJIMBO.js} +2 -2
- package/dist/{chunk-NFHSUQ2R.js → chunk-XCGJPZ6H.js} +2 -2
- package/dist/{chunk-JH7CK57B.js → chunk-YDG343II.js} +4 -3
- package/dist/{chunk-L6LDDOYW.js → chunk-YENDNLAD.js} +1 -1
- package/dist/{chunk-QUTBXURR.js → chunk-YUQ7GGAL.js} +4 -3
- package/dist/{chunk-26JSRH2T.js → chunk-YUS7IS3I.js} +8 -8
- package/dist/{chunk-4TKI4VW7.js → chunk-ZZBOV6WA.js} +4 -4
- package/dist/{co-activation-XS7CDNIK.js → co-activation-OCQPRJ2I.js} +2 -2
- package/dist/{co-occurrence-R5D6WB4A.js → co-occurrence-S62AC2BR.js} +2 -2
- package/dist/{crdt-sync-NEINCZF7.js → crdt-sync-VS254UOH.js} +1 -1
- package/dist/{crm-webhook-C2LSU33R.js → crm-webhook-CST5WBNY.js} +2 -2
- package/dist/{cto-delegation-gate-4DLESYKG.js → cto-delegation-gate-2PY563OA.js} +8 -8
- package/dist/{daemon-orchestration-IW3MD56I.js → daemon-orchestration-P34RDHTM.js} +11 -11
- package/dist/{db-backup-C44Q44WQ.js → db-backup-JEHRFLYW.js} +1 -1
- package/dist/{dreaming-YKXGUTVR.js → dreaming-WIBDVAED.js} +3 -3
- package/dist/{exe-drift-B5ZMICND.js → exe-drift-DOWP33NY.js} +3 -3
- package/dist/{exe-export-WPJD5XA3.js → exe-export-QCB5UOXQ.js} +6 -6
- package/dist/{exe-import-AIGIF253.js → exe-import-JHFIXRB5.js} +6 -6
- package/dist/{exe-key-2C23CONG.js → exe-key-EAQDAUPT.js} +2 -2
- package/dist/{exe-snapshot-2NZ6BL7S.js → exe-snapshot-RKMMV52M.js} +6 -6
- package/dist/{fast-db-init-O6Y4G47U.js → fast-db-init-PTUUO2IO.js} +1 -1
- package/dist/gateway/index.js +8 -8
- package/dist/{git-staleness-DFHISHY2.js → git-staleness-5SFBUMPC.js} +2 -2
- package/dist/{git-task-sweep-6P4YPAIY.js → git-task-sweep-XMK5IQXK.js} +9 -9
- package/dist/{global-procedures-45Z53UIF.js → global-procedures-W4U257TI.js} +4 -4
- package/dist/{graph-auto-extract-I37N7WQN.js → graph-auto-extract-5ZD4AUSB.js} +2 -2
- package/dist/hooks/bug-report-worker.js +10 -10
- package/dist/hooks/codex-stop-task-finalizer.js +10 -10
- package/dist/hooks/commit-complete.js +11 -11
- package/dist/hooks/error-recall.js +6 -6
- package/dist/hooks/exe-heartbeat-hook.js +3 -3
- package/dist/hooks/ingest.js +6 -6
- package/dist/hooks/instructions-loaded.js +4 -4
- package/dist/hooks/manifest.json +19 -19
- package/dist/hooks/notification.js +4 -4
- package/dist/hooks/post-compact.js +10 -10
- package/dist/hooks/post-tool-combined.js +21 -4
- package/dist/hooks/pre-compact.js +11 -11
- package/dist/hooks/pre-tool-use.js +14 -14
- package/dist/hooks/prompt-submit.js +20 -20
- package/dist/hooks/session-end.js +28 -15
- package/dist/hooks/session-start.js +10 -10
- package/dist/hooks/stop.js +14 -14
- package/dist/hooks/subagent-stop.js +10 -10
- package/dist/hooks/summary-worker.js +14 -14
- package/dist/index.js +18 -18
- package/dist/{installer-SCPRAYJN.js → installer-2HULECDJ.js} +5 -5
- package/dist/{installer-OSIEPXXH.js → installer-BCOJG2SE.js} +5 -5
- package/dist/{installer-3MSU3GSG.js → installer-N5XZAFE4.js} +5 -5
- package/dist/investigation-tracker-WSCY4XBP.js +410 -0
- package/dist/lib/cloud-sync.js +4 -4
- package/dist/lib/consolidation.js +5 -5
- package/dist/lib/database.js +2 -2
- package/dist/lib/db.js +2 -2
- package/dist/lib/employee-templates.js +5 -5
- package/dist/lib/employees.js +2 -2
- package/dist/lib/exe-daemon.js +30 -30
- package/dist/lib/hybrid-search.js +5 -5
- package/dist/lib/identity.js +2 -2
- package/dist/lib/messaging.js +9 -9
- package/dist/lib/reminders.js +3 -3
- package/dist/lib/schedules.js +5 -5
- package/dist/lib/session-registry.js +4 -4
- package/dist/lib/skill-learning.js +4 -4
- package/dist/lib/store.js +4 -4
- package/dist/lib/task-router.js +3 -3
- package/dist/lib/tasks.js +9 -9
- package/dist/lib/tmux-routing.js +8 -8
- package/dist/lib/token-spend.js +3 -3
- package/dist/mcp/register-tools.js +52 -52
- package/dist/mcp/server.js +53 -53
- package/dist/mcp/tools/complete-reminder.js +4 -4
- package/dist/mcp/tools/create-reminder.js +4 -4
- package/dist/mcp/tools/create-task.js +11 -11
- package/dist/mcp/tools/deactivate-behavior.js +5 -5
- package/dist/mcp/tools/list-reminders.js +4 -4
- package/dist/mcp/tools/list-tasks.js +11 -11
- package/dist/mcp/tools/send-message.js +11 -11
- package/dist/mcp/tools/update-task.js +10 -10
- package/dist/{mcp-http-config-KBPJ4QNG.js → mcp-http-config-RTXPLRH5.js} +3 -3
- package/dist/{memory-cards-ICBAONHA.js → memory-cards-3FBGRV6J.js} +2 -2
- package/dist/{memory-graph-extractor-B33AXVOW.js → memory-graph-extractor-5D3FU5N5.js} +3 -3
- package/dist/{memory-poisoning-defense-KNQGXMQ2.js → memory-poisoning-defense-P6GL2RMF.js} +2 -2
- package/dist/{memory-reflection-H6WTTBDO.js → memory-reflection-5CVV2M3G.js} +2 -2
- package/dist/{notifications-3SVZCDEY.js → notifications-NV54INLG.js} +8 -8
- package/dist/{orchestration-events-PCGTHJ67.js → orchestration-events-TEYCD6GO.js} +3 -3
- package/dist/{orchestrator-46YDSPQI.js → orchestrator-JCNHGP6M.js} +10 -10
- package/dist/{pipeline-router-RCPUSLWO.js → pipeline-router-IX635D3U.js} +3 -3
- package/dist/{plan-limits-4JH2GWCP.js → plan-limits-H65VL6LC.js} +3 -3
- package/dist/{projection-worker-B4TWS2FX.js → projection-worker-JMGAPKH6.js} +1 -1
- package/dist/{reranker-CCAEXD25.js → reranker-Y2RHN7TX.js} +1 -1
- package/dist/{review-polling-Z7NRBMHV.js → review-polling-SAQ24T6L.js} +9 -9
- package/dist/runtime/index.js +15 -15
- package/dist/{session-events-TNO5ISQB.js → session-events-JNUK47KH.js} +9 -9
- package/dist/{session-kill-telemetry-6FDEUGO5.js → session-kill-telemetry-GLCDARKV.js} +3 -3
- package/dist/{session-scope-MGHWXZYK.js → session-scope-UR7OFFOB.js} +8 -8
- package/dist/{setup-wizard-5O5OQOXH.js → setup-wizard-ZMYO7QKZ.js} +1 -1
- package/dist/{skill-refinement-Y7N2Q25B.js → skill-refinement-WWWFGTUS.js} +2 -2
- package/dist/{steward-gate-H2VKZNW2.js → steward-gate-TAD7GEVL.js} +3 -3
- package/dist/{task-enforcement-QTVMU2RS.js → task-enforcement-2LI5KWFE.js} +8 -8
- package/dist/{task-scope-YQ6O3DIE.js → task-scope-AYK6BVC7.js} +8 -8
- package/dist/{tasks-crud-ZGQZPZAM.js → tasks-crud-OD75EH2G.js} +8 -8
- package/dist/{tasks-review-EM3YKWOR.js → tasks-review-CC2EGWBL.js} +8 -8
- package/dist/{telemetry-upload-QTBI5CFE.js → telemetry-upload-NXRMUNSW.js} +128 -6
- package/dist/{token-budget-OQ6XR5EK.js → token-budget-6TK55BBU.js} +2 -2
- package/dist/{tool-telemetry-NKCCCPQJ.js → tool-telemetry-E7NWXX5R.js} +1 -1
- package/dist/tui/App.js +17 -17
- package/dist/{tui-data-MSZKTQDJ.js → tui-data-ROOXTJQ5.js} +8 -8
- package/dist/{worker-gate-WQ2BEQTX.js → worker-gate-MOQZ2D34.js} +1 -1
- package/dist/{workflow-engine-YB7OOSAT.js → workflow-engine-4MQJI5F2.js} +2 -2
- package/dist/{worktree-W6OAHIBE.js → worktree-K2GDO4QX.js} +4 -4
- package/package.json +1 -1
- /package/dist/{chunk-THNAZQIH.js → chunk-3SVQ5REQ.js} +0 -0
- /package/dist/{chunk-MBEF2YKQ.js → chunk-A4TPCHMA.js} +0 -0
- /package/dist/{chunk-5O42LXU7.js → chunk-BJOU5MBY.js} +0 -0
- /package/dist/{chunk-6HYAEYQ3.js → chunk-CGTWFEXX.js} +0 -0
- /package/dist/{chunk-SDKRRTP6.js → chunk-HFF6YG7R.js} +0 -0
- /package/dist/{chunk-N345XXAA.js → chunk-IAPFFVYR.js} +0 -0
- /package/dist/{chunk-VJ6HKJMQ.js → chunk-NNEYTOUS.js} +0 -0
- /package/dist/{chunk-CU6CYZOI.js → chunk-P2JDWX67.js} +0 -0
- /package/dist/{chunk-FUVINDE3.js → chunk-RX2KGETT.js} +0 -0
- /package/dist/{chunk-ARETQ22D.js → chunk-YGJTKLGM.js} +0 -0
- /package/dist/{core-memory-NYBNXCKZ.js → core-memory-67AVQ3Z7.js} +0 -0
- /package/dist/{wiki-acl-RMP5KXYK.js → wiki-acl-AR7RIMRY.js} +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
StewardGate
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-COMWI7SO.js";
|
|
4
4
|
import {
|
|
5
5
|
listRecentSessionEvents
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-LUCHTCME.js";
|
|
7
7
|
import {
|
|
8
8
|
isRerankerAvailable,
|
|
9
9
|
rerankWithScores
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-3SVQ5REQ.js";
|
|
11
11
|
import {
|
|
12
12
|
getEntityByName,
|
|
13
13
|
getEntityNeighbors,
|
|
@@ -16,22 +16,22 @@ import {
|
|
|
16
16
|
getRelationships,
|
|
17
17
|
searchEntities
|
|
18
18
|
} from "./chunk-KH5Y6RR4.js";
|
|
19
|
+
import {
|
|
20
|
+
getToolCapabilityIndex
|
|
21
|
+
} from "./chunk-SNYDRHV3.js";
|
|
19
22
|
import {
|
|
20
23
|
isToolAllowed,
|
|
21
24
|
isToolAllowedForPlan
|
|
22
25
|
} from "./chunk-E6ORBQHP.js";
|
|
23
26
|
import {
|
|
24
27
|
AUTO_WAKE_MAX_RETRIES
|
|
25
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-7LIXU3TB.js";
|
|
26
29
|
import {
|
|
27
30
|
getCachedLicenseGate
|
|
28
31
|
} from "./chunk-JZMVLAZ2.js";
|
|
29
32
|
import {
|
|
30
33
|
getToolUsageStats
|
|
31
|
-
} from "./chunk-
|
|
32
|
-
import {
|
|
33
|
-
getToolCapabilityIndex
|
|
34
|
-
} from "./chunk-SNYDRHV3.js";
|
|
34
|
+
} from "./chunk-YGJTKLGM.js";
|
|
35
35
|
import {
|
|
36
36
|
analyzeBlastRadius,
|
|
37
37
|
buildCodeContextIndex,
|
|
@@ -43,69 +43,69 @@ import {
|
|
|
43
43
|
} from "./chunk-UZIJDYDA.js";
|
|
44
44
|
import {
|
|
45
45
|
DreamingEngine
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-KWH6H64R.js";
|
|
47
47
|
import {
|
|
48
48
|
exportOrchestration,
|
|
49
49
|
importOrchestration,
|
|
50
50
|
validatePackage
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-CJEVAKKC.js";
|
|
52
52
|
import {
|
|
53
53
|
runDriftProbes
|
|
54
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-JBUHOWIV.js";
|
|
55
55
|
import {
|
|
56
56
|
loadOrchestrationPhase,
|
|
57
57
|
setOrchestrationPhase
|
|
58
58
|
} from "./chunk-MBHZDXGN.js";
|
|
59
59
|
import {
|
|
60
60
|
createOrRefreshResumeTask
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-7PVUUC3O.js";
|
|
62
62
|
import {
|
|
63
63
|
registerCreateReminder
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-BTPXNV5W.js";
|
|
65
65
|
import {
|
|
66
66
|
registerListReminders
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-IDCJNL7C.js";
|
|
68
68
|
import {
|
|
69
69
|
registerCompleteReminder
|
|
70
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-JBMZS5WO.js";
|
|
71
71
|
import {
|
|
72
72
|
registerDeactivateBehavior
|
|
73
|
-
} from "./chunk-
|
|
73
|
+
} from "./chunk-ZZBOV6WA.js";
|
|
74
74
|
import {
|
|
75
75
|
completeReminder,
|
|
76
76
|
createReminder,
|
|
77
77
|
listReminders
|
|
78
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-YENDNLAD.js";
|
|
79
79
|
import {
|
|
80
80
|
registerImportConversations
|
|
81
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-4HMKJDPB.js";
|
|
82
82
|
import {
|
|
83
83
|
registerSendMessage
|
|
84
|
-
} from "./chunk-
|
|
84
|
+
} from "./chunk-NS7FW3NG.js";
|
|
85
85
|
import {
|
|
86
86
|
registerCreateTask
|
|
87
|
-
} from "./chunk-
|
|
87
|
+
} from "./chunk-AYBC6AYP.js";
|
|
88
88
|
import {
|
|
89
89
|
registerListTasks
|
|
90
|
-
} from "./chunk-
|
|
90
|
+
} from "./chunk-YDG343II.js";
|
|
91
91
|
import {
|
|
92
92
|
registerUpdateTask
|
|
93
|
-
} from "./chunk-
|
|
93
|
+
} from "./chunk-Q4MZN62R.js";
|
|
94
94
|
import {
|
|
95
95
|
TOKENS_PER_IDLE_MINUTE,
|
|
96
96
|
countKillsSince,
|
|
97
97
|
sumTokensSavedSince
|
|
98
|
-
} from "./chunk-
|
|
98
|
+
} from "./chunk-5KDROSDV.js";
|
|
99
99
|
import {
|
|
100
100
|
createSchedule,
|
|
101
101
|
parseHumanCron
|
|
102
|
-
} from "./chunk-
|
|
102
|
+
} from "./chunk-XCGJPZ6H.js";
|
|
103
103
|
import {
|
|
104
104
|
status
|
|
105
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-GXU3XRI5.js";
|
|
106
106
|
import {
|
|
107
107
|
getAgentSpend
|
|
108
|
-
} from "./chunk-
|
|
108
|
+
} from "./chunk-NCJNGQUZ.js";
|
|
109
109
|
import {
|
|
110
110
|
exportGraphHTML,
|
|
111
111
|
generateGraphReport
|
|
@@ -121,7 +121,7 @@ import {
|
|
|
121
121
|
fixShards,
|
|
122
122
|
formatReport,
|
|
123
123
|
runAudit
|
|
124
|
-
} from "./chunk-
|
|
124
|
+
} from "./chunk-RXGTA6YQ.js";
|
|
125
125
|
import {
|
|
126
126
|
runHealthCheck
|
|
127
127
|
} from "./chunk-UWQ3XCDG.js";
|
|
@@ -132,41 +132,41 @@ import {
|
|
|
132
132
|
} from "./chunk-VI2FJY2M.js";
|
|
133
133
|
import {
|
|
134
134
|
renderClientCOOTemplate
|
|
135
|
-
} from "./chunk-
|
|
135
|
+
} from "./chunk-YUQ7GGAL.js";
|
|
136
136
|
import {
|
|
137
137
|
deactivateGlobalProcedure,
|
|
138
138
|
loadGlobalProcedures,
|
|
139
139
|
storeGlobalProcedure
|
|
140
|
-
} from "./chunk-
|
|
140
|
+
} from "./chunk-PQBANSH6.js";
|
|
141
141
|
import {
|
|
142
142
|
PLATFORM_PROCEDURES
|
|
143
|
-
} from "./chunk-
|
|
143
|
+
} from "./chunk-K77WC6HA.js";
|
|
144
144
|
import {
|
|
145
145
|
clearCloudReuploadRequired,
|
|
146
146
|
cloudSync,
|
|
147
147
|
getCloudReuploadRequired,
|
|
148
148
|
markCloudReuploadRequired
|
|
149
|
-
} from "./chunk-
|
|
149
|
+
} from "./chunk-627ZOPZQ.js";
|
|
150
150
|
import {
|
|
151
151
|
createARecord
|
|
152
152
|
} from "./chunk-X2Z5GT3V.js";
|
|
153
153
|
import {
|
|
154
154
|
findSimilarTrajectories,
|
|
155
155
|
hashSignature
|
|
156
|
-
} from "./chunk-
|
|
156
|
+
} from "./chunk-ES5JM6V2.js";
|
|
157
157
|
import {
|
|
158
158
|
deactivateBehavior,
|
|
159
159
|
listBehaviorsByDomain,
|
|
160
160
|
listSharedSkills,
|
|
161
161
|
reactivateBehavior,
|
|
162
162
|
storeBehavior
|
|
163
|
-
} from "./chunk-
|
|
163
|
+
} from "./chunk-JHFXCYZP.js";
|
|
164
164
|
import {
|
|
165
165
|
countUnconsolidated,
|
|
166
166
|
groupMemories,
|
|
167
167
|
runConsolidation,
|
|
168
168
|
selectUnconsolidated
|
|
169
|
-
} from "./chunk-
|
|
169
|
+
} from "./chunk-WQXJIMBO.js";
|
|
170
170
|
import {
|
|
171
171
|
embed
|
|
172
172
|
} from "./chunk-EPWDTS2Q.js";
|
|
@@ -177,17 +177,17 @@ import {
|
|
|
177
177
|
} from "./chunk-UODVZGBQ.js";
|
|
178
178
|
import {
|
|
179
179
|
updateTask
|
|
180
|
-
} from "./chunk-
|
|
180
|
+
} from "./chunk-VK5IBXXT.js";
|
|
181
181
|
import {
|
|
182
182
|
fastDbInit
|
|
183
|
-
} from "./chunk-
|
|
183
|
+
} from "./chunk-P2JDWX67.js";
|
|
184
184
|
import {
|
|
185
185
|
MAX_CONCURRENT_WORKERS
|
|
186
|
-
} from "./chunk-
|
|
186
|
+
} from "./chunk-UISUGXJU.js";
|
|
187
187
|
import {
|
|
188
188
|
hybridSearch,
|
|
189
189
|
recentRecords
|
|
190
|
-
} from "./chunk-
|
|
190
|
+
} from "./chunk-QXKWSRUZ.js";
|
|
191
191
|
import {
|
|
192
192
|
attachDocumentMetadata,
|
|
193
193
|
flushBatch,
|
|
@@ -195,10 +195,10 @@ import {
|
|
|
195
195
|
reserveVersions,
|
|
196
196
|
vectorToBlob,
|
|
197
197
|
writeMemory
|
|
198
|
-
} from "./chunk-
|
|
198
|
+
} from "./chunk-NQU2RTCP.js";
|
|
199
199
|
import {
|
|
200
200
|
getActiveAgent
|
|
201
|
-
} from "./chunk-
|
|
201
|
+
} from "./chunk-IQNT6KAE.js";
|
|
202
202
|
import {
|
|
203
203
|
getMySession,
|
|
204
204
|
resolveExeSession,
|
|
@@ -206,13 +206,13 @@ import {
|
|
|
206
206
|
sessionScopeFilter,
|
|
207
207
|
updateTaskStatus,
|
|
208
208
|
writeCheckpoint
|
|
209
|
-
} from "./chunk-
|
|
209
|
+
} from "./chunk-ENWFSMOS.js";
|
|
210
210
|
import {
|
|
211
211
|
listSessions
|
|
212
|
-
} from "./chunk-
|
|
212
|
+
} from "./chunk-NJS4GRIR.js";
|
|
213
213
|
import {
|
|
214
214
|
recordOrchestrationEventBestEffort
|
|
215
|
-
} from "./chunk-
|
|
215
|
+
} from "./chunk-2O5GJFYQ.js";
|
|
216
216
|
import {
|
|
217
217
|
DEFAULT_MODELS,
|
|
218
218
|
KNOWN_RUNTIMES,
|
|
@@ -229,7 +229,7 @@ import {
|
|
|
229
229
|
assertEmployeeLimit,
|
|
230
230
|
assertFeature,
|
|
231
231
|
assertMemoryLimit
|
|
232
|
-
} from "./chunk-
|
|
232
|
+
} from "./chunk-LXP6VRFH.js";
|
|
233
233
|
import {
|
|
234
234
|
getProjectName
|
|
235
235
|
} from "./chunk-OPU3NYOO.js";
|
|
@@ -242,7 +242,7 @@ import {
|
|
|
242
242
|
isScheduledTrigger,
|
|
243
243
|
loadTriggers,
|
|
244
244
|
sanitizeParam
|
|
245
|
-
} from "./chunk-
|
|
245
|
+
} from "./chunk-A4TPCHMA.js";
|
|
246
246
|
import {
|
|
247
247
|
pushConversationToCRM
|
|
248
248
|
} from "./chunk-ONKIWA3R.js";
|
|
@@ -262,7 +262,7 @@ import {
|
|
|
262
262
|
loadEmployeesSync,
|
|
263
263
|
saveEmployees,
|
|
264
264
|
updateIdentity
|
|
265
|
-
} from "./chunk-
|
|
265
|
+
} from "./chunk-2LYJTK47.js";
|
|
266
266
|
import {
|
|
267
267
|
getMasterKey
|
|
268
268
|
} from "./chunk-KDJRFJDL.js";
|
|
@@ -1453,7 +1453,7 @@ async function handleSupersede(input) {
|
|
|
1453
1453
|
}
|
|
1454
1454
|
try {
|
|
1455
1455
|
const { getClient: getClient2 } = await import("./lib/database.js");
|
|
1456
|
-
const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-
|
|
1456
|
+
const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-6WX7GZBH.js");
|
|
1457
1457
|
const { writeMemory: writeMemory2, flushBatch: flushBatch2 } = await import("./lib/store.js");
|
|
1458
1458
|
const { randomUUID: randomUUID2 } = await import("crypto");
|
|
1459
1459
|
const client = getClient2();
|
|
@@ -1563,7 +1563,7 @@ function registerMemory(server) {
|
|
|
1563
1563
|
return handleSupersede(input);
|
|
1564
1564
|
}
|
|
1565
1565
|
if (action === "update_working_memory" || action === "get_working_memory") {
|
|
1566
|
-
const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-
|
|
1566
|
+
const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-6WX7GZBH.js");
|
|
1567
1567
|
const { agentId } = getActiveAgent2();
|
|
1568
1568
|
const { readWorkingMemory, writeWorkingMemory, WORKING_MEMORY_MAX_BYTES } = await import("./working-memory-PKUUMWZK.js");
|
|
1569
1569
|
if (action === "get_working_memory") {
|
|
@@ -1580,9 +1580,9 @@ function registerMemory(server) {
|
|
|
1580
1580
|
}
|
|
1581
1581
|
}
|
|
1582
1582
|
if (action === "core_get" || action === "core_set" || action === "core_delete") {
|
|
1583
|
-
const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-
|
|
1583
|
+
const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-6WX7GZBH.js");
|
|
1584
1584
|
const { agentId } = getActiveAgent2();
|
|
1585
|
-
const { getCoreMemory, setCoreMemory, deleteCoreMemory, formatCoreMemoryBlock } = await import("./core-memory-
|
|
1585
|
+
const { getCoreMemory, setCoreMemory, deleteCoreMemory, formatCoreMemoryBlock } = await import("./core-memory-67AVQ3Z7.js");
|
|
1586
1586
|
if (action === "core_get") {
|
|
1587
1587
|
const entries = await getCoreMemory(agentId);
|
|
1588
1588
|
const block = formatCoreMemoryBlock(entries);
|
|
@@ -1955,7 +1955,7 @@ function registerCloseTask(server) {
|
|
|
1955
1955
|
async ({ task_id, result: result3, status: status2 }) => {
|
|
1956
1956
|
const agent = getActiveAgent();
|
|
1957
1957
|
try {
|
|
1958
|
-
const { StewardGate: StewardGate2 } = await import("./steward-gate-
|
|
1958
|
+
const { StewardGate: StewardGate2 } = await import("./steward-gate-TAD7GEVL.js");
|
|
1959
1959
|
const steward = new StewardGate2();
|
|
1960
1960
|
const gateDecision = await steward.checkAuthority(agent.agentId || "unknown", "close_task", task_id);
|
|
1961
1961
|
if (!gateDecision.allowed) {
|
|
@@ -2316,7 +2316,7 @@ function registerResumeEmployee(server) {
|
|
|
2316
2316
|
};
|
|
2317
2317
|
}
|
|
2318
2318
|
try {
|
|
2319
|
-
const { isTmuxSessionAlive } = await import("./tasks-crud-
|
|
2319
|
+
const { isTmuxSessionAlive } = await import("./tasks-crud-OD75EH2G.js");
|
|
2320
2320
|
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
2321
2321
|
for (const row of openTasks.rows) {
|
|
2322
2322
|
const status2 = String(row.status);
|
|
@@ -2344,7 +2344,7 @@ function registerResumeEmployee(server) {
|
|
|
2344
2344
|
}
|
|
2345
2345
|
let checkpointInfo = "";
|
|
2346
2346
|
try {
|
|
2347
|
-
const { readLatestCheckpoint } = await import("./tasks-crud-
|
|
2347
|
+
const { readLatestCheckpoint } = await import("./tasks-crud-OD75EH2G.js");
|
|
2348
2348
|
const checkpoint = await readLatestCheckpoint(agent_id);
|
|
2349
2349
|
if (checkpoint) {
|
|
2350
2350
|
const filesTouched = checkpoint.files_touched?.length > 0 ? checkpoint.files_touched.join(", ") : "none";
|
|
@@ -2704,7 +2704,7 @@ function registerTask(server) {
|
|
|
2704
2704
|
const missing2 = missingRequiredFields2(args, REQUIRED_FIELDS2.create_group);
|
|
2705
2705
|
if (missing2.length > 0) return errorResult2(`task action "create_group" missing required field(s): ${missing2.join(", ")}`);
|
|
2706
2706
|
try {
|
|
2707
|
-
const { createTaskGroup } = await import("./tasks-crud-
|
|
2707
|
+
const { createTaskGroup } = await import("./tasks-crud-OD75EH2G.js");
|
|
2708
2708
|
const group = await createTaskGroup({
|
|
2709
2709
|
title: args.title,
|
|
2710
2710
|
coordinator: args.coordinator,
|
|
@@ -2723,7 +2723,7 @@ function registerTask(server) {
|
|
|
2723
2723
|
const missing2 = missingRequiredFields2(args, REQUIRED_FIELDS2.group_status);
|
|
2724
2724
|
if (missing2.length > 0) return errorResult2(`task action "group_status" missing required field(s): ${missing2.join(", ")}`);
|
|
2725
2725
|
try {
|
|
2726
|
-
const { getGroupStatus } = await import("./tasks-crud-
|
|
2726
|
+
const { getGroupStatus } = await import("./tasks-crud-OD75EH2G.js");
|
|
2727
2727
|
const status2 = await getGroupStatus(args.group_id);
|
|
2728
2728
|
return { content: [{ type: "text", text: JSON.stringify(status2, null, 2) }] };
|
|
2729
2729
|
} catch (err) {
|
|
@@ -2735,7 +2735,7 @@ function registerTask(server) {
|
|
|
2735
2735
|
const missing2 = missingRequiredFields2(args, REQUIRED_FIELDS2.group_results);
|
|
2736
2736
|
if (missing2.length > 0) return errorResult2(`task action "group_results" missing required field(s): ${missing2.join(", ")}`);
|
|
2737
2737
|
try {
|
|
2738
|
-
const { getGroupResults } = await import("./tasks-crud-
|
|
2738
|
+
const { getGroupResults } = await import("./tasks-crud-OD75EH2G.js");
|
|
2739
2739
|
const results = await getGroupResults(args.group_id);
|
|
2740
2740
|
return { content: [{ type: "text", text: JSON.stringify(results, null, 2) }] };
|
|
2741
2741
|
} catch (err) {
|
|
@@ -2963,7 +2963,7 @@ function registerMessage(server) {
|
|
|
2963
2963
|
if (msgType && msgPayload) {
|
|
2964
2964
|
try {
|
|
2965
2965
|
const { buildTypedMessage, serializeMessage } = await import("./typed-messages-TKDGVPHS.js");
|
|
2966
|
-
const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-
|
|
2966
|
+
const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-6WX7GZBH.js");
|
|
2967
2967
|
const { sendMessage } = await import("./lib/messaging.js");
|
|
2968
2968
|
const { agentId } = getActiveAgent2();
|
|
2969
2969
|
const envelope = buildTypedMessage({
|
|
@@ -3580,8 +3580,8 @@ function registerIngestDocument(server) {
|
|
|
3580
3580
|
},
|
|
3581
3581
|
async (input) => {
|
|
3582
3582
|
try {
|
|
3583
|
-
const { assertFeature: assertFeature2 } = await import("./plan-limits-
|
|
3584
|
-
const { assertMemoryLimit: assertMemoryLimit2 } = await import("./plan-limits-
|
|
3583
|
+
const { assertFeature: assertFeature2 } = await import("./plan-limits-H65VL6LC.js");
|
|
3584
|
+
const { assertMemoryLimit: assertMemoryLimit2 } = await import("./plan-limits-H65VL6LC.js");
|
|
3585
3585
|
await assertFeature2("wiki");
|
|
3586
3586
|
await assertMemoryLimit2();
|
|
3587
3587
|
const result3 = await ingestDocument(input);
|
|
@@ -3652,8 +3652,8 @@ function registerPurgeDocument(server) {
|
|
|
3652
3652
|
},
|
|
3653
3653
|
async ({ document_id }) => {
|
|
3654
3654
|
try {
|
|
3655
|
-
const { StewardGate: StewardGate2 } = await import("./steward-gate-
|
|
3656
|
-
const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-
|
|
3655
|
+
const { StewardGate: StewardGate2 } = await import("./steward-gate-TAD7GEVL.js");
|
|
3656
|
+
const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-6WX7GZBH.js");
|
|
3657
3657
|
const steward = new StewardGate2();
|
|
3658
3658
|
const agent = getActiveAgent2();
|
|
3659
3659
|
const gateDecision = await steward.checkAuthority(agent.agentId || "unknown", "purge_document", document_id);
|
|
@@ -4847,12 +4847,12 @@ function registerExportGraph(server) {
|
|
|
4847
4847
|
}
|
|
4848
4848
|
const html = await exportGraphHTML(client);
|
|
4849
4849
|
const fs = await import("fs");
|
|
4850
|
-
const
|
|
4850
|
+
const path20 = await import("path");
|
|
4851
4851
|
const os5 = await import("os");
|
|
4852
|
-
const outDir =
|
|
4852
|
+
const outDir = path20.join(os5.homedir(), ".exe-os", "exports");
|
|
4853
4853
|
fs.mkdirSync(outDir, { recursive: true });
|
|
4854
4854
|
const timestamp = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-").slice(0, 19);
|
|
4855
|
-
const filePath =
|
|
4855
|
+
const filePath = path20.join(outDir, `graph-${timestamp}.html`);
|
|
4856
4856
|
fs.writeFileSync(filePath, html, "utf-8");
|
|
4857
4857
|
return {
|
|
4858
4858
|
content: [
|
|
@@ -4898,8 +4898,8 @@ function registerMergeEntities(server) {
|
|
|
4898
4898
|
},
|
|
4899
4899
|
async ({ source_name, source_type, target_name, target_type }) => {
|
|
4900
4900
|
try {
|
|
4901
|
-
const { StewardGate: StewardGate2 } = await import("./steward-gate-
|
|
4902
|
-
const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-
|
|
4901
|
+
const { StewardGate: StewardGate2 } = await import("./steward-gate-TAD7GEVL.js");
|
|
4902
|
+
const { getActiveAgent: getActiveAgent2 } = await import("./active-agent-6WX7GZBH.js");
|
|
4903
4903
|
const steward = new StewardGate2();
|
|
4904
4904
|
const agent = getActiveAgent2();
|
|
4905
4905
|
const gateDecision = await steward.checkAuthority(agent.agentId || "unknown", "merge_entities", `${source_name}\u2192${target_name}`);
|
|
@@ -5777,7 +5777,7 @@ async function getAgentSessionLoad() {
|
|
|
5777
5777
|
return { sessions: [], totalLive: 0, busySessions: 0, idleSessions: 0 };
|
|
5778
5778
|
}
|
|
5779
5779
|
const { getClient: getClient2 } = await import("./lib/database.js");
|
|
5780
|
-
const { sessionScopeFilter: sessionScopeFilter2 } = await import("./task-scope-
|
|
5780
|
+
const { sessionScopeFilter: sessionScopeFilter2 } = await import("./task-scope-AYK6BVC7.js");
|
|
5781
5781
|
const client = getClient2();
|
|
5782
5782
|
const scope = sessionScopeFilter2();
|
|
5783
5783
|
for (const s of liveAgentSessions) {
|
|
@@ -5902,7 +5902,7 @@ ${mode} Applying repairs...
|
|
|
5902
5902
|
`];
|
|
5903
5903
|
if (!isDryRun) {
|
|
5904
5904
|
try {
|
|
5905
|
-
const { createBackup: createBackup2 } = await import("./db-backup-
|
|
5905
|
+
const { createBackup: createBackup2 } = await import("./db-backup-JEHRFLYW.js");
|
|
5906
5906
|
const backupPath = createBackup2("pre-fix");
|
|
5907
5907
|
if (backupPath) {
|
|
5908
5908
|
fixLog.push(` Backup created: ${backupPath.split("/").pop()}`);
|
|
@@ -6808,9 +6808,9 @@ var HostingerApiClient = class {
|
|
|
6808
6808
|
}
|
|
6809
6809
|
this.lastRequestTime = Date.now();
|
|
6810
6810
|
}
|
|
6811
|
-
async request(method,
|
|
6811
|
+
async request(method, path20, body) {
|
|
6812
6812
|
await this.rateLimit();
|
|
6813
|
-
const url = `${this.baseUrl}${
|
|
6813
|
+
const url = `${this.baseUrl}${path20}`;
|
|
6814
6814
|
const headers = {
|
|
6815
6815
|
Authorization: `Bearer ${this.apiKey}`,
|
|
6816
6816
|
"Content-Type": "application/json",
|
|
@@ -7427,7 +7427,7 @@ function registerCreateTrigger(server) {
|
|
|
7427
7427
|
}
|
|
7428
7428
|
},
|
|
7429
7429
|
async ({ name, event, conditions, actions, project, enabled, schedule, query }) => {
|
|
7430
|
-
const { assertFeature: assertFeature2 } = await import("./plan-limits-
|
|
7430
|
+
const { assertFeature: assertFeature2 } = await import("./plan-limits-H65VL6LC.js");
|
|
7431
7431
|
const gatedActions = {
|
|
7432
7432
|
send_whatsapp: "external_agents",
|
|
7433
7433
|
update_wiki: "wiki"
|
|
@@ -8336,7 +8336,7 @@ function registerConfig(server) {
|
|
|
8336
8336
|
const existing = loadEmployeesSync2();
|
|
8337
8337
|
if (existing.some((e) => e.name === employeeName)) return errorResult8(`Employee "${employeeName}" already exists.`);
|
|
8338
8338
|
try {
|
|
8339
|
-
const { assertEmployeeLimit: assertEmployeeLimit2 } = await import("./plan-limits-
|
|
8339
|
+
const { assertEmployeeLimit: assertEmployeeLimit2 } = await import("./plan-limits-H65VL6LC.js");
|
|
8340
8340
|
await assertEmployeeLimit2();
|
|
8341
8341
|
} catch (e) {
|
|
8342
8342
|
return errorResult8(e instanceof Error ? e.message : "Employee limit reached.");
|
|
@@ -8352,10 +8352,10 @@ function registerConfig(server) {
|
|
|
8352
8352
|
const { getTemplate: getIdentityTemplate, getTemplateForTitle } = await import("./lib/identity-templates.js");
|
|
8353
8353
|
const { identityPath } = await import("./lib/identity.js");
|
|
8354
8354
|
const { existsSync: existsSync10, mkdirSync: mkdirSync4, writeFileSync: writeFileSync5 } = await import("fs");
|
|
8355
|
-
const
|
|
8355
|
+
const path20 = await import("path");
|
|
8356
8356
|
const template = getIdentityTemplate(role) ?? getTemplateForTitle(role);
|
|
8357
8357
|
const idPath = identityPath(employeeName);
|
|
8358
|
-
const dir =
|
|
8358
|
+
const dir = path20.dirname(idPath);
|
|
8359
8359
|
if (!existsSync10(dir)) mkdirSync4(dir, { recursive: true });
|
|
8360
8360
|
if (template) {
|
|
8361
8361
|
writeFileSync5(idPath, template.replace(/^agent_id: \w+/m, `agent_id: ${employeeName}`), "utf-8");
|
|
@@ -8377,7 +8377,7 @@ You are ${employeeName}. Role: ${role}.`, "utf-8");
|
|
|
8377
8377
|
}
|
|
8378
8378
|
try {
|
|
8379
8379
|
const { generateSessionWrappers } = await import("./lib/session-wrappers.js");
|
|
8380
|
-
const { resolvePackageRoot } = await import("./installer-
|
|
8380
|
+
const { resolvePackageRoot } = await import("./installer-N5XZAFE4.js");
|
|
8381
8381
|
generateSessionWrappers(resolvePackageRoot());
|
|
8382
8382
|
} catch {
|
|
8383
8383
|
}
|
|
@@ -8413,7 +8413,7 @@ function registerListWikiPages(server) {
|
|
|
8413
8413
|
}
|
|
8414
8414
|
},
|
|
8415
8415
|
async ({ workspace, folder }) => {
|
|
8416
|
-
const { assertFeature: assertFeature2 } = await import("./plan-limits-
|
|
8416
|
+
const { assertFeature: assertFeature2 } = await import("./plan-limits-H65VL6LC.js");
|
|
8417
8417
|
await assertFeature2("wiki");
|
|
8418
8418
|
const apiUrl = process.env.EXE_WIKI_API_URL;
|
|
8419
8419
|
const apiKey = process.env.EXE_WIKI_API_KEY;
|
|
@@ -8513,7 +8513,7 @@ function registerGetWikiPage(server) {
|
|
|
8513
8513
|
}
|
|
8514
8514
|
},
|
|
8515
8515
|
async ({ workspace, document_id, title }) => {
|
|
8516
|
-
const { assertFeature: assertFeature2 } = await import("./plan-limits-
|
|
8516
|
+
const { assertFeature: assertFeature2 } = await import("./plan-limits-H65VL6LC.js");
|
|
8517
8517
|
await assertFeature2("wiki");
|
|
8518
8518
|
const apiUrl = process.env.EXE_WIKI_API_URL;
|
|
8519
8519
|
const apiKey = process.env.EXE_WIKI_API_KEY;
|
|
@@ -8691,10 +8691,10 @@ async function handleWikiSearch(input) {
|
|
|
8691
8691
|
const userId = input.user_id;
|
|
8692
8692
|
if (!workspace) return errorResult9('wiki action "search" requires workspace');
|
|
8693
8693
|
if (!query) return errorResult9('wiki action "search" requires query');
|
|
8694
|
-
const { assertFeature: assertFeature2 } = await import("./plan-limits-
|
|
8694
|
+
const { assertFeature: assertFeature2 } = await import("./plan-limits-H65VL6LC.js");
|
|
8695
8695
|
await assertFeature2("wiki");
|
|
8696
8696
|
if (userId) {
|
|
8697
|
-
const { checkWikiAccess } = await import("./wiki-acl-
|
|
8697
|
+
const { checkWikiAccess } = await import("./wiki-acl-AR7RIMRY.js");
|
|
8698
8698
|
const { allowed } = await checkWikiAccess(String(userId), String(workspace), "read");
|
|
8699
8699
|
if (!allowed) {
|
|
8700
8700
|
return errorResult9(`Access denied: user "${userId}" does not have read access to workspace "${workspace}"`);
|
|
@@ -8770,7 +8770,7 @@ function registerWiki(server) {
|
|
|
8770
8770
|
if (!legacyToolName) return errorResult9(`Unknown wiki action: ${String(input.action)}`);
|
|
8771
8771
|
const { action: _action, user_id, ...legacyArgs } = input;
|
|
8772
8772
|
if (user_id && legacyArgs.workspace) {
|
|
8773
|
-
const { checkWikiAccess } = await import("./wiki-acl-
|
|
8773
|
+
const { checkWikiAccess } = await import("./wiki-acl-AR7RIMRY.js");
|
|
8774
8774
|
const { allowed } = await checkWikiAccess(
|
|
8775
8775
|
String(user_id),
|
|
8776
8776
|
String(legacyArgs.workspace),
|
|
@@ -9097,7 +9097,7 @@ Use /exe-forget to remove any that this supersedes.`;
|
|
|
9097
9097
|
return { content: [{ type: "text", text: `Behavior not found: ${behavior_id}` }], isError: true };
|
|
9098
9098
|
}
|
|
9099
9099
|
const row2 = result4.rows[0];
|
|
9100
|
-
const { reactivateBehavior: reactivateBehavior2 } = await import("./behaviors-
|
|
9100
|
+
const { reactivateBehavior: reactivateBehavior2 } = await import("./behaviors-DH7XFONJ.js");
|
|
9101
9101
|
const wasReactivated = await reactivateBehavior2(behavior_id);
|
|
9102
9102
|
if (!wasReactivated) {
|
|
9103
9103
|
return { content: [{ type: "text", text: `Behavior ${behavior_id} is already active.` }] };
|
|
@@ -10036,7 +10036,7 @@ function registerWorkflowTool(server) {
|
|
|
10036
10036
|
getWorkflowInstance,
|
|
10037
10037
|
listWorkflowInstances,
|
|
10038
10038
|
approveWorkflowStep
|
|
10039
|
-
} = await import("./workflow-engine-
|
|
10039
|
+
} = await import("./workflow-engine-4MQJI5F2.js");
|
|
10040
10040
|
try {
|
|
10041
10041
|
switch (input.action) {
|
|
10042
10042
|
case "create_workflow": {
|
|
@@ -10469,7 +10469,7 @@ function registerCreateBugReport(server) {
|
|
|
10469
10469
|
const version = package_version ?? "unknown";
|
|
10470
10470
|
let metricsSnapshot = "";
|
|
10471
10471
|
try {
|
|
10472
|
-
const { getOrchestrationMetrics, formatOrchestrationMetrics } = await import("./orchestration-events-
|
|
10472
|
+
const { getOrchestrationMetrics, formatOrchestrationMetrics } = await import("./orchestration-events-TEYCD6GO.js");
|
|
10473
10473
|
const sinceIso = new Date(Date.now() - 60 * 60 * 1e3).toISOString();
|
|
10474
10474
|
const metrics = await getOrchestrationMetrics({ sinceIso });
|
|
10475
10475
|
if (metrics.totalEvents > 0) {
|
|
@@ -11243,6 +11243,73 @@ function registerSupportTools(server) {
|
|
|
11243
11243
|
}
|
|
11244
11244
|
}
|
|
11245
11245
|
);
|
|
11246
|
+
server.registerTool(
|
|
11247
|
+
"list_my_reviews",
|
|
11248
|
+
{
|
|
11249
|
+
title: "My Reviews",
|
|
11250
|
+
description: "List reviews you've filed, scoped to your license. Shows status (open/in_review/approved/merged/closed/rejected), priority, and resolution.",
|
|
11251
|
+
inputSchema: {
|
|
11252
|
+
status: z89.enum(["all", "open", "in_review", "approved", "merged", "closed", "rejected"]).default("all").describe("Filter by status. Default: all"),
|
|
11253
|
+
limit: z89.number().min(1).max(50).default(25).describe("Max results")
|
|
11254
|
+
}
|
|
11255
|
+
},
|
|
11256
|
+
async ({ status: status2, limit }) => {
|
|
11257
|
+
const licenseKey = loadLicense();
|
|
11258
|
+
const licenseToken = readCachedLicenseToken();
|
|
11259
|
+
if (!licenseKey && !licenseToken) {
|
|
11260
|
+
return {
|
|
11261
|
+
content: [{ type: "text", text: "No license key found. Run `exe-os setup` or `exe-os cloud setup` first." }],
|
|
11262
|
+
isError: true
|
|
11263
|
+
};
|
|
11264
|
+
}
|
|
11265
|
+
const endpoint2 = new URL("https://api.askexe.com/v1/support/my-reviews");
|
|
11266
|
+
endpoint2.searchParams.set("status", status2);
|
|
11267
|
+
endpoint2.searchParams.set("limit", String(limit));
|
|
11268
|
+
const headers = { "content-type": "application/json" };
|
|
11269
|
+
if (licenseKey) {
|
|
11270
|
+
headers["authorization"] = `Bearer ${licenseKey}`;
|
|
11271
|
+
headers["x-exe-license-key"] = licenseKey;
|
|
11272
|
+
}
|
|
11273
|
+
if (licenseToken) headers["x-exe-license-token"] = licenseToken;
|
|
11274
|
+
try {
|
|
11275
|
+
const res = await fetch(endpoint2.toString(), { method: "GET", headers, signal: AbortSignal.timeout(15e3) });
|
|
11276
|
+
if (!res.ok) {
|
|
11277
|
+
const body = await res.text().catch(() => "");
|
|
11278
|
+
return {
|
|
11279
|
+
content: [{ type: "text", text: `Failed to fetch reviews: HTTP ${res.status}${body ? ` \u2014 ${body}` : ""}` }],
|
|
11280
|
+
isError: true
|
|
11281
|
+
};
|
|
11282
|
+
}
|
|
11283
|
+
const data = await res.json();
|
|
11284
|
+
if (data.count === 0) {
|
|
11285
|
+
return {
|
|
11286
|
+
content: [{ type: "text", text: `No reviews found${status2 !== "all" ? ` with status '${status2}'` : ""}.` }],
|
|
11287
|
+
structuredContent: { items: [], count: 0 }
|
|
11288
|
+
};
|
|
11289
|
+
}
|
|
11290
|
+
const lines = [`Reviews (${data.count}):`, ""];
|
|
11291
|
+
for (const r of data.items) {
|
|
11292
|
+
const priIcon = r.priority === "p0" ? "\u{1F534}" : r.priority === "p1" ? "\u{1F534}" : r.priority === "p2" ? "\u{1F7E0}" : "\u{1F7E2}";
|
|
11293
|
+
const statusIcon = r.status === "merged" ? "\u2705" : r.status === "approved" ? "\u2611\uFE0F" : r.status === "in_review" ? "\u{1F50D}" : r.status === "rejected" ? "\u26D4" : r.status === "closed" ? "\u2611\uFE0F" : "\u{1F535}";
|
|
11294
|
+
lines.push(`${priIcon} ${r.priority.toUpperCase()} ${statusIcon} ${r.status} \u2014 ${r.title}`);
|
|
11295
|
+
lines.push(` ID: ${r.id} | Filed: ${r.created_at?.slice(0, 10) ?? "?"}`);
|
|
11296
|
+
if (r.pr_url) lines.push(` \u{1F517} PR: ${r.pr_url}`);
|
|
11297
|
+
if (r.resolution) lines.push(` \u{1F4DD} Resolution: ${r.resolution}`);
|
|
11298
|
+
if (r.response_notes) lines.push(` \u{1F4DD} AskExe: ${r.response_notes}`);
|
|
11299
|
+
lines.push("");
|
|
11300
|
+
}
|
|
11301
|
+
return {
|
|
11302
|
+
content: [{ type: "text", text: lines.join("\n") }],
|
|
11303
|
+
structuredContent: data
|
|
11304
|
+
};
|
|
11305
|
+
} catch (err) {
|
|
11306
|
+
return {
|
|
11307
|
+
content: [{ type: "text", text: `Error fetching reviews: ${err instanceof Error ? err.message : String(err)}` }],
|
|
11308
|
+
isError: true
|
|
11309
|
+
};
|
|
11310
|
+
}
|
|
11311
|
+
}
|
|
11312
|
+
);
|
|
11246
11313
|
}
|
|
11247
11314
|
|
|
11248
11315
|
// src/mcp/tools/cli-parity.ts
|
|
@@ -11545,7 +11612,7 @@ function registerCodeContext(server) {
|
|
|
11545
11612
|
const index = buildCodeContextIndex(opts);
|
|
11546
11613
|
let graphExtract;
|
|
11547
11614
|
try {
|
|
11548
|
-
const { autoExtractGraphEntities } = await import("./graph-auto-extract-
|
|
11615
|
+
const { autoExtractGraphEntities } = await import("./graph-auto-extract-5ZD4AUSB.js");
|
|
11549
11616
|
graphExtract = await autoExtractGraphEntities(opts.projectRoot);
|
|
11550
11617
|
} catch {
|
|
11551
11618
|
}
|
|
@@ -11792,6 +11859,70 @@ function registerTriageFeatureRequest(server) {
|
|
|
11792
11859
|
}
|
|
11793
11860
|
);
|
|
11794
11861
|
}
|
|
11862
|
+
var REVIEW_STATUS = z93.enum(["open", "in_review", "approved", "merged", "closed", "rejected"]);
|
|
11863
|
+
function reviewEndpoint() {
|
|
11864
|
+
return endpoint().replace(/\/bug-reports\/?$/, "/reviews");
|
|
11865
|
+
}
|
|
11866
|
+
function registerListReviews(server) {
|
|
11867
|
+
server.registerTool(
|
|
11868
|
+
"list_reviews",
|
|
11869
|
+
{
|
|
11870
|
+
title: "List Reviews",
|
|
11871
|
+
description: "AskExe-internal only: list incoming review requests from the support inbox.",
|
|
11872
|
+
inputSchema: {
|
|
11873
|
+
status: z93.enum(["all", "open", "in_review", "approved", "merged", "closed", "rejected"]).default("open"),
|
|
11874
|
+
priority: z93.enum(["p0", "p1", "p2", "p3"]).optional(),
|
|
11875
|
+
limit: z93.number().int().min(1).max(100).default(25)
|
|
11876
|
+
}
|
|
11877
|
+
},
|
|
11878
|
+
async ({ status: status2, priority, limit }) => {
|
|
11879
|
+
const url = new URL(reviewEndpoint());
|
|
11880
|
+
url.searchParams.set("status", status2);
|
|
11881
|
+
url.searchParams.set("limit", String(limit));
|
|
11882
|
+
if (priority) url.searchParams.set("priority", priority);
|
|
11883
|
+
const data = await requestJson(url.toString());
|
|
11884
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
11885
|
+
}
|
|
11886
|
+
);
|
|
11887
|
+
}
|
|
11888
|
+
function registerGetReview(server) {
|
|
11889
|
+
server.registerTool(
|
|
11890
|
+
"get_review",
|
|
11891
|
+
{
|
|
11892
|
+
title: "Get Review",
|
|
11893
|
+
description: "AskExe-internal only: fetch one review with full payload.",
|
|
11894
|
+
inputSchema: { id: z93.string().min(8) }
|
|
11895
|
+
},
|
|
11896
|
+
async ({ id }) => {
|
|
11897
|
+
const data = await requestJson(`${reviewEndpoint()}/${encodeURIComponent(id)}`);
|
|
11898
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
11899
|
+
}
|
|
11900
|
+
);
|
|
11901
|
+
}
|
|
11902
|
+
function registerTriageReview(server) {
|
|
11903
|
+
server.registerTool(
|
|
11904
|
+
"triage_review",
|
|
11905
|
+
{
|
|
11906
|
+
title: "Triage Review",
|
|
11907
|
+
description: "AskExe-internal only: update review status, response notes, and resolution.",
|
|
11908
|
+
inputSchema: {
|
|
11909
|
+
id: z93.string().min(8),
|
|
11910
|
+
status: REVIEW_STATUS.optional(),
|
|
11911
|
+
response_notes: z93.string().optional(),
|
|
11912
|
+
add_note: z93.string().optional().describe("Append a timestamped progress note without changing status or replacing response_notes"),
|
|
11913
|
+
resolution: z93.string().optional(),
|
|
11914
|
+
pr_url: z93.string().optional()
|
|
11915
|
+
}
|
|
11916
|
+
},
|
|
11917
|
+
async ({ id, status: status2, response_notes, add_note, resolution, pr_url }) => {
|
|
11918
|
+
const data = await requestJson(`${reviewEndpoint()}/${encodeURIComponent(id)}`, {
|
|
11919
|
+
method: "PATCH",
|
|
11920
|
+
body: JSON.stringify({ status: status2, response_notes, add_note, resolution, pr_url })
|
|
11921
|
+
});
|
|
11922
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
11923
|
+
}
|
|
11924
|
+
);
|
|
11925
|
+
}
|
|
11795
11926
|
|
|
11796
11927
|
// src/mcp/tools/decision.ts
|
|
11797
11928
|
import { z as z94 } from "zod";
|
|
@@ -11881,7 +12012,182 @@ function registerSession(server) {
|
|
|
11881
12012
|
}
|
|
11882
12013
|
|
|
11883
12014
|
// src/mcp/tools/support-consolidated.ts
|
|
12015
|
+
import { z as z97 } from "zod";
|
|
12016
|
+
|
|
12017
|
+
// src/mcp/tools/create-review.ts
|
|
11884
12018
|
import { z as z96 } from "zod";
|
|
12019
|
+
import crypto7 from "crypto";
|
|
12020
|
+
import { mkdir as mkdir4, writeFile as writeFile6 } from "fs/promises";
|
|
12021
|
+
import path19 from "path";
|
|
12022
|
+
var PRIORITY2 = z96.enum(["p0", "p1", "p2", "p3"]);
|
|
12023
|
+
function slugify3(input) {
|
|
12024
|
+
return input.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 80) || "review";
|
|
12025
|
+
}
|
|
12026
|
+
function section3(title, body) {
|
|
12027
|
+
return `## ${title}
|
|
12028
|
+
|
|
12029
|
+
${body?.trim() || "Not provided"}`;
|
|
12030
|
+
}
|
|
12031
|
+
function buildMarkdown3(input) {
|
|
12032
|
+
return [
|
|
12033
|
+
`# Review \u2014 ${input.title}`,
|
|
12034
|
+
"",
|
|
12035
|
+
`id: ${input.id}`,
|
|
12036
|
+
`priority: ${input.priority}`,
|
|
12037
|
+
`product: ${input.product}`,
|
|
12038
|
+
`source: ${input.source ?? "self-improve"}`,
|
|
12039
|
+
`filed_by: ${input.agentId} (${input.agentRole})`,
|
|
12040
|
+
`package_version: ${input.packageVersion}`,
|
|
12041
|
+
`project: ${input.projectName ?? "unknown"}`,
|
|
12042
|
+
`created_at: ${(/* @__PURE__ */ new Date()).toISOString()}`,
|
|
12043
|
+
...input.prUrl ? [`pr_url: ${input.prUrl}`] : [],
|
|
12044
|
+
"",
|
|
12045
|
+
section3("Description", input.description)
|
|
12046
|
+
].join("\n");
|
|
12047
|
+
}
|
|
12048
|
+
async function maybeSendUpstream3(payload) {
|
|
12049
|
+
const config = await loadConfig();
|
|
12050
|
+
const routerUrl = process.env.API_ROUTER_URL?.replace(/\/+$/, "");
|
|
12051
|
+
const endpoint2 = config.support?.reviewEndpoint || process.env.EXE_REVIEW_ENDPOINT || (routerUrl ? `${routerUrl}/v1/support/reviews` : "https://api.askexe.com/v1/support/reviews");
|
|
12052
|
+
const token = config.support?.reviewToken || process.env.EXE_REVIEW_TOKEN;
|
|
12053
|
+
const licenseKey = loadLicense() || process.env.EXE_LICENSE_KEY || config.cloud?.apiKey;
|
|
12054
|
+
const licenseToken = readCachedLicenseToken();
|
|
12055
|
+
if (!endpoint2) {
|
|
12056
|
+
return "not_configured";
|
|
12057
|
+
}
|
|
12058
|
+
try {
|
|
12059
|
+
const parsed = new URL(endpoint2);
|
|
12060
|
+
if (parsed.protocol !== "https:" && !["localhost", "127.0.0.1", "::1"].includes(parsed.hostname)) {
|
|
12061
|
+
return "failed: insecure endpoint rejected";
|
|
12062
|
+
}
|
|
12063
|
+
const response = await fetch(parsed, {
|
|
12064
|
+
method: "POST",
|
|
12065
|
+
headers: {
|
|
12066
|
+
"content-type": "application/json",
|
|
12067
|
+
...token ? { authorization: `Bearer ${token}` } : {},
|
|
12068
|
+
...licenseKey ? { "x-exe-license-key": licenseKey } : {},
|
|
12069
|
+
...licenseToken ? { "x-exe-license-token": licenseToken } : {}
|
|
12070
|
+
},
|
|
12071
|
+
body: JSON.stringify(payload),
|
|
12072
|
+
signal: AbortSignal.timeout(1e4)
|
|
12073
|
+
});
|
|
12074
|
+
if (!response.ok) return `failed: HTTP ${response.status}`;
|
|
12075
|
+
return "sent";
|
|
12076
|
+
} catch (err) {
|
|
12077
|
+
return `failed: ${err instanceof Error ? err.message : String(err)}`;
|
|
12078
|
+
}
|
|
12079
|
+
}
|
|
12080
|
+
function registerCreateReview(server) {
|
|
12081
|
+
server.registerTool(
|
|
12082
|
+
"create_review",
|
|
12083
|
+
{
|
|
12084
|
+
title: "Create Review",
|
|
12085
|
+
description: "File a review request (code review, self-improvement findings, PR review needs). Writes a local report, stores memory, and optionally sends to AskExe support.",
|
|
12086
|
+
inputSchema: {
|
|
12087
|
+
title: z96.string().min(3).describe("Short descriptive title"),
|
|
12088
|
+
description: z96.string().optional().describe("What needs review and why"),
|
|
12089
|
+
priority: PRIORITY2.default("p1").describe("p0 critical -> p3 low"),
|
|
12090
|
+
source: z96.string().optional().describe("Source: self-improve, manual, ci, etc."),
|
|
12091
|
+
pr_url: z96.string().optional().describe("PR URL if applicable"),
|
|
12092
|
+
product: z96.string().optional().describe("Product: exe-os (default), exe-create, exe-wiki, exe-gateway, exe-crm, exe-build"),
|
|
12093
|
+
package_version: z96.string().optional().describe("Installed package version"),
|
|
12094
|
+
project_name: z96.string().optional().describe("Project/customer context"),
|
|
12095
|
+
send_upstream: z96.boolean().default(true).describe("Attempt to POST to configured AskExe support endpoint")
|
|
12096
|
+
}
|
|
12097
|
+
},
|
|
12098
|
+
async ({
|
|
12099
|
+
title,
|
|
12100
|
+
description,
|
|
12101
|
+
priority,
|
|
12102
|
+
source,
|
|
12103
|
+
pr_url,
|
|
12104
|
+
product,
|
|
12105
|
+
package_version,
|
|
12106
|
+
project_name,
|
|
12107
|
+
send_upstream
|
|
12108
|
+
}) => {
|
|
12109
|
+
const { agentId, agentRole } = getActiveAgent();
|
|
12110
|
+
const id = crypto7.randomUUID();
|
|
12111
|
+
const resolvedProduct = product ?? "exe-os";
|
|
12112
|
+
const version = package_version ?? "unknown";
|
|
12113
|
+
const markdown = buildMarkdown3({
|
|
12114
|
+
id,
|
|
12115
|
+
title,
|
|
12116
|
+
priority,
|
|
12117
|
+
agentId,
|
|
12118
|
+
agentRole,
|
|
12119
|
+
product: resolvedProduct,
|
|
12120
|
+
packageVersion: version,
|
|
12121
|
+
description,
|
|
12122
|
+
source,
|
|
12123
|
+
prUrl: pr_url,
|
|
12124
|
+
projectName: project_name
|
|
12125
|
+
});
|
|
12126
|
+
const outDir = path19.join(EXE_AI_DIR, "reviews");
|
|
12127
|
+
await mkdir4(outDir, { recursive: true });
|
|
12128
|
+
const reportPath = path19.join(outDir, `${(/* @__PURE__ */ new Date()).toISOString().slice(0, 10)}-${slugify3(title)}-${id.slice(0, 8)}.md`);
|
|
12129
|
+
await writeFile6(reportPath, markdown, "utf-8");
|
|
12130
|
+
let vector = null;
|
|
12131
|
+
try {
|
|
12132
|
+
vector = await embed(markdown);
|
|
12133
|
+
} catch {
|
|
12134
|
+
vector = null;
|
|
12135
|
+
}
|
|
12136
|
+
await writeMemory({
|
|
12137
|
+
id,
|
|
12138
|
+
agent_id: agentId,
|
|
12139
|
+
agent_role: agentRole,
|
|
12140
|
+
session_id: process.env.SESSION_ID ?? "manual",
|
|
12141
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
12142
|
+
tool_name: "create_review",
|
|
12143
|
+
project_name: project_name ?? "support",
|
|
12144
|
+
has_error: false,
|
|
12145
|
+
raw_text: markdown,
|
|
12146
|
+
vector,
|
|
12147
|
+
source_path: reportPath,
|
|
12148
|
+
source_type: "review",
|
|
12149
|
+
memory_type: "review",
|
|
12150
|
+
tier: 1,
|
|
12151
|
+
importance: priority === "p0" ? 10 : priority === "p1" ? 9 : priority === "p2" ? 7 : 5,
|
|
12152
|
+
intent: "review",
|
|
12153
|
+
domain: "support",
|
|
12154
|
+
file_paths: null
|
|
12155
|
+
});
|
|
12156
|
+
await flushBatch();
|
|
12157
|
+
const upstreamPayload = {
|
|
12158
|
+
id,
|
|
12159
|
+
title,
|
|
12160
|
+
description,
|
|
12161
|
+
priority,
|
|
12162
|
+
source: source ?? "self-improve",
|
|
12163
|
+
pr_url,
|
|
12164
|
+
product: resolvedProduct,
|
|
12165
|
+
package_version: version,
|
|
12166
|
+
project_name,
|
|
12167
|
+
agent_id: agentId
|
|
12168
|
+
};
|
|
12169
|
+
for (const key of Object.keys(upstreamPayload)) {
|
|
12170
|
+
if (upstreamPayload[key] === void 0) delete upstreamPayload[key];
|
|
12171
|
+
}
|
|
12172
|
+
const upstreamStatus = send_upstream ? await maybeSendUpstream3(upstreamPayload) : "skipped";
|
|
12173
|
+
return {
|
|
12174
|
+
content: [
|
|
12175
|
+
{
|
|
12176
|
+
type: "text",
|
|
12177
|
+
text: `Review created.
|
|
12178
|
+
ID: ${id}
|
|
12179
|
+
Priority: ${priority}
|
|
12180
|
+
Local report: ${reportPath}
|
|
12181
|
+
Memory stored: ${id}
|
|
12182
|
+
Upstream status: ${upstreamStatus}`
|
|
12183
|
+
}
|
|
12184
|
+
]
|
|
12185
|
+
};
|
|
12186
|
+
}
|
|
12187
|
+
);
|
|
12188
|
+
}
|
|
12189
|
+
|
|
12190
|
+
// src/mcp/tools/support-consolidated.ts
|
|
11885
12191
|
function buildHandlers8() {
|
|
11886
12192
|
const tools = /* @__PURE__ */ new Map();
|
|
11887
12193
|
const fake = {
|
|
@@ -11891,6 +12197,7 @@ function buildHandlers8() {
|
|
|
11891
12197
|
};
|
|
11892
12198
|
registerCreateBugReport(fake);
|
|
11893
12199
|
registerCreateFeatureRequest(fake);
|
|
12200
|
+
registerCreateReview(fake);
|
|
11894
12201
|
registerUpdateBugReport(fake);
|
|
11895
12202
|
registerUpdateFeatureRequest(fake);
|
|
11896
12203
|
registerSupportTools(fake);
|
|
@@ -11900,21 +12207,29 @@ function buildHandlers8() {
|
|
|
11900
12207
|
registerListFeatureRequests(fake);
|
|
11901
12208
|
registerGetFeatureRequest(fake);
|
|
11902
12209
|
registerTriageFeatureRequest(fake);
|
|
12210
|
+
registerListReviews(fake);
|
|
12211
|
+
registerGetReview(fake);
|
|
12212
|
+
registerTriageReview(fake);
|
|
11903
12213
|
return tools;
|
|
11904
12214
|
}
|
|
11905
12215
|
var ACTION_TO_TOOL5 = {
|
|
11906
12216
|
create_bug: "create_bug_report",
|
|
11907
12217
|
create_feature: "create_feature_request",
|
|
12218
|
+
create_review: "create_review",
|
|
11908
12219
|
update_bug: "update_bug_report",
|
|
11909
12220
|
update_feature: "update_feature_request",
|
|
11910
12221
|
list_my_bugs: "list_my_bug_reports",
|
|
11911
12222
|
list_my_features: "list_my_feature_requests",
|
|
12223
|
+
list_my_reviews: "list_my_reviews",
|
|
11912
12224
|
list_bugs: "list_bug_reports",
|
|
11913
12225
|
get_bug: "get_bug_report",
|
|
11914
12226
|
triage_bug: "triage_bug_report",
|
|
11915
12227
|
list_features: "list_feature_requests",
|
|
11916
12228
|
get_feature: "get_feature_request",
|
|
11917
12229
|
triage_feature: "triage_feature_request",
|
|
12230
|
+
list_reviews: "list_reviews",
|
|
12231
|
+
get_review: "get_review",
|
|
12232
|
+
triage_review: "triage_review",
|
|
11918
12233
|
health: "support_health",
|
|
11919
12234
|
test: "support_test"
|
|
11920
12235
|
};
|
|
@@ -11924,45 +12239,53 @@ function registerSupportConsolidated(server) {
|
|
|
11924
12239
|
"support",
|
|
11925
12240
|
{
|
|
11926
12241
|
title: "Support",
|
|
11927
|
-
description: "Bug reports, feature requests, and support system. Actions: create_bug, create_feature, update_bug, update_feature, list_my_bugs, list_my_features, list_bugs, get_bug, triage_bug, list_features, get_feature, triage_feature, health, test. Use 'product' param to file bugs for any AskExe product.",
|
|
12242
|
+
description: "Bug reports, feature requests, reviews, and support system. Actions: create_bug, create_feature, create_review, update_bug, update_feature, list_my_bugs, list_my_features, list_my_reviews, list_bugs, get_bug, triage_bug, list_features, get_feature, triage_feature, list_reviews, get_review, triage_review, health, test. Use 'product' param to file bugs for any AskExe product.",
|
|
11928
12243
|
inputSchema: {
|
|
11929
|
-
action:
|
|
12244
|
+
action: z97.enum([
|
|
11930
12245
|
"create_bug",
|
|
11931
12246
|
"create_feature",
|
|
12247
|
+
"create_review",
|
|
11932
12248
|
"update_bug",
|
|
11933
12249
|
"update_feature",
|
|
11934
12250
|
"list_my_bugs",
|
|
11935
12251
|
"list_my_features",
|
|
12252
|
+
"list_my_reviews",
|
|
11936
12253
|
"list_bugs",
|
|
11937
12254
|
"get_bug",
|
|
11938
12255
|
"triage_bug",
|
|
11939
12256
|
"list_features",
|
|
11940
12257
|
"get_feature",
|
|
11941
12258
|
"triage_feature",
|
|
12259
|
+
"list_reviews",
|
|
12260
|
+
"get_review",
|
|
12261
|
+
"triage_review",
|
|
11942
12262
|
"health",
|
|
11943
12263
|
"test"
|
|
11944
12264
|
]).describe("Support operation"),
|
|
11945
|
-
title:
|
|
11946
|
-
description:
|
|
11947
|
-
steps_to_reproduce:
|
|
11948
|
-
expected_behavior:
|
|
11949
|
-
actual_behavior:
|
|
11950
|
-
severity:
|
|
11951
|
-
product:
|
|
11952
|
-
use_case:
|
|
11953
|
-
proposed_solution:
|
|
11954
|
-
priority:
|
|
11955
|
-
id:
|
|
11956
|
-
status:
|
|
11957
|
-
classification:
|
|
11958
|
-
resolution:
|
|
11959
|
-
notes:
|
|
11960
|
-
triage_notes:
|
|
11961
|
-
linked_task_id:
|
|
11962
|
-
linked_commit:
|
|
11963
|
-
fixed_version:
|
|
11964
|
-
shipped_version:
|
|
11965
|
-
|
|
12265
|
+
title: z97.string().optional().describe("Bug/feature title"),
|
|
12266
|
+
description: z97.string().optional().describe("Bug/feature description"),
|
|
12267
|
+
steps_to_reproduce: z97.string().optional().describe("Steps to reproduce (bugs)"),
|
|
12268
|
+
expected_behavior: z97.string().optional().describe("Expected behavior (bugs)"),
|
|
12269
|
+
actual_behavior: z97.string().optional().describe("Actual behavior (bugs)"),
|
|
12270
|
+
severity: z97.string().optional().describe("Severity: p0/p1/p2/p3"),
|
|
12271
|
+
product: z97.string().optional().describe("Product: exe-os (default), exe-create, exe-wiki, exe-gateway, exe-crm, exe-build"),
|
|
12272
|
+
use_case: z97.string().optional().describe("Use case (features)"),
|
|
12273
|
+
proposed_solution: z97.string().optional().describe("Proposed solution (features)"),
|
|
12274
|
+
priority: z97.string().optional().describe("Priority (features)"),
|
|
12275
|
+
id: z97.string().optional().describe("Bug/feature ID for get/triage"),
|
|
12276
|
+
status: z97.string().optional().describe("Filter by status"),
|
|
12277
|
+
classification: z97.string().optional().describe("Triage classification"),
|
|
12278
|
+
resolution: z97.string().optional().describe("Triage resolution"),
|
|
12279
|
+
notes: z97.string().optional().describe("Triage notes (mapped to triage_notes for bug/feature triage)"),
|
|
12280
|
+
triage_notes: z97.string().optional().describe("Triage notes (legacy field name)"),
|
|
12281
|
+
linked_task_id: z97.string().optional().describe("Linked task ID for triage"),
|
|
12282
|
+
linked_commit: z97.string().optional().describe("Linked commit hash for triage"),
|
|
12283
|
+
fixed_version: z97.string().optional().describe("Version that fixes this bug"),
|
|
12284
|
+
shipped_version: z97.string().optional().describe("Version that ships this feature (features only)"),
|
|
12285
|
+
source: z97.string().optional().describe("Review source: self-improve, manual, ci"),
|
|
12286
|
+
pr_url: z97.string().optional().describe("PR URL (reviews)"),
|
|
12287
|
+
resolution: z97.string().optional().describe("Resolution text (reviews)"),
|
|
12288
|
+
limit: z97.coerce.number().optional().describe("Max results")
|
|
11966
12289
|
}
|
|
11967
12290
|
},
|
|
11968
12291
|
async (input, extra) => {
|
|
@@ -12024,6 +12347,13 @@ function registerSupportConsolidated(server) {
|
|
|
12024
12347
|
args.shipped_version = args.fixed_version;
|
|
12025
12348
|
delete args.fixed_version;
|
|
12026
12349
|
}
|
|
12350
|
+
if (action === "create_review") {
|
|
12351
|
+
if (args.send_upstream === void 0) args.send_upstream = true;
|
|
12352
|
+
}
|
|
12353
|
+
if (action === "triage_review" && args.notes && !args.response_notes) {
|
|
12354
|
+
args.response_notes = args.notes;
|
|
12355
|
+
delete args.notes;
|
|
12356
|
+
}
|
|
12027
12357
|
if (action === "triage_bug" && args.fixed_version && !args.status) {
|
|
12028
12358
|
args.status = "closed";
|
|
12029
12359
|
}
|
|
@@ -12036,7 +12366,7 @@ function registerSupportConsolidated(server) {
|
|
|
12036
12366
|
}
|
|
12037
12367
|
|
|
12038
12368
|
// src/mcp/tools/diagnostics.ts
|
|
12039
|
-
import { z as
|
|
12369
|
+
import { z as z98 } from "zod";
|
|
12040
12370
|
function buildHandlers9() {
|
|
12041
12371
|
const tools = /* @__PURE__ */ new Map();
|
|
12042
12372
|
const fake = {
|
|
@@ -12057,17 +12387,17 @@ function registerDiagnostics(server) {
|
|
|
12057
12387
|
title: "Diagnostics",
|
|
12058
12388
|
description: `System diagnostics and admin operations. Actions: ${toolNames.join(", ")}. Covers health checks, update status, cloud status, key management, employee rename, semantic tool discovery (tool_search), identity drift detection (drift), agent liveness monitoring (agent_liveness), and agent memory reassignment (merge_agent_memories).`,
|
|
12059
12389
|
inputSchema: {
|
|
12060
|
-
action:
|
|
12390
|
+
action: z98.string().describe(`Diagnostic operation: ${toolNames.join(", ")}`),
|
|
12061
12391
|
// Pass-through params used by various sub-tools
|
|
12062
|
-
agent_id:
|
|
12063
|
-
name:
|
|
12064
|
-
new_name:
|
|
12065
|
-
query:
|
|
12066
|
-
format:
|
|
12067
|
-
limit:
|
|
12068
|
-
from_agent_id:
|
|
12069
|
-
to_agent_id:
|
|
12070
|
-
dry_run:
|
|
12392
|
+
agent_id: z98.string().optional().describe("Agent to probe (drift). Defaults to all agents."),
|
|
12393
|
+
name: z98.string().optional().describe("Employee name (rename_employee)"),
|
|
12394
|
+
new_name: z98.string().optional().describe("New employee name (rename_employee)"),
|
|
12395
|
+
query: z98.string().optional().describe("Search/filter query, or natural language for tool_search"),
|
|
12396
|
+
format: z98.string().optional().describe("Output format"),
|
|
12397
|
+
limit: z98.coerce.number().int().min(1).max(100).optional().describe("Max results for tool_search (default 20)"),
|
|
12398
|
+
from_agent_id: z98.string().optional().describe("Source agent ID to merge from (merge_agent_memories)"),
|
|
12399
|
+
to_agent_id: z98.string().optional().describe("Target agent ID to merge into (merge_agent_memories)"),
|
|
12400
|
+
dry_run: z98.boolean().optional().default(true).describe("Preview mode \u2014 show count without changing (merge_agent_memories). Default: true")
|
|
12071
12401
|
}
|
|
12072
12402
|
},
|
|
12073
12403
|
async (input, extra) => {
|
|
@@ -12276,7 +12606,7 @@ async function handleDrift(input) {
|
|
|
12276
12606
|
}
|
|
12277
12607
|
|
|
12278
12608
|
// src/mcp/tools/dreaming.ts
|
|
12279
|
-
import { z as
|
|
12609
|
+
import { z as z99 } from "zod";
|
|
12280
12610
|
function registerDreaming(server) {
|
|
12281
12611
|
server.registerTool(
|
|
12282
12612
|
"dreaming",
|
|
@@ -12284,10 +12614,10 @@ function registerDreaming(server) {
|
|
|
12284
12614
|
title: "Dreaming",
|
|
12285
12615
|
description: "Self-improvement loop \u2014 reviews recent work, identifies patterns, proposes behavior changes, and detects identity drift. Actions: run (execute dream cycle), status (last cycle result), history (past cycles).",
|
|
12286
12616
|
inputSchema: {
|
|
12287
|
-
action:
|
|
12288
|
-
agent_id:
|
|
12289
|
-
hours:
|
|
12290
|
-
limit:
|
|
12617
|
+
action: z99.enum(["run", "status", "history"]).describe("Action to perform"),
|
|
12618
|
+
agent_id: z99.string().optional().describe("Agent to analyze. Defaults to calling agent."),
|
|
12619
|
+
hours: z99.coerce.number().min(1).max(720).optional().describe("Lookback window in hours (run). Default 24."),
|
|
12620
|
+
limit: z99.coerce.number().int().min(1).max(50).optional().describe("Max results for history. Default 10.")
|
|
12291
12621
|
}
|
|
12292
12622
|
},
|
|
12293
12623
|
async ({ action, agent_id, hours, limit }) => {
|
|
@@ -12384,7 +12714,7 @@ ${String(row.text)}`
|
|
|
12384
12714
|
}
|
|
12385
12715
|
|
|
12386
12716
|
// src/mcp/tools/steward.ts
|
|
12387
|
-
import { z as
|
|
12717
|
+
import { z as z100 } from "zod";
|
|
12388
12718
|
function errorResult11(text6) {
|
|
12389
12719
|
return { content: [{ type: "text", text: text6 }], isError: true };
|
|
12390
12720
|
}
|
|
@@ -12396,12 +12726,12 @@ function registerSteward(server) {
|
|
|
12396
12726
|
title: "Steward Identity Gate",
|
|
12397
12727
|
description: "Constitutional check before destructive operations. action=check: verify agent authority for an operation. action=audit_log: query the audit trail. action=override: coordinator-only bypass with reason.",
|
|
12398
12728
|
inputSchema: {
|
|
12399
|
-
action:
|
|
12400
|
-
agent:
|
|
12401
|
-
operation:
|
|
12402
|
-
target:
|
|
12403
|
-
reason:
|
|
12404
|
-
limit:
|
|
12729
|
+
action: z100.enum(["check", "audit_log", "override"]).describe("Steward operation to perform"),
|
|
12730
|
+
agent: z100.string().optional().describe("Agent to check (defaults to calling agent for action=check)"),
|
|
12731
|
+
operation: z100.string().optional().describe("Operation name (required for check/override)"),
|
|
12732
|
+
target: z100.string().optional().describe("Target resource (required for check/override)"),
|
|
12733
|
+
reason: z100.string().optional().describe("Override reason (required for action=override)"),
|
|
12734
|
+
limit: z100.number().optional().describe("Max audit entries to return (default: 50)")
|
|
12405
12735
|
}
|
|
12406
12736
|
},
|
|
12407
12737
|
async (input) => {
|
|
@@ -12484,7 +12814,7 @@ function registerSteward(server) {
|
|
|
12484
12814
|
}
|
|
12485
12815
|
|
|
12486
12816
|
// src/mcp/tools/pipeline.ts
|
|
12487
|
-
import { z as
|
|
12817
|
+
import { z as z101 } from "zod";
|
|
12488
12818
|
function text3(content, isError = false) {
|
|
12489
12819
|
return { content: [{ type: "text", text: content }], ...isError ? { isError: true } : {} };
|
|
12490
12820
|
}
|
|
@@ -12546,7 +12876,7 @@ async function handleTrigger(limit) {
|
|
|
12546
12876
|
if (rows.rows.length === 0) {
|
|
12547
12877
|
return text3("No conversations found to re-process.");
|
|
12548
12878
|
}
|
|
12549
|
-
const { ingest } = await import("./pipeline-router-
|
|
12879
|
+
const { ingest } = await import("./pipeline-router-IX635D3U.js");
|
|
12550
12880
|
const results = [];
|
|
12551
12881
|
for (const row of rows.rows) {
|
|
12552
12882
|
const r = row;
|
|
@@ -12619,8 +12949,8 @@ function registerPipeline(server) {
|
|
|
12619
12949
|
title: "Pipeline",
|
|
12620
12950
|
description: "E2E data pipeline observability. Actions: status (sink health), trigger (re-process recent events), history (recent pipeline activity).",
|
|
12621
12951
|
inputSchema: {
|
|
12622
|
-
action:
|
|
12623
|
-
limit:
|
|
12952
|
+
action: z101.enum(["status", "trigger", "history"]).describe("Pipeline operation"),
|
|
12953
|
+
limit: z101.number().optional().describe("Max events to process (trigger) or show (history). Default: 10, max: 50/100.")
|
|
12624
12954
|
}
|
|
12625
12955
|
}, async ({ action, limit }) => {
|
|
12626
12956
|
const lim = Math.max(1, Math.min(Number(limit) || 10, 100));
|
|
@@ -12638,7 +12968,7 @@ function registerPipeline(server) {
|
|
|
12638
12968
|
}
|
|
12639
12969
|
|
|
12640
12970
|
// src/mcp/tools/resonance.ts
|
|
12641
|
-
import { z as
|
|
12971
|
+
import { z as z102 } from "zod";
|
|
12642
12972
|
function text4(content, isError = false) {
|
|
12643
12973
|
return { content: [{ type: "text", text: content }], ...isError ? { isError: true } : {} };
|
|
12644
12974
|
}
|
|
@@ -12647,13 +12977,13 @@ function registerResonance(server) {
|
|
|
12647
12977
|
title: "Resonance Network",
|
|
12648
12978
|
description: "Co-activation network queries. Actions: hot_pairs (top co-activated entity pairs), neighbors (co-activation neighbors for a specific entity).",
|
|
12649
12979
|
inputSchema: {
|
|
12650
|
-
action:
|
|
12651
|
-
entity_id:
|
|
12652
|
-
limit:
|
|
12980
|
+
action: z102.enum(["hot_pairs", "neighbors"]).describe("Resonance query type"),
|
|
12981
|
+
entity_id: z102.string().optional().describe("Entity/memory ID for neighbors action"),
|
|
12982
|
+
limit: z102.number().optional().describe("Max results (default 20)")
|
|
12653
12983
|
}
|
|
12654
12984
|
}, async ({ action, entity_id, limit }) => {
|
|
12655
12985
|
try {
|
|
12656
|
-
const { getHotPairs, getCoActivationNeighbors } = await import("./co-activation-
|
|
12986
|
+
const { getHotPairs, getCoActivationNeighbors } = await import("./co-activation-OCQPRJ2I.js");
|
|
12657
12987
|
if (action === "hot_pairs") {
|
|
12658
12988
|
const pairs = await getHotPairs(limit ?? 20);
|
|
12659
12989
|
if (pairs.length === 0) return text4("No co-activation data yet. Pairs are recorded as memories are accessed together in searches.");
|
|
@@ -12673,7 +13003,7 @@ function registerResonance(server) {
|
|
|
12673
13003
|
}
|
|
12674
13004
|
|
|
12675
13005
|
// src/mcp/tools/prediction.ts
|
|
12676
|
-
import { z as
|
|
13006
|
+
import { z as z103 } from "zod";
|
|
12677
13007
|
function text5(content, isError = false) {
|
|
12678
13008
|
return { content: [{ type: "text", text: content }], ...isError ? { isError: true } : {} };
|
|
12679
13009
|
}
|
|
@@ -12684,15 +13014,15 @@ function registerPrediction(server) {
|
|
|
12684
13014
|
title: "Prediction Log",
|
|
12685
13015
|
description: "Anticipation calibration. Log predictions with confidence, resolve with outcomes, view calibration stats. Actions: log, resolve, list, stats.",
|
|
12686
13016
|
inputSchema: {
|
|
12687
|
-
action:
|
|
12688
|
-
prediction:
|
|
12689
|
-
confidence:
|
|
12690
|
-
prediction_id:
|
|
12691
|
-
outcome:
|
|
12692
|
-
note:
|
|
12693
|
-
unresolved:
|
|
12694
|
-
agent_id:
|
|
12695
|
-
limit:
|
|
13017
|
+
action: z103.enum(["log", "resolve", "list", "stats"]).describe("Prediction operation"),
|
|
13018
|
+
prediction: z103.string().optional().describe("Prediction text (for action=log)"),
|
|
13019
|
+
confidence: z103.number().optional().describe("Confidence 0.0-1.0 (for action=log)"),
|
|
13020
|
+
prediction_id: z103.string().optional().describe("Prediction ID (for action=resolve)"),
|
|
13021
|
+
outcome: z103.enum(["correct", "wrong", "partial"]).optional().describe("Outcome (for action=resolve)"),
|
|
13022
|
+
note: z103.string().optional().describe("Resolution note (for action=resolve)"),
|
|
13023
|
+
unresolved: z103.boolean().optional().describe("Filter to unresolved only (for action=list)"),
|
|
13024
|
+
agent_id: z103.string().optional().describe("Filter by agent (for action=list/stats)"),
|
|
13025
|
+
limit: z103.number().optional().describe("Max results (for action=list, default 20)")
|
|
12696
13026
|
}
|
|
12697
13027
|
},
|
|
12698
13028
|
async (input) => {
|