@pi-oxide/pi-host-web 0.4.0 → 0.7.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 (90) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.js +2535 -0
  3. package/dist/sdk/agent.d.ts +21 -0
  4. package/dist/sdk/agent.d.ts.map +1 -0
  5. package/dist/sdk/artifacts.d.ts +29 -0
  6. package/dist/sdk/artifacts.d.ts.map +1 -0
  7. package/dist/sdk/context.d.ts +2 -0
  8. package/dist/sdk/context.d.ts.map +1 -0
  9. package/dist/sdk/errors.d.ts +8 -0
  10. package/dist/sdk/errors.d.ts.map +1 -0
  11. package/dist/sdk/events.d.ts +9 -0
  12. package/dist/sdk/events.d.ts.map +1 -0
  13. package/dist/sdk/index.d.ts +16 -0
  14. package/dist/sdk/index.d.ts.map +1 -0
  15. package/dist/sdk/init.d.ts +30 -0
  16. package/dist/sdk/init.d.ts.map +1 -0
  17. package/dist/sdk/internal/engine.d.ts +91 -0
  18. package/dist/sdk/internal/engine.d.ts.map +1 -0
  19. package/dist/sdk/internal/events.d.ts +30 -0
  20. package/dist/sdk/internal/events.d.ts.map +1 -0
  21. package/dist/sdk/internal/logger.d.ts +51 -0
  22. package/dist/sdk/internal/logger.d.ts.map +1 -0
  23. package/dist/sdk/internal/providers/anthropic.d.ts +75 -0
  24. package/dist/sdk/internal/providers/anthropic.d.ts.map +1 -0
  25. package/dist/sdk/internal/providers/openai.d.ts +13 -0
  26. package/dist/sdk/internal/providers/openai.d.ts.map +1 -0
  27. package/dist/sdk/internal/providers/types.d.ts +57 -0
  28. package/dist/sdk/internal/providers/types.d.ts.map +1 -0
  29. package/dist/sdk/internal/stores/indexedDb.d.ts +3 -0
  30. package/dist/sdk/internal/stores/indexedDb.d.ts.map +1 -0
  31. package/dist/sdk/internal/stores/persistence.d.ts +13 -0
  32. package/dist/sdk/internal/stores/persistence.d.ts.map +1 -0
  33. package/dist/sdk/internal/tools/artifact.d.ts +3 -0
  34. package/dist/sdk/internal/tools/artifact.d.ts.map +1 -0
  35. package/dist/sdk/internal/tools/browser.d.ts +19 -0
  36. package/dist/sdk/internal/tools/browser.d.ts.map +1 -0
  37. package/dist/sdk/internal/tools/browserRuntime.d.ts +47 -0
  38. package/dist/sdk/internal/tools/browserRuntime.d.ts.map +1 -0
  39. package/dist/sdk/internal/tools/liveRuntime.d.ts +12 -0
  40. package/dist/sdk/internal/tools/liveRuntime.d.ts.map +1 -0
  41. package/dist/sdk/internal/tools/registry.d.ts +17 -0
  42. package/dist/sdk/internal/tools/registry.d.ts.map +1 -0
  43. package/dist/sdk/internal/tools/service.d.ts +15 -0
  44. package/dist/sdk/internal/tools/service.d.ts.map +1 -0
  45. package/dist/sdk/internal/util/types.d.ts +6 -0
  46. package/dist/sdk/internal/util/types.d.ts.map +1 -0
  47. package/dist/sdk/model.d.ts +16 -0
  48. package/dist/sdk/model.d.ts.map +1 -0
  49. package/dist/sdk/snapshot.d.ts +7 -0
  50. package/dist/sdk/snapshot.d.ts.map +1 -0
  51. package/dist/sdk/stores.d.ts +22 -0
  52. package/dist/sdk/stores.d.ts.map +1 -0
  53. package/dist/sdk/tools.d.ts +32 -0
  54. package/dist/sdk/tools.d.ts.map +1 -0
  55. package/dist/sdk/types.d.ts +200 -0
  56. package/dist/sdk/types.d.ts.map +1 -0
  57. package/package.json +69 -39
  58. package/pi_host_web.d.ts +4 -1
  59. package/pi_host_web.js +11 -0
  60. package/pi_host_web_bg.wasm +0 -0
  61. package/pi_host_web_bg.wasm.d.ts +36 -0
  62. package/sdk/agent.ts +0 -274
  63. package/sdk/artifacts.ts +0 -35
  64. package/sdk/context.ts +0 -4
  65. package/sdk/errors.ts +0 -24
  66. package/sdk/events.ts +0 -52
  67. package/sdk/index.d.ts +0 -29
  68. package/sdk/index.js +0 -111
  69. package/sdk/index.ts +0 -53
  70. package/sdk/init.ts +0 -58
  71. package/sdk/internal/engine.ts +0 -614
  72. package/sdk/internal/events.ts +0 -241
  73. package/sdk/internal/providers/anthropic.ts +0 -440
  74. package/sdk/internal/providers/openai.ts +0 -177
  75. package/sdk/internal/providers/types.ts +0 -64
  76. package/sdk/internal/stores/indexedDb.ts +0 -24
  77. package/sdk/internal/stores/persistence.ts +0 -71
  78. package/sdk/internal/tools/artifact.ts +0 -24
  79. package/sdk/internal/tools/browser.ts +0 -449
  80. package/sdk/internal/tools/browserRuntime.ts +0 -48
  81. package/sdk/internal/tools/liveRuntime.ts +0 -151
  82. package/sdk/internal/tools/registry.ts +0 -174
  83. package/sdk/internal/tools/service.ts +0 -157
  84. package/sdk/model.ts +0 -35
  85. package/sdk/react/index.ts +0 -1
  86. package/sdk/react/useAgent.ts +0 -334
  87. package/sdk/snapshot.ts +0 -25
  88. package/sdk/stores.ts +0 -72
  89. package/sdk/tools.ts +0 -47
  90. package/sdk/types.ts +0 -252
