@multiplayer-app/sandbox 0.0.11 → 0.0.14

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 (122) hide show
  1. package/dist/agents/blocknote.agent.d.ts +6 -0
  2. package/dist/agents/blocknote.agent.d.ts.map +1 -0
  3. package/dist/agents/blocknote.agent.js +18 -0
  4. package/dist/agents/blocknote.agent.js.map +1 -0
  5. package/dist/agents/shared/blocknote-system-prompt.d.ts +2 -0
  6. package/dist/agents/shared/blocknote-system-prompt.d.ts.map +1 -0
  7. package/dist/agents/shared/blocknote-system-prompt.js +40 -0
  8. package/dist/agents/shared/blocknote-system-prompt.js.map +1 -0
  9. package/dist/builder-api-config.d.ts +3 -2
  10. package/dist/builder-api-config.d.ts.map +1 -1
  11. package/dist/builder-api-config.js +4 -1
  12. package/dist/builder-api-config.js.map +1 -1
  13. package/dist/context.d.ts +4 -0
  14. package/dist/context.d.ts.map +1 -1
  15. package/dist/context.js.map +1 -1
  16. package/dist/create-builder-api.d.ts +4 -0
  17. package/dist/create-builder-api.d.ts.map +1 -1
  18. package/dist/create-builder-api.js +3 -1
  19. package/dist/create-builder-api.js.map +1 -1
  20. package/dist/index.d.ts +5 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +11 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/lib/ai/agent-ai-service.d.ts +3 -0
  25. package/dist/lib/ai/agent-ai-service.d.ts.map +1 -0
  26. package/dist/lib/ai/agent-ai-service.js +15 -0
  27. package/dist/lib/ai/agent-ai-service.js.map +1 -0
  28. package/dist/lib/ai/ai-error-details.d.ts +13 -0
  29. package/dist/lib/ai/ai-error-details.d.ts.map +1 -0
  30. package/dist/lib/ai/ai-error-details.js +84 -0
  31. package/dist/lib/ai/ai-error-details.js.map +1 -0
  32. package/dist/lib/ai/generate-ai-text.d.ts +12 -0
  33. package/dist/lib/ai/generate-ai-text.d.ts.map +1 -0
  34. package/dist/lib/ai/generate-ai-text.js +105 -0
  35. package/dist/lib/ai/generate-ai-text.js.map +1 -0
  36. package/dist/lib/ai/run-explicit-agent.d.ts +15 -0
  37. package/dist/lib/ai/run-explicit-agent.d.ts.map +1 -0
  38. package/dist/lib/ai/run-explicit-agent.js +30 -0
  39. package/dist/lib/ai/run-explicit-agent.js.map +1 -0
  40. package/dist/lib/notebooks/notebook-assistant-prompts.d.ts +6 -0
  41. package/dist/lib/notebooks/notebook-assistant-prompts.d.ts.map +1 -0
  42. package/dist/lib/notebooks/notebook-assistant-prompts.js +42 -0
  43. package/dist/lib/notebooks/notebook-assistant-prompts.js.map +1 -0
  44. package/dist/lib/notebooks/notebook-assistant.d.ts +15 -0
  45. package/dist/lib/notebooks/notebook-assistant.d.ts.map +1 -0
  46. package/dist/lib/notebooks/notebook-assistant.js +145 -0
  47. package/dist/lib/notebooks/notebook-assistant.js.map +1 -0
  48. package/dist/lib/notebooks/notebook-content.d.ts +16 -0
  49. package/dist/lib/notebooks/notebook-content.d.ts.map +1 -0
  50. package/dist/lib/notebooks/notebook-content.js +104 -0
  51. package/dist/lib/notebooks/notebook-content.js.map +1 -0
  52. package/dist/lib/notebooks/notebook-repository.d.ts +47 -0
  53. package/dist/lib/notebooks/notebook-repository.d.ts.map +1 -0
  54. package/dist/lib/notebooks/notebook-repository.js +3 -0
  55. package/dist/lib/notebooks/notebook-repository.js.map +1 -0
  56. package/dist/lib/notebooks/notebook-sql-client.d.ts +5 -0
  57. package/dist/lib/notebooks/notebook-sql-client.d.ts.map +1 -0
  58. package/dist/lib/notebooks/notebook-sql-client.js +37 -0
  59. package/dist/lib/notebooks/notebook-sql-client.js.map +1 -0
  60. package/dist/lib/notebooks/notebook-sql-schema.d.ts +16 -0
  61. package/dist/lib/notebooks/notebook-sql-schema.d.ts.map +1 -0
  62. package/dist/lib/notebooks/notebook-sql-schema.js +117 -0
  63. package/dist/lib/notebooks/notebook-sql-schema.js.map +1 -0
  64. package/dist/lib/notebooks/notebook-sql.d.ts +9 -0
  65. package/dist/lib/notebooks/notebook-sql.d.ts.map +1 -0
  66. package/dist/lib/notebooks/notebook-sql.js +36 -0
  67. package/dist/lib/notebooks/notebook-sql.js.map +1 -0
  68. package/dist/lib/sql-schema.d.ts +23 -0
  69. package/dist/lib/sql-schema.d.ts.map +1 -0
  70. package/dist/lib/sql-schema.js +3 -0
  71. package/dist/lib/sql-schema.js.map +1 -0
  72. package/dist/realtime/init-realtime.d.ts +2 -2
  73. package/dist/realtime/init-realtime.d.ts.map +1 -1
  74. package/dist/realtime/init-realtime.js +31 -12
  75. package/dist/realtime/init-realtime.js.map +1 -1
  76. package/dist/realtime/notebook-document-id.d.ts +6 -0
  77. package/dist/realtime/notebook-document-id.d.ts.map +1 -0
  78. package/dist/realtime/notebook-document-id.js +30 -0
  79. package/dist/realtime/notebook-document-id.js.map +1 -0
  80. package/dist/realtime/realtime-auth.d.ts +12 -0
  81. package/dist/realtime/realtime-auth.d.ts.map +1 -0
  82. package/dist/realtime/realtime-auth.js +25 -0
  83. package/dist/realtime/realtime-auth.js.map +1 -0
  84. package/dist/realtime/session-artifact-y-socket-io.d.ts +4 -11
  85. package/dist/realtime/session-artifact-y-socket-io.d.ts.map +1 -1
  86. package/dist/realtime/session-artifact-y-socket-io.js +30 -32
  87. package/dist/realtime/session-artifact-y-socket-io.js.map +1 -1
  88. package/dist/realtime/session-artifact-yjs-store.d.ts +9 -0
  89. package/dist/realtime/session-artifact-yjs-store.d.ts.map +1 -1
  90. package/dist/realtime/session-artifact-yjs-store.js +93 -9
  91. package/dist/realtime/session-artifact-yjs-store.js.map +1 -1
  92. package/dist/realtime/yjs-account-namespace.d.ts +5 -0
  93. package/dist/realtime/yjs-account-namespace.d.ts.map +1 -0
  94. package/dist/realtime/yjs-account-namespace.js +21 -0
  95. package/dist/realtime/yjs-account-namespace.js.map +1 -0
  96. package/dist/routes/notebooks/assistant-generate.d.ts +3 -0
  97. package/dist/routes/notebooks/assistant-generate.d.ts.map +1 -0
  98. package/dist/routes/notebooks/assistant-generate.js +45 -0
  99. package/dist/routes/notebooks/assistant-generate.js.map +1 -0
  100. package/dist/routes/notebooks/errors.d.ts +3 -0
  101. package/dist/routes/notebooks/errors.d.ts.map +1 -0
  102. package/dist/routes/notebooks/errors.js +28 -0
  103. package/dist/routes/notebooks/errors.js.map +1 -0
  104. package/dist/routes/notebooks/sql-execute.d.ts +3 -0
  105. package/dist/routes/notebooks/sql-execute.d.ts.map +1 -0
  106. package/dist/routes/notebooks/sql-execute.js +45 -0
  107. package/dist/routes/notebooks/sql-execute.js.map +1 -0
  108. package/dist/routes/notebooks.d.ts +2 -0
  109. package/dist/routes/notebooks.d.ts.map +1 -0
  110. package/dist/routes/notebooks.js +132 -0
  111. package/dist/routes/notebooks.js.map +1 -0
  112. package/dist/routes/sessions.d.ts.map +1 -1
  113. package/dist/routes/sessions.js +0 -11
  114. package/dist/routes/sessions.js.map +1 -1
  115. package/dist/routes/sql.d.ts +2 -0
  116. package/dist/routes/sql.d.ts.map +1 -0
  117. package/dist/routes/sql.js +50 -0
  118. package/dist/routes/sql.js.map +1 -0
  119. package/dist/server.d.ts.map +1 -1
  120. package/dist/server.js +2 -0
  121. package/dist/server.js.map +1 -1
  122. package/package.json +9 -5
