@dxos/assistant 0.8.3-main.672df60 → 0.8.3-staging.0fa589b

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/index.mjs +149 -60
  2. package/dist/lib/browser/index.mjs.map +3 -3
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/node/index.cjs +155 -65
  5. package/dist/lib/node/index.cjs.map +3 -3
  6. package/dist/lib/node/meta.json +1 -1
  7. package/dist/lib/node-esm/index.mjs +149 -60
  8. package/dist/lib/node-esm/index.mjs.map +3 -3
  9. package/dist/lib/node-esm/meta.json +1 -1
  10. package/dist/types/src/blueprint/ai.test.d.ts +2 -0
  11. package/dist/types/src/blueprint/ai.test.d.ts.map +1 -0
  12. package/dist/types/src/blueprint/blueprint.d.ts +16 -12
  13. package/dist/types/src/blueprint/blueprint.d.ts.map +1 -1
  14. package/dist/types/src/blueprint/logger.d.ts +16 -3
  15. package/dist/types/src/blueprint/logger.d.ts.map +1 -1
  16. package/dist/types/src/blueprint/machine.d.ts +37 -16
  17. package/dist/types/src/blueprint/machine.d.ts.map +1 -1
  18. package/dist/types/src/extraction/extraction-llm-function/extraction-llm-function.d.ts.map +1 -1
  19. package/dist/types/src/extraction/extraction-ner-function/extraction-ner-function.d.ts +31 -33
  20. package/dist/types/src/extraction/extraction-ner-function/extraction-ner-function.d.ts.map +1 -1
  21. package/dist/types/src/extraction/extraction.d.ts +104 -100
  22. package/dist/types/src/extraction/extraction.d.ts.map +1 -1
  23. package/dist/types/src/extraction/quotes.d.ts.map +1 -1
  24. package/dist/types/src/research/graph.d.ts +5 -4
  25. package/dist/types/src/research/graph.d.ts.map +1 -1
  26. package/dist/types/src/session/session.d.ts +6 -6
  27. package/dist/types/src/session/session.d.ts.map +1 -1
  28. package/package.json +29 -20
  29. package/src/blueprint/ai.test.ts +156 -0
  30. package/src/blueprint/blueprint.test.ts +22 -20
  31. package/src/blueprint/blueprint.ts +18 -14
  32. package/src/blueprint/logger.ts +49 -3
  33. package/src/blueprint/machine.ts +69 -32
  34. package/src/blueprint/test-data.ts +4 -4
  35. package/src/extraction/extraction-llm-function/extraction-llm-function.test.ts +2 -2
  36. package/src/extraction/extraction-llm-function/extraction-llm-function.ts +2 -1
  37. package/src/extraction/quotes.ts +2 -1
  38. package/src/research/graph.ts +7 -9
  39. package/src/research/research.test.ts +9 -8
  40. package/src/research/research.ts +2 -2
  41. package/src/session/session.test.ts +10 -10
  42. package/src/session/session.ts +4 -3
  43. package/src/summarization/summarization.test.ts +17 -12
