cognova 0.2.11 → 0.2.12

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 (112) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/builds/latest.json +1 -1
  3. package/.output/public/_nuxt/builds/meta/a892969f-e07d-4f44-8d7e-57a4b7f33d94.json +1 -0
  4. package/.output/server/chunks/build/CodeIcon-CWD5HcV7.mjs +1 -1
  5. package/.output/server/chunks/build/DropdownMenu-BBrV9nXz.mjs +1 -1
  6. package/.output/server/chunks/build/EditorToolbar-DIfb5arC.mjs +1 -1
  7. package/.output/server/chunks/build/Img-CWLmvN1t.mjs +1 -1
  8. package/.output/server/chunks/build/MDC-Dx0YPDhe.mjs +1 -1
  9. package/.output/server/chunks/build/Select-BB1oLrCD.mjs +1 -1
  10. package/.output/server/chunks/build/SelectMenu-DPssg6zD.mjs +1 -1
  11. package/.output/server/chunks/build/Table-DCwTlhCj.mjs +1 -1
  12. package/.output/server/chunks/build/Tooltip-TRyl6dje.mjs +1 -1
  13. package/.output/server/chunks/build/Tree-DUhXKd8y.mjs +1 -1
  14. package/.output/server/chunks/build/_uuid_-DfJaumTE.mjs +1 -1
  15. package/.output/server/chunks/build/cookie-C_iulBi6.mjs +1 -1
  16. package/.output/server/chunks/build/dashboard-CiVTAZuF.mjs +1 -1
  17. package/.output/server/chunks/build/docs-ChGwOPg5.mjs +1 -1
  18. package/.output/server/chunks/build/fetch-BB7Qzkwe.mjs +1 -1
  19. package/.output/server/chunks/build/index-CxDxc9fm.mjs +1 -1
  20. package/.output/server/chunks/build/server.mjs +1 -1
  21. package/.output/server/chunks/build/settings-B2KXoGcz.mjs +1 -1
  22. package/.output/server/chunks/build/styles.mjs +4 -4
  23. package/.output/server/chunks/build/useNotificationBus-BG5JNQf1.mjs +1 -1
  24. package/.output/server/chunks/build/view-n2sYa4Zh.mjs +1 -1
  25. package/.output/server/chunks/nitro/nitro.mjs +220 -216
  26. package/.output/server/chunks/routes/_ws/chat.mjs +1 -1
  27. package/.output/server/chunks/routes/api/bridges/_id/contacts.get.mjs +84 -0
  28. package/.output/server/chunks/routes/api/bridges/_id/contacts.get.mjs.map +1 -0
  29. package/.output/server/chunks/routes/api/bridges/_id/send.post.mjs +70 -0
  30. package/.output/server/chunks/routes/api/bridges/_id/send.post.mjs.map +1 -0
  31. package/.output/server/chunks/routes/api/bridges/context.get.mjs +19 -18
  32. package/.output/server/chunks/routes/api/bridges/context.get.mjs.map +1 -1
  33. package/.output/server/chunks/routes/api/conversations/_id_.delete.mjs +1 -1
  34. package/.output/server/chunks/routes/api/conversations/_id_.get.mjs +1 -1
  35. package/.output/server/chunks/routes/api/dashboard/overview.get.mjs +1 -1
  36. package/.output/server/chunks/routes/api/documents/_id/public.get.mjs +1 -1
  37. package/.output/server/chunks/routes/api/documents/_id/restore.post.mjs +1 -1
  38. package/.output/server/chunks/routes/api/documents/by-path.post.mjs +1 -1
  39. package/.output/server/chunks/routes/api/documents/index.delete.mjs +1 -1
  40. package/.output/server/chunks/routes/api/documents/index.put.mjs +1 -1
  41. package/.output/server/chunks/routes/api/fs/delete.post.mjs +1 -1
  42. package/.output/server/chunks/routes/api/fs/list.get.mjs +1 -1
  43. package/.output/server/chunks/routes/api/fs/mkdir.post.mjs +1 -1
  44. package/.output/server/chunks/routes/api/fs/move.post.mjs +1 -1
  45. package/.output/server/chunks/routes/api/fs/read.post.mjs +1 -1
  46. package/.output/server/chunks/routes/api/fs/rename.post.mjs +1 -1
  47. package/.output/server/chunks/routes/api/fs/write.post.mjs +1 -1
  48. package/.output/server/chunks/routes/api/health.get.mjs +1 -1
  49. package/.output/server/chunks/routes/api/home.get.mjs +1 -1
  50. package/.output/server/chunks/routes/api/hooks/index.get.mjs +1 -1
  51. package/.output/server/chunks/routes/api/hooks/index.post.mjs +1 -1
  52. package/.output/server/chunks/routes/api/hooks/stats.get.mjs +1 -1
  53. package/.output/server/chunks/routes/api/index.get10.mjs +1 -1
  54. package/.output/server/chunks/routes/api/index.get3.mjs +1 -1
  55. package/.output/server/chunks/routes/api/index.get4.mjs +1 -1
  56. package/.output/server/chunks/routes/api/index.get5.mjs +1 -1
  57. package/.output/server/chunks/routes/api/index.get6.mjs +1 -1
  58. package/.output/server/chunks/routes/api/index.get7.mjs +1 -1
  59. package/.output/server/chunks/routes/api/index.get8.mjs +1 -1
  60. package/.output/server/chunks/routes/api/index.get9.mjs +1 -1
  61. package/.output/server/chunks/routes/api/index.post3.mjs +1 -1
  62. package/.output/server/chunks/routes/api/index.post4.mjs +1 -1
  63. package/.output/server/chunks/routes/api/index.post5.mjs +1 -1
  64. package/.output/server/chunks/routes/api/index.put.mjs +1 -1
  65. package/.output/server/chunks/routes/api/memory/_id_.delete.mjs +1 -1
  66. package/.output/server/chunks/routes/api/memory/context.get.mjs +1 -1
  67. package/.output/server/chunks/routes/api/memory/extract.post.mjs +1 -1
  68. package/.output/server/chunks/routes/api/memory/search.get.mjs +1 -1
  69. package/.output/server/chunks/routes/api/memory/store.post.mjs +1 -1
  70. package/.output/server/chunks/routes/api/projects/index.delete.mjs +1 -1
  71. package/.output/server/chunks/routes/api/projects/index.get.mjs +1 -1
  72. package/.output/server/chunks/routes/api/projects/index.put.mjs +1 -1
  73. package/.output/server/chunks/routes/api/secrets/_key_.delete.mjs +1 -1
  74. package/.output/server/chunks/routes/api/secrets/_key_.get.mjs +1 -1
  75. package/.output/server/chunks/routes/api/secrets/_key_.put.mjs +1 -1
  76. package/.output/server/chunks/routes/api/skills/_name/delete.post.mjs +1 -1
  77. package/.output/server/chunks/routes/api/skills/_name/export.get.mjs +1 -1
  78. package/.output/server/chunks/routes/api/skills/_name/files/create.post.mjs +1 -1
  79. package/.output/server/chunks/routes/api/skills/_name/files/delete.post.mjs +1 -1
  80. package/.output/server/chunks/routes/api/skills/_name/files/read.post.mjs +1 -1
  81. package/.output/server/chunks/routes/api/skills/_name/files/write.post.mjs +1 -1
  82. package/.output/server/chunks/routes/api/skills/_name/index.get.mjs +1 -1
  83. package/.output/server/chunks/routes/api/skills/_name/rename.post.mjs +1 -1
  84. package/.output/server/chunks/routes/api/skills/_name/toggle.post.mjs +1 -1
  85. package/.output/server/chunks/routes/api/skills/create.post.mjs +1 -1
  86. package/.output/server/chunks/routes/api/skills/generate.post.mjs +1 -1
  87. package/.output/server/chunks/routes/api/skills/import.post.mjs +1 -1
  88. package/.output/server/chunks/routes/api/skills/index.get.mjs +1 -1
  89. package/.output/server/chunks/routes/api/skills/index.get2.mjs +1 -1
  90. package/.output/server/chunks/routes/api/skills/library/check-updates.get.mjs +1 -1
  91. package/.output/server/chunks/routes/api/skills/library/install.post.mjs +1 -1
  92. package/.output/server/chunks/routes/api/tasks/_id/restore.post.mjs +1 -1
  93. package/.output/server/chunks/routes/api/tasks/index.delete.mjs +1 -1
  94. package/.output/server/chunks/routes/api/tasks/index.put.mjs +1 -1
  95. package/.output/server/chunks/routes/api/tasks/tags.get.mjs +1 -1
  96. package/.output/server/chunks/routes/api/usage/stats.get.mjs +1 -1
  97. package/.output/server/chunks/routes/api/user/email.patch.mjs +1 -1
  98. package/.output/server/chunks/routes/api/webhooks/bluebubbles.post.mjs +1 -1
  99. package/.output/server/chunks/routes/api/webhooks/telegram.post.mjs +1 -1
  100. package/.output/server/chunks/routes/notifications.mjs +1 -1
  101. package/.output/server/chunks/routes/renderer.mjs +1 -1
  102. package/.output/server/chunks/routes/terminal.mjs +1 -1
  103. package/.output/server/index.mjs +1 -1
  104. package/.output/server/package.json +1 -1
  105. package/Claude/skills/bridge/SKILL.md +25 -1
  106. package/Claude/skills/bridge/bridge.py +64 -0
  107. package/package.json +1 -1
  108. package/server/api/bridges/[id]/contacts.get.ts +57 -0
  109. package/server/api/bridges/[id]/send.post.ts +40 -0
  110. package/server/api/bridges/context.get.ts +19 -18
  111. package/server/bridge/responder.ts +3 -3
  112. package/.output/public/_nuxt/builds/meta/515be38f-7222-4e4b-80cb-cef7594b1834.json +0 -1
