@roackb2/heddle 0.0.27 → 0.0.29
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 +65 -11
- package/dist/examples/programmatic-loop.js +12 -0
- package/dist/examples/programmatic-loop.js.map +1 -1
- package/dist/src/cli/ask.d.ts +2 -0
- package/dist/src/cli/ask.d.ts.map +1 -1
- package/dist/src/cli/ask.js +107 -5
- package/dist/src/cli/ask.js.map +1 -1
- package/dist/src/cli/chat/App.d.ts.map +1 -1
- package/dist/src/cli/chat/App.js +16 -4
- package/dist/src/cli/chat/App.js.map +1 -1
- package/dist/src/cli/chat/components/RuntimeHostInterstitial.d.ts +7 -0
- package/dist/src/cli/chat/components/RuntimeHostInterstitial.d.ts.map +1 -0
- package/dist/src/cli/chat/components/RuntimeHostInterstitial.js +22 -0
- package/dist/src/cli/chat/components/RuntimeHostInterstitial.js.map +1 -0
- package/dist/src/cli/chat/components/index.d.ts +1 -0
- package/dist/src/cli/chat/components/index.d.ts.map +1 -1
- package/dist/src/cli/chat/components/index.js +1 -0
- package/dist/src/cli/chat/components/index.js.map +1 -1
- package/dist/src/cli/chat/hooks/useAgentRun.d.ts +1 -0
- package/dist/src/cli/chat/hooks/useAgentRun.d.ts.map +1 -1
- package/dist/src/cli/chat/hooks/useAgentRun.js +118 -1
- package/dist/src/cli/chat/hooks/useAgentRun.js.map +1 -1
- package/dist/src/cli/chat/hooks/useApprovalFlow.d.ts +1 -0
- package/dist/src/cli/chat/hooks/useApprovalFlow.d.ts.map +1 -1
- package/dist/src/cli/chat/hooks/useApprovalFlow.js +3 -0
- package/dist/src/cli/chat/hooks/useApprovalFlow.js.map +1 -1
- package/dist/src/cli/chat/hooks/useChatSessions.d.ts +3 -1
- package/dist/src/cli/chat/hooks/useChatSessions.d.ts.map +1 -1
- package/dist/src/cli/chat/hooks/useChatSessions.js +7 -2
- package/dist/src/cli/chat/hooks/useChatSessions.js.map +1 -1
- package/dist/src/cli/chat/utils/format.d.ts.map +1 -1
- package/dist/src/cli/chat/utils/format.js +8 -0
- package/dist/src/cli/chat/utils/format.js.map +1 -1
- package/dist/src/cli/chat/utils/runtime.d.ts +3 -0
- package/dist/src/cli/chat/utils/runtime.d.ts.map +1 -1
- package/dist/src/cli/chat/utils/runtime.js +8 -3
- package/dist/src/cli/chat/utils/runtime.js.map +1 -1
- package/dist/src/cli/daemon.d.ts +1 -0
- package/dist/src/cli/daemon.d.ts.map +1 -1
- package/dist/src/cli/daemon.js +6 -1
- package/dist/src/cli/daemon.js.map +1 -1
- package/dist/src/cli/heartbeat/task-commands.d.ts.map +1 -1
- package/dist/src/cli/heartbeat/task-commands.js +10 -1
- package/dist/src/cli/heartbeat/task-commands.js.map +1 -1
- package/dist/src/cli/heartbeat/worker.d.ts.map +1 -1
- package/dist/src/cli/heartbeat/worker.js +9 -1
- package/dist/src/cli/heartbeat/worker.js.map +1 -1
- package/dist/src/cli/main.js +304 -7
- package/dist/src/cli/main.js.map +1 -1
- package/dist/src/cli/remote/control-plane-client.d.ts +290 -0
- package/dist/src/cli/remote/control-plane-client.d.ts.map +1 -0
- package/dist/src/cli/remote/control-plane-client.js +11 -0
- package/dist/src/cli/remote/control-plane-client.js.map +1 -0
- package/dist/src/core/agent/mutation-tracking.d.ts.map +1 -1
- package/dist/src/core/agent/mutation-tracking.js +3 -0
- package/dist/src/core/agent/mutation-tracking.js.map +1 -1
- package/dist/src/core/agent/post-mutation.js +2 -2
- package/dist/src/core/agent/post-mutation.js.map +1 -1
- package/dist/src/core/agent/run-agent.d.ts.map +1 -1
- package/dist/src/core/agent/run-agent.js +132 -28
- package/dist/src/core/agent/run-agent.js.map +1 -1
- package/dist/src/core/chat/conversation-lines.d.ts.map +1 -1
- package/dist/src/core/chat/conversation-lines.js +1 -26
- package/dist/src/core/chat/conversation-lines.js.map +1 -1
- package/dist/src/core/chat/session-lease.d.ts +23 -0
- package/dist/src/core/chat/session-lease.d.ts.map +1 -0
- package/dist/src/core/chat/session-lease.js +72 -0
- package/dist/src/core/chat/session-lease.js.map +1 -0
- package/dist/src/core/chat/session-submit.d.ts +5 -0
- package/dist/src/core/chat/session-submit.d.ts.map +1 -1
- package/dist/src/core/chat/session-submit.js +243 -108
- package/dist/src/core/chat/session-submit.js.map +1 -1
- package/dist/src/core/chat/storage.d.ts +4 -1
- package/dist/src/core/chat/storage.d.ts.map +1 -1
- package/dist/src/core/chat/storage.js +31 -0
- package/dist/src/core/chat/storage.js.map +1 -1
- package/dist/src/core/chat/trace-summary.d.ts.map +1 -1
- package/dist/src/core/chat/trace-summary.js +10 -0
- package/dist/src/core/chat/trace-summary.js.map +1 -1
- package/dist/src/core/chat/types.d.ts +9 -0
- package/dist/src/core/chat/types.d.ts.map +1 -1
- package/dist/src/core/memory/catalog.d.ts +46 -0
- package/dist/src/core/memory/catalog.d.ts.map +1 -0
- package/dist/src/core/memory/catalog.js +230 -0
- package/dist/src/core/memory/catalog.js.map +1 -0
- package/dist/src/core/memory/domain-prompt.d.ts +2 -0
- package/dist/src/core/memory/domain-prompt.d.ts.map +1 -0
- package/dist/src/core/memory/domain-prompt.js +35 -0
- package/dist/src/core/memory/domain-prompt.js.map +1 -0
- package/dist/src/core/memory/maintainer-tools.d.ts +5 -0
- package/dist/src/core/memory/maintainer-tools.d.ts.map +1 -0
- package/dist/src/core/memory/maintainer-tools.js +10 -0
- package/dist/src/core/memory/maintainer-tools.js.map +1 -0
- package/dist/src/core/memory/maintainer.d.ts +45 -0
- package/dist/src/core/memory/maintainer.d.ts.map +1 -0
- package/dist/src/core/memory/maintainer.js +204 -0
- package/dist/src/core/memory/maintainer.js.map +1 -0
- package/dist/src/core/memory/maintenance-integration.d.ts +20 -0
- package/dist/src/core/memory/maintenance-integration.d.ts.map +1 -0
- package/dist/src/core/memory/maintenance-integration.js +189 -0
- package/dist/src/core/memory/maintenance-integration.js.map +1 -0
- package/dist/src/core/memory/templates.d.ts +9 -0
- package/dist/src/core/memory/templates.d.ts.map +1 -0
- package/dist/src/core/memory/templates.js +32 -0
- package/dist/src/core/memory/templates.js.map +1 -0
- package/dist/src/core/memory/validation.d.ts +39 -0
- package/dist/src/core/memory/validation.d.ts.map +1 -0
- package/dist/src/core/memory/validation.js +94 -0
- package/dist/src/core/memory/validation.js.map +1 -0
- package/dist/src/core/memory/visibility.d.ts +42 -0
- package/dist/src/core/memory/visibility.d.ts.map +1 -0
- package/dist/src/core/memory/visibility.js +156 -0
- package/dist/src/core/memory/visibility.js.map +1 -0
- package/dist/src/core/prompts/system-prompt.d.ts.map +1 -1
- package/dist/src/core/prompts/system-prompt.js +0 -10
- package/dist/src/core/prompts/system-prompt.js.map +1 -1
- package/dist/src/core/runtime/daemon-registry.d.ts +39 -0
- package/dist/src/core/runtime/daemon-registry.d.ts.map +1 -0
- package/dist/src/core/runtime/daemon-registry.js +120 -0
- package/dist/src/core/runtime/daemon-registry.js.map +1 -0
- package/dist/src/core/runtime/default-tools.d.ts +1 -0
- package/dist/src/core/runtime/default-tools.d.ts.map +1 -1
- package/dist/src/core/runtime/default-tools.js +22 -4
- package/dist/src/core/runtime/default-tools.js.map +1 -1
- package/dist/src/core/runtime/heartbeat-task-store.d.ts +2 -0
- package/dist/src/core/runtime/heartbeat-task-store.d.ts.map +1 -1
- package/dist/src/core/runtime/heartbeat-task-store.js +1 -0
- package/dist/src/core/runtime/heartbeat-task-store.js.map +1 -1
- package/dist/src/core/runtime/heartbeat-views.d.ts +2 -0
- package/dist/src/core/runtime/heartbeat-views.d.ts.map +1 -1
- package/dist/src/core/runtime/heartbeat-views.js +2 -0
- package/dist/src/core/runtime/heartbeat-views.js.map +1 -1
- package/dist/src/core/runtime/heartbeat.d.ts.map +1 -1
- package/dist/src/core/runtime/heartbeat.js +9 -2
- package/dist/src/core/runtime/heartbeat.js.map +1 -1
- package/dist/src/core/runtime/runtime-hosts.d.ts +30 -0
- package/dist/src/core/runtime/runtime-hosts.d.ts.map +1 -0
- package/dist/src/core/runtime/runtime-hosts.js +95 -0
- package/dist/src/core/runtime/runtime-hosts.js.map +1 -0
- package/dist/src/core/runtime/workspaces.d.ts +48 -0
- package/dist/src/core/runtime/workspaces.d.ts.map +1 -0
- package/dist/src/core/runtime/workspaces.js +139 -0
- package/dist/src/core/runtime/workspaces.js.map +1 -0
- package/dist/src/core/tools/file-edit-core.d.ts +1 -0
- package/dist/src/core/tools/file-edit-core.d.ts.map +1 -1
- package/dist/src/core/tools/file-edit-core.js +10 -0
- package/dist/src/core/tools/file-edit-core.js.map +1 -1
- package/dist/src/core/tools/memory-checkpoint.d.ts +8 -0
- package/dist/src/core/tools/memory-checkpoint.d.ts.map +1 -0
- package/dist/src/core/tools/memory-checkpoint.js +131 -0
- package/dist/src/core/tools/memory-checkpoint.js.map +1 -0
- package/dist/src/core/tools/memory-notes.d.ts.map +1 -1
- package/dist/src/core/tools/memory-notes.js +4 -3
- package/dist/src/core/tools/memory-notes.js.map +1 -1
- package/dist/src/core/tools/record-knowledge.d.ts +9 -0
- package/dist/src/core/tools/record-knowledge.d.ts.map +1 -0
- package/dist/src/core/tools/record-knowledge.js +177 -0
- package/dist/src/core/tools/record-knowledge.js.map +1 -0
- package/dist/src/core/types.d.ts +33 -0
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/index.d.ts +13 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/server/app.d.ts +5 -2
- package/dist/src/server/app.d.ts.map +1 -1
- package/dist/src/server/app.js +31 -7
- package/dist/src/server/app.js.map +1 -1
- package/dist/src/server/features/control-plane/router.d.ts +88 -0
- package/dist/src/server/features/control-plane/router.d.ts.map +1 -1
- package/dist/src/server/features/control-plane/router.js +131 -18
- package/dist/src/server/features/control-plane/router.js.map +1 -1
- package/dist/src/server/features/control-plane/services/ask.d.ts +17 -0
- package/dist/src/server/features/control-plane/services/ask.d.ts.map +1 -0
- package/dist/src/server/features/control-plane/services/ask.js +63 -0
- package/dist/src/server/features/control-plane/services/ask.js.map +1 -0
- package/dist/src/server/features/control-plane/services/chat-sessions.d.ts +8 -0
- package/dist/src/server/features/control-plane/services/chat-sessions.d.ts.map +1 -1
- package/dist/src/server/features/control-plane/services/chat-sessions.js +6 -2
- package/dist/src/server/features/control-plane/services/chat-sessions.js.map +1 -1
- package/dist/src/server/features/control-plane/services/control-plane-state.d.ts.map +1 -1
- package/dist/src/server/features/control-plane/services/control-plane-state.js +15 -6
- package/dist/src/server/features/control-plane/services/control-plane-state.js.map +1 -1
- package/dist/src/server/features/control-plane/services/memory.d.ts +22 -0
- package/dist/src/server/features/control-plane/services/memory.d.ts.map +1 -0
- package/dist/src/server/features/control-plane/services/memory.js +36 -0
- package/dist/src/server/features/control-plane/services/memory.js.map +1 -0
- package/dist/src/server/features/control-plane/types.d.ts +19 -0
- package/dist/src/server/features/control-plane/types.d.ts.map +1 -1
- package/dist/src/server/index.d.ts.map +1 -1
- package/dist/src/server/index.js +114 -6
- package/dist/src/server/index.js.map +1 -1
- package/dist/src/server/router.d.ts +92 -0
- package/dist/src/server/router.d.ts.map +1 -1
- package/dist/src/server/router.js +4 -0
- package/dist/src/server/router.js.map +1 -1
- package/dist/src/server/static.d.ts.map +1 -1
- package/dist/src/server/static.js +7 -5
- package/dist/src/server/static.js.map +1 -1
- package/dist/src/server/types.d.ts +22 -0
- package/dist/src/server/types.d.ts.map +1 -1
- package/dist/src/web/assets/index-BCCIDJRN.js +52 -0
- package/dist/src/web/assets/index-DarVaee6.css +2 -0
- package/dist/src/web/index.html +2 -2
- package/package.json +16 -2
- package/dist/src/web/assets/index-BPZ31ir-.js +0 -12
- package/dist/src/web/assets/index-C9sFoCL6.css +0 -2
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { saveTrace } from '../../../core/chat/trace.js';
|
|
2
2
|
import type { LlmProvider } from '../../../index.js';
|
|
3
|
+
import type { ResolvedRuntimeHost } from '../../../core/runtime/runtime-hosts.js';
|
|
3
4
|
export type ChatCliOptions = {
|
|
4
5
|
model?: string;
|
|
5
6
|
maxSteps?: number;
|
|
@@ -9,6 +10,7 @@ export type ChatCliOptions = {
|
|
|
9
10
|
directShellApproval?: 'always' | 'never';
|
|
10
11
|
searchIgnoreDirs?: string[];
|
|
11
12
|
systemContext?: string;
|
|
13
|
+
runtimeHost?: ResolvedRuntimeHost;
|
|
12
14
|
};
|
|
13
15
|
export type ChatRuntimeConfig = {
|
|
14
16
|
model: string;
|
|
@@ -25,6 +27,7 @@ export type ChatRuntimeConfig = {
|
|
|
25
27
|
directShellApproval: 'always' | 'never';
|
|
26
28
|
searchIgnoreDirs: string[];
|
|
27
29
|
systemContext?: string;
|
|
30
|
+
runtimeHost?: ResolvedRuntimeHost;
|
|
28
31
|
saveTuiSnapshot?: (metadata?: {
|
|
29
32
|
sessionId?: string;
|
|
30
33
|
model?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/utils/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/utils/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAIlF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,QAAQ,GAAG,OAAO,CAAC;IACxC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,eAAe,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK;QAC/G,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,cAAc,GAAG,iBAAiB,CA6BnF;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAE/E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,gBAAgB,CAAC,GAAG,MAAM,GAAG,SAAS,CAEvI"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { join, resolve } from 'node:path';
|
|
2
|
-
import { DEFAULT_OPENAI_MODEL, inferProviderFromModel } from '../../../index.js';
|
|
2
|
+
import { appendMemoryCatalogSystemContext, DEFAULT_OPENAI_MODEL, inferProviderFromModel } from '../../../index.js';
|
|
3
3
|
import { saveTrace } from '../../../core/chat/trace.js';
|
|
4
4
|
import { resolveApiKeyForModel as resolveRuntimeApiKeyForModel, resolveProviderApiKey as resolveRuntimeProviderApiKey } from '../../../core/runtime/api-keys.js';
|
|
5
5
|
import { parsePositiveInt } from './format.js';
|
|
@@ -8,6 +8,7 @@ export function resolveChatRuntimeConfig(options) {
|
|
|
8
8
|
const workspaceRoot = resolve(options.workspaceRoot ?? process.cwd());
|
|
9
9
|
const sessionId = `chat-${Date.now()}`;
|
|
10
10
|
const stateRoot = resolve(workspaceRoot, options.stateDir ?? '.heddle');
|
|
11
|
+
const memoryDir = join(stateRoot, 'memory');
|
|
11
12
|
const model = options.model ?? process.env.OPENAI_MODEL ?? process.env.ANTHROPIC_MODEL ?? DEFAULT_OPENAI_MODEL;
|
|
12
13
|
const provider = inferProviderFromModel(model);
|
|
13
14
|
const apiKey = options.apiKey ?? resolveProviderApiKey(provider);
|
|
@@ -22,10 +23,14 @@ export function resolveChatRuntimeConfig(options) {
|
|
|
22
23
|
sessionCatalogFile: join(stateRoot, 'chat-sessions.catalog.json'),
|
|
23
24
|
approvalsFile: join(stateRoot, 'command-approvals.json'),
|
|
24
25
|
traceDir: join(stateRoot, 'traces'),
|
|
25
|
-
memoryDir
|
|
26
|
+
memoryDir,
|
|
26
27
|
directShellApproval: options.directShellApproval ?? 'never',
|
|
27
28
|
searchIgnoreDirs: options.searchIgnoreDirs ?? [],
|
|
28
|
-
systemContext:
|
|
29
|
+
systemContext: appendMemoryCatalogSystemContext({
|
|
30
|
+
systemContext: options.systemContext,
|
|
31
|
+
memoryRoot: memoryDir,
|
|
32
|
+
}),
|
|
33
|
+
runtimeHost: options.runtimeHost,
|
|
29
34
|
};
|
|
30
35
|
}
|
|
31
36
|
export function resolveProviderApiKey(provider) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../../src/cli/chat/utils/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../../src/cli/chat/utils/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gCAAgC,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACnH,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAGxD,OAAO,EAAE,qBAAqB,IAAI,4BAA4B,EAAE,qBAAqB,IAAI,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjK,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAsC/C,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,MAAM,UAAU,wBAAwB,CAAC,OAAuB;IAC9D,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,oBAAoB,CAAC;IAC/G,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAEjE,OAAO;QACL,KAAK;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,GAAG;QACnF,MAAM;QACN,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC3E,aAAa;QACb,SAAS;QACT,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,CAAC;QACpD,kBAAkB,EAAE,IAAI,CAAC,SAAS,EAAE,4BAA4B,CAAC;QACjE,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC;QACxD,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;QACnC,SAAS;QACT,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,IAAI,OAAO;QAC3D,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,EAAE;QAChD,aAAa,EAAE,gCAAgC,CAAC;YAC9C,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,UAAU,EAAE,SAAS;SACtB,CAAC;QACF,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAqB;IACzD,OAAO,4BAA4B,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAa,EAAE,OAA8D;IACjH,OAAO,4BAA4B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC"}
|
package/dist/src/cli/daemon.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../src/cli/daemon.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAG5B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../src/cli/daemon.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAG5B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAKF,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAElC,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,gBAAqB,iBAchF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAQ1D"}
|
package/dist/src/cli/daemon.js
CHANGED
|
@@ -13,6 +13,7 @@ export async function runDaemonCli(args, options = {}) {
|
|
|
13
13
|
host: parsed.host,
|
|
14
14
|
port: parsed.port,
|
|
15
15
|
assetsDir: parsed.assetsDir,
|
|
16
|
+
serveAssets: parsed.serveAssets,
|
|
16
17
|
};
|
|
17
18
|
await listenHeddleDaemon(listenOptions);
|
|
18
19
|
}
|
|
@@ -21,7 +22,8 @@ export function parseDaemonArgs(args) {
|
|
|
21
22
|
return {
|
|
22
23
|
host: stringFlag(flags, 'host') ?? DEFAULT_HOST,
|
|
23
24
|
port: parsePort(stringFlag(flags, 'port')) ?? DEFAULT_PORT,
|
|
24
|
-
assetsDir: stringFlag(flags, 'assets-dir'),
|
|
25
|
+
assetsDir: stringFlag(flags, 'assets-dir') ? resolve(stringFlag(flags, 'assets-dir')) : undefined,
|
|
26
|
+
serveAssets: !booleanFlag(flags, 'no-assets'),
|
|
25
27
|
};
|
|
26
28
|
}
|
|
27
29
|
function parseFlags(args) {
|
|
@@ -51,6 +53,9 @@ function stringFlag(flags, name) {
|
|
|
51
53
|
const value = flags[name];
|
|
52
54
|
return typeof value === 'string' ? value : undefined;
|
|
53
55
|
}
|
|
56
|
+
function booleanFlag(flags, name) {
|
|
57
|
+
return flags[name] === true;
|
|
58
|
+
}
|
|
54
59
|
function parsePort(raw) {
|
|
55
60
|
if (!raw) {
|
|
56
61
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/cli/daemon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/cli/daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-commands.d.ts","sourceRoot":"","sources":["../../../../src/cli/heartbeat/task-commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"task-commands.d.ts","sourceRoot":"","sources":["../../../../src/cli/heartbeat/task-commands.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGzE,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,iBAsB7B"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { resolve } from 'node:path';
|
|
1
2
|
import { booleanFlag, parsePositiveInt, stringFlag } from './args.js';
|
|
2
3
|
import { formatDurationMs, parseDurationMs } from './duration.js';
|
|
4
|
+
import { resolveWorkspaceContext } from '../../core/runtime/workspaces.js';
|
|
3
5
|
export async function runHeartbeatTaskCli(parsed, store, options) {
|
|
4
6
|
switch (parsed.subcommand) {
|
|
5
7
|
case 'add':
|
|
@@ -30,8 +32,15 @@ async function addHeartbeatTask(parsed, store, options) {
|
|
|
30
32
|
}
|
|
31
33
|
const intervalMs = parseDurationMs(stringFlag(parsed.flags, 'every') ?? stringFlag(parsed.flags, 'interval') ?? '1h');
|
|
32
34
|
const now = new Date();
|
|
35
|
+
const workspaceRoot = options.workspaceRoot ?? process.cwd();
|
|
36
|
+
const stateDir = options.stateDir ?? '.heddle';
|
|
37
|
+
const workspace = resolveWorkspaceContext({
|
|
38
|
+
workspaceRoot,
|
|
39
|
+
stateRoot: resolve(workspaceRoot, stateDir),
|
|
40
|
+
}).activeWorkspace;
|
|
33
41
|
const task = {
|
|
34
42
|
id,
|
|
43
|
+
workspaceId: workspace.id,
|
|
35
44
|
name: stringFlag(parsed.flags, 'name'),
|
|
36
45
|
task: taskText.trim(),
|
|
37
46
|
enabled: !booleanFlag(parsed.flags, 'disabled'),
|
|
@@ -39,7 +48,7 @@ async function addHeartbeatTask(parsed, store, options) {
|
|
|
39
48
|
nextRunAt: booleanFlag(parsed.flags, 'defer') ? new Date(now.getTime() + intervalMs).toISOString() : new Date(now.getTime() - 1_000).toISOString(),
|
|
40
49
|
model: stringFlag(parsed.flags, 'model') ?? options.model,
|
|
41
50
|
maxSteps: parsePositiveInt(stringFlag(parsed.flags, 'max-steps')) ?? options.maxSteps,
|
|
42
|
-
workspaceRoot
|
|
51
|
+
workspaceRoot,
|
|
43
52
|
stateDir: options.stateDir,
|
|
44
53
|
searchIgnoreDirs: options.searchIgnoreDirs,
|
|
45
54
|
systemContext: options.systemContext,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-commands.js","sourceRoot":"","sources":["../../../../src/cli/heartbeat/task-commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"task-commands.js","sourceRoot":"","sources":["../../../../src/cli/heartbeat/task-commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAA2B,EAC3B,KAAwB,EACxB,OAA4B;IAE5B,QAAQ,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1B,KAAK,KAAK;YACR,MAAM,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC/C,OAAO;QACT,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS;YACZ,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAChC,OAAO;QACT,KAAK,QAAQ;YACX,MAAM,uBAAuB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACnD,OAAO;QACT,KAAK,SAAS;YACZ,MAAM,uBAAuB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACpD,OAAO;QACT,KAAK,MAAM;YACT,MAAM,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACvC,OAAO;QACT;YACE,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,MAA2B,EAC3B,KAAwB,EACxB,OAA4B;IAE5B,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjI,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;IACtG,CAAC;IAED,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC;IACtH,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;IAC/C,MAAM,SAAS,GAAG,uBAAuB,CAAC;QACxC,aAAa;QACb,SAAS,EAAE,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC;KAC5C,CAAC,CAAC,eAAe,CAAC;IACnB,MAAM,IAAI,GAAkB;QAC1B,EAAE;QACF,WAAW,EAAE,SAAS,CAAC,EAAE;QACzB,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;QACtC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;QACrB,OAAO,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC;QAC/C,UAAU;QACV,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,WAAW,EAAE;QAClJ,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK;QACzD,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ;QACrF,aAAa;QACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC;IAEF,MAAM,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAC,EAAE,KAAK,gBAAgB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACvG,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,KAAwB;IACxD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;IACtC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YACnB,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3F,YAAY,IAAI,CAAC,MAAM,IAAI,MAAM,UAAU,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI,SAAS,EAAE;YAC/I,UAAU,IAAI,CAAC,IAAI,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS;YACjE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,cAAc,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,qBAAqB,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;YACxK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,WAAW,WAAW,IAAI,CAAC,SAAS,CAAC,YAAY,UAAU,IAAI,CAAC,SAAS,CAAC,WAAW,aAAa,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;YACxL,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,YAAY,YAAY,IAAI,CAAC,WAAW,IAAI,SAAS,UAAU,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;YAC3I,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;SACzD,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,MAA2B,EAC3B,KAAwB,EACxB,OAAgB;IAEhB,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;IACtC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,KAAK,CAAC,QAAQ,CAAC;QACnB,GAAG,IAAI;QACP,OAAO;QACP,SAAS,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;QACnG,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,mBAAmB,EAAE,IAAI,CAAC,CAAC;AACrF,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAA2B,EAC3B,KAAwB;IAExB,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;IACtC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QACnB,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3F,UAAU,IAAI,CAAC,MAAM,IAAI,MAAM,UAAU,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,MAAM,UAAU,IAAI,CAAC,KAAK,IAAI,SAAS,EAAE;QAC9I,EAAE;QACF,OAAO;QACP,IAAI,CAAC,IAAI;QACT,EAAE;QACF,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS;QAChE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,qBAAqB;QACjF,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;QAClE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;QAC1D,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;QAC7D,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;QACpF,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;QAC7F,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,WAAW,WAAW,IAAI,CAAC,SAAS,CAAC,YAAY,UAAU,IAAI,CAAC,SAAS,CAAC,WAAW,aAAa,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;QACvL,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;QAC5D,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QACjF,EAAE;KACH,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../../src/cli/heartbeat/worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../../src/cli/heartbeat/worker.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAIrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAUzE,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,iBAyC7B;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,iBA2C7B"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { inferProviderFromModel, resolveProviderApiKey, runDueHeartbeatTasks, runHeartbeatScheduler, } from '../../index.js';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
2
3
|
import { booleanFlag, parsePositiveInt, stringFlag } from './args.js';
|
|
3
4
|
import { formatDurationMs, parseDurationMs } from './duration.js';
|
|
4
5
|
import { printAgentLoopEvent, printSchedulerEvent } from './output.js';
|
|
6
|
+
import { resolveWorkspaceContext } from '../../core/runtime/workspaces.js';
|
|
5
7
|
const DEFAULT_MODEL = 'gpt-5.1-codex-mini';
|
|
6
8
|
const DEFAULT_HEARTBEAT_TASK_ID = 'default';
|
|
7
9
|
const DEFAULT_HEARTBEAT_TASK = [
|
|
@@ -53,9 +55,15 @@ export async function startHeartbeatCli(parsed, store, options) {
|
|
|
53
55
|
const existing = (await store.listTasks()).find((task) => task.id === id);
|
|
54
56
|
const now = new Date();
|
|
55
57
|
const taskText = stringFlag(parsed.flags, 'task') ?? stringFlag(parsed.flags, 'goal') ?? existing?.task ?? DEFAULT_HEARTBEAT_TASK;
|
|
58
|
+
const workspaceRoot = options.workspaceRoot ?? process.cwd();
|
|
59
|
+
const workspace = resolveWorkspaceContext({
|
|
60
|
+
workspaceRoot,
|
|
61
|
+
stateRoot: resolve(workspaceRoot, options.stateDir ?? '.heddle'),
|
|
62
|
+
}).activeWorkspace;
|
|
56
63
|
const task = {
|
|
57
64
|
...existing,
|
|
58
65
|
id,
|
|
66
|
+
workspaceId: existing?.workspaceId ?? workspace.id,
|
|
59
67
|
name: stringFlag(parsed.flags, 'name') ?? existing?.name,
|
|
60
68
|
task: taskText.trim(),
|
|
61
69
|
enabled: true,
|
|
@@ -63,7 +71,7 @@ export async function startHeartbeatCli(parsed, store, options) {
|
|
|
63
71
|
nextRunAt: booleanFlag(parsed.flags, 'defer') ? new Date(now.getTime() + intervalMs).toISOString() : new Date(now.getTime() - 1_000).toISOString(),
|
|
64
72
|
model: stringFlag(parsed.flags, 'model') ?? existing?.model ?? options.model,
|
|
65
73
|
maxSteps: parsePositiveInt(stringFlag(parsed.flags, 'max-steps')) ?? existing?.maxSteps ?? options.maxSteps,
|
|
66
|
-
workspaceRoot
|
|
74
|
+
workspaceRoot,
|
|
67
75
|
stateDir: options.stateDir,
|
|
68
76
|
searchIgnoreDirs: options.searchIgnoreDirs,
|
|
69
77
|
systemContext: options.systemContext,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/cli/heartbeat/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GAItB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/cli/heartbeat/worker.ts"],"names":[],"mappings":"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"}
|