nolo-cli 0.13.0 → 0.14.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.
Files changed (89) hide show
  1. package/{_executeModel-4F7VZR5U.js → _executeModel-KMUDFYY2.js} +27 -28
  2. package/{action-OTOWUMPW.js → action-N3KXFO5V.js} +7 -7
  3. package/{addContentAction-JGBUVR7K.js → addContentAction-4Z762DMR.js} +6 -6
  4. package/{addDialogAgentAction-V6CL2UCF.js → addDialogAgentAction-FALLEKPR.js} +5 -5
  5. package/{agentDeleteCommand-MMRSG6AB.js → agentDeleteCommand-AZDVM4HQ.js} +18 -18
  6. package/{agentEmailCommands-VQENDYL5.js → agentEmailCommands-AP6MX4XN.js} +34 -35
  7. package/{agentListCommands-2PZHIQ3I.js → agentListCommands-OJLOXSKL.js} +19 -19
  8. package/{agentMachineCommands-Q3I3VDWS.js → agentMachineCommands-G4T4GU42.js} +18 -18
  9. package/{agentRecordCommands-RY7CSPPL.js → agentRecordCommands-RNENEXQI.js} +32 -33
  10. package/{agentRunCommand-U76NZ2G6.js → agentRunCommand-2VTOTQWA.js} +33 -35
  11. package/{agentRuntimeLocal-QDJCBXM2.js → agentRuntimeLocal-4CM3VHR3.js} +16 -16
  12. package/{agentSlice-6JAJOU3X.js → agentSlice-BLHSFM3Q.js} +7 -7
  13. package/{authCommand-DMW336GT.js → authCommand-O7SL3WW5.js} +4 -4
  14. package/{chunk-MZHSAPZP.js → chunk-2Q5FTOQA.js} +52 -37
  15. package/{chunk-MG6BVV3T.js → chunk-33K5FKRL.js} +170 -98
  16. package/{chunk-JFANOO7I.js → chunk-3B2LFO6R.js} +6 -3
  17. package/{chunk-WVTBAALN.js → chunk-3FCSMQAC.js} +2 -2
  18. package/{chunk-4LG74DRG.js → chunk-4IJYA27C.js} +1 -1
  19. package/{chunk-O4FOPRCP.js → chunk-4UUJFFMK.js} +1 -1
  20. package/{chunk-CGDQDXKZ.js → chunk-5R73BS7Y.js} +1 -1
  21. package/{chunk-VKG4HXYV.js → chunk-A5V7UEZJ.js} +9 -9
  22. package/{chunk-DPFWKRHG.js → chunk-BHK5ZAW7.js} +2 -2
  23. package/{chunk-UWNSWEEC.js → chunk-BMZRD37B.js} +137 -55
  24. package/{chunk-IVAOVLM7.js → chunk-BOJVWKNA.js} +1 -1
  25. package/{chunk-Y5P3ZRGC.js → chunk-CPGQAMHA.js} +6 -6
  26. package/{chunk-YUMYYXPI.js → chunk-DQUUZXUZ.js} +16 -16
  27. package/{chunk-BTYBYAMP.js → chunk-GGQW6DXG.js} +2 -2
  28. package/{chunk-5V524MHX.js → chunk-HJAMZQFI.js} +14 -13
  29. package/{chunk-WPHL6ALY.js → chunk-JTINRTBT.js} +1 -1
  30. package/{chunk-FSUZIGIG.js → chunk-LVJFD5HS.js} +76 -62
  31. package/{chunk-XHQWJUW4.js → chunk-NJVPXLRY.js} +1 -1
  32. package/{chunk-H5Y2H2N6.js → chunk-OIMX7MM4.js} +1 -1
  33. package/{chunk-QAJWQTLB.js → chunk-ONJIZ7UF.js} +42 -30
  34. package/{chunk-5S4SWV5G.js → chunk-PB2DHBEQ.js} +1 -1
  35. package/{chunk-C3BFP57W.js → chunk-RTHJF57Z.js} +1 -1
  36. package/{chunk-QUHUVG6Y.js → chunk-RZALKBP4.js} +2 -2
  37. package/{chunk-JU7J7EAV.js → chunk-S5UACFUP.js} +56 -4
  38. package/{chunk-ARSC56DC.js → chunk-S6V2Y72C.js} +1 -1
  39. package/{chunk-KGI44L4E.js → chunk-SE4YDESE.js} +7 -7
  40. package/{chunk-QJSTNKJY.js → chunk-T3X232L6.js} +1 -1
  41. package/{chunk-OPM2DE2J.js → chunk-TLNEQI2R.js} +4 -4
  42. package/{chunk-VBSWHE5W.js → chunk-TQCONXQ3.js} +1 -1
  43. package/{chunk-LUKQQJFL.js → chunk-UW3WOIWJ.js} +1 -1
  44. package/{chunk-RWO5DGXI.js → chunk-V6VXDXGY.js} +3 -3
  45. package/{chunk-2BVGERJ2.js → chunk-VFGBWVXO.js} +106 -11
  46. package/{chunk-TA7VKOHU.js → chunk-VQFY3VXW.js} +6 -3
  47. package/{chunk-TQYYGE6G.js → chunk-XBZL4SGS.js} +3 -3
  48. package/{chunk-3MI5LDDU.js → chunk-XIDYAII4.js} +2 -2
  49. package/{createAgentAutomationAction-4NY4JLOK.js → createAgentAutomationAction-RIOI4YZI.js} +13 -13
  50. package/{createDialogAction-I5WUWFJ6.js → createDialogAction-QBHFBWM4.js} +14 -15
  51. package/{createPageAction-HFTIQ7TW.js → createPageAction-GHVLL7YQ.js} +13 -13
  52. package/{dbSlice-J4PUZ6Y5.js → dbSlice-7Q23HSWH.js} +5 -5
  53. package/{deleteFile-M7UNIUOO.js → deleteFile-WPWVZE4B.js} +3 -3
  54. package/{dialogCommands-SVXRJFZS.js → dialogCommands-BQDGLVMO.js} +19 -19
  55. package/{dialogSlice-35LA3ZRG.js → dialogSlice-VNKDTTHR.js} +13 -13
  56. package/{docCreateCommands-Z7RIAYKQ.js → docCreateCommands-K2MPMXYF.js} +18 -18
  57. package/{docDeleteCommands-NEYHUVZF.js → docDeleteCommands-NBAARB77.js} +19 -19
  58. package/{docReadCommands-I4US2SDE.js → docReadCommands-S3MO5RPS.js} +18 -18
  59. package/{docStore-3CP2IO6M.js → docStore-W4KEEPCW.js} +14 -14
  60. package/{docUpdateCommands-UU5HQBRP.js → docUpdateCommands-EHEI7FCE.js} +18 -18
  61. package/fetchMessages-KTNM7QAR.js +1 -1
  62. package/getPricing-UGDJHI7M.js +1 -1
  63. package/{handleSendMessageAction-FWTLQGOZ.js → handleSendMessageAction-6BFLKGWQ.js} +13 -13
  64. package/index.js +42 -42
  65. package/{machineCommands-NGE4ZARV.js → machineCommands-R27VIC5L.js} +33 -34
  66. package/{machineWsRunDispatch-FISQUBI2.js → machineWsRunDispatch-5JH6QGHK.js} +31 -32
  67. package/package.json +1 -1
  68. package/{read-2MIMRBZ2.js → read-SIWMJRHC.js} +3 -3
  69. package/{readDocTool-QHVGQHUJ.js → readDocTool-TCYJY4PP.js} +1 -1
  70. package/{readlineWorkspace-JK6P56TT.js → readlineWorkspace-RJ3TDGEK.js} +169 -57
  71. package/{removeDialogAgentAction-XUZYQBV4.js → removeDialogAgentAction-WKHZT6VJ.js} +7 -7
  72. package/{runAgentClientLoop-FP2K33ZO.js → runAgentClientLoop-6D7FP7CK.js} +24 -25
  73. package/{setDialogExtraReferencesAction-PTAIFKGM.js → setDialogExtraReferencesAction-GCI5QU6E.js} +5 -5
  74. package/{setPrimaryDialogAgentAction-HRFTDB44.js → setPrimaryDialogAgentAction-NRO57AS6.js} +7 -7
  75. package/{settingSlice-VGRJUSE5.js → settingSlice-FTWZ5ZHT.js} +8 -6
  76. package/{spaceCommands-GN73BCOB.js → spaceCommands-4R63UST3.js} +18 -18
  77. package/{spaceSlice-WTFNKOVA.js → spaceSlice-6PZEMRZM.js} +13 -13
  78. package/{streamAgentChatTurn-HBAQQVNK.js → streamAgentChatTurn-VW7433O6.js} +51 -42
  79. package/{tools-TPQYTLQZ.js → tools-MWNK4RKM.js} +18 -19
  80. package/{tuiSummaryLlmCaller-XDC7WG4K.js → tuiSummaryLlmCaller-2D65LKWM.js} +3 -3
  81. package/{updateDialogTitleAction-AWXNPUQJ.js → updateDialogTitleAction-3SKUPJIN.js} +13 -13
  82. package/chunk-HNW7IJSK.js +0 -71
  83. package/chunk-XENYHRUE.js +0 -104
  84. package/understanding-3CUQQ6SV.js +0 -271
  85. package/{chunk-PDL2AV3E.js → chunk-5CS33IBL.js} +3 -3
  86. package/{chunk-TSUJOM6N.js → chunk-DVRHHFEA.js} +3 -3
  87. package/{chunk-TOILAPLH.js → chunk-EHLHSX7R.js} +3 -3
  88. package/{chunk-TYPHUVK5.js → chunk-KTFJUPDW.js} +3 -3
  89. package/{chunk-NCGFB7NN.js → chunk-OIQPORYI.js} +3 -3
