@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 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.52.2";
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).",
@@ -44,6 +44,7 @@ export interface AftStatusSnapshot {
44
44
  restrict_to_project_root: boolean;
45
45
  search_index: boolean;
46
46
  semantic_search: boolean;
47
+ callgraph_store: boolean;
47
48
  };
48
49
  search_index: {
49
50
  status: string;
@@ -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.52.2",
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.52.2",
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.52.2",
47
- "@cortexkit/aft-darwin-x64": "0.52.2",
48
- "@cortexkit/aft-linux-arm64": "0.52.2",
49
- "@cortexkit/aft-linux-x64": "0.52.2",
50
- "@cortexkit/aft-win32-arm64": "0.52.2",
51
- "@cortexkit/aft-win32-x64": "0.52.2"
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",
@@ -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");