@amodalai/runtime 0.2.1 → 0.2.2

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 (142) hide show
  1. package/dist/src/agent/local-server.js +44 -1
  2. package/dist/src/agent/local-server.js.map +1 -1
  3. package/dist/src/agent/local-server.test.js +0 -3
  4. package/dist/src/agent/local-server.test.js.map +1 -1
  5. package/dist/src/agent/loop-types.d.ts +0 -5
  6. package/dist/src/agent/loop.test.js +0 -2
  7. package/dist/src/agent/loop.test.js.map +1 -1
  8. package/dist/src/agent/page-builder.js +20 -17
  9. package/dist/src/agent/page-builder.js.map +1 -1
  10. package/dist/src/agent/proactive/proactive-runner.test.js +0 -1
  11. package/dist/src/agent/proactive/proactive-runner.test.js.map +1 -1
  12. package/dist/src/agent/routes/admin-chat.js +0 -1
  13. package/dist/src/agent/routes/admin-chat.js.map +1 -1
  14. package/dist/src/agent/routes/files.js +46 -52
  15. package/dist/src/agent/routes/files.js.map +1 -1
  16. package/dist/src/agent/routes/inspect.js +4 -6
  17. package/dist/src/agent/routes/inspect.js.map +1 -1
  18. package/dist/src/agent/routes/task.test.js +0 -1
  19. package/dist/src/agent/routes/task.test.js.map +1 -1
  20. package/dist/src/agent/snapshot-server.js +37 -1
  21. package/dist/src/agent/snapshot-server.js.map +1 -1
  22. package/dist/src/agent/states/dispatching.js +0 -1
  23. package/dist/src/agent/states/dispatching.js.map +1 -1
  24. package/dist/src/agent/tool-executor-local.test.js +0 -1
  25. package/dist/src/agent/tool-executor-local.test.js.map +1 -1
  26. package/dist/src/agent/tool-harness-template.js +0 -1
  27. package/dist/src/agent/tool-harness-template.js.map +1 -1
  28. package/dist/src/api/create-agent.js +1 -2
  29. package/dist/src/api/create-agent.js.map +1 -1
  30. package/dist/src/api/types.d.ts +1 -3
  31. package/dist/src/channels/bootstrap.d.ts +59 -0
  32. package/dist/src/channels/bootstrap.js +84 -0
  33. package/dist/src/channels/bootstrap.js.map +1 -0
  34. package/dist/src/channels/channel-session-mapper.d.ts +42 -0
  35. package/dist/src/channels/channel-session-mapper.js +91 -0
  36. package/dist/src/channels/channel-session-mapper.js.map +1 -0
  37. package/dist/src/channels/dedup-cache.d.ts +17 -0
  38. package/dist/src/channels/dedup-cache.js +51 -0
  39. package/dist/src/channels/dedup-cache.js.map +1 -0
  40. package/dist/src/{agent/user-context-fetcher.test.d.ts → channels/dedup-cache.test.d.ts} +1 -1
  41. package/dist/src/channels/dedup-cache.test.js +51 -0
  42. package/dist/src/channels/dedup-cache.test.js.map +1 -0
  43. package/dist/src/channels/errors.d.ts +28 -0
  44. package/dist/src/channels/errors.js +38 -0
  45. package/dist/src/channels/errors.js.map +1 -0
  46. package/dist/src/channels/in-memory-session-mapper.d.ts +34 -0
  47. package/dist/src/channels/in-memory-session-mapper.js +50 -0
  48. package/dist/src/channels/in-memory-session-mapper.js.map +1 -0
  49. package/dist/src/channels/plugin-loader.d.ts +20 -0
  50. package/dist/src/channels/plugin-loader.js +136 -0
  51. package/dist/src/channels/plugin-loader.js.map +1 -0
  52. package/dist/src/channels/plugin-loader.test.d.ts +6 -0
  53. package/dist/src/channels/plugin-loader.test.js +113 -0
  54. package/dist/src/channels/plugin-loader.test.js.map +1 -0
  55. package/dist/src/channels/routes.d.ts +29 -0
  56. package/dist/src/channels/routes.js +165 -0
  57. package/dist/src/channels/routes.js.map +1 -0
  58. package/dist/src/config.d.ts +0 -2
  59. package/dist/src/config.js +0 -1
  60. package/dist/src/config.js.map +1 -1
  61. package/dist/src/config.test.js +0 -2
  62. package/dist/src/config.test.js.map +1 -1
  63. package/dist/src/context/compiler.js +11 -34
  64. package/dist/src/context/compiler.js.map +1 -1
  65. package/dist/src/context/compiler.test.js +7 -60
  66. package/dist/src/context/compiler.test.js.map +1 -1
  67. package/dist/src/context/types.d.ts +0 -4
  68. package/dist/src/index.d.ts +13 -0
  69. package/dist/src/index.js +10 -0
  70. package/dist/src/index.js.map +1 -1
  71. package/dist/src/routes/ai-stream.d.ts +3 -4
  72. package/dist/src/routes/ai-stream.js +1 -2
  73. package/dist/src/routes/ai-stream.js.map +1 -1
  74. package/dist/src/routes/chat-stream.d.ts +3 -1
  75. package/dist/src/routes/chat-stream.js +1 -1
  76. package/dist/src/routes/chat-stream.js.map +1 -1
  77. package/dist/src/routes/chat.js +0 -1
  78. package/dist/src/routes/chat.js.map +1 -1
  79. package/dist/src/routes/session-resolver.d.ts +10 -2
  80. package/dist/src/routes/session-resolver.js +21 -10
  81. package/dist/src/routes/session-resolver.js.map +1 -1
  82. package/dist/src/routes/session-resolver.test.js +110 -14
  83. package/dist/src/routes/session-resolver.test.js.map +1 -1
  84. package/dist/src/server.d.ts +29 -1
  85. package/dist/src/server.js +31 -0
  86. package/dist/src/server.js.map +1 -1
  87. package/dist/src/session/drizzle-session-store.d.ts +2 -1
  88. package/dist/src/session/drizzle-session-store.js +1 -0
  89. package/dist/src/session/drizzle-session-store.js.map +1 -1
  90. package/dist/src/session/manager.js +0 -3
  91. package/dist/src/session/manager.js.map +1 -1
  92. package/dist/src/session/pglite-session-store.js +16 -0
  93. package/dist/src/session/pglite-session-store.js.map +1 -1
  94. package/dist/src/session/postgres-session-store.js +15 -0
  95. package/dist/src/session/postgres-session-store.js.map +1 -1
  96. package/dist/src/session/session-builder.d.ts +0 -3
  97. package/dist/src/session/session-builder.js +1 -5
  98. package/dist/src/session/session-builder.js.map +1 -1
  99. package/dist/src/session/session-builder.test.js +3 -6
  100. package/dist/src/session/session-builder.test.js.map +1 -1
  101. package/dist/src/session/tool-context-factory.d.ts +0 -5
  102. package/dist/src/session/tool-context-factory.js +0 -1
  103. package/dist/src/session/tool-context-factory.js.map +1 -1
  104. package/dist/src/session/tool-context-factory.test.js +1 -3
  105. package/dist/src/session/tool-context-factory.test.js.map +1 -1
  106. package/dist/src/session/types.d.ts +0 -4
  107. package/dist/src/stores/schema.d.ts +111 -0
  108. package/dist/src/stores/schema.js +15 -0
  109. package/dist/src/stores/schema.js.map +1 -1
  110. package/dist/src/tools/admin-file-tools.js +2 -2
  111. package/dist/src/tools/admin-file-tools.js.map +1 -1
  112. package/dist/src/tools/admin-file-tools.test.js +9 -7
  113. package/dist/src/tools/admin-file-tools.test.js.map +1 -1
  114. package/dist/src/tools/custom-tool-adapter.js +0 -1
  115. package/dist/src/tools/custom-tool-adapter.js.map +1 -1
  116. package/dist/src/tools/custom-tool-adapter.test.js +0 -1
  117. package/dist/src/tools/custom-tool-adapter.test.js.map +1 -1
  118. package/dist/src/tools/fetch-url-tool.test.js +0 -1
  119. package/dist/src/tools/fetch-url-tool.test.js.map +1 -1
  120. package/dist/src/tools/mcp-tool-adapter.test.js +0 -1
  121. package/dist/src/tools/mcp-tool-adapter.test.js.map +1 -1
  122. package/dist/src/tools/registry.test.js +0 -1
  123. package/dist/src/tools/registry.test.js.map +1 -1
  124. package/dist/src/tools/request-tool.test.js +0 -1
  125. package/dist/src/tools/request-tool.test.js.map +1 -1
  126. package/dist/src/tools/store-tools.test.js +0 -1
  127. package/dist/src/tools/store-tools.test.js.map +1 -1
  128. package/dist/src/tools/types.d.ts +0 -5
  129. package/dist/src/tools/web-search-tool.test.js +0 -1
  130. package/dist/src/tools/web-search-tool.test.js.map +1 -1
  131. package/dist/src/types.d.ts +0 -4
  132. package/dist/src/types.js +0 -2
  133. package/dist/src/types.js.map +1 -1
  134. package/dist/src/types.test.js +0 -3
  135. package/dist/src/types.test.js.map +1 -1
  136. package/dist/tsconfig.tsbuildinfo +1 -1
  137. package/package.json +3 -3
  138. package/dist/src/agent/user-context-fetcher.d.ts +0 -25
  139. package/dist/src/agent/user-context-fetcher.js +0 -79
  140. package/dist/src/agent/user-context-fetcher.js.map +0 -1
  141. package/dist/src/agent/user-context-fetcher.test.js +0 -121
  142. package/dist/src/agent/user-context-fetcher.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dispatching.js","sourceRoot":"","sources":["../../../../src/agent/states/dispatching.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatching.js","sourceRoot":"","sources":["../../../../src/agent/states/dispatching.ts"],"names":[],"mappings":"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"}
