@dxos/functions 0.8.4-main.dedc0f3 → 0.8.4-main.ead640a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/bundler/index.mjs +10 -6
- package/dist/lib/browser/bundler/index.mjs.map +3 -3
- package/dist/lib/browser/{chunk-ANP3DFCO.mjs → chunk-LKYT2SAL.mjs} +179 -137
- package/dist/lib/browser/chunk-LKYT2SAL.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +320 -190
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +11 -9
- package/dist/lib/browser/testing/index.mjs.map +3 -3
- package/dist/lib/node-esm/bundler/index.mjs +10 -6
- package/dist/lib/node-esm/bundler/index.mjs.map +3 -3
- package/dist/lib/node-esm/{chunk-MPKVY7ZR.mjs → chunk-NAQIKLZB.mjs} +179 -137
- package/dist/lib/node-esm/chunk-NAQIKLZB.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +320 -190
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +11 -9
- package/dist/lib/node-esm/testing/index.mjs.map +3 -3
- package/dist/types/src/bundler/bundler.d.ts.map +1 -1
- package/dist/types/src/errors.d.ts +39 -39
- package/dist/types/src/errors.d.ts.map +1 -1
- package/dist/types/src/examples/fib.d.ts.map +1 -1
- package/dist/types/src/examples/reply.d.ts.map +1 -1
- package/dist/types/src/examples/sleep.d.ts.map +1 -1
- package/dist/types/src/executor/executor.d.ts +3 -0
- package/dist/types/src/executor/executor.d.ts.map +1 -1
- package/dist/types/src/handler.d.ts +19 -4
- package/dist/types/src/handler.d.ts.map +1 -1
- package/dist/types/src/schema.d.ts +5 -5
- package/dist/types/src/schema.d.ts.map +1 -1
- package/dist/types/src/services/credentials.d.ts +6 -2
- package/dist/types/src/services/credentials.d.ts.map +1 -1
- package/dist/types/src/services/database.d.ts +7 -38
- package/dist/types/src/services/database.d.ts.map +1 -1
- package/dist/types/src/services/event-logger.d.ts +4 -1
- package/dist/types/src/services/event-logger.d.ts.map +1 -1
- package/dist/types/src/services/function-invocation-service.d.ts +28 -0
- package/dist/types/src/services/function-invocation-service.d.ts.map +1 -0
- package/dist/types/src/services/function-invocation-service.test.d.ts +2 -0
- package/dist/types/src/services/function-invocation-service.test.d.ts.map +1 -0
- package/dist/types/src/services/index.d.ts +4 -3
- package/dist/types/src/services/index.d.ts.map +1 -1
- package/dist/types/src/services/local-function-execution.d.ts +18 -9
- package/dist/types/src/services/local-function-execution.d.ts.map +1 -1
- package/dist/types/src/services/queues.d.ts +3 -1
- package/dist/types/src/services/queues.d.ts.map +1 -1
- package/dist/types/src/services/remote-function-execution-service.d.ts +11 -4
- package/dist/types/src/services/remote-function-execution-service.d.ts.map +1 -1
- package/dist/types/src/services/service-container.d.ts +2 -1
- package/dist/types/src/services/service-container.d.ts.map +1 -1
- package/dist/types/src/services/service-registry.d.ts +3 -1
- package/dist/types/src/services/service-registry.d.ts.map +1 -1
- package/dist/types/src/services/tracing.d.ts +5 -3
- package/dist/types/src/services/tracing.d.ts.map +1 -1
- package/dist/types/src/testing/layer.d.ts +6 -3
- package/dist/types/src/testing/layer.d.ts.map +1 -1
- package/dist/types/src/testing/logger.d.ts +1 -1
- package/dist/types/src/testing/logger.d.ts.map +1 -1
- package/dist/types/src/testing/services.d.ts +1 -1
- package/dist/types/src/testing/services.d.ts.map +1 -1
- package/dist/types/src/trace.d.ts +1 -1
- package/dist/types/src/trace.d.ts.map +1 -1
- package/dist/types/src/triggers/invocation-tracer.d.ts +3 -1
- package/dist/types/src/triggers/invocation-tracer.d.ts.map +1 -1
- package/dist/types/src/triggers/trigger-dispatcher.d.ts +7 -4
- package/dist/types/src/triggers/trigger-dispatcher.d.ts.map +1 -1
- package/dist/types/src/triggers/trigger-state-store.d.ts +5 -4
- package/dist/types/src/triggers/trigger-state-store.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +49 -30
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/types/src/url.d.ts +1 -1
- package/dist/types/src/url.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +27 -36
- package/src/bundler/bundler.ts +7 -3
- package/src/errors.ts +9 -9
- package/src/examples/fib.ts +4 -2
- package/src/examples/reply.ts +5 -2
- package/src/examples/sleep.ts +4 -2
- package/src/executor/executor.ts +5 -1
- package/src/handler.ts +33 -9
- package/src/schema.ts +5 -2
- package/src/services/credentials.ts +9 -2
- package/src/services/database.ts +19 -14
- package/src/services/event-logger.ts +4 -1
- package/src/services/function-invocation-service.test.ts +81 -0
- package/src/services/function-invocation-service.ts +84 -0
- package/src/services/index.ts +4 -3
- package/src/services/local-function-execution.ts +66 -27
- package/src/services/queues.ts +3 -1
- package/src/services/remote-function-execution-service.ts +38 -21
- package/src/services/service-container.ts +2 -1
- package/src/services/service-registry.test.ts +4 -1
- package/src/services/service-registry.ts +7 -3
- package/src/services/tracing.ts +17 -14
- package/src/testing/layer.ts +10 -7
- package/src/testing/logger.ts +2 -1
- package/src/testing/persist-database.test.ts +4 -4
- package/src/testing/services.ts +1 -1
- package/src/trace.ts +2 -2
- package/src/triggers/invocation-tracer.ts +3 -1
- package/src/triggers/trigger-dispatcher.test.ts +29 -16
- package/src/triggers/trigger-dispatcher.ts +29 -8
- package/src/triggers/trigger-state-store.ts +7 -6
- package/src/types.ts +30 -12
- package/src/url.ts +1 -1
- package/dist/lib/browser/chunk-ANP3DFCO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-MPKVY7ZR.mjs.map +0 -7
|
@@ -1,3 +1,30 @@
|
|
|
1
|
+
// src/errors.ts
|
|
2
|
+
import { BaseError } from "@dxos/errors";
|
|
3
|
+
var ServiceNotAvailableError = class extends BaseError.extend("SERVICE_NOT_AVAILABLE", "Service not available") {
|
|
4
|
+
constructor(service, options) {
|
|
5
|
+
super({
|
|
6
|
+
context: {
|
|
7
|
+
service
|
|
8
|
+
},
|
|
9
|
+
...options
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
var FunctionNotFoundError = class extends BaseError.extend("FUNCTION_NOT_FOUND", "Function not found") {
|
|
14
|
+
constructor(functionKey, options) {
|
|
15
|
+
super({
|
|
16
|
+
context: {
|
|
17
|
+
function: functionKey
|
|
18
|
+
},
|
|
19
|
+
...options
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
var FunctionError = class extends BaseError.extend("FUNCTION_ERROR", "Function invocation error") {
|
|
24
|
+
};
|
|
25
|
+
var TriggerStateNotFoundError = class extends BaseError.extend("TRIGGER_STATE_NOT_FOUND", "Trigger state not found") {
|
|
26
|
+
};
|
|
27
|
+
|
|
1
28
|
// src/url.ts
|
|
2
29
|
var FUNCTIONS_META_KEY = "dxos.org/service/function";
|
|
3
30
|
var FUNCTIONS_PRESET_META_KEY = "dxos.org/service/function-preset";
|
|
@@ -30,21 +57,23 @@ var getInvocationUrl = (functionId, edgeUrl, options = {}) => {
|
|
|
30
57
|
};
|
|
31
58
|
|
|
32
59
|
// src/services/database.ts
|
|
33
|
-
import
|
|
34
|
-
import
|
|
60
|
+
import * as Context from "effect/Context";
|
|
61
|
+
import * as Effect from "effect/Effect";
|
|
62
|
+
import * as Layer from "effect/Layer";
|
|
63
|
+
import * as Option from "effect/Option";
|
|
64
|
+
import { Obj, ObjectNotFoundError } from "@dxos/echo";
|
|
35
65
|
import { promiseWithCauseCapture } from "@dxos/effect";
|
|
36
|
-
import { BaseError } from "@dxos/errors";
|
|
37
66
|
import { invariant } from "@dxos/invariant";
|
|
38
|
-
function _define_property(obj, key,
|
|
67
|
+
function _define_property(obj, key, value2) {
|
|
39
68
|
if (key in obj) {
|
|
40
69
|
Object.defineProperty(obj, key, {
|
|
41
|
-
value,
|
|
70
|
+
value: value2,
|
|
42
71
|
enumerable: true,
|
|
43
72
|
configurable: true,
|
|
44
73
|
writable: true
|
|
45
74
|
});
|
|
46
75
|
} else {
|
|
47
|
-
obj[key] =
|
|
76
|
+
obj[key] = value2;
|
|
48
77
|
}
|
|
49
78
|
return obj;
|
|
50
79
|
}
|
|
@@ -75,13 +104,11 @@ _define_property(DatabaseService, "resolve", (dxn, schema) => Effect.gen(functio
|
|
|
75
104
|
}
|
|
76
105
|
}).resolve(dxn));
|
|
77
106
|
if (!object) {
|
|
78
|
-
return yield* Effect.fail(new ObjectNotFoundError(
|
|
79
|
-
dxn
|
|
80
|
-
}));
|
|
107
|
+
return yield* Effect.fail(new ObjectNotFoundError(dxn));
|
|
81
108
|
}
|
|
82
109
|
invariant(!schema || Obj.instanceOf(schema, object), "Object type mismatch.", {
|
|
83
110
|
F: __dxlog_file,
|
|
84
|
-
L:
|
|
111
|
+
L: 82,
|
|
85
112
|
S: this,
|
|
86
113
|
A: [
|
|
87
114
|
"!schema || Obj.instanceOf(schema, object)",
|
|
@@ -93,9 +120,7 @@ _define_property(DatabaseService, "resolve", (dxn, schema) => Effect.gen(functio
|
|
|
93
120
|
_define_property(DatabaseService, "load", Effect.fn(function* (ref) {
|
|
94
121
|
const object = yield* promiseWithCauseCapture(() => ref.tryLoad());
|
|
95
122
|
if (!object) {
|
|
96
|
-
return yield* Effect.fail(new ObjectNotFoundError(
|
|
97
|
-
dxn: ref.dxn
|
|
98
|
-
}));
|
|
123
|
+
return yield* Effect.fail(new ObjectNotFoundError(ref.dxn));
|
|
99
124
|
}
|
|
100
125
|
return object;
|
|
101
126
|
}));
|
|
@@ -113,95 +138,46 @@ _define_property(DatabaseService, "query", (queryOrFilter) => DatabaseService.pi
|
|
|
113
138
|
_define_property(DatabaseService, "runQuery", (queryOrFilter) => DatabaseService.query(queryOrFilter).pipe(Effect.flatMap((queryResult) => promiseWithCauseCapture(() => queryResult.run()))));
|
|
114
139
|
_define_property(DatabaseService, "schemaQuery", (query) => DatabaseService.pipe(Effect.map(({ db }) => db.schemaRegistry.query(query)), Effect.withSpan("DatabaseService.schemaQuery")));
|
|
115
140
|
_define_property(DatabaseService, "runSchemaQuery", (query) => DatabaseService.schemaQuery(query).pipe(Effect.flatMap((queryResult) => promiseWithCauseCapture(() => queryResult.run()))));
|
|
116
|
-
var ObjectNotFoundError = class extends BaseError.extend("OBJECT_NOT_FOUND") {
|
|
117
|
-
constructor(context) {
|
|
118
|
-
super("Object not found", {
|
|
119
|
-
context
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
// src/services/queues.ts
|
|
125
|
-
import { Context as Context2, Effect as Effect2, Layer as Layer2 } from "effect";
|
|
126
|
-
function _define_property2(obj, key, value) {
|
|
127
|
-
if (key in obj) {
|
|
128
|
-
Object.defineProperty(obj, key, {
|
|
129
|
-
value,
|
|
130
|
-
enumerable: true,
|
|
131
|
-
configurable: true,
|
|
132
|
-
writable: true
|
|
133
|
-
});
|
|
134
|
-
} else {
|
|
135
|
-
obj[key] = value;
|
|
136
|
-
}
|
|
137
|
-
return obj;
|
|
138
|
-
}
|
|
139
|
-
var _Context_Tag2;
|
|
140
|
-
var QueueService = class extends (_Context_Tag2 = Context2.Tag("@dxos/functions/QueueService")()) {
|
|
141
|
-
};
|
|
142
|
-
_define_property2(QueueService, "notAvailable", Layer2.succeed(QueueService, {
|
|
143
|
-
queues: {
|
|
144
|
-
get(_dxn) {
|
|
145
|
-
throw new Error("Queues not available");
|
|
146
|
-
},
|
|
147
|
-
create() {
|
|
148
|
-
throw new Error("Queues not available");
|
|
149
|
-
}
|
|
150
|
-
},
|
|
151
|
-
queue: void 0
|
|
152
|
-
}));
|
|
153
|
-
_define_property2(QueueService, "make", (queues, queue) => {
|
|
154
|
-
return {
|
|
155
|
-
queues,
|
|
156
|
-
queue
|
|
157
|
-
};
|
|
158
|
-
});
|
|
159
|
-
_define_property2(QueueService, "layer", (queues, queue) => Layer2.succeed(QueueService, QueueService.make(queues, queue)));
|
|
160
|
-
_define_property2(QueueService, "getQueue", (dxn) => QueueService.pipe(Effect2.map(({ queues }) => queues.get(dxn))));
|
|
161
|
-
_define_property2(QueueService, "createQueue", (options) => QueueService.pipe(Effect2.map(({ queues }) => queues.create(options))));
|
|
162
|
-
_define_property2(QueueService, "append", (queue, objects) => Effect2.promise(() => queue.append(objects)));
|
|
163
|
-
var _Context_Tag1;
|
|
164
|
-
var ContextQueueService = class extends (_Context_Tag1 = Context2.Tag("@dxos/functions/ContextQueueService")()) {
|
|
165
|
-
};
|
|
166
|
-
_define_property2(ContextQueueService, "layer", (queue) => Layer2.succeed(ContextQueueService, {
|
|
167
|
-
queue
|
|
168
|
-
}));
|
|
169
141
|
|
|
170
142
|
// src/services/credentials.ts
|
|
171
|
-
import
|
|
172
|
-
import
|
|
143
|
+
import * as HttpClient from "@effect/platform/HttpClient";
|
|
144
|
+
import * as HttpClientRequest from "@effect/platform/HttpClientRequest";
|
|
145
|
+
import * as Context2 from "effect/Context";
|
|
146
|
+
import * as Effect2 from "effect/Effect";
|
|
147
|
+
import * as Layer2 from "effect/Layer";
|
|
148
|
+
import * as Redacted from "effect/Redacted";
|
|
173
149
|
import { Query } from "@dxos/echo";
|
|
174
150
|
import { DataType } from "@dxos/schema";
|
|
175
|
-
function
|
|
151
|
+
function _define_property2(obj, key, value2) {
|
|
176
152
|
if (key in obj) {
|
|
177
153
|
Object.defineProperty(obj, key, {
|
|
178
|
-
value,
|
|
154
|
+
value: value2,
|
|
179
155
|
enumerable: true,
|
|
180
156
|
configurable: true,
|
|
181
157
|
writable: true
|
|
182
158
|
});
|
|
183
159
|
} else {
|
|
184
|
-
obj[key] =
|
|
160
|
+
obj[key] = value2;
|
|
185
161
|
}
|
|
186
162
|
return obj;
|
|
187
163
|
}
|
|
188
|
-
var
|
|
189
|
-
var CredentialsService = class extends (
|
|
164
|
+
var _Context_Tag2;
|
|
165
|
+
var CredentialsService = class extends (_Context_Tag2 = Context2.Tag("@dxos/functions/CredentialsService")()) {
|
|
190
166
|
};
|
|
191
|
-
|
|
167
|
+
_define_property2(CredentialsService, "getCredential", (query) => Effect2.gen(function* () {
|
|
192
168
|
const credentials = yield* CredentialsService;
|
|
193
|
-
return yield*
|
|
169
|
+
return yield* Effect2.promise(() => credentials.getCredential(query));
|
|
194
170
|
}));
|
|
195
|
-
|
|
171
|
+
_define_property2(CredentialsService, "getApiKey", (query) => Effect2.gen(function* () {
|
|
196
172
|
const credential = yield* CredentialsService.getCredential(query);
|
|
197
173
|
if (!credential.apiKey) {
|
|
198
174
|
throw new Error(`API key not found for service: ${query.service}`);
|
|
199
175
|
}
|
|
200
176
|
return Redacted.make(credential.apiKey);
|
|
201
177
|
}));
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
const serviceCredentials = yield*
|
|
178
|
+
_define_property2(CredentialsService, "configuredLayer", (credentials) => Layer2.succeed(CredentialsService, new ConfiguredCredentialsService(credentials)));
|
|
179
|
+
_define_property2(CredentialsService, "layerConfig", (credentials) => Layer2.effect(CredentialsService, Effect2.gen(function* () {
|
|
180
|
+
const serviceCredentials = yield* Effect2.forEach(credentials, ({ service, apiKey }) => Effect2.gen(function* () {
|
|
205
181
|
return {
|
|
206
182
|
service,
|
|
207
183
|
apiKey: Redacted.value(yield* apiKey)
|
|
@@ -209,7 +185,7 @@ _define_property3(CredentialsService, "layerConfig", (credentials) => Layer3.eff
|
|
|
209
185
|
}));
|
|
210
186
|
return new ConfiguredCredentialsService(serviceCredentials);
|
|
211
187
|
})));
|
|
212
|
-
|
|
188
|
+
_define_property2(CredentialsService, "layerFromDatabase", () => Layer2.effect(CredentialsService, Effect2.gen(function* () {
|
|
213
189
|
const dbService = yield* DatabaseService;
|
|
214
190
|
const queryCredentials = async (query) => {
|
|
215
191
|
const { objects: accessTokens } = await dbService.db.query(Query.type(DataType.AccessToken)).run();
|
|
@@ -247,60 +223,62 @@ var ConfiguredCredentialsService = class {
|
|
|
247
223
|
return credential;
|
|
248
224
|
}
|
|
249
225
|
constructor(credentials = []) {
|
|
250
|
-
|
|
226
|
+
_define_property2(this, "credentials", void 0);
|
|
251
227
|
this.credentials = credentials;
|
|
252
228
|
}
|
|
253
229
|
};
|
|
254
|
-
var withAuthorization = (query, kind) => HttpClient.mapRequestEffect(
|
|
255
|
-
const key = yield* CredentialsService.getApiKey(query).pipe(
|
|
230
|
+
var withAuthorization = (query, kind) => HttpClient.mapRequestEffect(Effect2.fnUntraced(function* (request) {
|
|
231
|
+
const key = yield* CredentialsService.getApiKey(query).pipe(Effect2.map(Redacted.value));
|
|
256
232
|
const authorization = kind ? `${kind} ${key}` : key;
|
|
257
233
|
return HttpClientRequest.setHeader(request, "Authorization", authorization);
|
|
258
234
|
}));
|
|
259
235
|
|
|
260
236
|
// src/services/tracing.ts
|
|
261
|
-
import
|
|
237
|
+
import * as Context3 from "effect/Context";
|
|
238
|
+
import * as Effect3 from "effect/Effect";
|
|
239
|
+
import * as Layer3 from "effect/Layer";
|
|
262
240
|
import { AgentStatus } from "@dxos/ai";
|
|
263
241
|
import { Obj as Obj2 } from "@dxos/echo";
|
|
264
242
|
import { log } from "@dxos/log";
|
|
265
243
|
import { DataType as DataType2 } from "@dxos/schema";
|
|
266
|
-
function
|
|
244
|
+
function _define_property3(obj, key, value2) {
|
|
267
245
|
if (key in obj) {
|
|
268
246
|
Object.defineProperty(obj, key, {
|
|
269
|
-
value,
|
|
247
|
+
value: value2,
|
|
270
248
|
enumerable: true,
|
|
271
249
|
configurable: true,
|
|
272
250
|
writable: true
|
|
273
251
|
});
|
|
274
252
|
} else {
|
|
275
|
-
obj[key] =
|
|
253
|
+
obj[key] = value2;
|
|
276
254
|
}
|
|
277
255
|
return obj;
|
|
278
256
|
}
|
|
279
257
|
var __dxlog_file2 = "/__w/dxos/dxos/packages/core/functions/src/services/tracing.ts";
|
|
280
|
-
var
|
|
281
|
-
var TracingService = class extends (
|
|
258
|
+
var _Context_Tag3;
|
|
259
|
+
var TracingService = class extends (_Context_Tag3 = Context3.Tag("@dxos/functions/TracingService")()) {
|
|
282
260
|
};
|
|
283
|
-
|
|
261
|
+
_define_property3(TracingService, "noop", {
|
|
284
262
|
write: () => {
|
|
285
263
|
},
|
|
286
264
|
getTraceContext: () => ({})
|
|
287
265
|
});
|
|
288
|
-
|
|
289
|
-
|
|
266
|
+
_define_property3(TracingService, "layerNoop", Layer3.succeed(TracingService, TracingService.noop));
|
|
267
|
+
_define_property3(TracingService, "console", {
|
|
290
268
|
write: (event) => {
|
|
291
269
|
console.log(event);
|
|
292
270
|
},
|
|
293
271
|
getTraceContext: () => ({})
|
|
294
272
|
});
|
|
295
|
-
|
|
296
|
-
|
|
273
|
+
_define_property3(TracingService, "layerConsole", Layer3.succeed(TracingService, TracingService.console));
|
|
274
|
+
_define_property3(TracingService, "layerLogInfo", () => Layer3.succeed(TracingService, {
|
|
297
275
|
write: (event) => {
|
|
298
276
|
if (Obj2.instanceOf(AgentStatus, event)) {
|
|
299
277
|
log.info("status", {
|
|
300
278
|
message: event.message
|
|
301
279
|
}, {
|
|
302
280
|
F: __dxlog_file2,
|
|
303
|
-
L:
|
|
281
|
+
L: 52,
|
|
304
282
|
S: TracingService,
|
|
305
283
|
C: (f, a) => f(...a)
|
|
306
284
|
});
|
|
@@ -308,7 +286,7 @@ _define_property4(TracingService, "layerLogInfo", () => Layer4.succeed(TracingSe
|
|
|
308
286
|
},
|
|
309
287
|
getTraceContext: () => ({})
|
|
310
288
|
}));
|
|
311
|
-
|
|
289
|
+
_define_property3(TracingService, "layerSubframe", (mapContext) => Layer3.effect(TracingService, Effect3.gen(function* () {
|
|
312
290
|
const tracing = yield* TracingService;
|
|
313
291
|
const context = mapContext(tracing.getTraceContext());
|
|
314
292
|
return {
|
|
@@ -316,7 +294,7 @@ _define_property4(TracingService, "layerSubframe", (mapContext) => Layer4.effect
|
|
|
316
294
|
getTraceContext: () => context
|
|
317
295
|
};
|
|
318
296
|
})));
|
|
319
|
-
|
|
297
|
+
_define_property3(TracingService, "layerQueue", (queue) => Layer3.effect(TracingService, Effect3.gen(function* () {
|
|
320
298
|
return {
|
|
321
299
|
write: (event) => queue.append([
|
|
322
300
|
event
|
|
@@ -328,15 +306,16 @@ _define_property4(TracingService, "layerQueue", (queue) => Layer4.effect(Tracing
|
|
|
328
306
|
})
|
|
329
307
|
};
|
|
330
308
|
})));
|
|
331
|
-
|
|
309
|
+
_define_property3(TracingService, "emitStatus", Effect3.fnUntraced(function* (data) {
|
|
332
310
|
const tracing = yield* TracingService;
|
|
333
311
|
tracing.write(Obj2.make(AgentStatus, {
|
|
334
312
|
parentMessage: tracing.getTraceContext().parentMessage,
|
|
335
313
|
toolCallId: tracing.getTraceContext().toolCallId,
|
|
314
|
+
created: (/* @__PURE__ */ new Date()).toISOString(),
|
|
336
315
|
...data
|
|
337
316
|
}));
|
|
338
317
|
}));
|
|
339
|
-
|
|
318
|
+
_define_property3(TracingService, "emitConverationMessage", Effect3.fnUntraced(function* (data) {
|
|
340
319
|
const tracing = yield* TracingService;
|
|
341
320
|
tracing.write(Obj2.make(DataType2.Message, {
|
|
342
321
|
parentMessage: tracing.getTraceContext().parentMessage,
|
|
@@ -350,20 +329,23 @@ _define_property4(TracingService, "emitConverationMessage", Effect4.fnUntraced(f
|
|
|
350
329
|
var MESSAGE_PROPERTY_TOOL_CALL_ID = "toolCallId";
|
|
351
330
|
|
|
352
331
|
// src/services/event-logger.ts
|
|
353
|
-
import
|
|
332
|
+
import * as Context4 from "effect/Context";
|
|
333
|
+
import * as Effect4 from "effect/Effect";
|
|
334
|
+
import * as Layer4 from "effect/Layer";
|
|
335
|
+
import * as Schema from "effect/Schema";
|
|
354
336
|
import { Obj as Obj3, Type } from "@dxos/echo";
|
|
355
337
|
import { invariant as invariant2 } from "@dxos/invariant";
|
|
356
338
|
import { LogLevel, log as log2 } from "@dxos/log";
|
|
357
|
-
function
|
|
339
|
+
function _define_property4(obj, key, value2) {
|
|
358
340
|
if (key in obj) {
|
|
359
341
|
Object.defineProperty(obj, key, {
|
|
360
|
-
value,
|
|
342
|
+
value: value2,
|
|
361
343
|
enumerable: true,
|
|
362
344
|
configurable: true,
|
|
363
345
|
writable: true
|
|
364
346
|
});
|
|
365
347
|
} else {
|
|
366
|
-
obj[key] =
|
|
348
|
+
obj[key] = value2;
|
|
367
349
|
}
|
|
368
350
|
return obj;
|
|
369
351
|
}
|
|
@@ -403,15 +385,15 @@ var ComputeEvent = Schema.Struct({
|
|
|
403
385
|
typename: "dxos.org/type/ComputeEvent",
|
|
404
386
|
version: "0.1.0"
|
|
405
387
|
}));
|
|
406
|
-
var
|
|
407
|
-
var ComputeEventLogger = class extends (
|
|
388
|
+
var _Context_Tag4;
|
|
389
|
+
var ComputeEventLogger = class extends (_Context_Tag4 = Context4.Tag("@dxos/functions/ComputeEventLogger")()) {
|
|
408
390
|
};
|
|
409
|
-
|
|
391
|
+
_define_property4(ComputeEventLogger, "noop", {
|
|
410
392
|
log: () => {
|
|
411
393
|
},
|
|
412
394
|
nodeId: void 0
|
|
413
395
|
});
|
|
414
|
-
|
|
396
|
+
_define_property4(ComputeEventLogger, "layerFromTracing", Layer4.effect(ComputeEventLogger, Effect4.gen(function* () {
|
|
415
397
|
const tracing = yield* TracingService;
|
|
416
398
|
return {
|
|
417
399
|
log: (event) => {
|
|
@@ -422,7 +404,7 @@ _define_property5(ComputeEventLogger, "layerFromTracing", Layer5.effect(ComputeE
|
|
|
422
404
|
nodeId: void 0
|
|
423
405
|
};
|
|
424
406
|
})));
|
|
425
|
-
var logCustomEvent = (data) =>
|
|
407
|
+
var logCustomEvent = (data) => Effect4.gen(function* () {
|
|
426
408
|
const logger = yield* ComputeEventLogger;
|
|
427
409
|
if (!logger.nodeId) {
|
|
428
410
|
throw new Error("logCustomEvent must be called within a node compute function");
|
|
@@ -433,12 +415,12 @@ var logCustomEvent = (data) => Effect5.gen(function* () {
|
|
|
433
415
|
event: data
|
|
434
416
|
});
|
|
435
417
|
});
|
|
436
|
-
var createDefectLogger = () =>
|
|
418
|
+
var createDefectLogger = () => Effect4.catchAll((error) => Effect4.gen(function* () {
|
|
437
419
|
log2.error("unhandled effect error", {
|
|
438
420
|
error
|
|
439
421
|
}, {
|
|
440
422
|
F: __dxlog_file3,
|
|
441
|
-
L:
|
|
423
|
+
L: 96,
|
|
442
424
|
S: this,
|
|
443
425
|
C: (f, a) => f(...a)
|
|
444
426
|
});
|
|
@@ -454,7 +436,7 @@ var createEventLogger = (level, message = "event") => {
|
|
|
454
436
|
}[level];
|
|
455
437
|
invariant2(logFunction, void 0, {
|
|
456
438
|
F: __dxlog_file3,
|
|
457
|
-
L:
|
|
439
|
+
L: 114,
|
|
458
440
|
S: void 0,
|
|
459
441
|
A: [
|
|
460
442
|
"logFunction",
|
|
@@ -469,69 +451,125 @@ var createEventLogger = (level, message = "event") => {
|
|
|
469
451
|
};
|
|
470
452
|
};
|
|
471
453
|
|
|
454
|
+
// src/services/queues.ts
|
|
455
|
+
import * as Context5 from "effect/Context";
|
|
456
|
+
import * as Effect5 from "effect/Effect";
|
|
457
|
+
import * as Layer5 from "effect/Layer";
|
|
458
|
+
function _define_property5(obj, key, value2) {
|
|
459
|
+
if (key in obj) {
|
|
460
|
+
Object.defineProperty(obj, key, {
|
|
461
|
+
value: value2,
|
|
462
|
+
enumerable: true,
|
|
463
|
+
configurable: true,
|
|
464
|
+
writable: true
|
|
465
|
+
});
|
|
466
|
+
} else {
|
|
467
|
+
obj[key] = value2;
|
|
468
|
+
}
|
|
469
|
+
return obj;
|
|
470
|
+
}
|
|
471
|
+
var _Context_Tag5;
|
|
472
|
+
var QueueService = class extends (_Context_Tag5 = Context5.Tag("@dxos/functions/QueueService")()) {
|
|
473
|
+
};
|
|
474
|
+
_define_property5(QueueService, "notAvailable", Layer5.succeed(QueueService, {
|
|
475
|
+
queues: {
|
|
476
|
+
get(_dxn) {
|
|
477
|
+
throw new Error("Queues not available");
|
|
478
|
+
},
|
|
479
|
+
create() {
|
|
480
|
+
throw new Error("Queues not available");
|
|
481
|
+
}
|
|
482
|
+
},
|
|
483
|
+
queue: void 0
|
|
484
|
+
}));
|
|
485
|
+
_define_property5(QueueService, "make", (queues, queue) => {
|
|
486
|
+
return {
|
|
487
|
+
queues,
|
|
488
|
+
queue
|
|
489
|
+
};
|
|
490
|
+
});
|
|
491
|
+
_define_property5(QueueService, "layer", (queues, queue) => Layer5.succeed(QueueService, QueueService.make(queues, queue)));
|
|
492
|
+
_define_property5(QueueService, "getQueue", (dxn) => QueueService.pipe(Effect5.map(({ queues }) => queues.get(dxn))));
|
|
493
|
+
_define_property5(QueueService, "createQueue", (options) => QueueService.pipe(Effect5.map(({ queues }) => queues.create(options))));
|
|
494
|
+
_define_property5(QueueService, "append", (queue, objects) => Effect5.promise(() => queue.append(objects)));
|
|
495
|
+
var _Context_Tag1;
|
|
496
|
+
var ContextQueueService = class extends (_Context_Tag1 = Context5.Tag("@dxos/functions/ContextQueueService")()) {
|
|
497
|
+
};
|
|
498
|
+
_define_property5(ContextQueueService, "layer", (queue) => Layer5.succeed(ContextQueueService, {
|
|
499
|
+
queue
|
|
500
|
+
}));
|
|
501
|
+
|
|
472
502
|
// src/services/remote-function-execution-service.ts
|
|
473
|
-
import
|
|
474
|
-
|
|
503
|
+
import * as Context6 from "effect/Context";
|
|
504
|
+
import * as Effect6 from "effect/Effect";
|
|
505
|
+
import * as Layer6 from "effect/Layer";
|
|
506
|
+
function _define_property6(obj, key, value2) {
|
|
475
507
|
if (key in obj) {
|
|
476
508
|
Object.defineProperty(obj, key, {
|
|
477
|
-
value,
|
|
509
|
+
value: value2,
|
|
478
510
|
enumerable: true,
|
|
479
511
|
configurable: true,
|
|
480
512
|
writable: true
|
|
481
513
|
});
|
|
482
514
|
} else {
|
|
483
|
-
obj[key] =
|
|
515
|
+
obj[key] = value2;
|
|
484
516
|
}
|
|
485
517
|
return obj;
|
|
486
518
|
}
|
|
487
519
|
var _Context_Tag6;
|
|
488
|
-
var RemoteFunctionExecutionService = class extends (_Context_Tag6 = Context6.Tag("@dxos/functions/RemoteFunctionExecutionService")()) {
|
|
520
|
+
var RemoteFunctionExecutionService = class _RemoteFunctionExecutionService extends (_Context_Tag6 = Context6.Tag("@dxos/functions/RemoteFunctionExecutionService")()) {
|
|
521
|
+
/**
|
|
522
|
+
* @param baseUrl URL of the EDGE server.
|
|
523
|
+
* @param spaceId - The space ID to invoke the function in. If not provided, the function will be without space context.
|
|
524
|
+
* @returns
|
|
525
|
+
*/
|
|
489
526
|
static fromClient(baseUrl, spaceId) {
|
|
490
|
-
return {
|
|
491
|
-
callFunction:
|
|
527
|
+
return Layer6.succeed(_RemoteFunctionExecutionService, {
|
|
528
|
+
callFunction: (deployedFunctionId, input) => Effect6.gen(function* () {
|
|
492
529
|
const url = getInvocationUrl(deployedFunctionId, baseUrl, {
|
|
493
530
|
spaceId
|
|
494
531
|
});
|
|
495
|
-
const result =
|
|
532
|
+
const result = yield* Effect6.promise(() => fetch(url, {
|
|
496
533
|
method: "POST",
|
|
497
534
|
headers: {
|
|
498
535
|
"Content-Type": "application/json"
|
|
499
536
|
},
|
|
500
537
|
body: JSON.stringify(input)
|
|
501
|
-
});
|
|
538
|
+
}));
|
|
502
539
|
if (result.status >= 300 || result.status < 200) {
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
540
|
+
const text = yield* Effect6.promise(() => result.text());
|
|
541
|
+
return yield* Effect6.die(new FunctionError({
|
|
542
|
+
message: "Failed to invoke function",
|
|
543
|
+
cause: new Error(`HTTP error: ${text}`)
|
|
544
|
+
}));
|
|
506
545
|
}
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
546
|
+
const data = yield* Effect6.promise(() => result.json());
|
|
547
|
+
return data;
|
|
548
|
+
})
|
|
549
|
+
});
|
|
510
550
|
}
|
|
511
551
|
};
|
|
512
552
|
_define_property6(RemoteFunctionExecutionService, "mock", () => {
|
|
513
553
|
return {
|
|
514
|
-
callFunction:
|
|
515
|
-
return input;
|
|
516
|
-
}
|
|
554
|
+
callFunction: (deployedFunctionId, input) => Effect6.succeed(input)
|
|
517
555
|
};
|
|
518
556
|
});
|
|
519
|
-
_define_property6(RemoteFunctionExecutionService, "
|
|
557
|
+
_define_property6(RemoteFunctionExecutionService, "layerMock", Layer6.succeed(RemoteFunctionExecutionService, RemoteFunctionExecutionService.mock()));
|
|
520
558
|
|
|
521
559
|
// src/services/service-container.ts
|
|
522
|
-
import
|
|
560
|
+
import * as Layer7 from "effect/Layer";
|
|
523
561
|
import { AiService } from "@dxos/ai";
|
|
524
562
|
import { entries } from "@dxos/util";
|
|
525
|
-
function _define_property7(obj, key,
|
|
563
|
+
function _define_property7(obj, key, value2) {
|
|
526
564
|
if (key in obj) {
|
|
527
565
|
Object.defineProperty(obj, key, {
|
|
528
|
-
value,
|
|
566
|
+
value: value2,
|
|
529
567
|
enumerable: true,
|
|
530
568
|
configurable: true,
|
|
531
569
|
writable: true
|
|
532
570
|
});
|
|
533
571
|
} else {
|
|
534
|
-
obj[key] =
|
|
572
|
+
obj[key] = value2;
|
|
535
573
|
}
|
|
536
574
|
return obj;
|
|
537
575
|
}
|
|
@@ -597,14 +635,16 @@ var ServiceContainer = class _ServiceContainer {
|
|
|
597
635
|
};
|
|
598
636
|
|
|
599
637
|
export {
|
|
638
|
+
ServiceNotAvailableError,
|
|
639
|
+
FunctionNotFoundError,
|
|
640
|
+
FunctionError,
|
|
641
|
+
TriggerStateNotFoundError,
|
|
600
642
|
FUNCTIONS_META_KEY,
|
|
601
643
|
FUNCTIONS_PRESET_META_KEY,
|
|
602
644
|
getUserFunctionIdInMetadata,
|
|
603
645
|
setUserFunctionIdInMetadata,
|
|
604
646
|
getInvocationUrl,
|
|
605
647
|
DatabaseService,
|
|
606
|
-
QueueService,
|
|
607
|
-
ContextQueueService,
|
|
608
648
|
CredentialsService,
|
|
609
649
|
ConfiguredCredentialsService,
|
|
610
650
|
withAuthorization,
|
|
@@ -616,8 +656,10 @@ export {
|
|
|
616
656
|
logCustomEvent,
|
|
617
657
|
createDefectLogger,
|
|
618
658
|
createEventLogger,
|
|
659
|
+
QueueService,
|
|
660
|
+
ContextQueueService,
|
|
619
661
|
RemoteFunctionExecutionService,
|
|
620
662
|
SERVICE_TAGS,
|
|
621
663
|
ServiceContainer
|
|
622
664
|
};
|
|
623
|
-
//# sourceMappingURL=chunk-
|
|
665
|
+
//# sourceMappingURL=chunk-LKYT2SAL.mjs.map
|