aura-code 0.3.7 → 0.5.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 (109) hide show
  1. package/README.md +54 -2
  2. package/dist/agent/compactor.d.ts +26 -0
  3. package/dist/agent/compactor.js +156 -0
  4. package/dist/agent/compactor.js.map +1 -0
  5. package/dist/agent/design.d.ts +17 -0
  6. package/dist/agent/design.js +175 -0
  7. package/dist/agent/design.js.map +1 -0
  8. package/dist/agent/loop.js +8 -1
  9. package/dist/agent/loop.js.map +1 -1
  10. package/dist/agent/system-prompt.d.ts +1 -1
  11. package/dist/agent/system-prompt.js +5 -2
  12. package/dist/agent/system-prompt.js.map +1 -1
  13. package/dist/cli/display.js +40 -4
  14. package/dist/cli/display.js.map +1 -1
  15. package/dist/cli/index.js +258 -44
  16. package/dist/cli/index.js.map +1 -1
  17. package/dist/config/defaults.js +1 -1
  18. package/dist/config/defaults.js.map +1 -1
  19. package/dist/config/project-config.d.ts +6 -0
  20. package/dist/config/project-config.js +2 -0
  21. package/dist/config/project-config.js.map +1 -1
  22. package/dist/dream/dream.d.ts +48 -0
  23. package/dist/dream/dream.js +187 -0
  24. package/dist/dream/dream.js.map +1 -0
  25. package/dist/kanban/index.d.ts +5 -0
  26. package/dist/kanban/index.js +11 -0
  27. package/dist/kanban/index.js.map +1 -0
  28. package/dist/kanban/pipeline.d.ts +16 -0
  29. package/dist/kanban/pipeline.js +910 -0
  30. package/dist/kanban/pipeline.js.map +1 -0
  31. package/dist/kanban/server.d.ts +5 -0
  32. package/dist/kanban/server.js +820 -0
  33. package/dist/kanban/server.js.map +1 -0
  34. package/dist/kanban/types.d.ts +75 -0
  35. package/dist/kanban/types.js +6 -0
  36. package/dist/kanban/types.js.map +1 -0
  37. package/dist/learnlight/driven.d.ts +2 -0
  38. package/dist/learnlight/driven.js +109 -0
  39. package/dist/learnlight/driven.js.map +1 -0
  40. package/dist/learnlight/index.d.ts +4 -0
  41. package/dist/learnlight/index.js +32 -0
  42. package/dist/learnlight/index.js.map +1 -0
  43. package/dist/learnlight/lesson-prep.d.ts +36 -0
  44. package/dist/learnlight/lesson-prep.js +224 -0
  45. package/dist/learnlight/lesson-prep.js.map +1 -0
  46. package/dist/learnlight/report.d.ts +2 -0
  47. package/dist/learnlight/report.js +37 -0
  48. package/dist/learnlight/report.js.map +1 -0
  49. package/dist/learnlight/types.d.ts +72 -0
  50. package/dist/learnlight/types.js +6 -0
  51. package/dist/learnlight/types.js.map +1 -0
  52. package/dist/perception/graph-store.d.ts +11 -0
  53. package/dist/perception/graph-store.js +33 -0
  54. package/dist/perception/graph-store.js.map +1 -1
  55. package/dist/perception/index.d.ts +1 -1
  56. package/dist/perception/index.js +2 -1
  57. package/dist/perception/index.js.map +1 -1
  58. package/dist/providers/factory.d.ts +16 -0
  59. package/dist/providers/factory.js +72 -0
  60. package/dist/providers/factory.js.map +1 -1
  61. package/dist/providers/openai-compatible.js +80 -49
  62. package/dist/providers/openai-compatible.js.map +1 -1
  63. package/dist/research/council.d.ts +26 -0
  64. package/dist/research/council.js +225 -0
  65. package/dist/research/council.js.map +1 -0
  66. package/dist/research/research.d.ts +24 -0
  67. package/dist/research/research.js +116 -0
  68. package/dist/research/research.js.map +1 -0
  69. package/dist/ruby/alternator.d.ts +36 -1
  70. package/dist/ruby/alternator.js +40 -31
  71. package/dist/ruby/alternator.js.map +1 -1
  72. package/dist/ruby/stats.js +10 -11
  73. package/dist/ruby/stats.js.map +1 -1
  74. package/dist/ruby/types.js +1 -1
  75. package/dist/ruby/types.js.map +1 -1
  76. package/dist/safety/permissions.d.ts +8 -0
  77. package/dist/safety/permissions.js +12 -0
  78. package/dist/safety/permissions.js.map +1 -1
  79. package/dist/setup/provider-registry.js +14 -0
  80. package/dist/setup/provider-registry.js.map +1 -1
  81. package/dist/setup/provider-test.js +24 -2
  82. package/dist/setup/provider-test.js.map +1 -1
  83. package/dist/setup/telegram-wizard.d.ts +57 -0
  84. package/dist/setup/telegram-wizard.js +343 -0
  85. package/dist/setup/telegram-wizard.js.map +1 -0
  86. package/dist/tools/audio-transcribe.d.ts +20 -0
  87. package/dist/tools/audio-transcribe.js +39 -28
  88. package/dist/tools/audio-transcribe.js.map +1 -1
  89. package/dist/tools/gmail-tool.d.ts +11 -0
  90. package/dist/tools/gmail-tool.js +221 -0
  91. package/dist/tools/gmail-tool.js.map +1 -0
  92. package/dist/tools/read-file.js +13 -0
  93. package/dist/tools/read-file.js.map +1 -1
  94. package/dist/tools/telegram-bot.js +103 -18
  95. package/dist/tools/telegram-bot.js.map +1 -1
  96. package/dist/tools/telegram-voice.d.ts +22 -0
  97. package/dist/tools/telegram-voice.js +203 -0
  98. package/dist/tools/telegram-voice.js.map +1 -0
  99. package/dist/tools/telegram.d.ts +6 -1
  100. package/dist/tools/telegram.js +115 -5
  101. package/dist/tools/telegram.js.map +1 -1
  102. package/dist/tools/video-render.d.ts +11 -0
  103. package/dist/tools/video-render.js +189 -0
  104. package/dist/tools/video-render.js.map +1 -0
  105. package/dist/util/errors.js +6 -0
  106. package/dist/util/errors.js.map +1 -1
  107. package/dist/viz/index.js +816 -30
  108. package/dist/viz/index.js.map +1 -1
  109. package/package.json +2 -1
