@dxos/assistant 0.8.3 → 0.8.4-main.1c7ec43d41

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 (198) hide show
  1. package/README.md +1 -0
  2. package/dist/lib/neutral/extraction/index.mjs +202 -0
  3. package/dist/lib/neutral/extraction/index.mjs.map +7 -0
  4. package/dist/lib/neutral/index.mjs +1736 -0
  5. package/dist/lib/neutral/index.mjs.map +7 -0
  6. package/dist/lib/neutral/meta.json +1 -0
  7. package/dist/types/src/conversation/context.d.ts +156 -0
  8. package/dist/types/src/conversation/context.d.ts.map +1 -0
  9. package/dist/types/src/conversation/context.test.d.ts +2 -0
  10. package/dist/types/src/conversation/context.test.d.ts.map +1 -0
  11. package/dist/types/src/conversation/index.d.ts +3 -0
  12. package/dist/types/src/conversation/index.d.ts.map +1 -0
  13. package/dist/types/src/conversation/session.d.ts +73 -0
  14. package/dist/types/src/conversation/session.d.ts.map +1 -0
  15. package/dist/types/src/diff.d.ts +17 -0
  16. package/dist/types/src/diff.d.ts.map +1 -0
  17. package/dist/types/src/diff.test.d.ts +2 -0
  18. package/dist/types/src/diff.test.d.ts.map +1 -0
  19. package/dist/types/src/errors.d.ts +67 -0
  20. package/dist/types/src/errors.d.ts.map +1 -0
  21. package/dist/types/src/execution-graph.d.ts +85 -0
  22. package/dist/types/src/execution-graph.d.ts.map +1 -0
  23. package/dist/types/src/execution-graph.test.d.ts +2 -0
  24. package/dist/types/src/execution-graph.test.d.ts.map +1 -0
  25. package/dist/types/src/extraction/extraction-ner-function/index.d.ts +0 -1
  26. package/dist/types/src/extraction/extraction-ner-function/index.d.ts.map +1 -1
  27. package/dist/types/src/extraction/extraction-ner-function/named-entity-recognition.d.ts +1 -1
  28. package/dist/types/src/extraction/extraction-ner-function/named-entity-recognition.d.ts.map +1 -1
  29. package/dist/types/src/extraction/extraction.d.ts +1066 -215
  30. package/dist/types/src/extraction/extraction.d.ts.map +1 -1
  31. package/dist/types/src/extraction/index.d.ts +0 -1
  32. package/dist/types/src/extraction/index.d.ts.map +1 -1
  33. package/dist/types/src/extraction/quotes.d.ts +3 -3
  34. package/dist/types/src/extraction/quotes.d.ts.map +1 -1
  35. package/dist/types/src/functions/index.d.ts +2 -0
  36. package/dist/types/src/functions/index.d.ts.map +1 -0
  37. package/dist/types/src/functions/services.d.ts +17 -0
  38. package/dist/types/src/functions/services.d.ts.map +1 -0
  39. package/dist/types/src/index.d.ts +7 -3
  40. package/dist/types/src/index.d.ts.map +1 -1
  41. package/dist/types/src/session/artifact-diff.d.ts +27 -0
  42. package/dist/types/src/session/artifact-diff.d.ts.map +1 -0
  43. package/dist/types/src/session/error-handling.d.ts +4 -0
  44. package/dist/types/src/session/error-handling.d.ts.map +1 -0
  45. package/dist/types/src/session/format.d.ts +15 -0
  46. package/dist/types/src/session/format.d.ts.map +1 -0
  47. package/dist/types/src/session/index.d.ts +5 -1
  48. package/dist/types/src/session/index.d.ts.map +1 -1
  49. package/dist/types/src/session/observer.d.ts +23 -0
  50. package/dist/types/src/session/observer.d.ts.map +1 -0
  51. package/dist/types/src/session/request.d.ts +104 -0
  52. package/dist/types/src/session/request.d.ts.map +1 -0
  53. package/dist/types/src/session/toolkit.d.ts +16 -0
  54. package/dist/types/src/session/toolkit.d.ts.map +1 -0
  55. package/dist/types/src/session/version-pin.d.ts +5 -5
  56. package/dist/types/src/session/version-pin.d.ts.map +1 -1
  57. package/dist/types/src/templates/index.d.ts +2 -0
  58. package/dist/types/src/templates/index.d.ts.map +1 -0
  59. package/dist/types/src/templates/system.d.ts +17 -0
  60. package/dist/types/src/templates/system.d.ts.map +1 -0
  61. package/dist/types/src/tracing.d.ts +233 -0
  62. package/dist/types/src/tracing.d.ts.map +1 -0
  63. package/dist/types/src/types/artifact.d.ts +28 -0
  64. package/dist/types/src/types/artifact.d.ts.map +1 -0
  65. package/dist/types/src/types/index.d.ts +2 -0
  66. package/dist/types/src/types/index.d.ts.map +1 -0
  67. package/dist/types/tsconfig.tsbuildinfo +1 -1
  68. package/package.json +43 -38
  69. package/src/conversation/context.test.ts +52 -0
  70. package/src/conversation/context.ts +403 -0
  71. package/src/conversation/index.ts +6 -0
  72. package/src/conversation/session.ts +323 -0
  73. package/src/diff.test.ts +74 -0
  74. package/src/diff.ts +93 -0
  75. package/src/errors.ts +15 -0
  76. package/src/execution-graph.test.ts +740 -0
  77. package/src/execution-graph.ts +519 -0
  78. package/src/extraction/extraction-ner-function/index.ts +0 -1
  79. package/src/extraction/extraction-ner-function/named-entity-recognition.test.ts +12 -6
  80. package/src/extraction/extraction-ner-function/named-entity-recognition.ts +3 -1
  81. package/src/extraction/extraction.ts +44 -15
  82. package/src/extraction/index.ts +0 -1
  83. package/src/extraction/quotes.test.ts +3 -3
  84. package/src/extraction/quotes.ts +6 -7
  85. package/src/functions/index.ts +5 -0
  86. package/src/functions/services.ts +214 -0
  87. package/src/index.ts +7 -3
  88. package/src/session/artifact-diff.ts +41 -0
  89. package/src/session/error-handling.ts +41 -0
  90. package/src/session/format.ts +147 -0
  91. package/src/session/index.ts +5 -1
  92. package/src/session/observer.ts +62 -0
  93. package/src/session/request.ts +347 -0
  94. package/src/session/toolkit.ts +47 -0
  95. package/src/session/version-pin.ts +12 -12
  96. package/src/templates/index.ts +5 -0
  97. package/src/templates/instructions/format.tpl +57 -0
  98. package/src/templates/instructions/system.tpl +96 -0
  99. package/src/templates/system.ts +42 -0
  100. package/src/tracing.ts +57 -0
  101. package/src/types/artifact.ts +89 -0
  102. package/src/types/index.ts +5 -0
  103. package/src/typings.d.ts +5 -0
  104. package/dist/lib/browser/index.mjs +0 -2158
  105. package/dist/lib/browser/index.mjs.map +0 -7
  106. package/dist/lib/browser/meta.json +0 -1
  107. package/dist/lib/node/index.cjs +0 -2178
  108. package/dist/lib/node/index.cjs.map +0 -7
  109. package/dist/lib/node/meta.json +0 -1
  110. package/dist/lib/node-esm/index.mjs +0 -2160
  111. package/dist/lib/node-esm/index.mjs.map +0 -7
  112. package/dist/lib/node-esm/meta.json +0 -1
  113. package/dist/types/bin/chat.d.ts +0 -2
  114. package/dist/types/bin/chat.d.ts.map +0 -1
  115. package/dist/types/src/blueprint/ai.test.d.ts +0 -2
  116. package/dist/types/src/blueprint/ai.test.d.ts.map +0 -1
  117. package/dist/types/src/blueprint/blueprint.d.ts +0 -55
  118. package/dist/types/src/blueprint/blueprint.d.ts.map +0 -1
  119. package/dist/types/src/blueprint/blueprint.test.d.ts +0 -2
  120. package/dist/types/src/blueprint/blueprint.test.d.ts.map +0 -1
  121. package/dist/types/src/blueprint/index.d.ts +0 -4
  122. package/dist/types/src/blueprint/index.d.ts.map +0 -1
  123. package/dist/types/src/blueprint/logger.d.ts +0 -25
  124. package/dist/types/src/blueprint/logger.d.ts.map +0 -1
  125. package/dist/types/src/blueprint/machine.d.ts +0 -143
  126. package/dist/types/src/blueprint/machine.d.ts.map +0 -1
  127. package/dist/types/src/blueprint/test-data.d.ts +0 -3
  128. package/dist/types/src/blueprint/test-data.d.ts.map +0 -1
  129. package/dist/types/src/extraction/extraction-llm-function/extraction-llm-function.d.ts +0 -4
  130. package/dist/types/src/extraction/extraction-llm-function/extraction-llm-function.d.ts.map +0 -1
  131. package/dist/types/src/extraction/extraction-llm-function/extraction-llm-function.test.d.ts +0 -2
  132. package/dist/types/src/extraction/extraction-llm-function/extraction-llm-function.test.d.ts.map +0 -1
  133. package/dist/types/src/extraction/extraction-llm-function/index.d.ts +0 -2
  134. package/dist/types/src/extraction/extraction-llm-function/index.d.ts.map +0 -1
  135. package/dist/types/src/extraction/extraction-ner-function/extraction-ner-function.d.ts +0 -208
  136. package/dist/types/src/extraction/extraction-ner-function/extraction-ner-function.d.ts.map +0 -1
  137. package/dist/types/src/extraction/extraction-ner-function/extraction-ner-function.test.d.ts +0 -2
  138. package/dist/types/src/extraction/extraction-ner-function/extraction-ner-function.test.d.ts.map +0 -1
  139. package/dist/types/src/research/exa.d.ts +0 -7
  140. package/dist/types/src/research/exa.d.ts.map +0 -1
  141. package/dist/types/src/research/graph.d.ts +0 -41
  142. package/dist/types/src/research/graph.d.ts.map +0 -1
  143. package/dist/types/src/research/graph.test.d.ts +0 -2
  144. package/dist/types/src/research/graph.test.d.ts.map +0 -1
  145. package/dist/types/src/research/index.d.ts +0 -4
  146. package/dist/types/src/research/index.d.ts.map +0 -1
  147. package/dist/types/src/research/research.d.ts +0 -10
  148. package/dist/types/src/research/research.d.ts.map +0 -1
  149. package/dist/types/src/research/research.test.d.ts +0 -2
  150. package/dist/types/src/research/research.test.d.ts.map +0 -1
  151. package/dist/types/src/session/session.d.ts +0 -261
  152. package/dist/types/src/session/session.d.ts.map +0 -1
  153. package/dist/types/src/session/session.test.d.ts +0 -2
  154. package/dist/types/src/session/session.test.d.ts.map +0 -1
  155. package/dist/types/src/session/version-pin.test.d.ts +0 -2
  156. package/dist/types/src/session/version-pin.test.d.ts.map +0 -1
  157. package/dist/types/src/summarization/summarization.test.d.ts +0 -2
  158. package/dist/types/src/summarization/summarization.test.d.ts.map +0 -1
  159. package/dist/types/src/testing/exa-search-1748337321991.d.ts +0 -38
  160. package/dist/types/src/testing/exa-search-1748337321991.d.ts.map +0 -1
  161. package/dist/types/src/testing/exa-search-1748337331526.d.ts +0 -37
  162. package/dist/types/src/testing/exa-search-1748337331526.d.ts.map +0 -1
  163. package/dist/types/src/testing/exa-search-1748337344119.d.ts +0 -58
  164. package/dist/types/src/testing/exa-search-1748337344119.d.ts.map +0 -1
  165. package/dist/types/src/testing/index.d.ts +0 -3
  166. package/dist/types/src/testing/index.d.ts.map +0 -1
  167. package/dist/types/src/types.d.ts +0 -3
  168. package/dist/types/src/types.d.ts.map +0 -1
  169. package/src/blueprint/ai.test.ts +0 -156
  170. package/src/blueprint/blueprint.test.ts +0 -151
  171. package/src/blueprint/blueprint.ts +0 -75
  172. package/src/blueprint/index.ts +0 -7
  173. package/src/blueprint/logger.ts +0 -155
  174. package/src/blueprint/machine.ts +0 -251
  175. package/src/blueprint/test-data.ts +0 -55
  176. package/src/extraction/extraction-llm-function/extraction-llm-function.test.ts +0 -95
  177. package/src/extraction/extraction-llm-function/extraction-llm-function.ts +0 -65
  178. package/src/extraction/extraction-llm-function/index.ts +0 -5
  179. package/src/extraction/extraction-ner-function/extraction-ner-function.test.ts +0 -115
  180. package/src/extraction/extraction-ner-function/extraction-ner-function.ts +0 -54
  181. package/src/research/exa.ts +0 -100
  182. package/src/research/graph.test.ts +0 -15
  183. package/src/research/graph.ts +0 -337
  184. package/src/research/index.ts +0 -7
  185. package/src/research/instructions-research.tpl +0 -97
  186. package/src/research/research.test.ts +0 -190
  187. package/src/research/research.ts +0 -89
  188. package/src/session/session.test.ts +0 -229
  189. package/src/session/session.ts +0 -549
  190. package/src/session/version-pin.test.ts +0 -26
  191. package/src/summarization/summarization.test.ts +0 -221
  192. package/src/testing/exa-search-1748337321991.ts +0 -131
  193. package/src/testing/exa-search-1748337331526.ts +0 -144
  194. package/src/testing/exa-search-1748337344119.ts +0 -133
  195. package/src/testing/index.ts +0 -11
  196. package/src/typedefs.d.ts +0 -8
  197. package/src/types.ts +0 -8
  198. /package/src/extraction/extraction-llm-function/{instructions.tpl → transcription-instructions.tpl} +0 -0
