@opencow-ai/opencow-agent-sdk 0.4.21 → 0.4.23

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 (39) hide show
  1. package/dist/capabilities/lsp/LSPServerManager.d.ts +2 -1
  2. package/dist/capabilities/mcp/types.d.ts +3 -3
  3. package/dist/capabilities/plugins/loadPluginAgents.d.ts +6 -0
  4. package/dist/capabilities/plugins/loadPluginCommands.d.ts +10 -0
  5. package/dist/capabilities/plugins/loadPluginHooks.d.ts +5 -0
  6. package/dist/capabilities/plugins/loadPluginOutputStyles.d.ts +6 -0
  7. package/dist/capabilities/plugins/lspPluginIntegration.d.ts +1 -0
  8. package/dist/capabilities/plugins/mcpPluginIntegration.d.ts +1 -0
  9. package/dist/capabilities/plugins/pluginOptionsStorage.d.ts +1 -0
  10. package/dist/capabilities/plugins/schemas.d.ts +4 -4
  11. package/dist/capabilities/plugins/sdkPluginRuntime.d.ts +35 -0
  12. package/dist/capabilities/todo/types.d.ts +2 -2
  13. package/dist/capabilities/tools/AgentTool/AgentTool.d.ts +8 -8
  14. package/dist/capabilities/tools/AgentTool/inputSchema.d.ts +3 -3
  15. package/dist/capabilities/tools/AgentTool/loadAgentsDir.d.ts +4 -0
  16. package/dist/capabilities/tools/TodoWriteTool/TodoWriteTool.d.ts +10 -10
  17. package/dist/cli.mjs +11952 -11679
  18. package/dist/client.d.ts +2 -0
  19. package/dist/client.js +8778 -3479
  20. package/dist/entrypoints/sdk/controlSchemas.d.ts +139 -139
  21. package/dist/entrypoints/sdk/coreSchemas.d.ts +57 -57
  22. package/dist/entrypoints/sdk/runtimeTypes.d.ts +82 -1
  23. package/dist/permissions/PermissionMode.d.ts +2 -2
  24. package/dist/permissions/PermissionPromptToolResultSchema.d.ts +1 -1
  25. package/dist/permissions/PermissionUpdateSchema.d.ts +1 -1
  26. package/dist/providers/anthropic/teleport/api.d.ts +3 -3
  27. package/dist/providers/shared/requestSideChannels.d.ts +6 -0
  28. package/dist/sdk.js +8778 -3479
  29. package/dist/session/layout/schemas.d.ts +12 -12
  30. package/dist/session/settings/types.d.ts +3 -3
  31. package/dist/session/state/als.d.ts +16 -0
  32. package/dist/session/state/index.d.ts +1 -1
  33. package/dist/session/state/registries.d.ts +4 -0
  34. package/dist/session/state/types.d.ts +4 -0
  35. package/dist/session/tasks.d.ts +2 -2
  36. package/dist/session/teammateMailbox.d.ts +2 -2
  37. package/dist/types/command.d.ts +2 -0
  38. package/dist/types/plugin.d.ts +2 -0
  39. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  import { type LSPServerInstance } from './LSPServerInstance.js';
2
+ import type { ScopedLspServerConfig } from './types.js';
2
3
  /**
3
4
  * LSP Server Manager interface returned by createLSPServerManager.
4
5
  * Manages multiple LSP server instances and routes requests based on file extensions.
@@ -41,4 +42,4 @@ export type LSPServerManager = {
41
42
  * const result = await manager.sendRequest('/path/to/file.ts', 'textDocument/definition', params)
42
43
  * await manager.shutdown()
43
44
  */
44
- export declare function createLSPServerManager(): LSPServerManager;
45
+ export declare function createLSPServerManager(explicitServerConfigs?: Readonly<Record<string, ScopedLspServerConfig>>): LSPServerManager;
@@ -2,9 +2,9 @@ import type { Client } from '@modelcontextprotocol/sdk/client/index.js';
2
2
  import type { Resource, ServerCapabilities } from '@modelcontextprotocol/sdk/types.js';
3
3
  import { z } from 'zod/v4';
