@dxos/assistant-toolkit 0.8.4-main.abd8ff62ef → 0.8.4-main.bc2380dfbc

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 (193) hide show
  1. package/LICENSE +102 -5
  2. package/dist/lib/neutral/{add-artifact-BA5WQRDU.mjs → add-artifact-4IVGW6CI.mjs} +4 -4
  3. package/dist/lib/neutral/{add-artifact-BA5WQRDU.mjs.map → add-artifact-4IVGW6CI.mjs.map} +3 -3
  4. package/dist/lib/neutral/{agent-M2EW5M36.mjs → agent-F4L7UXME.mjs} +5 -5
  5. package/dist/lib/neutral/{agent-M2EW5M36.mjs.map → agent-F4L7UXME.mjs.map} +2 -2
  6. package/dist/lib/neutral/{chunk-CLHVRIYF.mjs → chunk-5GPL2WXU.mjs} +35 -36
  7. package/dist/lib/neutral/chunk-5GPL2WXU.mjs.map +7 -0
  8. package/dist/lib/neutral/{chunk-CVUA23QI.mjs → chunk-7UCYAP3T.mjs} +17 -17
  9. package/dist/lib/neutral/chunk-7UCYAP3T.mjs.map +7 -0
  10. package/dist/lib/neutral/{chunk-TO5IX24K.mjs → chunk-ANSF2BHN.mjs} +3 -3
  11. package/dist/lib/neutral/chunk-ANSF2BHN.mjs.map +7 -0
  12. package/dist/lib/neutral/{chunk-D5MG5OKX.mjs → chunk-BCT55UTL.mjs} +2 -2
  13. package/dist/lib/neutral/{chunk-J37DYY7A.mjs → chunk-COL54UJ3.mjs} +12 -3
  14. package/dist/lib/neutral/chunk-COL54UJ3.mjs.map +7 -0
  15. package/dist/lib/neutral/{chunk-E2XRNXWP.mjs → chunk-KS3IA6FQ.mjs} +11 -10
  16. package/dist/lib/neutral/chunk-KS3IA6FQ.mjs.map +7 -0
  17. package/dist/lib/neutral/{chunk-KY2TIPJ5.mjs → chunk-MMQ7HFL4.mjs} +4 -5
  18. package/dist/lib/neutral/chunk-MMQ7HFL4.mjs.map +7 -0
  19. package/dist/lib/neutral/chunk-PLGEBNTO.mjs +65 -0
  20. package/dist/lib/neutral/chunk-PLGEBNTO.mjs.map +7 -0
  21. package/dist/lib/neutral/{chunk-JCYLFOFK.mjs → chunk-W2722TC5.mjs} +5 -5
  22. package/dist/lib/neutral/{chunk-JCYLFOFK.mjs.map → chunk-W2722TC5.mjs.map} +3 -3
  23. package/dist/lib/neutral/{context-add-IIDPRRVB.mjs → context-add-S5MBW2NA.mjs} +4 -4
  24. package/dist/lib/neutral/context-add-S5MBW2NA.mjs.map +7 -0
  25. package/dist/lib/neutral/{context-remove-RDYV4PD4.mjs → context-remove-35O5T5N5.mjs} +4 -4
  26. package/dist/lib/neutral/context-remove-35O5T5N5.mjs.map +7 -0
  27. package/dist/lib/neutral/{create-project-GLDEAWTT.mjs → create-project-3AGXJ4TD.mjs} +5 -5
  28. package/dist/lib/neutral/{enable-blueprints-LBDZH2CY.mjs → enable-blueprints-IVKST3WH.mjs} +4 -4
  29. package/dist/lib/neutral/enable-blueprints-IVKST3WH.mjs.map +7 -0
  30. package/dist/lib/neutral/{fetch-messages-PWGUG5G3.mjs → fetch-messages-QOBBCTGC.mjs} +2 -2
  31. package/dist/lib/neutral/{get-context-B55SX5Y4.mjs → get-context-FBYWIP72.mjs} +4 -4
  32. package/dist/lib/neutral/{get-context-B55SX5Y4.mjs.map → get-context-FBYWIP72.mjs.map} +3 -3
  33. package/dist/lib/neutral/index.mjs +67 -57
  34. package/dist/lib/neutral/index.mjs.map +3 -3
  35. package/dist/lib/neutral/{load-LI7HHVD6.mjs → load-GAT3T2AD.mjs} +2 -2
  36. package/dist/lib/neutral/meta.json +1 -1
  37. package/dist/lib/neutral/{object-create-52Z7YKIA.mjs → object-create-PL3WRP74.mjs} +3 -3
  38. package/dist/lib/neutral/{object-delete-I266YAXI.mjs → object-delete-PZJQN5KW.mjs} +2 -2
  39. package/dist/lib/neutral/{object-update-HY4GI7LA.mjs → object-update-R43N3VJX.mjs} +2 -2
  40. package/dist/lib/neutral/{project-2YBPW5N7.mjs → project-VVXXUMAI.mjs} +4 -4
  41. package/dist/lib/neutral/{project-rules-XUBEPDP6.mjs → project-rules-KSVSOZJV.mjs} +3 -3
  42. package/dist/lib/neutral/{prompt-2WZQERT4.mjs → prompt-INL55Q2B.mjs} +10 -7
  43. package/dist/lib/neutral/{prompt-2WZQERT4.mjs.map → prompt-INL55Q2B.mjs.map} +3 -3
  44. package/dist/lib/neutral/{qualifier-2AC2ICOB.mjs → qualifier-DAF4H7V3.mjs} +11 -11
  45. package/dist/lib/neutral/qualifier-DAF4H7V3.mjs.map +7 -0
  46. package/dist/lib/neutral/{query-B3NOYFCK.mjs → query-MP5NSQKO.mjs} +3 -4
  47. package/dist/lib/neutral/query-MP5NSQKO.mjs.map +7 -0
  48. package/dist/lib/neutral/{query-blueprints-KXADGHSA.mjs → query-blueprints-PLWYVOI3.mjs} +2 -2
  49. package/dist/lib/neutral/{relation-create-Z3NGW4VU.mjs → relation-create-YAAAFTR2.mjs} +3 -3
  50. package/dist/lib/neutral/{relation-delete-LXY7W2YO.mjs → relation-delete-IEPKERFR.mjs} +2 -2
  51. package/dist/lib/neutral/{schema-add-4TXJO2V7.mjs → schema-add-5BNIINRS.mjs} +2 -2
  52. package/dist/lib/neutral/{schema-list-PJS5AFZ3.mjs → schema-list-54UK7S4R.mjs} +2 -2
  53. package/dist/lib/neutral/{sync-issues-LOLHZNFL.mjs → sync-issues-DWY76B3M.mjs} +6 -7
  54. package/dist/lib/neutral/sync-issues-DWY76B3M.mjs.map +7 -0
  55. package/dist/lib/neutral/{sync-triggers-EYJM4QWR.mjs → sync-triggers-NOIQLELD.mjs} +8 -9
  56. package/dist/lib/neutral/{sync-triggers-EYJM4QWR.mjs.map → sync-triggers-NOIQLELD.mjs.map} +3 -3
  57. package/dist/lib/neutral/{tag-add-5NOHUTIE.mjs → tag-add-NLVRGTC6.mjs} +2 -2
  58. package/dist/lib/neutral/{tag-remove-QTKYDJAW.mjs → tag-remove-N4HFBIA2.mjs} +2 -2
  59. package/dist/lib/neutral/testing/index.mjs +3 -3
  60. package/dist/lib/neutral/testing/index.mjs.map +3 -3
  61. package/dist/lib/neutral/{update-blueprints-N2AK2VUR.mjs → update-blueprints-2SNK6HLG.mjs} +2 -2
  62. package/dist/lib/neutral/update-tasks-QQUR53RN.mjs +13 -0
  63. package/dist/lib/neutral/update-tasks-QQUR53RN.mjs.map +7 -0
  64. package/dist/types/src/blueprints/blueprint-manager/functions/definitions.d.ts +10 -8
  65. package/dist/types/src/blueprints/blueprint-manager/functions/definitions.d.ts.map +1 -1
  66. package/dist/types/src/blueprints/blueprint-manager/functions/enable-blueprints.d.ts +6 -5
  67. package/dist/types/src/blueprints/blueprint-manager/functions/enable-blueprints.d.ts.map +1 -1
  68. package/dist/types/src/blueprints/blueprint-manager/functions/query-blueprints.d.ts +4 -3
  69. package/dist/types/src/blueprints/database/functions/context-add.d.ts +2 -2
  70. package/dist/types/src/blueprints/database/functions/context-add.d.ts.map +1 -1
  71. package/dist/types/src/blueprints/database/functions/context-remove.d.ts +2 -2
  72. package/dist/types/src/blueprints/database/functions/context-remove.d.ts.map +1 -1
  73. package/dist/types/src/blueprints/database/functions/definitions.d.ts +3 -3
  74. package/dist/types/src/blueprints/database/functions/definitions.d.ts.map +1 -1
  75. package/dist/types/src/blueprints/database/functions/query.d.ts +1 -2
  76. package/dist/types/src/blueprints/database/functions/query.d.ts.map +1 -1
  77. package/dist/types/src/blueprints/linear/functions/sync-issues.d.ts.map +1 -1
  78. package/dist/types/src/blueprints/planning/functions/index.d.ts +1 -1
  79. package/dist/types/src/blueprints/planning/functions/index.d.ts.map +1 -1
  80. package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts +14 -1
  81. package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts.map +1 -1
  82. package/dist/types/src/blueprints/planning/functions/update-tasks.test.d.ts +2 -0
  83. package/dist/types/src/blueprints/planning/functions/update-tasks.test.d.ts.map +1 -0
  84. package/dist/types/src/blueprints/project/functions/add-artifact.d.ts +1 -5
  85. package/dist/types/src/blueprints/project/functions/add-artifact.d.ts.map +1 -1
  86. package/dist/types/src/blueprints/project/functions/definitions.d.ts +16 -8
  87. package/dist/types/src/blueprints/project/functions/definitions.d.ts.map +1 -1
  88. package/dist/types/src/blueprints/project/functions/get-context.d.ts +1 -12
  89. package/dist/types/src/blueprints/project/functions/get-context.d.ts.map +1 -1
  90. package/dist/types/src/blueprints/project/functions/qualifier.d.ts +8 -4
  91. package/dist/types/src/blueprints/project/functions/qualifier.d.ts.map +1 -1
  92. package/dist/types/src/blueprints/project-wizard/functions/create-project.d.ts +6 -2
  93. package/dist/types/src/blueprints/project-wizard/functions/definitions.d.ts +12 -4
  94. package/dist/types/src/blueprints/project-wizard/functions/definitions.d.ts.map +1 -1
  95. package/dist/types/src/blueprints/project-wizard/functions/sync-triggers.d.ts +6 -2
  96. package/dist/types/src/blueprints/testing.d.ts +4 -4
  97. package/dist/types/src/blueprints/testing.d.ts.map +1 -1
  98. package/dist/types/src/crud/graph.d.ts +5 -7
  99. package/dist/types/src/crud/graph.d.ts.map +1 -1
  100. package/dist/types/src/functions/agent/definitions.d.ts +6 -5
  101. package/dist/types/src/functions/agent/definitions.d.ts.map +1 -1
  102. package/dist/types/src/sync/sync.d.ts +1 -2
  103. package/dist/types/src/sync/sync.d.ts.map +1 -1
  104. package/dist/types/src/types/Agent.d.ts +9 -7
  105. package/dist/types/src/types/Agent.d.ts.map +1 -1
  106. package/dist/types/src/types/McpServer.d.ts +4 -1
  107. package/dist/types/src/types/McpServer.d.ts.map +1 -1
  108. package/dist/types/src/types/Plan.d.ts.map +1 -1
  109. package/dist/types/tsconfig.tsbuildinfo +1 -1
  110. package/package.json +26 -26
  111. package/src/blueprints/automation/blueprint.ts +1 -1
  112. package/src/blueprints/blueprint-manager/blueprint.conversations.json +1 -1
  113. package/src/blueprints/blueprint-manager/blueprint.test.ts +21 -17
  114. package/src/blueprints/blueprint-manager/blueprint.ts +2 -2
  115. package/src/blueprints/blueprint-manager/functions/definitions.ts +2 -2
  116. package/src/blueprints/blueprint-manager/functions/enable-blueprints.ts +2 -2
  117. package/src/blueprints/browser/blueprint.test.ts +3 -3
  118. package/src/blueprints/browser/blueprint.ts +1 -1
  119. package/src/blueprints/database/blueprint.conversations.json +1 -1
  120. package/src/blueprints/database/blueprint.test.ts +6 -6
  121. package/src/blueprints/database/blueprint.ts +1 -1
  122. package/src/blueprints/database/functions/context-add.ts +2 -2
  123. package/src/blueprints/database/functions/context-remove.ts +2 -2
  124. package/src/blueprints/database/functions/definitions.ts +16 -16
  125. package/src/blueprints/database/functions/query.ts +2 -3
  126. package/src/blueprints/discord/blueprint.ts +1 -1
  127. package/src/blueprints/discord/functions/fetch-messages.test.ts +7 -2
  128. package/src/blueprints/linear/blueprint.ts +1 -1
  129. package/src/blueprints/linear/functions/linear.test.ts +1 -2
  130. package/src/blueprints/linear/functions/sync-issues.ts +1 -2
  131. package/src/blueprints/memory/blueprint.conversations.json +1 -1
  132. package/src/blueprints/memory/blueprint.ts +1 -1
  133. package/src/blueprints/planning/blueprint.ts +1 -1
  134. package/src/blueprints/planning/functions/index.ts +1 -1
  135. package/src/blueprints/planning/functions/{definitions.ts → update-tasks.md} +29 -50
  136. package/src/blueprints/planning/functions/update-tasks.test.ts +55 -0
  137. package/src/blueprints/planning/functions/update-tasks.ts +25 -3
  138. package/src/blueprints/project/blueprint.conversations.json +1 -1
  139. package/src/blueprints/project/blueprint.test.ts +15 -17
  140. package/src/blueprints/project/blueprint.ts +2 -2
  141. package/src/blueprints/project/functions/add-artifact.ts +1 -0
  142. package/src/blueprints/project/functions/agent.ts +1 -1
  143. package/src/blueprints/project/functions/definitions.ts +8 -8
  144. package/src/blueprints/project/functions/get-context.ts +1 -0
  145. package/src/blueprints/project/functions/qualifier.ts +5 -5
  146. package/src/blueprints/project-wizard/functions/sync-triggers.ts +4 -9
  147. package/src/blueprints/testing.ts +10 -4
  148. package/src/blueprints/websearch/blueprint.conversations.json +1 -1
  149. package/src/crud/graph.test.ts +1 -1
  150. package/src/crud/graph.ts +125 -127
  151. package/src/functions/agent/definitions.ts +8 -3
  152. package/src/functions/agent/prompt.conversations.json +1 -1
  153. package/src/functions/agent/prompt.test.ts +8 -11
  154. package/src/functions/agent/prompt.ts +5 -2
  155. package/src/sync/sync.ts +1 -2
  156. package/src/types/Agent.ts +28 -29
  157. package/src/types/McpServer.ts +5 -5
  158. package/src/types/Plan.ts +1 -0
  159. package/dist/lib/neutral/chunk-CLHVRIYF.mjs.map +0 -7
  160. package/dist/lib/neutral/chunk-CVUA23QI.mjs.map +0 -7
  161. package/dist/lib/neutral/chunk-E2XRNXWP.mjs.map +0 -7
  162. package/dist/lib/neutral/chunk-J37DYY7A.mjs.map +0 -7
  163. package/dist/lib/neutral/chunk-KY2TIPJ5.mjs.map +0 -7
  164. package/dist/lib/neutral/chunk-MMTKJBB5.mjs +0 -140
  165. package/dist/lib/neutral/chunk-MMTKJBB5.mjs.map +0 -7
  166. package/dist/lib/neutral/chunk-TO5IX24K.mjs.map +0 -7
  167. package/dist/lib/neutral/context-add-IIDPRRVB.mjs.map +0 -7
  168. package/dist/lib/neutral/context-remove-RDYV4PD4.mjs.map +0 -7
  169. package/dist/lib/neutral/enable-blueprints-LBDZH2CY.mjs.map +0 -7
  170. package/dist/lib/neutral/qualifier-2AC2ICOB.mjs.map +0 -7
  171. package/dist/lib/neutral/query-B3NOYFCK.mjs.map +0 -7
  172. package/dist/lib/neutral/sync-issues-LOLHZNFL.mjs.map +0 -7
  173. package/dist/lib/neutral/update-tasks-ML2FCYU5.mjs +0 -46
  174. package/dist/lib/neutral/update-tasks-ML2FCYU5.mjs.map +0 -7
  175. package/dist/types/src/blueprints/planning/functions/definitions.d.ts +0 -11
  176. package/dist/types/src/blueprints/planning/functions/definitions.d.ts.map +0 -1
  177. /package/dist/lib/neutral/{chunk-D5MG5OKX.mjs.map → chunk-BCT55UTL.mjs.map} +0 -0
  178. /package/dist/lib/neutral/{create-project-GLDEAWTT.mjs.map → create-project-3AGXJ4TD.mjs.map} +0 -0
  179. /package/dist/lib/neutral/{fetch-messages-PWGUG5G3.mjs.map → fetch-messages-QOBBCTGC.mjs.map} +0 -0
  180. /package/dist/lib/neutral/{load-LI7HHVD6.mjs.map → load-GAT3T2AD.mjs.map} +0 -0
  181. /package/dist/lib/neutral/{object-create-52Z7YKIA.mjs.map → object-create-PL3WRP74.mjs.map} +0 -0
  182. /package/dist/lib/neutral/{object-delete-I266YAXI.mjs.map → object-delete-PZJQN5KW.mjs.map} +0 -0
  183. /package/dist/lib/neutral/{object-update-HY4GI7LA.mjs.map → object-update-R43N3VJX.mjs.map} +0 -0
  184. /package/dist/lib/neutral/{project-2YBPW5N7.mjs.map → project-VVXXUMAI.mjs.map} +0 -0
  185. /package/dist/lib/neutral/{project-rules-XUBEPDP6.mjs.map → project-rules-KSVSOZJV.mjs.map} +0 -0
  186. /package/dist/lib/neutral/{query-blueprints-KXADGHSA.mjs.map → query-blueprints-PLWYVOI3.mjs.map} +0 -0
  187. /package/dist/lib/neutral/{relation-create-Z3NGW4VU.mjs.map → relation-create-YAAAFTR2.mjs.map} +0 -0
  188. /package/dist/lib/neutral/{relation-delete-LXY7W2YO.mjs.map → relation-delete-IEPKERFR.mjs.map} +0 -0
  189. /package/dist/lib/neutral/{schema-add-4TXJO2V7.mjs.map → schema-add-5BNIINRS.mjs.map} +0 -0
  190. /package/dist/lib/neutral/{schema-list-PJS5AFZ3.mjs.map → schema-list-54UK7S4R.mjs.map} +0 -0
  191. /package/dist/lib/neutral/{tag-add-5NOHUTIE.mjs.map → tag-add-NLVRGTC6.mjs.map} +0 -0
  192. /package/dist/lib/neutral/{tag-remove-QTKYDJAW.mjs.map → tag-remove-N4HFBIA2.mjs.map} +0 -0
  193. /package/dist/lib/neutral/{update-blueprints-N2AK2VUR.mjs.map → update-blueprints-2SNK6HLG.mjs.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AgentPrompt
3
- } from "./chunk-J37DYY7A.mjs";
3
+ } from "./chunk-COL54UJ3.mjs";
4
4
  import {
5
5
  DeleteMemory,
6
6
  QueryMemories,
@@ -10,19 +10,19 @@ import {
10
10
  EnableBlueprints,
11
11
  QueryBlueprints,
12
12
  UpdateBlueprints
13
- } from "./chunk-TO5IX24K.mjs";
13
+ } from "./chunk-ANSF2BHN.mjs";
14
14
  import {
15
15
  AgentRules,
16
16
  CreateAgent,
17
17
  SyncTriggers
18
- } from "./chunk-D5MG5OKX.mjs";
18
+ } from "./chunk-BCT55UTL.mjs";
19
19
  import {
20
20
  SyncIssues,
21
21
  syncObjects
22
- } from "./chunk-KY2TIPJ5.mjs";
22
+ } from "./chunk-MMQ7HFL4.mjs";
23
23
  import {
24
24
  UpdateTasks
25
- } from "./chunk-MMTKJBB5.mjs";
25
+ } from "./chunk-PLGEBNTO.mjs";
26
26
  import {
27
27
  Fetch
28
28
  } from "./chunk-WLR3BGO4.mjs";
