@chozzz/vargos 2.1.0 → 3.0.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 (220) hide show
  1. package/README.md +1 -1
  2. package/dist/.templates/cron/daily-agent-prompt-refinement.md +33 -0
  3. package/dist/.templates/{vargos/workspace → workspace}/AGENTS.md +2 -18
  4. package/dist/boot.d.ts +2 -0
  5. package/dist/boot.d.ts.map +1 -0
  6. package/dist/boot.js +114 -0
  7. package/dist/boot.js.map +1 -0
  8. package/dist/cli/channels.d.ts +3 -2
  9. package/dist/cli/channels.d.ts.map +1 -1
  10. package/dist/cli/channels.js +1 -1
  11. package/dist/cli/channels.js.map +1 -1
  12. package/dist/cli/onboard.js +1 -1
  13. package/dist/cli/onboard.js.map +1 -1
  14. package/dist/cli.js +40 -8
  15. package/dist/cli.js.map +1 -1
  16. package/dist/edge/webhooks/index.js +1 -1
  17. package/dist/edge/webhooks/index.js.map +1 -1
  18. package/dist/gateway/bus.d.ts +2 -0
  19. package/dist/gateway/bus.d.ts.map +1 -1
  20. package/dist/gateway/emitter.d.ts +10 -0
  21. package/dist/gateway/emitter.d.ts.map +1 -1
  22. package/dist/gateway/emitter.js +48 -3
  23. package/dist/gateway/emitter.js.map +1 -1
  24. package/dist/gateway/events.d.ts +26 -55
  25. package/dist/gateway/events.d.ts.map +1 -1
  26. package/dist/gateway/tcp-server.js +3 -0
  27. package/dist/gateway/tcp-server.js.map +1 -1
  28. package/dist/index.js +44 -71
  29. package/dist/index.js.map +1 -1
  30. package/dist/lib/{glob.d.ts → glob-match.d.ts} +1 -1
  31. package/dist/lib/glob-match.d.ts.map +1 -0
  32. package/dist/lib/{glob.js → glob-match.js} +1 -1
  33. package/dist/lib/glob-match.js.map +1 -0
  34. package/dist/lib/media.js +1 -1
  35. package/dist/lib/media.js.map +1 -1
  36. package/dist/lib/migrate.d.ts +38 -0
  37. package/dist/lib/migrate.d.ts.map +1 -0
  38. package/dist/lib/migrate.js +80 -0
  39. package/dist/lib/migrate.js.map +1 -0
  40. package/dist/lib/mime.d.ts +10 -3
  41. package/dist/lib/mime.d.ts.map +1 -1
  42. package/dist/lib/mime.js +48 -67
  43. package/dist/lib/mime.js.map +1 -1
  44. package/dist/lib/{subagent.d.ts → session-key.d.ts} +1 -1
  45. package/dist/lib/session-key.d.ts.map +1 -0
  46. package/dist/lib/{subagent.js → session-key.js} +1 -1
  47. package/dist/lib/session-key.js.map +1 -0
  48. package/dist/lib/templates.d.ts +18 -2
  49. package/dist/lib/templates.d.ts.map +1 -1
  50. package/dist/lib/templates.js +57 -21
  51. package/dist/lib/templates.js.map +1 -1
  52. package/dist/scripts/migrate.d.ts +2 -0
  53. package/dist/scripts/migrate.d.ts.map +1 -0
  54. package/dist/scripts/migrate.js +7 -0
  55. package/dist/scripts/migrate.js.map +1 -0
  56. package/dist/services/agent/directives.d.ts +1 -1
  57. package/dist/services/agent/directives.d.ts.map +1 -1
  58. package/dist/{lib → services/agent}/error-store.d.ts +1 -1
  59. package/dist/services/agent/error-store.d.ts.map +1 -0
  60. package/dist/{lib → services/agent}/error-store.js +2 -2
  61. package/dist/services/agent/error-store.js.map +1 -0
  62. package/dist/services/agent/index.d.ts +10 -16
  63. package/dist/services/agent/index.d.ts.map +1 -1
  64. package/dist/services/agent/index.js +44 -75
  65. package/dist/services/agent/index.js.map +1 -1
  66. package/dist/services/agent/persona.d.ts +1 -1
  67. package/dist/services/agent/persona.js +1 -1
  68. package/dist/services/agent/prompt-interpolate.d.ts +3 -3
  69. package/dist/services/agent/prompt-interpolate.js +10 -15
  70. package/dist/services/agent/prompt-interpolate.js.map +1 -1
  71. package/dist/services/agent/skills.d.ts.map +1 -0
  72. package/dist/services/agent/skills.js.map +1 -0
  73. package/dist/services/agent/tools.d.ts +1 -1
  74. package/dist/services/agent/tools.d.ts.map +1 -1
  75. package/dist/services/agent/tools.js +7 -2
  76. package/dist/services/agent/tools.js.map +1 -1
  77. package/dist/services/agent/{schema.d.ts → types.d.ts} +1 -1
  78. package/dist/services/agent/types.d.ts.map +1 -0
  79. package/dist/services/agent/{schema.js → types.js} +1 -1
  80. package/dist/services/agent/types.js.map +1 -0
  81. package/dist/services/channels/base-adapter.d.ts +22 -7
  82. package/dist/services/channels/base-adapter.d.ts.map +1 -1
  83. package/dist/services/channels/base-adapter.js +56 -73
  84. package/dist/services/channels/base-adapter.js.map +1 -1
  85. package/dist/services/channels/debounce.d.ts +1 -1
  86. package/dist/services/channels/debounce.d.ts.map +1 -1
  87. package/dist/services/channels/index.d.ts +1 -1
  88. package/dist/services/channels/index.d.ts.map +1 -1
  89. package/dist/services/channels/index.js +61 -18
  90. package/dist/services/channels/index.js.map +1 -1
  91. package/dist/services/channels/{media-extract.d.ts → media-paths.d.ts} +1 -1
  92. package/dist/services/channels/media-paths.d.ts.map +1 -0
  93. package/dist/services/channels/{media-extract.js → media-paths.js} +2 -2
  94. package/dist/services/channels/media-paths.js.map +1 -0
  95. package/dist/services/channels/pipeline.d.ts +2 -7
  96. package/dist/services/channels/pipeline.d.ts.map +1 -1
  97. package/dist/services/channels/pipeline.js +28 -47
  98. package/dist/services/channels/pipeline.js.map +1 -1
  99. package/dist/services/channels/provider-loader.d.ts +1 -1
  100. package/dist/services/channels/provider-loader.d.ts.map +1 -1
  101. package/dist/services/channels/providers/telegram/adapter.d.ts +5 -5
  102. package/dist/services/channels/providers/telegram/adapter.d.ts.map +1 -1
  103. package/dist/services/channels/providers/telegram/adapter.js +4 -6
  104. package/dist/services/channels/providers/telegram/adapter.js.map +1 -1
  105. package/dist/services/channels/providers/telegram/index.d.ts +1 -1
  106. package/dist/services/channels/providers/telegram/index.d.ts.map +1 -1
  107. package/dist/services/channels/providers/telegram/index.js +1 -1
  108. package/dist/services/channels/providers/telegram/index.js.map +1 -1
  109. package/dist/services/channels/providers/telegram/normalizer.d.ts +1 -1
  110. package/dist/services/channels/providers/telegram/normalizer.d.ts.map +1 -1
  111. package/dist/services/channels/providers/telegram/normalizer.js +0 -2
  112. package/dist/services/channels/providers/telegram/normalizer.js.map +1 -1
  113. package/dist/services/channels/providers/whatsapp/adapter.d.ts +6 -5
  114. package/dist/services/channels/providers/whatsapp/adapter.d.ts.map +1 -1
  115. package/dist/services/channels/providers/whatsapp/adapter.js +35 -28
  116. package/dist/services/channels/providers/whatsapp/adapter.js.map +1 -1
  117. package/dist/services/channels/providers/whatsapp/index.d.ts +1 -1
  118. package/dist/services/channels/providers/whatsapp/index.d.ts.map +1 -1
  119. package/dist/services/channels/providers/whatsapp/index.js +1 -1
  120. package/dist/services/channels/providers/whatsapp/index.js.map +1 -1
  121. package/dist/services/channels/providers/whatsapp/normalizer.d.ts +2 -1
  122. package/dist/services/channels/providers/whatsapp/normalizer.d.ts.map +1 -1
  123. package/dist/services/channels/providers/whatsapp/normalizer.js +9 -3
  124. package/dist/services/channels/providers/whatsapp/normalizer.js.map +1 -1
  125. package/dist/services/channels/providers/whatsapp/session.d.ts.map +1 -1
  126. package/dist/services/channels/providers/whatsapp/session.js +6 -4
  127. package/dist/services/channels/providers/whatsapp/session.js.map +1 -1
  128. package/dist/services/channels/providers/whatsapp/types.d.ts +1 -0
  129. package/dist/services/channels/providers/whatsapp/types.d.ts.map +1 -1
  130. package/dist/services/channels/types.d.ts +68 -3
  131. package/dist/services/channels/types.d.ts.map +1 -1
  132. package/dist/services/channels/types.js +4 -0
  133. package/dist/services/channels/types.js.map +1 -1
  134. package/dist/services/config/schemas/agent.d.ts +1 -1
  135. package/dist/services/config/schemas/agent.js +1 -1
  136. package/dist/services/config/schemas/channels.d.ts +2 -0
  137. package/dist/services/config/schemas/channels.d.ts.map +1 -1
  138. package/dist/services/config/schemas/channels.js +2 -0
  139. package/dist/services/config/schemas/channels.js.map +1 -1
  140. package/dist/services/config/schemas/index.d.ts +3 -3
  141. package/dist/services/config/schemas/index.d.ts.map +1 -1
  142. package/dist/services/config/schemas/index.js +2 -2
  143. package/dist/services/config/schemas/index.js.map +1 -1
  144. package/dist/services/config/schemas/primitives.d.ts +0 -2
  145. package/dist/services/config/schemas/primitives.d.ts.map +1 -1
  146. package/dist/services/config/schemas/primitives.js +0 -1
  147. package/dist/services/config/schemas/primitives.js.map +1 -1
  148. package/dist/services/cron/heartbeat.d.ts.map +1 -0
  149. package/dist/services/cron/heartbeat.js.map +1 -0
  150. package/dist/services/cron/index.d.ts.map +1 -1
  151. package/dist/services/cron/index.js +3 -4
  152. package/dist/services/cron/index.js.map +1 -1
  153. package/dist/services/media/index.d.ts +1 -0
  154. package/dist/services/media/index.d.ts.map +1 -1
  155. package/dist/services/media/index.js +61 -5
  156. package/dist/services/media/index.js.map +1 -1
  157. package/dist/services/media/providers/anthropic.js +1 -1
  158. package/dist/services/media/providers/anthropic.js.map +1 -1
  159. package/dist/services/media/{extract-document.d.ts → providers/document.d.ts} +1 -1
  160. package/dist/services/media/providers/document.d.ts.map +1 -0
  161. package/dist/services/media/{extract-document.js → providers/document.js} +4 -4
  162. package/dist/services/media/providers/document.js.map +1 -0
  163. package/dist/services/media/providers/openai.d.ts.map +1 -1
  164. package/dist/services/media/providers/openai.js +5 -1
  165. package/dist/services/media/providers/openai.js.map +1 -1
  166. package/package.json +12 -16
  167. package/dist/lib/async-handlers.d.ts +0 -13
  168. package/dist/lib/async-handlers.d.ts.map +0 -1
  169. package/dist/lib/async-handlers.js +0 -6
  170. package/dist/lib/async-handlers.js.map +0 -1
  171. package/dist/lib/error-store.d.ts.map +0 -1
  172. package/dist/lib/error-store.js.map +0 -1
  173. package/dist/lib/glob.d.ts.map +0 -1
  174. package/dist/lib/glob.js.map +0 -1
  175. package/dist/lib/heartbeat.d.ts.map +0 -1
  176. package/dist/lib/heartbeat.js.map +0 -1
  177. package/dist/lib/media-transcribe.d.ts +0 -57
  178. package/dist/lib/media-transcribe.d.ts.map +0 -1
  179. package/dist/lib/media-transcribe.js +0 -98
  180. package/dist/lib/media-transcribe.js.map +0 -1
  181. package/dist/lib/safe-async.d.ts +0 -27
  182. package/dist/lib/safe-async.d.ts.map +0 -1
  183. package/dist/lib/safe-async.js +0 -38
  184. package/dist/lib/safe-async.js.map +0 -1
  185. package/dist/lib/skills.d.ts.map +0 -1
  186. package/dist/lib/skills.js.map +0 -1
  187. package/dist/lib/subagent.d.ts.map +0 -1
  188. package/dist/lib/subagent.js.map +0 -1
  189. package/dist/scripts/migrate-cron-sessions.d.ts +0 -10
  190. package/dist/scripts/migrate-cron-sessions.d.ts.map +0 -1
  191. package/dist/scripts/migrate-cron-sessions.js +0 -139
  192. package/dist/scripts/migrate-cron-sessions.js.map +0 -1
  193. package/dist/services/agent/schema.d.ts.map +0 -1
  194. package/dist/services/agent/schema.js.map +0 -1
  195. package/dist/services/channels/contracts.d.ts +0 -75
  196. package/dist/services/channels/contracts.d.ts.map +0 -1
  197. package/dist/services/channels/contracts.js +0 -6
  198. package/dist/services/channels/contracts.js.map +0 -1
  199. package/dist/services/channels/media-extract.d.ts.map +0 -1
  200. package/dist/services/channels/media-extract.js.map +0 -1
  201. package/dist/services/media/extract-document.d.ts.map +0 -1
  202. package/dist/services/media/extract-document.js.map +0 -1
  203. /package/dist/.templates/{vargos/agent → agent}/extensions/.gitkeep +0 -0
  204. /package/dist/.templates/{vargos/agent → agent}/mcp.json +0 -0
  205. /package/dist/.templates/{vargos/agent → agent}/skills/skill-creator/SKILL.md +0 -0
  206. /package/dist/.templates/{vargos/agent → agent}/skills/token-capture/SKILL.md +0 -0
  207. /package/dist/.templates/{vargos/agent → agent}/skills/token-capture/scripts/capture-bearer-token.sh +0 -0
  208. /package/dist/.templates/{vargos/agents → agents}/README +0 -0
  209. /package/dist/.templates/{vargos/agents → agents}/default.md +0 -0
  210. /package/dist/.templates/{vargos/agents → agents}/subagent.md +0 -0
  211. /package/dist/.templates/{vargos/config.json → config.json} +0 -0
  212. /package/dist/.templates/{vargos/cron → cron}/heartbeat.md +0 -0
  213. /package/dist/.templates/{vargos/workspace → workspace}/HEARTBEAT.md +0 -0
  214. /package/dist/.templates/{vargos/workspace → workspace}/MEMORY.md +0 -0
  215. /package/dist/.templates/{vargos/workspace → workspace}/SOUL.md +0 -0
  216. /package/dist/.templates/{vargos/workspace → workspace}/TOOLS.md +0 -0
  217. /package/dist/{lib → services/agent}/skills.d.ts +0 -0
  218. /package/dist/{lib → services/agent}/skills.js +0 -0
  219. /package/dist/{lib → services/cron}/heartbeat.d.ts +0 -0
  220. /package/dist/{lib → services/cron}/heartbeat.js +0 -0
