Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@agentick/shared

Package Overview
Dependencies
Maintainers
2
Versions
97
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@agentick/shared - npm Package Compare versions

Comparing version
0.2.1
to
0.4.0
+40
dist/context.d.ts
/**
* 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

@@ -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"}

@@ -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"}
{
"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 @@ },

@@ -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