@@ -11,62 +11,61 @@ import {
11
11
  toolQueryFunc,
12
12
  toolQueryFunctionSchema,
13
13
  toolRegistry
14
- } from "./chunk-MZHSAPZP.js";
14
+ } from "./chunk-2Q5FTOQA.js";
15
15
  import "./chunk-RQSOAMPJ.js";
16
16
  import "./chunk-OOIN7HSO.js";
17
17
  import "./chunk-KQHGZWSV.js";
18
- import "./chunk-IVAOVLM7.js";
18
+ import "./chunk-BOJVWKNA.js";
19
19
  import "./chunk-3LY4F7SV.js";
20
20
  import "./chunk-VP4WJWKW.js";
21
21
  import "./chunk-63W5N6P3.js";
22
22
  import "./chunk-VF4K2QE6.js";
23
- import "./chunk-TQYYGE6G.js";
24
- import "./chunk-2BVGERJ2.js";
23
+ import "./chunk-XBZL4SGS.js";
24
+ import "./chunk-VFGBWVXO.js";
25
25
  import "./chunk-VC6OZXO5.js";
26
- import "./chunk-FSUZIGIG.js";
26
+ import "./chunk-LVJFD5HS.js";
27
27
  import "./chunk-V2J635L5.js";
28
28
  import "./chunk-MRC4Q34M.js";