@@ -0,0 +1,6 @@
1
+ import type { AgentConfig } from '@multiplayer-app/ai-agent-types';
2
+ import type { BuilderApiAgentDeps } from '../builder-api-config';
3
+ export declare const BLOCKNOTE_CONTEXT_KEY = "blocknote";
4
+ export declare const BLOCKNOTE_AGENT_NAME = "blocknote-generator";
5
+ export declare function createBlocknoteAgent(deps: BuilderApiAgentDeps): AgentConfig;
6
+ //# sourceMappingURL=blocknote.agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocknote.agent.d.ts","sourceRoot":"","sources":["../../src/agents/blocknote.agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAGhE,eAAO,MAAM,qBAAqB,cAAc,CAAA;AAChD,eAAO,MAAM,oBAAoB,wBAAwB,CAAA;AAEzD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,GAAG,WAAW,CAS3E"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BLOCKNOTE_AGENT_NAME = exports.BLOCKNOTE_CONTEXT_KEY = void 0;
4
+ exports.createBlocknoteAgent = createBlocknoteAgent;
5
+ const blocknote_system_prompt_1 = require("./shared/blocknote-system-prompt");
6
+ exports.BLOCKNOTE_CONTEXT_KEY = 'blocknote';
7
+ exports.BLOCKNOTE_AGENT_NAME = 'blocknote-generator';
8
+ function createBlocknoteAgent(deps) {
9
+ return {
10
+ name: exports.BLOCKNOTE_AGENT_NAME,
11
+ description: 'Generates and adjusts BlockNote/TipTap blocks for notebooks',
12
+ defaultModel: deps.defaultModel,
13
+ systemPrompt: blocknote_system_prompt_1.BLOCKNOTE_SYSTEM_PROMPT,
14
+ stopWhen: () => true,
15
+ tools: [],
16
+ };
17
+ }
18
+ //# sourceMappingURL=blocknote.agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocknote.agent.js","sourceRoot":"","sources":["../../src/agents/blocknote.agent.ts"],"names":[],"mappings":";;;AAOA,oDASC;AAdD,8EAA0E;AAE7D,QAAA,qBAAqB,GAAG,WAAW,CAAA;AACnC,QAAA,oBAAoB,GAAG,qBAAqB,CAAA;AAEzD,SAAgB,oBAAoB,CAAC,IAAyB;IAC5D,OAAO;QACL,IAAI,EAAE,4BAAoB;QAC1B,WAAW,EAAE,6DAA6D;QAC1E,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,YAAY,EAAE,iDAAuB;QACrC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;QACpB,KAAK,EAAE,EAAE;KACV,CAAA;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const BLOCKNOTE_SYSTEM_PROMPT = "You generate and adjust BlockNote/TipTap blocks for collaborative notebooks.\n\nYou must return valid JSON only\u2014no markdown fences, commentary, or extra text unless a task explicitly asks for plain text.\n\nSupported block categories:\n- Generic TipTap blocks: paragraph, heading, bulletList, orderedList, listItem, blockquote, codeBlock, table, taskList, taskItem, horizontalRule, and related inline formatting inside content nodes.\n- runnableCodeBlock: executable code blocks with attrs { _globalName, content, language }.\n- chartBlock: sandboxed UI blocks with attrs { _globalName, html, javascript, css }.\n- sqlBlock: PostgreSQL query blocks with attrs { _globalName, query }.\n\nWhen generating runnableCodeBlock attrs, return:\n{\n \"_globalName\": \"<short identifier>\",\n \"content\": \"<complete executable code>\",\n \"language\": \"javascript\"\n}\n\nWhen generating chartBlock attrs, return:\n{\n \"_globalName\": \"<short identifier>\",\n \"html\": \"<self-contained HTML, include CDN script tags for libraries>\",\n \"javascript\": \"<script logic>\",\n \"css\": \"<styles>\"\n}\n\nWhen generating sqlBlock attrs, return:\n{\n \"_globalName\": \"<short identifier>\",\n \"query\": \"<valid PostgreSQL SELECT statement>\"\n}\n\nsqlBlock queries must be read-only SELECT statements. Do not generate INSERT, UPDATE, DELETE, DDL, or multiple statements.\n\nWhen generating generic TipTap blocks, return a single node object with type, attrs when needed, and nested content arrays that follow TipTap JSON structure.\n\nWhen adjusting an existing block, preserve unrelated attrs and update only what the adjustment requires.";
2
+ //# sourceMappingURL=blocknote-system-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocknote-system-prompt.d.ts","sourceRoot":"","sources":["../../../src/agents/shared/blocknote-system-prompt.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,unDAmCqE,CAAA"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BLOCKNOTE_SYSTEM_PROMPT = void 0;
4
+ exports.BLOCKNOTE_SYSTEM_PROMPT = `You generate and adjust BlockNote/TipTap blocks for collaborative notebooks.
5
+
6
+ You must return valid JSON only—no markdown fences, commentary, or extra text unless a task explicitly asks for plain text.
7
+
8
+ Supported block categories:
9
+ - Generic TipTap blocks: paragraph, heading, bulletList, orderedList, listItem, blockquote, codeBlock, table, taskList, taskItem, horizontalRule, and related inline formatting inside content nodes.
10
+ - runnableCodeBlock: executable code blocks with attrs { _globalName, content, language }.
11
+ - chartBlock: sandboxed UI blocks with attrs { _globalName, html, javascript, css }.
12
+ - sqlBlock: PostgreSQL query blocks with attrs { _globalName, query }.
13
+
14
+ When generating runnableCodeBlock attrs, return:
15
+ {
16
+ "_globalName": "<short identifier>",
17
+ "content": "<complete executable code>",
18
+ "language": "javascript"
19
+ }
20
+
21
+ When generating chartBlock attrs, return:
22
+ {
23
+ "_globalName": "<short identifier>",
24
+ "html": "<self-contained HTML, include CDN script tags for libraries>",
25
+ "javascript": "<script logic>",
26
+ "css": "<styles>"
27
+ }
28
+
29
+ When generating sqlBlock attrs, return:
30
+ {
31
+ "_globalName": "<short identifier>",
32
+ "query": "<valid PostgreSQL SELECT statement>"
33
+ }
34
+
35
+ sqlBlock queries must be read-only SELECT statements. Do not generate INSERT, UPDATE, DELETE, DDL, or multiple statements.
36
+
37
+ When generating generic TipTap blocks, return a single node object with type, attrs when needed, and nested content arrays that follow TipTap JSON structure.
38
+
39
+ When adjusting an existing block, preserve unrelated attrs and update only what the adjustment requires.`;
40
+ //# sourceMappingURL=blocknote-system-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocknote-system-prompt.js","sourceRoot":"","sources":["../../../src/agents/shared/blocknote-system-prompt.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yGAmCkE,CAAA"}
@@ -1,4 +1,5 @@
1
- import { RealtimeAuthMiddleware } from '@multiplayer-app/realtime-server';
1
+ import type { RealtimeServerOptions } from '@multiplayer-app/realtime-server';
2
+ export declare const DEFAULT_AI_MODEL = "openai-gpt4o";
2
3
  export interface BuilderApiConfig {
3
4
  server: {
4
5
  port: number;
@@ -8,7 +9,7 @@ export interface BuilderApiConfig {
8
9
  };
9
10
  apiPrefix: string;
10
11
  realtimeSocketPath: string;
11
- realtimeAuthMiddleware: RealtimeAuthMiddleware;
12
+ getUserInfo: RealtimeServerOptions['getUserInfo'];
12
13
  corsOrigin: boolean | string | string[];
13
14
  ai: {
14
15
  defaultModel?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"builder-api-config.d.ts","sourceRoot":"","sources":["../src/builder-api-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAEzE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,OAAO,CAAA;KAChB,CAAA;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;IACvC,EAAE,EAAE;QACF,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;IACD,WAAW,EAAE;QACX,WAAW,EAAE,MAAM,CAAA;QACnB,uBAAuB,EAAE,MAAM,CAAA;QAC/B,kBAAkB,EAAE,MAAM,CAAA;QAC1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;QAC3B,EAAE,EAAE;YACF,MAAM,EAAE,MAAM,CAAA;SACf,CAAA;KACF,CAAA;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;CACF;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,mBAAmB,CAIjF"}
1
+ {"version":3,"file":"builder-api-config.d.ts","sourceRoot":"","sources":["../src/builder-api-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAE7E,eAAO,MAAM,gBAAgB,iBAAiB,CAAA;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,OAAO,CAAA;KAChB,CAAA;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAA;IACjD,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;IACvC,EAAE,EAAE;QACF,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;IACD,WAAW,EAAE;QACX,WAAW,EAAE,MAAM,CAAA;QACnB,uBAAuB,EAAE,MAAM,CAAA;QAC/B,kBAAkB,EAAE,MAAM,CAAA;QAC1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;QAC3B,EAAE,EAAE;YACF,MAAM,EAAE,MAAM,CAAA;SACf,CAAA;KACF,CAAA;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;CACF;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,mBAAmB,CAIjF"}
@@ -1,9 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_AI_MODEL = void 0;
3
4
  exports.agentDepsFromConfig = agentDepsFromConfig;
5
+ exports.DEFAULT_AI_MODEL = 'openai-gpt4o';
4
6
  function agentDepsFromConfig(config) {
7
+ var _a;
5
8
  return {
6
- defaultModel: config.ai.defaultModel,
9
+ defaultModel: (_a = config.ai.defaultModel) !== null && _a !== void 0 ? _a : exports.DEFAULT_AI_MODEL,
7
10
  };
8
11
  }
9
12
  //# sourceMappingURL=builder-api-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder-api-config.js","sourceRoot":"","sources":["../src/builder-api-config.ts"],"names":[],"mappings":";;AAmCA,kDAIC;AAJD,SAAgB,mBAAmB,CAAC,MAAwB;IAC1D,OAAO;QACL,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,YAAY;KACrC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"builder-api-config.js","sourceRoot":"","sources":["../src/builder-api-config.ts"],"names":[],"mappings":";;;AAoCA,kDAIC;AAtCY,QAAA,gBAAgB,GAAG,cAAc,CAAA;AAkC9C,SAAgB,mBAAmB,CAAC,MAAwB;;IAC1D,OAAO;QACL,YAAY,EAAE,MAAA,MAAM,CAAC,EAAE,CAAC,YAAY,mCAAI,wBAAgB;KACzD,CAAA;AACH,CAAC"}
package/dist/context.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import type { AIAgentService, AIAgentServiceOptions } from '@multiplayer-app/ai-agent-node';
2
2
  import type { BuilderApiConfig } from './builder-api-config';
3
3
  import type { BuilderApiLogger } from './logger';
4
+ import type { NotebookRepository } from './lib/notebooks/notebook-repository';
5
+ import type { SqlSchemaProvider } from './lib/sql-schema';
4
6
  export interface BuilderApiRepositories {
5
7
  chatRepository: AIAgentServiceOptions['chatRepository'];
6
8
  messageRepository: AIAgentServiceOptions['messageRepository'];
@@ -10,6 +12,8 @@ export interface BuilderApiContext {
10
12
  readonly logger: BuilderApiLogger;
11
13
  readonly agentService: AIAgentService;
12
14
  readonly repositories: BuilderApiRepositories;
15
+ readonly notebookRepository?: NotebookRepository;
16
+ readonly sqlSchemaProvider?: SqlSchemaProvider;
13
17
  }
14
18
  export declare function setBuilderApiContext(ctx: BuilderApiContext): void;
15
19
  export declare function getBuilderApiContext(): BuilderApiContext;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEhD,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,CAAA;IACvD,iBAAiB,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,CAAA;CAC9D;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;IACjC,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAA;IACrC,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAA;CAC9C;AAID,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAEjE;AAED,wBAAgB,oBAAoB,IAAI,iBAAiB,CAKxD;AAED,wBAAgB,eAAe,IAAI,cAAc,CAEhD;AAED,wBAAgB,yBAAyB,IAAI,sBAAsB,CAElE"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,CAAA;IACvD,iBAAiB,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,CAAA;CAC9D;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;IACjC,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAA;IACrC,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAA;IAC7C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IAChD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CAC/C;AAID,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAEjE;AAED,wBAAgB,oBAAoB,IAAI,iBAAiB,CAKxD;AAED,wBAAgB,eAAe,IAAI,cAAc,CAEhD;AAED,wBAAgB,yBAAyB,IAAI,sBAAsB,CAElE"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;AAkBA,oDAEC;AAED,oDAKC;AAED,0CAEC;AAED,8DAEC;AAnBD,IAAI,cAAc,GAA6B,IAAI,CAAA;AAEnD,SAAgB,oBAAoB,CAAC,GAAsB;IACzD,cAAc,GAAG,GAAG,CAAA;AACtB,CAAC;AAED,SAAgB,oBAAoB;IAClC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAC3D,CAAC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,SAAgB,eAAe;IAC7B,OAAO,oBAAoB,EAAE,CAAC,YAAY,CAAA;AAC5C,CAAC;AAED,SAAgB,yBAAyB;IACvC,OAAO,oBAAoB,EAAE,CAAC,YAAY,CAAA;AAC5C,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;AAsBA,oDAEC;AAED,oDAKC;AAED,0CAEC;AAED,8DAEC;AAnBD,IAAI,cAAc,GAA6B,IAAI,CAAA;AAEnD,SAAgB,oBAAoB,CAAC,GAAsB;IACzD,cAAc,GAAG,GAAG,CAAA;AACtB,CAAC;AAED,SAAgB,oBAAoB;IAClC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAC3D,CAAC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,SAAgB,eAAe;IAC7B,OAAO,oBAAoB,EAAE,CAAC,YAAY,CAAA;AAC5C,CAAC;AAED,SAAgB,yBAAyB;IACvC,OAAO,oBAAoB,EAAE,CAAC,YAAY,CAAA;AAC5C,CAAC"}
@@ -4,6 +4,8 @@ import type { ConfigStore } from '@multiplayer-app/ai-agent-node';
4
4
  import { type BuilderApiConfig } from './builder-api-config';
5
5
  import { type BuilderApiRepositories } from './context';
6
6
  import { type BuilderApiLogger } from './logger';
7
+ import type { NotebookRepository } from './lib/notebooks/notebook-repository';
8
+ import type { SqlSchemaProvider } from './lib/sql-schema';
7
9
  /**
8
10
  * Embedders must attach HTTP middleware that sets `req.userId` and `req.accountId`,
9
11
  * plus `req.hasAccountAccess` before routes that invite chat participants.
@@ -23,6 +25,8 @@ export interface CreateBuilderApiOptions {
23
25
  /** Logger for agent runtime, HTTP startup, realtime, and routes. Defaults to @multiplayer-builder/logger. */
24
26
  logger?: BuilderApiLogger;
25
27
  redisUrl?: string;
28
+ notebookRepository?: NotebookRepository;
29
+ sqlSchemaProvider?: SqlSchemaProvider;
26
30
  }
27
31
  export interface BuilderApiInstance {
28
32
  httpServer: HttpServer;
@@ -1 +1 @@
1
- {"version":3,"file":"create-builder-api.d.ts","sourceRoot":"","sources":["../src/create-builder-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAC3F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAGjF,OAAO,EAAwB,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAC7E,OAAO,EAA2E,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAGzH;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,UAAU,CAAA;IACtB,MAAM,EAAE,gBAAgB,CAAA;IACxB,UAAU,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/D,YAAY,EAAE,sBAAsB,GAAG;QACrC,kBAAkB,EAAE,qBAAqB,CAAC,oBAAoB,CAAC,CAAA;QAC/D,qBAAqB,EAAE,qBAAqB,CAAC,uBAAuB,CAAC,CAAA;QACrE,4BAA4B,EAAE,qBAAqB,CAAC,8BAA8B,CAAC,CAAA;KACpF,CAAA;IACD,gEAAgE;IAChE,kBAAkB,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IACnD,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAA;IAChD,6GAA6G;IAC7G,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,EAAE,cAAc,CAAA;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA2DpG"}
1
+ {"version":3,"file":"create-builder-api.d.ts","sourceRoot":"","sources":["../src/create-builder-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAC3F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAGjF,OAAO,EAAwB,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAC7E,OAAO,EAA2E,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEzH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEzD;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,UAAU,CAAA;IACtB,MAAM,EAAE,gBAAgB,CAAA;IACxB,UAAU,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/D,YAAY,EAAE,sBAAsB,GAAG;QACrC,kBAAkB,EAAE,qBAAqB,CAAC,oBAAoB,CAAC,CAAA;QAC/D,qBAAqB,EAAE,qBAAqB,CAAC,uBAAuB,CAAC,CAAA;QACrE,4BAA4B,EAAE,qBAAqB,CAAC,8BAA8B,CAAC,CAAA;KACpF,CAAA;IACD,gEAAgE;IAChE,kBAAkB,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IACnD,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAA;IAChD,6GAA6G;IAC7G,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,EAAE,cAAc,CAAA;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA6DpG"}
@@ -13,7 +13,7 @@ async function createBuilderApi(options) {
13
13
  (0, logger_1.configureBuilderApiLogger)(log);
14
14
  const { httpServer, config, socketAuth, repositories, agentRuntimeConfig, redisUrl, } = options;
15
15
  const { chatRepository, messageRepository, activityRepository, agentConfigRepository, tenantAICredentialRepository } = repositories;
16
- let realtimeServices = await (0, init_realtime_1.initRealtime)(httpServer, config, redisUrl);
16
+ let realtimeServices = await (0, init_realtime_1.initRealtime)(httpServer, config, redisUrl, socketAuth);
17
17
  const agentDeps = (0, builder_api_config_1.agentDepsFromConfig)(config);
18
18
  const setupAgentsFn = (_a = options.setupAgents) !== null && _a !== void 0 ? _a : (0, agents_1.createSetupAgents)(agentDeps);
19
19
  ai_agent_service_1.AgentServiceStore.getInstance().initialize({
@@ -32,6 +32,8 @@ async function createBuilderApi(options) {
32
32
  logger: log,
33
33
  agentService,
34
34
  repositories: { chatRepository, messageRepository },
35
+ notebookRepository: options.notebookRepository,
36
+ sqlSchemaProvider: options.sqlSchemaProvider,
35
37
  });
36
38
  return {
37
39
  httpServer,
@@ -1 +1 @@
1
- {"version":3,"file":"create-builder-api.js","sourceRoot":"","sources":["../src/create-builder-api.ts"],"names":[],"mappings":";;AAsCA,4CA2DC;AA9FD,6DAAiF;AACjF,qCAA4C;AAC5C,yDAAsD;AACtD,uCAA6E;AAC7E,qCAAyH;AACzH,4DAA8E;AA8BvE,KAAK,UAAU,gBAAgB,CAAC,OAAgC;;IACrE,MAAM,GAAG,GAAG,IAAA,gCAAuB,EAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACnD,IAAA,kCAAyB,EAAC,GAAG,CAAC,CAAA;IAE9B,MAAM,EACJ,UAAU,EACV,MAAM,EACN,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,QAAQ,GACT,GAAG,OAAO,CAAA;IAEX,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,GAClH,YAAY,CAAA;IAEd,IAAI,gBAAgB,GAA4B,MAAM,IAAA,4BAAY,EAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAEhG,MAAM,SAAS,GAAG,IAAA,wCAAmB,EAAC,MAAM,CAAC,CAAA;IAC7C,MAAM,aAAa,GAAG,MAAA,OAAO,CAAC,WAAW,mCAAI,IAAA,0BAAiB,EAAC,SAAS,CAAC,CAAA;IAEzE,oCAAiB,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC;QACzC,cAAc;QACd,iBAAiB;QACjB,kBAAkB;QAClB,qBAAqB;QACrB,4BAA4B;QAC5B,WAAW,EAAE,aAAa;QAC1B,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,GAAG;KACZ,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,oCAAiB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAA;IAE5D,IAAA,8BAAoB,EAAC;QACnB,MAAM;QACN,MAAM,EAAE,GAAG;QACX,YAAY;QACZ,YAAY,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAE;KACpD,CAAC,CAAA;IAEF,OAAO;QACL,UAAU;QACV,YAAY;QACZ,KAAK,CAAC,KAAK;YACT,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,YAAY,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;gBAC5D,IAAA,4BAAmB,GAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;YACrD,CAAC;YAED,MAAM,YAAY,CAAC,KAAK,EAAE,CAAA;QAC5B,CAAC;QACD,KAAK,CAAC,IAAI;;YACR,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,CAAA;YACrC,MAAM,YAAY,GAAG,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK,EAAE,mCAAI,OAAO,CAAC,OAAO,EAAE,CAAA;YACnE,gBAAgB,GAAG,IAAI,CAAA;YACvB,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAA;QACrD,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"create-builder-api.js","sourceRoot":"","sources":["../src/create-builder-api.ts"],"names":[],"mappings":";;AA0CA,4CA6DC;AApGD,6DAAiF;AACjF,qCAA4C;AAC5C,yDAAsD;AACtD,uCAA6E;AAC7E,qCAAyH;AACzH,4DAA8E;AAkCvE,KAAK,UAAU,gBAAgB,CAAC,OAAgC;;IACrE,MAAM,GAAG,GAAG,IAAA,gCAAuB,EAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACnD,IAAA,kCAAyB,EAAC,GAAG,CAAC,CAAA;IAE9B,MAAM,EACJ,UAAU,EACV,MAAM,EACN,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,QAAQ,GACT,GAAG,OAAO,CAAA;IAEX,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,GAClH,YAAY,CAAA;IAEd,IAAI,gBAAgB,GAA4B,MAAM,IAAA,4BAAY,EAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;IAE5G,MAAM,SAAS,GAAG,IAAA,wCAAmB,EAAC,MAAM,CAAC,CAAA;IAC7C,MAAM,aAAa,GAAG,MAAA,OAAO,CAAC,WAAW,mCAAI,IAAA,0BAAiB,EAAC,SAAS,CAAC,CAAA;IAEzE,oCAAiB,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC;QACzC,cAAc;QACd,iBAAiB;QACjB,kBAAkB;QAClB,qBAAqB;QACrB,4BAA4B;QAC5B,WAAW,EAAE,aAAa;QAC1B,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,GAAG;KACZ,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,oCAAiB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAA;IAE5D,IAAA,8BAAoB,EAAC;QACnB,MAAM;QACN,MAAM,EAAE,GAAG;QACX,YAAY;QACZ,YAAY,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAE;QACnD,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;KAC7C,CAAC,CAAA;IAEF,OAAO;QACL,UAAU;QACV,YAAY;QACZ,KAAK,CAAC,KAAK;YACT,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,YAAY,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;gBAC5D,IAAA,4BAAmB,GAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;YACrD,CAAC;YAED,MAAM,YAAY,CAAC,KAAK,EAAE,CAAA;QAC5B,CAAC;QACD,KAAK,CAAC,IAAI;;YACR,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,CAAA;YACrC,MAAM,YAAY,GAAG,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK,EAAE,mCAAI,OAAO,CAAC,OAAO,EAAE,CAAA;YACnE,gBAAgB,GAAG,IAAI,CAAA;YACvB,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAA;QACrD,CAAC;KACF,CAAA;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { createBuilderApi, type BuilderApiInstance, type CreateBuilderApiOptions } from './create-builder-api';
2
- export { agentDepsFromConfig, type BuilderApiConfig, type BuilderApiAgentDeps, } from './builder-api-config';
2
+ export { agentDepsFromConfig, DEFAULT_AI_MODEL, type BuilderApiConfig, type BuilderApiAgentDeps, } from './builder-api-config';
3
3
  export { configureBuilderApiLogger, getBuilderApiLogger, resolveBuilderApiLogger, type BuilderApiLogger, } from './logger';
4
4
  export { setBuilderApiContext, getBuilderApiContext, getAgentService, type BuilderApiContext, type BuilderApiRepositories } from './context';
5
5
  export { getBuilderApiRouter } from './server';
@@ -8,6 +8,10 @@ export { AgentServiceStore } from './ai-agent.service';
8
8
  export { initRealtime, type RealtimeServices } from './realtime/init-realtime';
9
9
  export { assertSessionAccess, hasChatAccess, loadChatForUser, CHAT_NOT_FOUND, } from './lib/chat-access';
10
10
  export { parseSessionArtifactDocumentId, buildSessionArtifactDocumentId, } from './realtime/session-artifact-document-id';
11
+ export { parseNotebookDocumentId, buildNotebookDocumentId, } from './realtime/notebook-document-id';
12
+ export type { SqlTableColumn, SqlTableSchema, SqlSchemaProvider, SqlQueryResult, } from './lib/sql-schema';
13
+ export type { NotebookRepository, NotebookRecord, NotebookSummary, CreateNotebookInput, UpdateNotebookInput, } from './lib/notebooks/notebook-repository';
14
+ export { NOTEBOOK_CONTENT_VERSION, createEmptyNotebookContent, parseNotebookContent, serializeNotebookContent, validateNotebookContentString, type NotebookContent, } from './lib/notebooks/notebook-content';
11
15
  export { createContentGeneratorAgent, } from './agents/content-generator.agent';
12
16
  export { publishSessionArtifactsSubagentTool } from './agents/shared/publish-session-artifacts.tool';
13
17
  export { updateSessionArtifactsSubagentTool } from './agents/shared/update-session-artifacts.tool';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC9G,OAAO,EACL,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,gBAAgB,GACtB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAC5I,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC9E,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,cAAc,GACf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,yCAAyC,CAAA;AAChD,OAAO,EACL,2BAA2B,GAC5B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,mCAAmC,EAAE,MAAM,gDAAgD,CAAA;AACpG,OAAO,EAAE,kCAAkC,EAAE,MAAM,+CAA+C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC9G,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,gBAAgB,GACtB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAC5I,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC9E,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,cAAc,GACf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,yCAAyC,CAAA;AAChD,OAAO,EACL,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,iCAAiC,CAAA;AACxC,YAAY,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,cAAc,GACf,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,6BAA6B,EAC7B,KAAK,eAAe,GACrB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACL,2BAA2B,GAC5B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,mCAAmC,EAAE,MAAM,gDAAgD,CAAA;AACpG,OAAO,EAAE,kCAAkC,EAAE,MAAM,+CAA+C,CAAA"}
package/dist/index.js CHANGED
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateSessionArtifactsSubagentTool = exports.publishSessionArtifactsSubagentTool = exports.createContentGeneratorAgent = exports.buildSessionArtifactDocumentId = exports.parseSessionArtifactDocumentId = exports.CHAT_NOT_FOUND = exports.loadChatForUser = exports.hasChatAccess = exports.assertSessionAccess = exports.initRealtime = exports.AgentServiceStore = exports.createSetupAgents = exports.setupAgents = exports.getBuilderApiRouter = exports.getAgentService = exports.getBuilderApiContext = exports.setBuilderApiContext = exports.resolveBuilderApiLogger = exports.getBuilderApiLogger = exports.configureBuilderApiLogger = exports.agentDepsFromConfig = exports.createBuilderApi = void 0;
3
+ exports.updateSessionArtifactsSubagentTool = exports.publishSessionArtifactsSubagentTool = exports.createContentGeneratorAgent = exports.validateNotebookContentString = exports.serializeNotebookContent = exports.parseNotebookContent = exports.createEmptyNotebookContent = exports.NOTEBOOK_CONTENT_VERSION = exports.buildNotebookDocumentId = exports.parseNotebookDocumentId = exports.buildSessionArtifactDocumentId = exports.parseSessionArtifactDocumentId = exports.CHAT_NOT_FOUND = exports.loadChatForUser = exports.hasChatAccess = exports.assertSessionAccess = exports.initRealtime = exports.AgentServiceStore = exports.createSetupAgents = exports.setupAgents = exports.getBuilderApiRouter = exports.getAgentService = exports.getBuilderApiContext = exports.setBuilderApiContext = exports.resolveBuilderApiLogger = exports.getBuilderApiLogger = exports.configureBuilderApiLogger = exports.DEFAULT_AI_MODEL = exports.agentDepsFromConfig = exports.createBuilderApi = void 0;
4
4
  var create_builder_api_1 = require("./create-builder-api");
5
5
  Object.defineProperty(exports, "createBuilderApi", { enumerable: true, get: function () { return create_builder_api_1.createBuilderApi; } });
6
6
  var builder_api_config_1 = require("./builder-api-config");
7
7
  Object.defineProperty(exports, "agentDepsFromConfig", { enumerable: true, get: function () { return builder_api_config_1.agentDepsFromConfig; } });
8
+ Object.defineProperty(exports, "DEFAULT_AI_MODEL", { enumerable: true, get: function () { return builder_api_config_1.DEFAULT_AI_MODEL; } });
8
9
  var logger_1 = require("./logger");
9
10
  Object.defineProperty(exports, "configureBuilderApiLogger", { enumerable: true, get: function () { return logger_1.configureBuilderApiLogger; } });
10
11
  Object.defineProperty(exports, "getBuilderApiLogger", { enumerable: true, get: function () { return logger_1.getBuilderApiLogger; } });
@@ -30,6 +31,15 @@ Object.defineProperty(exports, "CHAT_NOT_FOUND", { enumerable: true, get: functi
30
31
  var session_artifact_document_id_1 = require("./realtime/session-artifact-document-id");
31
32
  Object.defineProperty(exports, "parseSessionArtifactDocumentId", { enumerable: true, get: function () { return session_artifact_document_id_1.parseSessionArtifactDocumentId; } });
32
33
  Object.defineProperty(exports, "buildSessionArtifactDocumentId", { enumerable: true, get: function () { return session_artifact_document_id_1.buildSessionArtifactDocumentId; } });
34
+ var notebook_document_id_1 = require("./realtime/notebook-document-id");
35
+ Object.defineProperty(exports, "parseNotebookDocumentId", { enumerable: true, get: function () { return notebook_document_id_1.parseNotebookDocumentId; } });
36
+ Object.defineProperty(exports, "buildNotebookDocumentId", { enumerable: true, get: function () { return notebook_document_id_1.buildNotebookDocumentId; } });
37
+ var notebook_content_1 = require("./lib/notebooks/notebook-content");
38
+ Object.defineProperty(exports, "NOTEBOOK_CONTENT_VERSION", { enumerable: true, get: function () { return notebook_content_1.NOTEBOOK_CONTENT_VERSION; } });
39
+ Object.defineProperty(exports, "createEmptyNotebookContent", { enumerable: true, get: function () { return notebook_content_1.createEmptyNotebookContent; } });
40
+ Object.defineProperty(exports, "parseNotebookContent", { enumerable: true, get: function () { return notebook_content_1.parseNotebookContent; } });
41
+ Object.defineProperty(exports, "serializeNotebookContent", { enumerable: true, get: function () { return notebook_content_1.serializeNotebookContent; } });
42
+ Object.defineProperty(exports, "validateNotebookContentString", { enumerable: true, get: function () { return notebook_content_1.validateNotebookContentString; } });
33
43
  var content_generator_agent_1 = require("./agents/content-generator.agent");
34
44
  Object.defineProperty(exports, "createContentGeneratorAgent", { enumerable: true, get: function () { return content_generator_agent_1.createContentGeneratorAgent; } });
35
45
  var publish_session_artifacts_tool_1 = require("./agents/shared/publish-session-artifacts.tool");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2DAA8G;AAArG,sHAAA,gBAAgB,OAAA;AACzB,2DAI6B;AAH3B,yHAAA,mBAAmB,OAAA;AAIrB,mCAKiB;AAJf,mHAAA,yBAAyB,OAAA;AACzB,6GAAA,mBAAmB,OAAA;AACnB,iHAAA,uBAAuB,OAAA;AAGzB,qCAA4I;AAAnI,+GAAA,oBAAoB,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAAE,0GAAA,eAAe,OAAA;AACpE,mCAA8C;AAArC,6GAAA,mBAAmB,OAAA;AAC5B,mCAAyD;AAAhD,qGAAA,WAAW,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AACvC,uDAAsD;AAA7C,qHAAA,iBAAiB,OAAA;AAC1B,0DAA8E;AAArE,6GAAA,YAAY,OAAA;AACrB,iDAK0B;AAJxB,kHAAA,mBAAmB,OAAA;AACnB,4GAAA,aAAa,OAAA;AACb,8GAAA,eAAe,OAAA;AACf,6GAAA,cAAc,OAAA;AAEhB,wFAGgD;AAF9C,8IAAA,8BAA8B,OAAA;AAC9B,8IAAA,8BAA8B,OAAA;AAEhC,4EAEyC;AADvC,sIAAA,2BAA2B,OAAA;AAE7B,iGAAoG;AAA3F,qJAAA,mCAAmC,OAAA;AAC5C,+FAAkG;AAAzF,mJAAA,kCAAkC,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2DAA8G;AAArG,sHAAA,gBAAgB,OAAA;AACzB,2DAK6B;AAJ3B,yHAAA,mBAAmB,OAAA;AACnB,sHAAA,gBAAgB,OAAA;AAIlB,mCAKiB;AAJf,mHAAA,yBAAyB,OAAA;AACzB,6GAAA,mBAAmB,OAAA;AACnB,iHAAA,uBAAuB,OAAA;AAGzB,qCAA4I;AAAnI,+GAAA,oBAAoB,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAAE,0GAAA,eAAe,OAAA;AACpE,mCAA8C;AAArC,6GAAA,mBAAmB,OAAA;AAC5B,mCAAyD;AAAhD,qGAAA,WAAW,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AACvC,uDAAsD;AAA7C,qHAAA,iBAAiB,OAAA;AAC1B,0DAA8E;AAArE,6GAAA,YAAY,OAAA;AACrB,iDAK0B;AAJxB,kHAAA,mBAAmB,OAAA;AACnB,4GAAA,aAAa,OAAA;AACb,8GAAA,eAAe,OAAA;AACf,6GAAA,cAAc,OAAA;AAEhB,wFAGgD;AAF9C,8IAAA,8BAA8B,OAAA;AAC9B,8IAAA,8BAA8B,OAAA;AAEhC,wEAGwC;AAFtC,+HAAA,uBAAuB,OAAA;AACvB,+HAAA,uBAAuB,OAAA;AAezB,qEAOyC;AANvC,4HAAA,wBAAwB,OAAA;AACxB,8HAAA,0BAA0B,OAAA;AAC1B,wHAAA,oBAAoB,OAAA;AACpB,4HAAA,wBAAwB,OAAA;AACxB,iIAAA,6BAA6B,OAAA;AAG/B,4EAEyC;AADvC,sIAAA,2BAA2B,OAAA;AAE7B,iGAAoG;AAA3F,qJAAA,mCAAmC,OAAA;AAC5C,+FAAkG;AAAzF,mJAAA,kCAAkC,OAAA"}
@@ -0,0 +1,3 @@
1
+ import { AIService } from '@multiplayer-app/ai-agent-node/dist/esm/services/AIService.js';
2
+ export declare function getAgentAiService(): AIService;
3
+ //# sourceMappingURL=agent-ai-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-ai-service.d.ts","sourceRoot":"","sources":["../../../src/lib/ai/agent-ai-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,+DAA+D,CAAA;AAOzF,wBAAgB,iBAAiB,IAAI,SAAS,CAS7C"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAgentAiService = getAgentAiService;
4
+ const AIService_js_1 = require("@multiplayer-app/ai-agent-node/dist/esm/services/AIService.js");
5
+ const config_js_1 = require("@multiplayer-app/ai-agent-node/dist/esm/config.js");
6
+ const ModelStore_js_1 = require("@multiplayer-app/ai-agent-node/dist/esm/store/ModelStore.js");
7
+ const context_1 = require("../../context");
8
+ let cachedAiService = null;
9
+ function getAgentAiService() {
10
+ if (!cachedAiService) {
11
+ cachedAiService = new AIService_js_1.AIService(ModelStore_js_1.ModelStore.getInstance(), config_js_1.ConfigProvider.getInstance().getConfig().ai, (0, context_1.getAgentService)().getTenantCredentialResolver());
12
+ }
13
+ return cachedAiService;
14
+ }
15
+ //# sourceMappingURL=agent-ai-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-ai-service.js","sourceRoot":"","sources":["../../../src/lib/ai/agent-ai-service.ts"],"names":[],"mappings":";;AAOA,8CASC;AAhBD,gGAAyF;AACzF,iFAAkF;AAClF,+FAAwF;AACxF,2CAA+C;AAE/C,IAAI,eAAe,GAAqB,IAAI,CAAA;AAE5C,SAAgB,iBAAiB;IAC/B,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,eAAe,GAAG,IAAI,wBAAS,CAC7B,0BAAU,CAAC,WAAW,EAAE,EACxB,0BAAc,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,EAC3C,IAAA,yBAAe,GAAE,CAAC,2BAA2B,EAAE,CAChD,CAAA;IACH,CAAC;IACD,OAAO,eAAe,CAAA;AACxB,CAAC"}
@@ -0,0 +1,13 @@
1
+ declare function truncateForLog(value: string, maxLength?: number): string;
2
+ declare function previewForLog(value: string | undefined, maxLength?: number): string | undefined;
3
+ export declare function serializeAiError(error: unknown, depth?: number): Record<string, unknown>;
4
+ export declare function summarizeMessagesForLog(messages: Array<{
5
+ role: string;
6
+ content: unknown;
7
+ }>): Array<{
8
+ role: string;
9
+ contentPreview: string;
10
+ contentLength: number;
11
+ }>;
12
+ export { previewForLog, truncateForLog };
13
+ //# sourceMappingURL=ai-error-details.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-error-details.d.ts","sourceRoot":"","sources":["../../../src/lib/ai/ai-error-details.ts"],"names":[],"mappings":"AAEA,iBAAS,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAsB,GAAG,MAAM,CAK9E;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,SAAM,GAAG,MAAM,GAAG,SAAS,CAMrF;AAiBD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoDnF;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,GAClD,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,CAUxE;AAED,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.serializeAiError = serializeAiError;
4
+ exports.summarizeMessagesForLog = summarizeMessagesForLog;
5
+ exports.previewForLog = previewForLog;
6
+ exports.truncateForLog = truncateForLog;
7
+ const MAX_LOG_TEXT_LENGTH = 2000;
8
+ function truncateForLog(value, maxLength = MAX_LOG_TEXT_LENGTH) {
9
+ if (value.length <= maxLength) {
10
+ return value;
11
+ }
12
+ return `${value.slice(0, maxLength)}…[truncated ${value.length - maxLength} chars]`;
13
+ }
14
+ function previewForLog(value, maxLength = 240) {
15
+ if (!value) {
16
+ return undefined;
17
+ }
18
+ const normalized = value.replace(/\s+/g, ' ').trim();
19
+ return truncateForLog(normalized, maxLength);
20
+ }
21
+ function serializeAiError(error, depth = 0) {
22
+ var _a, _b, _c, _d, _e;
23
+ if (depth > 4) {
24
+ return { truncated: true };
25
+ }
26
+ if (!(error instanceof Error)) {
27
+ return { value: String(error) };
28
+ }
29
+ const err = error;
30
+ const details = {
31
+ name: err.name,
32
+ message: err.message,
33
+ };
34
+ if (err.code)
35
+ details.code = err.code;
36
+ if (err.type)
37
+ details.type = err.type;
38
+ if (err.reason)
39
+ details.reason = err.reason;
40
+ const statusCode = (_b = (_a = err.statusCode) !== null && _a !== void 0 ? _a : err.status) !== null && _b !== void 0 ? _b : (_c = err.response) === null || _c === void 0 ? void 0 : _c.status;
41
+ if (statusCode !== undefined) {
42
+ details.statusCode = statusCode;
43
+ }
44
+ if ((_d = err.response) === null || _d === void 0 ? void 0 : _d.statusText) {
45
+ details.statusText = err.response.statusText;
46
+ }
47
+ if (err.url) {
48
+ details.url = err.url;
49
+ }
50
+ if (err.responseBody) {
51
+ details.responseBody = truncateForLog(err.responseBody);
52
+ }
53
+ else if (((_e = err.response) === null || _e === void 0 ? void 0 : _e.body) !== undefined) {
54
+ const body = typeof err.response.body === 'string'
55
+ ? err.response.body
56
+ : JSON.stringify(err.response.body);
57
+ details.responseBody = truncateForLog(body);
58
+ }
59
+ if (err.data !== undefined) {
60
+ details.data = err.data;
61
+ }
62
+ if (err.cause) {
63
+ details.cause = serializeAiError(err.cause, depth + 1);
64
+ }
65
+ if (err.lastError) {
66
+ details.lastError = serializeAiError(err.lastError, depth + 1);
67
+ }
68
+ if (Array.isArray(err.errors) && err.errors.length > 0) {
69
+ details.errors = err.errors.map((attemptError) => serializeAiError(attemptError, depth + 1));
70
+ }
71
+ return details;
72
+ }
73
+ function summarizeMessagesForLog(messages) {
74
+ return messages.map((message) => {
75
+ var _a;
76
+ const content = typeof message.content === 'string' ? message.content : JSON.stringify(message.content);
77
+ return {
78
+ role: message.role,
79
+ contentPreview: (_a = previewForLog(content)) !== null && _a !== void 0 ? _a : '',
80
+ contentLength: content.length,
81
+ };
82
+ });
83
+ }
84
+ //# sourceMappingURL=ai-error-details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-error-details.js","sourceRoot":"","sources":["../../../src/lib/ai/ai-error-details.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { ModelMessage } from 'ai';
2
+ export interface GenerateAiTextInput {
3
+ accountId: string;
4
+ model?: string;
5
+ system: string;
6
+ messages: ModelMessage[];
7
+ signal?: AbortSignal;
8
+ temperature?: number;
9
+ maxOutputTokens?: number;
10
+ }
11
+ export declare function generateAiText(input: GenerateAiTextInput): Promise<string>;
12
+ //# sourceMappingURL=generate-ai-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-ai-text.d.ts","sourceRoot":"","sources":["../../../src/lib/ai/generate-ai-text.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,IAAI,CAAA;AAgBrD,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,YAAY,EAAE,CAAA;IACxB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AA+FD,wBAAsB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAehF"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateAiText = generateAiText;
4
+ const anthropic_1 = require("@ai-sdk/anthropic");
5
+ const google_1 = require("@ai-sdk/google");
6
+ const openai_1 = require("@ai-sdk/openai");
7
+ const ai_sdk_provider_1 = require("@openrouter/ai-sdk-provider");
8
+ const ai_1 = require("ai");
9
+ const builder_api_config_1 = require("../../builder-api-config");
10
+ const context_1 = require("../../context");
11
+ function providerApiKeyField(provider) {
12
+ switch (provider) {
13
+ case 'openai':
14
+ return 'openaiApiKey';
15
+ case 'anthropic':
16
+ return 'anthropicApiKey';
17
+ case 'google':
18
+ return 'googleApiKey';
19
+ case 'openrouter':
20
+ return 'openrouterApiKey';
21
+ }
22
+ }
23
+ function providerBaseUrlField(provider) {
24
+ switch (provider) {
25
+ case 'openai':
26
+ return 'openaiBaseUrl';
27
+ case 'anthropic':
28
+ return 'anthropicBaseUrl';
29
+ case 'google':
30
+ return 'googleBaseUrl';
31
+ case 'openrouter':
32
+ return 'openrouterBaseUrl';
33
+ }
34
+ }
35
+ function platformApiKeyEnv(provider) {
36
+ switch (provider) {
37
+ case 'openai':
38
+ return process.env.OPENAI_API_KEY;
39
+ case 'anthropic':
40
+ return process.env.ANTHROPIC_API_KEY;
41
+ case 'google':
42
+ return process.env.GOOGLE_API_KEY;
43
+ case 'openrouter':
44
+ return process.env.OPENROUTER_API_KEY;
45
+ }
46
+ }
47
+ async function resolveProviderCredential(provider, accountId) {
48
+ const resolver = (0, context_1.getAgentService)().getTenantCredentialResolver();
49
+ const tenantCredentials = await resolver.resolveCredentials({ accountId });
50
+ const apiKeyField = providerApiKeyField(provider);
51
+ const baseUrlField = providerBaseUrlField(provider);
52
+ const tenantApiKey = tenantCredentials[apiKeyField];
53
+ if (tenantApiKey) {
54
+ return {
55
+ apiKey: tenantApiKey,
56
+ baseUrl: tenantCredentials[baseUrlField],
57
+ };
58
+ }
59
+ const platformApiKey = platformApiKeyEnv(provider);
60
+ if (!platformApiKey) {
61
+ throw new Error(`AI provider credentials are not configured for ${provider}`);
62
+ }
63
+ return { apiKey: platformApiKey };
64
+ }
65
+ async function resolveModel(modelId) {
66
+ var _a, _b;
67
+ const { models } = await (0, context_1.getAgentService)().getModelProcessor().getModels();
68
+ if (models.length === 0) {
69
+ throw new Error('No AI models are available');
70
+ }
71
+ const defaultModelId = (_a = modelId !== null && modelId !== void 0 ? modelId : (0, context_1.getBuilderApiContext)().config.ai.defaultModel) !== null && _a !== void 0 ? _a : builder_api_config_1.DEFAULT_AI_MODEL;
72
+ return (_b = models.find((model) => model.id === defaultModelId)) !== null && _b !== void 0 ? _b : models[0];
73
+ }
74
+ function createLanguageModel(model, apiKey, baseUrl) {
75
+ const provider = (model.provider || 'openrouter');
76
+ const providerConfig = baseUrl ? { apiKey, baseURL: baseUrl } : { apiKey };
77
+ switch (provider) {
78
+ case 'openai':
79
+ return (0, openai_1.createOpenAI)(providerConfig)(model.id);
80
+ case 'anthropic':
81
+ return (0, anthropic_1.createAnthropic)(providerConfig)(model.id);
82
+ case 'google':
83
+ return (0, google_1.createGoogleGenerativeAI)(providerConfig)(model.id);
84
+ case 'openrouter':
85
+ return (0, ai_sdk_provider_1.createOpenRouter)(providerConfig)(model.id);
86
+ default:
87
+ throw new Error(`Unsupported AI provider: ${provider}`);
88
+ }
89
+ }
90
+ async function generateAiText(input) {
91
+ var _a, _b;
92
+ const model = await resolveModel(input.model);
93
+ const provider = (model.provider || 'openrouter');
94
+ const { apiKey, baseUrl } = await resolveProviderCredential(provider, input.accountId);
95
+ const { text } = await (0, ai_1.generateText)({
96
+ model: createLanguageModel(model, apiKey, baseUrl),
97
+ system: input.system,
98
+ messages: input.messages,
99
+ temperature: (_a = input.temperature) !== null && _a !== void 0 ? _a : 0.1,
100
+ maxOutputTokens: (_b = input.maxOutputTokens) !== null && _b !== void 0 ? _b : 1500,
101
+ abortSignal: input.signal,
102
+ });
103
+ return text;
104
+ }
105
+ //# sourceMappingURL=generate-ai-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-ai-text.js","sourceRoot":"","sources":["../../../src/lib/ai/generate-ai-text.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { ModelMessage } from 'ai';
2
+ export interface RunExplicitAgentTextInput {
3
+ agentName: string;
4
+ accountId: string;
5
+ model?: string;
6
+ system?: string;
7
+ messages: ModelMessage[];
8
+ signal?: AbortSignal;
9
+ temperature?: number;
10
+ maxOutputTokens?: number;
11
+ /** Included in structured logs to identify which notebook assistant step failed. */
12
+ logLabel?: string;
13
+ }
14
+ export declare function runExplicitAgentText(input: RunExplicitAgentTextInput): Promise<string>;
15
+ //# sourceMappingURL=run-explicit-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-explicit-agent.d.ts","sourceRoot":"","sources":["../../../src/lib/ai/run-explicit-agent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAGtC,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,YAAY,EAAE,CAAA;IACxB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAUD,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB5F"}