@pi-oxide/pi-host-web 0.5.0 → 0.8.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 (85) hide show
  1. package/dist/bindings.d.ts +2 -0
  2. package/dist/index-CAp51VNq.js +867 -0
  3. package/dist/index-Is-rTdaY.js +867 -0
  4. package/dist/index.d.ts +2 -0
  5. package/dist/index.js +1706 -0
  6. package/dist/sdk/agent.d.ts +21 -0
  7. package/dist/sdk/agent.d.ts.map +1 -0
  8. package/dist/sdk/artifacts.d.ts +29 -0
  9. package/dist/sdk/artifacts.d.ts.map +1 -0
  10. package/dist/sdk/bindings/host-agent.d.ts +16 -0
  11. package/dist/sdk/bindings/host-agent.d.ts.map +1 -0
  12. package/dist/sdk/bindings/index.d.ts +7 -0
  13. package/dist/sdk/bindings/index.d.ts.map +1 -0
  14. package/dist/sdk/bindings/index.js +14 -0
  15. package/dist/sdk/bindings/init.d.ts +30 -0
  16. package/dist/sdk/bindings/init.d.ts.map +1 -0
  17. package/dist/sdk/bindings/markers.d.ts +9 -0
  18. package/dist/sdk/bindings/markers.d.ts.map +1 -0
  19. package/dist/sdk/bindings/tool-preparation.d.ts +12 -0
  20. package/dist/sdk/bindings/tool-preparation.d.ts.map +1 -0
  21. package/dist/sdk/bindings/turn-loop.d.ts +5 -0
  22. package/dist/sdk/bindings/turn-loop.d.ts.map +1 -0
  23. package/dist/sdk/bindings/types.d.ts +60 -0
  24. package/dist/sdk/bindings/types.d.ts.map +1 -0
  25. package/dist/sdk/context.d.ts +2 -0
  26. package/dist/sdk/context.d.ts.map +1 -0
  27. package/dist/sdk/errors.d.ts +8 -0
  28. package/dist/sdk/errors.d.ts.map +1 -0
  29. package/dist/sdk/events.d.ts +9 -0
  30. package/dist/sdk/events.d.ts.map +1 -0
  31. package/dist/sdk/index.d.ts +16 -0
  32. package/dist/sdk/index.d.ts.map +1 -0
  33. package/dist/sdk/init.d.ts +2 -0
  34. package/dist/sdk/init.d.ts.map +1 -0
  35. package/dist/sdk/internal/engine.d.ts +4 -0
  36. package/dist/sdk/internal/engine.d.ts.map +1 -0
  37. package/dist/sdk/internal/events.d.ts +30 -0
  38. package/dist/sdk/internal/events.d.ts.map +1 -0
  39. package/dist/sdk/internal/logger.d.ts +51 -0
  40. package/dist/sdk/internal/logger.d.ts.map +1 -0
  41. package/dist/sdk/internal/providers/anthropic.d.ts +75 -0
  42. package/dist/sdk/internal/providers/anthropic.d.ts.map +1 -0
  43. package/dist/sdk/internal/providers/openai.d.ts +13 -0
  44. package/dist/sdk/internal/providers/openai.d.ts.map +1 -0
  45. package/dist/sdk/internal/providers/types.d.ts +57 -0
  46. package/dist/sdk/internal/providers/types.d.ts.map +1 -0
  47. package/dist/sdk/internal/stores/indexedDb.d.ts +3 -0
  48. package/dist/sdk/internal/stores/indexedDb.d.ts.map +1 -0
  49. package/dist/sdk/internal/stores/persistence.d.ts +13 -0
  50. package/dist/sdk/internal/stores/persistence.d.ts.map +1 -0
  51. package/dist/sdk/internal/tools/artifact.d.ts +3 -0
  52. package/dist/sdk/internal/tools/artifact.d.ts.map +1 -0
  53. package/dist/sdk/internal/tools/browser.d.ts +19 -0
  54. package/dist/sdk/internal/tools/browser.d.ts.map +1 -0
  55. package/dist/sdk/internal/tools/browserRuntime.d.ts +47 -0
  56. package/dist/sdk/internal/tools/browserRuntime.d.ts.map +1 -0
  57. package/dist/sdk/internal/tools/liveRuntime.d.ts +12 -0
  58. package/dist/sdk/internal/tools/liveRuntime.d.ts.map +1 -0
  59. package/dist/sdk/internal/tools/registry.d.ts +17 -0
  60. package/dist/sdk/internal/tools/registry.d.ts.map +1 -0
  61. package/dist/sdk/internal/tools/service.d.ts +15 -0
  62. package/dist/sdk/internal/tools/service.d.ts.map +1 -0
  63. package/dist/sdk/internal/util/types.d.ts +6 -0
  64. package/dist/sdk/internal/util/types.d.ts.map +1 -0
  65. package/dist/sdk/model.d.ts +16 -0
  66. package/dist/sdk/model.d.ts.map +1 -0
  67. package/dist/sdk/orchestration/agent-engine.d.ts +24 -0
  68. package/dist/sdk/orchestration/agent-engine.d.ts.map +1 -0
  69. package/dist/sdk/orchestration/config-builders.d.ts +13 -0
  70. package/dist/sdk/orchestration/config-builders.d.ts.map +1 -0
  71. package/dist/sdk/orchestration/model-adapter.d.ts +10 -0
  72. package/dist/sdk/orchestration/model-adapter.d.ts.map +1 -0
  73. package/dist/sdk/snapshot.d.ts +7 -0
  74. package/dist/sdk/snapshot.d.ts.map +1 -0
  75. package/dist/sdk/stores.d.ts +22 -0
  76. package/dist/sdk/stores.d.ts.map +1 -0
  77. package/dist/sdk/tools.d.ts +32 -0
  78. package/dist/sdk/tools.d.ts.map +1 -0
  79. package/dist/sdk/types.d.ts +200 -0
  80. package/dist/sdk/types.d.ts.map +1 -0
  81. package/package.json +107 -5
  82. package/pi_host_web.d.ts +4 -17
  83. package/pi_host_web.js +1 -13
  84. package/pi_host_web_bg.wasm +0 -0
  85. package/pi_host_web_bg.wasm.d.ts +36 -0