@@ -52,7 +52,6 @@ describe('LocalToolExecutor', () => {
52
52
  store: async () => ({ key: 'test' }),
53
53
  env: () => undefined,
54
54
  log: () => { },
55
- user: { roles: [] },
56
55
  signal: AbortSignal.timeout(10000),
57
56
  };
58
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool-executor-local.test.js","sourceRoot":"","sources":["../../../src/agent/tool-executor-local.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-executor-local.test.js","sourceRoot":"","sources":["../../../src/agent/tool-executor-local.test.ts"],"names":[],"mappings":"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"}
@@ -59,7 +59,6 @@ const ctx = {
59
59
  log(message) {
60
60
  process.stderr.write('[tool] ' + message + '\\n');
61
61
  },
62
- user: payload.user ?? {roles: []},
63
62
  signal: AbortSignal.timeout(payload.timeout ?? 30000),
64
63
  };
65
64
 
@@ -1 +1 @@
1
- {"version":3,"file":"tool-harness-template.js","sourceRoot":"","sources":["../../../src/agent/tool-harness-template.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CAAC,mBAA2B;IAClE,OAAO;;;uBAGc,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDzC,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,cAAuB;IAC/D,MAAM,KAAK,GAAG;QACZ,qBAAqB;QACrB,eAAe;KAChB,CAAC;IAEF,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"tool-harness-template.js","sourceRoot":"","sources":["../../../src/agent/tool-harness-template.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CAAC,mBAA2B;IAClE,OAAO;;;uBAGc,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDzC,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,cAAuB;IAC/D,MAAM,KAAK,GAAG;QACZ,qBAAqB;QACrB,eAAe;KAChB,CAAC;IAEF,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -74,13 +74,12 @@ export async function createAgent(config) {
74
74
  toolExecutor,
75
75
  });
76
76
  return {
77
- createSession(opts) {
77
+ createSession() {
78
78
  const session = sessionManager.create({
79
79
  provider: components.provider,
80
80
  toolRegistry: components.toolRegistry,
81
81
  permissionChecker: components.permissionChecker,
82
82
  systemPrompt: components.systemPrompt,
83
- userRoles: opts?.userRoles ?? components.userRoles,
84
83
  toolContextFactory: components.toolContextFactory,
85
84
  });
86
85
  return createAgentSession(sessionManager, session.id, components);
@@ -1 +1 @@
1
- {"version":3,"file":"create-agent.js","sourceRoot":"","sources":["../../../src/api/create-agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoBH,OAAO,EAAC,QAAQ,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,wBAAwB,EAAC,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAC,sBAAsB,EAAC,MAAM,+BAA+B,CAAC;AAErE,OAAO,EAAC,iBAAiB,EAAC,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAC,wBAAwB,EAAC,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAI1C,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAEtC,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAmB;IACnD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,YAAY,CAAC,EAAC,SAAS,EAAE,OAAO,EAAC,CAAC,CAAC;IAEnE,cAAc;IACd,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,QAAQ,CAAC,EAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAC,CAAC,CAAC;IAE7E,gBAAgB;IAChB,IAAI,YAAY,GAAwB,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC;IACpE,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACjE,MAAM,OAAO,GAAG,GAAG,MAAM,CAAC,QAAQ,qBAAqB,CAAC;QACxD,YAAY,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IAED,gBAAgB;IAChB,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnF,8DAA8D;IAC9D,IAAI,UAAU,GAAsB,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC;IAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,IAAI,CAAC;oBACjB,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC;oBAChC,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;wBAC/B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;oBACvF,CAAC,CAAC;iBACH,CAAC,CAAC;gBACH,IAAI,OAAO,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;oBAC/B,UAAU,GAAG,OAAO,CAAC;oBACrB,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAC,OAAO,EAAE,OAAO,CAAC,cAAc,EAAC,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAC,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC;gBAC7F,6DAA6D;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,MAAM,cAAc,GAAG,IAAI,wBAAwB,CAAC;QAClD,MAAM;QACN,KAAK,EAAE,MAAM,CAAC,YAAY;KAC3B,CAAC,CAAC;IACH,cAAc,CAAC,KAAK,EAAE,CAAC;IAEvB,kDAAkD;IAClD,MAAM,UAAU,GAAG,sBAAsB,CAAC;QACxC,MAAM;QACN,YAAY;QACZ,UAAU;QACV,MAAM;QACN,YAAY;KACb,CAAC,CAAC;IAEH,OAAO;QACL,aAAa,CAAC,IAAI;YAChB,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC;gBACpC,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,YAAY,EAAE,UAAU,CAAC,YAAY;gBACrC,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;gBAC/C,YAAY,EAAE,UAAU,CAAC,YAAY;gBACrC,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,UAAU,CAAC,SAAS;gBAClD,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;aAClD,CAAC,CAAC;YAEH,OAAO,kBAAkB,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACpE,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,SAAS;YAC3B,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,kBAAkB,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,eAAe;YACb,OAAO,UAAU,CAAC,YAAY,CAAC;QACjC,CAAC;QAED,SAAS;YACP,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,QAAQ;YACZ,MAAM,cAAc,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC9B,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,SAAS,kBAAkB,CACzB,cAAwC,EACxC,SAAiB,EACjB,UAA6B;IAE7B,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,YAAY,CAAC,YAAY,SAAS,aAAa,EAAE;YACzD,SAAS;YACT,OAAO,EAAE,EAAC,SAAS,EAAE,oBAAoB,EAAC;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,IAAI,EAAE,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;QAC9B,IAAI,OAAO,KAAK,OAAO,OAAO,CAAC,CAAC,CAAC;QAEjC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAe,EAAE,IAA6B;YAC1D,KAAK,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE;gBACnD,MAAM,EAAE,IAAI,EAAE,MAAM;gBACpB,gBAAgB,EAAE,UAAU,CAAC,kBAAkB;aAChD,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"create-agent.js","sourceRoot":"","sources":["../../../src/api/create-agent.ts"],"names":[],"mappings":"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"}
@@ -41,9 +41,7 @@ export interface AgentConfig {
41
41
  /** A running agent instance. */
42
42
  export interface Agent {
43
43
  /** Create a new chat session. */
44
- createSession(opts?: {
45
- userRoles?: string[];
46
- }): AgentSession;
44
+ createSession(): AgentSession;
47
45
  /** Resume an existing session by ID. Returns null if not found. */
48
46
  resumeSession(sessionId: string): Promise<AgentSession | null>;
49
47
  /** Get the agent's compiled system prompt. */
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Amodal Labs, Inc.
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ /**
7
+ * Shared channel bootstrap sequence.
8
+ *
9
+ * Used by local-server.ts, snapshot-server.ts, and available for
10
+ * hosting layers that call createServer(). Loads channel plugins,
11
+ * wires the session mapper, and creates the Express router.
12
+ */
13
+ import type { Router } from 'express';
14
+ import type { ChannelAdapter, ChannelSessionMapper } from '@amodalai/types';
15
+ import type { StandaloneSessionManager } from '../session/manager.js';
16
+ import type { SessionComponents } from '../session/session-builder.js';
17
+ import type { RuntimeEventBus } from '../events/event-bus.js';
18
+ import type { Logger } from '../logger.js';
19
+ import type { CreateChannelSession } from './channel-session-mapper.js';
20
+ /** A discovered channel from the bundle (matches AgentBundle['channels'][n]). */
21
+ interface BundleChannel {
22
+ channelType: string;
23
+ packageName: string;
24
+ packageDir: string;
25
+ config: Record<string, unknown>;
26
+ }
27
+ export interface BootstrapChannelsOptions {
28
+ /** Discovered channel plugins from the bundle. */
29
+ channels: BundleChannel[];
30
+ /** Repo path for local channel discovery + node_modules resolution. */
31
+ repoPath: string;
32
+ /** The `packages` array from amodal.json. */
33
+ packages?: string[];
34
+ /**
35
+ * Pre-wired session mapper. The caller chooses the implementation:
36
+ * - DrizzleChannelSessionMapper (local-server, hosted with DB)
37
+ * - InMemoryChannelSessionMapper (snapshot-server, testing)
38
+ */
39
+ sessionMapper: ChannelSessionMapper & {
40
+ setSessionFactory(f: CreateChannelSession): void;
41
+ };
42
+ sessionManager: StandaloneSessionManager;
43
+ /** Factory that builds session components for new channel sessions. */
44
+ buildSessionComponents: () => SessionComponents;
45
+ /** App ID for sessions created by channels (e.g. 'local'). */
46
+ appId?: string;
47
+ eventBus: RuntimeEventBus;
48
+ logger: Logger;
49
+ }
50
+ export interface BootstrapChannelsResult {
51
+ adapters: Map<string, ChannelAdapter>;
52
+ router: Router;
53
+ }
54
+ /**
55
+ * Load channel plugins, wire the session factory, and create the
56
+ * Express router. Returns null if loading fails (error is logged).
57
+ */
58
+ export declare function bootstrapChannels(opts: BootstrapChannelsOptions): Promise<BootstrapChannelsResult | null>;
59
+ export {};
@@ -0,0 +1,84 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Amodal Labs, Inc.
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { loadChannelPlugins } from './plugin-loader.js';
7
+ import { createChannelsRouter } from './routes.js';
8
+ import { MessageDedupCache } from './dedup-cache.js';
9
+ import { resolveEnvRef } from '../env-ref.js';
10
+ /**
11
+ * Load channel plugins, wire the session factory, and create the
12
+ * Express router. Returns null if loading fails (error is logged).
13
+ */
14
+ export async function bootstrapChannels(opts) {
15
+ const { channels, repoPath, sessionMapper, sessionManager, buildSessionComponents, eventBus, logger } = opts;
16
+ const appId = opts.appId ?? 'local';
17
+ if (channels.length === 0) {
18
+ return null;
19
+ }
20
+ try {
21
+ // Build and resolve env:VAR refs in channel config values
22
+ const channelsConfig = {};
23
+ for (const ch of channels) {
24
+ channelsConfig[ch.channelType] = resolveChannelConfig(ch.config);
25
+ }
26
+ // Load and validate plugins
27
+ const adapters = await loadChannelPlugins({ channelsConfig, repoPath, packages: opts.packages, logger });
28
+ logger.info('channels_loaded', { channels: [...adapters.keys()] });
29
+ // Wire session factory — creates chat sessions for channel users
30
+ sessionMapper.setSessionFactory((origin) => {
31
+ const components = buildSessionComponents();
32
+ const channelNote = `\n\n[Channel context: This user is messaging you via ${origin.channelType}. Keep responses concise and conversational. User: ${origin.channelUserDisplay ?? origin.channelUserId}.]`;
33
+ const session = sessionManager.create({
34
+ provider: components.provider,
35
+ toolRegistry: components.toolRegistry,
36
+ permissionChecker: components.permissionChecker,
37
+ systemPrompt: components.systemPrompt + channelNote,
38
+ toolContextFactory: components.toolContextFactory,
39
+ appId,
40
+ metadata: { channelOrigin: origin },
41
+ });
42
+ return { sessionId: session.id };
43
+ });
44
+ // Build the router
45
+ const router = createChannelsRouter({
46
+ adapters,
47
+ sessionMapper,
48
+ sessionManager,
49
+ dedupCache: new MessageDedupCache(),
50
+ eventBus,
51
+ logger,
52
+ });
53
+ return { adapters, router };
54
+ }
55
+ catch (err) {
56
+ logger.warn('channels_load_failed', {
57
+ error: err instanceof Error ? err.message : String(err),
58
+ hint: 'Server will start without messaging channels',
59
+ });
60
+ return null;
61
+ }
62
+ }
63
+ // ---------------------------------------------------------------------------
64
+ // Helpers
65
+ // ---------------------------------------------------------------------------
66
+ /**
67
+ * Resolve `env:VAR_NAME` references in a channel config block.
68
+ */
69
+ function resolveChannelConfig(config) {
70
+ const resolved = {};
71
+ for (const [k, v] of Object.entries(config)) {
72
+ if (typeof v === 'string') {
73
+ resolved[k] = resolveEnvRef(v) ?? v;
74
+ }
75
+ else if (Array.isArray(v)) {
76
+ resolved[k] = v.map((item) => typeof item === 'string' ? (resolveEnvRef(item) ?? item) : item);
77
+ }
78
+ else {
79
+ resolved[k] = v;
80
+ }
81
+ }
82
+ return resolved;
83
+ }
84
+ //# sourceMappingURL=bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/channels/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Amodal Labs, Inc.
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import type { PgDatabase, PgQueryResultHKT } from 'drizzle-orm/pg-core';
7
+ import type { ChannelSessionMapper, ChannelSessionMapResult, ChannelOrigin } from '@amodalai/types';
8
+ import type { Logger } from '../logger.js';
9
+ type AnyPgDatabase = PgDatabase<PgQueryResultHKT, Record<string, unknown>>;
10
+ export interface ChannelSessionMapperOptions {
11
+ db: AnyPgDatabase;
12
+ logger: Logger;
13
+ eventBus?: {
14
+ emit(payload: {
15
+ type: string;
16
+ [key: string]: unknown;
17
+ }): unknown;
18
+ };
19
+ }
20
+ /**
21
+ * Create a new session for a channel user. The caller provides the
22
+ * session factory so the mapper stays decoupled from session creation
23
+ * details (provider selection, tool registration, etc.).
24
+ */
25
+ export type CreateChannelSession = (channelOrigin: ChannelOrigin) => {
26
+ sessionId: string;
27
+ };
28
+ export declare class DrizzleChannelSessionMapper implements ChannelSessionMapper {
29
+ private readonly db;
30
+ private readonly logger;
31
+ private readonly eventBus?;
32
+ private createSession;
33
+ constructor(opts: ChannelSessionMapperOptions);
34
+ /**
35
+ * Wire the session factory after construction. Called by the local-server
36
+ * wiring code once all session components are available.
37
+ */
38
+ setSessionFactory(factory: CreateChannelSession): void;
39
+ findOrCreateSession(channelType: string, channelUserId: string, displayName?: string): Promise<ChannelSessionMapResult>;
40
+ resetSession(channelType: string, channelUserId: string): Promise<void>;
41
+ }
42
+ export {};
@@ -0,0 +1,91 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Amodal Labs, Inc.
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ /**
7
+ * Drizzle-based channel session mapper.
8
+ *
9
+ * Maps (channelType, channelUserId) → sessionId using the
10
+ * `channel_sessions` table. Shares the same database connection pool
11
+ * as the session store to avoid opening a second connection.
12
+ */
13
+ import { eq, and, sql } from 'drizzle-orm';
14
+ import { channelSessions } from '../stores/schema.js';
15
+ export class DrizzleChannelSessionMapper {
16
+ db;
17
+ logger;
18
+ eventBus;
19
+ createSession = null;
20
+ constructor(opts) {
21
+ this.db = opts.db;
22
+ this.logger = opts.logger;
23
+ this.eventBus = opts.eventBus;
24
+ }
25
+ /**
26
+ * Wire the session factory after construction. Called by the local-server
27
+ * wiring code once all session components are available.
28
+ */
29
+ setSessionFactory(factory) {
30
+ this.createSession = factory;
31
+ }
32
+ async findOrCreateSession(channelType, channelUserId, displayName) {
33
+ // Try to find an existing mapping and touch last_active_at in one query
34
+ const rows = await this.db
35
+ .update(channelSessions)
36
+ .set({ lastActiveAt: sql `NOW()` })
37
+ .where(and(eq(channelSessions.channelType, channelType), eq(channelSessions.channelUserId, channelUserId)))
38
+ .returning({ sessionId: channelSessions.sessionId });
39
+ if (rows.length > 0) {
40
+ const { sessionId } = rows[0];
41
+ this.logger.debug('channel_session_found', { channelType, channelUserId, sessionId });
42
+ return { sessionId, isNew: false };
43
+ }
44
+ // Create new session
45
+ if (!this.createSession) {
46
+ throw new Error('Channel session mapper: session factory not set. Call setSessionFactory() first.');
47
+ }
48
+ const channelOrigin = {
49
+ channelType,
50
+ channelUserId,
51
+ channelUserDisplay: displayName,
52
+ };
53
+ const { sessionId } = this.createSession(channelOrigin);
54
+ // Atomic upsert — if a concurrent request inserted first, return the existing row
55
+ const inserted = await this.db
56
+ .insert(channelSessions)
57
+ .values({
58
+ channelType,
59
+ channelUserId,
60
+ sessionId,
61
+ metadata: { channelUserDisplay: displayName },
62
+ })
63
+ .onConflictDoUpdate({
64
+ target: [channelSessions.channelType, channelSessions.channelUserId],
65
+ set: { lastActiveAt: sql `NOW()` },
66
+ })
67
+ .returning({ sessionId: channelSessions.sessionId });
68
+ const finalSessionId = inserted[0].sessionId;
69
+ const isNew = finalSessionId === sessionId;
70
+ if (isNew) {
71
+ this.logger.info('channel_session_created', { channelType, channelUserId, sessionId: finalSessionId });
72
+ this.eventBus?.emit({
73
+ type: 'channel_session_created',
74
+ channelType,
75
+ channelUserId,
76
+ sessionId: finalSessionId,
77
+ });
78
+ }
79
+ else {
80
+ this.logger.debug('channel_session_found', { channelType, channelUserId, sessionId: finalSessionId });
81
+ }
82
+ return { sessionId: finalSessionId, isNew };
83
+ }
84
+ async resetSession(channelType, channelUserId) {
85
+ await this.db
86
+ .delete(channelSessions)
87
+ .where(and(eq(channelSessions.channelType, channelType), eq(channelSessions.channelUserId, channelUserId)));
88
+ this.logger.info('channel_session_reset', { channelType, channelUserId });
89
+ }
90
+ }
91
+ //# sourceMappingURL=channel-session-mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel-session-mapper.js","sourceRoot":"","sources":["../../../src/channels/channel-session-mapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Amodal Labs, Inc.
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ export declare class MessageDedupCache {
7
+ private readonly seen;
8
+ private readonly ttlMs;
9
+ constructor(ttlMs?: number);
10
+ /**
11
+ * Returns `true` if this message was already seen (duplicate).
12
+ * Returns `false` and records the message if it's new.
13
+ */
14
+ isDuplicate(channelType: string, messageId: string): boolean;
15
+ get size(): number;
16
+ private evict;
17
+ }
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Amodal Labs, Inc.
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ /**
7
+ * In-memory dedup cache for channel webhook retries.
8
+ *
9
+ * Messaging platforms may resend webhook payloads when the server
10
+ * doesn't respond with 200 quickly enough. This cache prevents the same
11
+ * message from being processed twice.
12
+ *
13
+ * Keyed by `${channelType}:${messageId}`, with a configurable TTL.
14
+ * Lazy eviction keeps the fast path allocation-free.
15
+ */
16
+ const DEFAULT_TTL_MS = 60_000;
17
+ const EVICTION_THRESHOLD = 1000;
18
+ export class MessageDedupCache {
19
+ seen = new Map();
20
+ ttlMs;
21
+ constructor(ttlMs = DEFAULT_TTL_MS) {
22
+ this.ttlMs = ttlMs;
23
+ }
24
+ /**
25
+ * Returns `true` if this message was already seen (duplicate).
26
+ * Returns `false` and records the message if it's new.
27
+ */
28
+ isDuplicate(channelType, messageId) {
29
+ const key = `${channelType}:${messageId}`;
30
+ const now = Date.now();
31
+ if (this.seen.size > EVICTION_THRESHOLD) {
32
+ this.evict(now);
33
+ }
34
+ if (this.seen.has(key)) {
35
+ return true;
36
+ }
37
+ this.seen.set(key, now);
38
+ return false;
39
+ }
40
+ get size() {
41
+ return this.seen.size;
42
+ }
43
+ evict(now) {
44
+ for (const [k, ts] of this.seen) {
45
+ if (now - ts > this.ttlMs) {
46
+ this.seen.delete(k);
47
+ }
48
+ }
49
+ }
50
+ }
51
+ //# sourceMappingURL=dedup-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dedup-cache.js","sourceRoot":"","sources":["../../../src/channels/dedup-cache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;GASG;AAEH,MAAM,cAAc,GAAG,MAAM,CAAC;AAC9B,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC,MAAM,OAAO,iBAAiB;IACX,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjC,KAAK,CAAS;IAE/B,YAAY,KAAK,GAAG,cAAc;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,WAAmB,EAAE,SAAiB;QAChD,MAAM,GAAG,GAAG,GAAG,WAAW,IAAI,SAAS,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,kBAAkB,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,GAAW;QACvB,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2025 Amodal Labs, Inc.
3
+ * Copyright 2026 Amodal Labs, Inc.
4
4
  * SPDX-License-Identifier: MIT
5
5
  */
6
6
  export {};
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Amodal Labs, Inc.
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { describe, it, expect, beforeEach } from 'vitest';
7
+ import { MessageDedupCache } from './dedup-cache.js';
8
+ describe('MessageDedupCache', () => {
9
+ let cache;
10
+ beforeEach(() => {
11
+ cache = new MessageDedupCache();
12
+ });
13
+ it('returns false for new messages', () => {
14
+ expect(cache.isDuplicate('telegram', '123')).toBe(false);
15
+ });
16
+ it('returns true for duplicate messages', () => {
17
+ cache.isDuplicate('telegram', '123');
18
+ expect(cache.isDuplicate('telegram', '123')).toBe(true);
19
+ });
20
+ it('treats different message IDs as distinct', () => {
21
+ cache.isDuplicate('telegram', '123');
22
+ expect(cache.isDuplicate('telegram', '456')).toBe(false);
23
+ });
24
+ it('treats different channel types as distinct', () => {
25
+ cache.isDuplicate('telegram', '123');
26
+ expect(cache.isDuplicate('slack', '123')).toBe(false);
27
+ });
28
+ it('tracks cache size', () => {
29
+ cache.isDuplicate('telegram', '1');
30
+ cache.isDuplicate('telegram', '2');
31
+ expect(cache.size).toBe(2);
32
+ });
33
+ it('evicts stale entries when threshold is exceeded', () => {
34
+ // Use a very short TTL for testing
35
+ const shortCache = new MessageDedupCache(1); // 1ms TTL
36
+ // Fill past eviction threshold
37
+ for (let i = 0; i < 1001; i++) {
38
+ shortCache.isDuplicate('telegram', String(i));
39
+ }
40
+ // Wait a tick for TTL to expire
41
+ const start = Date.now();
42
+ while (Date.now() - start < 5) {
43
+ // busy wait
44
+ }
45
+ // Next isDuplicate should trigger eviction
46
+ shortCache.isDuplicate('telegram', 'trigger');
47
+ // Stale entries should be gone (only 'trigger' remains)
48
+ expect(shortCache.size).toBeLessThanOrEqual(2);
49
+ });
50
+ });
51
+ //# sourceMappingURL=dedup-cache.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dedup-cache.test.js","sourceRoot":"","sources":["../../../src/channels/dedup-cache.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAC,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAEnD,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAI,KAAwB,CAAC;IAE7B,UAAU,CAAC,GAAG,EAAE;QACd,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACnC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,mCAAmC;QACnC,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU;QAEvD,+BAA+B;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9B,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,gCAAgC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;YAC9B,YAAY;QACd,CAAC;QAED,2CAA2C;QAC3C,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC9C,wDAAwD;QACxD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Amodal Labs, Inc.
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { AmodalError } from '../errors.js';
7
+ /**
8
+ * Error loading a channel plugin package (missing, invalid export shape).
9
+ */
10
+ export declare class ChannelPluginError extends AmodalError {
11
+ readonly channelType: string;
12
+ constructor(message: string, options: {
13
+ channelType: string;
14
+ cause?: unknown;
15
+ context?: Record<string, unknown>;
16
+ });
17
+ }
18
+ /**
19
+ * Error validating a channel's config block against its plugin schema.
20
+ */
21
+ export declare class ChannelConfigError extends AmodalError {
22
+ readonly channelType: string;
23
+ constructor(message: string, options: {
24
+ channelType: string;
25
+ cause?: unknown;
26
+ context?: Record<string, unknown>;
27
+ });
28
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Amodal Labs, Inc.
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { AmodalError } from '../errors.js';
7
+ // ---------------------------------------------------------------------------
8
+ // Channel plugin errors
9
+ // ---------------------------------------------------------------------------
10
+ /**
11
+ * Error loading a channel plugin package (missing, invalid export shape).
12
+ */
13
+ export class ChannelPluginError extends AmodalError {
14
+ channelType;
15
+ constructor(message, options) {
16
+ super('CHANNEL_PLUGIN_ERROR', message, {
17
+ channelType: options.channelType,
18
+ ...options.context,
19
+ }, options.cause);
20
+ this.name = 'ChannelPluginError';
21
+ this.channelType = options.channelType;
22
+ }
23
+ }
24
+ /**
25
+ * Error validating a channel's config block against its plugin schema.
26
+ */
27
+ export class ChannelConfigError extends AmodalError {
28
+ channelType;
29
+ constructor(message, options) {
30
+ super('CHANNEL_CONFIG_ERROR', message, {
31
+ channelType: options.channelType,
32
+ ...options.context,
33
+ }, options.cause);
34
+ this.name = 'ChannelConfigError';
35
+ this.channelType = options.channelType;
36
+ }
37
+ }
38
+ //# sourceMappingURL=errors.js.map