@@ -1,4 +1,4 @@
1
- import { a6 as defineWebSocketHandler, a as getDb, v as conversations, a7 as chatSessionManager, w as conversationMessages, a0 as logTokenUsage } from '../../nitro/nitro.mjs';
1
+ import { a8 as defineWebSocketHandler, a as getDb, x as conversations, a9 as chatSessionManager, y as conversationMessages, a2 as logTokenUsage } from '../../nitro/nitro.mjs';
2
2
  import { randomUUID } from 'crypto';
3
3
  import { eq } from 'drizzle-orm';
4
4
  import '@anthropic-ai/claude-agent-sdk';
@@ -0,0 +1,84 @@
1
+ import { d as defineEventHandler, r as requireDb, g as getRouterParam, c as createError, a as getDb, o as bridges, i as getQuery, v as bridgeMessages } from '../../../../nitro/nitro.mjs';
2
+ import { eq, isNotNull, or, sql, max, count, and, desc } from 'drizzle-orm';
3
+ import '@anthropic-ai/claude-agent-sdk';
4
+ import 'module';
5
+ import 'path';
6
+ import 'os';
7
+ import 'node:http';
8
+ import 'node:https';
9
+ import 'node:crypto';
10
+ import 'stream';
11
+ import 'events';
12
+ import 'http';
13
+ import 'crypto';
14
+ import 'buffer';
15
+ import 'zlib';
16
+ import 'https';
17
+ import 'net';
18
+ import 'tls';
19
+ import 'url';
20
+ import 'node:events';
21
+ import 'node:buffer';
22
+ import 'node:fs';
23
+ import 'node:path';
24
+ import 'fs';
25
+ import 'drizzle-orm/postgres-js/migrator';
26
+ import 'drizzle-orm/postgres-js';
27
+ import 'postgres';
28
+ import 'drizzle-orm/pg-core';
29
+ import 'better-auth';
30
+ import 'better-auth/adapters/drizzle';
31
+ import 'chokidar';
32
+ import 'fs/promises';
33
+ import 'gray-matter';
34
+ import 'cron';
35
+ import 'child_process';
36
+ import 'util';
37
+ import 'node:url';
38
+ import '@iconify/utils';
39
+ import 'consola';
40
+
41
+ const contacts_get = defineEventHandler(async (event) => {
42
+ var _a;
43
+ requireDb();
44
+ const id = getRouterParam(event, "id");
45
+ if (!id)
46
+ throw createError({ statusCode: 400, message: "Bridge ID is required" });
47
+ const db = getDb();
48
+ const bridge = await db.query.bridges.findFirst({
49
+ where: eq(bridges.id, id)
50
+ });
51
+ if (!bridge)
52
+ throw createError({ statusCode: 404, message: "Bridge not found" });
53
+ const query = getQuery(event);
54
+ const q = (_a = query.q) == null ? void 0 : _a.trim();
55
+ const limit = Math.min(parseInt(query.limit) || 50, 200);
56
+ const conditions = [
57
+ eq(bridgeMessages.bridgeId, id),
58
+ eq(bridgeMessages.direction, "inbound"),
59
+ isNotNull(bridgeMessages.sender)
60
+ ];
61
+ if (q) {
62
+ conditions.push(
63
+ or(
64
+ sql`${bridgeMessages.sender} ILIKE ${`%${q}%`}`,
65
+ sql`${bridgeMessages.senderName} ILIKE ${`%${q}%`}`
66
+ )
67
+ );
68
+ }
69
+ const contacts = await db.select({
70
+ sender: bridgeMessages.sender,
71
+ senderName: bridgeMessages.senderName,
72
+ platform: bridgeMessages.platform,
73
+ messageCount: count(),
74
+ lastMessageAt: max(bridgeMessages.createdAt)
75
+ }).from(bridgeMessages).where(and(...conditions)).groupBy(
76
+ bridgeMessages.sender,
77
+ bridgeMessages.senderName,
78
+ bridgeMessages.platform
79
+ ).orderBy(desc(max(bridgeMessages.createdAt))).limit(limit);
80
+ return { data: contacts };
81
+ });
82
+
83
+ export { contacts_get as default };
84
+ //# sourceMappingURL=contacts.get.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contacts.get.mjs","sources":["../../../../../../../server/api/bridges/[id]/contacts.get.ts"],"names":["schema.bridges","schema.bridgeMessages"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,qBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;;AACA,EAAA,SAAA,CAAA,CAAA;AAEA,EAAA,MAAA,EAAA,GAAA,cAAA,CAAA,KAAA,EAAA,IAAA,CAAA;AACA,EAAA,IAAA,CAAA,EAAA;AACA,IAAA,MAAA,YAAA,EAAA,UAAA,EAAA,GAAA,EAAA,OAAA,EAAA,yBAAA,CAAA;AAEA,EAAA,MAAA,KAAA,KAAA,EAAA;AACA,EAAA,MAAA,MAAA,GAAA,MAAA,EAAA,CAAA,KAAA,CAAA,QAAA,SAAA,CAAA;AAAA,IACA,KAAA,EAAA,EAAA,CAAAA,OAAA,CAAA,IAAA,EAAA;AAAA,GACA,CAAA;AAEA,EAAA,IAAA,CAAA,MAAA;AACA,IAAA,MAAA,YAAA,EAAA,UAAA,EAAA,GAAA,EAAA,OAAA,EAAA,oBAAA,CAAA;AAEA,EAAA,MAAA,KAAA,GAAA,SAAA,KAAA,CAAA;AACA,EAAA,MAAA,CAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAA,CAAA,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,EAAA;AACA,EAAA,MAAA,KAAA,GAAA,KAAA,GAAA,CAAA,QAAA,CAAA,MAAA,KAAA,CAAA,IAAA,IAAA,GAAA,CAAA;AAEA,EAAA,MAAA,UAAA,GAAA;AAAA,IACA,EAAA,CAAAC,cAAA,CAAA,QAAA,EAAA,EAAA,CAAA;AAAA,IACA,EAAA,CAAAA,cAAA,CAAA,SAAA,EAAA,SAAA,CAAA;AAAA,IACA,SAAA,CAAAA,cAAA,CAAA,MAAA;AAAA,GACA;AAEA,EAAA,IAAA,CAAA,EAAA;AACA,IAAA,UAAA,CAAA,IAAA;AAAA,MACA,EAAA;AAAA,QACA,MAAAA,cAAA,CAAA,MAAA,CAAA,OAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QACA,MAAAA,cAAA,CAAA,UAAA,CAAA,OAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA;AACA,KACA;AAAA,EACA;AAEA,EAAA,MAAA,QAAA,GAAA,MAAA,EAAA,CAAA,MAAA,CAAA;AAAA,IACA,MAAA,EAAAA,cAAA,CAAA,MAAA;AAAA,IACA,UAAA,EAAAA,cAAA,CAAA,UAAA;AAAA,IACA,QAAA,EAAAA,cAAA,CAAA,QAAA;AAAA,IACA,cAAA,KAAA,EAAA;AAAA,IACA,aAAA,EAAA,GAAA,CAAAA,cAAA,CAAA,SAAA;AAAA,GACA,CAAA,CACA,IAAA,CAAAA,cAAA,CAAA,CACA,KAAA,CAAA,GAAA,CAAA,GAAA,UAAA,CAAA,CAAA,CACA,OAAA;AAAA,IACAA,cAAA,CAAA,MAAA;AAAA,IACAA,cAAA,CAAA,UAAA;AAAA,IACAA,cAAA,CAAA;AAAA,GACA,CACA,OAAA,CAAA,IAAA,CAAA,GAAA,CAAAA,cAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CACA,KAAA,CAAA,KAAA,CAAA;AAEA,EAAA,OAAA,EAAA,MAAA,QAAA,EAAA;AACA,CAAA,CAAA;;;;"}
@@ -0,0 +1,70 @@
1
+ import { d as defineEventHandler, r as requireDb, g as getRouterParam, c as createError, a as getDb, o as bridges, e as readBody, w as sendOutboundMessage } from '../../../../nitro/nitro.mjs';
2
+ import { eq } from 'drizzle-orm';
3
+ import '@anthropic-ai/claude-agent-sdk';
4
+ import 'module';
5
+ import 'path';
6
+ import 'os';
7
+ import 'node:http';
8
+ import 'node:https';
9
+ import 'node:crypto';
10
+ import 'stream';
11
+ import 'events';
12
+ import 'http';
13
+ import 'crypto';
14
+ import 'buffer';
15
+ import 'zlib';
16
+ import 'https';
17
+ import 'net';
18
+ import 'tls';
19
+ import 'url';
20
+ import 'node:events';
21
+ import 'node:buffer';
22
+ import 'node:fs';
23
+ import 'node:path';
24
+ import 'fs';
25
+ import 'drizzle-orm/postgres-js/migrator';
26
+ import 'drizzle-orm/postgres-js';
27
+ import 'postgres';
28
+ import 'drizzle-orm/pg-core';
29
+ import 'better-auth';
30
+ import 'better-auth/adapters/drizzle';
31
+ import 'chokidar';
32
+ import 'fs/promises';
33
+ import 'gray-matter';
34
+ import 'cron';
35
+ import 'child_process';
36
+ import 'util';
37
+ import 'node:url';
38
+ import '@iconify/utils';
39
+ import 'consola';
40
+
41
+ const send_post = defineEventHandler(async (event) => {
42
+ requireDb();
43
+ const id = getRouterParam(event, "id");
44
+ if (!id)
45
+ throw createError({ statusCode: 400, message: "Bridge ID is required" });
46
+ const db = getDb();
47
+ const bridge = await db.query.bridges.findFirst({
48
+ where: eq(bridges.id, id)
49
+ });
50
+ if (!bridge)
51
+ throw createError({ statusCode: 404, message: "Bridge not found" });
52
+ if (!bridge.enabled)
53
+ throw createError({ statusCode: 400, message: "Bridge is not enabled" });
54
+ const body = await readBody(event);
55
+ if (!(body == null ? void 0 : body.recipient) || !(body == null ? void 0 : body.text))
56
+ throw createError({ statusCode: 400, message: "recipient and text are required" });
57
+ const result = await sendOutboundMessage({
58
+ bridgeId: id,
59
+ platform: bridge.platform,
60
+ recipient: body.recipient,
61
+ text: body.text,
62
+ replyToMessageId: body.replyToMessageId
63
+ });
64
+ if (!result.success)
65
+ throw createError({ statusCode: 502, message: result.error || "Failed to send message" });
66
+ return { data: result };
67
+ });
68
+
69
+ export { send_post as default };
70
+ //# sourceMappingURL=send.post.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send.post.mjs","sources":["../../../../../../../server/api/bridges/[id]/send.post.ts"],"names":["schema.bridges"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,kBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,SAAA,CAAA,CAAA;AAEA,EAAA,MAAA,EAAA,GAAA,cAAA,CAAA,KAAA,EAAA,IAAA,CAAA;AACA,EAAA,IAAA,CAAA,EAAA;AACA,IAAA,MAAA,YAAA,EAAA,UAAA,EAAA,GAAA,EAAA,OAAA,EAAA,yBAAA,CAAA;AAEA,EAAA,MAAA,KAAA,KAAA,EAAA;AACA,EAAA,MAAA,MAAA,GAAA,MAAA,EAAA,CAAA,KAAA,CAAA,QAAA,SAAA,CAAA;AAAA,IACA,KAAA,EAAA,EAAA,CAAAA,OAAA,CAAA,IAAA,EAAA;AAAA,GACA,CAAA;AAEA,EAAA,IAAA,CAAA,MAAA;AACA,IAAA,MAAA,YAAA,EAAA,UAAA,EAAA,GAAA,EAAA,OAAA,EAAA,oBAAA,CAAA;AACA,EAAA,IAAA,CAAA,MAAA,CAAA,OAAA;AACA,IAAA,MAAA,YAAA,EAAA,UAAA,EAAA,GAAA,EAAA,OAAA,EAAA,yBAAA,CAAA;AAEA,EAAA,MAAA,IAAA,GAAA,MAAA,QAAA,CAAA,KAAA,CAAA;AAEA,EAAA,IAAA,EAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,SAAA,CAAA,IAAA,EAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAA,IAAA,CAAA;AACA,IAAA,MAAA,YAAA,EAAA,UAAA,EAAA,GAAA,EAAA,OAAA,EAAA,mCAAA,CAAA;AAEA,EAAA,MAAA,MAAA,GAAA,MAAA,mBAAA,CAAA;AAAA,IACA,QAAA,EAAA,EAAA;AAAA,IACA,UAAA,MAAA,CAAA,QAAA;AAAA,IACA,WAAA,IAAA,CAAA,SAAA;AAAA,IACA,MAAA,IAAA,CAAA,IAAA;AAAA,IACA,kBAAA,IAAA,CAAA;AAAA,GACA,CAAA;AAEA,EAAA,IAAA,CAAA,MAAA,CAAA,OAAA;AACA,IAAA,MAAA,WAAA,CAAA,EAAA,UAAA,EAAA,GAAA,EAAA,SAAA,MAAA,CAAA,KAAA,IAAA,0BAAA,CAAA;AAEA,EAAA,OAAA,EAAA,MAAA,MAAA,EAAA;AACA,CAAA,CAAA;;;;"}
@@ -46,19 +46,21 @@ const platformLabels = {
46
46
  email: "Email"
47
47
  };
