@dxos/assistant-toolkit 0.8.4-main.7ace549 → 0.8.4-main.937b3ca

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 (162) hide show
  1. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  2. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +366 -264
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/testing/index.mjs +43 -0
  7. package/dist/lib/browser/testing/index.mjs.map +7 -0
  8. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  9. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  10. package/dist/lib/node-esm/index.mjs +366 -264
  11. package/dist/lib/node-esm/index.mjs.map +4 -4
  12. package/dist/lib/node-esm/meta.json +1 -1
  13. package/dist/lib/node-esm/testing/index.mjs +44 -0
  14. package/dist/lib/node-esm/testing/index.mjs.map +7 -0
  15. package/dist/types/src/blueprints/design/design-blueprint.d.ts +17 -3
  16. package/dist/types/src/blueprints/design/design-blueprint.d.ts.map +1 -1
  17. package/dist/types/src/blueprints/design/index.d.ts +1 -1
  18. package/dist/types/src/blueprints/design/index.d.ts.map +1 -1
  19. package/dist/types/src/blueprints/discord/discord-blueprint.d.ts +9 -10
  20. package/dist/types/src/blueprints/discord/discord-blueprint.d.ts.map +1 -1
  21. package/dist/types/src/blueprints/discord/index.d.ts +1 -1
  22. package/dist/types/src/blueprints/discord/index.d.ts.map +1 -1
  23. package/dist/types/src/blueprints/linear/index.d.ts +1 -1
  24. package/dist/types/src/blueprints/linear/index.d.ts.map +1 -1
  25. package/dist/types/src/blueprints/linear/linear-blueprint.d.ts +9 -10
  26. package/dist/types/src/blueprints/linear/linear-blueprint.d.ts.map +1 -1
  27. package/dist/types/src/blueprints/planning/index.d.ts +1 -1
  28. package/dist/types/src/blueprints/planning/index.d.ts.map +1 -1
  29. package/dist/types/src/blueprints/planning/planning-blueprint.d.ts +17 -3
  30. package/dist/types/src/blueprints/planning/planning-blueprint.d.ts.map +1 -1
  31. package/dist/types/src/blueprints/research/index.d.ts +1 -1
  32. package/dist/types/src/blueprints/research/index.d.ts.map +1 -1
  33. package/dist/types/src/blueprints/research/research-blueprint.d.ts +17 -3
  34. package/dist/types/src/blueprints/research/research-blueprint.d.ts.map +1 -1
  35. package/dist/types/src/blueprints/testing.d.ts +2 -2
  36. package/dist/types/src/blueprints/testing.d.ts.map +1 -1
  37. package/dist/types/src/blueprints/websearch/index.d.ts +1 -1
  38. package/dist/types/src/blueprints/websearch/index.d.ts.map +1 -1
  39. package/dist/types/src/blueprints/websearch/websearch-blueprint.d.ts +17 -3
  40. package/dist/types/src/blueprints/websearch/websearch-blueprint.d.ts.map +1 -1
  41. package/dist/types/src/crud/graph.d.ts +14 -11
  42. package/dist/types/src/crud/graph.d.ts.map +1 -1
  43. package/dist/types/src/functions/agent/prompt.d.ts +71 -4
  44. package/dist/types/src/functions/agent/prompt.d.ts.map +1 -1
  45. package/dist/types/src/functions/document/read.d.ts.map +1 -1
  46. package/dist/types/src/functions/document/update.d.ts.map +1 -1
  47. package/dist/types/src/functions/entity-extraction/entity-extraction.d.ts +93 -91
  48. package/dist/types/src/functions/entity-extraction/entity-extraction.d.ts.map +1 -1
  49. package/dist/types/src/functions/entity-extraction/index.d.ts +93 -91
  50. package/dist/types/src/functions/entity-extraction/index.d.ts.map +1 -1
  51. package/dist/types/src/functions/exa/data/exa-search-1748337321991.d.ts.map +1 -0
  52. package/dist/types/src/functions/exa/data/exa-search-1748337331526.d.ts.map +1 -0
  53. package/dist/types/src/functions/exa/data/exa-search-1748337344119.d.ts.map +1 -0
  54. package/dist/types/src/functions/exa/data/index.d.ts.map +1 -0
  55. package/dist/types/src/functions/github/fetch-prs.d.ts.map +1 -1
  56. package/dist/types/src/functions/linear/index.d.ts +1 -1
  57. package/dist/types/src/functions/linear/sync-issues.d.ts +1 -1
  58. package/dist/types/src/functions/linear/sync-issues.d.ts.map +1 -1
  59. package/dist/types/src/functions/research/document-create.d.ts.map +1 -1
  60. package/dist/types/src/functions/research/research-graph.d.ts +8 -7
  61. package/dist/types/src/functions/research/research-graph.d.ts.map +1 -1
  62. package/dist/types/src/functions/research/research.d.ts.map +1 -1
  63. package/dist/types/src/functions/tasks/read.d.ts.map +1 -1
  64. package/dist/types/src/functions/tasks/update.d.ts.map +1 -1
  65. package/dist/types/src/index.d.ts +0 -1
  66. package/dist/types/src/index.d.ts.map +1 -1
  67. package/dist/types/src/initiative/Initiative.d.ts +84 -0
  68. package/dist/types/src/initiative/Initiative.d.ts.map +1 -0
  69. package/dist/types/src/initiative/InitiativeSchema.d.ts +19 -0
  70. package/dist/types/src/initiative/InitiativeSchema.d.ts.map +1 -0
  71. package/dist/types/src/initiative/functions/agent.d.ts +37 -0
  72. package/dist/types/src/initiative/functions/agent.d.ts.map +1 -0
  73. package/dist/types/src/initiative/functions/getContext.d.ts +17 -0
  74. package/dist/types/src/initiative/functions/getContext.d.ts.map +1 -0
  75. package/dist/types/src/initiative/functions/index.d.ts +4 -0
  76. package/dist/types/src/initiative/functions/index.d.ts.map +1 -0
  77. package/dist/types/src/initiative/functions/update.d.ts +7 -0
  78. package/dist/types/src/initiative/functions/update.d.ts.map +1 -0
  79. package/dist/types/src/initiative/index.d.ts +1 -0
  80. package/dist/types/src/initiative/index.d.ts.map +1 -0
  81. package/dist/types/src/initiative/initiative.test.d.ts +2 -0
  82. package/dist/types/src/initiative/initiative.test.d.ts.map +1 -0
  83. package/dist/types/src/sync/sync.d.ts +3 -3
  84. package/dist/types/src/sync/sync.d.ts.map +1 -1
  85. package/dist/types/src/testing/index.d.ts +1 -1
  86. package/dist/types/src/testing/index.d.ts.map +1 -1
  87. package/dist/types/src/testing/plugins.d.ts +19 -0
  88. package/dist/types/src/testing/plugins.d.ts.map +1 -0
  89. package/dist/types/src/toolkits/AssistantToolkit.d.ts +31 -5
  90. package/dist/types/src/toolkits/AssistantToolkit.d.ts.map +1 -1
  91. package/dist/types/src/toolkits/SystemToolkit.d.ts +42 -10
  92. package/dist/types/src/toolkits/SystemToolkit.d.ts.map +1 -1
  93. package/dist/types/tsconfig.tsbuildinfo +1 -1
  94. package/package.json +49 -35
  95. package/src/blueprints/design/design-blueprint.test.ts +10 -8
  96. package/src/blueprints/design/design-blueprint.ts +2 -4
  97. package/src/blueprints/design/index.ts +1 -1
  98. package/src/blueprints/discord/discord-blueprint.ts +2 -4
  99. package/src/blueprints/discord/index.ts +1 -1
  100. package/src/blueprints/linear/index.ts +1 -1
  101. package/src/blueprints/linear/linear-blueprint.ts +2 -4
  102. package/src/blueprints/planning/index.ts +1 -1
  103. package/src/blueprints/planning/planning-blueprint.test.ts +8 -6
  104. package/src/blueprints/planning/planning-blueprint.ts +2 -4
  105. package/src/blueprints/research/index.ts +1 -1
  106. package/src/blueprints/research/research-blueprint.ts +2 -4
  107. package/src/blueprints/testing.ts +2 -2
  108. package/src/blueprints/websearch/index.ts +2 -1
  109. package/src/blueprints/websearch/websearch-blueprint.ts +2 -4
  110. package/src/crud/graph.test.ts +4 -27
  111. package/src/crud/graph.ts +21 -23
  112. package/src/experimental/feed.test.ts +1 -1
  113. package/src/functions/agent/prompt.ts +17 -13
  114. package/src/functions/discord/fetch-messages.test.ts +1 -1
  115. package/src/functions/discord/fetch-messages.ts +1 -1
  116. package/src/functions/document/read.ts +4 -3
  117. package/src/functions/document/update.ts +7 -4
  118. package/src/functions/entity-extraction/entity-extraction.conversations.json +6597 -1
  119. package/src/functions/entity-extraction/entity-extraction.test.ts +7 -6
  120. package/src/functions/entity-extraction/entity-extraction.ts +38 -19
  121. package/src/functions/exa/mock.ts +1 -1
  122. package/src/functions/github/fetch-prs.ts +3 -2
  123. package/src/functions/linear/linear.test.ts +11 -10
  124. package/src/functions/linear/sync-issues.ts +7 -5
  125. package/src/functions/research/document-create.ts +7 -6
  126. package/src/functions/research/research-graph.ts +11 -11
  127. package/src/functions/research/research.conversations.json +1 -1
  128. package/src/functions/research/research.test.ts +24 -32
  129. package/src/functions/research/research.ts +8 -9
  130. package/src/functions/tasks/read.ts +4 -3
  131. package/src/functions/tasks/update.ts +4 -3
  132. package/src/index.ts +0 -1
  133. package/src/initiative/Initiative.ts +99 -0
  134. package/src/initiative/InitiativeSchema.ts +37 -0
  135. package/src/initiative/functions/agent.ts +57 -0
  136. package/src/initiative/functions/getContext.ts +74 -0
  137. package/src/initiative/functions/index.ts +7 -0
  138. package/src/initiative/functions/update.ts +63 -0
  139. package/src/initiative/index.ts +3 -0
  140. package/src/initiative/initiative.conversations.json +1 -0
  141. package/src/initiative/initiative.test.ts +485 -0
  142. package/src/sync/sync.ts +38 -30
  143. package/src/testing/index.ts +1 -1
  144. package/src/{plugins.tsx → testing/plugins.tsx} +13 -13
  145. package/src/toolkits/AssistantToolkit.conversations.json +1 -1
  146. package/src/toolkits/AssistantToolkit.test.ts +17 -11
  147. package/src/toolkits/AssistantToolkit.ts +31 -8
  148. package/src/toolkits/SystemToolkit.ts +100 -32
  149. package/dist/types/src/plugins.d.ts +0 -19
  150. package/dist/types/src/plugins.d.ts.map +0 -1
  151. package/dist/types/src/testing/data/exa-search-1748337321991.d.ts.map +0 -1
  152. package/dist/types/src/testing/data/exa-search-1748337331526.d.ts.map +0 -1
  153. package/dist/types/src/testing/data/exa-search-1748337344119.d.ts.map +0 -1
  154. package/dist/types/src/testing/data/index.d.ts.map +0 -1
  155. /package/dist/types/src/{testing → functions/exa}/data/exa-search-1748337321991.d.ts +0 -0
  156. /package/dist/types/src/{testing → functions/exa}/data/exa-search-1748337331526.d.ts +0 -0
  157. /package/dist/types/src/{testing → functions/exa}/data/exa-search-1748337344119.d.ts +0 -0
  158. /package/dist/types/src/{testing → functions/exa}/data/index.d.ts +0 -0
  159. /package/src/{testing → functions/exa}/data/exa-search-1748337321991.ts +0 -0
  160. /package/src/{testing → functions/exa}/data/exa-search-1748337331526.ts +0 -0
  161. /package/src/{testing → functions/exa}/data/exa-search-1748337344119.ts +0 -0
  162. /package/src/{testing → functions/exa}/data/index.ts +0 -0
