@tenphi/akno 0.1.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.
Files changed (147) hide show
  1. package/LICENSE +83 -0
  2. package/README.md +46 -0
  3. package/dist/args.d.ts +18 -0
  4. package/dist/args.d.ts.map +1 -0
  5. package/dist/args.js +92 -0
  6. package/dist/args.js.map +1 -0
  7. package/dist/bin.d.ts +3 -0
  8. package/dist/bin.d.ts.map +1 -0
  9. package/dist/bin.js +142 -0
  10. package/dist/bin.js.map +1 -0
  11. package/dist/commands/adopt-cmd.d.ts +2 -0
  12. package/dist/commands/adopt-cmd.d.ts.map +1 -0
  13. package/dist/commands/adopt-cmd.js +61 -0
  14. package/dist/commands/adopt-cmd.js.map +1 -0
  15. package/dist/commands/answer-cmd.d.ts +2 -0
  16. package/dist/commands/answer-cmd.d.ts.map +1 -0
  17. package/dist/commands/answer-cmd.js +150 -0
  18. package/dist/commands/answer-cmd.js.map +1 -0
  19. package/dist/commands/bench-cmd.d.ts +4 -0
  20. package/dist/commands/bench-cmd.d.ts.map +1 -0
  21. package/dist/commands/bench-cmd.js +1542 -0
  22. package/dist/commands/bench-cmd.js.map +1 -0
  23. package/dist/commands/config-cmd.d.ts +7 -0
  24. package/dist/commands/config-cmd.d.ts.map +1 -0
  25. package/dist/commands/config-cmd.js +80 -0
  26. package/dist/commands/config-cmd.js.map +1 -0
  27. package/dist/commands/context-cmd.d.ts +2 -0
  28. package/dist/commands/context-cmd.d.ts.map +1 -0
  29. package/dist/commands/context-cmd.js +130 -0
  30. package/dist/commands/context-cmd.js.map +1 -0
  31. package/dist/commands/doctor-cmd.d.ts +2 -0
  32. package/dist/commands/doctor-cmd.d.ts.map +1 -0
  33. package/dist/commands/doctor-cmd.js +198 -0
  34. package/dist/commands/doctor-cmd.js.map +1 -0
  35. package/dist/commands/dream-cmd.d.ts +26 -0
  36. package/dist/commands/dream-cmd.d.ts.map +1 -0
  37. package/dist/commands/dream-cmd.js +1167 -0
  38. package/dist/commands/dream-cmd.js.map +1 -0
  39. package/dist/commands/dream-model-status.d.ts +5 -0
  40. package/dist/commands/dream-model-status.d.ts.map +1 -0
  41. package/dist/commands/dream-model-status.js +33 -0
  42. package/dist/commands/dream-model-status.js.map +1 -0
  43. package/dist/commands/dream-notifications.d.ts +24 -0
  44. package/dist/commands/dream-notifications.d.ts.map +1 -0
  45. package/dist/commands/dream-notifications.js +168 -0
  46. package/dist/commands/dream-notifications.js.map +1 -0
  47. package/dist/commands/dream-schedule.d.ts +55 -0
  48. package/dist/commands/dream-schedule.d.ts.map +1 -0
  49. package/dist/commands/dream-schedule.js +160 -0
  50. package/dist/commands/dream-schedule.js.map +1 -0
  51. package/dist/commands/folder-cmd.d.ts +2 -0
  52. package/dist/commands/folder-cmd.d.ts.map +1 -0
  53. package/dist/commands/folder-cmd.js +84 -0
  54. package/dist/commands/folder-cmd.js.map +1 -0
  55. package/dist/commands/graph-cmd.d.ts +2 -0
  56. package/dist/commands/graph-cmd.d.ts.map +1 -0
  57. package/dist/commands/graph-cmd.js +126 -0
  58. package/dist/commands/graph-cmd.js.map +1 -0
  59. package/dist/commands/inbox-cmd.d.ts +2 -0
  60. package/dist/commands/inbox-cmd.d.ts.map +1 -0
  61. package/dist/commands/inbox-cmd.js +69 -0
  62. package/dist/commands/inbox-cmd.js.map +1 -0
  63. package/dist/commands/index-cmd.d.ts +2 -0
  64. package/dist/commands/index-cmd.d.ts.map +1 -0
  65. package/dist/commands/index-cmd.js +102 -0
  66. package/dist/commands/index-cmd.js.map +1 -0
  67. package/dist/commands/ingest-cmd.d.ts +2 -0
  68. package/dist/commands/ingest-cmd.d.ts.map +1 -0
  69. package/dist/commands/ingest-cmd.js +167 -0
  70. package/dist/commands/ingest-cmd.js.map +1 -0
  71. package/dist/commands/init-cmd.d.ts +292 -0
  72. package/dist/commands/init-cmd.d.ts.map +1 -0
  73. package/dist/commands/init-cmd.js +476 -0
  74. package/dist/commands/init-cmd.js.map +1 -0
  75. package/dist/commands/init-prompts.d.ts +51 -0
  76. package/dist/commands/init-prompts.d.ts.map +1 -0
  77. package/dist/commands/init-prompts.js +192 -0
  78. package/dist/commands/init-prompts.js.map +1 -0
  79. package/dist/commands/list-cmd.d.ts +2 -0
  80. package/dist/commands/list-cmd.d.ts.map +1 -0
  81. package/dist/commands/list-cmd.js +77 -0
  82. package/dist/commands/list-cmd.js.map +1 -0
  83. package/dist/commands/maintenance-policy-output.d.ts +4 -0
  84. package/dist/commands/maintenance-policy-output.d.ts.map +1 -0
  85. package/dist/commands/maintenance-policy-output.js +72 -0
  86. package/dist/commands/maintenance-policy-output.js.map +1 -0
  87. package/dist/commands/mutate-cmd.d.ts +5 -0
  88. package/dist/commands/mutate-cmd.d.ts.map +1 -0
  89. package/dist/commands/mutate-cmd.js +224 -0
  90. package/dist/commands/mutate-cmd.js.map +1 -0
  91. package/dist/commands/plan-cmd.d.ts +9 -0
  92. package/dist/commands/plan-cmd.d.ts.map +1 -0
  93. package/dist/commands/plan-cmd.js +411 -0
  94. package/dist/commands/plan-cmd.js.map +1 -0
  95. package/dist/commands/read-cmd.d.ts +2 -0
  96. package/dist/commands/read-cmd.d.ts.map +1 -0
  97. package/dist/commands/read-cmd.js +89 -0
  98. package/dist/commands/read-cmd.js.map +1 -0
  99. package/dist/commands/recall-cmd.d.ts +2 -0
  100. package/dist/commands/recall-cmd.d.ts.map +1 -0
  101. package/dist/commands/recall-cmd.js +176 -0
  102. package/dist/commands/recall-cmd.js.map +1 -0
  103. package/dist/commands/redeploy-cmd.d.ts +43 -0
  104. package/dist/commands/redeploy-cmd.d.ts.map +1 -0
  105. package/dist/commands/redeploy-cmd.js +270 -0
  106. package/dist/commands/redeploy-cmd.js.map +1 -0
  107. package/dist/commands/rules-cmd.d.ts +2 -0
  108. package/dist/commands/rules-cmd.d.ts.map +1 -0
  109. package/dist/commands/rules-cmd.js +72 -0
  110. package/dist/commands/rules-cmd.js.map +1 -0
  111. package/dist/commands/serve-cmd.d.ts +23 -0
  112. package/dist/commands/serve-cmd.d.ts.map +1 -0
  113. package/dist/commands/serve-cmd.js +415 -0
  114. package/dist/commands/serve-cmd.js.map +1 -0
  115. package/dist/commands/timeline-cmd.d.ts +2 -0
  116. package/dist/commands/timeline-cmd.d.ts.map +1 -0
  117. package/dist/commands/timeline-cmd.js +67 -0
  118. package/dist/commands/timeline-cmd.js.map +1 -0
  119. package/dist/commands/write-cmd.d.ts +49 -0
  120. package/dist/commands/write-cmd.d.ts.map +1 -0
  121. package/dist/commands/write-cmd.js +269 -0
  122. package/dist/commands/write-cmd.js.map +1 -0
  123. package/dist/ops-handle.d.ts +67 -0
  124. package/dist/ops-handle.d.ts.map +1 -0
  125. package/dist/ops-handle.js +196 -0
  126. package/dist/ops-handle.js.map +1 -0
  127. package/dist/output.d.ts +28 -0
  128. package/dist/output.d.ts.map +1 -0
  129. package/dist/output.js +87 -0
  130. package/dist/output.js.map +1 -0
  131. package/dist/serve/http.d.ts +19 -0
  132. package/dist/serve/http.d.ts.map +1 -0
  133. package/dist/serve/http.js +135 -0
  134. package/dist/serve/http.js.map +1 -0
  135. package/dist/serve/mcp.d.ts +21 -0
  136. package/dist/serve/mcp.d.ts.map +1 -0
  137. package/dist/serve/mcp.js +79 -0
  138. package/dist/serve/mcp.js.map +1 -0
  139. package/dist/serve/socket.d.ts +15 -0
  140. package/dist/serve/socket.d.ts.map +1 -0
  141. package/dist/serve/socket.js +311 -0
  142. package/dist/serve/socket.js.map +1 -0
  143. package/dist/version.d.ts +2 -0
  144. package/dist/version.d.ts.map +1 -0
  145. package/dist/version.js +15 -0
  146. package/dist/version.js.map +1 -0
  147. package/package.json +40 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bench-cmd.js","sourceRoot":"","sources":["../../src/commands/bench-cmd.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { AknoConfig } from '@tenphi/akno-core';
