@dxos/plugin-assistant 0.8.4-main.1da679c → 0.8.4-main.1f223c7

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 (149) hide show
  1. package/dist/lib/browser/{BlueprintContainer-6MZHBQ25.mjs → BlueprintContainer-BFNN6K46.mjs} +2 -2
  2. package/dist/lib/browser/{ChatCompanion-B4DLQE6Y.mjs → ChatCompanion-DOVN34C7.mjs} +6 -4
  3. package/dist/lib/{node-esm/ChatCompanion-DK6FULBU.mjs.map → browser/ChatCompanion-DOVN34C7.mjs.map} +1 -1
  4. package/dist/lib/browser/{ChatContainer-Z7A3RKOY.mjs → ChatContainer-XIVJTCC2.mjs} +4 -2
  5. package/dist/lib/browser/{ChatContainer-Z7A3RKOY.mjs.map → ChatContainer-XIVJTCC2.mjs.map} +1 -1
  6. package/dist/lib/browser/{ChatDialog-PL5TSGD5.mjs → ChatDialog-EJJMK3WL.mjs} +4 -2
  7. package/dist/lib/browser/{ChatDialog-PL5TSGD5.mjs.map → ChatDialog-EJJMK3WL.mjs.map} +1 -1
  8. package/dist/lib/browser/ai-service-YC2EQPHA.mjs +22 -0
  9. package/dist/lib/browser/ai-service-YC2EQPHA.mjs.map +7 -0
  10. package/dist/lib/browser/{app-graph-builder-BBDHBJXA.mjs → app-graph-builder-3C43MLCD.mjs} +4 -4
  11. package/dist/lib/browser/{app-graph-builder-BBDHBJXA.mjs.map → app-graph-builder-3C43MLCD.mjs.map} +1 -1
  12. package/dist/lib/browser/{blueprint-definition-3SATLYJW.mjs → blueprint-definition-VHFSRTEJ.mjs} +2 -2
  13. package/dist/lib/browser/{chunk-YOBHCEEI.mjs → chunk-C4Q2RYQM.mjs} +47 -14
  14. package/dist/lib/browser/chunk-C4Q2RYQM.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-YKODYEYR.mjs → chunk-EZUSNS2J.mjs} +4 -1
  16. package/dist/lib/browser/chunk-EZUSNS2J.mjs.map +7 -0
  17. package/dist/lib/browser/{chunk-BBT6KNXA.mjs → chunk-GLWD66TA.mjs} +5 -9
  18. package/dist/lib/browser/chunk-GLWD66TA.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-JDI4FEKA.mjs → chunk-QD4UUISH.mjs} +6 -6
  20. package/dist/lib/browser/{chunk-TMKK6VCA.mjs → chunk-R6LRGW3I.mjs} +3 -3
  21. package/dist/lib/browser/chunk-R6LRGW3I.mjs.map +7 -0
  22. package/dist/lib/browser/compute-runtime-X6IREJN3.mjs +155 -0
  23. package/dist/lib/browser/compute-runtime-X6IREJN3.mjs.map +7 -0
  24. package/dist/lib/browser/{edge-model-resolver-6YWYDPTS.mjs → edge-model-resolver-JNEB355N.mjs} +9 -5
  25. package/dist/lib/browser/edge-model-resolver-JNEB355N.mjs.map +7 -0
  26. package/dist/lib/browser/index.mjs +25 -21
  27. package/dist/lib/browser/index.mjs.map +4 -4
  28. package/dist/lib/browser/{intent-resolver-MRZJU255.mjs → intent-resolver-I6M3ZDAS.mjs} +5 -5
  29. package/dist/lib/browser/{intent-resolver-MRZJU255.mjs.map → intent-resolver-I6M3ZDAS.mjs.map} +1 -1
  30. package/dist/lib/browser/{local-model-resolver-QXLLTV2H.mjs → local-model-resolver-EUXSRZ7X.mjs} +9 -5
  31. package/dist/lib/browser/local-model-resolver-EUXSRZ7X.mjs.map +7 -0
  32. package/dist/lib/browser/meta.json +1 -1
  33. package/dist/lib/browser/{react-surface-UKMOARXR.mjs → react-surface-E4NAGB6R.mjs} +8 -6
  34. package/dist/lib/{node-esm/react-surface-5NDJAWA2.mjs.map → browser/react-surface-E4NAGB6R.mjs.map} +1 -1
  35. package/dist/lib/browser/{settings-4AJ34FKF.mjs → settings-36V3VUMW.mjs} +3 -3
  36. package/dist/lib/browser/{settings-4AJ34FKF.mjs.map → settings-36V3VUMW.mjs.map} +1 -1
  37. package/dist/lib/browser/{state-ABR7YSSA.mjs → state-AINRYS5W.mjs} +4 -4
  38. package/dist/lib/browser/{state-ABR7YSSA.mjs.map → state-AINRYS5W.mjs.map} +1 -1
  39. package/dist/lib/browser/{toolkit-U7SKGAIC.mjs → toolkit-MPUS3U64.mjs} +3 -3
  40. package/dist/lib/browser/{toolkit-U7SKGAIC.mjs.map → toolkit-MPUS3U64.mjs.map} +1 -1
  41. package/dist/lib/node-esm/{BlueprintContainer-MUHW5HNY.mjs → BlueprintContainer-X4MRBKDR.mjs} +2 -2
  42. package/dist/lib/node-esm/{ChatCompanion-DK6FULBU.mjs → ChatCompanion-ICWYVPRD.mjs} +6 -4
  43. package/dist/lib/{browser/ChatCompanion-B4DLQE6Y.mjs.map → node-esm/ChatCompanion-ICWYVPRD.mjs.map} +1 -1
  44. package/dist/lib/node-esm/{ChatContainer-7IN7ZICQ.mjs → ChatContainer-LMMMQD4K.mjs} +4 -2
  45. package/dist/lib/node-esm/{ChatContainer-7IN7ZICQ.mjs.map → ChatContainer-LMMMQD4K.mjs.map} +1 -1
  46. package/dist/lib/node-esm/{ChatDialog-LPE653RZ.mjs → ChatDialog-UUE3F7BT.mjs} +4 -2
  47. package/dist/lib/node-esm/{ChatDialog-LPE653RZ.mjs.map → ChatDialog-UUE3F7BT.mjs.map} +1 -1
  48. package/dist/lib/node-esm/{ai-service-I5JU4JN2.mjs → ai-service-XUMZVFCK.mjs} +10 -6
  49. package/dist/lib/node-esm/ai-service-XUMZVFCK.mjs.map +7 -0
  50. package/dist/lib/node-esm/{app-graph-builder-EMR5JF6Z.mjs → app-graph-builder-NM3JDLQ2.mjs} +4 -4
  51. package/dist/lib/node-esm/{app-graph-builder-EMR5JF6Z.mjs.map → app-graph-builder-NM3JDLQ2.mjs.map} +1 -1
  52. package/dist/lib/node-esm/{blueprint-definition-B6UDX5U3.mjs → blueprint-definition-4E6XTLVN.mjs} +2 -2
  53. package/dist/lib/node-esm/{chunk-GCNF3CQU.mjs → chunk-LVTG5JTW.mjs} +3 -3
  54. package/dist/lib/node-esm/chunk-LVTG5JTW.mjs.map +7 -0
  55. package/dist/lib/node-esm/{chunk-5MYWJPYA.mjs → chunk-QG2KT3AT.mjs} +5 -9
  56. package/dist/lib/node-esm/chunk-QG2KT3AT.mjs.map +7 -0
  57. package/dist/lib/node-esm/{chunk-X2YUKRBE.mjs → chunk-V44ZG7CU.mjs} +47 -14
  58. package/dist/lib/node-esm/chunk-V44ZG7CU.mjs.map +7 -0
  59. package/dist/lib/node-esm/{chunk-FHRJMZ7L.mjs → chunk-XD4CDA4R.mjs} +4 -1
  60. package/dist/lib/node-esm/chunk-XD4CDA4R.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-H3ZC4UL7.mjs → chunk-YU62ZWJN.mjs} +6 -6
  62. package/dist/lib/node-esm/compute-runtime-NRHLLTSC.mjs +156 -0
  63. package/dist/lib/node-esm/compute-runtime-NRHLLTSC.mjs.map +7 -0
  64. package/dist/lib/node-esm/{edge-model-resolver-A7B6QHLL.mjs → edge-model-resolver-UE5TLLJZ.mjs} +9 -5
  65. package/dist/lib/node-esm/edge-model-resolver-UE5TLLJZ.mjs.map +7 -0
  66. package/dist/lib/node-esm/index.mjs +25 -21
  67. package/dist/lib/node-esm/index.mjs.map +4 -4
  68. package/dist/lib/node-esm/{intent-resolver-CIXO3KMY.mjs → intent-resolver-VIINHFMT.mjs} +5 -5
  69. package/dist/lib/node-esm/{intent-resolver-CIXO3KMY.mjs.map → intent-resolver-VIINHFMT.mjs.map} +1 -1
  70. package/dist/lib/node-esm/{local-model-resolver-JCYDHAZY.mjs → local-model-resolver-JBEFVVZA.mjs} +9 -5
  71. package/dist/lib/node-esm/local-model-resolver-JBEFVVZA.mjs.map +7 -0
  72. package/dist/lib/node-esm/meta.json +1 -1
  73. package/dist/lib/node-esm/{react-surface-5NDJAWA2.mjs → react-surface-5WQLRTCH.mjs} +8 -6
  74. package/dist/lib/{browser/react-surface-UKMOARXR.mjs.map → node-esm/react-surface-5WQLRTCH.mjs.map} +1 -1
  75. package/dist/lib/node-esm/{settings-K2QW4ATZ.mjs → settings-7ZCZ6AS5.mjs} +3 -3
  76. package/dist/lib/node-esm/{settings-K2QW4ATZ.mjs.map → settings-7ZCZ6AS5.mjs.map} +1 -1
  77. package/dist/lib/node-esm/{state-6UHESJI5.mjs → state-EQS5KP6M.mjs} +4 -4
  78. package/dist/lib/node-esm/{state-6UHESJI5.mjs.map → state-EQS5KP6M.mjs.map} +1 -1
  79. package/dist/lib/node-esm/{toolkit-LNLRBVDU.mjs → toolkit-PKVYDZ4H.mjs} +3 -3
  80. package/dist/lib/node-esm/{toolkit-LNLRBVDU.mjs.map → toolkit-PKVYDZ4H.mjs.map} +1 -1
  81. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  82. package/dist/types/src/capabilities/ai-service.d.ts +3 -2
  83. package/dist/types/src/capabilities/ai-service.d.ts.map +1 -1
  84. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  85. package/dist/types/src/capabilities/capabilities.d.ts +21 -0
  86. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  87. package/dist/types/src/capabilities/compute-runtime.d.ts +5 -0
  88. package/dist/types/src/capabilities/compute-runtime.d.ts.map +1 -0
  89. package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +1 -1
  90. package/dist/types/src/capabilities/index.d.ts +1 -0
  91. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  92. package/dist/types/src/capabilities/local-model-resolver.d.ts.map +1 -1
  93. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  94. package/dist/types/src/hooks/index.d.ts +1 -0
  95. package/dist/types/src/hooks/index.d.ts.map +1 -1
  96. package/dist/types/src/hooks/useComputeRuntimeCallback.d.ts +8 -0
  97. package/dist/types/src/hooks/useComputeRuntimeCallback.d.ts.map +1 -0
  98. package/dist/types/src/stories/Chat.stories.d.ts +0 -1
  99. package/dist/types/src/stories/Chat.stories.d.ts.map +1 -1
  100. package/dist/types/src/stories/components/TriggersContainer.d.ts +12 -1
  101. package/dist/types/src/stories/components/TriggersContainer.d.ts.map +1 -1
  102. package/dist/types/src/stories/components/index.d.ts +2 -3
  103. package/dist/types/src/stories/components/index.d.ts.map +1 -1
  104. package/dist/types/src/stories/testing/testing.d.ts.map +1 -1
  105. package/dist/types/src/testing/test-data.d.ts +1 -1
  106. package/dist/types/src/testing/test-data.d.ts.map +1 -1
  107. package/dist/types/tsconfig.tsbuildinfo +1 -1
  108. package/package.json +90 -91
  109. package/src/AssistantPlugin.tsx +9 -8
  110. package/src/capabilities/ai-service.ts +5 -3
  111. package/src/capabilities/blueprint-definition.ts +1 -4
  112. package/src/capabilities/capabilities.ts +53 -0
  113. package/src/capabilities/compute-runtime.ts +124 -0
  114. package/src/capabilities/edge-model-resolver.ts +4 -2
  115. package/src/capabilities/index.ts +1 -0
  116. package/src/capabilities/local-model-resolver.ts +4 -2
  117. package/src/components/TemplateEditor/TemplateEditor.tsx +2 -2
  118. package/src/hooks/index.ts +1 -0
  119. package/src/hooks/useChatServices.ts +2 -2
  120. package/src/hooks/useComputeRuntimeCallback.ts +25 -0
  121. package/src/stories/Chat.stories.tsx +4 -151
  122. package/src/stories/components/TriggersContainer.tsx +67 -4
  123. package/src/stories/components/index.ts +2 -3
  124. package/src/stories/testing/testing.tsx +1 -6
  125. package/src/testing/test-data.ts +26 -36
  126. package/dist/lib/browser/ai-service-4VESSFNB.mjs +0 -18
  127. package/dist/lib/browser/ai-service-4VESSFNB.mjs.map +0 -7
  128. package/dist/lib/browser/chunk-BBT6KNXA.mjs.map +0 -7
  129. package/dist/lib/browser/chunk-TMKK6VCA.mjs.map +0 -7
  130. package/dist/lib/browser/chunk-YKODYEYR.mjs.map +0 -7
  131. package/dist/lib/browser/chunk-YOBHCEEI.mjs.map +0 -7
  132. package/dist/lib/browser/edge-model-resolver-6YWYDPTS.mjs.map +0 -7
  133. package/dist/lib/browser/local-model-resolver-QXLLTV2H.mjs.map +0 -7
  134. package/dist/lib/node-esm/ai-service-I5JU4JN2.mjs.map +0 -7
  135. package/dist/lib/node-esm/chunk-5MYWJPYA.mjs.map +0 -7
  136. package/dist/lib/node-esm/chunk-FHRJMZ7L.mjs.map +0 -7
  137. package/dist/lib/node-esm/chunk-GCNF3CQU.mjs.map +0 -7
  138. package/dist/lib/node-esm/chunk-X2YUKRBE.mjs.map +0 -7
  139. package/dist/lib/node-esm/edge-model-resolver-A7B6QHLL.mjs.map +0 -7
  140. package/dist/lib/node-esm/local-model-resolver-JCYDHAZY.mjs.map +0 -7
  141. package/dist/types/src/stories/components/ProjectContainer.d.ts +0 -4
  142. package/dist/types/src/stories/components/ProjectContainer.d.ts.map +0 -1
  143. package/src/stories/components/ProjectContainer.tsx +0 -17
  144. /package/dist/lib/browser/{BlueprintContainer-6MZHBQ25.mjs.map → BlueprintContainer-BFNN6K46.mjs.map} +0 -0
  145. /package/dist/lib/browser/{blueprint-definition-3SATLYJW.mjs.map → blueprint-definition-VHFSRTEJ.mjs.map} +0 -0
  146. /package/dist/lib/browser/{chunk-JDI4FEKA.mjs.map → chunk-QD4UUISH.mjs.map} +0 -0
  147. /package/dist/lib/node-esm/{BlueprintContainer-MUHW5HNY.mjs.map → BlueprintContainer-X4MRBKDR.mjs.map} +0 -0
  148. /package/dist/lib/node-esm/{blueprint-definition-B6UDX5U3.mjs.map → blueprint-definition-4E6XTLVN.mjs.map} +0 -0
  149. /package/dist/lib/node-esm/{chunk-H3ZC4UL7.mjs.map → chunk-YU62ZWJN.mjs.map} +0 -0
