@dxos/assistant-toolkit 0.8.4-main.2c6827d → 0.8.4-main.3c1ae3b

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 (62) hide show
  1. package/dist/lib/browser/index.mjs +123 -112
  2. package/dist/lib/browser/index.mjs.map +3 -3
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/node-esm/index.mjs +123 -112
  5. package/dist/lib/node-esm/index.mjs.map +3 -3
  6. package/dist/lib/node-esm/meta.json +1 -1
  7. package/dist/types/src/blueprints/discord/discord-blueprint.d.ts +4 -3
  8. package/dist/types/src/blueprints/discord/discord-blueprint.d.ts.map +1 -1
  9. package/dist/types/src/blueprints/linear/linear-blueprint.d.ts +4 -3
  10. package/dist/types/src/blueprints/linear/linear-blueprint.d.ts.map +1 -1
  11. package/dist/types/src/crud/graph.d.ts +5 -4
  12. package/dist/types/src/crud/graph.d.ts.map +1 -1
  13. package/dist/types/src/functions/agent/prompt.d.ts.map +1 -1
  14. package/dist/types/src/functions/document/read.d.ts.map +1 -1
  15. package/dist/types/src/functions/document/update.d.ts.map +1 -1
  16. package/dist/types/src/functions/entity-extraction/entity-extraction.d.ts +12 -13
  17. package/dist/types/src/functions/entity-extraction/entity-extraction.d.ts.map +1 -1
  18. package/dist/types/src/functions/entity-extraction/index.d.ts +12 -13
  19. package/dist/types/src/functions/entity-extraction/index.d.ts.map +1 -1
  20. package/dist/types/src/functions/linear/sync-issues.d.ts.map +1 -1
  21. package/dist/types/src/functions/research/document-create.d.ts.map +1 -1
  22. package/dist/types/src/functions/research/research-graph.d.ts +7 -6
  23. package/dist/types/src/functions/research/research-graph.d.ts.map +1 -1
  24. package/dist/types/src/functions/research/research.d.ts.map +1 -1
  25. package/dist/types/src/functions/research/types.d.ts +1 -1
  26. package/dist/types/src/functions/research/types.d.ts.map +1 -1
  27. package/dist/types/src/functions/tasks/read.d.ts.map +1 -1
  28. package/dist/types/src/functions/tasks/update.d.ts.map +1 -1
  29. package/dist/types/src/plugins.d.ts.map +1 -1
  30. package/dist/types/src/sync/sync.d.ts +2 -2
  31. package/dist/types/src/sync/sync.d.ts.map +1 -1
  32. package/dist/types/src/toolkits/AssistantToolkit.d.ts +2 -2
  33. package/dist/types/src/toolkits/AssistantToolkit.d.ts.map +1 -1
  34. package/dist/types/src/toolkits/SystemToolkit.d.ts +8 -8
  35. package/dist/types/src/toolkits/SystemToolkit.d.ts.map +1 -1
  36. package/dist/types/tsconfig.tsbuildinfo +1 -1
  37. package/package.json +23 -23
  38. package/src/blueprints/design/design-blueprint.test.ts +8 -6
  39. package/src/blueprints/planning/planning-blueprint.test.ts +6 -4
  40. package/src/crud/graph.test.ts +4 -3
  41. package/src/crud/graph.ts +19 -24
  42. package/src/experimental/feed.test.ts +1 -1
  43. package/src/functions/agent/prompt.ts +13 -10
  44. package/src/functions/discord/fetch-messages.test.ts +1 -1
  45. package/src/functions/document/read.ts +4 -3
  46. package/src/functions/document/update.ts +4 -3
  47. package/src/functions/entity-extraction/entity-extraction.test.ts +7 -6
  48. package/src/functions/entity-extraction/entity-extraction.ts +20 -10
  49. package/src/functions/linear/linear.test.ts +11 -10
  50. package/src/functions/linear/sync-issues.ts +5 -4
  51. package/src/functions/research/document-create.ts +7 -6
  52. package/src/functions/research/research-graph.ts +12 -10
  53. package/src/functions/research/research.test.ts +20 -24
  54. package/src/functions/research/research.ts +5 -4
  55. package/src/functions/research/types.ts +1 -1
  56. package/src/functions/tasks/read.ts +4 -3
  57. package/src/functions/tasks/update.ts +4 -3
  58. package/src/plugins.tsx +3 -3
  59. package/src/sync/sync.ts +4 -6
  60. package/src/toolkits/AssistantToolkit.test.ts +8 -6
  61. package/src/toolkits/AssistantToolkit.ts +3 -3
  62. package/src/toolkits/SystemToolkit.ts +18 -18
@@ -23,7 +23,8 @@ import { AiService, ConsolePrinter, ModelName } from "@dxos/ai";
23
23
  import { AiSession, GenerationObserver, createToolkit } from "@dxos/assistant";
24
24
  import { Prompt, Template } from "@dxos/blueprints";
25
25
  import { Obj, Ref, Type } from "@dxos/echo";
26
- import { DatabaseService, TracingService, defineFunction } from "@dxos/functions";
26
+ import { Database } from "@dxos/echo";
27
+ import { TracingService, defineFunction } from "@dxos/functions";
27
28
  import { log } from "@dxos/log";
28
29
  var __dxlog_file = "/__w/dxos/dxos/packages/core/assistant-toolkit/src/functions/agent/prompt.ts";
29
30
  var DEFAULT_MODEL = "@anthropic/claude-opus-4-0";
@@ -52,19 +53,19 @@ var prompt_default = defineFunction({
52
53
  input: data.input
53
54
  }, {
54
55
  F: __dxlog_file,
55
- L: 40,
56
+ L: 41,
56
57
  S: this,
57
58
  C: (f, a) => f(...a)
58
59
  });
59
60
  const input = yield* Match.value(data.input).pipe(Match.when((value2) => Ref.isRef(value2), Effect.fnUntraced(function* (ref) {
60
- const object = yield* DatabaseService.load(ref);
61
+ const object = yield* Database.Service.load(ref);
61
62
  return Obj.toJSON(object);
62
63
  })), Match.orElse(() => Effect.succeed(data.input)));