@@ -41,8 +41,63 @@ import { z } from 'zod';
41
41
  import { register } from '../../gateway/decorators.js';
42
42
  import { createLogger } from '../../lib/logger.js';
43
43
  import { createProvider } from './providers/index.js';
44
- import { extractDocument } from './extract-document.js';
44
+ import { extractDocument } from './providers/document.js';
45
+ import { readFileSync, writeFileSync } from 'node:fs';
46
+ import path from 'node:path';
45
47
  const log = createLogger('media');
48
+ class MediaCache {
49
+ processing = new Map();
50
+ cachePath(filePath) {
51
+ const dir = path.dirname(filePath);
52
+ const base = path.basename(filePath);
53
+ return path.join(dir, `${base}.metadata.json`);
54
+ }
55
+ readCache(filePath) {
56
+ try {
57
+ const cacheFile = this.cachePath(filePath);
58
+ const raw = readFileSync(cacheFile, 'utf-8');
59
+ return JSON.parse(raw);
60
+ }
61
+ catch {
62
+ return null;
63
+ }
64
+ }
65
+ writeCache(filePath, entry) {
66
+ try {
67
+ const cacheFile = this.cachePath(filePath);
68
+ writeFileSync(cacheFile, JSON.stringify(entry, null, 2), 'utf-8');
69
+ }
70
+ catch (err) {
71
+ log.warn(`failed to write media cache for ${filePath}: ${err}`);
72
+ }
73
+ }
74
+ async get(filePath, type, fetcher) {
75
+ // Check file-based cache (cached forever)
76
+ const cached = this.readCache(filePath);
77
+ if (cached?.[type]) {
78
+ return cached[type];
79
+ }
80
+ // Dedup: if another caller is already processing this file, wait for them
81
+ const existing = this.processing.get(filePath);
82
+ if (existing) {
83
+ log.debug(`media dedup: waiting for concurrent ${type} of ${filePath}`);
84
+ return existing;
85
+ }
86
+ // Start processing
87
+ const promise = fetcher().then(result => {
88
+ // Update cache file (merge with existing entries)
89
+ const existing = this.readCache(filePath) ?? {};
90
+ this.writeCache(filePath, { ...existing, [type]: result });
91
+ this.processing.delete(filePath);
92
+ return result;
93
+ }).catch(err => {
94
+ this.processing.delete(filePath);
95
+ throw err;
96
+ });
97
+ this.processing.set(filePath, promise);
98
+ return promise;
99
+ }
100
+ }
46
101
  let MediaService = (() => {
47
102
  let _instanceExtraInitializers = [];
48
103
  let _transcribeAudio_decorators;
@@ -52,11 +107,11 @@ let MediaService = (() => {
52
107
  static {
53
108
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
54
109
  _transcribeAudio_decorators = [register('media.transcribeAudio', {
55
- description: 'Transcribe an audio file to text using configured audio model.',
110
+ description: 'Transcribe an audio file to text using configured audio model. Results are cached for 24h.',
56
111
  schema: z.object({ filePath: z.string() }),
57
112
  })];
58
113
  _describeImage_decorators = [register('media.describeImage', {
59
- description: 'Describe an image using configured vision model.',
114
+ description: 'Describe an image using configured vision model. Results are cached for 24h.',
60
115
  schema: z.object({ filePath: z.string() }),
61
116
  })];
62
117
  _extractDocument_decorators = [register('media.extractDocument', {
@@ -70,6 +125,7 @@ let MediaService = (() => {
70
125
  }
71
126
  bus = __runInitializers(this, _instanceExtraInitializers);
72
127
  config;
128
+ cache = new MediaCache();
73
129
  constructor(bus, config) {
74
130
  this.bus = bus;
75
131
  this.config = config;
@@ -89,7 +145,7 @@ let MediaService = (() => {
89
145
  if (!audioRef)
90
146
  throw new Error('No audio model configured (agent.media.audio)');
91
147
  const { provider, model, apiKey, baseUrl } = this.resolveProviderConfig(audioRef);
92
- const text = await createProvider(provider).transcribeAudio(params.filePath, model, apiKey, baseUrl);
148
+ const text = await this.cache.get(params.filePath, 'transcribe', () => createProvider(provider).transcribeAudio(params.filePath, model, apiKey, baseUrl));
93
149
  return { text };
94
150
  }
95
151
  async describeImage(params) {
@@ -97,7 +153,7 @@ let MediaService = (() => {
97
153
  if (!imgRef)
98
154
  throw new Error('No image model configured (agent.media.image)');
99
155
  const { provider, model, apiKey, baseUrl } = this.resolveProviderConfig(imgRef);
100
- const description = await createProvider(provider).describeImage(params.filePath, model, apiKey, baseUrl);
156
+ const description = await this.cache.get(params.filePath, 'describe', () => createProvider(provider).describeImage(params.filePath, model, apiKey, baseUrl));
101
157
  return { description };
102
158
  }
103
159
  async extractDocument(params) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../services/media/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../services/media/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { readFile } from 'node:fs/promises';
2
2
  import path from 'node:path';
3
- import { getMimeTypeFromExt } from '../../../lib/media-transcribe.js';
3
+ import { getMimeTypeFromExt } from '../../../lib/mime.js';
4
4
  export class AnthropicProvider {
5
5
  async transcribeAudio() {
6
6
  throw new Error('Anthropic does not support audio transcription. Use openai provider.');
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../../services/media/providers/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAGtE,MAAM,OAAO,iBAAiB;IAC5B,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,KAAa,EAAE,MAAc,EAAE,OAAgB;QACnF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE5C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,IAAI,2BAA2B,cAAc,EAAE;YAC/E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,WAAW,EAAE,MAAM;gBACnB,mBAAmB,EAAE,YAAY;gBACjC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK;gBACL,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,CAAC;wBACT,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;4BACpF,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gCAAgC,EAAE;yBACzD;qBACF,CAAC;aACH,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACpG,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAwD,CAAC;QACvF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;IAC/D,CAAC;CACF"}
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../../services/media/providers/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,MAAM,OAAO,iBAAiB;IAC5B,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,KAAa,EAAE,MAAc,EAAE,OAAgB;QACnF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE5C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,IAAI,2BAA2B,cAAc,EAAE;YAC/E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,WAAW,EAAE,MAAM;gBACnB,mBAAmB,EAAE,YAAY;gBACjC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK;gBACL,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,CAAC;wBACT,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;4BACpF,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gCAAgC,EAAE;yBACzD;qBACF,CAAC;aACH,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACpG,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAwD,CAAC;QACvF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;IAC/D,CAAC;CACF"}
@@ -5,4 +5,4 @@
5
5
  export declare function extractDocument(filePath: string, mimeType: string): Promise<{
6
6
  text: string;
7
7
  }>;
8
- //# sourceMappingURL=extract-document.d.ts.map
8
+ //# sourceMappingURL=document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../../services/media/providers/document.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA8CH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAkD3B"}
@@ -7,9 +7,9 @@ import path from 'node:path';
7
7
  import { PDFParse } from 'pdf-parse';
8
8
  import * as mammoth from 'mammoth';
9
9
  import XLSX from 'xlsx';
10
- import { createLogger } from '../../lib/logger.js';
11
- import { toMessage } from '../../lib/error.js';
12
- import { getDataPaths } from '../../lib/paths.js';
10
+ import { createLogger } from '../../../lib/logger.js';
11
+ import { toMessage } from '../../../lib/error.js';
12
+ import { getDataPaths } from '../../../lib/paths.js';
13
13
  const log = createLogger('media');
14
14
  const MAX_DOCUMENT_SIZE = 50 * 1024 * 1024; // 50 MB
15
15
  const MAX_TEXT_SIZE = 1 * 1024 * 1024; // 1 MB for text files (token cost)
@@ -82,4 +82,4 @@ export async function extractDocument(filePath, mimeType) {
82
82
  throw new Error(`Failed to extract document: ${errorMsg}`, { cause: err });
83
83
  }
84
84
  }
85
- //# sourceMappingURL=extract-document.js.map
85
+ //# sourceMappingURL=document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../services/media/providers/document.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../../services/media/providers/openai.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,qBAAa,cAAe,YAAW,aAAa;IAC5C,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBnG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA0BxG"}
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../../services/media/providers/openai.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAOnD,qBAAa,cAAe,YAAW,aAAa;IAC5C,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBnG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA0BxG"}
@@ -1,7 +1,11 @@
1
1
  import { readFile } from 'node:fs/promises';
2
2
  import path from 'node:path';
3
- import { WHISPER_EXTS, MIME_TO_AUDIO_EXT, normalizeApiBaseUrl, getMimeTypeFromExt } from '../../../lib/media-transcribe.js';
3
+ import { WHISPER_EXTS, MIME_TO_AUDIO_EXT, getMimeTypeFromExt } from '../../../lib/mime.js';
4
4
  import { validateHttpResponse } from '../../../lib/http-validate.js';
5
+ /** Normalize an OpenAI-compatible base URL by stripping a trailing /v1 (we append it per-endpoint). */
6
+ function normalizeApiBaseUrl(baseUrl) {
7
+ return (baseUrl ?? 'https://api.openai.com').replace(/\/v1\/?$/, '');
8
+ }
5
9
  export class OpenAIProvider {
6
10
  async transcribeAudio(filePath, model, apiKey, baseUrl) {
7
11
  const buffer = await readFile(filePath);
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../../services/media/providers/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../../services/media/providers/openai.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chozzz/vargos",
3
- "version": "2.1.0",
3
+ "version": "3.0.0",
4
4
  "description": "Self-hosted agent OS with persistent memory, multi-channel presence, tools, scheduling, and sub-agent orchestration",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Vadi Taslim",
@@ -35,25 +35,22 @@
35
35
  "vargos": "./dist/cli.js"
36
36
  },
37
37
  "dependencies": {
38
- "@clack/prompts": "^1.2.0",
39
- "@mariozechner/pi-agent-core": "^0.73.1",
40
- "@mariozechner/pi-coding-agent": "^0.73.1",
41
- "pi-mcp-adapter": "^2.6.1",
38
+ "@clack/prompts": "^1.5.0",
39
+ "@earendil-works/pi-agent-core": "0.78.0",
40
+ "@earendil-works/pi-coding-agent": "0.78.0",
42
41
  "@modelcontextprotocol/sdk": "^1.29.0",
43
42
  "@whiskeysockets/baileys": "7.0.0-rc13",
44
43
  "better-sqlite3": "^12.10.0",
45
- "chalk": "^5.6.2",
46
44
  "cron": "^4.4.0",
47
45
  "mammoth": "^1.12.0",
48
46
  "pdf-parse": "^2.4.5",
49
47
  "pg": "^8.21.0",
50
48
  "pgvector": "^0.2.1",
49
+ "pi-mcp-adapter": "^2.8.0",
51
50
  "pino": "^10.3.1",
52
- "playwright": "^1.60.0",
53
51
  "qrcode-terminal": "^0.12.0",
54
52
  "tinyglobby": "^0.2.16",
55
53
  "turndown": "^7.2.4",
56
- "ws": "^8.20.1",
57
54
  "xlsx": "^0.18.5",
58
55
  "zod": "^3.23.8",
59
56
  "zod-to-json-schema": "^3.25.2"
@@ -61,21 +58,19 @@
61
58
  "devDependencies": {
62
59
  "@eslint/js": "^10.0.1",
63
60
  "@types/better-sqlite3": "^7.6.13",
64
- "@types/cron": "^2.4.3",
65
61
  "@types/node": "^25.9.1",
66
62
  "@types/pdf-parse": "^1.1.5",
67
63
  "@types/pg": "^8.20.0",
68
64
  "@types/qrcode-terminal": "^0.12.2",
69
65
  "@types/turndown": "^5.0.6",
70
- "@types/ws": "^8.18.1",
71
- "@typescript-eslint/eslint-plugin": "^8.59.4",
72
- "@typescript-eslint/parser": "^8.59.4",
73
- "eslint": "^10.4.0",
66
+ "@typescript-eslint/eslint-plugin": "^8.60.0",
67
+ "@typescript-eslint/parser": "^8.60.0",
68
+ "eslint": "^10.4.1",
74
69
  "husky": "^9.1.7",
75
70
  "lint-staged": "^16.4.0",
76
71
  "tsx": "^4.22.3",
77
72
  "typescript": "^6.0.3",
78
- "typescript-eslint": "^8.59.4",
73
+ "typescript-eslint": "^8.60.0",
79
74
  "vitest": "^4.1.7"
80
75
  },
81
76
  "lint-staged": {
@@ -84,17 +79,18 @@
84
79
  ]
85
80
  },
86
81
  "engines": {
87
- "node": ">=20"
82
+ "node": ">=22.19.0"
88
83
  },
89
84
  "scripts": {
90
85
  "start": "tsx index.ts",
91
86
  "seed": "tsx scripts/seed.ts",
87
+ "migrate": "tsx scripts/migrate.ts",
92
88
  "cli": "tsx cli.ts",
93
89
  "chat": "tsx scripts/seed.ts && PI_CODING_AGENT_DIR=\"${VARGOS_DATA_DIR:-$HOME/.vargos}/agent\" pi --session-dir \"${VARGOS_DATA_DIR:-$HOME/.vargos}/sessions/cli\"",
94
90
  "build": "rm -rf dist && tsc && cp -r .templates dist/.templates",
95
91
  "test": "vitest",
96
92
  "test:run": "vitest run",
97
- "lint": "eslint 'gateway/**/*.ts' 'services/**/*.ts' 'lib/**/*.ts' 'index.ts' 'vitest.config.ts' '**/__tests__/**/*.ts' && tsc --noEmit",
93
+ "lint": "eslint 'gateway/**/*.ts' 'services/**/*.ts' 'lib/**/*.ts' '.migrations/**/*.ts' 'scripts/**/*.ts' 'index.ts' 'boot.ts' 'vitest.config.ts' '**/__tests__/**/*.ts' && tsc --noEmit",
98
94
  "typecheck": "tsc --noEmit",
99
95
  "precommit": "pnpm exec lint-staged && pnpm run typecheck && pnpm run test:run",
100
96
  "postinstall": "pnpm rebuild better-sqlite3"
@@ -1,13 +0,0 @@
1
- /**
2
- * Generic async handler and callback type definitions.
3
- * Reusable across services for consistent typing of async operations.
4
- */
5
- /** Basic async handler: input → Promise<output> */
6
- export type AsyncHandler<I, O = void> = (input: I) => Promise<O>;
7
- /** Batch async handler: multiple inputs → Promise<output> */
8
- export type AsyncBatchHandler<I, O = void> = (batch: I[]) => Promise<O>;
9
- /** Optional async handler (may not be implemented) */
10
- export type OptionalAsyncHandler<I, O = void> = AsyncHandler<I, O> | undefined;
11
- /** Variadic async handler: any arguments → Promise<output> */
12
- export type AsyncFunction<O = void> = (...args: unknown[]) => Promise<O>;
13
- //# sourceMappingURL=async-handlers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"async-handlers.d.ts","sourceRoot":"","sources":["../../lib/async-handlers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,mDAAmD;AACnD,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAEjE,6DAA6D;AAC7D,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAExE,sDAAsD;AACtD,MAAM,MAAM,oBAAoB,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;AAE/E,8DAA8D;AAC9D,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Generic async handler and callback type definitions.
3
- * Reusable across services for consistent typing of async operations.
4
- */
5
- export {};
6
- //# sourceMappingURL=async-handlers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"async-handlers.js","sourceRoot":"","sources":["../../lib/async-handlers.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-store.d.ts","sourceRoot":"","sources":["../../lib/error-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAgC,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAE3E,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,UAAU,GAAG,YAAY,GAAG,OAAO,CAAC;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,WAAW,CAC/B,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,YAAY,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,OAAO,CAAA;CAAE,GACnG,OAAO,CAAC,IAAI,CAAC,CASf"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-store.js","sourceRoot":"","sources":["../../lib/error-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAmB,MAAM,YAAY,CAAC;AAa3E,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAoG;IAEpG,MAAM,IAAI,GAAgB;QACxB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC5B,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5D,GAAG,KAAK;QACR,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;KACtC,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACnE,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACtE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../lib/glob.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAMjE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"glob.js","sourceRoot":"","sources":["../../lib/glob.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,GAAW;IACtD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,OAAO,KAAK,GAAG,CAAC;IACnD,MAAM,EAAE,GAAG,IAAI,MAAM,CACnB,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAC3D,CAAC;IACF,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,OAAO,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../lib/heartbeat.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAU3E;AAKD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI/D;AAYD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAOT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../lib/heartbeat.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,UAAU,kCAAkC,CAAC,OAAe;IAChE,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACtC,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,OAAO;YAAE,SAAS;QACrD,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QACpE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,uFAAuF;AACvF,MAAM,kBAAkB,GAAG,iDAAiD,CAAC;AAE7E;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB;IACzC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QAC7C,QAAQ;QACR,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,KAAK;KACd,CAAC,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACpD,OAAO,QAAQ,CAAC,QAAQ,EAAE,KAAK,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,WAA8B,EAC9B,QAAiB;IAEjB,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC;IACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/E,IAAI,KAAK,IAAI,GAAG;QAAE,OAAO,IAAI,IAAI,KAAK,IAAI,IAAI,GAAG,GAAG,CAAC;IACrD,+CAA+C;IAC/C,OAAO,IAAI,IAAI,KAAK,IAAI,IAAI,GAAG,GAAG,CAAC;AACrC,CAAC"}
@@ -1,57 +0,0 @@
1
- /**
2
- * Media utilities — constants and helpers for file operations
3
- *
4
- * Transcription is implemented in MediaService via the media.transcribeAudio bus event.
5
- * Image vision APIs can be added to MediaService as needed.
6
- */
7
- export declare const WHISPER_EXTS: Set<string>;
8
- export declare const MIME_TO_AUDIO_EXT: Record<string, string>;
9
- export declare const MIME_EXT: Record<string, string>;
10
- export declare const MEDIA_TYPE_MIME_DEFAULTS: Record<string, string>;
11
- export declare const EXT_TO_MIME: Record<string, string>;
12
- export declare const IMAGE_MIMES: {
13
- readonly 'image/jpeg': true;
14
- readonly 'image/png': true;
15
- readonly 'image/gif': true;
16
- readonly 'image/webp': true;
17
- readonly 'image/bmp': true;
18
- readonly 'image/svg+xml': true;
19
- };
20
- export declare const AUDIO_MIMES: {
21
- readonly 'audio/ogg': true;
22
- readonly 'audio/mpeg': true;
23
- readonly 'audio/mp4': true;
24
- readonly 'audio/wav': true;
25
- readonly 'audio/webm': true;
26
- readonly 'audio/flac': true;
27
- readonly 'audio/x-m4a': true;
28
- readonly 'audio/mp3': true;
29
- };
30
- export declare const VIDEO_MIMES: {
31
- readonly 'video/mp4': true;
32
- };
33
- export declare const DOCUMENT_MIMES: {
34
- readonly 'text/plain': true;
35
- readonly 'text/markdown': true;
36
- readonly 'application/pdf': true;
37
- readonly 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': true;
38
- readonly 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': true;
39
- };
40
- export type ImageMimeType = keyof typeof IMAGE_MIMES;
41
- export type AudioMimeType = keyof typeof AUDIO_MIMES;
42
- export type VideoMimeType = keyof typeof VIDEO_MIMES;
43
- export type DocumentMimeType = keyof typeof DOCUMENT_MIMES;
44
- /**
45
- * Get file extension for MIME type
46
- */
47
- export declare function extFromMime(mimeType: string): string;
48
- /**
49
- * Get MIME type from file extension
50
- */
51
- export declare function getMimeTypeFromExt(ext: string): string;
52
- /**
53
- * Normalize API base URL by removing trailing /v1 (or /v1/)
54
- * Supports both formats: 'https://api.openai.com' and 'https://api.openai.com/v1'
55
- */
56
- export declare function normalizeApiBaseUrl(baseUrl?: string): string;
57
- //# sourceMappingURL=media-transcribe.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"media-transcribe.d.ts","sourceRoot":"","sources":["../../lib/media-transcribe.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,eAAO,MAAM,YAAY,aAAgG,CAAC;AAG1H,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIpD,CAAC;AAGF,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAY3C,CAAC;AAGF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK3D,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAS9C,CAAC;AAGF,eAAO,MAAM,WAAW;;;;;;;CAOd,CAAC;AAEX,eAAO,MAAM,WAAW;;;;;;;;;CASd,CAAC;AAEX,eAAO,MAAM,WAAW;;CAEd,CAAC;AAEX,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,WAAW,CAAC;AACrD,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,WAAW,CAAC;AACrD,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,WAAW,CAAC;AACrD,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,cAAc,CAAC;AAE3D;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAK5D"}
@@ -1,98 +0,0 @@
1
- /**
2
- * Media utilities — constants and helpers for file operations
3
- *
4
- * Transcription is implemented in MediaService via the media.transcribeAudio bus event.
5
- * Image vision APIs can be added to MediaService as needed.
6
- */
7
- // Supported audio extensions for Whisper API
8
- export const WHISPER_EXTS = new Set(['.flac', '.m4a', '.mp3', '.mp4', '.mpeg', '.mpga', '.oga', '.ogg', '.wav', '.webm']);
9
- // MIME type to audio extension mapping
10
- export const MIME_TO_AUDIO_EXT = {
11
- 'audio/ogg': '.ogg', 'audio/mpeg': '.mp3', 'audio/mp4': '.m4a',
12
- 'audio/wav': '.wav', 'audio/webm': '.webm', 'audio/flac': '.flac',
13
- 'audio/x-m4a': '.m4a', 'audio/mp3': '.mp3',
14
- };
15
- // MIME type to file extension mapping (includes images and video)
16
- export const MIME_EXT = {
17
- 'image/jpeg': '.jpg',
18
- 'image/png': '.png',
19
- 'image/gif': '.gif',
20
- 'image/webp': '.webp',
21
- 'image/bmp': '.bmp',
22
- 'image/svg+xml': '.svg',
23
- 'audio/ogg': '.ogg',
24
- 'audio/mpeg': '.mp3',
25
- 'audio/mp4': '.m4a',
26
- 'video/mp4': '.mp4',
27
- 'application/pdf': '.pdf',
28
- };
29
- // Media type to default MIME type mapping (for fallback when MIME is unknown)
30
- export const MEDIA_TYPE_MIME_DEFAULTS = {
31
- image: 'image/jpeg',
32
- audio: 'audio/ogg',
33
- video: 'video/mp4',
34
- document: 'application/pdf',
35
- };
36
- // Extension to MIME type mapping (inverse of MIME_EXT, includes common variations)
37
- export const EXT_TO_MIME = {
38
- '.jpg': 'image/jpeg', '.jpeg': 'image/jpeg',
39
- '.png': 'image/png', '.gif': 'image/gif', '.webp': 'image/webp',
40
- '.mp4': 'video/mp4', '.mp3': 'audio/mpeg',
41
- '.ogg': 'audio/ogg', '.m4a': 'audio/mp4',
42
- '.pdf': 'application/pdf',
43
- '.txt': 'text/plain', '.md': 'text/markdown',
44
- '.docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
45
- '.xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
46
- };
47
- // Typed MIME constants by media type
48
- export const IMAGE_MIMES = {
49
- 'image/jpeg': true,
50
- 'image/png': true,
51
- 'image/gif': true,
52
- 'image/webp': true,
53
- 'image/bmp': true,
54
- 'image/svg+xml': true,
55
- };
56
- export const AUDIO_MIMES = {
57
- 'audio/ogg': true,
58
- 'audio/mpeg': true,
59
- 'audio/mp4': true,
60
- 'audio/wav': true,
61
- 'audio/webm': true,
62
- 'audio/flac': true,
63
- 'audio/x-m4a': true,
64
- 'audio/mp3': true,
65
- };
66
- export const VIDEO_MIMES = {
67
- 'video/mp4': true,
68
- };
69
- export const DOCUMENT_MIMES = {
70
- 'text/plain': true,
71
- 'text/markdown': true,
72
- 'application/pdf': true,
73
- 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': true,
74
- 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': true,
75
- };
76
- /**
77
- * Get file extension for MIME type
78
- */
79
- export function extFromMime(mimeType) {
80
- return MIME_EXT[mimeType] || '.bin';
81
- }
82
- /**
83
- * Get MIME type from file extension
84
- */
85
- export function getMimeTypeFromExt(ext) {
86
- return EXT_TO_MIME[ext.toLowerCase()] || 'image/jpeg';
87
- }
88
- /**
89
- * Normalize API base URL by removing trailing /v1 (or /v1/)
90
- * Supports both formats: 'https://api.openai.com' and 'https://api.openai.com/v1'
91
- */
92
- export function normalizeApiBaseUrl(baseUrl) {
93
- let url = baseUrl ?? 'https://api.openai.com';
94
- // Remove trailing /v1 or /v1/ if present
95
- url = url.replace(/\/v1\/?$/, '');
96
- return url;
97
- }
98
- //# sourceMappingURL=media-transcribe.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"media-transcribe.js","sourceRoot":"","sources":["../../lib/media-transcribe.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- /**
2
- * Safe async execution utilities — centralized error context and handling.
3
- * Reduces boilerplate in services that wrap async operations with logging.
4
- */
5
- /**
6
- * Execute async operation with automatic error logging.
7
- * Returns result or undefined if operation throws.
8
- */
9
- export declare function safeAwait<T>(promise: Promise<T>, context: {
10
- operation: string;
11
- service: string;
12
- log: {
13
- error(msg: string, data?: unknown): void;
14
- };
15
- }): Promise<T | undefined>;
16
- /**
17
- * Wrap async function with error context logging.
18
- * Useful for event handlers and callbacks.
19
- */
20
- export declare function withErrorContext<Args extends unknown[], R>(fn: (...args: Args) => Promise<R>, context: {
21
- operation: string;
22
- service: string;
23
- log: {
24
- error(msg: string, data?: unknown): void;
25
- };
26
- }): (...args: Args) => Promise<R | undefined>;
27
- //# sourceMappingURL=safe-async.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"safe-async.d.ts","sourceRoot":"","sources":["../../lib/safe-async.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;GAGG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE;QAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,CAAA;CAAE,GACjG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CASxB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,CAAC,EACxD,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EACjC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE;QAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,CAAA;CAAE,GACjG,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAW3C"}
@@ -1,38 +0,0 @@
1
- /**
2
- * Safe async execution utilities — centralized error context and handling.
3
- * Reduces boilerplate in services that wrap async operations with logging.
4
- */
5
- import { toMessage } from './error.js';
6
- /**
7
- * Execute async operation with automatic error logging.
8
- * Returns result or undefined if operation throws.
9
- */
10
- export async function safeAwait(promise, context) {
11
- try {
12
- return await promise;
13
- }
14
- catch (err) {
15
- context.log.error(`${context.operation} failed in ${context.service}`, {
16
- error: toMessage(err),
17
- });
18
- return undefined;
19
- }
20
- }
21
- /**
22
- * Wrap async function with error context logging.
23
- * Useful for event handlers and callbacks.
24
- */
25
- export function withErrorContext(fn, context) {
26
- return async (...args) => {
27
- try {
28
- return await fn(...args);
29
- }
30
- catch (err) {
31
- context.log.error(`${context.operation} failed`, {
32
- error: toMessage(err),
33
- });
34
- return undefined;
35
- }
36
- };
37
- }
38
- //# sourceMappingURL=safe-async.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"safe-async.js","sourceRoot":"","sources":["../../lib/safe-async.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAmB,EACnB,OAAkG;IAElG,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,SAAS,cAAc,OAAO,CAAC,OAAO,EAAE,EAAE;YACrE,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC;SACtB,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,EAAiC,EACjC,OAAkG;IAElG,OAAO,KAAK,EAAE,GAAG,IAAU,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,SAAS,SAAS,EAAE;gBAC/C,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC;aACtB,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../lib/skills.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAI9D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../lib/skills.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAG,KAAe;IAClD,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;SAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../../lib/subagent.ts"],"names":[],"mappings":"AAKA,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED,iEAAiE;AACjE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGlD;AASD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAGzE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAG7F"}