@@ -0,0 +1,72 @@
1
+ /** CEFR language proficiency levels. */
2
+ export type ProficiencyLevel = 'A1' | 'A2' | 'B1' | 'B2' | 'C1' | 'C2';
3
+ /** Age group for the learner. */
4
+ export type AgeGroup = 'child' | 'teen' | 'adult' | 'senior';
5
+ /** Lesson focus / skill area. */
6
+ export type SkillArea = 'speaking' | 'listening' | 'reading' | 'writing' | 'grammar' | 'vocabulary' | 'pronunciation' | 'business' | 'exam-preparation' | 'conversation';
7
+ /** A single vocabulary item for the lesson. */
8
+ export interface VocabularyItem {
9
+ word: string;
10
+ partOfSpeech: string;
11
+ definition: string;
12
+ exampleSentence: string;
13
+ /** Optional IPA pronunciation guide. */
14
+ ipa?: string;
15
+ }
16
+ /** A single exercise or activity within the lesson. */
17
+ export interface LessonActivity {
18
+ name: string;
19
+ durationMinutes: number;
20
+ skillArea: SkillArea;
21
+ description: string;
22
+ instructions: string;
23
+ materials: string[];
24
+ interactionType: 'teacher-led' | 'pair-work' | 'group-work' | 'individual' | 'whole-class';
25
+ }
26
+ /** Student profile summary for the lesson. */
27
+ export interface StudentProfile {
28
+ name: string;
29
+ level: ProficiencyLevel;
30
+ ageGroup: AgeGroup;
31
+ nativeLanguage: string;
32
+ /** Primary goals the student wants to achieve. */
33
+ goals: string[];
34
+ /** Areas the student struggles with. */
35
+ weaknesses: string[];
36
+ /** Topics the student enjoys. */
37
+ interests: string[];
38
+ /** Optional notes from previous lessons. */
39
+ previousNotes?: string;
40
+ }
41
+ /** The full lesson plan produced by the workflow. */
42
+ export interface LessonPlan {
43
+ /** Lesson title / topic. */
44
+ title: string;
45
+ /** CEFR level this lesson targets. */
46
+ level: ProficiencyLevel;
47
+ /** Duration of the full lesson in minutes. */
48
+ totalDurationMinutes: number;
49
+ /** Smart learning objectives (Specific, Measurable, Achievable, Relevant, Time-bound). */
50
+ objectives: string[];
51
+ /** Ordered list of activities. */
52
+ activities: LessonActivity[];
53
+ /** Key vocabulary for this lesson. */
54
+ vocabulary: VocabularyItem[];
55
+ /** Materials needed (PDFs, links, worksheets, etc.). */
56
+ materials: string[];
57
+ /** Homework assignments. */
58
+ homework?: string[];
59
+ /** Teacher notes / delivery tips. */
60
+ teacherNotes: string[];
61
+ }
62
+ /** Input parameters for generating a lesson. */
63
+ export interface LessonPrepInput {
64
+ topic: string;
65
+ student: StudentProfile;
66
+ /** Desired duration in minutes (default: 50). */
67
+ durationMinutes?: number;
68
+ /** Specific skill areas to focus on. */
69
+ focusAreas?: SkillArea[];
70
+ /** Any additional instructions or constraints. */
71
+ notes?: string;
72
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────────────
3
+ // LearnLight Lesson Preparation Types
4
+ // ─────────────────────────────────────────────────────────────────────────────
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/learnlight/types.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,sCAAsC;AACtC,gFAAgF"}
@@ -23,3 +23,14 @@ export declare function isStale(perception: ProjectPerception, maxAgeMs?: number
23
23
  * Silently succeeds when the file does not exist.
24
24
  */
25
25
  export declare function clearPerception(filePath: string): Promise<void>;
26
+ /**
27
+ * Convert a ProjectPerception into the flat `{ nodes, edges }` shape that
28
+ * `viz/index.ts#loadGraph()` and `agent/context.ts#loadGraphSummary()` expect,
29
+ * then write it to `<projectRoot>/graphify-out/graph.json`.
30
+ *
31
+ * Node shape: `{ id, label, type, file?, summary?, source_location? }`
32
+ * Edge shape: `{ source, target, relation }`
33
+ *
34
+ * Writes atomically (tmp + rename).
35
+ */
36
+ export declare function saveGraphForViz(perception: ProjectPerception): Promise<void>;
@@ -37,6 +37,7 @@ exports.savePerception = savePerception;
37
37
  exports.loadPerception = loadPerception;
38
38
  exports.isStale = isStale;
39
39
  exports.clearPerception = clearPerception;
40
+ exports.saveGraphForViz = saveGraphForViz;
40
41
  const fs = __importStar(require("fs"));
41
42
  const path = __importStar(require("path"));
42
43
  // ─────────────────────────────────────────────────────────────────────────────
@@ -110,6 +111,38 @@ async function clearPerception(filePath) {
110
111
  }
111
112
  }
112
113
  // ─────────────────────────────────────────────────────────────────────────────
114
+ /**
115
+ * Convert a ProjectPerception into the flat `{ nodes, edges }` shape that
116
+ * `viz/index.ts#loadGraph()` and `agent/context.ts#loadGraphSummary()` expect,
117
+ * then write it to `<projectRoot>/graphify-out/graph.json`.
118
+ *
119
+ * Node shape: `{ id, label, type, file?, summary?, source_location? }`
120
+ * Edge shape: `{ source, target, relation }`
121
+ *
122
+ * Writes atomically (tmp + rename).
123
+ */
124
+ async function saveGraphForViz(perception) {
125
+ const dir = path.join(perception.projectRoot, 'graphify-out');
126
+ if (!fs.existsSync(dir))
127
+ fs.mkdirSync(dir, { recursive: true });
128
+ const nodes = perception.nodes.map(n => ({
129
+ id: n.id,
130
+ label: n.label,
131
+ type: n.type === 'module' ? 'file' : n.type, // 'module' → 'file' for viz color mapping
132
+ file: n.type === 'file' ? n.id : n.metadata?.source,
133
+ summary: n.description?.slice(0, 200),
134
+ }));
135
+ const edges = perception.edges.map(e => ({
136
+ source: e.from,
137
+ target: e.to,
138
+ relation: e.relationship,
139
+ }));
140
+ const target = path.join(dir, 'graph.json');
141
+ const tmp = target + '.tmp';
142
+ await fs.promises.writeFile(tmp, JSON.stringify({ nodes, edges }, null, 2), 'utf8');
143
+ await fs.promises.rename(tmp, target);
144
+ }
145
+ // ─────────────────────────────────────────────────────────────────────────────
113
146
  function defaultPath(projectRoot) {
114
147
  const dir = path.join(projectRoot, '.aura');
115
148
  return path.join(dir, 'perception.json');
@@ -1 +1 @@
1
- {"version":3,"file":"graph-store.js","sourceRoot":"","sources":["../../src/perception/graph-store.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,wCAQC;AAMD,wCAcC;AAMD,0BAKC;AAMD,0CAMC;AAvED,uCAAyB;AACzB,2CAA6B;AAG7B,gFAAgF;AAChF,kEAAkE;AAClE,gFAAgF;AAEhF,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;AAEpD,gFAAgF;AAEhF;;;;;;;GAOG;AACI,KAAK,UAAU,cAAc,CAAC,UAA6B,EAAE,QAAiB;IACnF,MAAM,MAAM,GAAG,QAAQ,IAAI,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,MAAM,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;IAC5B,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC9E,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QAAC,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAAC,CAAC;IAC3D,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAEtB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsB,CAAC;QACpD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACvH,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,UAA6B,EAAE,QAAiB;IACtE,MAAM,SAAS,GAAG,QAAQ,IAAI,kBAAkB,CAAC;IACjD,uEAAuE;IACvE,IAAI,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IACxG,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,WAAW,IAAI,SAAS,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,eAAe,CAAC,QAAgB;IACpD,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,SAAS,WAAW,CAAC,WAAmB;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"graph-store.js","sourceRoot":"","sources":["../../src/perception/graph-store.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,wCAQC;AAMD,wCAcC;AAMD,0BAKC;AAMD,0CAMC;AAcD,0CAsBC;AA3GD,uCAAyB;AACzB,2CAA6B;AAG7B,gFAAgF;AAChF,kEAAkE;AAClE,gFAAgF;AAEhF,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;AAEpD,gFAAgF;AAEhF;;;;;;;GAOG;AACI,KAAK,UAAU,cAAc,CAAC,UAA6B,EAAE,QAAiB;IACnF,MAAM,MAAM,GAAG,QAAQ,IAAI,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,MAAM,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;IAC5B,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC9E,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QAAC,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAAC,CAAC;IAC3D,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAEtB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsB,CAAC;QACpD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACvH,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,UAA6B,EAAE,QAAiB;IACtE,MAAM,SAAS,GAAG,QAAQ,IAAI,kBAAkB,CAAC;IACjD,uEAAuE;IACvE,IAAI,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IACxG,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,WAAW,IAAI,SAAS,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,eAAe,CAAC,QAAgB;IACpD,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;;GASG;AACI,KAAK,UAAU,eAAe,CAAC,UAA6B;IACjE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAC9D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvC,EAAE,EAAK,CAAC,CAAC,EAAE;QACX,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,IAAI,EAAG,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,0CAA0C;QACxF,IAAI,EAAG,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,QAAQ,EAAE,MAA6B;QAC5E,OAAO,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;KACtC,CAAC,CAAC,CAAC;IAEJ,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,EAAI,CAAC,CAAC,IAAI;QAChB,MAAM,EAAI,CAAC,CAAC,EAAE;QACd,QAAQ,EAAE,CAAC,CAAC,YAAY;KACzB,CAAC,CAAC,CAAC;IAEJ,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;IAC5B,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACpF,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,gFAAgF;AAEhF,SAAS,WAAW,CAAC,WAAmB;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;AAC3C,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { extractPerception } from './extractor.js';
2
- export { savePerception, loadPerception, isStale, clearPerception } from './graph-store.js';
2
+ export { savePerception, loadPerception, isStale, clearPerception, saveGraphForViz } from './graph-store.js';
3
3
  export { getDependencies, getImpact, getConstraints, getRiskAreas, getTrajectory, findRelated } from './queries.js';
4
4
  export type { ProjectPerception, ArchitectureNode, ArchitectureEdge, PerceptionQuery, PerceptionQueryResult } from './types.js';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findRelated = exports.getTrajectory = exports.getRiskAreas = exports.getConstraints = exports.getImpact = exports.getDependencies = exports.clearPerception = exports.isStale = exports.loadPerception = exports.savePerception = exports.extractPerception = void 0;
3
+ exports.findRelated = exports.getTrajectory = exports.getRiskAreas = exports.getConstraints = exports.getImpact = exports.getDependencies = exports.saveGraphForViz = exports.clearPerception = exports.isStale = exports.loadPerception = exports.savePerception = exports.extractPerception = void 0;
4
4
  var extractor_js_1 = require("./extractor.js");
5
5
  Object.defineProperty(exports, "extractPerception", { enumerable: true, get: function () { return extractor_js_1.extractPerception; } });
6
6
  var graph_store_js_1 = require("./graph-store.js");
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "savePerception", { enumerable: true, get: functi
8
8
  Object.defineProperty(exports, "loadPerception", { enumerable: true, get: function () { return graph_store_js_1.loadPerception; } });
9
9
  Object.defineProperty(exports, "isStale", { enumerable: true, get: function () { return graph_store_js_1.isStale; } });
10
10
  Object.defineProperty(exports, "clearPerception", { enumerable: true, get: function () { return graph_store_js_1.clearPerception; } });
11
+ Object.defineProperty(exports, "saveGraphForViz", { enumerable: true, get: function () { return graph_store_js_1.saveGraphForViz; } });
11
12
  var queries_js_1 = require("./queries.js");
12
13
  Object.defineProperty(exports, "getDependencies", { enumerable: true, get: function () { return queries_js_1.getDependencies; } });
13
14
  Object.defineProperty(exports, "getImpact", { enumerable: true, get: function () { return queries_js_1.getImpact; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/perception/index.ts"],"names":[],"mappings":";;;AAAA,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAC1B,mDAA4F;AAAnF,gHAAA,cAAc,OAAA;AAAE,gHAAA,cAAc,OAAA;AAAE,yGAAA,OAAO,OAAA;AAAE,iHAAA,eAAe,OAAA;AACjE,2CAAoH;AAA3G,6GAAA,eAAe,OAAA;AAAE,uGAAA,SAAS,OAAA;AAAE,4GAAA,cAAc,OAAA;AAAE,0GAAA,YAAY,OAAA;AAAE,2GAAA,aAAa,OAAA;AAAE,yGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/perception/index.ts"],"names":[],"mappings":";;;AAAA,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAC1B,mDAA6G;AAApG,gHAAA,cAAc,OAAA;AAAE,gHAAA,cAAc,OAAA;AAAE,yGAAA,OAAO,OAAA;AAAE,iHAAA,eAAe,OAAA;AAAE,iHAAA,eAAe,OAAA;AAClF,2CAAoH;AAA3G,6GAAA,eAAe,OAAA;AAAE,uGAAA,SAAS,OAAA;AAAE,4GAAA,cAAc,OAAA;AAAE,0GAAA,YAAY,OAAA;AAAE,2GAAA,aAAa,OAAA;AAAE,yGAAA,WAAW,OAAA"}
@@ -14,6 +14,22 @@ export declare function getCustomProviders(): ProviderDef[];
14
14
  export declare function detectProviderKind(model: string): 'anthropic' | 'google' | 'openai-compatible';
15
15
  /** Rough provider family for routing / alternator guardrails. */
16
16
  export declare function modelProviderFamily(modelId: string): string;
17
+ /**
18
+ * The name of the environment variable that holds the API key for a given
19
+ * model's provider family (e.g. "deepseek/..." → "DEEPSEEK_API_KEY"). Returns
20
+ * the key's *name*, not its value — used by setup wizards to tell the user
21
+ * which variable to set. Falls back to OPENAI_API_KEY for unknown families.
22
+ */
23
+ export declare function apiKeyEnvVarForModel(model: string): string;
24
+ /**
25
+ * Resolves an API key for a given model, trying that model's own provider
26
+ * family first — falling back to other configured keys only as a last
27
+ * resort. Use this instead of an unconditional "try DeepSeek, then Xiaomi,
28
+ * then..." chain: that ordering picks whichever key happens to exist first,
29
+ * completely independent of which model is actually being called, which is
30
+ * exactly how a MiMo model string ends up paired with a DeepSeek key.
31
+ */
32
+ export declare function getApiKeyForModel(model: string): string | undefined;
17
33
  /**
18
34
  * Drop baseUrl/apiKey from a different wizard setup so we never send DeepSeek to MiMo URL.
19
35
  */
@@ -38,6 +38,8 @@ exports.registerCustomProviders = registerCustomProviders;
38
38
  exports.getCustomProviders = getCustomProviders;
39
39
  exports.detectProviderKind = detectProviderKind;
40
40
  exports.modelProviderFamily = modelProviderFamily;
41
+ exports.apiKeyEnvVarForModel = apiKeyEnvVarForModel;
42
+ exports.getApiKeyForModel = getApiKeyForModel;
41
43
  exports.resolveProviderTransport = resolveProviderTransport;
42
44
  exports.createProvider = createProvider;
43
45
  exports.getAllModels = getAllModels;
@@ -94,10 +96,61 @@ function modelProviderFamily(modelId) {
94
96
  return 'openrouter';
95
97
  if (m.startsWith('grok-') || m.startsWith('xai/'))
96
98
  return 'xai';
99
+ if (m.startsWith('opencode/') || m.startsWith('zen/'))
100
+ return 'opencode';
97
101
  if (m.startsWith('ollama/'))
98
102
  return 'ollama';
99
103
  return 'openai-compatible';
100
104
  }
105
+ const FAMILY_API_KEY_ENV = {
106
+ deepseek: 'DEEPSEEK_API_KEY',
107
+ xiaomi: 'XIAOMI_API_KEY',
108
+ anthropic: 'ANTHROPIC_API_KEY',
109
+ google: 'GOOGLE_API_KEY',
110
+ openrouter: 'OPENROUTER_API_KEY',
111
+ xai: 'XAI_API_KEY',
112
+ opencode: 'OPENCODE_API_KEY',
113
+ 'openai-compatible': 'OPENAI_API_KEY',
114
+ };
115
+ /**
116
+ * The name of the environment variable that holds the API key for a given
117
+ * model's provider family (e.g. "deepseek/..." → "DEEPSEEK_API_KEY"). Returns
118
+ * the key's *name*, not its value — used by setup wizards to tell the user
119
+ * which variable to set. Falls back to OPENAI_API_KEY for unknown families.
120
+ */
121
+ function apiKeyEnvVarForModel(model) {
122
+ return FAMILY_API_KEY_ENV[modelProviderFamily(model)] ?? 'OPENAI_API_KEY';
123
+ }
124
+ /**
125
+ * Resolves an API key for a given model, trying that model's own provider
126
+ * family first — falling back to other configured keys only as a last
127
+ * resort. Use this instead of an unconditional "try DeepSeek, then Xiaomi,
128
+ * then..." chain: that ordering picks whichever key happens to exist first,
129
+ * completely independent of which model is actually being called, which is
130
+ * exactly how a MiMo model string ends up paired with a DeepSeek key.
131
+ */
132
+ function getApiKeyForModel(model) {
133
+ const family = modelProviderFamily(model);
134
+ const preferredEnvVar = FAMILY_API_KEY_ENV[family];
135
+ if (preferredEnvVar) {
136
+ const preferred = (0, env_js_1.getApiKey)(preferredEnvVar);
137
+ if (preferred)
138
+ return preferred;
139
+ }
140
+ // Fall back to any other configured key, in case the user only has one
141
+ // provider set up and is calling a model from a different family by
142
+ // mistake — createProvider()'s own baseUrl logic will still catch and
143
+ // correct an actual family mismatch, so this fallback can't silently
144
+ // send the wrong key to the wrong endpoint the way the old code could.
145
+ for (const envVar of Object.values(FAMILY_API_KEY_ENV)) {
146
+ if (envVar === preferredEnvVar)
147
+ continue;
148
+ const key = (0, env_js_1.getApiKey)(envVar);
149
+ if (key)
150
+ return key;
151
+ }
152
+ return undefined;
153
+ }
101
154
  /**
102
155
  * Known default endpoints, keyed to the same family ids `modelProviderFamily`
103
156
  * returns. Lets us recognise "this baseUrl is MiMo's, but the model is
@@ -235,6 +288,16 @@ function createProvider(config) {
235
288
  apiKey: config.apiKey ?? (0, env_js_1.getApiKey)('XIAOMI_API_KEY'),
236
289
  }, 'Xiaomi MiMo');
237
290
  }
291
+ // ── OpenCode Zen (OpenAI-compatible gateway) ──────────────────────────────
292
+ if (model.startsWith('opencode/') || model.startsWith('zen/')) {
293
+ const zenModel = model.replace(/^(opencode|zen)\//, '');
294
+ return new openai_compatible_js_1.OpenAICompatibleProvider({
295
+ ...config,
296
+ model: zenModel,
297
+ baseUrl: config.baseUrl ?? (0, env_js_1.getEnv)('OPENCODE_BASE_URL') ?? 'https://opencode.ai/zen/v1',
298
+ apiKey: config.apiKey ?? (0, env_js_1.getApiKey)('OPENCODE_API_KEY'),
299
+ }, 'OpenCode Zen');
300
+ }
238
301
  // ── xAI / Grok ─────────────────────────────────────────────────────────────
239
302
  if (model.startsWith('grok-') || model.startsWith('xai/')) {
240
303
  return new openai_compatible_js_1.OpenAICompatibleProvider({
@@ -412,6 +475,15 @@ exports.CONTEXT_WINDOWS = {
412
475
  'mimo-v2.5': 1_048_576,
413
476
  'mimo-v2-flash': 1_048_576,
414
477
  'mimo-v1': 131_072,
478
+ // DeepSeek — also covers OpenRouter-hosted ids; getContextWindow() strips the
479
+ // "openrouter/<vendor>/" prefix before lookup, so "openrouter/deepseek/deepseek-v4-pro"
480
+ // resolves here. Adjust the numbers to the real published limits as needed.
481
+ 'deepseek-v4-pro': 1_048_576,
482
+ 'deepseek-v4-flash': 1_048_576,
483
+ 'deepseek-v4': 1_048_576,
484
+ 'deepseek-r1': 131_072,
485
+ 'deepseek-chat': 131_072,
486
+ 'deepseek-coder-v2': 131_072,
415
487
  // xAI Grok
416
488
  'grok-2': 131_072,
417
489
  'grok-2-mini': 131_072,
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/providers/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/providers/factory.ts"],"names":[],"mappings":"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"}
@@ -60,63 +60,94 @@ class OpenAICompatibleProvider {
60
60
  let textBuffer = '';
61
61
  const toolCallBuilders = new Map();
62
62
  let usage;
63
- for await (const chunk of stream) {
64
- // OpenAI sends a final usage-only chunk when stream_options.include_usage is set
65
- if (chunk.usage) {
66
- usage = { inputTokens: chunk.usage.prompt_tokens ?? 0, outputTokens: chunk.usage.completion_tokens ?? 0 };
67
- }
68
- const delta = chunk.choices[0]?.delta;
69
- if (!delta)
70
- continue;
71
- // Text content
72
- if (delta.content) {
73
- textBuffer += delta.content;
74
- yield { type: 'text', text: delta.content };
75
- }
76
- // Tool calls (streamed in pieces)
77
- for (const tc of delta.tool_calls ?? []) {
78
- if (!toolCallBuilders.has(tc.index)) {
79
- const id = tc.id ?? `tc_${tc.index}`;
80
- const name = tc.function?.name ?? '';
81
- toolCallBuilders.set(tc.index, { id, name, args: '' });
82
- yield { type: 'tool_start', id, name };
63
+ // Emit `done` as soon as we see finish_reason and RETURN. We do NOT keep
64
+ // draining the stream to wait for a trailing usage-only chunk: many servers
65
+ // (Ollama, some DeepSeek/OpenRouter endpoints) close the socket immediately
66
+ // after the finish chunk, so an extra read throws "Premature close" — which
67
+ // previously failed otherwise-successful turns and forced a fallback. Usage
68
+ // is captured opportunistically if it arrives on or before the finish chunk;
69
+ // when it doesn't, that's harmless — context compaction is driven by a local
70
+ // size estimate (see compactor.ts/estimateContextTokens), not this figure.
71
+ //
72
+ // The whole iteration is wrapped so that if the connection drops mid-stream
73
+ // we still surface whatever partial output we have as a clean `done` rather
74
+ // than throwing and nuking the turn.
75
+ const emitDone = (toolCalls, stopReason) => ({
76
+ type: 'done',
77
+ response: { text: textBuffer, toolCalls, stopReason, usage },
78
+ });
79
+ const finalizeToolCalls = () => {
80
+ const calls = [];
81
+ for (const [, b] of toolCallBuilders) {
82
+ let input = {};
83
+ try {
84
+ input = JSON.parse(b.args);
83
85
  }
84
- const builder = toolCallBuilders.get(tc.index);
85
- if (tc.function?.arguments) {
86
- builder.args += tc.function.arguments;
87
- yield { type: 'tool_input', id: builder.id, partial: tc.function.arguments };
86
+ catch {
87
+ input = { _raw: b.args };
88
88
  }
89
+ calls.push({ id: b.id, name: b.name, input });
89
90
  }
90
- // Finish
91
- const finishReason = chunk.choices[0]?.finish_reason;
92
- if (finishReason === 'tool_calls' || finishReason === 'stop') {
93
- // Finalise all tool calls
94
- const calls = [];
95
- for (const [, b] of toolCallBuilders) {
96
- let input = {};
97
- try {
98
- input = JSON.parse(b.args);
91
+ return calls;
92
+ };
93
+ try {
94
+ for await (const chunk of stream) {
95
+ // Usage may ride on its own chunk (choices empty) or alongside finish.
96
+ if (chunk.usage) {
97
+ usage = { inputTokens: chunk.usage.prompt_tokens ?? 0, outputTokens: chunk.usage.completion_tokens ?? 0 };
98
+ }
99
+ const delta = chunk.choices[0]?.delta;
100
+ if (delta) {
101
+ // Text content
102
+ if (delta.content) {
103
+ textBuffer += delta.content;
104
+ yield { type: 'text', text: delta.content };
99
105
  }
100
- catch {
101
- input = { _raw: b.args };
106
+ // Tool calls (streamed in pieces)
107
+ for (const tc of delta.tool_calls ?? []) {
108
+ if (!toolCallBuilders.has(tc.index)) {
109
+ const id = tc.id ?? `tc_${tc.index}`;
110
+ const name = tc.function?.name ?? '';
111
+ toolCallBuilders.set(tc.index, { id, name, args: '' });
112
+ yield { type: 'tool_start', id, name };
113
+ }
114
+ const builder = toolCallBuilders.get(tc.index);
115
+ if (tc.function?.arguments) {
116
+ builder.args += tc.function.arguments;
117
+ yield { type: 'tool_input', id: builder.id, partial: tc.function.arguments };
118
+ }
102
119
  }
103
- const call = { id: b.id, name: b.name, input };
104
- calls.push(call);
105
- yield { type: 'tool_end', call };
106
120
  }
107
- yield {
108
- type: 'done',
109
- response: {
110
- text: textBuffer,
111
- toolCalls: calls,
112
- stopReason: finishReason === 'tool_calls' ? 'tools' : 'done',
113
- usage,
114
- },
115
- };
116
- return;
121
+ // Finish: finalise tool calls, emit done, and return immediately.
122
+ const finishReason = chunk.choices[0]?.finish_reason;
123
+ if (finishReason === 'tool_calls' || finishReason === 'stop') {
124
+ const calls = finalizeToolCalls();
125
+ for (const call of calls)
126
+ yield { type: 'tool_end', call };
127
+ yield emitDone(calls, finishReason === 'tool_calls' ? 'tools' : 'done');
128
+ return;
129
+ }
117
130
  }
118
131
  }
119
- yield { type: 'done', response: { text: textBuffer, toolCalls: [], stopReason: 'done', usage } };
132
+ catch (err) {
133
+ // Connection dropped (e.g. "Premature close") after the model had already
134
+ // produced output. If we have content or tool calls, treat it as a
135
+ // completed turn rather than an error — the response is usable. Only
136
+ // re-throw when nothing was produced, since that's a genuine failure.
137
+ const hadOutput = textBuffer.length > 0 || toolCallBuilders.size > 0;
138
+ if (!hadOutput)
139
+ throw err;
140
+ const calls = finalizeToolCalls();
141
+ for (const call of calls)
142
+ yield { type: 'tool_end', call };
143
+ yield emitDone(calls, calls.length > 0 ? 'tools' : 'done');
144
+ return;
145
+ }
146
+ // Stream ended without an explicit finish_reason — emit whatever we have.
147
+ const calls = finalizeToolCalls();
148
+ for (const call of calls)
149
+ yield { type: 'tool_end', call };
150
+ yield emitDone(calls, calls.length > 0 ? 'tools' : 'done');
120
151
  }
121
152
  }
122
153
  exports.OpenAICompatibleProvider = OpenAICompatibleProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"openai-compatible.js","sourceRoot":"","sources":["../../src/providers/openai-compatible.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-compatible.js","sourceRoot":"","sources":["../../src/providers/openai-compatible.ts"],"names":[],"mappings":"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"}