@gracefultools/astrid-sdk 0.7.16 → 0.8.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 +127 -341
- package/dist/channel/channel.d.ts +33 -0
- package/dist/channel/channel.d.ts.map +1 -0
- package/dist/channel/channel.js +90 -0
- package/dist/channel/channel.js.map +1 -0
- package/dist/channel/index.d.ts +13 -0
- package/dist/channel/index.d.ts.map +1 -0
- package/dist/channel/index.js +23 -0
- package/dist/channel/index.js.map +1 -0
- package/dist/channel/message-formatter.d.ts +14 -0
- package/dist/channel/message-formatter.d.ts.map +1 -0
- package/dist/channel/message-formatter.js +71 -0
- package/dist/channel/message-formatter.js.map +1 -0
- package/dist/channel/oauth-client.d.ts +15 -0
- package/dist/channel/oauth-client.d.ts.map +1 -0
- package/dist/channel/oauth-client.js +45 -0
- package/dist/channel/oauth-client.js.map +1 -0
- package/dist/channel/rest-client.d.ts +16 -0
- package/dist/channel/rest-client.d.ts.map +1 -0
- package/dist/channel/rest-client.js +66 -0
- package/dist/channel/rest-client.js.map +1 -0
- package/dist/channel/session-mapper.d.ts +14 -0
- package/dist/channel/session-mapper.d.ts.map +1 -0
- package/dist/channel/session-mapper.js +37 -0
- package/dist/channel/session-mapper.js.map +1 -0
- package/dist/channel/sse-client.d.ts +31 -0
- package/dist/channel/sse-client.d.ts.map +1 -0
- package/dist/channel/sse-client.js +171 -0
- package/dist/channel/sse-client.js.map +1 -0
- package/dist/channel/types.d.ts +65 -0
- package/dist/channel/types.d.ts.map +1 -0
- package/dist/channel/types.js +3 -0
- package/dist/channel/types.js.map +1 -0
- package/dist/config/agent-workflow.js +7 -7
- package/dist/index.d.ts +1 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -30
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/agent-config.d.ts.map +1 -1
- package/dist/utils/agent-config.js +14 -0
- package/dist/utils/agent-config.js.map +1 -1
- package/openclaw.plugin.json +25 -0
- package/package.json +66 -77
- package/templates/.astrid.config.json +60 -60
- package/templates/ASTRID.template.md +74 -74
- package/dist/bin/cli.d.ts +0 -14
- package/dist/bin/cli.d.ts.map +0 -1
- package/dist/bin/cli.js +0 -1610
- package/dist/bin/cli.js.map +0 -1
- package/dist/executors/claude.d.ts +0 -65
- package/dist/executors/claude.d.ts.map +0 -1
- package/dist/executors/claude.js +0 -838
- package/dist/executors/claude.js.map +0 -1
- package/dist/executors/gemini.d.ts +0 -23
- package/dist/executors/gemini.d.ts.map +0 -1
- package/dist/executors/gemini.js +0 -558
- package/dist/executors/gemini.js.map +0 -1
- package/dist/executors/openai.d.ts +0 -17
- package/dist/executors/openai.d.ts.map +0 -1
- package/dist/executors/openai.js +0 -614
- package/dist/executors/openai.js.map +0 -1
- package/dist/executors/shared/index.d.ts +0 -9
- package/dist/executors/shared/index.d.ts.map +0 -1
- package/dist/executors/shared/index.js +0 -21
- package/dist/executors/shared/index.js.map +0 -1
- package/dist/executors/shared/tool-executor.d.ts +0 -52
- package/dist/executors/shared/tool-executor.d.ts.map +0 -1
- package/dist/executors/shared/tool-executor.js +0 -262
- package/dist/executors/shared/tool-executor.js.map +0 -1
- package/dist/executors/shared/tool-schemas.d.ts +0 -61
- package/dist/executors/shared/tool-schemas.d.ts.map +0 -1
- package/dist/executors/shared/tool-schemas.js +0 -135
- package/dist/executors/shared/tool-schemas.js.map +0 -1
- package/dist/executors/terminal-base.d.ts +0 -207
- package/dist/executors/terminal-base.d.ts.map +0 -1
- package/dist/executors/terminal-base.js +0 -552
- package/dist/executors/terminal-base.js.map +0 -1
- package/dist/executors/terminal-claude.d.ts +0 -116
- package/dist/executors/terminal-claude.d.ts.map +0 -1
- package/dist/executors/terminal-claude.js +0 -700
- package/dist/executors/terminal-claude.js.map +0 -1
- package/dist/executors/terminal-executors.test.d.ts +0 -8
- package/dist/executors/terminal-executors.test.d.ts.map +0 -1
- package/dist/executors/terminal-executors.test.js +0 -469
- package/dist/executors/terminal-executors.test.js.map +0 -1
- package/dist/executors/terminal-gemini.d.ts +0 -50
- package/dist/executors/terminal-gemini.d.ts.map +0 -1
- package/dist/executors/terminal-gemini.js +0 -401
- package/dist/executors/terminal-gemini.js.map +0 -1
- package/dist/executors/terminal-openai.d.ts +0 -50
- package/dist/executors/terminal-openai.d.ts.map +0 -1
- package/dist/executors/terminal-openai.js +0 -405
- package/dist/executors/terminal-openai.js.map +0 -1
- package/dist/server/astrid-client.d.ts +0 -77
- package/dist/server/astrid-client.d.ts.map +0 -1
- package/dist/server/astrid-client.js +0 -125
- package/dist/server/astrid-client.js.map +0 -1
- package/dist/server/index.d.ts +0 -38
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js +0 -408
- package/dist/server/index.js.map +0 -1
- package/dist/server/repo-manager.d.ts +0 -41
- package/dist/server/repo-manager.d.ts.map +0 -1
- package/dist/server/repo-manager.js +0 -177
- package/dist/server/repo-manager.js.map +0 -1
- package/dist/server/session-manager.d.ts +0 -93
- package/dist/server/session-manager.d.ts.map +0 -1
- package/dist/server/session-manager.js +0 -217
- package/dist/server/session-manager.js.map +0 -1
- package/dist/server/webhook-signature.d.ts +0 -23
- package/dist/server/webhook-signature.d.ts.map +0 -1
- package/dist/server/webhook-signature.js +0 -74
- package/dist/server/webhook-signature.js.map +0 -1
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Terminal Executor Base Interface
|
|
3
|
-
*
|
|
4
|
-
* Common interface for all terminal executors (Claude, OpenAI, Gemini).
|
|
5
|
-
* Terminal mode executes tasks using local tools instead of remote APIs.
|
|
6
|
-
*/
|
|
7
|
-
import type { Session } from '../server/session-manager.js';
|
|
8
|
-
/**
|
|
9
|
-
* Result from terminal execution
|
|
10
|
-
*/
|
|
11
|
-
export interface TerminalExecutionResult {
|
|
12
|
-
exitCode: number | null;
|
|
13
|
-
stdout: string;
|
|
14
|
-
stderr: string;
|
|
15
|
-
sessionId?: string;
|
|
16
|
-
gitDiff?: string;
|
|
17
|
-
modifiedFiles?: string[];
|
|
18
|
-
prUrl?: string;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Context for terminal task execution
|
|
22
|
-
*/
|
|
23
|
-
export interface TerminalTaskContext {
|
|
24
|
-
comments?: Array<{
|
|
25
|
-
authorName: string;
|
|
26
|
-
content: string;
|
|
27
|
-
createdAt: string;
|
|
28
|
-
}>;
|
|
29
|
-
prUrl?: string;
|
|
30
|
-
repository?: string;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Parsed output from terminal execution
|
|
34
|
-
*/
|
|
35
|
-
export interface ParsedOutput {
|
|
36
|
-
summary?: string;
|
|
37
|
-
files?: string[];
|
|
38
|
-
prUrl?: string;
|
|
39
|
-
error?: string;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Progress callback function
|
|
43
|
-
*/
|
|
44
|
-
export type TerminalProgressCallback = (message: string) => void;
|
|
45
|
-
/**
|
|
46
|
-
* Comment callback function for posting updates to the task
|
|
47
|
-
*/
|
|
48
|
-
export type TerminalCommentCallback = (content: string) => Promise<void>;
|
|
49
|
-
/**
|
|
50
|
-
* Options for terminal executor callbacks
|
|
51
|
-
*/
|
|
52
|
-
export interface TerminalExecutorCallbacks {
|
|
53
|
-
onProgress?: TerminalProgressCallback;
|
|
54
|
-
onComment?: TerminalCommentCallback;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Common interface for all terminal executors.
|
|
58
|
-
*
|
|
59
|
-
* Terminal executors process tasks using local tool execution:
|
|
60
|
-
* - Claude: Spawns local Claude Code CLI
|
|
61
|
-
* - OpenAI: Uses OpenAI API with local tool execution
|
|
62
|
-
* - Gemini: Uses Gemini API with local tool execution
|
|
63
|
-
*/
|
|
64
|
-
export interface TerminalExecutor {
|
|
65
|
-
/**
|
|
66
|
-
* Check if the executor is available (e.g., CLI installed, API key set)
|
|
67
|
-
*/
|
|
68
|
-
checkAvailable(): Promise<boolean>;
|
|
69
|
-
/**
|
|
70
|
-
* Start a new session to process a task
|
|
71
|
-
*
|
|
72
|
-
* @param session - The session containing task details
|
|
73
|
-
* @param prompt - Optional custom prompt (uses default if not provided)
|
|
74
|
-
* @param context - Optional context including comments and PR info
|
|
75
|
-
* @param callbacks - Optional callbacks for progress updates and comments
|
|
76
|
-
* @returns Execution result with output, modified files, and PR URL
|
|
77
|
-
*/
|
|
78
|
-
startSession(session: Session, prompt?: string, context?: TerminalTaskContext, callbacks?: TerminalExecutorCallbacks): Promise<TerminalExecutionResult>;
|
|
79
|
-
/**
|
|
80
|
-
* Resume an existing session with new input
|
|
81
|
-
*
|
|
82
|
-
* @param session - The session to resume
|
|
83
|
-
* @param input - New input from user (e.g., follow-up message)
|
|
84
|
-
* @param context - Optional updated context
|
|
85
|
-
* @param callbacks - Optional callbacks for progress updates and comments
|
|
86
|
-
* @returns Execution result
|
|
87
|
-
*/
|
|
88
|
-
resumeSession(session: Session, input: string, context?: TerminalTaskContext, callbacks?: TerminalExecutorCallbacks): Promise<TerminalExecutionResult>;
|
|
89
|
-
/**
|
|
90
|
-
* Parse output to extract key information
|
|
91
|
-
*
|
|
92
|
-
* @param output - Raw output string from execution
|
|
93
|
-
* @returns Parsed output with summary, files, PR URL, and error
|
|
94
|
-
*/
|
|
95
|
-
parseOutput(output: string): ParsedOutput;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Extract PR URL from output text
|
|
99
|
-
*/
|
|
100
|
-
export declare function extractPrUrl(output: string): string | undefined;
|
|
101
|
-
/**
|
|
102
|
-
* Format comment history for context
|
|
103
|
-
*/
|
|
104
|
-
export declare function formatCommentHistory(comments?: TerminalTaskContext['comments']): string;
|
|
105
|
-
/**
|
|
106
|
-
* Capture current git status (untracked and modified files)
|
|
107
|
-
* Call this BEFORE task execution to get baseline
|
|
108
|
-
*/
|
|
109
|
-
export declare function captureGitBaseline(projectPath: string): Promise<Set<string>>;
|
|
110
|
-
/**
|
|
111
|
-
* Capture git changes in a repository
|
|
112
|
-
* If baseline is provided, only returns NEW changes (not pre-existing)
|
|
113
|
-
*/
|
|
114
|
-
export declare function captureGitChanges(projectPath: string, baseline?: Set<string>): Promise<{
|
|
115
|
-
diff: string;
|
|
116
|
-
files: string[];
|
|
117
|
-
}>;
|
|
118
|
-
/**
|
|
119
|
-
* Build default prompt for a task
|
|
120
|
-
*/
|
|
121
|
-
export declare function buildDefaultPrompt(session: Session, context?: TerminalTaskContext): string;
|
|
122
|
-
/**
|
|
123
|
-
* Types of content detected in Claude's output
|
|
124
|
-
*/
|
|
125
|
-
export type OutputContentType = 'plan' | 'question' | 'progress' | 'error' | 'pr_created';
|
|
126
|
-
/**
|
|
127
|
-
* Detected content from parsing output
|
|
128
|
-
*/
|
|
129
|
-
export interface DetectedContent {
|
|
130
|
-
type: OutputContentType;
|
|
131
|
-
content: string;
|
|
132
|
-
raw?: string;
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Parser state for accumulating output across chunks
|
|
136
|
-
*/
|
|
137
|
-
export interface OutputParserState {
|
|
138
|
-
buffer: string;
|
|
139
|
-
lastPlanPosted: number;
|
|
140
|
-
lastProgressPosted: number;
|
|
141
|
-
lastQuestionPosted: number;
|
|
142
|
-
postedPlans: Set<string>;
|
|
143
|
-
postedQuestions: Set<string>;
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Create a new parser state
|
|
147
|
-
*/
|
|
148
|
-
export declare function createParserState(): OutputParserState;
|
|
149
|
-
/**
|
|
150
|
-
* Parse a chunk of output and detect any plans, questions, or progress updates.
|
|
151
|
-
* Uses the state to track what's been posted to avoid duplicates.
|
|
152
|
-
*
|
|
153
|
-
* @param chunk - New output chunk to parse
|
|
154
|
-
* @param state - Parser state for tracking
|
|
155
|
-
* @returns Array of detected content items
|
|
156
|
-
*/
|
|
157
|
-
export declare function parseOutputChunk(chunk: string, state: OutputParserState): DetectedContent[];
|
|
158
|
-
/**
|
|
159
|
-
* Format detected content as a comment for posting
|
|
160
|
-
*/
|
|
161
|
-
export declare function formatContentAsComment(content: DetectedContent, agentName?: string): string;
|
|
162
|
-
/**
|
|
163
|
-
* Configuration for worktree isolation
|
|
164
|
-
*/
|
|
165
|
-
export interface WorktreeConfig {
|
|
166
|
-
/** Enable worktree isolation (default: true for safety) */
|
|
167
|
-
enabled: boolean;
|
|
168
|
-
/** Base directory for worktrees (default: /tmp/astrid-worktrees) */
|
|
169
|
-
baseDir: string;
|
|
170
|
-
/** Clean up worktrees after completion (default: true) */
|
|
171
|
-
autoCleanup: boolean;
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Get worktree configuration from environment variables
|
|
175
|
-
*/
|
|
176
|
-
export declare function getWorktreeConfig(): WorktreeConfig;
|
|
177
|
-
/**
|
|
178
|
-
* Result from creating a worktree
|
|
179
|
-
*/
|
|
180
|
-
export interface WorktreeResult {
|
|
181
|
-
/** Path to the worktree directory */
|
|
182
|
-
worktreePath: string;
|
|
183
|
-
/** Branch name created for this worktree */
|
|
184
|
-
branchName: string;
|
|
185
|
-
/** Cleanup function to remove the worktree */
|
|
186
|
-
cleanup: () => Promise<void>;
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Create an isolated git worktree for a task.
|
|
190
|
-
* This allows the agent to work on changes without affecting the main working directory.
|
|
191
|
-
*
|
|
192
|
-
* @param projectPath - Path to the main git repository
|
|
193
|
-
* @param taskId - Task ID for naming the worktree and branch
|
|
194
|
-
* @param branchPrefix - Prefix for the branch name (default: 'task/')
|
|
195
|
-
* @returns WorktreeResult with path and cleanup function
|
|
196
|
-
*/
|
|
197
|
-
export declare function createWorktree(projectPath: string, taskId: string, branchPrefix?: string): Promise<WorktreeResult>;
|
|
198
|
-
/**
|
|
199
|
-
* Check if worktree isolation should be used
|
|
200
|
-
*/
|
|
201
|
-
export declare function shouldUseWorktree(): boolean;
|
|
202
|
-
/**
|
|
203
|
-
* Push changes from worktree and create PR
|
|
204
|
-
* Returns the PR URL if successful
|
|
205
|
-
*/
|
|
206
|
-
export declare function pushWorktreeChanges(worktreePath: string, branchName: string, taskTitle: string): Promise<string | undefined>;
|
|
207
|
-
//# sourceMappingURL=terminal-base.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-base.d.ts","sourceRoot":"","sources":["../../src/executors/terminal-base.ts"],"names":[],"mappings":"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"}
|