2
+ export declare function configCommand(argv: string[]): Promise<number>;
3
+ /** Redaction is not optional: this output is routinely pasted into bug reports. */
4
+ export declare function configForOutput(config: AknoConfig): unknown;
5
+ /** Defensive recursive redaction for future config fields and plugin/provider extensions. */
6
+ export declare function redactSecrets(value: unknown, field?: string): unknown;
7
+ //# sourceMappingURL=config-cmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-cmd.d.ts","sourceRoot":"","sources":["../../src/commands/config-cmd.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAuC,MAAM,mBAAmB,CAAC;AAMzF,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAwBnE;AAED,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAiB3D;AA0BD,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAK,GAAG,OAAO,CAcjE"}
@@ -0,0 +1,80 @@
1
+ import { openOptionsFrom, parse } from "../args.js";
2
+ import { heading, json, line } from "../output.js";
3
+ const CONFIG_HELP = `akno config
4
+ The resolved configuration and the files it came from, with secrets redacted.
5
+ Use this to check that config/local.jsonc is actually being read.`;
6
+ export async function configCommand(argv) {
7
+ const { values } = parse(argv);
8
+ if (values.help) {
9
+ line(CONFIG_HELP);
10
+ return 0;
11
+ }
12
+ const { loadConfig } = await import('@tenphi/akno-core');
13
+ const config = loadConfig(openOptionsFrom(values));
14
+ const redacted = configForOutput(config);
15
+ if (values.json) {
16
+ json(redacted);
17
+ return 0;
18
+ }
19
+ heading('Sources, lowest precedence first');
20
+ for (const source of config.sources) {
21
+ line(` ${source.replace(process.env.HOME ?? '~', '~')}`);
22
+ }
23
+ heading('Resolved');
24
+ json(redacted);
25
+ return 0;
26
+ }
27
+ /** Redaction is not optional: this output is routinely pasted into bug reports. */
28
+ export function configForOutput(config) {
29
+ const projected = {
30
+ ...config,
31
+ providers: Object.fromEntries(Object.entries(config.providers).map(([name, provider]) => [name, providerForOutput(provider)])),
32
+ models: Object.fromEntries(Object.entries(config.models).map(([role, model]) => [role, modelForOutput(model)])),
33
+ maintenance: {
34
+ ...config.maintenance,
35
+ model: config.maintenance.model ? modelForOutput(config.maintenance.model) : null,
36
+ },
37
+ };
38
+ // Keep a final recursive boundary even though known provider/model shapes are projected above.
39
+ // A newly nested credential must fail closed instead of waiting for another hand-written branch.
40
+ return redactSecrets(projected);
41
+ }
42
+ function providerForOutput(provider) {
43
+ return {
44
+ ...provider,
45
+ apiKey: provider.apiKey === null ? null : '<set>',
46
+ headers: Object.keys(provider.headers),
47
+ };
48
+ }
49
+ function modelForOutput(model) {
50
+ return { ...model, provider: model.provider?.name ?? null };
51
+ }
52
+ const SECRET_FIELDS = new Set([
53
+ 'apikey',
54
+ 'authorization',
55
+ 'password',
56
+ 'secret',
57
+ 'clientsecret',
58
+ 'token',
59
+ 'accesstoken',
60
+ 'refreshtoken',
61
+ 'bearertoken',
62
+ ]);
63
+ /** Defensive recursive redaction for future config fields and plugin/provider extensions. */
64
+ export function redactSecrets(value, field = '') {
65
+ const normalized = field.toLowerCase().replace(/[^a-z0-9]/g, '');
66
+ if (SECRET_FIELDS.has(normalized))
67
+ return value === null || value === undefined ? value : '<set>';
68
+ if (Array.isArray(value))
69
+ return value.map((entry) => redactSecrets(entry));
70
+ if (value && typeof value === 'object') {
71
+ if (normalized === 'headers')
72
+ return Object.keys(value);
73
+ return Object.fromEntries(Object.entries(value).map(([key, entry]) => [
74
+ key,
75
+ redactSecrets(entry, key),
76
+ ]));
77
+ }
78
+ return value;
79
+ }
80
+ //# sourceMappingURL=config-cmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-cmd.js","sourceRoot":"","sources":["../../src/commands/config-cmd.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function contextCommand(argv: string[]): Promise<number>;
2
+ //# sourceMappingURL=context-cmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-cmd.d.ts","sourceRoot":"","sources":["../../src/commands/context-cmd.ts"],"names":[],"mappings":"AAkBA,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA4HpE"}
@@ -0,0 +1,130 @@
1
+ import { openOptionsFrom, parse } from "../args.js";
2
+ import { heading, json, line, statusLabel, style, truncate } from "../output.js";
3
+ import { resolveOps } from "../ops-handle.js";
4
+ const CONTEXT_HELP = `akno context [query] [options]
5
+
6
+ The whole pre-turn bundle against one budget: pinned pages, recent timeline, a
7
+ structure outline, and this turn's recall. Normally called by a host before the
8
+ model sees the turn, not by an agent.
9
+
10
+ --budget <n> Hard token budget (default 20000; auto_recall 1200).
11
+ --profile <name> "default" or precision-first "auto_recall" (default default).
12
+ --turn <role:text> Recent user/assistant turn for reference resolution; repeatable.
13
+ --pin <slug,...> Pages always included, before anything else competes.
14
+ --days <n> Days of timeline to include. 0 omits the section.
15
+ --no-structure Omit the folder outline.
16
+ --json What a host would actually send.`;
17
+ export async function contextCommand(argv) {
18
+ const { values, positionals } = parse(argv, {
19
+ budget: { type: 'string' },
20
+ pin: { type: 'string' },
21
+ days: { type: 'string' },
22
+ structure: { type: 'boolean', default: true },
23
+ profile: { type: 'string' },
24
+ turn: { type: 'string', multiple: true },
25
+ });
26
+ if (values.help) {
27
+ line(CONTEXT_HELP);
28
+ return 0;
29
+ }
30
+ const handle = await resolveOps(values, openOptionsFrom(values));
31
+ try {
32
+ const result = await handle.ops.context({
33
+ ...(positionals.length > 0 ? { query: positionals.join(' ') } : {}),
34
+ budget: values.budget ? Number(values.budget) : values.profile === 'auto_recall' ? 1200 : 20000,
35
+ ...(values.profile ? { profile: values.profile } : {}),
36
+ ...(values.turn ? { conversation_context: values.turn.map(parseConversationTurn) } : {}),
37
+ ...(values.pin ? { pinned: values.pin.split(',').map((slug) => slug.trim()) } : {}),
38
+ ...(values.days ? { timeline_days: Number(values.days) } : {}),
39
+ structure: values.structure,
40
+ });
41
+ if (values.json) {
42
+ json(result);
43
+ return 0;
44
+ }
45
+ line(`${statusLabel(result.status)} ${style.grey(`${result.budget_used} tokens used`)}` +
46
+ `${result.dropped ? style.yellow(` dropped ${result.dropped.pinned} pinned, ${result.dropped.results} recall, ${result.dropped.timeline} timeline results`) : ''}`);
47
+ if (result.degraded?.length)
48
+ line(style.yellow(` degraded: ${result.degraded.join(', ')}`));
49
+ if (result.activation) {
50
+ line(` ${style.grey('auto-recall')} ${result.activation.activated ? style.green('activated') : style.grey('empty')} ` +
51
+ style.grey(`(${result.activation.basis}; ${result.activation.selected}/${result.activation.candidates} selected` +
52
+ `${result.activation.qualification_run ? '; qualified' : ''})`));
53
+ }
54
+ if (result.coverage && Object.keys(result.coverage).length > 0) {
55
+ const parts = Object.entries(result.coverage).map(([concept, covered]) => covered ? style.green(`✓ ${concept}`) : style.red(`✗ ${concept}`));
56
+ line(` ${style.grey('coverage')} ${parts.join(' ')}`);
57
+ }
58
+ if (result.structure) {
59
+ heading('Structure');
60
+ line(result.structure
61
+ .split('\n')
62
+ .map((row) => ` ${style.grey(row)}`)
63
+ .join('\n'));
64
+ }
65
+ if (result.timeline.length > 0) {
66
+ heading(`Timeline — last ${values.days ?? 90} days`);
67
+ for (const entry of result.timeline) {
68
+ if (entry.type === 'event') {
69
+ line(` ${style.bold(entry.date)} ${truncate(entry.summary, 78)}`);
70
+ }
71
+ else {
72
+ line(` ${style.bold(entry.date)} ${truncate(entry.label, 62)} ` +
73
+ style.grey(`[document; ${entry.date_basis}]`));
74
+ if (entry.quote)
75
+ line(` ${truncate(entry.quote.replaceAll('\n', ' '), 96)}`);
76
+ }
77
+ }
78
+ }
79
+ for (const [label, cards] of [['Pinned', result.pinned]]) {
80
+ if (cards.length === 0)
81
+ continue;
82
+ heading(label);
83
+ for (const card of cards) {
84
+ line(` ${style.bold(card.slug)} ${style.grey(`(${card.role})`)}`);
85
+ if (card.summary)
86
+ line(` ${truncate(card.summary, 100)}`);
87
+ for (const bodyLine of card.lines.slice(0, 6)) {
88
+ line(` ${style.grey(`${card.slug}:${bodyLine.n}`)} ${truncate(bodyLine.text, 96)}`);
89
+ }
90
+ }
91
+ }
92
+ if (result.results.length > 0) {
93
+ heading('Recalled');
94
+ for (const entry of result.results) {
95
+ if (entry.type === 'document') {
96
+ line(` ${style.bold(entry.path)} ${style.grey('(unfiled document)')}`);
97
+ if (entry.summary)
98
+ line(` ${truncate(entry.summary, 100)}`);
99
+ for (const quoted of entry.quote?.split('\n').slice(0, 6) ?? []) {
100
+ line(` ${truncate(quoted, 96)}`);
101
+ }
102
+ continue;
103
+ }
104
+ line(` ${style.bold(entry.slug)} ${style.grey(`(${entry.role})`)}`);
105
+ if (entry.summary)
106
+ line(` ${truncate(entry.summary, 100)}`);
107
+ for (const bodyLine of entry.lines.slice(0, 6)) {
108
+ line(` ${style.grey(`${entry.slug}:${bodyLine.n}`)} ${truncate(bodyLine.text, 96)}`);
109
+ }
110
+ }
111
+ }
112
+ if (result.searched.length > 0) {
113
+ line(`\n${style.grey(`searched: ${result.searched.map((q) => `"${q}"`).join(', ')}`)}`);
114
+ }
115
+ return 0;
116
+ }
117
+ finally {
118
+ await handle.close();
119
+ }
120
+ }
121
+ function parseConversationTurn(value) {
122
+ const separator = value.indexOf(':');
123
+ const role = separator === -1 ? '' : value.slice(0, separator);
124
+ const content = separator === -1 ? '' : value.slice(separator + 1).trim();
125
+ if ((role !== 'user' && role !== 'assistant') || !content) {
126
+ throw new Error('--turn expects user:<text> or assistant:<text>');
127
+ }
128
+ return { role, content };
129
+ }
130
+ //# sourceMappingURL=context-cmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-cmd.js","sourceRoot":"","sources":["../../src/commands/context-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,YAAY,GAAG;;;;;;;;;;;;uDAYkC,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAc;IACjD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAOlC,IAAI,EAAE;QACP,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;QAC7C,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;KACzC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,YAAY,CAAC,CAAC;QACnB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;YACtC,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YAC/F,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAoC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,CAAC;YACb,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,CACF,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,cAAc,CAAC,EAAE;YAChF,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,MAAM,CAAC,OAAO,CAAC,MAAM,YAAY,MAAM,CAAC,OAAO,CAAC,OAAO,YAAY,MAAM,CAAC,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CACtK,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM;YAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7F,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,IAAI,CACF,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG;gBAC/G,KAAK,CAAC,IAAI,CACR,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,KAAK,MAAM,CAAC,UAAU,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,WAAW;oBACnG,GAAG,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CACjE,CACJ,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CACvE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAClE,CAAC;YACF,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,CAAC,WAAW,CAAC,CAAC;YACrB,IAAI,CACF,MAAM,CAAC,SAAS;iBACb,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;iBACpC,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,mBAAmB,MAAM,CAAC,IAAI,IAAI,EAAE,OAAO,CAAC,CAAC;YACrD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC3B,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;gBACtE,CAAC;qBAAM,CAAC;oBACN,IAAI,CACF,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG;wBAC1D,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,UAAU,GAAG,CAAC,CAChD,CAAC;oBACF,IAAI,KAAK,CAAC,KAAK;wBAAE,IAAI,CAAC,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAU,EAAE,CAAC;YAClE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACjC,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;gBACnE,IAAI,IAAI,CAAC,OAAO;oBAAE,IAAI,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC7D,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBAC9C,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC1F,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,UAAU,CAAC,CAAC;YACpB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC9B,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;oBACxE,IAAI,KAAK,CAAC,OAAO;wBAAE,IAAI,CAAC,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC/D,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wBAChE,IAAI,CAAC,OAAO,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;oBACtC,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;gBACrE,IAAI,KAAK,CAAC,OAAO;oBAAE,IAAI,CAAC,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/D,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBAC/C,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC3F,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa;IAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1E,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function doctorCommand(argv: string[]): Promise<number>;
2
+ //# sourceMappingURL=doctor-cmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor-cmd.d.ts","sourceRoot":"","sources":["../../src/commands/doctor-cmd.ts"],"names":[],"mappings":"AAgBA,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA6KnE"}
@@ -0,0 +1,198 @@
1
+ import { open, readOnlyExplanation } from '@tenphi/akno-core';
2
+ import { openOptionsFrom, parse } from "../args.js";
3
+ import { fail, heading, json, kv, line, ms, style } from "../output.js";
4
+ const DOCTOR_HELP = `akno doctor [options]
5
+
6
+ What's present, what's degraded, and what that costs. Model latency and index
7
+ latency are reported separately — a memory system that feels slow after idling
8
+ is almost never suffering from its storage engine.
9
+
10
+ --no-probe Skip the model round trips. Instant, but no latency numbers.
11
+ --refresh-api Re-probe providers configured with api: auto, ignoring their cache.
12
+ --admission-preview Show exact default-deny folder rules for implicit read-only pages.
13
+ Reads folder names, never page slugs or content, and writes nothing.
14
+ --json`;
15
+ export async function doctorCommand(argv) {
16
+ const { values } = parse(argv, {
17
+ probe: { type: 'boolean', default: true },
18
+ 'refresh-api': { type: 'boolean', default: false },
19
+ 'admission-preview': { type: 'boolean', default: false },
20
+ });
21
+ if (values.help) {
22
+ line(DOCTOR_HELP);
23
+ return 0;
24
+ }
25
+ if (!values.probe && values['refresh-api']) {
26
+ fail('--refresh-api cannot be combined with --no-probe');
27
+ return 2;
28
+ }
29
+ // Read-only for the knowledge base and SQLite. An api:auto probe may atomically update its
30
+ // content-free derived cache; it never contends with the knowledge-base write handle.
31
+ const mem = await open({
32
+ ...openOptionsFrom(values),
33
+ writable: false,
34
+ resolveProviderApis: values.probe,
35
+ refreshProviderApis: values['refresh-api'],
36
+ });
37
+ try {
38
+ const report = await mem.doctor({
39
+ probeModels: values.probe,
40
+ admissionPreview: values['admission-preview'],
41
+ });
42
+ if (values.json) {
43
+ json(report);
44
+ return report.warnings.length > 0 ? 1 : 0;
45
+ }
46
+ heading('Akno');
47
+ kv([
48
+ ['knowledge base', report.aknoPath],
49
+ ['state', report.stateDir],
50
+ ['config', report.configSources.map((s) => s.replace(process.env.HOME ?? '~', '~')).join(' → ')],
51
+ [
52
+ 'writable',
53
+ report.writable ? 'yes' : `no — ${readOnlyExplanation(report.readOnlyReason, report.lockHeldBy)}`,
54
+ ],
55
+ ['vector backend', report.vectorBackend === 'vec0' ? 'sqlite-vec (exact brute force)' : 'JS fallback'],
56
+ ]);
57
+ heading('Index');
58
+ kv([
59
+ ['pages', `${report.counts.pages}${formatRoles(report.byRole)}`],
60
+ [
61
+ 'fact injection',
62
+ `${report.factInjection.admittedPages} admitted, ${report.factInjection.readOnlyPages} read-only` +
63
+ (report.factInjection.implicitReadOnlyPages > 0
64
+ ? ` (${report.factInjection.implicitReadOnlyPages} without an explicit page or folder decision)`
65
+ : ''),
66
+ ],
67
+ [
68
+ 'remember fallback',
69
+ report.factInjection.fallback
70
+ ? `${report.factInjection.fallback.slug} (${report.factInjection.fallback.status.replaceAll('_', ' ')}` +
71
+ `${report.factInjection.fallback.status === 'unavailable'
72
+ ? `: ${report.factInjection.fallback.reason.replaceAll('_', ' ')}`
73
+ : ''})`
74
+ : 'off',
75
+ ],
76
+ ['chunks', `${report.counts.chunks} (${report.counts.chunksEmbedded} embedded)`],
77
+ ['facts', `${report.counts.facts} live, ${report.counts.factsSuperseded} superseded`],
78
+ ['events', report.counts.events],
79
+ [
80
+ 'documents',
81
+ `${report.counts.documents} (${report.counts.documentsExtracted} extracted` +
82
+ `${report.counts.documentsMissing > 0 ? `, ${report.counts.documentsMissing} originals missing` : ''}` +
83
+ `${report.counts.renditions > 0 ? `, ${report.counts.renditions} with text beside them` : ''})`,
84
+ ],
85
+ ['links', `${report.counts.links} (${report.counts.brokenLinks} broken)`],
86
+ ['ignored rules', report.counts.ignoredRules],
87
+ ]);
88
+ if (report.factInjection.admissionPreview) {
89
+ renderAdmissionPreview(report.factInjection.admissionPreview);
90
+ }
91
+ // Reported apart because they are unrelated; conflating them hides which is slow.
92
+ heading('Latency — index only, no model in the path');
93
+ kv([
94
+ ['point lookup', ms(report.index.openMs)],
95
+ ['FTS5 match', ms(report.index.lexicalMs)],
96
+ ['vector scan', report.index.vectorMs === null ? 'no embeddings' : ms(report.index.vectorMs)],
97
+ ]);
98
+ heading('Models');
99
+ for (const role of report.models) {
100
+ const state = role.available
101
+ ? style.green('ok')
102
+ : role.configured
103
+ ? style.red('unavailable')
104
+ : style.grey('not configured');
105
+ const latency = role.latencyMs !== null ? style.grey(` ${ms(role.latencyMs)}`) : '';
106
+ line(` ${style.bold(role.role.padEnd(10))} ${state}${latency}`);
107
+ if (role.model)
108
+ line(` ${style.grey(`${role.model} @ ${role.endpoint ?? '?'}`)}`);
109
+ if (role.checks) {
110
+ for (const [name, check] of Object.entries(role.checks)) {
111
+ const checkState = check.status === 'ok'
112
+ ? style.green('ok')
113
+ : check.status === 'failed'
114
+ ? style.red('failed')
115
+ : style.grey('skipped');
116
+ const checkLatency = check.latencyMs === null ? '' : style.grey(` ${ms(check.latencyMs)}`);
117
+ const tokens = check.usage?.totalTokens;
118
+ const tokenReceipt = tokens === null || tokens === undefined ? '' : style.grey(`, ${tokens} tokens`);
119
+ line(` ${name.padEnd(12)} ${checkState}${checkLatency}${tokenReceipt}`);
120
+ }
121
+ }
122
+ if (!role.available) {
123
+ if (role.error)
124
+ line(` ${style.grey(role.error)}`);
125
+ // The consequence is the part that is actually useful to a reader.
126
+ line(` ${style.yellow('without it:')} ${role.withoutIt}`);
127
+ }
128
+ }
129
+ heading('Generative transports');
130
+ for (const provider of report.providerApis) {
131
+ const transport = provider.resolved
132
+ ? style.green(provider.resolved)
133
+ : provider.source === 'not_needed'
134
+ ? style.grey('not needed')
135
+ : style.red('unresolved');
136
+ const source = provider.configured === 'auto'
137
+ ? style.grey(` ${provider.source}; configured auto`)
138
+ : style.grey(' explicit');
139
+ line(` ${style.bold(provider.provider.padEnd(12))} ${transport}${source}`);
140
+ if (provider.error)
141
+ line(` ${style.grey(provider.error)}`);
142
+ }
143
+ heading('Extraction');
144
+ kv([
145
+ [
146
+ 'PDF and images',
147
+ report.extraction.swift
148
+ ? 'PDFKit text layer, Vision OCR (macOS frameworks)'
149
+ : 'unavailable — the Swift helper could not be built',
150
+ ],
151
+ ['Office formats', report.extraction.textutil ? 'textutil' : 'unavailable'],
152
+ ]);
153
+ heading('Reserved paths');
154
+ for (const entry of report.reserved) {
155
+ const state = entry.state === 'ok'
156
+ ? style.green('ok')
157
+ : entry.state === 'missing'
158
+ ? style.grey('missing')
159
+ : style.yellow('occupied');
160
+ line(` ${entry.path.padEnd(16)} ${state}${entry.note ? style.grey(` ${entry.note}`) : ''}`);
161
+ }
162
+ if (report.warnings.length > 0) {
163
+ heading(`${report.warnings.length} warning${report.warnings.length === 1 ? '' : 's'}`);
164
+ for (const warning of report.warnings)
165
+ line(` ${style.yellow('·')} ${warning}`);
166
+ }
167
+ else {
168
+ line(`\n${style.green('no warnings')}`);
169
+ }
170
+ return report.warnings.length > 0 ? 1 : 0;
171
+ }
172
+ finally {
173
+ await mem.close();
174
+ }
175
+ }
176
+ function renderAdmissionPreview(preview) {
177
+ heading('Admission preview — no changes');
178
+ if (preview.implicitPages === 0) {
179
+ line(` ${style.green('every knowledge page has an explicit remember decision')}`);
180
+ return;
181
+ }
182
+ line(style.grey(' These patches preserve current default-deny behavior. They do not make any page writable or change its role.'));
183
+ for (const proposal of preview.proposedRules) {
184
+ line(` + ${JSON.stringify(proposal.glob)}: { "remember": "deny" } ` +
185
+ style.grey(`(${proposal.pages} implicit page${proposal.pages === 1 ? '' : 's'})`));
186
+ }
187
+ if (preview.rootPages > 0) {
188
+ line(style.grey(` ${preview.rootPages} root-level page${preview.rootPages === 1 ? '' : 's'} need page metadata; no broad ** rule was proposed.`));
189
+ }
190
+ line(style.grey(' Review or change folder classifications interactively with: akno init'));
191
+ }
192
+ function formatRoles(byRole) {
193
+ const parts = Object.entries(byRole)
194
+ .filter(([, count]) => count > 0)
195
+ .map(([name, count]) => `${count} ${name}`);
196
+ return parts.length > 0 ? ` (${parts.join(', ')})` : '';
197
+ }
198
+ //# sourceMappingURL=doctor-cmd.js.map