@locusai/sdk 0.16.2 → 0.18.2
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/PACKAGE_GUIDE.md +269 -0
- package/package.json +28 -28
- package/dist/agent/codebase-indexer-service.d.ts +0 -17
- package/dist/agent/codebase-indexer-service.d.ts.map +0 -1
- package/dist/agent/document-fetcher.d.ts +0 -23
- package/dist/agent/document-fetcher.d.ts.map +0 -1
- package/dist/agent/git-workflow.d.ts +0 -59
- package/dist/agent/git-workflow.d.ts.map +0 -1
- package/dist/agent/index.d.ts +0 -9
- package/dist/agent/index.d.ts.map +0 -1
- package/dist/agent/review-service.d.ts +0 -21
- package/dist/agent/review-service.d.ts.map +0 -1
- package/dist/agent/reviewer-worker.d.ts +0 -42
- package/dist/agent/reviewer-worker.d.ts.map +0 -1
- package/dist/agent/task-executor.d.ts +0 -26
- package/dist/agent/task-executor.d.ts.map +0 -1
- package/dist/agent/worker-cli.d.ts +0 -6
- package/dist/agent/worker-cli.d.ts.map +0 -1
- package/dist/agent/worker-types.d.ts +0 -36
- package/dist/agent/worker-types.d.ts.map +0 -1
- package/dist/agent/worker.d.ts +0 -40
- package/dist/agent/worker.d.ts.map +0 -1
- package/dist/agent/worker.js +0 -2792
- package/dist/ai/__tests__/factory.test.d.ts +0 -2
- package/dist/ai/__tests__/factory.test.d.ts.map +0 -1
- package/dist/ai/claude-runner.d.ts +0 -35
- package/dist/ai/claude-runner.d.ts.map +0 -1
- package/dist/ai/claude-stream-parser.d.ts +0 -41
- package/dist/ai/claude-stream-parser.d.ts.map +0 -1
- package/dist/ai/codex-runner.d.ts +0 -38
- package/dist/ai/codex-runner.d.ts.map +0 -1
- package/dist/ai/factory.d.ts +0 -26
- package/dist/ai/factory.d.ts.map +0 -1
- package/dist/ai/index.d.ts +0 -8
- package/dist/ai/index.d.ts.map +0 -1
- package/dist/ai/runner.d.ts +0 -23
- package/dist/ai/runner.d.ts.map +0 -1
- package/dist/core/config.d.ts +0 -58
- package/dist/core/config.d.ts.map +0 -1
- package/dist/core/index.d.ts +0 -4
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/indexer.d.ts +0 -31
- package/dist/core/indexer.d.ts.map +0 -1
- package/dist/core/prompt-builder.d.ts +0 -14
- package/dist/core/prompt-builder.d.ts.map +0 -1
- package/dist/discussion/agents/facilitator-prompt.d.ts +0 -13
- package/dist/discussion/agents/facilitator-prompt.d.ts.map +0 -1
- package/dist/discussion/discussion-facilitator.d.ts +0 -67
- package/dist/discussion/discussion-facilitator.d.ts.map +0 -1
- package/dist/discussion/discussion-manager.d.ts +0 -59
- package/dist/discussion/discussion-manager.d.ts.map +0 -1
- package/dist/discussion/discussion-types.d.ts +0 -89
- package/dist/discussion/discussion-types.d.ts.map +0 -1
- package/dist/discussion/index.d.ts +0 -5
- package/dist/discussion/index.d.ts.map +0 -1
- package/dist/events.d.ts +0 -22
- package/dist/events.d.ts.map +0 -1
- package/dist/exec/context-tracker.d.ts +0 -183
- package/dist/exec/context-tracker.d.ts.map +0 -1
- package/dist/exec/event-emitter.d.ts +0 -117
- package/dist/exec/event-emitter.d.ts.map +0 -1
- package/dist/exec/events.d.ts +0 -171
- package/dist/exec/events.d.ts.map +0 -1
- package/dist/exec/exec-session.d.ts +0 -164
- package/dist/exec/exec-session.d.ts.map +0 -1
- package/dist/exec/history-manager.d.ts +0 -153
- package/dist/exec/history-manager.d.ts.map +0 -1
- package/dist/exec/index.d.ts +0 -7
- package/dist/exec/index.d.ts.map +0 -1
- package/dist/exec/types.d.ts +0 -130
- package/dist/exec/types.d.ts.map +0 -1
- package/dist/git/git-utils.d.ts +0 -31
- package/dist/git/git-utils.d.ts.map +0 -1
- package/dist/git/index.d.ts +0 -3
- package/dist/git/index.d.ts.map +0 -1
- package/dist/git/pr-service.d.ts +0 -66
- package/dist/git/pr-service.d.ts.map +0 -1
- package/dist/index-node.d.ts +0 -22
- package/dist/index-node.d.ts.map +0 -1
- package/dist/index-node.js +0 -5607
- package/dist/index.d.ts +0 -37
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -559
- package/dist/modules/auth.d.ts +0 -23
- package/dist/modules/auth.d.ts.map +0 -1
- package/dist/modules/base.d.ts +0 -8
- package/dist/modules/base.d.ts.map +0 -1
- package/dist/modules/ci.d.ts +0 -8
- package/dist/modules/ci.d.ts.map +0 -1
- package/dist/modules/docs.d.ts +0 -14
- package/dist/modules/docs.d.ts.map +0 -1
- package/dist/modules/invitations.d.ts +0 -10
- package/dist/modules/invitations.d.ts.map +0 -1
- package/dist/modules/organizations.d.ts +0 -24
- package/dist/modules/organizations.d.ts.map +0 -1
- package/dist/modules/sprints.d.ts +0 -14
- package/dist/modules/sprints.d.ts.map +0 -1
- package/dist/modules/tasks.d.ts +0 -25
- package/dist/modules/tasks.d.ts.map +0 -1
- package/dist/modules/workspaces.d.ts +0 -44
- package/dist/modules/workspaces.d.ts.map +0 -1
- package/dist/orchestrator/index.d.ts +0 -85
- package/dist/orchestrator/index.d.ts.map +0 -1
- package/dist/orchestrator/types.d.ts +0 -36
- package/dist/orchestrator/types.d.ts.map +0 -1
- package/dist/planning/agents/architect.d.ts +0 -1
- package/dist/planning/agents/architect.d.ts.map +0 -1
- package/dist/planning/agents/cross-task-reviewer.d.ts +0 -1
- package/dist/planning/agents/cross-task-reviewer.d.ts.map +0 -1
- package/dist/planning/agents/planner.d.ts +0 -20
- package/dist/planning/agents/planner.d.ts.map +0 -1
- package/dist/planning/agents/sprint-organizer.d.ts +0 -1
- package/dist/planning/agents/sprint-organizer.d.ts.map +0 -1
- package/dist/planning/agents/tech-lead.d.ts +0 -1
- package/dist/planning/agents/tech-lead.d.ts.map +0 -1
- package/dist/planning/index.d.ts +0 -4
- package/dist/planning/index.d.ts.map +0 -1
- package/dist/planning/plan-manager.d.ts +0 -51
- package/dist/planning/plan-manager.d.ts.map +0 -1
- package/dist/planning/planning-meeting.d.ts +0 -34
- package/dist/planning/planning-meeting.d.ts.map +0 -1
- package/dist/planning/sprint-plan.d.ts +0 -51
- package/dist/planning/sprint-plan.d.ts.map +0 -1
- package/dist/utils/colors.d.ts +0 -62
- package/dist/utils/colors.d.ts.map +0 -1
- package/dist/utils/json-extractor.d.ts +0 -10
- package/dist/utils/json-extractor.d.ts.map +0 -1
- package/dist/utils/resolve-bin.d.ts +0 -15
- package/dist/utils/resolve-bin.d.ts.map +0 -1
- package/dist/utils/retry.d.ts +0 -8
- package/dist/utils/retry.d.ts.map +0 -1
- package/dist/utils/structured-output.d.ts +0 -14
- package/dist/utils/structured-output.d.ts.map +0 -1
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Artifact types that can be tracked across conversation turns.
|
|
3
|
-
*/
|
|
4
|
-
export type ArtifactType = "plan" | "document" | "code" | "task-list" | "diagram" | "config" | "report" | "other";
|
|
5
|
-
/**
|
|
6
|
-
* Represents an artifact created during the session.
|
|
7
|
-
*/
|
|
8
|
-
export interface Artifact {
|
|
9
|
-
/** Unique identifier for the artifact */
|
|
10
|
-
id: string;
|
|
11
|
-
/** Human-readable title of the artifact */
|
|
12
|
-
title: string;
|
|
13
|
-
/** Type of artifact */
|
|
14
|
-
type: ArtifactType;
|
|
15
|
-
/** Content of the artifact (can be markdown, code, etc.) */
|
|
16
|
-
content: string;
|
|
17
|
-
/** Timestamp when the artifact was created */
|
|
18
|
-
createdAt: number;
|
|
19
|
-
/** Timestamp when the artifact was last updated */
|
|
20
|
-
updatedAt: number;
|
|
21
|
-
/** Optional file path if artifact was saved to disk */
|
|
22
|
-
filePath?: string;
|
|
23
|
-
/** Optional metadata for additional context */
|
|
24
|
-
metadata?: Record<string, unknown>;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Task status for tracking progress.
|
|
28
|
-
*/
|
|
29
|
-
export type TaskStatus = "pending" | "in_progress" | "completed" | "cancelled";
|
|
30
|
-
/**
|
|
31
|
-
* Represents a task created during the session.
|
|
32
|
-
*/
|
|
33
|
-
export interface Task {
|
|
34
|
-
/** Unique identifier for the task */
|
|
35
|
-
id: string;
|
|
36
|
-
/** Human-readable title of the task */
|
|
37
|
-
title: string;
|
|
38
|
-
/** Detailed description of the task */
|
|
39
|
-
description?: string;
|
|
40
|
-
/** Current status of the task */
|
|
41
|
-
status: TaskStatus;
|
|
42
|
-
/** Timestamp when the task was created */
|
|
43
|
-
createdAt: number;
|
|
44
|
-
/** Timestamp when the task was last updated */
|
|
45
|
-
updatedAt: number;
|
|
46
|
-
/** Optional parent task ID for hierarchical tasks */
|
|
47
|
-
parentId?: string;
|
|
48
|
-
/** Optional metadata for additional context */
|
|
49
|
-
metadata?: Record<string, unknown>;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Serialized state of the ContextTracker for persistence.
|
|
53
|
-
*/
|
|
54
|
-
export interface ContextTrackerState {
|
|
55
|
-
artifacts: Artifact[];
|
|
56
|
-
tasks: Task[];
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Tracks artifacts and tasks created during an AI session to enable
|
|
60
|
-
* context-aware follow-up conversations and reference resolution.
|
|
61
|
-
*
|
|
62
|
-
* The ContextTracker enables multi-turn workflow support by:
|
|
63
|
-
* - Maintaining a registry of artifacts (plans, docs, code) created in the session
|
|
64
|
-
* - Tracking tasks and their status
|
|
65
|
-
* - Resolving natural language references ("the plan", "that doc")
|
|
66
|
-
* - Building context summaries for prompts
|
|
67
|
-
*
|
|
68
|
-
* @example
|
|
69
|
-
* ```typescript
|
|
70
|
-
* const tracker = new ContextTracker();
|
|
71
|
-
*
|
|
72
|
-
* // Track an artifact
|
|
73
|
-
* const artifact = tracker.createArtifact({
|
|
74
|
-
* title: "Sprint Plan Q1",
|
|
75
|
-
* type: "plan",
|
|
76
|
-
* content: "## Week 1\n..."
|
|
77
|
-
* });
|
|
78
|
-
*
|
|
79
|
-
* // Later, resolve a reference
|
|
80
|
-
* const plan = tracker.getReferencedArtifact("the plan");
|
|
81
|
-
*
|
|
82
|
-
* // Build context for next prompt
|
|
83
|
-
* const context = tracker.buildContextSummary();
|
|
84
|
-
* ```
|
|
85
|
-
*/
|
|
86
|
-
export declare class ContextTracker {
|
|
87
|
-
private artifacts;
|
|
88
|
-
private tasks;
|
|
89
|
-
/**
|
|
90
|
-
* Create a new artifact and track it.
|
|
91
|
-
*/
|
|
92
|
-
createArtifact(params: Omit<Artifact, "id" | "createdAt" | "updatedAt">): Artifact;
|
|
93
|
-
/**
|
|
94
|
-
* Track an existing artifact.
|
|
95
|
-
*/
|
|
96
|
-
trackArtifact(artifact: Artifact): void;
|
|
97
|
-
/**
|
|
98
|
-
* Update an existing artifact.
|
|
99
|
-
*/
|
|
100
|
-
updateArtifact(id: string, updates: Partial<Omit<Artifact, "id" | "createdAt">>): Artifact | null;
|
|
101
|
-
/**
|
|
102
|
-
* Get an artifact by ID.
|
|
103
|
-
*/
|
|
104
|
-
getArtifact(id: string): Artifact | null;
|
|
105
|
-
/**
|
|
106
|
-
* Get all tracked artifacts.
|
|
107
|
-
*/
|
|
108
|
-
getAllArtifacts(): Artifact[];
|
|
109
|
-
/**
|
|
110
|
-
* Create a new task and track it.
|
|
111
|
-
*/
|
|
112
|
-
createTask(params: Omit<Task, "id" | "createdAt" | "updatedAt">): Task;
|
|
113
|
-
/**
|
|
114
|
-
* Track an existing task.
|
|
115
|
-
*/
|
|
116
|
-
trackTask(task: Task): void;
|
|
117
|
-
/**
|
|
118
|
-
* Update an existing task.
|
|
119
|
-
*/
|
|
120
|
-
updateTask(id: string, updates: Partial<Omit<Task, "id" | "createdAt">>): Task | null;
|
|
121
|
-
/**
|
|
122
|
-
* Get a task by ID.
|
|
123
|
-
*/
|
|
124
|
-
getTask(id: string): Task | null;
|
|
125
|
-
/**
|
|
126
|
-
* Get all tracked tasks.
|
|
127
|
-
*/
|
|
128
|
-
getAllTasks(): Task[];
|
|
129
|
-
/**
|
|
130
|
-
* Get tasks by status.
|
|
131
|
-
*/
|
|
132
|
-
getTasksByStatus(status: TaskStatus): Task[];
|
|
133
|
-
/**
|
|
134
|
-
* Resolve a natural language reference to an artifact.
|
|
135
|
-
*
|
|
136
|
-
* Supports multiple resolution strategies:
|
|
137
|
-
* 1. Exact ID match
|
|
138
|
-
* 2. Title contains reference (case-insensitive)
|
|
139
|
-
* 3. Type-based reference using aliases ("the plan", "that doc")
|
|
140
|
-
* 4. Keyword matching in title
|
|
141
|
-
*
|
|
142
|
-
* @param reference - Natural language reference like "the plan" or "sprint doc"
|
|
143
|
-
* @returns The matched artifact or null if no match found
|
|
144
|
-
*/
|
|
145
|
-
getReferencedArtifact(reference: string): Artifact | null;
|
|
146
|
-
/**
|
|
147
|
-
* Resolve a natural language reference to a task.
|
|
148
|
-
*
|
|
149
|
-
* @param reference - Natural language reference like "the auth task"
|
|
150
|
-
* @returns The matched task or null if no match found
|
|
151
|
-
*/
|
|
152
|
-
getReferencedTask(reference: string): Task | null;
|
|
153
|
-
/**
|
|
154
|
-
* Build a context summary for inclusion in prompts.
|
|
155
|
-
* Provides the AI with awareness of artifacts and tasks from the session.
|
|
156
|
-
*/
|
|
157
|
-
buildContextSummary(): string;
|
|
158
|
-
/**
|
|
159
|
-
* Get a status icon for display.
|
|
160
|
-
*/
|
|
161
|
-
private getStatusIcon;
|
|
162
|
-
/**
|
|
163
|
-
* Check if the tracker has any content.
|
|
164
|
-
*/
|
|
165
|
-
hasContent(): boolean;
|
|
166
|
-
/**
|
|
167
|
-
* Clear all tracked artifacts and tasks.
|
|
168
|
-
*/
|
|
169
|
-
clear(): void;
|
|
170
|
-
/**
|
|
171
|
-
* Serialize the tracker state for persistence.
|
|
172
|
-
*/
|
|
173
|
-
toJSON(): ContextTrackerState;
|
|
174
|
-
/**
|
|
175
|
-
* Restore tracker state from serialized data.
|
|
176
|
-
*/
|
|
177
|
-
static fromJSON(state: ContextTrackerState): ContextTracker;
|
|
178
|
-
/**
|
|
179
|
-
* Restore state into this tracker instance.
|
|
180
|
-
*/
|
|
181
|
-
restore(state: ContextTrackerState): void;
|
|
182
|
-
}
|
|
183
|
-
//# sourceMappingURL=context-tracker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-tracker.d.ts","sourceRoot":"","sources":["../../src/exec/context-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { type ExecEvent, type ExecEventListener, type ExecEventMap, ExecEventType } from "./events.js";
|
|
2
|
-
/**
|
|
3
|
-
* Type-safe event emitter for execution progress feedback.
|
|
4
|
-
*
|
|
5
|
-
* Provides methods to emit and listen to execution events with full type safety.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* const emitter = new ExecEventEmitter();
|
|
10
|
-
*
|
|
11
|
-
* // Listen to events
|
|
12
|
-
* emitter.on(ExecEventType.TOOL_STARTED, (event) => {
|
|
13
|
-
* console.log(`Tool started: ${event.data.toolName}`);
|
|
14
|
-
* });
|
|
15
|
-
*
|
|
16
|
-
* // Emit events
|
|
17
|
-
* emitter.emitToolStarted('Read');
|
|
18
|
-
* ```
|
|
19
|
-
*/
|
|
20
|
-
export declare class ExecEventEmitter {
|
|
21
|
-
private emitter;
|
|
22
|
-
private sessionId;
|
|
23
|
-
private isSessionActive;
|
|
24
|
-
private eventLog;
|
|
25
|
-
private debugMode;
|
|
26
|
-
constructor(options?: {
|
|
27
|
-
debug?: boolean;
|
|
28
|
-
});
|
|
29
|
-
/**
|
|
30
|
-
* Get the current session ID.
|
|
31
|
-
*/
|
|
32
|
-
getSessionId(): string;
|
|
33
|
-
/**
|
|
34
|
-
* Check if a session is currently active.
|
|
35
|
-
*/
|
|
36
|
-
isActive(): boolean;
|
|
37
|
-
/**
|
|
38
|
-
* Get the event log for debugging purposes.
|
|
39
|
-
*/
|
|
40
|
-
getEventLog(): ExecEvent[];
|
|
41
|
-
/**
|
|
42
|
-
* Clear the event log.
|
|
43
|
-
*/
|
|
44
|
-
clearEventLog(): void;
|
|
45
|
-
/**
|
|
46
|
-
* Subscribe to a specific event type.
|
|
47
|
-
*/
|
|
48
|
-
on<K extends ExecEventType>(eventType: K, listener: ExecEventListener<ExecEventMap[K]>): this;
|
|
49
|
-
/**
|
|
50
|
-
* Subscribe to a specific event type for a single emission.
|
|
51
|
-
*/
|
|
52
|
-
once<K extends ExecEventType>(eventType: K, listener: ExecEventListener<ExecEventMap[K]>): this;
|
|
53
|
-
/**
|
|
54
|
-
* Unsubscribe from a specific event type.
|
|
55
|
-
*/
|
|
56
|
-
off<K extends ExecEventType>(eventType: K, listener: ExecEventListener<ExecEventMap[K]>): this;
|
|
57
|
-
/**
|
|
58
|
-
* Remove all listeners for a specific event type or all events.
|
|
59
|
-
*/
|
|
60
|
-
removeAllListeners(eventType?: ExecEventType): this;
|
|
61
|
-
/**
|
|
62
|
-
* Emit an event with the given payload.
|
|
63
|
-
*/
|
|
64
|
-
private emit;
|
|
65
|
-
/**
|
|
66
|
-
* Create the base event structure with timestamp.
|
|
67
|
-
*/
|
|
68
|
-
private createEventBase;
|
|
69
|
-
/**
|
|
70
|
-
* Emit SESSION_STARTED event.
|
|
71
|
-
*/
|
|
72
|
-
emitSessionStarted(options?: {
|
|
73
|
-
model?: string;
|
|
74
|
-
provider?: string;
|
|
75
|
-
}): void;
|
|
76
|
-
/**
|
|
77
|
-
* Emit PROMPT_SUBMITTED event.
|
|
78
|
-
*/
|
|
79
|
-
emitPromptSubmitted(prompt: string, truncated?: boolean): void;
|
|
80
|
-
/**
|
|
81
|
-
* Emit THINKING_STARTED event.
|
|
82
|
-
*/
|
|
83
|
-
emitThinkingStarted(content?: string): void;
|
|
84
|
-
/**
|
|
85
|
-
* Emit THINKING_STOPPED event.
|
|
86
|
-
*/
|
|
87
|
-
emitThinkingStoped(): void;
|
|
88
|
-
/**
|
|
89
|
-
* Emit TOOL_STARTED event.
|
|
90
|
-
*/
|
|
91
|
-
emitToolStarted(toolName: string, toolId?: string): void;
|
|
92
|
-
/**
|
|
93
|
-
* Emit TOOL_COMPLETED event.
|
|
94
|
-
*/
|
|
95
|
-
emitToolCompleted(toolName: string, toolId?: string, result?: unknown, duration?: number): void;
|
|
96
|
-
/**
|
|
97
|
-
* Emit TOOL_FAILED event.
|
|
98
|
-
*/
|
|
99
|
-
emitToolFailed(toolName: string, error: string, toolId?: string): void;
|
|
100
|
-
/**
|
|
101
|
-
* Emit TEXT_DELTA event.
|
|
102
|
-
*/
|
|
103
|
-
emitTextDelta(content: string): void;
|
|
104
|
-
/**
|
|
105
|
-
* Emit RESPONSE_COMPLETED event.
|
|
106
|
-
*/
|
|
107
|
-
emitResponseCompleted(content: string): void;
|
|
108
|
-
/**
|
|
109
|
-
* Emit ERROR_OCCURRED event.
|
|
110
|
-
*/
|
|
111
|
-
emitErrorOccurred(error: string, code?: string): void;
|
|
112
|
-
/**
|
|
113
|
-
* Emit SESSION_ENDED event.
|
|
114
|
-
*/
|
|
115
|
-
emitSessionEnded(success: boolean): void;
|
|
116
|
-
}
|
|
117
|
-
//# sourceMappingURL=event-emitter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-emitter.d.ts","sourceRoot":"","sources":["../../src/exec/event-emitter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,aAAa,EACd,MAAM,aAAa,CAAC;AASrB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;IAMzC;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,WAAW,IAAI,SAAS,EAAE;IAI1B;;OAEG;IACH,aAAa,IAAI,IAAI;IAIrB;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,aAAa,EACxB,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAC3C,IAAI;IAKP;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,aAAa,EAC1B,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAC3C,IAAI;IAKP;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,aAAa,EACzB,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAC3C,IAAI;IAKP;;OAEG;IACH,kBAAkB,CAAC,SAAS,CAAC,EAAE,aAAa,GAAG,IAAI;IASnD;;OAEG;IACH,OAAO,CAAC,IAAI;IAOZ;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,kBAAkB,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAYzE;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,IAAI;IAU5D;;OAEG;IACH,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAS3C;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAO1B;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAUxD;;OAEG;IACH,iBAAiB,CACf,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,IAAI;IAYP;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAWtE;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASpC;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAS5C;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAUrD;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAUzC"}
|
package/dist/exec/events.d.ts
DELETED
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Event types emitted during AI execution for rich progress feedback.
|
|
3
|
-
*/
|
|
4
|
-
export declare enum ExecEventType {
|
|
5
|
-
/** Session has been initialized and is ready to execute */
|
|
6
|
-
SESSION_STARTED = "session:started",
|
|
7
|
-
/** A prompt has been submitted to the AI */
|
|
8
|
-
PROMPT_SUBMITTED = "prompt:submitted",
|
|
9
|
-
/** AI has started thinking/reasoning */
|
|
10
|
-
THINKING_STARTED = "thinking:started",
|
|
11
|
-
/** AI has stopped thinking/reasoning */
|
|
12
|
-
THINKING_STOPPED = "thinking:stopped",
|
|
13
|
-
/** A tool has started execution */
|
|
14
|
-
TOOL_STARTED = "tool:started",
|
|
15
|
-
/** A tool has completed successfully */
|
|
16
|
-
TOOL_COMPLETED = "tool:completed",
|
|
17
|
-
/** A tool has failed */
|
|
18
|
-
TOOL_FAILED = "tool:failed",
|
|
19
|
-
/** Incremental text output from the AI */
|
|
20
|
-
TEXT_DELTA = "text:delta",
|
|
21
|
-
/** The AI response has completed */
|
|
22
|
-
RESPONSE_COMPLETED = "response:completed",
|
|
23
|
-
/** An error occurred during execution */
|
|
24
|
-
ERROR_OCCURRED = "error:occurred",
|
|
25
|
-
/** The session has ended */
|
|
26
|
-
SESSION_ENDED = "session:ended"
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Base interface for all execution events.
|
|
30
|
-
*/
|
|
31
|
-
export interface ExecEventBase {
|
|
32
|
-
type: ExecEventType;
|
|
33
|
-
timestamp: number;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Event payload for SESSION_STARTED
|
|
37
|
-
*/
|
|
38
|
-
export interface SessionStartedEvent extends ExecEventBase {
|
|
39
|
-
type: ExecEventType.SESSION_STARTED;
|
|
40
|
-
data: {
|
|
41
|
-
sessionId: string;
|
|
42
|
-
model?: string;
|
|
43
|
-
provider?: string;
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Event payload for PROMPT_SUBMITTED
|
|
48
|
-
*/
|
|
49
|
-
export interface PromptSubmittedEvent extends ExecEventBase {
|
|
50
|
-
type: ExecEventType.PROMPT_SUBMITTED;
|
|
51
|
-
data: {
|
|
52
|
-
prompt: string;
|
|
53
|
-
truncated?: boolean;
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Event payload for THINKING_STARTED
|
|
58
|
-
*/
|
|
59
|
-
export interface ThinkingStartedEvent extends ExecEventBase {
|
|
60
|
-
type: ExecEventType.THINKING_STARTED;
|
|
61
|
-
data: {
|
|
62
|
-
content?: string;
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Event payload for THINKING_STOPPED
|
|
67
|
-
*/
|
|
68
|
-
export interface ThinkingStoppedEvent extends ExecEventBase {
|
|
69
|
-
type: ExecEventType.THINKING_STOPPED;
|
|
70
|
-
data: Record<string, never>;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Event payload for TOOL_STARTED
|
|
74
|
-
*/
|
|
75
|
-
export interface ToolStartedEvent extends ExecEventBase {
|
|
76
|
-
type: ExecEventType.TOOL_STARTED;
|
|
77
|
-
data: {
|
|
78
|
-
toolName: string;
|
|
79
|
-
toolId?: string;
|
|
80
|
-
parameters?: Record<string, unknown>;
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Event payload for TOOL_COMPLETED
|
|
85
|
-
*/
|
|
86
|
-
export interface ToolCompletedEvent extends ExecEventBase {
|
|
87
|
-
type: ExecEventType.TOOL_COMPLETED;
|
|
88
|
-
data: {
|
|
89
|
-
toolName: string;
|
|
90
|
-
toolId?: string;
|
|
91
|
-
parameters?: Record<string, unknown>;
|
|
92
|
-
result?: unknown;
|
|
93
|
-
/** Duration in milliseconds */
|
|
94
|
-
duration?: number;
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Event payload for TOOL_FAILED
|
|
99
|
-
*/
|
|
100
|
-
export interface ToolFailedEvent extends ExecEventBase {
|
|
101
|
-
type: ExecEventType.TOOL_FAILED;
|
|
102
|
-
data: {
|
|
103
|
-
toolName: string;
|
|
104
|
-
toolId?: string;
|
|
105
|
-
parameters?: Record<string, unknown>;
|
|
106
|
-
error: string;
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Event payload for TEXT_DELTA
|
|
111
|
-
*/
|
|
112
|
-
export interface TextDeltaEvent extends ExecEventBase {
|
|
113
|
-
type: ExecEventType.TEXT_DELTA;
|
|
114
|
-
data: {
|
|
115
|
-
content: string;
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Event payload for RESPONSE_COMPLETED
|
|
120
|
-
*/
|
|
121
|
-
export interface ResponseCompletedEvent extends ExecEventBase {
|
|
122
|
-
type: ExecEventType.RESPONSE_COMPLETED;
|
|
123
|
-
data: {
|
|
124
|
-
content: string;
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Event payload for ERROR_OCCURRED
|
|
129
|
-
*/
|
|
130
|
-
export interface ErrorOccurredEvent extends ExecEventBase {
|
|
131
|
-
type: ExecEventType.ERROR_OCCURRED;
|
|
132
|
-
data: {
|
|
133
|
-
error: string;
|
|
134
|
-
code?: string;
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Event payload for SESSION_ENDED
|
|
139
|
-
*/
|
|
140
|
-
export interface SessionEndedEvent extends ExecEventBase {
|
|
141
|
-
type: ExecEventType.SESSION_ENDED;
|
|
142
|
-
data: {
|
|
143
|
-
sessionId: string;
|
|
144
|
-
success: boolean;
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Union type of all execution events.
|
|
149
|
-
*/
|
|
150
|
-
export type ExecEvent = SessionStartedEvent | PromptSubmittedEvent | ThinkingStartedEvent | ThinkingStoppedEvent | ToolStartedEvent | ToolCompletedEvent | ToolFailedEvent | TextDeltaEvent | ResponseCompletedEvent | ErrorOccurredEvent | SessionEndedEvent;
|
|
151
|
-
/**
|
|
152
|
-
* Event listener callback type.
|
|
153
|
-
*/
|
|
154
|
-
export type ExecEventListener<T extends ExecEvent = ExecEvent> = (event: T) => void;
|
|
155
|
-
/**
|
|
156
|
-
* Type-safe event map for ExecEventEmitter.
|
|
157
|
-
*/
|
|
158
|
-
export interface ExecEventMap {
|
|
159
|
-
[ExecEventType.SESSION_STARTED]: SessionStartedEvent;
|
|
160
|
-
[ExecEventType.PROMPT_SUBMITTED]: PromptSubmittedEvent;
|
|
161
|
-
[ExecEventType.THINKING_STARTED]: ThinkingStartedEvent;
|
|
162
|
-
[ExecEventType.THINKING_STOPPED]: ThinkingStoppedEvent;
|
|
163
|
-
[ExecEventType.TOOL_STARTED]: ToolStartedEvent;
|
|
164
|
-
[ExecEventType.TOOL_COMPLETED]: ToolCompletedEvent;
|
|
165
|
-
[ExecEventType.TOOL_FAILED]: ToolFailedEvent;
|
|
166
|
-
[ExecEventType.TEXT_DELTA]: TextDeltaEvent;
|
|
167
|
-
[ExecEventType.RESPONSE_COMPLETED]: ResponseCompletedEvent;
|
|
168
|
-
[ExecEventType.ERROR_OCCURRED]: ErrorOccurredEvent;
|
|
169
|
-
[ExecEventType.SESSION_ENDED]: SessionEndedEvent;
|
|
170
|
-
}
|
|
171
|
-
//# sourceMappingURL=events.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/exec/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
import type { AiRunner } from "../ai/runner.js";
|
|
2
|
-
import { type Artifact, ContextTracker, type Task } from "./context-tracker.js";
|
|
3
|
-
import { ExecEventEmitter } from "./event-emitter.js";
|
|
4
|
-
import { ExecEventType } from "./events.js";
|
|
5
|
-
import { type ConversationMessage, type ConversationSession, HistoryManager } from "./history-manager.js";
|
|
6
|
-
import type { StreamChunk } from "./types.js";
|
|
7
|
-
/**
|
|
8
|
-
* Configuration options for ExecSession.
|
|
9
|
-
*/
|
|
10
|
-
export interface ExecSessionConfig {
|
|
11
|
-
/** The AI runner to use for execution */
|
|
12
|
-
aiRunner: AiRunner;
|
|
13
|
-
/** Project path for history storage */
|
|
14
|
-
projectPath: string;
|
|
15
|
-
/** Model name for session metadata */
|
|
16
|
-
model: string;
|
|
17
|
-
/** Provider name for session metadata */
|
|
18
|
-
provider: string;
|
|
19
|
-
/** Optional session ID to resume */
|
|
20
|
-
sessionId?: string;
|
|
21
|
-
/** Maximum messages to include in context (default: 10) */
|
|
22
|
-
maxContextMessages?: number;
|
|
23
|
-
/** Enable debug mode for event logging */
|
|
24
|
-
debug?: boolean;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Result returned after execution completes.
|
|
28
|
-
*/
|
|
29
|
-
export interface ExecResult {
|
|
30
|
-
content: string;
|
|
31
|
-
toolsUsed: string[];
|
|
32
|
-
duration: number;
|
|
33
|
-
success: boolean;
|
|
34
|
-
error?: string;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Manages AI execution with conversation history persistence.
|
|
38
|
-
*
|
|
39
|
-
* ExecSession wraps an AI runner and automatically:
|
|
40
|
-
* - Maintains conversation history across prompts
|
|
41
|
-
* - Persists history to disk between sessions
|
|
42
|
-
* - Includes recent history in prompts for context
|
|
43
|
-
* - Emits events for progress tracking
|
|
44
|
-
* - Prunes old sessions to prevent unbounded growth
|
|
45
|
-
*
|
|
46
|
-
* @example
|
|
47
|
-
* ```typescript
|
|
48
|
-
* const session = new ExecSession({
|
|
49
|
-
* aiRunner: myRunner,
|
|
50
|
-
* projectPath: '/path/to/project',
|
|
51
|
-
* model: 'claude-sonnet-4-5',
|
|
52
|
-
* provider: 'claude',
|
|
53
|
-
* });
|
|
54
|
-
*
|
|
55
|
-
* await session.initialize();
|
|
56
|
-
*
|
|
57
|
-
* // Stream execution with history
|
|
58
|
-
* for await (const chunk of session.executeStreaming('Write a function')) {
|
|
59
|
-
* console.log(chunk);
|
|
60
|
-
* }
|
|
61
|
-
*
|
|
62
|
-
* // Save session for later resume
|
|
63
|
-
* session.save();
|
|
64
|
-
* ```
|
|
65
|
-
*/
|
|
66
|
-
export declare class ExecSession {
|
|
67
|
-
private aiRunner;
|
|
68
|
-
private history;
|
|
69
|
-
private currentSession;
|
|
70
|
-
private eventEmitter;
|
|
71
|
-
private contextTracker;
|
|
72
|
-
private maxContextMessages;
|
|
73
|
-
private model;
|
|
74
|
-
private provider;
|
|
75
|
-
private sessionId?;
|
|
76
|
-
/** Track tool start times for duration calculation */
|
|
77
|
-
private toolStartTimes;
|
|
78
|
-
constructor(config: ExecSessionConfig);
|
|
79
|
-
/**
|
|
80
|
-
* Initialize the session, loading existing session or creating new one.
|
|
81
|
-
*/
|
|
82
|
-
initialize(): void;
|
|
83
|
-
/**
|
|
84
|
-
* Get the current session.
|
|
85
|
-
*/
|
|
86
|
-
getSession(): ConversationSession | null;
|
|
87
|
-
/**
|
|
88
|
-
* Get the session ID.
|
|
89
|
-
*/
|
|
90
|
-
getSessionId(): string | null;
|
|
91
|
-
/**
|
|
92
|
-
* Get the event emitter for subscribing to execution events.
|
|
93
|
-
*/
|
|
94
|
-
getEventEmitter(): ExecEventEmitter;
|
|
95
|
-
/**
|
|
96
|
-
* Get the history manager.
|
|
97
|
-
*/
|
|
98
|
-
getHistoryManager(): HistoryManager;
|
|
99
|
-
/**
|
|
100
|
-
* Get the context tracker for managing artifacts and tasks.
|
|
101
|
-
*/
|
|
102
|
-
getContextTracker(): ContextTracker;
|
|
103
|
-
/**
|
|
104
|
-
* Create and track an artifact in the session.
|
|
105
|
-
*/
|
|
106
|
-
createArtifact(params: Omit<Artifact, "id" | "createdAt" | "updatedAt">): Artifact;
|
|
107
|
-
/**
|
|
108
|
-
* Create and track a task in the session.
|
|
109
|
-
*/
|
|
110
|
-
createTask(params: Omit<Task, "id" | "createdAt" | "updatedAt">): Task;
|
|
111
|
-
/**
|
|
112
|
-
* Resolve a natural language reference to an artifact.
|
|
113
|
-
*/
|
|
114
|
-
resolveArtifactReference(reference: string): Artifact | null;
|
|
115
|
-
/**
|
|
116
|
-
* Resolve a natural language reference to a task.
|
|
117
|
-
*/
|
|
118
|
-
resolveTaskReference(reference: string): Task | null;
|
|
119
|
-
/**
|
|
120
|
-
* Get conversation messages from the current session.
|
|
121
|
-
*/
|
|
122
|
-
getMessages(): ConversationMessage[];
|
|
123
|
-
/**
|
|
124
|
-
* Add a message to the current session.
|
|
125
|
-
*/
|
|
126
|
-
addMessage(message: Omit<ConversationMessage, "timestamp">): void;
|
|
127
|
-
/**
|
|
128
|
-
* Execute a prompt with streaming output and history context.
|
|
129
|
-
*/
|
|
130
|
-
executeStreaming(userPrompt: string): AsyncGenerator<StreamChunk, void, unknown>;
|
|
131
|
-
/**
|
|
132
|
-
* Execute a prompt without streaming (returns complete result).
|
|
133
|
-
*/
|
|
134
|
-
execute(userPrompt: string): Promise<ExecResult>;
|
|
135
|
-
/**
|
|
136
|
-
* Build a prompt that includes conversation history and context for follow-ups.
|
|
137
|
-
*/
|
|
138
|
-
private buildPromptWithHistory;
|
|
139
|
-
/**
|
|
140
|
-
* Save the current session to disk.
|
|
141
|
-
*/
|
|
142
|
-
save(): void;
|
|
143
|
-
/**
|
|
144
|
-
* Reset the session (clear messages but keep the same session ID).
|
|
145
|
-
*/
|
|
146
|
-
reset(): void;
|
|
147
|
-
/**
|
|
148
|
-
* Start a new session (discards current session if not saved).
|
|
149
|
-
*/
|
|
150
|
-
startNewSession(): void;
|
|
151
|
-
/**
|
|
152
|
-
* End the session and emit completion event.
|
|
153
|
-
*/
|
|
154
|
-
end(success?: boolean): void;
|
|
155
|
-
/**
|
|
156
|
-
* Subscribe to execution events.
|
|
157
|
-
*/
|
|
158
|
-
on<K extends ExecEventType>(eventType: K, listener: Parameters<ExecEventEmitter["on"]>[1]): this;
|
|
159
|
-
/**
|
|
160
|
-
* Unsubscribe from execution events.
|
|
161
|
-
*/
|
|
162
|
-
off<K extends ExecEventType>(eventType: K, listener: Parameters<ExecEventEmitter["off"]>[1]): this;
|
|
163
|
-
}
|
|
164
|
-
//# sourceMappingURL=exec-session.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"exec-session.d.ts","sourceRoot":"","sources":["../../src/exec/exec-session.ts"],"names":[],"mappings":"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"}
|