@dxos/compute 0.9.1-staging.ee54ba693a → 0.11.0

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 (131) hide show
  1. package/dist/lib/AgentService.mjs +16 -0
  2. package/dist/lib/AgentService.mjs.map +1 -0
  3. package/dist/lib/StorageService.mjs +59 -0
  4. package/dist/lib/StorageService.mjs.map +1 -0
  5. package/dist/lib/chunk-OperationHandlerSet.mjs +660 -0
  6. package/dist/lib/chunk-OperationHandlerSet.mjs.map +1 -0
  7. package/dist/lib/chunk-definitions.mjs +41 -0
  8. package/dist/lib/chunk-definitions.mjs.map +1 -0
  9. package/dist/lib/chunk-rolldown-runtime.mjs +13 -0
  10. package/dist/lib/index.mjs +1576 -0
  11. package/dist/lib/index.mjs.map +1 -0
  12. package/dist/lib/testing.mjs +43 -0
  13. package/dist/lib/testing.mjs.map +1 -0
  14. package/dist/types/src/AgentIdentity.d.ts +27 -0
  15. package/dist/types/src/AgentIdentity.d.ts.map +1 -0
  16. package/dist/types/src/AgentService.d.ts +10 -2
  17. package/dist/types/src/AgentService.d.ts.map +1 -1
  18. package/dist/types/src/Cancellation.d.ts +19 -0
  19. package/dist/types/src/Cancellation.d.ts.map +1 -0
  20. package/dist/types/src/Credential.d.ts +41 -0
  21. package/dist/types/src/Credential.d.ts.map +1 -1
  22. package/dist/types/src/Operation.d.ts +79 -1
  23. package/dist/types/src/Operation.d.ts.map +1 -1
  24. package/dist/types/src/Process.d.ts +15 -3
  25. package/dist/types/src/Process.d.ts.map +1 -1
  26. package/dist/types/src/Trace.d.ts +55 -3
  27. package/dist/types/src/Trace.d.ts.map +1 -1
  28. package/dist/types/src/Trace.test.d.ts +2 -0
  29. package/dist/types/src/Trace.test.d.ts.map +1 -0
  30. package/dist/types/src/errors.d.ts +35 -1
  31. package/dist/types/src/errors.d.ts.map +1 -1
  32. package/dist/types/src/index.d.ts +3 -6
  33. package/dist/types/src/index.d.ts.map +1 -1
  34. package/dist/types/src/testing/index.d.ts +1 -0
  35. package/dist/types/src/testing/index.d.ts.map +1 -1
  36. package/dist/types/src/testing/operation.d.ts +5 -0
  37. package/dist/types/src/testing/operation.d.ts.map +1 -0
  38. package/dist/types/src/{Instructions.d.ts → types/Instructions.d.ts} +14 -1
  39. package/dist/types/src/types/Instructions.d.ts.map +1 -0
  40. package/dist/types/src/types/Instructions.test.d.ts +2 -0
  41. package/dist/types/src/types/Instructions.test.d.ts.map +1 -0
  42. package/dist/types/src/types/Project.d.ts +53 -0
  43. package/dist/types/src/types/Project.d.ts.map +1 -0
  44. package/dist/types/src/types/Project.test.d.ts +2 -0
  45. package/dist/types/src/types/Project.test.d.ts.map +1 -0
  46. package/dist/types/src/types/Routine.d.ts +42 -0
  47. package/dist/types/src/types/Routine.d.ts.map +1 -0
  48. package/dist/types/src/types/Routine.test.d.ts +2 -0
  49. package/dist/types/src/types/Routine.test.d.ts.map +1 -0
  50. package/dist/types/src/types/Script.d.ts.map +1 -0
  51. package/dist/types/src/{Skill.d.ts → types/Skill.d.ts} +1 -1
  52. package/dist/types/src/types/Skill.d.ts.map +1 -0
  53. package/dist/types/src/{Template.d.ts → types/Template.d.ts} +2 -2
  54. package/dist/types/src/types/Template.d.ts.map +1 -0
  55. package/dist/types/src/types/Template.test.d.ts.map +1 -0
  56. package/dist/types/src/types/Trigger.d.ts +249 -0
  57. package/dist/types/src/types/Trigger.d.ts.map +1 -0
  58. package/dist/types/src/{TriggerEvent.d.ts → types/TriggerEvent.d.ts} +19 -6
  59. package/dist/types/src/types/TriggerEvent.d.ts.map +1 -0
  60. package/dist/types/src/types/index.d.ts +9 -0
  61. package/dist/types/src/types/index.d.ts.map +1 -0
  62. package/dist/types/tsconfig.tsbuildinfo +1 -1
  63. package/package.json +18 -17
  64. package/src/AgentIdentity.ts +35 -0
  65. package/src/AgentService.ts +10 -2
  66. package/src/Cancellation.ts +33 -0
  67. package/src/Credential.ts +52 -0
  68. package/src/Operation.ts +92 -2
  69. package/src/Process.ts +21 -4
  70. package/src/Trace.test.ts +155 -0
  71. package/src/Trace.ts +207 -6
  72. package/src/errors.ts +9 -5
  73. package/src/index.ts +3 -6
  74. package/src/testing/index.ts +1 -0
  75. package/src/testing/operation.ts +21 -0
  76. package/src/types/Instructions.test.ts +18 -0
  77. package/src/{Instructions.ts → types/Instructions.ts} +22 -1
  78. package/src/types/Project.test.ts +52 -0
  79. package/src/types/Project.ts +99 -0
  80. package/src/types/Routine.test.ts +18 -0
  81. package/src/types/Routine.ts +85 -0
  82. package/src/{Skill.ts → types/Skill.ts} +2 -2
  83. package/src/{Template.test.ts → types/Template.test.ts} +2 -2
  84. package/src/{Template.ts → types/Template.ts} +2 -2
  85. package/src/{Trigger.ts → types/Trigger.ts} +126 -8
  86. package/src/{TriggerEvent.ts → types/TriggerEvent.ts} +23 -5
  87. package/src/types/index.ts +12 -0
  88. package/dist/lib/neutral/AgentService.mjs +0 -12
  89. package/dist/lib/neutral/AgentService.mjs.map +0 -7
  90. package/dist/lib/neutral/StorageService.mjs +0 -22
  91. package/dist/lib/neutral/StorageService.mjs.map +0 -7
  92. package/dist/lib/neutral/chunk-2ZN64ZS7.mjs +0 -25
  93. package/dist/lib/neutral/chunk-2ZN64ZS7.mjs.map +0 -7
  94. package/dist/lib/neutral/chunk-5VAXF6AH.mjs +0 -53
  95. package/dist/lib/neutral/chunk-5VAXF6AH.mjs.map +0 -7
  96. package/dist/lib/neutral/chunk-EVROJER7.mjs +0 -285
  97. package/dist/lib/neutral/chunk-EVROJER7.mjs.map +0 -7
  98. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +0 -10
  99. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +0 -7
  100. package/dist/lib/neutral/chunk-PF7XP7XP.mjs +0 -62
  101. package/dist/lib/neutral/chunk-PF7XP7XP.mjs.map +0 -7
  102. package/dist/lib/neutral/chunk-SJ37RWHU.mjs +0 -21
  103. package/dist/lib/neutral/chunk-SJ37RWHU.mjs.map +0 -7
  104. package/dist/lib/neutral/chunk-VSAZPWSJ.mjs +0 -25
  105. package/dist/lib/neutral/chunk-VSAZPWSJ.mjs.map +0 -7
  106. package/dist/lib/neutral/chunk-WEO4FCQY.mjs +0 -17
  107. package/dist/lib/neutral/chunk-WEO4FCQY.mjs.map +0 -7
  108. package/dist/lib/neutral/chunk-Z3Y7FQGN.mjs +0 -174
  109. package/dist/lib/neutral/chunk-Z3Y7FQGN.mjs.map +0 -7
  110. package/dist/lib/neutral/fib-5XIYECL5.mjs +0 -10
  111. package/dist/lib/neutral/fib-5XIYECL5.mjs.map +0 -7
  112. package/dist/lib/neutral/index.mjs +0 -1232
  113. package/dist/lib/neutral/index.mjs.map +0 -7
  114. package/dist/lib/neutral/meta.json +0 -1
  115. package/dist/lib/neutral/reply-GCBRCUVM.mjs +0 -10
  116. package/dist/lib/neutral/reply-GCBRCUVM.mjs.map +0 -7
  117. package/dist/lib/neutral/sleep-XR6CL6W3.mjs +0 -10
  118. package/dist/lib/neutral/sleep-XR6CL6W3.mjs.map +0 -7
  119. package/dist/lib/neutral/testing/index.mjs +0 -32
  120. package/dist/lib/neutral/testing/index.mjs.map +0 -7
  121. package/dist/types/src/Instructions.d.ts.map +0 -1
  122. package/dist/types/src/Script.d.ts.map +0 -1
  123. package/dist/types/src/Skill.d.ts.map +0 -1
  124. package/dist/types/src/Template.d.ts.map +0 -1
  125. package/dist/types/src/Template.test.d.ts.map +0 -1
  126. package/dist/types/src/Trigger.d.ts +0 -157
  127. package/dist/types/src/Trigger.d.ts.map +0 -1
  128. package/dist/types/src/TriggerEvent.d.ts.map +0 -1
  129. /package/dist/types/src/{Script.d.ts → types/Script.d.ts} +0 -0
  130. /package/dist/types/src/{Template.test.d.ts → types/Template.test.d.ts} +0 -0
  131. /package/src/{Script.ts → types/Script.ts} +0 -0