@@ -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,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,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/init.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C,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;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG,OAAO,CAKlH;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,91 @@
1
+ import { LlmChunk, LlmContext, LlmResult, PersistData, AgentEvent as RawAgentEvent, ToolCall, ToolDefinition, ToolResult, AgentMessage as WasmAgentMessage } from '../../../pi_host_web.js';
2
+ import { AgentConfig, AgentInput, AgentRunOptions, AgentRunResult, AgentStatus, 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<ToolResult> | 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
+ export declare class HostAgent {
61
+ /** @internal */
62
+ readonly handle: number;
63
+ readonly sessionId: string | undefined;
64
+ constructor(handle: number, sessionId?: string);
65
+ getSessionId(): string | undefined;
66
+ steer(message: WasmAgentMessage): {
67
+ events: RawAgentEvent[];
68
+ };
69
+ getPersistData(): PersistData;
70
+ destroy(): void;
71
+ }
72
+ export declare function createHostAgentInstance(config: AgentConfig, sessionState?: PersistData): Promise<HostAgent>;
73
+ export declare function runTurnWithHostAgent(hostAgent: HostAgent, message: WasmAgentMessage, config: AgentRunConfig): Promise<TurnResult>;
74
+ export declare function createEngineAgent(config: AgentConfig, _callbacks: {
75
+ onEvent: (event: {
76
+ type: string;
77
+ payload: unknown;
78
+ }) => void;
79
+ onStatus: (status: AgentStatus) => void;
80
+ }): Promise<HostAgent>;
81
+ export declare function destroyEngineAgent(hostAgent: HostAgent): void;
82
+ export declare function runAgentTurn(hostAgent: HostAgent, config: AgentConfig, input: string | AgentInput, options: AgentRunOptions | undefined, signal: AbortSignal, callbacks: {
83
+ onEvent: (event: {
84
+ type: string;
85
+ payload: unknown;
86
+ }) => void;
87
+ onStatus: (status: AgentStatus) => void;
88
+ }): Promise<AgentRunResult>;
89
+ export declare function steerAgent(hostAgent: HostAgent, input: string | AgentInput): Promise<void>;
90
+ export declare function resetAgentState(hostAgent: HostAgent): Promise<void>;
91
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../sdk/internal/engine.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../../../sdk/internal/tools/artifact.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAuB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGtE,wBAAgB,aAAa,IAAI,UAAU,CAiB1C"}
@@ -0,0 +1,19 @@
1
+ import { ToolCall, ToolDefinition, ToolResult } from '../../../../pi_host_web.js';
2
+ import { AgentTools } from '../../types';
3
+ import { BrowserRuntime } from './browserRuntime';
4
+ /** All browser-native tools for the browser host. */
5
+ export declare const BROWSER_TOOLS: ToolDefinition[];
6
+ /** Wrap a handler so that thrown errors are normalized to ToolResult. */
7
+ export declare function wrapToolHandler(handler: (call: ToolCall) => ToolResult | Promise<ToolResult>): (call: ToolCall) => Promise<ToolResult>;
8
+ /**
9
+ * Execute a browser tool call against a BrowserRuntime.
10
+ *
11
+ * Returns a ToolResult suitable for hostToolDone.
12
+ */
13
+ export declare function executeBrowserTool(call: ToolCall, runtime: BrowserRuntime): ToolResult;
14
+ /**
15
+ * Create an AgentTools pack for browser-native tools.
16
+ * Auto-injects LiveBrowserRuntime in browser environments.
17
+ */
18
+ export declare function browserTools(runtime?: BrowserRuntime): AgentTools;
19
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../../sdk/internal/tools/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGpF,OAAO,KAAK,EAAuB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAA+C,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA6IvG,qDAAqD;AACrD,eAAO,MAAM,aAAa,EAAE,cAAc,EAOzC,CAAC;AA0BF,yEAAyE;AACzE,wBAAgB,eAAe,CAC9B,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAC3D,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,UAAU,CAAC,CAWzC;AA4DD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,GAAG,UAAU,CAsGtF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAiCjE"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Browser runtime adapter interface and types.
3
+ *
4
+ * Defines the contract between browser tools and the actual browser environment.
5
+ * Tests use FakeBrowserRuntime; real browser uses a LiveBrowserRuntime backed
6
+ * by window/document later.
7
+ *
8
+ * Host-owned — no browser APIs in pi-core.
9
+ */
10
+ export interface BrowserPageSnapshot {
11
+ url: string;
12
+ title: string;
13
+ readyState: "loading" | "interactive" | "complete";
14
+ focusedElement: BrowserElementSnapshot | null;
15
+ }
16
+ export interface BrowserElementSnapshot {
17
+ tag: string;
18
+ text: string;
19
+ attributes: Record<string, string>;
20
+ visible: boolean;
21
+ selector: string;
22
+ }
23
+ export interface BrowserConsoleEntry {
24
+ level: "log" | "warn" | "error" | "info";
25
+ args: string[];
26
+ timestamp: number;
27
+ }
28
+ export type BrowserToolResult = {
29
+ ok: true;
30
+ data?: unknown;
31
+ } | {
32
+ ok: false;
33
+ error: {
34
+ code: string;
35
+ message: string;
36
+ };
37
+ };
38
+ export interface BrowserRuntime {
39
+ getPage(): BrowserPageSnapshot;
40
+ evalJs(source: string): unknown;
41
+ querySelector(selector: string): BrowserElementSnapshot | null;
42
+ querySelectorAll(selector: string): BrowserElementSnapshot[];
43
+ click(selector: string): BrowserToolResult;
44
+ type(selector: string, text: string): BrowserToolResult;
45
+ getConsole(): BrowserConsoleEntry[];
46
+ }
47
+ //# sourceMappingURL=browserRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browserRuntime.d.ts","sourceRoot":"","sources":["../../../../sdk/internal/tools/browserRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,WAAW,mBAAmB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;IACnD,cAAc,EAAE,sBAAsB,GAAG,IAAI,CAAC;CAC9C;AAED,MAAM,WAAW,sBAAsB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACzC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAIvH,MAAM,WAAW,cAAc;IAC9B,OAAO,IAAI,mBAAmB,CAAC;IAC/B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAAC;IAC/D,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,sBAAsB,EAAE,CAAC;IAC7D,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAAC;IAC3C,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACxD,UAAU,IAAI,mBAAmB,EAAE,CAAC;CACpC"}