@codeledger/engine 0.7.2 → 0.7.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/broker/completion.d.ts +9 -0
- package/dist/broker/completion.d.ts.map +1 -0
- package/dist/broker/completion.js +51 -0
- package/dist/broker/completion.js.map +1 -0
- package/dist/broker/evidence.d.ts +11 -0
- package/dist/broker/evidence.d.ts.map +1 -0
- package/dist/broker/evidence.js +39 -0
- package/dist/broker/evidence.js.map +1 -0
- package/dist/broker/index.d.ts +14 -0
- package/dist/broker/index.d.ts.map +1 -0
- package/dist/broker/index.js +14 -0
- package/dist/broker/index.js.map +1 -0
- package/dist/broker/memory-lookup.d.ts +41 -0
- package/dist/broker/memory-lookup.d.ts.map +1 -0
- package/dist/broker/memory-lookup.js +70 -0
- package/dist/broker/memory-lookup.js.map +1 -0
- package/dist/broker/preamble.d.ts +19 -0
- package/dist/broker/preamble.d.ts.map +1 -0
- package/dist/broker/preamble.js +13 -0
- package/dist/broker/preamble.js.map +1 -0
- package/dist/broker/structural.d.ts +10 -0
- package/dist/broker/structural.d.ts.map +1 -0
- package/dist/broker/structural.js +52 -0
- package/dist/broker/structural.js.map +1 -0
- package/dist/broker/task-resolution.d.ts +17 -0
- package/dist/broker/task-resolution.d.ts.map +1 -0
- package/dist/broker/task-resolution.js +386 -0
- package/dist/broker/task-resolution.js.map +1 -0
- package/dist/broker/validation.d.ts +14 -0
- package/dist/broker/validation.d.ts.map +1 -0
- package/dist/broker/validation.js +75 -0
- package/dist/broker/validation.js.map +1 -0
- package/dist/claims/claims.d.ts +14 -0
- package/dist/claims/claims.d.ts.map +1 -0
- package/dist/claims/claims.js +125 -0
- package/dist/claims/claims.js.map +1 -0
- package/dist/claims/index.d.ts +2 -0
- package/dist/claims/index.d.ts.map +1 -0
- package/dist/claims/index.js +2 -0
- package/dist/claims/index.js.map +1 -0
- package/dist/dashboard/index.d.ts +3 -0
- package/dist/dashboard/index.d.ts.map +1 -0
- package/dist/dashboard/index.js +3 -0
- package/dist/dashboard/index.js.map +1 -0
- package/dist/dashboard/metrics.d.ts +24 -0
- package/dist/dashboard/metrics.d.ts.map +1 -0
- package/dist/dashboard/metrics.js +358 -0
- package/dist/dashboard/metrics.js.map +1 -0
- package/dist/dashboard/store.d.ts +26 -0
- package/dist/dashboard/store.d.ts.map +1 -0
- package/dist/dashboard/store.js +97 -0
- package/dist/dashboard/store.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -1
- package/dist/insight/collector.d.ts +31 -0
- package/dist/insight/collector.d.ts.map +1 -0
- package/dist/insight/collector.js +172 -0
- package/dist/insight/collector.js.map +1 -0
- package/dist/insight/engine.d.ts +18 -0
- package/dist/insight/engine.d.ts.map +1 -0
- package/dist/insight/engine.js +84 -0
- package/dist/insight/engine.js.map +1 -0
- package/dist/insight/formatter.d.ts +9 -0
- package/dist/insight/formatter.d.ts.map +1 -0
- package/dist/insight/formatter.js +87 -0
- package/dist/insight/formatter.js.map +1 -0
- package/dist/insight/index.d.ts +13 -0
- package/dist/insight/index.d.ts.map +1 -0
- package/dist/insight/index.js +11 -0
- package/dist/insight/index.js.map +1 -0
- package/dist/insight/session.d.ts +11 -0
- package/dist/insight/session.d.ts.map +1 -0
- package/dist/insight/session.js +60 -0
- package/dist/insight/session.js.map +1 -0
- package/dist/integration/ambient-coordinator.d.ts +75 -0
- package/dist/integration/ambient-coordinator.d.ts.map +1 -0
- package/dist/integration/ambient-coordinator.js +183 -0
- package/dist/integration/ambient-coordinator.js.map +1 -0
- package/dist/integration/index.d.ts +4 -0
- package/dist/integration/index.d.ts.map +1 -0
- package/dist/integration/index.js +3 -0
- package/dist/integration/index.js.map +1 -0
- package/dist/integration/warning-throttle.d.ts +63 -0
- package/dist/integration/warning-throttle.d.ts.map +1 -0
- package/dist/integration/warning-throttle.js +347 -0
- package/dist/integration/warning-throttle.js.map +1 -0
- package/dist/intervention/escalation.d.ts +23 -0
- package/dist/intervention/escalation.d.ts.map +1 -0
- package/dist/intervention/escalation.js +149 -0
- package/dist/intervention/escalation.js.map +1 -0
- package/dist/intervention/generator.d.ts +12 -0
- package/dist/intervention/generator.d.ts.map +1 -0
- package/dist/intervention/generator.js +191 -0
- package/dist/intervention/generator.js.map +1 -0
- package/dist/intervention/index.d.ts +4 -0
- package/dist/intervention/index.d.ts.map +1 -0
- package/dist/intervention/index.js +4 -0
- package/dist/intervention/index.js.map +1 -0
- package/dist/intervention/signal-aggregator.d.ts +26 -0
- package/dist/intervention/signal-aggregator.d.ts.map +1 -0
- package/dist/intervention/signal-aggregator.js +274 -0
- package/dist/intervention/signal-aggregator.js.map +1 -0
- package/dist/layer-d/conflict-detector.d.ts +12 -0
- package/dist/layer-d/conflict-detector.d.ts.map +1 -0
- package/dist/layer-d/conflict-detector.js +150 -0
- package/dist/layer-d/conflict-detector.js.map +1 -0
- package/dist/layer-d/index.d.ts +3 -0
- package/dist/layer-d/index.d.ts.map +1 -0
- package/dist/layer-d/index.js +3 -0
- package/dist/layer-d/index.js.map +1 -0
- package/dist/layer-d/surface-extractor.d.ts +10 -0
- package/dist/layer-d/surface-extractor.d.ts.map +1 -0
- package/dist/layer-d/surface-extractor.js +96 -0
- package/dist/layer-d/surface-extractor.js.map +1 -0
- package/dist/policy-domains/domains.d.ts +31 -0
- package/dist/policy-domains/domains.d.ts.map +1 -0
- package/dist/policy-domains/domains.js +445 -0
- package/dist/policy-domains/domains.js.map +1 -0
- package/dist/policy-domains/index.d.ts +8 -0
- package/dist/policy-domains/index.d.ts.map +1 -0
- package/dist/policy-domains/index.js +8 -0
- package/dist/policy-domains/index.js.map +1 -0
- package/dist/pulse/index.d.ts +2 -0
- package/dist/pulse/index.d.ts.map +1 -0
- package/dist/pulse/index.js +2 -0
- package/dist/pulse/index.js.map +1 -0
- package/dist/pulse/pulse.d.ts +20 -0
- package/dist/pulse/pulse.d.ts.map +1 -0
- package/dist/pulse/pulse.js +253 -0
- package/dist/pulse/pulse.js.map +1 -0
- package/dist/severity/index.d.ts +2 -0
- package/dist/severity/index.d.ts.map +1 -0
- package/dist/severity/index.js +2 -0
- package/dist/severity/index.js.map +1 -0
- package/dist/severity/severity.d.ts +48 -0
- package/dist/severity/severity.d.ts.map +1 -0
- package/dist/severity/severity.js +134 -0
- package/dist/severity/severity.js.map +1 -0
- package/dist/staleness/index.d.ts +2 -0
- package/dist/staleness/index.d.ts.map +1 -0
- package/dist/staleness/index.js +2 -0
- package/dist/staleness/index.js.map +1 -0
- package/dist/staleness/jit-staleness.d.ts +29 -0
- package/dist/staleness/jit-staleness.d.ts.map +1 -0
- package/dist/staleness/jit-staleness.js +240 -0
- package/dist/staleness/jit-staleness.js.map +1 -0
- package/dist/team-policy/index.d.ts +1 -1
- package/dist/team-policy/index.d.ts.map +1 -1
- package/dist/team-policy/index.js +1 -1
- package/dist/team-policy/index.js.map +1 -1
- package/dist/team-policy/policy.d.ts +7 -0
- package/dist/team-policy/policy.d.ts.map +1 -1
- package/dist/team-policy/policy.js +38 -0
- package/dist/team-policy/policy.js.map +1 -1
- package/dist/trust/approval.d.ts +16 -0
- package/dist/trust/approval.d.ts.map +1 -0
- package/dist/trust/approval.js +183 -0
- package/dist/trust/approval.js.map +1 -0
- package/dist/trust/capsule.d.ts +36 -0
- package/dist/trust/capsule.d.ts.map +1 -0
- package/dist/trust/capsule.js +206 -0
- package/dist/trust/capsule.js.map +1 -0
- package/dist/trust/index.d.ts +6 -0
- package/dist/trust/index.d.ts.map +1 -0
- package/dist/trust/index.js +6 -0
- package/dist/trust/index.js.map +1 -0
- package/dist/trust/learning-feedback.d.ts +18 -0
- package/dist/trust/learning-feedback.d.ts.map +1 -0
- package/dist/trust/learning-feedback.js +146 -0
- package/dist/trust/learning-feedback.js.map +1 -0
- package/dist/trust/risk-scoring.d.ts +16 -0
- package/dist/trust/risk-scoring.d.ts.map +1 -0
- package/dist/trust/risk-scoring.js +142 -0
- package/dist/trust/risk-scoring.js.map +1 -0
- package/dist/trust/timeline.d.ts +42 -0
- package/dist/trust/timeline.d.ts.map +1 -0
- package/dist/trust/timeline.js +154 -0
- package/dist/trust/timeline.js.map +1 -0
- package/package.json +10 -2
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CodeLedgerMemory, BrokerCompletionResponse } from '@codeledger/types';
|
|
2
|
+
/**
|
|
3
|
+
* Get completion state from the most recent CIC result, if available.
|
|
4
|
+
*
|
|
5
|
+
* Reads from `.codeledger/complete-check-result.json` if it exists.
|
|
6
|
+
* This is a thin adapter — as CIC evolves, this can be enriched.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getCompletionState(_memory: CodeLedgerMemory, cwd: string, taskId?: string): BrokerCompletionResponse;
|
|
9
|
+
//# sourceMappingURL=completion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/broker/completion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,mBAAmB,CAAC;AAI3B;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gBAAgB,EACzB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,GACd,wBAAwB,CA4C1B"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
/**
|
|
4
|
+
* Get completion state from the most recent CIC result, if available.
|
|
5
|
+
*
|
|
6
|
+
* Reads from `.codeledger/complete-check-result.json` if it exists.
|
|
7
|
+
* This is a thin adapter — as CIC evolves, this can be enriched.
|
|
8
|
+
*/
|
|
9
|
+
export function getCompletionState(_memory, cwd, taskId) {
|
|
10
|
+
const resultPath = join(cwd, '.codeledger', 'complete-check-result.json');
|
|
11
|
+
if (!existsSync(resultPath)) {
|
|
12
|
+
return {
|
|
13
|
+
taskId,
|
|
14
|
+
completionState: 'unknown',
|
|
15
|
+
summary: 'No completion check result found. Run `codeledger complete-check --task "..."` to generate one.',
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
const raw = JSON.parse(readFileSync(resultPath, 'utf-8'));
|
|
20
|
+
if (typeof raw !== 'object' || raw === null) {
|
|
21
|
+
return {
|
|
22
|
+
taskId,
|
|
23
|
+
completionState: 'unknown',
|
|
24
|
+
summary: 'Completion check result is not a valid object.',
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
const result = raw;
|
|
28
|
+
return {
|
|
29
|
+
taskId: taskId ?? (typeof result['task'] === 'string' ? result['task'] : undefined),
|
|
30
|
+
completionState: typeof result['state'] === 'string' ? result['state'] : 'unknown',
|
|
31
|
+
verifiedClaims: Array.isArray(result['verifiedClaims'])
|
|
32
|
+
? result['verifiedClaims']
|
|
33
|
+
: undefined,
|
|
34
|
+
remainingUnchecked: Array.isArray(result['remainingUnchecked'])
|
|
35
|
+
? result['remainingUnchecked']
|
|
36
|
+
: undefined,
|
|
37
|
+
blockers: Array.isArray(result['blockers'])
|
|
38
|
+
? result['blockers']
|
|
39
|
+
: undefined,
|
|
40
|
+
summary: typeof result['summary'] === 'string' ? result['summary'] : undefined,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return {
|
|
45
|
+
taskId,
|
|
46
|
+
completionState: 'error',
|
|
47
|
+
summary: 'Failed to parse completion check result.',
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=completion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/broker/completion.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAyB,EACzB,GAAW,EACX,MAAe;IAEf,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,4BAA4B,CAAC,CAAC;IAE1E,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,MAAM;YACN,eAAe,EAAE,SAAS;YAC1B,OAAO,EAAE,iGAAiG;SAC3G,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QACnE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,OAAO;gBACL,MAAM;gBACN,eAAe,EAAE,SAAS;gBAC1B,OAAO,EAAE,gDAAgD;aAC1D,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,GAA8B,CAAC;QAE9C,OAAO;YACL,MAAM,EAAE,MAAM,IAAI,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACnF,eAAe,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YAClF,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBACrD,CAAC,CAAE,MAAM,CAAC,gBAAgB,CAAc;gBACxC,CAAC,CAAC,SAAS;YACb,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBAC7D,CAAC,CAAE,MAAM,CAAC,oBAAoB,CAAc;gBAC5C,CAAC,CAAC,SAAS;YACb,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACzC,CAAC,CAAE,MAAM,CAAC,UAAU,CAAc;gBAClC,CAAC,CAAC,SAAS;YACb,OAAO,EAAE,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;SAC/E,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,MAAM;YACN,eAAe,EAAE,OAAO;YACxB,OAAO,EAAE,0CAA0C;SACpD,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CodeLedgerMemory, BrokerEvidenceResponse } from '@codeledger/types';
|
|
2
|
+
/**
|
|
3
|
+
* Get evidence requirements for a given finding type and optional target.
|
|
4
|
+
* The target is used to substitute {target} placeholders in commands.
|
|
5
|
+
*/
|
|
6
|
+
export declare function getEvidenceRequirements(memory: CodeLedgerMemory, findingType: string, target?: string): BrokerEvidenceResponse;
|
|
7
|
+
/**
|
|
8
|
+
* Get only the executable commands for a finding type, ready to run.
|
|
9
|
+
*/
|
|
10
|
+
export declare function getEvidenceCommands(memory: CodeLedgerMemory, findingType: string, target?: string): string[];
|
|
11
|
+
//# sourceMappingURL=evidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../src/broker/evidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAE3B;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,GACd,sBAAsB,CAyBxB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,EAAE,CAOV"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get evidence requirements for a given finding type and optional target.
|
|
3
|
+
* The target is used to substitute {target} placeholders in commands.
|
|
4
|
+
*/
|
|
5
|
+
export function getEvidenceRequirements(memory, findingType, target) {
|
|
6
|
+
const rule = memory.evidence.rules.find((r) => r.findingType === findingType);
|
|
7
|
+
if (!rule) {
|
|
8
|
+
return {
|
|
9
|
+
findingType,
|
|
10
|
+
requiredChecks: [],
|
|
11
|
+
minimumTier: undefined,
|
|
12
|
+
reviewerVisibleFromTier: undefined,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
const checks = rule.requiredChecks.map((c) => ({
|
|
16
|
+
id: c.id,
|
|
17
|
+
description: c.description,
|
|
18
|
+
type: c.type,
|
|
19
|
+
command: target && c.command ? c.command.replace(/\{target\}/g, target) : c.command,
|
|
20
|
+
}));
|
|
21
|
+
return {
|
|
22
|
+
findingType: rule.findingType,
|
|
23
|
+
requiredChecks: checks,
|
|
24
|
+
minimumTier: rule.minimumTier,
|
|
25
|
+
reviewerVisibleFromTier: rule.reviewerVisibleFromTier,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get only the executable commands for a finding type, ready to run.
|
|
30
|
+
*/
|
|
31
|
+
export function getEvidenceCommands(memory, findingType, target) {
|
|
32
|
+
const rule = memory.evidence.rules.find((r) => r.findingType === findingType);
|
|
33
|
+
if (!rule)
|
|
34
|
+
return [];
|
|
35
|
+
return rule.requiredChecks
|
|
36
|
+
.filter((c) => c.command)
|
|
37
|
+
.map((c) => target ? c.command.replace(/\{target\}/g, target) : c.command);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=evidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/broker/evidence.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAwB,EACxB,WAAmB,EACnB,MAAe;IAEf,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;IAE9E,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,WAAW;YACX,cAAc,EAAE,EAAE;YAClB,WAAW,EAAE,SAAS;YACtB,uBAAuB,EAAE,SAAS;SACnC,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7C,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;KACpF,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,cAAc,EAAE,MAAM;QACtB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;KACtD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAwB,EACxB,WAAmB,EACnB,MAAe;IAEf,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;IAC9E,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,OAAO,IAAI,CAAC,cAAc;SACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC;AACjF,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context Broker — the system-awareness layer for CodeLedger.
|
|
3
|
+
*
|
|
4
|
+
* Gives browser-based and tool-based agents CLI-grade grounded context
|
|
5
|
+
* by synthesizing ledger state into compact, decision-grade responses.
|
|
6
|
+
*/
|
|
7
|
+
export { resolveTaskContext } from './task-resolution.js';
|
|
8
|
+
export { getValidationStatus, getCleanSurfacesList, getInvalidationState } from './validation.js';
|
|
9
|
+
export { getNeighborhood, getNeighborhoodManifest } from './structural.js';
|
|
10
|
+
export { getEvidenceRequirements, getEvidenceCommands } from './evidence.js';
|
|
11
|
+
export { getCompletionState } from './completion.js';
|
|
12
|
+
export { buildBrokerPreamble } from './preamble.js';
|
|
13
|
+
export { getRecentTruthSummary, getOntologyConcept, getAgentPreamble } from './memory-lookup.js';
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/broker/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context Broker — the system-awareness layer for CodeLedger.
|
|
3
|
+
*
|
|
4
|
+
* Gives browser-based and tool-based agents CLI-grade grounded context
|
|
5
|
+
* by synthesizing ledger state into compact, decision-grade responses.
|
|
6
|
+
*/
|
|
7
|
+
export { resolveTaskContext } from './task-resolution.js';
|
|
8
|
+
export { getValidationStatus, getCleanSurfacesList, getInvalidationState } from './validation.js';
|
|
9
|
+
export { getNeighborhood, getNeighborhoodManifest } from './structural.js';
|
|
10
|
+
export { getEvidenceRequirements, getEvidenceCommands } from './evidence.js';
|
|
11
|
+
export { getCompletionState } from './completion.js';
|
|
12
|
+
export { buildBrokerPreamble } from './preamble.js';
|
|
13
|
+
export { getRecentTruthSummary, getOntologyConcept, getAgentPreamble } from './memory-lookup.js';
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/broker/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { CodeLedgerMemory } from '@codeledger/types';
|
|
2
|
+
import { type BrokerPreambleOptions } from './preamble.js';
|
|
3
|
+
/**
|
|
4
|
+
* Get a compact summary of recent truth from the ledger.
|
|
5
|
+
*/
|
|
6
|
+
export declare function getRecentTruthSummary(memory: CodeLedgerMemory, query?: string): {
|
|
7
|
+
acceptedChanges: Array<{
|
|
8
|
+
id: string;
|
|
9
|
+
title: string;
|
|
10
|
+
status: string;
|
|
11
|
+
summary: string;
|
|
12
|
+
}>;
|
|
13
|
+
features: Array<{
|
|
14
|
+
name: string;
|
|
15
|
+
maturity: string;
|
|
16
|
+
concepts: string[];
|
|
17
|
+
}>;
|
|
18
|
+
architectureDecisions: Array<{
|
|
19
|
+
title: string;
|
|
20
|
+
decision: string;
|
|
21
|
+
}>;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Look up a concept by term, returning structured ontology data.
|
|
25
|
+
*/
|
|
26
|
+
export declare function getOntologyConcept(memory: CodeLedgerMemory, term: string): {
|
|
27
|
+
found: boolean;
|
|
28
|
+
displayName?: string;
|
|
29
|
+
description?: string;
|
|
30
|
+
meanings?: Array<{
|
|
31
|
+
label: string;
|
|
32
|
+
description: string;
|
|
33
|
+
}>;
|
|
34
|
+
fileHints?: string[];
|
|
35
|
+
disambiguationPrompt?: string;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Generate a task-aware agent preamble. Convenience wrapper.
|
|
39
|
+
*/
|
|
40
|
+
export declare function getAgentPreamble(memory: CodeLedgerMemory, taskText: string, options?: BrokerPreambleOptions): string;
|
|
41
|
+
//# sourceMappingURL=memory-lookup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-lookup.d.ts","sourceRoot":"","sources":["../../src/broker/memory-lookup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAuB,KAAK,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEhF;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,gBAAgB,EACxB,KAAK,CAAC,EAAE,MAAM,GACb;IACD,eAAe,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvF,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACxE,qBAAqB,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnE,CA2CA;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,GACX;IACD,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAyBA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,MAAM,CAER"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { buildBrokerPreamble } from './preamble.js';
|
|
2
|
+
/**
|
|
3
|
+
* Get a compact summary of recent truth from the ledger.
|
|
4
|
+
*/
|
|
5
|
+
export function getRecentTruthSummary(memory, query) {
|
|
6
|
+
let changes = memory.recentTruth.acceptedChanges;
|
|
7
|
+
let features = memory.recentTruth.recentFeatures;
|
|
8
|
+
let adrs = memory.recentTruth.architectureDecisions;
|
|
9
|
+
// If query provided, filter to items whose concepts/title/summary match
|
|
10
|
+
if (query) {
|
|
11
|
+
const q = query.toLowerCase();
|
|
12
|
+
changes = changes.filter((c) => c.title.toLowerCase().includes(q) ||
|
|
13
|
+
c.summary.toLowerCase().includes(q) ||
|
|
14
|
+
c.concepts.some((cc) => cc.toLowerCase().includes(q)));
|
|
15
|
+
features = features.filter((f) => f.name.toLowerCase().includes(q) ||
|
|
16
|
+
f.concepts.some((cc) => cc.toLowerCase().includes(q)));
|
|
17
|
+
adrs = adrs.filter((a) => a.title.toLowerCase().includes(q) ||
|
|
18
|
+
a.decision.toLowerCase().includes(q));
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
acceptedChanges: changes.map((c) => ({
|
|
22
|
+
id: c.id,
|
|
23
|
+
title: c.title,
|
|
24
|
+
status: c.status,
|
|
25
|
+
summary: c.summary,
|
|
26
|
+
})),
|
|
27
|
+
features: features.map((f) => ({
|
|
28
|
+
name: f.name,
|
|
29
|
+
maturity: f.maturity,
|
|
30
|
+
concepts: f.concepts,
|
|
31
|
+
})),
|
|
32
|
+
architectureDecisions: adrs.map((a) => ({
|
|
33
|
+
title: a.title,
|
|
34
|
+
decision: a.decision,
|
|
35
|
+
})),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Look up a concept by term, returning structured ontology data.
|
|
40
|
+
*/
|
|
41
|
+
export function getOntologyConcept(memory, term) {
|
|
42
|
+
const normalized = term.toLowerCase().trim();
|
|
43
|
+
// Try alias first
|
|
44
|
+
const alias = memory.ontology.aliases.find((a) => a.term.toLowerCase() === normalized);
|
|
45
|
+
const conceptId = alias?.conceptId;
|
|
46
|
+
const concept = conceptId
|
|
47
|
+
? memory.ontology.concepts.find((c) => c.id === conceptId)
|
|
48
|
+
: memory.ontology.concepts.find((c) => c.displayName.toLowerCase() === normalized);
|
|
49
|
+
if (!concept) {
|
|
50
|
+
return { found: false };
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
found: true,
|
|
54
|
+
displayName: concept.displayName,
|
|
55
|
+
description: concept.description,
|
|
56
|
+
meanings: concept.meanings.map((m) => ({
|
|
57
|
+
label: m.label,
|
|
58
|
+
description: m.description,
|
|
59
|
+
})),
|
|
60
|
+
fileHints: concept.fileHints,
|
|
61
|
+
disambiguationPrompt: concept.disambiguationPrompt,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Generate a task-aware agent preamble. Convenience wrapper.
|
|
66
|
+
*/
|
|
67
|
+
export function getAgentPreamble(memory, taskText, options) {
|
|
68
|
+
return buildBrokerPreamble(memory, taskText, options);
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=memory-lookup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-lookup.js","sourceRoot":"","sources":["../../src/broker/memory-lookup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { CodeLedgerMemory } from '@codeledger/types';
|
|
2
|
+
export interface BrokerPreambleOptions {
|
|
3
|
+
maxRecentTruth?: number;
|
|
4
|
+
maxSafeZones?: number;
|
|
5
|
+
maxFileHints?: number;
|
|
6
|
+
maxFeatures?: number;
|
|
7
|
+
maxADRs?: number;
|
|
8
|
+
maxNeighborhoods?: number;
|
|
9
|
+
anchorIds?: string[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Generate a compact, decision-grade preamble suitable for injection
|
|
13
|
+
* into a browser/web/IDE agent's context window.
|
|
14
|
+
*
|
|
15
|
+
* This is the single-call convenience function for agents that just
|
|
16
|
+
* need a preamble string without parsing the full structured response.
|
|
17
|
+
*/
|
|
18
|
+
export declare function buildBrokerPreamble(memory: CodeLedgerMemory, taskText: string, options?: BrokerPreambleOptions): string;
|
|
19
|
+
//# sourceMappingURL=preamble.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preamble.d.ts","sourceRoot":"","sources":["../../src/broker/preamble.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,qBAA0B,GAClC,MAAM,CAGR"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { resolveTaskContext } from './task-resolution.js';
|
|
2
|
+
/**
|
|
3
|
+
* Generate a compact, decision-grade preamble suitable for injection
|
|
4
|
+
* into a browser/web/IDE agent's context window.
|
|
5
|
+
*
|
|
6
|
+
* This is the single-call convenience function for agents that just
|
|
7
|
+
* need a preamble string without parsing the full structured response.
|
|
8
|
+
*/
|
|
9
|
+
export function buildBrokerPreamble(memory, taskText, options = {}) {
|
|
10
|
+
const response = resolveTaskContext(memory, taskText, options);
|
|
11
|
+
return response.preamble;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=preamble.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preamble.js","sourceRoot":"","sources":["../../src/broker/preamble.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAY1D;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAwB,EACxB,QAAgB,EAChB,UAAiC,EAAE;IAEnC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/D,OAAO,QAAQ,CAAC,QAAQ,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CodeLedgerMemory, BrokerNeighborhoodResponse } from '@codeledger/types';
|
|
2
|
+
/**
|
|
3
|
+
* Look up the wiring neighborhood for a given target anchor.
|
|
4
|
+
*/
|
|
5
|
+
export declare function getNeighborhood(memory: CodeLedgerMemory, target: string): BrokerNeighborhoodResponse;
|
|
6
|
+
/**
|
|
7
|
+
* Build a compact manifest for a target's neighborhood.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getNeighborhoodManifest(memory: CodeLedgerMemory, target: string): BrokerNeighborhoodResponse;
|
|
10
|
+
//# sourceMappingURL=structural.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structural.d.ts","sourceRoot":"","sources":["../../src/broker/structural.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,MAAM,GACb,0BAA0B,CAoB5B;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,MAAM,GACb,0BAA0B,CAE5B"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Look up the wiring neighborhood for a given target anchor.
|
|
3
|
+
*/
|
|
4
|
+
export function getNeighborhood(memory, target) {
|
|
5
|
+
const neighborhood = memory.structure.neighborhoods.find((n) => n.anchor.id === target);
|
|
6
|
+
if (!neighborhood) {
|
|
7
|
+
// Try fuzzy match: check if target appears in any anchor ID
|
|
8
|
+
const fuzzy = memory.structure.neighborhoods.find((n) => n.anchor.id.includes(target) || target.includes(n.anchor.id));
|
|
9
|
+
if (!fuzzy) {
|
|
10
|
+
return {
|
|
11
|
+
target,
|
|
12
|
+
upstream: [],
|
|
13
|
+
downstream: [],
|
|
14
|
+
summary: `No neighborhood found for '${target}'.`,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
return buildResponse(target, fuzzy);
|
|
18
|
+
}
|
|
19
|
+
return buildResponse(target, neighborhood);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Build a compact manifest for a target's neighborhood.
|
|
23
|
+
*/
|
|
24
|
+
export function getNeighborhoodManifest(memory, target) {
|
|
25
|
+
return getNeighborhood(memory, target);
|
|
26
|
+
}
|
|
27
|
+
function buildResponse(target, neighborhood) {
|
|
28
|
+
const parts = [`${neighborhood.anchor.type} '${neighborhood.anchor.id}'`];
|
|
29
|
+
if (neighborhood.upstream.length > 0) {
|
|
30
|
+
parts.push(`receives from: ${neighborhood.upstream.join(', ')}`);
|
|
31
|
+
}
|
|
32
|
+
if (neighborhood.downstream.length > 0) {
|
|
33
|
+
parts.push(`feeds into: ${neighborhood.downstream.join(', ')}`);
|
|
34
|
+
}
|
|
35
|
+
if (neighborhood.immutableWires && neighborhood.immutableWires.length > 0) {
|
|
36
|
+
parts.push(`immutable wires: ${neighborhood.immutableWires.join(', ')}`);
|
|
37
|
+
}
|
|
38
|
+
if (neighborhood.trustReason) {
|
|
39
|
+
parts.push(`trust: ${neighborhood.trustLevel} — ${neighborhood.trustReason}`);
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
target,
|
|
43
|
+
upstream: neighborhood.upstream,
|
|
44
|
+
downstream: neighborhood.downstream,
|
|
45
|
+
immutableWires: neighborhood.immutableWires,
|
|
46
|
+
relatedContracts: neighborhood.sharedContracts,
|
|
47
|
+
relatedTests: neighborhood.relatedTests,
|
|
48
|
+
trustLevel: neighborhood.trustLevel,
|
|
49
|
+
summary: parts.join('; '),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=structural.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structural.js","sourceRoot":"","sources":["../../src/broker/structural.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAwB,EACxB,MAAc;IAEd,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IAExF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,4DAA4D;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CACpE,CAAC;QACF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;gBACL,MAAM;gBACN,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,8BAA8B,MAAM,IAAI;aAClD,CAAC;QACJ,CAAC;QACD,OAAO,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAwB,EACxB,MAAc;IAEd,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,aAAa,CACpB,MAAc,EACd,YAAoE;IAEpE,MAAM,KAAK,GAAa,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;IAEpF,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,kBAAkB,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,eAAe,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,YAAY,CAAC,cAAc,IAAI,YAAY,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1E,KAAK,CAAC,IAAI,CAAC,oBAAoB,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,UAAU,YAAY,CAAC,UAAU,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,OAAO;QACL,MAAM;QACN,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,cAAc,EAAE,YAAY,CAAC,cAAc;QAC3C,gBAAgB,EAAE,YAAY,CAAC,eAAe;QAC9C,YAAY,EAAE,YAAY,CAAC,YAAY;QACvC,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;KAC1B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { CodeLedgerMemory, BrokerTaskContextResponse } from '@codeledger/types';
|
|
2
|
+
export interface TaskResolutionOptions {
|
|
3
|
+
maxRecentTruth?: number;
|
|
4
|
+
maxSafeZones?: number;
|
|
5
|
+
maxFileHints?: number;
|
|
6
|
+
maxFeatures?: number;
|
|
7
|
+
maxADRs?: number;
|
|
8
|
+
maxNeighborhoods?: number;
|
|
9
|
+
anchorIds?: string[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Resolve a task description into structured context from all ledgers.
|
|
13
|
+
*
|
|
14
|
+
* This is the primary broker entry point for task resolution.
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveTaskContext(memory: CodeLedgerMemory, taskText: string, options?: TaskResolutionOptions): BrokerTaskContextResponse;
|
|
17
|
+
//# sourceMappingURL=task-resolution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-resolution.d.ts","sourceRoot":"","sources":["../../src/broker/task-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EAS1B,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAuKD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,qBAA0B,GAClC,yBAAyB,CAgG3B"}
|