48
48
  const allPlatforms = ["telegram", "discord", "imessage", "google", "email"];
49
- function formatTelegramContext(config) {
49
+ function formatTelegramContext(config, bridgeId) {
50
50
  const lines = [
51
51
  "You can send and receive Telegram messages.",
52
- "- Incoming messages from Telegram users are routed to you as conversations.",
53
- "- To send a message, use the bridge API or /bridge skill."
52
+ "- Incoming messages are routed to you automatically.",
53
+ `- To send a message: use \`/bridge\` skill \u2192 \`contacts ${bridgeId}\` to find the recipient, then \`send ${bridgeId} -r <ID> -t "message"\``,
54
+ `- To list contacts: \`/bridge\` skill \u2192 \`contacts ${bridgeId}\``
54
55
  ];
55
56
  if (config == null ? void 0 : config.botUsername)
56
57
  lines.push(`- Bot username: @${config.botUsername}`);
57
58
  return lines.join("\n");
58
59
  }
59
- function formatDiscordContext(config) {
60
+ function formatDiscordContext(config, bridgeId) {
60
61
  const lines = [
61
- "You can send and receive Discord messages."
62
+ "You can send and receive Discord messages.",
63
+ `- To send: \`/bridge\` skill \u2192 \`contacts ${bridgeId}\` to find recipient, then \`send ${bridgeId} -r <ID> -t "message"\``
62
64
  ];
63
65
  const mode = (config == null ? void 0 : config.listenMode) || "mentions";
64
66
  if (mode === "dm")
@@ -69,17 +71,16 @@ function formatDiscordContext(config) {
69
71
  lines.push("- Listening for all messages in the configured channel.");
70
72
  return lines.join("\n");
71
73
  }
72
- function formatIMessageContext(config) {
74
+ function formatIMessageContext(config, bridgeId) {
73
75
  const strategy = (config == null ? void 0 : config.strategy) || "imsg";
74
76
  const lines = [
75
77
  `You can send and receive iMessages (via ${strategy === "imsg" ? "local imsg CLI" : "remote BlueBubbles"}).`,
76
- "- Incoming iMessages are routed to you as conversations."
78
+ "- Incoming iMessages are routed to you automatically."
77
79
  ];
78
- if (strategy === "imsg") {
80
+ if (strategy === "imsg")
79
81
  lines.push('- Send via: `imsg send "<number>" "<message>"`');
80
- } else {
81
- lines.push("- Send via the bridge API (BlueBubbles REST).");
82
- }
82
+ else
83
+ lines.push(`- To send: \`/bridge\` skill \u2192 \`contacts ${bridgeId}\` to find recipient, then \`send ${bridgeId} -r <ID> -t "message"\``);
83
84
  return lines.join("\n");
84
85
  }
85
86
  function formatGoogleContext(config) {
@@ -105,11 +106,11 @@ Restricted (not enabled): ${disabled.join(", ")}`);
105
106
  Account: ${config.account}`);
106
107
  return lines.join("\n");
107
108
  }
108
- function formatEmailContext() {
109
+ function formatEmailContext(bridgeId) {
109
110
  return [
110
111
  "You can send and receive email via IMAP/SMTP.",
111
- "- Incoming emails are routed to you as conversations.",
112
- "- Send via the bridge API."
112
+ "- Incoming emails are routed to you automatically.",
113
+ `- To send: \`/bridge\` skill \u2192 \`contacts ${bridgeId}\` to find recipient, then \`send ${bridgeId} -r <ID> -t "message"\``
113
114
  ].join("\n");
114
115
  }
115
116
  const context_get = defineEventHandler(async (event) => {
@@ -126,19 +127,19 @@ const context_get = defineEventHandler(async (event) => {
126
127
  let details = "";
127
128
  switch (bridge.platform) {
128
129
  case "telegram":
129
- details = formatTelegramContext(config);
130
+ details = formatTelegramContext(config, bridge.id);
130
131
  break;
131
132
  case "discord":
132
- details = formatDiscordContext(config);
133
+ details = formatDiscordContext(config, bridge.id);
133
134
  break;
134
135
  case "imessage":
135
- details = formatIMessageContext(config);
136
+ details = formatIMessageContext(config, bridge.id);
136
137
  break;
137
138
  case "google":
138
139
  details = formatGoogleContext(config);
139
140
  break;
140
141
  case "email":
141
- details = formatEmailContext();
142
+ details = formatEmailContext(bridge.id);
142
143
  break;
143
144
  }
144
145
  const status = bridge.healthStatus === "connected" ? "Connected" : bridge.healthStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"context.get.mjs","sources":["../../../../../../server/api/bridges/context.get.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.get.mjs","sources":["../../../../../../server/api/bridges/context.get.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, g as getRouterParam, a as getDb, v as conversations, c as createError, n as notifyResourceChange } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, g as getRouterParam, a as getDb, x as conversations, c as createError, n as notifyResourceChange } from '../../../nitro/nitro.mjs';
2
2
  import { eq } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, g as getRouterParam, a as getDb, v as conversations, c as createError, w as conversationMessages } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, g as getRouterParam, a as getDb, x as conversations, c as createError, y as conversationMessages } from '../../../nitro/nitro.mjs';
2
2
  import { eq } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, a as getDb, x as tasks, y as projects, v as conversations, z as documents, A as tokenUsage } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, a as getDb, z as tasks, A as projects, x as conversations, B as documents, C as tokenUsage } from '../../../nitro/nitro.mjs';
2
2
  import { sql, and, isNull, inArray, eq, ne, desc, gte } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, g as getRouterParam, c as createError, a as getDb, z as documents } from '../../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, g as getRouterParam, c as createError, a as getDb, B as documents } from '../../../../nitro/nitro.mjs';
2
2
  import { eq } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, g as getRouterParam, c as createError, a as getDb, z as documents, B as validatePath, D as stringifyFrontmatter, n as notifyResourceChange } from '../../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, g as getRouterParam, c as createError, a as getDb, B as documents, D as validatePath, F as stringifyFrontmatter, n as notifyResourceChange } from '../../../../nitro/nitro.mjs';
2
2
  import { eq } from 'drizzle-orm';
3
3
  import { mkdir, writeFile } from 'fs/promises';
4
4
  import { dirname } from 'path';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, e as readBody, c as createError, B as validatePath, a as getDb, z as documents, G as getFileType, H as getMimeType, E as computeContentHash, C as parseFrontmatter, F as extractTitle } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, e as readBody, c as createError, D as validatePath, a as getDb, B as documents, I as getFileType, J as getMimeType, G as computeContentHash, E as parseFrontmatter, H as extractTitle } from '../../../nitro/nitro.mjs';
2
2
  import { eq } from 'drizzle-orm';
3
3
  import { readFile } from 'fs/promises';
4
4
  import { basename } from 'path';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, g as getRouterParam, c as createError, a as getDb, z as documents, B as validatePath, n as notifyResourceChange } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, g as getRouterParam, c as createError, a as getDb, B as documents, D as validatePath, n as notifyResourceChange } from '../../../nitro/nitro.mjs';