@@ -0,0 +1,155 @@
1
+ import {
2
+ AssistantCapabilities
3
+ } from "./chunk-EZUSNS2J.mjs";
4
+ import "./chunk-O4LUJEDV.mjs";
5
+ import "./chunk-J5LGTIGS.mjs";
6
+
7
+ // src/capabilities/compute-runtime.ts
8
+ import { AiToolkit } from "@effect/ai";
9
+ import { BrowserKeyValueStore } from "@effect/platform-browser";
10
+ import { Effect, Layer, ManagedRuntime } from "effect";
11
+ import { Capabilities, contributes } from "@dxos/app-framework";
12
+ import { makeToolExecutionServiceFromFunctions, makeToolResolverFromFunctions } from "@dxos/assistant";
13
+ import { PropertiesType } from "@dxos/client/echo";
14
+ import { Resource } from "@dxos/context";
15
+ import { Query, Ref } from "@dxos/echo";
16
+ import { CredentialsService, DatabaseService, FunctionImplementationResolver, InvocationTracer, LocalFunctionExecutionService, QueueService, RemoteFunctionExecutionService, TriggerDispatcher } from "@dxos/functions";
17
+ import { TriggerStateStore } from "@dxos/functions";
18
+ import { invariant } from "@dxos/invariant";
19
+ import { ClientCapabilities } from "@dxos/plugin-client";
20
+ function _check_private_redeclaration(obj, privateCollection) {
21
+ if (privateCollection.has(obj)) {
22
+ throw new TypeError("Cannot initialize the same private elements twice on an object");
23
+ }
24
+ }
25
+ function _class_apply_descriptor_get(receiver, descriptor) {
26
+ if (descriptor.get) {
27
+ return descriptor.get.call(receiver);
28
+ }
29
+ return descriptor.value;
30
+ }
31
+ function _class_apply_descriptor_set(receiver, descriptor, value) {
32
+ if (descriptor.set) {
33
+ descriptor.set.call(receiver, value);
34
+ } else {
35
+ if (!descriptor.writable) {
36
+ throw new TypeError("attempted to set read only private field");
37
+ }
38
+ descriptor.value = value;
39
+ }
40
+ }
41
+ function _class_extract_field_descriptor(receiver, privateMap, action) {
42
+ if (!privateMap.has(receiver)) {
43
+ throw new TypeError("attempted to " + action + " private field on non-instance");
44
+ }
45
+ return privateMap.get(receiver);
46
+ }
47
+ function _class_private_field_get(receiver, privateMap) {
48
+ var descriptor = _class_extract_field_descriptor(receiver, privateMap, "get");
49
+ return _class_apply_descriptor_get(receiver, descriptor);
50
+ }
51
+ function _class_private_field_init(obj, privateMap, value) {
52
+ _check_private_redeclaration(obj, privateMap);
53
+ privateMap.set(obj, value);
54
+ }
55
+ function _class_private_field_set(receiver, privateMap, value) {
56
+ var descriptor = _class_extract_field_descriptor(receiver, privateMap, "set");
57
+ _class_apply_descriptor_set(receiver, descriptor, value);
58
+ return value;
59
+ }
60
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/capabilities/compute-runtime.ts";
61
+ var compute_runtime_default = async (context) => {
62
+ const provider = await new ComputeRuntimeProviderImpl(context).open();
63
+ return contributes(AssistantCapabilities.ComputeRuntime, provider, async () => {
64
+ await provider.close();
65
+ });
66
+ };
67
+ var _runtimes = /* @__PURE__ */ new WeakMap();
68
+ var _context = /* @__PURE__ */ new WeakMap();
69
+ var ComputeRuntimeProviderImpl = class extends Resource {
70
+ async _open() {
71
+ }
72
+ async _close() {
73
+ await Promise.all(Array.from(_class_private_field_get(this, _runtimes).values()).map((rt) => rt.dispose()));
74
+ _class_private_field_get(this, _runtimes).clear();
75
+ }
76
+ getRuntime(spaceId) {
77
+ if (_class_private_field_get(this, _runtimes).has(spaceId)) {
78
+ return _class_private_field_get(this, _runtimes).get(spaceId);
79
+ }
80
+ const layer = Layer.unwrapEffect(Effect.gen(this, function* () {
81
+ const client = _class_private_field_get(this, _context).getCapability(ClientCapabilities.Client);
82
+ const serviceLayer = _class_private_field_get(this, _context).getCapability(AssistantCapabilities.AiServiceLayer) ?? Layer.die("AiService not found");
83
+ const functions = _class_private_field_get(this, _context).getCapabilities(Capabilities.Functions);
84
+ const toolkits = _class_private_field_get(this, _context).getCapabilities(Capabilities.Toolkit);
85
+ const handlers = _class_private_field_get(this, _context).getCapabilities(Capabilities.ToolkitHandler);
86
+ const allFunctions = functions.flat();
87
+ const toolkit = AiToolkit.merge(...toolkits);
88
+ const handlersLayer = Layer.mergeAll(Layer.empty, ...handlers);
89
+ const space = client.spaces.get(spaceId);
90
+ invariant(space, void 0, {
91
+ F: __dxlog_file,
92
+ L: 76,
93
+ S: this,
94
+ A: [
95
+ "space",
96
+ ""
97
+ ]
98
+ });
99
+ yield* Effect.promise(() => space.waitUntilReady());
100
+ return Layer.mergeAll(TriggerDispatcher.layer({
101
+ timeControl: "natural"
102
+ })).pipe(Layer.provideMerge(Layer.mergeAll(IvocationTracerLive, TriggerStateStore.layerKv.pipe(Layer.provide(BrowserKeyValueStore.layerLocalStorage)), serviceLayer, makeToolResolverFromFunctions(allFunctions, toolkit), makeToolExecutionServiceFromFunctions(allFunctions, toolkit, handlersLayer), CredentialsService.layerFromDatabase())), Layer.provideMerge(Layer.mergeAll(space ? DatabaseService.layer(space.db) : DatabaseService.notAvailable, space ? QueueService.layer(space.queues) : QueueService.notAvailable, LocalFunctionExecutionService.layerLive, RemoteFunctionExecutionService.mockLayer)), Layer.provideMerge(FunctionImplementationResolver.layerTest({
103
+ functions: allFunctions
104
+ })));
105
+ }));
106
+ const runtime = ManagedRuntime.make(layer);
107
+ _class_private_field_get(this, _runtimes).set(spaceId, runtime);
108
+ return runtime;
109
+ }
110
+ constructor(context) {
111
+ super(), _class_private_field_init(this, _runtimes, {
112
+ writable: true,
113
+ value: /* @__PURE__ */ new Map()
114
+ }), _class_private_field_init(this, _context, {
115
+ writable: true,
116
+ value: void 0
117
+ });
118
+ _class_private_field_set(this, _context, context);
119
+ }
120
+ };
121
+ var IvocationTracerLive = Layer.unwrapEffect(Effect.gen(function* () {
122
+ const { objects: [properties] } = yield* DatabaseService.runQuery(Query.type(PropertiesType));
123
+ invariant(properties, void 0, {
124
+ F: __dxlog_file,
125
+ L: 115,
126
+ S: this,
127
+ A: [
128
+ "properties",
129
+ ""
130
+ ]
131
+ });
132
+ if (!properties.invocationTraceQueue) {
133
+ const queue2 = yield* QueueService.createQueue({
134
+ subspaceTag: "trace"
135
+ });
136
+ properties.invocationTraceQueue = Ref.fromDXN(queue2.dxn);
137
+ }
138
+ const queue = properties.invocationTraceQueue.target;
139
+ invariant(queue, void 0, {
140
+ F: __dxlog_file,
141
+ L: 121,
142
+ S: this,
143
+ A: [
144
+ "queue",
145
+ ""
146
+ ]
147
+ });
148
+ return InvocationTracer.layerLive({
149
+ invocationTraceQueue: queue
150
+ });
151
+ }));
152
+ export {
153
+ compute_runtime_default as default
154
+ };
155
+ //# sourceMappingURL=compute-runtime-X6IREJN3.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/compute-runtime.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type AiTool, AiToolkit } from '@effect/ai';\nimport { BrowserKeyValueStore } from '@effect/platform-browser';\nimport { Effect, Layer, ManagedRuntime } from 'effect';\n\nimport { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';\nimport { makeToolExecutionServiceFromFunctions, makeToolResolverFromFunctions } from '@dxos/assistant';\nimport { PropertiesType } from '@dxos/client/echo';\nimport { Resource } from '@dxos/context';\nimport { Query, Ref } from '@dxos/echo';\nimport {\n CredentialsService,\n DatabaseService,\n FunctionImplementationResolver,\n InvocationTracer,\n LocalFunctionExecutionService,\n QueueService,\n RemoteFunctionExecutionService,\n TriggerDispatcher,\n} from '@dxos/functions';\nimport { TriggerStateStore } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { type SpaceId } from '@dxos/keys';\nimport { ClientCapabilities } from '@dxos/plugin-client';\n\nimport { AssistantCapabilities } from './capabilities';\n\nexport default async (context: PluginContext) => {\n const provider = await new ComputeRuntimeProviderImpl(context).open();\n return contributes(AssistantCapabilities.ComputeRuntime, provider, async () => {\n await provider.close();\n });\n};\n\nclass ComputeRuntimeProviderImpl extends Resource implements AssistantCapabilities.ComputeRuntimeProvider {\n readonly #runtimes = new Map<SpaceId, ManagedRuntime.ManagedRuntime<AssistantCapabilities.ComputeServices, never>>();\n readonly #context: PluginContext;\n\n constructor(context: PluginContext) {\n super();\n this.#context = context;\n }\n\n protected override async _open() {}\n\n protected override async _close() {\n await Promise.all(Array.from(this.#runtimes.values()).map((rt) => rt.dispose()));\n this.#runtimes.clear();\n }\n\n getRuntime(spaceId: SpaceId): ManagedRuntime.ManagedRuntime<AssistantCapabilities.ComputeServices, never> {\n if (this.#runtimes.has(spaceId)) {\n return this.#runtimes.get(spaceId)!;\n }\n\n const layer = Layer.unwrapEffect(\n Effect.gen(this, function* () {\n const client = this.#context.getCapability(ClientCapabilities.Client);\n const serviceLayer =\n this.#context.getCapability(AssistantCapabilities.AiServiceLayer) ?? Layer.die('AiService not found');\n\n // TODO(dmaretskyi): Make those reactive.\n const functions = this.#context.getCapabilities(Capabilities.Functions);\n const toolkits = this.#context.getCapabilities(Capabilities.Toolkit);\n const handlers = this.#context.getCapabilities(Capabilities.ToolkitHandler);\n\n const allFunctions = functions.flat();\n // TODO(wittjosiah): Don't cast.\n const toolkit = AiToolkit.merge(...toolkits) as AiToolkit.Any as AiToolkit.AiToolkit<AiTool.Any>;\n const handlersLayer = Layer.mergeAll(Layer.empty, ...handlers);\n\n const space = client.spaces.get(spaceId);\n invariant(space);\n yield* Effect.promise(() => space.waitUntilReady());\n\n return Layer.mergeAll(TriggerDispatcher.layer({ timeControl: 'natural' })).pipe(\n Layer.provideMerge(\n Layer.mergeAll(\n IvocationTracerLive,\n TriggerStateStore.layerKv.pipe(Layer.provide(BrowserKeyValueStore.layerLocalStorage)),\n serviceLayer,\n makeToolResolverFromFunctions(allFunctions, toolkit),\n makeToolExecutionServiceFromFunctions(allFunctions, toolkit, handlersLayer),\n CredentialsService.layerFromDatabase(),\n ),\n ),\n Layer.provideMerge(\n Layer.mergeAll(\n space ? DatabaseService.layer(space.db) : DatabaseService.notAvailable,\n space ? QueueService.layer(space.queues) : QueueService.notAvailable,\n LocalFunctionExecutionService.layerLive,\n RemoteFunctionExecutionService.mockLayer,\n ),\n ),\n Layer.provideMerge(FunctionImplementationResolver.layerTest({ functions: allFunctions })),\n );\n }),\n );\n\n const runtime = ManagedRuntime.make(layer);\n this.#runtimes.set(spaceId, runtime);\n\n return runtime;\n }\n}\n\nconst IvocationTracerLive = Layer.unwrapEffect(\n Effect.gen(function* () {\n const {\n objects: [properties],\n } = yield* DatabaseService.runQuery(Query.type(PropertiesType));\n invariant(properties);\n if (!properties.invocationTraceQueue) {\n const queue = yield* QueueService.createQueue({ subspaceTag: 'trace' });\n properties.invocationTraceQueue = Ref.fromDXN(queue.dxn);\n }\n const queue = properties.invocationTraceQueue.target;\n invariant(queue);\n return InvocationTracer.layerLive({ invocationTraceQueue: queue });\n }),\n);\n"],
5
+ "mappings": "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",
6
+ "names": ["AiToolkit", "BrowserKeyValueStore", "Effect", "Layer", "ManagedRuntime", "Capabilities", "contributes", "makeToolExecutionServiceFromFunctions", "makeToolResolverFromFunctions", "PropertiesType", "Resource", "Query", "Ref", "CredentialsService", "DatabaseService", "FunctionImplementationResolver", "InvocationTracer", "LocalFunctionExecutionService", "QueueService", "RemoteFunctionExecutionService", "TriggerDispatcher", "TriggerStateStore", "invariant", "ClientCapabilities", "context", "provider", "ComputeRuntimeProviderImpl", "open", "contributes", "AssistantCapabilities", "ComputeRuntime", "close", "Resource", "_open", "_close", "Promise", "all", "Array", "from", "values", "map", "rt", "dispose", "clear", "getRuntime", "spaceId", "has", "get", "layer", "Layer", "unwrapEffect", "Effect", "gen", "client", "getCapability", "ClientCapabilities", "Client", "serviceLayer", "AiServiceLayer", "die", "functions", "getCapabilities", "Capabilities", "Functions", "toolkits", "Toolkit", "handlers", "ToolkitHandler", "allFunctions", "flat", "toolkit", "AiToolkit", "merge", "handlersLayer", "mergeAll", "empty", "space", "spaces", "invariant", "promise", "waitUntilReady", "TriggerDispatcher", "timeControl", "pipe", "provideMerge", "IvocationTracerLive", "TriggerStateStore", "layerKv", "provide", "BrowserKeyValueStore", "layerLocalStorage", "makeToolResolverFromFunctions", "makeToolExecutionServiceFromFunctions", "CredentialsService", "layerFromDatabase", "DatabaseService", "db", "notAvailable", "QueueService", "queues", "LocalFunctionExecutionService", "layerLive", "RemoteFunctionExecutionService", "mockLayer", "FunctionImplementationResolver", "layerTest", "runtime", "ManagedRuntime", "make", "set", "Map", "objects", "properties", "runQuery", "Query", "type", "PropertiesType", "invocationTraceQueue", "queue", "createQueue", "subspaceTag", "Ref", "fromDXN", "dxn", "target", "InvocationTracer"]
7
+ }
@@ -1,3 +1,7 @@
1
+ import {
2
+ AssistantCapabilities
3
+ } from "./chunk-EZUSNS2J.mjs";
4
+ import "./chunk-O4LUJEDV.mjs";
1
5
  import "./chunk-J5LGTIGS.mjs";