package/src/tracing.ts ADDED
@@ -0,0 +1,57 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import * as Schema from 'effect/Schema';
6
+
7
+ import { Trace } from '@dxos/compute';
8
+ import { Obj } from '@dxos/echo';
9
+ import { ContentBlock, Actor } from '@dxos/types';
10
+
11
+ /**
12
+ * Partial content block emitted.
13
+ */
14
+ export const PartialBlock = Trace.EventType('assistant.partialBlock', {
15
+ schema: Schema.Struct({
16
+ messageId: Obj.ID,
17
+ role: Actor.Role,
18
+ block: ContentBlock.Any,
19
+ }),
20
+ isEphemeral: true,
21
+ });
22
+
23
+ /**
24
+ * Complete content block emitted.
25
+ */
26
+ export const CompleteBlock = Trace.EventType('assistant.completeBlock', {
27
+ schema: Schema.Struct({
28
+ messageId: Obj.ID,
29
+ role: Actor.Role,
30
+ block: ContentBlock.Any,
31
+ }),
32
+ isEphemeral: false,
33
+ });
34
+
35
+ export const AgentRequestBegin = Trace.EventType('assistant.agentRequestBegin', {
36
+ schema: Schema.Struct({}),
37
+ isEphemeral: false,
38
+ });
39
+
40
+ export const AgentRequestEnd = Trace.EventType('assistant.agentRequestEnd', {
41
+ schema: Schema.Struct({}),
42
+ isEphemeral: false,
43
+ });
44
+
45
+ /**
46
+ * Emitted when an MCP server connection fails for a request turn.
47
+ * Ephemeral so that misconfigured/unreachable servers don't pollute the durable feed,
48
+ * but can still be surfaced to the user via the live ephemeral event stream.
49
+ */
50
+ export const McpServerError = Trace.EventType('assistant.mcpServerError', {
51
+ schema: Schema.Struct({
52
+ url: Schema.String,
53
+ protocol: Schema.Literal('sse', 'http'),
54
+ message: Schema.String,
55
+ }),
56
+ isEphemeral: true,
57
+ });
@@ -0,0 +1,89 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import type * as Effect from 'effect/Effect';
6
+ import * as Schema from 'effect/Schema';
7
+
8
+ import { type Err, Obj, Ref, type Type } from '@dxos/echo';
9
+ import { Database } from '@dxos/echo';
10
+ import { EncodedReference } from '@dxos/echo-protocol';
11
+ import { DXN, LOCAL_SPACE_TAG, type ObjectId, type SpaceId } from '@dxos/keys';
12
+ import { trim } from '@dxos/util';
13
+
14
+ /**
15
+ * @deprecated
16
+ */
17
+ export const createArtifactElement = (id: ObjectId) => `<artifact id=${id} />`;
18
+
19
+ // TODO(burdon): Rename RefFromLLM? -- yes -dm
20
+ /**
21
+ * A model-friendly way to reference an object.
22
+ * Supports vairous formats that will be normalized to a DXN.
23
+ *
24
+ * @deprecated Use `Ref.Ref(XXX)` instead.
25
+ */
26
+ export const ArtifactId: Schema.Schema<string> & {
27
+ toDXN: (reference: ArtifactId, owningSpaceId?: SpaceId) => DXN;
28
+ resolve: <S extends Type.AnyEntity>(
29
+ schema: S,
30
+ ref: ArtifactId,
31
+ ) => Effect.Effect<Schema.Schema.Type<S>, Err.ObjectNotFoundError, Database.Service>;
32
+ } = class extends Schema.String.annotations({
33
+ // TODO(dmaretskyi): This section gets overriden.
34
+ description: trim`
35
+ The ID of the referenced object. Formats accepted:
36
+ - DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.
37
+ - space ID, object ID tuple (spaceID:objectID)
38
+ - Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)
39
+ `,
40
+ examples: [
41
+ 'dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4',
42
+ '@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4',
43
+ 'BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4',
44
+ '01KG7R1ZXWFMWQ4DA1Q6TN1DG4',
45
+ ],
46
+ }) {
47
+ static toDXN(reference: ArtifactId, owningSpaceId?: SpaceId): DXN {
48
+ // Allow @dxn: prefix for compatibility with in-text references.
49
+ if (reference.startsWith('@dxn:')) {
50
+ return DXN.parse(reference.slice(1));
51
+ } else if (reference.startsWith('dxn:')) {
52
+ return DXN.parse(reference);
53
+ } else if (/^[A-Z0-9]+:[A-Z0-9]+$/.test(reference)) {
54
+ const [spaceId, objectId] = reference.split(':');
55
+ // This is a workaround because the current Filter API doesn't work with fully qualified Echo DXNs.
56
+ // We check if the space ID is the same as the owning space and then use LOCAL_SPACE_TAG for local references.
57
+ // TODO(dmaretskyi): Fix this in the Echo and Filter API to properly handle fully qualified DXNs.
58
+ return new DXN(DXN.kind.ECHO, [spaceId === owningSpaceId ? LOCAL_SPACE_TAG : spaceId, objectId]);
59
+ } else if (/^[A-Z0-9]+$/.test(reference)) {
60
+ return DXN.fromLocalObjectId(reference);
61
+ } else {
62
+ throw new Error(`Unable to parse object reference: ${reference}`);
63
+ }
64
+ }
65
+
66
+ /**
67
+ * Resolves an artifact ID to an object.
68
+ */
69
+ static resolve<S extends Type.AnyEntity>(
70
+ schema: S,
71
+ ref: ArtifactId,
72
+ ): Effect.Effect<Schema.Schema.Type<S>, Err.ObjectNotFoundError, Database.Service> {
73
+ const dxn = ArtifactId.toDXN(ref);
74
+ return Database.resolve(dxn, schema);
75
+ }
76
+ };
77
+
78
+ export type ArtifactId = Schema.Schema.Type<typeof ArtifactId>;
79
+
80
+ /**
81
+ * Schema that decodes ECHO reference object from an LLM-friendly input.
82
+ */
83
+ export const RefFromLLM = Schema.transform(ArtifactId, Ref.Ref(Obj.Unknown), {
84
+ decode: (fromA, fromI) => EncodedReference.fromDXN(ArtifactId.toDXN(fromA)),
85
+ encode: (toI, toA) => EncodedReference.toDXN(toI).toString(),
86
+ strict: false,
87
+ }).annotations({
88
+ description: ArtifactId.ast.annotations.description as string,
89
+ });
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ export * from './artifact';
package/src/typings.d.ts CHANGED
@@ -2,6 +2,11 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
+ declare module '*?raw' {
6
+ const content: string;
7
+ export default content;
8
+ }
9
+
5
10
  declare module '*.tpl?raw' {
6
11
  const content: string;
7
12
  export default content;