@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
  ObjectCreate
3
- } from "./chunk-CVUA23QI.mjs";
3
+ } from "./chunk-7UCYAP3T.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
6
  // src/blueprints/database/functions/object-create.ts
@@ -10,7 +10,7 @@ import { Database, Entity, Obj, Type } from "@dxos/echo";
10
10
  import { EncodedReference } from "@dxos/echo-protocol";
11
11
  import { invariant } from "@dxos/invariant";
12
12
  import { deepMapValues } from "@dxos/util";
13
- var __dxlog_file = "/__w/dxos/dxos/packages/core/assistant-toolkit/src/blueprints/database/functions/object-create.ts";
13
+ var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/blueprints/database/functions/object-create.ts";
14
14
  var object_create_default = ObjectCreate.pipe(Operation.withHandler(Effect.fn(function* ({ typename, data }) {
15
15
  const { db } = yield* Database.Service;
16
16
  const schema = yield* Effect.promise(() => db.schemaRegistry.query({
@@ -32,4 +32,4 @@ var object_create_default = ObjectCreate.pipe(Operation.withHandler(Effect.fn(fu
32
32
  export {
33
33
  object_create_default as default
34
34
  };
35
- //# sourceMappingURL=object-create-52Z7YKIA.mjs.map
35
+ //# sourceMappingURL=object-create-PL3WRP74.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ObjectDelete
3
- } from "./chunk-CVUA23QI.mjs";
3
+ } from "./chunk-7UCYAP3T.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
6
  // src/blueprints/database/functions/object-delete.ts
@@ -15,4 +15,4 @@ var object_delete_default = ObjectDelete.pipe(Operation.withHandler(Effect.fn(fu
15
15
  export {
16
16
  object_delete_default as default
17
17
  };
18
- //# sourceMappingURL=object-delete-I266YAXI.mjs.map
18
+ //# sourceMappingURL=object-delete-PZJQN5KW.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ObjectUpdate
3
- } from "./chunk-CVUA23QI.mjs";
3
+ } from "./chunk-7UCYAP3T.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
6
  // src/blueprints/database/functions/object-update.ts
@@ -25,4 +25,4 @@ var object_update_default = ObjectUpdate.pipe(Operation.withHandler(Effect.fn(fu
25
25
  export {
26
26
  object_update_default as default
27
27
  };
28
- //# sourceMappingURL=object-update-HY4GI7LA.mjs.map
28
+ //# sourceMappingURL=object-update-R43N3VJX.mjs.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  AgentBlueprintHandlers,
3
3
  blueprint_default
4
- } from "./chunk-JCYLFOFK.mjs";
4
+ } from "./chunk-W2722TC5.mjs";
5
5
  import {
6
6
  AddArtifact,
7
7
  AgentWorker,
8
8
  GetContext,
9
9
  Qualifier
10
- } from "./chunk-E2XRNXWP.mjs";
11
- import "./chunk-CLHVRIYF.mjs";
10
+ } from "./chunk-KS3IA6FQ.mjs";
11
+ import "./chunk-5GPL2WXU.mjs";
12
12
  import "./chunk-NR3GTWRC.mjs";
13
13
  import "./chunk-KGU725LW.mjs";
14
14
  import "./chunk-J5LGTIGS.mjs";
@@ -20,4 +20,4 @@ export {
20
20
  GetContext,
21
21
  Qualifier
22
22
  };
23
- //# sourceMappingURL=project-2YBPW5N7.mjs.map
23
+ //# sourceMappingURL=project-VVXXUMAI.mjs.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  AgentRules
3
- } from "./chunk-D5MG5OKX.mjs";
4
- import "./chunk-CLHVRIYF.mjs";
3
+ } from "./chunk-BCT55UTL.mjs";
4
+ import "./chunk-5GPL2WXU.mjs";
5
5
  import "./chunk-NR3GTWRC.mjs";
6
6
  import "./chunk-KGU725LW.mjs";
7
7
  import "./chunk-J5LGTIGS.mjs";
@@ -75,4 +75,4 @@ var project_rules_default = AgentRules.pipe(Operation.withHandler(Effect.fnUntra
75
75
  export {
76
76
  project_rules_default as default
77
77
  };
78
- //# sourceMappingURL=project-rules-XUBEPDP6.mjs.map
78
+ //# sourceMappingURL=project-rules-KSVSOZJV.mjs.map
@@ -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
  Chat
6
6
  } from "./chunk-NR3GTWRC.mjs";
@@ -37,7 +37,7 @@ var PromptError = class extends BaseError.extend("PromptError") {
37
37
  };
38
38
 
39
39
  // src/functions/agent/prompt.ts
40
- var __dxlog_file = "/__w/dxos/dxos/packages/core/assistant-toolkit/src/functions/agent/prompt.ts";
40
+ var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/functions/agent/prompt.ts";
41
41
  var DEFAULT_MODEL = "@anthropic/claude-opus-4-6";
42
42
  var prompt_default = AgentPrompt.pipe(Operation.withHandler(Effect.fnUntraced(function* (data) {
43
43
  log.info("processing input", {
@@ -88,7 +88,7 @@ ${data.systemInstructions}`;
88
88
  resultSink
89
89
  });
90
90
  const runtime2 = yield* Effect.runtime();
91
- const session = yield* acquireReleaseResource(() => new AiSession({
91
+ const session = yield* acquireReleaseResource(() => new AiSession.Session({
92
92
  feed,
93
93
  runtime: runtime2
94
94
  }));
@@ -113,7 +113,10 @@ ${data.systemInstructions}`;
113
113
  }), makeToolResolverFromOperations())));
114
114
  return yield* Deferred.poll(resultSink).pipe(Effect.flatten, Effect.flatten, Effect.catchTag("NoSuchElementException", () => Effect.fail(new PromptError("Agent did not signal task completion.", {}))));
115
115
  })));
116
- }, Effect.scoped, Effect.provide(Trace.writerLayerNoop))), Operation.opaqueHandler);
116
+ }, Effect.tapBoth({
117
+ onSuccess: () => Database.flush(),
118
+ onFailure: () => Database.flush()
119
+ }), Effect.scoped)), Operation.opaqueHandler);
117
120
  var makePromptAgentToolkit = (options) => {
118
121
  class PromptAgentToolkit extends Toolkit.make(Tool.make("completeJob", {
119
122
  parameters: {
@@ -150,13 +153,13 @@ var ToolExecutionService = ({ feed }) => Layer.unwrapEffect(Effect.gen(function*
150
153
  log("invoking operation", {
151
154
  operationDef,
152
155
  input
153
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 130, S: this });
156
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 133, S: this });
154
157
  const result = yield* operationInvoker.invoke(operationDef, input, {
155
158
  conversation: Obj.getDXN(feed).toString()
156
159
  }).pipe(Effect.orDie);
157
160
  log("result", {
158
161
  result
159
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 137, S: this });
162
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 140, S: this });
160
163
  return result;
161
164
  })
162
165
  });
