@telora/factory 0.4.5
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/dist/audit.d.ts +69 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +376 -0
- package/dist/audit.js.map +1 -0
- package/dist/builder-completion.d.ts +35 -0
- package/dist/builder-completion.d.ts.map +1 -0
- package/dist/builder-completion.js +375 -0
- package/dist/builder-completion.js.map +1 -0
- package/dist/builder-spawner.d.ts +40 -0
- package/dist/builder-spawner.d.ts.map +1 -0
- package/dist/builder-spawner.js +493 -0
- package/dist/builder-spawner.js.map +1 -0
- package/dist/completion-gate.d.ts +52 -0
- package/dist/completion-gate.d.ts.map +1 -0
- package/dist/completion-gate.js +336 -0
- package/dist/completion-gate.js.map +1 -0
- package/dist/completion-report.d.ts +36 -0
- package/dist/completion-report.d.ts.map +1 -0
- package/dist/completion-report.js +348 -0
- package/dist/completion-report.js.map +1 -0
- package/dist/completion.d.ts +58 -0
- package/dist/completion.d.ts.map +1 -0
- package/dist/completion.js +287 -0
- package/dist/completion.js.map +1 -0
- package/dist/config.d.ts +16 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +57 -0
- package/dist/config.js.map +1 -0
- package/dist/context-manager.d.ts +152 -0
- package/dist/context-manager.d.ts.map +1 -0
- package/dist/context-manager.js +421 -0
- package/dist/context-manager.js.map +1 -0
- package/dist/crash-detection.d.ts +70 -0
- package/dist/crash-detection.d.ts.map +1 -0
- package/dist/crash-detection.js +123 -0
- package/dist/crash-detection.js.map +1 -0
- package/dist/crash-recovery.d.ts +83 -0
- package/dist/crash-recovery.d.ts.map +1 -0
- package/dist/crash-recovery.js +522 -0
- package/dist/crash-recovery.js.map +1 -0
- package/dist/crash-resolution.d.ts +34 -0
- package/dist/crash-resolution.d.ts.map +1 -0
- package/dist/crash-resolution.js +382 -0
- package/dist/crash-resolution.js.map +1 -0
- package/dist/escalation.d.ts +150 -0
- package/dist/escalation.d.ts.map +1 -0
- package/dist/escalation.js +352 -0
- package/dist/escalation.js.map +1 -0
- package/dist/execution-target.d.ts +31 -0
- package/dist/execution-target.d.ts.map +1 -0
- package/dist/execution-target.js +71 -0
- package/dist/execution-target.js.map +1 -0
- package/dist/execution-unit-init.d.ts +28 -0
- package/dist/execution-unit-init.d.ts.map +1 -0
- package/dist/execution-unit-init.js +115 -0
- package/dist/execution-unit-init.js.map +1 -0
- package/dist/execution.d.ts +17 -0
- package/dist/execution.d.ts.map +1 -0
- package/dist/execution.js +20 -0
- package/dist/execution.js.map +1 -0
- package/dist/factory-engine.d.ts +100 -0
- package/dist/factory-engine.d.ts.map +1 -0
- package/dist/factory-engine.js +243 -0
- package/dist/factory-engine.js.map +1 -0
- package/dist/gap-detection.d.ts +43 -0
- package/dist/gap-detection.d.ts.map +1 -0
- package/dist/gap-detection.js +149 -0
- package/dist/gap-detection.js.map +1 -0
- package/dist/gate-context.d.ts +23 -0
- package/dist/gate-context.d.ts.map +1 -0
- package/dist/gate-context.js +63 -0
- package/dist/gate-context.js.map +1 -0
- package/dist/gate-engine.d.ts +55 -0
- package/dist/gate-engine.d.ts.map +1 -0
- package/dist/gate-engine.js +191 -0
- package/dist/gate-engine.js.map +1 -0
- package/dist/gates/adversarial.d.ts +59 -0
- package/dist/gates/adversarial.d.ts.map +1 -0
- package/dist/gates/adversarial.js +426 -0
- package/dist/gates/adversarial.js.map +1 -0
- package/dist/gates/adversary-spawner.d.ts +35 -0
- package/dist/gates/adversary-spawner.d.ts.map +1 -0
- package/dist/gates/adversary-spawner.js +286 -0
- package/dist/gates/adversary-spawner.js.map +1 -0
- package/dist/gates/adversary-test-dir.d.ts +41 -0
- package/dist/gates/adversary-test-dir.d.ts.map +1 -0
- package/dist/gates/adversary-test-dir.js +150 -0
- package/dist/gates/adversary-test-dir.js.map +1 -0
- package/dist/gates/behavioral-parser.d.ts +32 -0
- package/dist/gates/behavioral-parser.d.ts.map +1 -0
- package/dist/gates/behavioral-parser.js +190 -0
- package/dist/gates/behavioral-parser.js.map +1 -0
- package/dist/gates/behavioral-runner.d.ts +36 -0
- package/dist/gates/behavioral-runner.d.ts.map +1 -0
- package/dist/gates/behavioral-runner.js +306 -0
- package/dist/gates/behavioral-runner.js.map +1 -0
- package/dist/gates/behavioral.d.ts +37 -0
- package/dist/gates/behavioral.d.ts.map +1 -0
- package/dist/gates/behavioral.js +485 -0
- package/dist/gates/behavioral.js.map +1 -0
- package/dist/gates/deterministic.d.ts +24 -0
- package/dist/gates/deterministic.d.ts.map +1 -0
- package/dist/gates/deterministic.js +186 -0
- package/dist/gates/deterministic.js.map +1 -0
- package/dist/git-factory.d.ts +59 -0
- package/dist/git-factory.d.ts.map +1 -0
- package/dist/git-factory.js +102 -0
- package/dist/git-factory.js.map +1 -0
- package/dist/guard-evaluation.d.ts +48 -0
- package/dist/guard-evaluation.d.ts.map +1 -0
- package/dist/guard-evaluation.js +416 -0
- package/dist/guard-evaluation.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +39 -0
- package/dist/index.js.map +1 -0
- package/dist/instance-completion.d.ts +34 -0
- package/dist/instance-completion.d.ts.map +1 -0
- package/dist/instance-completion.js +366 -0
- package/dist/instance-completion.js.map +1 -0
- package/dist/instance-lifecycle.d.ts +15 -0
- package/dist/instance-lifecycle.d.ts.map +1 -0
- package/dist/instance-lifecycle.js +18 -0
- package/dist/instance-lifecycle.js.map +1 -0
- package/dist/instance-phase-dispatch.d.ts +75 -0
- package/dist/instance-phase-dispatch.d.ts.map +1 -0
- package/dist/instance-phase-dispatch.js +674 -0
- package/dist/instance-phase-dispatch.js.map +1 -0
- package/dist/instance-poll-loop.d.ts +43 -0
- package/dist/instance-poll-loop.d.ts.map +1 -0
- package/dist/instance-poll-loop.js +360 -0
- package/dist/instance-poll-loop.js.map +1 -0
- package/dist/instance-state-machine.d.ts +52 -0
- package/dist/instance-state-machine.d.ts.map +1 -0
- package/dist/instance-state-machine.js +235 -0
- package/dist/instance-state-machine.js.map +1 -0
- package/dist/log-manager.d.ts +28 -0
- package/dist/log-manager.d.ts.map +1 -0
- package/dist/log-manager.js +71 -0
- package/dist/log-manager.js.map +1 -0
- package/dist/pipeline-evaluator.d.ts +61 -0
- package/dist/pipeline-evaluator.d.ts.map +1 -0
- package/dist/pipeline-evaluator.js +107 -0
- package/dist/pipeline-evaluator.js.map +1 -0
- package/dist/pipeline-metrics.d.ts +52 -0
- package/dist/pipeline-metrics.d.ts.map +1 -0
- package/dist/pipeline-metrics.js +40 -0
- package/dist/pipeline-metrics.js.map +1 -0
- package/dist/pipeline-traversal.d.ts +43 -0
- package/dist/pipeline-traversal.d.ts.map +1 -0
- package/dist/pipeline-traversal.js +68 -0
- package/dist/pipeline-traversal.js.map +1 -0
- package/dist/plan-parser.d.ts +76 -0
- package/dist/plan-parser.d.ts.map +1 -0
- package/dist/plan-parser.js +223 -0
- package/dist/plan-parser.js.map +1 -0
- package/dist/planning-phase.d.ts +52 -0
- package/dist/planning-phase.d.ts.map +1 -0
- package/dist/planning-phase.js +444 -0
- package/dist/planning-phase.js.map +1 -0
- package/dist/planning-prompt.d.ts +64 -0
- package/dist/planning-prompt.d.ts.map +1 -0
- package/dist/planning-prompt.js +251 -0
- package/dist/planning-prompt.js.map +1 -0
- package/dist/planning.d.ts +16 -0
- package/dist/planning.d.ts.map +1 -0
- package/dist/planning.js +17 -0
- package/dist/planning.js.map +1 -0
- package/dist/process-runner.d.ts +41 -0
- package/dist/process-runner.d.ts.map +1 -0
- package/dist/process-runner.js +81 -0
- package/dist/process-runner.js.map +1 -0
- package/dist/product-config.d.ts +34 -0
- package/dist/product-config.d.ts.map +1 -0
- package/dist/product-config.js +43 -0
- package/dist/product-config.js.map +1 -0
- package/dist/queries/cycle-evaluations.d.ts +23 -0
- package/dist/queries/cycle-evaluations.d.ts.map +1 -0
- package/dist/queries/cycle-evaluations.js +37 -0
- package/dist/queries/cycle-evaluations.js.map +1 -0
- package/dist/queries/escalations.d.ts +30 -0
- package/dist/queries/escalations.d.ts.map +1 -0
- package/dist/queries/escalations.js +42 -0
- package/dist/queries/escalations.js.map +1 -0
- package/dist/queries/execution-units.d.ts +76 -0
- package/dist/queries/execution-units.d.ts.map +1 -0
- package/dist/queries/execution-units.js +109 -0
- package/dist/queries/execution-units.js.map +1 -0
- package/dist/queries/gate-results.d.ts +32 -0
- package/dist/queries/gate-results.d.ts.map +1 -0
- package/dist/queries/gate-results.js +44 -0
- package/dist/queries/gate-results.js.map +1 -0
- package/dist/queries/instances.d.ts +51 -0
- package/dist/queries/instances.d.ts.map +1 -0
- package/dist/queries/instances.js +77 -0
- package/dist/queries/instances.js.map +1 -0
- package/dist/queries/sessions.d.ts +50 -0
- package/dist/queries/sessions.d.ts.map +1 -0
- package/dist/queries/sessions.js +81 -0
- package/dist/queries/sessions.js.map +1 -0
- package/dist/queries/shared.d.ts +38 -0
- package/dist/queries/shared.d.ts.map +1 -0
- package/dist/queries/shared.js +119 -0
- package/dist/queries/shared.js.map +1 -0
- package/dist/queries/specs.d.ts +12 -0
- package/dist/queries/specs.d.ts.map +1 -0
- package/dist/queries/specs.js +21 -0
- package/dist/queries/specs.js.map +1 -0
- package/dist/queries/strategies.d.ts +14 -0
- package/dist/queries/strategies.d.ts.map +1 -0
- package/dist/queries/strategies.js +18 -0
- package/dist/queries/strategies.js.map +1 -0
- package/dist/queries/work-units.d.ts +42 -0
- package/dist/queries/work-units.d.ts.map +1 -0
- package/dist/queries/work-units.js +57 -0
- package/dist/queries/work-units.js.map +1 -0
- package/dist/queries/workflows.d.ts +29 -0
- package/dist/queries/workflows.d.ts.map +1 -0
- package/dist/queries/workflows.js +103 -0
- package/dist/queries/workflows.js.map +1 -0
- package/dist/remediation-units.d.ts +40 -0
- package/dist/remediation-units.d.ts.map +1 -0
- package/dist/remediation-units.js +263 -0
- package/dist/remediation-units.js.map +1 -0
- package/dist/replanning.d.ts +72 -0
- package/dist/replanning.d.ts.map +1 -0
- package/dist/replanning.js +403 -0
- package/dist/replanning.js.map +1 -0
- package/dist/resource-limits.d.ts +62 -0
- package/dist/resource-limits.d.ts.map +1 -0
- package/dist/resource-limits.js +322 -0
- package/dist/resource-limits.js.map +1 -0
- package/dist/scheduler.d.ts +98 -0
- package/dist/scheduler.d.ts.map +1 -0
- package/dist/scheduler.js +203 -0
- package/dist/scheduler.js.map +1 -0
- package/dist/session-adapter.d.ts +89 -0
- package/dist/session-adapter.d.ts.map +1 -0
- package/dist/session-adapter.js +108 -0
- package/dist/session-adapter.js.map +1 -0
- package/dist/sop-generator.d.ts +29 -0
- package/dist/sop-generator.d.ts.map +1 -0
- package/dist/sop-generator.js +235 -0
- package/dist/sop-generator.js.map +1 -0
- package/dist/spec-profiles.d.ts +41 -0
- package/dist/spec-profiles.d.ts.map +1 -0
- package/dist/spec-profiles.js +131 -0
- package/dist/spec-profiles.js.map +1 -0
- package/dist/strategy-design-graph.d.ts +23 -0
- package/dist/strategy-design-graph.d.ts.map +1 -0
- package/dist/strategy-design-graph.js +205 -0
- package/dist/strategy-design-graph.js.map +1 -0
- package/dist/strategy-design-prompt.d.ts +28 -0
- package/dist/strategy-design-prompt.d.ts.map +1 -0
- package/dist/strategy-design-prompt.js +108 -0
- package/dist/strategy-design-prompt.js.map +1 -0
- package/dist/strategy-design-schema.d.ts +767 -0
- package/dist/strategy-design-schema.d.ts.map +1 -0
- package/dist/strategy-design-schema.js +126 -0
- package/dist/strategy-design-schema.js.map +1 -0
- package/dist/strategy-design.d.ts +69 -0
- package/dist/strategy-design.d.ts.map +1 -0
- package/dist/strategy-design.js +411 -0
- package/dist/strategy-design.js.map +1 -0
- package/dist/strategy-gating.d.ts +31 -0
- package/dist/strategy-gating.d.ts.map +1 -0
- package/dist/strategy-gating.js +276 -0
- package/dist/strategy-gating.js.map +1 -0
- package/dist/team-prompt-builder.d.ts +47 -0
- package/dist/team-prompt-builder.d.ts.map +1 -0
- package/dist/team-prompt-builder.js +362 -0
- package/dist/team-prompt-builder.js.map +1 -0
- package/dist/trace-engine.d.ts +40 -0
- package/dist/trace-engine.d.ts.map +1 -0
- package/dist/trace-engine.js +344 -0
- package/dist/trace-engine.js.map +1 -0
- package/dist/types.d.ts +612 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +9 -0
- package/dist/types.js.map +1 -0
- package/dist/unit-session-lifecycle.d.ts +78 -0
- package/dist/unit-session-lifecycle.d.ts.map +1 -0
- package/dist/unit-session-lifecycle.js +141 -0
- package/dist/unit-session-lifecycle.js.map +1 -0
- package/dist/unit-session.d.ts +30 -0
- package/dist/unit-session.d.ts.map +1 -0
- package/dist/unit-session.js +370 -0
- package/dist/unit-session.js.map +1 -0
- package/dist/watchdogs.d.ts +33 -0
- package/dist/watchdogs.d.ts.map +1 -0
- package/dist/watchdogs.js +170 -0
- package/dist/watchdogs.js.map +1 -0
- package/dist/work-unit-scheduler.d.ts +34 -0
- package/dist/work-unit-scheduler.d.ts.map +1 -0
- package/dist/work-unit-scheduler.js +91 -0
- package/dist/work-unit-scheduler.js.map +1 -0
- package/dist/workflow-transition.d.ts +90 -0
- package/dist/workflow-transition.d.ts.map +1 -0
- package/dist/workflow-transition.js +340 -0
- package/dist/workflow-transition.js.map +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory escalation queries.
|
|
3
|
+
*
|
|
4
|
+
* Creates escalations when factory instances get stuck or hit resource limits.
|
|
5
|
+
* Uses the existing agent_escalations table with factory_instance_id set.
|
|
6
|
+
*
|
|
7
|
+
* Also provides getActiveEscalationInstanceIds() for escalation-aware log
|
|
8
|
+
* preservation -- returns factory instance IDs with pending/in_review escalations.
|
|
9
|
+
*/
|
|
10
|
+
import { type EscalationReasonType } from '@telora/daemon-core';
|
|
11
|
+
/**
|
|
12
|
+
* Create an escalation for a factory instance.
|
|
13
|
+
*
|
|
14
|
+
* Inserts into agent_escalations with factory_instance_id set.
|
|
15
|
+
* This pauses the instance and signals the human on the control panel.
|
|
16
|
+
*
|
|
17
|
+
* @param instanceId Factory instance UUID.
|
|
18
|
+
* @param reason Short reason description for the escalation.
|
|
19
|
+
* @param message Detailed human-readable help message.
|
|
20
|
+
* @param reasonType Escalation reason type (defaults to ERROR_ENCOUNTERED).
|
|
21
|
+
* @param sessionId Optional session ID to link the escalation to.
|
|
22
|
+
*/
|
|
23
|
+
export declare function createFactoryEscalation(instanceId: string, reason: string, message: string, reasonType?: EscalationReasonType, sessionId?: string | null): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Get factory instance IDs that have active (pending/in_review) escalations.
|
|
26
|
+
*
|
|
27
|
+
* Used by the log manager to preserve logs for escalated instances.
|
|
28
|
+
*/
|
|
29
|
+
export declare function getActiveEscalationInstanceIds(): Promise<string[]>;
|
|
30
|
+
//# sourceMappingURL=escalations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escalations.d.ts","sourceRoot":"","sources":["../../src/queries/escalations.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAsB,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGpF;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,oBAA2D,EACvE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GACxB,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;;;GAIG;AACH,wBAAsB,8BAA8B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAMxE"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory escalation queries.
|
|
3
|
+
*
|
|
4
|
+
* Creates escalations when factory instances get stuck or hit resource limits.
|
|
5
|
+
* Uses the existing agent_escalations table with factory_instance_id set.
|
|
6
|
+
*
|
|
7
|
+
* Also provides getActiveEscalationInstanceIds() for escalation-aware log
|
|
8
|
+
* preservation -- returns factory instance IDs with pending/in_review escalations.
|
|
9
|
+
*/
|
|
10
|
+
import { ESCALATION_REASONS } from '@telora/daemon-core';
|
|
11
|
+
import { callApi } from './shared.js';
|
|
12
|
+
/**
|
|
13
|
+
* Create an escalation for a factory instance.
|
|
14
|
+
*
|
|
15
|
+
* Inserts into agent_escalations with factory_instance_id set.
|
|
16
|
+
* This pauses the instance and signals the human on the control panel.
|
|
17
|
+
*
|
|
18
|
+
* @param instanceId Factory instance UUID.
|
|
19
|
+
* @param reason Short reason description for the escalation.
|
|
20
|
+
* @param message Detailed human-readable help message.
|
|
21
|
+
* @param reasonType Escalation reason type (defaults to ERROR_ENCOUNTERED).
|
|
22
|
+
* @param sessionId Optional session ID to link the escalation to.
|
|
23
|
+
*/
|
|
24
|
+
export async function createFactoryEscalation(instanceId, reason, message, reasonType = ESCALATION_REASONS.ERROR_ENCOUNTERED, sessionId) {
|
|
25
|
+
await callApi('factory_create_escalation', {
|
|
26
|
+
factoryInstanceId: instanceId,
|
|
27
|
+
reasonType,
|
|
28
|
+
description: reason,
|
|
29
|
+
helpNeeded: message,
|
|
30
|
+
...(sessionId ? { sessionId } : {}),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Get factory instance IDs that have active (pending/in_review) escalations.
|
|
35
|
+
*
|
|
36
|
+
* Used by the log manager to preserve logs for escalated instances.
|
|
37
|
+
*/
|
|
38
|
+
export async function getActiveEscalationInstanceIds() {
|
|
39
|
+
const result = await callApi('factory_get_active_escalation_instance_ids', {});
|
|
40
|
+
return result.instanceIds ?? [];
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=escalations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escalations.js","sourceRoot":"","sources":["../../src/queries/escalations.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,kBAAkB,EAA6B,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,UAAkB,EAClB,MAAc,EACd,OAAe,EACf,aAAmC,kBAAkB,CAAC,iBAAiB,EACvE,SAAyB;IAEzB,MAAM,OAAO,CAAC,2BAA2B,EAAE;QACzC,iBAAiB,EAAE,UAAU;QAC7B,UAAU;QACV,WAAW,EAAE,MAAM;QACnB,UAAU,EAAE,OAAO;QACnB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B;IAClD,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,4CAA4C,EAC5C,EAAE,CACH,CAAC;IACF,OAAO,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory execution unit queries.
|
|
3
|
+
*
|
|
4
|
+
* Provides CRUD operations for factory_execution_units table.
|
|
5
|
+
* Execution units are configured Claude Code session spawners within
|
|
6
|
+
* a factory instance, assigned to strategies by the scheduler.
|
|
7
|
+
*/
|
|
8
|
+
import { z } from 'zod';
|
|
9
|
+
import type { ExecutionUnit, ExecutionUnitStatus, ExecutionUnitConfig } from '../types.js';
|
|
10
|
+
export declare const ExecutionUnitStatusSchema: z.ZodEnum<["idle", "assigned", "running", "terminated"]>;
|
|
11
|
+
export declare const ExecutionUnitConfigSchema: z.ZodObject<{
|
|
12
|
+
defaultModel: z.ZodOptional<z.ZodString>;
|
|
13
|
+
mcpConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
14
|
+
agentTeamsEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
15
|
+
envVars: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
16
|
+
}, "strict", z.ZodTypeAny, {
|
|
17
|
+
agentTeamsEnabled: boolean;
|
|
18
|
+
defaultModel?: string | undefined;
|
|
19
|
+
mcpConfig?: Record<string, unknown> | undefined;
|
|
20
|
+
envVars?: Record<string, string> | undefined;
|
|
21
|
+
}, {
|
|
22
|
+
defaultModel?: string | undefined;
|
|
23
|
+
mcpConfig?: Record<string, unknown> | undefined;
|
|
24
|
+
agentTeamsEnabled?: boolean | undefined;
|
|
25
|
+
envVars?: Record<string, string> | undefined;
|
|
26
|
+
}>;
|
|
27
|
+
/**
|
|
28
|
+
* Create a new execution unit for a factory instance.
|
|
29
|
+
*/
|
|
30
|
+
export declare function createExecutionUnit(params: {
|
|
31
|
+
instanceId: string;
|
|
32
|
+
slotIndex: number;
|
|
33
|
+
model?: string | null;
|
|
34
|
+
config?: ExecutionUnitConfig | null;
|
|
35
|
+
}): Promise<ExecutionUnit>;
|
|
36
|
+
/**
|
|
37
|
+
* Update an execution unit's status and optional fields.
|
|
38
|
+
*/
|
|
39
|
+
export declare function updateExecutionUnit(unitId: string, fields: {
|
|
40
|
+
status?: ExecutionUnitStatus;
|
|
41
|
+
model?: string;
|
|
42
|
+
claudeSessionId?: string | null;
|
|
43
|
+
assignedStrategyId?: string | null;
|
|
44
|
+
assignedAt?: string | null;
|
|
45
|
+
config?: ExecutionUnitConfig | null;
|
|
46
|
+
}): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Get all execution units for a factory instance, sorted by slot_index.
|
|
49
|
+
*/
|
|
50
|
+
export declare function getExecutionUnitsByInstance(instanceId: string): Promise<ExecutionUnit[]>;
|
|
51
|
+
/**
|
|
52
|
+
* Get the first available (idle) execution unit for an instance.
|
|
53
|
+
* Returns null if no idle unit exists.
|
|
54
|
+
*/
|
|
55
|
+
export declare function getAvailableExecutionUnit(instanceId: string): Promise<ExecutionUnit | null>;
|
|
56
|
+
/**
|
|
57
|
+
* Atomically assign a strategy to an idle execution unit.
|
|
58
|
+
* Returns the updated unit if assignment succeeded, or null if the unit
|
|
59
|
+
* was not idle (claimed by another scheduler cycle).
|
|
60
|
+
*/
|
|
61
|
+
export declare function assignExecutionUnit(unitId: string, strategyId: string): Promise<ExecutionUnit | null>;
|
|
62
|
+
/**
|
|
63
|
+
* Delete all execution unit rows for a factory instance.
|
|
64
|
+
*
|
|
65
|
+
* Called when a pipeline advances between nodes to clear stale slots so
|
|
66
|
+
* the next node can create fresh units without hitting the unique constraint
|
|
67
|
+
* on (instance_id, slot_index).
|
|
68
|
+
*/
|
|
69
|
+
export declare function deleteExecutionUnitsByInstance(instanceId: string): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Release an execution unit back to idle.
|
|
72
|
+
* Clears assigned_strategy_id and sets status to 'idle'.
|
|
73
|
+
* Preserves claude_session_id for potential session resume.
|
|
74
|
+
*/
|
|
75
|
+
export declare function releaseExecutionUnit(unitId: string): Promise<void>;
|
|
76
|
+
//# sourceMappingURL=execution-units.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-units.d.ts","sourceRoot":"","sources":["../../src/queries/execution-units.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAM3F,eAAO,MAAM,yBAAyB,0DAKpC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;EAK3B,CAAC;AAMZ;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACrC,GAAG,OAAO,CAAC,aAAa,CAAC,CAWzB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;IACN,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACrC,GACA,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,EAAE,CAAC,CAM1B;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAG/B;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAM/B;AAED;;;;;;GAMG;AACH,wBAAsB,8BAA8B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtF;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxE"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory execution unit queries.
|
|
3
|
+
*
|
|
4
|
+
* Provides CRUD operations for factory_execution_units table.
|
|
5
|
+
* Execution units are configured Claude Code session spawners within
|
|
6
|
+
* a factory instance, assigned to strategies by the scheduler.
|
|
7
|
+
*/
|
|
8
|
+
import { z } from 'zod';
|
|
9
|
+
import { callApi } from './shared.js';
|
|
10
|
+
// ============================================================================
|
|
11
|
+
// Zod schemas for validation
|
|
12
|
+
// ============================================================================
|
|
13
|
+
export const ExecutionUnitStatusSchema = z.enum([
|
|
14
|
+
'idle',
|
|
15
|
+
'assigned',
|
|
16
|
+
'running',
|
|
17
|
+
'terminated',
|
|
18
|
+
]);
|
|
19
|
+
export const ExecutionUnitConfigSchema = z.object({
|
|
20
|
+
defaultModel: z.string().optional(),
|
|
21
|
+
mcpConfig: z.record(z.string(), z.unknown()).optional(),
|
|
22
|
+
agentTeamsEnabled: z.boolean().optional().default(true),
|
|
23
|
+
envVars: z.record(z.string(), z.string()).optional(),
|
|
24
|
+
}).strict();
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
// Query functions
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
/**
|
|
29
|
+
* Create a new execution unit for a factory instance.
|
|
30
|
+
*/
|
|
31
|
+
export async function createExecutionUnit(params) {
|
|
32
|
+
const result = await callApi('factory_create_execution_unit', {
|
|
33
|
+
instanceId: params.instanceId,
|
|
34
|
+
slotIndex: params.slotIndex,
|
|
35
|
+
model: params.model ?? null,
|
|
36
|
+
config: params.config ?? null,
|
|
37
|
+
});
|
|
38
|
+
return result.executionUnit;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Update an execution unit's status and optional fields.
|
|
42
|
+
*/
|
|
43
|
+
export async function updateExecutionUnit(unitId, fields) {
|
|
44
|
+
const apiFields = {};
|
|
45
|
+
if (fields.status !== undefined)
|
|
46
|
+
apiFields.status = fields.status;
|
|
47
|
+
if (fields.model !== undefined)
|
|
48
|
+
apiFields.model = fields.model;
|
|
49
|
+
if (fields.claudeSessionId !== undefined)
|
|
50
|
+
apiFields.claude_session_id = fields.claudeSessionId;
|
|
51
|
+
if (fields.assignedStrategyId !== undefined)
|
|
52
|
+
apiFields.assigned_strategy_id = fields.assignedStrategyId;
|
|
53
|
+
if (fields.assignedAt !== undefined)
|
|
54
|
+
apiFields.assigned_at = fields.assignedAt;
|
|
55
|
+
if (fields.config !== undefined)
|
|
56
|
+
apiFields.config = fields.config;
|
|
57
|
+
await callApi('factory_update_execution_unit', {
|
|
58
|
+
unitId,
|
|
59
|
+
...apiFields,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Get all execution units for a factory instance, sorted by slot_index.
|
|
64
|
+
*/
|
|
65
|
+
export async function getExecutionUnitsByInstance(instanceId) {
|
|
66
|
+
const result = await callApi('factory_execution_unit_list', { instanceId, detail: 'full' });
|
|
67
|
+
return result.executionUnits || [];
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Get the first available (idle) execution unit for an instance.
|
|
71
|
+
* Returns null if no idle unit exists.
|
|
72
|
+
*/
|
|
73
|
+
export async function getAvailableExecutionUnit(instanceId) {
|
|
74
|
+
const units = await getExecutionUnitsByInstance(instanceId);
|
|
75
|
+
return units.find(u => u.status === 'idle') ?? null;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Atomically assign a strategy to an idle execution unit.
|
|
79
|
+
* Returns the updated unit if assignment succeeded, or null if the unit
|
|
80
|
+
* was not idle (claimed by another scheduler cycle).
|
|
81
|
+
*/
|
|
82
|
+
export async function assignExecutionUnit(unitId, strategyId) {
|
|
83
|
+
const result = await callApi('factory_assign_execution_unit', { unitId, strategyId });
|
|
84
|
+
return result.assigned ? result.executionUnit : null;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Delete all execution unit rows for a factory instance.
|
|
88
|
+
*
|
|
89
|
+
* Called when a pipeline advances between nodes to clear stale slots so
|
|
90
|
+
* the next node can create fresh units without hitting the unique constraint
|
|
91
|
+
* on (instance_id, slot_index).
|
|
92
|
+
*/
|
|
93
|
+
export async function deleteExecutionUnitsByInstance(instanceId) {
|
|
94
|
+
await callApi('factory_delete_execution_units_by_instance', { instanceId });
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Release an execution unit back to idle.
|
|
98
|
+
* Clears assigned_strategy_id and sets status to 'idle'.
|
|
99
|
+
* Preserves claude_session_id for potential session resume.
|
|
100
|
+
*/
|
|
101
|
+
export async function releaseExecutionUnit(unitId) {
|
|
102
|
+
await callApi('factory_update_execution_unit', {
|
|
103
|
+
unitId,
|
|
104
|
+
status: 'idle',
|
|
105
|
+
assigned_strategy_id: null,
|
|
106
|
+
assigned_at: null,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=execution-units.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-units.js","sourceRoot":"","sources":["../../src/queries/execution-units.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory gate result queries.
|
|
3
|
+
*
|
|
4
|
+
* Provides insert and read operations for factory_gate_results table.
|
|
5
|
+
* Gate results are append-only (no updates or deletes).
|
|
6
|
+
* All gate results are attributed to strategies (not work units).
|
|
7
|
+
*/
|
|
8
|
+
import type { FactoryGateResult, GateType } from '../types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Record a gate result for a strategy.
|
|
11
|
+
*/
|
|
12
|
+
export declare function createGateResult(result: {
|
|
13
|
+
strategyId: string;
|
|
14
|
+
instanceId: string;
|
|
15
|
+
gateType: GateType;
|
|
16
|
+
iteration: number;
|
|
17
|
+
passed: boolean;
|
|
18
|
+
checkName: string | null;
|
|
19
|
+
output: string | null;
|
|
20
|
+
durationMs: number | null;
|
|
21
|
+
isAdversaryGenerated?: boolean;
|
|
22
|
+
}): Promise<FactoryGateResult>;
|
|
23
|
+
/**
|
|
24
|
+
* Get all gate results for an instance.
|
|
25
|
+
*/
|
|
26
|
+
export declare function getGateResultsByInstance(instanceId: string): Promise<FactoryGateResult[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Get all accumulated adversary-generated test results for an instance.
|
|
29
|
+
* Used to collect all adversary tests that should be run on subsequent iterations.
|
|
30
|
+
*/
|
|
31
|
+
export declare function getAccumulatedAdversaryTests(instanceId: string): Promise<FactoryGateResult[]>;
|
|
32
|
+
//# sourceMappingURL=gate-results.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gate-results.d.ts","sourceRoot":"","sources":["../../src/queries/gate-results.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM/D;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgB7B;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAM9B;AAED;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAM9B"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory gate result queries.
|
|
3
|
+
*
|
|
4
|
+
* Provides insert and read operations for factory_gate_results table.
|
|
5
|
+
* Gate results are append-only (no updates or deletes).
|
|
6
|
+
* All gate results are attributed to strategies (not work units).
|
|
7
|
+
*/
|
|
8
|
+
import { callApi } from './shared.js';
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
// Query functions
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
/**
|
|
13
|
+
* Record a gate result for a strategy.
|
|
14
|
+
*/
|
|
15
|
+
export async function createGateResult(result) {
|
|
16
|
+
const apiResult = await callApi('factory_create_gate_result', {
|
|
17
|
+
strategyId: result.strategyId,
|
|
18
|
+
instanceId: result.instanceId,
|
|
19
|
+
gateType: result.gateType,
|
|
20
|
+
iteration: result.iteration,
|
|
21
|
+
passed: result.passed,
|
|
22
|
+
checkName: result.checkName,
|
|
23
|
+
output: result.output,
|
|
24
|
+
durationMs: result.durationMs,
|
|
25
|
+
isAdversaryGenerated: result.isAdversaryGenerated ?? false,
|
|
26
|
+
});
|
|
27
|
+
return apiResult.gateResult;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Get all gate results for an instance.
|
|
31
|
+
*/
|
|
32
|
+
export async function getGateResultsByInstance(instanceId) {
|
|
33
|
+
const result = await callApi('factory_get_gate_results', { instanceId });
|
|
34
|
+
return result.gateResults || [];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get all accumulated adversary-generated test results for an instance.
|
|
38
|
+
* Used to collect all adversary tests that should be run on subsequent iterations.
|
|
39
|
+
*/
|
|
40
|
+
export async function getAccumulatedAdversaryTests(instanceId) {
|
|
41
|
+
const result = await callApi('factory_get_accumulated_adversary_tests', { instanceId });
|
|
42
|
+
return result.gateResults || [];
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=gate-results.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gate-results.js","sourceRoot":"","sources":["../../src/queries/gate-results.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAUtC;IACC,MAAM,SAAS,GAAG,MAAM,OAAO,CAC7B,4BAA4B,EAC5B;QACE,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,KAAK;KAC3D,CACF,CAAC;IACF,OAAO,SAAS,CAAC,UAAU,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,UAAkB;IAElB,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,0BAA0B,EAC1B,EAAE,UAAU,EAAE,CACf,CAAC;IACF,OAAO,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,UAAkB;IAElB,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,yCAAyC,EACzC,EAAE,UAAU,EAAE,CACf,CAAC;IACF,OAAO,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory instance queries.
|
|
3
|
+
*
|
|
4
|
+
* Provides CRUD operations for factory_instances table via the product-api edge function.
|
|
5
|
+
*/
|
|
6
|
+
import type { FactoryInstance, FactoryBlueprint, InstanceStatus } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Get pending factory instances for a product.
|
|
9
|
+
*/
|
|
10
|
+
export declare function getPendingInstances(productId: string): Promise<FactoryInstance[]>;
|
|
11
|
+
/**
|
|
12
|
+
* Get active (non-terminal) factory instances for a product.
|
|
13
|
+
*
|
|
14
|
+
* Returns instances in designing, planning, building, or paused status.
|
|
15
|
+
* Used by the poll loop to rediscover instances after daemon restart and
|
|
16
|
+
* by crash recovery to find stuck building instances.
|
|
17
|
+
*/
|
|
18
|
+
export declare function getActiveInstances(productId: string): Promise<FactoryInstance[]>;
|
|
19
|
+
/**
|
|
20
|
+
* Update a factory instance status and optional fields.
|
|
21
|
+
*/
|
|
22
|
+
export declare function updateInstanceStatus(instanceId: string, status: InstanceStatus, fields?: Record<string, unknown>): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Get an instance with its joined blueprint.
|
|
25
|
+
*/
|
|
26
|
+
export declare function getInstanceBlueprint(instanceId: string): Promise<{
|
|
27
|
+
instance: FactoryInstance;
|
|
28
|
+
blueprint: FactoryBlueprint;
|
|
29
|
+
}>;
|
|
30
|
+
/**
|
|
31
|
+
* Fetch the current status of a factory instance from the DB.
|
|
32
|
+
*
|
|
33
|
+
* Used by the pause-check to detect when the UI has resumed an instance.
|
|
34
|
+
*/
|
|
35
|
+
export declare function getInstanceStatus(instanceId: string): Promise<InstanceStatus>;
|
|
36
|
+
/**
|
|
37
|
+
* Update an instance's workflow stage and optionally its status.
|
|
38
|
+
*/
|
|
39
|
+
export declare function updateInstanceWorkflowStage(instanceId: string, currentWorkflowStageId: string | null, status?: InstanceStatus): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Fetch the deployment profile snapshot for a product.
|
|
42
|
+
*
|
|
43
|
+
* Returns null if the product has no linked profile or the snapshot is absent.
|
|
44
|
+
* Non-fatal: callers should handle null gracefully.
|
|
45
|
+
*/
|
|
46
|
+
export declare function getProductDeploymentProfileSnapshot(productId: string): Promise<{
|
|
47
|
+
name: string;
|
|
48
|
+
inceptionPrompt: string | null;
|
|
49
|
+
guidelines: string | null;
|
|
50
|
+
} | null>;
|
|
51
|
+
//# sourceMappingURL=instances.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instances.d.ts","sourceRoot":"","sources":["../../src/queries/instances.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAMrF;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAMvF;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAMtF;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,cAAc,EACtB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACnC,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,QAAQ,EAAE,eAAe,CAAC;IAAC,SAAS,EAAE,gBAAgB,CAAA;CAAE,CAAC,CASrE;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,CAMzB;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,MAAM,EAClB,sBAAsB,EAAE,MAAM,GAAG,IAAI,EACrC,MAAM,CAAC,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;;;GAKG;AACH,wBAAsB,mCAAmC,CACvD,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAAC,CAM7F"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory instance queries.
|
|
3
|
+
*
|
|
4
|
+
* Provides CRUD operations for factory_instances table via the product-api edge function.
|
|
5
|
+
*/
|
|
6
|
+
import { callApi } from './shared.js';
|
|
7
|
+
// ---------------------------------------------------------------------------
|
|
8
|
+
// Query functions
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
/**
|
|
11
|
+
* Get pending factory instances for a product.
|
|
12
|
+
*/
|
|
13
|
+
export async function getPendingInstances(productId) {
|
|
14
|
+
const result = await callApi('factory_get_pending_instances', { productId });
|
|
15
|
+
return result.instances || [];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Get active (non-terminal) factory instances for a product.
|
|
19
|
+
*
|
|
20
|
+
* Returns instances in designing, planning, building, or paused status.
|
|
21
|
+
* Used by the poll loop to rediscover instances after daemon restart and
|
|
22
|
+
* by crash recovery to find stuck building instances.
|
|
23
|
+
*/
|
|
24
|
+
export async function getActiveInstances(productId) {
|
|
25
|
+
const result = await callApi('factory_get_pending_instances', { productId, statuses: ['designing', 'planning', 'building', 'paused'] });
|
|
26
|
+
return result.instances || [];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Update a factory instance status and optional fields.
|
|
30
|
+
*/
|
|
31
|
+
export async function updateInstanceStatus(instanceId, status, fields = {}) {
|
|
32
|
+
await callApi('factory_update_instance_status', {
|
|
33
|
+
instanceId,
|
|
34
|
+
status,
|
|
35
|
+
...fields,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Get an instance with its joined blueprint.
|
|
40
|
+
*/
|
|
41
|
+
export async function getInstanceBlueprint(instanceId) {
|
|
42
|
+
const result = await callApi('factory_get_instance_blueprint', { instanceId });
|
|
43
|
+
return {
|
|
44
|
+
instance: result.instance,
|
|
45
|
+
blueprint: result.blueprint,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Fetch the current status of a factory instance from the DB.
|
|
50
|
+
*
|
|
51
|
+
* Used by the pause-check to detect when the UI has resumed an instance.
|
|
52
|
+
*/
|
|
53
|
+
export async function getInstanceStatus(instanceId) {
|
|
54
|
+
const result = await callApi('factory_instance_get', { instanceId });
|
|
55
|
+
return result.instance.status;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Update an instance's workflow stage and optionally its status.
|
|
59
|
+
*/
|
|
60
|
+
export async function updateInstanceWorkflowStage(instanceId, currentWorkflowStageId, status) {
|
|
61
|
+
await callApi('factory_update_instance_workflow_stage', {
|
|
62
|
+
instanceId,
|
|
63
|
+
currentWorkflowStageId,
|
|
64
|
+
...(status ? { status } : {}),
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Fetch the deployment profile snapshot for a product.
|
|
69
|
+
*
|
|
70
|
+
* Returns null if the product has no linked profile or the snapshot is absent.
|
|
71
|
+
* Non-fatal: callers should handle null gracefully.
|
|
72
|
+
*/
|
|
73
|
+
export async function getProductDeploymentProfileSnapshot(productId) {
|
|
74
|
+
const result = await callApi('get_product_deployment_profile_snapshot', { productId });
|
|
75
|
+
return result.snapshot ?? null;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=instances.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instances.js","sourceRoot":"","sources":["../../src/queries/instances.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,SAAiB;IACzD,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,+BAA+B,EAC/B,EAAE,SAAS,EAAE,CACd,CAAC;IACF,OAAO,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAiB;IACxD,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,+BAA+B,EAC/B,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,CACzE,CAAC;IACF,OAAO,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAAkB,EAClB,MAAsB,EACtB,SAAkC,EAAE;IAEpC,MAAM,OAAO,CAAC,gCAAgC,EAAE;QAC9C,UAAU;QACV,MAAM;QACN,GAAG,MAAM;KACV,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAAkB;IAElB,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,gCAAgC,EAChC,EAAE,UAAU,EAAE,CACf,CAAC;IACF,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAkB;IAElB,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,sBAAsB,EACtB,EAAE,UAAU,EAAE,CACf,CAAC;IACF,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,UAAkB,EAClB,sBAAqC,EACrC,MAAuB;IAEvB,MAAM,OAAO,CAAC,wCAAwC,EAAE;QACtD,UAAU;QACV,sBAAsB;QACtB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACvD,SAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,yCAAyC,EACzC,EAAE,SAAS,EAAE,CACd,CAAC;IACF,OAAO,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory session queries.
|
|
3
|
+
*
|
|
4
|
+
* Provides CRUD operations for factory_sessions table.
|
|
5
|
+
* Tracks builder and adversary AI sessions within factory instances.
|
|
6
|
+
*/
|
|
7
|
+
import type { FactorySession, SessionType, FactorySessionStatus } from '../types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Create a new factory session record.
|
|
10
|
+
*/
|
|
11
|
+
export declare function createFactorySession(session: {
|
|
12
|
+
instanceId: string;
|
|
13
|
+
sessionType: SessionType;
|
|
14
|
+
workUnitId?: string | null;
|
|
15
|
+
executionUnitId?: string | null;
|
|
16
|
+
pid?: number;
|
|
17
|
+
stdoutPath?: string;
|
|
18
|
+
stderrPath?: string;
|
|
19
|
+
}): Promise<FactorySession>;
|
|
20
|
+
/**
|
|
21
|
+
* Update a factory session's status and optional fields.
|
|
22
|
+
*/
|
|
23
|
+
export declare function updateFactorySession(sessionId: string, fields: {
|
|
24
|
+
status?: FactorySessionStatus;
|
|
25
|
+
pid?: number;
|
|
26
|
+
startedAt?: string;
|
|
27
|
+
endedAt?: string;
|
|
28
|
+
tokenCount?: number;
|
|
29
|
+
costEstimate?: number;
|
|
30
|
+
lastNarration?: string;
|
|
31
|
+
lastNarrationAt?: string;
|
|
32
|
+
activitySummary?: Record<string, unknown>;
|
|
33
|
+
commits?: string[];
|
|
34
|
+
filesModified?: string[];
|
|
35
|
+
filesRead?: string[];
|
|
36
|
+
exitReason?: string;
|
|
37
|
+
claudeSessionId?: string;
|
|
38
|
+
}): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Get all active (running) sessions for an instance.
|
|
41
|
+
*/
|
|
42
|
+
export declare function getActiveSessionsForInstance(instanceId: string): Promise<FactorySession[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Get the most recent session for a work unit that has a claude_session_id.
|
|
45
|
+
*
|
|
46
|
+
* Used to resume a builder after the factory instance was paused and resumed.
|
|
47
|
+
* Returns null if no resumable session exists.
|
|
48
|
+
*/
|
|
49
|
+
export declare function getResumableSession(workUnitId: string): Promise<FactorySession | null>;
|
|
50
|
+
//# sourceMappingURL=sessions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/queries/sessions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAMrF;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,cAAc,CAAC,CAc1B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;IACN,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GACA,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,EAAE,CAAC,CAM3B;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAMhC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory session queries.
|
|
3
|
+
*
|
|
4
|
+
* Provides CRUD operations for factory_sessions table.
|
|
5
|
+
* Tracks builder and adversary AI sessions within factory instances.
|
|
6
|
+
*/
|
|
7
|
+
import { callApi } from './shared.js';
|
|
8
|
+
// ---------------------------------------------------------------------------
|
|
9
|
+
// Query functions
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
/**
|
|
12
|
+
* Create a new factory session record.
|
|
13
|
+
*/
|
|
14
|
+
export async function createFactorySession(session) {
|
|
15
|
+
const result = await callApi('factory_create_session', {
|
|
16
|
+
instanceId: session.instanceId,
|
|
17
|
+
sessionType: session.sessionType,
|
|
18
|
+
workUnitId: session.workUnitId ?? null,
|
|
19
|
+
executionUnitId: session.executionUnitId ?? null,
|
|
20
|
+
pid: session.pid,
|
|
21
|
+
stdoutPath: session.stdoutPath,
|
|
22
|
+
stderrPath: session.stderrPath,
|
|
23
|
+
});
|
|
24
|
+
return result.session;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Update a factory session's status and optional fields.
|
|
28
|
+
*/
|
|
29
|
+
export async function updateFactorySession(sessionId, fields) {
|
|
30
|
+
const apiFields = {};
|
|
31
|
+
if (fields.status !== undefined)
|
|
32
|
+
apiFields.status = fields.status;
|
|
33
|
+
if (fields.pid !== undefined)
|
|
34
|
+
apiFields.pid = fields.pid;
|
|
35
|
+
if (fields.startedAt !== undefined)
|
|
36
|
+
apiFields.started_at = fields.startedAt;
|
|
37
|
+
if (fields.endedAt !== undefined)
|
|
38
|
+
apiFields.ended_at = fields.endedAt;
|
|
39
|
+
if (fields.tokenCount !== undefined)
|
|
40
|
+
apiFields.token_count = fields.tokenCount;
|
|
41
|
+
if (fields.costEstimate !== undefined)
|
|
42
|
+
apiFields.cost_estimate = fields.costEstimate;
|
|
43
|
+
if (fields.lastNarration !== undefined)
|
|
44
|
+
apiFields.last_narration = fields.lastNarration;
|
|
45
|
+
if (fields.lastNarrationAt !== undefined)
|
|
46
|
+
apiFields.last_narration_at = fields.lastNarrationAt;
|
|
47
|
+
if (fields.activitySummary !== undefined)
|
|
48
|
+
apiFields.activity_summary = fields.activitySummary;
|
|
49
|
+
if (fields.commits !== undefined)
|
|
50
|
+
apiFields.commits = fields.commits;
|
|
51
|
+
if (fields.filesModified !== undefined)
|
|
52
|
+
apiFields.files_modified = fields.filesModified;
|
|
53
|
+
if (fields.filesRead !== undefined)
|
|
54
|
+
apiFields.files_read = fields.filesRead;
|
|
55
|
+
if (fields.exitReason !== undefined)
|
|
56
|
+
apiFields.exit_reason = fields.exitReason;
|
|
57
|
+
if (fields.claudeSessionId !== undefined)
|
|
58
|
+
apiFields.claude_session_id = fields.claudeSessionId;
|
|
59
|
+
await callApi('factory_update_session', {
|
|
60
|
+
sessionId,
|
|
61
|
+
...apiFields,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Get all active (running) sessions for an instance.
|
|
66
|
+
*/
|
|
67
|
+
export async function getActiveSessionsForInstance(instanceId) {
|
|
68
|
+
const result = await callApi('factory_get_active_sessions', { instanceId });
|
|
69
|
+
return result.sessions || [];
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Get the most recent session for a work unit that has a claude_session_id.
|
|
73
|
+
*
|
|
74
|
+
* Used to resume a builder after the factory instance was paused and resumed.
|
|
75
|
+
* Returns null if no resumable session exists.
|
|
76
|
+
*/
|
|
77
|
+
export async function getResumableSession(workUnitId) {
|
|
78
|
+
const result = await callApi('factory_get_resumable_session', { workUnitId });
|
|
79
|
+
return result.session ?? null;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=sessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/queries/sessions.ts"],"names":[],"mappings":"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"}
|