@roackb2/heddle 0.0.24 → 0.0.26
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 +12 -1
- package/dist/examples/repo-investigator.js +2 -2
- package/dist/examples/repo-investigator.js.map +1 -1
- package/dist/src/cli/chat/App.d.ts.map +1 -1
- package/dist/src/cli/chat/App.js +51 -324
- package/dist/src/cli/chat/App.js.map +1 -1
- package/dist/src/cli/chat/hooks/useChatDrift.d.ts +22 -0
- package/dist/src/cli/chat/hooks/useChatDrift.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/useChatDrift.js +43 -0
- package/dist/src/cli/chat/hooks/useChatDrift.js.map +1 -0
- package/dist/src/cli/chat/hooks/useChatPickers.d.ts +44 -0
- package/dist/src/cli/chat/hooks/useChatPickers.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/useChatPickers.js +142 -0
- package/dist/src/cli/chat/hooks/useChatPickers.js.map +1 -0
- package/dist/src/cli/chat/hooks/useLocalIds.d.ts +2 -0
- package/dist/src/cli/chat/hooks/useLocalIds.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/useLocalIds.js +6 -0
- package/dist/src/cli/chat/hooks/useLocalIds.js.map +1 -0
- package/dist/src/cli/chat/hooks/usePromptDraft.d.ts +9 -0
- package/dist/src/cli/chat/hooks/usePromptDraft.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/usePromptDraft.js +22 -0
- package/dist/src/cli/chat/hooks/usePromptDraft.js.map +1 -0
- package/dist/src/cli/chat/hooks/usePromptSubmission.d.ts +58 -0
- package/dist/src/cli/chat/hooks/usePromptSubmission.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/usePromptSubmission.js +144 -0
- package/dist/src/cli/chat/hooks/usePromptSubmission.js.map +1 -0
- package/dist/src/cli/chat/state/local-commands.js +1 -1
- package/dist/src/cli/chat/state/local-commands.js.map +1 -1
- package/dist/src/cli/chat/utils/format.d.ts +5 -5
- package/dist/src/cli/chat/utils/format.d.ts.map +1 -1
- package/dist/src/cli/chat/utils/format.js +5 -2
- package/dist/src/cli/chat/utils/format.js.map +1 -1
- package/dist/src/cli/heartbeat/args.d.ts +11 -0
- package/dist/src/cli/heartbeat/args.d.ts.map +1 -0
- package/dist/src/cli/heartbeat/args.js +147 -0
- package/dist/src/cli/heartbeat/args.js.map +1 -0
- package/dist/src/cli/heartbeat/duration.d.ts +3 -0
- package/dist/src/cli/heartbeat/duration.d.ts.map +1 -0
- package/dist/src/cli/heartbeat/duration.js +33 -0
- package/dist/src/cli/heartbeat/duration.js.map +1 -0
- package/dist/src/cli/heartbeat/output.d.ts +5 -0
- package/dist/src/cli/heartbeat/output.d.ts.map +1 -0
- package/dist/src/cli/heartbeat/output.js +89 -0
- package/dist/src/cli/heartbeat/output.js.map +1 -0
- package/dist/src/cli/heartbeat/run-commands.d.ts +4 -0
- package/dist/src/cli/heartbeat/run-commands.d.ts.map +1 -0
- package/dist/src/cli/heartbeat/run-commands.js +58 -0
- package/dist/src/cli/heartbeat/run-commands.js.map +1 -0
- package/dist/src/cli/heartbeat/store.d.ts +3 -0
- package/dist/src/cli/heartbeat/store.d.ts.map +1 -0
- package/dist/src/cli/heartbeat/store.js +10 -0
- package/dist/src/cli/heartbeat/store.js.map +1 -0
- package/dist/src/cli/heartbeat/summary.d.ts +3 -0
- package/dist/src/cli/heartbeat/summary.d.ts.map +1 -0
- package/dist/src/cli/heartbeat/summary.js +9 -0
- package/dist/src/cli/heartbeat/summary.js.map +1 -0
- package/dist/src/cli/heartbeat/task-commands.d.ts +4 -0
- package/dist/src/cli/heartbeat/task-commands.d.ts.map +1 -0
- package/dist/src/cli/heartbeat/task-commands.js +117 -0
- package/dist/src/cli/heartbeat/task-commands.js.map +1 -0
- package/dist/src/cli/heartbeat/types.d.ts +11 -0
- package/dist/src/cli/heartbeat/types.d.ts.map +1 -0
- package/dist/src/cli/heartbeat/types.js +2 -0
- package/dist/src/cli/heartbeat/types.js.map +1 -0
- package/dist/src/cli/heartbeat/worker.d.ts +5 -0
- package/dist/src/cli/heartbeat/worker.d.ts.map +1 -0
- package/dist/src/cli/heartbeat/worker.js +92 -0
- package/dist/src/cli/heartbeat/worker.js.map +1 -0
- package/dist/src/cli/heartbeat.d.ts +4 -18
- package/dist/src/cli/heartbeat.d.ts.map +1 -1
- package/dist/src/cli/heartbeat.js +9 -525
- package/dist/src/cli/heartbeat.js.map +1 -1
- package/dist/src/core/chat/conversation-lines.d.ts +4 -0
- package/dist/src/core/chat/conversation-lines.d.ts.map +1 -0
- package/dist/src/core/chat/conversation-lines.js +48 -0
- package/dist/src/core/chat/conversation-lines.js.map +1 -0
- package/dist/src/core/chat/failure-messages.d.ts +6 -0
- package/dist/src/core/chat/failure-messages.d.ts.map +1 -0
- package/dist/src/core/chat/failure-messages.js +24 -0
- package/dist/src/core/chat/failure-messages.js.map +1 -0
- package/dist/src/core/chat/session-submit.d.ts.map +1 -1
- package/dist/src/core/chat/session-submit.js +3 -1
- package/dist/src/core/chat/session-submit.js.map +1 -1
- package/dist/src/core/chat/storage.js +1 -1
- package/dist/src/core/chat/storage.js.map +1 -1
- package/dist/src/core/chat/trace-summary.d.ts +4 -0
- package/dist/src/core/chat/trace-summary.d.ts.map +1 -0
- package/dist/src/core/chat/trace-summary.js +64 -0
- package/dist/src/core/chat/trace-summary.js.map +1 -0
- package/dist/src/core/runtime/heartbeat-lucid.d.ts +2 -1
- package/dist/src/core/runtime/heartbeat-lucid.d.ts.map +1 -1
- package/dist/src/core/runtime/heartbeat-lucid.js.map +1 -1
- package/dist/src/core/runtime/heartbeat-scheduler.d.ts +3 -58
- package/dist/src/core/runtime/heartbeat-scheduler.d.ts.map +1 -1
- package/dist/src/core/runtime/heartbeat-scheduler.js +6 -177
- package/dist/src/core/runtime/heartbeat-scheduler.js.map +1 -1
- package/dist/src/core/runtime/heartbeat-task-state.d.ts +5 -0
- package/dist/src/core/runtime/heartbeat-task-state.d.ts.map +1 -0
- package/dist/src/core/runtime/heartbeat-task-state.js +81 -0
- package/dist/src/core/runtime/heartbeat-task-state.js.map +1 -0
- package/dist/src/core/runtime/heartbeat-task-store.d.ts +63 -0
- package/dist/src/core/runtime/heartbeat-task-store.d.ts.map +1 -0
- package/dist/src/core/runtime/heartbeat-task-store.js +95 -0
- package/dist/src/core/runtime/heartbeat-task-store.js.map +1 -0
- package/dist/src/core/runtime/heartbeat-views.d.ts +1 -1
- package/dist/src/core/runtime/heartbeat-views.d.ts.map +1 -1
- package/dist/src/core/utils/text.d.ts +2 -0
- package/dist/src/core/utils/text.d.ts.map +1 -0
- package/dist/src/core/utils/text.js +7 -0
- package/dist/src/core/utils/text.js.map +1 -0
- package/dist/src/index.d.ts +4 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/server/features/control-plane/router.d.ts +7 -0
- package/dist/src/server/features/control-plane/router.d.ts.map +1 -1
- package/dist/src/server/features/control-plane/router.js +7 -0
- package/dist/src/server/features/control-plane/router.js.map +1 -1
- package/dist/src/server/features/control-plane/services/layout-snapshots.d.ts +6 -0
- package/dist/src/server/features/control-plane/services/layout-snapshots.d.ts.map +1 -0
- package/dist/src/server/features/control-plane/services/layout-snapshots.js +68 -0
- package/dist/src/server/features/control-plane/services/layout-snapshots.js.map +1 -0
- package/dist/src/server/router.d.ts +7 -0
- package/dist/src/server/router.d.ts.map +1 -1
- package/dist/src/web/assets/index-C9sFoCL6.css +2 -0
- package/dist/src/web/assets/index-CY-VX1fa.js +12 -0
- package/dist/src/web/index.html +3 -3
- package/package.json +16 -16
- package/dist/examples/conversation.d.ts +0 -2
- package/dist/examples/conversation.d.ts.map +0 -1
- package/dist/examples/conversation.js +0 -3
- package/dist/examples/conversation.js.map +0 -1
- package/dist/src/core/chat/format.d.ts +0 -12
- package/dist/src/core/chat/format.d.ts.map +0 -1
- package/dist/src/core/chat/format.js +0 -139
- package/dist/src/core/chat/format.js.map +0 -1
- package/dist/src/web/assets/index-B5Df7Ey_.js +0 -12
- package/dist/src/web/assets/index-Cu-enbes.css +0 -1
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { ChatMessage, TraceEvent, ToolResult } from '../../../index.js';
|
|
2
2
|
import type { EditFilePreview } from '../../../core/tools/edit-file.js';
|
|
3
|
-
export { buildConversationMessages
|
|
3
|
+
export { buildConversationMessages } from '../../../core/chat/conversation-lines.js';
|
|
4
|
+
export { formatChatFailureMessage } from '../../../core/chat/failure-messages.js';
|
|
5
|
+
export type { ChatFailureHintOptions } from '../../../core/chat/failure-messages.js';
|
|
6
|
+
export { countAssistantSteps, summarizeTrace } from '../../../core/chat/trace-summary.js';
|
|
7
|
+
export { truncate, } from '../../../core/utils/text.js';
|
|
4
8
|
import type { LiveEvent, PendingApproval } from '../state/types.js';
|
|
5
9
|
export type ApprovalSummary = {
|
|
6
10
|
title: string;
|
|
@@ -12,10 +16,6 @@ export type ApprovalSummary = {
|
|
|
12
16
|
effects: string[];
|
|
13
17
|
rememberLabel?: string;
|
|
14
18
|
};
|
|
15
|
-
export type ChatFailureHintOptions = {
|
|
16
|
-
model: string;
|
|
17
|
-
estimatedHistoryTokens?: number;
|
|
18
|
-
};
|
|
19
19
|
export declare function toLiveEvent(event: TraceEvent): string | undefined;
|
|
20
20
|
export declare function currentActivityText(liveEvents: LiveEvent[], isRunning: boolean, elapsedSeconds: number, pendingApproval?: PendingApproval, interruptRequested?: boolean): string;
|
|
21
21
|
export declare function formatApprovalPrompt(pendingApproval: PendingApproval): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/utils/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAOxE,OAAO,
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/utils/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { classifyShellCommandPolicy, DEFAULT_MUTATE_RULES, } from '../../../core/tools/run-shell.js';
|
|
2
|
-
import { truncate } from '../../../core/
|
|
3
|
-
export { buildConversationMessages
|
|
2
|
+
import { truncate } from '../../../core/utils/text.js';
|
|
3
|
+
export { buildConversationMessages } from '../../../core/chat/conversation-lines.js';
|
|
4
|
+
export { formatChatFailureMessage } from '../../../core/chat/failure-messages.js';
|
|
5
|
+
export { countAssistantSteps, summarizeTrace } from '../../../core/chat/trace-summary.js';
|
|
6
|
+
export { truncate, } from '../../../core/utils/text.js';
|
|
4
7
|
const MAX_SHELL_OUTPUT_CHARS = 1400;
|
|
5
8
|
const MAX_TOOL_CALL_SUMMARY_CHARS = 96;
|
|
6
9
|
export function toLiveEvent(event) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../../src/cli/chat/utils/format.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../../src/cli/chat/utils/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type ParsedHeartbeatArgs = {
|
|
2
|
+
command?: string;
|
|
3
|
+
subcommand?: string;
|
|
4
|
+
rest: string[];
|
|
5
|
+
flags: Record<string, string | boolean>;
|
|
6
|
+
};
|
|
7
|
+
export declare function parseHeartbeatArgs(args: string[]): ParsedHeartbeatArgs;
|
|
8
|
+
export declare function stringFlag(flags: Record<string, string | boolean>, name: string): string | undefined;
|
|
9
|
+
export declare function booleanFlag(flags: Record<string, string | boolean>, name: string): boolean;
|
|
10
|
+
export declare function parsePositiveInt(raw: string | undefined): number | undefined;
|
|
11
|
+
//# sourceMappingURL=args.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../../src/cli/heartbeat/args.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;CACzC,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAoFtE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGpG;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1F;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAO5E"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
export function parseHeartbeatArgs(args) {
|
|
3
|
+
if (args[0] === 'help' || args[0] === '--help' || args[0] === '-h') {
|
|
4
|
+
return {
|
|
5
|
+
command: args[0],
|
|
6
|
+
subcommand: undefined,
|
|
7
|
+
rest: args.slice(1),
|
|
8
|
+
flags: {},
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
const root = new Command();
|
|
12
|
+
root
|
|
13
|
+
.exitOverride()
|
|
14
|
+
.allowUnknownOption(true)
|
|
15
|
+
.allowExcessArguments(true)
|
|
16
|
+
.name('heddle heartbeat')
|
|
17
|
+
.addHelpText('after', ['', 'Duration examples:', ' 30s, 15m, 1h, 2d', ''].join('\n'));
|
|
18
|
+
let parsed = {
|
|
19
|
+
command: undefined,
|
|
20
|
+
subcommand: undefined,
|
|
21
|
+
rest: [],
|
|
22
|
+
flags: {},
|
|
23
|
+
};
|
|
24
|
+
root
|
|
25
|
+
.command('task [subcommand] [rest...]')
|
|
26
|
+
.allowUnknownOption(true)
|
|
27
|
+
.action((subcommand, rest = [], command) => {
|
|
28
|
+
parsed = {
|
|
29
|
+
command: 'task',
|
|
30
|
+
subcommand,
|
|
31
|
+
rest,
|
|
32
|
+
flags: collectUnknownFlags(command),
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
root
|
|
36
|
+
.command('run [rest...]')
|
|
37
|
+
.allowUnknownOption(true)
|
|
38
|
+
.action((rest = [], command) => {
|
|
39
|
+
parsed = {
|
|
40
|
+
command: 'run',
|
|
41
|
+
subcommand: undefined,
|
|
42
|
+
rest,
|
|
43
|
+
flags: collectUnknownFlags(command),
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
root
|
|
47
|
+
.command('runs [subcommand] [rest...]')
|
|
48
|
+
.allowUnknownOption(true)
|
|
49
|
+
.action((subcommand, rest = [], command) => {
|
|
50
|
+
parsed = {
|
|
51
|
+
command: 'runs',
|
|
52
|
+
subcommand,
|
|
53
|
+
rest,
|
|
54
|
+
flags: collectUnknownFlags(command),
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
root
|
|
58
|
+
.command('start [rest...]')
|
|
59
|
+
.allowUnknownOption(true)
|
|
60
|
+
.action((rest = [], command) => {
|
|
61
|
+
parsed = {
|
|
62
|
+
command: 'start',
|
|
63
|
+
subcommand: undefined,
|
|
64
|
+
rest,
|
|
65
|
+
flags: collectUnknownFlags(command),
|
|
66
|
+
};
|
|
67
|
+
});
|
|
68
|
+
try {
|
|
69
|
+
root.parse(['node', 'heddle-heartbeat', ...args], { from: 'node' });
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return fallbackParseHeartbeatArgs(args);
|
|
73
|
+
}
|
|
74
|
+
if (!parsed.command) {
|
|
75
|
+
return fallbackParseHeartbeatArgs(args);
|
|
76
|
+
}
|
|
77
|
+
return parsed;
|
|
78
|
+
}
|
|
79
|
+
export function stringFlag(flags, name) {
|
|
80
|
+
const value = flags[name];
|
|
81
|
+
return typeof value === 'string' ? value : undefined;
|
|
82
|
+
}
|
|
83
|
+
export function booleanFlag(flags, name) {
|
|
84
|
+
return flags[name] === true;
|
|
85
|
+
}
|
|
86
|
+
export function parsePositiveInt(raw) {
|
|
87
|
+
if (!raw) {
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
const value = Number.parseInt(raw, 10);
|
|
91
|
+
return Number.isFinite(value) && value > 0 ? value : undefined;
|
|
92
|
+
}
|
|
93
|
+
function collectUnknownFlags(command) {
|
|
94
|
+
const flags = {};
|
|
95
|
+
const unknown = command.parseOptions(command.args).unknown;
|
|
96
|
+
for (let index = 0; index < unknown.length; index++) {
|
|
97
|
+
const arg = unknown[index] ?? '';
|
|
98
|
+
if (!arg.startsWith('--')) {
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
const eqIndex = arg.indexOf('=');
|
|
102
|
+
if (eqIndex > 0) {
|
|
103
|
+
flags[arg.slice(2, eqIndex)] = arg.slice(eqIndex + 1);
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
const name = arg.slice(2);
|
|
107
|
+
const next = unknown[index + 1];
|
|
108
|
+
if (!next || next.startsWith('--')) {
|
|
109
|
+
flags[name] = true;
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
flags[name] = next;
|
|
113
|
+
index++;
|
|
114
|
+
}
|
|
115
|
+
return flags;
|
|
116
|
+
}
|
|
117
|
+
function fallbackParseHeartbeatArgs(args) {
|
|
118
|
+
const positionals = [];
|
|
119
|
+
const flags = {};
|
|
120
|
+
for (let index = 0; index < args.length; index++) {
|
|
121
|
+
const arg = args[index] ?? '';
|
|
122
|
+
if (!arg.startsWith('--')) {
|
|
123
|
+
positionals.push(arg);
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
const eqIndex = arg.indexOf('=');
|
|
127
|
+
if (eqIndex > 0) {
|
|
128
|
+
flags[arg.slice(2, eqIndex)] = arg.slice(eqIndex + 1);
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
const name = arg.slice(2);
|
|
132
|
+
const next = args[index + 1];
|
|
133
|
+
if (!next || next.startsWith('--')) {
|
|
134
|
+
flags[name] = true;
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
flags[name] = next;
|
|
138
|
+
index++;
|
|
139
|
+
}
|
|
140
|
+
return {
|
|
141
|
+
command: positionals[0],
|
|
142
|
+
subcommand: positionals[1],
|
|
143
|
+
rest: positionals.slice(2),
|
|
144
|
+
flags,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=args.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../../../src/cli/heartbeat/args.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duration.d.ts","sourceRoot":"","sources":["../../../../src/cli/heartbeat/duration.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmBnD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CActD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export function parseDurationMs(raw) {
|
|
2
|
+
const match = raw.trim().match(/^(\d+)(ms|s|m|h|d)?$/);
|
|
3
|
+
if (!match) {
|
|
4
|
+
throw new Error(`Invalid duration: ${raw}`);
|
|
5
|
+
}
|
|
6
|
+
const value = Number.parseInt(match[1] ?? '', 10);
|
|
7
|
+
if (!Number.isFinite(value) || value <= 0) {
|
|
8
|
+
throw new Error(`Invalid duration: ${raw}`);
|
|
9
|
+
}
|
|
10
|
+
const unit = match[2] ?? 'ms';
|
|
11
|
+
const multiplier = unit === 'ms' ? 1
|
|
12
|
+
: unit === 's' ? 1_000
|
|
13
|
+
: unit === 'm' ? 60_000
|
|
14
|
+
: unit === 'h' ? 60 * 60_000
|
|
15
|
+
: 24 * 60 * 60_000;
|
|
16
|
+
return value * multiplier;
|
|
17
|
+
}
|
|
18
|
+
export function formatDurationMs(value) {
|
|
19
|
+
if (value % (24 * 60 * 60_000) === 0) {
|
|
20
|
+
return `${value / (24 * 60 * 60_000)}d`;
|
|
21
|
+
}
|
|
22
|
+
if (value % (60 * 60_000) === 0) {
|
|
23
|
+
return `${value / (60 * 60_000)}h`;
|
|
24
|
+
}
|
|
25
|
+
if (value % 60_000 === 0) {
|
|
26
|
+
return `${value / 60_000}m`;
|
|
27
|
+
}
|
|
28
|
+
if (value % 1_000 === 0) {
|
|
29
|
+
return `${value / 1_000}s`;
|
|
30
|
+
}
|
|
31
|
+
return `${value}ms`;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=duration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../../src/cli/heartbeat/duration.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC9B,MAAM,UAAU,GACd,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK;YACtB,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM;gBACvB,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM;oBAC5B,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IACrB,OAAO,KAAK,GAAG,UAAU,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,IAAI,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,GAAG,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC;IAC1C,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,GAAG,KAAK,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC;IACrC,CAAC;IACD,IAAI,KAAK,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,CAAC;IAC9B,CAAC;IACD,IAAI,KAAK,GAAG,KAAK,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC;IAC7B,CAAC;IACD,OAAO,GAAG,KAAK,IAAI,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AgentLoopEvent, HeartbeatSchedulerEvent } from '../../index.js';
|
|
2
|
+
export declare function printAgentLoopEvent(event: AgentLoopEvent): void;
|
|
3
|
+
export declare function printSchedulerEvent(event: HeartbeatSchedulerEvent): void;
|
|
4
|
+
export declare function printHeartbeatHelp(): void;
|
|
5
|
+
//# sourceMappingURL=output.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../../src/cli/heartbeat/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAG9E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,QAkCxD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,QA6BjE;AAED,wBAAgB,kBAAkB,SAqBjC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { stripHeartbeatDecisionLine } from './summary.js';
|
|
2
|
+
export function printAgentLoopEvent(event) {
|
|
3
|
+
switch (event.type) {
|
|
4
|
+
case 'loop.started':
|
|
5
|
+
process.stdout.write(`[heartbeat] agent started run=${event.runId} model=${event.model}\n`);
|
|
6
|
+
break;
|
|
7
|
+
case 'loop.resumed':
|
|
8
|
+
process.stdout.write(`[heartbeat] agent resumed from=${event.fromCheckpoint} priorTraceEvents=${event.priorTraceEvents}\n`);
|
|
9
|
+
break;
|
|
10
|
+
case 'tool.calling':
|
|
11
|
+
process.stdout.write(`[heartbeat] tool calling step=${event.step} tool=${event.tool}${event.requiresApproval ? ' approval=true' : ''}\n`);
|
|
12
|
+
break;
|
|
13
|
+
case 'tool.completed':
|
|
14
|
+
process.stdout.write(`[heartbeat] tool completed step=${event.step} tool=${event.tool} ok=${event.result.ok} durationMs=${event.durationMs}\n`);
|
|
15
|
+
break;
|
|
16
|
+
case 'assistant.stream':
|
|
17
|
+
if (event.done) {
|
|
18
|
+
process.stdout.write(`[heartbeat] assistant response complete step=${event.step}\n`);
|
|
19
|
+
}
|
|
20
|
+
break;
|
|
21
|
+
case 'heartbeat.decision':
|
|
22
|
+
process.stdout.write(`[heartbeat] decision=${event.decision} outcome=${event.outcome}\n`);
|
|
23
|
+
break;
|
|
24
|
+
case 'checkpoint.saved':
|
|
25
|
+
process.stdout.write(`[heartbeat] checkpoint saved step=${event.step}\n`);
|
|
26
|
+
break;
|
|
27
|
+
case 'escalation.required':
|
|
28
|
+
process.stdout.write(`[heartbeat] escalation required outcome=${event.outcome}\n`);
|
|
29
|
+
break;
|
|
30
|
+
case 'loop.finished':
|
|
31
|
+
process.stdout.write(`[heartbeat] agent finished outcome=${event.outcome}\n`);
|
|
32
|
+
break;
|
|
33
|
+
case 'trace':
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export function printSchedulerEvent(event) {
|
|
38
|
+
switch (event.type) {
|
|
39
|
+
case 'heartbeat.scheduler.started':
|
|
40
|
+
process.stdout.write('[heartbeat] scheduler started\n');
|
|
41
|
+
break;
|
|
42
|
+
case 'heartbeat.scheduler.stopped':
|
|
43
|
+
process.stdout.write(`[heartbeat] scheduler stopped reason=${event.reason}\n`);
|
|
44
|
+
break;
|
|
45
|
+
case 'heartbeat.task.due':
|
|
46
|
+
process.stdout.write(`[heartbeat] task due id=${event.taskId}\n`);
|
|
47
|
+
break;
|
|
48
|
+
case 'heartbeat.task.started':
|
|
49
|
+
process.stdout.write(`[heartbeat] task started id=${event.taskId} loadedCheckpoint=${event.loadedCheckpoint} status=${event.status} progress=${event.progress}\n`);
|
|
50
|
+
break;
|
|
51
|
+
case 'heartbeat.task.finished':
|
|
52
|
+
process.stdout.write([
|
|
53
|
+
`[heartbeat] task finished id=${event.taskId} decision=${event.decision} outcome=${event.outcome} status=${event.status} enabled=${event.enabled} next=${event.nextRunAt ?? 'none'}`,
|
|
54
|
+
`[heartbeat] progress ${event.progress}`,
|
|
55
|
+
event.usage ? `[heartbeat] usage input=${event.usage.inputTokens} output=${event.usage.outputTokens} total=${event.usage.totalTokens} requests=${event.usage.requests}` : undefined,
|
|
56
|
+
'',
|
|
57
|
+
'Heartbeat summary:',
|
|
58
|
+
stripHeartbeatDecisionLine(event.summary).trim() || event.summary.trim(),
|
|
59
|
+
'',
|
|
60
|
+
].filter((line) => line !== undefined).join('\n'));
|
|
61
|
+
break;
|
|
62
|
+
case 'heartbeat.task.failed':
|
|
63
|
+
process.stdout.write(`[heartbeat] task failed id=${event.taskId} status=${event.status} error=${event.error} next=${event.nextRunAt ?? 'none'}\n[heartbeat] progress ${event.progress}\n`);
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
export function printHeartbeatHelp() {
|
|
68
|
+
process.stdout.write([
|
|
69
|
+
'Usage: heddle heartbeat <command>',
|
|
70
|
+
'',
|
|
71
|
+
'Manage and run heartbeat tasks',
|
|
72
|
+
'',
|
|
73
|
+
'Commands:',
|
|
74
|
+
' task add add a heartbeat task',
|
|
75
|
+
' task list list heartbeat tasks',
|
|
76
|
+
' task show <id> show a heartbeat task',
|
|
77
|
+
' task enable <id> enable a heartbeat task',
|
|
78
|
+
' task disable <id> disable a heartbeat task',
|
|
79
|
+
' start start the heartbeat scheduler convenience flow',
|
|
80
|
+
' run run due heartbeat tasks once or in a poll loop',
|
|
81
|
+
' runs list list heartbeat run records',
|
|
82
|
+
' runs show <id> show a heartbeat run record',
|
|
83
|
+
'',
|
|
84
|
+
'Duration examples:',
|
|
85
|
+
' 30s, 15m, 1h, 2d',
|
|
86
|
+
'',
|
|
87
|
+
].join('\n'));
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../../src/cli/heartbeat/output.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-commands.d.ts","sourceRoot":"","sources":["../../../../src/cli/heartbeat/run-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,iBAAiB,iBAazB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { parsePositiveInt, stringFlag } from './args.js';
|
|
2
|
+
import { firstLine, stripHeartbeatDecisionLine } from './summary.js';
|
|
3
|
+
export async function runHeartbeatRunsCli(parsed, store) {
|
|
4
|
+
switch (parsed.subcommand) {
|
|
5
|
+
case 'list':
|
|
6
|
+
case undefined:
|
|
7
|
+
await listHeartbeatRuns(parsed, store);
|
|
8
|
+
return;
|
|
9
|
+
case 'show':
|
|
10
|
+
await showHeartbeatRun(parsed, store);
|
|
11
|
+
return;
|
|
12
|
+
default:
|
|
13
|
+
throw new Error(`Unknown heartbeat runs command: ${parsed.subcommand}`);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
async function listHeartbeatRuns(parsed, store) {
|
|
17
|
+
const taskId = stringFlag(parsed.flags, 'task') ?? parsed.rest[0];
|
|
18
|
+
const limit = parsePositiveInt(stringFlag(parsed.flags, 'limit')) ?? 10;
|
|
19
|
+
const runs = await store.listRunRecords?.({ taskId, limit });
|
|
20
|
+
if (!runs?.length) {
|
|
21
|
+
process.stdout.write(taskId ? `No heartbeat runs found for task ${taskId}.\n` : 'No heartbeat runs found.\n');
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
for (const run of runs) {
|
|
25
|
+
const { result } = run.record;
|
|
26
|
+
process.stdout.write([
|
|
27
|
+
`${run.id}`,
|
|
28
|
+
` task=${run.taskId} run=${run.runId} decision=${result.decision} outcome=${result.state.outcome} finished=${run.createdAt}`,
|
|
29
|
+
result.state.usage ? ` usage input=${result.state.usage.inputTokens} output=${result.state.usage.outputTokens} total=${result.state.usage.totalTokens} requests=${result.state.usage.requests}` : undefined,
|
|
30
|
+
` summary=${firstLine(stripHeartbeatDecisionLine(result.summary))}`,
|
|
31
|
+
].filter((line) => Boolean(line)).join('\n') + '\n');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async function showHeartbeatRun(parsed, store) {
|
|
35
|
+
const id = parsed.rest[0] ?? stringFlag(parsed.flags, 'id') ?? 'latest';
|
|
36
|
+
const taskId = stringFlag(parsed.flags, 'task');
|
|
37
|
+
const run = id === 'latest' ?
|
|
38
|
+
(await store.listRunRecords?.({ taskId, limit: 1 }))?.[0]
|
|
39
|
+
: await store.loadRunRecord?.(id);
|
|
40
|
+
if (!run || (taskId && run.taskId !== taskId)) {
|
|
41
|
+
throw new Error(taskId ? `Heartbeat run not found for task ${taskId}: ${id}` : `Heartbeat run not found: ${id}`);
|
|
42
|
+
}
|
|
43
|
+
const { result, loadedCheckpoint } = run.record;
|
|
44
|
+
process.stdout.write([
|
|
45
|
+
`Heartbeat run ${run.id}`,
|
|
46
|
+
`task=${run.taskId} run=${run.runId} loadedCheckpoint=${loadedCheckpoint}`,
|
|
47
|
+
`decision=${result.decision} outcome=${result.state.outcome} finished=${run.createdAt}`,
|
|
48
|
+
result.state.usage ? `usage input=${result.state.usage.inputTokens} output=${result.state.usage.outputTokens} total=${result.state.usage.totalTokens} requests=${result.state.usage.requests}` : undefined,
|
|
49
|
+
'',
|
|
50
|
+
'Task:',
|
|
51
|
+
run.record.task.task,
|
|
52
|
+
'',
|
|
53
|
+
'Summary:',
|
|
54
|
+
stripHeartbeatDecisionLine(result.summary).trim() || result.summary.trim(),
|
|
55
|
+
'',
|
|
56
|
+
].filter((line) => line !== undefined).join('\n'));
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=run-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-commands.js","sourceRoot":"","sources":["../../../../src/cli/heartbeat/run-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/cli/heartbeat/store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEzE,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,mBAAmB,GAAG,iBAAiB,CAMvF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { resolve } from 'node:path';
|
|
2
|
+
import { createFileHeartbeatTaskStore } from '../../index.js';
|
|
3
|
+
export function createHeartbeatCliStore(options) {
|
|
4
|
+
const workspaceRoot = options.workspaceRoot ?? process.cwd();
|
|
5
|
+
const stateDir = options.stateDir ?? '.heddle';
|
|
6
|
+
return createFileHeartbeatTaskStore({
|
|
7
|
+
dir: resolve(workspaceRoot, stateDir, 'heartbeat'),
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../../src/cli/heartbeat/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAG9D,MAAM,UAAU,uBAAuB,CAAC,OAA4B;IAClE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;IAC/C,OAAO,4BAA4B,CAAC;QAClC,GAAG,EAAE,OAAO,CAAC,aAAa,EAAE,QAAQ,EAAE,WAAW,CAAC;KACnD,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../../../src/cli/heartbeat/summary.ts"],"names":[],"mappings":"AAEA,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG/C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { truncate } from '../../core/utils/text.js';
|
|
2
|
+
export function stripHeartbeatDecisionLine(summary) {
|
|
3
|
+
return summary.replace(/\n?\s*HEARTBEAT_DECISION:\s*(continue|pause|complete|escalate)\s*$/i, '');
|
|
4
|
+
}
|
|
5
|
+
export function firstLine(value) {
|
|
6
|
+
const line = value.trim().split('\n').find((candidate) => candidate.trim());
|
|
7
|
+
return line ? truncate(line.trim(), 180) : '';
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../../../../src/cli/heartbeat/summary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,MAAM,UAAU,0BAA0B,CAAC,OAAe;IACxD,OAAO,OAAO,CAAC,OAAO,CAAC,qEAAqE,EAAE,EAAE,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ParsedHeartbeatArgs } from './args.js';
|
|
2
|
+
import type { HeartbeatCliOptions, HeartbeatCliStore } from './types.js';
|
|
3
|
+
export declare function runHeartbeatTaskCli(parsed: ParsedHeartbeatArgs, store: HeartbeatCliStore, options: HeartbeatCliOptions): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=task-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-commands.d.ts","sourceRoot":"","sources":["../../../../src/cli/heartbeat/task-commands.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEzE,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,iBAsB7B"}
|