@@ -40,25 +40,25 @@ import {
40
40
  SchemaList,
41
41
  TagAdd,
42
42
  TagRemove
43
- } from "./chunk-CVUA23QI.mjs";
43
+ } from "./chunk-7UCYAP3T.mjs";
44
44
  import {
45
45
  FetchMessages
46
46
  } from "./chunk-ZFXLTBZG.mjs";
47
47
  import {
48
48
  AgentBlueprintHandlers,
49
49
  blueprint_default
50
- } from "./chunk-JCYLFOFK.mjs";
50
+ } from "./chunk-W2722TC5.mjs";
51
51
  import {
52
52
  AddArtifact,
53
53
  AgentWorker,
54
54
  GetContext,
55
55
  Qualifier
56
- } from "./chunk-E2XRNXWP.mjs";
56
+ } from "./chunk-KS3IA6FQ.mjs";
57
57
  import {
58
58
  Agent_exports,
59
59
  McpServer_exports,
60
60
  Plan_exports
61
- } from "./chunk-CLHVRIYF.mjs";
61
+ } from "./chunk-5GPL2WXU.mjs";
62
62
  import {
63
63
  Chat_exports
64
64
  } from "./chunk-NR3GTWRC.mjs";
@@ -77,7 +77,7 @@ import { trim } from "@dxos/util";
77
77
 
78
78
  // src/blueprints/discord/functions/index.ts
79
79
  import { OperationHandlerSet } from "@dxos/compute";
80
- var DiscordHandlers = OperationHandlerSet.lazy(() => import("./fetch-messages-PWGUG5G3.mjs"));
80
+ var DiscordHandlers = OperationHandlerSet.lazy(() => import("./fetch-messages-QOBBCTGC.mjs"));
81
81
 
82
82
  // src/blueprints/discord/blueprint.ts
83
83
  var BLUEPRINT_KEY = "org.dxos.blueprint.discord";
