@cleocode/core 2026.11.1-canary.7 → 2026.11.1-canary.9
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/.source-stamp.json +1 -1
- package/dist/adapters/adapter-registry.js +2 -1
- package/dist/adapters/adapter-registry.js.map +1 -1
- package/dist/adapters/discovery.d.ts +9 -3
- package/dist/adapters/discovery.js +20 -6
- package/dist/adapters/discovery.js.map +1 -1
- package/dist/adapters/manager.d.ts +1 -1
- package/dist/adapters/manager.js +3 -3
- package/dist/adapters/manager.js.map +1 -1
- package/dist/agents/agent-capacity-tracker.d.ts +4 -4
- package/dist/agents/agent-capacity-tracker.js +6 -4
- package/dist/agents/agent-capacity-tracker.js.map +1 -1
- package/dist/agents/capacity.d.ts +1 -1
- package/dist/agents/capacity.js +3 -1
- package/dist/agents/capacity.js.map +1 -1
- package/dist/agents/ensure-agent-definitions.d.ts +106 -0
- package/dist/agents/ensure-agent-definitions.js +212 -0
- package/dist/agents/ensure-agent-definitions.js.map +1 -0
- package/dist/agents/execution-learning.d.ts +2 -1
- package/dist/agents/execution-learning.js +2 -1
- package/dist/agents/execution-learning.js.map +1 -1
- package/dist/agents/health-monitor.d.ts +1 -1
- package/dist/agents/health-monitor.js +1 -1
- package/dist/agents/index.d.ts +1 -1
- package/dist/agents/index.js +5 -3
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/registry.d.ts +3 -3
- package/dist/agents/registry.js +6 -3
- package/dist/agents/registry.js.map +1 -1
- package/dist/agents/resolveAgentTemplates.d.ts +10 -0
- package/dist/agents/resolveAgentTemplates.js +23 -7
- package/dist/agents/resolveAgentTemplates.js.map +1 -1
- package/dist/build-provenance.json +2 -2
- package/dist/check/pr-gate.js +5 -5
- package/dist/check/pr-gate.js.map +1 -1
- package/dist/conduit/index.d.ts +0 -1
- package/dist/conduit/index.js.map +1 -1
- package/dist/config/legacy-keys.d.ts +62 -0
- package/dist/config/legacy-keys.js +117 -0
- package/dist/config/legacy-keys.js.map +1 -0
- package/dist/config/registry.js +25 -6
- package/dist/config/registry.js.map +1 -1
- package/dist/config.js +24 -4
- package/dist/config.js.map +1 -1
- package/dist/doctor/knowledge-summary.d.ts +11 -1
- package/dist/doctor/knowledge-summary.js +7 -4
- package/dist/doctor/knowledge-summary.js.map +1 -1
- package/dist/gateway-client/generated/index.d.ts +2 -2
- package/dist/gateway-client/generated/index.js +1 -1
- package/dist/gateway-client/generated/index.js.map +1 -1
- package/dist/gateway-client/generated/namespaces.gen.d.ts +0 -11
- package/dist/gateway-client/generated/namespaces.gen.js +1 -12
- package/dist/gateway-client/generated/namespaces.gen.js.map +1 -1
- package/dist/gateway-client/generated/sdk.gen.d.ts +1 -37
- package/dist/gateway-client/generated/sdk.gen.js +0 -85
- package/dist/gateway-client/generated/sdk.gen.js.map +1 -1
- package/dist/gateway-client/generated/types.gen.d.ts +0 -308
- package/dist/git/hooks-install.d.ts +24 -0
- package/dist/git/hooks-install.js +43 -0
- package/dist/git/hooks-install.js.map +1 -1
- package/dist/harness/spawn-provider-selection.js +6 -5
- package/dist/harness/spawn-provider-selection.js.map +1 -1
- package/dist/init.d.ts +7 -7
- package/dist/init.js +27 -86
- package/dist/init.js.map +1 -1
- package/dist/internal.d.ts +3 -1
- package/dist/internal.js +2 -1
- package/dist/internal.js.map +1 -1
- package/dist/memory/graph-memory-bridge.d.ts +0 -30
- package/dist/memory/graph-memory-bridge.js +0 -162
- package/dist/memory/graph-memory-bridge.js.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +2 -2
- package/dist/nexus/analyze-orchestrator.js.map +1 -1
- package/dist/nexus/api-contracts.d.ts +1 -11
- package/dist/nexus/api-contracts.js +1 -18
- package/dist/nexus/api-contracts.js.map +1 -1
- package/dist/nexus/impact.d.ts +11 -1
- package/dist/nexus/impact.js +31 -11
- package/dist/nexus/impact.js.map +1 -1
- package/dist/nexus/index.d.ts +1 -1
- package/dist/nexus/index.js +1 -1
- package/dist/nexus/index.js.map +1 -1
- package/dist/nexus/knowledge.d.ts +30 -1
- package/dist/nexus/knowledge.js +175 -29
- package/dist/nexus/knowledge.js.map +1 -1
- package/dist/nexus/ops.d.ts +0 -1
- package/dist/nexus/projects-scan.js +2 -2
- package/dist/nexus/projects-scan.js.map +1 -1
- package/dist/nexus/refresh-child.d.ts +1 -1
- package/dist/nexus/refresh-child.js +3 -0
- package/dist/nexus/refresh-child.js.map +1 -1
- package/dist/nexus/reindex-on-merge.d.ts +14 -0
- package/dist/nexus/reindex-on-merge.js +23 -4
- package/dist/nexus/reindex-on-merge.js.map +1 -1
- package/dist/orchestrate/agentmbx.d.ts +183 -0
- package/dist/orchestrate/agentmbx.js +268 -0
- package/dist/orchestrate/agentmbx.js.map +1 -0
- package/dist/orchestrate/dispatch-workers.d.ts +52 -0
- package/dist/orchestrate/dispatch-workers.js +66 -0
- package/dist/orchestrate/dispatch-workers.js.map +1 -0
- package/dist/orchestrate/lead-records-dir.d.ts +23 -0
- package/dist/orchestrate/lead-records-dir.js +31 -0
- package/dist/orchestrate/lead-records-dir.js.map +1 -0
- package/dist/orchestrate/lead-records.d.ts +126 -0
- package/dist/orchestrate/lead-records.js +203 -0
- package/dist/orchestrate/lead-records.js.map +1 -0
- package/dist/orchestrate/lead.d.ts +106 -0
- package/dist/orchestrate/lead.js +262 -0
- package/dist/orchestrate/lead.js.map +1 -0
- package/dist/orchestrate/query-ops.d.ts +2 -1
- package/dist/orchestrate/query-ops.js +31 -3
- package/dist/orchestrate/query-ops.js.map +1 -1
- package/dist/orchestrate/spawn-ops.d.ts +44 -1
- package/dist/orchestrate/spawn-ops.js +181 -35
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestrate/worker-records.d.ts +176 -0
- package/dist/orchestrate/worker-records.js +335 -0
- package/dist/orchestrate/worker-records.js.map +1 -0
- package/dist/orchestration/index.js +2 -0
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/lead-command-runner.d.ts +85 -0
- package/dist/orchestration/lead-command-runner.js +274 -0
- package/dist/orchestration/lead-command-runner.js.map +1 -0
- package/dist/orchestration/spawn-prompt.d.ts +12 -0
- package/dist/orchestration/spawn-prompt.js +38 -5
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/orchestration/spawn.d.ts +3 -0
- package/dist/orchestration/spawn.js +22 -0
- package/dist/orchestration/spawn.js.map +1 -1
- package/dist/orchestration/worker-policy.d.ts +28 -0
- package/dist/orchestration/worker-policy.js +77 -0
- package/dist/orchestration/worker-policy.js.map +1 -0
- package/dist/registrations.d.ts +0 -1
- package/dist/registrations.js +4 -1
- package/dist/registrations.js.map +1 -1
- package/dist/release/index.d.ts +1 -1
- package/dist/release/index.js +1 -1
- package/dist/release/index.js.map +1 -1
- package/dist/release/invariants/archive-reason-invariant.d.ts +3 -2
- package/dist/release/invariants/archive-reason-invariant.js +3 -2
- package/dist/release/invariants/archive-reason-invariant.js.map +1 -1
- package/dist/release/invariants/index.d.ts +18 -5
- package/dist/release/invariants/index.js +20 -8
- package/dist/release/invariants/index.js.map +1 -1
- package/dist/release/invariants/registry.js +3 -2
- package/dist/release/invariants/registry.js.map +1 -1
- package/dist/render/nexus/contracts/index.d.ts +1 -5
- package/dist/render/nexus/contracts/index.js +1 -13
- package/dist/render/nexus/contracts/index.js.map +1 -1
- package/dist/resources/admission-ledger.d.ts +3 -1
- package/dist/resources/admission-ledger.js +7 -3
- package/dist/resources/admission-ledger.js.map +1 -1
- package/dist/resources/run-class.js +29 -2
- package/dist/resources/run-class.js.map +1 -1
- package/dist/security/review-workers-setting.d.ts +70 -0
- package/dist/security/review-workers-setting.js +128 -0
- package/dist/security/review-workers-setting.js.map +1 -0
- package/dist/sentient/daemon-entry.d.ts +1 -1
- package/dist/sentient/daemon-entry.js +4 -0
- package/dist/sentient/daemon-entry.js.map +1 -1
- package/dist/sentient/dream-cycle.js +1 -1
- package/dist/sentient/dream-cycle.js.map +1 -1
- package/dist/sentient/hygiene-scan.js +1 -1
- package/dist/sentient/hygiene-scan.js.map +1 -1
- package/dist/sentient/ops.js +3 -3
- package/dist/sentient/ops.js.map +1 -1
- package/dist/sentient/propose-tick.js +5 -5
- package/dist/sentient/propose-tick.js.map +1 -1
- package/dist/sentient/stage-drift-tick.js +1 -1
- package/dist/sentient/stage-drift-tick.js.map +1 -1
- package/dist/sentient/tick.js +1 -1
- package/dist/sentient/tick.js.map +1 -1
- package/dist/skills/orchestrator/startup.js +6 -1
- package/dist/skills/orchestrator/startup.js.map +1 -1
- package/dist/spawn/adapter-registry.d.ts +7 -3
- package/dist/spawn/adapter-registry.js +55 -6
- package/dist/spawn/adapter-registry.js.map +1 -1
- package/dist/store/cross-db-cleanup.d.ts +1 -1
- package/dist/store/cross-db-cleanup.js +1 -1
- package/dist/store/row-identity-registry.d.ts +1 -1
- package/dist/store/row-identity-registry.js +2 -1
- package/dist/store/row-identity-registry.js.map +1 -1
- package/dist/store/session-store.js +3 -0
- package/dist/store/session-store.js.map +1 -1
- package/dist/store/twin-collapse.d.ts +11 -1
- package/dist/store/twin-collapse.js +90 -8
- package/dist/store/twin-collapse.js.map +1 -1
- package/dist/tasks/affected-packages.d.ts +6 -1
- package/dist/tasks/affected-packages.js +25 -0
- package/dist/tasks/affected-packages.js.map +1 -1
- package/dist/tasks/affected-tests.d.ts +110 -0
- package/dist/tasks/affected-tests.js +589 -0
- package/dist/tasks/affected-tests.js.map +1 -0
- package/dist/tasks/done-plan.js +3 -1
- package/dist/tasks/done-plan.js.map +1 -1
- package/dist/tasks/evidence.js +8 -4
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/merge-train.d.ts +12 -1
- package/dist/tasks/merge-train.js +32 -17
- package/dist/tasks/merge-train.js.map +1 -1
- package/dist/tasks/review-dispatch.d.ts +146 -0
- package/dist/tasks/review-dispatch.js +433 -0
- package/dist/tasks/review-dispatch.js.map +1 -0
- package/dist/tasks/review-verdict.d.ts +70 -1
- package/dist/tasks/review-verdict.js +177 -5
- package/dist/tasks/review-verdict.js.map +1 -1
- package/dist/upgrade.js +34 -10
- package/dist/upgrade.js.map +1 -1
- package/dist/validation/doctor/checks.js +1 -1
- package/dist/validation/doctor/checks.js.map +1 -1
- package/dist/validation/schema-integrity.js +5 -1
- package/dist/validation/schema-integrity.js.map +1 -1
- package/package.json +12 -12
- package/schemas/config.schema.json +61 -9
- package/templates/config.template.json +1 -1
- package/dist/conduit/ops.d.ts +0 -41
- package/dist/conduit/ops.js +0 -16
- package/dist/conduit/ops.js.map +0 -1
package/dist/.source-stamp.json
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* @task T5698
|
|
11
11
|
*/
|
|
12
12
|
import { join } from 'node:path';
|
|
13
|
+
import { pathToFileURL } from 'node:url';
|
|
13
14
|
/**
|
|
14
15
|
* Validate that a loaded module export implements the CLEOProviderAdapter interface.
|
|
15
16
|
* Checks for required methods and properties without relying on instanceof.
|
|
@@ -39,7 +40,7 @@ export function isValidAdapter(adapter) {
|
|
|
39
40
|
*/
|
|
40
41
|
export async function loadAdapterFromManifest(manifest) {
|
|
41
42
|
const modulePath = join(manifest.packagePath, manifest.entryPoint);
|
|
42
|
-
const adapterModule = await import(modulePath);
|
|
43
|
+
const adapterModule = await import(pathToFileURL(modulePath).href);
|
|
43
44
|
// Prefer createAdapter() factory (all adapter packages export this)
|
|
44
45
|
if (typeof adapterModule.createAdapter === 'function') {
|
|
45
46
|
const adapter = adapterModule.createAdapter();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-registry.js","sourceRoot":"","sources":["../../src/adapters/adapter-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter-registry.js","sourceRoot":"","sources":["../../src/adapters/adapter-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClE,MAAM,GAAG,GAAG,OAAkC,CAAC;IAC/C,OAAO,CACL,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ;QAC1B,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC5B,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;QAC/B,OAAO,GAAG,CAAC,UAAU,KAAK,UAAU;QACpC,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU;QACjC,OAAO,GAAG,CAAC,WAAW,KAAK,UAAU;QACrC,GAAG,CAAC,YAAY,KAAK,IAAI;QACzB,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,CACrC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAAyB;IAEzB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACnE,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;IAEnE,oEAAoE;IACpE,IAAI,OAAO,aAAa,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC;QAC9C,IAAI,cAAc,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,CAAC,EAAE,6CAA6C,CAAC,CAAC;IAClG,CAAC;IAED,2DAA2D;IAC3D,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC;QAC5C,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;YACpC,IAAI,cAAc,CAAC,OAAO,CAAC;gBAAE,OAAO,OAAO,CAAC;QAC9C,CAAC;aAAM,IAAI,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;YACzC,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,sBAAsB,QAAQ,CAAC,EAAE,qDAAqD,CACvF,CAAC;AACJ,CAAC"}
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Adapter discovery:
|
|
2
|
+
* Adapter discovery: resolves bundled adapters and optional project adapters.
|
|
3
3
|
* Reads adapter manifests and detects active providers in the current environment.
|
|
4
4
|
*
|
|
5
5
|
* @task T5240
|
|
6
6
|
*/
|
|
7
7
|
import type { AdapterManifest, DetectionPattern } from '@cleocode/contracts';
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* Discover bundled adapters independently of the project layout, then append
|
|
10
|
+
* optional project adapters from packages/adapters/<id>/manifest.json.
|
|
11
|
+
* Bundled adapter IDs take precedence over project manifests.
|
|
11
12
|
*/
|
|
12
13
|
export declare function discoverAdapterManifests(projectRoot: string): AdapterManifest[];
|
|
14
|
+
/**
|
|
15
|
+
* Discover only explicit project adapters for session activation.
|
|
16
|
+
* Bundled spawn adapters must not implicitly install provider hooks.
|
|
17
|
+
*/
|
|
18
|
+
export declare function discoverProjectAdapterManifests(projectRoot: string): AdapterManifest[];
|
|
13
19
|
/**
|
|
14
20
|
* Detect whether a provider is active in the current environment
|
|
15
21
|
* by checking its detection patterns.
|
|
@@ -1,21 +1,35 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Adapter discovery:
|
|
2
|
+
* Adapter discovery: resolves bundled adapters and optional project adapters.
|
|
3
3
|
* Reads adapter manifests and detects active providers in the current environment.
|
|
4
4
|
*
|
|
5
5
|
* @task T5240
|
|
6
6
|
*/
|
|
7
7
|
import { existsSync, readdirSync, readFileSync } from 'node:fs';
|
|
8
8
|
import { join, resolve } from 'node:path';
|
|
9
|
+
import { getProviderManifests } from '@cleocode/adapters/manifests';
|
|
9
10
|
import { findOnPath } from '@cleocode/paths';
|
|
10
11
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
12
|
+
* Discover bundled adapters independently of the project layout, then append
|
|
13
|
+
* optional project adapters from packages/adapters/<id>/manifest.json.
|
|
14
|
+
* Bundled adapter IDs take precedence over project manifests.
|
|
13
15
|
*/
|
|
14
16
|
export function discoverAdapterManifests(projectRoot) {
|
|
17
|
+
const manifests = getProviderManifests();
|
|
18
|
+
for (const manifest of discoverProjectAdapterManifests(projectRoot)) {
|
|
19
|
+
if (!manifests.some((bundled) => bundled.id === manifest.id))
|
|
20
|
+
manifests.push(manifest);
|
|
21
|
+
}
|
|
22
|
+
return manifests;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Discover only explicit project adapters for session activation.
|
|
26
|
+
* Bundled spawn adapters must not implicitly install provider hooks.
|
|
27
|
+
*/
|
|
28
|
+
export function discoverProjectAdapterManifests(projectRoot) {
|
|
29
|
+
const manifests = [];
|
|
15
30
|
const adaptersDir = resolve(projectRoot, 'packages', 'adapters');
|
|
16
31
|
if (!existsSync(adaptersDir))
|
|
17
|
-
return
|
|
18
|
-
const manifests = [];
|
|
32
|
+
return manifests;
|
|
19
33
|
let entries;
|
|
20
34
|
try {
|
|
21
35
|
entries = readdirSync(adaptersDir, { withFileTypes: true })
|
|
@@ -23,7 +37,7 @@ export function discoverAdapterManifests(projectRoot) {
|
|
|
23
37
|
.map((d) => d.name);
|
|
24
38
|
}
|
|
25
39
|
catch {
|
|
26
|
-
return
|
|
40
|
+
return manifests;
|
|
27
41
|
}
|
|
28
42
|
for (const dir of entries) {
|
|
29
43
|
const adapterDir = join(adaptersDir, dir);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/adapters/discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/adapters/discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,7 @@ export declare class AdapterManager {
|
|
|
36
36
|
/** Reset singleton (for testing). */
|
|
37
37
|
static resetInstance(): void;
|
|
38
38
|
/**
|
|
39
|
-
* Discover adapter manifests
|
|
39
|
+
* Discover only explicit project adapter manifests for activation.
|
|
40
40
|
* Returns manifests found (does not load adapter code yet).
|
|
41
41
|
*/
|
|
42
42
|
discover(): AdapterManifest[];
|
package/dist/adapters/manager.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { hooks } from '../hooks/registry.js';
|
|
9
9
|
import { getLogger } from '../logger.js';
|
|
10
10
|
import { loadAdapterFromManifest } from './adapter-registry.js';
|
|
11
|
-
import { detectProvider,
|
|
11
|
+
import { detectProvider, discoverProjectAdapterManifests } from './discovery.js';
|
|
12
12
|
const log = getLogger('adapter-manager');
|
|
13
13
|
/**
|
|
14
14
|
* Central adapter manager. Singleton per process.
|
|
@@ -40,11 +40,11 @@ export class AdapterManager {
|
|
|
40
40
|
AdapterManager.instance = null;
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
|
-
* Discover adapter manifests
|
|
43
|
+
* Discover only explicit project adapter manifests for activation.
|
|
44
44
|
* Returns manifests found (does not load adapter code yet).
|
|
45
45
|
*/
|
|
46
46
|
discover() {
|
|
47
|
-
const found =
|
|
47
|
+
const found = discoverProjectAdapterManifests(this.projectRoot);
|
|
48
48
|
for (const manifest of found) {
|
|
49
49
|
this.manifests.set(manifest.id, manifest);
|
|
50
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/adapters/manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/adapters/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Agent registry with capacity tracking for load balancing.
|
|
3
3
|
*
|
|
4
4
|
* Provides task-count-based capacity queries, specialization lookup,
|
|
5
|
-
* and performance recording on top of the
|
|
5
|
+
* and performance recording on top of the `tasks_agent_instances` table.
|
|
6
6
|
*
|
|
7
7
|
* Capacity model: each agent has a maximum of {@link MAX_TASKS_PER_AGENT}
|
|
8
8
|
* concurrent tasks. "Remaining capacity" is that constant minus the number of
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* @task T041
|
|
20
20
|
* @epic T038
|
|
21
21
|
*/
|
|
22
|
-
import {
|
|
22
|
+
import type { AgentInstanceRow, AgentType } from '../store/schema/agent-schema.js';
|
|
23
23
|
import { type AgentExecutionOutcome } from './execution-learning.js';
|
|
24
24
|
/**
|
|
25
25
|
* Maximum number of tasks that can be concurrently assigned to one agent.
|
|
@@ -71,7 +71,7 @@ export interface AgentPerformanceMetrics {
|
|
|
71
71
|
*
|
|
72
72
|
* Remaining capacity = {@link MAX_TASKS_PER_AGENT} minus the number of tasks
|
|
73
73
|
* currently routed to this agent instance (tracked via the `task_id` column
|
|
74
|
-
* on `
|
|
74
|
+
* on `tasks_agent_instances` — each instance handles one task at a time; child agents
|
|
75
75
|
* spawned by an orchestrator appear as sibling rows referencing the same
|
|
76
76
|
* `parent_agent_id`).
|
|
77
77
|
*
|
|
@@ -179,7 +179,7 @@ export declare function updateAgentSpecializations(agentId: string, specializati
|
|
|
179
179
|
* Translates a simplified {@link AgentPerformanceMetrics} object into the
|
|
180
180
|
* {@link AgentExecutionEvent} format expected by `execution-learning.ts` and
|
|
181
181
|
* delegates to {@link recordAgentExecution}. The agent type is resolved from
|
|
182
|
-
* the `
|
|
182
|
+
* the `tasks_agent_instances` table so callers only need to supply the agent ID.
|
|
183
183
|
*
|
|
184
184
|
* @remarks
|
|
185
185
|
* Recording is best-effort — if brain.db is unavailable the error is swallowed
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Agent registry with capacity tracking for load balancing.
|
|
3
3
|
*
|
|
4
4
|
* Provides task-count-based capacity queries, specialization lookup,
|
|
5
|
-
* and performance recording on top of the
|
|
5
|
+
* and performance recording on top of the `tasks_agent_instances` table.
|
|
6
6
|
*
|
|
7
7
|
* Capacity model: each agent has a maximum of {@link MAX_TASKS_PER_AGENT}
|
|
8
8
|
* concurrent tasks. "Remaining capacity" is that constant minus the number of
|
|
@@ -20,7 +20,9 @@
|
|
|
20
20
|
* @epic T038
|
|
21
21
|
*/
|
|
22
22
|
import { and, eq, inArray } from 'drizzle-orm';
|
|
23
|
-
|
|
23
|
+
// T14387: the live table is the prefixed twin. The bare `agent_instances` carries FKs to the
|
|
24
|
+
// bare `tasks`/`sessions` decoys, so every task- or session-bound row there failed its FK check.
|
|
25
|
+
import { tasksAgentInstances as agentInstances } from '../store/schema/cleo-project/runtime.js';
|
|
24
26
|
import { getDb } from '../store/sqlite.js';
|
|
25
27
|
import { recordAgentExecution, } from './execution-learning.js';
|
|
26
28
|
import { listAgentInstances } from './registry.js';
|
|
@@ -40,7 +42,7 @@ export const MAX_TASKS_PER_AGENT = 5;
|
|
|
40
42
|
*
|
|
41
43
|
* Remaining capacity = {@link MAX_TASKS_PER_AGENT} minus the number of tasks
|
|
42
44
|
* currently routed to this agent instance (tracked via the `task_id` column
|
|
43
|
-
* on `
|
|
45
|
+
* on `tasks_agent_instances` — each instance handles one task at a time; child agents
|
|
44
46
|
* spawned by an orchestrator appear as sibling rows referencing the same
|
|
45
47
|
* `parent_agent_id`).
|
|
46
48
|
*
|
|
@@ -238,7 +240,7 @@ export async function updateAgentSpecializations(agentId, specializations, cwd)
|
|
|
238
240
|
* Translates a simplified {@link AgentPerformanceMetrics} object into the
|
|
239
241
|
* {@link AgentExecutionEvent} format expected by `execution-learning.ts` and
|
|
240
242
|
* delegates to {@link recordAgentExecution}. The agent type is resolved from
|
|
241
|
-
* the `
|
|
243
|
+
* the `tasks_agent_instances` table so callers only need to supply the agent ID.
|
|
242
244
|
*
|
|
243
245
|
* @remarks
|
|
244
246
|
* Recording is best-effort — if brain.db is unavailable the error is swallowed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-capacity-tracker.js","sourceRoot":"","sources":["../../src/agents/agent-capacity-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-capacity-tracker.js","sourceRoot":"","sources":["../../src/agents/agent-capacity-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module agents/capacity
|
|
8
8
|
*/
|
|
9
|
-
import {
|
|
9
|
+
import type { AgentInstanceRow, AgentType } from '../store/schema/agent-schema.js';
|
|
10
10
|
/**
|
|
11
11
|
* Update the capacity value for an agent instance.
|
|
12
12
|
*
|
package/dist/agents/capacity.js
CHANGED
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
* @module agents/capacity
|
|
8
8
|
*/
|
|
9
9
|
import { eq } from 'drizzle-orm';
|
|
10
|
-
|
|
10
|
+
// T14387: the live table is the prefixed twin. The bare `agent_instances` carries FKs to the
|
|
11
|
+
// bare `tasks`/`sessions` decoys, so every task- or session-bound row there failed its FK check.
|
|
12
|
+
import { tasksAgentInstances as agentInstances } from '../store/schema/cleo-project/runtime.js';
|
|
11
13
|
import { getDb } from '../store/sqlite.js';
|
|
12
14
|
import { listAgentInstances } from './registry.js';
|
|
13
15
|
// ============================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capacity.js","sourceRoot":"","sources":["../../src/agents/capacity.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"capacity.js","sourceRoot":"","sources":["../../src/agents/capacity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Install the canonical CLEO lead and worker agent definitions into every
|
|
3
|
+
* detected provider that loads project agent files (T14378).
|
|
4
|
+
*
|
|
5
|
+
* Replaces the dead `initAgentDefinition`, which looked for an
|
|
6
|
+
* `agents/cleo-subagent/` directory no package ships and so skipped on every
|
|
7
|
+
* run. Provider facts (agent directory, file format) and rendering live in
|
|
8
|
+
* CAAMP; the canonical `.cant` definitions live in `@cleocode/agents`
|
|
9
|
+
* (`definitions/`); this module only orchestrates the writes for init and
|
|
10
|
+
* upgrade.
|
|
11
|
+
*
|
|
12
|
+
* Idempotent: a file that already holds the rendered content is left alone,
|
|
13
|
+
* and a file without CAAMP's generated marker belongs to the user and is
|
|
14
|
+
* never overwritten.
|
|
15
|
+
*
|
|
16
|
+
* @module agents/ensure-agent-definitions
|
|
17
|
+
* @task T14378
|
|
18
|
+
* @epic T14351
|
|
19
|
+
*/
|
|
20
|
+
import type { AgentDefinition, Provider } from '@cleocode/caamp';
|
|
21
|
+
import { type UpgradeFileJournal } from '../scaffold/upgrade-file-journal.js';
|
|
22
|
+
/** What happened to one provider's agent file, or to a provider as a whole. */
|
|
23
|
+
export interface AgentDefinitionOutcome {
|
|
24
|
+
/** Provider id. */
|
|
25
|
+
readonly provider: string;
|
|
26
|
+
/**
|
|
27
|
+
* - `created` / `updated` / `unchanged`: the rendered file at `path`.
|
|
28
|
+
* - `user-owned`: `path` exists without CAAMP's marker and was left alone.
|
|
29
|
+
* - `unsupported`: the provider has no verified project agent-file support,
|
|
30
|
+
* or (with `agent` and `reason`) its format cannot express that agent's
|
|
31
|
+
* tool policy, so the file is not written (T14374).
|
|
32
|
+
* - `failed`: rendering or writing failed (`reason`).
|
|
33
|
+
*/
|
|
34
|
+
readonly status: 'created' | 'updated' | 'unchanged' | 'user-owned' | 'unsupported' | 'failed';
|
|
35
|
+
/** Agent name, for per-file outcomes. */
|
|
36
|
+
readonly agent?: string;
|
|
37
|
+
/** Absolute file path, for per-file outcomes. */
|
|
38
|
+
readonly path?: string;
|
|
39
|
+
/** Why, for `failed` and a per-agent `unsupported`. */
|
|
40
|
+
readonly reason?: string;
|
|
41
|
+
}
|
|
42
|
+
/** Result of {@link ensureAgentDefinitions}. */
|
|
43
|
+
export interface AgentDefinitionsReport {
|
|
44
|
+
/** Set when nothing was attempted, with the reason. */
|
|
45
|
+
readonly skipped?: string;
|
|
46
|
+
/** One outcome per provider file, plus one per unsupported provider. */
|
|
47
|
+
readonly outcomes: readonly AgentDefinitionOutcome[];
|
|
48
|
+
}
|
|
49
|
+
/** Options for {@link ensureAgentDefinitions}. */
|
|
50
|
+
export interface EnsureAgentDefinitionsOptions {
|
|
51
|
+
/** Providers to deliver to. @defaultValue CAAMP's installed (detected) providers */
|
|
52
|
+
readonly providers?: readonly Provider[];
|
|
53
|
+
/** Upgrade journal: changed files are backed up before they are replaced. */
|
|
54
|
+
readonly journal?: UpgradeFileJournal;
|
|
55
|
+
/** Directory of canonical `.cant` definitions. @defaultValue `@cleocode/agents/definitions` */
|
|
56
|
+
readonly definitionsDir?: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Apply the lead tool policy to a lead definition: deny every
|
|
60
|
+
* {@link LEAD_DENIED_TOOLS} entry, allow the command runner tool, and declare
|
|
61
|
+
* the runner's MCP server (`cleo orchestrate lead-runner`). Worker definitions
|
|
62
|
+
* are returned unchanged.
|
|
63
|
+
*
|
|
64
|
+
* A denied tool is removed from `tools` whatever its case and any `Name(...)`
|
|
65
|
+
* pattern (`bash(git *)` goes too).
|
|
66
|
+
*
|
|
67
|
+
* @param def - A parsed canonical definition.
|
|
68
|
+
* @returns The definition as delivered.
|
|
69
|
+
* @throws When the lead has no `tools:` list or a `*` entry (it would inherit
|
|
70
|
+
* every tool), or a bare `Agent` entry (it could spawn any agent type; use
|
|
71
|
+
* `Agent(cleo-worker)`).
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* applyLeadToolPolicy(lead).deniedTools; // includes 'Bash', 'Edit', 'Write'
|
|
76
|
+
* ```
|
|
77
|
+
*
|
|
78
|
+
* @task T14374
|
|
79
|
+
*/
|
|
80
|
+
export declare function applyLeadToolPolicy(def: AgentDefinition): AgentDefinition;
|
|
81
|
+
/**
|
|
82
|
+
* Write the canonical lead and worker definitions for every provider.
|
|
83
|
+
*
|
|
84
|
+
* @param projectRoot - Absolute project root.
|
|
85
|
+
* @param options - Providers, upgrade journal and definitions directory (tests).
|
|
86
|
+
* @returns Per-provider outcomes, or `skipped` with the reason.
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```typescript
|
|
90
|
+
* const { outcomes } = await ensureAgentDefinitions('/repo');
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
export declare function ensureAgentDefinitions(projectRoot: string, options?: EnsureAgentDefinitionsOptions): Promise<AgentDefinitionsReport>;
|
|
94
|
+
/**
|
|
95
|
+
* Report lines for init/upgrade: every write as `applied`; unsupported
|
|
96
|
+
* providers (one line), agents a format cannot express, user-owned files and
|
|
97
|
+
* failures as `warnings`.
|
|
98
|
+
* Unchanged files add nothing.
|
|
99
|
+
*
|
|
100
|
+
* @param report - The delivery report.
|
|
101
|
+
* @returns Lines to list as created/applied and as warnings.
|
|
102
|
+
*/
|
|
103
|
+
export declare function agentDefinitionReportLines(report: AgentDefinitionsReport): {
|
|
104
|
+
readonly applied: readonly string[];
|
|
105
|
+
readonly warnings: readonly string[];
|
|
106
|
+
};
|