@calliopelabs/cli 3.6.0 → 3.7.0
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/acp/controls.d.ts +10 -0
- package/dist/acp/controls.d.ts.map +1 -0
- package/dist/acp/controls.js +81 -0
- package/dist/acp/controls.js.map +1 -0
- package/dist/acp.d.ts +11 -4
- package/dist/acp.d.ts.map +1 -1
- package/dist/acp.js +114 -18
- package/dist/acp.js.map +1 -1
- package/dist/build-identity.d.ts +27 -0
- package/dist/build-identity.d.ts.map +1 -0
- package/dist/build-identity.js +32 -0
- package/dist/build-identity.js.map +1 -0
- package/dist/build-metadata.json +1 -0
- package/dist/improvement/cli.d.ts +1 -1
- package/dist/improvement/cli.d.ts.map +1 -1
- package/dist/improvement/cli.js +18 -4
- package/dist/improvement/cli.js.map +1 -1
- package/dist/improvement/host-capabilities.d.ts +119 -0
- package/dist/improvement/host-capabilities.d.ts.map +1 -0
- package/dist/improvement/host-capabilities.js +18 -0
- package/dist/improvement/host-capabilities.js.map +1 -0
- package/dist/improvement/index.d.ts +1 -0
- package/dist/improvement/index.d.ts.map +1 -1
- package/dist/improvement/index.js +1 -0
- package/dist/improvement/index.js.map +1 -1
- package/dist/orchestration/reviewed-ledger.d.ts.map +1 -1
- package/dist/orchestration/reviewed-ledger.js +11 -3
- package/dist/orchestration/reviewed-ledger.js.map +1 -1
- package/dist/orchestration/routing.d.ts +3 -0
- package/dist/orchestration/routing.d.ts.map +1 -1
- package/dist/orchestration/routing.js +5 -1
- package/dist/orchestration/routing.js.map +1 -1
- package/dist/storage.d.ts +2 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +5 -1
- package/dist/storage.js.map +1 -1
- package/docs/acp.md +228 -0
- package/docs/delegation-ledger.md +3 -1
- package/docs/improvement-cycles.md +304 -0
- package/docs/releases/3.7.0.md +53 -0
- package/package.json +5 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/improvement/cli.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/improvement/cli.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAIxE,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAEjD,eAAO,MAAM,iBAAiB,+LAA6L,CAAC;AAC5N,wBAAgB,gBAAgB,CAAC,MAAM,EAAC,gBAAgB,EAAE,GAAE,MAAM,EAAE,CAGnE;AACD,wBAAsB,qBAAqB,CAAC,IAAI,EAAC,MAAM,EAAE,EAAC,OAAO,GAAC,kBAAkB,GAAC;IAAC,GAAG,CAAC,EAAC,MAAM,CAAC;IAAA,KAAK,CAAC,EAAC,CAAC,IAAI,EAAC,MAAM,KAAG,IAAI,CAAA;CAAI,GAAE,OAAO,CAAC,MAAM,CAAC,CA0ChJ"}
|
package/dist/improvement/cli.js
CHANGED
|
@@ -6,7 +6,8 @@ import { ExecutionLimitError } from '../execution/index.js';
|
|
|
6
6
|
import { OrchestrationError } from '../orchestration/types.js';
|
|
7
7
|
import { inspectImprovements, proposeImprovement, runImprovement, withdrawImprovement } from './actions.js';
|
|
8
8
|
import { improvementCapabilities } from './capabilities.js';
|
|
9
|
-
|
|
9
|
+
import { improvementHostCapabilities } from './host-capabilities.js';
|
|
10
|
+
export const IMPROVEMENT_USAGE = 'calliope improve [capabilities|host-capabilities [--contract-version 1]|history|propose|run <cycle-id> --approve <hash>|rollback <cycle-id>] [--run <run-id>] [--allow-mutations] [--json]';
|
|
10
11
|
export function improvementLines(cycles) {
|
|
11
12
|
return cycles.slice(-20).flatMap(c => [`${c.id} · ${c.principle} · ${c.proposedChange.action} · ${c.status}${c.parentCycleId ? ' · parent ' + c.parentCycleId : ''}`,
|
|
12
13
|
...c.metrics.filter(m => m.comparable).map(m => ` ${m.name}: ${m.before} → ${m.after} ${m.unit}; observed, not a causal guarantee`)]);
|
|
@@ -18,11 +19,24 @@ export async function runImprovementCommand(args, options = {}) {
|
|
|
18
19
|
try {
|
|
19
20
|
if (args.some(v => v.length > 4096 || /[\x00-\x1f\x7f]/.test(v)))
|
|
20
21
|
throw new OrchestrationError('invalid', IMPROVEMENT_USAGE);
|
|
21
|
-
const { values, positionals } = parseArgs({ args, allowPositionals: true, options: { run: { type: 'string' }, approve: { type: 'string' }, json: { type: 'boolean' }, 'allow-mutations': { type: 'boolean' } } });
|
|
22
|
+
const { values, positionals } = parseArgs({ args, allowPositionals: true, options: { run: { type: 'string' }, approve: { type: 'string' }, json: { type: 'boolean' }, 'allow-mutations': { type: 'boolean' }, 'contract-version': { type: 'string' } } });
|
|
22
23
|
json = !!values.json;
|
|
23
24
|
action = positionals[0] ?? 'history';
|
|
24
|
-
if (!['capabilities', 'history', 'propose', 'run', 'rollback'].includes(action) || positionals.length > (['run', 'rollback'].includes(action) ? 2 : 1) || ['run', 'rollback'].includes(action) && !positionals[1] || action === 'run' && !values.approve || action !== 'run' && values.approve)
|
|
25
|
+
if (!['capabilities', 'host-capabilities', 'history', 'propose', 'run', 'rollback'].includes(action) || positionals.length > (['run', 'rollback'].includes(action) ? 2 : 1) || ['run', 'rollback'].includes(action) && !positionals[1] || action === 'run' && !values.approve || action !== 'run' && values.approve || action !== 'host-capabilities' && values['contract-version'] !== undefined)
|
|
25
26
|
throw new OrchestrationError('invalid', IMPROVEMENT_USAGE);
|
|
27
|
+
if (action === 'host-capabilities') {
|
|
28
|
+
if (Object.keys(values).some(key => !['json', 'contract-version'].includes(key)))
|
|
29
|
+
throw new OrchestrationError('invalid', IMPROVEMENT_USAGE);
|
|
30
|
+
if (values['contract-version'] !== undefined && values['contract-version'] !== '1')
|
|
31
|
+
throw new OrchestrationError('invalid', 'Unsupported improvement host contract version; supported version: 1.');
|
|
32
|
+
options.signal?.throwIfAborted();
|
|
33
|
+
const data = improvementHostCapabilities();
|
|
34
|
+
if (json)
|
|
35
|
+
emit({ version: 1, type: 'improvement', action, localOnly: true, data });
|
|
36
|
+
else
|
|
37
|
+
write(`Native improvement host contract ${data.version} (${data.implementation.package.name}@${data.implementation.package.version})\n${data.notice}\n`);
|
|
38
|
+
return 0;
|
|
39
|
+
}
|
|
26
40
|
if (action === 'capabilities') {
|
|
27
41
|
if (Object.keys(values).some(key => key !== 'json'))
|
|
28
42
|
throw new OrchestrationError('invalid', IMPROVEMENT_USAGE);
|
|
@@ -31,7 +45,7 @@ export async function runImprovementCommand(args, options = {}) {
|
|
|
31
45
|
if (json)
|
|
32
46
|
emit({ version: 1, type: 'improvement', action, localOnly: true, data });
|
|
33
47
|
else
|
|
34
|
-
write(
|
|
48
|
+
write(`Native improvement capabilities (contract ${data.version})\nSupported: recursive task-strategy history, proposal, reviewed run and strategy withdrawal.\nUnavailable: external feedback import, cross-run learned strategy selection and model training.\n` + data.notice + '\n');
|
|
35
49
|
return 0;
|
|
36
50
|
}
|
|
37
51
|
const opts = { ...options, ...(values['allow-mutations'] ? { approve: async () => 'allow' } : {}), confirmation: values['allow-mutations'] ? 'none' : options.confirmation ?? 'mutating', onEvent: event => { options.onEvent?.(event); if (json)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/improvement/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAC;AACpC,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,kBAAkB,EAAC,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAC,mBAAmB,EAAC,kBAAkB,EAAC,cAAc,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AACvG,OAAO,EAAC,uBAAuB,EAAC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/improvement/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/** Discovery only: each native operation retains its own policy and revision checks. */
|
|
2
|
+
export declare function improvementHostCapabilities(): {
|
|
3
|
+
readonly version: 1;
|
|
4
|
+
readonly kind: 'improvement.host-capabilities';
|
|
5
|
+
readonly owner: 'calliope-cli';
|
|
6
|
+
readonly implementation: {
|
|
7
|
+
package: {
|
|
8
|
+
name: '@calliopelabs/cli';
|
|
9
|
+
version: string;
|
|
10
|
+
};
|
|
11
|
+
artifact: "node-package" | "standalone";
|
|
12
|
+
metadataStatus: "available" | "invalid" | "unavailable";
|
|
13
|
+
source: {
|
|
14
|
+
commit: string;
|
|
15
|
+
dirty: boolean;
|
|
16
|
+
} | null;
|
|
17
|
+
verification: 'external-attestation-required';
|
|
18
|
+
};
|
|
19
|
+
readonly interfaces: {
|
|
20
|
+
readonly execution: {
|
|
21
|
+
readonly version: 2;
|
|
22
|
+
readonly kind: 'improvement.capabilities';
|
|
23
|
+
readonly owner: 'calliope-cli';
|
|
24
|
+
readonly mechanisms: {
|
|
25
|
+
readonly recursiveTaskStrategy: true;
|
|
26
|
+
readonly crossRunLearnedStrategy: false;
|
|
27
|
+
readonly modelTraining: false;
|
|
28
|
+
readonly externalFeedbackImport: false;
|
|
29
|
+
};
|
|
30
|
+
readonly historyVersions: readonly [1, 2, 3];
|
|
31
|
+
readonly hostAdmission: {
|
|
32
|
+
readonly version: 1;
|
|
33
|
+
readonly option: 'expectedExecutionRevision';
|
|
34
|
+
readonly operations: readonly ['propose', 'run'];
|
|
35
|
+
readonly semantics: 'exact-revision-before-start';
|
|
36
|
+
readonly controllerReset: 'own-committed-event';
|
|
37
|
+
};
|
|
38
|
+
readonly operations: {
|
|
39
|
+
readonly history: {
|
|
40
|
+
readonly mode: 'read-only';
|
|
41
|
+
readonly mayCallModel: false;
|
|
42
|
+
};
|
|
43
|
+
readonly propose: {
|
|
44
|
+
readonly mode: 'reviewed-mutation';
|
|
45
|
+
readonly mayCallModel: true;
|
|
46
|
+
};
|
|
47
|
+
readonly run: {
|
|
48
|
+
readonly mode: 'reviewed-mutation';
|
|
49
|
+
readonly mayCallModel: true;
|
|
50
|
+
};
|
|
51
|
+
readonly rollback: {
|
|
52
|
+
readonly mode: 'reviewed-mutation';
|
|
53
|
+
readonly mayCallModel: false;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
readonly scope: {
|
|
57
|
+
readonly owner: 'native-project-run';
|
|
58
|
+
readonly requiredPlanVersion: 4;
|
|
59
|
+
readonly activation: 'exact-proposal-hash-and-native-policy';
|
|
60
|
+
readonly inheritedLimits: readonly ['scope', 'budget', 'deadline', 'depth', 'count'];
|
|
61
|
+
readonly rollback: 'strategy-withdrawal-no-source-inverse-or-refund';
|
|
62
|
+
};
|
|
63
|
+
readonly evidence: {
|
|
64
|
+
readonly authority: 'native-execution-and-request-journals';
|
|
65
|
+
readonly hypotheses: 'proposed-not-verified-facts';
|
|
66
|
+
readonly acceptance: 'source-attributed-native-checks-or-human-acceptance';
|
|
67
|
+
readonly missingMetrics: 'null-not-zero';
|
|
68
|
+
readonly cost: 'comparable-only-with-settled-bound-request-provenance';
|
|
69
|
+
};
|
|
70
|
+
readonly notice: 'Capabilities describe this CLI implementation. Inspect the exact project/run and current policy before acting. No feedback is imported, no project is opened, and no authority or budget is granted by this query.';
|
|
71
|
+
};
|
|
72
|
+
readonly review: {
|
|
73
|
+
readonly version: 1;
|
|
74
|
+
readonly kind: 'improvement.review-capabilities';
|
|
75
|
+
readonly owner: 'calliope-cli';
|
|
76
|
+
readonly operations: readonly ['request', 'inspect', 'dismiss'];
|
|
77
|
+
readonly actions: readonly ['propose', 'run', 'rollback'];
|
|
78
|
+
readonly authority: 'request-only-no-execution';
|
|
79
|
+
readonly storage: 'native-execution-journal';
|
|
80
|
+
readonly maxRequests: 64;
|
|
81
|
+
};
|
|
82
|
+
readonly taskOutcome: {
|
|
83
|
+
readonly version: 1;
|
|
84
|
+
readonly owner: 'calliope-cli';
|
|
85
|
+
readonly operations: readonly ['inspect'];
|
|
86
|
+
readonly semantics: 'exact-native-attempt-observation';
|
|
87
|
+
readonly artifactValidation: 'retained-bytes';
|
|
88
|
+
readonly assessment: false;
|
|
89
|
+
readonly reward: false;
|
|
90
|
+
readonly mayCallModel: false;
|
|
91
|
+
};
|
|
92
|
+
readonly sourceChange: {
|
|
93
|
+
readonly version: 1;
|
|
94
|
+
readonly owner: 'calliope-cli';
|
|
95
|
+
readonly writer: 'git';
|
|
96
|
+
readonly operations: readonly ['preview', 'propose', 'inspect', 'list'];
|
|
97
|
+
readonly semantics: 'verified-patch-to-local-review-branch';
|
|
98
|
+
readonly installation: false;
|
|
99
|
+
readonly merge: false;
|
|
100
|
+
readonly push: false;
|
|
101
|
+
readonly mayCallModel: false;
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
readonly transport: {
|
|
105
|
+
readonly discovery: 'cli-json';
|
|
106
|
+
readonly operations: 'native-library';
|
|
107
|
+
readonly module: '@calliopelabs/cli/dist/improvement/index.js';
|
|
108
|
+
readonly cliEnvelopeVersion: 1;
|
|
109
|
+
};
|
|
110
|
+
readonly provenance: {
|
|
111
|
+
readonly trust: 'verify-the-installed-artifact';
|
|
112
|
+
readonly repository: 'https://github.com/calliopeai/calliope-cli';
|
|
113
|
+
readonly npm: 'verify-registry-integrity-and-publish-workflow-provenance';
|
|
114
|
+
readonly standalone: 'verify-release-checksums-and-binary-workflow-attestations';
|
|
115
|
+
readonly source: 'match-the-attested-source-commit-and-release-tag';
|
|
116
|
+
};
|
|
117
|
+
readonly notice: 'Describes installed native interfaces, not remote RPC support or execution authority. Unavailable or dirty source metadata cannot establish a released build. Cross-run learning, external feedback import and model training remain unsupported.';
|
|
118
|
+
};
|
|
119
|
+
//# sourceMappingURL=host-capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-capabilities.d.ts","sourceRoot":"","sources":["../../src/improvement/host-capabilities.ts"],"names":[],"mappings":"AAMA,wFAAwF;AACxF,wBAAgB,2BAA2B;aACjC,OAAO,EAAC,CAAC;aAAC,IAAI,EAAC,+BAA+B;aAAC,KAAK,EAAC,cAAc;aAAC,cAAc;;;;;;;;;;;;;aACxF,UAAU;iBAAE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA2B,MAAM;;;;;;;;;;iBACpD,WAAW;;;;;;;;;;iBAA2B,YAAY;;;;;;;;;;;;aACpD,SAAS;iBAAE,SAAS,EAAC,UAAU;iBAAC,UAAU,EAAC,gBAAgB;iBAAC,MAAM,EAAC,6CAA6C;iBAAC,kBAAkB,EAAC,CAAC;;aACrI,UAAU;iBAAE,KAAK,EAAC,+BAA+B;iBAAC,UAAU,EAAC,4CAA4C;iBACvG,GAAG,EAAC,2DAA2D;iBAC/D,UAAU,EAAC,2DAA2D;iBACtE,MAAM,EAAC,kDAAkD;;aAC3D,MAAM,EAAC,mPAAmP;EAC7P"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { buildIdentity } from '../build-identity.js';
|
|
2
|
+
import { improvementCapabilities } from './capabilities.js';
|
|
3
|
+
import { improvementReviewCapabilities } from './review-requests.js';
|
|
4
|
+
import { sourceChangeCapabilities } from './source-changes.js';
|
|
5
|
+
import { taskOutcomeCapabilities } from './task-outcomes.js';
|
|
6
|
+
/** Discovery only: each native operation retains its own policy and revision checks. */
|
|
7
|
+
export function improvementHostCapabilities() {
|
|
8
|
+
return { version: 1, kind: 'improvement.host-capabilities', owner: 'calliope-cli', implementation: buildIdentity(),
|
|
9
|
+
interfaces: { execution: improvementCapabilities(), review: improvementReviewCapabilities(),
|
|
10
|
+
taskOutcome: taskOutcomeCapabilities(), sourceChange: sourceChangeCapabilities() },
|
|
11
|
+
transport: { discovery: 'cli-json', operations: 'native-library', module: '@calliopelabs/cli/dist/improvement/index.js', cliEnvelopeVersion: 1 },
|
|
12
|
+
provenance: { trust: 'verify-the-installed-artifact', repository: 'https://github.com/calliopeai/calliope-cli',
|
|
13
|
+
npm: 'verify-registry-integrity-and-publish-workflow-provenance',
|
|
14
|
+
standalone: 'verify-release-checksums-and-binary-workflow-attestations',
|
|
15
|
+
source: 'match-the-attested-source-commit-and-release-tag' },
|
|
16
|
+
notice: 'Describes installed native interfaces, not remote RPC support or execution authority. Unavailable or dirty source metadata cannot establish a released build. Cross-run learning, external feedback import and model training remain unsupported.' };
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=host-capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-capabilities.js","sourceRoot":"","sources":["../../src/improvement/host-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAC,uBAAuB,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,6BAA6B,EAAC,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAC,wBAAwB,EAAC,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC;AAE3D,wFAAwF;AACxF,MAAM,UAAU,2BAA2B;IACzC,OAAO,EAAC,OAAO,EAAC,CAAC,EAAC,IAAI,EAAC,+BAA+B,EAAC,KAAK,EAAC,cAAc,EAAC,cAAc,EAAC,aAAa,EAAE;QACxG,UAAU,EAAC,EAAC,SAAS,EAAC,uBAAuB,EAAE,EAAC,MAAM,EAAC,6BAA6B,EAAE;YACpF,WAAW,EAAC,uBAAuB,EAAE,EAAC,YAAY,EAAC,wBAAwB,EAAE,EAAC;QAChF,SAAS,EAAC,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,gBAAgB,EAAC,MAAM,EAAC,6CAA6C,EAAC,kBAAkB,EAAC,CAAC,EAAC;QACtI,UAAU,EAAC,EAAC,KAAK,EAAC,+BAA+B,EAAC,UAAU,EAAC,4CAA4C;YACvG,GAAG,EAAC,2DAA2D;YAC/D,UAAU,EAAC,2DAA2D;YACtE,MAAM,EAAC,kDAAkD,EAAC;QAC5D,MAAM,EAAC,mPAAmP,EAAU,CAAC;AACzQ,CAAC"}
|
|
@@ -5,6 +5,7 @@ export * from './actions.js';
|
|
|
5
5
|
export * from './cli.js';
|
|
6
6
|
export * from './feedback.js';
|
|
7
7
|
export * from './capabilities.js';
|
|
8
|
+
export * from './host-capabilities.js';
|
|
8
9
|
export * from './review-contract.js';
|
|
9
10
|
export * from './review-requests.js';
|
|
10
11
|
export * from './source-changes.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/improvement/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/improvement/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
|
|
@@ -5,6 +5,7 @@ export * from './actions.js';
|
|
|
5
5
|
export * from './cli.js';
|
|
6
6
|
export * from './feedback.js';
|
|
7
7
|
export * from './capabilities.js';
|
|
8
|
+
export * from './host-capabilities.js';
|
|
8
9
|
export * from './review-contract.js';
|
|
9
10
|
export * from './review-requests.js';
|
|
10
11
|
export * from './source-changes.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/improvement/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/improvement/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewed-ledger.d.ts","sourceRoot":"","sources":["../../src/orchestration/reviewed-ledger.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"reviewed-ledger.d.ts","sourceRoot":"","sources":["../../src/orchestration/reviewed-ledger.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAGnD,eAAO,MAAM,0BAA0B;aAAE,OAAO,EAAC,CAAC;aAAC,UAAU,EAAC,CAAC;aAAC,YAAY,EAAC,CAAC;aAAC,iBAAiB,EAAC,CAAC;aAAC,MAAM,EAAC,wBAAwB;CAAU,CAAC;AAE7I,kHAAkH;AAClH,wBAAsB,qBAAqB,CAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,OAAO,EAAC,MAAM,EAAC,eAAe,EAAC,MAAM,EAAC,OAAO,GAAC,gBAAmB;;;;;;0BAHpF,CAAC;6BAAY,CAAC;+BAAc,CAAC;oCAAmB,CAAC;yBAAQ,wBAAwB;;GAmCjI"}
|
|
@@ -12,6 +12,7 @@ import { RunStore } from './store.js';
|
|
|
12
12
|
import { ExecutionStore } from './execution-store.js';
|
|
13
13
|
import { agentStopped } from './execution-journal.js';
|
|
14
14
|
import { prepareAgentExecution } from './execution.js';
|
|
15
|
+
import { matchesAgentPreference } from './routing.js';
|
|
15
16
|
export const REVIEWED_LEDGER_CAPABILITY = { version: 1, ownerScope: 1, tokenVersion: 2, reviewedAuthority: 1, grants: 'native-admissions-only' };
|
|
16
17
|
/** Returns an unbound server and a private owner token. Only the trusted host listens or delivers credentials. */
|
|
17
18
|
export async function prepareReviewedLedger(cwd, runId, agentId, maxOutputTokens, options = {}) {
|
|
@@ -21,8 +22,10 @@ export async function prepareReviewedLedger(cwd, runId, agentId, maxOutputTokens
|
|
|
21
22
|
const assertAccount = (id) => {
|
|
22
23
|
assertOwner();
|
|
23
24
|
const current = history.exists() ? inspectSpawnAuthority(history, ledger) : undefined, context = current?.context ?? view.manifest;
|
|
24
|
-
|
|
25
|
+
const agent = context.plan.agents.find(agent => agent.id === id);
|
|
26
|
+
if (!agent || current && agentStopped(current.view.state, context, id))
|
|
25
27
|
throw new ExecutionLimitError('authority', 'Account is not active in the reviewed native graph.');
|
|
28
|
+
return agent;
|
|
26
29
|
};
|
|
27
30
|
const assertGrant = (grant) => {
|
|
28
31
|
assertOwner();
|
|
@@ -41,8 +44,13 @@ export async function prepareReviewedLedger(cwd, runId, agentId, maxOutputTokens
|
|
|
41
44
|
const authority = digest(canonicalJson({ version: 1, runId, manifestHash: view.manifest.hash, approvalRevision: view.run.revision }));
|
|
42
45
|
const state = new LedgerServerState(join(dirname(ledger.root), `${runId}.ledger-server`));
|
|
43
46
|
const server = createLedgerServer({ ledger, cwd, state, ownerAgentId: agentId, authority, assertAuthority: assertOwner, assertAccountAuthority: assertAccount, assertGrantAuthority: assertGrant,
|
|
44
|
-
assertReservationAuthority: reservation => {
|
|
45
|
-
|
|
47
|
+
assertReservationAuthority: reservation => {
|
|
48
|
+
const agent = assertAccount(reservation.agentId);
|
|
49
|
+
if (!matchesAgentPreference(agent.preference, reservation.provider, reservation.model))
|
|
50
|
+
throw new ExecutionLimitError('authority', 'Request changes an explicit reviewed provider or model.');
|
|
51
|
+
if (reservation.outputTokens > maxOutputTokens)
|
|
52
|
+
throw new ExecutionLimitError('budget', 'Request exceeds the reviewed host output limit.');
|
|
53
|
+
} });
|
|
46
54
|
const ownerToken = mintLedgerToken(state.secret(), { v: 2, authority, run: runId, role: 'parent', owner: agentId, exp: deadline });
|
|
47
55
|
return { server, ownerToken, execution, deadline, capability: REVIEWED_LEDGER_CAPABILITY };
|
|
48
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewed-ledger.js","sourceRoot":"","sources":["../../src/orchestration/reviewed-ledger.ts"],"names":[],"mappings":"AAAA,uGAAuG;AACvG,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AACvC,OAAO,EAAC,aAAa,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAC,0BAA0B,EAAC,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAC,kBAAkB,EAAC,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAC,iBAAiB,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAC,mBAAmB,EAAiB,MAAM,uBAAuB,CAAC;AAE1E,OAAO,EAAC,qBAAqB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAC,qBAAqB,EAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"reviewed-ledger.js","sourceRoot":"","sources":["../../src/orchestration/reviewed-ledger.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { type SmartRoutingPolicy, type SmartRoutingSelection } from '../routing/
|
|
|
2
2
|
import type { RoutingDecision } from '../routing/types.js';
|
|
3
3
|
import type { ExecutionEvent, RunPlanContext } from './coordinator-types.js';
|
|
4
4
|
import type { ExecutionStore } from './execution-store.js';
|
|
5
|
+
import type { AgentContract } from './types.js';
|
|
5
6
|
export interface RecordedAgentRoute {
|
|
6
7
|
version: 1;
|
|
7
8
|
decisionId: string;
|
|
@@ -12,6 +13,8 @@ export interface RecordedAgentRoute {
|
|
|
12
13
|
stage: SmartRoutingSelection['stage'];
|
|
13
14
|
evidenceId?: string;
|
|
14
15
|
}
|
|
16
|
+
/** Explicit reviewed choices remain constraints even when a host supplies its own runtime config. */
|
|
17
|
+
export declare function matchesAgentPreference(preference: AgentContract['preference'], provider: string, model: string): boolean;
|
|
15
18
|
/** Only a recorded failed check with immutable evidence opens the escalation pool. */
|
|
16
19
|
export declare function taskSmartSelection(policy: SmartRoutingPolicy, events: ExecutionEvent[], taskId?: string): SmartRoutingSelection;
|
|
17
20
|
export declare function validateRecordedRoute(value: unknown, context: RunPlanContext, agentId: string): RecordedAgentRoute;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/orchestration/routing.ts"],"names":[],"mappings":"AAEA,OAAO,EAA8B,KAAK,kBAAkB,EAAC,KAAK,qBAAqB,EAAC,MAAM,qBAAqB,CAAC;AACpH,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAC,cAAc,EAAC,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/orchestration/routing.ts"],"names":[],"mappings":"AAEA,OAAO,EAA8B,KAAK,kBAAkB,EAAC,KAAK,qBAAqB,EAAC,MAAM,qBAAqB,CAAC;AACpH,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAC,cAAc,EAAC,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAG9C,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAC,CAAC,CAAC;IAAA,UAAU,EAAC,MAAM,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,MAAM,CAAC;IACvE,OAAO,EAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAAA,KAAK,EAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAAA,UAAU,CAAC,EAAC,MAAM,CAAC;CAC/F;AACD,qGAAqG;AACrG,wBAAgB,sBAAsB,CAAC,UAAU,EAAC,aAAa,CAAC,YAAY,CAAC,EAAC,QAAQ,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,GAAE,OAAO,CAElH;AACD,sFAAsF;AACtF,wBAAgB,kBAAkB,CAAC,MAAM,EAAC,kBAAkB,EAAC,MAAM,EAAC,cAAc,EAAE,EAAC,MAAM,CAAC,EAAC,MAAM,GAAE,qBAAqB,CAKzH;AACD,wBAAgB,qBAAqB,CAAC,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,MAAM,GAAE,kBAAkB,CAW5G;AACD,uFAAuF;AACvF,wBAAsB,gBAAgB,CAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,MAAM,EAAC,SAAS,EAAC,MAAM,EAAC,QAAQ,EAAC,eAAe,EAAC,MAAM,EAAC,WAAW,EAAC,YAAY,EAAC,MAAI,IAAI,EAAC,MAAM,CAAC,EAAC,MAAM,GAAE,OAAO,CAAC,IAAI,CAAC,CAI1L"}
|
|
@@ -2,6 +2,10 @@ import { approvalDisplayText } from '../approvals/index.js';
|
|
|
2
2
|
import { getProviderNames } from '../config.js';
|
|
3
3
|
import { smartPool, smartTargetMatches } from '../routing/smart.js';
|
|
4
4
|
import { shape, text, uuid, fail } from './validation.js';
|
|
5
|
+
/** Explicit reviewed choices remain constraints even when a host supplies its own runtime config. */
|
|
6
|
+
export function matchesAgentPreference(preference, provider, model) {
|
|
7
|
+
return (preference.provider === 'auto' || preference.provider === provider) && (!preference.model || preference.model === model);
|
|
8
|
+
}
|
|
5
9
|
/** Only a recorded failed check with immutable evidence opens the escalation pool. */
|
|
6
10
|
export function taskSmartSelection(policy, events, taskId) {
|
|
7
11
|
const last = taskId ? [...events].reverse().find(event => event.change.type === 'task_finished' && event.change.taskId === taskId) : undefined;
|
|
@@ -22,7 +26,7 @@ export function validateRecordedRoute(value, context, agentId) {
|
|
|
22
26
|
if (value.stage === 'escalation' ? !policy.escalationPool || !uuid(value.evidenceId) : value.evidenceId !== undefined)
|
|
23
27
|
fail('Escalated routing requires recorded verification evidence.');
|
|
24
28
|
const preference = agent.preference;
|
|
25
|
-
if (preference
|
|
29
|
+
if (!matchesAgentPreference(preference, value.provider, value.model))
|
|
26
30
|
fail('Routing evidence changed an explicit agent pin.');
|
|
27
31
|
if (!preference.model && (preference.provider === 'auto' || smartPool({ policy, stage: value.stage }).some(t => t.provider === preference.provider)) && !smartTargetMatches(smartPool({ policy, stage: value.stage }), value.provider, { id: value.model }))
|
|
28
32
|
fail('Routing evidence exceeds the reviewed model pool.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/orchestration/routing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,SAAS,EAAC,kBAAkB,EAAoD,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/orchestration/routing.ts"],"names":[],"mappings":"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"}
|
package/dist/storage.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ import type { IterationLedgerSnapshot } from './iteration-ledger.js';
|
|
|
10
10
|
import { type SessionExecutionBinding } from './sessions/execution-binding.js';
|
|
11
11
|
export declare function createSessionId(): string;
|
|
12
12
|
export interface Session {
|
|
13
|
+
acpControlsVersion?: 1;
|
|
13
14
|
executionBinding?: SessionExecutionBinding;
|
|
14
15
|
id: string;
|
|
15
16
|
projectPath: string;
|
|
@@ -87,6 +88,7 @@ export declare function createSession(projectPath: string, options?: {
|
|
|
87
88
|
prefix?: 'session' | 'acp';
|
|
88
89
|
lineage?: Session['lineage'];
|
|
89
90
|
executionBinding?: SessionExecutionBinding;
|
|
91
|
+
acpControlsVersion?: 1;
|
|
90
92
|
}): Session;
|
|
91
93
|
/** Strict recovery APIs pin the ID; they never fall back to the shared pointer. */
|
|
92
94
|
export declare function readSessionConversation(sessionId: string): ConversationState;
|
package/dist/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/storage.js
CHANGED
|
@@ -342,13 +342,15 @@ export function getOrCreateSession(projectPath) {
|
|
|
342
342
|
}
|
|
343
343
|
/** A new terminal owns a unique session, including on the same day/project. */
|
|
344
344
|
export function createSession(projectPath, options = {}) {
|
|
345
|
+
if (options.acpControlsVersion !== undefined && options.acpControlsVersion !== 1)
|
|
346
|
+
throw new SessionRecoveryError('invalid', 'unsupported ACP controls version.');
|
|
345
347
|
if (options.executionBinding !== undefined && !validSessionExecutionBinding(options.executionBinding))
|
|
346
348
|
throw new SessionRecoveryError('invalid', 'invalid session execution binding.');
|
|
347
349
|
initStorage();
|
|
348
350
|
const now = new Date().toISOString();
|
|
349
351
|
const session = { id: createSessionId().replace(/^session_/, `${options.prefix ?? 'session'}_`), projectPath: path.resolve(projectPath),
|
|
350
352
|
projectName: path.basename(projectPath) || 'unnamed', createdAt: now, lastAccessedAt: now,
|
|
351
|
-
messageCount: 0, provider: '', model: '', ...(options.executionBinding ? { executionBinding: structuredClone(options.executionBinding) } : {}), ...(options.lineage ? { lineage: options.lineage } : {}) };
|
|
353
|
+
messageCount: 0, provider: '', model: '', ...(options.acpControlsVersion ? { acpControlsVersion: options.acpControlsVersion } : {}), ...(options.executionBinding ? { executionBinding: structuredClone(options.executionBinding) } : {}), ...(options.lineage ? { lineage: options.lineage } : {}) };
|
|
352
354
|
const dir = path.join(paths.sessions, `${getTodayString()}_${session.projectName}_${randomUUID()}`);
|
|
353
355
|
fs.mkdirSync(dir, { mode: 0o700 });
|
|
354
356
|
fs.mkdirSync(path.join(dir, 'plans'), { mode: 0o700 });
|
|
@@ -414,6 +416,8 @@ function readSessionFromDir(sessionDir) {
|
|
|
414
416
|
}
|
|
415
417
|
if (value?.executionBinding !== undefined && !validSessionExecutionBinding(value.executionBinding))
|
|
416
418
|
return null;
|
|
419
|
+
if (value?.acpControlsVersion !== undefined && value.acpControlsVersion !== 1)
|
|
420
|
+
return null;
|
|
417
421
|
const lineage = value?.lineage;
|
|
418
422
|
if (lineage !== undefined && (!lineage || typeof lineage !== 'object' || Array.isArray(lineage) || lineage.version !== 1 ||
|
|
419
423
|
!['manual', 'safety', 'import'].includes(lineage.kind) || typeof lineage.sessionId !== 'string' ||
|