@@ -0,0 +1,16 @@
1
+ import { t as __exportAll } from "./chunk-rolldown-runtime.mjs";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Context from "effect/Context";
4
+ //#region src/AgentService.ts
5
+ var AgentService_exports = /* @__PURE__ */ __exportAll({
6
+ AgentService: () => AgentService,
7
+ getSession: () => getSession,
8
+ hydrate: () => hydrate
9
+ });
10
+ var AgentService = class extends Context.Tag("@dxos/functions-runtime/AgentService")() {};
11
+ var getSession = Effect.serviceFunctionEffect(AgentService, (service) => service.getSession);
12
+ var hydrate = Effect.serviceFunctionEffect(AgentService, (service) => service.hydrate);
13
+ //#endregion
14
+ export { AgentService, getSession, hydrate, AgentService_exports as t };
15
+
16
+ //# sourceMappingURL=AgentService.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentService.mjs","names":[],"sources":["../../src/AgentService.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Context from 'effect/Context';\nimport * as Effect from 'effect/Effect';\nimport type * as Stream from 'effect/Stream';\n\nimport type { Database, Feed, Obj, Ref } from '@dxos/echo';\nimport { DXN } from '@dxos/keys';\nimport type { ContentBlock } from '@dxos/types';\n\nimport type * as Trace from './Trace';\nimport { Instructions } from './types';\n\n/**\n * Service interface for the agent session manager.\n * Implementation lives in @dxos/functions-runtime.\n */\nexport interface Service {\n /**\n * Gets or creates a session for a feed.\n */\n getSession: (feed: Feed.Feed, options?: GetSessionOptions) => Effect.Effect<Session>;\n\n /**\n * Hydrates agent processes persisted by a previous session.\n * Each record is rehydrated with a fresh process built from the layer options.\n */\n hydrate: () => Effect.Effect<void>;\n}\n\nexport class AgentService extends Context.Tag('@dxos/functions-runtime/AgentService')<AgentService, Service>() {}\n\n/**\n * Handle to an agent session.\n */\nexport interface Session {\n /**\n * The feed that the session is associated with.\n */\n readonly feed: Feed.Feed;\n\n /**\n * Gets the context objects from the agent.\n */\n getContext: () => Effect.Effect<Ref.Ref<Obj.Unknown>[], never, Database.Service>;\n\n /**\n * Adds context objects to the agent.\n */\n addContext: (context: Ref.Ref<Obj.Unknown>[]) => Effect.Effect<void, never, Database.Service>;\n\n /**\n * Submit a turn: a plain user prompt, or pre-built content blocks (e.g. synthetic context + prompt).\n */\n submitPrompt: (prompt: string | ContentBlock.Any[]) => Effect.Effect<void>;\n\n /**\n * Wait until agent has completed its work.\n */\n waitForCompletion: () => Effect.Effect<void>;\n\n /**\n * Terminates the agent process and clears its durable storage.\n */\n terminate: () => Effect.Effect<void>;\n\n /**\n * Subscribe to ephemeral trace events (e.g., streaming partial messages).\n * Replays buffered events, then streams new ones until the process ends.\n *\n * When forking a collector from a short-lived parent (e.g. `useEffect` +\n * `runPromise(Effect.forEach(subscribe))`), use {@link Effect.forkDaemon} so the\n * stream survives after the parent scope closes; interrupt it on dispose.\n */\n subscribeEphemeral: () => Stream.Stream<Trace.Message>;\n}\n\nexport const getSession = Effect.serviceFunctionEffect(AgentService, (service) => service.getSession);\n\nexport const hydrate = Effect.serviceFunctionEffect(AgentService, (service) => service.hydrate);\n\nexport interface GetSessionOptions {\n readonly model?: DXN.DXN;\n // The catalog's shared model ids are served by several providers, so the provider must accompany\n // the model into the agent process — the id alone does not identify a resolver.\n readonly provider?: DXN.DXN;\n readonly systemPrompt?: string;\n /**\n * Instructions steering the conversation (typically the Chat's `instructions` ref), persisted as a\n * spawn annotation so a re-hydrated process recovers it. Read at spawn only: repointing requires a\n * process restart (same staleness model as `model`/`provider`).\n */\n readonly instructions?: Ref.Ref<Instructions.Instructions>;\n}\n"],"mappings":";;;;;;;;;AAkCA,IAAa,eAAb,cAAkC,QAAQ,IAAI,sCAAsC,CAAC,CAAwB,CAAC,CAAC,CAAC;AA+ChH,IAAa,aAAa,OAAO,sBAAsB,eAAe,YAAY,QAAQ,UAAU;AAEpG,IAAa,UAAU,OAAO,sBAAsB,eAAe,YAAY,QAAQ,OAAO"}
@@ -0,0 +1,59 @@
1
+ import { t as __exportAll } from "./chunk-rolldown-runtime.mjs";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Context from "effect/Context";
4
+ import * as Option from "effect/Option";
5
+ import * as Pipeable from "effect/Pipeable";
6
+ //#region src/StorageService.ts
7
+ var StorageService_exports = /* @__PURE__ */ __exportAll({
8
+ StorageService: () => StorageService,
9
+ cell: () => cell,
10
+ clear: () => clear,
11
+ deleteKey: () => deleteKey,
12
+ get: () => get,
13
+ list: () => list,
14
+ set: () => set,
15
+ withDefault: () => withDefault
16
+ });
17
+ /**
18
+ * Scoped key-value storage service for processes.
19
+ * Each process receives its own namespaced instance via the process manager.
20
+ * Construct a live implementation with `StorageService.layer` from `@dxos/functions-runtime`.
21
+ */
22
+ var StorageService = class extends Context.Tag("@dxos/functions/StorageService")() {};
23
+ var get = Effect.serviceFunctionEffect(StorageService, (_) => _.get);
24
+ var set = Effect.serviceFunctionEffect(StorageService, (_) => _.set);
25
+ var deleteKey = Effect.serviceFunctionEffect(StorageService, (_) => _.delete);
26
+ var list = Effect.serviceFunctionEffect(StorageService, (_) => _.list);
27
+ var clear = Effect.serviceFunctionEffect(StorageService, (_) => _.clear);
28
+ /**
29
+ * Create a typed cell in a storage service.
30
+ */
31
+ var cell = (schema, key) => {
32
+ return {
33
+ key,
34
+ get: get(schema, key),
35
+ set: (value) => set(schema, key, value),
36
+ delete: () => deleteKey(key),
37
+ pipe(...args) {
38
+ return Pipeable.pipeArguments(this, arguments);
39
+ }
40
+ };
41
+ };
42
+ /**
43
+ * Assign a default value to a cell if it is not present.
44
+ */
45
+ var withDefault = (getDefault) => (cell) => {
46
+ return {
47
+ key: cell.key,
48
+ get: cell.get.pipe(Effect.map(Option.getOrElse(() => getDefault()))),
49
+ set: (value) => cell.set(value),
50
+ delete: () => cell.delete(),
51
+ pipe(...args) {
52
+ return Pipeable.pipeArguments(this, arguments);
53
+ }
54
+ };
55
+ };
56
+ //#endregion
57
+ export { StorageService, cell, clear, deleteKey, get, list, set, StorageService_exports as t, withDefault };
58
+
59
+ //# sourceMappingURL=StorageService.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageService.mjs","names":[],"sources":["../../src/StorageService.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Context from 'effect/Context';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\nimport * as Pipeable from 'effect/Pipeable';\nimport * as Schema from 'effect/Schema';\n\nexport interface Service {\n /** Read a value by key. Returns `None` if key does not exist. */\n get<S extends Schema.Schema<any, string, any>>(\n schema: S,\n key: string,\n ): Effect.Effect<Option.Option<Schema.Schema.Type<S>>, never, Schema.Schema.Context<S>>;\n\n /** Write a value for the given key. */\n set<S extends Schema.Schema<any, string, any>>(\n schema: S,\n key: string,\n value: Schema.Schema.Type<S>,\n ): Effect.Effect<void, never, Schema.Schema.Context<S>>;\n\n /** Remove a key. */\n delete(key: string): Effect.Effect<void>;\n\n /** List all keys, optionally filtered by prefix. */\n list(prefix?: string): Effect.Effect<readonly string[]>;\n\n /** Remove all keys managed by this scoped store. */\n clear(): Effect.Effect<void>;\n}\n\n/**\n * Scoped key-value storage service for processes.\n * Each process receives its own namespaced instance via the process manager.\n * Construct a live implementation with `StorageService.layer` from `@dxos/functions-runtime`.\n */\nexport class StorageService extends Context.Tag('@dxos/functions/StorageService')<StorageService, Service>() {}\n\nexport const get = Effect.serviceFunctionEffect(StorageService, (_) => _.get);\nexport const set = Effect.serviceFunctionEffect(StorageService, (_) => _.set);\nexport const deleteKey = Effect.serviceFunctionEffect(StorageService, (_) => _.delete);\nexport const list = Effect.serviceFunctionEffect(StorageService, (_) => _.list);\nexport const clear = Effect.serviceFunctionEffect(StorageService, (_) => _.clear);\n\n/**\n * Typed cell in a storage service.\n */\nexport interface Cell<T> extends Pipeable.Pipeable {\n readonly key: string;\n\n get: Effect.Effect<Option.Option<T>, never, StorageService>;\n set(value: T): Effect.Effect<void, never, StorageService>;\n delete(): Effect.Effect<void, never, StorageService>;\n}\n\n/**\n * Create a typed cell in a storage service.\n */\nexport const cell = <S extends Schema.Schema<any, string, any>>(\n schema: S,\n key: string,\n): Cell<Schema.Schema.Type<S>> => {\n return {\n key,\n get: get(schema, key),\n set: (value: Schema.Schema.Type<S>) => set(schema, key, value),\n delete: () => deleteKey(key),\n pipe(...args: any) {\n return Pipeable.pipeArguments(this, arguments);\n },\n };\n};\n\n/**\n * Typed cell in a storage service with a default value.\n */\nexport interface CellWithDefault<T, U> extends Pipeable.Pipeable {\n readonly key: string;\n get: Effect.Effect<T | U, never, StorageService>;\n set(value: U): Effect.Effect<void, never, StorageService>;\n delete(): Effect.Effect<void, never, StorageService>;\n}\n\n/**\n * Assign a default value to a cell if it is not present.\n */\nexport const withDefault =\n <T>(getDefault: () => NoInfer<T>) =>\n (cell: Cell<T>): CellWithDefault<T, T> => {\n return {\n key: cell.key,\n get: cell.get.pipe(Effect.map(Option.getOrElse(() => getDefault()))),\n set: (value) => cell.set(value),\n delete: () => cell.delete(),\n pipe(...args: any) {\n return Pipeable.pipeArguments(this, arguments);\n },\n };\n };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAyCA,IAAa,iBAAb,cAAoC,QAAQ,IAAI,gCAAgC,CAAC,CAA0B,CAAC,CAAC,CAAC;AAE9G,IAAa,MAAM,OAAO,sBAAsB,iBAAiB,MAAM,EAAE,GAAG;AAC5E,IAAa,MAAM,OAAO,sBAAsB,iBAAiB,MAAM,EAAE,GAAG;AAC5E,IAAa,YAAY,OAAO,sBAAsB,iBAAiB,MAAM,EAAE,MAAM;AACrF,IAAa,OAAO,OAAO,sBAAsB,iBAAiB,MAAM,EAAE,IAAI;AAC9E,IAAa,QAAQ,OAAO,sBAAsB,iBAAiB,MAAM,EAAE,KAAK;;;;AAgBhF,IAAa,QACX,QACA,QACgC;CAChC,OAAO;EACL;EACA,KAAK,IAAI,QAAQ,GAAG;EACpB,MAAM,UAAiC,IAAI,QAAQ,KAAK,KAAK;EAC7D,cAAc,UAAU,GAAG;EAC3B,KAAK,GAAG,MAAW;GACjB,OAAO,SAAS,cAAc,MAAM,SAAS;EAC/C;CACF;AACF;;;;AAeA,IAAa,eACP,gBACH,SAAyC;CACxC,OAAO;EACL,KAAK,KAAK;EACV,KAAK,KAAK,IAAI,KAAK,OAAO,IAAI,OAAO,gBAAgB,WAAW,CAAC,CAAC,CAAC;EACnE,MAAM,UAAU,KAAK,IAAI,KAAK;EAC9B,cAAc,KAAK,OAAO;EAC1B,KAAK,GAAG,MAAW;GACjB,OAAO,SAAS,cAAc,MAAM,SAAS;EAC/C;CACF;AACF"}