@telora/daemon 0.17.36 → 0.17.42
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/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 +148 -322
- 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/daemon-process.d.ts +18 -2
- package/dist/daemon-process.d.ts.map +1 -1
- package/dist/daemon-process.js +7 -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 +8 -0
- 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/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/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/session.d.ts +2 -3
- package/dist/types/session.d.ts.map +1 -1
- package/dist/unified-shell.d.ts.map +1 -1
- package/dist/unified-shell.js +21 -12
- package/dist/unified-shell.js.map +1 -1
- package/package.json +2 -2
- 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
|
@@ -16,39 +16,42 @@ import { getAuditCycleLowerBound } from './shared/audit.js';
|
|
|
16
16
|
* updatedAt is at or after the previous audit cycle's completed_at.
|
|
17
17
|
* When no prior audit exists, returns all done deliveries.
|
|
18
18
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const scope = params.scope ?? 'team';
|
|
25
|
-
if (scope === 'verify') {
|
|
26
|
-
// Filter to only verify deliveries for review context
|
|
27
|
-
const verifyDeliveries = deliveries.filter(d => d.executionStatus === 'verify');
|
|
28
|
-
if (verifyDeliveries.length === 0)
|
|
19
|
+
/** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
|
|
20
|
+
export function registerDeliveryListingResolver() {
|
|
21
|
+
registerSourceResolver('delivery.listing', async (context, params) => {
|
|
22
|
+
const deliveries = await getFocusDeliveries(context.focusId);
|
|
23
|
+
if (deliveries.length === 0)
|
|
29
24
|
return '';
|
|
30
|
-
const
|
|
25
|
+
const issues = await getFocusIssues(context.focusId);
|
|
26
|
+
const scope = params.scope ?? 'team';
|
|
27
|
+
if (scope === 'verify') {
|
|
28
|
+
// Filter to only verify deliveries for review context
|
|
29
|
+
const verifyDeliveries = deliveries.filter(d => d.executionStatus === 'verify');
|
|
30
|
+
if (verifyDeliveries.length === 0)
|
|
31
|
+
return '';
|
|
32
|
+
const lines = buildDeliveryListingSection(verifyDeliveries, issues);
|
|
33
|
+
return lines.join('\n');
|
|
34
|
+
}
|
|
35
|
+
if (scope === 'done_since_last_audit') {
|
|
36
|
+
const since = await getAuditCycleLowerBound(context.focusId);
|
|
37
|
+
const doneDeliveries = deliveries.filter(d => {
|
|
38
|
+
if (d.executionStatus !== 'done')
|
|
39
|
+
return false;
|
|
40
|
+
if (!since)
|
|
41
|
+
return true;
|
|
42
|
+
// updatedAt is the closest proxy for "moved to done at" -- when the
|
|
43
|
+
// daemon advances a delivery to done, that bumps updated_at. Missing
|
|
44
|
+
// timestamps are included so we don't silently drop a real completion.
|
|
45
|
+
return !d.updatedAt || d.updatedAt >= since;
|
|
46
|
+
});
|
|
47
|
+
if (doneDeliveries.length === 0)
|
|
48
|
+
return '';
|
|
49
|
+
const lines = buildDeliveryListingSection(doneDeliveries, issues);
|
|
50
|
+
return lines.join('\n');
|
|
51
|
+
}
|
|
52
|
+
// Default: use buildDeliveryListingSection which partitions into team/other
|
|
53
|
+
const lines = buildDeliveryListingSection(deliveries, issues);
|
|
31
54
|
return lines.join('\n');
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
const since = await getAuditCycleLowerBound(context.focusId);
|
|
35
|
-
const doneDeliveries = deliveries.filter(d => {
|
|
36
|
-
if (d.executionStatus !== 'done')
|
|
37
|
-
return false;
|
|
38
|
-
if (!since)
|
|
39
|
-
return true;
|
|
40
|
-
// updatedAt is the closest proxy for "moved to done at" -- when the
|
|
41
|
-
// daemon advances a delivery to done, that bumps updated_at. Missing
|
|
42
|
-
// timestamps are included so we don't silently drop a real completion.
|
|
43
|
-
return !d.updatedAt || d.updatedAt >= since;
|
|
44
|
-
});
|
|
45
|
-
if (doneDeliveries.length === 0)
|
|
46
|
-
return '';
|
|
47
|
-
const lines = buildDeliveryListingSection(doneDeliveries, issues);
|
|
48
|
-
return lines.join('\n');
|
|
49
|
-
}
|
|
50
|
-
// Default: use buildDeliveryListingSection which partitions into team/other
|
|
51
|
-
const lines = buildDeliveryListingSection(deliveries, issues);
|
|
52
|
-
return lines.join('\n');
|
|
53
|
-
});
|
|
55
|
+
});
|
|
56
|
+
}
|
|
54
57
|
//# sourceMappingURL=delivery-listing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-listing.js","sourceRoot":"","sources":["../../src/resolvers/delivery-listing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;;;;;;;;;;;;GAaG;AACH,sBAAsB,CAAC,kBAAkB,EAAE,KAAK,EAAE,OAAwB,EAAE,MAA8B,EAAmB,EAAE;
|
|
1
|
+
{"version":3,"file":"delivery-listing.js","sourceRoot":"","sources":["../../src/resolvers/delivery-listing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;;;;;;;;;;;;GAaG;AACH,oGAAoG;AACpG,MAAM,UAAU,+BAA+B;IAC7C,sBAAsB,CAAC,kBAAkB,EAAE,KAAK,EAAE,OAAwB,EAAE,MAA8B,EAAmB,EAAE;QAC7H,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEvC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC;QAErC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,sDAAsD;YACtD,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC;YAChF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,2BAA2B,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;YACpE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,KAAK,KAAK,uBAAuB,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7D,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBAC3C,IAAI,CAAC,CAAC,eAAe,KAAK,MAAM;oBAAE,OAAO,KAAK,CAAC;gBAC/C,IAAI,CAAC,KAAK;oBAAE,OAAO,IAAI,CAAC;gBACxB,oEAAoE;gBACpE,qEAAqE;gBACrE,uEAAuE;gBACvE,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC;YAC9C,CAAC,CAAC,CAAC;YACH,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,2BAA2B,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YAClE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,4EAA4E;QAC5E,MAAM,KAAK,GAAG,2BAA2B,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC9D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* delivery.tech_context
|
|
3
|
+
*
|
|
4
|
+
* Concatenates the techContext field of every delivery in the focus.
|
|
5
|
+
*/
|
|
6
|
+
/** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
|
|
7
|
+
export declare function registerDeliveryTechContextResolver(): void;
|
|
2
8
|
//# sourceMappingURL=delivery-tech-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-tech-context.d.ts","sourceRoot":"","sources":["../../src/resolvers/delivery-tech-context.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"delivery-tech-context.d.ts","sourceRoot":"","sources":["../../src/resolvers/delivery-tech-context.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,oGAAoG;AACpG,wBAAgB,mCAAmC,IAAI,IAAI,CAY1D"}
|
|
@@ -5,15 +5,18 @@ import { getFocusDeliveries } from '../queries/focuses.js';
|
|
|
5
5
|
*
|
|
6
6
|
* Concatenates the techContext field of every delivery in the focus.
|
|
7
7
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
8
|
+
/** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
|
|
9
|
+
export function registerDeliveryTechContextResolver() {
|
|
10
|
+
registerSourceResolver('delivery.tech_context', async (context) => {
|
|
11
|
+
const deliveries = await getFocusDeliveries(context.focusId);
|
|
12
|
+
if (deliveries.length === 0)
|
|
13
|
+
return '';
|
|
14
|
+
const sections = deliveries
|
|
15
|
+
.filter((d) => d.techContext)
|
|
16
|
+
.map((d) => `### ${d.name}\n\n${d.techContext}`);
|
|
17
|
+
if (sections.length === 0)
|
|
18
|
+
return '';
|
|
19
|
+
return `## Technical Context\n\n${sections.join('\n\n')}`;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
19
22
|
//# sourceMappingURL=delivery-tech-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-tech-context.js","sourceRoot":"","sources":["../../src/resolvers/delivery-tech-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3D;;;;GAIG;AACH,sBAAsB,CAAC,uBAAuB,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;
|
|
1
|
+
{"version":3,"file":"delivery-tech-context.js","sourceRoot":"","sources":["../../src/resolvers/delivery-tech-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3D;;;;GAIG;AACH,oGAAoG;AACpG,MAAM,UAAU,mCAAmC;IACjD,sBAAsB,CAAC,uBAAuB,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;QAClG,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEvC,MAAM,QAAQ,GAAG,UAAU;aACxB,MAAM,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;aAC/C,GAAG,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAEtE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACrC,OAAO,2BAA2B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,2 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* deployment.profile
|
|
3
|
+
*
|
|
4
|
+
* Fetches the deployment profile snapshot for the product and formats
|
|
5
|
+
* the inception prompt and guidelines as markdown.
|
|
6
|
+
*/
|
|
7
|
+
/** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
|
|
8
|
+
export declare function registerDeploymentProfileResolver(): void;
|
|
2
9
|
//# sourceMappingURL=deployment-profile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment-profile.d.ts","sourceRoot":"","sources":["../../src/resolvers/deployment-profile.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"deployment-profile.d.ts","sourceRoot":"","sources":["../../src/resolvers/deployment-profile.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,oGAAoG;AACpG,wBAAgB,iCAAiC,IAAI,IAAI,CAmBxD"}
|
|
@@ -6,23 +6,26 @@ import { getProductDeploymentProfileSnapshot } from '../queries/focuses.js';
|
|
|
6
6
|
* Fetches the deployment profile snapshot for the product and formats
|
|
7
7
|
* the inception prompt and guidelines as markdown.
|
|
8
8
|
*/
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
parts
|
|
9
|
+
/** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
|
|
10
|
+
export function registerDeploymentProfileResolver() {
|
|
11
|
+
registerSourceResolver('deployment.profile', async (context) => {
|
|
12
|
+
try {
|
|
13
|
+
const snapshot = await getProductDeploymentProfileSnapshot(context.productId);
|
|
14
|
+
if (!snapshot)
|
|
15
|
+
return '';
|
|
16
|
+
const parts = [];
|
|
17
|
+
if (snapshot.inceptionPrompt) {
|
|
18
|
+
parts.push(`## Deployment Profile: Operational Context\n\n${snapshot.inceptionPrompt}`);
|
|
19
|
+
}
|
|
20
|
+
if (snapshot.guidelines) {
|
|
21
|
+
parts.push(`## Deployment Constraints\n\n${snapshot.guidelines}`);
|
|
22
|
+
}
|
|
23
|
+
return parts.join('\n\n');
|
|
17
24
|
}
|
|
18
|
-
|
|
19
|
-
|
|
25
|
+
catch (err) {
|
|
26
|
+
console.warn(`[assembly-engine] deployment.profile: failed: ${err.message}`);
|
|
27
|
+
return '';
|
|
20
28
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
catch (err) {
|
|
24
|
-
console.warn(`[assembly-engine] deployment.profile: failed: ${err.message}`);
|
|
25
|
-
return '';
|
|
26
|
-
}
|
|
27
|
-
});
|
|
29
|
+
});
|
|
30
|
+
}
|
|
28
31
|
//# sourceMappingURL=deployment-profile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment-profile.js","sourceRoot":"","sources":["../../src/resolvers/deployment-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAE5E;;;;;GAKG;AACH,sBAAsB,CAAC,oBAAoB,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;
|
|
1
|
+
{"version":3,"file":"deployment-profile.js","sourceRoot":"","sources":["../../src/resolvers/deployment-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,mCAAmC,EAAE,MAAM,uBAAuB,CAAC;AAE5E;;;;;GAKG;AACH,oGAAoG;AACpG,MAAM,UAAU,iCAAiC;IAC/C,sBAAsB,CAAC,oBAAoB,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;QAC/F,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,mCAAmC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC9E,IAAI,CAAC,QAAQ;gBAAE,OAAO,EAAE,CAAC;YAEzB,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,iDAAiD,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;YAC1F,CAAC;YACD,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,gCAAgC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACpE,CAAC;YACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,iDAAkD,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACxF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,2 +1,27 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* focus.anchoring_injections
|
|
3
|
+
*
|
|
4
|
+
* Per-delivery report of every injection anchored to a delivery in the
|
|
5
|
+
* focus. Used by the close_loop stage assembly so the bookkeeper team
|
|
6
|
+
* lead can sweep each injection on its own merits:
|
|
7
|
+
*
|
|
8
|
+
* - the delivery the injection is anchored to (name + id)
|
|
9
|
+
* - the injection statement, lifecycle status, and seq number
|
|
10
|
+
* - the UDE(s) the injection targets (via `targets` edges)
|
|
11
|
+
* - the FRT overlay statement on each UDE (what it becomes once verified)
|
|
12
|
+
* - the FRT overlay node type (e.g., UDE -> DE flip)
|
|
13
|
+
* - "expected reality change" -- diff between current statement and FRT
|
|
14
|
+
* overlay statement, surfaced per target so the agent can check whether
|
|
15
|
+
* the worktree evidence supports the flip
|
|
16
|
+
*
|
|
17
|
+
* Query path:
|
|
18
|
+
* org_nodes (type=delivery, focus_id=X) -> injection_id ->
|
|
19
|
+
* reality_tree_nodes (injection) -> reality_tree_edges (targets) ->
|
|
20
|
+
* reality_tree_nodes (UDE / target)
|
|
21
|
+
*
|
|
22
|
+
* Returns empty string when the focus has no deliveries with injection
|
|
23
|
+
* anchors. Fails soft on API errors.
|
|
24
|
+
*/
|
|
25
|
+
/** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
|
|
26
|
+
export declare function registerFocusAnchoringInjectionsResolver(): void;
|
|
2
27
|
//# sourceMappingURL=focus-anchoring-injections.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-anchoring-injections.d.ts","sourceRoot":"","sources":["../../src/resolvers/focus-anchoring-injections.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"focus-anchoring-injections.d.ts","sourceRoot":"","sources":["../../src/resolvers/focus-anchoring-injections.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,oGAAoG;AACpG,wBAAgB,wCAAwC,IAAI,IAAI,CAoG/D"}
|
|
@@ -26,98 +26,101 @@ import { fetchInjectionBundles } from './shared/loop.js';
|
|
|
26
26
|
* Returns empty string when the focus has no deliveries with injection
|
|
27
27
|
* anchors. Fails soft on API errors.
|
|
28
28
|
*/
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
for (const delivery of anchored) {
|
|
60
|
-
const injectionId = delivery.injectionId;
|
|
61
|
-
const bundle = bundles.get(injectionId);
|
|
62
|
-
if (!bundle)
|
|
63
|
-
continue;
|
|
64
|
-
const inj = bundle.injection;
|
|
65
|
-
const treeId = inj.realityTreeId;
|
|
66
|
-
const { nodes, edges } = await loadTree(treeId);
|
|
67
|
-
const nodeById = new Map();
|
|
68
|
-
for (const n of nodes)
|
|
69
|
-
nodeById.set(n.id, n);
|
|
70
|
-
const statusTag = inj.injectionStatus ? ` [${inj.injectionStatus}]` : '';
|
|
71
|
-
const lines = [
|
|
72
|
-
`### ${delivery.name}`,
|
|
73
|
-
'',
|
|
74
|
-
`- **Anchored delivery:** ${delivery.name} (\`${delivery.id}\`)`,
|
|
75
|
-
`- **Injection:** #${inj.seq} ${inj.statement}${statusTag}`,
|
|
76
|
-
`- **Tree:** ${bundle.treeName}`,
|
|
77
|
-
];
|
|
78
|
-
if (inj.dissolvesObstacle) {
|
|
79
|
-
lines.push(`- **Dissolves obstacle:** ${inj.dissolvesObstacle}`);
|
|
80
|
-
}
|
|
81
|
-
// Walk targets edges from this injection -> target UDE/entity nodes.
|
|
82
|
-
const targetIds = edges
|
|
83
|
-
.filter((e) => e.edgeType === 'targets' && e.fromNodeId === injectionId)
|
|
84
|
-
.map((e) => e.toNodeId);
|
|
85
|
-
if (targetIds.length === 0) {
|
|
86
|
-
lines.push('', '_No target UDEs declared. Injection has no `targets` edges._');
|
|
29
|
+
/** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
|
|
30
|
+
export function registerFocusAnchoringInjectionsResolver() {
|
|
31
|
+
registerSourceResolver('focus.anchoring_injections', async (context) => {
|
|
32
|
+
try {
|
|
33
|
+
const deliveries = await getFocusDeliveries(context.focusId);
|
|
34
|
+
const anchored = deliveries.filter((d) => typeof d.injectionId === 'string' && d.injectionId.length > 0);
|
|
35
|
+
if (anchored.length === 0)
|
|
36
|
+
return '';
|
|
37
|
+
const injectionIds = anchored.map((d) => d.injectionId);
|
|
38
|
+
const bundles = await fetchInjectionBundles(injectionIds);
|
|
39
|
+
if (bundles.size === 0)
|
|
40
|
+
return '';
|
|
41
|
+
// Cache nodes+edges per tree so we don't fetch them once per delivery
|
|
42
|
+
// when multiple injections share a tree.
|
|
43
|
+
const treeNodesCache = new Map();
|
|
44
|
+
const treeEdgesCache = new Map();
|
|
45
|
+
async function loadTree(treeId) {
|
|
46
|
+
let nodes = treeNodesCache.get(treeId);
|
|
47
|
+
let edges = treeEdgesCache.get(treeId);
|
|
48
|
+
if (!nodes || !edges) {
|
|
49
|
+
const [nodesResp, edgesResp] = await Promise.all([
|
|
50
|
+
callApi('reality_tree_node_list', { treeId, status: 'active' }),
|
|
51
|
+
callApi('reality_tree_edge_list', { treeId }),
|
|
52
|
+
]);
|
|
53
|
+
nodes = nodesResp.items ?? [];
|
|
54
|
+
edges = edgesResp.items ?? [];
|
|
55
|
+
treeNodesCache.set(treeId, nodes);
|
|
56
|
+
treeEdgesCache.set(treeId, edges);
|
|
57
|
+
}
|
|
58
|
+
return { nodes, edges };
|
|
87
59
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
|
|
60
|
+
const sections = [];
|
|
61
|
+
for (const delivery of anchored) {
|
|
62
|
+
const injectionId = delivery.injectionId;
|
|
63
|
+
const bundle = bundles.get(injectionId);
|
|
64
|
+
if (!bundle)
|
|
65
|
+
continue;
|
|
66
|
+
const inj = bundle.injection;
|
|
67
|
+
const treeId = inj.realityTreeId;
|
|
68
|
+
const { nodes, edges } = await loadTree(treeId);
|
|
69
|
+
const nodeById = new Map();
|
|
70
|
+
for (const n of nodes)
|
|
71
|
+
nodeById.set(n.id, n);
|
|
72
|
+
const statusTag = inj.injectionStatus ? ` [${inj.injectionStatus}]` : '';
|
|
73
|
+
const lines = [
|
|
74
|
+
`### ${delivery.name}`,
|
|
75
|
+
'',
|
|
76
|
+
`- **Anchored delivery:** ${delivery.name} (\`${delivery.id}\`)`,
|
|
77
|
+
`- **Injection:** #${inj.seq} ${inj.statement}${statusTag}`,
|
|
78
|
+
`- **Tree:** ${bundle.treeName}`,
|
|
79
|
+
];
|
|
80
|
+
if (inj.dissolvesObstacle) {
|
|
81
|
+
lines.push(`- **Dissolves obstacle:** ${inj.dissolvesObstacle}`);
|
|
82
|
+
}
|
|
83
|
+
// Walk targets edges from this injection -> target UDE/entity nodes.
|
|
84
|
+
const targetIds = edges
|
|
85
|
+
.filter((e) => e.edgeType === 'targets' && e.fromNodeId === injectionId)
|
|
86
|
+
.map((e) => e.toNodeId);
|
|
87
|
+
if (targetIds.length === 0) {
|
|
88
|
+
lines.push('', '_No target UDEs declared. Injection has no `targets` edges._');
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
lines.push('', '**Target UDEs and expected reality change:**');
|
|
92
|
+
for (const targetId of targetIds) {
|
|
93
|
+
const target = nodeById.get(targetId);
|
|
94
|
+
if (!target)
|
|
95
|
+
continue;
|
|
96
|
+
const currentType = target.nodeType;
|
|
97
|
+
const frtStatement = target.frtStatement?.trim() ?? '';
|
|
98
|
+
const frtType = target.frtNodeType?.trim() ?? '';
|
|
99
|
+
const targetHeader = `- **#${target.seq} Target UDE (${currentType}):** ${target.statement}`;
|
|
100
|
+
lines.push(targetHeader);
|
|
101
|
+
if (frtStatement.length > 0) {
|
|
102
|
+
const overlayType = frtType.length > 0 ? frtType : currentType;
|
|
103
|
+
lines.push(` - **FRT overlay (${overlayType}):** ${frtStatement}`);
|
|
104
|
+
lines.push(` - **Expected reality change:** "${target.statement}" -> "${frtStatement}"`);
|
|
105
|
+
}
|
|
106
|
+
else if (frtType.length > 0) {
|
|
107
|
+
lines.push(` - **FRT overlay (${frtType}):** _(type flip only, no statement rewrite)_`);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
lines.push(' - _No FRT overlay set on this target._');
|
|
111
|
+
}
|
|
109
112
|
}
|
|
110
113
|
}
|
|
114
|
+
sections.push(lines.join('\n'));
|
|
111
115
|
}
|
|
112
|
-
sections.
|
|
116
|
+
if (sections.length === 0)
|
|
117
|
+
return '';
|
|
118
|
+
return `## Anchoring Injections (close-loop sweep)\n\n${sections.join('\n\n')}`;
|
|
113
119
|
}
|
|
114
|
-
|
|
120
|
+
catch (err) {
|
|
121
|
+
console.warn(`[assembly-engine] focus.anchoring_injections: failed: ${err.message}`);
|
|
115
122
|
return '';
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
console.warn(`[assembly-engine] focus.anchoring_injections: failed: ${err.message}`);
|
|
120
|
-
return '';
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}
|
|
123
126
|
//# sourceMappingURL=focus-anchoring-injections.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-anchoring-injections.js","sourceRoot":"","sources":["../../src/resolvers/focus-anchoring-injections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAQzD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,sBAAsB,CAAC,4BAA4B,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;
|
|
1
|
+
{"version":3,"file":"focus-anchoring-injections.js","sourceRoot":"","sources":["../../src/resolvers/focus-anchoring-injections.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* focus.context
|
|
3
|
+
*
|
|
4
|
+
* Pulls wiki pages relevant to the focus via wiki_search. Queries are
|
|
5
|
+
* derived from the focus name + the first sentence of its description;
|
|
6
|
+
* deliveries below the focus contribute additional queries when present.
|
|
7
|
+
*/
|
|
8
|
+
/** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
|
|
9
|
+
export declare function registerFocusContextResolver(): void;
|
|
2
10
|
//# sourceMappingURL=focus-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-context.d.ts","sourceRoot":"","sources":["../../src/resolvers/focus-context.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"focus-context.d.ts","sourceRoot":"","sources":["../../src/resolvers/focus-context.ts"],"names":[],"mappings":"AAYA;;;;;;GAMG;AACH,oGAAoG;AACpG,wBAAgB,4BAA4B,IAAI,IAAI,CAwCnD"}
|
|
@@ -8,40 +8,43 @@ import { searchWiki, fetchAncestorsForHits, fetchPageBodies, renderWikiSection,
|
|
|
8
8
|
* derived from the focus name + the first sentence of its description;
|
|
9
9
|
* deliveries below the focus contribute additional queries when present.
|
|
10
10
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
addQuery(''); // recently-edited fallback
|
|
30
|
-
}
|
|
31
|
-
const aggregated = new Map();
|
|
32
|
-
for (const q of queries.slice(0, 4)) {
|
|
33
|
-
const hits = await searchWiki(context.productId, q, 4);
|
|
34
|
-
for (const hit of hits) {
|
|
35
|
-
const existing = aggregated.get(hit.id);
|
|
36
|
-
if (!existing || hit.rank > existing.rank)
|
|
37
|
-
aggregated.set(hit.id, hit);
|
|
11
|
+
/** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
|
|
12
|
+
export function registerFocusContextResolver() {
|
|
13
|
+
registerSourceResolver('focus.context', async (context) => {
|
|
14
|
+
const deliveries = await getFocusDeliveries(context.focusId);
|
|
15
|
+
const queries = [];
|
|
16
|
+
const seen = new Set();
|
|
17
|
+
const addQuery = (q) => {
|
|
18
|
+
const trimmed = (q ?? '').trim();
|
|
19
|
+
if (!trimmed || seen.has(trimmed))
|
|
20
|
+
return;
|
|
21
|
+
seen.add(trimmed);
|
|
22
|
+
queries.push(trimmed);
|
|
23
|
+
};
|
|
24
|
+
// Use the first delivery's name+description plus subsequent delivery
|
|
25
|
+
// names to seed the search. This keeps queries focused on the work in
|
|
26
|
+
// flight rather than dumping every delivery description.
|
|
27
|
+
for (const d of deliveries) {
|
|
28
|
+
addQuery(d.name);
|
|
38
29
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
30
|
+
if (queries.length === 0) {
|
|
31
|
+
addQuery(''); // recently-edited fallback
|
|
32
|
+
}
|
|
33
|
+
const aggregated = new Map();
|
|
34
|
+
for (const q of queries.slice(0, 4)) {
|
|
35
|
+
const hits = await searchWiki(context.productId, q, 4);
|
|
36
|
+
for (const hit of hits) {
|
|
37
|
+
const existing = aggregated.get(hit.id);
|
|
38
|
+
if (!existing || hit.rank > existing.rank)
|
|
39
|
+
aggregated.set(hit.id, hit);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
const sorted = Array.from(aggregated.values()).sort((a, b) => b.rank - a.rank).slice(0, 8);
|
|
43
|
+
const [bodies, ancestors] = await Promise.all([
|
|
44
|
+
fetchPageBodies(context.productId, sorted.map((h) => h.id)),
|
|
45
|
+
fetchAncestorsForHits(context.productId, sorted.map((h) => h.id)),
|
|
46
|
+
]);
|
|
47
|
+
return renderWikiSection('Wiki', sorted, bodies, WIKI_RETRIEVAL_BUDGET_CHARS, ancestors);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
47
50
|
//# sourceMappingURL=focus-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-context.js","sourceRoot":"","sources":["../../src/resolvers/focus-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,2BAA2B,GAE5B,MAAM,kBAAkB,CAAC;AAE1B;;;;;;GAMG;AACH,sBAAsB,CAAC,eAAe,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;
|
|
1
|
+
{"version":3,"file":"focus-context.js","sourceRoot":"","sources":["../../src/resolvers/focus-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,2BAA2B,GAE5B,MAAM,kBAAkB,CAAC;AAE1B;;;;;;GAMG;AACH,oGAAoG;AACpG,MAAM,UAAU,4BAA4B;IAC1C,sBAAsB,CAAC,eAAe,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;QAC1F,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE7D,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,QAAQ,GAAG,CAAC,CAA4B,EAAE,EAAE;YAChD,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,OAAO;YAC1C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC;QAEF,qEAAqE;QACrE,sEAAsE;QACtE,yDAAyD;QACzD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B;QAC3C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;QACpD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACxC,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI;oBAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3F,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC5C,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3D,qBAAqB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAClE,CAAC,CAAC;QACH,OAAO,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,2BAA2B,EAAE,SAAS,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,2 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* focus.injections
|
|
3
|
+
*
|
|
4
|
+
* Renders the focus's reality-tree structure as the LEAD COORDINATION MAP --
|
|
5
|
+
* the lead's planning surface. It is structure, not per-delivery detail: for
|
|
6
|
+
* the whole focus it shows, per injection, a one-line Now->Target (the current
|
|
7
|
+
* UDE and the desired effect it becomes); the dependency order to sequence
|
|
8
|
+
* deliveries; shared-target collisions to avoid two workers changing the same
|
|
9
|
+
* node; and the root-cause clusters. Per-delivery full differentials are pulled
|
|
10
|
+
* on demand via telora_reality_tree_injection_context(seq).
|
|
11
|
+
*/
|
|
12
|
+
/** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
|
|
13
|
+
export declare function registerFocusInjectionsResolver(): void;
|
|
2
14
|
//# sourceMappingURL=focus-injections.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-injections.d.ts","sourceRoot":"","sources":["../../src/resolvers/focus-injections.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"focus-injections.d.ts","sourceRoot":"","sources":["../../src/resolvers/focus-injections.ts"],"names":[],"mappings":"AA6CA;;;;;;;;;;GAUG;AACH,oGAAoG;AACpG,wBAAgB,+BAA+B,IAAI,IAAI,CAoEtD"}
|