@@ -164,4 +167,4 @@ var ToolExecutionService = ({ feed }) => Layer.unwrapEffect(Effect.gen(function*
164
167
  export {
165
168
  prompt_default as default
166
169
  };
167
- //# sourceMappingURL=prompt-2WZQERT4.mjs.map
170
+ //# sourceMappingURL=prompt-INL55Q2B.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/functions/agent/prompt.ts", "../../../src/errors.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Tool from '@effect/ai/Tool';\nimport * as Toolkit from '@effect/ai/Toolkit';\nimport * as Array from 'effect/Array';\nimport * as Deferred from 'effect/Deferred';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Layer from 'effect/Layer';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\n\nimport { AiService, OpaqueToolkit, ModelName } from '@dxos/ai';\nimport {\n AiSession,\n getOperationFromTool,\n makeToolExecutionService,\n makeToolResolverFromOperations,\n} from '@dxos/assistant';\nimport { Template, Trace, Operation } from '@dxos/compute';\nimport { Database, Feed, Obj, Ref } from '@dxos/echo';\nimport { acquireReleaseResource } from '@dxos/effect';\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\nimport { trim } from '@dxos/util';\n\nimport { PromptError } from '../../errors';\nimport * as Chat from '../../types/Chat';\nimport { AgentPrompt } from './definitions';\n\nconst DEFAULT_MODEL: ModelName = '@anthropic/claude-opus-4-6';\n\nexport default AgentPrompt.pipe(\n Operation.withHandler(\n Effect.fnUntraced(\n function* (data) {\n log.info('processing input', { input: data.input });\n\n const input = yield* Ref.isRef(data.input)\n ? Database.load(data.input).pipe(Effect.map(Obj.toJSON))\n : Effect.succeed(data.input);\n\n yield* Database.flush();\n const prompt = yield* Database.load(data.prompt);\n yield* Trace.emitStatus(`Running ${prompt.id}`);\n\n log.info('starting agent', { prompt: prompt.id, input });\n\n const blueprints = yield* Function.pipe(\n prompt.blueprints,\n Effect.forEach(Database.loadOption),\n Effect.map(Array.filter(Option.isSome)),\n Effect.map(Array.map((option) => option.value)),\n );\n\n const objects = yield* Function.pipe(\n prompt.context,\n Effect.forEach(Database.loadOption),\n Effect.map(Array.filter(Option.isSome)),\n Effect.map(Array.map((option) => option.value)),\n );\n\n const promptInstructions = yield* Database.load(prompt.instructions.source);\n let promptText = Template.process(promptInstructions.content, input);\n\n if (input !== undefined) {\n promptText += `\\n<input>${JSON.stringify(input)}</input>`;\n }\n\n let systemText = trim`\n You are an agent running in the non-interactive mode.\n The user is unable to see what you are doing, and cannot answer any questions.\n Do not ask questions.\n Complete the task before you, and at the end call [completeJob] with the output.\n If you are unable to complete the task, call [completeJob] with the failure reason.\n If no output is required, call [completeJob] with an empty object: {}\n Do not stop until you call [completeJob].\n `;\n if (data.systemInstructions) {\n systemText += `\\n\\n${data.systemInstructions}`;\n }\n\n const modelLayer = AiService.model(data.model ?? DEFAULT_MODEL);\n\n let feed: Feed.Feed;\n if (data.chat) {\n const chat = yield* Database.load(data.chat);\n invariant(Obj.instanceOf(Chat.Chat, chat), 'Expected Chat object.');\n feed = yield* Database.load(chat.feed);\n } else {\n feed = yield* Database.add(Feed.make());\n }\n\n const resultSink = yield* Deferred.make<unknown, PromptError>();\n const promptToolkit = makePromptAgentToolkit({\n output: Schema.Any, // TODO(dmaretskyi): Use prompt's output schema.\n resultSink,\n });\n\n const runtime = yield* Effect.runtime<Feed.FeedService>();\n const session = yield* acquireReleaseResource(() => new AiSession({ feed, runtime }));\n\n yield* Effect.promise(() =>\n session.context.bind({\n blueprints: blueprints.map((blueprint) => Ref.make(blueprint)),\n objects: objects.map((object) => Ref.make(object as Obj.Unknown)),\n }),\n );\n\n yield* session\n .createRequest({\n prompt: promptText,\n system: systemText,\n toolkit: promptToolkit,\n })\n .pipe(\n Effect.provide(\n Layer.mergeAll(modelLayer, ToolExecutionService({ feed }), makeToolResolverFromOperations()),\n ),\n );\n\n return yield* Deferred.poll(resultSink).pipe(\n Effect.flatten,\n Effect.flatten,\n Effect.catchTag('NoSuchElementException', () =>\n Effect.gen(function* () {\n yield* session\n .createRequest({\n prompt: 'You must signal task completion by calling [completeJob] with the output or failure reason.',\n system: systemText,\n toolkit: promptToolkit,\n })\n .pipe(\n Effect.provide(\n Layer.mergeAll(modelLayer, ToolExecutionService({ feed }), makeToolResolverFromOperations()),\n ),\n );\n\n return yield* Deferred.poll(resultSink).pipe(\n Effect.flatten,\n Effect.flatten,\n Effect.catchTag('NoSuchElementException', () =>\n Effect.fail(new PromptError('Agent did not signal task completion.', {})),\n ),\n );\n }),\n ),\n );\n },\n Effect.scoped,\n Effect.provide(Trace.writerLayerNoop),\n ),\n ),\n Operation.opaqueHandler,\n);\n\nconst makePromptAgentToolkit = (options: {\n output: Schema.Schema.Any;\n resultSink: Deferred.Deferred<unknown, PromptError>;\n}) => {\n class PromptAgentToolkit extends Toolkit.make(\n Tool.make('completeJob', {\n parameters: {\n success: Schema.optional(Schema.Any), // TODO(dmaretskyi): Pipe output schema here.\n failure: Schema.optional(\n Schema.Struct({\n message: Schema.String.annotations({\n description: 'Short message describing the error.',\n }),\n description: Schema.optional(Schema.String).annotations({\n description: 'Optional longer message describing in detail what went wrong',\n }),\n }),\n ),\n },\n }),\n ) {}\n const layer = PromptAgentToolkit.toLayer({\n completeJob: Effect.fnUntraced(function* (result) {\n if (result.failure) {\n yield* Deferred.fail(\n options.resultSink,\n new PromptError(result.failure.message, {\n description: result.failure.description,\n }),\n );\n } else {\n yield* Deferred.succeed(options.resultSink, result.success);\n }\n }),\n });\n\n return OpaqueToolkit.make(PromptAgentToolkit, layer);\n};\n\ninterface ToolExecutionServiceOptions {\n feed: Feed.Feed;\n}\n\nconst ToolExecutionService = ({ feed }: ToolExecutionServiceOptions) =>\n Layer.unwrapEffect(\n Effect.gen(function* () {\n const operationInvoker = yield* Operation.Service;\n return makeToolExecutionService({\n invoke: (tool, input) =>\n Effect.gen(function* () {\n const operationDef = getOperationFromTool(tool).pipe(Option.getOrThrow);\n log('invoking operation', { operationDef, input });\n const result = yield* operationInvoker\n .invoke(operationDef, input, {\n conversation: Obj.getDXN(feed).toString(),\n })\n .pipe(Effect.orDie);\n log('result', { result });\n return result;\n }),\n });\n }),\n );\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { BaseError } from '@dxos/errors';\nimport { DXN } from '@dxos/keys';\n\n/**\n * Agent could not execute prompt.\n */\nexport class PromptError extends BaseError.extend('PromptError') {\n constructor(\n message: string,\n context: {\n description?: string;\n prompt?: DXN.String;\n chat?: DXN.String;\n },\n ) {\n super({\n message,\n context,\n });\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["Tool", "Toolkit", "Array", "Deferred", "Effect", "Function", "Layer", "Option", "Schema", "AiService", "OpaqueToolkit", "AiSession", "getOperationFromTool", "makeToolExecutionService", "makeToolResolverFromOperations", "Template", "Trace", "Operation", "Database", "Feed", "Obj", "Ref", "acquireReleaseResource", "invariant", "log", "trim", "BaseError", "PromptError", "extend", "message", "context", "DEFAULT_MODEL", "log", "data", "input", "Database", "prompt", "load", "Trace", "emitStatus", "info", "objects", "Function", "context", "promptInstructions", "instructions", "promptText", "process", "JSON", "systemText", "trim", "modelLayer", "AiService", "model", "invariant", "Obj", "feed", "chat", "add", "Feed", "make", "resultSink", "Deferred", "output", "Any", "runtime", "Effect", "map", "object", "Ref", "session", "createRequest", "system", "toolkit", "pipe", "makeToolResolverFromOperations", "scoped", "writerLayerNoop", "Operation", "opaqueHandler", "makePromptAgentToolkit", "PromptAgentToolkit", "Toolkit", "Tool", "failure", "Schema", "annotations", "description", "result", "options", "ToolExecutionService", "unwrapEffect", "makeToolExecutionService", "invoke", "operationDef", "conversation", "getDXN", "toString", "orDie"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Tool from '@effect/ai/Tool';\nimport * as Toolkit from '@effect/ai/Toolkit';\nimport * as Array from 'effect/Array';\nimport * as Deferred from 'effect/Deferred';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Layer from 'effect/Layer';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\n\nimport { AiService, OpaqueToolkit, ModelName } from '@dxos/ai';\nimport {\n AiSession,\n getOperationFromTool,\n makeToolExecutionService,\n makeToolResolverFromOperations,\n} from '@dxos/assistant';\nimport { Template, Trace, Operation } from '@dxos/compute';\nimport { Database, Feed, Obj, Ref } from '@dxos/echo';\nimport { acquireReleaseResource } from '@dxos/effect';\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\nimport { trim } from '@dxos/util';\n\nimport { PromptError } from '../../errors';\nimport * as Chat from '../../types/Chat';\nimport { AgentPrompt } from './definitions';\n\nconst DEFAULT_MODEL: ModelName = '@anthropic/claude-opus-4-6';\n\nexport default AgentPrompt.pipe(\n Operation.withHandler(\n Effect.fnUntraced(\n function* (data) {\n log.info('processing input', { input: data.input });\n\n const input = yield* Ref.isRef(data.input)\n ? Database.load(data.input).pipe(Effect.map(Obj.toJSON))\n : Effect.succeed(data.input);\n\n yield* Database.flush();\n const prompt = yield* Database.load(data.prompt);\n yield* Trace.emitStatus(`Running ${prompt.id}`);\n\n log.info('starting agent', { prompt: prompt.id, input });\n\n const blueprints = yield* Function.pipe(\n prompt.blueprints,\n Effect.forEach(Database.loadOption),\n Effect.map(Array.filter(Option.isSome)),\n Effect.map(Array.map((option) => option.value)),\n );\n\n const objects = yield* Function.pipe(\n prompt.context,\n Effect.forEach(Database.loadOption),\n Effect.map(Array.filter(Option.isSome)),\n Effect.map(Array.map((option) => option.value)),\n );\n\n const promptInstructions = yield* Database.load(prompt.instructions.source);\n let promptText = Template.process(promptInstructions.content, input);\n\n if (input !== undefined) {\n promptText += `\\n<input>${JSON.stringify(input)}</input>`;\n }\n\n let systemText = trim`\n You are an agent running in the non-interactive mode.\n The user is unable to see what you are doing, and cannot answer any questions.\n Do not ask questions.\n Complete the task before you, and at the end call [completeJob] with the output.\n If you are unable to complete the task, call [completeJob] with the failure reason.\n If no output is required, call [completeJob] with an empty object: {}\n Do not stop until you call [completeJob].\n `;\n if (data.systemInstructions) {\n systemText += `\\n\\n${data.systemInstructions}`;\n }\n\n const modelLayer = AiService.model(data.model ?? DEFAULT_MODEL);\n\n let feed: Feed.Feed;\n if (data.chat) {\n const chat = yield* Database.load(data.chat);\n invariant(Obj.instanceOf(Chat.Chat, chat), 'Expected Chat object.');\n feed = yield* Database.load(chat.feed);\n } else {\n feed = yield* Database.add(Feed.make());\n }\n\n const resultSink = yield* Deferred.make<unknown, PromptError>();\n const promptToolkit = makePromptAgentToolkit({\n output: Schema.Any, // TODO(dmaretskyi): Use prompt's output schema.\n resultSink,\n });\n\n const runtime = yield* Effect.runtime<Feed.FeedService>();\n const session = yield* acquireReleaseResource(() => new AiSession.Session({ feed, runtime }));\n\n yield* Effect.promise(() =>\n session.context.bind({\n blueprints: blueprints.map((blueprint) => Ref.make(blueprint)),\n objects: objects.map((object) => Ref.make(object as Obj.Unknown)),\n }),\n );\n\n yield* session\n .createRequest({\n prompt: promptText,\n system: systemText,\n toolkit: promptToolkit,\n })\n .pipe(\n Effect.provide(\n Layer.mergeAll(modelLayer, ToolExecutionService({ feed }), makeToolResolverFromOperations()),\n ),\n );\n\n return yield* Deferred.poll(resultSink).pipe(\n Effect.flatten,\n Effect.flatten,\n Effect.catchTag('NoSuchElementException', () =>\n Effect.gen(function* () {\n yield* session\n .createRequest({\n prompt: 'You must signal task completion by calling [completeJob] with the output or failure reason.',\n system: systemText,\n toolkit: promptToolkit,\n })\n .pipe(\n Effect.provide(\n Layer.mergeAll(modelLayer, ToolExecutionService({ feed }), makeToolResolverFromOperations()),\n ),\n );\n\n return yield* Deferred.poll(resultSink).pipe(\n Effect.flatten,\n Effect.flatten,\n Effect.catchTag('NoSuchElementException', () =>\n Effect.fail(new PromptError('Agent did not signal task completion.', {})),\n ),\n );\n }),\n ),\n );\n },\n Effect.tapBoth({\n onSuccess: () => Database.flush(),\n onFailure: () => Database.flush(),\n }),\n Effect.scoped,\n ),\n ),\n Operation.opaqueHandler,\n);\n\nconst makePromptAgentToolkit = (options: {\n output: Schema.Schema.Any;\n resultSink: Deferred.Deferred<unknown, PromptError>;\n}) => {\n class PromptAgentToolkit extends Toolkit.make(\n Tool.make('completeJob', {\n parameters: {\n success: Schema.optional(Schema.Any), // TODO(dmaretskyi): Pipe output schema here.\n failure: Schema.optional(\n Schema.Struct({\n message: Schema.String.annotations({\n description: 'Short message describing the error.',\n }),\n description: Schema.optional(Schema.String).annotations({\n description: 'Optional longer message describing in detail what went wrong',\n }),\n }),\n ),\n },\n }),\n ) {}\n const layer = PromptAgentToolkit.toLayer({\n completeJob: Effect.fnUntraced(function* (result) {\n if (result.failure) {\n yield* Deferred.fail(\n options.resultSink,\n new PromptError(result.failure.message, {\n description: result.failure.description,\n }),\n );\n } else {\n yield* Deferred.succeed(options.resultSink, result.success);\n }\n }),\n });\n\n return OpaqueToolkit.make(PromptAgentToolkit, layer);\n};\n\ninterface ToolExecutionServiceOptions {\n feed: Feed.Feed;\n}\n\nconst ToolExecutionService = ({ feed }: ToolExecutionServiceOptions) =>\n Layer.unwrapEffect(\n Effect.gen(function* () {\n const operationInvoker = yield* Operation.Service;\n return makeToolExecutionService({\n invoke: (tool, input) =>\n Effect.gen(function* () {\n const operationDef = getOperationFromTool(tool).pipe(Option.getOrThrow);\n log('invoking operation', { operationDef, input });\n const result = yield* operationInvoker\n .invoke(operationDef, input, {\n conversation: Obj.getDXN(feed).toString(),\n })\n .pipe(Effect.orDie);\n log('result', { result });\n return result;\n }),\n });\n }),\n );\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { BaseError } from '@dxos/errors';\nimport { DXN } from '@dxos/keys';\n\n/**\n * Agent could not execute prompt.\n */\nexport class PromptError extends BaseError.extend('PromptError') {\n constructor(\n message: string,\n context: {\n description?: string;\n prompt?: DXN.String;\n chat?: DXN.String;\n },\n ) {\n super({\n message,\n context,\n });\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["Tool", "Toolkit", "Array", "Deferred", "Effect", "Function", "Layer", "Option", "Schema", "AiService", "OpaqueToolkit", "AiSession", "getOperationFromTool", "makeToolExecutionService", "makeToolResolverFromOperations", "Template", "Trace", "Operation", "Database", "Feed", "Obj", "Ref", "acquireReleaseResource", "invariant", "log", "trim", "BaseError", "PromptError", "extend", "message", "context", "DEFAULT_MODEL", "log", "data", "input", "Database", "prompt", "load", "Trace", "emitStatus", "info", "objects", "Function", "context", "promptInstructions", "instructions", "promptText", "process", "JSON", "systemText", "trim", "modelLayer", "AiService", "model", "invariant", "Obj", "feed", "chat", "add", "Feed", "make", "resultSink", "Deferred", "output", "Any", "runtime", "Effect", "map", "object", "Ref", "session", "createRequest", "system", "toolkit", "pipe", "makeToolResolverFromOperations", "tapBoth", "onSuccess", "onFailure", "scoped", "Operation", "opaqueHandler", "makePromptAgentToolkit", "options", "PromptAgentToolkit", "Toolkit", "failure", "Schema", "annotations", "description", "result", "ToolExecutionService", "unwrapEffect", "makeToolExecutionService", "invoke", "operationDef", "conversation", "getDXN", "toString", "orDie"]
7
7
  }
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  Qualifier
3
- } from "./chunk-E2XRNXWP.mjs";
3
+ } from "./chunk-KS3IA6FQ.mjs";
4
4
  import {
5
5
  Agent_exports,
6
6
  Plan_exports
7
- } from "./chunk-CLHVRIYF.mjs";
7
+ } from "./chunk-5GPL2WXU.mjs";
8
8
  import "./chunk-NR3GTWRC.mjs";
