autodev-cli 1.4.131 → 1.4.133

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 (265) hide show
  1. package/LICENSE.md +21 -0
  2. package/media/profile/00b-self-verifiable-work.md +62 -0
  3. package/media/profile/00c-verifiable-threads.md +78 -0
  4. package/media/profile/00d-turn-end-retrospective.md +61 -0
  5. package/media/profile/00e-long-horizon-planning.md +83 -0
  6. package/out/commands/office.js +4 -0
  7. package/out/commands/office.js.map +1 -1
  8. package/out/commands/start.js +1 -1
  9. package/out/commands/start.js.map +1 -1
  10. package/out/core/claudeUsage.d.ts +1 -26
  11. package/out/core/claudeUsage.js +15 -91
  12. package/out/core/claudeUsage.js.map +1 -1
  13. package/out/core/modelInfo.d.ts +1 -28
  14. package/out/core/modelInfo.js +15 -94
  15. package/out/core/modelInfo.js.map +1 -1
  16. package/out/core/provider/BaseProvider.d.ts +1 -14
  17. package/out/core/provider/BaseProvider.js +15 -22
  18. package/out/core/provider/BaseProvider.js.map +1 -1
  19. package/out/core/provider/ProviderRegistry.d.ts +1 -12
  20. package/out/core/provider/ProviderRegistry.js +15 -38
  21. package/out/core/provider/ProviderRegistry.js.map +1 -1
  22. package/out/core/provider/contract.d.ts +1 -62
  23. package/out/core/provider/contract.js +15 -6
  24. package/out/core/provider/contract.js.map +1 -1
  25. package/out/core/provider/implementations.d.ts +1 -65
  26. package/out/core/provider/implementations.js +4 -169
  27. package/out/core/provider/implementations.js.map +1 -1
  28. package/out/dispatcher.js +7 -0
  29. package/out/dispatcher.js.map +1 -1
  30. package/out/hookEventNormalizer.d.ts +1 -33
  31. package/out/hookEventNormalizer.js +15 -424
  32. package/out/hookEventNormalizer.js.map +1 -1
  33. package/out/profileBuilder.js +32 -0
  34. package/out/profileBuilder.js.map +1 -1
  35. package/out/providers/base/BaseProvider.d.ts +14 -0
  36. package/out/providers/base/BaseProvider.js +25 -0
  37. package/out/providers/base/BaseProvider.js.map +1 -0
  38. package/out/providers/base/ProviderEvents.d.ts +12 -0
  39. package/out/providers/base/ProviderEvents.js +81 -0
  40. package/out/providers/base/ProviderEvents.js.map +1 -0
  41. package/out/providers/base/ProviderManager.d.ts +25 -0
  42. package/out/providers/base/ProviderManager.js +22 -0
  43. package/out/providers/base/ProviderManager.js.map +1 -0
  44. package/out/providers/base/ProviderModels.d.ts +28 -0
  45. package/out/providers/base/ProviderModels.js +89 -0
  46. package/out/providers/base/ProviderModels.js.map +1 -0
  47. package/out/providers/base/ProviderNormalizer.d.ts +42 -0
  48. package/out/providers/base/ProviderNormalizer.js +439 -0
  49. package/out/providers/base/ProviderNormalizer.js.map +1 -0
  50. package/out/providers/base/ProviderRegistry.d.ts +12 -0
  51. package/out/providers/base/ProviderRegistry.js +42 -0
  52. package/out/providers/base/ProviderRegistry.js.map +1 -0
  53. package/out/providers/base/ProviderSessions.d.ts +15 -0
  54. package/out/providers/base/ProviderSessions.js +15 -0
  55. package/out/providers/base/ProviderSessions.js.map +1 -0
  56. package/out/providers/base/ProviderState.d.ts +9 -0
  57. package/out/providers/base/ProviderState.js +16 -0
  58. package/out/providers/base/ProviderState.js.map +1 -0
  59. package/out/providers/base/ProviderUsage.d.ts +12 -0
  60. package/out/providers/base/ProviderUsage.js +33 -0
  61. package/out/providers/base/ProviderUsage.js.map +1 -0
  62. package/out/providers/base/contract.d.ts +62 -0
  63. package/out/providers/base/contract.js +9 -0
  64. package/out/providers/base/contract.js.map +1 -0
  65. package/out/providers/base/factories.d.ts +64 -0
  66. package/out/providers/base/factories.js +265 -0
  67. package/out/providers/base/factories.js.map +1 -0
  68. package/out/providers/base/implementations.d.ts +5 -0
  69. package/out/providers/base/implementations.js +23 -0
  70. package/out/providers/base/implementations.js.map +1 -0
  71. package/out/providers/base/index.d.ts +13 -0
  72. package/out/providers/base/index.js +29 -0
  73. package/out/providers/base/index.js.map +1 -0
  74. package/out/providers/base/types.d.ts +30 -0
  75. package/out/providers/base/types.js +8 -0
  76. package/out/providers/base/types.js.map +1 -0
  77. package/out/providers/claude/ProviderEvents.d.ts +5 -0
  78. package/out/providers/claude/ProviderEvents.js +18 -0
  79. package/out/providers/claude/ProviderEvents.js.map +1 -0
  80. package/out/providers/claude/ProviderManager.d.ts +39 -0
  81. package/out/providers/claude/ProviderManager.js +50 -0
  82. package/out/providers/claude/ProviderManager.js.map +1 -0
  83. package/out/providers/claude/ProviderModels.d.ts +8 -0
  84. package/out/providers/claude/ProviderModels.js +23 -0
  85. package/out/providers/claude/ProviderModels.js.map +1 -0
  86. package/out/providers/claude/ProviderNormalizer.d.ts +5 -0
  87. package/out/providers/claude/ProviderNormalizer.js +10 -0
  88. package/out/providers/claude/ProviderNormalizer.js.map +1 -0
  89. package/out/providers/claude/ProviderSessions.d.ts +14 -0
  90. package/out/providers/claude/ProviderSessions.js +35 -0
  91. package/out/providers/claude/ProviderSessions.js.map +1 -0
  92. package/out/providers/claude/ProviderState.d.ts +13 -0
  93. package/out/providers/claude/ProviderState.js +19 -0
  94. package/out/providers/claude/ProviderState.js.map +1 -0
  95. package/out/providers/claude/ProviderUsage.d.ts +13 -0
  96. package/out/providers/claude/ProviderUsage.js +59 -0
  97. package/out/providers/claude/ProviderUsage.js.map +1 -0
  98. package/out/providers/claude/cli.d.ts +95 -0
  99. package/out/providers/claude/cli.js +674 -0
  100. package/out/providers/claude/cli.js.map +1 -0
  101. package/out/providers/claude/index.d.ts +9 -0
  102. package/out/providers/claude/index.js +26 -0
  103. package/out/providers/claude/index.js.map +1 -0
  104. package/out/providers/claude/tui.d.ts +38 -0
  105. package/out/providers/claude/tui.js +346 -0
  106. package/out/providers/claude/tui.js.map +1 -0
  107. package/out/providers/claudeCliProvider.d.ts +1 -95
  108. package/out/providers/claudeCliProvider.js +4 -660
  109. package/out/providers/claudeCliProvider.js.map +1 -1
  110. package/out/providers/claudeTuiProvider.d.ts +1 -38
  111. package/out/providers/claudeTuiProvider.js +4 -332
  112. package/out/providers/claudeTuiProvider.js.map +1 -1
  113. package/out/providers/copilot/ProviderEvents.d.ts +6 -0
  114. package/out/providers/copilot/ProviderEvents.js +18 -0
  115. package/out/providers/copilot/ProviderEvents.js.map +1 -0
  116. package/out/providers/copilot/ProviderManager.d.ts +39 -0
  117. package/out/providers/copilot/ProviderManager.js +98 -0
  118. package/out/providers/copilot/ProviderManager.js.map +1 -0
  119. package/out/providers/copilot/ProviderModels.d.ts +7 -0
  120. package/out/providers/copilot/ProviderModels.js +18 -0
  121. package/out/providers/copilot/ProviderModels.js.map +1 -0
  122. package/out/providers/copilot/ProviderNormalizer.d.ts +5 -0
  123. package/out/providers/copilot/ProviderNormalizer.js +10 -0
  124. package/out/providers/copilot/ProviderNormalizer.js.map +1 -0
  125. package/out/providers/copilot/ProviderSessions.d.ts +12 -0
  126. package/out/providers/copilot/ProviderSessions.js +39 -0
  127. package/out/providers/copilot/ProviderSessions.js.map +1 -0
  128. package/out/providers/copilot/ProviderState.d.ts +11 -0
  129. package/out/providers/copilot/ProviderState.js +17 -0
  130. package/out/providers/copilot/ProviderState.js.map +1 -0
  131. package/out/providers/copilot/ProviderUsage.d.ts +12 -0
  132. package/out/providers/copilot/ProviderUsage.js +41 -0
  133. package/out/providers/copilot/ProviderUsage.js.map +1 -0
  134. package/out/providers/copilot/cli.d.ts +16 -0
  135. package/out/providers/copilot/cli.js +52 -0
  136. package/out/providers/copilot/cli.js.map +1 -0
  137. package/out/providers/copilot/index.d.ts +10 -0
  138. package/out/providers/copilot/index.js +27 -0
  139. package/out/providers/copilot/index.js.map +1 -0
  140. package/out/providers/copilot/sdk.d.ts +22 -0
  141. package/out/providers/copilot/sdk.js +489 -0
  142. package/out/providers/copilot/sdk.js.map +1 -0
  143. package/out/providers/copilot/sessions.d.ts +25 -0
  144. package/out/providers/copilot/sessions.js +214 -0
  145. package/out/providers/copilot/sessions.js.map +1 -0
  146. package/out/providers/copilotCliProvider.d.ts +1 -16
  147. package/out/providers/copilotCliProvider.js +15 -49
  148. package/out/providers/copilotCliProvider.js.map +1 -1
  149. package/out/providers/copilotSdkProvider.d.ts +1 -22
  150. package/out/providers/copilotSdkProvider.js +4 -475
  151. package/out/providers/copilotSdkProvider.js.map +1 -1
  152. package/out/providers/copilotSessions.d.ts +1 -25
  153. package/out/providers/copilotSessions.js +4 -200
  154. package/out/providers/copilotSessions.js.map +1 -1
  155. package/out/providers/dummy/ProviderEvents.d.ts +5 -0
  156. package/out/providers/dummy/ProviderEvents.js +16 -0
  157. package/out/providers/dummy/ProviderEvents.js.map +1 -0
  158. package/out/providers/dummy/ProviderManager.d.ts +31 -0
  159. package/out/providers/dummy/ProviderManager.js +115 -0
  160. package/out/providers/dummy/ProviderManager.js.map +1 -0
  161. package/out/providers/dummy/ProviderModels.d.ts +7 -0
  162. package/out/providers/dummy/ProviderModels.js +15 -0
  163. package/out/providers/dummy/ProviderModels.js.map +1 -0
  164. package/out/providers/dummy/ProviderNormalizer.d.ts +4 -0
  165. package/out/providers/dummy/ProviderNormalizer.js +9 -0
  166. package/out/providers/dummy/ProviderNormalizer.js.map +1 -0
  167. package/out/providers/dummy/ProviderSessions.d.ts +12 -0
  168. package/out/providers/dummy/ProviderSessions.js +105 -0
  169. package/out/providers/dummy/ProviderSessions.js.map +1 -0
  170. package/out/providers/dummy/ProviderState.d.ts +12 -0
  171. package/out/providers/dummy/ProviderState.js +23 -0
  172. package/out/providers/dummy/ProviderState.js.map +1 -0
  173. package/out/providers/dummy/ProviderUsage.d.ts +9 -0
  174. package/out/providers/dummy/ProviderUsage.js +27 -0
  175. package/out/providers/dummy/ProviderUsage.js.map +1 -0
  176. package/out/providers/dummy/commands.d.ts +9 -0
  177. package/out/providers/dummy/commands.js +48 -0
  178. package/out/providers/dummy/commands.js.map +1 -0
  179. package/out/providers/dummy/index.d.ts +10 -0
  180. package/out/providers/dummy/index.js +27 -0
  181. package/out/providers/dummy/index.js.map +1 -0
  182. package/out/providers/dummy/office.d.ts +23 -0
  183. package/out/providers/dummy/office.js +66 -0
  184. package/out/providers/dummy/office.js.map +1 -0
  185. package/out/providers/dummy/traces.d.ts +8 -0
  186. package/out/providers/dummy/traces.js +174 -0
  187. package/out/providers/dummy/traces.js.map +1 -0
  188. package/out/providers/grok/ProviderEvents.d.ts +6 -0
  189. package/out/providers/grok/ProviderEvents.js +17 -0
  190. package/out/providers/grok/ProviderEvents.js.map +1 -0
  191. package/out/providers/grok/ProviderManager.d.ts +42 -0
  192. package/out/providers/grok/ProviderManager.js +48 -0
  193. package/out/providers/grok/ProviderManager.js.map +1 -0
  194. package/out/providers/grok/ProviderModels.d.ts +7 -0
  195. package/out/providers/grok/ProviderModels.js +16 -0
  196. package/out/providers/grok/ProviderModels.js.map +1 -0
  197. package/out/providers/grok/ProviderNormalizer.d.ts +5 -0
  198. package/out/providers/grok/ProviderNormalizer.js +10 -0
  199. package/out/providers/grok/ProviderNormalizer.js.map +1 -0
  200. package/out/providers/grok/ProviderSessions.d.ts +12 -0
  201. package/out/providers/grok/ProviderSessions.js +27 -0
  202. package/out/providers/grok/ProviderSessions.js.map +1 -0
  203. package/out/providers/grok/ProviderState.d.ts +10 -0
  204. package/out/providers/grok/ProviderState.js +15 -0
  205. package/out/providers/grok/ProviderState.js.map +1 -0
  206. package/out/providers/grok/ProviderUsage.d.ts +7 -0
  207. package/out/providers/grok/ProviderUsage.js +20 -0
  208. package/out/providers/grok/ProviderUsage.js.map +1 -0
  209. package/out/providers/grok/index.d.ts +9 -0
  210. package/out/providers/grok/index.js +26 -0
  211. package/out/providers/grok/index.js.map +1 -0
  212. package/out/providers/grok/sessions.d.ts +27 -0
  213. package/out/providers/grok/sessions.js +246 -0
  214. package/out/providers/grok/sessions.js.map +1 -0
  215. package/out/providers/grok/tui.d.ts +38 -0
  216. package/out/providers/grok/tui.js +1630 -0
  217. package/out/providers/grok/tui.js.map +1 -0
  218. package/out/providers/grokSessions.d.ts +1 -27
  219. package/out/providers/grokSessions.js +4 -232
  220. package/out/providers/grokSessions.js.map +1 -1
  221. package/out/providers/grokTuiProvider.d.ts +1 -38
  222. package/out/providers/grokTuiProvider.js +4 -1616
  223. package/out/providers/grokTuiProvider.js.map +1 -1
  224. package/out/providers/opencode/ProviderEvents.d.ts +6 -0
  225. package/out/providers/opencode/ProviderEvents.js +18 -0
  226. package/out/providers/opencode/ProviderEvents.js.map +1 -0
  227. package/out/providers/opencode/ProviderManager.d.ts +39 -0
  228. package/out/providers/opencode/ProviderManager.js +90 -0
  229. package/out/providers/opencode/ProviderManager.js.map +1 -0
  230. package/out/providers/opencode/ProviderModels.d.ts +7 -0
  231. package/out/providers/opencode/ProviderModels.js +17 -0
  232. package/out/providers/opencode/ProviderModels.js.map +1 -0
  233. package/out/providers/opencode/ProviderNormalizer.d.ts +5 -0
  234. package/out/providers/opencode/ProviderNormalizer.js +10 -0
  235. package/out/providers/opencode/ProviderNormalizer.js.map +1 -0
  236. package/out/providers/opencode/ProviderSessions.d.ts +11 -0
  237. package/out/providers/opencode/ProviderSessions.js +28 -0
  238. package/out/providers/opencode/ProviderSessions.js.map +1 -0
  239. package/out/providers/opencode/ProviderState.d.ts +14 -0
  240. package/out/providers/opencode/ProviderState.js +20 -0
  241. package/out/providers/opencode/ProviderState.js.map +1 -0
  242. package/out/providers/opencode/ProviderUsage.d.ts +7 -0
  243. package/out/providers/opencode/ProviderUsage.js +20 -0
  244. package/out/providers/opencode/ProviderUsage.js.map +1 -0
  245. package/out/providers/opencode/cli.d.ts +29 -0
  246. package/out/providers/opencode/cli.js +199 -0
  247. package/out/providers/opencode/cli.js.map +1 -0
  248. package/out/providers/opencode/index.d.ts +9 -0
  249. package/out/providers/opencode/index.js +26 -0
  250. package/out/providers/opencode/index.js.map +1 -0
  251. package/out/providers/opencode/sdk.d.ts +32 -0
  252. package/out/providers/opencode/sdk.js +610 -0
  253. package/out/providers/opencode/sdk.js.map +1 -0
  254. package/out/providers/opencodeCliProvider.d.ts +1 -29
  255. package/out/providers/opencodeCliProvider.js +15 -196
  256. package/out/providers/opencodeCliProvider.js.map +1 -1
  257. package/out/providers/opencodeSdkProvider.d.ts +1 -32
  258. package/out/providers/opencodeSdkProvider.js +4 -596
  259. package/out/providers/opencodeSdkProvider.js.map +1 -1
  260. package/out/providers.d.ts +1 -1
  261. package/out/providers.js +5 -0
  262. package/out/providers.js.map +1 -1
  263. package/out/sdk/index.js +5 -0
  264. package/out/sdk/index.js.map +1 -1
  265. package/package.json +2 -2
