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