29
29
  import "./chunk-MTU75CZ2.js";
30
30
  import "./chunk-CWMSB67P.js";
31
- import "./chunk-Y5P3ZRGC.js";
32
- import "./chunk-RWO5DGXI.js";
31
+ import "./chunk-CPGQAMHA.js";
32
+ import "./chunk-V6VXDXGY.js";
33
33
  import "./chunk-Z4NR32XR.js";
34
34
  import "./chunk-M76ECQRD.js";
35
35
  import "./chunk-WZSRQNQG.js";
36
36
  import "./chunk-B4KT7RN2.js";
37
- import "./chunk-JFANOO7I.js";
37
+ import "./chunk-3B2LFO6R.js";
38
38
  import "./chunk-5MMAK75Q.js";
39
39
  import "./chunk-OGGHETUE.js";
40
- import "./chunk-PDL2AV3E.js";
40
+ import "./chunk-5CS33IBL.js";
41
41
  import "./chunk-JZPBVBIY.js";
42
42
  import "./chunk-BYXBJQAS.js";
43
43
  import "./chunk-5MIDPSSK.js";
44
44
  import "./chunk-DFFIZ25G.js";
45
45
  import "./chunk-3ASDTTEI.js";
46
+ import "./chunk-DWLEOOGR.js";
46
47
  import "./chunk-HNMXYYJR.js";
47
48
  import "./chunk-SOTZ6RDN.js";
48
- import "./chunk-XENYHRUE.js";
49
- import "./chunk-DWLEOOGR.js";
50
49
  import "./chunk-IKXL2HZ3.js";
51
50
  import "./chunk-524BDL33.js";
52
- import "./chunk-DPFWKRHG.js";
53
- import "./chunk-JU7J7EAV.js";
51
+ import "./chunk-BHK5ZAW7.js";
52
+ import "./chunk-S5UACFUP.js";
54
53
  import "./chunk-Y5GCAMGP.js";
55
54
  import "./chunk-KX6YBIHG.js";
56
- import "./chunk-WVTBAALN.js";
57
- import "./chunk-VKG4HXYV.js";
58
- import "./chunk-WPHL6ALY.js";
55
+ import "./chunk-3FCSMQAC.js";
56
+ import "./chunk-A5V7UEZJ.js";
59
57
  import "./chunk-O4BU24WZ.js";
60
58
  import "./chunk-I42VC5KR.js";
61
59
  import "./chunk-WWC7I6TA.js";
60
+ import "./chunk-JTINRTBT.js";
62
61
  import "./chunk-QSJ3HFEF.js";
63
- import "./chunk-XHQWJUW4.js";
64
- import "./chunk-TSUJOM6N.js";
62
+ import "./chunk-NJVPXLRY.js";
63
+ import "./chunk-DVRHHFEA.js";
65
64
  import "./chunk-OOSFSFMA.js";
66
65
  import "./chunk-GBRG75BQ.js";
67
- import "./chunk-KUG52IAP.js";
68
66
  import "./chunk-3EUW3WEO.js";
69
67
  import "./chunk-U6VC4MU4.js";
68
+ import "./chunk-KUG52IAP.js";
70
69
  import "./chunk-LCBAMY2M.js";
71
70
  import "./chunk-4SN6J65J.js";
72
71
  import "./chunk-CF7PE763.js";
@@ -6,9 +6,9 @@ import {
6
6
  canUsePlatformChatProvider,
7
7
  parsePlatformChatCompletionResponse,
8
8
  resolvePlatformChatProviderConfig
9
- } from "./chunk-5S4SWV5G.js";
9
+ } from "./chunk-PB2DHBEQ.js";
10
10
  import "./chunk-3WGLLTK4.js";
11
- import "./chunk-TYPHUVK5.js";
11
+ import "./chunk-KTFJUPDW.js";
12
12
  import "./chunk-5MMAK75Q.js";
13
13
  import "./chunk-OGGHETUE.js";
14
14
  import "./chunk-BYXBJQAS.js";
@@ -16,8 +16,8 @@ import "./chunk-DWLEOOGR.js";
16
16
  import "./chunk-524BDL33.js";
17
17
  import "./chunk-I42VC5KR.js";
18
18
  import "./chunk-QSJ3HFEF.js";
19
- import "./chunk-KUG52IAP.js";
20
19
  import "./chunk-3EUW3WEO.js";
20
+ import "./chunk-KUG52IAP.js";
21
21
  import "./chunk-4SN6J65J.js";
22
22
  import "./chunk-CF7PE763.js";