2
2
  import { eq } from 'drizzle-orm';
3
3
  import { stat, rm } from 'fs/promises';
4
4
  import '@anthropic-ai/claude-agent-sdk';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, g as getRouterParam, c as createError, e as readBody, a as getDb, z as documents, B as validatePath, C as parseFrontmatter, D as stringifyFrontmatter, E as computeContentHash, F as extractTitle, n as notifyResourceChange } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, g as getRouterParam, c as createError, e as readBody, a as getDb, B as documents, D as validatePath, E as parseFrontmatter, F as stringifyFrontmatter, G as computeContentHash, H as extractTitle, n as notifyResourceChange } from '../../../nitro/nitro.mjs';
2
2
  import { eq } from 'drizzle-orm';
3
3
  import { readFile, writeFile } from 'fs/promises';
4
4
  import { basename } from 'path';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, e as readBody, c as createError, B as validatePath } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, e as readBody, c as createError, D as validatePath } from '../../../nitro/nitro.mjs';
2
2
  import { stat, rm } from 'fs/promises';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, i as getQuery, B as validatePath, I as toRelativePath, c as createError } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, i as getQuery, D as validatePath, K as toRelativePath, c as createError } from '../../../nitro/nitro.mjs';
2
2
  import { readdir, stat } from 'fs/promises';
