@dxos/plugin-assistant 0.8.4-main.dedc0f3 → 0.8.4-main.e098934

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 (43) hide show
  1. package/dist/lib/browser/{ChatCompanion-YYYCHZYV.mjs → ChatCompanion-DOVN34C7.mjs} +3 -3
  2. package/dist/lib/browser/{ChatContainer-G6YHR6GJ.mjs → ChatContainer-XIVJTCC2.mjs} +2 -2
  3. package/dist/lib/browser/{ChatDialog-HJ7VDRQO.mjs → ChatDialog-EJJMK3WL.mjs} +2 -2
  4. package/dist/lib/browser/{chunk-PL4O4ZJU.mjs → chunk-C4Q2RYQM.mjs} +3 -3
  5. package/dist/lib/browser/{chunk-PPJAIE2T.mjs → chunk-QD4UUISH.mjs} +5 -5
  6. package/dist/lib/browser/index.mjs +5 -4
  7. package/dist/lib/browser/index.mjs.map +3 -3
  8. package/dist/lib/browser/meta.json +1 -1
  9. package/dist/lib/browser/{react-surface-WNLA2636.mjs → react-surface-E4NAGB6R.mjs} +3 -3
  10. package/dist/lib/browser/{toolkit-Y5OYX5PO.mjs → toolkit-MPUS3U64.mjs} +3 -3
  11. package/dist/lib/browser/toolkit-MPUS3U64.mjs.map +7 -0
  12. package/dist/lib/node-esm/{ChatCompanion-PUAFRIEC.mjs → ChatCompanion-ICWYVPRD.mjs} +3 -3
  13. package/dist/lib/node-esm/{ChatContainer-EZZF7RSQ.mjs → ChatContainer-LMMMQD4K.mjs} +2 -2
  14. package/dist/lib/node-esm/{ChatDialog-PTQLZNJU.mjs → ChatDialog-UUE3F7BT.mjs} +2 -2
  15. package/dist/lib/node-esm/{chunk-ZIDP7HBI.mjs → chunk-V44ZG7CU.mjs} +3 -3
  16. package/dist/lib/node-esm/{chunk-VH3LTD76.mjs → chunk-YU62ZWJN.mjs} +5 -5
  17. package/dist/lib/node-esm/index.mjs +5 -4
  18. package/dist/lib/node-esm/index.mjs.map +3 -3
  19. package/dist/lib/node-esm/meta.json +1 -1
  20. package/dist/lib/node-esm/{react-surface-GP3LU6DX.mjs → react-surface-5WQLRTCH.mjs} +3 -3
  21. package/dist/lib/node-esm/{toolkit-2F2OL6WB.mjs → toolkit-PKVYDZ4H.mjs} +3 -3
  22. package/dist/lib/node-esm/toolkit-PKVYDZ4H.mjs.map +7 -0
  23. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  24. package/dist/types/tsconfig.tsbuildinfo +1 -1
  25. package/package.json +90 -90
  26. package/src/AssistantPlugin.tsx +3 -2
  27. package/src/capabilities/toolkit.ts +2 -2
  28. package/src/components/ChatThread/ChatThread.stories.tsx +4 -4
  29. package/src/stories/components/GraphContainer.tsx +1 -1
  30. package/dist/lib/browser/toolkit-Y5OYX5PO.mjs.map +0 -7
  31. package/dist/lib/node-esm/toolkit-2F2OL6WB.mjs.map +0 -7
  32. /package/dist/lib/browser/{ChatCompanion-YYYCHZYV.mjs.map → ChatCompanion-DOVN34C7.mjs.map} +0 -0
  33. /package/dist/lib/browser/{ChatContainer-G6YHR6GJ.mjs.map → ChatContainer-XIVJTCC2.mjs.map} +0 -0
  34. /package/dist/lib/browser/{ChatDialog-HJ7VDRQO.mjs.map → ChatDialog-EJJMK3WL.mjs.map} +0 -0
  35. /package/dist/lib/browser/{chunk-PL4O4ZJU.mjs.map → chunk-C4Q2RYQM.mjs.map} +0 -0
  36. /package/dist/lib/browser/{chunk-PPJAIE2T.mjs.map → chunk-QD4UUISH.mjs.map} +0 -0
  37. /package/dist/lib/browser/{react-surface-WNLA2636.mjs.map → react-surface-E4NAGB6R.mjs.map} +0 -0
  38. /package/dist/lib/node-esm/{ChatCompanion-PUAFRIEC.mjs.map → ChatCompanion-ICWYVPRD.mjs.map} +0 -0
  39. /package/dist/lib/node-esm/{ChatContainer-EZZF7RSQ.mjs.map → ChatContainer-LMMMQD4K.mjs.map} +0 -0
  40. /package/dist/lib/node-esm/{ChatDialog-PTQLZNJU.mjs.map → ChatDialog-UUE3F7BT.mjs.map} +0 -0
  41. /package/dist/lib/node-esm/{chunk-ZIDP7HBI.mjs.map → chunk-V44ZG7CU.mjs.map} +0 -0
  42. /package/dist/lib/node-esm/{chunk-VH3LTD76.mjs.map → chunk-YU62ZWJN.mjs.map} +0 -0
  43. /package/dist/lib/node-esm/{react-surface-GP3LU6DX.mjs.map → react-surface-5WQLRTCH.mjs.map} +0 -0