63
- yield* DatabaseService.flush({
64
+ yield* Database.Service.flush({
64
65
  indexes: true
65
66
  });
66
- const prompt = yield* DatabaseService.load(data.prompt);
67
- const systemPrompt = data.systemPrompt ? yield* DatabaseService.load(data.systemPrompt) : void 0;
67
+ const prompt = yield* Database.Service.load(data.prompt);
68
+ const systemPrompt = data.systemPrompt ? yield* Database.Service.load(data.systemPrompt) : void 0;
68
69
  yield* TracingService.emitStatus({
69
70
  message: `Running ${prompt.id}`
70
71
  });
@@ -73,18 +74,18 @@ var prompt_default = defineFunction({
73
74
  input
74
75
  }, {
75
76
  F: __dxlog_file,
76
- L: 70,
77
+ L: 71,
77
78
  S: this,
78
79
  C: (f, a) => f(...a)
79
80
  });
80
- const blueprints = yield* Function.pipe(prompt.blueprints, Array2.appendAll(systemPrompt?.blueprints ?? []), Effect.forEach(DatabaseService.loadOption), Effect.map(Array2.filter(Option.isSome)), Effect.map(Array2.map((option) => option.value)));
81
- const objects = yield* Function.pipe(prompt.context, Array2.appendAll(systemPrompt?.context ?? []), Effect.forEach(DatabaseService.loadOption), Effect.map(Array2.filter(Option.isSome)), Effect.map(Array2.map((option) => option.value)));
81
+ const blueprints = yield* Function.pipe(prompt.blueprints, Array2.appendAll(systemPrompt?.blueprints ?? []), Effect.forEach(Database.Service.loadOption), Effect.map(Array2.filter(Option.isSome)), Effect.map(Array2.map((option) => option.value)));
82
+ const objects = yield* Function.pipe(prompt.context, Array2.appendAll(systemPrompt?.context ?? []), Effect.forEach(Database.Service.loadOption), Effect.map(Array2.filter(Option.isSome)), Effect.map(Array2.map((option) => option.value)));
82
83
  const toolkit = yield* createToolkit({
83
84
  blueprints
84
85
  });
85
- const promptInstructions = yield* DatabaseService.load(prompt.instructions.source);
86
+ const promptInstructions = yield* Database.Service.load(prompt.instructions.source);
86
87
  const promptText = Template.process(promptInstructions.content, input);
87
- const systemInstructions = systemPrompt ? yield* DatabaseService.load(systemPrompt.instructions.source) : void 0;
88
+ const systemInstructions = systemPrompt ? yield* Database.Service.load(systemPrompt.instructions.source) : void 0;
88
89
  const systemText = systemInstructions ? Template.process(systemInstructions.content, {}) : void 0;
89
90
  const session = new AiSession();
90
91
  const result = yield* session.run({
@@ -313,7 +314,8 @@ var Discord;
313
314
  import * as Effect3 from "effect/Effect";
314
315
  import * as Schema3 from "effect/Schema";
315
316
  import { ArtifactId } from "@dxos/assistant";
316
- import { DatabaseService as DatabaseService2, defineFunction as defineFunction3 } from "@dxos/functions";
317
+ import { Database as Database2 } from "@dxos/echo";
318
+ import { defineFunction as defineFunction3 } from "@dxos/functions";
317
319
  import { Markdown } from "@dxos/plugin-markdown/types";
318
320
  var read_default = defineFunction3({
319
321
  key: "dxos.org/function/markdown/read",
@@ -328,8 +330,8 @@ var read_default = defineFunction3({
328
330
  content: Schema3.String
329
331
  }),
330
332
  handler: Effect3.fn(function* ({ data: { id } }) {
331
- const doc = yield* DatabaseService2.resolve(ArtifactId.toDXN(id), Markdown.Document);
332
- const { content } = yield* DatabaseService2.load(doc.content);
333
+ const doc = yield* Database2.Service.resolve(ArtifactId.toDXN(id), Markdown.Document);
334
+ const { content } = yield* Database2.Service.load(doc.content);
333
335
  return {
334
336
  content
335
337
  };
@@ -340,7 +342,8 @@ var read_default = defineFunction3({
340
342
  import * as Effect4 from "effect/Effect";
341
343
  import * as Schema4 from "effect/Schema";
342
344
  import { ArtifactId as ArtifactId2 } from "@dxos/assistant";
343
- import { DatabaseService as DatabaseService3, defineFunction as defineFunction4 } from "@dxos/functions";
345
+ import { Database as Database3 } from "@dxos/echo";
346
+ import { defineFunction as defineFunction4 } from "@dxos/functions";
344
347
  import { Markdown as Markdown2 } from "@dxos/plugin-markdown/types";
345
348
  var update_default = defineFunction4({
346
349
  key: "dxos.org/function/markdown/update",
@@ -356,8 +359,8 @@ var update_default = defineFunction4({
356
359
  }),
357
360
  outputSchema: Schema4.Void,
358
361
  handler: Effect4.fn(function* ({ data: { id, content } }) {
359
- const doc = yield* DatabaseService3.resolve(ArtifactId2.toDXN(id), Markdown2.Document);
360
- const text = yield* DatabaseService3.load(doc.content);
362
+ const doc = yield* Database3.Service.resolve(ArtifactId2.toDXN(id), Markdown2.Document);
363
+ const text = yield* Database3.Service.load(doc.content);
361
364
  text.content = content;
362
365
  })
363
366
  });
@@ -378,7 +381,8 @@ import * as Schema11 from "effect/Schema";
378
381
  import { AiService as AiService3 } from "@dxos/ai";
379
382
  import { AiSession as AiSession3, makeToolExecutionServiceFromFunctions as makeToolExecutionServiceFromFunctions2, makeToolResolverFromFunctions as makeToolResolverFromFunctions2 } from "@dxos/assistant";
380
383
  import { Filter as Filter2, Obj as Obj7, Ref as Ref3 } from "@dxos/echo";
381
- import { DatabaseService as DatabaseService8, defineFunction as defineFunction9 } from "@dxos/functions";
384
+ import { Database as Database8 } from "@dxos/echo";
385
+ import { defineFunction as defineFunction9 } from "@dxos/functions";
382
386
  import { FunctionInvocationServiceLayerTest } from "@dxos/functions-runtime/testing";
383
387
  import { log as log5 } from "@dxos/log";
384
388
  import { LegacyOrganization as LegacyOrganization2, Message as Message2, Organization, Person as Person2 } from "@dxos/types";
@@ -393,13 +397,13 @@ import * as Function3 from "effect/Function";
393
397
  import * as Option3 from "effect/Option";
394
398
  import * as Schema5 from "effect/Schema";
395
399
  import * as SchemaAST from "effect/SchemaAST";
396
- import { Obj as Obj3 } from "@dxos/echo";
397
- import { Filter, Query } from "@dxos/echo";
398
- import { EntityKind, ObjectId, ReferenceAnnotationId, RelationSourceDXNId, RelationSourceId, RelationTargetDXNId, RelationTargetId, create, getEntityKind, getSchemaDXN, getSchemaTypename, getTypeAnnotation, getTypeIdentifierAnnotation } from "@dxos/echo/internal";
400
+ import { Entity, Filter, Obj as Obj3, Query, Type as Type2 } from "@dxos/echo";
401
+ import { Database as Database4 } from "@dxos/echo";
402
+ import { ReferenceAnnotationId, RelationSourceDXNId, RelationSourceId, RelationTargetDXNId, RelationTargetId, createObject, getTypeAnnotation, getTypeIdentifierAnnotation } from "@dxos/echo/internal";
399
403
  import { isEncodedReference } from "@dxos/echo-protocol";
400
404
  import { mapAst } from "@dxos/effect";
401
- import { ContextQueueService, DatabaseService as DatabaseService4 } from "@dxos/functions";
402
- import { DXN } from "@dxos/keys";
405
+ import { ContextQueueService } from "@dxos/functions";
406
+ import { DXN, ObjectId } from "@dxos/keys";
403
407
  import { log as log3 } from "@dxos/log";
404
408
  import { deepMapValues, isNonNullable, trim } from "@dxos/util";
405
409
  var __dxlog_file3 = "/__w/dxos/dxos/packages/core/assistant-toolkit/src/crud/graph.ts";
@@ -412,7 +416,7 @@ var findRelatedSchema = async (db, anchor) => {
412
416
  ...db.graph.schemaRegistry.schemas
413
417
  ];
414
418
  return allSchemas.filter((schema) => {
415
- if (getTypeAnnotation(schema)?.kind !== EntityKind.Relation) {
419
+ if (getTypeAnnotation(schema)?.kind !== Entity.Kind.Relation) {
416
420
  return false;
417
421
  }
418
422
  return isSchemaAddressableByDxn(anchor, DXN.parse(getTypeAnnotation(schema).sourceSchema)) || isSchemaAddressableByDxn(anchor, DXN.parse(getTypeAnnotation(schema).targetSchema));
@@ -427,7 +431,7 @@ var isSchemaAddressableByDxn = (schema, dxn) => {
427
431
  }
428
432
  const t = dxn.asTypeDXN();
429
433
  if (t) {
430
- return t.type === getSchemaTypename(schema);
434
+ return t.type === Type2.getTypename(schema);
431
435
  }
432
436
  return false;
433
437
  };
@@ -441,12 +445,12 @@ var LocalSearchToolkit = Toolkit.make(Tool.make("search_local_search", {
441
445
  success: Schema5.Unknown,
442
446
  failure: Schema5.Never,
443
447
  dependencies: [
444
- DatabaseService4
448
+ Database4.Service
445
449
  ]
446
450
  }));
447
451
  var LocalSearchHandler = LocalSearchToolkit.toLayer({
448
452
  search_local_search: Effect5.fn(function* ({ query }) {
449
- const { objects } = yield* DatabaseService4.runQuery(Query.select(Filter.text(query, {
453
+ const objects = yield* Database4.Service.runQuery(Query.select(Filter.text(query, {
450
454
  type: "vector"
451
455
  })));
452
456
  const results = [
@@ -473,7 +477,7 @@ var makeGraphWriterToolkit = ({ schema }) => {
473
477
  success: Schema5.Unknown,
474
478
  failure: Schema5.Never,
475
479
  dependencies: [
476
- DatabaseService4,
480
+ Database4.Service,
477
481
  ContextQueueService
478
482
  ]
479
483
  }).annotateContext(Context.make(GraphWriterSchema, {
@@ -484,7 +488,7 @@ var makeGraphWriterHandler = (toolkit, { onAppend } = {}) => {
484
488
  const { schema } = Context.get(toolkit.tools.graph_writer.annotations, GraphWriterSchema);
485
489
  return toolkit.toLayer({
486
490
  graph_writer: Effect5.fn(function* (input) {
487
- const { db } = yield* DatabaseService4;
491
+ const { db } = yield* Database4.Service;
488
492
  const { queue } = yield* ContextQueueService;
489
493
  const data = yield* Effect5.promise(() => sanitizeObjects(schema, input, db, queue));
490
494
  yield* Effect5.promise(() => queue.append(data));
@@ -499,13 +503,13 @@ var createExtractionSchema = (types) => {
499
503
  ...Object.fromEntries(types.map(preprocessSchema).map((schema, index) => [
500
504
  `objects_${getSanitizedSchemaName(types[index])}`,
501
505
  Schema5.optional(Schema5.Array(schema)).annotations({
502
- description: `The objects of type: ${getSchemaDXN(types[index])?.asTypeDXN().type}. ${SchemaAST.getDescriptionAnnotation(types[index].ast).pipe(Option3.getOrElse(() => ""))}`
506
+ description: `The objects of type: ${Type2.getDXN(types[index])?.asTypeDXN().type}. ${SchemaAST.getDescriptionAnnotation(types[index].ast).pipe(Option3.getOrElse(() => ""))}`
503
507
  })
504
508
  ]))
505
509
  });
506
510
  };
507
511
  var getSanitizedSchemaName = (schema) => {
508
- return getSchemaDXN(schema).asTypeDXN().type.replaceAll(/[^a-zA-Z0-9]+/g, "_");
512
+ return Type2.getDXN(schema).asTypeDXN().type.replaceAll(/[^a-zA-Z0-9]+/g, "_");
509
513
  };
510
514
  var sanitizeObjects = async (types, data, db, queue) => {
511
515
  const entries = types.map((type) => data[`objects_${getSanitizedSchemaName(type)}`]?.map((object) => ({
@@ -550,14 +554,14 @@ var sanitizeObjects = async (types, data, db, queue) => {
550
554
  }
551
555
  return recurse(value2);
552
556
  });
553
- if (getEntityKind(entry.schema) === "relation") {
557
+ if (Entity.getKind(entry.schema) === "relation") {
554
558
  const sourceDxn = resolveId(data2.source);
555
559
  if (!sourceDxn) {
556
560
  log3.warn("source not found", {
557
561
  source: data2.source
558
562
  }, {
559
563
  F: __dxlog_file3,
560
- L: 281,
564
+ L: 276,
561
565
  S: void 0,
562
566
  C: (f, a) => f(...a)
563
567
  });
@@ -568,7 +572,7 @@ var sanitizeObjects = async (types, data, db, queue) => {
568
572
  target: data2.target
569
573
  }, {
570
574
  F: __dxlog_file3,
571
- L: 285,
575
+ L: 280,
572
576
  S: void 0,
573
577
  C: (f, a) => f(...a)
574
578
  });
@@ -583,7 +587,7 @@ var sanitizeObjects = async (types, data, db, queue) => {
583
587
  schema: entry.schema
584
588
  };
585
589
  }).filter((object) => !existingIds.has(object.data.id));
586
- const { objects: dbObjects } = await db.query(Query.select(Filter.ids(...existingIds))).run();
590
+ const dbObjects = await db.query(Query.select(Filter.id(...existingIds))).run();
587
591
  const queueObjects = await queue?.getObjectsById([
588
592
  ...existingIds
589
593
  ]) ?? [];
@@ -597,7 +601,7 @@ var sanitizeObjects = async (types, data, db, queue) => {
597
601
  existingIds
598
602
  }, {
599
603
  F: __dxlog_file3,
600
- L: 306,
604
+ L: 301,
601
605
  S: void 0,
602
606
  C: (f, a) => f(...a)
603
607
  });
@@ -628,7 +632,7 @@ var sanitizeObjects = async (types, data, db, queue) => {
628
632
  }
629
633
  }
630
634
  if (!skip) {
631
- const obj = create(schema, data2);
635
+ const obj = createObject(schema, data2);
632
636
  enitties.set(obj.id, obj);
633
637
  return [
634
638
  obj
@@ -643,7 +647,7 @@ var SoftRef = Schema5.Struct({
643
647
  description: "Reference to another object."
644
648
  });
645
649
  var preprocessSchema = (schema) => {
646
- const isRelationSchema = getEntityKind(schema) === "relation";
650
+ const isRelationSchema = Entity.getKind(schema) === "relation";
647
651
  const go = (ast, visited = /* @__PURE__ */ new Set()) => {
648
652
  if (visited.has(ast)) {
649
653
  return ast;
@@ -673,7 +677,8 @@ import * as Effect6 from "effect/Effect";
673
677
  import * as Schema6 from "effect/Schema";
674
678
  import { ArtifactId as ArtifactId3 } from "@dxos/assistant";
675
679
  import { Obj as Obj4, Relation } from "@dxos/echo";
676
- import { DatabaseService as DatabaseService5, TracingService as TracingService3, defineFunction as defineFunction5 } from "@dxos/functions";
680
+ import { Database as Database5 } from "@dxos/echo";
681
+ import { TracingService as TracingService3, defineFunction as defineFunction5 } from "@dxos/functions";
677
682
  import { log as log4 } from "@dxos/log";
678
683
  import { Markdown as Markdown3 } from "@dxos/plugin-markdown/types";
679
684
  import { HasSubject } from "@dxos/types";
@@ -711,27 +716,27 @@ var document_create_default = defineFunction5({
711
716
  content
712
717
  }, {
713
718
  F: __dxlog_file4,
714
- L: 42,
719
+ L: 43,
715
720
  S: this,
716
721
  C: (f, a) => f(...a)
717
722
  });
718
- yield* DatabaseService5.flush({
723
+ yield* Database5.Service.flush({
719
724
  indexes: true
720
725
  });
721
726
  yield* TracingService3.emitStatus({
722
727
  message: "Creating research document..."
723
728
  });
724
- const target = yield* DatabaseService5.resolve(ArtifactId3.toDXN(subject));
725
- const object = yield* DatabaseService5.add(Markdown3.make({
729
+ const target = yield* Database5.Service.resolve(ArtifactId3.toDXN(subject));
730
+ const object = yield* Database5.Service.add(Markdown3.make({
726
731
  name,
727
732
  content
728
733
  }));
729
- yield* DatabaseService5.add(Relation.make(HasSubject.HasSubject, {
734
+ yield* Database5.Service.add(Relation.make(HasSubject.HasSubject, {
730
735
  [Relation.Source]: object,
731
736
  [Relation.Target]: target,
732
737
  completedAt: (/* @__PURE__ */ new Date()).toISOString()
733
738
  }));
734
- yield* DatabaseService5.flush({
739
+ yield* Database5.Service.flush({
735
740
  indexes: true
736
741
  });
737
742
  log4.info("Created research document", {
@@ -739,7 +744,7 @@ var document_create_default = defineFunction5({
739
744
  object
740
745
  }, {
741
746
  F: __dxlog_file4,
742
- L: 69,
747
+ L: 70,
743
748
  S: this,
744
749
  C: (f, a) => f(...a)
745
750
  });
@@ -763,7 +768,8 @@ import { AiService as AiService2, ConsolePrinter as ConsolePrinter2 } from "@dxo
763
768
  import { AiSession as AiSession2, GenerationObserver as GenerationObserver2, createToolkit as createToolkit2, makeToolExecutionServiceFromFunctions, makeToolResolverFromFunctions } from "@dxos/assistant";
764
769
  import { Template as Template2 } from "@dxos/blueprints";
765
770
  import { Obj as Obj6 } from "@dxos/echo";
766
- import { DatabaseService as DatabaseService7, TracingService as TracingService4, defineFunction as defineFunction8 } from "@dxos/functions";
771
+ import { Database as Database7 } from "@dxos/echo";
772
+ import { TracingService as TracingService4, defineFunction as defineFunction8 } from "@dxos/functions";
767
773
  import { FunctionInvocationServiceLayerTestMocked } from "@dxos/functions-runtime/testing";
768
774
  import { Person } from "@dxos/types";
769
775
  import { trim as trim3 } from "@dxos/util";
@@ -1363,28 +1369,30 @@ var levenshteinDistance = (str1, str2) => {
1363
1369
  import * as Effect9 from "effect/Effect";
1364
1370
  import * as Layer2 from "effect/Layer";
1365
1371
  import * as Schema9 from "effect/Schema";
1366
- import { Obj as Obj5, Query as Query2, Ref as Ref2, Type as Type2 } from "@dxos/echo";
1372
+ import { Obj as Obj5, Query as Query2, Ref as Ref2, Type as Type3 } from "@dxos/echo";
1373
+ import { Database as Database6 } from "@dxos/echo";
1374
+ import { SystemTypeAnnotation } from "@dxos/echo/internal";
1367
1375
  import { Queue } from "@dxos/echo-db";
1368
- import { ContextQueueService as ContextQueueService2, DatabaseService as DatabaseService6, QueueService } from "@dxos/functions";
1376
+ import { ContextQueueService as ContextQueueService2, QueueService } from "@dxos/functions";
1369
1377
  var ResearchGraph = Schema9.Struct({
1370
- queue: Type2.Ref(Queue)
1371
- }).pipe(Type2.Obj({
1378
+ queue: Type3.Ref(Queue)
1379
+ }).pipe(Type3.Obj({
1372
1380
  typename: "dxos.org/type/ResearchGraph",
1373
1381
  version: "0.1.0"
1374
- }));
1382
+ }), SystemTypeAnnotation.set(true));
1375
1383
  var queryResearchGraph = Effect9.fn("queryResearchGraph")(function* () {
1376
- const { objects } = yield* DatabaseService6.runQuery(Query2.type(ResearchGraph));
1384
+ const objects = yield* Database6.Service.runQuery(Query2.type(ResearchGraph));
1377
1385
  return objects.at(0);
1378
1386
  });
1379
1387
  var createResearchGraph = Effect9.fn("createResearchGraph")(function* () {
1380
1388
  const queue = yield* QueueService.createQueue();
1381
- return yield* DatabaseService6.add(Obj5.make(ResearchGraph, {
1389
+ return yield* Database6.Service.add(Obj5.make(ResearchGraph, {
1382
1390
  queue: Ref2.fromDXN(queue.dxn)
1383
1391
  }));
1384
1392
  });
1385
1393
  var contextQueueLayerFromResearchGraph = Layer2.unwrapEffect(Effect9.gen(function* () {
1386
1394
  const researchGraph = (yield* queryResearchGraph()) ?? (yield* createResearchGraph());
1387
- const researchQueue = yield* DatabaseService6.load(researchGraph.queue);
1395
+ const researchQueue = yield* Database6.Service.load(researchGraph.queue);
1388
1396
  return ContextQueueService2.layer(researchQueue);
1389
1397
  }));
1390
1398
 
@@ -1453,7 +1461,7 @@ var research_default = defineFunction8({
1453
1461
  }),
1454
1462
  handler: Effect10.fnUntraced(function* ({ data: { query, instructions: instructions6, mockSearch = false, entityExtraction = false } }) {
1455
1463
  if (mockSearch) {
1456
- const mockPerson = yield* DatabaseService7.add(Obj6.make(Person.Person, {
1464
+ const mockPerson = yield* Database7.Service.add(Obj6.make(Person.Person, {
1457
1465
  preferredName: "John Doe",
1458
1466
  emails: [
1459
1467
  {
@@ -1476,7 +1484,7 @@ var research_default = defineFunction8({
1476
1484
  ]
1477
1485
  };
1478
1486
  }
1479
- yield* DatabaseService7.flush({
1487
+ yield* Database7.Service.flush({
1480
1488
  indexes: true
1481
1489
  });
1482
1490
  yield* TracingService4.emitStatus({
@@ -1510,7 +1518,7 @@ var research_default = defineFunction8({
1510
1518
  tag: "research"
1511
1519
  }))
1512
1520
  });
1513
- const objects = yield* Effect10.forEach(objectDXNs, (dxn) => DatabaseService7.resolve(dxn)).pipe(Effect10.map(Array6.map((obj) => Obj6.toJSON(obj))));
1521
+ const objects = yield* Effect10.forEach(objectDXNs, (dxn) => Database7.Service.resolve(dxn)).pipe(Effect10.map(Array6.map((obj) => Obj6.toJSON(obj))));
1514
1522
  return {
1515
1523
  document: extractLastTextBlock(result),
1516
1524
  objects
@@ -1595,7 +1603,7 @@ var entity_extraction_default = defineFunction9({
1595
1603
  if (created.length > 1) {
1596
1604
  throw new Error("Multiple organizations created");
1597
1605
  } else if (created.length === 1) {
1598
- organization = yield* DatabaseService8.resolve(created[0], Organization.Organization);
1606
+ organization = yield* Database8.Service.resolve(created[0], Organization.Organization);
1599
1607
  Obj7.getMeta(organization).tags ??= [];
1600
1608
  Obj7.getMeta(organization).tags.push(...tags ?? []);
1601
1609
  contact.organization = Ref3.make(organization);
@@ -1620,13 +1628,13 @@ var extractContact = Effect11.fn("extractContact")(function* (actor, tags) {
1620
1628
  actor
1621
1629
  }, {
1622
1630
  F: __dxlog_file5,
1623
- L: 100,
1631
+ L: 107,
1624
1632
  S: this,
1625
1633
  C: (f, a) => f(...a)
1626
1634
  });
1627
1635
  return void 0;
1628
1636
  }
1629
- const { objects: existingContacts } = yield* DatabaseService8.runQuery(Filter2.type(Person2.Person));
1637
+ const existingContacts = yield* Database8.Service.runQuery(Filter2.type(Person2.Person));
1630
1638
  const existingContact = existingContacts.find((contact) => contact.emails?.some((contactEmail) => contactEmail.value === email));
1631
1639
  if (existingContact) {
1632
1640
  log5.info("Contact already exists", {
@@ -1634,7 +1642,7 @@ var extractContact = Effect11.fn("extractContact")(function* (actor, tags) {
1634
1642
  existingContact
1635
1643
  }, {
1636
1644
  F: __dxlog_file5,
1637
- L: 113,
1645
+ L: 120,
1638
1646
  S: this,
1639
1647
  C: (f, a) => f(...a)
1640
1648
  });
@@ -1650,7 +1658,7 @@ var extractContact = Effect11.fn("extractContact")(function* (actor, tags) {
1650
1658
  }
1651
1659
  ]
1652
1660
  });
1653
- yield* DatabaseService8.add(newContact);
1661
+ yield* Database8.Service.add(newContact);
1654
1662
  if (name) {
1655
1663
  newContact.fullName = name;
1656
1664
  }
@@ -1660,7 +1668,7 @@ var extractContact = Effect11.fn("extractContact")(function* (actor, tags) {
1660
1668
  email
1661
1669
  }, {
1662
1670
  F: __dxlog_file5,
1663
- L: 129,
1671
+ L: 136,
1664
1672
  S: this,
1665
1673
  C: (f, a) => f(...a)
1666
1674
  });
@@ -1670,11 +1678,11 @@ var extractContact = Effect11.fn("extractContact")(function* (actor, tags) {
1670
1678
  emailDomain
1671
1679
  }, {
1672
1680
  F: __dxlog_file5,
1673
- L: 133,
1681
+ L: 140,
1674
1682
  S: this,
1675
1683
  C: (f, a) => f(...a)
1676
1684
  });
1677
- const { objects: existingOrganisations } = yield* DatabaseService8.runQuery(Filter2.type(Organization.Organization));
1685
+ const existingOrganisations = yield* Database8.Service.runQuery(Filter2.type(Organization.Organization));
1678
1686
  const matchingOrg = existingOrganisations.find((org) => {
1679
1687
  if (org.website) {
1680
1688
  try {
@@ -1687,7 +1695,7 @@ var extractContact = Effect11.fn("extractContact")(function* (actor, tags) {
1687
1695
  error: e
1688
1696
  }, {
1689
1697
  F: __dxlog_file5,
1690
- L: 151,
1698
+ L: 158,
1691
1699
  S: this,
1692
1700
  C: (f, a) => f(...a)
1693
1701
  });
@@ -1701,7 +1709,7 @@ var extractContact = Effect11.fn("extractContact")(function* (actor, tags) {
1701
1709
  organization: matchingOrg
1702
1710
  }, {
1703
1711
  F: __dxlog_file5,
1704
- L: 159,
1712
+ L: 169,
1705
1713
  S: this,
1706
1714
  C: (f, a) => f(...a)
1707
1715
  });
@@ -1724,14 +1732,15 @@ import * as Effect13 from "effect/Effect";
1724
1732
  import * as Function5 from "effect/Function";
1725
1733
  import * as Schema12 from "effect/Schema";
1726
1734
  import { Filter as Filter4, Obj as Obj9, Query as Query4, Ref as Ref5 } from "@dxos/echo";
1727
- import { DatabaseService as DatabaseService10, defineFunction as defineFunction10, withAuthorization } from "@dxos/functions";
1735
+ import { Database as Database10 } from "@dxos/echo";
1736
+ import { defineFunction as defineFunction10, withAuthorization } from "@dxos/functions";
1728
1737
  import { log as log7 } from "@dxos/log";
1729
1738
  import { Person as Person3, Project as Project2, Task as Task2 } from "@dxos/types";
1730
1739
 
1731
1740
  // src/sync/sync.ts
1732
1741
  import * as Effect12 from "effect/Effect";
1733
1742
  import { Filter as Filter3, Obj as Obj8, Query as Query3, Ref as Ref4 } from "@dxos/echo";
1734
- import { DatabaseService as DatabaseService9 } from "@dxos/functions";
1743
+ import { Database as Database9 } from "@dxos/echo";
1735
1744
  import { failedInvariant } from "@dxos/invariant";
1736
1745
  import { log as log6 } from "@dxos/log";
1737
1746
  var __dxlog_file6 = "/__w/dxos/dxos/packages/core/assistant-toolkit/src/sync/sync.ts";
@@ -1753,7 +1762,7 @@ var syncObjects = Effect12.fn("syncObjects")(function* (objs, { foreignKeyId })
1753
1762
  }
1754
1763
  const schema = Obj8.getSchema(obj) ?? failedInvariant("No schema.");
1755
1764
  const foreignId = Obj8.getKeys(obj, foreignKeyId)[0]?.id ?? failedInvariant("No foreign key.");
1756
- const { objects: [existing] } = yield* DatabaseService9.runQuery(Query3.select(Filter3.foreignKeys(schema, [
1765
+ const [existing] = yield* Database9.Service.runQuery(Query3.select(Filter3.foreignKeys(schema, [
1757
1766
  {
1758
1767
  source: foreignKeyId,
1759
1768
  id: foreignId
@@ -1765,12 +1774,12 @@ var syncObjects = Effect12.fn("syncObjects")(function* (objs, { foreignKeyId })
1765
1774
  existing: existing ? Obj8.getDXN(existing) : void 0
1766
1775
  }, {
1767
1776
  F: __dxlog_file6,
1768
- L: 47,
1777
+ L: 45,
1769
1778
  S: this,
1770
1779
  C: (f, a) => f(...a)
1771
1780
  });
1772
1781
  if (!existing) {
1773
- yield* DatabaseService9.add(obj);
1782
+ yield* Database9.Service.add(obj);
1774
1783
  return obj;
1775
1784
  } else {
1776
1785
  copyObjectData(existing, obj);
@@ -1827,7 +1836,7 @@ query Issues($teamId: String!, $after: DateTimeOrDuration!) {
1827
1836
  updatedAt
1828
1837
  description
1829
1838
  assignee { id, name }
1830
- state {
1839
+ state {
1831
1840
  name
1832
1841
  }
1833
1842
  project {
@@ -1866,7 +1875,7 @@ var sync_issues_default = defineFunction10({
1866
1875
  after
1867
1876
  }, {
1868
1877
  F: __dxlog_file7,
1869
- L: 91,
1878
+ L: 92,
1870
1879
  S: this,
1871
1880
  C: (f, a) => f(...a)
1872
1881
  });
@@ -1884,7 +1893,7 @@ var sync_issues_default = defineFunction10({
1884
1893
  count: tasks.length
1885
1894
  }, {
1886
1895
  F: __dxlog_file7,
1887
- L: 104,
1896
+ L: 105,
1888
1897
  S: this,
1889
1898
  C: (f, a) => f(...a)
1890
1899
  });
@@ -1897,7 +1906,7 @@ var sync_issues_default = defineFunction10({
1897
1906
  }, Effect13.provide(FetchHttpClient2.layer))
1898
1907
  });
1899
1908
  var getLatestUpdateTimestamp = Effect13.fnUntraced(function* (teamId, dataType) {
1900
- const { objects: existingTasks } = yield* DatabaseService10.runQuery(Query4.type(dataType).select(Filter4.foreignKeys(dataType, [
1909
+ const existingTasks = yield* Database10.Service.runQuery(Query4.type(dataType).select(Filter4.foreignKeys(dataType, [
1901
1910
  {
1902
1911
  source: LINEAR_TEAM_ID_KEY,
1903
1912
  id: teamId
@@ -1971,7 +1980,8 @@ var Linear;
1971
1980
  import * as Effect14 from "effect/Effect";
1972
1981
  import * as Schema13 from "effect/Schema";
1973
1982
  import { ArtifactId as ArtifactId4 } from "@dxos/assistant";
1974
- import { DatabaseService as DatabaseService11, defineFunction as defineFunction11 } from "@dxos/functions";
1983
+ import { Database as Database11 } from "@dxos/echo";
1984
+ import { defineFunction as defineFunction11 } from "@dxos/functions";
1975
1985
  import { Markdown as Markdown4 } from "@dxos/plugin-markdown/types";
1976
1986
  var read_default2 = defineFunction11({
1977
1987
  key: "dxos.org/function/markdown/read-tasks",
@@ -1986,8 +1996,8 @@ var read_default2 = defineFunction11({
1986
1996
  content: Schema13.String
1987
1997
  }),
1988
1998
  handler: Effect14.fn(function* ({ data: { id } }) {
1989
- const doc = yield* DatabaseService11.resolve(ArtifactId4.toDXN(id), Markdown4.Document);
1990
- const { content } = yield* DatabaseService11.load(doc.content);
1999
+ const doc = yield* Database11.Service.resolve(ArtifactId4.toDXN(id), Markdown4.Document);
2000
+ const { content } = yield* Database11.Service.load(doc.content);
1991
2001
  const lines = content.split("\n");
1992
2002
  const len = String(lines.length).length;
1993
2003
  const numbered = lines.map((line, i) => `${String(i + 1).padStart(len, " ")}. ${line}`).join("\n");
@@ -2001,7 +2011,8 @@ var read_default2 = defineFunction11({
2001
2011
  import * as Effect15 from "effect/Effect";
2002
2012
  import * as Schema14 from "effect/Schema";
2003
2013
  import { ArtifactId as ArtifactId5 } from "@dxos/assistant";
2004
- import { DatabaseService as DatabaseService12, defineFunction as defineFunction12 } from "@dxos/functions";
2014
+ import { Database as Database12 } from "@dxos/echo";
2015
+ import { defineFunction as defineFunction12 } from "@dxos/functions";
2005
2016
  import { Markdown as Markdown5 } from "@dxos/plugin-markdown/types";
2006
2017
 
2007
2018
  // src/functions/tasks/task-list.ts
@@ -2152,8 +2163,8 @@ var update_default2 = defineFunction12({
2152
2163
  })
2153
2164
  }),
2154
2165
  handler: Effect15.fn(function* ({ data: { id, operations = [] } }) {
2155
- const doc = yield* DatabaseService12.resolve(ArtifactId5.toDXN(id), Markdown5.Document);
2156
- const { content } = yield* DatabaseService12.load(doc.content);
2166
+ const doc = yield* Database12.Service.resolve(ArtifactId5.toDXN(id), Markdown5.Document);
2167
+ const { content } = yield* Database12.Service.load(doc.content);
2157
2168
  const taskManager = new MarkdownTasks(content);
2158
2169
  if (operations.length > 0) {
2159
2170
  taskManager.applyOperations(operations);
@@ -2431,11 +2442,11 @@ var websearch_default = websearch_blueprint_default;
2431
2442
  import * as Schema15 from "effect/Schema";
2432
2443
  import React from "react";
2433
2444
  import { Capabilities, contributes, createSurface } from "@dxos/app-framework";
2434
- import { Type as Type3 } from "@dxos/echo";
2445
+ import { Format, Type as Type4 } from "@dxos/echo";
2435
2446
  import { JsonFilter } from "@dxos/react-ui-syntax-highlighter";
2436
2447
  var MapSchema = Schema15.Struct({
2437
- coordinates: Type3.Format.GeoPoint
2438
- }).pipe(Type3.Obj({
2448
+ coordinates: Format.GeoPoint
2449
+ }).pipe(Type4.Obj({
2439
2450
  typename: "example.com/type/Map",
2440
2451
  version: "0.1.0"
2441
2452
  }));
@@ -2458,7 +2469,7 @@ var capabilities = [
2458
2469
  id: "plugin-default",
2459
2470
  role: "card--extrinsic",
2460
2471
  position: "fallback",
2461
- component: ({ role, data }) => /* @__PURE__ */ React.createElement(JsonFilter, {
2472
+ component: ({ data }) => /* @__PURE__ */ React.createElement(JsonFilter, {
2462
2473
  data
2463
2474
  })
2464
2475
  }))
@@ -2478,7 +2489,7 @@ import * as Record from "effect/Record";
2478
2489
  import * as Schema16 from "effect/Schema";
2479
2490
  import { AiContextService, ArtifactId as ArtifactId6 } from "@dxos/assistant";
2480
2491
  import { Ref as Ref12 } from "@dxos/echo";
2481
- import { DatabaseService as DatabaseService13 } from "@dxos/functions";
2492
+ import { Database as Database13 } from "@dxos/echo";
2482
2493
  import { trim as trim10 } from "@dxos/util";
2483
2494
  var AssistantToolkit = Toolkit5.make(Tool2.make("add-to-context", {
2484
2495
  description: trim10`
@@ -2493,14 +2504,14 @@ var AssistantToolkit = Toolkit5.make(Tool2.make("add-to-context", {
2493
2504
  failure: Schema16.Never,
2494
2505
  dependencies: [
2495
2506
  AiContextService,
2496
- DatabaseService13
2507
+ Database13.Service
2497
2508
  ]
2498
2509
  }));
2499
2510
  var tools = Record.keys(AssistantToolkit.tools);
2500
2511
  var layer3 = () => AssistantToolkit.toLayer({
2501
2512
  "add-to-context": Effect16.fnUntraced(function* ({ id }) {
2502
2513
  const { binder } = yield* AiContextService;
2503
- const { db } = yield* DatabaseService13;
2514
+ const { db } = yield* Database13.Service;
2504
2515
  const ref = Ref12.fromDXN(ArtifactId6.toDXN(id, db.spaceId));
2505
2516
  yield* Effect16.promise(() => binder.bind({
2506
2517
  blueprints: [],
@@ -2524,8 +2535,8 @@ import * as Effect17 from "effect/Effect";
2524
2535
  import * as Record2 from "effect/Record";
2525
2536
  import * as Schema17 from "effect/Schema";
2526
2537
  import { ArtifactId as ArtifactId7 } from "@dxos/assistant";
2527
- import { DXN as DXN2, Obj as Obj16, Relation as Relation2, Tag as Tag2, Type as Type4 } from "@dxos/echo";
2528
- import { DatabaseService as DatabaseService14 } from "@dxos/functions";
2538
+ import { DXN as DXN2, Obj as Obj16, Relation as Relation2, Tag as Tag2, Type as Type5 } from "@dxos/echo";
2539
+ import { Database as Database14 } from "@dxos/echo";
2529
2540
  import { trim as trim11 } from "@dxos/util";
2530
2541
  var SystemToolkit = Toolkit6.make(
2531
2542
  //
@@ -2543,7 +2554,7 @@ var SystemToolkit = Toolkit6.make(
2543
2554
  success: Schema17.Any,
2544
2555
  failure: Schema17.Never,
2545
2556
  dependencies: [
2546
- DatabaseService14
2557
+ Database14.Service
2547
2558
  ]
2548
2559
  }),
2549
2560
  Tool3.make("schema-add", {
@@ -2560,7 +2571,7 @@ var SystemToolkit = Toolkit6.make(
2560
2571
  success: Schema17.Any,
2561
2572
  failure: Schema17.Never,
2562
2573
  dependencies: [
2563
- DatabaseService14
2574
+ Database14.Service
2564
2575
  ]
2565
2576
  }),
2566
2577
  //
@@ -2578,7 +2589,7 @@ var SystemToolkit = Toolkit6.make(
2578
2589
  success: Schema17.Any,
2579
2590
  failure: Schema17.Never,
2580
2591
  dependencies: [
2581
- DatabaseService14
2592
+ Database14.Service
2582
2593
  ]
2583
2594
  }),
2584
2595
  Tool3.make("object-remove", {
@@ -2593,7 +2604,7 @@ var SystemToolkit = Toolkit6.make(
2593
2604
  success: Schema17.Any,
2594
2605
  failure: Schema17.Never,
2595
2606
  dependencies: [
2596
- DatabaseService14
2607
+ Database14.Service
2597
2608
  ]
2598
2609
  }),
2599
2610
  //
@@ -2619,7 +2630,7 @@ var SystemToolkit = Toolkit6.make(
2619
2630
  success: Schema17.Any,
2620
2631
  failure: Schema17.Never,
2621
2632
  dependencies: [
2622
- DatabaseService14
2633
+ Database14.Service
2623
2634
  ]
2624
2635
  }),
2625
2636
  //
@@ -2641,7 +2652,7 @@ var SystemToolkit = Toolkit6.make(
2641
2652
  success: Schema17.Any,
2642
2653
  failure: Schema17.Never,
2643
2654
  dependencies: [
2644
- DatabaseService14
2655
+ Database14.Service
2645
2656
  ]
2646
2657
  }),
2647
2658
  Tool3.make("tag-remove", {
@@ -2660,14 +2671,14 @@ var SystemToolkit = Toolkit6.make(
2660
2671
  success: Schema17.Any,
2661
2672
  failure: Schema17.Never,
2662
2673
  dependencies: [
2663
- DatabaseService14
2674
+ Database14.Service
2664
2675
  ]
2665
2676
  })
2666
2677
  );
2667
2678
  var tools2 = Record2.keys(SystemToolkit.tools);
2668
2679
  var layer4 = () => SystemToolkit.toLayer({
2669
2680
  "schema-list": Effect17.fnUntraced(function* () {
2670
- const { db } = yield* DatabaseService14;
2681
+ const { db } = yield* Database14.Service;
2671
2682
  const schema = yield* Effect17.promise(() => db.schemaRegistry.query({
2672
2683
  location: [
2673
2684
  "database",
@@ -2675,16 +2686,16 @@ var layer4 = () => SystemToolkit.toLayer({
2675
2686
  ]
2676
2687
  }).run());
2677
2688
  return schema.map((schema2) => {
2678
- const meta = Type4.getMeta(schema2);
2689
+ const meta = Type5.getMeta(schema2);
2679
2690
  return {
2680
- typename: Type4.getTypename(schema2),
2681
- jsonSchema: Type4.toJsonSchema(schema2),
2691
+ typename: Type5.getTypename(schema2),
2692
+ jsonSchema: Type5.toJsonSchema(schema2),
2682
2693
  kind: meta?.sourceSchema ? "relation" : "record"
2683
2694
  };
2684
2695
  });
2685
2696
  }),
2686
2697
  "schema-add": Effect17.fnUntraced(function* ({ name, typename, jsonSchema }) {
2687
- const { db } = yield* DatabaseService14;
2698
+ const { db } = yield* Database14.Service;
2688
2699
  yield* Effect17.promise(() => db.schemaRegistry.register([
2689
2700
  {
2690
2701
  typename,
@@ -2695,7 +2706,7 @@ var layer4 = () => SystemToolkit.toLayer({
2695
2706
  ]));
2696
2707
  }),
2697
2708
  "object-create": Effect17.fnUntraced(function* ({ typename, data }) {
2698
- const { db } = yield* DatabaseService14;
2709
+ const { db } = yield* Database14.Service;
2699
2710
  const schema = yield* Effect17.promise(() => db.schemaRegistry.query({
2700
2711
  typename,
2701
2712
  location: [
@@ -2707,13 +2718,13 @@ var layer4 = () => SystemToolkit.toLayer({
2707
2718
  return object;
2708
2719
  }),
2709
2720
  "object-remove": Effect17.fnUntraced(function* ({ id }) {
2710
- const { db } = yield* DatabaseService14;
2711
- const object = yield* DatabaseService14.resolve(DXN2.parse(id));
2721
+ const { db } = yield* Database14.Service;
2722
+ const object = yield* Database14.Service.resolve(DXN2.parse(id));
2712
2723
  db.remove(object);
2713
2724
  return object;
2714
2725
  }),
2715
2726
  "relation-create": Effect17.fnUntraced(function* ({ typename, source, target, data }) {
2716
- const { db } = yield* DatabaseService14;
2727
+ const { db } = yield* Database14.Service;
2717
2728
  const schema = yield* Effect17.promise(() => db.schemaRegistry.query({
2718
2729
  typename,
2719
2730
  location: [
@@ -2721,8 +2732,8 @@ var layer4 = () => SystemToolkit.toLayer({
2721
2732
  "runtime"
2722
2733
  ]
2723
2734
  }).first());
2724
- const sourceObj = yield* DatabaseService14.resolve(DXN2.parse(source));
2725
- const targetObj = yield* DatabaseService14.resolve(DXN2.parse(target));
2735
+ const sourceObj = yield* Database14.Service.resolve(DXN2.parse(source));
2736
+ const targetObj = yield* Database14.Service.resolve(DXN2.parse(target));
2726
2737
  const relation = db.add(Relation2.make(schema, {
2727
2738
  [Relation2.Source]: sourceObj,
2728
2739
  [Relation2.Target]: targetObj,
@@ -2731,12 +2742,12 @@ var layer4 = () => SystemToolkit.toLayer({
2731
2742
  return relation;
2732
2743
  }),
2733
2744
  "tag-add": Effect17.fnUntraced(function* ({ tagId, objectId }) {
2734
- const object = yield* DatabaseService14.resolve(DXN2.parse(objectId));
2745
+ const object = yield* Database14.Service.resolve(DXN2.parse(objectId));
2735
2746
  Obj16.addTag(object, DXN2.parse(tagId).toString());
2736
2747
  return object;
2737
2748
  }),
2738
2749
  "tag-remove": Effect17.fnUntraced(function* ({ tagId, objectId }) {
2739
- const object = yield* DatabaseService14.resolve(DXN2.parse(objectId));
2750
+ const object = yield* Database14.Service.resolve(DXN2.parse(objectId));
2740
2751
  Obj16.removeTag(object, DXN2.parse(tagId).toString());
2741
2752
  return object;
2742
2753
  })