3
3
  import { join } from 'path';
4
4
  import '@anthropic-ai/claude-agent-sdk';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, e as readBody, c as createError, B as validatePath } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, e as readBody, c as createError, D as validatePath } from '../../../nitro/nitro.mjs';
2
2
  import { stat, mkdir } from 'fs/promises';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, e as readBody, c as createError, B as validatePath, I as toRelativePath } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, e as readBody, c as createError, D as validatePath, K as toRelativePath } from '../../../nitro/nitro.mjs';
2
2
  import { stat, rename } from 'fs/promises';
3
3
  import { join, basename } from 'path';
4
4
  import '@anthropic-ai/claude-agent-sdk';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, e as readBody, c as createError, B as validatePath } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, e as readBody, c as createError, D as validatePath } from '../../../nitro/nitro.mjs';
2
2
  import { readFile, stat } from 'fs/promises';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, e as readBody, c as createError, B as validatePath } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, e as readBody, c as createError, D as validatePath } from '../../../nitro/nitro.mjs';
2
2
  import { stat, rename } from 'fs/promises';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, e as readBody, c as createError, B as validatePath } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, e as readBody, c as createError, D as validatePath } from '../../../nitro/nitro.mjs';
2
2
  import { stat, mkdir, writeFile } from 'fs/promises';