@@ -1 +1 @@
1
- {"inputs":{"packages/core/assistant/src/extraction/extraction.ts":{"bytes":6835,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"raw-loader:./instructions.tpl?raw":{"bytes":1318,"imports":[]},"packages/core/assistant/src/session/version-pin.ts":{"bytes":4222,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"format":"esm"},"packages/core/assistant/src/session/session.ts":{"bytes":59353,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/core/assistant/src/session/version-pin.ts","kind":"import-statement","original":"./version-pin"}],"format":"esm"},"packages/core/assistant/src/session/index.ts":{"bytes":569,"imports":[{"path":"packages/core/assistant/src/session/session.ts","kind":"import-statement","original":"./session"},{"path":"packages/core/assistant/src/session/version-pin.ts","kind":"import-statement","original":"./version-pin"}],"format":"esm"},"packages/core/assistant/src/extraction/quotes.ts":{"bytes":7034,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/assistant/src/extraction/extraction-llm-function/extraction-llm-function.ts":{"bytes":7661,"imports":[{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"raw-loader:./instructions.tpl?raw","kind":"import-statement","original":"./instructions.tpl?raw"},{"path":"packages/core/assistant/src/session/index.ts","kind":"import-statement","original":"../../session"},{"path":"packages/core/assistant/src/extraction/extraction.ts","kind":"import-statement","original":"../extraction"},{"path":"packages/core/assistant/src/extraction/quotes.ts","kind":"import-statement","original":"../quotes"}],"format":"esm"},"packages/core/assistant/src/extraction/extraction-llm-function/index.ts":{"bytes":537,"imports":[{"path":"packages/core/assistant/src/extraction/extraction-llm-function/extraction-llm-function.ts","kind":"import-statement","original":"./extraction-llm-function"}],"format":"esm"},"packages/core/assistant/src/extraction/extraction-ner-function/named-entity-recognition.ts":{"bytes":10072,"imports":[{"path":"@xenova/transformers","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/assistant/src/extraction/extraction-ner-function/extraction-ner-function.ts":{"bytes":8910,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/core/assistant/src/extraction/extraction-ner-function/named-entity-recognition.ts","kind":"import-statement","original":"./named-entity-recognition"},{"path":"packages/core/assistant/src/extraction/extraction.ts","kind":"import-statement","original":"../extraction"},{"path":"packages/core/assistant/src/extraction/quotes.ts","kind":"import-statement","original":"../quotes"}],"format":"esm"},"packages/core/assistant/src/extraction/extraction-ner-function/index.ts":{"bytes":665,"imports":[{"path":"packages/core/assistant/src/extraction/extraction-ner-function/extraction-ner-function.ts","kind":"import-statement","original":"./extraction-ner-function"},{"path":"packages/core/assistant/src/extraction/extraction-ner-function/named-entity-recognition.ts","kind":"import-statement","original":"./named-entity-recognition"}],"format":"esm"},"packages/core/assistant/src/extraction/index.ts":{"bytes":816,"imports":[{"path":"packages/core/assistant/src/extraction/extraction.ts","kind":"import-statement","original":"./extraction"},{"path":"packages/core/assistant/src/extraction/extraction-llm-function/index.ts","kind":"import-statement","original":"./extraction-llm-function"},{"path":"packages/core/assistant/src/extraction/extraction-ner-function/index.ts","kind":"import-statement","original":"./extraction-ner-function"},{"path":"packages/core/assistant/src/extraction/quotes.ts","kind":"import-statement","original":"./quotes"}],"format":"esm"},"packages/core/assistant/src/testing/exa-search-1748337321991.ts":{"bytes":75521,"imports":[],"format":"esm"},"packages/core/assistant/src/testing/exa-search-1748337331526.ts":{"bytes":90591,"imports":[],"format":"esm"},"packages/core/assistant/src/testing/exa-search-1748337344119.ts":{"bytes":69963,"imports":[],"format":"esm"},"packages/core/assistant/src/testing/index.ts":{"bytes":1218,"imports":[{"path":"packages/core/assistant/src/testing/exa-search-1748337321991.ts","kind":"import-statement","original":"./exa-search-1748337321991"},{"path":"packages/core/assistant/src/testing/exa-search-1748337331526.ts","kind":"import-statement","original":"./exa-search-1748337331526"},{"path":"packages/core/assistant/src/testing/exa-search-1748337344119.ts","kind":"import-statement","original":"./exa-search-1748337344119"}],"format":"esm"},"packages/core/assistant/src/research/exa.ts":{"bytes":10703,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"exa-js","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/core/assistant/src/testing/index.ts","kind":"import-statement","original":"../testing"}],"format":"esm"},"packages/core/assistant/src/research/graph.ts":{"bytes":34629,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/echo-protocol","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"raw-loader:./instructions-research.tpl?raw":{"bytes":5065,"imports":[]},"packages/core/assistant/src/research/research.ts":{"bytes":12349,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/core/assistant/src/research/exa.ts","kind":"import-statement","original":"./exa"},{"path":"packages/core/assistant/src/research/graph.ts","kind":"import-statement","original":"./graph"},{"path":"raw-loader:./instructions-research.tpl?raw","kind":"import-statement","original":"./instructions-research.tpl?raw"},{"path":"packages/core/assistant/src/session/index.ts","kind":"import-statement","original":"../session"}],"format":"esm"},"packages/core/assistant/src/research/index.ts":{"bytes":632,"imports":[{"path":"packages/core/assistant/src/research/exa.ts","kind":"import-statement","original":"./exa"},{"path":"packages/core/assistant/src/research/research.ts","kind":"import-statement","original":"./research"},{"path":"packages/core/assistant/src/research/graph.ts","kind":"import-statement","original":"./graph"}],"format":"esm"},"packages/core/assistant/src/types.ts":{"bytes":858,"imports":[],"format":"esm"},"packages/core/assistant/src/blueprint/blueprint.ts":{"bytes":6353,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true}],"format":"esm"},"packages/core/assistant/src/blueprint/machine.ts":{"bytes":22240,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/assistant/src/session/index.ts","kind":"import-statement","original":"../session"}],"format":"esm"},"packages/core/assistant/src/blueprint/logger.ts":{"bytes":11635,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"chalk","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true}],"format":"esm"},"packages/core/assistant/src/blueprint/index.ts":{"bytes":647,"imports":[{"path":"packages/core/assistant/src/blueprint/blueprint.ts","kind":"import-statement","original":"./blueprint"},{"path":"packages/core/assistant/src/blueprint/machine.ts","kind":"import-statement","original":"./machine"},{"path":"packages/core/assistant/src/blueprint/logger.ts","kind":"import-statement","original":"./logger"}],"format":"esm"},"packages/core/assistant/src/index.ts":{"bytes":814,"imports":[{"path":"packages/core/assistant/src/extraction/index.ts","kind":"import-statement","original":"./extraction"},{"path":"packages/core/assistant/src/research/index.ts","kind":"import-statement","original":"./research"},{"path":"packages/core/assistant/src/session/index.ts","kind":"import-statement","original":"./session"},{"path":"packages/core/assistant/src/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/core/assistant/src/blueprint/index.ts","kind":"import-statement","original":"./blueprint"}],"format":"esm"}},"outputs":{"packages/core/assistant/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":211308},"packages/core/assistant/dist/lib/node/index.cjs":{"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@xenova/transformers","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"exa-js","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/echo-protocol","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"chalk","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true}],"exports":["AIServiecOverloadedError","AISession","Blueprint","BlueprintBuilder","BlueprintMachine","BlueprintParser","BlueprintSchema","BlueprintStepSchema","ExtractionInput","ExtractionOutput","Logger","ReferencedQuotes","Subgraph","VersionPin","combineNerTokens","createArtifactElement","createExaTool","createExtractionSchema","createGraphWriterTool","createLocalSearchTool","createMockExaTool","createTokenGroups","extractFullEntities","extractionAnthropicFn","extractionNerFn","findQuotes","findRelatedSchema","getNer","getSanitizedSchemaName","insertReferences","processTranscriptMessage","researchFn","sanitizeObjects","setConsolePrinter","setLogger"],"entryPoint":"packages/core/assistant/src/index.ts","inputs":{"packages/core/assistant/src/extraction/extraction.ts":{"bytesInOutput":1383},"packages/core/assistant/src/extraction/index.ts":{"bytesInOutput":0},"packages/core/assistant/src/extraction/extraction-llm-function/extraction-llm-function.ts":{"bytesInOutput":1649},"raw-loader:./instructions.tpl?raw":{"bytesInOutput":1376},"packages/core/assistant/src/session/session.ts":{"bytesInOutput":15770},"packages/core/assistant/src/session/version-pin.ts":{"bytesInOutput":758},"packages/core/assistant/src/session/index.ts":{"bytesInOutput":0},"packages/core/assistant/src/extraction/quotes.ts":{"bytesInOutput":1671},"packages/core/assistant/src/extraction/extraction-llm-function/index.ts":{"bytesInOutput":0},"packages/core/assistant/src/extraction/extraction-ner-function/extraction-ner-function.ts":{"bytesInOutput":2653},"packages/core/assistant/src/extraction/extraction-ner-function/named-entity-recognition.ts":{"bytesInOutput":2289},"packages/core/assistant/src/extraction/extraction-ner-function/index.ts":{"bytesInOutput":0},"packages/core/assistant/src/index.ts":{"bytesInOutput":0},"packages/core/assistant/src/research/exa.ts":{"bytesInOutput":2550},"packages/core/assistant/src/testing/exa-search-1748337321991.ts":{"bytesInOutput":31265},"packages/core/assistant/src/testing/exa-search-1748337331526.ts":{"bytesInOutput":43952},"packages/core/assistant/src/testing/exa-search-1748337344119.ts":{"bytesInOutput":28760},"packages/core/assistant/src/testing/index.ts":{"bytesInOutput":133},"packages/core/assistant/src/research/index.ts":{"bytesInOutput":0},"packages/core/assistant/src/research/research.ts":{"bytesInOutput":2915},"packages/core/assistant/src/research/graph.ts":{"bytesInOutput":8232},"raw-loader:./instructions-research.tpl?raw":{"bytesInOutput":5201},"packages/core/assistant/src/types.ts":{"bytesInOutput":61},"packages/core/assistant/src/blueprint/blueprint.ts":{"bytesInOutput":1489},"packages/core/assistant/src/blueprint/index.ts":{"bytesInOutput":0},"packages/core/assistant/src/blueprint/machine.ts":{"bytesInOutput":5581},"packages/core/assistant/src/blueprint/logger.ts":{"bytesInOutput":2551}},"bytes":162496}}}
1
+ {"inputs":{"packages/core/assistant/src/extraction/extraction.ts":{"bytes":6835,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"raw-loader:./instructions.tpl?raw":{"bytes":1318,"imports":[]},"packages/core/assistant/src/session/version-pin.ts":{"bytes":4222,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"format":"esm"},"packages/core/assistant/src/session/session.ts":{"bytes":59501,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/core/assistant/src/session/version-pin.ts","kind":"import-statement","original":"./version-pin"}],"format":"esm"},"packages/core/assistant/src/session/index.ts":{"bytes":569,"imports":[{"path":"packages/core/assistant/src/session/session.ts","kind":"import-statement","original":"./session"},{"path":"packages/core/assistant/src/session/version-pin.ts","kind":"import-statement","original":"./version-pin"}],"format":"esm"},"packages/core/assistant/src/extraction/quotes.ts":{"bytes":7123,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/assistant/src/extraction/extraction-llm-function/extraction-llm-function.ts":{"bytes":7821,"imports":[{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"raw-loader:./instructions.tpl?raw","kind":"import-statement","original":"./instructions.tpl?raw"},{"path":"packages/core/assistant/src/session/index.ts","kind":"import-statement","original":"../../session"},{"path":"packages/core/assistant/src/extraction/extraction.ts","kind":"import-statement","original":"../extraction"},{"path":"packages/core/assistant/src/extraction/quotes.ts","kind":"import-statement","original":"../quotes"}],"format":"esm"},"packages/core/assistant/src/extraction/extraction-llm-function/index.ts":{"bytes":537,"imports":[{"path":"packages/core/assistant/src/extraction/extraction-llm-function/extraction-llm-function.ts","kind":"import-statement","original":"./extraction-llm-function"}],"format":"esm"},"packages/core/assistant/src/extraction/extraction-ner-function/named-entity-recognition.ts":{"bytes":10072,"imports":[{"path":"@xenova/transformers","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/assistant/src/extraction/extraction-ner-function/extraction-ner-function.ts":{"bytes":8910,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/core/assistant/src/extraction/extraction-ner-function/named-entity-recognition.ts","kind":"import-statement","original":"./named-entity-recognition"},{"path":"packages/core/assistant/src/extraction/extraction.ts","kind":"import-statement","original":"../extraction"},{"path":"packages/core/assistant/src/extraction/quotes.ts","kind":"import-statement","original":"../quotes"}],"format":"esm"},"packages/core/assistant/src/extraction/extraction-ner-function/index.ts":{"bytes":665,"imports":[{"path":"packages/core/assistant/src/extraction/extraction-ner-function/extraction-ner-function.ts","kind":"import-statement","original":"./extraction-ner-function"},{"path":"packages/core/assistant/src/extraction/extraction-ner-function/named-entity-recognition.ts","kind":"import-statement","original":"./named-entity-recognition"}],"format":"esm"},"packages/core/assistant/src/extraction/index.ts":{"bytes":816,"imports":[{"path":"packages/core/assistant/src/extraction/extraction.ts","kind":"import-statement","original":"./extraction"},{"path":"packages/core/assistant/src/extraction/extraction-llm-function/index.ts","kind":"import-statement","original":"./extraction-llm-function"},{"path":"packages/core/assistant/src/extraction/extraction-ner-function/index.ts","kind":"import-statement","original":"./extraction-ner-function"},{"path":"packages/core/assistant/src/extraction/quotes.ts","kind":"import-statement","original":"./quotes"}],"format":"esm"},"packages/core/assistant/src/testing/exa-search-1748337321991.ts":{"bytes":75521,"imports":[],"format":"esm"},"packages/core/assistant/src/testing/exa-search-1748337331526.ts":{"bytes":90591,"imports":[],"format":"esm"},"packages/core/assistant/src/testing/exa-search-1748337344119.ts":{"bytes":69963,"imports":[],"format":"esm"},"packages/core/assistant/src/testing/index.ts":{"bytes":1218,"imports":[{"path":"packages/core/assistant/src/testing/exa-search-1748337321991.ts","kind":"import-statement","original":"./exa-search-1748337321991"},{"path":"packages/core/assistant/src/testing/exa-search-1748337331526.ts","kind":"import-statement","original":"./exa-search-1748337331526"},{"path":"packages/core/assistant/src/testing/exa-search-1748337344119.ts","kind":"import-statement","original":"./exa-search-1748337344119"}],"format":"esm"},"packages/core/assistant/src/research/exa.ts":{"bytes":10703,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"exa-js","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/core/assistant/src/testing/index.ts","kind":"import-statement","original":"../testing"}],"format":"esm"},"packages/core/assistant/src/research/graph.ts":{"bytes":34603,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-protocol","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"raw-loader:./instructions-research.tpl?raw":{"bytes":5065,"imports":[]},"packages/core/assistant/src/research/research.ts":{"bytes":12315,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/core/assistant/src/research/exa.ts","kind":"import-statement","original":"./exa"},{"path":"packages/core/assistant/src/research/graph.ts","kind":"import-statement","original":"./graph"},{"path":"raw-loader:./instructions-research.tpl?raw","kind":"import-statement","original":"./instructions-research.tpl?raw"},{"path":"packages/core/assistant/src/session/index.ts","kind":"import-statement","original":"../session"}],"format":"esm"},"packages/core/assistant/src/research/index.ts":{"bytes":632,"imports":[{"path":"packages/core/assistant/src/research/exa.ts","kind":"import-statement","original":"./exa"},{"path":"packages/core/assistant/src/research/research.ts","kind":"import-statement","original":"./research"},{"path":"packages/core/assistant/src/research/graph.ts","kind":"import-statement","original":"./graph"}],"format":"esm"},"packages/core/assistant/src/types.ts":{"bytes":858,"imports":[],"format":"esm"},"packages/core/assistant/src/blueprint/blueprint.ts":{"bytes":6426,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true}],"format":"esm"},"packages/core/assistant/src/blueprint/machine.ts":{"bytes":25722,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/assistant/src/session/index.ts","kind":"import-statement","original":"../session"}],"format":"esm"},"packages/core/assistant/src/blueprint/logger.ts":{"bytes":16321,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"chalk","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/assistant/src/blueprint/index.ts":{"bytes":647,"imports":[{"path":"packages/core/assistant/src/blueprint/blueprint.ts","kind":"import-statement","original":"./blueprint"},{"path":"packages/core/assistant/src/blueprint/machine.ts","kind":"import-statement","original":"./machine"},{"path":"packages/core/assistant/src/blueprint/logger.ts","kind":"import-statement","original":"./logger"}],"format":"esm"},"packages/core/assistant/src/index.ts":{"bytes":814,"imports":[{"path":"packages/core/assistant/src/extraction/index.ts","kind":"import-statement","original":"./extraction"},{"path":"packages/core/assistant/src/research/index.ts","kind":"import-statement","original":"./research"},{"path":"packages/core/assistant/src/session/index.ts","kind":"import-statement","original":"./session"},{"path":"packages/core/assistant/src/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/core/assistant/src/blueprint/index.ts","kind":"import-statement","original":"./blueprint"}],"format":"esm"}},"outputs":{"packages/core/assistant/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":215521},"packages/core/assistant/dist/lib/node/index.cjs":{"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@xenova/transformers","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"exa-js","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-protocol","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"chalk","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["AIServiecOverloadedError","AISession","Blueprint","BlueprintBuilder","BlueprintDefinition","BlueprintLoggerAdapter","BlueprintMachine","BlueprintParser","BlueprintStep","BufferedLogger","ExtractionInput","ExtractionOutput","ReferencedQuotes","Subgraph","VersionPin","combineNerTokens","createArtifactElement","createExaTool","createExtractionSchema","createGraphWriterTool","createLocalSearchTool","createMockExaTool","createTokenGroups","extractFullEntities","extractionAnthropicFn","extractionNerFn","findQuotes","findRelatedSchema","getNer","getSanitizedSchemaName","insertReferences","processTranscriptMessage","researchFn","sanitizeObjects","setConsolePrinter","setLogger"],"entryPoint":"packages/core/assistant/src/index.ts","inputs":{"packages/core/assistant/src/extraction/extraction.ts":{"bytesInOutput":1383},"packages/core/assistant/src/extraction/index.ts":{"bytesInOutput":0},"packages/core/assistant/src/extraction/extraction-llm-function/extraction-llm-function.ts":{"bytesInOutput":1693},"raw-loader:./instructions.tpl?raw":{"bytesInOutput":1376},"packages/core/assistant/src/session/session.ts":{"bytesInOutput":15806},"packages/core/assistant/src/session/version-pin.ts":{"bytesInOutput":758},"packages/core/assistant/src/session/index.ts":{"bytesInOutput":0},"packages/core/assistant/src/extraction/quotes.ts":{"bytesInOutput":1700},"packages/core/assistant/src/extraction/extraction-llm-function/index.ts":{"bytesInOutput":0},"packages/core/assistant/src/extraction/extraction-ner-function/extraction-ner-function.ts":{"bytesInOutput":2653},"packages/core/assistant/src/extraction/extraction-ner-function/named-entity-recognition.ts":{"bytesInOutput":2289},"packages/core/assistant/src/extraction/extraction-ner-function/index.ts":{"bytesInOutput":0},"packages/core/assistant/src/index.ts":{"bytesInOutput":0},"packages/core/assistant/src/research/exa.ts":{"bytesInOutput":2550},"packages/core/assistant/src/testing/exa-search-1748337321991.ts":{"bytesInOutput":31265},"packages/core/assistant/src/testing/exa-search-1748337331526.ts":{"bytesInOutput":43952},"packages/core/assistant/src/testing/exa-search-1748337344119.ts":{"bytesInOutput":28760},"packages/core/assistant/src/testing/index.ts":{"bytesInOutput":133},"packages/core/assistant/src/research/index.ts":{"bytesInOutput":0},"packages/core/assistant/src/research/research.ts":{"bytesInOutput":2910},"packages/core/assistant/src/research/graph.ts":{"bytesInOutput":8246},"raw-loader:./instructions-research.tpl?raw":{"bytesInOutput":5201},"packages/core/assistant/src/types.ts":{"bytesInOutput":61},"packages/core/assistant/src/blueprint/blueprint.ts":{"bytesInOutput":1461},"packages/core/assistant/src/blueprint/index.ts":{"bytesInOutput":0},"packages/core/assistant/src/blueprint/machine.ts":{"bytesInOutput":6264},"packages/core/assistant/src/blueprint/logger.ts":{"bytesInOutput":3703}},"bytes":164453}}}
@@ -48,6 +48,7 @@ var processTranscriptMessage = async (params) => {
48
48
 
49
49
  // packages/core/assistant/src/extraction/extraction-llm-function/extraction-llm-function.ts
50
50
  import { Message as Message2 } from "@dxos/ai";
51
+ import { Obj as Obj2 } from "@dxos/echo";
51
52
  import { create as create2 } from "@dxos/echo-schema";
52
53
  import { AiService, defineFunction } from "@dxos/functions";
53
54
  import { DataType as DataType2 } from "@dxos/schema";
@@ -59,6 +60,7 @@ var instructions_default = 'You are an AI assistant specialized in processing an
59
60
  import { Option, Schema as Schema3 } from "effect";
60
61
  import { AgentStatusReport, isToolUse, runTools, structuredOutputParser, Message, MixedStreamParser, ToolResult, createTool } from "@dxos/ai";
61
62
  import { Event, synchronized } from "@dxos/async";
63
+ import { Obj } from "@dxos/echo";
62
64
  import { ObjectVersion } from "@dxos/echo-db";
63
65
  import { create } from "@dxos/echo-schema";
64
66
  import { invariant } from "@dxos/invariant";
@@ -168,7 +170,7 @@ var AISession = class _AISession {
168
170
  tools: tools.map((tool) => tool.name)
169
171
  }, {
170
172
  F: __dxlog_file2,
171
- L: 200,
173
+ L: 201,
172
174
  S: this,
173
175
  C: (f, a) => f(...a)
174
176
  });
@@ -191,7 +193,7 @@ var AISession = class _AISession {
191
193
  pending: this._pending
192
194
  }, {
193
195
  F: __dxlog_file2,
194
- L: 225,
196
+ L: 226,
195
197
  S: this,
196
198
  C: (f, a) => f(...a)
197
199
  });
@@ -199,7 +201,7 @@ var AISession = class _AISession {
199
201
  const message = this._pending.at(-1);
200
202
  invariant(message, void 0, {
201
203
  F: __dxlog_file2,
202
- L: 230,
204
+ L: 231,
203
205
  S: this,
204
206
  A: [
205
207
  "message",
@@ -209,7 +211,7 @@ var AISession = class _AISession {
209
211
  if (isToolUse(message)) {
210
212
  log2("tool request...", void 0, {
211
213
  F: __dxlog_file2,
212
- L: 232,
214
+ L: 233,
213
215
  S: this,
214
216
  C: (f, a) => f(...a)
215
217
  });
@@ -223,7 +225,7 @@ var AISession = class _AISession {
223
225
  response
224
226
  }, {
225
227
  F: __dxlog_file2,
226
- L: 240,
228
+ L: 241,
227
229
  S: this,
228
230
  C: (f, a) => f(...a)
229
231
  });
@@ -243,7 +245,7 @@ var AISession = class _AISession {
243
245
  } catch (err) {
244
246
  log2.catch(err, void 0, {
245
247
  F: __dxlog_file2,
246
- L: 252,
248
+ L: 253,
247
249
  S: this,
248
250
  C: (f, a) => f(...a)
249
251
  });
@@ -288,7 +290,7 @@ var AISession = class _AISession {
288
290
  versions
289
291
  }, {
290
292
  F: __dxlog_file2,
291
- L: 295,
293
+ L: 296,
292
294
  S: this,
293
295
  C: (f, a) => f(...a)
294
296
  });
@@ -308,7 +310,7 @@ var AISession = class _AISession {
308
310
  prelude.push(createArtifactUpdateBlock(artifactDiff));
309
311
  }
310
312
  }
311
- return create(Message, {
313
+ return Obj.make(Message, {
312
314
  role: "user",
313
315
  content: [
314
316
  ...prelude,
@@ -400,7 +402,7 @@ var AISession = class _AISession {
400
402
  action: step.action
401
403
  }, {
402
404
  F: __dxlog_file2,
403
- L: 402,
405
+ L: 403,
404
406
  S: this,
405
407
  C: (f, a) => f(...a)
406
408
  });
@@ -526,7 +528,8 @@ ${diff}` : ""}</changed-artifact>`).join("\n")}
526
528
 
527
529
  // packages/core/assistant/src/extraction/quotes.ts
528
530
  import { Schema as Schema4 } from "effect";
529
- import { Filter, ObjectId as ObjectId2, Query } from "@dxos/echo-schema";
531
+ import { Query, Filter } from "@dxos/echo";
532
+ import { ObjectId as ObjectId2 } from "@dxos/echo-schema";
530
533
  import { DXN } from "@dxos/keys";
531
534
  import { log as log3 } from "@dxos/log";
532
535
  var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/core/assistant/src/extraction/quotes.ts";
@@ -552,7 +555,7 @@ var findQuotes = async (quotes, db) => {
552
555
  quote
553
556
  }, {
554
557
  F: __dxlog_file3,
555
- L: 34,
558
+ L: 35,
556
559
  S: void 0,
557
560
  C: (f, a) => f(...a)
558
561
  });
@@ -596,7 +599,7 @@ var extractionAnthropicFn = defineFunction({
596
599
  client: ai.client,
597
600
  systemPrompt: instructions_default,
598
601
  history: [
599
- create2(Message2, {
602
+ Obj2.make(Message2, {
600
603
  role: "user",
601
604
  content: [
602
605
  {
@@ -1395,8 +1398,9 @@ import { DataTypes } from "@dxos/schema";
1395
1398
  // packages/core/assistant/src/research/graph.ts
1396
1399
  import { Schema as Schema6, identity, Option as Option2, SchemaAST } from "effect";
1397
1400
  import { createTool as createTool3, ToolResult as ToolResult3 } from "@dxos/ai";
1401
+ import { Query as Query2, Filter as Filter2 } from "@dxos/echo";
1398
1402
  import { isEncodedReference } from "@dxos/echo-protocol";
1399
- import { EntityKind, getSchemaTypename, getTypeAnnotation, getTypeIdentifierAnnotation, create as create4, Filter as Filter2, getEntityKind, getSchemaDXN, ObjectId as ObjectId3, Query as Query2, ReferenceAnnotationId, RelationSourceDXNId, RelationTargetDXNId, RelationSourceId, RelationTargetId } from "@dxos/echo-schema";
1403
+ import { EntityKind, getSchemaTypename, getTypeAnnotation, getTypeIdentifierAnnotation, create as create4, getEntityKind, getSchemaDXN, ObjectId as ObjectId3, ReferenceAnnotationId, RelationSourceDXNId, RelationTargetDXNId, RelationSourceId, RelationTargetId } from "@dxos/echo-schema";
1400
1404
  import { mapAst } from "@dxos/effect";
1401
1405
  import { DXN as DXN2 } from "@dxos/keys";
1402
1406
  import { log as log7 } from "@dxos/log";
@@ -1521,7 +1525,7 @@ var sanitizeObjects = async (types, data, db, queue) => {
1521
1525
  source: data2.source
1522
1526
  }, {
1523
1527
  F: __dxlog_file7,
1524
- L: 216,
1528
+ L: 214,
1525
1529
  S: void 0,
1526
1530
  C: (f, a) => f(...a)
1527
1531
  });
@@ -1532,7 +1536,7 @@ var sanitizeObjects = async (types, data, db, queue) => {
1532
1536
  target: data2.target
1533
1537
  }, {
1534
1538
  F: __dxlog_file7,
1535
- L: 220,
1539
+ L: 218,
1536
1540
  S: void 0,
1537
1541
  C: (f, a) => f(...a)
1538
1542
  });
@@ -1561,7 +1565,7 @@ var sanitizeObjects = async (types, data, db, queue) => {
1561
1565
  existingIds
1562
1566
  }, {
1563
1567
  F: __dxlog_file7,
1564
- L: 241,
1568
+ L: 239,
1565
1569
  S: void 0,
1566
1570
  C: (f, a) => f(...a)
1567
1571
  });
@@ -1627,13 +1631,13 @@ var preprocessSchema = (schema) => {
1627
1631
  })
1628
1632
  })) : identity);
1629
1633
  };
1630
- var createGraphWriterTool = ({ db, queue, schemaTypes, onDone = async (x) => x }) => {
1634
+ var createGraphWriterTool = ({ db, queue, schema, onDone = async (x) => x }) => {
1631
1635
  return createTool3("graph", {
1632
1636
  name: "writer",
1633
1637
  description: "Write to the local graph database",
1634
- schema: createExtractionSchema(schemaTypes),
1638
+ schema: createExtractionSchema(schema),
1635
1639
  execute: async (input) => {
1636
- const data = await sanitizeObjects(schemaTypes, input, db, queue);
1640
+ const data = await sanitizeObjects(schema, input, db, queue);
1637
1641
  return ToolResult3.Success(await onDone(data));
1638
1642
  }
1639
1643
  });
@@ -1702,7 +1706,7 @@ var researchFn = defineFunction3({
1702
1706
  }));
1703
1707
  const graphWriteTool = createGraphWriterTool({
1704
1708
  db,
1705
- schemaTypes: DataTypes
1709
+ schema: DataTypes
1706
1710
  });
1707
1711
  log8.info("graphWriteTool", {
1708
1712
  schema: graphWriteTool.parameters
@@ -1734,19 +1738,18 @@ var createArtifactElement = (id) => `<artifact id=${id} />`;
1734
1738
 
1735
1739
  // packages/core/assistant/src/blueprint/blueprint.ts
1736
1740
  import { Schema as Schema8 } from "effect";
1737
- import { Obj, Type } from "@dxos/echo";
1738
- import { ObjectId as ObjectId4 } from "@dxos/keys";
1739
- var BlueprintStepSchema = Schema8.Struct({
1740
- id: ObjectId4,
1741
+ import { Key, Obj as Obj3, Type } from "@dxos/echo";
1742
+ var BlueprintStep = Schema8.Struct({
1743
+ id: Key.ObjectId,
1741
1744
  instructions: Schema8.String,
1742
- tools: Schema8.Array(Schema8.String)
1745
+ tools: Schema8.optional(Schema8.Array(Schema8.String))
1743
1746
  });
1744
- var BlueprintSchema = Schema8.Struct({
1745
- steps: Schema8.Array(BlueprintStepSchema.pipe(Schema8.omit("id")))
1747
+ var BlueprintDefinition = Schema8.Struct({
1748
+ steps: Schema8.Array(BlueprintStep.pipe(Schema8.omit("id")))
1746
1749
  });
1747
1750
  var Blueprint = Schema8.Struct({
1748
1751
  name: Schema8.optional(Schema8.String),
1749
- steps: Schema8.Array(BlueprintStepSchema)
1752
+ steps: Schema8.Array(BlueprintStep)
1750
1753
  }).pipe(Type.Obj({
1751
1754
  typename: "dxos.org/type/Blueprint",
1752
1755
  version: "0.1.0"
@@ -1759,14 +1762,14 @@ var Blueprint = Schema8.Struct({
1759
1762
  }
1760
1763
  step(instructions, options) {
1761
1764
  this._steps.push({
1762
- id: ObjectId4.random(),
1765
+ id: Key.ObjectId.random(),
1763
1766
  instructions,
1764
1767
  tools: options?.tools ?? []
1765
1768
  });
1766
1769
  return this;
1767
1770
  }
1768
1771
  build() {
1769
- return Obj.make(Blueprint, {
1772
+ return Obj3.make(Blueprint, {
1770
1773
  steps: this._steps
1771
1774
  });
1772
1775
  }
@@ -1793,10 +1796,20 @@ var BlueprintParser;
1793
1796
  import { Match, Schema as Schema9 } from "effect";
1794
1797
  import { createTool as createTool4, Message as Message3, ToolResult as ToolResult4 } from "@dxos/ai";
1795
1798
  import { Event as Event2 } from "@dxos/async";
1796
- import { create as create6 } from "@dxos/echo-schema";
1799
+ import { Key as Key2, Obj as Obj4 } from "@dxos/echo";
1797
1800
  import { log as log9 } from "@dxos/log";
1798
1801
  import { isNonNullable as isNonNullable2 } from "@dxos/util";
1799
1802
  var __dxlog_file9 = "/home/runner/work/dxos/dxos/packages/core/assistant/src/blueprint/machine.ts";
1803
+ var SYSTEM_PROMPT = `
1804
+ You are a smart Rule-Following Agent.
1805
+ Rule-Following Agent executes the command that the user sent in the last message.
1806
+ After doing the work, the Rule-Following Agent calls report tool.
1807
+ If the Rule-Following agent believes that no action is needed, it calls the report tool with "skipped" status.
1808
+ If the Rule-Following Agent is unable to perform the task, it calls the report tool with "bail" status.
1809
+ Rule-Following Agent explains the reason it is unable to perform the task before bailing.
1810
+ The Rule-Following Agent can express creativity and imagination in the way it performs the task.
1811
+ The Rule-Following Agent precisely follows the instructions.
1812
+ `;
1800
1813
  var INITIAL_STATE = {
1801
1814
  state: "working",
1802
1815
  history: [],
@@ -1812,39 +1825,69 @@ var BlueprintMachine = class {
1812
1825
  this.stepComplete = new Event2();
1813
1826
  this.message = new Event2();
1814
1827
  this.block = new Event2();
1815
- this.state = structuredClone(INITIAL_STATE);
1828
+ this._state = structuredClone(INITIAL_STATE);
1829
+ }
1830
+ get state() {
1831
+ return this._state;
1832
+ }
1833
+ setLogger(logger) {
1834
+ this.logger = logger;
1835
+ return this;
1816
1836
  }
1817
1837
  async runToCompletion(options) {
1818
- log9.info("runToCompletion", options, {
1838
+ const invocationId = Key2.ObjectId.random();
1839
+ log9.info("runToCompletion", {
1840
+ invocationId,
1841
+ options
1842
+ }, {
1819
1843
  F: __dxlog_file9,
1820
- L: 71,
1844
+ L: 107,
1821
1845
  S: this,
1822
1846
  C: (f, a) => f(...a)
1823
1847
  });
1824
1848
  this.begin.emit();
1849
+ this.logger?.log({
1850
+ type: "begin",
1851
+ invocationId
1852
+ });
1825
1853
  let firstStep = true;
1826
- while (this.state.state !== "done") {
1854
+ while (this._state.state !== "done") {
1827
1855
  const input = firstStep ? options.input : void 0;
1828
1856
  firstStep = false;
1829
- this.state = await this._execStep(this.state, {
1857
+ this._state = await this._execStep(invocationId, this._state, {
1830
1858
  input,
1831
- aiService: options.aiService
1859
+ aiClient: options.aiClient
1860
+ });
1861
+ const step = this.blueprint.steps.find((step2) => step2.id === this._state.trace.at(-1)?.stepId);
1862
+ this.stepComplete.emit(step);
1863
+ this.logger?.log({
1864
+ type: "step-complete",
1865
+ invocationId,
1866
+ step
1832
1867
  });
1833
- this.stepComplete.emit(this.blueprint.steps.find((step) => step.id === this.state.trace.at(-1)?.stepId));
1834
- if (this.state.state === "bail") {
1868
+ if (this._state.state === "bail") {
1835
1869
  throw new Error("Agent unable to follow the blueprint");
1836
1870
  }
1837
1871
  }
1838
1872
  this.end.emit();
1873
+ this.logger?.log({
1874
+ type: "end",
1875
+ invocationId
1876
+ });
1839
1877
  }
1840
- async _execStep(state, options) {
1841
- const prevStep = this.blueprint.steps.findIndex((step) => step.id === this.state.trace.at(-1)?.stepId);
1878
+ async _execStep(invocationId, state, options) {
1879
+ const prevStep = this.blueprint.steps.findIndex((step) => step.id === this._state.trace.at(-1)?.stepId);
1842
1880
  if (prevStep === this.blueprint.steps.length - 1) {
1843
1881
  throw new Error("Done execution blueprint");
1844
1882
  }
1845
1883
  const nextStep = this.blueprint.steps[prevStep + 1];
1846
1884
  const onLastStep = prevStep === this.blueprint.steps.length - 2;
1847
1885
  this.stepStart.emit(nextStep);
1886
+ this.logger?.log({
1887
+ type: "step-start",
1888
+ invocationId,
1889
+ step: nextStep
1890
+ });
1848
1891
  const ReportSchema = Schema9.Struct({
1849
1892
  status: Schema9.Literal("done", "bailed", "skipped").annotations({
1850
1893
  description: "The status of the task completion"
@@ -1855,7 +1898,7 @@ var BlueprintMachine = class {
1855
1898
  });
1856
1899
  const report = createTool4("system", {
1857
1900
  name: "report",
1858
- description: "This tool reports that the agent has completed the task or is unable to do so",
1901
+ description: "This tool reports that the agent has completed the task or is unable to do so.",
1859
1902
  schema: ReportSchema,
1860
1903
  execute: async (input) => ToolResult4.Break(input)
1861
1904
  });
@@ -1866,26 +1909,24 @@ var BlueprintMachine = class {
1866
1909
  session.message.pipeInto(this.message);
1867
1910
  session.block.pipeInto(this.block);
1868
1911
  const inputMessages = options.input ? [
1869
- create6(Message3, {
1912
+ Obj4.make(Message3, {
1870
1913
  role: "user",
1871
1914
  content: [
1872
1915
  taggedDataBlock("input", options.input)
1873
1916
  ]
1874
1917
  })
1875
1918
  ] : [];
1876
- inputMessages.forEach((message) => this.message.emit(message));
1877
- const tools = nextStep.tools.map((tool) => this.registry.get(tool)).filter(isNonNullable2);
1919
+ inputMessages.forEach((message) => {
1920
+ this.message.emit(message);
1921
+ this.logger?.log({
1922
+ type: "message",
1923
+ invocationId,
1924
+ message
1925
+ });
1926
+ });
1927
+ const tools = nextStep.tools?.map((tool) => this.registry.get(tool)).filter(isNonNullable2) ?? [];
1878
1928
  const messages = await session.run({
1879
- systemPrompt: `
1880
- You are a smart Rule-Following Agent.
1881
- Rule-Following Agent executes the command that the user sent in the last message.
1882
- After doing the work, the Rule-Following Agent calls report tool.
1883
- If the Rule-Following agent believes that no action is needed, it calls the report tool with "skipped" status.
1884
- If the Rule-Following Agent is unable to perform the task, it calls the report tool with "bail" status.
1885
- Rule-Following Agent explains the reason it is unable to perform the task before bailing.
1886
- The Rule-Following Agent can express creativity and imagination in the way it performs the task.
1887
- The Rule-Following Agent precisely follows the instructions.
1888
- `,
1929
+ systemPrompt: SYSTEM_PROMPT,
1889
1930
  history: [
1890
1931
  ...state.history,
1891
1932
  ...inputMessages
@@ -1895,7 +1936,7 @@ var BlueprintMachine = class {
1895
1936
  report
1896
1937
  ],
1897
1938
  artifacts: [],
1898
- client: options.aiService,
1939
+ client: options.aiClient,
1899
1940
  prompt: nextStep.instructions
1900
1941
  });
1901
1942
  const { messages: trimmedHistory, call: lastBlock } = popLastToolCall(messages);
@@ -1956,8 +1997,12 @@ import { signal } from "@preact/signals-core";
1956
1997
  import chalk from "chalk";
1957
1998
  import { ConsolePrinter as ConsolePrinter2 } from "@dxos/ai";
1958
1999
  import { combine } from "@dxos/async";
2000
+ import { log as log10 } from "@dxos/log";
1959
2001
  chalk.level = 2;
1960
- var Logger = class {
2002
+ var DEFAULT_LOGGER = {
2003
+ log: log10.info
2004
+ };
2005
+ var BufferedLogger = class {
1961
2006
  constructor() {
1962
2007
  this._messages = signal([]);
1963
2008
  }
@@ -1974,6 +2019,49 @@ var Logger = class {
1974
2019
  ];
1975
2020
  }
1976
2021
  };
2022
+ var BlueprintLoggerAdapter = class {
2023
+ constructor(logger = DEFAULT_LOGGER) {
2024
+ this.logger = logger;
2025
+ }
2026
+ log(event) {
2027
+ switch (event.type) {
2028
+ case "begin":
2029
+ this.logger.log("begin", {
2030
+ invocationId: event.invocationId
2031
+ });
2032
+ break;
2033
+ case "end":
2034
+ this.logger.log("end", {
2035
+ invocationId: event.invocationId
2036
+ });
2037
+ break;
2038
+ case "step-start":
2039
+ this.logger.log("step-start", {
2040
+ invocationId: event.invocationId,
2041
+ step: event.step
2042
+ });
2043
+ break;
2044
+ case "step-complete":
2045
+ this.logger.log("step-complete", {
2046
+ invocationId: event.invocationId,
2047
+ step: event.step
2048
+ });
2049
+ break;
2050
+ case "message":
2051
+ this.logger.log("message", {
2052
+ invocationId: event.invocationId,
2053
+ message: event.message
2054
+ });
2055
+ break;
2056
+ case "block":
2057
+ this.logger.log("block", {
2058
+ invocationId: event.invocationId,
2059
+ block: event.block
2060
+ });
2061
+ break;
2062
+ }
2063
+ }
2064
+ };
1977
2065
  var setLogger = (machine, logger) => {
1978
2066
  return combine(machine.begin.on(() => {
1979
2067
  logger.log("Starting...");
@@ -2036,13 +2124,14 @@ export {
2036
2124
  AISession,
2037
2125
  Blueprint,
2038
2126
  BlueprintBuilder,
2127
+ BlueprintDefinition,
2128
+ BlueprintLoggerAdapter,
2039
2129
  BlueprintMachine,
2040
2130
  BlueprintParser,
2041
- BlueprintSchema,
2042
- BlueprintStepSchema,
2131
+ BlueprintStep,
2132
+ BufferedLogger,
2043
2133
  ExtractionInput,
2044
2134
  ExtractionOutput,
2045
- Logger,
2046
2135
  ReferencedQuotes,
2047
2136
  Subgraph,
2048
2137
  VersionPin,