@agentick/shared
Advanced tools
| /** | ||
| * Context utilization information. | ||
| * Updated after each tick with current token usage and model info. | ||
| */ | ||
| export interface ContextInfo { | ||
| /** Model ID (e.g., "gpt-4o", "claude-3-5-sonnet-20241022") */ | ||
| modelId: string; | ||
| /** Human-readable model name */ | ||
| modelName?: string; | ||
| /** Provider name (e.g., "openai", "anthropic") */ | ||
| provider?: string; | ||
| /** Context window size in tokens */ | ||
| contextWindow?: number; | ||
| /** Input tokens used this tick */ | ||
| inputTokens: number; | ||
| /** Output tokens generated this tick */ | ||
| outputTokens: number; | ||
| /** Total tokens this tick */ | ||
| totalTokens: number; | ||
| /** Context utilization percentage (0-100) */ | ||
| utilization?: number; | ||
| /** Max output tokens for this model */ | ||
| maxOutputTokens?: number; | ||
| /** Model capabilities */ | ||
| supportsVision?: boolean; | ||
| supportsToolUse?: boolean; | ||
| isReasoningModel?: boolean; | ||
| /** Estimated total context tokens (from token estimation, pre-model-call) */ | ||
| estimatedContextTokens?: number; | ||
| /** Current tick number */ | ||
| tick: number; | ||
| /** Cumulative usage across all ticks in this execution */ | ||
| cumulativeUsage?: { | ||
| inputTokens: number; | ||
| outputTokens: number; | ||
| totalTokens: number; | ||
| ticks: number; | ||
| }; | ||
| } | ||
| //# sourceMappingURL=context.d.ts.map |
| {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yBAAyB;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,6EAA6E;IAC7E,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,eAAe,CAAC,EAAE;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH"} |
| //# sourceMappingURL=context.js.map |
| {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":""} |
| /** | ||
| * Client Transport Interface | ||
| * | ||
| * Abstracts the connection layer (SSE/HTTP vs WebSocket vs Local) from client business logic. | ||
| * Defined in shared so that both @agentick/client and @agentick/core can implement transports | ||
| * without circular dependencies. | ||
| * | ||
| * @module @agentick/shared/transport | ||
| */ | ||
| import type { SendInput, ChannelEvent, ToolConfirmationResponse } from "./protocol"; | ||
| export interface TransportEventData { | ||
| type: string; | ||
| sessionId?: string; | ||
| executionId?: string; | ||
| [key: string]: unknown; | ||
| } | ||
| export type TransportEventHandler = (event: TransportEventData) => void; | ||
| /** | ||
| * Transport connection state. | ||
| */ | ||
| export type TransportState = "disconnected" | "connecting" | "connected" | "error"; | ||
| /** | ||
| * Transport interface - abstracts SSE/HTTP vs WebSocket vs Local. | ||
| */ | ||
| export interface ClientTransport { | ||
| /** Current connection state */ | ||
| readonly state: TransportState; | ||
| /** Connection ID (if assigned by server) */ | ||
| readonly connectionId: string | undefined; | ||
| /** Connect to the server */ | ||
| connect(): Promise<void>; | ||
| /** Disconnect from the server */ | ||
| disconnect(): void; | ||
| /** | ||
| * Send a message and return a stream of events. | ||
| * Returns an async iterator of events for this execution. | ||
| */ | ||
| send(input: SendInput, sessionId?: string): AsyncIterable<TransportEventData> & { | ||
| /** Abort the current send operation */ | ||
| abort(reason?: string): void; | ||
| }; | ||
| /** Subscribe to session events */ | ||
| subscribeToSession(sessionId: string): Promise<void>; | ||
| /** Unsubscribe from session events */ | ||
| unsubscribeFromSession(sessionId: string): Promise<void>; | ||
| /** Abort a session's execution */ | ||
| abortSession(sessionId: string, reason?: string): Promise<void>; | ||
| /** Close a session */ | ||
| closeSession(sessionId: string): Promise<void>; | ||
| /** Submit tool result */ | ||
| submitToolResult(sessionId: string, toolUseId: string, result: ToolConfirmationResponse): Promise<void>; | ||
| /** Publish to a channel */ | ||
| publishToChannel(sessionId: string, channel: string, event: ChannelEvent): Promise<void>; | ||
| /** Subscribe to a channel */ | ||
| subscribeToChannel(sessionId: string, channel: string): Promise<void>; | ||
| /** Register event handler for incoming events */ | ||
| onEvent(handler: TransportEventHandler): () => void; | ||
| /** Register state change handler */ | ||
| onStateChange(handler: (state: TransportState) => void): () => void; | ||
| } | ||
| export interface TransportConfig { | ||
| /** Base URL for the server */ | ||
| baseUrl: string; | ||
| /** Authentication token */ | ||
| token?: string; | ||
| /** Custom headers */ | ||
| headers?: Record<string, string>; | ||
| /** Request timeout in ms */ | ||
| timeout?: number; | ||
| /** Send credentials with requests */ | ||
| withCredentials?: boolean; | ||
| } | ||
| //# sourceMappingURL=transport.d.ts.map |
| {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAMpF,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAMxE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC;AAEnF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAE/B,4CAA4C;IAC5C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1C,4BAA4B;IAC5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB,iCAAiC;IACjC,UAAU,IAAI,IAAI,CAAC;IAEnB;;;OAGG;IACH,IAAI,CACF,KAAK,EAAE,SAAS,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,aAAa,CAAC,kBAAkB,CAAC,GAAG;QACrC,uCAAuC;QACvC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,CAAC;IAEF,kCAAkC;IAClC,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD,sCAAsC;IACtC,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD,kCAAkC;IAClC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE,sBAAsB;IACtB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C,yBAAyB;IACzB,gBAAgB,CACd,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,2BAA2B;IAC3B,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzF,6BAA6B;IAC7B,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE,iDAAiD;IACjD,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,IAAI,CAAC;IAEpD,oCAAoC;IACpC,aAAa,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CACrE;AAMD,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAEhB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,qCAAqC;IACrC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B"} |
| /** | ||
| * Client Transport Interface | ||
| * | ||
| * Abstracts the connection layer (SSE/HTTP vs WebSocket vs Local) from client business logic. | ||
| * Defined in shared so that both @agentick/client and @agentick/core can implement transports | ||
| * without circular dependencies. | ||
| * | ||
| * @module @agentick/shared/transport | ||
| */ | ||
| //# sourceMappingURL=transport.js.map |
| {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"} |
+2
-0
@@ -56,2 +56,4 @@ /** | ||
| export * from "./model-catalog"; | ||
| export * from "./transport"; | ||
| export * from "./context"; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"} |
+2
-0
@@ -56,2 +56,4 @@ /** | ||
| export * from "./model-catalog"; | ||
| export * from "./transport"; | ||
| export * from "./context"; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"} |
+6
-2
| { | ||
| "name": "@agentick/shared", | ||
| "version": "0.2.1", | ||
| "version": "0.4.0", | ||
| "description": "Shared types and utilities for Agentick", | ||
@@ -10,3 +10,3 @@ "keywords": [ | ||
| ], | ||
| "license": "ISC", | ||
| "license": "MIT", | ||
| "author": "Ryan Lindgren", | ||
@@ -75,2 +75,6 @@ "repository": { | ||
| "import": "./dist/utils/index.js" | ||
| }, | ||
| "./transport": { | ||
| "types": "./dist/transport.d.ts", | ||
| "import": "./dist/transport.js" | ||
| } | ||
@@ -77,0 +81,0 @@ }, |
+43
-0
@@ -308,2 +308,45 @@ # @agentick/shared | ||
| ## Transport Types | ||
| The transport layer abstracts the connection between `@agentick/client` and an Agentick backend. Transport types live in `@agentick/shared` so both `@agentick/client` and `@agentick/core` can implement transports without circular dependencies. | ||
| ```typescript | ||
| import type { | ||
| ClientTransport, | ||
| TransportState, | ||
| TransportEventData, | ||
| TransportEventHandler, | ||
| TransportConfig, | ||
| } from "@agentick/shared"; | ||
| ``` | ||
| ### ClientTransport | ||
| The core transport interface. All transports implement this — SSE/HTTP, WebSocket, and local (in-process). | ||
| | Method | Description | | ||
| | ------------------------------------------------ | --------------------------------------------------------------------------- | | ||
| | `connect()` | Establish connection | | ||
| | `disconnect()` | Close connection | | ||
| | `send(input, sessionId?)` | Send a message, returns `AsyncIterable<TransportEventData>` with `.abort()` | | ||
| | `subscribeToSession(id)` | Subscribe to session events | | ||
| | `abortSession(id, reason?)` | Abort a running execution | | ||
| | `closeSession(id)` | Close a session | | ||
| | `submitToolResult(sessionId, toolUseId, result)` | Submit tool confirmation result | | ||
| | `onEvent(handler)` | Register event handler, returns unsubscribe function | | ||
| | `onStateChange(handler)` | Register state change handler | | ||
| ### TransportState | ||
| `"disconnected" | "connecting" | "connected" | "error"` | ||
| ### Available Transports | ||
| | Transport | Package | Description | | ||
| | --------- | ------------------ | ---------------------------------------------------- | | ||
| | SSE/HTTP | `@agentick/client` | Default remote transport (HTTP + Server-Sent Events) | | ||
| | Local | `@agentick/core` | In-process bridge via `createLocalTransport(app)` | | ||
| See [`packages/shared/src/transport.ts`](src/transport.ts) for the full interface definition. | ||
| ## Tool Types | ||
@@ -310,0 +353,0 @@ |
Sorry, the diff of this file is not supported yet
Mixed license
LicensePackage contains multiple licenses.
Found 1 instance in 1 package
486402
4.95%92
9.52%0
-100%7794
1.62%372
13.07%