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