@@ -13,7 +13,8 @@ import { AiService, ConsolePrinter, ModelName } from '@dxos/ai';
13
13
  import { AiSession, GenerationObserver, createToolkit } from '@dxos/assistant';
14
14
  import { Prompt, Template } from '@dxos/blueprints';
15
15
  import { Obj, Ref, Type } from '@dxos/echo';
16
- import { DatabaseService, TracingService, defineFunction } from '@dxos/functions';
16
+ import { Database } from '@dxos/echo';
17
+ import { TracingService, defineFunction } from '@dxos/functions';
17
18
  import { log } from '@dxos/log';
18
19
 
19
20
  const DEFAULT_MODEL: ModelName = '@anthropic/claude-opus-4-0';
@@ -45,7 +46,7 @@ export default defineFunction({
45
46
  // for (const key of Object.keys(data.input)) {
46
47
  // const value = data.input[key];
47
48
  // if (Ref.isRef(value)) {
48
- // const object = yield* DatabaseService.load(value);
49
+ // const object = yield* Database.Service.load(value);
49
50
  // input[key] = Obj.toJSON(object);
50
51
  // } else {
51
52
  // input[key] = JSON.stringify(value);
@@ -55,16 +56,16 @@ export default defineFunction({
55
56
  Match.when(
56
57
  (value: any) => Ref.isRef(value),
57
58
  Effect.fnUntraced(function* (ref) {
58
- const object = yield* DatabaseService.load(ref);
59
- return Obj.toJSON(object as Obj.Any);
59
+ const object = yield* Database.Service.load(ref);
60
+ return Obj.toJSON(object as Obj.Unknown);
60
61
  }),
61
62
  ),
62
63
  Match.orElse(() => Effect.succeed(data.input)),
63
64
  );
64
65
 
65
- yield* DatabaseService.flush({ indexes: true });
66
- const prompt = yield* DatabaseService.load(data.prompt);
67
- const systemPrompt = data.systemPrompt ? yield* DatabaseService.load(data.systemPrompt) : undefined;
66
+ yield* Database.Service.flush({ indexes: true });
67
+ const prompt = yield* Database.Service.load(data.prompt);
68
+ const systemPrompt = data.systemPrompt ? yield* Database.Service.load(data.systemPrompt) : undefined;
68
69
  yield* TracingService.emitStatus({ message: `Running ${prompt.id}` });
69
70
 
70
71
  log.info('starting agent', { prompt: prompt.id, input });
@@ -72,23 +73,26 @@ export default defineFunction({
72
73
  const blueprints = yield* Function.pipe(
73
74
  prompt.blueprints,
74
75
  Array.appendAll(systemPrompt?.blueprints ?? []),
75
- Effect.forEach(DatabaseService.loadOption),
76
+ Effect.forEach(Database.Service.loadOption),
76
77
  Effect.map(Array.filter(Option.isSome)),
77
78
  Effect.map(Array.map((option) => option.value)),
78
79
  );
80
+ const toolkit = yield* createToolkit({ blueprints });
81
+
79
82
  const objects = yield* Function.pipe(
80
83
  prompt.context,
81
84
  Array.appendAll(systemPrompt?.context ?? []),
82
- Effect.forEach(DatabaseService.loadOption),
85
+ Effect.forEach(Database.Service.loadOption),
83
86
  Effect.map(Array.filter(Option.isSome)),
84
87
  Effect.map(Array.map((option) => option.value)),
85
88
  );
86
- const toolkit = yield* createToolkit({ blueprints });
87
89
 
88
- const promptInstructions = yield* DatabaseService.load(prompt.instructions.source);
90
+ const promptInstructions = yield* Database.Service.load(prompt.instructions.source);
89
91
  const promptText = Template.process(promptInstructions.content, input);
90
92
 
91
- const systemInstructions = systemPrompt ? yield* DatabaseService.load(systemPrompt.instructions.source) : undefined;
93
+ const systemInstructions = systemPrompt
94
+ ? yield* Database.Service.load(systemPrompt.instructions.source)
95
+ : undefined;
92
96
  const systemText = systemInstructions ? Template.process(systemInstructions.content, {}) : undefined;
93
97
 
94
98
  const session = new AiSession();
@@ -97,7 +101,7 @@ export default defineFunction({
97
101
  prompt: promptText,
98
102
  system: systemText,
99
103
  blueprints,
100
- objects: objects as Obj.Any[],
104
+ objects: objects as Obj.Unknown[],
101
105
  toolkit,
102
106
  observer: GenerationObserver.fromPrinter(new ConsolePrinter({ tag: 'agent' })),
103
107
  })
@@ -12,7 +12,7 @@ import * as Layer from 'effect/Layer';
12
12
  import { AiService } from '@dxos/ai';
13
13
  import { AiServiceTestingPreset } from '@dxos/ai/testing';
14
14
  import { makeToolExecutionServiceFromFunctions, makeToolResolverFromFunctions } from '@dxos/assistant';
15
- import { TestHelpers } from '@dxos/effect';
15
+ import { TestHelpers } from '@dxos/effect/testing';
16
16
  import { CredentialsService, FunctionInvocationService, TracingService } from '@dxos/functions';
17
17
  import { FunctionInvocationServiceLayerTestMocked, TestDatabaseLayer } from '@dxos/functions-runtime/testing';
18
18
 
@@ -133,7 +133,7 @@ export default defineFunction({
133
133
  throw new Error('no channels found');
134
134
  }
135
135
  for (const channel of channels) {
136
- console.log(channel.id, 'name' in channel ? channel.name : undefined);
136
+ log.info('channel', { id: channel.id, name: 'name' in channel ? channel.name : undefined });
137
137
  }
138
138
 
139
139
  yield* TracingService.emitStatus({ message: `Will fetch from channels: ${channels.length}` });
@@ -6,7 +6,8 @@ import * as Effect from 'effect/Effect';
6
6
  import * as Schema from 'effect/Schema';
7
7
 
8
8
  import { ArtifactId } from '@dxos/assistant';
9
- import { DatabaseService, defineFunction } from '@dxos/functions';
9
+ import { Database } from '@dxos/echo';
10
+ import { defineFunction } from '@dxos/functions';
10
11
  import { Markdown } from '@dxos/plugin-markdown/types';
11
12
 
12
13
  export default defineFunction({
@@ -22,8 +23,8 @@ export default defineFunction({
22
23
  content: Schema.String,
23
24
  }),
24
25
  handler: Effect.fn(function* ({ data: { id } }) {
25
- const doc = yield* DatabaseService.resolve(ArtifactId.toDXN(id), Markdown.Document);
26
- const { content } = yield* DatabaseService.load(doc.content);
26
+ const doc = yield* Database.Service.resolve(ArtifactId.toDXN(id), Markdown.Document);
27
+ const { content } = yield* Database.Service.load(doc.content);
27
28
  return { content };
28
29
  }),
29
30
  });
@@ -6,7 +6,8 @@ import * as Effect from 'effect/Effect';
6
6
  import * as Schema from 'effect/Schema';
7
7
 
8
8
  import { ArtifactId } from '@dxos/assistant';
9
- import { DatabaseService, defineFunction } from '@dxos/functions';
9
+ import { Database, Obj } from '@dxos/echo';
10
+ import { defineFunction } from '@dxos/functions';
10
11
  import { Markdown } from '@dxos/plugin-markdown/types';
11
12
 
12
13
  export default defineFunction({
@@ -23,8 +24,10 @@ export default defineFunction({
23
24
  }),
24
25
  outputSchema: Schema.Void,
25
26
  handler: Effect.fn(function* ({ data: { id, content } }) {
26
- const doc = yield* DatabaseService.resolve(ArtifactId.toDXN(id), Markdown.Document);
27
- const text = yield* DatabaseService.load(doc.content);
28
- text.content = content;
27
+ const doc = yield* Database.Service.resolve(ArtifactId.toDXN(id), Markdown.Document);
28
+ const text = yield* Database.Service.load(doc.content);
29
+ Obj.change(text, (t) => {
30
+ t.content = content;
31
+ });
29
32
  }),
30
33
  });