@cortexkit/aft-bridge 0.58.1 → 0.59.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/bash-format.d.ts.map +1 -1
- package/dist/bash-format.js +5 -0
- package/dist/bash-format.js.map +1 -1
- package/dist/bash-hints.d.ts +159 -20
- package/dist/bash-hints.d.ts.map +1 -1
- package/dist/bash-hints.js +343 -37
- package/dist/bash-hints.js.map +1 -1
- package/dist/bash-host-fallback.d.ts +27 -0
- package/dist/bash-host-fallback.d.ts.map +1 -1
- package/dist/bash-host-fallback.js +55 -16
- package/dist/bash-host-fallback.js.map +1 -1
- package/dist/binary-identity.d.ts +13 -0
- package/dist/binary-identity.d.ts.map +1 -1
- package/dist/binary-identity.js +91 -2
- package/dist/binary-identity.js.map +1 -1
- package/dist/bridge.d.ts +12 -3
- package/dist/bridge.d.ts.map +1 -1
- package/dist/bridge.js +85 -40
- package/dist/bridge.js.map +1 -1
- package/dist/callgraph-format.d.ts.map +1 -1
- package/dist/callgraph-format.js +18 -10
- package/dist/callgraph-format.js.map +1 -1
- package/dist/child-process.d.ts.map +1 -1
- package/dist/child-process.js +10 -1
- package/dist/child-process.js.map +1 -1
- package/dist/coerce.d.ts +27 -0
- package/dist/coerce.d.ts.map +1 -1
- package/dist/coerce.js +64 -0
- package/dist/coerce.js.map +1 -1
- package/dist/config-error.d.ts +2 -2
- package/dist/config-error.js +2 -2
- package/dist/config-watch.d.ts +2 -0
- package/dist/config-watch.d.ts.map +1 -1
- package/dist/config-watch.js +35 -0
- package/dist/config-watch.js.map +1 -1
- package/dist/durable-log.d.ts +11 -0
- package/dist/durable-log.d.ts.map +1 -1
- package/dist/durable-log.js +67 -24
- package/dist/durable-log.js.map +1 -1
- package/dist/error-contract.d.ts +14 -5
- package/dist/error-contract.d.ts.map +1 -1
- package/dist/error-contract.js +42 -9
- package/dist/error-contract.js.map +1 -1
- package/dist/feature-config.d.ts +35 -18
- package/dist/feature-config.d.ts.map +1 -1
- package/dist/feature-config.js +161 -94
- package/dist/feature-config.js.map +1 -1
- package/dist/index.d.ts +9 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -7
- package/dist/index.js.map +1 -1
- package/dist/location-lifecycle.d.ts.map +1 -1
- package/dist/location-lifecycle.js +22 -4
- package/dist/location-lifecycle.js.map +1 -1
- package/dist/message-detach.d.ts +15 -0
- package/dist/message-detach.d.ts.map +1 -1
- package/dist/message-detach.js +48 -0
- package/dist/message-detach.js.map +1 -1
- package/dist/migration-notices.d.ts.map +1 -1
- package/dist/migration-notices.js +12 -5
- package/dist/migration-notices.js.map +1 -1
- package/dist/migration.d.ts +1 -0
- package/dist/migration.d.ts.map +1 -1
- package/dist/migration.js +39 -12
- package/dist/migration.js.map +1 -1
- package/dist/onnx-runtime.d.ts +5 -0
- package/dist/onnx-runtime.d.ts.map +1 -1
- package/dist/onnx-runtime.js +55 -32
- package/dist/onnx-runtime.js.map +1 -1
- package/dist/path-aliases.d.ts.map +1 -1
- package/dist/path-aliases.js +8 -7
- package/dist/path-aliases.js.map +1 -1
- package/dist/path-display.d.ts +5 -0
- package/dist/path-display.d.ts.map +1 -0
- package/dist/path-display.js +21 -0
- package/dist/path-display.js.map +1 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +7 -6
- package/dist/paths.js.map +1 -1
- package/dist/private-storage.d.ts +9 -0
- package/dist/private-storage.d.ts.map +1 -0
- package/dist/private-storage.js +75 -0
- package/dist/private-storage.js.map +1 -0
- package/dist/protocol.d.ts +4 -0
- package/dist/protocol.d.ts.map +1 -1
- package/dist/revivable-transport.d.ts +4 -2
- package/dist/revivable-transport.d.ts.map +1 -1
- package/dist/revivable-transport.js +48 -19
- package/dist/revivable-transport.js.map +1 -1
- package/dist/storage-paths.d.ts +3 -4
- package/dist/storage-paths.d.ts.map +1 -1
- package/dist/storage-paths.js +4 -5
- package/dist/storage-paths.js.map +1 -1
- package/dist/subc-transport.d.ts +62 -3
- package/dist/subc-transport.d.ts.map +1 -1
- package/dist/subc-transport.js +460 -53
- package/dist/subc-transport.js.map +1 -1
- package/dist/tar-executable.d.ts +1 -1
- package/dist/tar-executable.d.ts.map +1 -1
- package/dist/tar-executable.js +16 -2
- package/dist/tar-executable.js.map +1 -1
- package/dist/test-child-environment.d.ts +8 -0
- package/dist/test-child-environment.d.ts.map +1 -0
- package/dist/test-child-environment.js +105 -0
- package/dist/test-child-environment.js.map +1 -0
- package/dist/transport.d.ts +29 -0
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +26 -1
- package/dist/transport.js.map +1 -1
- package/dist/zoom-format.d.ts +1 -0
- package/dist/zoom-format.d.ts.map +1 -1
- package/dist/zoom-format.js +5 -1
- package/dist/zoom-format.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-contract.d.ts","sourceRoot":"","sources":["../src/error-contract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"error-contract.d.ts","sourceRoot":"","sources":["../src/error-contract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwBH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,SAAiB,KAAK,EAAE,iBAAiB,CAAC;gBAE9B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAO7E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,YAAY,CAQd;AAED,mFAAmF;AACnF,eAAO,MAAM,0BAA0B,gLACwI,CAAC;AAEhL;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B,wMAC2J,CAAC;AAExM,qFAAqF;AACrF,eAAO,MAAM,4CAA4C,iNACuJ,CAAC;AAEjN;;;;;GAKG;AACH,eAAO,MAAM,sCAAsC,2MACuJ,CAAC;AAsC3M;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIpE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKnE;AAmBD,MAAM,MAAM,qBAAqB,GAC7B,aAAa,GACb,gBAAgB,GAChB,8BAA8B,GAC9B,gBAAgB,CAAC;AAcrB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,GAAG,SAAS,CAuB/F;AAED,6DAA6D;AAC7D,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAEvE;AAMD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAsCvE"}
|
package/dist/error-contract.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { isConsumerReconnectTransient, StaleRouteHandleError, SubcCallError, SubcError, } from "@cortexkit/subc-client";
|
|
9
9
|
import { BridgeTransportUnavailableError, BridgeTransportUnknownOutcomeError, isBridgeTransportTimeout, } from "./bridge.js";
|
|
10
|
-
import { isSubcClientClosedError, SubcRootGenerationExpiredError, SubcRootReapedError, SubcTransportShuttingDownError, } from "./subc-transport.js";
|
|
10
|
+
import { isLocalRouteCloseRejection, isSubcClientClosedError, isSubcRouteTornDownError, SubcRootGenerationExpiredError, SubcRootReapedError, SubcRouteClosedMidCallError, SubcTransportShuttingDownError, } from "./subc-transport.js";
|
|
11
11
|
export class AftToolError extends Error {
|
|
12
12
|
code;
|
|
13
13
|
response;
|
|
@@ -44,6 +44,22 @@ export const BASH_TRANSPORT_DISPOSITION = "The transport to the AFT daemon was i
|
|
|
44
44
|
export const SUBC_MODULE_RESTART_DISPOSITION = "The AFT daemon module restarted while this call was in flight, so its outcome is UNKNOWN: it may or may not have executed. Verify actual state before re-running, and never blind-retry a mutation.";
|
|
45
45
|
/** Agent-facing guidance for a standalone request whose write outcome is unknown. */
|
|
46
46
|
export const BRIDGE_TRANSPORT_UNKNOWN_OUTCOME_DISPOSITION = "The standalone AFT transport failed after this call may have been sent, so its outcome is UNKNOWN: it may or may not have executed. Verify actual state before re-running, and never blind-retry a mutation.";
|
|
47
|
+
/**
|
|
48
|
+
* Agent-facing guidance for a call whose route the plugin closed while the
|
|
49
|
+
* request was already in flight (transport shutdown, session close, project
|
|
50
|
+
* root close, or the session's route being replaced). The request had been
|
|
51
|
+
* handed to the socket, so it may have run even though no reply came back.
|
|
52
|
+
*/
|
|
53
|
+
export const SUBC_ROUTE_CLOSED_MID_CALL_DISPOSITION = "The plugin closed this call's route while the call was in flight, so its outcome is UNKNOWN: it may or may not have executed. Verify actual state before re-running, and never blind-retry a mutation.";
|
|
54
|
+
/**
|
|
55
|
+
* A request that was in flight when the plugin closed its own route: the
|
|
56
|
+
* subc pool's named error, or subc-client's bare rejection when it reaches here
|
|
57
|
+
* without passing through the pool. subc-client raises that rejection only for
|
|
58
|
+
* a request already pending on the route, so either shape has an unknown outcome.
|
|
59
|
+
*/
|
|
60
|
+
function isRouteClosedMidCallError(error) {
|
|
61
|
+
return error instanceof SubcRouteClosedMidCallError || isLocalRouteCloseRejection(error);
|
|
62
|
+
}
|
|
47
63
|
/**
|
|
48
64
|
* A route GOODBYE delivered against an in-flight request.
|
|
49
65
|
*
|
|
@@ -61,9 +77,10 @@ function isRouteGoodbyeError(error) {
|
|
|
61
77
|
// stamps code "route_closed". Match both so a client upgrade cannot
|
|
62
78
|
// silently stop the unknown-outcome disposition from being appended — a
|
|
63
79
|
// false negative here recreates the blind re-run this contract exists to
|
|
64
|
-
// prevent.
|
|
65
|
-
//
|
|
66
|
-
//
|
|
80
|
+
// prevent. A route_closed error the plugin caused by closing its own route
|
|
81
|
+
// (closeReason "closed_by_caller") is not a daemon GOODBYE; it gets its own
|
|
82
|
+
// unknown-outcome guidance (see isRouteClosedMidCallError), so the message
|
|
83
|
+
// check on the coded arm keeps it out of the module-restart wording.
|
|
67
84
|
if (error.code === undefined) {
|
|
68
85
|
return error.message.includes("route closed by subc");
|
|
69
86
|
}
|
|
@@ -146,11 +163,13 @@ function classifySubcPreDispatchError(error) {
|
|
|
146
163
|
* response always wins because it proves AFT executed enough of the request to
|
|
147
164
|
* return a logical result.
|
|
148
165
|
*
|
|
149
|
-
* A
|
|
150
|
-
*
|
|
151
|
-
*
|
|
152
|
-
*
|
|
153
|
-
*
|
|
166
|
+
* A request rejected by a local `closeRoute` is intentionally absent: subc-client
|
|
167
|
+
* rejects only requests already pending on the route, and it starts writing a
|
|
168
|
+
* request's frame as it records it pending, so the request may have run. The
|
|
169
|
+
* subc pool reports it as `SubcRouteClosedMidCallError` (outcome unknown). A
|
|
170
|
+
* teardown that stopped the call before its request reached the client
|
|
171
|
+
* (`isSubcRouteTornDownError`, or `StaleRouteHandleError` from the client) is
|
|
172
|
+
* provably pre-dispatch.
|
|
154
173
|
*/
|
|
155
174
|
export function classifyBashHostFallbackError(error) {
|
|
156
175
|
if (!(error instanceof Error) || hasEngineResponse(error) || isRouteGoodbyeError(error)) {
|
|
@@ -158,8 +177,12 @@ export function classifyBashHostFallbackError(error) {
|
|
|
158
177
|
}
|
|
159
178
|
if (error instanceof BridgeTransportUnknownOutcomeError)
|
|
160
179
|
return undefined;
|
|
180
|
+
if (isRouteClosedMidCallError(error))
|
|
181
|
+
return undefined;
|
|
161
182
|
if (error instanceof SubcTransportShuttingDownError)
|
|
162
183
|
return "transport down";
|
|
184
|
+
if (isSubcRouteTornDownError(error))
|
|
185
|
+
return "route closed before dispatch";
|
|
163
186
|
const subcPreDispatch = classifySubcPreDispatchError(error);
|
|
164
187
|
if (subcPreDispatch !== undefined)
|
|
165
188
|
return subcPreDispatch;
|
|
@@ -211,6 +234,16 @@ export function adaptToolError(command, error) {
|
|
|
211
234
|
: SUBC_MODULE_RESTART_DISPOSITION;
|
|
212
235
|
return error;
|
|
213
236
|
}
|
|
237
|
+
// Also ahead of the bash branch, for the same reason: the request was in
|
|
238
|
+
// flight when the plugin closed its route, so it may already have run.
|
|
239
|
+
if (isRouteClosedMidCallError(error)) {
|
|
240
|
+
if (error.message.includes(SUBC_ROUTE_CLOSED_MID_CALL_DISPOSITION))
|
|
241
|
+
return error;
|
|
242
|
+
error.message = error.message
|
|
243
|
+
? `${error.message} ${SUBC_ROUTE_CLOSED_MID_CALL_DISPOSITION}`
|
|
244
|
+
: SUBC_ROUTE_CLOSED_MID_CALL_DISPOSITION;
|
|
245
|
+
return error;
|
|
246
|
+
}
|
|
214
247
|
if (command !== "bash" || !isTransportClassError(error))
|
|
215
248
|
return error;
|
|
216
249
|
if (error.message.includes(BASH_TRANSPORT_DISPOSITION))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-contract.js","sourceRoot":"","sources":["../src/error-contract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACrB,aAAa,EACb,SAAS,GACV,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,+BAA+B,EAC/B,kCAAkC,EAClC,wBAAwB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,mBAAmB,EACnB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAQ7B,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAS;IACb,QAAQ,CAA0B;IAG3C,YAAY,OAAe,EAAE,IAAY,EAAE,QAAiC;QAC1E,MAAM,KAAK,GAAsB,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC7D,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAe,EACf,QAAiC;IAEjC,MAAM,IAAI,GACR,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC;IAClG,MAAM,OAAO,GACX,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QACjE,CAAC,CAAC,QAAQ,CAAC,OAAO;QAClB,CAAC,CAAC,GAAG,OAAO,SAAS,CAAC;IAC1B,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,MAAM,0BAA0B,GACrC,6KAA6K,CAAC;AAEhL;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAC1C,qMAAqM,CAAC;AAExM,qFAAqF;AACrF,MAAM,CAAC,MAAM,4CAA4C,GACvD,8MAA8M,CAAC;AAEjN;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,CAAC,CAAC,KAAK,YAAY,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IAChD,2EAA2E;IAC3E,4EAA4E;IAC5E,oEAAoE;IACpE,wEAAwE;IACxE,yEAAyE;IACzE,
|
|
1
|
+
{"version":3,"file":"error-contract.js","sourceRoot":"","sources":["../src/error-contract.ts"],"names":[],"mappings":"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"}
|
package/dist/feature-config.d.ts
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
* Feature-based configuration policy shared by the OpenCode and Pi plugins.
|
|
3
3
|
*
|
|
4
4
|
* Mirrors `crates/aft/src/feature_config.rs`: the literal tool inventory, the
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* table of retired keys, the per-block translation of those keys into
|
|
6
|
+
* canonical `disabled_tools` / `indexes` / `github` / `lsp` leaves (retired
|
|
7
|
+
* keys are never refused),
|
|
7
8
|
* validation of a resolved configuration, and the migration-notice projection
|
|
8
9
|
* digest. The config parity fixtures and the shared notice-projection fixture
|
|
9
10
|
* (`crates/aft/tests/fixtures/feature_config/notice_projection.json`) keep the
|
|
@@ -16,14 +17,13 @@ export type CanonicalTool = (typeof CANONICAL_TOOLS)[number];
|
|
|
16
17
|
export declare const HOST_TOOL_NAMES: readonly ["apply_patch", "bash", "edit", "glob", "grep", "read", "write"];
|
|
17
18
|
/** Disables applied when the user base makes no registration choice. */
|
|
18
19
|
export declare const DEFAULT_DISABLED_TOOLS: readonly ["aft_delete", "aft_move"];
|
|
19
|
-
/** Historical prefixed tool names
|
|
20
|
+
/** Historical prefixed tool names that disabled lists may still contain. */
|
|
20
21
|
export declare const LEGACY_TOOL_ALIASES: Readonly<Record<string, string>>;
|
|
21
22
|
/** Names the historical bash registration gate removed (canonical names). */
|
|
22
23
|
export declare const BASH_GATE_DISABLES: readonly ["bash", "bash_kill", "bash_status", "bash_watch", "bash_write"];
|
|
23
24
|
export declare const MIGRATION_POLICY_ID = "feature-config-v1";
|
|
24
25
|
export declare const POLICY_INTRODUCED_MINOR: readonly [number, number];
|
|
25
|
-
|
|
26
|
-
/** Retired config paths and the replacement named in their rejection. */
|
|
26
|
+
/** Retired config paths and their replacement. */
|
|
27
27
|
export declare const RETIRED_PATHS: ReadonlyArray<readonly [string, string]>;
|
|
28
28
|
/** Index leaf, immediate legacy key and optional experimental alias. */
|
|
29
29
|
export declare const INDEX_INPUTS: ReadonlyArray<readonly [string, string, string | undefined]>;
|
|
@@ -38,26 +38,27 @@ export declare function isKnownTool(name: string): boolean;
|
|
|
38
38
|
export declare function isProjectProtectedTool(name: string): boolean;
|
|
39
39
|
/** Literal disabled set a legacy `tool_surface` value translates to. */
|
|
40
40
|
export declare function surfaceDisables(surface: unknown): string[] | undefined;
|
|
41
|
-
export type PolicyPhase = "window" | "rejecting";
|
|
42
|
-
/** Policy phase for a package version (major/minor only; patch ignored). */
|
|
43
|
-
export declare function policyPhaseForVersion(version: string): PolicyPhase;
|
|
44
41
|
export interface TranslationWarning {
|
|
45
42
|
code: string;
|
|
46
43
|
key: string;
|
|
47
44
|
message: string;
|
|
48
45
|
/**
|
|
49
46
|
* Deliver through the once-per-identity migration notice channel instead of
|
|
50
|
-
* warning on every load. Set for notes about files that are already fixed
|
|
51
|
-
*
|
|
47
|
+
* warning on every load. Set for notes about files that are already fixed,
|
|
48
|
+
* which would otherwise repeat forever.
|
|
52
49
|
*/
|
|
53
50
|
once?: boolean;
|
|
54
51
|
}
|
|
55
52
|
export interface DocumentTranslation {
|
|
56
|
-
/** Rejection diagnostics; any entry aborts the whole candidate load. */
|
|
57
|
-
errors: string[];
|
|
58
53
|
warnings: TranslationWarning[];
|
|
59
54
|
/** True when a retired key or alias was supplied (a migration notice applies). */
|
|
60
55
|
legacyInput: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Every retired key the document supplied, sorted and de-duplicated. A key
|
|
58
|
+
* inside a harness block carries its `harnesses.<id>.` prefix; a prefixed
|
|
59
|
+
* tool name inside `disabled_tools` is listed by that name.
|
|
60
|
+
*/
|
|
61
|
+
retiredKeys: string[];
|
|
61
62
|
/**
|
|
62
63
|
* True when some block set the retired top-level `enabled: false`. It is
|
|
63
64
|
* translated into a disabled_tools list only, so indexes keep building;
|
|
@@ -67,16 +68,28 @@ export interface DocumentTranslation {
|
|
|
67
68
|
}
|
|
68
69
|
type JsonRecord = Record<string, unknown>;
|
|
69
70
|
export declare function sortedUnique(names: Iterable<string>): string[];
|
|
71
|
+
/** `lsp.idle_minutes` default and range; mirrors `crates/aft/src/config.rs`. */
|
|
72
|
+
export declare const LSP_IDLE_MINUTES_DEFAULT = 60;
|
|
73
|
+
export declare const LSP_IDLE_MINUTES_MIN = 5;
|
|
74
|
+
export declare const LSP_IDLE_MINUTES_MAX = 1440;
|
|
70
75
|
/**
|
|
71
76
|
* What a retired `enabled: false` no longer does. The translation only hides
|
|
72
77
|
* tools; it never stops indexing, so a user who relied on it to keep AFT out
|
|
73
78
|
* of a repository must also switch the indexes off.
|
|
74
79
|
*/
|
|
75
80
|
export declare const RETIRED_ENABLED_FALSE_INDEXES_NOTE = "enabled: false no longer turns AFT off: it is translated to disabling every tool, but the trigram, semantic and callgraph indexes still build. To keep AFT from indexing this repository, also set indexes.trigram, indexes.semantic and indexes.callgraph to false.";
|
|
76
|
-
/** The once-per-identity migration notice for a config file that used retired keys. */
|
|
77
|
-
export declare function legacyConfigNoticeMessage(configPath: string, translation: Pick<DocumentTranslation, "retiredEnabledFalse">): string;
|
|
78
81
|
/**
|
|
79
|
-
*
|
|
82
|
+
* The once-per-identity notice for a project config file whose retired keys
|
|
83
|
+
* were translated in memory. The file itself is never written: it is shared
|
|
84
|
+
* through its repository. Mirrors `project_retired_keys_notice` in
|
|
85
|
+
* `crates/aft/src/feature_config.rs`.
|
|
86
|
+
*/
|
|
87
|
+
export declare function legacyConfigNoticeMessage(configPath: string, translation: Pick<DocumentTranslation, "retiredEnabledFalse" | "retiredKeys">): string;
|
|
88
|
+
/**
|
|
89
|
+
* Translate every block (base plus each `harnesses.<id>`) in place. Retired
|
|
90
|
+
* keys are never refused: their current equivalents then pass through the
|
|
91
|
+
* normal user/project trust rules, exactly as if the file had spelled them
|
|
92
|
+
* out.
|
|
80
93
|
*
|
|
81
94
|
* Only the user file's base block receives the absent-base default
|
|
82
95
|
* (`aft_move`/`aft_delete`) when its legacy keys generate disables: that
|
|
@@ -84,7 +97,7 @@ export declare function legacyConfigNoticeMessage(configPath: string, translatio
|
|
|
84
97
|
* contributes only the names its own legacy keys imply, so a legacy key in a
|
|
85
98
|
* repository can never re-disable tools the user enabled.
|
|
86
99
|
*/
|
|
87
|
-
export declare function translateConfigDocument(map: JsonRecord,
|
|
100
|
+
export declare function translateConfigDocument(map: JsonRecord, tier: "user" | "project"): DocumentTranslation;
|
|
88
101
|
/** Distinct unknown names in a resolved disabled list, sorted. */
|
|
89
102
|
export declare function unknownDisabledTools(disabled: readonly string[]): string[];
|
|
90
103
|
/**
|
|
@@ -109,7 +122,7 @@ export declare function noticeDigest(projection: unknown): string;
|
|
|
109
122
|
* are spelled as `npx @cortexkit/aft …`: users reach this notice through the
|
|
110
123
|
* plugin, with no `aft` command on their PATH.
|
|
111
124
|
*/
|
|
112
|
-
export declare const SEMANTIC_COST_NOTICE = "AFT indexes now default on; the local semantic backend may download an ONNX runtime and model and use CPU. Run npx @cortexkit/aft setup to change indexes.semantic
|
|
125
|
+
export declare const SEMANTIC_COST_NOTICE = "AFT indexes now default on; the local semantic backend may download an ONNX runtime and model and use CPU. Run npx @cortexkit/aft setup to change indexes.semantic.";
|
|
113
126
|
/**
|
|
114
127
|
* Identity of the semantic cost notice. It is a constant rather than a digest
|
|
115
128
|
* of the config file, so the notice is delivered once per user config path and
|
|
@@ -158,7 +171,11 @@ export interface ResolvedIndexesConfig {
|
|
|
158
171
|
callgraph: boolean;
|
|
159
172
|
}
|
|
160
173
|
export declare const DEFAULT_INDEXES: ResolvedIndexesConfig;
|
|
161
|
-
/**
|
|
174
|
+
/**
|
|
175
|
+
* Whole-load rejection: the candidate config must not be used at all. Raised
|
|
176
|
+
* when a resolved configuration lacks its registration list or an index
|
|
177
|
+
* switch; retired keys are translated and never raise it.
|
|
178
|
+
*/
|
|
162
179
|
export declare class ConfigRejectedError extends Error {
|
|
163
180
|
readonly errors: string[];
|
|
164
181
|
constructor(errors: string[], source?: string);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-config.d.ts","sourceRoot":"","sources":["../src/feature-config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"feature-config.d.ts","sourceRoot":"","sources":["../src/feature-config.ts"],"names":[],"mappings":"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"}
|