agent-afk 5.144.0 → 5.145.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.
package/README.md CHANGED
@@ -11,6 +11,7 @@
11
11
  [![Node](https://img.shields.io/node/v/agent-afk.svg)](https://nodejs.org/)
12
12
  [![License: Apache-2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE)
13
13
  [![GitHub stars](https://img.shields.io/github/stars/griffinwork40/agent-afk?style=social)](https://github.com/griffinwork40/agent-afk/stargazers)
14
+ [![Awesome Harness Engineering](https://img.shields.io/badge/awesome-harness--engineering-fc60a8?logo=awesomelists&logoColor=white)](https://github.com/walkinglabs/awesome-harness-engineering#coding-agent-harnesses)
14
15
 
15
16
  <!-- DEMO PLACEHOLDER ▸ the image below is a static stand-in. Replace it with a 20–30s screen recording of one autonomous AFK run (e.g. kick off `afk daemon` / `afk mint "..."`, walk away, get the Telegram ping, come back done). Drag-and-drop the recording into a GitHub issue/PR to host it on GitHub's CDN, then swap the URL below. This is the single biggest star-conversion lever — keep it above the fold. -->
16
17
 
@@ -1,5 +1,6 @@
1
1
  import type { ZodType } from 'zod';
2
2
  import type { AgentModelInput, CanUseTool, IAgentSession } from './types.js';
3
+ import type { ModelProvider } from './provider.js';
3
4
  import type { SubagentManager } from './subagent.js';
4
5
  import { type DAGEdge, type DAGRunResult } from './dag.js';
5
6
  export interface SubagentDAGNode {
@@ -17,6 +18,7 @@ export interface SubagentDAGNode {
17
18
  writeRoots?: string[];
18
19
  apiKey?: string;
19
20
  maxToolUseIterations?: number;
21
+ provider?: ModelProvider;
20
22
  }
21
23
  export interface SubagentDAGOptions {
22
24
  manager: SubagentManager;
@@ -11,6 +11,7 @@ export interface ComposeExecutorContext {
11
11
  apiKey?: string;
12
12
  resolveApiKeyForModel?: (model: string) => string | undefined;
13
13
  baseUrl?: string;
14
+ openaiBaseUrl?: string;
14
15
  systemPrompt: string;
15
16
  cwd?: string;
16
17
  traceWriter?: TraceSink;
@@ -0,0 +1,6 @@
1
+ import type { ModelProvider } from '../provider.js';
2
+ import type { WorkspaceStore } from '../workspace/workspace-store.js';
3
+ import type { AgentModelInput } from '../types/model-types.js';
4
+ export declare function resolveComposeNodeProvider(nodeModel: AgentModelInput, workspaceStore: WorkspaceStore | undefined, openaiBaseUrl: string | undefined): {
5
+ provider: ModelProvider;
6
+ } | Record<string, never>;
@@ -0,0 +1,3 @@
1
+ import type { ToolHandler } from '../types.js';
2
+ export declare function createExtractDocumentHandler(cwd?: string): ToolHandler;
3
+ export declare const extractDocumentHandler: ToolHandler;
@@ -1,6 +1,7 @@
1
1
  import type { ToolHandler } from '../types.js';
2
2
  import { bashHandler } from './bash.js';
3
3
  import { readFileHandler } from './read-file.js';
4
+ import { extractDocumentHandler } from './extract-document.js';
4
5
  import { writeFileHandler } from './write-file.js';
5
6
  import { editFileHandler } from './edit-file.js';
6
7
  import { globHandler } from './glob.js';
@@ -19,4 +20,4 @@ import { browserActHandler } from './browser-act.js';
19
20
  import { browserScreenshotHandler } from './browser-screenshot.js';
20
21
  import { browserCloseHandler } from './browser-close.js';
21
22
  export declare function createBuiltinHandlers(permissionMode?: string, cwd?: string): Map<string, ToolHandler>;
22
- export { bashHandler, readFileHandler, writeFileHandler, editFileHandler, globHandler, grepHandler, listDirectoryHandler, sendTelegramHandler, webScrapeHandler, createScheduleHandler, listSchedulesHandler, getScheduleHistoryHandler, cancelScheduleHandler, terminalFontSizeHandler, createWorktreeHandler, configGetHandler, configSetHandler, askQuestionHandler, browserOpenHandler, browserObserveHandler, browserActHandler, browserScreenshotHandler, browserCloseHandler, };
23
+ export { bashHandler, readFileHandler, extractDocumentHandler, writeFileHandler, editFileHandler, globHandler, grepHandler, listDirectoryHandler, sendTelegramHandler, webScrapeHandler, createScheduleHandler, listSchedulesHandler, getScheduleHistoryHandler, cancelScheduleHandler, terminalFontSizeHandler, createWorktreeHandler, configGetHandler, configSetHandler, askQuestionHandler, browserOpenHandler, browserObserveHandler, browserActHandler, browserScreenshotHandler, browserCloseHandler, };
@@ -29,6 +29,7 @@ export interface CreateChildProviderFactoryOptions {
29
29
  }
30
30
  export declare function createChildProviderFactory(opts?: CreateChildProviderFactoryOptions): (args: ChildProviderFactoryArgs) => ModelProvider;
31
31
  export declare function buildReadOnlyReconProvider(model: AgentModelInput | undefined, openaiBaseUrl?: string, allowedTools?: readonly string[]): ModelProvider;
32
+ export declare function buildComposeNodeProvider(model: AgentModelInput | undefined, workspaceStore: WorkspaceStore, openaiBaseUrl?: string, readOnlyBash?: boolean): ModelProvider;
32
33
  export declare function createChildSkillExecutorFactory(defaultModel: AgentModelInput, apiKey: string | undefined, childProviderFactory: (args: ChildProviderFactoryArgs) => ModelProvider, baseUrl?: string, traceWriter?: TraceSink, backgroundRegistry?: BackgroundAgentRegistry, cwd?: string, resolveApiKeyForModel?: (model: string) => string | undefined, surface?: Surface, defaultSubagentModel?: AgentModelInput, agentRegistry?: AgentRegistry, openaiBaseUrl?: string, xaiBaseUrl?: string, workspaceStore?: WorkspaceStore): (depth: number, maxDepth: number, signal: AbortSignal, inheritedCwd?: string, inheritedReadScope?: ReadScopeInputs, skillDispatchName?: string) => SkillExecutor;
33
34
  export type PhaseRole = 'read-only' | 'read-write';
34
35
  export declare function buildSkillRestrictedProvider(allowedTools: string[], model: AgentModelInput | undefined, readOnlyBash?: boolean, openaiBaseUrl?: string): ModelProvider;
@@ -1,6 +1,7 @@
1
1
  import type { AnthropicToolDef } from './types.js';
2
2
  export declare const bashTool: AnthropicToolDef;
3
3
  export declare const readFileTool: AnthropicToolDef;
4
+ export declare const extractDocumentTool: AnthropicToolDef;
4
5
  export declare const writeFileTool: AnthropicToolDef;
5
6
  export declare const editFileTool: AnthropicToolDef;
6
7
  export declare const globTool: AnthropicToolDef;