9
9
  import "./chunk-KGU725LW.mjs";
10
10
  import "./chunk-J5LGTIGS.mjs";
@@ -16,15 +16,15 @@ import * as Effect from "effect/Effect";
16
16
  import * as Schema from "effect/Schema";
17
17
  import { AiService } from "@dxos/ai";
18
18
  import { Operation } from "@dxos/compute";
19
- import { Database, Obj, Ref } from "@dxos/echo";
19
+ import { Database, Feed, Obj, Ref } from "@dxos/echo";
20
20
  import { invariant } from "@dxos/invariant";
21
21
  import { trim } from "@dxos/util";
22
- var __dxlog_file = "/__w/dxos/dxos/packages/core/assistant-toolkit/src/blueprints/project/functions/qualifier.ts";
22
+ var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/blueprints/project/functions/qualifier.ts";
23
23
  var qualifier_default = Qualifier.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ agent: agentRef, event }) {
24
24
  const agent = yield* Database.load(agentRef);
25
25
  invariant(Obj.instanceOf(Agent_exports.Agent, agent), void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 17, S: this, A: ["Obj.instanceOf(Agent.Agent, agent)", ""] });
26
26
  invariant(agent.chat, "Agent has no chat.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 18, S: this, A: ["agent.chat", "'Agent has no chat.'"] });
27
- const { id, name, queue } = agent;
27
+ const { id, name, feed: queue } = agent;
28
28
  if (!queue) {
29
29
  throw new Error("Agent has no queue.");
30
30
  }
@@ -66,17 +66,17 @@ var qualifier_default = Qualifier.pipe(Operation.withHandler(Effect.fnUntraced(f
66
66
  }));
67
67
  const { isRelevant } = value;
68
68
  if (isRelevant) {
69
- const queueTarget = yield* Database.load(queue);
69
+ const feedTarget = yield* Database.load(queue);
70
70
  if ("queue" in event && event.item) {
71
71
  const obj = event.item;
72
- yield* Effect.promise(() => queueTarget.append([
72
+ yield* Feed.append(feedTarget, [
73
73
  obj
74
- ]));
74
+ ]);
75
75
  } else if ("subject" in event && Ref.isRef(event.subject)) {
76
76
  const obj = yield* Database.load(event.subject);
77
- yield* Effect.promise(() => queueTarget.append([
77
+ yield* Feed.append(feedTarget, [
78
78
  obj
79
- ]));
79
+ ]);
80
80
  } else {
81
81
  throw new Error("Invalid event.");
82
82
  }
@@ -85,4 +85,4 @@ var qualifier_default = Qualifier.pipe(Operation.withHandler(Effect.fnUntraced(f
85
85
  export {
86
86
  qualifier_default as default
87
87
  };
88
- //# sourceMappingURL=qualifier-2AC2ICOB.mjs.map
88
+ //# sourceMappingURL=qualifier-DAF4H7V3.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/blueprints/project/functions/qualifier.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as LanguageModel from '@effect/ai/LanguageModel';\nimport * as Prompt from '@effect/ai/Prompt';\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { AiService } from '@dxos/ai';\nimport { Operation } from '@dxos/compute';\nimport { Database, Feed, Obj, Ref } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { trim } from '@dxos/util';\n\nimport { Plan, Agent } from '../../../types';\nimport { Qualifier } from './definitions';\n\nexport default Qualifier.pipe(\n Operation.withHandler(\n Effect.fnUntraced(\n function* ({ agent: agentRef, event }) {\n const agent = yield* Database.load(agentRef);\n invariant(Obj.instanceOf(Agent.Agent, agent));\n invariant(agent.chat, 'Agent has no chat.');\n\n const { id, name, feed: queue } = agent;\n if (!queue) {\n throw new Error('Agent has no queue.');\n }\n\n const plan = yield* Database.load(agent.plan);\n const instructions = yield* Database.load(agent.instructions);\n\n const { value } = yield* Effect.scoped(\n LanguageModel.generateObject({\n schema: Schema.Struct({\n isRelevant: Schema.Boolean,\n }),\n prompt: Prompt.fromMessages([\n Prompt.systemMessage({\n content: trim`\n You are a qualifying agent that determines if the event is relevant to the agent.\n Respond with true if the event is relevant to the agent, false otherwise.\n If you are not sure, return true.\n The qualified events will be forwarded to the larger agent that will process them.\n <agent id=\"${id}\" name=\"${name}\">\n <instructions>\n ${instructions.content}\n </instructions>\n <plan>\n ${Plan.formatPlan(plan)}\n </plan>\n </agent>\n `,\n }),\n Prompt.userMessage({\n content: [\n Prompt.makePart('text', {\n text: trim`\n <event>\n ${JSON.stringify(event, null, 2)}\n </event>\n `,\n }),\n ],\n }),\n ]),\n }),\n );\n\n const { isRelevant } = value as { isRelevant: boolean };\n\n if (isRelevant) {\n const feedTarget = yield* Database.load(queue);\n if ('queue' in event && event.item) {\n const obj = event.item;\n yield* Feed.append(feedTarget, [obj]);\n } else if ('subject' in event && Ref.isRef(event.subject)) {\n const obj = yield* Database.load(event.subject);\n yield* Feed.append(feedTarget, [obj]);\n } else {\n throw new Error('Invalid event.');\n }\n }\n },\n Effect.provide(AiService.model('@anthropic/claude-sonnet-4-5')),\n ),\n ),\n);\n"],
5
+ "mappings": ";;;;;;;;;;;;AAIA,YAAYA,mBAAmB;AAC/B,YAAYC,YAAY;AACxB,YAAYC,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,MAAMC,KAAKC,WAAW;AACzC,SAASC,iBAAiB;AAC1B,SAASC,YAAY;AAKrB,IAAA,eAAeC;IAKPC,oBAAUC,UAAIC,KAAWC,UAAW,YAAEC,kBAAAA,WAAAA,EAAAA,OAAAA,UAAAA,MAAAA,GAAAA;AACtCJ,QAAAA,QAAUI,OAAU,SAAE,KAAA,QAAA;AAEtB,YAAU,IAAEC,WAAYC,cAAO,OAAGF,KAAAA,GAAAA,QAAAA,EAAAA,YAAAA,YAAAA,GAAAA,cAAAA,GAAAA,IAAAA,GAAAA,MAAAA,GAAAA,CAAAA,sCAAAA,EAAAA,EAAAA,CAAAA;AAClC,YAAKE,MAAO,MAAA,sBAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,cAAA,sBAAA,EAAA,CAAA;QACV,EAAA,IAAM,MAAIC,MAAM,MAAA,IAAA;AAClB,MAAA,CAAA,OAAA;AAEA,UAAMC,IAAO,MAAOC,qBAAoBD;EACxC;AAEA,QAAM,OAAO,OAAK,SAAOE,KAAOC,MAC9BC,IAAAA;QACEC,eAAeC,OAAO,SAAA,KAAA,MAAA,YAAA;UACpBC,MAAAA,IAAAA,OAAmBC,cAAO,6BAAA;IAC5B,QAAA,cAAA;MACAC,YAAeC;;YAEXC,oBAAc;;;;;;;+BAORC,EAAAA,WAAqB,IAAA;;;;;;;;;;yBAUlBC;iBACLC;;YAEI,MAAEC;;0BAEL,KAAA,UAAA,OAAA,MAAA,CAAA,CAAA;;;UAGP,CAAA;QACD;MACH,CAAA;IAGF,CAAA;EAEA,CAAA,CAAA;QACE,EAAA,WAAMC,IAAa;MACnB,YAAI;UACF,aAAYC,OAAU,SAAA,KAAA,KAAA;QACtB,WAAOC,SAAYF,MAAAA,MAAY;YAACG,MAAAA,MAAAA;aAAI,KAAA,OAAA,YAAA;QAC/B;MACL,CAAA;eACOD,aAAYF,SAAAA,IAAY,MAAA,MAAA,OAAA,GAAA;YAACG,MAAAA,OAAAA,SAAAA,KAAAA,MAAAA,OAAAA;aAAI,KAAA,OAAA,YAAA;QAC/B;MACL,CAAA;IACF,OAAA;AACF,YAAA,IAAA,MAAA,gBAAA;IAEFjB;;;",
6
+ "names": ["LanguageModel", "Prompt", "Effect", "Schema", "AiService", "Operation", "Database", "Feed", "Obj", "Ref", "invariant", "trim", "Qualifier", "invariant", "Obj", "instanceOf", "Agent", "agent", "name", "queue", "Error", "plan", "Database", "Effect", "scoped", "LanguageModel", "schema", "Struct", "isRelevant", "Boolean", "prompt", "fromMessages", "content", "instructions", "makePart", "text", "JSON", "feedTarget", "event", "Feed", "obj"]
7
+ }
@@ -1,13 +1,12 @@
1
1
  import {
2
2
  Query
3
- } from "./chunk-CVUA23QI.mjs";
3
+ } from "./chunk-7UCYAP3T.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
6
  // src/blueprints/database/functions/query.ts
7
7
  import * as Effect from "effect/Effect";
8
8
  import { Operation } from "@dxos/compute";
9
- import { Entity, Filter, Obj, Query as EchoQuery } from "@dxos/echo";
10
- import { Database } from "@dxos/echo";
9
+ import { Database, Entity, Filter, Obj, Query as EchoQuery } from "@dxos/echo";
11
10
  var query_default = Query.pipe(Operation.withHandler(Effect.fn(function* ({ in: parents, typename, text, includeContent = false, limit = 10, includeQueues = false }) {
12
11
  const { db } = yield* Database.Service;
13
12
  let query;
@@ -67,4 +66,4 @@ var query_default = Query.pipe(Operation.withHandler(Effect.fn(function* ({ in:
67
66
  export {
68
67
  query_default as default
69
68
  };
70
- //# sourceMappingURL=query-B3NOYFCK.mjs.map
69
+ //# sourceMappingURL=query-MP5NSQKO.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/blueprints/database/functions/query.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database, Entity, Filter, Obj, Query as EchoQuery } from '@dxos/echo';\n\nimport { Query } from './definitions';\n\n// TODO(burdon): Move to toolkit (i.e., tool not function).\nexport default Query.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ in: parents, typename, text, includeContent = false, limit = 10, includeQueues = false }) {\n const { db } = yield* Database.Service;\n let query: EchoQuery.Any;\n if (text) {\n query = EchoQuery.all(\n ...text.split(' ').map((term) => EchoQuery.select(Filter.text(term, { type: 'full-text' }))),\n );\n if (typename !== undefined) {\n const schema = yield* Database.runSchemaQuery({ typename, location: ['database', 'runtime'] });\n if (schema.length === 0) {\n return yield* Effect.fail(new Error(`Schema ${typename} not found`));\n }\n query = query.select(Filter.type(schema[0]));\n }\n } else if (typename) {\n const schema = yield* Database.runSchemaQuery({ typename, location: ['database', 'runtime'] });\n if (schema.length === 0) {\n return yield* Effect.fail(new Error(`Schema ${typename} not found`));\n }\n query = EchoQuery.select(Filter.type(schema[0]));\n } else {\n query = EchoQuery.select(Filter.everything());\n }\n\n if (parents && parents.length > 0) {\n query = query.select(Filter.childOf(parents));\n }\n\n query = query.limit(limit);\n if (includeQueues) {\n // Must scope to the current space: `from({ allFeedsFromSpaces: true })` alone has no spaceIds, so the SQL\n // index returns nothing (see ObjectMetaIndex.buildSourceCondition / early returns when spaceIds are empty).\n query = query.from(db, { includeFeeds: true });\n }\n\n yield* Database.flush();\n const results = yield* Database.runQuery(query);\n if (includeContent) {\n return results.map((obj) => Entity.toJSON(obj));\n } else {\n return results.map((obj) => ({\n dxn: Obj.getDXN(obj).toString(),\n typename: Obj.getTypename(obj),\n label: Obj.getLabel(obj),\n }));\n }\n }),\n ),\n);\n"],
5
+ "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,QAAQC,QAAQC,KAAKC,SAASC,iBAAiB;AAKlE,IAAA,gBAAeC,MAAMC,KACnBC,UAAUC,YACDC,UAAG,WAAW,EAAEC,IAAIC,SAASC,UAAUC,MAAMC,iBAAiB,OAAOC,QAAQ,IAAIC,gBAAgB,MAAK,GAAE;AAC7G,QAAM,EAAEC,GAAE,IAAK,OAAOC,SAASC;AAC/B,MAAIC;AACJ,MAAIP,MAAM;AACRO,YAAQC,UAAUC,IAAG,GAChBT,KAAKU,MAAM,GAAA,EAAKC,IAAI,CAACC,SAASJ,UAAUK,OAAOC,OAAOd,KAAKY,MAAM;MAAEG,MAAM;IAAY,CAAA,CAAA,CAAA,CAAA;AAE1F,QAAIhB,aAAaiB,QAAW;AAC1B,YAAMC,SAAS,OAAOZ,SAASa,eAAe;QAAEnB;QAAUoB,UAAU;UAAC;UAAY;;MAAW,CAAA;AAC5F,UAAIF,OAAOG,WAAW,GAAG;AACvB,eAAO,OAAcC,YAAK,IAAIC,MAAM,UAAUvB,QAAAA,YAAoB,CAAA;MACpE;AACAQ,cAAQA,MAAMM,OAAOC,OAAOC,KAAKE,OAAO,CAAA,CAAE,CAAA;IAC5C;EACF,WAAWlB,UAAU;AACnB,UAAMkB,SAAS,OAAOZ,SAASa,eAAe;MAAEnB;MAAUoB,UAAU;QAAC;QAAY;;IAAW,CAAA;AAC5F,QAAIF,OAAOG,WAAW,GAAG;AACvB,aAAO,OAAcC,YAAK,IAAIC,MAAM,UAAUvB,QAAAA,YAAoB,CAAA;IACpE;AACAQ,YAAQC,UAAUK,OAAOC,OAAOC,KAAKE,OAAO,CAAA,CAAE,CAAA;EAChD,OAAO;AACLV,YAAQC,UAAUK,OAAOC,OAAOS,WAAU,CAAA;EAC5C;AAEA,MAAIzB,WAAWA,QAAQsB,SAAS,GAAG;AACjCb,YAAQA,MAAMM,OAAOC,OAAOU,QAAQ1B,OAAAA,CAAAA;EACtC;AAEAS,UAAQA,MAAML,MAAMA,KAAAA;AACpB,MAAIC,eAAe;AAGjBI,YAAQA,MAAMkB,KAAKrB,IAAI;MAAEsB,cAAc;IAAK,CAAA;EAC9C;AAEA,SAAOrB,SAASsB,MAAK;AACrB,QAAMC,UAAU,OAAOvB,SAASwB,SAAStB,KAAAA;AACzC,MAAIN,gBAAgB;AAClB,WAAO2B,QAAQjB,IAAI,CAACmB,QAAQC,OAAOC,OAAOF,GAAAA,CAAAA;EAC5C,OAAO;AACL,WAAOF,QAAQjB,IAAI,CAACmB,SAAS;MAC3BG,KAAKC,IAAIC,OAAOL,GAAAA,EAAKM,SAAQ;MAC7BrC,UAAUmC,IAAIG,YAAYP,GAAAA;MAC1BQ,OAAOJ,IAAIK,SAAST,GAAAA;IACtB,EAAA;EACF;AACF,CAAA,CAAA,CAAA;",
6
+ "names": ["Effect", "Operation", "Database", "Entity", "Filter", "Obj", "Query", "EchoQuery", "Query", "pipe", "Operation", "withHandler", "fn", "in", "parents", "typename", "text", "includeContent", "limit", "includeQueues", "db", "Database", "Service", "query", "EchoQuery", "all", "split", "map", "term", "select", "Filter", "type", "undefined", "schema", "runSchemaQuery", "location", "length", "fail", "Error", "everything", "childOf", "from", "includeFeeds", "flush", "results", "runQuery", "obj", "Entity", "toJSON", "dxn", "Obj", "getDXN", "toString", "getTypename", "label", "getLabel"]
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  QueryBlueprints
3
- } from "./chunk-TO5IX24K.mjs";
3
+ } from "./chunk-ANSF2BHN.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
6
  // src/blueprints/blueprint-manager/functions/query-blueprints.ts
@@ -13,4 +13,4 @@ var query_blueprints_default = QueryBlueprints.pipe(Operation.withHandler(Effect
13
13
  export {
14
14
  query_blueprints_default as default
15
15
  };
16
- //# sourceMappingURL=query-blueprints-KXADGHSA.mjs.map
16
+ //# sourceMappingURL=query-blueprints-PLWYVOI3.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  RelationCreate
3
- } from "./chunk-CVUA23QI.mjs";
3
+ } from "./chunk-7UCYAP3T.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
6
  // src/blueprints/database/functions/relation-create.ts
@@ -8,7 +8,7 @@ import * as Effect from "effect/Effect";
8
8
  import { Operation } from "@dxos/compute";
9
9
  import { Database, Entity, Relation, Type } from "@dxos/echo";
10
10
  import { invariant } from "@dxos/invariant";
11
- var __dxlog_file = "/__w/dxos/dxos/packages/core/assistant-toolkit/src/blueprints/database/functions/relation-create.ts";
11
+ var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/blueprints/database/functions/relation-create.ts";
12
12
  var relation_create_default = RelationCreate.pipe(Operation.withHandler(Effect.fn(function* ({ typename, source, target, properties }) {
13
13
  const { db } = yield* Database.Service;
14
14
  const schema = yield* Effect.promise(() => db.schemaRegistry.query({
@@ -31,4 +31,4 @@ var relation_create_default = RelationCreate.pipe(Operation.withHandler(Effect.f
31
31
  export {
32
32
  relation_create_default as default
33
33
  };
34
- //# sourceMappingURL=relation-create-Z3NGW4VU.mjs.map
34
+ //# sourceMappingURL=relation-create-YAAAFTR2.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  RelationDelete
3
- } from "./chunk-CVUA23QI.mjs";
3
+ } from "./chunk-7UCYAP3T.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
6
  // src/blueprints/database/functions/relation-delete.ts
@@ -15,4 +15,4 @@ var relation_delete_default = RelationDelete.pipe(Operation.withHandler(Effect.f
15
15
  export {
16
16
  relation_delete_default as default
17
17
  };
18
- //# sourceMappingURL=relation-delete-LXY7W2YO.mjs.map
18
+ //# sourceMappingURL=relation-delete-IEPKERFR.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SchemaAdd
3
- } from "./chunk-CVUA23QI.mjs";
3
+ } from "./chunk-7UCYAP3T.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
6
  // src/blueprints/database/functions/schema-add.ts
@@ -21,4 +21,4 @@ var schema_add_default = SchemaAdd.pipe(Operation.withHandler(Effect.fn(function
21
21
  export {
22
22
  schema_add_default as default
23
23
  };
24
- //# sourceMappingURL=schema-add-4TXJO2V7.mjs.map
24
+ //# sourceMappingURL=schema-add-5BNIINRS.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SchemaList
3
- } from "./chunk-CVUA23QI.mjs";
3
+ } from "./chunk-7UCYAP3T.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
6
  // src/blueprints/database/functions/schema-list.ts
@@ -35,4 +35,4 @@ var schema_list_default = SchemaList.pipe(Operation.withHandler(Effect.fn(functi
35
35
  export {
36
36
  schema_list_default as default
37
37
  };
38
- //# sourceMappingURL=schema-list-PJS5AFZ3.mjs.map
38
+ //# sourceMappingURL=schema-list-54UK7S4R.mjs.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SyncIssues,
3
3
  syncObjects
4
- } from "./chunk-KY2TIPJ5.mjs";
4
+ } from "./chunk-MMQ7HFL4.mjs";
5
5
  import "./chunk-J5LGTIGS.mjs";
6
6
 
7
7
  // src/blueprints/linear/functions/sync-issues.ts
@@ -11,8 +11,7 @@ import * as Array from "effect/Array";
11
11
  import * as Effect from "effect/Effect";
12
12
  import * as Function from "effect/Function";
13
13
  import { Credential, Operation } from "@dxos/compute";
14
- import { Filter, Obj, Query, Ref } from "@dxos/echo";
15
- import { Database } from "@dxos/echo";
14
+ import { Database, Filter, Obj, Query, Ref } from "@dxos/echo";
16
15
  import { withAuthorization } from "@dxos/functions";
17
16
  import { log } from "@dxos/log";
18
17
  import { Person, Pipeline, Task } from "@dxos/types";
@@ -25,7 +24,7 @@ var graphqlRequestBody = (query, variables = {}) => HttpBody.json({
25
24
  });
26
25
 
27
26
  // src/blueprints/linear/functions/sync-issues.ts
28
- var __dxlog_file = "/__w/dxos/dxos/packages/core/assistant-toolkit/src/blueprints/linear/functions/sync-issues.ts";
27
+ var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/blueprints/linear/functions/sync-issues.ts";
29
28
  var queryIssues = `
30
29
  query Issues($teamId: String!, $after: DateTimeOrDuration!) {
31
30
  team(id: $teamId) {
@@ -73,7 +72,7 @@ var sync_issues_default = SyncIssues.pipe(Operation.withHandler(Effect.fnUntrace
73
72
  const after = yield* getLatestUpdateTimestamp(team, Task.Task);
74
73
  log.info("will fetch", {
75
74
  after
76
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 63, S: this });
75
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 62, S: this });
77
76
  const response = yield* client.post("https://api.linear.app/graphql", {
78
77
  body: yield* graphqlRequestBody(queryIssues, {
79
78
  teamId: team,
@@ -86,7 +85,7 @@ var sync_issues_default = SyncIssues.pipe(Operation.withHandler(Effect.fnUntrace
86
85
  }));
87
86
  log.info("Fetched tasks", {
88
87
  count: tasks.length
89
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 76, S: this });
88
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 75, S: this });
90
89
  return {
91
90
  objects: yield* syncObjects(tasks, {
92
91
  foreignKeyId: LINEAR_ID_KEY
@@ -164,4 +163,4 @@ export {
164
163
  LINEAR_UPDATED_AT_KEY,
165
164
  sync_issues_default as default
166
165
  };
167
- //# sourceMappingURL=sync-issues-LOLHZNFL.mjs.map
166
+ //# sourceMappingURL=sync-issues-DWY76B3M.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/blueprints/linear/functions/sync-issues.ts", "../../../src/util/graphql.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as FetchHttpClient from '@effect/platform/FetchHttpClient';\nimport * as HttpClient from '@effect/platform/HttpClient';\nimport * as Array from 'effect/Array';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\n\nimport { Credential, Operation } from '@dxos/compute';\nimport { Database, Filter, Obj, Query, Ref, type Type } from '@dxos/echo';\nimport { withAuthorization } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { Person, Pipeline, Task } from '@dxos/types';\n\nimport { syncObjects } from '../../../sync';\nimport { graphqlRequestBody } from '../../../util';\nimport { SyncIssues } from './definitions';\n\nconst queryIssues = `\nquery Issues($teamId: String!, $after: DateTimeOrDuration!) {\n team(id: $teamId) {\n id\n name\n\n\n issues(last: 150, orderBy: updatedAt, filter: {\n updatedAt: { gt: $after }\n }) {\n edges {\n node {\n id\n title\n createdAt\n updatedAt\n description\n assignee { id, name }\n state {\n name\n }\n project {\n id\n name\n }\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n}\n`;\n\ntype LinearIssue = {\n id: string;\n title: string;\n createdAt: string;\n updatedAt: string;\n description: string;\n assignee: LinearPerson;\n state: { name: string };\n project: { id: string; name: string };\n};\n\ntype LinearPerson = {\n id: string;\n name: string;\n};\n\nexport const LINEAR_ID_KEY = 'linear.app/id';\nexport const LINEAR_TEAM_ID_KEY = 'linear.app/teamId';\nexport const LINEAR_UPDATED_AT_KEY = 'linear.app/updatedAt';\n\nexport default SyncIssues.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ team }) {\n const credential = yield* Credential.CredentialsService.getCredential({ service: 'linear.app' });\n const client = yield* HttpClient.HttpClient.pipe(Effect.map(withAuthorization(credential.apiKey!)));\n\n const after = yield* getLatestUpdateTimestamp(team, Task.Task);\n log.info('will fetch', { after });\n\n const response = yield* client.post('https://api.linear.app/graphql', {\n body: yield* graphqlRequestBody(queryIssues, {\n teamId: team,\n after,\n }),\n });\n const json: any = yield* response.json;\n const tasks = (json.data.team.issues.edges as any[]).map((edge: any) =>\n mapLinearIssue(edge.node as LinearIssue, { teamId: team }),\n );\n log.info('Fetched tasks', { count: tasks.length });\n\n return {\n objects: yield* syncObjects(tasks, { foreignKeyId: LINEAR_ID_KEY }),\n syncComplete: tasks.length < 150,\n };\n }, Effect.provide(FetchHttpClient.layer)),\n ),\n);\n\nconst getLatestUpdateTimestamp: (\n teamId: string,\n dataType: Type.AnyObj,\n) => Effect.Effect<string, never, Database.Service> = Effect.fnUntraced(function* (teamId, dataType) {\n const existingTasks = yield* Database.runQuery(\n Query.type(dataType).select(Filter.foreignKeys(dataType, [{ source: LINEAR_TEAM_ID_KEY, id: teamId }])),\n );\n return Function.pipe(\n existingTasks,\n Array.map((task) => Obj.getKeys(task, LINEAR_UPDATED_AT_KEY).at(0)?.id),\n Array.filter((x) => x !== undefined),\n Array.reduce('2025-01-01T00:00:00.000Z', (acc: string, x: string) => (x > acc ? x : acc)),\n );\n});\n\nconst mapLinearPerson = (person: LinearPerson, { teamId }: { teamId: string }): Person.Person =>\n Obj.make(Person.Person, {\n [Obj.Meta]: {\n keys: [\n {\n id: person.id,\n source: LINEAR_ID_KEY,\n },\n {\n id: teamId,\n source: LINEAR_TEAM_ID_KEY,\n },\n ],\n },\n nickname: person.name,\n });\n\nconst mapLinearIssue = (issue: LinearIssue, { teamId }: { teamId: string }): Task.Task =>\n Obj.make(Task.Task, {\n [Obj.Meta]: {\n keys: [\n {\n id: issue.id,\n source: LINEAR_ID_KEY,\n },\n {\n id: issue.updatedAt,\n source: LINEAR_UPDATED_AT_KEY,\n },\n {\n id: teamId,\n source: LINEAR_TEAM_ID_KEY,\n },\n ],\n },\n title: issue.title ?? undefined,\n description: issue.description ?? undefined,\n assigned: !issue.assignee ? undefined : Ref.make(mapLinearPerson(issue.assignee, { teamId })),\n // TODO(dmaretskyi): Sync those (+ linear team as org?).\n // state: issue.state.name,\n\n project: !issue.project\n ? undefined\n : Ref.make(\n Pipeline.make({\n [Obj.Meta]: {\n keys: [\n {\n id: issue.project.id,\n source: LINEAR_ID_KEY,\n },\n {\n id: teamId,\n source: LINEAR_TEAM_ID_KEY,\n },\n ],\n },\n name: issue.project.name,\n }),\n ),\n });\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as HttpBody from '@effect/platform/HttpBody';\n\n/**\n * Template tag literal to get syntax highlighting for the query.\n *\n * @example\n * ```ts\n * const query = gql`\n * query Team($teamId: String!) {\n * team(id: $teamId) {\n * id\n * name\n * }\n * }\n * `;\n * ```\n */\nexport const gql = (query: string) => query;\n\n/**\n * @returns JSON body for the graphql request.\n */\nexport const graphqlRequestBody = (query: string, variables: Record<string, any> = {}) =>\n HttpBody.json({\n query,\n variables,\n });\n"],
5
+ "mappings": "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",
6
+ "names": ["FetchHttpClient", "HttpClient", "Array", "Effect", "Function", "Credential", "Operation", "Database", "Filter", "Obj", "Query", "Ref", "withAuthorization", "log", "Person", "Pipeline", "Task", "HttpBody", "graphqlRequestBody", "query", "variables", "json", "queryIssues", "LINEAR_UPDATED_AT_KEY", "Operation", "credential", "Credential", "service", "client", "log", "info", "after", "graphqlRequestBody", "team", "teamId", "json", "count", "syncObjects", "syncComplete", "tasks", "Effect", "FetchHttpClient", "layer", "existingTasks", "Database", "runQuery", "LINEAR_TEAM_ID_KEY", "mapLinearPerson", "person", "Obj", "make", "Person", "nickname", "mapLinearIssue", "issue", "title", "description", "assigned", "assignee", "keys", "name"]
7
+ }
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SyncTriggers
3
- } from "./chunk-D5MG5OKX.mjs";
4
- import "./chunk-CLHVRIYF.mjs";
3
+ } from "./chunk-BCT55UTL.mjs";
4
+ import "./chunk-5GPL2WXU.mjs";
5
5
  import "./chunk-NR3GTWRC.mjs";
6
6
  import "./chunk-KGU725LW.mjs";
7
7
  import "./chunk-J5LGTIGS.mjs";
@@ -37,7 +37,7 @@ var syncAgentTriggers = (agent) => Effect.gen(function* () {
37
37
  yield* Database.remove(trigger);
38
38
  }
39
39
  const triggersEnabled = agent.enabled ?? true;
40
- const { Qualifier, AgentWorker } = yield* Effect.promise(() => import("./project-2YBPW5N7.mjs"));
40
+ const { Qualifier, AgentWorker } = yield* Effect.promise(() => import("./project-VVXXUMAI.mjs"));
41
41
  for (const subscription of agent.subscriptions) {
42
42
  const targetOption = yield* Database.loadOption(subscription);
43
43
  if (Option.isNone(targetOption)) {
@@ -51,8 +51,7 @@ var syncAgentTriggers = (agent) => Effect.gen(function* () {
51
51
  const feedRef = target.feed;
52
52
  feedObj = feedRef ? Option.getOrUndefined(yield* Database.loadOption(feedRef)) : void 0;
53
53
  }
54
- const queueDxn = Option.fromNullable(feedObj).pipe(Option.filter(Obj.instanceOf(Feed.Feed)), Option.map(Feed.getQueueDxn), Option.getOrUndefined);
55
- if (!queueDxn) {
54
+ if (!feedObj || !Obj.instanceOf(Feed.Feed, feedObj) || !Feed.getQueueDxn(feedObj)) {
56
55
  continue;
57
56
  }
58
57
  const filterEvents = agent.filterEvents ?? true;
@@ -71,7 +70,7 @@ var syncAgentTriggers = (agent) => Effect.gen(function* () {
71
70
  ]
72
71
  },
73
72
  enabled: triggersEnabled,
74
- spec: Trigger.specQueue(queueDxn.toString()),
73
+ spec: Trigger.specFeed(feedObj),
75
74
  function: Ref.make(Operation.serialize(filterEvents ? Qualifier : AgentWorker)),
76
75
  input: {
77
76
  agent: Ref.make(agent),
@@ -80,7 +79,7 @@ var syncAgentTriggers = (agent) => Effect.gen(function* () {
80
79
  concurrency: filterEvents ? 5 : void 0
81
80
  }));
82
81
  }
83
- if ((agent.filterEvents ?? true) && agent.queue) {
82
+ if ((agent.filterEvents ?? true) && agent.feed) {
84
83
  yield* Database.add(Trigger.make({
85
84
  [Obj.Parent]: agent,
86
85
  [Obj.Meta]: {
@@ -97,7 +96,7 @@ var syncAgentTriggers = (agent) => Effect.gen(function* () {
97
96
  },
98
97
  function: Ref.make(Operation.serialize(AgentWorker)),
99
98
  enabled: triggersEnabled,
100
- spec: Trigger.specQueue(agent.queue.dxn.toString()),
99
+ spec: Trigger.specQueue(agent.feed.dxn.toString()),
101
100
  input: {
102
101
  agent: Ref.make(agent),
103
102
  event: "{{event}}"
@@ -133,4 +132,4 @@ var syncAgentTriggers = (agent) => Effect.gen(function* () {
133
132
  export {
134
133
  sync_triggers_default as default
135
134
  };
136
- //# sourceMappingURL=sync-triggers-EYJM4QWR.mjs.map
135
+ //# sourceMappingURL=sync-triggers-NOIQLELD.mjs.map