23
23
  import "./chunk-G3SUCT4W.js";
@@ -6,7 +6,7 @@ import {
6
6
  isAssistantToolStub,
7
7
  selectAllMsgs,
8
8
  updateContentTitle
9
- } from "./chunk-FSUZIGIG.js";
9
+ } from "./chunk-LVJFD5HS.js";
10
10
  import {
11
11
  BUILTIN_TITLE_LLM_CONFIG
12
12
  } from "./chunk-V2J635L5.js";
@@ -15,55 +15,55 @@ import "./chunk-MTU75CZ2.js";
15
15
  import "./chunk-CWMSB67P.js";
16
16
  import {
17
17
  runLlm
18
- } from "./chunk-Y5P3ZRGC.js";
19
- import "./chunk-RWO5DGXI.js";
18
+ } from "./chunk-CPGQAMHA.js";
19
+ import "./chunk-V6VXDXGY.js";
20
20
  import "./chunk-Z4NR32XR.js";
21
21
  import {
22
22
  require_date_fns
23
23
  } from "./chunk-M76ECQRD.js";
24
24
  import {
25
25
  serializeMessageContent
26
- } from "./chunk-JFANOO7I.js";
26
+ } from "./chunk-3B2LFO6R.js";
27
27
  import "./chunk-5MMAK75Q.js";
28
28
  import "./chunk-OGGHETUE.js";
29
- import "./chunk-PDL2AV3E.js";
29
+ import "./chunk-5CS33IBL.js";
30
30
  import "./chunk-JZPBVBIY.js";
31
31
  import "./chunk-BYXBJQAS.js";
32
32
  import {
33
33
  extractCustomId
34
34
  } from "./chunk-DFFIZ25G.js";
35
35
  import "./chunk-3ASDTTEI.js";
36
+ import "./chunk-DWLEOOGR.js";
36
37
  import "./chunk-HNMXYYJR.js";
37
38
  import "./chunk-SOTZ6RDN.js";
38
- import "./chunk-DWLEOOGR.js";
39
39
  import "./chunk-IKXL2HZ3.js";
40
40
  import "./chunk-524BDL33.js";
41
- import "./chunk-JU7J7EAV.js";
41
+ import "./chunk-S5UACFUP.js";
42
42
  import "./chunk-Y5GCAMGP.js";
43
43
  import "./chunk-KX6YBIHG.js";
44
44
  import {
45
45
  normalizeSpaceId
46
- } from "./chunk-WVTBAALN.js";
46
+ } from "./chunk-3FCSMQAC.js";
47
47
  import {
48
48
  patch,
49
49
  selectById
50
- } from "./chunk-VKG4HXYV.js";
51
- import "./chunk-WPHL6ALY.js";
50
+ } from "./chunk-A5V7UEZJ.js";
52
51
  import "./chunk-O4BU24WZ.js";
53
52
  import "./chunk-I42VC5KR.js";
54
53
  import "./chunk-WWC7I6TA.js";
54
+ import "./chunk-JTINRTBT.js";
55
55
  import "./chunk-QSJ3HFEF.js";
56
- import "./chunk-XHQWJUW4.js";
56
+ import "./chunk-NJVPXLRY.js";
57
57
  import {
58
58
  selectIdentityUserId
59
- } from "./chunk-TSUJOM6N.js";
59
+ } from "./chunk-DVRHHFEA.js";
60
60
  import "./chunk-OOSFSFMA.js";
61
61
  import "./chunk-GBRG75BQ.js";
62
- import "./chunk-KUG52IAP.js";
63
62
  import {
64
63
  asTrimmedString
65
64
  } from "./chunk-3EUW3WEO.js";
66
65
  import "./chunk-U6VC4MU4.js";
66
+ import "./chunk-KUG52IAP.js";
67
67
  import "./chunk-LCBAMY2M.js";
68
68
  import "./chunk-4SN6J65J.js";
69
69
  import "./chunk-CF7PE763.js";