@@ -1,18 +1,4 @@
1
1
  "use strict";
2
- // ---------------------------------------------------------------------------
3
- // copilotSessions — list + read GitHub Copilot CLI sessions.
4
- //
5
- // Copilot keeps one directory per session at
6
- // ~/.copilot/session-state/<uuid>/
7
- // workspace.yaml → id, cwd, name, created_at/updated_at (flat scalars)
8
- // events.jsonl → one JSON event per line (session.start, user.message,
9
- // assistant.message, tool.execution_start/_complete, …)
10
- // ~/.copilot/session-store.db (SQLite index — NOT needed for discovery)
11
- //
12
- // Pure filesystem — no SQLite, no yaml dependency (a tiny line scan parses the
13
- // handful of top-level `key: value` scalars we need). Read-only; every store
14
- // miss degrades to [] and no path ever throws.
15
- // ---------------------------------------------------------------------------
16
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17
3
  if (k2 === undefined) k2 = k;
18
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -24,191 +10,9 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
24
10
  if (k2 === undefined) k2 = k;
25
11
  o[k2] = m[k];
26
12
  }));
27
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
28
- Object.defineProperty(o, "default", { enumerable: true, value: v });
29
- }) : function(o, v) {
30
- o["default"] = v;
31
- });
32
- var __importStar = (this && this.__importStar) || (function () {
33
- var ownKeys = function(o) {
34
- ownKeys = Object.getOwnPropertyNames || function (o) {
35
- var ar = [];
36
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
37
- return ar;
38
- };
39
- return ownKeys(o);
40
- };
41
- return function (mod) {
42
- if (mod && mod.__esModule) return mod;
43
- var result = {};
44
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
45
- __setModuleDefault(result, mod);
46
- return result;
47
- };
48
- })();
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
49
16
  Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.listAllCopilotSessions = listAllCopilotSessions;