2
6
 
3
7
  // src/capabilities/edge-model-resolver.ts
@@ -5,14 +9,14 @@ import * as AnthropicClient from "@effect/ai-anthropic/AnthropicClient";
5
9
  import { FetchHttpClient } from "@effect/platform";
6
10
  import { Layer } from "effect";
7
11
  import { AiServiceRouter } from "@dxos/ai";
8
- import { Capabilities, contributes } from "@dxos/app-framework";
9
- var edge_model_resolver_default = (() => [
10
- contributes(Capabilities.AiModelResolver, AiServiceRouter.AnthropicResolver.pipe(Layer.provide(AnthropicClient.layer({
12
+ import { contributes } from "@dxos/app-framework";
13
+ var edge_model_resolver_default = () => [
14
+ contributes(AssistantCapabilities.AiModelResolver, AiServiceRouter.AnthropicResolver.pipe(Layer.provide(AnthropicClient.layer({
11
15
  // TODO(dmaretskyi): Read endpoint from config/settings.
12
16
  apiUrl: "https://ai-service.dxos.workers.dev/provider/anthropic"
13
17
  })), Layer.provide(FetchHttpClient.layer)))
14
- ]);
18
+ ];
15
19
  export {
16
20
  edge_model_resolver_default as default
17
21
  };
18
- //# sourceMappingURL=edge-model-resolver-6YWYDPTS.mjs.map
22
+ //# sourceMappingURL=edge-model-resolver-JNEB355N.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/edge-model-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as AnthropicClient from '@effect/ai-anthropic/AnthropicClient';\nimport { FetchHttpClient } from '@effect/platform';\nimport { Layer } from 'effect';\n\nimport { AiServiceRouter } from '@dxos/ai';\nimport { type Capability, contributes } from '@dxos/app-framework';\n\nimport { AssistantCapabilities } from './capabilities';\n\nexport default (): Capability<any>[] => [\n contributes(\n AssistantCapabilities.AiModelResolver,\n AiServiceRouter.AnthropicResolver.pipe(\n Layer.provide(\n AnthropicClient.layer({\n // TODO(dmaretskyi): Read endpoint from config/settings.\n apiUrl: 'https://ai-service.dxos.workers.dev/provider/anthropic',\n }),\n ),\n Layer.provide(FetchHttpClient.layer),\n ),\n ),\n];\n"],
5
+ "mappings": ";;;;;;;AAIA,YAAYA,qBAAqB;AACjC,SAASC,uBAAuB;AAChC,SAASC,aAAa;AAEtB,SAASC,uBAAuB;AAChC,SAA0BC,mBAAmB;AAI7C,IAAA,8BAAe,MAAyB;EACtCC,YACEC,sBAAsBC,iBACtBC,gBAAgBC,kBAAkBC,KAChCC,MAAMC,QACYC,sBAAM;;IAEpBC,QAAQ;EACV,CAAA,CAAA,GAEFH,MAAMC,QAAQG,gBAAgBF,KAAK,CAAA,CAAA;;",
6
+ "names": ["AnthropicClient", "FetchHttpClient", "Layer", "AiServiceRouter", "contributes", "contributes", "AssistantCapabilities", "AiModelResolver", "AiServiceRouter", "AnthropicResolver", "pipe", "Layer", "provide", "layer", "apiUrl", "FetchHttpClient"]
7
+ }
@@ -9,22 +9,33 @@ import {
9
9
  SequenceContainer,
10
10
  Toolbox,
11
11
  ToolboxContainer
12
- } from "./chunk-JDI4FEKA.mjs";
12
+ } from "./chunk-QD4UUISH.mjs";
13
13
  import {
14
14
  TemplateEditor
15
- } from "./chunk-TMKK6VCA.mjs";
15
+ } from "./chunk-R6LRGW3I.mjs";
16
16
  import {
17
17
  Toolbar
18
18
  } from "./chunk-PQI3MGDN.mjs";
19
19
  import {
20
+ AiService,
21
+ AppGraphBuilder,
22
+ AssistantState,
23
+ BlueprintDefinition,
20
24
  Chat,
21
25
  ChatContextProvider,
26
+ ComputeRuntime,
27
+ EdgeModelResolver,
28
+ IntentResolver,
29
+ LocalModelResolver,
30
+ ReactSurface,
31
+ Settings,
32
+ Toolkit,
22
33
  useChatContext
23
- } from "./chunk-YOBHCEEI.mjs";
34
+ } from "./chunk-C4Q2RYQM.mjs";
24
35
  import {
25
36
  BLUEPRINT_KEY,
26
37
  createBlueprint
27
- } from "./chunk-BBT6KNXA.mjs";
38
+ } from "./chunk-GLWD66TA.mjs";
28
39
  import {
29
40
  ApiAuthorization,
30
41
  AssistantAction_exports,
@@ -35,7 +46,7 @@ import {
35
46
  } from "./chunk-SMIVXXAI.mjs";
36
47
  import {
37
48
  AssistantCapabilities
38
- } from "./chunk-YKODYEYR.mjs";
49
+ } from "./chunk-EZUSNS2J.mjs";
39
50
  import {
40
51
  ASSISTANT_DIALOG,
41
52
  ASSISTANT_PLUGIN,
@@ -43,19 +54,6 @@ import {
43
54
  } from "./chunk-O4LUJEDV.mjs";
44
55
  import "./chunk-J5LGTIGS.mjs";
45
56
 
46
- // src/capabilities/index.ts
47
- import { lazy } from "@dxos/app-framework";
48
- var AiService = lazy(() => import("./ai-service-4VESSFNB.mjs"));
49
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-BBDHBJXA.mjs"));
50
- var AssistantState = lazy(() => import("./state-ABR7YSSA.mjs"));
51
- var BlueprintDefinition = lazy(() => import("./blueprint-definition-3SATLYJW.mjs"));
52
- var EdgeModelResolver = lazy(() => import("./edge-model-resolver-6YWYDPTS.mjs"));
53
- var IntentResolver = lazy(() => import("./intent-resolver-MRZJU255.mjs"));
54
- var LocalModelResolver = lazy(() => import("./local-model-resolver-QXLLTV2H.mjs"));
55
- var ReactSurface = lazy(() => import("./react-surface-UKMOARXR.mjs"));
56
- var Settings = lazy(() => import("./settings-4AJ34FKF.mjs"));
57
- var Toolkit = lazy(() => import("./toolkit-U7SKGAIC.mjs"));
58
-
59
57
  // src/events.ts
60
58
  import { defineEvent } from "@dxos/app-framework";
61
59
  (function(AssistantEvents2) {
@@ -66,7 +64,7 @@ var AssistantEvents;
66
64
  // src/AssistantPlugin.tsx
67
65
  import { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from "@dxos/app-framework";
68
66
  import { ResearchGraph, ResearchOn } from "@dxos/assistant-testing";
69
- import { Blueprint as Blueprint2, Prompt } from "@dxos/blueprints";
67
+ import { Blueprint as Blueprint2 } from "@dxos/blueprints";
70
68
  import { Sequence as Sequence2 } from "@dxos/conductor";
71
69
  import { Type } from "@dxos/echo";
72
70
  import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
@@ -237,8 +235,7 @@ var AssistantPlugin = () => definePlugin(meta, [
237
235
  ServiceType,
238
236
  Assistant_exports.CompanionTo,
239
237
  ResearchGraph,
240
- ResearchOn,
241
- Prompt.Prompt
238
+ ResearchOn
242
239
  ])
243
240
  }),
244
241
  defineModule({
@@ -297,6 +294,12 @@ var AssistantPlugin = () => definePlugin(meta, [
297
294
  // TODO(wittjosiah): Use a different event.
298
295
  activatesOn: Events.Startup,
299
296
  activate: Toolkit
297
+ }),
298
+ defineModule({
299
+ id: `${meta.id}/module/compute-runtime`,
300
+ // TODO(wittjosiah): Use a different event.
301
+ activatesOn: Events.Startup,
302
+ activate: ComputeRuntime
300
303
  })
301
304
  ]);
302
305
  export {
@@ -321,6 +324,7 @@ export {
321
324
  ChatContextProvider,
322
325
  ChatDialog,
323
326
  ChatProgress,
327
+ ComputeRuntime,
324
328
  EdgeModelResolver,
325
329
  IntentResolver,
326
330
  LLM_PROVIDERS,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/capabilities/index.ts", "../../../src/events.ts", "../../../src/AssistantPlugin.tsx", "../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AiService = lazy(() => import('./ai-service'));\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const AssistantState = lazy(() => import('./state'));\nexport const BlueprintDefinition = lazy(() => import('./blueprint-definition'));\nexport const EdgeModelResolver = lazy(() => import('./edge-model-resolver'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const LocalModelResolver = lazy(() => import('./local-model-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const Settings = lazy(() => import('./settings'));\nexport const Toolkit = lazy(() => import('./toolkit'));\n\nexport * from './blueprint-definition';\nexport * from './capabilities';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport namespace AssistantEvents {\n export const SetupAiServiceProviders = defineEvent(`${meta.id}/event/setup-ai-service-providers`);\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from '@dxos/app-framework';\nimport { ResearchGraph, ResearchOn } from '@dxos/assistant-testing';\nimport { Blueprint, Prompt } from '@dxos/blueprints';\nimport { Sequence } from '@dxos/conductor';\nimport { Type } from '@dxos/echo';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities, SpaceEvents } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\n\nimport {\n AiService,\n AppGraphBuilder,\n AssistantState,\n BlueprintDefinition,\n EdgeModelResolver,\n IntentResolver,\n LocalModelResolver,\n ReactSurface,\n Settings,\n Toolkit,\n} from './capabilities';\nimport { AssistantEvents } from './events';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { Assistant, AssistantAction, ServiceType } from './types';\n\nexport const AssistantPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: Settings,\n }),\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: Events.SetupSettings,\n activate: AssistantState,\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () => [\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(Assistant.Chat),\n metadata: {\n icon: 'ph--atom--regular',\n },\n }),\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(Blueprint.Blueprint),\n metadata: {\n icon: 'ph--blueprint--regular',\n },\n }),\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(Sequence),\n metadata: {\n icon: 'ph--circuitry--regular',\n },\n }),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => [\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: Assistant.Chat,\n getIntent: (_, options) => createIntent(AssistantAction.CreateChat, { space: options.space }),\n }),\n ),\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: Blueprint.Blueprint,\n formSchema: AssistantAction.BlueprintForm,\n getIntent: (props) => createIntent(AssistantAction.CreateBlueprint, props),\n }),\n ),\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: Sequence,\n getIntent: () => createIntent(AssistantAction.CreateSequence),\n }),\n ),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(ClientCapabilities.Schema, [\n ServiceType,\n Assistant.CompanionTo,\n ResearchGraph,\n ResearchOn,\n Prompt.Prompt,\n ]),\n }),\n defineModule({\n id: `${meta.id}/module/on-space-created`,\n activatesOn: SpaceEvents.SpaceCreated,\n activate: () =>\n contributes(SpaceCapabilities.OnSpaceCreated, ({ rootCollection, space }) =>\n createIntent(AssistantAction.OnSpaceCreated, { rootCollection, space }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the chat is loaded when surfaces activation is more granular.\n activatesBefore: [Events.SetupArtifactDefinition],\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/edge-model-resolver`,\n activatesOn: AssistantEvents.SetupAiServiceProviders,\n activate: EdgeModelResolver,\n }),\n defineModule({\n id: `${meta.id}/module/local-model-resolver`,\n activatesOn: AssistantEvents.SetupAiServiceProviders,\n activate: LocalModelResolver,\n }),\n defineModule({\n id: `${meta.id}/module/ai-service`,\n activatesBefore: [AssistantEvents.SetupAiServiceProviders],\n // TODO(dmaretskyi): This should activate lazily when the AI chat is used.\n activatesOn: Events.Startup,\n activate: AiService,\n }),\n defineModule({\n id: `${meta.id}/module/blueprint`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: BlueprintDefinition,\n }),\n defineModule({\n id: `${meta.id}/module/toolkit`,\n // TODO(wittjosiah): Use a different event.\n activatesOn: Events.Startup,\n activate: Toolkit,\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Blueprint } from '@dxos/blueprints';\nimport { Sequence } from '@dxos/conductor';\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\nimport { Assistant } from './types';\n\n// TODO(burdon): Standardize translation names.\nexport const translations = [\n {\n 'en-US': {\n // TODO(burdon): From assistant.\n [Blueprint.Blueprint.typename]: {\n 'typename label': 'Blueprint',\n 'typename label_zero': 'Blueprints',\n 'typename label_one': 'Blueprint',\n 'typename label_other': 'Blueprints',\n 'object name placeholder': 'New blueprint',\n 'rename object label': 'Rename blueprint',\n 'delete object label': 'Delete blueprint',\n },\n // TODO(burdon): From conductor.\n [Sequence.typename]: {\n 'typename label': 'Sequence',\n 'typename label_zero': 'Sequences',\n 'typename label_one': 'Sequence',\n 'typename label_other': 'Sequences',\n 'object name placeholder': 'New sequence',\n 'rename object label': 'Rename sequence',\n 'delete object label': 'Delete sequence',\n },\n [Assistant.Chat.typename]: {\n 'typename label': 'AI Chat',\n 'object name placeholder': 'New AI Chat',\n 'rename object label': 'Rename AI Chat',\n 'delete object label': 'Delete AI Chat',\n },\n // TODO(burdon): Reconcile with react-ui-chat.\n [meta.id]: {\n 'templates label': 'Templates',\n 'open ambient chat label': 'Open Assistant',\n 'assistant chat label': 'Assistant',\n 'plugin name': 'Assistant',\n 'settings title': 'Assistant settings',\n 'object placeholder': 'New prompt',\n 'create object label': 'Create prompt',\n 'create trigger label': 'Create trigger',\n 'create stack section label': 'Create prompt',\n 'command placeholder': 'Enter slash command...',\n 'template placeholder': 'Enter template...',\n 'value placeholder': 'Enter value...',\n 'prompt rules label': 'Prompt Rules',\n 'typename placeholder': 'Enter typename of objects which this template is for',\n 'description placeholder': 'Enter description of when this template should be used',\n 'select preset template placeholder': 'Select preset',\n 'service registry label': 'Service Registry',\n 'type filter placeholder': 'Type',\n 'any type filter label': 'Any',\n 'no blueprint message': 'No active blueprints',\n 'calling tool label': 'Calling tool...',\n 'calling label': 'Calling',\n 'error label': 'Error',\n\n 'sequence logs label': 'Logs',\n\n 'assistant dialog title': 'Assistant',\n 'open assistant label': 'Open assistant',\n\n 'no tools': 'No tools are configured',\n 'no results': 'No results',\n\n 'button retry': 'Retry',\n 'button suggestion': 'Assistant suggestion',\n 'button select option': 'Select option',\n 'button cancel': 'Cancel',\n 'button save': 'Save',\n 'button run': 'Run',\n 'button new thread': 'New Chat',\n 'chat history label': 'Chat History',\n\n 'toolkit label': 'Toolkit',\n 'summary label': 'Summary',\n\n 'search placeholder': 'Search...',\n 'prompt placeholder': 'Enter question or command...',\n 'button context objects': 'Add to context',\n 'button context settings': 'Chat settings',\n 'button microphone': 'Click to speak',\n 'button cancel processing': 'Stop processing',\n 'blueprints in context title': 'Blueprints',\n 'objects in context title': 'Content',\n 'remove object in context label': 'Remove document',\n 'chat model title': 'Model',\n\n 'settings default label': 'Default',\n 'settings custom prompts label': 'Use custom prompts',\n 'settings llm provider label': 'LLM provider',\n 'settings edge llm model label': 'Remote language model',\n 'settings ollama llm model label': 'Ollama language model',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
- "mappings": "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",
6
- "names": ["lazy", "AiService", "lazy", "AppGraphBuilder", "AssistantState", "BlueprintDefinition", "EdgeModelResolver", "IntentResolver", "LocalModelResolver", "ReactSurface", "Settings", "Toolkit", "defineEvent", "AssistantEvents", "SetupAiServiceProviders", "defineEvent", "meta", "id", "Capabilities", "Events", "contributes", "createIntent", "defineModule", "definePlugin", "ResearchGraph", "ResearchOn", "Blueprint", "Prompt", "Sequence", "Type", "ClientCapabilities", "ClientEvents", "SpaceCapabilities", "SpaceEvents", "defineObjectForm", "Blueprint", "Sequence", "translations", "Blueprint", "typename", "Sequence", "Assistant", "Chat", "meta", "id", "AssistantPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "SetupSettings", "Settings", "AssistantState", "SetupMetadata", "Metadata", "Type", "getTypename", "Assistant", "Chat", "metadata", "icon", "Blueprint", "Sequence", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "_", "options", "createIntent", "AssistantAction", "CreateChat", "space", "formSchema", "BlueprintForm", "props", "CreateBlueprint", "CreateSequence", "ClientCapabilities", "Schema", "ServiceType", "CompanionTo", "ResearchGraph", "ResearchOn", "Prompt", "SpaceEvents", "SpaceCreated", "OnSpaceCreated", "rootCollection", "SetupAppGraph", "AppGraphBuilder", "SetupIntentResolver", "IntentResolver", "SetupReactSurface", "activatesBefore", "SetupArtifactDefinition", "ReactSurface", "AssistantEvents", "SetupAiServiceProviders", "EdgeModelResolver", "LocalModelResolver", "Startup", "AiService", "BlueprintDefinition", "Toolkit"]
3
+ "sources": ["../../../src/events.ts", "../../../src/AssistantPlugin.tsx", "../../../src/translations.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport namespace AssistantEvents {\n export const SetupAiServiceProviders = defineEvent(`${meta.id}/event/setup-ai-service-providers`);\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from '@dxos/app-framework';\nimport { ResearchGraph, ResearchOn } from '@dxos/assistant-testing';\nimport { Blueprint } from '@dxos/blueprints';\nimport { Sequence } from '@dxos/conductor';\nimport { Type } from '@dxos/echo';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities, SpaceEvents } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\n\nimport {\n AiService,\n AppGraphBuilder,\n AssistantState,\n BlueprintDefinition,\n ComputeRuntime,\n EdgeModelResolver,\n IntentResolver,\n LocalModelResolver,\n ReactSurface,\n Settings,\n Toolkit,\n} from './capabilities';\nimport { AssistantEvents } from './events';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { Assistant, AssistantAction, ServiceType } from './types';\n\nexport const AssistantPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: Settings,\n }),\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: Events.SetupSettings,\n activate: AssistantState,\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () => [\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(Assistant.Chat),\n metadata: {\n icon: 'ph--atom--regular',\n },\n }),\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(Blueprint.Blueprint),\n metadata: {\n icon: 'ph--blueprint--regular',\n },\n }),\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(Sequence),\n metadata: {\n icon: 'ph--circuitry--regular',\n },\n }),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => [\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: Assistant.Chat,\n getIntent: (_, options) => createIntent(AssistantAction.CreateChat, { space: options.space }),\n }),\n ),\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: Blueprint.Blueprint,\n formSchema: AssistantAction.BlueprintForm,\n getIntent: (props) => createIntent(AssistantAction.CreateBlueprint, props),\n }),\n ),\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: Sequence,\n getIntent: () => createIntent(AssistantAction.CreateSequence),\n }),\n ),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(ClientCapabilities.Schema, [ServiceType, Assistant.CompanionTo, ResearchGraph, ResearchOn]),\n }),\n defineModule({\n id: `${meta.id}/module/on-space-created`,\n activatesOn: SpaceEvents.SpaceCreated,\n activate: () =>\n contributes(SpaceCapabilities.OnSpaceCreated, ({ rootCollection, space }) =>\n createIntent(AssistantAction.OnSpaceCreated, { rootCollection, space }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the chat is loaded when surfaces activation is more granular.\n activatesBefore: [Events.SetupArtifactDefinition],\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/edge-model-resolver`,\n activatesOn: AssistantEvents.SetupAiServiceProviders,\n activate: EdgeModelResolver,\n }),\n defineModule({\n id: `${meta.id}/module/local-model-resolver`,\n activatesOn: AssistantEvents.SetupAiServiceProviders,\n activate: LocalModelResolver,\n }),\n defineModule({\n id: `${meta.id}/module/ai-service`,\n activatesBefore: [AssistantEvents.SetupAiServiceProviders],\n // TODO(dmaretskyi): This should activate lazily when the AI chat is used.\n activatesOn: Events.Startup,\n activate: AiService,\n }),\n defineModule({\n id: `${meta.id}/module/blueprint`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: BlueprintDefinition,\n }),\n defineModule({\n id: `${meta.id}/module/toolkit`,\n // TODO(wittjosiah): Use a different event.\n activatesOn: Events.Startup,\n activate: Toolkit,\n }),\n defineModule({\n id: `${meta.id}/module/compute-runtime`,\n // TODO(wittjosiah): Use a different event.\n activatesOn: Events.Startup,\n activate: ComputeRuntime,\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Blueprint } from '@dxos/blueprints';\nimport { Sequence } from '@dxos/conductor';\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\nimport { Assistant } from './types';\n\n// TODO(burdon): Standardize translation names.\nexport const translations = [\n {\n 'en-US': {\n // TODO(burdon): From assistant.\n [Blueprint.Blueprint.typename]: {\n 'typename label': 'Blueprint',\n 'typename label_zero': 'Blueprints',\n 'typename label_one': 'Blueprint',\n 'typename label_other': 'Blueprints',\n 'object name placeholder': 'New blueprint',\n 'rename object label': 'Rename blueprint',\n 'delete object label': 'Delete blueprint',\n },\n // TODO(burdon): From conductor.\n [Sequence.typename]: {\n 'typename label': 'Sequence',\n 'typename label_zero': 'Sequences',\n 'typename label_one': 'Sequence',\n 'typename label_other': 'Sequences',\n 'object name placeholder': 'New sequence',\n 'rename object label': 'Rename sequence',\n 'delete object label': 'Delete sequence',\n },\n [Assistant.Chat.typename]: {\n 'typename label': 'AI Chat',\n 'object name placeholder': 'New AI Chat',\n 'rename object label': 'Rename AI Chat',\n 'delete object label': 'Delete AI Chat',\n },\n // TODO(burdon): Reconcile with react-ui-chat.\n [meta.id]: {\n 'templates label': 'Templates',\n 'open ambient chat label': 'Open Assistant',\n 'assistant chat label': 'Assistant',\n 'plugin name': 'Assistant',\n 'settings title': 'Assistant settings',\n 'object placeholder': 'New prompt',\n 'create object label': 'Create prompt',\n 'create trigger label': 'Create trigger',\n 'create stack section label': 'Create prompt',\n 'command placeholder': 'Enter slash command...',\n 'template placeholder': 'Enter template...',\n 'value placeholder': 'Enter value...',\n 'prompt rules label': 'Prompt Rules',\n 'typename placeholder': 'Enter typename of objects which this template is for',\n 'description placeholder': 'Enter description of when this template should be used',\n 'select preset template placeholder': 'Select preset',\n 'service registry label': 'Service Registry',\n 'type filter placeholder': 'Type',\n 'any type filter label': 'Any',\n 'no blueprint message': 'No active blueprints',\n 'calling tool label': 'Calling tool...',\n 'calling label': 'Calling',\n 'error label': 'Error',\n\n 'sequence logs label': 'Logs',\n\n 'assistant dialog title': 'Assistant',\n 'open assistant label': 'Open assistant',\n\n 'no tools': 'No tools are configured',\n 'no results': 'No results',\n\n 'button retry': 'Retry',\n 'button suggestion': 'Assistant suggestion',\n 'button select option': 'Select option',\n 'button cancel': 'Cancel',\n 'button save': 'Save',\n 'button run': 'Run',\n 'button new thread': 'New Chat',\n 'chat history label': 'Chat History',\n\n 'toolkit label': 'Toolkit',\n 'summary label': 'Summary',\n\n 'search placeholder': 'Search...',\n 'prompt placeholder': 'Enter question or command...',\n 'button context objects': 'Add to context',\n 'button context settings': 'Chat settings',\n 'button microphone': 'Click to speak',\n 'button cancel processing': 'Stop processing',\n 'blueprints in context title': 'Blueprints',\n 'objects in context title': 'Content',\n 'remove object in context label': 'Remove document',\n 'chat model title': 'Model',\n\n 'settings default label': 'Default',\n 'settings custom prompts label': 'Use custom prompts',\n 'settings llm provider label': 'LLM provider',\n 'settings edge llm model label': 'Remote language model',\n 'settings ollama llm model label': 'Ollama language model',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
+ "mappings": "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",
6
+ "names": ["defineEvent", "AssistantEvents", "SetupAiServiceProviders", "defineEvent", "meta", "id", "Capabilities", "Events", "contributes", "createIntent", "defineModule", "definePlugin", "ResearchGraph", "ResearchOn", "Blueprint", "Sequence", "Type", "ClientCapabilities", "ClientEvents", "SpaceCapabilities", "SpaceEvents", "defineObjectForm", "Blueprint", "Sequence", "translations", "Blueprint", "typename", "Sequence", "Assistant", "Chat", "meta", "id", "AssistantPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "SetupSettings", "Settings", "AssistantState", "SetupMetadata", "Metadata", "Type", "getTypename", "Assistant", "Chat", "metadata", "icon", "Blueprint", "Sequence", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "_", "options", "createIntent", "AssistantAction", "CreateChat", "space", "formSchema", "BlueprintForm", "props", "CreateBlueprint", "CreateSequence", "ClientCapabilities", "Schema", "ServiceType", "CompanionTo", "ResearchGraph", "ResearchOn", "SpaceEvents", "SpaceCreated", "OnSpaceCreated", "rootCollection", "SetupAppGraph", "AppGraphBuilder", "SetupIntentResolver", "IntentResolver", "SetupReactSurface", "activatesBefore", "SetupArtifactDefinition", "ReactSurface", "AssistantEvents", "SetupAiServiceProviders", "EdgeModelResolver", "LocalModelResolver", "Startup", "AiService", "BlueprintDefinition", "Toolkit", "ComputeRuntime"]
7
7
  }
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  BLUEPRINT_KEY,
3
3
  createBlueprint
4
- } from "./chunk-BBT6KNXA.mjs";
4
+ } from "./chunk-GLWD66TA.mjs";
5
5
  import {
6
6
  AssistantAction_exports,
7
7
  Assistant_exports
8
8
  } from "./chunk-SMIVXXAI.mjs";
9
9
  import {
10
10
  AssistantCapabilities
11
- } from "./chunk-YKODYEYR.mjs";
11
+ } from "./chunk-EZUSNS2J.mjs";
12
12
  import "./chunk-O4LUJEDV.mjs";
13
13
  import "./chunk-J5LGTIGS.mjs";
14
14
 
@@ -21,7 +21,7 @@ import { fullyQualifiedId } from "@dxos/client/echo";
21
21
  import { Sequence } from "@dxos/conductor";
22
22
  import { Filter, Key, Obj, Ref } from "@dxos/echo";
23
23
  import { CollectionAction } from "@dxos/plugin-space/types";
24
- var intent_resolver_default = ((context) => [
24
+ var intent_resolver_default = (context) => [
25
25
  contributes(Capabilities.IntentResolver, [
26
26
  createResolver({
27
27
  intent: AssistantAction_exports.OnSpaceCreated,
@@ -105,8 +105,8 @@ var intent_resolver_default = ((context) => [
105
105
  })
106
106
  })
107
107
  ])
108
- ]);
108
+ ];
109
109
  export {
110
110
  intent_resolver_default as default
111
111
  };
112
- //# sourceMappingURL=intent-resolver-MRZJU255.mjs.map
112
+ //# sourceMappingURL=intent-resolver-I6M3ZDAS.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Effect } from 'effect';\n\nimport { Capabilities, type PluginContext, contributes, createIntent, createResolver } from '@dxos/app-framework';\nimport { AiContextBinder } from '@dxos/assistant';\nimport { Blueprint, Template } from '@dxos/blueprints';\nimport { fullyQualifiedId } from '@dxos/client/echo';\nimport { Sequence } from '@dxos/conductor';\nimport { Filter, Key, Obj, Ref } from '@dxos/echo';\nimport { CollectionAction } from '@dxos/plugin-space/types';\n\nimport { Assistant, AssistantAction } from '../types';\n\nimport { BLUEPRINT_KEY, createBlueprint } from './blueprint-definition';\nimport { AssistantCapabilities } from './capabilities';\n\nexport default (context: PluginContext) => [\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: AssistantAction.OnSpaceCreated,\n resolve: ({ space, rootCollection }) =>\n Effect.gen(function* () {\n const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const { object: chatCollection } = yield* dispatch(\n createIntent(CollectionAction.CreateQueryCollection, { typename: Assistant.Chat.typename }),\n );\n const { object: blueprintCollection } = yield* dispatch(\n createIntent(CollectionAction.CreateQueryCollection, { typename: Blueprint.Blueprint.typename }),\n );\n rootCollection.objects.push(Ref.make(chatCollection), Ref.make(blueprintCollection));\n\n // Create default chat.\n const { object: chat } = yield* dispatch(createIntent(AssistantAction.CreateChat, { space }));\n space.db.add(chat);\n }),\n }),\n createResolver({\n intent: AssistantAction.CreateChat,\n resolve: async ({ space, name }) => {\n const queue = space.queues.create();\n const chat = Obj.make(Assistant.Chat, { name, queue: Ref.fromDXN(queue.dxn) });\n const { objects: blueprints } = await space.db.query(Filter.type(Blueprint.Blueprint)).run();\n // TODO(wittjosiah): This should be a space-level setting.\n // TODO(burdon): Clone when activated. Copy-on-write for template.\n let defaultBlueprint = blueprints.find((blueprint) => blueprint.key === BLUEPRINT_KEY);\n if (!defaultBlueprint) {\n defaultBlueprint = space.db.add(createBlueprint());\n }\n\n const binder = new AiContextBinder(queue);\n await binder.bind({ blueprints: [Ref.make(defaultBlueprint)] });\n\n return {\n data: { object: chat },\n };\n },\n }),\n createResolver({\n intent: AssistantAction.CreateBlueprint,\n resolve: ({ key, name, description }) => ({\n data: {\n object: Blueprint.make({ key, name, description, instructions: Template.make({ source: '' }) }),\n },\n }),\n }),\n createResolver({\n intent: AssistantAction.CreateSequence,\n resolve: ({ name }) => ({\n data: {\n object: Obj.make(Sequence, {\n name,\n steps: [\n {\n id: Key.ObjectId.random(),\n instructions: 'You are a helpful assistant.',\n },\n ],\n }),\n },\n }),\n }),\n createResolver({\n intent: AssistantAction.SetCurrentChat,\n resolve: ({ companionTo, chat }) =>\n Effect.gen(function* () {\n const state = context.getCapability(AssistantCapabilities.MutableState);\n state.currentChat[fullyQualifiedId(companionTo)] = chat;\n }),\n }),\n ]),\n];\n"],
5
- "mappings": "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",
5
+ "mappings": ";;;;;;;;;;;;;;;AAIA,SAASA,cAAc;AAEvB,SAASC,cAAkCC,aAAaC,cAAcC,sBAAsB;AAC5F,SAASC,uBAAuB;AAChC,SAASC,WAAWC,gBAAgB;AACpC,SAASC,wBAAwB;AACjC,SAASC,gBAAgB;AACzB,SAASC,QAAQC,KAAKC,KAAKC,WAAW;AACtC,SAASC,wBAAwB;AAOjC,IAAA,0BAAe,CAACC,YAA2B;EACzCC,YAAYC,aAAaC,gBAAgB;IACvCC,eAAe;MACbC,QAAQC,wBAAgBC;MACxBC,SAAS,CAAC,EAAEC,OAAOC,eAAc,MAC/BC,OAAOC,IAAI,aAAA;AACT,cAAM,EAAEC,SAAQ,IAAKb,QAAQc,cAAcZ,aAAaa,gBAAgB;AACxE,cAAM,EAAEC,QAAQC,eAAc,IAAK,OAAOJ,SACxCK,aAAaC,iBAAiBC,uBAAuB;UAAEC,UAAUC,kBAAUC,KAAKF;QAAS,CAAA,CAAA;AAE3F,cAAM,EAAEL,QAAQQ,oBAAmB,IAAK,OAAOX,SAC7CK,aAAaC,iBAAiBC,uBAAuB;UAAEC,UAAUI,UAAUA,UAAUJ;QAAS,CAAA,CAAA;AAEhGX,uBAAegB,QAAQC,KAAKC,IAAIC,KAAKZ,cAAAA,GAAiBW,IAAIC,KAAKL,mBAAAA,CAAAA;AAG/D,cAAM,EAAER,QAAQc,KAAI,IAAK,OAAOjB,SAASK,aAAaZ,wBAAgByB,YAAY;UAAEtB;QAAM,CAAA,CAAA;AAC1FA,cAAMuB,GAAGC,IAAIH,IAAAA;MACf,CAAA;IACJ,CAAA;IACA1B,eAAe;MACbC,QAAQC,wBAAgByB;MACxBvB,SAAS,OAAO,EAAEC,OAAOyB,KAAI,MAAE;AAC7B,cAAMC,QAAQ1B,MAAM2B,OAAOC,OAAM;AACjC,cAAMP,OAAOQ,IAAIT,KAAKP,kBAAUC,MAAM;UAAEW;UAAMC,OAAOP,IAAIW,QAAQJ,MAAMK,GAAG;QAAE,CAAA;AAC5E,cAAM,EAAEd,SAASe,WAAU,IAAK,MAAMhC,MAAMuB,GAAGU,MAAMC,OAAOC,KAAKnB,UAAUA,SAAS,CAAA,EAAGoB,IAAG;AAG1F,YAAIC,mBAAmBL,WAAWM,KAAK,CAACC,cAAcA,UAAUC,QAAQC,aAAAA;AACxE,YAAI,CAACJ,kBAAkB;AACrBA,6BAAmBrC,MAAMuB,GAAGC,IAAIkB,gBAAAA,CAAAA;QAClC;AAEA,cAAMC,SAAS,IAAIC,gBAAgBlB,KAAAA;AACnC,cAAMiB,OAAOE,KAAK;UAAEb,YAAY;YAACb,IAAIC,KAAKiB,gBAAAA;;QAAmB,CAAA;AAE7D,eAAO;UACLS,MAAM;YAAEvC,QAAQc;UAAK;QACvB;MACF;IACF,CAAA;IACA1B,eAAe;MACbC,QAAQC,wBAAgBkD;MACxBhD,SAAS,CAAC,EAAEyC,KAAKf,MAAMuB,YAAW,OAAQ;QACxCF,MAAM;UACJvC,QAAQS,UAAUI,KAAK;YAAEoB;YAAKf;YAAMuB;YAAaC,cAAcC,SAAS9B,KAAK;cAAE+B,QAAQ;YAAG,CAAA;UAAG,CAAA;QAC/F;MACF;IACF,CAAA;IACAxD,eAAe;MACbC,QAAQC,wBAAgBuD;MACxBrD,SAAS,CAAC,EAAE0B,KAAI,OAAQ;QACtBqB,MAAM;UACJvC,QAAQsB,IAAIT,KAAKiC,UAAU;YACzB5B;YACA6B,OAAO;cACL;gBACEC,IAAIC,IAAIC,SAASC,OAAM;gBACvBT,cAAc;cAChB;;UAEJ,CAAA;QACF;MACF;IACF,CAAA;IACAtD,eAAe;MACbC,QAAQC,wBAAgB8D;MACxB5D,SAAS,CAAC,EAAE6D,aAAavC,KAAI,MAC3BnB,OAAOC,IAAI,aAAA;AACT,cAAM0D,QAAQtE,QAAQc,cAAcyD,sBAAsBC,YAAY;AACtEF,cAAMG,YAAYC,iBAAiBL,WAAAA,CAAAA,IAAgBvC;MACrD,CAAA;IACJ,CAAA;GACD;;",
6
6
  "names": ["Effect", "Capabilities", "contributes", "createIntent", "createResolver", "AiContextBinder", "Blueprint", "Template", "fullyQualifiedId", "Sequence", "Filter", "Key", "Obj", "Ref", "CollectionAction", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "AssistantAction", "OnSpaceCreated", "resolve", "space", "rootCollection", "Effect", "gen", "dispatch", "getCapability", "IntentDispatcher", "object", "chatCollection", "createIntent", "CollectionAction", "CreateQueryCollection", "typename", "Assistant", "Chat", "blueprintCollection", "Blueprint", "objects", "push", "Ref", "make", "chat", "CreateChat", "db", "add", "name", "queue", "queues", "create", "Obj", "fromDXN", "dxn", "blueprints", "query", "Filter", "type", "run", "defaultBlueprint", "find", "blueprint", "key", "BLUEPRINT_KEY", "createBlueprint", "binder", "AiContextBinder", "bind", "data", "CreateBlueprint", "description", "instructions", "Template", "source", "CreateSequence", "Sequence", "steps", "id", "Key", "ObjectId", "random", "SetCurrentChat", "companionTo", "state", "AssistantCapabilities", "MutableState", "currentChat", "fullyQualifiedId"]
7
7
  }
@@ -1,3 +1,7 @@
1
+ import {
2
+ AssistantCapabilities
3
+ } from "./chunk-EZUSNS2J.mjs";
4
+ import "./chunk-O4LUJEDV.mjs";
1
5
  import "./chunk-J5LGTIGS.mjs";
2
6
 
3
7
  // src/capabilities/local-model-resolver.ts
@@ -5,13 +9,13 @@ import { OpenAiClient } from "@effect/ai-openai";
5
9
  import { FetchHttpClient } from "@effect/platform";
6
10
  import { Layer } from "effect";
7
11
  import { AiServiceRouter } from "@dxos/ai";
8
- import { Capabilities, contributes } from "@dxos/app-framework";
9
- var local_model_resolver_default = (() => [
10
- contributes(Capabilities.AiModelResolver, AiServiceRouter.LMStudioResolver.pipe(Layer.provide(OpenAiClient.layer({
12
+ import { contributes } from "@dxos/app-framework";
13
+ var local_model_resolver_default = () => [
14
+ contributes(AssistantCapabilities.AiModelResolver, AiServiceRouter.LMStudioResolver.pipe(Layer.provide(OpenAiClient.layer({
11
15
  apiUrl: AiServiceRouter.LMSTUDIO_ENDPOINT
12
16
  })), Layer.provide(FetchHttpClient.layer)))
13
- ]);
17
+ ];
14
18
  export {
15
19
  local_model_resolver_default as default
16
20
  };
17
- //# sourceMappingURL=local-model-resolver-QXLLTV2H.mjs.map
21
+ //# sourceMappingURL=local-model-resolver-EUXSRZ7X.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/local-model-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { OpenAiClient } from '@effect/ai-openai';\nimport { FetchHttpClient } from '@effect/platform';\nimport { Layer } from 'effect';\n\nimport { AiServiceRouter } from '@dxos/ai';\nimport { type Capability, contributes } from '@dxos/app-framework';\n\nimport { AssistantCapabilities } from './capabilities';\n\n/**\n * To start LM Studio server:\n * ```bash\n * ~/.lmstudio/bin/lms server start --cors\n * ```\n */\nexport default (): Capability<any>[] => [\n contributes(\n AssistantCapabilities.AiModelResolver,\n AiServiceRouter.LMStudioResolver.pipe(\n Layer.provide(\n OpenAiClient.layer({\n apiUrl: AiServiceRouter.LMSTUDIO_ENDPOINT,\n }),\n ),\n Layer.provide(FetchHttpClient.layer),\n ),\n ),\n];\n"],
5
+ "mappings": ";;;;;;;AAIA,SAASA,oBAAoB;AAC7B,SAASC,uBAAuB;AAChC,SAASC,aAAa;AAEtB,SAASC,uBAAuB;AAChC,SAA0BC,mBAAmB;AAU7C,IAAA,+BAAe,MAAyB;EACtCC,YACEC,sBAAsBC,iBACtBC,gBAAgBC,iBAAiBC,KAC/BC,MAAMC,QACJC,aAAaC,MAAM;IACjBC,QAAQP,gBAAgBQ;EAC1B,CAAA,CAAA,GAEFL,MAAMC,QAAQK,gBAAgBH,KAAK,CAAA,CAAA;;",
6
+ "names": ["OpenAiClient", "FetchHttpClient", "Layer", "AiServiceRouter", "contributes", "contributes", "AssistantCapabilities", "AiModelResolver", "AiServiceRouter", "LMStudioResolver", "pipe", "Layer", "provide", "OpenAiClient", "layer", "apiUrl", "LMSTUDIO_ENDPOINT", "FetchHttpClient"]
7
+ }