@@ -7,10 +7,10 @@ import {
7
7
  ChatDialog,
8
8
  PromptSettings,
9
9
  SequenceContainer
10
- } from "./chunk-VH3LTD76.mjs";
10
+ } from "./chunk-YU62ZWJN.mjs";
11
11
  import "./chunk-LVTG5JTW.mjs";
12
12
  import "./chunk-4WLFSXZG.mjs";
13
- import "./chunk-ZIDP7HBI.mjs";
13
+ import "./chunk-V44ZG7CU.mjs";
14
14
  import "./chunk-QG2KT3AT.mjs";
15
15
  import {
16
16
  Assistant_exports
@@ -107,4 +107,4 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
107
107
  export {
108
108
  react_surface_default as default
109
109
  };
110
- //# sourceMappingURL=react-surface-GP3LU6DX.mjs.map
110
+ //# sourceMappingURL=react-surface-5WQLRTCH.mjs.map
@@ -6,7 +6,7 @@ import { AiTool, AiToolkit } from "@effect/ai";
6
6
  import { Effect, Schema } from "effect";
7
7
  import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
8
8
  import { AiContextService, ArtifactId } from "@dxos/assistant";
9
- import { Filter, Obj, Ref, Type } from "@dxos/echo";
9
+ import { Filter, Obj, Ref, SchemaNotFoundError, Type } from "@dxos/echo";
10
10
  import { DatabaseService } from "@dxos/functions";
11
11
  import { invariant } from "@dxos/invariant";
12
12
  import { ClientCapabilities } from "@dxos/plugin-client";
@@ -170,7 +170,7 @@ _define_property(Toolkit, "layer", (context) => Toolkit.toLayer({
170
170
  schemas.push(...objects.map((object2) => Type.toEffectSchema(object2.jsonSchema)));
171
171
  const schema = schemas.find((schema2) => Type.getTypename(schema2) === typename);
172
172
  if (!schema) {
173
- throw new Error(`Schema not found for ${typename}`);
173
+ throw new SchemaNotFoundError(typename);
174
174
  }
175
175
  const object = Obj.make(schema, data);
176
176
  yield* dispatch(createIntent(SpaceAction.AddObject, {
@@ -189,4 +189,4 @@ var toolkit_default = (context) => [
189
189
  export {
190
190
  toolkit_default as default
191
191
  };
192
- //# sourceMappingURL=toolkit-2F2OL6WB.mjs.map
192
+ //# sourceMappingURL=toolkit-PKVYDZ4H.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/toolkit.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { AiTool, AiToolkit } from '@effect/ai';\nimport { Effect, Schema } from 'effect';\n\nimport { Capabilities, type Capability, type PluginContext, contributes, createIntent } from '@dxos/app-framework';\nimport { AiContextService, ArtifactId } from '@dxos/assistant';\nimport { Filter, Obj, Ref, SchemaNotFoundError, Type } from '@dxos/echo';\nimport { DatabaseService } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { SpaceCapabilities, getActiveSpace } from '@dxos/plugin-space';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { DataType } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\n// TODO(burdon): Reconcile with functions (currently reuses plugin framework intents).\nclass Toolkit extends AiToolkit.make(\n AiTool.make('add-to-context', {\n description: trim`\n Adds the object to the chat context.\n `,\n parameters: {\n id: ArtifactId.annotations({\n description: 'The ID of the document to read.',\n }),\n },\n success: Schema.Void,\n failure: Schema.Never,\n }).addRequirement<AiContextService | DatabaseService>(), // TODO(burdon): Define standard contract.\n\n AiTool.make('get-schemas', {\n description: trim`\n Retrieves schemas definitions.\n `,\n parameters: {\n // TODO(wittjosiah): Remove this once parameter-less tools are fixed.\n limit: Schema.Number,\n },\n // TODO(dmaretskyi): Effect returns ({ result, encodedResult })\n success: Schema.Any,\n failure: Schema.Never,\n }),\n\n AiTool.make('add-schema', {\n description: trim`\n Adds a schema to the space.\n The name will be used when displayed to the user.\n The typename must be in the format of \"example.com/type/Type\".\n `,\n parameters: {\n name: Schema.String,\n typename: Schema.String,\n jsonSchema: Schema.Any,\n },\n success: Schema.Any,\n failure: Schema.Never,\n }),\n\n AiTool.make('create-record', {\n description: trim`\n Creates a new record and adds it to the current space.\n Get the schema from the get-schemas tool and ensure that the data matches the corresponding schema.\n Note that only record schemas are supported.\n `,\n parameters: {\n typename: Schema.String,\n data: Schema.Any,\n },\n success: Schema.Any,\n failure: Schema.Never,\n }),\n) {\n static layer = (context: PluginContext) =>\n Toolkit.toLayer({\n 'add-to-context': Effect.fnUntraced(function* ({ id }) {\n const { binder } = yield* AiContextService;\n const { db } = yield* DatabaseService;\n const ref = Ref.fromDXN(ArtifactId.toDXN(id, db.spaceId));\n yield* Effect.promise(() =>\n binder.bind({\n blueprints: [],\n objects: [ref],\n }),\n );\n }),\n\n 'get-schemas': () => {\n const space = getActiveSpace(context);\n invariant(space, 'No active space');\n\n return Effect.gen(function* () {\n const whitelist = context\n .getCapabilities(ClientCapabilities.SchemaWhiteList)\n .flat()\n .map((schema) => ({\n typename: Type.getTypename(schema),\n jsonSchema: Type.toJsonSchema(schema),\n kind: 'record',\n }));\n\n // TODO(burdon): Why ObjectForm (bad name for data capability; UI term)?\n const forms = context.getCapabilities(SpaceCapabilities.ObjectForm).map((form) => ({\n typename: Type.getTypename(form.objectSchema),\n jsonSchema: Type.toJsonSchema(form.objectSchema),\n kind: 'item',\n }));\n\n const schemas = [...whitelist, ...forms];\n if (space) {\n const { objects } = yield* DatabaseService.runQuery(Filter.type(DataType.StoredSchema));\n schemas.push(\n ...objects.map((object) => ({\n typename: object.typename,\n jsonSchema: object.jsonSchema,\n kind: 'record',\n })),\n );\n }\n\n return schemas;\n }).pipe(Effect.provide(DatabaseService.layer(space.db)));\n },\n\n 'add-schema': ({ name, typename, jsonSchema }) => {\n return Effect.gen(function* () {\n const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const space = getActiveSpace(context);\n invariant(space, 'No active space');\n\n const schema = Type.toEffectSchema(jsonSchema).pipe(Type.Obj({ typename, version: '0.1.0' }));\n yield* dispatch(createIntent(SpaceAction.AddSchema, { space, name, typename, schema }));\n }).pipe(Effect.orDie);\n },\n\n 'create-record': ({ typename, data }) => {\n const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const space = getActiveSpace(context);\n invariant(space, 'No active space');\n\n return Effect.gen(function* () {\n const schemas = context.getCapabilities(ClientCapabilities.SchemaWhiteList).flat();\n const { objects } = yield* DatabaseService.runQuery(Filter.type(DataType.StoredSchema));\n schemas.push(...objects.map((object) => Type.toEffectSchema(object.jsonSchema)));\n const schema = schemas.find((schema) => Type.getTypename(schema) === typename);\n if (!schema) {\n throw new SchemaNotFoundError(typename);\n }\n\n const object = Obj.make(schema, data);\n yield* dispatch(createIntent(SpaceAction.AddObject, { object, target: space, hidden: true }));\n return object;\n }).pipe(Effect.provide(DatabaseService.layer(space.db)), Effect.orDie);\n },\n });\n}\n\nexport default (context: PluginContext): Capability<any>[] => [\n contributes(Capabilities.Toolkit, Toolkit),\n contributes(Capabilities.ToolkitHandler, Toolkit.layer(context)),\n];\n"],
5
+ "mappings": "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",
6
+ "names": ["AiTool", "AiToolkit", "Effect", "Schema", "Capabilities", "contributes", "createIntent", "AiContextService", "ArtifactId", "Filter", "Obj", "Ref", "SchemaNotFoundError", "Type", "DatabaseService", "invariant", "ClientCapabilities", "SpaceCapabilities", "getActiveSpace", "SpaceAction", "DataType", "trim", "Toolkit", "make", "description", "parameters", "id", "annotations", "success", "Void", "failure", "Never", "addRequirement", "limit", "Number", "Any", "name", "String", "typename", "jsonSchema", "data", "layer", "context", "toLayer", "fnUntraced", "binder", "db", "ref", "fromDXN", "toDXN", "spaceId", "promise", "bind", "blueprints", "objects", "space", "gen", "whitelist", "getCapabilities", "SchemaWhiteList", "flat", "map", "schema", "getTypename", "toJsonSchema", "kind", "forms", "ObjectForm", "form", "objectSchema", "schemas", "runQuery", "type", "StoredSchema", "push", "object", "pipe", "provide", "dispatch", "getCapability", "IntentDispatcher", "toEffectSchema", "version", "AddSchema", "orDie", "find", "AddObject", "target", "hidden", "ToolkitHandler"]
7
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantPlugin.d.ts","sourceRoot":"","sources":["../../../src/AssistantPlugin.tsx"],"names":[],"mappings":"AA+BA,eAAO,MAAM,eAAe,4CAwIxB,CAAC"}
1
+ {"version":3,"file":"AssistantPlugin.d.ts","sourceRoot":"","sources":["../../../src/AssistantPlugin.tsx"],"names":[],"mappings":"AA+BA,eAAO,MAAM,eAAe,4CAyIxB,CAAC"}