51
- exports.listCopilotSessions = listCopilotSessions;
52
- exports.readCopilotTranscript = readCopilotTranscript;
53
- const fs = __importStar(require("fs"));
54
- const path = __importStar(require("path"));
55
- const layout_1 = require("../agentBackup/layout");
56
- /** Normalise a path for comparison (absolute, no trailing slash). */
57
- function norm(p) {
58
- try {
59
- return path.resolve(p).replace(/\/+$/, '');
60
- }
61
- catch {
62
- return p;
63
- }
64
- }
65
- /** Scan the flat top-level `key: value` scalars of a workspace.yaml. Only the
66
- * first occurrence of each key is kept; quotes are stripped. Good enough for
67
- * copilot's file (a flat map of scalars) without pulling in a YAML parser. */
68
- function readWorkspaceYaml(file) {
69
- const out = {};
70
- let text = '';
71
- try {
72
- text = fs.readFileSync(file, 'utf8');
73
- }
74
- catch {
75
- return out;
76
- }
77
- for (const line of text.split('\n')) {
78
- const m = /^([A-Za-z0-9_]+):\s*(.*)$/.exec(line);
79
- if (!m) {
80
- continue;
81
- }
82
- const key = m[1];
83
- if (key in out) {
84
- continue;
85
- }
86
- let val = m[2].trim();
87
- if ((val.startsWith('"') && val.endsWith('"')) || (val.startsWith("'") && val.endsWith("'"))) {
88
- val = val.slice(1, -1);
89
- }
90
- out[key] = val;
91
- }
92
- return out;
93
- }
94
- /** All Copilot sessions on this machine (newest first). `updated` is epoch ms
95
- * from events.jsonl mtime (falls back to workspace.yaml / the folder mtime). */
96
- function listAllCopilotSessions() {
97
- const stateDir = (0, layout_1.copilotSessionStateDir)();
98
- let uuids = [];
99
- try {
100
- uuids = fs.readdirSync(stateDir);
101
- }
102
- catch {
103
- return [];
104
- }
105
- const out = [];
106
- for (const uuid of uuids) {
107
- const dir = path.join(stateDir, uuid);
108
- try {
109
- if (!fs.statSync(dir).isDirectory()) {
110
- continue;
111
- }
112
- }
113
- catch {
114
- continue;
115
- }
116
- const meta = readWorkspaceYaml(path.join(dir, 'workspace.yaml'));
117
- const cwd = meta['cwd'] || meta['directory'] || '';
118
- let updated = 0;
119
- for (const f of ['events.jsonl', 'workspace.yaml']) {
120
- try {
121
- updated = Math.max(updated, fs.statSync(path.join(dir, f)).mtimeMs);
122
- }
123
- catch { /* skip */ }
124
- }
125
- if (!updated) {
126
- try {
127
- updated = fs.statSync(dir).mtimeMs;
128
- }
129
- catch { /* keep 0 */ }
130
- }
131
- out.push({ id: uuid, name: (meta['name'] || '').trim() || '(untitled)', cwd, updated });
132
- }
133
- return out.sort((a, b) => b.updated - a.updated);
134
- }
135
- /** Copilot sessions whose cwd matches `root` (for per-workspace collectSessions). */
136
- function listCopilotSessions(root) {
137
- const target = norm(root);
138
- return listAllCopilotSessions()
139
- .filter(s => s.cwd && norm(s.cwd) === target)
140
- .map(s => ({ id: s.id, title: s.name, updated: s.updated }));
141
- }
142
- function ellipsis(s, max) {
143
- return s.length > max ? s.slice(0, max) + '…' : s;
144
- }
145
- /** Parse a copilot session's events.jsonl into a normalized message array.
146
- * Renders user/assistant prose, tool calls (assistant.message.toolRequests +
147
- * tool.execution_complete results) and the system prompt (heavily truncated).
148
- * Returns at most `limit` messages (the tail). */
149
- function readCopilotTranscript(id, limit = 400) {
150
- const file = path.join((0, layout_1.copilotSessionStateDir)(), id, 'events.jsonl');
151
- let text = '';
152
- try {
153
- text = fs.readFileSync(file, 'utf8');
154
- }
155
- catch {
156
- return [];
157
- }
158
- const msgs = [];
159
- for (const line of text.split('\n')) {
160
- const s = line.trim();
161
- if (!s) {
162
- continue;
163
- }
164
- let o;
165
- try {
166
- o = JSON.parse(s);
167
- }
168
- catch {
169
- continue;
170
- }
171
- const type = String(o['type'] ?? '');
172
- const data = (o['data'] ?? {});
173
- const ts = o['timestamp'] ? Date.parse(String(o['timestamp'])) : undefined;
174
- if (type === 'user.message') {
175
- const c = String(data['content'] ?? '').trim();
176
- if (c) {
177
- msgs.push({ role: 'user', text: c, ts });
178
- }
179
- }
180
- else if (type === 'assistant.message') {
181
- const c = String(data['content'] ?? '').trim();
182
- if (c) {
183
- msgs.push({ role: 'assistant', text: c, ts });
184
- }
185
- const reqs = data['toolRequests'];
186
- if (Array.isArray(reqs)) {
187
- for (const r of reqs) {
188
- const name = String(r['name'] ?? '');
189
- if (!name) {
190
- continue;
191
- }
192
- const args = r['arguments'] != null ? ellipsis(JSON.stringify(r['arguments']), 200) : '';
193
- msgs.push({ role: 'tool', text: `🔧 ${name}(${args})`, ts });
194
- }
195
- }
196
- }
197
- else if (type === 'tool.execution_complete') {
198
- const result = (data['result'] ?? {});
199
- const content = result['content'] ?? result['detailedContent'];
200
- const txt = typeof content === 'string' ? content : (content == null ? '' : JSON.stringify(content));
201
- if (txt.trim()) {
202
- msgs.push({ role: 'tool', text: `↳ ${ellipsis(txt.trim(), 400)}`, ts });
203
- }
204
- }
205
- else if (type === 'system.message') {
206
- const c = String(data['content'] ?? '').trim();
207
- if (c) {
208
- msgs.push({ role: 'system', text: ellipsis(c, 200), ts });
209
- }
210
- }
211
- }
212
- return msgs.slice(-limit);
213
- }
17
+ __exportStar(require("./copilot/sessions"), exports);
214
18
  //# sourceMappingURL=copilotSessions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"copilotSessions.js","sourceRoot":"","sources":["../../src/providers/copilotSessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copilotSessions.js","sourceRoot":"","sources":["../../src/providers/copilotSessions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC"}