package/chunk-HNW7IJSK.js DELETED
@@ -1,71 +0,0 @@
1
- import {
2
- createMemoryKey,
3
- createMemoryOwnerIndexKey,
4
- createMemorySubjectKindIndexKey,
5
- ulid
6
- } from "./chunk-O4BU24WZ.js";
7
-
8
- // packages/ai/memory/storeShared.ts
9
- var createMemoryItem = (input) => {
10
- const now = (/* @__PURE__ */ new Date()).toISOString();
11
- return {
12
- id: ulid(),
13
- createdAt: now,
14
- lastActivatedAt: now,
15
- activationCount: 0,
16
- ...input
17
- };
18
- };
19
- var writeMemoryItemWithIndexesToDb = async (db, item) => {
20
- const batch = db.batch();
21
- batch.put(createMemoryKey(item.ownerType, item.ownerId, item.id), item);
22
- batch.put(
23
- createMemoryOwnerIndexKey(
24
- item.ownerType,
25
- item.ownerId,
26
- item.createdAt,
27
- item.id
28
- ),
29
- {
30
- memoryKey: createMemoryKey(item.ownerType, item.ownerId, item.id),
31
- ownerType: item.ownerType,
32
- ownerId: item.ownerId,
33
- memoryId: item.id
34
- }
35
- );
36
- batch.put(
37
- createMemorySubjectKindIndexKey(
38
- item.subjectType,
39
- item.subjectId,
40
- item.kind,
41
- item.createdAt,
42
- item.id
43
- ),
44
- {
45
- memoryKey: createMemoryKey(item.ownerType, item.ownerId, item.id),
46
- subjectType: item.subjectType,
47
- subjectId: item.subjectId,
48
- kind: item.kind,
49
- memoryId: item.id
50
- }
51
- );
52
- await batch.write();
53
- };
54
- var touchMemoryItemsInDb = async (db, items, now = (/* @__PURE__ */ new Date()).toISOString()) => {
55
- if (items.length === 0) return;
56
- const batch = db.batch();
57
- for (const item of items) {
58
- batch.put(createMemoryKey(item.ownerType, item.ownerId, item.id), {
59
- ...item,
60
- lastActivatedAt: now,
61
- activationCount: (item.activationCount ?? 0) + 1
62
- });
63
- }
64
- await batch.write();
65
- };
66
-
67
- export {
68
- createMemoryItem,
69
- writeMemoryItemWithIndexesToDb,
70
- touchMemoryItemsInDb
71
- };
package/chunk-XENYHRUE.js DELETED
@@ -1,104 +0,0 @@
1
- import {
2
- createMemoryKey,
3
- memoryOwnerRange,
4
- memorySubjectKindRange
5
- } from "./chunk-O4BU24WZ.js";
6
-
7
- // packages/ai/memory/queryShared.ts
8
- var chooseMemoryOwners = (input) => {
9
- const owners = [];
10
- if (input.userId) {
11
- owners.push({ ownerType: "user", ownerId: input.userId });
12
- }
13
- if (input.spaceId) {
14
- owners.push({ ownerType: "space", ownerId: input.spaceId });
15
- }
16
- return owners;
17
- };
18
- var loadOwnerItemsFromDb = async (db, owner, limit) => {
19
- const range = memoryOwnerRange(owner.ownerType, owner.ownerId);
20
- const refs = [];
21
- for await (const [, value] of db.iterator({
22
- gte: range.start,
23
- lte: range.end,
24
- reverse: true
25
- })) {
26
- refs.push(value ?? {});
27
- if (refs.length >= limit) break;
28
- }
29
- const items = await Promise.all(
30
- refs.map(
31
- (ref) => typeof ref?.memoryId === "string" ? db.get(createMemoryKey(owner.ownerType, owner.ownerId, ref.memoryId)).catch(() => null) : Promise.resolve(null)
32
- )
33
- );
34
- return items.filter((item) => !!item);
35
- };
36
- var loadSubjectKindItemsFromDb = async (db, subject, kind, limit) => {
37
- const range = memorySubjectKindRange(subject.subjectType, subject.subjectId, kind);
38
- const refs = [];
39
- for await (const [, value] of db.iterator({
40
- gte: range.start,
41
- lte: range.end,
42
- reverse: true
43
- })) {
44
- refs.push(value ?? {});
45
- if (refs.length >= limit) break;
46
- }
47
- const items = await Promise.all(
48
- refs.map(
49
- (ref) => typeof ref?.memoryKey === "string" ? db.get(ref.memoryKey).catch(() => null) : Promise.resolve(null)
50
- )
51
- );
52
- return items.filter((item) => !!item);
53
- };
54
- var loadMemoryCandidatesFromDb = async (db, input) => {
55
- const kinds = input.kinds ?? ["episodic", "semantic", "procedural"];
56
- const ownerLimit = input.ownerLimit ?? 12;
57
- const ownerFallback = input.ownerFallback ?? "onSubjectMiss";
58
- const ownerKeySet = new Set(
59
- input.owners.filter((owner) => owner.ownerId).map((owner) => `${owner.ownerType}:${owner.ownerId}`)
60
- );
61
- const subjects = input.subjects.filter(
62
- (subject) => !!subject.subjectId
63
- );
64
- const subjectResults = subjects.length > 0 ? await Promise.all(
65
- subjects.flatMap(
66
- (subject) => kinds.map(
67
- (kind) => loadSubjectKindItemsFromDb(db, subject, kind, ownerLimit)
68
- )
69
- )
70
- ) : [];
71
- const subjectHitCount = subjectResults.reduce((sum, items) => sum + items.length, 0);
72
- const shouldLoadOwnerFallback = ownerFallback !== "never" && (subjects.length === 0 || subjectHitCount === 0 || ownerFallback === "always");
73
- const results = shouldLoadOwnerFallback ? await Promise.all(
74
- [
75
- ...subjectResults,
76
- ...input.owners.map((owner) => loadOwnerItemsFromDb(db, owner, ownerLimit))
77
- ]
78
- ) : subjectResults;
79
- const kindSet = new Set(kinds);
80
- const seen = /* @__PURE__ */ new Set();
81
- const merged = [];
82
- for (const items of results) {
83
- for (const item of items) {
84
- if (seen.has(item.id)) continue;
85
- if (!kindSet.has(item.kind)) continue;
86
- if (ownerKeySet.size > 0 && !ownerKeySet.has(`${item.ownerType}:${item.ownerId}`)) {
87
- continue;
88
- }
89
- if (!shouldLoadOwnerFallback && subjects.length > 0 && !subjects.some(
90
- (subject) => subject.subjectType === item.subjectType && subject.subjectId === item.subjectId
91
- )) {
92
- continue;
93
- }
94
- seen.add(item.id);
95
- merged.push(item);
96
- }
97
- }
98
- return merged;
99
- };
100
-
101
- export {
102
- chooseMemoryOwners,
103
- loadMemoryCandidatesFromDb
104
- };
@@ -1,271 +0,0 @@
1
- import {
2
- createMemoryItem,
3
- writeMemoryItemWithIndexesToDb
4
- } from "./chunk-HNW7IJSK.js";
5
- import {
6
- loadMemoryCandidatesFromDb
7
- } from "./chunk-XENYHRUE.js";
8
- import {
9
- compactWhitespace
10
- } from "./chunk-DWLEOOGR.js";
11
- import "./chunk-O4BU24WZ.js";
12
- import "./chunk-I42VC5KR.js";
13
- import "./chunk-WWC7I6TA.js";
14
- import "./chunk-3EUW3WEO.js";
15
- import "./chunk-U6VC4MU4.js";
16
- import "./chunk-G3SUCT4W.js";
17
- import "./chunk-4VNS5WPM.js";
18
-
19
- // packages/ai/memory/scope.ts
20
- var buildUserMemoryTarget = (userId) => ({
21
- ownerType: "user",
22
- ownerId: userId,
23
- visibility: "private",
24
- subjectType: "user",
25
- subjectId: userId
26
- });
27
- var buildSpaceMemoryTarget = (spaceId) => ({
28
- ownerType: "space",
29
- ownerId: spaceId,
30
- visibility: "shared",
31
- subjectType: "space",
32
- subjectId: spaceId
33
- });
34
- var resolveUserOrSpaceMemoryTarget = (input) => {
35
- if (input.userId) return buildUserMemoryTarget(input.userId);
36
- if (input.spaceId) return buildSpaceMemoryTarget(input.spaceId);
37
- return null;
38
- };
39
- var buildAgentSubjectTarget = (target, agentKey) => ({
40
- owner: { ownerType: target.ownerType, ownerId: target.ownerId },
41
- visibility: target.visibility,
42
- subjectType: "agent",
43
- subjectId: agentKey
44
- });
45
-
46
- // packages/ai/memory/understanding.ts
47
- var UNDERSTANDING_TAG = "understanding-memory";
48
- var normalizeClause = (value) => (
49
- // Compact first so trailing whitespace after sentence punct still strips
50
- // (matches pre-seam: compact → strip end punct → trim residual spaces).
51
- compactWhitespace(value.replace(/[“”"]/g, "")).replace(/[。!?!?;;]+$/u, "").trim()
52
- );
53
- var normalizeSignalLead = (value) => normalizeClause(value.split(/[\n,,。!?!?;;]+/u)[0] ?? "");
54
- var stripLead = (value) => value.replace(/^(明白|好的|对|是的|所以|其实|我记得|欢迎回来|嗯|那)\s*[,,::\-]?\s*/u, "").trim();
55
- var contentToText = (content) => {
56
- if (typeof content === "string") return content.trim();
57
- if (!Array.isArray(content)) return "";
58
- return content.map((part) => part?.type === "text" ? part.text.trim() : "").filter(Boolean).join("\n").trim();
59
- };
60
- var extractPreference = (text) => {
61
- const matches = [];
62
- const normalized = stripLead(text);
63
- const moreValue = normalized.match(/[你我](?:更)?在意(.+)/u);
64
- if (moreValue?.[1]) {
65
- matches.push(`\u66F4\u5728\u610F${normalizeSignalLead(moreValue[1])}`);
66
- }
67
- const concern = normalized.match(/[你我](?:更)?关心(.+)/u);
68
- if (concern?.[1]) {
69
- matches.push(`\u66F4\u5173\u5FC3${normalizeSignalLead(concern[1])}`);
70
- }
71
- const fear = normalized.match(/[你我](?:更)?怕(.+)/u);
72
- if (fear?.[1]) {
73
- matches.push(`\u66F4\u6015${normalizeSignalLead(fear[1])}`);
74
- }
75
- const dontWant = normalized.match(/[你我]不想(.+)/u);
76
- if (dontWant?.[1]) {
77
- matches.push(`\u4E0D\u60F3${normalizeSignalLead(dontWant[1])}`);
78
- }
79
- const dontHope = normalized.match(/[你我]不希望(.+)/u);
80
- if (dontHope?.[1]) {
81
- matches.push(`\u4E0D\u5E0C\u671B${normalizeSignalLead(dontHope[1])}`);
82
- }
83
- return matches;
84
- };
85
- var extractStyle = (text) => {
86
- const matches = [];
87
- const normalized = stripLead(text);
88
- const dislike = normalized.match(/[你我]不喜欢(.+)/u);
89
- if (dislike?.[1]) {
90
- matches.push(`\u4E0D\u559C\u6B22${normalizeSignalLead(dislike[1])}`);
91
- }
92
- const prefer = normalized.match(/[你我](?:更)?喜欢(.+)/u);
93
- if (prefer?.[1]) {
94
- matches.push(`\u66F4\u559C\u6B22${normalizeSignalLead(prefer[1])}`);
95
- }
96
- return matches;
97
- };
98
- var extractGoal = (text) => {
99
- const matches = [];
100
- const normalized = stripLead(text);
101
- if (/[??]/u.test(normalized)) {
102
- return matches;
103
- }
104
- const wantFirst = normalized.match(/[你我](?:这次)?(?:更)?想先(?:把)?(.+)/u);
105
- if (wantFirst?.[1]) {
106
- matches.push(`\u60F3\u5148${normalizeSignalLead(wantFirst[1])}`);
107
- }
108
- const shouldFirst = normalized.match(/[你我](?:还是)?想要先(?:把)?(.+)/u);
109
- if (shouldFirst?.[1]) {
110
- matches.push(`\u60F3\u5148${normalizeSignalLead(shouldFirst[1])}`);
111
- }
112
- return matches;
113
- };
114
- var normalizeTensionTail = (tail) => normalizeClause(
115
- tail.replace(/^在/u, "").replace(/^权衡/u, "").replace(/^比较/u, "").split(/[。!?!?;;\n]/u)[0] ?? ""
116
- );
117
- var extractTension = (text) => {
118
- const matches = [];
119
- const normalized = stripLead(text);
120
- const weigh = normalized.match(/[你我]在权衡(.+)/u);
121
- if (weigh?.[1]) {
122
- matches.push(`\u5728\u6743\u8861${normalizeTensionTail(weigh[1])}`);
123
- }
124
- const struggle = normalized.match(/[你我](?:现在)?(?:真正)?纠结(?:的是)?[::,,\s]*(.+)/u);
125
- if (struggle?.[1] && struggle[1].includes("\u8FD8\u662F")) {
126
- matches.push(`\u5728\u6743\u8861${normalizeTensionTail(struggle[1])}`);
127
- }
128
- const stuck = normalized.match(/[你我]卡的点不是.+?而是(.+)/u);
129
- if (stuck?.[1]) {
130
- matches.push(`\u5728\u6743\u8861${normalizeTensionTail(stuck[1])}`);
131
- }
132
- return matches;
133
- };
134
- var extractUnfinished = (text) => {
135
- const matches = [];
136
- const normalized = stripLead(text);
137
- const direct = normalized.match(/[你我](?:还)?(?:没|尚未)决定(.+)/u);
138
- if (direct?.[1]) {
139
- matches.push(`\u8FD8\u6CA1\u51B3\u5B9A${normalizeClause(direct[1])}`);
140
- }
141
- const uncertain = normalized.match(/[你我](?:还)?不确定(.+)/u);
142
- if (uncertain?.[1]) {
143
- matches.push(`\u8FD8\u4E0D\u786E\u5B9A${normalizeClause(uncertain[1])}`);
144
- }
145
- const notReady = normalized.match(/[你我](?:还)?没想好(.+)/u);
146
- if (notReady?.[1]) {
147
- matches.push(`\u8FD8\u6CA1\u60F3\u597D${normalizeClause(notReady[1])}`);
148
- }
149
- return matches;
150
- };
151
- var buildPatternKey = (facet, content) => `understanding:${facet}:${content.toLowerCase()}`;
152
- var buildCandidate = (facet, content) => {
153
- const normalized = normalizeClause(content);
154
- if (!normalized || normalized.length < 6) return null;
155
- const importance = facet === "unfinished" ? 0.91 : facet === "tension" ? 0.89 : facet === "preference" ? 0.84 : facet === "style" ? 0.8 : 0.82;
156
- const confidence = facet === "unfinished" || facet === "tension" ? 0.76 : 0.72;
157
- return {
158
- facet,
159
- content: normalized,
160
- importance,
161
- confidence,
162
- patternKey: buildPatternKey(facet, normalized),
163
- tags: [UNDERSTANDING_TAG, `memory-facet:${facet}`]
164
- };
165
- };
166
- var extractUnderstandingMemoryCandidates = (input) => {
167
- const texts = [
168
- input.userInput,
169
- ...(input.trace ?? []).filter((message) => message.role === "assistant" || message.role === "user").map((message) => contentToText(message.content))
170
- ].map((value) => value.trim()).filter(Boolean);
171
- const candidates = [];
172
- for (const text of texts) {
173
- for (const content of extractPreference(text)) {
174
- const candidate = buildCandidate("preference", content);
175
- if (candidate) candidates.push(candidate);
176
- }
177
- for (const content of extractStyle(text)) {
178
- const candidate = buildCandidate("style", content);
179
- if (candidate) candidates.push(candidate);
180
- }
181
- for (const content of extractGoal(text)) {
182
- const candidate = buildCandidate("goal", content);
183
- if (candidate) candidates.push(candidate);
184
- }
185
- for (const content of extractTension(text)) {
186
- const candidate = buildCandidate("tension", content);
187
- if (candidate) candidates.push(candidate);
188
- }
189
- for (const content of extractUnfinished(text)) {
190
- const candidate = buildCandidate("unfinished", content);
191
- if (candidate) candidates.push(candidate);
192
- }
193
- }
194
- const seen = /* @__PURE__ */ new Set();
195
- return candidates.filter((candidate) => {
196
- const key = `${candidate.facet}:${candidate.content.toLowerCase()}`;
197
- if (seen.has(key)) return false;
198
- seen.add(key);
199
- return true;
200
- });
201
- };
202
- var buildUnderstandingTarget = (input) => {
203
- const target = resolveUserOrSpaceMemoryTarget(input);
204
- return target ? buildAgentSubjectTarget(target, input.agentKey) : null;
205
- };
206
- var sameUnderstanding = (item, candidate, agentKey) => item.subjectType === "agent" && item.subjectId === agentKey && item.patternKey === candidate.patternKey;
207
- var captureUnderstandingMemoryFromDialog = async (input) => {
208
- const target = buildUnderstandingTarget(input);
209
- if (!target) return;
210
- const candidates = extractUnderstandingMemoryCandidates({
211
- userInput: input.userInput,
212
- trace: input.trace
213
- });
214
- if (candidates.length === 0) return;
215
- const existing = await loadMemoryCandidatesFromDb(input.db, {
216
- owners: [target.owner],
217
- subjects: [{ subjectType: target.subjectType, subjectId: target.subjectId }],
218
- kinds: ["episodic", "semantic"],
219
- ownerLimit: 100
220
- });
221
- for (const candidate of candidates) {
222
- const sameItems = existing.filter((item) => sameUnderstanding(item, candidate, input.agentKey));
223
- const existingSemantic = sameItems.find((item) => item.kind === "semantic");
224
- if (existingSemantic) continue;
225
- const existingEpisode = sameItems.find((item) => item.kind === "episodic");
226
- if (existingEpisode && existingEpisode.sourceDialogId && existingEpisode.sourceDialogId !== input.dialogId) {
227
- const semantic = createMemoryItem({
228
- ownerType: target.owner.ownerType,
229
- ownerId: target.owner.ownerId,
230
- visibility: target.visibility,
231
- subjectType: target.subjectType,
232
- subjectId: target.subjectId,
233
- kind: "semantic",
234
- content: candidate.content,
235
- facet: candidate.facet,
236
- importance: Math.min(0.95, candidate.importance + 0.03),
237
- confidence: Math.min(0.86, candidate.confidence + 0.06),
238
- tags: [...candidate.tags, "consolidated-understanding"],
239
- patternKey: candidate.patternKey,
240
- sourceDialogId: input.dialogId
241
- });
242
- await writeMemoryItemWithIndexesToDb(input.db, semantic);
243
- existing.push(semantic);
244
- continue;
245
- }
246
- if (existingEpisode && existingEpisode.sourceDialogId === input.dialogId) {
247
- continue;
248
- }
249
- const episodic = createMemoryItem({
250
- ownerType: target.owner.ownerType,
251
- ownerId: target.owner.ownerId,
252
- visibility: target.visibility,
253
- subjectType: target.subjectType,
254
- subjectId: target.subjectId,
255
- kind: "episodic",
256
- content: candidate.content,
257
- facet: candidate.facet,
258
- importance: candidate.importance,
259
- confidence: candidate.confidence,
260
- tags: candidate.tags,
261
- patternKey: candidate.patternKey,
262
- sourceDialogId: input.dialogId
263
- });
264
- await writeMemoryItemWithIndexesToDb(input.db, episodic);
265
- existing.push(episodic);
266
- }
267
- };
268
- export {
269
- captureUnderstandingMemoryFromDialog,
270
- extractUnderstandingMemoryCandidates
271
- };
@@ -4,15 +4,15 @@ import {
4
4
  import {
5
5
  asNonEmptyStringArray
6
6
  } from "./chunk-I42VC5KR.js";
7
- import {
8
- isRecord
9
- } from "./chunk-KUG52IAP.js";
10
7
  import {
11
8
  asTrimmedString
12
9
  } from "./chunk-3EUW3WEO.js";
13
10
  import {
14
11
  asOptionalPositiveFiniteNumber
15
12
  } from "./chunk-U6VC4MU4.js";
13
+ import {
14
+ isRecord
15
+ } from "./chunk-KUG52IAP.js";
16
16
 
17
17
  // packages/agent-runtime/fileCredentialBroker.ts
18
18
  import {
@@ -3,15 +3,15 @@ import {
3
3
  getIsDesktopApp,
4
4
  isAbortError
5
5
  } from "./chunk-OOSFSFMA.js";
6
- import {
7
- isRecord
8
- } from "./chunk-KUG52IAP.js";
9
6
  import {
10
7
  asTrimmedString
11
8
  } from "./chunk-3EUW3WEO.js";
12
9
  import {
13
10
  asOptionalPositiveFiniteNumber
14
11
  } from "./chunk-U6VC4MU4.js";
12
+ import {
13
+ isRecord
14
+ } from "./chunk-KUG52IAP.js";
15
15
  import {
16
16
  API_ENDPOINTS,
17
17
  SERVERS,
@@ -7,12 +7,12 @@ import {
7
7
  import {
8
8
  asOptionalFiniteNumber
9
9
  } from "./chunk-WWC7I6TA.js";
10
- import {
11
- isRecord
12
- } from "./chunk-KUG52IAP.js";
13
10
  import {
14
11
  asTrimmedString
15
12
  } from "./chunk-3EUW3WEO.js";
13
+ import {
14
+ isRecord
15
+ } from "./chunk-KUG52IAP.js";
16
16
 
17
17
  // packages/cli/oauth/callback-server.ts
18
18
  import { createServer } from "node:http";