@mastra/server 1.15.0-alpha.0 → 1.15.0-alpha.2
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/CHANGELOG.md +22 -0
- package/dist/{chunk-V2KPTU3N.cjs → chunk-2SQXNXDG.cjs} +30 -30
- package/dist/{chunk-V2KPTU3N.cjs.map → chunk-2SQXNXDG.cjs.map} +1 -1
- package/dist/{chunk-XGPK3HFX.cjs → chunk-3CUUB624.cjs} +10 -10
- package/dist/{chunk-XGPK3HFX.cjs.map → chunk-3CUUB624.cjs.map} +1 -1
- package/dist/{chunk-FGVINEGE.cjs → chunk-3KRZUGE2.cjs} +11 -11
- package/dist/{chunk-FGVINEGE.cjs.map → chunk-3KRZUGE2.cjs.map} +1 -1
- package/dist/{chunk-US6UOOSR.js → chunk-4AUZJETY.js} +4 -4
- package/dist/{chunk-US6UOOSR.js.map → chunk-4AUZJETY.js.map} +1 -1
- package/dist/{chunk-LEN6GOK4.cjs → chunk-4H646L2Z.cjs} +11 -11
- package/dist/{chunk-LEN6GOK4.cjs.map → chunk-4H646L2Z.cjs.map} +1 -1
- package/dist/{chunk-GNW3DGR7.cjs → chunk-4ZHENCAC.cjs} +17 -17
- package/dist/{chunk-GNW3DGR7.cjs.map → chunk-4ZHENCAC.cjs.map} +1 -1
- package/dist/{chunk-LKBVN25S.js → chunk-5A232FX3.js} +3 -3
- package/dist/{chunk-LKBVN25S.js.map → chunk-5A232FX3.js.map} +1 -1
- package/dist/{chunk-VXXU2IL3.js → chunk-5BBO2RHV.js} +5 -3
- package/dist/chunk-5BBO2RHV.js.map +1 -0
- package/dist/{chunk-KQHX6XBO.cjs → chunk-5OJTF4BH.cjs} +6 -6
- package/dist/{chunk-KQHX6XBO.cjs.map → chunk-5OJTF4BH.cjs.map} +1 -1
- package/dist/{chunk-G6FMIEKX.cjs → chunk-6AXJQ6UB.cjs} +6 -6
- package/dist/{chunk-G6FMIEKX.cjs.map → chunk-6AXJQ6UB.cjs.map} +1 -1
- package/dist/{chunk-Z2GTZMB6.js → chunk-6INBDRFJ.js} +3 -3
- package/dist/{chunk-Z2GTZMB6.js.map → chunk-6INBDRFJ.js.map} +1 -1
- package/dist/{chunk-75XLM5YU.js → chunk-6QUGCOP5.js} +4 -4
- package/dist/{chunk-75XLM5YU.js.map → chunk-6QUGCOP5.js.map} +1 -1
- package/dist/{chunk-LIDMRFHS.cjs → chunk-7KSSSSLW.cjs} +30 -30
- package/dist/{chunk-LIDMRFHS.cjs.map → chunk-7KSSSSLW.cjs.map} +1 -1
- package/dist/{chunk-JMXNHFJT.js → chunk-7WP6LX5N.js} +3 -3
- package/dist/{chunk-JMXNHFJT.js.map → chunk-7WP6LX5N.js.map} +1 -1
- package/dist/{chunk-Z72NDEOG.js → chunk-B4YTCF2Y.js} +3 -3
- package/dist/{chunk-Z72NDEOG.js.map → chunk-B4YTCF2Y.js.map} +1 -1
- package/dist/{chunk-6I3NC77Y.js → chunk-BN5YN4UU.js} +4 -4
- package/dist/{chunk-6I3NC77Y.js.map → chunk-BN5YN4UU.js.map} +1 -1
- package/dist/{chunk-VNM3X7IW.cjs → chunk-BWTGKLXJ.cjs} +11 -11
- package/dist/{chunk-VNM3X7IW.cjs.map → chunk-BWTGKLXJ.cjs.map} +1 -1
- package/dist/{chunk-BISARVCB.js → chunk-CCEVYU3X.js} +3 -3
- package/dist/{chunk-BISARVCB.js.map → chunk-CCEVYU3X.js.map} +1 -1
- package/dist/{chunk-WB6AK7JY.js → chunk-CLXK74N7.js} +3 -3
- package/dist/{chunk-WB6AK7JY.js.map → chunk-CLXK74N7.js.map} +1 -1
- package/dist/{chunk-CQDKHDO5.js → chunk-CSSSPADR.js} +4 -4
- package/dist/{chunk-CQDKHDO5.js.map → chunk-CSSSPADR.js.map} +1 -1
- package/dist/{chunk-53CKJ5MP.cjs → chunk-DUWAI5L3.cjs} +10 -10
- package/dist/{chunk-53CKJ5MP.cjs.map → chunk-DUWAI5L3.cjs.map} +1 -1
- package/dist/{chunk-XQKMLH77.cjs → chunk-DWJI2VL3.cjs} +6 -6
- package/dist/{chunk-XQKMLH77.cjs.map → chunk-DWJI2VL3.cjs.map} +1 -1
- package/dist/{chunk-LBAMGUCK.cjs → chunk-E4RLL73F.cjs} +11 -11
- package/dist/{chunk-LBAMGUCK.cjs.map → chunk-E4RLL73F.cjs.map} +1 -1
- package/dist/{chunk-EQ5FORA4.js → chunk-EL2DRC3C.js} +5 -12
- package/dist/chunk-EL2DRC3C.js.map +1 -0
- package/dist/{chunk-BUGOOXLQ.js → chunk-EYPXYWPY.js} +4 -4
- package/dist/{chunk-BUGOOXLQ.js.map → chunk-EYPXYWPY.js.map} +1 -1
- package/dist/{chunk-NSMUADXN.cjs → chunk-FLTCEG6J.cjs} +10 -10
- package/dist/{chunk-NSMUADXN.cjs.map → chunk-FLTCEG6J.cjs.map} +1 -1
- package/dist/{chunk-2ZVOQX2Q.js → chunk-FO5SVAKR.js} +4 -4
- package/dist/{chunk-2ZVOQX2Q.js.map → chunk-FO5SVAKR.js.map} +1 -1
- package/dist/{chunk-VWYXBBBK.cjs → chunk-G4FSJJAS.cjs} +10 -10
- package/dist/{chunk-VWYXBBBK.cjs.map → chunk-G4FSJJAS.cjs.map} +1 -1
- package/dist/{chunk-V5PP7KDX.js → chunk-GHPFPYUG.js} +3 -3
- package/dist/{chunk-V5PP7KDX.js.map → chunk-GHPFPYUG.js.map} +1 -1
- package/dist/{chunk-IIUQFWJQ.js → chunk-H37CMPNZ.js} +3 -3
- package/dist/{chunk-IIUQFWJQ.js.map → chunk-H37CMPNZ.js.map} +1 -1
- package/dist/{chunk-UHU7XGN5.cjs → chunk-HMJCSYZW.cjs} +5 -5
- package/dist/{chunk-UHU7XGN5.cjs.map → chunk-HMJCSYZW.cjs.map} +1 -1
- package/dist/{chunk-RVLJB7VT.js → chunk-HPJ2CRVK.js} +207 -39
- package/dist/chunk-HPJ2CRVK.js.map +1 -0
- package/dist/{chunk-CGHIAHE4.js → chunk-HRVCVRIR.js} +4 -4
- package/dist/{chunk-CGHIAHE4.js.map → chunk-HRVCVRIR.js.map} +1 -1
- package/dist/{chunk-PY7BK6R5.js → chunk-IB2ZR7T7.js} +3 -3
- package/dist/{chunk-PY7BK6R5.js.map → chunk-IB2ZR7T7.js.map} +1 -1
- package/dist/{chunk-PR74IWI7.cjs → chunk-IGZADYRV.cjs} +10 -10
- package/dist/{chunk-PR74IWI7.cjs.map → chunk-IGZADYRV.cjs.map} +1 -1
- package/dist/{chunk-I7C56OKO.cjs → chunk-IPQTQESA.cjs} +89 -88
- package/dist/chunk-IPQTQESA.cjs.map +1 -0
- package/dist/{chunk-Z5HHA64S.js → chunk-IWH4OW2X.js} +5 -5
- package/dist/{chunk-Z5HHA64S.js.map → chunk-IWH4OW2X.js.map} +1 -1
- package/dist/{chunk-HEOJ25V5.cjs → chunk-JKUQ3PWM.cjs} +10 -10
- package/dist/{chunk-HEOJ25V5.cjs.map → chunk-JKUQ3PWM.cjs.map} +1 -1
- package/dist/{chunk-XVGLASCJ.cjs → chunk-JLIHQAX7.cjs} +10 -10
- package/dist/{chunk-XVGLASCJ.cjs.map → chunk-JLIHQAX7.cjs.map} +1 -1
- package/dist/{chunk-QD6VVPVE.cjs → chunk-KH7BZQVQ.cjs} +207 -39
- package/dist/chunk-KH7BZQVQ.cjs.map +1 -0
- package/dist/{chunk-F53VVSTG.js → chunk-KKFLSWNW.js} +4 -4
- package/dist/{chunk-F53VVSTG.js.map → chunk-KKFLSWNW.js.map} +1 -1
- package/dist/{chunk-U443PPE6.js → chunk-KLGVHICT.js} +5 -5
- package/dist/{chunk-U443PPE6.js.map → chunk-KLGVHICT.js.map} +1 -1
- package/dist/{chunk-Z2BIGMS5.cjs → chunk-KYKIFNJQ.cjs} +14 -14
- package/dist/{chunk-Z2BIGMS5.cjs.map → chunk-KYKIFNJQ.cjs.map} +1 -1
- package/dist/{chunk-ZQKKKLSE.js → chunk-L4VJYJCY.js} +3 -3
- package/dist/{chunk-ZQKKKLSE.js.map → chunk-L4VJYJCY.js.map} +1 -1
- package/dist/{chunk-RJIYWHJT.cjs → chunk-LPLSDJEE.cjs} +10 -10
- package/dist/{chunk-RJIYWHJT.cjs.map → chunk-LPLSDJEE.cjs.map} +1 -1
- package/dist/{chunk-2KEASYDU.cjs → chunk-M2PIFW7O.cjs} +23 -23
- package/dist/{chunk-2KEASYDU.cjs.map → chunk-M2PIFW7O.cjs.map} +1 -1
- package/dist/{chunk-TQSLT72T.js → chunk-MN45G3GB.js} +3 -3
- package/dist/{chunk-TQSLT72T.js.map → chunk-MN45G3GB.js.map} +1 -1
- package/dist/{chunk-G3ITOFN4.js → chunk-NDI2C7UD.js} +3 -3
- package/dist/{chunk-G3ITOFN4.js.map → chunk-NDI2C7UD.js.map} +1 -1
- package/dist/{chunk-55RZXH3T.cjs → chunk-NHTUBHMO.cjs} +24 -24
- package/dist/{chunk-55RZXH3T.cjs.map → chunk-NHTUBHMO.cjs.map} +1 -1
- package/dist/{chunk-VKXG3BEY.js → chunk-OH2TKHUS.js} +4 -4
- package/dist/{chunk-VKXG3BEY.js.map → chunk-OH2TKHUS.js.map} +1 -1
- package/dist/{chunk-FMQXIXOI.js → chunk-OV64H74M.js} +10 -9
- package/dist/chunk-OV64H74M.js.map +1 -0
- package/dist/{chunk-Q2EPTZ2U.js → chunk-P63CP2ZR.js} +3 -3
- package/dist/{chunk-Q2EPTZ2U.js.map → chunk-P63CP2ZR.js.map} +1 -1
- package/dist/{chunk-MPS2N4MR.cjs → chunk-Q2X6FP4W.cjs} +28 -28
- package/dist/{chunk-MPS2N4MR.cjs.map → chunk-Q2X6FP4W.cjs.map} +1 -1
- package/dist/{chunk-4ZHBZQXM.cjs → chunk-RRQAOK3A.cjs} +11 -11
- package/dist/{chunk-4ZHBZQXM.cjs.map → chunk-RRQAOK3A.cjs.map} +1 -1
- package/dist/{chunk-KEEXFB4G.js → chunk-TZTKWB74.js} +3 -3
- package/dist/{chunk-KEEXFB4G.js.map → chunk-TZTKWB74.js.map} +1 -1
- package/dist/{chunk-SDZGXISK.js → chunk-UQALKED3.js} +3 -3
- package/dist/{chunk-SDZGXISK.js.map → chunk-UQALKED3.js.map} +1 -1
- package/dist/{chunk-LM6RQBYB.cjs → chunk-VO6UDRJS.cjs} +38 -45
- package/dist/chunk-VO6UDRJS.cjs.map +1 -0
- package/dist/{chunk-B2D7XPAW.js → chunk-W7I2JHCT.js} +3 -3
- package/dist/{chunk-B2D7XPAW.js.map → chunk-W7I2JHCT.js.map} +1 -1
- package/dist/{chunk-BUNC6PXE.cjs → chunk-WCZPCP3F.cjs} +7 -7
- package/dist/{chunk-BUNC6PXE.cjs.map → chunk-WCZPCP3F.cjs.map} +1 -1
- package/dist/{chunk-DDLPCKB2.cjs → chunk-WQCIZSIK.cjs} +10 -10
- package/dist/{chunk-DDLPCKB2.cjs.map → chunk-WQCIZSIK.cjs.map} +1 -1
- package/dist/{chunk-SVAGXZHK.js → chunk-X7USLRKI.js} +3 -3
- package/dist/{chunk-SVAGXZHK.js.map → chunk-X7USLRKI.js.map} +1 -1
- package/dist/{chunk-URKPHJ3V.cjs → chunk-XJ4C64FH.cjs} +33 -33
- package/dist/{chunk-URKPHJ3V.cjs.map → chunk-XJ4C64FH.cjs.map} +1 -1
- package/dist/{chunk-QATGBU6M.js → chunk-YIVUIIWJ.js} +4 -4
- package/dist/{chunk-QATGBU6M.js.map → chunk-YIVUIIWJ.js.map} +1 -1
- package/dist/{chunk-WBWSO2XP.cjs → chunk-YJLDMFSE.cjs} +6 -4
- package/dist/chunk-YJLDMFSE.cjs.map +1 -0
- package/dist/{chunk-INP5SRVC.cjs → chunk-ZHKXVTMQ.cjs} +4 -4
- package/dist/{chunk-INP5SRVC.cjs.map → chunk-ZHKXVTMQ.cjs.map} +1 -1
- package/dist/{chunk-QLZ77CJP.cjs → chunk-ZXGZ7K6D.cjs} +12 -12
- package/dist/{chunk-QLZ77CJP.cjs.map → chunk-ZXGZ7K6D.cjs.map} +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/{observational-memory-UEDVTWS2-4W3HN25B.cjs → observational-memory-5NFPG6M3-L7EU4ABW.cjs} +18 -18
- package/dist/{observational-memory-UEDVTWS2-4W3HN25B.cjs.map → observational-memory-5NFPG6M3-L7EU4ABW.cjs.map} +1 -1
- package/dist/{observational-memory-UEDVTWS2-BX4GF252.js → observational-memory-5NFPG6M3-MG2OMRFW.js} +3 -3
- package/dist/{observational-memory-UEDVTWS2-BX4GF252.js.map → observational-memory-5NFPG6M3-MG2OMRFW.js.map} +1 -1
- package/dist/server/handlers/a2a.cjs +9 -9
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +16 -16
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agent-versions.cjs +8 -8
- package/dist/server/handlers/agent-versions.js +1 -1
- package/dist/server/handlers/agents.cjs +33 -33
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/auth.cjs +10 -10
- package/dist/server/handlers/auth.js +1 -1
- package/dist/server/handlers/datasets.cjs +21 -21
- package/dist/server/handlers/datasets.js +1 -1
- package/dist/server/handlers/logs.cjs +4 -4
- package/dist/server/handlers/logs.js +1 -1
- package/dist/server/handlers/mcp-client-versions.cjs +8 -8
- package/dist/server/handlers/mcp-client-versions.js +1 -1
- package/dist/server/handlers/mcp.cjs +9 -9
- package/dist/server/handlers/mcp.js +1 -1
- package/dist/server/handlers/memory.cjs +27 -27
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/observability-new-endpoints.cjs +19 -19
- package/dist/server/handlers/observability-new-endpoints.js +1 -1
- package/dist/server/handlers/observability.cjs +24 -24
- package/dist/server/handlers/observability.js +2 -2
- package/dist/server/handlers/processor-providers.cjs +3 -3
- package/dist/server/handlers/processor-providers.js +1 -1
- package/dist/server/handlers/processors.cjs +4 -4
- package/dist/server/handlers/processors.js +1 -1
- package/dist/server/handlers/prompt-block-versions.cjs +8 -8
- package/dist/server/handlers/prompt-block-versions.js +1 -1
- package/dist/server/handlers/scorer-versions.cjs +8 -8
- package/dist/server/handlers/scorer-versions.js +1 -1
- package/dist/server/handlers/scores.cjs +7 -7
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/stored-agents.cjs +7 -7
- package/dist/server/handlers/stored-agents.js +1 -1
- package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
- package/dist/server/handlers/stored-mcp-clients.js +1 -1
- package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
- package/dist/server/handlers/stored-prompt-blocks.js +1 -1
- package/dist/server/handlers/stored-scorers.cjs +6 -6
- package/dist/server/handlers/stored-scorers.js +1 -1
- package/dist/server/handlers/stored-skills.cjs +7 -7
- package/dist/server/handlers/stored-skills.js +1 -1
- package/dist/server/handlers/stored-workspaces.cjs +6 -6
- package/dist/server/handlers/stored-workspaces.js +1 -1
- package/dist/server/handlers/system.cjs +2 -2
- package/dist/server/handlers/system.js +1 -1
- package/dist/server/handlers/tool-providers.cjs +5 -5
- package/dist/server/handlers/tool-providers.js +1 -1
- package/dist/server/handlers/tools.cjs +6 -6
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/vector.cjs +16 -16
- package/dist/server/handlers/vector.js +1 -1
- package/dist/server/handlers/voice.cjs +8 -8
- package/dist/server/handlers/voice.js +1 -1
- package/dist/server/handlers/workflows.cjs +24 -24
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers/workspace.cjs +26 -26
- package/dist/server/handlers/workspace.js +1 -1
- package/dist/server/handlers.cjs +26 -26
- package/dist/server/handlers.js +13 -13
- package/dist/server/server-adapter/index.cjs +281 -281
- package/dist/server/server-adapter/index.js +34 -34
- package/package.json +6 -6
- package/dist/chunk-EQ5FORA4.js.map +0 -1
- package/dist/chunk-FMQXIXOI.js.map +0 -1
- package/dist/chunk-I7C56OKO.cjs.map +0 -1
- package/dist/chunk-LM6RQBYB.cjs.map +0 -1
- package/dist/chunk-QD6VVPVE.cjs.map +0 -1
- package/dist/chunk-RVLJB7VT.js.map +0 -1
- package/dist/chunk-VXXU2IL3.js.map +0 -1
- package/dist/chunk-WBWSO2XP.cjs.map +0 -1
|
@@ -10,7 +10,7 @@ var processors = require('@mastra/core/processors');
|
|
|
10
10
|
var crypto$1 = require('crypto');
|
|
11
11
|
var async_hooks = require('async_hooks');
|
|
12
12
|
|
|
13
|
-
// ../memory/dist/chunk-
|
|
13
|
+
// ../memory/dist/chunk-5SMKVGJP.js
|
|
14
14
|
|
|
15
15
|
// ../../node_modules/.pnpm/xxhash-wasm@1.1.0/node_modules/xxhash-wasm/esm/xxhash-wasm.js
|
|
16
16
|
var t = new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 48, 8, 96, 3, 127, 127, 127, 1, 127, 96, 3, 127, 127, 127, 0, 96, 2, 127, 127, 0, 96, 1, 127, 1, 127, 96, 3, 127, 127, 126, 1, 126, 96, 3, 126, 127, 127, 1, 126, 96, 2, 127, 126, 0, 96, 1, 127, 1, 126, 3, 11, 10, 0, 0, 2, 1, 3, 4, 5, 6, 1, 7, 5, 3, 1, 0, 1, 7, 85, 9, 3, 109, 101, 109, 2, 0, 5, 120, 120, 104, 51, 50, 0, 0, 6, 105, 110, 105, 116, 51, 50, 0, 2, 8, 117, 112, 100, 97, 116, 101, 51, 50, 0, 3, 8, 100, 105, 103, 101, 115, 116, 51, 50, 0, 4, 5, 120, 120, 104, 54, 52, 0, 5, 6, 105, 110, 105, 116, 54, 52, 0, 7, 8, 117, 112, 100, 97, 116, 101, 54, 52, 0, 8, 8, 100, 105, 103, 101, 115, 116, 54, 52, 0, 9, 10, 251, 22, 10, 242, 1, 1, 4, 127, 32, 0, 32, 1, 106, 33, 3, 32, 1, 65, 16, 79, 4, 127, 32, 3, 65, 16, 107, 33, 6, 32, 2, 65, 168, 136, 141, 161, 2, 106, 33, 3, 32, 2, 65, 137, 235, 208, 208, 7, 107, 33, 4, 32, 2, 65, 207, 140, 162, 142, 6, 106, 33, 5, 3, 64, 32, 3, 32, 0, 40, 2, 0, 65, 247, 148, 175, 175, 120, 108, 106, 65, 13, 119, 65, 177, 243, 221, 241, 121, 108, 33, 3, 32, 4, 32, 0, 65, 4, 106, 34, 0, 40, 2, 0, 65, 247, 148, 175, 175, 120, 108, 106, 65, 13, 119, 65, 177, 243, 221, 241, 121, 108, 33, 4, 32, 2, 32, 0, 65, 4, 106, 34, 0, 40, 2, 0, 65, 247, 148, 175, 175, 120, 108, 106, 65, 13, 119, 65, 177, 243, 221, 241, 121, 108, 33, 2, 32, 5, 32, 0, 65, 4, 106, 34, 0, 40, 2, 0, 65, 247, 148, 175, 175, 120, 108, 106, 65, 13, 119, 65, 177, 243, 221, 241, 121, 108, 33, 5, 32, 6, 32, 0, 65, 4, 106, 34, 0, 79, 13, 0, 11, 32, 2, 65, 12, 119, 32, 5, 65, 18, 119, 106, 32, 4, 65, 7, 119, 106, 32, 3, 65, 1, 119, 106, 5, 32, 2, 65, 177, 207, 217, 178, 1, 106, 11, 32, 1, 106, 32, 0, 32, 1, 65, 15, 113, 16, 1, 11, 146, 1, 0, 32, 1, 32, 2, 106, 33, 2, 3, 64, 32, 1, 65, 4, 106, 32, 2, 75, 69, 4, 64, 32, 0, 32, 1, 40, 2, 0, 65, 189, 220, 202, 149, 124, 108, 106, 65, 17, 119, 65, 175, 214, 211, 190, 2, 108, 33, 0, 32, 1, 65, 4, 106, 33, 1, 12, 1, 11, 11, 3, 64, 32, 1, 32, 2, 79, 69, 4, 64, 32, 0, 32, 1, 45, 0, 0, 65, 177, 207, 217, 178, 1, 108, 106, 65, 11, 119, 65, 177, 243, 221, 241, 121, 108, 33, 0, 32, 1, 65, 1, 106, 33, 1, 12, 1, 11, 11, 32, 0, 32, 0, 65, 15, 118, 115, 65, 247, 148, 175, 175, 120, 108, 34, 0, 65, 13, 118, 32, 0, 115, 65, 189, 220, 202, 149, 124, 108, 34, 0, 65, 16, 118, 32, 0, 115, 11, 63, 0, 32, 0, 65, 8, 106, 32, 1, 65, 168, 136, 141, 161, 2, 106, 54, 2, 0, 32, 0, 65, 12, 106, 32, 1, 65, 137, 235, 208, 208, 7, 107, 54, 2, 0, 32, 0, 65, 16, 106, 32, 1, 54, 2, 0, 32, 0, 65, 20, 106, 32, 1, 65, 207, 140, 162, 142, 6, 106, 54, 2, 0, 11, 195, 4, 1, 6, 127, 32, 1, 32, 2, 106, 33, 6, 32, 0, 65, 24, 106, 33, 4, 32, 0, 65, 40, 106, 40, 2, 0, 33, 3, 32, 0, 32, 0, 40, 2, 0, 32, 2, 106, 54, 2, 0, 32, 0, 65, 4, 106, 34, 5, 32, 5, 40, 2, 0, 32, 2, 65, 16, 79, 32, 0, 40, 2, 0, 65, 16, 79, 114, 114, 54, 2, 0, 32, 2, 32, 3, 106, 65, 16, 73, 4, 64, 32, 3, 32, 4, 106, 32, 1, 32, 2, 252, 10, 0, 0, 32, 0, 65, 40, 106, 32, 2, 32, 3, 106, 54, 2, 0, 15, 11, 32, 3, 4, 64, 32, 3, 32, 4, 106, 32, 1, 65, 16, 32, 3, 107, 34, 2, 252, 10, 0, 0, 32, 0, 65, 8, 106, 34, 3, 32, 3, 40, 2, 0, 32, 4, 40, 2, 0, 65, 247, 148, 175, 175, 120, 108, 106, 65, 13, 119, 65, 177, 243, 221, 241, 121, 108, 54, 2, 0, 32, 0, 65, 12, 106, 34, 3, 32, 3, 40, 2, 0, 32, 4, 65, 4, 106, 40, 2, 0, 65, 247, 148, 175, 175, 120, 108, 106, 65, 13, 119, 65, 177, 243, 221, 241, 121, 108, 54, 2, 0, 32, 0, 65, 16, 106, 34, 3, 32, 3, 40, 2, 0, 32, 4, 65, 8, 106, 40, 2, 0, 65, 247, 148, 175, 175, 120, 108, 106, 65, 13, 119, 65, 177, 243, 221, 241, 121, 108, 54, 2, 0, 32, 0, 65, 20, 106, 34, 3, 32, 3, 40, 2, 0, 32, 4, 65, 12, 106, 40, 2, 0, 65, 247, 148, 175, 175, 120, 108, 106, 65, 13, 119, 65, 177, 243, 221, 241, 121, 108, 54, 2, 0, 32, 0, 65, 40, 106, 65, 0, 54, 2, 0, 32, 1, 32, 2, 106, 33, 1, 11, 32, 1, 32, 6, 65, 16, 107, 77, 4, 64, 32, 6, 65, 16, 107, 33, 8, 32, 0, 65, 8, 106, 40, 2, 0, 33, 2, 32, 0, 65, 12, 106, 40, 2, 0, 33, 3, 32, 0, 65, 16, 106, 40, 2, 0, 33, 5, 32, 0, 65, 20, 106, 40, 2, 0, 33, 7, 3, 64, 32, 2, 32, 1, 40, 2, 0, 65, 247, 148, 175, 175, 120, 108, 106, 65, 13, 119, 65, 177, 243, 221, 241, 121, 108, 33, 2, 32, 3, 32, 1, 65, 4, 106, 34, 1, 40, 2, 0, 65, 247, 148, 175, 175, 120, 108, 106, 65, 13, 119, 65, 177, 243, 221, 241, 121, 108, 33, 3, 32, 5, 32, 1, 65, 4, 106, 34, 1, 40, 2, 0, 65, 247, 148, 175, 175, 120, 108, 106, 65, 13, 119, 65, 177, 243, 221, 241, 121, 108, 33, 5, 32, 7, 32, 1, 65, 4, 106, 34, 1, 40, 2, 0, 65, 247, 148, 175, 175, 120, 108, 106, 65, 13, 119, 65, 177, 243, 221, 241, 121, 108, 33, 7, 32, 8, 32, 1, 65, 4, 106, 34, 1, 79, 13, 0, 11, 32, 0, 65, 8, 106, 32, 2, 54, 2, 0, 32, 0, 65, 12, 106, 32, 3, 54, 2, 0, 32, 0, 65, 16, 106, 32, 5, 54, 2, 0, 32, 0, 65, 20, 106, 32, 7, 54, 2, 0, 11, 32, 1, 32, 6, 73, 4, 64, 32, 4, 32, 1, 32, 6, 32, 1, 107, 34, 1, 252, 10, 0, 0, 32, 0, 65, 40, 106, 32, 1, 54, 2, 0, 11, 11, 97, 1, 1, 127, 32, 0, 65, 16, 106, 40, 2, 0, 33, 1, 32, 0, 65, 4, 106, 40, 2, 0, 4, 127, 32, 1, 65, 12, 119, 32, 0, 65, 20, 106, 40, 2, 0, 65, 18, 119, 106, 32, 0, 65, 12, 106, 40, 2, 0, 65, 7, 119, 106, 32, 0, 65, 8, 106, 40, 2, 0, 65, 1, 119, 106, 5, 32, 1, 65, 177, 207, 217, 178, 1, 106, 11, 32, 0, 40, 2, 0, 106, 32, 0, 65, 24, 106, 32, 0, 65, 40, 106, 40, 2, 0, 16, 1, 11, 255, 3, 2, 3, 126, 1, 127, 32, 0, 32, 1, 106, 33, 6, 32, 1, 65, 32, 79, 4, 126, 32, 6, 65, 32, 107, 33, 6, 32, 2, 66, 214, 235, 130, 238, 234, 253, 137, 245, 224, 0, 124, 33, 3, 32, 2, 66, 177, 169, 172, 193, 173, 184, 212, 166, 61, 125, 33, 4, 32, 2, 66, 249, 234, 208, 208, 231, 201, 161, 228, 225, 0, 124, 33, 5, 3, 64, 32, 3, 32, 0, 41, 3, 0, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 124, 66, 31, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 33, 3, 32, 4, 32, 0, 65, 8, 106, 34, 0, 41, 3, 0, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 124, 66, 31, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 33, 4, 32, 2, 32, 0, 65, 8, 106, 34, 0, 41, 3, 0, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 124, 66, 31, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 33, 2, 32, 5, 32, 0, 65, 8, 106, 34, 0, 41, 3, 0, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 124, 66, 31, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 33, 5, 32, 6, 32, 0, 65, 8, 106, 34, 0, 79, 13, 0, 11, 32, 2, 66, 12, 137, 32, 5, 66, 18, 137, 124, 32, 4, 66, 7, 137, 124, 32, 3, 66, 1, 137, 124, 32, 3, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 66, 31, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 133, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 66, 157, 163, 181, 234, 131, 177, 141, 138, 250, 0, 125, 32, 4, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 66, 31, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 133, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 66, 157, 163, 181, 234, 131, 177, 141, 138, 250, 0, 125, 32, 2, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 66, 31, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 133, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 66, 157, 163, 181, 234, 131, 177, 141, 138, 250, 0, 125, 32, 5, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 66, 31, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 133, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 66, 157, 163, 181, 234, 131, 177, 141, 138, 250, 0, 125, 5, 32, 2, 66, 197, 207, 217, 178, 241, 229, 186, 234, 39, 124, 11, 32, 1, 173, 124, 32, 0, 32, 1, 65, 31, 113, 16, 6, 11, 134, 2, 0, 32, 1, 32, 2, 106, 33, 2, 3, 64, 32, 2, 32, 1, 65, 8, 106, 79, 4, 64, 32, 1, 41, 3, 0, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 66, 31, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 32, 0, 133, 66, 27, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 66, 157, 163, 181, 234, 131, 177, 141, 138, 250, 0, 125, 33, 0, 32, 1, 65, 8, 106, 33, 1, 12, 1, 11, 11, 32, 1, 65, 4, 106, 32, 2, 77, 4, 64, 32, 0, 32, 1, 53, 2, 0, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 133, 66, 23, 137, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 66, 249, 243, 221, 241, 153, 246, 153, 171, 22, 124, 33, 0, 32, 1, 65, 4, 106, 33, 1, 11, 3, 64, 32, 1, 32, 2, 73, 4, 64, 32, 0, 32, 1, 49, 0, 0, 66, 197, 207, 217, 178, 241, 229, 186, 234, 39, 126, 133, 66, 11, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 33, 0, 32, 1, 65, 1, 106, 33, 1, 12, 1, 11, 11, 32, 0, 32, 0, 66, 33, 136, 133, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 34, 0, 32, 0, 66, 29, 136, 133, 66, 249, 243, 221, 241, 153, 246, 153, 171, 22, 126, 34, 0, 32, 0, 66, 32, 136, 133, 11, 77, 0, 32, 0, 65, 8, 106, 32, 1, 66, 214, 235, 130, 238, 234, 253, 137, 245, 224, 0, 124, 55, 3, 0, 32, 0, 65, 16, 106, 32, 1, 66, 177, 169, 172, 193, 173, 184, 212, 166, 61, 125, 55, 3, 0, 32, 0, 65, 24, 106, 32, 1, 55, 3, 0, 32, 0, 65, 32, 106, 32, 1, 66, 249, 234, 208, 208, 231, 201, 161, 228, 225, 0, 124, 55, 3, 0, 11, 244, 4, 2, 3, 127, 4, 126, 32, 1, 32, 2, 106, 33, 5, 32, 0, 65, 40, 106, 33, 4, 32, 0, 65, 200, 0, 106, 40, 2, 0, 33, 3, 32, 0, 32, 0, 41, 3, 0, 32, 2, 173, 124, 55, 3, 0, 32, 2, 32, 3, 106, 65, 32, 73, 4, 64, 32, 3, 32, 4, 106, 32, 1, 32, 2, 252, 10, 0, 0, 32, 0, 65, 200, 0, 106, 32, 2, 32, 3, 106, 54, 2, 0, 15, 11, 32, 3, 4, 64, 32, 3, 32, 4, 106, 32, 1, 65, 32, 32, 3, 107, 34, 2, 252, 10, 0, 0, 32, 0, 65, 8, 106, 34, 3, 32, 3, 41, 3, 0, 32, 4, 41, 3, 0, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 124, 66, 31, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 55, 3, 0, 32, 0, 65, 16, 106, 34, 3, 32, 3, 41, 3, 0, 32, 4, 65, 8, 106, 41, 3, 0, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 124, 66, 31, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 55, 3, 0, 32, 0, 65, 24, 106, 34, 3, 32, 3, 41, 3, 0, 32, 4, 65, 16, 106, 41, 3, 0, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 124, 66, 31, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 55, 3, 0, 32, 0, 65, 32, 106, 34, 3, 32, 3, 41, 3, 0, 32, 4, 65, 24, 106, 41, 3, 0, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 124, 66, 31, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 55, 3, 0, 32, 0, 65, 200, 0, 106, 65, 0, 54, 2, 0, 32, 1, 32, 2, 106, 33, 1, 11, 32, 1, 65, 32, 106, 32, 5, 77, 4, 64, 32, 5, 65, 32, 107, 33, 2, 32, 0, 65, 8, 106, 41, 3, 0, 33, 6, 32, 0, 65, 16, 106, 41, 3, 0, 33, 7, 32, 0, 65, 24, 106, 41, 3, 0, 33, 8, 32, 0, 65, 32, 106, 41, 3, 0, 33, 9, 3, 64, 32, 6, 32, 1, 41, 3, 0, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 124, 66, 31, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 33, 6, 32, 7, 32, 1, 65, 8, 106, 34, 1, 41, 3, 0, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 124, 66, 31, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 33, 7, 32, 8, 32, 1, 65, 8, 106, 34, 1, 41, 3, 0, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 124, 66, 31, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 33, 8, 32, 9, 32, 1, 65, 8, 106, 34, 1, 41, 3, 0, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 124, 66, 31, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 33, 9, 32, 2, 32, 1, 65, 8, 106, 34, 1, 79, 13, 0, 11, 32, 0, 65, 8, 106, 32, 6, 55, 3, 0, 32, 0, 65, 16, 106, 32, 7, 55, 3, 0, 32, 0, 65, 24, 106, 32, 8, 55, 3, 0, 32, 0, 65, 32, 106, 32, 9, 55, 3, 0, 11, 32, 1, 32, 5, 73, 4, 64, 32, 4, 32, 1, 32, 5, 32, 1, 107, 34, 1, 252, 10, 0, 0, 32, 0, 65, 200, 0, 106, 32, 1, 54, 2, 0, 11, 11, 188, 2, 1, 5, 126, 32, 0, 65, 24, 106, 41, 3, 0, 33, 1, 32, 0, 41, 3, 0, 34, 2, 66, 32, 90, 4, 126, 32, 0, 65, 8, 106, 41, 3, 0, 34, 3, 66, 1, 137, 32, 0, 65, 16, 106, 41, 3, 0, 34, 4, 66, 7, 137, 124, 32, 1, 66, 12, 137, 32, 0, 65, 32, 106, 41, 3, 0, 34, 5, 66, 18, 137, 124, 124, 32, 3, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 66, 31, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 133, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 66, 157, 163, 181, 234, 131, 177, 141, 138, 250, 0, 125, 32, 4, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 66, 31, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 133, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 66, 157, 163, 181, 234, 131, 177, 141, 138, 250, 0, 125, 32, 1, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 66, 31, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 133, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 66, 157, 163, 181, 234, 131, 177, 141, 138, 250, 0, 125, 32, 5, 66, 207, 214, 211, 190, 210, 199, 171, 217, 66, 126, 66, 31, 137, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 133, 66, 135, 149, 175, 175, 152, 182, 222, 155, 158, 127, 126, 66, 157, 163, 181, 234, 131, 177, 141, 138, 250, 0, 125, 5, 32, 1, 66, 197, 207, 217, 178, 241, 229, 186, 234, 39, 124, 11, 32, 2, 124, 32, 0, 65, 40, 106, 32, 2, 66, 31, 131, 167, 16, 6, 11]);
|
|
@@ -1041,7 +1041,7 @@ function imageSize(input) {
|
|
|
1041
1041
|
throw new TypeError(`unsupported file type: ${type}`);
|
|
1042
1042
|
}
|
|
1043
1043
|
|
|
1044
|
-
// ../memory/dist/chunk-
|
|
1044
|
+
// ../memory/dist/chunk-5SMKVGJP.js
|
|
1045
1045
|
function formatRelativeTime(date, currentDate) {
|
|
1046
1046
|
const diffMs = currentDate.getTime() - date.getTime();
|
|
1047
1047
|
const diffDays = Math.floor(diffMs / (1e3 * 60 * 60 * 24));
|
|
@@ -1326,6 +1326,18 @@ function createActivationMarker(params) {
|
|
|
1326
1326
|
}
|
|
1327
1327
|
};
|
|
1328
1328
|
}
|
|
1329
|
+
function createThreadUpdateMarker(params) {
|
|
1330
|
+
return {
|
|
1331
|
+
type: "data-om-thread-update",
|
|
1332
|
+
data: {
|
|
1333
|
+
cycleId: params.cycleId,
|
|
1334
|
+
threadId: params.threadId,
|
|
1335
|
+
oldTitle: params.oldTitle,
|
|
1336
|
+
newTitle: params.newTitle,
|
|
1337
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
1338
|
+
}
|
|
1339
|
+
};
|
|
1340
|
+
}
|
|
1329
1341
|
var ENCRYPTED_CONTENT_KEY = "encryptedContent";
|
|
1330
1342
|
var ENCRYPTED_CONTENT_REDACTION_THRESHOLD = 256;
|
|
1331
1343
|
var DEFAULT_OBSERVER_TOOL_RESULT_MAX_TOKENS = 1e4;
|
|
@@ -1633,17 +1645,60 @@ Only add a new observation for a repeated action if the NEW result changes the p
|
|
|
1633
1645
|
ACTIONABLE INSIGHTS:
|
|
1634
1646
|
- What worked well in explanations
|
|
1635
1647
|
- What needs follow-up or clarification
|
|
1636
|
-
- User's stated goals or next steps (note if the user tells you not to do a next step, or asks for something specific, other next steps besides the users request should be marked as "waiting for user", unless the user explicitly says to continue all next steps)
|
|
1637
|
-
|
|
1638
|
-
|
|
1648
|
+
- User's stated goals or next steps (note if the user tells you not to do a next step, or asks for something specific, other next steps besides the users request should be marked as "waiting for user", unless the user explicitly says to continue all next steps)
|
|
1649
|
+
|
|
1650
|
+
COMPLETION TRACKING:
|
|
1651
|
+
Completion observations are not just summaries. They are explicit memory signals to the assistant that a task, question, or subtask has been resolved.
|
|
1652
|
+
Without clear completion markers, the assistant may forget that work is already finished and may repeat, reopen, or continue an already-completed task.
|
|
1653
|
+
|
|
1654
|
+
Use \u2705 to answer: "What exactly is now done?"
|
|
1655
|
+
Choose completion observations that help the assistant know what is finished and should not be reworked unless new information appears.
|
|
1656
|
+
|
|
1657
|
+
Use \u2705 when:
|
|
1658
|
+
- The user explicitly confirms something worked or was answered ("thanks, that fixed it", "got it", "perfect")
|
|
1659
|
+
- The assistant provided a definitive, complete answer to a factual question and the user moved on
|
|
1660
|
+
- A multi-step task reached its stated goal
|
|
1661
|
+
- The user acknowledged receipt of requested information
|
|
1662
|
+
- A concrete subtask, fix, deliverable, or implementation step became complete during ongoing work
|
|
1663
|
+
|
|
1664
|
+
Do NOT use \u2705 when:
|
|
1665
|
+
- The assistant merely responded \u2014 the user might follow up with corrections
|
|
1666
|
+
- The topic is paused but not resolved ("I'll try that later")
|
|
1667
|
+
- The user's reaction is ambiguous
|
|
1668
|
+
|
|
1669
|
+
FORMAT:
|
|
1670
|
+
As a sub-bullet under the related observation group:
|
|
1671
|
+
* \u{1F534} (14:30) User asked how to configure auth middleware
|
|
1672
|
+
* -> Agent explained JWT setup with code example
|
|
1673
|
+
* \u2705 User confirmed auth is working
|
|
1674
|
+
|
|
1675
|
+
Or as a standalone observation when closing out a broader task:
|
|
1676
|
+
* \u2705 (14:45) Auth configuration task completed \u2014 user confirmed middleware is working
|
|
1677
|
+
|
|
1678
|
+
Completion observations should be terse but specific about WHAT was completed.
|
|
1679
|
+
Prefer concrete resolved outcomes over abstract workflow status so the assistant remembers what is already done.`;
|
|
1680
|
+
var OBSERVER_OUTPUT_FORMAT_BASE = buildObserverOutputFormat();
|
|
1681
|
+
function buildObserverOutputFormat(includeThreadTitle = false) {
|
|
1682
|
+
const threadTitleSection = includeThreadTitle ? `
|
|
1683
|
+
<thread-title>
|
|
1684
|
+
A short, noun-phrase title for this conversation (2-5 words). Examples:
|
|
1685
|
+
- "Auth bug fix" \u2014 not "Fixing the auth bug"
|
|
1686
|
+
- "Dark mode toggle" \u2014 not "User wants dark mode toggle added"
|
|
1687
|
+
- "Deployment pipeline setup" \u2014 not "Setting up deployment pipeline for project"
|
|
1688
|
+
Only update when the topic meaningfully changes.
|
|
1689
|
+
</thread-title>` : "";
|
|
1690
|
+
return `Use priority levels:
|
|
1691
|
+
- \u{1F534} High: explicit user facts, preferences, unresolved goals, critical context
|
|
1639
1692
|
- \u{1F7E1} Medium: project details, learned information, tool results
|
|
1640
1693
|
- \u{1F7E2} Low: minor details, uncertain observations
|
|
1694
|
+
- \u2705 Completed: concrete task finished, question answered, issue resolved, goal achieved, or subtask completed in a way that helps the assistant know it is done
|
|
1641
1695
|
|
|
1642
1696
|
Group related observations (like tool sequences) by indenting:
|
|
1643
1697
|
* \u{1F534} (14:33) Agent debugging auth issue
|
|
1644
1698
|
* -> ran git status, found 3 modified files
|
|
1645
1699
|
* -> viewed auth.ts:45-60, found missing null check
|
|
1646
1700
|
* -> applied fix, tests now pass
|
|
1701
|
+
* \u2705 Tests passing, auth issue resolved
|
|
1647
1702
|
|
|
1648
1703
|
Group observations by date, then list each with 24-hour time.
|
|
1649
1704
|
|
|
@@ -1670,7 +1725,8 @@ Hint for the agent's immediate next message. Examples:
|
|
|
1670
1725
|
- "I've updated the navigation model. Let me walk you through the changes..."
|
|
1671
1726
|
- "The assistant should wait for the user to respond before continuing."
|
|
1672
1727
|
- Call the view tool on src/example.ts to continue debugging.
|
|
1673
|
-
</suggested-response
|
|
1728
|
+
</suggested-response>${threadTitleSection}`;
|
|
1729
|
+
}
|
|
1674
1730
|
var OBSERVER_GUIDELINES = `- Be specific enough for the assistant to act on
|
|
1675
1731
|
- Good: "User prefers short, direct answers without lengthy explanations"
|
|
1676
1732
|
- Bad: "User stated a preference" (too vague)
|
|
@@ -1680,12 +1736,21 @@ var OBSERVER_GUIDELINES = `- Be specific enough for the assistant to act on
|
|
|
1680
1736
|
- If the agent calls tools, observe what was called, why, and what was learned
|
|
1681
1737
|
- When observing files with line numbers, include the line number if useful
|
|
1682
1738
|
- If the agent provides a detailed response, observe the contents so it could be repeated
|
|
1683
|
-
- Make sure you start each observation with a priority emoji (\u{1F534}, \u{1F7E1}, \u{1F7E2})
|
|
1684
|
-
-
|
|
1739
|
+
- Make sure you start each observation with a priority emoji (\u{1F534}, \u{1F7E1}, \u{1F7E2}) or a completion marker (\u2705)
|
|
1740
|
+
- Capture the user's words closely \u2014 short/medium messages near-verbatim, long messages summarized with key quotes. User confirmations or explicit resolved outcomes should be \u2705 when they clearly signal something is done; unresolved or critical user facts remain \u{1F534}
|
|
1741
|
+
- Treat \u2705 as a memory signal that tells the assistant something is finished and should not be repeated unless new information changes it
|
|
1742
|
+
- Make completion observations answer "What exactly is now done?"
|
|
1743
|
+
- Prefer concrete resolved outcomes over meta-level workflow or bookkeeping updates
|
|
1744
|
+
- When multiple concrete things were completed, capture the concrete completed work rather than collapsing it into a vague progress summary
|
|
1685
1745
|
- Observe WHAT the agent did and WHAT it means
|
|
1686
1746
|
- If the user provides detailed messages or code snippets, observe all important details`;
|
|
1687
|
-
function buildObserverSystemPrompt(multiThread = false, instruction) {
|
|
1688
|
-
const outputFormat =
|
|
1747
|
+
function buildObserverSystemPrompt(multiThread = false, instruction, includeThreadTitle = false) {
|
|
1748
|
+
const outputFormat = buildObserverOutputFormat(includeThreadTitle);
|
|
1749
|
+
const multiThreadTitleInstruction = includeThreadTitle ? ` Each thread's observations, current-task, suggested-response, and thread-title should be nested inside a <thread id="..."> block within <observations>.` : ` Each thread's observations, current-task, and suggested-response should be nested inside a <thread id="..."> block within <observations>.`;
|
|
1750
|
+
const multiThreadTitleExample = includeThreadTitle ? `
|
|
1751
|
+
<thread-title>Feature X implementation</thread-title>` : "";
|
|
1752
|
+
const multiThreadSecondTitleExample = includeThreadTitle ? `
|
|
1753
|
+
<thread-title>Deployment setup</thread-title>` : "";
|
|
1689
1754
|
if (multiThread) {
|
|
1690
1755
|
return `You are the memory consciousness of an AI assistant. Your observations will be the ONLY information the assistant has about past interactions with this user.
|
|
1691
1756
|
|
|
@@ -1700,7 +1765,13 @@ Process each thread separately and output observations for each thread.
|
|
|
1700
1765
|
|
|
1701
1766
|
=== OUTPUT FORMAT ===
|
|
1702
1767
|
|
|
1703
|
-
Your output MUST use XML tags to structure the response
|
|
1768
|
+
Your output MUST use XML tags to structure the response.${multiThreadTitleInstruction}
|
|
1769
|
+
|
|
1770
|
+
Use this observation format inside each thread block:
|
|
1771
|
+
|
|
1772
|
+
${outputFormat}
|
|
1773
|
+
|
|
1774
|
+
For multi-thread output, wrap each thread's observations like this:
|
|
1704
1775
|
|
|
1705
1776
|
<observations>
|
|
1706
1777
|
<thread id="thread_id_1">
|
|
@@ -1714,7 +1785,7 @@ What the agent is currently working on in this thread
|
|
|
1714
1785
|
|
|
1715
1786
|
<suggested-response>
|
|
1716
1787
|
Hint for the agent's next message in this thread
|
|
1717
|
-
</suggested-response
|
|
1788
|
+
</suggested-response>${multiThreadTitleExample}
|
|
1718
1789
|
</thread>
|
|
1719
1790
|
|
|
1720
1791
|
<thread id="thread_id_2">
|
|
@@ -1727,15 +1798,10 @@ Current task for this thread
|
|
|
1727
1798
|
|
|
1728
1799
|
<suggested-response>
|
|
1729
1800
|
Suggested response for this thread
|
|
1730
|
-
</suggested-response
|
|
1801
|
+
</suggested-response>${multiThreadSecondTitleExample}
|
|
1731
1802
|
</thread>
|
|
1732
1803
|
</observations>
|
|
1733
1804
|
|
|
1734
|
-
Use priority levels:
|
|
1735
|
-
- \u{1F534} High: explicit user facts, preferences, goals achieved, critical context, user messages
|
|
1736
|
-
- \u{1F7E1} Medium: project details, learned information, tool results
|
|
1737
|
-
- \u{1F7E2} Low: minor details, uncertain observations
|
|
1738
|
-
|
|
1739
1805
|
=== GUIDELINES ===
|
|
1740
1806
|
|
|
1741
1807
|
${OBSERVER_GUIDELINES}
|
|
@@ -2015,7 +2081,7 @@ The following messages are from ${threadOrder.length} different conversation thr
|
|
|
2015
2081
|
content
|
|
2016
2082
|
};
|
|
2017
2083
|
}
|
|
2018
|
-
function buildMultiThreadObserverTaskPrompt(existingObservations, threadOrder, priorMetadataByThread, wasTruncated) {
|
|
2084
|
+
function buildMultiThreadObserverTaskPrompt(existingObservations, threadOrder, priorMetadataByThread, wasTruncated, includeThreadTitle) {
|
|
2019
2085
|
let prompt = "";
|
|
2020
2086
|
if (existingObservations) {
|
|
2021
2087
|
prompt += `## Previous Observations
|
|
@@ -2030,7 +2096,8 @@ ${existingObservations}
|
|
|
2030
2096
|
const hasTruncatedObservations = wasTruncated ?? false;
|
|
2031
2097
|
const threadMetadataLines = threadOrder?.map((threadId) => {
|
|
2032
2098
|
const metadata = priorMetadataByThread?.get(threadId);
|
|
2033
|
-
|
|
2099
|
+
const hasRelevantMetadata = metadata?.currentTask || metadata?.suggestedResponse || includeThreadTitle && metadata?.threadTitle;
|
|
2100
|
+
if (!hasRelevantMetadata) {
|
|
2034
2101
|
return "";
|
|
2035
2102
|
}
|
|
2036
2103
|
const lines = [`- thread ${threadId}`];
|
|
@@ -2040,6 +2107,9 @@ ${existingObservations}
|
|
|
2040
2107
|
if (metadata.suggestedResponse) {
|
|
2041
2108
|
lines.push(` - prior suggested-response: ${metadata.suggestedResponse}`);
|
|
2042
2109
|
}
|
|
2110
|
+
if (includeThreadTitle && metadata.threadTitle) {
|
|
2111
|
+
lines.push(` - prior thread-title: ${metadata.threadTitle}`);
|
|
2112
|
+
}
|
|
2043
2113
|
return lines.join("\n");
|
|
2044
2114
|
}).filter(Boolean).join("\n");
|
|
2045
2115
|
if (threadMetadataLines) {
|
|
@@ -2054,7 +2124,8 @@ ${threadMetadataLines}
|
|
|
2054
2124
|
prompt += `The main agent still has full memory context outside this observer window.
|
|
2055
2125
|
`;
|
|
2056
2126
|
}
|
|
2057
|
-
|
|
2127
|
+
const titleHint = includeThreadTitle ? ", and thread-title" : "";
|
|
2128
|
+
prompt += `Use each thread's prior current-task, suggested-response${titleHint} as continuity hints, then update them based on that thread's new messages.
|
|
2058
2129
|
|
|
2059
2130
|
---
|
|
2060
2131
|
|
|
@@ -2063,7 +2134,8 @@ ${threadMetadataLines}
|
|
|
2063
2134
|
prompt += `## Your Task
|
|
2064
2135
|
|
|
2065
2136
|
`;
|
|
2066
|
-
|
|
2137
|
+
const titleInstruction = includeThreadTitle ? ", and thread-title" : "";
|
|
2138
|
+
prompt += `Extract new observations from each thread. Output your observations grouped by thread using <thread id="..."> tags inside your <observations> block. Each thread block should contain that thread's observations, current-task, suggested-response${titleInstruction}.
|
|
2067
2139
|
|
|
2068
2140
|
`;
|
|
2069
2141
|
prompt += `Example output format:
|
|
@@ -2079,6 +2151,8 @@ ${threadMetadataLines}
|
|
|
2079
2151
|
prompt += `<current-task>Working on feature X</current-task>
|
|
2080
2152
|
`;
|
|
2081
2153
|
prompt += `<suggested-response>Continue with the implementation</suggested-response>
|
|
2154
|
+
`;
|
|
2155
|
+
if (includeThreadTitle) prompt += `<thread-title>Feature X implementation</thread-title>
|
|
2082
2156
|
`;
|
|
2083
2157
|
prompt += `</thread>
|
|
2084
2158
|
`;
|
|
@@ -2091,6 +2165,8 @@ ${threadMetadataLines}
|
|
|
2091
2165
|
prompt += `<current-task>Discussing deployment options</current-task>
|
|
2092
2166
|
`;
|
|
2093
2167
|
prompt += `<suggested-response>Explain the deployment process</suggested-response>
|
|
2168
|
+
`;
|
|
2169
|
+
if (includeThreadTitle) prompt += `<thread-title>Deployment setup</thread-title>
|
|
2094
2170
|
`;
|
|
2095
2171
|
prompt += `</thread>
|
|
2096
2172
|
`;
|
|
@@ -2123,11 +2199,18 @@ function parseMultiThreadObserverOutput(output) {
|
|
|
2123
2199
|
suggestedContinuation = suggestedMatch[1].trim();
|
|
2124
2200
|
observations = observations.replace(/<suggested-response>[\s\S]*?<\/suggested-response>/i, "");
|
|
2125
2201
|
}
|
|
2202
|
+
let threadTitle;
|
|
2203
|
+
const threadTitleMatch = threadContent.match(/<thread-title>([\s\S]*?)<\/thread-title>/i);
|
|
2204
|
+
if (threadTitleMatch?.[1]) {
|
|
2205
|
+
threadTitle = threadTitleMatch[1].trim();
|
|
2206
|
+
observations = observations.replace(/<thread-title>[\s\S]*?<\/thread-title>/i, "");
|
|
2207
|
+
}
|
|
2126
2208
|
observations = sanitizeObservationLines(observations.trim());
|
|
2127
2209
|
threads.set(threadId, {
|
|
2128
2210
|
observations,
|
|
2129
2211
|
currentTask,
|
|
2130
2212
|
suggestedContinuation,
|
|
2213
|
+
threadTitle,
|
|
2131
2214
|
rawOutput: threadContent
|
|
2132
2215
|
});
|
|
2133
2216
|
}
|
|
@@ -2156,6 +2239,9 @@ ${existingObservations}
|
|
|
2156
2239
|
if (options?.priorSuggestedResponse) {
|
|
2157
2240
|
priorMetadataLines.push(`- prior suggested-response: ${options.priorSuggestedResponse}`);
|
|
2158
2241
|
}
|
|
2242
|
+
if (options?.includeThreadTitle && options?.priorThreadTitle) {
|
|
2243
|
+
priorMetadataLines.push(`- prior thread-title: ${options.priorThreadTitle}`);
|
|
2244
|
+
}
|
|
2159
2245
|
if (priorMetadataLines.length > 0) {
|
|
2160
2246
|
prompt += `## Prior Thread Metadata
|
|
2161
2247
|
|
|
@@ -2168,7 +2254,8 @@ ${priorMetadataLines.join("\n")}
|
|
|
2168
2254
|
prompt += `The main agent still has full memory context outside this observer window.
|
|
2169
2255
|
`;
|
|
2170
2256
|
}
|
|
2171
|
-
|
|
2257
|
+
const titleHint = options?.includeThreadTitle ? ", and thread-title" : "";
|
|
2258
|
+
prompt += `Use the prior current-task, suggested-response${titleHint} as continuity hints, then update them based on the new messages.
|
|
2172
2259
|
|
|
2173
2260
|
---
|
|
2174
2261
|
|
|
@@ -2178,10 +2265,15 @@ ${priorMetadataLines.join("\n")}
|
|
|
2178
2265
|
|
|
2179
2266
|
`;
|
|
2180
2267
|
prompt += `Extract new observations from the message history above. Do not repeat observations that are already in the previous observations. Add your new observations in the format specified in your instructions.`;
|
|
2268
|
+
if (options?.includeThreadTitle) {
|
|
2269
|
+
prompt += `
|
|
2270
|
+
|
|
2271
|
+
Also output a <thread-title> \u2014 a short noun-phrase label for this conversation (2-5 words). Write it like a file name or PR title: "Auth bug fix", "Memory config refactor", "RAG pipeline setup". Avoid verbs/sentences ("Fixing the auth bug"), filler ("Working on stuff"), and generic labels ("Code review"). Only change it from the prior title if the topic meaningfully shifted.`;
|
|
2272
|
+
}
|
|
2181
2273
|
if (options?.skipContinuationHints) {
|
|
2182
2274
|
prompt += `
|
|
2183
2275
|
|
|
2184
|
-
IMPORTANT: Do NOT include <current-task> or <suggested-response> sections in your output. Only output <observations
|
|
2276
|
+
IMPORTANT: Do NOT include <current-task> or <suggested-response> sections in your output. Only output <observations>${options?.includeThreadTitle ? " and <thread-title>" : ""}.`;
|
|
2185
2277
|
}
|
|
2186
2278
|
return prompt;
|
|
2187
2279
|
}
|
|
@@ -2209,6 +2301,7 @@ function parseObserverOutput(output) {
|
|
|
2209
2301
|
observations,
|
|
2210
2302
|
currentTask: parsed.currentTask || void 0,
|
|
2211
2303
|
suggestedContinuation: parsed.suggestedResponse || void 0,
|
|
2304
|
+
threadTitle: parsed.threadTitle || void 0,
|
|
2212
2305
|
rawOutput: output
|
|
2213
2306
|
};
|
|
2214
2307
|
}
|
|
@@ -2216,7 +2309,8 @@ function parseMemorySectionXml(content) {
|
|
|
2216
2309
|
const result = {
|
|
2217
2310
|
observations: "",
|
|
2218
2311
|
currentTask: "",
|
|
2219
|
-
suggestedResponse: ""
|
|
2312
|
+
suggestedResponse: "",
|
|
2313
|
+
threadTitle: ""
|
|
2220
2314
|
};
|
|
2221
2315
|
const observationsRegex = /^[ \t]*<observations>([\s\S]*?)^[ \t]*<\/observations>/gim;
|
|
2222
2316
|
const observationsMatches = [...content.matchAll(observationsRegex)];
|
|
@@ -2233,6 +2327,10 @@ function parseMemorySectionXml(content) {
|
|
|
2233
2327
|
if (suggestedResponseMatch?.[1]) {
|
|
2234
2328
|
result.suggestedResponse = suggestedResponseMatch[1].trim();
|
|
2235
2329
|
}
|
|
2330
|
+
const threadTitleMatch = content.match(/^[ \t]*<thread-title>([\s\S]*?)<\/thread-title>/im);
|
|
2331
|
+
if (threadTitleMatch?.[1]) {
|
|
2332
|
+
result.threadTitle = threadTitleMatch[1].trim();
|
|
2333
|
+
}
|
|
2236
2334
|
return result;
|
|
2237
2335
|
}
|
|
2238
2336
|
function extractListItemsOnly(content) {
|
|
@@ -2366,6 +2464,8 @@ When consolidating observations:
|
|
|
2366
2464
|
- Preserve and include dates/times when present (temporal context is critical)
|
|
2367
2465
|
- Retain the most relevant timestamps (start times, completion times, significant events)
|
|
2368
2466
|
- Combine related items where it makes sense (e.g., "agent called view tool 5 times on file x")
|
|
2467
|
+
- Preserve \u2705 completion markers \u2014 they are memory signals that tell the assistant what is already resolved and help prevent repeated work
|
|
2468
|
+
- Preserve the concrete resolved outcome captured by \u2705 markers so the assistant knows what exactly is done
|
|
2369
2469
|
- Condense older observations more aggressively, retain more detail for recent ones
|
|
2370
2470
|
|
|
2371
2471
|
CRITICAL: USER ASSERTIONS vs QUESTIONS
|
|
@@ -2446,6 +2546,8 @@ Please re-process with slightly more compression:
|
|
|
2446
2546
|
- Closer to the end, retain more fine details (recent context matters more)
|
|
2447
2547
|
- Memory is getting long - use a more condensed style throughout
|
|
2448
2548
|
- Combine related items more aggressively but do not lose important specific details of names, places, events, and people
|
|
2549
|
+
- Preserve \u2705 completion markers \u2014 they are memory signals that tell the assistant what is already resolved and help prevent repeated work
|
|
2550
|
+
- Preserve the concrete resolved outcome captured by \u2705 markers so the assistant knows what exactly is done
|
|
2449
2551
|
- For example if there is a long nested observation list about repeated tool calls, you can combine those into a single line and observe that the tool was called multiple times for x reason, and finally y outcome happened.
|
|
2450
2552
|
|
|
2451
2553
|
Your current detail level was a 10/10, lets aim for a 8/10 detail level.
|
|
@@ -2460,6 +2562,8 @@ Please re-process with much more aggressive compression:
|
|
|
2460
2562
|
- Closer to the end, retain fine details (recent context matters more)
|
|
2461
2563
|
- Memory is getting very long - use a significantly more condensed style throughout
|
|
2462
2564
|
- Combine related items aggressively but do not lose important specific details of names, places, events, and people
|
|
2565
|
+
- Preserve \u2705 completion markers \u2014 they are memory signals that tell the assistant what is already resolved and help prevent repeated work
|
|
2566
|
+
- Preserve the concrete resolved outcome captured by \u2705 markers so the assistant knows what exactly is done
|
|
2463
2567
|
- For example if there is a long nested observation list about repeated tool calls, you can combine those into a single line and observe that the tool was called multiple times for x reason, and finally y outcome happened.
|
|
2464
2568
|
- Remove redundant information and merge overlapping observations
|
|
2465
2569
|
|
|
@@ -2476,6 +2580,8 @@ Please re-process with maximum compression:
|
|
|
2476
2580
|
- Ruthlessly merge related observations \u2014 if 10 observations are about the same topic, combine into 1-2 lines
|
|
2477
2581
|
- Drop procedural details (tool calls, retries, intermediate steps) \u2014 keep only final outcomes
|
|
2478
2582
|
- Drop observations that are no longer relevant or have been superseded by newer information
|
|
2583
|
+
- Preserve \u2705 completion markers \u2014 they are memory signals that tell the assistant what is already resolved and help prevent repeated work
|
|
2584
|
+
- Preserve the concrete resolved outcome captured by \u2705 markers so the assistant knows what exactly is done
|
|
2479
2585
|
- Preserve: names, dates, decisions, errors, user preferences, and architectural choices
|
|
2480
2586
|
|
|
2481
2587
|
Your current detail level was a 10/10, lets aim for a 4/10 detail level.
|
|
@@ -4452,7 +4558,8 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
|
|
|
4452
4558
|
config.observation?.messageTokens ?? OBSERVATIONAL_MEMORY_DEFAULTS.observation.messageTokens
|
|
4453
4559
|
),
|
|
4454
4560
|
previousObserverTokens: config.observation?.previousObserverTokens ?? 2e3,
|
|
4455
|
-
instruction: config.observation?.instruction
|
|
4561
|
+
instruction: config.observation?.instruction,
|
|
4562
|
+
threadTitle: config.observation?.threadTitle ?? false
|
|
4456
4563
|
};
|
|
4457
4564
|
this.reflectionConfig = {
|
|
4458
4565
|
model: reflectionModel,
|
|
@@ -4678,7 +4785,11 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
|
|
|
4678
4785
|
*/
|
|
4679
4786
|
getObserverAgent() {
|
|
4680
4787
|
if (!this.observerAgent) {
|
|
4681
|
-
const systemPrompt = buildObserverSystemPrompt(
|
|
4788
|
+
const systemPrompt = buildObserverSystemPrompt(
|
|
4789
|
+
false,
|
|
4790
|
+
this.observationConfig.instruction,
|
|
4791
|
+
this.observationConfig.threadTitle
|
|
4792
|
+
);
|
|
4682
4793
|
this.observerAgent = new agent.Agent({
|
|
4683
4794
|
id: "observational-memory-observer",
|
|
4684
4795
|
name: "Observer",
|
|
@@ -5100,7 +5211,7 @@ ${unreflectedContent}` : bufferedReflection;
|
|
|
5100
5211
|
const isImportant = new Array(totalCount);
|
|
5101
5212
|
for (let i = 0; i < totalCount; i++) {
|
|
5102
5213
|
lineTokens[i] = this.tokenCounter.countString(lines[i]);
|
|
5103
|
-
isImportant[i] = lines[i].includes("\u{1F534}");
|
|
5214
|
+
isImportant[i] = lines[i].includes("\u{1F534}") || lines[i].includes("\u2705");
|
|
5104
5215
|
}
|
|
5105
5216
|
const suffixTokens = new Array(totalCount + 1);
|
|
5106
5217
|
suffixTokens[totalCount] = 0;
|
|
@@ -5186,7 +5297,9 @@ ${unreflectedContent}` : bufferedReflection;
|
|
|
5186
5297
|
skipContinuationHints: options?.skipContinuationHints,
|
|
5187
5298
|
priorCurrentTask: options?.priorCurrentTask,
|
|
5188
5299
|
priorSuggestedResponse: options?.priorSuggestedResponse,
|
|
5189
|
-
|
|
5300
|
+
priorThreadTitle: options?.priorThreadTitle,
|
|
5301
|
+
wasTruncated: options?.wasTruncated,
|
|
5302
|
+
includeThreadTitle: this.observationConfig.threadTitle
|
|
5190
5303
|
})
|
|
5191
5304
|
},
|
|
5192
5305
|
buildObserverHistoryMessage(messagesToObserve)
|
|
@@ -5221,6 +5334,7 @@ ${unreflectedContent}` : bufferedReflection;
|
|
|
5221
5334
|
observations: parsed.observations,
|
|
5222
5335
|
currentTask: parsed.currentTask,
|
|
5223
5336
|
suggestedContinuation: parsed.suggestedContinuation,
|
|
5337
|
+
threadTitle: parsed.threadTitle,
|
|
5224
5338
|
usage: usage ? {
|
|
5225
5339
|
inputTokens: usage.inputTokens,
|
|
5226
5340
|
outputTokens: usage.outputTokens,
|
|
@@ -5235,7 +5349,11 @@ ${unreflectedContent}` : bufferedReflection;
|
|
|
5235
5349
|
* plus the total usage for the batch.
|
|
5236
5350
|
*/
|
|
5237
5351
|
async callMultiThreadObserver(existingObservations, messagesByThread, threadOrder, priorMetadataByThread, abortSignal, requestContext, wasTruncated) {
|
|
5238
|
-
const systemPrompt = buildObserverSystemPrompt(
|
|
5352
|
+
const systemPrompt = buildObserverSystemPrompt(
|
|
5353
|
+
true,
|
|
5354
|
+
this.observationConfig.instruction,
|
|
5355
|
+
this.observationConfig.threadTitle
|
|
5356
|
+
);
|
|
5239
5357
|
const agent$1 = new agent.Agent({
|
|
5240
5358
|
id: "multi-thread-observer",
|
|
5241
5359
|
name: "multi-thread-observer",
|
|
@@ -5249,7 +5367,8 @@ ${unreflectedContent}` : bufferedReflection;
|
|
|
5249
5367
|
existingObservations,
|
|
5250
5368
|
threadOrder,
|
|
5251
5369
|
priorMetadataByThread,
|
|
5252
|
-
wasTruncated
|
|
5370
|
+
wasTruncated,
|
|
5371
|
+
this.observationConfig.threadTitle
|
|
5253
5372
|
)
|
|
5254
5373
|
},
|
|
5255
5374
|
buildMultiThreadObserverHistoryMessage(messagesByThread, threadOrder)
|
|
@@ -5291,7 +5410,8 @@ ${unreflectedContent}` : bufferedReflection;
|
|
|
5291
5410
|
results.set(threadId, {
|
|
5292
5411
|
observations: threadResult.observations,
|
|
5293
5412
|
currentTask: threadResult.currentTask,
|
|
5294
|
-
suggestedContinuation: threadResult.suggestedContinuation
|
|
5413
|
+
suggestedContinuation: threadResult.suggestedContinuation,
|
|
5414
|
+
threadTitle: threadResult.threadTitle
|
|
5295
5415
|
});
|
|
5296
5416
|
}
|
|
5297
5417
|
for (const threadId of threadOrder) {
|
|
@@ -6734,6 +6854,7 @@ ${threadClose}`;
|
|
|
6734
6854
|
requestContext,
|
|
6735
6855
|
priorCurrentTask: threadOMMetadata?.currentTask,
|
|
6736
6856
|
priorSuggestedResponse: threadOMMetadata?.suggestedResponse,
|
|
6857
|
+
priorThreadTitle: thread?.title,
|
|
6737
6858
|
wasTruncated
|
|
6738
6859
|
});
|
|
6739
6860
|
const lastObservedAt = this.getMaxMessageTimestamp(messagesToObserve);
|
|
@@ -6764,10 +6885,31 @@ ${threadClose}`;
|
|
|
6764
6885
|
});
|
|
6765
6886
|
await this.storage.updateThread({
|
|
6766
6887
|
id: threadId,
|
|
6767
|
-
title: threadForMetadata.title
|
|
6888
|
+
title: threadForMetadata.title || "",
|
|
6768
6889
|
metadata: newMetadata
|
|
6769
6890
|
});
|
|
6770
6891
|
}
|
|
6892
|
+
if (this.observationConfig.threadTitle && threadForMetadata && result.threadTitle) {
|
|
6893
|
+
const oldTitle = threadForMetadata.title;
|
|
6894
|
+
const newTitle = result.threadTitle;
|
|
6895
|
+
if (newTitle.trim().length >= 3 && newTitle !== oldTitle) {
|
|
6896
|
+
await this.storage.updateThread({
|
|
6897
|
+
id: threadId,
|
|
6898
|
+
title: newTitle,
|
|
6899
|
+
metadata: threadForMetadata.metadata ?? {}
|
|
6900
|
+
});
|
|
6901
|
+
if (writer) {
|
|
6902
|
+
const threadUpdateMarker = createThreadUpdateMarker({
|
|
6903
|
+
cycleId,
|
|
6904
|
+
threadId,
|
|
6905
|
+
oldTitle: oldTitle ?? void 0,
|
|
6906
|
+
newTitle
|
|
6907
|
+
});
|
|
6908
|
+
await writer.custom(threadUpdateMarker).catch(() => {
|
|
6909
|
+
});
|
|
6910
|
+
}
|
|
6911
|
+
}
|
|
6912
|
+
}
|
|
6771
6913
|
await this.storage.updateActiveObservations({
|
|
6772
6914
|
id: record.id,
|
|
6773
6915
|
observations: newObservations,
|
|
@@ -7011,6 +7153,7 @@ ${threadClose}`;
|
|
|
7011
7153
|
requestContext,
|
|
7012
7154
|
priorCurrentTask: threadOMMetadata?.currentTask,
|
|
7013
7155
|
priorSuggestedResponse: threadOMMetadata?.suggestedResponse,
|
|
7156
|
+
priorThreadTitle: thread?.title,
|
|
7014
7157
|
wasTruncated
|
|
7015
7158
|
}
|
|
7016
7159
|
);
|
|
@@ -7018,6 +7161,22 @@ ${threadClose}`;
|
|
|
7018
7161
|
omDebug(`[OM:doAsyncBufferedObservation] empty observations returned, skipping buffer storage`);
|
|
7019
7162
|
return;
|
|
7020
7163
|
}
|
|
7164
|
+
if (this.observationConfig.threadTitle && result.threadTitle) {
|
|
7165
|
+
const newTitle = result.threadTitle;
|
|
7166
|
+
if (newTitle.length >= 3 && newTitle !== thread?.title) {
|
|
7167
|
+
await this.storage.updateThread({ id: threadId, title: newTitle, metadata: thread?.metadata ?? {} });
|
|
7168
|
+
if (writer) {
|
|
7169
|
+
const marker = createThreadUpdateMarker({
|
|
7170
|
+
cycleId,
|
|
7171
|
+
threadId,
|
|
7172
|
+
oldTitle: thread?.title,
|
|
7173
|
+
newTitle
|
|
7174
|
+
});
|
|
7175
|
+
void writer.custom(marker).catch(() => {
|
|
7176
|
+
});
|
|
7177
|
+
}
|
|
7178
|
+
}
|
|
7179
|
+
}
|
|
7021
7180
|
let newObservations;
|
|
7022
7181
|
if (this.scope === "resource") {
|
|
7023
7182
|
newObservations = await this.wrapWithThreadTag(threadId, result.observations);
|
|
@@ -7441,7 +7600,8 @@ ${unreflectedContent}` : freshRecord.bufferedReflection;
|
|
|
7441
7600
|
threadMetadataMap.set(thread.id, {
|
|
7442
7601
|
lastObservedAt: omMetadata?.lastObservedAt,
|
|
7443
7602
|
currentTask: omMetadata?.currentTask,
|
|
7444
|
-
suggestedResponse: omMetadata?.suggestedResponse
|
|
7603
|
+
suggestedResponse: omMetadata?.suggestedResponse,
|
|
7604
|
+
threadTitle: thread.title
|
|
7445
7605
|
});
|
|
7446
7606
|
}
|
|
7447
7607
|
const messagesByThread = /* @__PURE__ */ new Map();
|
|
@@ -7594,10 +7754,11 @@ ${unreflectedContent}` : freshRecord.bufferedReflection;
|
|
|
7594
7754
|
const batchPriorMetadata = /* @__PURE__ */ new Map();
|
|
7595
7755
|
for (const threadId of batch.threadIds) {
|
|
7596
7756
|
const metadata = threadMetadataMap.get(threadId);
|
|
7597
|
-
if (metadata?.currentTask || metadata?.suggestedResponse) {
|
|
7757
|
+
if (metadata?.currentTask || metadata?.suggestedResponse || metadata?.threadTitle) {
|
|
7598
7758
|
batchPriorMetadata.set(threadId, {
|
|
7599
7759
|
currentTask: metadata.currentTask,
|
|
7600
|
-
suggestedResponse: metadata.suggestedResponse
|
|
7760
|
+
suggestedResponse: metadata.suggestedResponse,
|
|
7761
|
+
threadTitle: metadata.threadTitle
|
|
7601
7762
|
});
|
|
7602
7763
|
}
|
|
7603
7764
|
}
|
|
@@ -7655,6 +7816,13 @@ ${unreflectedContent}` : freshRecord.bufferedReflection;
|
|
|
7655
7816
|
);
|
|
7656
7817
|
const thread = await this.storage.getThreadById({ threadId });
|
|
7657
7818
|
if (thread) {
|
|
7819
|
+
let titleForUpdate = thread.title ?? "";
|
|
7820
|
+
if (this.observationConfig.threadTitle && result.threadTitle) {
|
|
7821
|
+
const newTitle = result.threadTitle.trim();
|
|
7822
|
+
if (newTitle.length >= 3 && newTitle !== thread.title) {
|
|
7823
|
+
titleForUpdate = newTitle;
|
|
7824
|
+
}
|
|
7825
|
+
}
|
|
7658
7826
|
const newMetadata = memory.setThreadOMMetadata(thread.metadata, {
|
|
7659
7827
|
lastObservedAt: threadLastObservedAt.toISOString(),
|
|
7660
7828
|
suggestedResponse: result.suggestedContinuation,
|
|
@@ -7663,7 +7831,7 @@ ${unreflectedContent}` : freshRecord.bufferedReflection;
|
|
|
7663
7831
|
});
|
|
7664
7832
|
await this.storage.updateThread({
|
|
7665
7833
|
id: threadId,
|
|
7666
|
-
title:
|
|
7834
|
+
title: titleForUpdate,
|
|
7667
7835
|
metadata: newMetadata
|
|
7668
7836
|
});
|
|
7669
7837
|
}
|
|
@@ -8135,5 +8303,5 @@ exports.getObservationsAsOf = getObservationsAsOf;
|
|
|
8135
8303
|
exports.hasCurrentTaskSection = hasCurrentTaskSection;
|
|
8136
8304
|
exports.optimizeObservationsForContext = optimizeObservationsForContext;
|
|
8137
8305
|
exports.parseObserverOutput = parseObserverOutput;
|
|
8138
|
-
//# sourceMappingURL=chunk-
|
|
8139
|
-
//# sourceMappingURL=chunk-
|
|
8306
|
+
//# sourceMappingURL=chunk-KH7BZQVQ.cjs.map
|
|
8307
|
+
//# sourceMappingURL=chunk-KH7BZQVQ.cjs.map
|