@@ -0,0 +1,5 @@
1
+ import { ProviderEvents } from '../base/ProviderEvents';
2
+ export declare class DummyProviderEvents extends ProviderEvents {
3
+ readonly provider = "dummy";
4
+ listSupported(): string[];
5
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DummyProviderEvents = void 0;
4
+ const ProviderEvents_1 = require("../base/ProviderEvents");
5
+ class DummyProviderEvents extends ProviderEvents_1.ProviderEvents {
6
+ provider = 'dummy';
7
+ listSupported() {
8
+ return [
9
+ 'SessionStart', 'SessionEnd', 'UserPromptSubmit',
10
+ 'PreToolUse', 'PostToolUse', 'PostToolUseFailure',
11
+ 'AgentMessage', 'Notification', 'Stop', 'TaskCreated',
12
+ ];
13
+ }
14
+ }
15
+ exports.DummyProviderEvents = DummyProviderEvents;
16
+ //# sourceMappingURL=ProviderEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProviderEvents.js","sourceRoot":"","sources":["../../../src/providers/dummy/ProviderEvents.ts"],"names":[],"mappings":";;;AAAA,2DAAwD;AAExD,MAAa,mBAAoB,SAAQ,+BAAc;IAC5C,QAAQ,GAAG,OAAO,CAAC;IAE5B,aAAa;QACX,OAAO;YACL,cAAc,EAAE,YAAY,EAAE,kBAAkB;YAChD,YAAY,EAAE,aAAa,EAAE,oBAAoB;YACjD,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa;SACtD,CAAC;IACJ,CAAC;CACF;AAVD,kDAUC"}
@@ -0,0 +1,31 @@
1
+ import { ProviderId } from '../../providers';
2
+ import { ProviderKind, Logger, DispatchRequest, DispatchOutcome } from '../base/contract';
3
+ import { ProviderManager } from '../base/ProviderManager';
4
+ import { DummyProviderEvents } from './ProviderEvents';
5
+ import { DummyProviderModels } from './ProviderModels';
6
+ import { DummyProviderSessions } from './ProviderSessions';
7
+ import { DummyProviderState } from './ProviderState';
8
+ import { DummyProviderNormalizer } from './ProviderNormalizer';
9
+ import { DummyProviderUsage } from './ProviderUsage';
10
+ import { DummyOfficeBridge, DummyOfficeConnect } from './office';
11
+ export declare class DummyProvider extends ProviderManager {
12
+ readonly id: ProviderId;
13
+ readonly label = "Dummy Agent";
14
+ readonly kind: ProviderKind;
15
+ readonly family = "dummy";
16
+ readonly events: DummyProviderEvents;
17
+ readonly models: DummyProviderModels;
18
+ readonly sessions: DummyProviderSessions;
19
+ readonly state: DummyProviderState;
20
+ readonly normalizer: DummyProviderNormalizer;
21
+ readonly usage: DummyProviderUsage;
22
+ /** Optional office WS bridge — tests (and office runs) can attach one. */
23
+ readonly office: DummyOfficeBridge;
24
+ connectOffice(opts: DummyOfficeConnect): void;
25
+ dispatch(req: DispatchRequest, ctx: {
26
+ log: Logger;
27
+ showOutput?: () => void;
28
+ }): Promise<DispatchOutcome>;
29
+ }
30
+ /** Singleton used by the default registry — tests can reach `.office`. */
31
+ export declare const dummyProvider: DummyProvider;
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.dummyProvider = exports.DummyProvider = void 0;
37
+ const fs = __importStar(require("fs"));
38
+ const ProviderManager_1 = require("../base/ProviderManager");
39
+ const ProviderEvents_1 = require("./ProviderEvents");
40
+ const ProviderModels_1 = require("./ProviderModels");
41
+ const ProviderSessions_1 = require("./ProviderSessions");
42
+ const ProviderState_1 = require("./ProviderState");
43
+ const ProviderNormalizer_1 = require("./ProviderNormalizer");
44
+ const ProviderUsage_1 = require("./ProviderUsage");
45
+ const commands_1 = require("./commands");
46
+ const traces_1 = require("./traces");
47
+ const office_1 = require("./office");
48
+ class DummyProvider extends ProviderManager_1.ProviderManager {
49
+ id = 'dummy';
50
+ label = 'Dummy Agent';
51
+ kind = 'sdk';
52
+ family = 'dummy';
53
+ events = new ProviderEvents_1.DummyProviderEvents();
54
+ models = new ProviderModels_1.DummyProviderModels();
55
+ sessions = new ProviderSessions_1.DummyProviderSessions();
56
+ state = new ProviderState_1.DummyProviderState();
57
+ normalizer = new ProviderNormalizer_1.DummyProviderNormalizer();
58
+ usage = new ProviderUsage_1.DummyProviderUsage();
59
+ /** Optional office WS bridge — tests (and office runs) can attach one. */
60
+ office = new office_1.DummyOfficeBridge();
61
+ connectOffice(opts) {
62
+ this.office.connect(opts);
63
+ }
64
+ async dispatch(req, ctx) {
65
+ ctx.showOutput?.();
66
+ this.state.markBusy(req.root);
67
+ try {
68
+ fs.writeFileSync(req.stdoutFile, '', 'utf8');
69
+ fs.writeFileSync(req.exitFile, '', 'utf8');
70
+ }
71
+ catch { /* ignore */ }
72
+ let prompt = '';
73
+ try {
74
+ prompt = fs.readFileSync(req.combinedFile, 'utf8');
75
+ }
76
+ catch {
77
+ try {
78
+ prompt = fs.readFileSync(req.messageFile, 'utf8');
79
+ }
80
+ catch {
81
+ prompt = '';
82
+ }
83
+ }
84
+ const userText = (0, commands_1.extractUserText)(prompt);
85
+ const cmd = (0, commands_1.parseDummyCommand)(userText);
86
+ ctx.log(`Dummy: handling command "${cmd.kind}" (${userText.length} chars)`);
87
+ let sessionId = req.resolvedSessionId;
88
+ if (!sessionId) {
89
+ sessionId = (await this.sessions.resolveLatest(req.root)) ?? this.sessions.create(req.root, req.settings.sessionName || 'dummy-session').id;
90
+ }
91
+ const turn = (0, traces_1.generateDummyTurn)(req.root, cmd, sessionId);
92
+ for (const ev of turn.events) {
93
+ this.events.append(req.root, ev);
94
+ if (this.office.isConnected) {
95
+ this.office.sendHookEvent(ev);
96
+ }
97
+ }
98
+ this.sessions.appendMessages(req.root, sessionId, turn.transcript);
99
+ try {
100
+ fs.writeFileSync(req.stdoutFile, turn.stdout, 'utf8');
101
+ }
102
+ catch { /* ignore */ }
103
+ try {
104
+ fs.writeFileSync(req.exitFile, '0\n', 'utf8');
105
+ }
106
+ catch { /* ignore */ }
107
+ this.state.markIdle(req.root);
108
+ ctx.log(`Dummy: turn complete (${turn.events.length} hook events)`);
109
+ return {};
110
+ }
111
+ }
112
+ exports.DummyProvider = DummyProvider;
113
+ /** Singleton used by the default registry — tests can reach `.office`. */
114
+ exports.dummyProvider = new DummyProvider();
115
+ //# sourceMappingURL=ProviderManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProviderManager.js","sourceRoot":"","sources":["../../../src/providers/dummy/ProviderManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { ProviderModels } from '../base/ProviderModels';
2
+ import type { ModelInfo } from '../base/types';
3
+ export declare class DummyProviderModels extends ProviderModels {
4
+ readonly family = "dummy";
5
+ list(): ModelInfo[];
6
+ defaultContextLimit(): number;
7
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DummyProviderModels = void 0;
4
+ const ProviderModels_1 = require("../base/ProviderModels");
5
+ const DUMMY_MODELS = [
6
+ { id: 'dummy-fast', label: 'Dummy Fast', contextLimit: 128_000 },
7
+ { id: 'dummy-smart', label: 'Dummy Smart', contextLimit: 200_000 },
8
+ ];
9
+ class DummyProviderModels extends ProviderModels_1.ProviderModels {
10
+ family = 'dummy';
11
+ list() { return DUMMY_MODELS.slice(); }
12
+ defaultContextLimit() { return 128_000; }
13
+ }
14
+ exports.DummyProviderModels = DummyProviderModels;
15
+ //# sourceMappingURL=ProviderModels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProviderModels.js","sourceRoot":"","sources":["../../../src/providers/dummy/ProviderModels.ts"],"names":[],"mappings":";;;AAAA,2DAAwD;AAGxD,MAAM,YAAY,GAAgB;IAChC,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE;IAChE,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE;CACnE,CAAC;AAEF,MAAa,mBAAoB,SAAQ,+BAAc;IAC5C,MAAM,GAAG,OAAO,CAAC;IAC1B,IAAI,KAAkB,OAAO,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3C,mBAAmB,KAAa,OAAO,OAAO,CAAC,CAAC,CAAC;CAC3D;AAJD,kDAIC"}
@@ -0,0 +1,4 @@
1
+ import { ProviderNormalizer } from '../base/ProviderNormalizer';
2
+ export declare class DummyProviderNormalizer extends ProviderNormalizer {
3
+ readonly provider = "dummy";
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DummyProviderNormalizer = void 0;
4
+ const ProviderNormalizer_1 = require("../base/ProviderNormalizer");
5
+ class DummyProviderNormalizer extends ProviderNormalizer_1.ProviderNormalizer {
6
+ provider = 'dummy';
7
+ }
8
+ exports.DummyProviderNormalizer = DummyProviderNormalizer;
9
+ //# sourceMappingURL=ProviderNormalizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProviderNormalizer.js","sourceRoot":"","sources":["../../../src/providers/dummy/ProviderNormalizer.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAEhE,MAAa,uBAAwB,SAAQ,uCAAkB;IACpD,QAAQ,GAAG,OAAO,CAAC;CAC7B;AAFD,0DAEC"}
@@ -0,0 +1,12 @@
1
+ import { ProviderSessions } from '../base/ProviderSessions';
2
+ import type { SessionRecord, TranscriptMsg } from '../base/types';
3
+ export declare class DummyProviderSessions extends ProviderSessions {
4
+ readonly family = "dummy";
5
+ list(root: string): SessionRecord[];
6
+ create(root: string, name?: string): SessionRecord;
7
+ appendMessages(root: string, id: string, msgs: TranscriptMsg[]): void;
8
+ readTranscript(id: string, opts?: {
9
+ cwd?: string;
10
+ limit?: number;
11
+ }): TranscriptMsg[];
12
+ }
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.DummyProviderSessions = void 0;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const crypto_1 = require("crypto");
40
+ const ProviderSessions_1 = require("../base/ProviderSessions");
41
+ function storeDir(root) {
42
+ return path.join(root, '.autodev', 'dummy', 'sessions');
43
+ }
44
+ class DummyProviderSessions extends ProviderSessions_1.ProviderSessions {
45
+ family = 'dummy';
46
+ list(root) {
47
+ const dir = storeDir(root);
48
+ try {
49
+ return fs.readdirSync(dir)
50
+ .filter(f => f.endsWith('.json'))
51
+ .map(f => {
52
+ const full = path.join(dir, f);
53
+ const st = fs.statSync(full);
54
+ let name = '(untitled)';
55
+ try {
56
+ name = JSON.parse(fs.readFileSync(full, 'utf8')).name || name;
57
+ }
58
+ catch { /* */ }
59
+ return { id: f.replace(/\.json$/, ''), name, cwd: root, updated: st.mtimeMs };
60
+ })
61
+ .sort((a, b) => b.updated - a.updated);
62
+ }
63
+ catch {
64
+ return [];
65
+ }
66
+ }
67
+ create(root, name = 'dummy-session') {
68
+ const dir = storeDir(root);
69
+ fs.mkdirSync(dir, { recursive: true });
70
+ const id = (0, crypto_1.randomUUID)();
71
+ const rec = { id, name, cwd: root, updated: Date.now(), msgs: [] };
72
+ fs.writeFileSync(path.join(dir, `${id}.json`), JSON.stringify(rec, null, 2), 'utf8');
73
+ return { id, name, cwd: root, updated: rec.updated };
74
+ }
75
+ appendMessages(root, id, msgs) {
76
+ const file = path.join(storeDir(root), `${id}.json`);
77
+ let rec;
78
+ try {
79
+ rec = JSON.parse(fs.readFileSync(file, 'utf8'));
80
+ }
81
+ catch {
82
+ rec = { id, name: 'dummy-session', cwd: root, updated: Date.now(), msgs: [] };
83
+ }
84
+ rec.msgs = [...(rec.msgs ?? []), ...msgs];
85
+ rec.updated = Date.now();
86
+ fs.mkdirSync(path.dirname(file), { recursive: true });
87
+ fs.writeFileSync(file, JSON.stringify(rec, null, 2), 'utf8');
88
+ }
89
+ readTranscript(id, opts) {
90
+ const root = opts?.cwd;
91
+ if (!root) {
92
+ return [];
93
+ }
94
+ try {
95
+ const rec = JSON.parse(fs.readFileSync(path.join(storeDir(root), `${id}.json`), 'utf8'));
96
+ const msgs = rec.msgs ?? [];
97
+ return msgs.slice(-(opts?.limit ?? 400));
98
+ }
99
+ catch {
100
+ return [];
101
+ }
102
+ }
103
+ }
104
+ exports.DummyProviderSessions = DummyProviderSessions;
105
+ //# sourceMappingURL=ProviderSessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProviderSessions.js","sourceRoot":"","sources":["../../../src/providers/dummy/ProviderSessions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { ProviderState } from '../base/ProviderState';
2
+ export declare class DummyProviderState extends ProviderState {
3
+ readonly family = "dummy";
4
+ isBusy(root: string): boolean;
5
+ lastActivity(root: string): number;
6
+ forceIdle(root: string): void;
7
+ markBusy(root: string): void;
8
+ markIdle(root: string): void;
9
+ close(root: string): void;
10
+ closeAll(): void;
11
+ }
12
+ export declare function closeAllDummySessions(): void;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DummyProviderState = void 0;
4
+ exports.closeAllDummySessions = closeAllDummySessions;
5
+ const ProviderState_1 = require("../base/ProviderState");
6
+ const _busy = new Set();
7
+ const _activity = new Map();
8
+ class DummyProviderState extends ProviderState_1.ProviderState {
9
+ family = 'dummy';
10
+ isBusy(root) { return _busy.has(root); }
11
+ lastActivity(root) { return _activity.get(root) ?? 0; }
12
+ forceIdle(root) { _busy.delete(root); }
13
+ markBusy(root) { _busy.add(root); _activity.set(root, Date.now()); }
14
+ markIdle(root) { _busy.delete(root); _activity.set(root, Date.now()); }
15
+ close(root) { _busy.delete(root); }
16
+ closeAll() { _busy.clear(); _activity.clear(); }
17
+ }
18
+ exports.DummyProviderState = DummyProviderState;
19
+ function closeAllDummySessions() {
20
+ _busy.clear();
21
+ _activity.clear();
22
+ }
23
+ //# sourceMappingURL=ProviderState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProviderState.js","sourceRoot":"","sources":["../../../src/providers/dummy/ProviderState.ts"],"names":[],"mappings":";;;AAkBA,sDAGC;AArBD,yDAAsD;AAEtD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;AAChC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE5C,MAAa,kBAAmB,SAAQ,6BAAa;IAC1C,MAAM,GAAG,OAAO,CAAC;IAEjB,MAAM,CAAC,IAAY,IAAa,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzD,YAAY,CAAC,IAAY,IAAY,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvE,SAAS,CAAC,IAAY,IAAU,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE9D,QAAQ,CAAC,IAAY,IAAU,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAClF,QAAQ,CAAC,IAAY,IAAU,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5E,KAAK,CAAC,IAAY,IAAU,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjD,QAAQ,KAAW,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;CAChE;AAXD,gDAWC;AAED,SAAgB,qBAAqB;IACnC,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,SAAS,CAAC,KAAK,EAAE,CAAC;AACpB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ProviderUsage } from '../base/ProviderUsage';
2
+ import type { UsagePayload } from '../base/types';
3
+ export declare class DummyProviderUsage extends ProviderUsage {
4
+ readonly family = "dummy";
5
+ readonly defaultContextLimit = 128000;
6
+ extract(raw: unknown, _model?: string | null): UsagePayload | null;
7
+ /** Synthesize a plausible usage snapshot for a dummy turn. */
8
+ synthesize(promptChars: number): UsagePayload;
9
+ }