3
3
  import { dirname } from 'path';
4
4
  import '@anthropic-ai/claude-agent-sdk';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, J as useRuntimeConfig, K as getDbState, L as isDbAvailable, a as getDb } from '../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, L as useRuntimeConfig, M as getDbState, N as isDbAvailable, a as getDb } from '../../nitro/nitro.mjs';
2
2
  import { sql } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, M as getVaultRoot } from '../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, O as getVaultRoot } from '../../nitro/nitro.mjs';
2
2
  import { readFile } from 'fs/promises';
3
3
  import { join } from 'path';
4
4
  import '@anthropic-ai/claude-agent-sdk';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, i as getQuery, a as getDb, N as hookEvents } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, i as getQuery, a as getDb, P as hookEvents } from '../../../nitro/nitro.mjs';
2
2
  import { inArray, eq, gte, and, desc } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, e as readBody, c as createError, a as getDb, N as hookEvents, n as notifyResourceChange } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, e as readBody, c as createError, a as getDb, P as hookEvents, n as notifyResourceChange } from '../../../nitro/nitro.mjs';
2
2
  import '@anthropic-ai/claude-agent-sdk';
3
3
  import 'module';
4
4
  import 'path';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, i as getQuery, a as getDb, N as hookEvents } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, i as getQuery, a as getDb, P as hookEvents } from '../../../nitro/nitro.mjs';
