@dxos/agent-runtime 0.0.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.
- package/LICENSE +105 -0
- package/dist/lib/neutral/chunk-EZKG2ZGG.mjs +754 -0
- package/dist/lib/neutral/chunk-EZKG2ZGG.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +9 -0
- package/dist/lib/neutral/index.mjs.map +7 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/testing/index.mjs +285 -0
- package/dist/lib/neutral/testing/index.mjs.map +7 -0
- package/dist/types/src/agent-service/AgentService.d.ts +45 -0
- package/dist/types/src/agent-service/AgentService.d.ts.map +1 -0
- package/dist/types/src/agent-service/AgentService.test.d.ts +2 -0
- package/dist/types/src/agent-service/AgentService.test.d.ts.map +1 -0
- package/dist/types/src/agent-service/agent-process.d.ts +457 -0
- package/dist/types/src/agent-service/agent-process.d.ts.map +1 -0
- package/dist/types/src/agent-service/agent-process.test.d.ts +2 -0
- package/dist/types/src/agent-service/agent-process.test.d.ts.map +1 -0
- package/dist/types/src/agent-service/delegation-strategy.d.ts +47 -0
- package/dist/types/src/agent-service/delegation-strategy.d.ts.map +1 -0
- package/dist/types/src/agent-service/index.d.ts +4 -0
- package/dist/types/src/agent-service/index.d.ts.map +1 -0
- package/dist/types/src/assistant-session-tests/format.test.d.ts +2 -0
- package/dist/types/src/assistant-session-tests/format.test.d.ts.map +1 -0
- package/dist/types/src/assistant-session-tests/request.test.d.ts +2 -0
- package/dist/types/src/assistant-session-tests/request.test.d.ts.map +1 -0
- package/dist/types/src/assistant-session-tests/session-ollama.test.d.ts +2 -0
- package/dist/types/src/assistant-session-tests/session-ollama.test.d.ts.map +1 -0
- package/dist/types/src/assistant-session-tests/session.test.d.ts +2 -0
- package/dist/types/src/assistant-session-tests/session.test.d.ts.map +1 -0
- package/dist/types/src/assistant-session-tests/xml-response.test.d.ts +2 -0
- package/dist/types/src/assistant-session-tests/xml-response.test.d.ts.map +1 -0
- package/dist/types/src/functions.test.d.ts +2 -0
- package/dist/types/src/functions.test.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +2 -0
- package/dist/types/src/index.d.ts.map +1 -0
- package/dist/types/src/testing/ResearchService.d.ts +28 -0
- package/dist/types/src/testing/ResearchService.d.ts.map +1 -0
- package/dist/types/src/testing/assistant-test-layer.d.ts +70 -0
- package/dist/types/src/testing/assistant-test-layer.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +4 -0
- package/dist/types/src/testing/index.d.ts.map +1 -0
- package/dist/types/src/testing/trace-pretty-print.d.ts +16 -0
- package/dist/types/src/testing/trace-pretty-print.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/package.json +70 -0
- package/src/agent-service/AgentService.conversations.json +1 -0
- package/src/agent-service/AgentService.test.ts +523 -0
- package/src/agent-service/AgentService.ts +239 -0
- package/src/agent-service/README.md +91 -0
- package/src/agent-service/agent-process.test.ts +206 -0
- package/src/agent-service/agent-process.ts +793 -0
- package/src/agent-service/delegation-strategy.ts +63 -0
- package/src/agent-service/index.ts +7 -0
- package/src/assistant-session-tests/format.test.ts +131 -0
- package/src/assistant-session-tests/request.conversations.json +1 -0
- package/src/assistant-session-tests/request.test.ts +190 -0
- package/src/assistant-session-tests/session-ollama.test.ts +80 -0
- package/src/assistant-session-tests/session.test.ts +56 -0
- package/src/assistant-session-tests/xml-response.conversations.json +1 -0
- package/src/assistant-session-tests/xml-response.test.ts +65 -0
- package/src/functions.conversations.json +1 -0
- package/src/functions.test.ts +87 -0
- package/src/index.ts +7 -0
- package/src/testing/ResearchService.ts +144 -0
- package/src/testing/assistant-test-layer.ts +299 -0
- package/src/testing/index.ts +7 -0
- package/src/testing/trace-pretty-print.ts +55 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as Context from 'effect/Context';
|
|
2
|
+
import * as Deferred from 'effect/Deferred';
|
|
3
|
+
import * as Effect from 'effect/Effect';
|
|
4
|
+
import * as Layer from 'effect/Layer';
|
|
5
|
+
import { Organization } from '@dxos/types';
|
|
6
|
+
export declare const getTestData: () => {
|
|
7
|
+
organizations: import("@dxos/echo/Obj").OfShape<Organization.Organization & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object>>[];
|
|
8
|
+
research: Record<string, string>;
|
|
9
|
+
};
|
|
10
|
+
export interface Task {
|
|
11
|
+
id: string;
|
|
12
|
+
state: 'pending' | 'completed' | 'interrupted';
|
|
13
|
+
website: string;
|
|
14
|
+
deferred: Deferred.Deferred<string>;
|
|
15
|
+
}
|
|
16
|
+
export interface Service {
|
|
17
|
+
getTasks: () => readonly Task[];
|
|
18
|
+
research: (website: string) => Effect.Effect<string>;
|
|
19
|
+
waitForTaskToAppear: () => Effect.Effect<void>;
|
|
20
|
+
completeOneTask: () => Effect.Effect<void>;
|
|
21
|
+
completeAllTasks: () => Effect.Effect<void>;
|
|
22
|
+
}
|
|
23
|
+
declare const ResearchService_base: Context.TagClass<ResearchService, "@dxos/functions-runtime/testing/ResearchService", Service>;
|
|
24
|
+
export declare class ResearchService extends ResearchService_base {
|
|
25
|
+
}
|
|
26
|
+
export declare const layer: Layer.Layer<ResearchService, never, never>;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=ResearchService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResearchService.d.ts","sourceRoot":"","sources":["../../../../src/testing/ResearchService.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAM3C,eAAO,MAAM,WAAW;IACtB,aAAa;IAcb,QAAQ,EAqBH,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,SAAS,IAAI,EAAE,CAAC;IAChC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrD,mBAAmB,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,eAAe,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3C,gBAAgB,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CAC7C;;AAED,qBAAa,eAAgB,SAAQ,oBAGlC;CAAG;AAEN,eAAO,MAAM,KAAK,4CAiEjB,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { Registry as AtomRegistry } from '@effect-atom/atom';
|
|
2
|
+
import * as LanguageModel from '@effect/ai/LanguageModel';
|
|
3
|
+
import * as KeyValueStore from '@effect/platform/KeyValueStore';
|
|
4
|
+
import * as Context from 'effect/Context';
|
|
5
|
+
import * as Layer from 'effect/Layer';
|
|
6
|
+
import { AiService, OpaqueToolkit } from '@dxos/ai';
|
|
7
|
+
import { AgentService, Credential, Operation, OperationHandlerSet, Process, ServiceResolver, Skill, Trace } from '@dxos/compute';
|
|
8
|
+
import { FeedTraceSink, ProcessManager, TriggerDispatcher, TriggerStateStore } from '@dxos/compute-runtime';
|
|
9
|
+
import { Database, Registry, Type } from '@dxos/echo';
|
|
10
|
+
import { type TestContextService } from '@dxos/effect/testing';
|
|
11
|
+
import { DXN } from '@dxos/keys';
|
|
12
|
+
import { AgentService as AgentServiceRuntime } from '../agent-service';
|
|
13
|
+
interface TestLayerOptions {
|
|
14
|
+
aiServicePreset?: 'direct' | 'edge-local' | 'edge-remote' | 'ollama';
|
|
15
|
+
/**
|
|
16
|
+
* Overrides the AI service entirely (e.g. a scripted model for deterministic e2e tests).
|
|
17
|
+
* When set, `aiServicePreset` and `disableLlmMemoization` are ignored.
|
|
18
|
+
*/
|
|
19
|
+
aiService?: Layer.Layer<AiService.AiService>;
|
|
20
|
+
model?: DXN.DXN;
|
|
21
|
+
/** Provider the model resolves through; defaults to `ollama` for the ollama preset, else `edge`. */
|
|
22
|
+
provider?: DXN.DXN;
|
|
23
|
+
operationHandlers?: OperationHandlerSet.OperationHandlerSet | OperationHandlerSet.OperationHandlerSet[];
|
|
24
|
+
toolkits?: OpaqueToolkit.OpaqueToolkit[];
|
|
25
|
+
types?: Type.AnyEntity[];
|
|
26
|
+
skills?: Skill.Skill[];
|
|
27
|
+
credentials?: Credential.ServiceCredential[];
|
|
28
|
+
/**
|
|
29
|
+
* Tracing configuration.
|
|
30
|
+
* - `'feed'` persists trace events to a FeedTraceSink (queryable from the database).
|
|
31
|
+
* @default 'noop'
|
|
32
|
+
*/
|
|
33
|
+
tracing?: 'noop' | 'console' | 'pretty' | 'feed';
|
|
34
|
+
disableLlmMemoization?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Patterns matching run-specific values (e.g. timestamps derived from TestClock) that should be
|
|
37
|
+
* canonicalized for memoized-conversation matching. Forwarded to `TestAiService`. Opt-in.
|
|
38
|
+
*/
|
|
39
|
+
dynamicValuePatterns?: readonly RegExp[];
|
|
40
|
+
/**
|
|
41
|
+
* Options for the agent process (system prompt, tool backgrounding, delegation strategy, etc.).
|
|
42
|
+
* The model defaults to the resolved test-layer model when not set here.
|
|
43
|
+
*/
|
|
44
|
+
agent?: AgentServiceRuntime.AgentServiceOptions;
|
|
45
|
+
/**
|
|
46
|
+
* Extra services to make available in the service resolver.
|
|
47
|
+
* Operations can depend on those services.
|
|
48
|
+
*/
|
|
49
|
+
extraServices?: Layer.Layer<never, never, never>;
|
|
50
|
+
}
|
|
51
|
+
export type AssistantTestServices = LanguageModel.LanguageModel | Credential.CredentialsService | AgentService.AgentService | AiService.AiService | Database.Service | Registry.Service | OpaqueToolkit.OpaqueToolkitProvider | Operation.Service | ProcessManager.Service | Process.ProcessMonitorService | AtomRegistry.AtomRegistry | OperationHandlerSet.OperationHandlerProvider | KeyValueStore.KeyValueStore | ServiceResolver.ServiceResolver | Trace.TraceService | Trace.TraceSink | FeedTraceSink.FeedTraceSink;
|
|
52
|
+
export declare const AssistantTestLayer: (options?: TestLayerOptions) => Layer.Layer<AssistantTestServices, never, TestContextService>;
|
|
53
|
+
/** Late-bound reference to the {@link ProcessManager.Service}, filled once the manager is built. */
|
|
54
|
+
interface ProcessManagerHolder {
|
|
55
|
+
current?: Context.Tag.Service<ProcessManager.Service>;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Service resolver for testing.
|
|
59
|
+
*/
|
|
60
|
+
export declare const AssistantTestServiceResolverLayer: ({ extraServices }: Pick<TestLayerOptions, 'extraServices'>, processManagerHolder: ProcessManagerHolder) => Layer.Layer<ServiceResolver.ServiceResolver, never, AiService.AiService | Credential.CredentialsService | OpaqueToolkit.OpaqueToolkitProvider | Registry.Service | Database.Service>;
|
|
61
|
+
/**
|
|
62
|
+
* Only storage + registry.
|
|
63
|
+
*/
|
|
64
|
+
export declare const AssistantTestBaseLayer: ({ operationHandlers, toolkits, types, credentials, skills, }: Pick<TestLayerOptions, 'operationHandlers' | 'toolkits' | 'types' | 'skills' | 'tracing' | 'credentials'>) => Layer.Layer<AtomRegistry.AtomRegistry | Credential.CredentialsService | KeyValueStore.KeyValueStore | OpaqueToolkit.OpaqueToolkitProvider | OperationHandlerSet.OperationHandlerProvider | Registry.Service | Database.Service, never, never>;
|
|
65
|
+
interface TestLayerWithTriggersOptions extends TestLayerOptions {
|
|
66
|
+
}
|
|
67
|
+
export type AssistantTestServicesWithTriggers = AssistantTestServices | TriggerDispatcher | TriggerStateStore;
|
|
68
|
+
export declare const AssistantTestLayerWithTriggers: (options: TestLayerWithTriggersOptions) => Layer.Layer<AssistantTestServicesWithTriggers, never, TestContextService>;
|
|
69
|
+
export {};
|
|
70
|
+
//# sourceMappingURL=assistant-test-layer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant-test-layer.d.ts","sourceRoot":"","sources":["../../../../src/testing/assistant-test-layer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/index.ts"],"names":[],"mappings":"AAIA,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as Effect from 'effect/Effect';
|
|
2
|
+
import * as Layer from 'effect/Layer';
|
|
3
|
+
import { Trace } from '@dxos/compute';
|
|
4
|
+
import { Database } from '@dxos/echo';
|
|
5
|
+
/**
|
|
6
|
+
* Pretty-prints assistant trace messages to stdout (CompleteBlock, process spawn/exit).
|
|
7
|
+
*/
|
|
8
|
+
export declare const prettyPrintTraceMessage: (message: Trace.Message) => void;
|
|
9
|
+
/** {@link Trace.TraceSink} layer that mirrors {@link AssistantTestLayer}'s `tracing: 'pretty'` mode. */
|
|
10
|
+
export declare const traceSinkPrettyLayer: () => Layer.Layer<Trace.TraceSink>;
|
|
11
|
+
/**
|
|
12
|
+
* Subscribes to the space trace feed and pretty-prints newly appended messages.
|
|
13
|
+
* Returns an unsubscribe function. Requires ambient {@link Database.Service}.
|
|
14
|
+
*/
|
|
15
|
+
export declare const traceFeedPrettyPrintSubscription: Effect.Effect<import("@dxos/async").CleanupFn, never, Database.Service>;
|
|
16
|
+
//# sourceMappingURL=trace-pretty-print.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-pretty-print.d.ts","sourceRoot":"","sources":["../../../../src/testing/trace-pretty-print.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,OAAO,EAAW,KAAK,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,uBAAuB,YAAa,KAAK,CAAC,OAAO,KAAG,IAYhE,CAAC;AAEF,wGAAwG;AACxG,eAAO,MAAM,oBAAoB,QAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAG/D,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,gCAAgC,yEAc3C,CAAC"}
|