@@ -0,0 +1,21 @@
1
+ import { AgentConfig, AgentEventHandler, AgentEventName, AgentInput, AgentRunOptions, AgentRunResult, AgentStatus, Unsubscribe } from './types';
2
+ export declare class Agent {
3
+ private config;
4
+ private emitter;
5
+ private status;
6
+ private currentRun;
7
+ private currentAbortController;
8
+ private disposed;
9
+ private engineAgent;
10
+ private logger;
11
+ constructor(config: AgentConfig);
12
+ on<E extends AgentEventName>(event: E, handler: AgentEventHandler<E>): Unsubscribe;
13
+ run(input: string | AgentInput, options?: AgentRunOptions): Promise<AgentRunResult>;
14
+ private _doRun;
15
+ stop(reason?: string): void;
16
+ steer(input: string | AgentInput): Promise<void>;
17
+ reset(): Promise<void>;
18
+ dispose(): void;
19
+ getStatus(): AgentStatus;
20
+ }
21
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../sdk/agent.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACX,WAAW,EAEX,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,eAAe,EACf,cAAc,EACd,WAAW,EAEX,WAAW,EACX,MAAM,YAAY,CAAC;AAEpB,qBAAa,KAAK;IACjB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,UAAU,CAAwC;IAC1D,OAAO,CAAC,sBAAsB,CAAgC;IAC9D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,WAAW;IAM/B,EAAE,CAAC,CAAC,SAAS,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,WAAW;IAO5E,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;YAoF3E,MAAM;IAiEpB,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAMrB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAahD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B,OAAO,IAAI,IAAI;IAgBf,SAAS,IAAI,WAAW;CAGxB"}
@@ -0,0 +1,29 @@
1
+ export interface AgentArtifact {
2
+ id: string;
3
+ kind: "text" | "json" | "binary";
4
+ content: string | Uint8Array | unknown;
5
+ mimeType?: string;
6
+ title?: string;
7
+ metadata?: Record<string, unknown>;
8
+ createdAt: number;
9
+ }
10
+ export interface AgentArtifactRef {
11
+ id: string;
12
+ kind: AgentArtifact["kind"];
13
+ title?: string;
14
+ mimeType?: string;
15
+ }
16
+ export interface ArtifactPolicy {
17
+ mode: "inline" | "external";
18
+ }
19
+ export interface ArtifactSearchQuery {
20
+ text: string;
21
+ limit?: number;
22
+ }
23
+ export interface ArtifactSearchResult {
24
+ artifact: AgentArtifactRef;
25
+ snippet?: string;
26
+ score?: number;
27
+ matchCount?: number;
28
+ }
29
+ //# sourceMappingURL=artifacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../sdk/artifacts.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACpC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,16 @@
1
+ import { PersistData, AgentEvent as RawAgentEvent, AgentMessage as WasmAgentMessage } from '../../../pi_host_web.js';
2
+ import { AgentConfig } from '../types';
3
+ export declare class HostAgent {
4
+ /** @internal */
5
+ readonly handle: number;
6
+ readonly sessionId: string | undefined;
7
+ constructor(handle: number, sessionId?: string);
8
+ getSessionId(): string | undefined;
9
+ steer(message: WasmAgentMessage): {
10
+ events: RawAgentEvent[];
11
+ };
12
+ getPersistData(): PersistData;
13
+ destroy(): void;
14
+ }
15
+ export declare function createHostAgentInstance(config: AgentConfig, sessionState?: PersistData): Promise<HostAgent>;
16
+ //# sourceMappingURL=host-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-agent.d.ts","sourceRoot":"","sources":["../../../sdk/bindings/host-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,KAAK,WAAW,EAChB,KAAK,UAAU,IAAI,aAAa,EAEhC,KAAK,YAAY,IAAI,gBAAgB,EACrC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK/C,qBAAa,SAAS;IACrB,gBAAgB;IAChB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE3B,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAK9C,YAAY,IAAI,MAAM,GAAG,SAAS;IAIlC,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG;QAAE,MAAM,EAAE,aAAa,EAAE,CAAA;KAAE;IAK7D,cAAc,IAAI,WAAW;IAK7B,OAAO;CAGP;AAED,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAoBjH"}
@@ -0,0 +1,7 @@
1
+ export { ensureInit, HostError, setLogLevel, toolResult, unwrap, } from './init';
2
+ export { HostAgent, createHostAgentInstance } from './host-agent';
3
+ export { runTurnWithHostAgent } from './turn-loop';
4
+ export { buildToolCallPreparations, toolErrorFromUnknown } from './tool-preparation';
5
+ export { processStepMarkers } from './markers';
6
+ export type { AgentRunConfig, ArtifactStore, LlmStream, TurnResult } from './types';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../sdk/bindings/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,MAAM,GACN,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { H as o, b as a, d as t, i as e, j as n, p as l, r as u, q as p, u as i, v as H, w as g } from "../../index-CAp51VNq.js";
2
+ export {
3
+ o as HostAgent,
4
+ a as HostError,
5
+ t as buildToolCallPreparations,
6
+ e as createHostAgentInstance,
7
+ n as ensureInit,
8
+ l as processStepMarkers,
9
+ u as runTurnWithHostAgent,
10
+ p as setLogLevel,
11
+ i as toolErrorFromUnknown,
12
+ H as toolResult,
13
+ g as unwrap
14
+ };
@@ -0,0 +1,30 @@
1
+ import { LogLevel } from '../types';
2
+ /** Ensure the WASM module is loaded. Safe to call multiple times. */
3
+ export declare function ensureInit(): Promise<void>;
4
+ /** Set the log level for both JS SDK and WASM core. */
5
+ export declare function setLogLevel(level: LogLevel): void;
6
+ export declare class HostError extends Error {
7
+ code: string;
8
+ constructor(code: string, message: string);
9
+ }
10
+ export declare function unwrap(result: {
11
+ ok: boolean;
12
+ data?: unknown;
13
+ error?: {
14
+ code: string;
15
+ message: string;
16
+ };
17
+ }): unknown;
18
+ /** Build a successful tool result payload. */
19
+ export declare function toolResult(text: string, opts?: {
20
+ terminate?: boolean;
21
+ details?: Record<string, unknown>;
22
+ }): {
23
+ content: Array<{
24
+ type: "text";
25
+ text: string;
26
+ }>;
27
+ terminate?: boolean;
28
+ details?: Record<string, unknown>;
29
+ };
30
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../sdk/bindings/init.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5C,qEAAqE;AACrE,wBAAsB,UAAU,kBAU/B;AAED,uDAAuD;AACvD,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,QAO1C;AAED,qBAAa,SAAU,SAAQ,KAAK;IACnC,IAAI,EAAE,MAAM,CAAC;gBACD,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAKzC;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C,GAAG,OAAO,CAKV;AAED,8CAA8C;AAC9C,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAO;aAEnG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;gBAClC,OAAO;cACT,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;EAWlC"}
@@ -0,0 +1,9 @@
1
+ import { HostAgent } from './host-agent';
2
+ import { AgentRunConfig } from './types';
3
+ export declare function processStepMarkers(step: {
4
+ markers?: Array<{
5
+ type: string;
6
+ entry_ids?: string[];
7
+ }>;
8
+ }, hostAgent: HostAgent, config: AgentRunConfig): Promise<void>;
9
+ //# sourceMappingURL=markers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../../sdk/bindings/markers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,wBAAsB,kBAAkB,CACvC,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAAE,EACjE,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,cAAc,GACpB,OAAO,CAAC,IAAI,CAAC,CAWf"}
@@ -0,0 +1,12 @@
1
+ import { ToolCall, ToolCallPreparation, ToolError } from '../../../pi_host_web.js';
2
+ import { Logger } from '../types';
3
+ import { AgentRunConfig } from './types';
4
+ export declare function toolErrorFromUnknown(e: unknown): ToolError;
5
+ interface ToolCallPrepResult {
6
+ items: ToolCallPreparation[];
7
+ hadError: boolean;
8
+ errorMessage?: string;
9
+ }
10
+ export declare function buildToolCallPreparations(calls: ToolCall[], hooks: AgentRunConfig["prepareToolCalls"], logger: Logger): Promise<ToolCallPrepResult>;
11
+ export {};
12
+ //# sourceMappingURL=tool-preparation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-preparation.d.ts","sourceRoot":"","sources":["../../../sdk/bindings/tool-preparation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAsBjD,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS,CAQ1D;AAED,UAAU,kBAAkB;IAC3B,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,yBAAyB,CAC9C,KAAK,EAAE,QAAQ,EAAE,EACjB,KAAK,EAAE,cAAc,CAAC,kBAAkB,CAAC,EACzC,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,kBAAkB,CAAC,CA2C7B"}
@@ -0,0 +1,5 @@
1
+ import { AgentMessage as WasmAgentMessage } from '../../../pi_host_web.js';
2
+ import { HostAgent } from './host-agent';
3
+ import { AgentRunConfig, TurnResult } from './types';
4
+ export declare function runTurnWithHostAgent(hostAgent: HostAgent, message: WasmAgentMessage, config: AgentRunConfig): Promise<TurnResult>;
5
+ //# sourceMappingURL=turn-loop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-loop.d.ts","sourceRoot":"","sources":["../../../sdk/bindings/turn-loop.ts"],"names":[],"mappings":"AAAA,OAAO,EAWN,KAAK,YAAY,IAAI,gBAAgB,EACrC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAIjD,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7D,wBAAsB,oBAAoB,CACzC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,cAAc,GACpB,OAAO,CAAC,UAAU,CAAC,CA4LrB"}
@@ -0,0 +1,60 @@
1
+ import { AgentEvent as RawAgentEvent, LlmChunk, LlmContext, LlmResult, PersistData, ToolCall, ToolDefinition, AgentMessage as WasmAgentMessage } from '../../../pi_host_web.js';
2
+ import { Logger } from '../types';
3
+ export interface ArtifactStore {
4
+ save(sessionId: string, artifactId: string, content: string): Promise<void>;
5
+ load(sessionId: string, artifactId: string): Promise<string | null>;
6
+ search(sessionId: string, query: string): Promise<Array<{
7
+ id: string;
8
+ snippet: string;
9
+ match_count: number;
10
+ }>>;
11
+ }
12
+ export interface AgentRunConfig {
13
+ llm: {
14
+ call(context: LlmContext, signal?: AbortSignal): Promise<LlmStream> | LlmStream;
15
+ summarize?(messages: WasmAgentMessage[], signal?: AbortSignal): Promise<string>;
16
+ };
17
+ tools: Record<string, (call: ToolCall) => Promise<import('../../pi_host_web.js').ToolResult> | import('../../pi_host_web.js').ToolResult>;
18
+ llmTools?: ToolDefinition[];
19
+ onEvent?: (event: RawAgentEvent) => void;
20
+ onMarkers?: (markers: Array<{
21
+ type: string;
22
+ entry_ids?: string[];
23
+ }>) => void;
24
+ signal?: AbortSignal;
25
+ onPersist?: (data: PersistData) => Promise<void>;
26
+ artifactStore?: ArtifactStore;
27
+ logger?: Logger;
28
+ prepareToolCalls?: {
29
+ transform?: (call: ToolCall) => {
30
+ type: "none";
31
+ } | {
32
+ type: "rewrite_args";
33
+ arguments: unknown;
34
+ } | Promise<{
35
+ type: "none";
36
+ } | {
37
+ type: "rewrite_args";
38
+ arguments: unknown;
39
+ }>;
40
+ permission?: (call: ToolCall) => {
41
+ type: "allow";
42
+ } | {
43
+ type: "block";
44
+ reason: string;
45
+ } | Promise<{
46
+ type: "allow";
47
+ } | {
48
+ type: "block";
49
+ reason: string;
50
+ }>;
51
+ };
52
+ }
53
+ export interface LlmStream {
54
+ chunks: AsyncIterable<LlmChunk>;
55
+ result: Promise<LlmResult>;
56
+ }
57
+ export interface TurnResult {
58
+ aborted: boolean;
59
+ }
60
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../sdk/bindings/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export type { AgentContextPolicy, AgentSummarizer } from './types';
2
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../sdk/context.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { AgentError } from './types';
2
+ export type { AgentError } from './types';
3
+ export declare function createAgentError(code: AgentError["code"], message: string, options?: {
4
+ cause?: unknown;
5
+ recoverable?: boolean;
6
+ metadata?: Record<string, unknown>;
7
+ }): AgentError;
8
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../sdk/errors.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAgB,gBAAgB,CAC/B,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IACT,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,GACC,UAAU,CAQZ"}
@@ -0,0 +1,9 @@
1
+ import { AgentEventHandler, AgentEventName } from './types';
2
+ export declare class EventEmitter {
3
+ private handlers;
4
+ on<E extends AgentEventName>(event: E, handler: AgentEventHandler<E>): () => void;
5
+ off<E extends AgentEventName>(event: E, handler: AgentEventHandler<E>): void;
6
+ emit<E extends AgentEventName>(event: E, payload: Parameters<AgentEventHandler<E>>[0]): void;
7
+ clear(): void;
8
+ }
9
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../sdk/events.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIpE,qBAAa,YAAY;IACxB,OAAO,CAAC,QAAQ,CAAwD;IAExE,EAAE,CAAC,CAAC,SAAS,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAejF,GAAG,CAAC,CAAC,SAAS,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI;IAS5E,IAAI,CAAC,CAAC,SAAS,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAQ5F,KAAK,IAAI,IAAI;CAGb"}
@@ -0,0 +1,16 @@
1
+ export { Agent } from './agent';
2
+ export type { AgentArtifact, AgentArtifactRef, ArtifactPolicy, ArtifactSearchQuery, ArtifactSearchResult, } from './artifacts';
3
+ export { createAgentError } from './errors';
4
+ export { ensureInit, HostError, toolResult, unwrap } from './init';
5
+ export type { LogEntry } from './internal/logger';
6
+ export { CallbackLogger, ConsoleLogger, clearLoggers, getGlobalLogLevel, getLogger, NoopLogger, setGlobalLogLevel, setLogger, } from './internal/logger';
7
+ export { anthropic } from './internal/providers/anthropic';
8
+ export { openai, openaiCompatible } from './internal/providers/openai';
9
+ export { artifactTools } from './internal/tools/artifact';
10
+ export { browserTools } from './internal/tools/browser';
11
+ export { defineModel } from './model';
12
+ export { httpStore, indexedDbStore, localStorageStore, memoryStore } from './stores';
13
+ export { defineTools, tool } from './tools';
14
+ export type { ToolConfig, ToolInputSchema } from './tools';
15
+ export type { AgentConfig, AgentContentBlock, AgentContextPolicy, AgentError, AgentEventHandler, AgentEventName, AgentInput, AgentMessage, AgentModel, AgentRunOptions, AgentRunResult, AgentSnapshot, AgentStatus, AgentStore, AgentSummarizer, AgentTelemetry, AgentToolDefinition, AgentToolRun, AgentTools, Logger, LogLevel, ModelEvent, ModelRequest, ModelResponse, TokenUsage, Unsubscribe, } from './types';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../sdk/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EACX,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACtE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACN,cAAc,EACd,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,SAAS,GACT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC9D,YAAY,EACX,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,UAAU,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,MAAM,EACN,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,GACX,MAAM,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ensureInit, HostError, setLogLevel, toolResult, unwrap, } from './bindings/init';
2
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../sdk/init.ts"],"names":[],"mappings":"AACA,OAAO,EACN,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,MAAM,GACN,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** @deprecated Import from `../orchestration/agent-engine.ts` instead. */
2
+ export { createEngineAgent, createHostAgentInstance, destroyEngineAgent, HostAgent, resetAgentState, runAgentTurn, runTurnWithHostAgent, steerAgent, } from '../orchestration/agent-engine';
3
+ export type { AgentRunConfig, LlmStream, TurnResult } from '../bindings/types';
4
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../sdk/internal/engine.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,OAAO,EACN,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,SAAS,EACT,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,UAAU,GACV,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { AgentEvent as RawAgentEvent } from '../../../pi_host_web.js';
2
+ import { AgentArtifactRef, AgentMessage, AgentRunResult, AgentToolRun, TokenUsage } from '../types';
3
+ export interface SemanticEvent {
4
+ type: string;
5
+ payload: unknown;
6
+ }
7
+ export interface RunState {
8
+ messages: AgentMessage[];
9
+ toolCalls: AgentToolRun[];
10
+ artifacts: AgentArtifactRef[];
11
+ usage: TokenUsage;
12
+ text: string;
13
+ currentMessage: AgentMessage | null;
14
+ currentTool: AgentToolRun | null;
15
+ }
16
+ export declare class EventMapper {
17
+ createRunState(): RunState;
18
+ map(rawEvent: RawAgentEvent, state: RunState): SemanticEvent[];
19
+ buildRunResult(state: RunState, turnResult: {
20
+ aborted: boolean;
21
+ }): AgentRunResult;
22
+ processMarkers(markers: Array<{
23
+ type: string;
24
+ entry_ids?: string[];
25
+ }>, state: RunState): SemanticEvent[];
26
+ private convertWasmMessage;
27
+ private generateStableId;
28
+ private convertContent;
29
+ }
30
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../sdk/internal/events.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAW,UAAU,IAAI,aAAa,EAAoC,MAAM,sBAAsB,CAAC;AACnH,OAAO,KAAK,EACX,gBAAgB,EAEhB,YAAY,EACZ,cAAc,EAEd,YAAY,EACZ,UAAU,EACV,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACxB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,YAAY,GAAG,IAAI,CAAC;IACpC,WAAW,EAAE,YAAY,GAAG,IAAI,CAAC;CACjC;AAED,qBAAa,WAAW;IACvB,cAAc,IAAI,QAAQ;IAY1B,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,GAAG,aAAa,EAAE;IAgL9D,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,cAAc;IAqBjF,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,aAAa,EAAE;IAaxG,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,cAAc;CAMtB"}
@@ -0,0 +1,51 @@
1
+ export type LogLevel = "trace" | "debug" | "info" | "warn" | "error";
2
+ export interface LogEntry {
3
+ level: LogLevel;
4
+ scope: string;
5
+ message: string;
6
+ context?: Record<string, unknown>;
7
+ timestamp: number;
8
+ }
9
+ export interface Logger {
10
+ trace(message: string, context?: Record<string, unknown>): void;
11
+ debug(message: string, context?: Record<string, unknown>): void;
12
+ info(message: string, context?: Record<string, unknown>): void;
13
+ warn(message: string, context?: Record<string, unknown>): void;
14
+ error(message: string, context?: Record<string, unknown>): void;
15
+ }
16
+ export declare function getGlobalLogLevel(): LogLevel;
17
+ export declare function setGlobalLogLevel(level: LogLevel): void;
18
+ export declare class ConsoleLogger implements Logger {
19
+ private scope;
20
+ private minLevel;
21
+ constructor(scope: string, minLevel?: LogLevel);
22
+ private shouldLog;
23
+ private log;
24
+ trace(message: string, context?: Record<string, unknown>): void;
25
+ debug(message: string, context?: Record<string, unknown>): void;
26
+ info(message: string, context?: Record<string, unknown>): void;
27
+ warn(message: string, context?: Record<string, unknown>): void;
28
+ error(message: string, context?: Record<string, unknown>): void;
29
+ }
30
+ export declare class NoopLogger implements Logger {
31
+ trace(): void;
32
+ debug(): void;
33
+ info(): void;
34
+ warn(): void;
35
+ error(): void;
36
+ }
37
+ export declare class CallbackLogger implements Logger {
38
+ private callback;
39
+ private scope;
40
+ constructor(callback: (entry: LogEntry) => void, scope: string);
41
+ private emit;
42
+ trace(message: string, context?: Record<string, unknown>): void;
43
+ debug(message: string, context?: Record<string, unknown>): void;
44
+ info(message: string, context?: Record<string, unknown>): void;
45
+ warn(message: string, context?: Record<string, unknown>): void;
46
+ error(message: string, context?: Record<string, unknown>): void;
47
+ }
48
+ export declare function getLogger(scope: string): Logger;
49
+ export declare function setLogger(scope: string, logger: Logger): void;
50
+ export declare function clearLoggers(): void;
51
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../sdk/internal/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { ToolDefinition } from '../../../../pi_host_web.js';
2
+ import { AgentMessageShape, LlmRequest, ProviderResult } from './types';
3
+ import { AgentModel } from '../../types';
4
+ interface AnthropicMessage {
5
+ role: "user" | "assistant";
6
+ content: string | AnthropicContentBlock[];
7
+ }
8
+ type AnthropicContentBlock = {
9
+ type: "text";
10
+ text: string;
11
+ } | {
12
+ type: "tool_use";
13
+ id: string;
14
+ name: string;
15
+ input: Record<string, unknown>;
16
+ } | {
17
+ type: "tool_result";
18
+ tool_use_id: string;
19
+ content: string | AnthropicContentBlock[];
20
+ is_error?: boolean;
21
+ };
22
+ interface AnthropicTool {
23
+ name: string;
24
+ description: string;
25
+ input_schema: object;
26
+ }
27
+ interface AnthropicResponse {
28
+ id: string;
29
+ type: "message";
30
+ role: "assistant";
31
+ content: AnthropicContentBlock[];
32
+ model: string;
33
+ stop_reason: "end_turn" | "max_tokens" | "stop_sequence" | "tool_use" | null;
34
+ usage: {
35
+ input_tokens: number;
36
+ output_tokens: number;
37
+ cache_creation_input_tokens?: number;
38
+ cache_read_input_tokens?: number;
39
+ };
40
+ }
41
+ /**
42
+ * Convert Rust agent messages to Anthropic Messages API format.
43
+ *
44
+ * Anthropic requires that multiple tool_result responses to a single assistant
45
+ * message with multiple tool_use blocks be grouped into ONE user message
46
+ * containing an array of tool_result blocks. Sending separate consecutive
47
+ * user messages each with a single tool_result block triggers an API error:
48
+ * "messages: Unexpected role change from user to user"
49
+ *
50
+ * See: https://docs.anthropic.com/en/docs/build-with-claude/tool-use#handling-tool-use-and-tool-result-content-blocks
51
+ */
52
+ export declare function convertMessages(messages: AgentMessageShape[]): AnthropicMessage[];
53
+ export declare function convertTools(tools: ToolDefinition[]): AnthropicTool[];
54
+ export declare function convertResponse(resp: AnthropicResponse, providerName: string, modelId: string): {
55
+ llmResult: object;
56
+ chunks: object[];
57
+ };
58
+ export interface AnthropicConfig {
59
+ apiKey: string;
60
+ baseUrl: string;
61
+ model: string;
62
+ maxTokens?: number;
63
+ }
64
+ /**
65
+ * Call the Anthropic Messages API and return a ProviderResult.
66
+ */
67
+ export declare function callAnthropic(request: LlmRequest, config: AnthropicConfig): Promise<ProviderResult>;
68
+ export declare function anthropic(config: {
69
+ apiKey: string;
70
+ model: string;
71
+ baseUrl?: string;
72
+ maxTokens?: number;
73
+ }): AgentModel;
74
+ export {};
75
+ //# sourceMappingURL=anthropic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../../sdk/internal/providers/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAgB,UAAU,EAAE,cAAc,EAAc,MAAM,YAAY,CAAC;AAI1G,UAAU,gBAAgB;IACzB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAAC;CAC1C;AAED,KAAK,qBAAqB,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IACA,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B,GACD;IACA,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEL,UAAU,aAAa;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,iBAAiB;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,UAAU,GAAG,YAAY,GAAG,eAAe,GAAG,UAAU,GAAG,IAAI,CAAC;IAC7E,KAAK,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,2BAA2B,CAAC,EAAE,MAAM,CAAC;QACrC,uBAAuB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACF;AASD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,gBAAgB,EAAE,CAuDjF;AAID,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,aAAa,EAAE,CAMrE;AAID,wBAAgB,eAAe,CAC9B,IAAI,EAAE,iBAAiB,EACvB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GACb;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAmEzC;AAID,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CA6DzG;AAMD,OAAO,KAAK,EAAE,UAAU,EAA+B,MAAM,gBAAgB,CAAC;AAE9E,wBAAgB,SAAS,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAqHrH"}
@@ -0,0 +1,13 @@
1
+ import { AgentModel } from '../../types';
2
+ export declare function openaiCompatible(config: {
3
+ apiKey: string;
4
+ baseUrl: string;
5
+ model: string;
6
+ maxTokens?: number;
7
+ }): AgentModel;
8
+ export declare function openai(config: {
9
+ apiKey: string;
10
+ model: string;
11
+ maxTokens?: number;
12
+ }): AgentModel;
13
+ //# sourceMappingURL=openai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../../sdk/internal/providers/openai.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAqB,UAAU,EAA+B,MAAM,gBAAgB,CAAC;AAEjG,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,UAAU,CAuKb;AAGD,wBAAgB,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAOhG"}
@@ -0,0 +1,57 @@
1
+ import { ToolDefinition } from '../../../../pi_host_web.js';
2
+ /** Context from the Rust agent for a stream_llm action. */
3
+ export interface LlmRequest {
4
+ system_prompt: string;
5
+ messages: AgentMessageShape[];
6
+ tools: ToolDefinition[];
7
+ }
8
+ /** The shape of a message as it flows through the Rust core. */
9
+ export type AgentMessageShape = {
10
+ role: "user";
11
+ content: ContentBlock[];
12
+ timestamp: number;
13
+ } | {
14
+ role: "assistant";
15
+ content: ContentBlock[];
16
+ api: string;
17
+ provider: string;
18
+ model: string;
19
+ stop_reason: string;
20
+ error_message: string | null;
21
+ timestamp: number;
22
+ usage: TokenUsage;
23
+ } | {
24
+ role: "tool_result";
25
+ tool_call_id: string;
26
+ tool_name: string;
27
+ content: ContentBlock[];
28
+ details: unknown;
29
+ is_error: boolean;
30
+ timestamp: number;
31
+ };
32
+ export interface ContentBlock {
33
+ type: string;
34
+ text?: string;
35
+ id?: string;
36
+ name?: string;
37
+ arguments?: Record<string, unknown>;
38
+ media_type?: string;
39
+ data?: string;
40
+ }
41
+ export interface TokenUsage {
42
+ input: number;
43
+ output: number;
44
+ cache_read: number;
45
+ cache_write: number;
46
+ total_tokens: number;
47
+ }
48
+ /** Result from the provider — fed back into Rust via onLlmDone. */
49
+ export interface ProviderResult {
50
+ /** The LlmResult JSON to pass to onLlmDone. */
51
+ llmResult: object;
52
+ /** Chunks to feed via feedLlmChunk before calling onLlmDone. */
53
+ chunks: object[];
54
+ /** Log entries from the provider call. */
55
+ log: string[];
56
+ }
57
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../sdk/internal/providers/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,2DAA2D;AAC3D,MAAM,WAAW,UAAU;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,KAAK,EAAE,cAAc,EAAE,CAAC;CACxB;AAED,gEAAgE;AAChE,MAAM,MAAM,iBAAiB,GAC1B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC5D;IACA,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,UAAU,CAAC;CACjB,GACD;IACA,IAAI,EAAE,aAAa,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACjB,CAAC;AAEL,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,mEAAmE;AACnE,MAAM,WAAW,cAAc;IAC9B,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,0CAA0C;IAC1C,GAAG,EAAE,MAAM,EAAE,CAAC;CACd"}
@@ -0,0 +1,3 @@
1
+ import { AgentStore } from '../../types';
2
+ export declare function indexedDbStore(): AgentStore;
3
+ //# sourceMappingURL=indexedDb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexedDb.d.ts","sourceRoot":"","sources":["../../../../sdk/internal/stores/indexedDb.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAiB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGhE,wBAAgB,cAAc,IAAI,UAAU,CAiB3C"}
@@ -0,0 +1,13 @@
1
+ import { PersistData } from '../../../../pi_host_web.js';
2
+ export interface SessionBackend {
3
+ save(sessionId: string, state: PersistData): Promise<void>;
4
+ load(sessionId: string): Promise<PersistData | null>;
5
+ }
6
+ export declare class IndexedDBSessionBackend implements SessionBackend {
7
+ private dbPromise;
8
+ constructor();
9
+ private openDB;
10
+ save(sessionId: string, state: PersistData): Promise<void>;
11
+ load(sessionId: string): Promise<PersistData | null>;
12
+ }
13
+ //# sourceMappingURL=persistence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../../sdk/internal/stores/persistence.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC9B,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACrD;AAMD,qBAAa,uBAAwB,YAAW,cAAc;IAC7D,OAAO,CAAC,SAAS,CAAuB;;IAMxC,OAAO,CAAC,MAAM;IAoBR,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAc1D,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;CAY1D"}
@@ -0,0 +1,3 @@
1
+ import { AgentTools } from '../../types';
2
+ export declare function artifactTools(): AgentTools;
3
+ //# sourceMappingURL=artifact.d.ts.map