2
2
  import { gte } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, i as getQuery, a as getDb, A as tokenUsage } from '../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, i as getQuery, a as getDb, C as tokenUsage } from '../../nitro/nitro.mjs';
2
2
  import { gte, eq, ilike, and, desc } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, a as getDb, v as conversations } from '../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, a as getDb, x as conversations } from '../../nitro/nitro.mjs';
2
2
  import { desc } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, i as getQuery, a as getDb, z as documents } from '../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, i as getQuery, a as getDb, B as documents } from '../../nitro/nitro.mjs';
2
2
  import { isNull, eq, or, ilike, and } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, i as getQuery, a as getDb, y as projects } from '../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, i as getQuery, a as getDb, A as projects } from '../../nitro/nitro.mjs';
2
2
  import { isNull } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, a as getDb, P as secrets } from '../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, a as getDb, R as secrets } from '../../nitro/nitro.mjs';
2
2
  import { desc } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, c as createError, a as getDb, S as userSettings, T as defaultNotificationPreferences } from '../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, c as createError, a as getDb, U as userSettings, V as defaultNotificationPreferences } from '../../nitro/nitro.mjs';
2
2
  import { eq } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, W as getSkillsDir, X as getInactiveSkillsDir, a as getDb, a2 as skillsCatalog, $ as parseSkillFrontmatter, V as isCoreSkill } from '../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, Y as getSkillsDir, Z as getInactiveSkillsDir, a as getDb, a4 as skillsCatalog, a1 as parseSkillFrontmatter, X as isCoreSkill } from '../../nitro/nitro.mjs';
