@telora/daemon 0.17.33 → 0.17.40
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/build-info.json +5 -3
- package/dist/assembly-engine.d.ts +6 -0
- package/dist/assembly-engine.d.ts.map +1 -1
- package/dist/assembly-engine.js +19 -0
- package/dist/assembly-engine.js.map +1 -1
- package/dist/assembly-resolvers.d.ts +17 -8
- package/dist/assembly-resolvers.d.ts.map +1 -1
- package/dist/assembly-resolvers.js +19 -8
- package/dist/assembly-resolvers.js.map +1 -1
- package/dist/cli/connect.d.ts.map +1 -1
- package/dist/cli/connect.js +4 -0
- package/dist/cli/connect.js.map +1 -1
- package/dist/cli/session-state.d.ts +10 -0
- package/dist/cli/session-state.d.ts.map +1 -1
- package/dist/cli/session-state.js +31 -0
- package/dist/cli/session-state.js.map +1 -1
- package/dist/completion/completion-decision.d.ts +83 -0
- package/dist/completion/completion-decision.d.ts.map +1 -0
- package/dist/completion/completion-decision.js +48 -0
- package/dist/completion/completion-decision.js.map +1 -0
- package/dist/completion/event-escalations.d.ts +97 -0
- package/dist/completion/event-escalations.d.ts.map +1 -0
- package/dist/completion/event-escalations.js +213 -0
- package/dist/completion/event-escalations.js.map +1 -0
- package/dist/completion/event.d.ts +1 -72
- package/dist/completion/event.d.ts.map +1 -1
- package/dist/completion/event.js +149 -329
- package/dist/completion/event.js.map +1 -1
- package/dist/completion/exit-classification.d.ts +82 -0
- package/dist/completion/exit-classification.d.ts.map +1 -0
- package/dist/completion/exit-classification.js +61 -0
- package/dist/completion/exit-classification.js.map +1 -0
- package/dist/completion/index.d.ts +14 -5
- package/dist/completion/index.d.ts.map +1 -1
- package/dist/completion/index.js +14 -5
- package/dist/completion/index.js.map +1 -1
- package/dist/completion/merge-phase.d.ts +114 -0
- package/dist/completion/merge-phase.d.ts.map +1 -0
- package/dist/completion/merge-phase.js +198 -0
- package/dist/completion/merge-phase.js.map +1 -0
- package/dist/completion/review-exit-phase.d.ts +82 -0
- package/dist/completion/review-exit-phase.d.ts.map +1 -0
- package/dist/completion/review-exit-phase.js +228 -0
- package/dist/completion/review-exit-phase.js.map +1 -0
- package/dist/completion/status-advance-phase.d.ts +61 -0
- package/dist/completion/status-advance-phase.d.ts.map +1 -0
- package/dist/completion/status-advance-phase.js +182 -0
- package/dist/completion/status-advance-phase.js.map +1 -0
- package/dist/completion/team-completion.d.ts +28 -269
- package/dist/completion/team-completion.d.ts.map +1 -1
- package/dist/completion/team-completion.js +145 -676
- package/dist/completion/team-completion.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +70 -41
- package/dist/config.js.map +1 -1
- package/dist/daemon-process.d.ts +18 -2
- package/dist/daemon-process.d.ts.map +1 -1
- package/dist/daemon-process.js +15 -2
- package/dist/daemon-process.js.map +1 -1
- package/dist/directive/close-loop-stage.d.ts +50 -0
- package/dist/directive/close-loop-stage.d.ts.map +1 -0
- package/dist/directive/close-loop-stage.js +196 -0
- package/dist/directive/close-loop-stage.js.map +1 -0
- package/dist/directive/directive-assembly.d.ts +33 -0
- package/dist/directive/directive-assembly.d.ts.map +1 -0
- package/dist/directive/directive-assembly.js +77 -0
- package/dist/directive/directive-assembly.js.map +1 -0
- package/dist/directive/directive-dispatch.d.ts +103 -0
- package/dist/directive/directive-dispatch.d.ts.map +1 -0
- package/dist/directive/directive-dispatch.js +279 -0
- package/dist/directive/directive-dispatch.js.map +1 -0
- package/dist/directive/phase-sync.d.ts +89 -0
- package/dist/directive/phase-sync.d.ts.map +1 -0
- package/dist/directive/phase-sync.js +173 -0
- package/dist/directive/phase-sync.js.map +1 -0
- package/dist/directive-executor.d.ts +21 -223
- package/dist/directive-executor.d.ts.map +1 -1
- package/dist/directive-executor.js +28 -687
- package/dist/directive-executor.js.map +1 -1
- package/dist/focus-engine.d.ts.map +1 -1
- package/dist/focus-engine.js +16 -10
- package/dist/focus-engine.js.map +1 -1
- package/dist/focus-executor.d.ts +29 -8
- package/dist/focus-executor.d.ts.map +1 -1
- package/dist/focus-executor.js +29 -10
- package/dist/focus-executor.js.map +1 -1
- package/dist/focus-stage-lifecycle.d.ts +7 -5
- package/dist/focus-stage-lifecycle.d.ts.map +1 -1
- package/dist/focus-stage-lifecycle.js +11 -6
- package/dist/focus-stage-lifecycle.js.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/merge-back-loop.d.ts.map +1 -1
- package/dist/merge-back-loop.js +4 -10
- package/dist/merge-back-loop.js.map +1 -1
- package/dist/pipeline-config.d.ts +13 -0
- package/dist/pipeline-config.d.ts.map +1 -1
- package/dist/pipeline-config.js +15 -0
- package/dist/pipeline-config.js.map +1 -1
- package/dist/resolvers/agent-escalations.d.ts +8 -1
- package/dist/resolvers/agent-escalations.d.ts.map +1 -1
- package/dist/resolvers/agent-escalations.js +25 -22
- package/dist/resolvers/agent-escalations.js.map +1 -1
- package/dist/resolvers/agent-session-summaries.d.ts +8 -1
- package/dist/resolvers/agent-session-summaries.d.ts.map +1 -1
- package/dist/resolvers/agent-session-summaries.js +21 -18
- package/dist/resolvers/agent-session-summaries.js.map +1 -1
- package/dist/resolvers/delivery-acceptance-criteria.d.ts +7 -1
- package/dist/resolvers/delivery-acceptance-criteria.d.ts.map +1 -1
- package/dist/resolvers/delivery-acceptance-criteria.js +14 -11
- package/dist/resolvers/delivery-acceptance-criteria.js.map +1 -1
- package/dist/resolvers/delivery-description.d.ts +7 -1
- package/dist/resolvers/delivery-description.d.ts.map +1 -1
- package/dist/resolvers/delivery-description.js +14 -11
- package/dist/resolvers/delivery-description.js.map +1 -1
- package/dist/resolvers/delivery-issues.d.ts +8 -1
- package/dist/resolvers/delivery-issues.d.ts.map +1 -1
- package/dist/resolvers/delivery-issues.js +51 -48
- package/dist/resolvers/delivery-issues.js.map +1 -1
- package/dist/resolvers/delivery-listing.d.ts +16 -1
- package/dist/resolvers/delivery-listing.d.ts.map +1 -1
- package/dist/resolvers/delivery-listing.js +36 -33
- package/dist/resolvers/delivery-listing.js.map +1 -1
- package/dist/resolvers/delivery-tech-context.d.ts +7 -1
- package/dist/resolvers/delivery-tech-context.d.ts.map +1 -1
- package/dist/resolvers/delivery-tech-context.js +14 -11
- package/dist/resolvers/delivery-tech-context.js.map +1 -1
- package/dist/resolvers/deployment-profile.d.ts +8 -1
- package/dist/resolvers/deployment-profile.d.ts.map +1 -1
- package/dist/resolvers/deployment-profile.js +20 -17
- package/dist/resolvers/deployment-profile.js.map +1 -1
- package/dist/resolvers/focus-anchoring-injections.d.ts +26 -1
- package/dist/resolvers/focus-anchoring-injections.d.ts.map +1 -1
- package/dist/resolvers/focus-anchoring-injections.js +91 -88
- package/dist/resolvers/focus-anchoring-injections.js.map +1 -1
- package/dist/resolvers/focus-context.d.ts +9 -1
- package/dist/resolvers/focus-context.d.ts.map +1 -1
- package/dist/resolvers/focus-context.js +38 -35
- package/dist/resolvers/focus-context.js.map +1 -1
- package/dist/resolvers/focus-injections.d.ts +13 -1
- package/dist/resolvers/focus-injections.d.ts.map +1 -1
- package/dist/resolvers/focus-injections.js +60 -57
- package/dist/resolvers/focus-injections.js.map +1 -1
- package/dist/resolvers/focus-last-review-report.d.ts +2 -1
- package/dist/resolvers/focus-last-review-report.d.ts.map +1 -1
- package/dist/resolvers/focus-last-review-report.js +33 -30
- package/dist/resolvers/focus-last-review-report.js.map +1 -1
- package/dist/resolvers/focus-reality-tree.d.ts +15 -1
- package/dist/resolvers/focus-reality-tree.d.ts.map +1 -1
- package/dist/resolvers/focus-reality-tree.js +35 -32
- package/dist/resolvers/focus-reality-tree.js.map +1 -1
- package/dist/resolvers/git-diff-against-base.d.ts +8 -1
- package/dist/resolvers/git-diff-against-base.d.ts.map +1 -1
- package/dist/resolvers/git-diff-against-base.js +33 -30
- package/dist/resolvers/git-diff-against-base.js.map +1 -1
- package/dist/resolvers/guards-evaluation-results.d.ts +7 -1
- package/dist/resolvers/guards-evaluation-results.d.ts.map +1 -1
- package/dist/resolvers/guards-evaluation-results.js +25 -22
- package/dist/resolvers/guards-evaluation-results.js.map +1 -1
- package/dist/resolvers/index.d.ts +22 -40
- package/dist/resolvers/index.d.ts.map +1 -1
- package/dist/resolvers/index.js +112 -41
- package/dist/resolvers/index.js.map +1 -1
- package/dist/resolvers/loop-context.d.ts +18 -1
- package/dist/resolvers/loop-context.d.ts.map +1 -1
- package/dist/resolvers/loop-context.js +21 -18
- package/dist/resolvers/loop-context.js.map +1 -1
- package/dist/resolvers/loop-delivery-index.d.ts +17 -1
- package/dist/resolvers/loop-delivery-index.d.ts.map +1 -1
- package/dist/resolvers/loop-delivery-index.js +51 -48
- package/dist/resolvers/loop-delivery-index.js.map +1 -1
- package/dist/resolvers/loop-documents.d.ts +9 -1
- package/dist/resolvers/loop-documents.d.ts.map +1 -1
- package/dist/resolvers/loop-documents.js +22 -19
- package/dist/resolvers/loop-documents.js.map +1 -1
- package/dist/resolvers/loop-expected-effects.d.ts +11 -1
- package/dist/resolvers/loop-expected-effects.d.ts.map +1 -1
- package/dist/resolvers/loop-expected-effects.js +53 -50
- package/dist/resolvers/loop-expected-effects.js.map +1 -1
- package/dist/resolvers/loop-frt-statement.d.ts +11 -1
- package/dist/resolvers/loop-frt-statement.d.ts.map +1 -1
- package/dist/resolvers/loop-frt-statement.js +28 -25
- package/dist/resolvers/loop-frt-statement.js.map +1 -1
- package/dist/resolvers/loop-injection.d.ts +10 -1
- package/dist/resolvers/loop-injection.d.ts.map +1 -1
- package/dist/resolvers/loop-injection.js +38 -35
- package/dist/resolvers/loop-injection.js.map +1 -1
- package/dist/resolvers/loop-persona.d.ts +20 -1
- package/dist/resolvers/loop-persona.d.ts.map +1 -1
- package/dist/resolvers/loop-persona.js +20 -17
- package/dist/resolvers/loop-persona.js.map +1 -1
- package/dist/resolvers/loop-questions.d.ts +8 -1
- package/dist/resolvers/loop-questions.d.ts.map +1 -1
- package/dist/resolvers/loop-questions.js +39 -36
- package/dist/resolvers/loop-questions.js.map +1 -1
- package/dist/resolvers/loop-upstream-udes.d.ts +11 -1
- package/dist/resolvers/loop-upstream-udes.d.ts.map +1 -1
- package/dist/resolvers/loop-upstream-udes.js +74 -71
- package/dist/resolvers/loop-upstream-udes.js.map +1 -1
- package/dist/resolvers/prd-context.d.ts +2 -0
- package/dist/resolvers/prd-context.d.ts.map +1 -1
- package/dist/resolvers/prd-context.js +16 -13
- package/dist/resolvers/prd-context.js.map +1 -1
- package/dist/resolvers/prd-persona.d.ts +2 -0
- package/dist/resolvers/prd-persona.d.ts.map +1 -1
- package/dist/resolvers/prd-persona.js +6 -3
- package/dist/resolvers/prd-persona.js.map +1 -1
- package/dist/resolvers/reality-metrics.d.ts +8 -1
- package/dist/resolvers/reality-metrics.d.ts.map +1 -1
- package/dist/resolvers/reality-metrics.js +73 -70
- package/dist/resolvers/reality-metrics.js.map +1 -1
- package/dist/resolvers/reality-projections.d.ts +7 -1
- package/dist/resolvers/reality-projections.d.ts.map +1 -1
- package/dist/resolvers/reality-projections.js +35 -32
- package/dist/resolvers/reality-projections.js.map +1 -1
- package/dist/resolvers/reality-tree-snapshot.d.ts +10 -1
- package/dist/resolvers/reality-tree-snapshot.d.ts.map +1 -1
- package/dist/resolvers/reality-tree-snapshot.js +34 -31
- package/dist/resolvers/reality-tree-snapshot.js.map +1 -1
- package/dist/resolvers/retired-injections.d.ts +10 -1
- package/dist/resolvers/retired-injections.d.ts.map +1 -1
- package/dist/resolvers/retired-injections.js +68 -65
- package/dist/resolvers/retired-injections.js.map +1 -1
- package/dist/resolvers/review-outcomes.d.ts +11 -1
- package/dist/resolvers/review-outcomes.d.ts.map +1 -1
- package/dist/resolvers/review-outcomes.js +27 -24
- package/dist/resolvers/review-outcomes.js.map +1 -1
- package/dist/resolvers/security-advisory.d.ts +2 -1
- package/dist/resolvers/security-advisory.d.ts.map +1 -1
- package/dist/resolvers/security-advisory.js +47 -44
- package/dist/resolvers/security-advisory.js.map +1 -1
- package/dist/resolvers/wiki-search.d.ts +8 -1
- package/dist/resolvers/wiki-search.d.ts.map +1 -1
- package/dist/resolvers/wiki-search.js +17 -14
- package/dist/resolvers/wiki-search.js.map +1 -1
- package/dist/resolvers/wiki-topic.d.ts +9 -1
- package/dist/resolvers/wiki-topic.d.ts.map +1 -1
- package/dist/resolvers/wiki-topic.js +21 -18
- package/dist/resolvers/wiki-topic.js.map +1 -1
- package/dist/resolvers/workflow-stages.d.ts +7 -1
- package/dist/resolvers/workflow-stages.d.ts.map +1 -1
- package/dist/resolvers/workflow-stages.js +20 -17
- package/dist/resolvers/workflow-stages.js.map +1 -1
- package/dist/review-defect-detector.d.ts +4 -1
- package/dist/review-defect-detector.d.ts.map +1 -1
- package/dist/review-defect-detector.js +6 -8
- package/dist/review-defect-detector.js.map +1 -1
- package/dist/self-update.d.ts +6 -0
- package/dist/self-update.d.ts.map +1 -1
- package/dist/self-update.js +6 -1
- package/dist/self-update.js.map +1 -1
- package/dist/spawner/index.d.ts +2 -1
- package/dist/spawner/index.d.ts.map +1 -1
- package/dist/spawner/index.js +2 -1
- package/dist/spawner/index.js.map +1 -1
- package/dist/spawner/spawn-team.d.ts +14 -52
- package/dist/spawner/spawn-team.d.ts.map +1 -1
- package/dist/spawner/spawn-team.js +14 -469
- package/dist/spawner/spawn-team.js.map +1 -1
- package/dist/staleness.d.ts +124 -0
- package/dist/staleness.d.ts.map +1 -0
- package/dist/staleness.js +215 -0
- package/dist/staleness.js.map +1 -0
- package/dist/state-cascade.d.ts +3 -2
- package/dist/state-cascade.d.ts.map +1 -1
- package/dist/state-cascade.js +7 -3
- package/dist/state-cascade.js.map +1 -1
- package/dist/types/focus.d.ts +5 -4
- package/dist/types/focus.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +0 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/session.d.ts +2 -3
- package/dist/types/session.d.ts.map +1 -1
- package/dist/unified-engine-lifecycle.d.ts.map +1 -1
- package/dist/unified-engine-lifecycle.js +2 -23
- package/dist/unified-engine-lifecycle.js.map +1 -1
- package/dist/unified-shell-config.d.ts +2 -7
- package/dist/unified-shell-config.d.ts.map +1 -1
- package/dist/unified-shell-config.js +2 -23
- package/dist/unified-shell-config.js.map +1 -1
- package/dist/unified-shell-status.d.ts.map +1 -1
- package/dist/unified-shell-status.js +2 -4
- package/dist/unified-shell-status.js.map +1 -1
- package/dist/unified-shell.d.ts.map +1 -1
- package/dist/unified-shell.js +21 -24
- package/dist/unified-shell.js.map +1 -1
- package/dist/version-check.d.ts.map +1 -1
- package/dist/version-check.js +6 -4
- package/dist/version-check.js.map +1 -1
- package/package.json +3 -3
- package/dist/pm/adaptive-poller.d.ts +0 -26
- package/dist/pm/adaptive-poller.d.ts.map +0 -1
- package/dist/pm/adaptive-poller.js +0 -53
- package/dist/pm/adaptive-poller.js.map +0 -1
- package/dist/pm/cascade-evaluator.d.ts +0 -29
- package/dist/pm/cascade-evaluator.d.ts.map +0 -1
- package/dist/pm/cascade-evaluator.js +0 -135
- package/dist/pm/cascade-evaluator.js.map +0 -1
- package/dist/pm/channel-email.d.ts +0 -42
- package/dist/pm/channel-email.d.ts.map +0 -1
- package/dist/pm/channel-email.js +0 -47
- package/dist/pm/channel-email.js.map +0 -1
- package/dist/pm/channel-slack.d.ts +0 -40
- package/dist/pm/channel-slack.d.ts.map +0 -1
- package/dist/pm/channel-slack.js +0 -46
- package/dist/pm/channel-slack.js.map +0 -1
- package/dist/pm/communication-drafter.d.ts +0 -44
- package/dist/pm/communication-drafter.d.ts.map +0 -1
- package/dist/pm/communication-drafter.js +0 -84
- package/dist/pm/communication-drafter.js.map +0 -1
- package/dist/pm/dialog-handler.d.ts +0 -32
- package/dist/pm/dialog-handler.d.ts.map +0 -1
- package/dist/pm/dialog-handler.js +0 -107
- package/dist/pm/dialog-handler.js.map +0 -1
- package/dist/pm/mitigation-correlator.d.ts +0 -29
- package/dist/pm/mitigation-correlator.d.ts.map +0 -1
- package/dist/pm/mitigation-correlator.js +0 -147
- package/dist/pm/mitigation-correlator.js.map +0 -1
- package/dist/pm/risk-scanner.d.ts +0 -28
- package/dist/pm/risk-scanner.d.ts.map +0 -1
- package/dist/pm/risk-scanner.js +0 -112
- package/dist/pm/risk-scanner.js.map +0 -1
- package/dist/pm-engine.d.ts +0 -96
- package/dist/pm-engine.d.ts.map +0 -1
- package/dist/pm-engine.js +0 -540
- package/dist/pm-engine.js.map +0 -1
- package/dist/pm-process.d.ts +0 -45
- package/dist/pm-process.d.ts.map +0 -1
- package/dist/pm-process.js +0 -195
- package/dist/pm-process.js.map +0 -1
- package/dist/pm-prompt-builder.d.ts +0 -23
- package/dist/pm-prompt-builder.d.ts.map +0 -1
- package/dist/pm-prompt-builder.js +0 -64
- package/dist/pm-prompt-builder.js.map +0 -1
- package/dist/session-lifecycle.d.ts +0 -78
- package/dist/session-lifecycle.d.ts.map +0 -1
- package/dist/session-lifecycle.js +0 -382
- package/dist/session-lifecycle.js.map +0 -1
- package/dist/types/pm.d.ts +0 -53
- package/dist/types/pm.d.ts.map +0 -1
- package/dist/types/pm.js +0 -10
- package/dist/types/pm.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"risk-scanner.d.ts","sourceRoot":"","sources":["../../src/pm/risk-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,eAAe,GAAG,UAAU,GAAG,eAAe,CAAC;IACvD,OAAO,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CACpC;AAgCD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAgG/B"}
|
package/dist/pm/risk-scanner.js
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Risk dependency scanner -- core poll logic for the PM engine.
|
|
3
|
-
*
|
|
4
|
-
* Queries risk_dependencies for items needing follow-up or escalation,
|
|
5
|
-
* then produces prioritized RiskFollowupAction items that the PM engine
|
|
6
|
-
* can act on (log, notify, or surface to the UI).
|
|
7
|
-
*/
|
|
8
|
-
import { callApi } from '../queries/shared.js';
|
|
9
|
-
// ---------------------------------------------------------------------------
|
|
10
|
-
// Public API
|
|
11
|
-
// ---------------------------------------------------------------------------
|
|
12
|
-
/**
|
|
13
|
-
* Scan all risk dependencies for a product and return prioritized follow-up actions.
|
|
14
|
-
*
|
|
15
|
-
* Queries all non-resolved dependencies, then evaluates each against the
|
|
16
|
-
* urgency and action rules to produce a sorted list of recommended actions.
|
|
17
|
-
*/
|
|
18
|
-
export async function scanRiskDependencies(productId) {
|
|
19
|
-
// 1. Get all risks for the product
|
|
20
|
-
const risksResponse = await callApi('risk_list', {
|
|
21
|
-
productId,
|
|
22
|
-
limit: 500,
|
|
23
|
-
offset: 0,
|
|
24
|
-
});
|
|
25
|
-
const risks = risksResponse.risks;
|
|
26
|
-
if (risks.length === 0)
|
|
27
|
-
return [];
|
|
28
|
-
// Build risk lookup
|
|
29
|
-
const riskMap = new Map();
|
|
30
|
-
for (const risk of risks) {
|
|
31
|
-
riskMap.set(risk.id, { id: risk.id, title: risk.title });
|
|
32
|
-
}
|
|
33
|
-
// 2. Get all dependencies for each risk (batch by risk)
|
|
34
|
-
const actions = [];
|
|
35
|
-
const now = Date.now();
|
|
36
|
-
const oneDayFromNow = now + 24 * 60 * 60 * 1000;
|
|
37
|
-
for (const risk of risks) {
|
|
38
|
-
let deps;
|
|
39
|
-
try {
|
|
40
|
-
deps = await callApi('risk_dependency_list', {
|
|
41
|
-
riskId: risk.id,
|
|
42
|
-
limit: 500,
|
|
43
|
-
offset: 0,
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
catch {
|
|
47
|
-
// Non-fatal: skip this risk if dependency query fails
|
|
48
|
-
console.log(`[PM] Failed to fetch dependencies for risk ${risk.id}, skipping`);
|
|
49
|
-
continue;
|
|
50
|
-
}
|
|
51
|
-
for (const dep of deps.dependencies) {
|
|
52
|
-
// Skip resolved/wont_fix dependencies
|
|
53
|
-
if (dep.status === 'resolved' || dep.status === 'wont_fix') {
|
|
54
|
-
continue;
|
|
55
|
-
}
|
|
56
|
-
const followupTime = dep.next_followup_at ? new Date(dep.next_followup_at).getTime() : null;
|
|
57
|
-
const isPastDue = followupTime !== null && followupTime <= now;
|
|
58
|
-
const isWithin24h = followupTime !== null && followupTime <= oneDayFromNow && followupTime > now;
|
|
59
|
-
const neverContacted = dep.last_contact_at === null;
|
|
60
|
-
// Determine action
|
|
61
|
-
let action;
|
|
62
|
-
if (dep.status === 'in_progress' && isPastDue) {
|
|
63
|
-
action = 'escalate';
|
|
64
|
-
}
|
|
65
|
-
else if (dep.status === 'waiting' && (isPastDue || neverContacted)) {
|
|
66
|
-
action = 'send_followup';
|
|
67
|
-
}
|
|
68
|
-
else if (dep.status === 'waiting' && isWithin24h) {
|
|
69
|
-
action = 'send_followup';
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
// No action needed for this dependency right now
|
|
73
|
-
continue;
|
|
74
|
-
}
|
|
75
|
-
// Determine urgency
|
|
76
|
-
let urgency;
|
|
77
|
-
if (isPastDue) {
|
|
78
|
-
urgency = 'high';
|
|
79
|
-
}
|
|
80
|
-
else if (isWithin24h) {
|
|
81
|
-
urgency = 'medium';
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
urgency = 'low';
|
|
85
|
-
}
|
|
86
|
-
actions.push({
|
|
87
|
-
riskId: risk.id,
|
|
88
|
-
riskTitle: risk.title,
|
|
89
|
-
dependencyId: dep.id,
|
|
90
|
-
dependencyTitle: dep.title,
|
|
91
|
-
ownerName: dep.owner_name,
|
|
92
|
-
ownerContact: dep.owner_contact,
|
|
93
|
-
status: dep.status,
|
|
94
|
-
nextFollowupAt: dep.next_followup_at,
|
|
95
|
-
lastContactAt: dep.last_contact_at,
|
|
96
|
-
action,
|
|
97
|
-
urgency,
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
// Sort by urgency (high first), then by action priority (escalate > send_followup > update_status)
|
|
102
|
-
const urgencyOrder = { high: 0, medium: 1, low: 2 };
|
|
103
|
-
const actionOrder = { escalate: 0, send_followup: 1, update_status: 2 };
|
|
104
|
-
actions.sort((a, b) => {
|
|
105
|
-
const urgDiff = (urgencyOrder[a.urgency] ?? 3) - (urgencyOrder[b.urgency] ?? 3);
|
|
106
|
-
if (urgDiff !== 0)
|
|
107
|
-
return urgDiff;
|
|
108
|
-
return (actionOrder[a.action] ?? 3) - (actionOrder[b.action] ?? 3);
|
|
109
|
-
});
|
|
110
|
-
return actions;
|
|
111
|
-
}
|
|
112
|
-
//# sourceMappingURL=risk-scanner.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"risk-scanner.js","sourceRoot":"","sources":["../../src/pm/risk-scanner.ts"],"names":[],"mappings":"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"}
|
package/dist/pm-engine.d.ts
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PMEngine -- ExecutionEngine adapter for the PM (Project Manager) engine.
|
|
3
|
-
*
|
|
4
|
-
* The PM engine now serves dual roles:
|
|
5
|
-
* 1. Process supervision: Spawns a persistent Claude Code session per product
|
|
6
|
-
* that runs /loop for its PM cycle (report generation, inbox, action plan).
|
|
7
|
-
* 2. Risk monitoring: Polls risk states and dependencies (unchanged from before).
|
|
8
|
-
*
|
|
9
|
-
* Lifecycle (called by the process shell):
|
|
10
|
-
* 1. init(config) -- validate config, initialize API client
|
|
11
|
-
* 2. recoverFromCrash() -- detect orphaned PM sessions, restart
|
|
12
|
-
* 3. start() -- spawn PM processes, begin risk poll loop
|
|
13
|
-
* 4. stop() -- clear intervals, set shutting-down flag
|
|
14
|
-
* 5. shutdown() -- terminate PM processes gracefully
|
|
15
|
-
*/
|
|
16
|
-
import type { ExecutionEngine, EngineHealth, ResourceUsage, BaseConfig, ResourceGovernor } from '@telora/daemon-core';
|
|
17
|
-
export declare class PMEngine implements ExecutionEngine {
|
|
18
|
-
readonly name = "pm";
|
|
19
|
-
/** Daemon config, set during init(). */
|
|
20
|
-
private config;
|
|
21
|
-
/** Resource governor for slot management. */
|
|
22
|
-
private governor;
|
|
23
|
-
/** PM process-specific configuration. */
|
|
24
|
-
private pmProcessConfig;
|
|
25
|
-
/** Poll cadence configuration (for risk monitoring). */
|
|
26
|
-
private pollCadence;
|
|
27
|
-
/** Active poll timeout handle (for adaptive interval). */
|
|
28
|
-
private pollTimeout;
|
|
29
|
-
/** Session status poll interval handle. */
|
|
30
|
-
private sessionPollInterval;
|
|
31
|
-
/** Pending restart timeouts (for backoff). */
|
|
32
|
-
private restartTimeouts;
|
|
33
|
-
/** Whether the engine is shutting down. */
|
|
34
|
-
private shuttingDown;
|
|
35
|
-
/** Count of active (non-resolved, non-draft) risks from last scan. */
|
|
36
|
-
private activeRiskCount;
|
|
37
|
-
/** Last poll timestamp for health reporting. */
|
|
38
|
-
private lastPollAt;
|
|
39
|
-
/** Last set of risk stages seen (for adaptive polling). */
|
|
40
|
-
private lastRiskStages;
|
|
41
|
-
/** Total follow-up actions from last scan. */
|
|
42
|
-
private lastFollowupActionCount;
|
|
43
|
-
/** Mitigation assessment summary from last scan. */
|
|
44
|
-
private lastMitigationSummary;
|
|
45
|
-
setGovernor(gov: ResourceGovernor): void;
|
|
46
|
-
init(config: BaseConfig & Record<string, unknown>): Promise<void>;
|
|
47
|
-
recoverFromCrash(): Promise<void>;
|
|
48
|
-
start(): Promise<void>;
|
|
49
|
-
stop(): void;
|
|
50
|
-
shutdown(): Promise<void>;
|
|
51
|
-
healthCheck(): EngineHealth;
|
|
52
|
-
getResourceUsage(): ResourceUsage;
|
|
53
|
-
/**
|
|
54
|
-
* Poll pm_sessions.status for each product and spawn/terminate PM processes
|
|
55
|
-
* accordingly. This allows runtime control of the PM agent via UI toggle
|
|
56
|
-
* or MCP tool without requiring a daemon restart.
|
|
57
|
-
*
|
|
58
|
-
* - status=active && no process running → spawn
|
|
59
|
-
* - status=stopped/paused && process running → terminate
|
|
60
|
-
* - no session → no action (user hasn't started PM yet)
|
|
61
|
-
*/
|
|
62
|
-
private pollSessionStatuses;
|
|
63
|
-
/**
|
|
64
|
-
* Set up monitoring for a PM process. When it exits, attempt restart
|
|
65
|
-
* with exponential backoff. Also triggers a health restart when the
|
|
66
|
-
* process exceeds maxSessionAgeMs.
|
|
67
|
-
*/
|
|
68
|
-
private setupProcessMonitor;
|
|
69
|
-
/**
|
|
70
|
-
* Handle PM process exit -- check session status before scheduling restart.
|
|
71
|
-
* Only restarts if the session is still active. If stopped/paused, the
|
|
72
|
-
* exit is intentional and no restart is scheduled.
|
|
73
|
-
*/
|
|
74
|
-
private handleProcessExit;
|
|
75
|
-
/** Restart count tracking (simple in-memory map). */
|
|
76
|
-
private restartCounts;
|
|
77
|
-
private getRestartCount;
|
|
78
|
-
private incrementRestartCount;
|
|
79
|
-
/**
|
|
80
|
-
* Run a single poll cycle: scan dependencies, correlate mitigation, log results.
|
|
81
|
-
*/
|
|
82
|
-
private runPollCycle;
|
|
83
|
-
/**
|
|
84
|
-
* Poll a single product for risk states and follow-up actions.
|
|
85
|
-
*/
|
|
86
|
-
private pollProduct;
|
|
87
|
-
/**
|
|
88
|
-
* Create communication drafts for high-urgency follow-up actions.
|
|
89
|
-
*/
|
|
90
|
-
private createFollowupDrafts;
|
|
91
|
-
/**
|
|
92
|
-
* Schedule the next poll cycle using the adaptive interval based on current risk stages.
|
|
93
|
-
*/
|
|
94
|
-
private scheduleNextPoll;
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=pm-engine.d.ts.map
|
package/dist/pm-engine.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pm-engine.d.ts","sourceRoot":"","sources":["../src/pm-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AA0D7B,qBAAa,QAAS,YAAW,eAAe;IAC9C,QAAQ,CAAC,IAAI,QAAQ;IAErB,wCAAwC;IACxC,OAAO,CAAC,MAAM,CAA6B;IAE3C,6CAA6C;IAC7C,OAAO,CAAC,QAAQ,CAAiC;IAEjD,yCAAyC;IACzC,OAAO,CAAC,eAAe,CAA8C;IAErE,wDAAwD;IACxD,OAAO,CAAC,WAAW,CAA2C;IAE9D,0DAA0D;IAC1D,OAAO,CAAC,WAAW,CAA8C;IAEjE,2CAA2C;IAC3C,OAAO,CAAC,mBAAmB,CAA+C;IAE1E,8CAA8C;IAC9C,OAAO,CAAC,eAAe,CAAoD;IAE3E,2CAA2C;IAC3C,OAAO,CAAC,YAAY,CAAS;IAE7B,sEAAsE;IACtE,OAAO,CAAC,eAAe,CAAK;IAE5B,gDAAgD;IAChD,OAAO,CAAC,UAAU,CAAqB;IAEvC,2DAA2D;IAC3D,OAAO,CAAC,cAAc,CAAgB;IAEtC,8CAA8C;IAC9C,OAAO,CAAC,uBAAuB,CAAK;IAEpC,oDAAoD;IACpD,OAAO,CAAC,qBAAqB,CAA8B;IAM3D,WAAW,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI;IAQlC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDjE,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuDjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC5B,IAAI,IAAI,IAAI;IAsBN,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAc/B,WAAW,IAAI,YAAY;IA+B3B,gBAAgB,IAAI,aAAa;IAYjC;;;;;;;;OAQG;YACW,mBAAmB;IAoDjC;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAmC3B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA8DzB,qDAAqD;IACrD,OAAO,CAAC,aAAa,CAA6B;IAElD,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;YACW,YAAY;IAiB1B;;OAEG;YACW,WAAW;IAuDzB;;OAEG;YACW,oBAAoB;IA4DlC;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAoBzB"}
|