@@ -93,7 +93,9 @@ var make = () => Blueprint.make({
93
93
  name: "Discord",
94
94
  description: "Discord integration.",
95
95
  instructions: {
96
- source: Ref.make(Text.make(instructions))
96
+ source: Ref.make(Text.make({
97
+ content: instructions
98
+ }))
97
99
  },
98
100
  tools: Blueprint.toolDefinitions({
99
101
  operations: [
@@ -115,7 +117,7 @@ import { trim as trim2 } from "@dxos/util";
115
117
 
116
118
  // src/blueprints/linear/functions/index.ts
117
119
  import { OperationHandlerSet as OperationHandlerSet2 } from "@dxos/compute";
118
- var LinearHandlers = OperationHandlerSet2.lazy(() => import("./sync-issues-LOLHZNFL.mjs"));
120
+ var LinearHandlers = OperationHandlerSet2.lazy(() => import("./sync-issues-DWY76B3M.mjs"));
119
121
 
120
122
  // src/blueprints/linear/blueprint.ts
121
123
  var BLUEPRINT_KEY2 = "org.dxos.blueprint.linear";
@@ -132,7 +134,9 @@ var make2 = () => Blueprint2.make({
132
134
  name: "Linear",
133
135
  description: "Syncs Linear workspaces.",
134
136
  instructions: {
135
- source: Ref2.make(Text2.make(instructions2))
137
+ source: Ref2.make(Text2.make({
138
+ content: instructions2
139
+ }))
136
140
  },
137
141
  tools: Blueprint2.toolDefinitions({
138
142
  operations: [
@@ -151,14 +155,14 @@ import { Blueprint as Blueprint3 } from "@dxos/compute";
151
155
 
152
156
  // src/blueprints/planning/functions/index.ts
153
157
  import { OperationHandlerSet as OperationHandlerSet3 } from "@dxos/compute";
154
- var PlanningHandlers = OperationHandlerSet3.lazy(() => import("./update-tasks-ML2FCYU5.mjs"));
158
+ var PlanningHandlers = OperationHandlerSet3.lazy(() => import("./update-tasks-QQUR53RN.mjs"));
155
159
 
156
160
  // src/blueprints/planning/blueprint.ts
157
161
  var BLUEPRINT_KEY3 = "org.dxos.blueprint.planning";
158
162
  var make3 = () => Blueprint3.make({
159
163
  key: BLUEPRINT_KEY3,
160
164
  name: "Planning",
161
- description: "Plans and tracks complex tasks with artifact management.",
165
+ description: "Plans and tracks complex tasks using artifacts.",
162
166
  tools: Blueprint3.toolDefinitions({
163
167
  operations: [
164
168
  UpdateTasks
@@ -229,7 +233,9 @@ var make6 = () => Blueprint5.make({
229
233
  description: "Access to a real isolated browser.",
230
234
  agentCanEnable: true,
231
235
  instructions: {
232
- source: Ref4.make(Text4.make(instructions3))
236
+ source: Ref4.make(Text4.make({
237
+ content: instructions3
238
+ }))
233
239
  },
234
240
  mcpServers: [
235
241
  {
@@ -253,7 +259,7 @@ import { trim as trim4 } from "@dxos/util";
253
259
 
254
260
  // src/blueprints/database/functions/index.ts
255
261
  import { OperationHandlerSet as OperationHandlerSet5 } from "@dxos/compute";
256
- var DatabaseHandlers = OperationHandlerSet5.lazy(() => import("./context-add-IIDPRRVB.mjs"), () => import("./context-remove-RDYV4PD4.mjs"), () => import("./load-LI7HHVD6.mjs"), () => import("./object-create-52Z7YKIA.mjs"), () => import("./object-delete-I266YAXI.mjs"), () => import("./object-update-HY4GI7LA.mjs"), () => import("./query-B3NOYFCK.mjs"), () => import("./relation-create-Z3NGW4VU.mjs"), () => import("./relation-delete-LXY7W2YO.mjs"), () => import("./schema-add-4TXJO2V7.mjs"), () => import("./schema-list-PJS5AFZ3.mjs"), () => import("./tag-add-5NOHUTIE.mjs"), () => import("./tag-remove-QTKYDJAW.mjs"));
262
+ var DatabaseHandlers = OperationHandlerSet5.lazy(() => import("./context-add-S5MBW2NA.mjs"), () => import("./context-remove-35O5T5N5.mjs"), () => import("./load-GAT3T2AD.mjs"), () => import("./object-create-PL3WRP74.mjs"), () => import("./object-delete-PZJQN5KW.mjs"), () => import("./object-update-R43N3VJX.mjs"), () => import("./query-MP5NSQKO.mjs"), () => import("./relation-create-YAAAFTR2.mjs"), () => import("./relation-delete-IEPKERFR.mjs"), () => import("./schema-add-5BNIINRS.mjs"), () => import("./schema-list-54UK7S4R.mjs"), () => import("./tag-add-NLVRGTC6.mjs"), () => import("./tag-remove-N4HFBIA2.mjs"));
257
263
 
258
264
  // src/blueprints/database/blueprint.ts
259
265
  var BLUEPRINT_KEY6 = "org.dxos.blueprint.database";
@@ -267,7 +273,9 @@ var make7 = () => Blueprint6.make({
267
273
  description: "Query and manipulate objects in the ECHO database.",
268
274
  agentCanEnable: true,
269
275
  instructions: {
270
- source: Ref5.make(Text5.make(instructions4))
276
+ source: Ref5.make(Text5.make({
277
+ content: instructions4
278
+ }))
271
279
  },
272
280
  tools: Blueprint6.toolDefinitions({
273
281
  operations: [
@@ -320,7 +328,9 @@ var make8 = () => Blueprint7.make({
320
328
  description: "Persistent memory storage and retrieval.",
321
329
  agentCanEnable: true,
322
330
  instructions: {
323
- source: Ref6.make(Text6.make(instructions5))
331
+ source: Ref6.make(Text6.make({
332
+ content: instructions5
333
+ }))
324
334
  },
325
335
  tools: Blueprint7.toolDefinitions({
326
336
  operations: [
@@ -424,7 +434,9 @@ var make9 = () => Blueprint8.make({
424
434
  name: "Triggers",
425
435
  description: "Trigger management and automation.",
426
436
  instructions: {
427
- source: Ref7.make(Text7.make(instructions6))
437
+ source: Ref7.make(Text7.make({
438
+ content: instructions6
439
+ }))
428
440
  }
429
441
  });
430
442
  var blueprint8 = {
@@ -439,7 +451,7 @@ import { trim as trim7 } from "@dxos/util";
439
451
 
440
452
  // src/blueprints/blueprint-manager/functions/index.ts
441
453
  import { OperationHandlerSet as OperationHandlerSet7 } from "@dxos/compute";
442
- var BlueprintManagerHandlers = OperationHandlerSet7.lazy(() => import("./query-blueprints-KXADGHSA.mjs"), () => import("./enable-blueprints-LBDZH2CY.mjs"), () => import("./update-blueprints-N2AK2VUR.mjs"));
454
+ var BlueprintManagerHandlers = OperationHandlerSet7.lazy(() => import("./query-blueprints-PLWYVOI3.mjs"), () => import("./enable-blueprints-IVKST3WH.mjs"), () => import("./update-blueprints-2SNK6HLG.mjs"));
443
455
 
444
456
  // src/blueprints/blueprint-manager/blueprint.ts
445
457
  var BLUEPRINT_KEY9 = "org.dxos.blueprint.blueprint-manager";
@@ -466,8 +478,8 @@ var make10 = () => Blueprint9.make({
466
478
  inputs: [
467
479
  {
468
480
  name: "blueprints",
469
- kind: "function",
470
- function: QueryBlueprints.meta.key
481
+ kind: "operation",
482
+ operation: QueryBlueprints.meta.key
471
483
  }
472
484
  ]
473
485
  }),
@@ -491,7 +503,7 @@ import { trim as trim8 } from "@dxos/util";
491
503
 
492
504
  // src/blueprints/project-wizard/functions/index.ts
493
505
  import { OperationHandlerSet as OperationHandlerSet8 } from "@dxos/compute";
494
- var AgentWizardHandlers = OperationHandlerSet8.lazy(() => import("./create-project-GLDEAWTT.mjs"), () => import("./project-rules-XUBEPDP6.mjs"), () => import("./sync-triggers-EYJM4QWR.mjs"));
506
+ var AgentWizardHandlers = OperationHandlerSet8.lazy(() => import("./create-project-3AGXJ4TD.mjs"), () => import("./project-rules-KSVSOZJV.mjs"), () => import("./sync-triggers-NOIQLELD.mjs"));
495
507
 
496
508
  // src/blueprints/project-wizard/blueprint.ts
497
509
  var BLUEPRINT_KEY10 = "org.dxos.blueprint.agent-wizard";
@@ -545,16 +557,14 @@ import * as Function from "effect/Function";
545
557
  import * as Option from "effect/Option";
546
558
  import * as Schema from "effect/Schema";
547
559
  import * as SchemaAST from "effect/SchemaAST";
548
- import { Entity, Filter, Obj, Query as Query2, Type } from "@dxos/echo";
549
- import { Database } from "@dxos/echo";
560
+ import { Database, Entity, Feed, Filter, Obj, Query as Query2, Type } from "@dxos/echo";
550
561
  import { isEncodedReference } from "@dxos/echo-protocol";
551
562
  import { ReferenceAnnotationId, RelationSourceDXNId, RelationSourceId, RelationTargetDXNId, RelationTargetId, createObject, getTypeAnnotation, getTypeIdentifierAnnotation } from "@dxos/echo/internal";
552
563
  import { mapAst } from "@dxos/effect";
553
- import { ContextQueueService } from "@dxos/functions";
554
564
  import { DXN, ObjectId } from "@dxos/keys";
555
565
  import { log } from "@dxos/log";
556
566
  import { deepMapValues, isNonNullable, trim as trim9 } from "@dxos/util";
557
- var __dxlog_file = "/__w/dxos/dxos/packages/core/assistant-toolkit/src/crud/graph.ts";
567
+ var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/crud/graph.ts";
558
568
  var Subgraph = Schema.Struct({
559
569
  /** Objects and relations. */
560
570
  objects: Schema.Array(Schema.Any)
@@ -565,13 +575,13 @@ var findRelatedSchema = async (db, anchor) => {
565
575
  if (getTypeAnnotation(schema)?.kind !== Entity.Kind.Relation) {
566
576
  return false;
567
577
  }
568
- return isSchemaAddressableByDxn(anchor, DXN.parse(getTypeAnnotation(schema).sourceSchema)) || isSchemaAddressableByDxn(anchor, DXN.parse(getTypeAnnotation(schema).targetSchema));
578
+ return isSchemaAddressableByDXN(anchor, DXN.parse(getTypeAnnotation(schema).sourceSchema)) || isSchemaAddressableByDXN(anchor, DXN.parse(getTypeAnnotation(schema).targetSchema));
569
579
  }).map((schema) => ({
570
580
  kind: "relation",
571
581
  schema
572
582
  }));
573
583
  };
574
- var isSchemaAddressableByDxn = (schema, dxn) => {
584
+ var isSchemaAddressableByDXN = (schema, dxn) => {
575
585
  if (getTypeIdentifierAnnotation(schema) === dxn.toString()) {
576
586
  return true;
577
587
  }
@@ -591,7 +601,8 @@ var LocalSearchToolkit = Toolkit2.make(Tool.make("search_local_search", {
591
601
  success: Schema.Unknown,
592
602
  failure: Schema.Never,
593
603
  dependencies: [
594
- Database.Service
604
+ Database.Service,
605
+ Feed.FeedService
595
606
  ]
596
607
  }));
597
608
  var LocalSearchHandler = LocalSearchToolkit.toLayer({
@@ -602,10 +613,10 @@ var LocalSearchHandler = LocalSearchToolkit.toLayer({
602
613
  const results = [
603
614
  ...objects
604
615
  ];
605
- const option = yield* Effect.serviceOption(ContextQueueService);
606
- if (Option.isSome(option)) {
607
- const queueObjects = yield* Effect.promise(() => option.value.queue.queryObjects());
608
- results.push(...queueObjects);
616
+ const feedOption = yield* Effect.serviceOption(Feed.ContextFeedService);
617
+ if (Option.isSome(feedOption)) {
618
+ const feedObjects = yield* Feed.runQuery(feedOption.value.feed, Filter.everything());
619
+ results.push(...feedObjects);
609
620
  }
610
621
  return trim9`
611
622
  <local_context>
@@ -624,7 +635,8 @@ var makeGraphWriterToolkit = ({ schema }) => {
624
635
  failure: Schema.Never,
625
636
  dependencies: [
626
637
  Database.Service,
627
- ContextQueueService
638
+ Feed.ContextFeedService,
639
+ Feed.FeedService
628
640
  ]
629
641
  }).annotateContext(Context.make(GraphWriterSchema, {
630
642
  schema
@@ -635,9 +647,9 @@ var makeGraphWriterHandler = (toolkit, { onAppend } = {}) => {
635
647
  return toolkit.toLayer({
636
648
  graph_writer: Effect.fn(function* (input) {
637
649
  const { db } = yield* Database.Service;
638
- const { queue } = yield* ContextQueueService;
639
- const data = yield* Effect.promise(() => sanitizeObjects(schema, input, db, queue));
640
- yield* Effect.promise(() => queue.append(data));
650
+ const { feed } = yield* Feed.ContextFeedService;
651
+ const data = yield* sanitizeObjects(schema, input, db, feed);
652
+ yield* Feed.append(feed, data);
641
653
  const dxns = data.map((obj) => Obj.getDXN(obj));
642
654
  onAppend?.(dxns);
643
655
  return dxns;
@@ -657,7 +669,7 @@ var createExtractionSchema = (types) => {
657
669
  var getSanitizedSchemaName = (schema) => {
658
670
  return Type.getDXN(schema).asTypeDXN().type.replaceAll(/[^a-zA-Z0-9]+/g, "_");
659
671
  };
660
- var sanitizeObjects = async (types, data, db, queue) => {
672
+ var sanitizeObjects = (types, data, db, feed) => Effect.gen(function* () {
661
673
  const entries = types.map((type) => data[`objects_${getSanitizedSchemaName(type)}`]?.map((object) => ({
662
674
  data: object,
663
675
  schema: type
@@ -701,41 +713,39 @@ var sanitizeObjects = async (types, data, db, queue) => {
701
713
  return recurse(value);
702
714
  });
703
715
  if (Entity.getKind(entry.schema) === "relation") {
704
- const sourceDxn = resolveId(data2.source);
705
- if (!sourceDxn) {
716
+ const sourceDXN = resolveId(data2.source);
717
+ if (!sourceDXN) {
706
718
  log.warn("source not found", {
707
719
  source: data2.source
708
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 193, S: void 0 });
720
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 193, S: this });
709
721
  }
710
- const targetDxn = resolveId(data2.target);
711
- if (!targetDxn) {
722
+ const targetDXN = resolveId(data2.target);
723
+ if (!targetDXN) {
712
724
  log.warn("target not found", {
713
725
  target: data2.target
714
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 199, S: void 0 });
726
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 199, S: this });
715
727
  }
716
728
  delete data2.source;
717
729
  delete data2.target;
718
- data2[RelationSourceDXNId] = sourceDxn;
719
- data2[RelationTargetDXNId] = targetDxn;
730
+ data2[RelationSourceDXNId] = sourceDXN;
731
+ data2[RelationTargetDXNId] = targetDXN;
720
732
  }
721
733
  return {
722
734
  data: data2,
723
735
  schema: entry.schema
724
736
  };
725
737
  }).filter((object) => !existingIds.has(object.data.id));
726
- const dbObjects = await db.query(Query2.select(Filter.id(...existingIds))).run();
727
- const queueObjects = await queue?.getObjectsById([
728
- ...existingIds
729
- ]) ?? [];
738
+ const dbObjects = yield* Effect.promise(() => db.query(Query2.select(Filter.id(...existingIds))).run());
739
+ const feedObjects = feed && existingIds.size > 0 ? yield* Feed.runQuery(feed, Filter.id(...existingIds)) : [];
730
740
  const objects = [
731
741
  ...dbObjects,
732
- ...queueObjects
742
+ ...feedObjects
733
743
  ].filter(isNonNullable);
734
744
  log.info("objects", {
735
745
  dbObjects,
736
- queueObjects,
746
+ feedObjects,
737
747
  existingIds
738
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 223, S: void 0 });
748
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 221, S: this });
739
749
  const missing = Array.from(existingIds).filter((id) => !objects.some((object) => object.id === id));
740
750
  if (missing.length > 0) {
741
751
  throw new Error(`Object IDs do not point to existing objects: ${missing.join(", ")}`);
@@ -771,7 +781,7 @@ var sanitizeObjects = async (types, data, db, queue) => {
771
781
  }
772
782
  return [];
773
783
  });
774
- };
784
+ });
775
785
  var SoftRef = Schema.Struct({
776
786
  "/": Schema.String
777
787
  }).annotations({
@@ -805,7 +815,7 @@ var preprocessSchema = (schema) => {
805
815
 
806
816
  // src/functions/agent/index.ts
807
817
  import { OperationHandlerSet as OperationHandlerSet9 } from "@dxos/compute";
808
- var AgentHandlers = OperationHandlerSet9.lazy(() => import("./prompt-2WZQERT4.mjs"));
818
+ var AgentHandlers = OperationHandlerSet9.lazy(() => import("./prompt-INL55Q2B.mjs"));
809
819
 
810
820
  // src/toolkits/WebToolkit.ts
811
821
  var WebToolkit_exports = {};
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/blueprints/discord/blueprint.ts", "../../../src/blueprints/discord/functions/index.ts", "../../../src/blueprints/linear/blueprint.ts", "../../../src/blueprints/linear/functions/index.ts", "../../../src/blueprints/planning/blueprint.ts", "../../../src/blueprints/planning/functions/index.ts", "../../../src/blueprints/websearch/blueprint.ts", "../../../src/blueprints/websearch/functions/index.ts", "../../../src/blueprints/websearch/toolkit.ts", "../../../src/blueprints/browser/blueprint.ts", "../../../src/blueprints/database/blueprint.ts", "../../../src/blueprints/database/functions/index.ts", "../../../src/blueprints/memory/blueprint.ts", "../../../src/blueprints/memory/functions/index.ts", "../../../src/blueprints/automation/blueprint.ts", "../../../src/blueprints/blueprint-manager/blueprint.ts", "../../../src/blueprints/blueprint-manager/functions/index.ts", "../../../src/blueprints/project-wizard/blueprint.ts", "../../../src/blueprints/project-wizard/functions/index.ts", "../../../src/crud/graph.ts", "../../../src/functions/agent/index.ts", "../../../src/toolkits/WebToolkit.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Blueprint } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\nimport { FetchMessages } from './functions';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.discord';\n\n/**\n * Agent prompt instructions for managing hierarchical task lists.\n */\nconst instructions = trim`\n You are able to fetch messages from Discord servers.\n\n Known servers:\n\n DXOS serverId: 837138313172353095\n`;\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Discord',\n description: 'Discord integration.',\n instructions: {\n source: Ref.make(Text.make(instructions)),\n },\n tools: Blueprint.toolDefinitions({ operations: [FetchMessages] }),\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * from './definitions';\n\nexport const DiscordHandlers = OperationHandlerSet.lazy(() => import('./fetch-messages'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Blueprint } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\nimport { SyncIssues } from './functions';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.linear';\n\n/**\n * Agent prompt instructions for managing hierarchical task lists.\n */\nconst instructions = trim`\n You are able to sync Linear workspaces.\n Sometimes sync does not complete in one go and you need to call the function again.\n\n Known workspaces:\n\n DXOS teamId: 1127c63a-6f77-4725-9229-50f6cd47321c\n`;\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Linear',\n description: 'Syncs Linear workspaces.',\n instructions: {\n source: Ref.make(Text.make(instructions)),\n },\n tools: Blueprint.toolDefinitions({ operations: [SyncIssues] }),\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * from './definitions';\n\nexport const LinearHandlers = OperationHandlerSet.lazy(() => import('./sync-issues'));\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { Blueprint } from '@dxos/compute';\n\nimport { UpdateTasks } from './functions';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.planning';\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Planning',\n description: 'Plans and tracks complex tasks with artifact management.',\n tools: Blueprint.toolDefinitions({ operations: [UpdateTasks] }),\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * from './definitions';\n\nexport const PlanningHandlers = OperationHandlerSet.lazy(() => import('./update-tasks'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Blueprint } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\n\nimport { Fetch } from './functions';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.web-search';\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Web Search',\n description: 'Search the web.',\n agentCanEnable: true,\n instructions: {\n source: Ref.make(Text.make()),\n },\n tools: Blueprint.toolDefinitions({ operations: [Fetch], tools: ['AnthropicWebSearch'] }),\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * from './definitions';\n\nexport const WebSearchHandlers = OperationHandlerSet.lazy(() => import('./fetch'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as AnthropicTool from '@effect/ai-anthropic/AnthropicTool';\nimport * as Toolkit from '@effect/ai/Toolkit';\nimport * as Layer from 'effect/Layer';\n\nimport { OpaqueToolkit } from '@dxos/ai';\n\nexport const WebSearchToolkit = Toolkit.make(AnthropicTool.WebSearch_20250305({}));\n\nexport const WebSearchToolkitOpaque = OpaqueToolkit.make(WebSearchToolkit, Layer.empty);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Blueprint } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.browser';\n\nconst instructions = trim`\n You are able to connect and use a virtual browser with persistent session.\n Browser tools are provided via MCP.\n`;\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Browser',\n description: 'Access to a real isolated browser.',\n agentCanEnable: true,\n instructions: {\n source: Ref.make(Text.make(instructions)),\n },\n mcpServers: [\n {\n // https://dash.cloudflare.com/950816f3f59b079880a1ae33fb0ec320/workers/services/view/playwright-mcp-example/production\n url: 'https://playwright-mcp-example.dxos.workers.dev/sse',\n protocol: 'sse',\n },\n ],\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Blueprint } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\nimport {\n Query,\n Load,\n ObjectCreate,\n ObjectUpdate,\n ObjectDelete,\n SchemaAdd,\n SchemaList,\n ContextAdd,\n ContextRemove,\n RelationCreate,\n RelationDelete,\n TagAdd,\n TagRemove,\n} from './functions';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.database';\n\nconst instructions = trim`\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n`;\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Database',\n description: 'Query and manipulate objects in the ECHO database.',\n agentCanEnable: true,\n instructions: {\n source: Ref.make(Text.make(instructions)),\n },\n tools: Blueprint.toolDefinitions({\n operations: [\n ContextAdd,\n ContextRemove,\n Load,\n ObjectCreate,\n ObjectDelete,\n ObjectUpdate,\n Query,\n RelationCreate,\n RelationDelete,\n SchemaAdd,\n SchemaList,\n TagAdd,\n TagRemove,\n ],\n }),\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * from './definitions';\n\nexport const DatabaseHandlers = OperationHandlerSet.lazy(\n () => import('./context-add'),\n () => import('./context-remove'),\n () => import('./load'),\n () => import('./object-create'),\n () => import('./object-delete'),\n () => import('./object-update'),\n () => import('./query'),\n () => import('./relation-create'),\n () => import('./relation-delete'),\n () => import('./schema-add'),\n () => import('./schema-list'),\n () => import('./tag-add'),\n () => import('./tag-remove'),\n);\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { Blueprint } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\nimport { QueryMemories, SaveMemory, DeleteMemory } from './functions';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.memory';\n\nconst instructions = trim`\n You have the ability to save and recall memories.\n Memories are persistent knowledge units stored in the database.\n Use memories to remember facts, user preferences, decisions, and any knowledge that should persist across conversations.\n\n When the user asks you to remember something, save it as a memory with a descriptive title.\n When the user asks about something you might have stored, query your memories first.\n You can also delete outdated or incorrect memories.\n`;\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Memory',\n description: 'Persistent memory storage and retrieval.',\n agentCanEnable: true,\n instructions: {\n source: Ref.make(Text.make(instructions)),\n },\n tools: Blueprint.toolDefinitions({ operations: [SaveMemory, QueryMemories, DeleteMemory] }),\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * from './definitions';\n\nexport const MemoryHandlers = OperationHandlerSet.lazy(\n () => import('./save'),\n () => import('./query'),\n () => import('./delete'),\n);\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { Blueprint, Trigger, Operation } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\nconst BLUEPRINT_KEY = 'dxos.org/blueprint/automation';\n\nconst instructions = trim`\n Automation allows you to automatically initiate actions based on events.\n Automations are configured by creating a trigger that references a function.\n Whenever event that matches the trigger occurs, the function is invoked.\n\n ## Configuration\n\n Triggers are configured by the properties of the Trigger object.\n - enabled: Must be true for trigger to run.\n - spec: Events that the trigger matches.\n - function: Ref to a ${Operation.PersistentOperation.typename} object that will be invoked. Query the functions present in the space first, and reference them in the trigger.\n - input: The spec of the input data that will be passed to the function.\n\n ## Input patterns\n\n Input to the invoked function is defined by the input property of the Trigger object.\n It's an object that supports constants or template strings.\n\n Example:\n\n {\n item: '{{event.item}}',\n instructions: 'Summarize and perform entity-extraction'\n mailbox: { '/': 'dxn:echo:AAA:ZZZ' }\n }\n\n ## Trigger kinds\n\n - Timer: Triggered by a cron schedule.\n - Queue: Subscribes and processes items begginging to end.\n Note: queues are the same as feeds. The queue DXN should be of form: dxn:queue:data:<space-id>:<queue-id>.\n - Subscription: Subscribes and processes database items based on a query.\n\n Avoid: email and webhook triggers.\n\n ## Editing triggers\n\n Triggers are represented as objects of type ${Trigger.Trigger.typename}.\n You need access to the Database blueprint to manipulate triggers.\n Read trigger schema before manipulating triggers.\n Having a Trigger object in the database is enough to setup an automation. \n\n ## Examples\n\n Timer:\n\n {\n \"function\": { \"/\": \"dxn:echo:AAA:ZZZ\" },\n \"enabled\": true,\n \"spec\": {\n \"kind\": \"timer\",\n \"cron\": \"*/5 * * * *\"\n }\n }\n\n Queue:\n\n {\n \"function\": { \"/\": \"dxn:echo:AAA:ZZZ\" },\n \"enabled\": true,\n \"spec\": {\n \"kind\": \"queue\",\n \"queue\": \"dxn:queue:data:XXX:YYY\"\n }\n }\n\n Subscription:\n\n {\n \"function\": { \"/\": \"dxn:echo:AAA:ZZZ\" },\n \"enabled\": true,\n \"spec\": {\n \"kind\": \"subscription\",\n \"query\": { \"ast\": { \"type\": \"select\", \"filter\": { \"type\": \"object\", \"typename\": \"dxn:type:org.dxos.type.person\" } } }\n }\n }\n`;\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Triggers',\n description: 'Trigger management and automation.',\n instructions: {\n source: Ref.make(Text.make(instructions)),\n },\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { Blueprint, Template } from '@dxos/compute';\nimport { trim } from '@dxos/util';\n\nimport { EnableBlueprints, QueryBlueprints, UpdateBlueprints } from './functions';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.blueprint-manager';\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Blueprint Manager',\n description: 'Query and enable blueprints in the current conversation.',\n instructions: Template.make({\n source: trim`\n You can query available blueprints and enable them in the current conversation.\n Use [query-blueprints] to refresh the list of available blueprints.\n Use [refresh-blueprints] to update blueprint objects stored in the database from the built-in registry when they have drifted.\n Use [enable-blueprints] to enable blueprints by their keys. Always call [query-blueprints] first.\n Only blueprints with agentCanEnable=true can be enabled by the agent.\n\n <available_blueprints>\n {{#each blueprints}}\n - {{key}} \"{{name}}\"{{#if description}} -- {{description}}{{/if}}{{#if agentCanEnable}} [agent-can-enable]{{/if}}\n {{/each}}\n </available_blueprints>\n\n NOTE: You must enable the blueprint to use it, only then the tools from that blueprint will appear.\n `,\n inputs: [\n {\n name: 'blueprints',\n kind: 'function',\n function: QueryBlueprints.meta.key,\n },\n ],\n }),\n tools: Blueprint.toolDefinitions({ operations: [QueryBlueprints, EnableBlueprints, UpdateBlueprints] }),\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * from './definitions';\n\nexport const BlueprintManagerHandlers = OperationHandlerSet.lazy(\n () => import('./query-blueprints'),\n () => import('./enable-blueprints'),\n () => import('./update-blueprints'),\n);\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { Blueprint, Template } from '@dxos/compute';\nimport { trim } from '@dxos/util';\n\nimport { AgentRules, CreateAgent, SyncTriggers } from './functions';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.agent-wizard';\n\n/**\n * Creates the Agent Wizard blueprint. This is a function to avoid circular dependency issues.\n */\n// TODO(dmaretskyi): Combine with Agent Blueprint.\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Agent Wizard',\n description: 'Help the user create a new agent (subscriptions, optional cron timer, sync-triggers after edits).',\n agentCanEnable: true,\n instructions: Template.make({\n source: trim`\n You are a wizard that helps the user create a new agent.\n\n Agents are goal oriented and autonomously driven.\n Each agent has instructions - the goal of the agent.\n The instructions also typically describe what actions to perform in reaction to events (emails).\n The agent has a number of associated artifacts to work with.\n Agents can subscribe to emails.\n\n Agents have a \\`cron\\` field: when set, the agent runs on a timer on that schedule (standard cron syntax).\n Use \\`cron\\` when the user wants the agent to run periodically (e.g. \"every morning\", \"once a day\", \"every 5 minutes\").\n Examples: \\`0 9 * * *\\` for daily at 09:00, or \\`*/5 * * * *\\` for every 5 minutes.\n Timer triggers bypass the qualifier and invoke the agent worker directly on the schedule.\n\n The agent itself is an ECHO object and can be edited like any other object using the database blueprint.\n You can edit the agent's instructions, name, and other properties directly.\n If you edit the agent's \\`enabled\\` field, \\`filterEvents\\` field, subscriptions array, or \\`cron\\` field, you MUST call the sync-triggers function afterward to synchronize the triggers (\\`enabled\\` is applied to all triggers).\n\n IMPORTANT: Before attempting to create an agent call the [agent-rules] tool to get the rules for creating an agent.\n `,\n }),\n tools: Blueprint.toolDefinitions({ operations: [AgentRules, CreateAgent, SyncTriggers] }),\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * from './definitions';\n\nexport const AgentWizardHandlers = OperationHandlerSet.lazy(\n () => import('./create-project'),\n () => import('./project-rules'),\n () => import('./sync-triggers'),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Tool from '@effect/ai/Tool';\nimport * as Toolkit from '@effect/ai/Toolkit';\nimport * as Context from 'effect/Context';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\nimport * as SchemaAST from 'effect/SchemaAST';\n\nimport { Entity, Filter, Obj, Query, Type } from '@dxos/echo';\nimport { Database } from '@dxos/echo';\nimport { type Queue } from '@dxos/echo-db';\nimport { isEncodedReference } from '@dxos/echo-protocol';\nimport {\n ReferenceAnnotationId,\n RelationSourceDXNId,\n RelationSourceId,\n RelationTargetDXNId,\n RelationTargetId,\n createObject,\n getTypeAnnotation,\n getTypeIdentifierAnnotation,\n} from '@dxos/echo/internal';\nimport { mapAst } from '@dxos/effect';\nimport { ContextQueueService } from '@dxos/functions';\nimport { DXN, ObjectId } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { deepMapValues, isNonNullable, trim } from '@dxos/util';\n\n// TODO(burdon): Unify with the graph schema.\nexport const Subgraph = Schema.Struct({\n /** Objects and relations. */\n objects: Schema.Array(Schema.Any),\n});\n\nexport interface Subgraph extends Schema.Schema.Type<typeof Subgraph> {}\n\nexport type RelatedSchema = {\n schema: Type.AnyEntity;\n kind: 'reference' | 'relation';\n};\n\n/**\n * Find all schemas that are related to the given schema.\n *\n * @param db\n * @param schema\n * @returns\n */\nexport const findRelatedSchema = async (db: Database.Database, anchor: Type.AnyEntity): Promise<RelatedSchema[]> => {\n // TODO(dmaretskyi): Query stored schemas.\n const allSchemas = await db.graph.schemaRegistry.query().run();\n\n // TODO(dmaretskyi): Also do references.\n return allSchemas\n .filter((schema) => {\n if (getTypeAnnotation(schema)?.kind !== Entity.Kind.Relation) {\n return false;\n }\n\n return (\n isSchemaAddressableByDxn(anchor, DXN.parse(getTypeAnnotation(schema)!.sourceSchema!)) ||\n isSchemaAddressableByDxn(anchor, DXN.parse(getTypeAnnotation(schema)!.targetSchema!))\n );\n })\n .map(\n (schema): RelatedSchema => ({\n kind: 'relation',\n schema,\n }),\n );\n};\n\n/**\n * Non-strict DXN comparison.\n * Returns true if the DXN could be resolved to the schema.\n */\nconst isSchemaAddressableByDxn = (schema: Type.AnyEntity, dxn: DXN): boolean => {\n if (getTypeIdentifierAnnotation(schema) === dxn.toString()) {\n return true;\n }\n\n const t = dxn.asTypeDXN();\n if (t) {\n return t.type === Type.getTypename(schema);\n }\n\n return false;\n};\n\n/**\n * Perform vector search in the local database.\n */\n// TODO(dmaretskyi): Rename `GraphReadToolkit`.\nexport const LocalSearchToolkit = Toolkit.make(\n Tool.make('search_local_search', {\n description: 'Search the local database for information using a vector index',\n parameters: {\n query: Schema.String.annotations({\n description: 'The query to search for. Could be a question or a topic or a set of keywords.',\n }),\n },\n success: Schema.Unknown,\n failure: Schema.Never,\n dependencies: [Database.Service],\n }),\n);\n\nexport const LocalSearchHandler = LocalSearchToolkit.toLayer({\n search_local_search: Effect.fn(function* ({ query }) {\n const objects = yield* Database.runQuery(Query.select(Filter.text(query, { type: 'vector' })));\n const results = [...objects];\n\n const option = yield* Effect.serviceOption(ContextQueueService);\n if (Option.isSome(option)) {\n const queueObjects = yield* Effect.promise(() => option.value.queue.queryObjects());\n // TODO(dmaretskyi): Text search on the queue.\n results.push(...queueObjects);\n }\n\n return trim`\n <local_context>\n ${JSON.stringify(results, null, 2)}\n </local_context>\n `;\n }),\n});\n\n/**\n * Attached as an annotation to the writer tool.\n */\nclass GraphWriterSchema extends Context.Tag('@dxos/assistant/GraphWriterSchema')<\n GraphWriterSchema,\n {\n schema: Type.AnyEntity[];\n }\n>() {}\n\n/**\n * Forms typed objects that can be written to the graph database.\n */\nexport const makeGraphWriterToolkit = ({ schema }: { schema: Type.AnyEntity[] }) => {\n return Toolkit.make(\n Tool.make('graph_writer', {\n description: 'Write to the local graph database',\n parameters: createExtractionSchema(schema).fields,\n success: Schema.Unknown,\n failure: Schema.Never,\n dependencies: [Database.Service, ContextQueueService],\n }).annotateContext(Context.make(GraphWriterSchema, { schema })),\n );\n};\n\nexport const makeGraphWriterHandler = (\n toolkit: ReturnType<typeof makeGraphWriterToolkit>,\n {\n onAppend,\n }: {\n onAppend?: (object: DXN[]) => void;\n } = {},\n) => {\n const { schema } = Context.get(\n toolkit.tools.graph_writer.annotations as Context.Context<GraphWriterSchema>,\n GraphWriterSchema,\n );\n\n return toolkit.toLayer({\n graph_writer: Effect.fn(function* (input) {\n const { db } = yield* Database.Service;\n const { queue } = yield* ContextQueueService;\n const data = yield* Effect.promise(() => sanitizeObjects(schema, input as any, db, queue));\n yield* Effect.promise(() => queue.append(data as Obj.Unknown[]));\n\n const dxns = data.map((obj) => Obj.getDXN(obj));\n onAppend?.(dxns);\n return dxns;\n }),\n });\n};\n\n/**\n * Create a schema for structured data extraction.\n */\nexport const createExtractionSchema = (types: Type.AnyEntity[]) => {\n return Schema.Struct({\n ...Object.fromEntries(\n types.map(preprocessSchema).map((schema, index) => [\n `objects_${getSanitizedSchemaName(types[index])}`,\n Schema.optional(Schema.Array(schema)).annotations({\n description: `The objects of type: ${Type.getDXN(types[index])?.asTypeDXN()!.type}. ${SchemaAST.getDescriptionAnnotation(types[index].ast).pipe(Option.getOrElse(() => ''))}`,\n }),\n ]),\n ),\n });\n};\n\nexport const getSanitizedSchemaName = (schema: Type.AnyEntity) => {\n return Type.getDXN(schema)!\n .asTypeDXN()!\n .type.replaceAll(/[^a-zA-Z0-9]+/g, '_');\n};\n\nexport const sanitizeObjects = async (\n types: Type.AnyEntity[],\n data: Record<string, readonly unknown[]>,\n db: Database.Database,\n queue?: Queue,\n): Promise<Obj.Unknown[]> => {\n const entries = types\n .map(\n (type) =>\n data[`objects_${getSanitizedSchemaName(type)}`]?.map((object: any) => ({\n data: object,\n schema: type,\n })) ?? [],\n )\n .flat();\n\n const idMap = new Map<string, string>();\n const existingIds = new Set<ObjectId>();\n const enitties = new Map<ObjectId, Entity.Unknown>();\n\n const resolveId = (id: string): DXN | undefined => {\n if (ObjectId.isValid(id)) {\n existingIds.add(id);\n return DXN.fromLocalObjectId(id);\n }\n\n const mappedId = idMap.get(id);\n if (mappedId) {\n return DXN.fromLocalObjectId(mappedId);\n }\n\n return undefined;\n };\n\n const res = entries\n .map((entry) => {\n // This entry mutates existing object.\n if (ObjectId.isValid(entry.data.id)) {\n return entry;\n }\n\n idMap.set(entry.data.id, ObjectId.random());\n entry.data.id = idMap.get(entry.data.id);\n return entry;\n })\n .map((entry) => {\n const data = deepMapValues(entry.data, (value, recurse) => {\n if (isEncodedReference(value)) {\n const ref = value['/'];\n const id = resolveId(ref);\n\n if (id) {\n // Link to an existing object.\n return { '/': id.toString() };\n } else {\n // Search URIs?\n return { '/': `search:?q=${encodeURIComponent(ref)}` };\n }\n }\n\n return recurse(value);\n });\n\n if (Entity.getKind(entry.schema) === 'relation') {\n const sourceDxn = resolveId(data.source);\n if (!sourceDxn) {\n log.warn('source not found', { source: data.source });\n }\n const targetDxn = resolveId(data.target);\n if (!targetDxn) {\n log.warn('target not found', { target: data.target });\n }\n delete data.source;\n delete data.target;\n data[RelationSourceDXNId] = sourceDxn;\n data[RelationTargetDXNId] = targetDxn;\n }\n\n return {\n data,\n schema: entry.schema,\n };\n })\n .filter((object) => !existingIds.has(object.data.id)); // TODO(dmaretskyi): This dissallows updating existing objects.\n\n // TODO(dmaretskyi): Use ref resolver.\n const dbObjects = await db.query(Query.select(Filter.id(...existingIds))).run();\n const queueObjects = (await queue?.getObjectsById([...existingIds])) ?? [];\n const objects = [...dbObjects, ...queueObjects].filter(isNonNullable);\n\n // TODO(dmaretskyi): Returns everything if IDs are empty!\n log.info('objects', { dbObjects, queueObjects, existingIds });\n const missing = Array.from(existingIds).filter((id) => !objects.some((object) => object.id === id));\n if (missing.length > 0) {\n throw new Error(`Object IDs do not point to existing objects: ${missing.join(', ')}`);\n }\n\n return res.flatMap(({ data, schema }) => {\n let skip = false;\n if (RelationSourceDXNId in data) {\n const id = (data[RelationSourceDXNId] as DXN).asEchoDXN()?.echoId;\n const obj = objects.find((object) => object.id === id) ?? enitties.get(id!);\n if (obj) {\n delete data[RelationSourceDXNId];\n data[RelationSourceId] = obj;\n } else {\n skip = true;\n }\n }\n if (RelationTargetDXNId in data) {\n const id = (data[RelationTargetDXNId] as DXN).asEchoDXN()?.echoId;\n const obj = objects.find((object) => object.id === id) ?? enitties.get(id!);\n if (obj) {\n delete data[RelationTargetDXNId];\n data[RelationTargetId] = obj;\n } else {\n skip = true;\n }\n }\n if (!skip) {\n const obj = createObject(schema, data);\n enitties.set(obj.id, obj);\n return [obj];\n }\n return [];\n });\n};\n\nconst SoftRef = Schema.Struct({\n '/': Schema.String,\n}).annotations({\n description: 'Reference to another object.',\n});\n\nconst preprocessSchema = (schema: Schema.Schema.AnyNoContext) => {\n const isRelationSchema = Entity.getKind(schema) === 'relation';\n\n const go = (ast: SchemaAST.AST, visited = new Set<SchemaAST.AST>()): SchemaAST.AST => {\n if (visited.has(ast)) {\n // Already visited this node, prevent infinite recursion.\n return ast;\n }\n visited.add(ast);\n\n if (SchemaAST.getAnnotation(ast, ReferenceAnnotationId).pipe(Option.isSome)) {\n return SoftRef.ast;\n }\n\n return mapAst(ast, (child) => go(child, visited));\n };\n\n return Schema.make<any, any, never>(mapAst(schema.ast, (ast) => go(ast))).pipe(\n Schema.omit('id'),\n Schema.extend(\n Schema.Struct({\n id: Schema.String.annotations({\n description: 'The id of this object. Come up with a unique id based on your judgement.',\n }),\n }),\n ),\n isRelationSchema\n ? Schema.extend(\n Schema.Struct({\n source: Schema.String.annotations({\n description: 'The id of the source object for this relation.',\n }),\n target: Schema.String.annotations({\n description: 'The id of the target object for this relation.',\n }),\n }),\n )\n : Function.identity<Schema.Schema.AnyNoContext>,\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * from './definitions';\n\nexport const AgentHandlers = OperationHandlerSet.lazy(() => import('./prompt'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as AnthropicTool from '@effect/ai-anthropic/AnthropicTool';\nimport * as Tool from '@effect/ai/Tool';\nimport * as Toolkit from '@effect/ai/Toolkit';\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\n// TODO(dmaretskyi): Testing only.\nexport const WebToolkit = Toolkit.make(\n AnthropicTool.WebSearch_20250305({}).pipe(\n // TODO(dmaretskyi): Effect bug -- provider-defined tools don't support annotations.\n // ToolFormatter.assign({\n // debugFormatResult: (result) =>\n // Array.isArray(result) ? result.map(Struct.pick('title', 'type', 'url', 'page_age')) : result,\n // }),\n ),\n Tool.make('WebFetch', {\n parameters: {\n url: Schema.String,\n },\n success: Schema.String,\n }),\n);\n\nexport const layer = WebToolkit.toLayer({\n WebFetch: Effect.fnUntraced(function* ({ url }) {\n const response = yield* Effect.promise(() => fetch(url).then((response) => response.text()));\n return response;\n }),\n});\n"],
5
- "mappings": "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",
6
- "names": ["Blueprint", "Ref", "Text", "trim", "OperationHandlerSet", "DiscordHandlers", "lazy", "BLUEPRINT_KEY", "instructions", "trim", "make", "Blueprint", "key", "name", "description", "source", "Ref", "Text", "tools", "toolDefinitions", "operations", "FetchMessages", "blueprint", "blueprint_default", "Blueprint", "Ref", "Text", "trim", "OperationHandlerSet", "LinearHandlers", "lazy", "BLUEPRINT_KEY", "instructions", "trim", "make", "Blueprint", "key", "name", "description", "source", "Ref", "Text", "tools", "toolDefinitions", "operations", "SyncIssues", "blueprint", "blueprint_default", "Blueprint", "OperationHandlerSet", "PlanningHandlers", "lazy", "BLUEPRINT_KEY", "make", "Blueprint", "key", "name", "description", "tools", "toolDefinitions", "operations", "UpdateTasks", "blueprint", "blueprint_default", "Blueprint", "Ref", "Text", "OperationHandlerSet", "WebSearchHandlers", "lazy", "BLUEPRINT_KEY", "make", "Blueprint", "key", "name", "description", "agentCanEnable", "instructions", "source", "Ref", "Text", "tools", "toolDefinitions", "operations", "Fetch", "blueprint", "blueprint_default", "AnthropicTool", "Toolkit", "Layer", "OpaqueToolkit", "WebSearchToolkit", "make", "WebSearch_20250305", "WebSearchToolkitOpaque", "empty", "Blueprint", "Ref", "Text", "trim", "BLUEPRINT_KEY", "instructions", "make", "key", "name", "description", "agentCanEnable", "source", "mcpServers", "url", "protocol", "blueprint", "blueprint_default", "Blueprint", "Ref", "Text", "trim", "OperationHandlerSet", "DatabaseHandlers", "lazy", "BLUEPRINT_KEY", "instructions", "trim", "make", "Blueprint", "key", "name", "description", "agentCanEnable", "source", "Ref", "Text", "tools", "toolDefinitions", "operations", "ContextAdd", "ContextRemove", "Load", "ObjectCreate", "ObjectDelete", "ObjectUpdate", "Query", "RelationCreate", "RelationDelete", "SchemaAdd", "SchemaList", "TagAdd", "TagRemove", "blueprint", "blueprint_default", "Blueprint", "Ref", "Text", "trim", "OperationHandlerSet", "MemoryHandlers", "lazy", "BLUEPRINT_KEY", "instructions", "trim", "make", "Blueprint", "key", "name", "description", "agentCanEnable", "source", "Ref", "Text", "tools", "toolDefinitions", "operations", "SaveMemory", "QueryMemories", "DeleteMemory", "blueprint", "blueprint_default", "Blueprint", "Trigger", "Operation", "Ref", "Text", "trim", "BLUEPRINT_KEY", "instructions", "PersistentOperation", "typename", "make", "key", "name", "description", "source", "blueprint", "blueprint_default", "Blueprint", "Template", "trim", "OperationHandlerSet", "BlueprintManagerHandlers", "lazy", "BLUEPRINT_KEY", "make", "Blueprint", "key", "name", "description", "instructions", "Template", "source", "trim", "inputs", "kind", "function", "QueryBlueprints", "meta", "tools", "toolDefinitions", "operations", "EnableBlueprints", "UpdateBlueprints", "blueprint", "blueprint_default", "Blueprint", "Template", "trim", "OperationHandlerSet", "AgentWizardHandlers", "lazy", "BLUEPRINT_KEY", "make", "Blueprint", "key", "name", "description", "agentCanEnable", "instructions", "Template", "source", "trim", "tools", "toolDefinitions", "operations", "AgentRules", "CreateAgent", "SyncTriggers", "blueprint", "blueprint_default", "Tool", "Toolkit", "Context", "Effect", "Function", "Option", "Schema", "SchemaAST", "Entity", "Filter", "Obj", "Query", "Type", "Database", "isEncodedReference", "ReferenceAnnotationId", "RelationSourceDXNId", "RelationSourceId", "RelationTargetDXNId", "RelationTargetId", "createObject", "getTypeAnnotation", "getTypeIdentifierAnnotation", "mapAst", "ContextQueueService", "DXN", "ObjectId", "log", "deepMapValues", "isNonNullable", "trim", "allSchemas", "schemaRegistry", "query", "filter", "schema", "isSchemaAddressableByDxn", "map", "kind", "dxn", "type", "parameters", "description", "success", "failure", "dependencies", "Service", "results", "option", "queueObjects", "promise", "value", "stringify", "createExtractionSchema", "annotateContext", "toolkit", "graph_writer", "input", "data", "dxns", "obj", "getDXN", "onAppend", "Object", "preprocessSchema", "optional", "Array", "annotations", "sanitizeObjects", "types", "queue", "object", "idMap", "Map", "existingIds", "Set", "enitties", "resolveId", "id", "isValid", "fromLocalObjectId", "mappedId", "undefined", "res", "entry", "ref", "getKind", "sourceDxn", "targetDxn", "dbObjects", "select", "objects", "length", "Error", "missing", "join", "flatMap", "find", "skip", "visited", "ast", "SoftRef", "isRelationSchema", "source", "target", "String", "identity", "OperationHandlerSet", "AgentHandlers", "lazy", "AnthropicTool", "Tool", "Toolkit", "Effect", "Schema", "WebToolkit", "make", "WebSearch_20250305", "pipe", "parameters", "url", "String", "success", "layer", "toLayer", "WebFetch", "fnUntraced", "response", "promise", "fetch", "then", "text"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Blueprint } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\nimport { FetchMessages } from './functions';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.discord';\n\n/**\n * Agent prompt instructions for managing hierarchical task lists.\n */\nconst instructions = trim`\n You are able to fetch messages from Discord servers.\n\n Known servers:\n\n DXOS serverId: 837138313172353095\n`;\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Discord',\n description: 'Discord integration.',\n instructions: {\n source: Ref.make(Text.make({ content: instructions })),\n },\n tools: Blueprint.toolDefinitions({ operations: [FetchMessages] }),\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * from './definitions';\n\nexport const DiscordHandlers = OperationHandlerSet.lazy(() => import('./fetch-messages'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Blueprint } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\nimport { SyncIssues } from './functions';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.linear';\n\n/**\n * Agent prompt instructions for managing hierarchical task lists.\n */\nconst instructions = trim`\n You are able to sync Linear workspaces.\n Sometimes sync does not complete in one go and you need to call the function again.\n\n Known workspaces:\n\n DXOS teamId: 1127c63a-6f77-4725-9229-50f6cd47321c\n`;\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Linear',\n description: 'Syncs Linear workspaces.',\n instructions: {\n source: Ref.make(Text.make({ content: instructions })),\n },\n tools: Blueprint.toolDefinitions({ operations: [SyncIssues] }),\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * from './definitions';\n\nexport const LinearHandlers = OperationHandlerSet.lazy(() => import('./sync-issues'));\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { Blueprint } from '@dxos/compute';\n\nimport { UpdateTasks } from './functions';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.planning';\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Planning',\n description: 'Plans and tracks complex tasks using artifacts.',\n tools: Blueprint.toolDefinitions({ operations: [UpdateTasks] }),\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * from './update-tasks';\n\nexport const PlanningHandlers = OperationHandlerSet.lazy(() => import('./update-tasks'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Blueprint } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\n\nimport { Fetch } from './functions';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.web-search';\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Web Search',\n description: 'Search the web.',\n agentCanEnable: true,\n instructions: {\n source: Ref.make(Text.make()),\n },\n tools: Blueprint.toolDefinitions({ operations: [Fetch], tools: ['AnthropicWebSearch'] }),\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * from './definitions';\n\nexport const WebSearchHandlers = OperationHandlerSet.lazy(() => import('./fetch'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as AnthropicTool from '@effect/ai-anthropic/AnthropicTool';\nimport * as Toolkit from '@effect/ai/Toolkit';\nimport * as Layer from 'effect/Layer';\n\nimport { OpaqueToolkit } from '@dxos/ai';\n\nexport const WebSearchToolkit = Toolkit.make(AnthropicTool.WebSearch_20250305({}));\n\nexport const WebSearchToolkitOpaque = OpaqueToolkit.make(WebSearchToolkit, Layer.empty);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Blueprint } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.browser';\n\nconst instructions = trim`\n You are able to connect and use a virtual browser with persistent session.\n Browser tools are provided via MCP.\n`;\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Browser',\n description: 'Access to a real isolated browser.',\n agentCanEnable: true,\n instructions: {\n source: Ref.make(Text.make({ content: instructions })),\n },\n mcpServers: [\n {\n // https://dash.cloudflare.com/950816f3f59b079880a1ae33fb0ec320/workers/services/view/playwright-mcp-example/production\n url: 'https://playwright-mcp-example.dxos.workers.dev/sse',\n protocol: 'sse',\n },\n ],\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Blueprint } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\nimport {\n Query,\n Load,\n ObjectCreate,\n ObjectUpdate,\n ObjectDelete,\n SchemaAdd,\n SchemaList,\n ContextAdd,\n ContextRemove,\n RelationCreate,\n RelationDelete,\n TagAdd,\n TagRemove,\n} from './functions';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.database';\n\nconst instructions = trim`\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n`;\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Database',\n description: 'Query and manipulate objects in the ECHO database.',\n agentCanEnable: true,\n instructions: {\n source: Ref.make(Text.make({ content: instructions })),\n },\n tools: Blueprint.toolDefinitions({\n operations: [\n ContextAdd,\n ContextRemove,\n Load,\n ObjectCreate,\n ObjectDelete,\n ObjectUpdate,\n Query,\n RelationCreate,\n RelationDelete,\n SchemaAdd,\n SchemaList,\n TagAdd,\n TagRemove,\n ],\n }),\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * from './definitions';\n\nexport const DatabaseHandlers = OperationHandlerSet.lazy(\n () => import('./context-add'),\n () => import('./context-remove'),\n () => import('./load'),\n () => import('./object-create'),\n () => import('./object-delete'),\n () => import('./object-update'),\n () => import('./query'),\n () => import('./relation-create'),\n () => import('./relation-delete'),\n () => import('./schema-add'),\n () => import('./schema-list'),\n () => import('./tag-add'),\n () => import('./tag-remove'),\n);\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { Blueprint } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\nimport { QueryMemories, SaveMemory, DeleteMemory } from './functions';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.memory';\n\nconst instructions = trim`\n You have the ability to save and recall memories.\n Memories are persistent knowledge units stored in the database.\n Use memories to remember facts, user preferences, decisions, and any knowledge that should persist across conversations.\n\n When the user asks you to remember something, save it as a memory with a descriptive title.\n When the user asks about something you might have stored, query your memories first.\n You can also delete outdated or incorrect memories.\n`;\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Memory',\n description: 'Persistent memory storage and retrieval.',\n agentCanEnable: true,\n instructions: {\n source: Ref.make(Text.make({ content: instructions })),\n },\n tools: Blueprint.toolDefinitions({ operations: [SaveMemory, QueryMemories, DeleteMemory] }),\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * from './definitions';\n\nexport const MemoryHandlers = OperationHandlerSet.lazy(\n () => import('./save'),\n () => import('./query'),\n () => import('./delete'),\n);\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { Blueprint, Trigger, Operation } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\nconst BLUEPRINT_KEY = 'dxos.org/blueprint/automation';\n\nconst instructions = trim`\n Automation allows you to automatically initiate actions based on events.\n Automations are configured by creating a trigger that references a function.\n Whenever event that matches the trigger occurs, the function is invoked.\n\n ## Configuration\n\n Triggers are configured by the properties of the Trigger object.\n - enabled: Must be true for trigger to run.\n - spec: Events that the trigger matches.\n - function: Ref to a ${Operation.PersistentOperation.typename} object that will be invoked. Query the functions present in the space first, and reference them in the trigger.\n - input: The spec of the input data that will be passed to the function.\n\n ## Input patterns\n\n Input to the invoked function is defined by the input property of the Trigger object.\n It's an object that supports constants or template strings.\n\n Example:\n\n {\n item: '{{event.item}}',\n instructions: 'Summarize and perform entity-extraction'\n mailbox: { '/': 'dxn:echo:AAA:ZZZ' }\n }\n\n ## Trigger kinds\n\n - Timer: Triggered by a cron schedule.\n - Queue: Subscribes and processes items begginging to end.\n Note: queues are the same as feeds. The queue DXN should be of form: dxn:queue:data:<space-id>:<queue-id>.\n - Subscription: Subscribes and processes database items based on a query.\n\n Avoid: email and webhook triggers.\n\n ## Editing triggers\n\n Triggers are represented as objects of type ${Trigger.Trigger.typename}.\n You need access to the Database blueprint to manipulate triggers.\n Read trigger schema before manipulating triggers.\n Having a Trigger object in the database is enough to setup an automation. \n\n ## Examples\n\n Timer:\n\n {\n \"function\": { \"/\": \"dxn:echo:AAA:ZZZ\" },\n \"enabled\": true,\n \"spec\": {\n \"kind\": \"timer\",\n \"cron\": \"*/5 * * * *\"\n }\n }\n\n Queue:\n\n {\n \"function\": { \"/\": \"dxn:echo:AAA:ZZZ\" },\n \"enabled\": true,\n \"spec\": {\n \"kind\": \"queue\",\n \"queue\": \"dxn:queue:data:XXX:YYY\"\n }\n }\n\n Subscription:\n\n {\n \"function\": { \"/\": \"dxn:echo:AAA:ZZZ\" },\n \"enabled\": true,\n \"spec\": {\n \"kind\": \"subscription\",\n \"query\": { \"ast\": { \"type\": \"select\", \"filter\": { \"type\": \"object\", \"typename\": \"dxn:type:org.dxos.type.person\" } } }\n }\n }\n`;\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Triggers',\n description: 'Trigger management and automation.',\n instructions: {\n source: Ref.make(Text.make({ content: instructions })),\n },\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { Blueprint, Template } from '@dxos/compute';\nimport { trim } from '@dxos/util';\n\nimport { EnableBlueprints, QueryBlueprints, UpdateBlueprints } from './functions';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.blueprint-manager';\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Blueprint Manager',\n description: 'Query and enable blueprints in the current conversation.',\n instructions: Template.make({\n source: trim`\n You can query available blueprints and enable them in the current conversation.\n Use [query-blueprints] to refresh the list of available blueprints.\n Use [refresh-blueprints] to update blueprint objects stored in the database from the built-in registry when they have drifted.\n Use [enable-blueprints] to enable blueprints by their keys. Always call [query-blueprints] first.\n Only blueprints with agentCanEnable=true can be enabled by the agent.\n\n <available_blueprints>\n {{#each blueprints}}\n - {{key}} \"{{name}}\"{{#if description}} -- {{description}}{{/if}}{{#if agentCanEnable}} [agent-can-enable]{{/if}}\n {{/each}}\n </available_blueprints>\n\n NOTE: You must enable the blueprint to use it, only then the tools from that blueprint will appear.\n `,\n inputs: [\n {\n name: 'blueprints',\n kind: 'operation',\n operation: QueryBlueprints.meta.key,\n },\n ],\n }),\n tools: Blueprint.toolDefinitions({ operations: [QueryBlueprints, EnableBlueprints, UpdateBlueprints] }),\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * from './definitions';\n\nexport const BlueprintManagerHandlers = OperationHandlerSet.lazy(\n () => import('./query-blueprints'),\n () => import('./enable-blueprints'),\n () => import('./update-blueprints'),\n);\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { Blueprint, Template } from '@dxos/compute';\nimport { trim } from '@dxos/util';\n\nimport { AgentRules, CreateAgent, SyncTriggers } from './functions';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.agent-wizard';\n\n/**\n * Creates the Agent Wizard blueprint. This is a function to avoid circular dependency issues.\n */\n// TODO(dmaretskyi): Combine with Agent Blueprint.\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Agent Wizard',\n description: 'Help the user create a new agent (subscriptions, optional cron timer, sync-triggers after edits).',\n agentCanEnable: true,\n instructions: Template.make({\n source: trim`\n You are a wizard that helps the user create a new agent.\n\n Agents are goal oriented and autonomously driven.\n Each agent has instructions - the goal of the agent.\n The instructions also typically describe what actions to perform in reaction to events (emails).\n The agent has a number of associated artifacts to work with.\n Agents can subscribe to emails.\n\n Agents have a \\`cron\\` field: when set, the agent runs on a timer on that schedule (standard cron syntax).\n Use \\`cron\\` when the user wants the agent to run periodically (e.g. \"every morning\", \"once a day\", \"every 5 minutes\").\n Examples: \\`0 9 * * *\\` for daily at 09:00, or \\`*/5 * * * *\\` for every 5 minutes.\n Timer triggers bypass the qualifier and invoke the agent worker directly on the schedule.\n\n The agent itself is an ECHO object and can be edited like any other object using the database blueprint.\n You can edit the agent's instructions, name, and other properties directly.\n If you edit the agent's \\`enabled\\` field, \\`filterEvents\\` field, subscriptions array, or \\`cron\\` field, you MUST call the sync-triggers function afterward to synchronize the triggers (\\`enabled\\` is applied to all triggers).\n\n IMPORTANT: Before attempting to create an agent call the [agent-rules] tool to get the rules for creating an agent.\n `,\n }),\n tools: Blueprint.toolDefinitions({ operations: [AgentRules, CreateAgent, SyncTriggers] }),\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * from './definitions';\n\nexport const AgentWizardHandlers = OperationHandlerSet.lazy(\n () => import('./create-project'),\n () => import('./project-rules'),\n () => import('./sync-triggers'),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Tool from '@effect/ai/Tool';\nimport * as Toolkit from '@effect/ai/Toolkit';\nimport * as Context from 'effect/Context';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\nimport * as SchemaAST from 'effect/SchemaAST';\n\nimport { Database, Entity, Feed, Filter, Obj, Query, Type } from '@dxos/echo';\nimport { isEncodedReference } from '@dxos/echo-protocol';\nimport {\n ReferenceAnnotationId,\n RelationSourceDXNId,\n RelationSourceId,\n RelationTargetDXNId,\n RelationTargetId,\n createObject,\n getTypeAnnotation,\n getTypeIdentifierAnnotation,\n} from '@dxos/echo/internal';\nimport { mapAst } from '@dxos/effect';\nimport { DXN, ObjectId } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { deepMapValues, isNonNullable, trim } from '@dxos/util';\n\n// TODO(burdon): Unify with the graph schema.\nexport const Subgraph = Schema.Struct({\n /** Objects and relations. */\n objects: Schema.Array(Schema.Any),\n});\n\nexport interface Subgraph extends Schema.Schema.Type<typeof Subgraph> {}\n\nexport type RelatedSchema = {\n schema: Type.AnyEntity;\n kind: 'reference' | 'relation';\n};\n\n/**\n * Find all schemas that are related to the given schema.\n *\n * @param db\n * @param schema\n * @returns\n */\nexport const findRelatedSchema = async (db: Database.Database, anchor: Type.AnyEntity): Promise<RelatedSchema[]> => {\n // TODO(dmaretskyi): Query stored schemas.\n const allSchemas = await db.graph.schemaRegistry.query().run();\n\n // TODO(dmaretskyi): Also do references.\n return allSchemas\n .filter((schema) => {\n if (getTypeAnnotation(schema)?.kind !== Entity.Kind.Relation) {\n return false;\n }\n\n return (\n isSchemaAddressableByDXN(anchor, DXN.parse(getTypeAnnotation(schema)!.sourceSchema!)) ||\n isSchemaAddressableByDXN(anchor, DXN.parse(getTypeAnnotation(schema)!.targetSchema!))\n );\n })\n .map(\n (schema): RelatedSchema => ({\n kind: 'relation',\n schema,\n }),\n );\n};\n\n/**\n * Non-strict DXN comparison.\n * Returns true if the DXN could be resolved to the schema.\n */\nconst isSchemaAddressableByDXN = (schema: Type.AnyEntity, dxn: DXN): boolean => {\n if (getTypeIdentifierAnnotation(schema) === dxn.toString()) {\n return true;\n }\n\n const t = dxn.asTypeDXN();\n if (t) {\n return t.type === Type.getTypename(schema);\n }\n\n return false;\n};\n\n/**\n * Perform vector search in the local database.\n */\n// TODO(dmaretskyi): Rename `GraphReadToolkit`.\nexport const LocalSearchToolkit = Toolkit.make(\n Tool.make('search_local_search', {\n description: 'Search the local database for information using a vector index',\n parameters: {\n query: Schema.String.annotations({\n description: 'The query to search for. Could be a question or a topic or a set of keywords.',\n }),\n },\n success: Schema.Unknown,\n failure: Schema.Never,\n dependencies: [Database.Service, Feed.FeedService],\n }),\n);\n\nexport const LocalSearchHandler = LocalSearchToolkit.toLayer({\n search_local_search: Effect.fn(function* ({ query }) {\n const objects = yield* Database.runQuery(Query.select(Filter.text(query, { type: 'vector' })));\n const results = [...objects];\n\n const feedOption = yield* Effect.serviceOption(Feed.ContextFeedService);\n if (Option.isSome(feedOption)) {\n const feedObjects = yield* Feed.runQuery(feedOption.value.feed, Filter.everything());\n // TODO(dmaretskyi): Text search on the feed.\n results.push(...feedObjects);\n }\n\n return trim`\n <local_context>\n ${JSON.stringify(results, null, 2)}\n </local_context>\n `;\n }),\n});\n\n/**\n * Attached as an annotation to the writer tool.\n */\nclass GraphWriterSchema extends Context.Tag('@dxos/assistant/GraphWriterSchema')<\n GraphWriterSchema,\n {\n schema: Type.AnyEntity[];\n }\n>() {}\n\n/**\n * Forms typed objects that can be written to the graph database.\n */\nexport const makeGraphWriterToolkit = ({ schema }: { schema: Type.AnyEntity[] }) => {\n return Toolkit.make(\n Tool.make('graph_writer', {\n description: 'Write to the local graph database',\n parameters: createExtractionSchema(schema).fields,\n success: Schema.Unknown,\n failure: Schema.Never,\n dependencies: [Database.Service, Feed.ContextFeedService, Feed.FeedService],\n }).annotateContext(Context.make(GraphWriterSchema, { schema })),\n );\n};\n\nexport const makeGraphWriterHandler = (\n toolkit: ReturnType<typeof makeGraphWriterToolkit>,\n {\n onAppend,\n }: {\n onAppend?: (object: DXN[]) => void;\n } = {},\n) => {\n const { schema } = Context.get(\n toolkit.tools.graph_writer.annotations as Context.Context<GraphWriterSchema>,\n GraphWriterSchema,\n );\n\n return toolkit.toLayer({\n graph_writer: Effect.fn(function* (input) {\n const { db } = yield* Database.Service;\n const { feed } = yield* Feed.ContextFeedService;\n const data = yield* sanitizeObjects(schema, input as any, db, feed);\n yield* Feed.append(feed, data as Obj.Unknown[]);\n\n const dxns = data.map((obj) => Obj.getDXN(obj));\n onAppend?.(dxns);\n return dxns;\n }),\n });\n};\n\n/**\n * Create a schema for structured data extraction.\n */\nexport const createExtractionSchema = (types: Type.AnyEntity[]) => {\n return Schema.Struct({\n ...Object.fromEntries(\n types.map(preprocessSchema).map((schema, index) => [\n `objects_${getSanitizedSchemaName(types[index])}`,\n Schema.optional(Schema.Array(schema)).annotations({\n description: `The objects of type: ${Type.getDXN(types[index])?.asTypeDXN()!.type}. ${SchemaAST.getDescriptionAnnotation(types[index].ast).pipe(Option.getOrElse(() => ''))}`,\n }),\n ]),\n ),\n });\n};\n\nexport const getSanitizedSchemaName = (schema: Type.AnyEntity) => {\n return Type.getDXN(schema)!\n .asTypeDXN()!\n .type.replaceAll(/[^a-zA-Z0-9]+/g, '_');\n};\n\nexport const sanitizeObjects = (\n types: Type.AnyEntity[],\n data: Record<string, readonly unknown[]>,\n db: Database.Database,\n feed?: Feed.Feed,\n): Effect.Effect<Obj.Unknown[], never, Feed.FeedService> =>\n Effect.gen(function* () {\n const entries = types\n .map(\n (type) =>\n data[`objects_${getSanitizedSchemaName(type)}`]?.map((object: any) => ({\n data: object,\n schema: type,\n })) ?? [],\n )\n .flat();\n\n const idMap = new Map<string, string>();\n const existingIds = new Set<ObjectId>();\n const enitties = new Map<ObjectId, Entity.Unknown>();\n\n const resolveId = (id: string): DXN | undefined => {\n if (ObjectId.isValid(id)) {\n existingIds.add(id);\n return DXN.fromLocalObjectId(id);\n }\n\n const mappedId = idMap.get(id);\n if (mappedId) {\n return DXN.fromLocalObjectId(mappedId);\n }\n\n return undefined;\n };\n\n const res = entries\n .map((entry) => {\n // This entry mutates existing object.\n if (ObjectId.isValid(entry.data.id)) {\n return entry;\n }\n\n idMap.set(entry.data.id, ObjectId.random());\n entry.data.id = idMap.get(entry.data.id);\n return entry;\n })\n .map((entry) => {\n const data = deepMapValues(entry.data, (value, recurse) => {\n if (isEncodedReference(value)) {\n const ref = value['/'];\n const id = resolveId(ref);\n\n if (id) {\n // Link to an existing object.\n return { '/': id.toString() };\n } else {\n // Search URIs?\n return { '/': `search:?q=${encodeURIComponent(ref)}` };\n }\n }\n\n return recurse(value);\n });\n\n if (Entity.getKind(entry.schema) === 'relation') {\n const sourceDXN = resolveId(data.source);\n if (!sourceDXN) {\n log.warn('source not found', { source: data.source });\n }\n const targetDXN = resolveId(data.target);\n if (!targetDXN) {\n log.warn('target not found', { target: data.target });\n }\n delete data.source;\n delete data.target;\n data[RelationSourceDXNId] = sourceDXN;\n data[RelationTargetDXNId] = targetDXN;\n }\n\n return {\n data,\n schema: entry.schema,\n };\n })\n .filter((object) => !existingIds.has(object.data.id)); // TODO(dmaretskyi): This dissallows updating existing objects.\n\n // TODO(dmaretskyi): Use ref resolver.\n const dbObjects = yield* Effect.promise(() => db.query(Query.select(Filter.id(...existingIds))).run());\n const feedObjects = feed && existingIds.size > 0 ? yield* Feed.runQuery(feed, Filter.id(...existingIds)) : [];\n const objects = [...dbObjects, ...feedObjects].filter(isNonNullable);\n\n // TODO(dmaretskyi): Returns everything if IDs are empty!\n log.info('objects', { dbObjects, feedObjects, existingIds });\n const missing = Array.from(existingIds).filter((id) => !objects.some((object) => object.id === id));\n if (missing.length > 0) {\n throw new Error(`Object IDs do not point to existing objects: ${missing.join(', ')}`);\n }\n\n return res.flatMap(({ data, schema }) => {\n let skip = false;\n if (RelationSourceDXNId in data) {\n const id = (data[RelationSourceDXNId] as DXN).asEchoDXN()?.echoId;\n const obj = objects.find((object) => object.id === id) ?? enitties.get(id!);\n if (obj) {\n delete data[RelationSourceDXNId];\n data[RelationSourceId] = obj;\n } else {\n skip = true;\n }\n }\n if (RelationTargetDXNId in data) {\n const id = (data[RelationTargetDXNId] as DXN).asEchoDXN()?.echoId;\n const obj = objects.find((object) => object.id === id) ?? enitties.get(id!);\n if (obj) {\n delete data[RelationTargetDXNId];\n data[RelationTargetId] = obj;\n } else {\n skip = true;\n }\n }\n if (!skip) {\n const obj = createObject(schema, data);\n enitties.set(obj.id, obj);\n return [obj];\n }\n return [];\n });\n });\n\nconst SoftRef = Schema.Struct({\n '/': Schema.String,\n}).annotations({\n description: 'Reference to another object.',\n});\n\nconst preprocessSchema = (schema: Schema.Schema.AnyNoContext) => {\n const isRelationSchema = Entity.getKind(schema) === 'relation';\n\n const go = (ast: SchemaAST.AST, visited = new Set<SchemaAST.AST>()): SchemaAST.AST => {\n if (visited.has(ast)) {\n // Already visited this node, prevent infinite recursion.\n return ast;\n }\n visited.add(ast);\n\n if (SchemaAST.getAnnotation(ast, ReferenceAnnotationId).pipe(Option.isSome)) {\n return SoftRef.ast;\n }\n\n return mapAst(ast, (child) => go(child, visited));\n };\n\n return Schema.make<any, any, never>(mapAst(schema.ast, (ast) => go(ast))).pipe(\n Schema.omit('id'),\n Schema.extend(\n Schema.Struct({\n id: Schema.String.annotations({\n description: 'The id of this object. Come up with a unique id based on your judgement.',\n }),\n }),\n ),\n isRelationSchema\n ? Schema.extend(\n Schema.Struct({\n source: Schema.String.annotations({\n description: 'The id of the source object for this relation.',\n }),\n target: Schema.String.annotations({\n description: 'The id of the target object for this relation.',\n }),\n }),\n )\n : Function.identity<Schema.Schema.AnyNoContext>,\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * from './definitions';\n\nexport const AgentHandlers = OperationHandlerSet.lazy(() => import('./prompt'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as AnthropicTool from '@effect/ai-anthropic/AnthropicTool';\nimport * as Tool from '@effect/ai/Tool';\nimport * as Toolkit from '@effect/ai/Toolkit';\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\n// TODO(dmaretskyi): Testing only.\nexport const WebToolkit = Toolkit.make(\n AnthropicTool.WebSearch_20250305({}).pipe(\n // TODO(dmaretskyi): Effect bug -- provider-defined tools don't support annotations.\n // ToolFormatter.assign({\n // debugFormatResult: (result) =>\n // Array.isArray(result) ? result.map(Struct.pick('title', 'type', 'url', 'page_age')) : result,\n // }),\n ),\n Tool.make('WebFetch', {\n parameters: {\n url: Schema.String,\n },\n success: Schema.String,\n }),\n);\n\nexport const layer = WebToolkit.toLayer({\n WebFetch: Effect.fnUntraced(function* ({ url }) {\n const response = yield* Effect.promise(() => fetch(url).then((response) => response.text()));\n return response;\n }),\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["Blueprint", "Ref", "Text", "trim", "OperationHandlerSet", "DiscordHandlers", "lazy", "BLUEPRINT_KEY", "instructions", "trim", "make", "Blueprint", "key", "name", "description", "source", "Ref", "Text", "content", "tools", "toolDefinitions", "operations", "FetchMessages", "blueprint", "blueprint_default", "Blueprint", "Ref", "Text", "trim", "OperationHandlerSet", "LinearHandlers", "lazy", "BLUEPRINT_KEY", "instructions", "trim", "make", "Blueprint", "key", "name", "description", "source", "Ref", "Text", "content", "tools", "toolDefinitions", "operations", "SyncIssues", "blueprint", "blueprint_default", "Blueprint", "OperationHandlerSet", "PlanningHandlers", "lazy", "BLUEPRINT_KEY", "make", "Blueprint", "key", "name", "description", "tools", "toolDefinitions", "operations", "UpdateTasks", "blueprint", "blueprint_default", "Blueprint", "Ref", "Text", "OperationHandlerSet", "WebSearchHandlers", "lazy", "BLUEPRINT_KEY", "make", "Blueprint", "key", "name", "description", "agentCanEnable", "instructions", "source", "Ref", "Text", "tools", "toolDefinitions", "operations", "Fetch", "blueprint", "blueprint_default", "AnthropicTool", "Toolkit", "Layer", "OpaqueToolkit", "WebSearchToolkit", "make", "WebSearch_20250305", "WebSearchToolkitOpaque", "empty", "Blueprint", "Ref", "Text", "trim", "BLUEPRINT_KEY", "instructions", "make", "key", "name", "description", "agentCanEnable", "source", "content", "mcpServers", "url", "protocol", "blueprint", "blueprint_default", "Blueprint", "Ref", "Text", "trim", "OperationHandlerSet", "DatabaseHandlers", "lazy", "BLUEPRINT_KEY", "instructions", "trim", "make", "Blueprint", "key", "name", "description", "agentCanEnable", "source", "Ref", "Text", "content", "tools", "toolDefinitions", "operations", "ContextAdd", "ContextRemove", "Load", "ObjectCreate", "ObjectDelete", "ObjectUpdate", "Query", "RelationCreate", "RelationDelete", "SchemaAdd", "SchemaList", "TagAdd", "TagRemove", "blueprint", "blueprint_default", "Blueprint", "Ref", "Text", "trim", "OperationHandlerSet", "MemoryHandlers", "lazy", "BLUEPRINT_KEY", "instructions", "trim", "make", "Blueprint", "key", "name", "description", "agentCanEnable", "source", "Ref", "Text", "content", "tools", "toolDefinitions", "operations", "SaveMemory", "QueryMemories", "DeleteMemory", "blueprint", "blueprint_default", "Blueprint", "Trigger", "Operation", "Ref", "Text", "trim", "BLUEPRINT_KEY", "instructions", "PersistentOperation", "typename", "make", "key", "name", "description", "source", "content", "blueprint", "blueprint_default", "Blueprint", "Template", "trim", "OperationHandlerSet", "BlueprintManagerHandlers", "lazy", "BLUEPRINT_KEY", "make", "Blueprint", "key", "name", "description", "instructions", "Template", "source", "trim", "inputs", "kind", "operation", "QueryBlueprints", "meta", "tools", "toolDefinitions", "operations", "EnableBlueprints", "UpdateBlueprints", "blueprint", "blueprint_default", "Blueprint", "Template", "trim", "OperationHandlerSet", "AgentWizardHandlers", "lazy", "BLUEPRINT_KEY", "make", "Blueprint", "key", "name", "description", "agentCanEnable", "instructions", "Template", "source", "trim", "tools", "toolDefinitions", "operations", "AgentRules", "CreateAgent", "SyncTriggers", "blueprint", "blueprint_default", "Tool", "Toolkit", "Context", "Effect", "Function", "Option", "Schema", "SchemaAST", "Database", "Entity", "Feed", "Filter", "Obj", "Query", "Type", "isEncodedReference", "ReferenceAnnotationId", "RelationSourceDXNId", "RelationSourceId", "RelationTargetDXNId", "RelationTargetId", "createObject", "getTypeAnnotation", "getTypeIdentifierAnnotation", "mapAst", "DXN", "ObjectId", "log", "deepMapValues", "isNonNullable", "trim", "allSchemas", "schemaRegistry", "query", "filter", "schema", "isSchemaAddressableByDXN", "map", "kind", "dxn", "type", "parameters", "description", "success", "failure", "dependencies", "Service", "FeedService", "results", "feedOption", "feedObjects", "stringify", "createExtractionSchema", "ContextFeedService", "annotateContext", "toolkit", "graph_writer", "input", "data", "sanitizeObjects", "append", "feed", "dxns", "getDXN", "obj", "onAppend", "Object", "preprocessSchema", "optional", "Array", "annotations", "db", "object", "idMap", "Map", "existingIds", "Set", "enitties", "resolveId", "id", "isValid", "fromLocalObjectId", "mappedId", "undefined", "res", "entry", "ref", "getKind", "sourceDXN", "targetDXN", "dbObjects", "promise", "objects", "length", "Error", "missing", "join", "flatMap", "find", "skip", "SoftRef", "visited", "ast", "isRelationSchema", "source", "target", "String", "identity", "OperationHandlerSet", "AgentHandlers", "lazy", "AnthropicTool", "Tool", "Toolkit", "Effect", "Schema", "WebToolkit", "make", "WebSearch_20250305", "pipe", "parameters", "url", "String", "success", "layer", "toLayer", "WebFetch", "fnUntraced", "response", "promise", "fetch", "then", "text"]
7
7
  }