2
2
  import { readdir, stat, readFile } from 'fs/promises';
3
3
  import { join } from 'path';
4
4
  import { inArray } from 'drizzle-orm';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, i as getQuery, a as getDb, x as tasks } from '../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, i as getQuery, a as getDb, z as tasks } from '../../nitro/nitro.mjs';
2
2
  import { isNull, inArray, eq, or, ilike, and } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, e as readBody, c as createError, a as getDb, y as projects, n as notifyResourceChange } from '../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, e as readBody, c as createError, a as getDb, A as projects, n as notifyResourceChange } from '../../nitro/nitro.mjs';
2
2
  import '@anthropic-ai/claude-agent-sdk';
3
3
  import 'module';
4
4
  import 'path';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, e as readBody, c as createError, a as getDb, R as encryptSecret, P as secrets, n as notifyResourceChange } from '../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, e as readBody, c as createError, a as getDb, T as encryptSecret, R as secrets, n as notifyResourceChange } from '../../nitro/nitro.mjs';
2
2
  import '@anthropic-ai/claude-agent-sdk';
3
3
  import 'module';
4
4
  import 'path';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, e as readBody, c as createError, a as getDb, x as tasks, n as notifyResourceChange } from '../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, e as readBody, c as createError, a as getDb, z as tasks, n as notifyResourceChange } from '../../nitro/nitro.mjs';
2
2
  import '@anthropic-ai/claude-agent-sdk';
3
3
  import 'module';
4
4
  import 'path';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, c as createError, e as readBody, a as getDb, S as userSettings } from '../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, c as createError, e as readBody, a as getDb, U as userSettings } from '../../nitro/nitro.mjs';
2
2
  import { eq } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, g as getRouterParam, c as createError, a as getDb, O as memoryChunks, n as notifyResourceChange } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, g as getRouterParam, c as createError, a as getDb, Q as memoryChunks, n as notifyResourceChange } from '../../../nitro/nitro.mjs';
2
2
  import { eq } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, i as getQuery, a as getDb, O as memoryChunks } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, i as getQuery, a as getDb, Q as memoryChunks } from '../../../nitro/nitro.mjs';
2
2
  import { eq, desc, sql } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { a0 as logTokenUsage, d as defineEventHandler, r as requireDb, e as readBody, a as getDb, c as createError, O as memoryChunks } from '../../../nitro/nitro.mjs';
1
+ import { a2 as logTokenUsage, d as defineEventHandler, r as requireDb, e as readBody, a as getDb, c as createError, Q as memoryChunks } from '../../../nitro/nitro.mjs';
2
2
  import { query } from '@anthropic-ai/claude-agent-sdk';
3
3
  import 'module';
4
4
  import 'path';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, i as getQuery, a as getDb, O as memoryChunks } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, i as getQuery, a as getDb, Q as memoryChunks } from '../../../nitro/nitro.mjs';
2
2
  import { eq, gte, or, ilike, and, desc, sql } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, e as readBody, a as getDb, c as createError, O as memoryChunks, n as notifyResourceChange } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, e as readBody, a as getDb, c as createError, Q as memoryChunks, n as notifyResourceChange } from '../../../nitro/nitro.mjs';
2
2
  import '@anthropic-ai/claude-agent-sdk';
3
3
  import 'module';
4
4
  import 'path';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, g as getRouterParam, c as createError, a as getDb, y as projects, n as notifyResourceChange } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, g as getRouterParam, c as createError, a as getDb, A as projects, n as notifyResourceChange } from '../../../nitro/nitro.mjs';
2
2
  import { eq } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, g as getRouterParam, c as createError, a as getDb, y as projects } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, g as getRouterParam, c as createError, a as getDb, A as projects } from '../../../nitro/nitro.mjs';
2
2
  import { eq } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, r as requireDb, g as getRouterParam, c as createError, e as readBody, a as getDb, y as projects, n as notifyResourceChange } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, r as requireDb, g as getRouterParam, c as createError, e as readBody, a as getDb, A as projects, n as notifyResourceChange } from '../../../nitro/nitro.mjs';
2
2
  import { eq } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, g as getRouterParam, c as createError, a as getDb, P as secrets, n as notifyResourceChange } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, g as getRouterParam, c as createError, a as getDb, R as secrets, n as notifyResourceChange } from '../../../nitro/nitro.mjs';
2
2
  import { eq } from 'drizzle-orm';
3
3
  import '@anthropic-ai/claude-agent-sdk';
4
4
  import 'module';
@@ -1,4 +1,4 @@
1
- import { d as defineEventHandler, g as getRouterParam, c as createError, a as getDb, Q as decryptSecret } from '../../../nitro/nitro.mjs';
1
+ import { d as defineEventHandler, g as getRouterParam, c as createError, a as getDb, S as decryptSecret } from '../../../nitro/nitro.mjs';
2
2
  import '@anthropic-ai/claude-agent-sdk';
3
3
  import 'module';
4
4
  import 'path';