@cortexkit/aft-opencode 0.52.2 → 0.53.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/index.js +15 -16
- package/dist/shared/status.d.ts +1 -0
- package/dist/shared/status.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/shared/status.ts +24 -2
- package/src/tui/index.tsx +6 -0
- package/src/tui-compiled/index.tsx +12 -0
package/dist/index.js
CHANGED
|
@@ -36178,7 +36178,8 @@ function coerceAftStatus(response) {
|
|
|
36178
36178
|
validate_on_edit: readString(features.validate_on_edit, "off"),
|
|
36179
36179
|
restrict_to_project_root: readBoolean(features.restrict_to_project_root),
|
|
36180
36180
|
search_index: readBoolean(features.search_index ?? features.experimental_search_index),
|
|
36181
|
-
semantic_search: readBoolean(features.semantic_search ?? features.experimental_semantic_search)
|
|
36181
|
+
semantic_search: readBoolean(features.semantic_search ?? features.experimental_semantic_search),
|
|
36182
|
+
callgraph_store: readBoolean(features.callgraph_store)
|
|
36182
36183
|
},
|
|
36183
36184
|
search_index: {
|
|
36184
36185
|
status: readString(searchIndex.status, "unknown"),
|
|
@@ -36225,6 +36226,15 @@ function coerceAftStatus(response) {
|
|
|
36225
36226
|
message: readString(response.message, "")
|
|
36226
36227
|
};
|
|
36227
36228
|
}
|
|
36229
|
+
function appendDegradedStatus(lines, status, markdown) {
|
|
36230
|
+
if (!status.degraded || status.degraded_reasons.length === 0)
|
|
36231
|
+
return;
|
|
36232
|
+
lines.push("", markdown ? "### Degraded mode" : "Degraded mode");
|
|
36233
|
+
for (const reason of status.degraded_reasons) {
|
|
36234
|
+
const detail = reason === "home_root" ? "project root is your home directory; heavy indexes are disabled" : reason;
|
|
36235
|
+
lines.push(`- ${detail}`);
|
|
36236
|
+
}
|
|
36237
|
+
}
|
|
36228
36238
|
function formatStatusMarkdown(status) {
|
|
36229
36239
|
const lines = [
|
|
36230
36240
|
"## AFT Status",
|
|
@@ -36232,21 +36242,10 @@ function formatStatusMarkdown(status) {
|
|
|
36232
36242
|
`- **Version:** \`${status.version}\``,
|
|
36233
36243
|
`- **Project root:** \`${status.project_root ?? "(not configured)"}\``,
|
|
36234
36244
|
`- **Canonical root:** \`${status.canonical_root ?? "(not configured)"}\``,
|
|
36235
|
-
`- **Cache role:** \`${formatCacheRoleLabel(status.cache_role)}
|
|
36236
|
-
"",
|
|
36237
|
-
"### Enabled features",
|
|
36238
|
-
`- \`format_on_edit\`: ${formatFlag(status.features.format_on_edit)}`,
|
|
36239
|
-
`- \`search_index\`: ${formatFlag(status.features.search_index)}`,
|
|
36240
|
-
`- \`semantic_search\`: ${formatFlag(status.features.semantic_search)}`,
|
|
36241
|
-
"",
|
|
36242
|
-
"### Search index",
|
|
36243
|
-
`- **Status:** \`${status.search_index.status}\``,
|
|
36244
|
-
`- **Files:** ${formatCount(status.search_index.files)}`,
|
|
36245
|
-
`- **Trigrams:** ${formatCount(status.search_index.trigrams)}`,
|
|
36246
|
-
"",
|
|
36247
|
-
"### Semantic index",
|
|
36248
|
-
`- **Status:** \`${formatSemanticIndexStatus(status.semantic_index.status, status.semantic_index.stage)}\``
|
|
36245
|
+
`- **Cache role:** \`${formatCacheRoleLabel(status.cache_role)}\``
|
|
36249
36246
|
];
|
|
36247
|
+
appendDegradedStatus(lines, status, true);
|
|
36248
|
+
lines.push("", "### Enabled features", `- \`format_on_edit\`: ${formatFlag(status.features.format_on_edit)}`, `- \`search_index\`: ${formatFlag(status.features.search_index)}`, `- \`semantic_search\`: ${formatFlag(status.features.semantic_search)}`, `- \`callgraph_store\`: ${formatFlag(status.features.callgraph_store)}`, "", "### Search index", `- **Status:** \`${status.search_index.status}\``, `- **Files:** ${formatCount(status.search_index.files)}`, `- **Trigrams:** ${formatCount(status.search_index.trigrams)}`, "", "### Semantic index", `- **Status:** \`${formatSemanticIndexStatus(status.semantic_index.status, status.semantic_index.stage)}\``);
|
|
36250
36249
|
const refreshing = formatSemanticRefreshing(status.semantic_index.refreshing_count);
|
|
36251
36250
|
if (refreshing) {
|
|
36252
36251
|
lines.push(`- **Refresh:** ${refreshing}`);
|
|
@@ -39764,7 +39763,7 @@ var PLUGIN_VERSION = (() => {
|
|
|
39764
39763
|
return "0.0.0";
|
|
39765
39764
|
}
|
|
39766
39765
|
})();
|
|
39767
|
-
var ANNOUNCEMENT_VERSION = "0.
|
|
39766
|
+
var ANNOUNCEMENT_VERSION = "0.53.0";
|
|
39768
39767
|
var ANNOUNCEMENT_FEATURES = [
|
|
39769
39768
|
"Callgraph stays consistent under load: edits arriving mid-rebuild can no longer be silently lost from navigation results.",
|
|
39770
39769
|
"aft_zoom handles real-world .jsonc: files with comment banners above the opening brace now resolve, and not-found errors point at the segment that actually failed (thanks @iceteaSA).",
|
package/dist/shared/status.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/shared/status.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/shared/status.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cortexkit/aft-opencode",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.53.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "OpenCode plugin for Agent File Tools (AFT) — tree-sitter and lsp powered code analysis",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@clack/prompts": "^1.6.0",
|
|
37
|
-
"@cortexkit/aft-bridge": "0.
|
|
37
|
+
"@cortexkit/aft-bridge": "0.53.0",
|
|
38
38
|
"@opentui/core": "0.4.3",
|
|
39
39
|
"@opentui/solid": "0.4.3",
|
|
40
40
|
"comment-json": "^4.6.2",
|
|
@@ -43,12 +43,12 @@
|
|
|
43
43
|
"zod": "^4.4.3"
|
|
44
44
|
},
|
|
45
45
|
"optionalDependencies": {
|
|
46
|
-
"@cortexkit/aft-darwin-arm64": "0.
|
|
47
|
-
"@cortexkit/aft-darwin-x64": "0.
|
|
48
|
-
"@cortexkit/aft-linux-arm64": "0.
|
|
49
|
-
"@cortexkit/aft-linux-x64": "0.
|
|
50
|
-
"@cortexkit/aft-win32-arm64": "0.
|
|
51
|
-
"@cortexkit/aft-win32-x64": "0.
|
|
46
|
+
"@cortexkit/aft-darwin-arm64": "0.53.0",
|
|
47
|
+
"@cortexkit/aft-darwin-x64": "0.53.0",
|
|
48
|
+
"@cortexkit/aft-linux-arm64": "0.53.0",
|
|
49
|
+
"@cortexkit/aft-linux-x64": "0.53.0",
|
|
50
|
+
"@cortexkit/aft-win32-arm64": "0.53.0",
|
|
51
|
+
"@cortexkit/aft-win32-x64": "0.53.0"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@opencode-ai/plugin": "^1.17.11",
|
package/src/shared/status.ts
CHANGED
|
@@ -47,6 +47,7 @@ export interface AftStatusSnapshot {
|
|
|
47
47
|
restrict_to_project_root: boolean;
|
|
48
48
|
search_index: boolean;
|
|
49
49
|
semantic_search: boolean;
|
|
50
|
+
callgraph_store: boolean;
|
|
50
51
|
};
|
|
51
52
|
search_index: {
|
|
52
53
|
status: string;
|
|
@@ -262,6 +263,7 @@ export function coerceAftStatus(response: Record<string, unknown>): AftStatusSna
|
|
|
262
263
|
semantic_search: readBoolean(
|
|
263
264
|
features.semantic_search ?? features.experimental_semantic_search,
|
|
264
265
|
),
|
|
266
|
+
callgraph_store: readBoolean(features.callgraph_store),
|
|
265
267
|
},
|
|
266
268
|
search_index: {
|
|
267
269
|
status: readString(searchIndex.status, "unknown"),
|
|
@@ -322,11 +324,15 @@ export function formatStatusDialogMessage(status: AftStatusSnapshot): string {
|
|
|
322
324
|
`Project root: ${status.project_root ?? "(not configured)"}`,
|
|
323
325
|
`Canonical root: ${status.canonical_root ?? "(not configured)"}`,
|
|
324
326
|
`Cache role: ${formatCacheRoleLabel(status.cache_role)}`,
|
|
327
|
+
];
|
|
328
|
+
appendDegradedStatus(lines, status, false);
|
|
329
|
+
lines.push(
|
|
325
330
|
"",
|
|
326
331
|
"Enabled features",
|
|
327
332
|
`- format_on_edit: ${formatFlag(status.features.format_on_edit)}`,
|
|
328
333
|
`- search_index: ${formatFlag(status.features.search_index)}`,
|
|
329
334
|
`- semantic_search: ${formatFlag(status.features.semantic_search)}`,
|
|
335
|
+
`- callgraph_store: ${formatFlag(status.features.callgraph_store)}`,
|
|
330
336
|
"",
|
|
331
337
|
"Search index",
|
|
332
338
|
`- status: ${status.search_index.status}`,
|
|
@@ -335,7 +341,7 @@ export function formatStatusDialogMessage(status: AftStatusSnapshot): string {
|
|
|
335
341
|
"",
|
|
336
342
|
"Semantic index",
|
|
337
343
|
`- status: ${formatSemanticIndexStatus(status.semantic_index.status, status.semantic_index.stage)}`,
|
|
338
|
-
|
|
344
|
+
);
|
|
339
345
|
const refreshing = formatSemanticRefreshing(status.semantic_index.refreshing_count);
|
|
340
346
|
if (refreshing) {
|
|
341
347
|
lines.push(`- ${refreshing}`);
|
|
@@ -409,6 +415,18 @@ export function formatStatusDialogMessage(status: AftStatusSnapshot): string {
|
|
|
409
415
|
return lines.join("\n");
|
|
410
416
|
}
|
|
411
417
|
|
|
418
|
+
function appendDegradedStatus(lines: string[], status: AftStatusSnapshot, markdown: boolean): void {
|
|
419
|
+
if (!status.degraded || status.degraded_reasons.length === 0) return;
|
|
420
|
+
lines.push("", markdown ? "### Degraded mode" : "Degraded mode");
|
|
421
|
+
for (const reason of status.degraded_reasons) {
|
|
422
|
+
const detail =
|
|
423
|
+
reason === "home_root"
|
|
424
|
+
? "project root is your home directory; heavy indexes are disabled"
|
|
425
|
+
: reason;
|
|
426
|
+
lines.push(`- ${detail}`);
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
|
|
412
430
|
export function formatStatusMarkdown(status: AftStatusSnapshot): string {
|
|
413
431
|
const lines = [
|
|
414
432
|
"## AFT Status",
|
|
@@ -417,11 +435,15 @@ export function formatStatusMarkdown(status: AftStatusSnapshot): string {
|
|
|
417
435
|
`- **Project root:** \`${status.project_root ?? "(not configured)"}\``,
|
|
418
436
|
`- **Canonical root:** \`${status.canonical_root ?? "(not configured)"}\``,
|
|
419
437
|
`- **Cache role:** \`${formatCacheRoleLabel(status.cache_role)}\``,
|
|
438
|
+
];
|
|
439
|
+
appendDegradedStatus(lines, status, true);
|
|
440
|
+
lines.push(
|
|
420
441
|
"",
|
|
421
442
|
"### Enabled features",
|
|
422
443
|
`- \`format_on_edit\`: ${formatFlag(status.features.format_on_edit)}`,
|
|
423
444
|
`- \`search_index\`: ${formatFlag(status.features.search_index)}`,
|
|
424
445
|
`- \`semantic_search\`: ${formatFlag(status.features.semantic_search)}`,
|
|
446
|
+
`- \`callgraph_store\`: ${formatFlag(status.features.callgraph_store)}`,
|
|
425
447
|
"",
|
|
426
448
|
"### Search index",
|
|
427
449
|
`- **Status:** \`${status.search_index.status}\``,
|
|
@@ -430,7 +452,7 @@ export function formatStatusMarkdown(status: AftStatusSnapshot): string {
|
|
|
430
452
|
"",
|
|
431
453
|
"### Semantic index",
|
|
432
454
|
`- **Status:** \`${formatSemanticIndexStatus(status.semantic_index.status, status.semantic_index.stage)}\``,
|
|
433
|
-
|
|
455
|
+
);
|
|
434
456
|
const refreshing = formatSemanticRefreshing(status.semantic_index.refreshing_count);
|
|
435
457
|
if (refreshing) {
|
|
436
458
|
lines.push(`- **Refresh:** ${refreshing}`);
|
package/src/tui/index.tsx
CHANGED
|
@@ -363,6 +363,12 @@ const StatusDialog = (props: StatusDialogProps) => {
|
|
|
363
363
|
value={status()!.features.semantic_search ? "on" : "off"}
|
|
364
364
|
tone={status()!.features.semantic_search ? "ok" : "muted"}
|
|
365
365
|
/>
|
|
366
|
+
<R
|
|
367
|
+
theme={t()}
|
|
368
|
+
label="callgraph_store"
|
|
369
|
+
value={status()!.features.callgraph_store ? "on" : "off"}
|
|
370
|
+
tone={status()!.features.callgraph_store ? "ok" : "muted"}
|
|
371
|
+
/>
|
|
366
372
|
</box>
|
|
367
373
|
|
|
368
374
|
{/* Right column */}
|
|
@@ -441,6 +441,18 @@ const StatusDialog = props => {
|
|
|
441
441
|
return status().features.semantic_search ? "ok" : "muted";
|
|
442
442
|
}
|
|
443
443
|
}), null);
|
|
444
|
+
_$insert(_el$18, _$createComponent(R, {
|
|
445
|
+
get theme() {
|
|
446
|
+
return t();
|
|
447
|
+
},
|
|
448
|
+
label: "callgraph_store",
|
|
449
|
+
get value() {
|
|
450
|
+
return status().features.callgraph_store ? "on" : "off";
|
|
451
|
+
},
|
|
452
|
+
get tone() {
|
|
453
|
+
return status().features.callgraph_store ? "ok" : "muted";
|
|
454
|
+
}
|
|
455
|
+
}), null);
|
|
444
456
|
_$insertNode(_el$30, _el$31);
|
|
445
457
|
_$insertNode(_el$30, _el$34);
|
|
446
458
|
_$setProp(_el$30, "flexDirection", "column");
|