4
4
  export declare const ConfigScopeSchema: () => z.ZodEnum<{
5
+ local: "local";
5
6
  user: "user";
6
7
  project: "project";
7
- local: "local";
8
8
  dynamic: "dynamic";
9
9
  enterprise: "enterprise";
10
10
  claudeai: "claudeai";
@@ -14,10 +14,10 @@ export type ConfigScope = z.infer<ReturnType<typeof ConfigScopeSchema>>;
14
14
  export declare const TransportSchema: () => z.ZodEnum<{
15
15
  stdio: "stdio";
16
16
  sse: "sse";
17
- http: "http";
18
- sdk: "sdk";
19
17
  "sse-ide": "sse-ide";
18
+ http: "http";
20
19
  ws: "ws";
20
+ sdk: "sdk";
21
21
  }>;
22
22
  export type Transport = z.infer<ReturnType<typeof TransportSchema>>;
23
23
  export declare const McpStdioServerConfigSchema: () => z.ZodObject<{
@@ -1,2 +1,8 @@
1
+ import type { AgentDefinition } from '../tools/AgentTool/loadAgentsDir.js';
2
+ import type { LoadedPlugin } from '../../types/plugin.js';
1
3
  export declare const loadPluginAgents: any;
4
+ /** Load agent components from an explicit plugin set without settings discovery. */
5
+ export declare function loadPluginAgentsFromPlugins(enabled: readonly LoadedPlugin[], options?: {
6
+ strict?: boolean;
7
+ }): Promise<AgentDefinition[]>;
2
8
  export declare function clearPluginAgentCache(): void;
@@ -1,4 +1,14 @@
1
+ import type { Command } from '../../types/command.js';
2
+ import type { LoadedPlugin } from '../../types/plugin.js';
1
3
  export declare const getPluginCommands: any;
4
+ /** Load command components from an explicit plugin set without settings discovery. */
5
+ export declare function loadPluginCommandsFromPlugins(enabled: readonly LoadedPlugin[], options?: {
6
+ strict?: boolean;
7
+ }): Promise<Command[]>;
2
8
  export declare function clearPluginCommandCache(): void;
3
9
  export declare const getPluginSkills: any;
10
+ /** Load skill components from an explicit plugin set without settings discovery. */
11
+ export declare function loadPluginSkillsFromPlugins(enabled: readonly LoadedPlugin[], options?: {
12
+ strict?: boolean;
13
+ }): Promise<Command[]>;
4
14
  export declare function clearPluginSkillsCache(): void;
@@ -1,3 +1,8 @@
1
+ import type { HookEvent } from '../../entrypoints/sdk/coreTypes.js';
2
+ import type { LoadedPlugin } from '../../types/plugin.js';
3
+ import type { PluginHookMatcher } from '../../session/settings/types.js';
4
+ /** Build session-scoped hook matchers from an explicit plugin snapshot. */
5
+ export declare function buildExplicitPluginHookMatchers(plugins: readonly LoadedPlugin[]): Partial<Record<HookEvent, PluginHookMatcher[]>>;
1
6
  /**
2
7
  * Load and register hooks from all enabled plugins
3
8
  */
@@ -1,2 +1,8 @@
1
+ import type { OutputStyleConfig } from '../../session/outputStyles/config.js';
2
+ import type { LoadedPlugin } from '../../types/plugin.js';
1
3
  export declare const loadPluginOutputStyles: any;
4
+ /** Load output styles from an explicit plugin set without settings discovery. */
5
+ export declare function loadPluginOutputStylesFromPlugins(enabled: readonly LoadedPlugin[], options?: {
6
+ strict?: boolean;
7
+ }): Promise<OutputStyleConfig[]>;
2
8
  export declare function clearPluginOutputStyleCache(): void;
@@ -20,6 +20,7 @@ export declare function loadPluginLspServers(plugin: LoadedPlugin, errors?: Plug
20
20
  export declare function resolvePluginLspEnvironment(config: LspServerConfig, plugin: {
21
21
  path: string;
22
22
  source: string;
23
+ dataPath?: string;
23
24
  }, userConfig?: PluginOptionValues, _errors?: PluginError[]): LspServerConfig;
24
25
  /**
25
26
  * Add plugin scope to LSP server configs
@@ -47,6 +47,7 @@ export declare function extractMcpServersFromPlugins(plugins: LoadedPlugin[], er
47
47
  export declare function resolvePluginMcpEnvironment(config: McpServerConfig, plugin: {
48
48
  path: string;
49
49
  source: string;
50
+ dataPath?: string;
50
51
  }, userConfig?: UserConfigValues, errors?: PluginError[], pluginName?: string, serverName?: string): McpServerConfig;
51
52
  /**
52
53
  * Get MCP servers from a specific plugin with environment variable resolution and scoping
@@ -84,6 +84,7 @@ export declare function getUnconfiguredOptions(plugin: LoadedPlugin): PluginOpti
84
84
  export declare function substitutePluginVariables(value: string, plugin: {
85
85
  path: string;
86
86
  source?: string;
87
+ dataPath?: string;
87
88
  }): string;
88
89
  /**
89
90
  * Substitute ${user_config.KEY} with saved option values.
@@ -1594,9 +1594,9 @@ export declare const InstalledPluginsFileSchemaV1: () => z.ZodObject<{
1594
1594
  * are NOT persisted to installed_plugins.json.
1595
1595
  */
1596
1596
  export declare const PluginScopeSchema: () => z.ZodEnum<{
1597
+ local: "local";
1597
1598
  user: "user";
1598
1599
  project: "project";
1599
- local: "local";
1600
1600
  managed: "managed";
1601
1601
  }>;
1602
1602
  /**
@@ -1608,9 +1608,9 @@ export declare const PluginScopeSchema: () => z.ZodEnum<{
1608
1608
  */
1609
1609
  export declare const PluginInstallationEntrySchema: () => z.ZodObject<{
1610
1610
  scope: z.ZodEnum<{
1611
+ local: "local";
1611
1612
  user: "user";
1612
1613
  project: "project";
1613
- local: "local";
1614
1614
  managed: "managed";
1615
1615
  }>;
1616
1616
  projectPath: z.ZodOptional<z.ZodString>;
@@ -1642,9 +1642,9 @@ export declare const InstalledPluginsFileSchemaV2: () => z.ZodObject<{
1642
1642
  version: z.ZodLiteral<2>;
1643
1643
  plugins: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
1644
1644
  scope: z.ZodEnum<{
1645
+ local: "local";
1645
1646
  user: "user";
1646
1647
  project: "project";
1647
- local: "local";
1648
1648
  managed: "managed";
1649
1649
  }>;
1650
1650
  projectPath: z.ZodOptional<z.ZodString>;
@@ -1672,9 +1672,9 @@ export declare const InstalledPluginsFileSchema: () => z.ZodUnion<readonly [z.Zo
1672
1672
  version: z.ZodLiteral<2>;
1673
1673
  plugins: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
1674
1674
  scope: z.ZodEnum<{
1675
+ local: "local";
1675
1676
  user: "user";
1676
1677
  project: "project";
1677
- local: "local";
1678
1678
  managed: "managed";
1679
1679
  }>;
1680
1680
  projectPath: z.ZodOptional<z.ZodString>;
@@ -0,0 +1,35 @@
1
+ import type { SdkLocalPlugin, SdkPluginApplyResult, SdkPluginComponentCounts, SdkPluginSnapshot, SdkPluginState } from '../../entrypoints/sdk/runtimeTypes.js';
2
+ import type { LoadedPlugin } from '../../types/plugin.js';
3
+ import type { PluginHookMatcher } from '../../session/settings/types.js';
4
+ import type { HookEvent } from '../../entrypoints/sdk/coreTypes.js';
5
+ import type { LSPServerManager } from '../lsp/LSPServerManager.js';
6
+ import type { OutputStyleConfig } from '../../session/outputStyles/config.js';
7
+ export type ExplicitPluginRuntimeBundle = {
8
+ revision: string;
9
+ plugins: readonly LoadedPlugin[];
10
+ commands: readonly unknown[];
11
+ skills: readonly unknown[];
12
+ agents: readonly unknown[];
13
+ hooks: Partial<Record<HookEvent, PluginHookMatcher[]>>;
14
+ mcpServers: Readonly<Record<string, unknown>>;
15
+ lspManager: LSPServerManager | null;
16
+ outputStyles: readonly OutputStyleConfig[];
17
+ dataPaths: ReadonlyMap<string, string>;
18
+ state: SdkPluginState;
19
+ dispose(): Promise<void>;
20
+ };
21
+ export declare function emptyPluginComponentCounts(): SdkPluginComponentCounts;
22
+ export declare function emptyPluginState(): SdkPluginState;
23
+ /** Compute the canonical SHA-256 used by managed plugin snapshots. */
24
+ export declare function computeSdkPluginContentHash(path: string): Promise<string>;
25
+ export declare function stageManagedPluginSnapshot(snapshot: SdkPluginSnapshot, appliedState: SdkPluginState): Promise<{
26
+ status: 'staged';
27
+ bundle: ExplicitPluginRuntimeBundle;
28
+ result: SdkPluginApplyResult;
29
+ } | {
30
+ status: 'rejected';
31
+ result: SdkPluginApplyResult;
32
+ }>;
33
+ /** Validate and inspect a managed snapshot without retaining runtime resources. */
34
+ export declare function inspectPluginSnapshot(snapshot: SdkPluginSnapshot): Promise<SdkPluginApplyResult>;
35
+ export declare function stageStaticLocalPlugins(plugins: readonly SdkLocalPlugin[], cwd?: string, dataRoot?: string): Promise<ExplicitPluginRuntimeBundle>;
@@ -3,8 +3,8 @@ export declare const TodoItemSchema: () => z.ZodObject<{
3
3
  content: z.ZodString;
4
4
  status: z.ZodEnum<{
5
5
  pending: "pending";
6
- completed: "completed";
7
6
  in_progress: "in_progress";
7
+ completed: "completed";
8
8
  }>;
9
9
  activeForm: z.ZodString;
10
10
  }, z.core.$strip>;
@@ -13,8 +13,8 @@ export declare const TodoListSchema: () => z.ZodArray<z.ZodObject<{
13
13
  content: z.ZodString;
14
14
  status: z.ZodEnum<{
15
15
  pending: "pending";
16
- completed: "completed";
17
16
  in_progress: "in_progress";
17
+ completed: "completed";
18
18
  }>;
19
19
  activeForm: z.ZodString;
20
20
  }, z.core.$strip>>;
@@ -4,17 +4,17 @@ import { z } from 'zod/v4';
4
4
  import type { PermissionResult } from '../../../permissions/PermissionResult.js';
5
5
  import type { AgentDefinition } from './loadAgentsDir.js';
6
6
  export declare const inputSchema: () => z.ZodObject<{
7
- name: z.ZodOptional<z.ZodString>;
8
- description: z.ZodString;
9
7
  mode: z.ZodOptional<z.ZodEnum<{
10
8
  default: "default";
11
9
  acceptEdits: "acceptEdits";
12
10
  bypassPermissions: "bypassPermissions";
13
- plan: "plan";
14
11
  dontAsk: "dontAsk";
12
+ plan: "plan";
15
13
  auto: "auto";
16
14
  }>>;
15
+ name: z.ZodOptional<z.ZodString>;
17
16
  prompt: z.ZodString;
17
+ description: z.ZodString;
18
18
  model: z.ZodOptional<z.ZodEnum<{
19
19
  haiku: "haiku";
20
20
  sonnet: "sonnet";
@@ -77,17 +77,17 @@ export declare const AgentTool: {
77
77
  inputSchema: InputSchema;
78
78
  inputJSONSchema: ToolInputJSONSchema;
79
79
  name: string;
80
- description: (input: any, options: {
81
- isNonInteractiveSession: boolean;
82
- toolPermissionContext: import("../../../types/toolRuntime.js").ToolPermissionContext;
83
- tools: import("../../../types/toolRuntime.js").ToolRuntimes;
84
- }) => Promise<string>;
85
80
  prompt: (options: {
86
81
  getToolPermissionContext: () => Promise<import("../../../types/toolRuntime.js").ToolPermissionContext>;
87
82
  tools: import("../../../types/toolRuntime.js").ToolRuntimes;
88
83
  agents: AgentDefinition[];
89
84
  allowedAgentTypes?: string[];
90
85
  }) => Promise<string>;
86
+ description: (input: any, options: {
87
+ isNonInteractiveSession: boolean;
88
+ toolPermissionContext: import("../../../types/toolRuntime.js").ToolPermissionContext;
89
+ tools: import("../../../types/toolRuntime.js").ToolRuntimes;
90
+ }) => Promise<string>;
91
91
  strict?: boolean;
92
92
  aliases?: string[];
93
93
  searchHint?: string;
@@ -15,17 +15,17 @@ export declare function buildAgentInputSchema(options: {
15
15
  includeCwd: boolean;
16
16
  includeRunInBackground: boolean;
17
17
  }): z.ZodObject<{
18
- name: z.ZodOptional<z.ZodString>;
19
- description: z.ZodString;
20
18
  mode: z.ZodOptional<z.ZodEnum<{
21
19
  default: "default";
22
20
  acceptEdits: "acceptEdits";
23
21
  bypassPermissions: "bypassPermissions";
24
- plan: "plan";
25
22
  dontAsk: "dontAsk";
23
+ plan: "plan";
26
24
  auto: "auto";
27
25
  }>>;
26
+ name: z.ZodOptional<z.ZodString>;
28
27
  prompt: z.ZodString;
28
+ description: z.ZodString;
29
29
  model: z.ZodOptional<z.ZodEnum<{
30
30
  haiku: "haiku";
31
31
  sonnet: "sonnet";
@@ -23,9 +23,13 @@ export type BaseAgentDefinition = {
23
23
  permissionMode?: PermissionMode;
24
24
  maxTurns?: number;
25
25
  filename?: string;
26
+ sourcePath?: string;
26
27
  baseDir?: string;
27
28
  criticalSystemReminder_EXPERIMENTAL?: string;
28
29
  requiredMcpServers?: string[];
30
+ /** Per-agent wire extras merged over the session's extra_body for this
31
+ * agent's requests (host builds these; e.g. generation config). */
32
+ extraBody?: Record<string, unknown>;
29
33
  background?: boolean;
30
34
  initialPrompt?: string;
31
35
  memory?: AgentMemoryScope;
@@ -4,8 +4,8 @@ declare const inputSchema: () => z.ZodObject<{
4
4
  content: z.ZodString;
5
5
  status: z.ZodEnum<{
6
6
  pending: "pending";
7
- completed: "completed";
8
7
  in_progress: "in_progress";
8
+ completed: "completed";
9
9
  }>;
10
10
  activeForm: z.ZodString;
11
11
  }, z.core.$strip>>;
@@ -16,8 +16,8 @@ declare const outputSchema: () => z.ZodObject<{
16
16
  content: z.ZodString;
17
17
  status: z.ZodEnum<{
18
18
  pending: "pending";
19
- completed: "completed";
20
19
  in_progress: "in_progress";
20
+ completed: "completed";
21
21
  }>;
22
22
  activeForm: z.ZodString;
23
23
  }, z.core.$strip>>;
@@ -25,8 +25,8 @@ declare const outputSchema: () => z.ZodObject<{
25
25
  content: z.ZodString;
26
26
  status: z.ZodEnum<{
27
27
  pending: "pending";
28
- completed: "completed";
29
28
  in_progress: "in_progress";
29
+ completed: "completed";
30
30
  }>;
31
31
  activeForm: z.ZodString;
32
32
  }, z.core.$strip>>;
@@ -49,14 +49,14 @@ export declare const TodoWriteTool: Omit<{
49
49
  toAutoClassifierInput(input: {
50
50
  todos: {
51
51
  content: string;
52
- status: "pending" | "completed" | "in_progress";
52
+ status: "pending" | "in_progress" | "completed";
53
53
  activeForm: string;
54
54
  }[];
55
55
  }): string;
56
56
  checkPermissions(input: {
57
57
  todos: {
58
58
  content: string;
59
- status: "pending" | "completed" | "in_progress";
59
+ status: "pending" | "in_progress" | "completed";
60
60
  activeForm: string;
61
61
  }[];
62
62
  }): Promise<{
@@ -64,7 +64,7 @@ export declare const TodoWriteTool: Omit<{
64
64
  updatedInput: {
65
65
  todos: {
66
66
  content: string;
67
- status: "pending" | "completed" | "in_progress";
67
+ status: "pending" | "in_progress" | "completed";
68
68
  activeForm: string;
69
69
  }[];
70
70
  };
@@ -73,7 +73,7 @@ export declare const TodoWriteTool: Omit<{
73
73
  call({ todos }: {
74
74
  todos: {
75
75
  content: string;
76
- status: "pending" | "completed" | "in_progress";
76
+ status: "pending" | "in_progress" | "completed";
77
77
  activeForm: string;
78
78
  }[];
79
79
  }, context: import("../../../types/toolRuntime.js").ToolRuntimeContext): Promise<{
@@ -81,7 +81,7 @@ export declare const TodoWriteTool: Omit<{
81
81
  oldTodos: any;
82
82
  newTodos: {
83
83
  content: string;
84
- status: "pending" | "completed" | "in_progress";
84
+ status: "pending" | "in_progress" | "completed";
85
85
  activeForm: string;
86
86
  }[];
87
87
  verificationNudgeNeeded: boolean;
@@ -90,12 +90,12 @@ export declare const TodoWriteTool: Omit<{
90
90
  mapToolResultToToolResultBlockParam({ verificationNudgeNeeded }: {
91
91
  oldTodos: {
92
92
  content: string;
93
- status: "pending" | "completed" | "in_progress";
93
+ status: "pending" | "in_progress" | "completed";
94
94
  activeForm: string;
95
95
  }[];
96
96
  newTodos: {
97
97
  content: string;
98
- status: "pending" | "completed" | "in_progress";
98
+ status: "pending" | "in_progress" | "completed";
99
99
  activeForm: string;
100
100
  }[];
101
101
  verificationNudgeNeeded?: boolean;