@multiplayer-app/sandbox 0.0.26 → 0.0.27

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 (115) 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/filingramp-fetch.agent.d.ts +4 -0
  6. package/dist/agents/filingramp-fetch.agent.d.ts.map +1 -0
  7. package/dist/agents/filingramp-fetch.agent.js +195 -0
  8. package/dist/agents/filingramp-fetch.agent.js.map +1 -0
  9. package/dist/agents/html-generator.agent.d.ts +1 -3
  10. package/dist/agents/html-generator.agent.d.ts.map +1 -1
  11. package/dist/agents/html-generator.agent.js +4 -90
  12. package/dist/agents/html-generator.agent.js.map +1 -1
  13. package/dist/agents/knowledge/filingramp-endpoints.d.ts +23 -0
  14. package/dist/agents/knowledge/filingramp-endpoints.d.ts.map +1 -0
  15. package/dist/agents/knowledge/filingramp-endpoints.js +116 -0
  16. package/dist/agents/knowledge/filingramp-endpoints.js.map +1 -0
  17. package/dist/agents/markdown-generator.agent.d.ts.map +1 -1
  18. package/dist/agents/markdown-generator.agent.js +10 -5
  19. package/dist/agents/markdown-generator.agent.js.map +1 -1
  20. package/dist/agents/shared/blocknote-system-prompt.d.ts +2 -0
  21. package/dist/agents/shared/blocknote-system-prompt.d.ts.map +1 -0
  22. package/dist/agents/shared/blocknote-system-prompt.js +40 -0
  23. package/dist/agents/shared/blocknote-system-prompt.js.map +1 -0
  24. package/dist/agents/shared/get-latest-session-artifact.tool.d.ts +7 -0
  25. package/dist/agents/shared/get-latest-session-artifact.tool.d.ts.map +1 -0
  26. package/dist/agents/shared/get-latest-session-artifact.tool.js +43 -0
  27. package/dist/agents/shared/get-latest-session-artifact.tool.js.map +1 -0
  28. package/dist/agents/shared/get-session-artifact-content.tool.d.ts +7 -0
  29. package/dist/agents/shared/get-session-artifact-content.tool.d.ts.map +1 -0
  30. package/dist/agents/shared/get-session-artifact-content.tool.js +44 -0
  31. package/dist/agents/shared/get-session-artifact-content.tool.js.map +1 -0
  32. package/dist/agents/shared/list-session-artifact-paths.tool.d.ts +5 -0
  33. package/dist/agents/shared/list-session-artifact-paths.tool.d.ts.map +1 -0
  34. package/dist/agents/shared/list-session-artifact-paths.tool.js +37 -0
  35. package/dist/agents/shared/list-session-artifact-paths.tool.js.map +1 -0
  36. package/dist/lib/ai/agent-ai-service.d.ts +3 -0
  37. package/dist/lib/ai/agent-ai-service.d.ts.map +1 -0
  38. package/dist/lib/ai/agent-ai-service.js +15 -0
  39. package/dist/lib/ai/agent-ai-service.js.map +1 -0
  40. package/dist/lib/ai/ai-error-details.d.ts +13 -0
  41. package/dist/lib/ai/ai-error-details.d.ts.map +1 -0
  42. package/dist/lib/ai/ai-error-details.js +84 -0
  43. package/dist/lib/ai/ai-error-details.js.map +1 -0
  44. package/dist/lib/ai/generate-ai-text.d.ts +12 -0
  45. package/dist/lib/ai/generate-ai-text.d.ts.map +1 -0
  46. package/dist/lib/ai/generate-ai-text.js +105 -0
  47. package/dist/lib/ai/generate-ai-text.js.map +1 -0
  48. package/dist/lib/ai/run-explicit-agent.d.ts +15 -0
  49. package/dist/lib/ai/run-explicit-agent.d.ts.map +1 -0
  50. package/dist/lib/ai/run-explicit-agent.js +30 -0
  51. package/dist/lib/ai/run-explicit-agent.js.map +1 -0
  52. package/dist/lib/notebooks/notebook-sql-client.d.ts +5 -0
  53. package/dist/lib/notebooks/notebook-sql-client.d.ts.map +1 -0
  54. package/dist/lib/notebooks/notebook-sql-client.js +37 -0
  55. package/dist/lib/notebooks/notebook-sql-client.js.map +1 -0
  56. package/dist/lib/notebooks/notebook-sql-schema.d.ts +16 -0
  57. package/dist/lib/notebooks/notebook-sql-schema.d.ts.map +1 -0
  58. package/dist/lib/notebooks/notebook-sql-schema.js +117 -0
  59. package/dist/lib/notebooks/notebook-sql-schema.js.map +1 -0
  60. package/dist/lib/notebooks/notebook-sql.d.ts +9 -0
  61. package/dist/lib/notebooks/notebook-sql.d.ts.map +1 -0
  62. package/dist/lib/notebooks/notebook-sql.js +36 -0
  63. package/dist/lib/notebooks/notebook-sql.js.map +1 -0
  64. package/dist/lib/session-artifacts/apply-hashline-edits.d.ts +3 -0
  65. package/dist/lib/session-artifacts/apply-hashline-edits.d.ts.map +1 -0
  66. package/dist/lib/session-artifacts/apply-hashline-edits.js +25 -0
  67. package/dist/lib/session-artifacts/apply-hashline-edits.js.map +1 -0
  68. package/dist/lib/session-artifacts/artifact-text-edit.d.ts +8 -0
  69. package/dist/lib/session-artifacts/artifact-text-edit.d.ts.map +1 -0
  70. package/dist/lib/session-artifacts/artifact-text-edit.js +23 -0
  71. package/dist/lib/session-artifacts/artifact-text-edit.js.map +1 -0
  72. package/dist/lib/session-artifacts/hashline-tag.d.ts +33 -0
  73. package/dist/lib/session-artifacts/hashline-tag.d.ts.map +1 -0
  74. package/dist/lib/session-artifacts/hashline-tag.js +80 -0
  75. package/dist/lib/session-artifacts/hashline-tag.js.map +1 -0
  76. package/dist/lib/session-pages/inject-preview-error-reporter.d.ts +3 -0
  77. package/dist/lib/session-pages/inject-preview-error-reporter.d.ts.map +1 -0
  78. package/dist/lib/session-pages/inject-preview-error-reporter.js +30 -0
  79. package/dist/lib/session-pages/inject-preview-error-reporter.js.map +1 -0
  80. package/dist/lib/session-pages/read-session-artifact.d.ts +7 -0
  81. package/dist/lib/session-pages/read-session-artifact.d.ts.map +1 -0
  82. package/dist/lib/session-pages/read-session-artifact.js +60 -0
  83. package/dist/lib/session-pages/read-session-artifact.js.map +1 -0
  84. package/dist/lib/session-pages/session-pico-css.d.ts +5 -0
  85. package/dist/lib/session-pages/session-pico-css.d.ts.map +1 -0
  86. package/dist/lib/session-pages/session-pico-css.js +11 -0
  87. package/dist/lib/session-pages/session-pico-css.js.map +1 -0
  88. package/dist/realtime/realtime-auth.d.ts +12 -0
  89. package/dist/realtime/realtime-auth.d.ts.map +1 -0
  90. package/dist/realtime/realtime-auth.js +25 -0
  91. package/dist/realtime/realtime-auth.js.map +1 -0
  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/sql-execute.d.ts +3 -0
  97. package/dist/routes/notebooks/sql-execute.d.ts.map +1 -0
  98. package/dist/routes/notebooks/sql-execute.js +45 -0
  99. package/dist/routes/notebooks/sql-execute.js.map +1 -0
  100. package/dist/routes/sql.d.ts +2 -0
  101. package/dist/routes/sql.d.ts.map +1 -0
  102. package/dist/routes/sql.js +50 -0
  103. package/dist/routes/sql.js.map +1 -0
  104. package/dist/server.d.ts.map +1 -1
  105. package/dist/server.js +0 -2
  106. package/dist/server.js.map +1 -1
  107. package/package.json +9 -9
  108. package/dist/lib/library/list-library-items.d.ts +0 -20
  109. package/dist/lib/library/list-library-items.d.ts.map +0 -1
  110. package/dist/lib/library/list-library-items.js +0 -53
  111. package/dist/lib/library/list-library-items.js.map +0 -1
  112. package/dist/routes/library.d.ts +0 -2
  113. package/dist/routes/library.d.ts.map +0 -1
  114. package/dist/routes/library.js +0 -34
  115. package/dist/routes/library.js.map +0 -1
@@ -0,0 +1,3 @@
1
+ import type { Request, Response } from 'express';
2
+ export declare const executeNotebookSqlHandler: (req: Request, res: Response) => Promise<void>;
3
+ //# sourceMappingURL=sql-execute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql-execute.d.ts","sourceRoot":"","sources":["../../../src/routes/notebooks/sql-execute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAehD,eAAO,MAAM,yBAAyB,GAAU,KAAK,OAAO,EAAE,KAAK,QAAQ,kBA6B1E,CAAA"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeNotebookSqlHandler = void 0;
4
+ const zod_1 = require("zod");
5
+ const context_1 = require("../../context");
6
+ const notebook_sql_1 = require("../../lib/notebooks/notebook-sql");
7
+ const errors_1 = require("./errors");
8
+ const validatedSchema = zod_1.z.object({
9
+ params: zod_1.z.object({
10
+ notebookId: zod_1.z.string().min(1),
11
+ }),
12
+ body: zod_1.z.object({
13
+ query: zod_1.z.string().min(1, 'query is required'),
14
+ }),
15
+ });
16
+ const executeNotebookSqlHandler = async (req, res) => {
17
+ var _a;
18
+ try {
19
+ const { params, body } = validatedSchema.parse({
20
+ params: req.params,
21
+ body: (_a = req.body) !== null && _a !== void 0 ? _a : {},
22
+ });
23
+ if (!req.accountId) {
24
+ res.status(401).json({ message: 'Unauthorized: accountId is required' });
25
+ return;
26
+ }
27
+ const repository = (0, context_1.getBuilderApiContext)().notebookRepository;
28
+ if (!repository) {
29
+ res.status(503).json({ message: 'Notebook repository is not configured' });
30
+ return;
31
+ }
32
+ const notebook = await repository.getById(req.accountId, params.notebookId);
33
+ if (!notebook) {
34
+ res.status(404).json({ message: 'Notebook not found' });
35
+ return;
36
+ }
37
+ const result = await (0, notebook_sql_1.executeNotebookSqlQuery)(body.query);
38
+ res.json(result);
39
+ }
40
+ catch (error) {
41
+ (0, errors_1.respondNotebookError)(res, error);
42
+ }
43
+ };
44
+ exports.executeNotebookSqlHandler = executeNotebookSqlHandler;
45
+ //# sourceMappingURL=sql-execute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql-execute.js","sourceRoot":"","sources":["../../../src/routes/notebooks/sql-execute.ts"],"names":[],"mappings":";;;AACA,6BAAuB;AACvB,2CAAoD;AACpD,mEAA0E;AAC1E,qCAA+C;AAE/C,MAAM,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC9B,CAAC;IACF,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;QACb,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC;KAC9C,CAAC;CACH,CAAC,CAAA;AAEK,MAAM,yBAAyB,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;;IAC7E,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC;YAC7C,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,IAAI,EAAE,MAAA,GAAG,CAAC,IAAI,mCAAI,EAAE;SACrB,CAAC,CAAA;QAEF,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC,CAAA;YACxE,OAAM;QACR,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,8BAAoB,GAAE,CAAC,kBAAkB,CAAA;QAC5D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC,CAAA;YAC1E,OAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;QAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAA;YACvD,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,sCAAuB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,6BAAoB,EAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAClC,CAAC;AACH,CAAC,CAAA;AA7BY,QAAA,yBAAyB,6BA6BrC"}
@@ -0,0 +1,2 @@
1
+ export declare const sqlRoutes: import("express-serve-static-core").Router;
2
+ //# sourceMappingURL=sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/routes/sql.ts"],"names":[],"mappings":"AA8CA,eAAO,MAAM,SAAS,4CAAmB,CAAA"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.sqlRoutes = void 0;
7
+ const express_1 = __importDefault(require("express"));
8
+ const zod_1 = require("zod");
9
+ const notebook_sql_schema_1 = require("../lib/notebooks/notebook-sql-schema");
10
+ const errors_1 = require("./notebooks/errors");
11
+ const tableNameSchema = zod_1.z.object({
12
+ params: zod_1.z.object({
13
+ tableName: zod_1.z.string().min(1),
14
+ }),
15
+ });
16
+ const listSqlTables = async (req, res) => {
17
+ try {
18
+ if (!req.accountId) {
19
+ res.status(401).json({ message: 'Unauthorized: accountId is required' });
20
+ return;
21
+ }
22
+ const tables = await (0, notebook_sql_schema_1.listNotebookSqlTables)();
23
+ res.json({ tables });
24
+ }
25
+ catch (error) {
26
+ (0, errors_1.respondNotebookError)(res, error);
27
+ }
28
+ };
29
+ const getSqlTableSchema = async (req, res) => {
30
+ try {
31
+ const { params } = tableNameSchema.parse({ params: req.params });
32
+ if (!req.accountId) {
33
+ res.status(401).json({ message: 'Unauthorized: accountId is required' });
34
+ return;
35
+ }
36
+ const table = await (0, notebook_sql_schema_1.getNotebookSqlTableSchema)(params.tableName);
37
+ if (!table) {
38
+ res.status(404).json({ message: `Table "${params.tableName}" not found` });
39
+ return;
40
+ }
41
+ res.json({ table });
42
+ }
43
+ catch (error) {
44
+ (0, errors_1.respondNotebookError)(res, error);
45
+ }
46
+ };
47
+ exports.sqlRoutes = express_1.default.Router();
48
+ exports.sqlRoutes.get('/sql/tables', listSqlTables);
49
+ exports.sqlRoutes.get('/sql/tables/:tableName', getSqlTableSchema);
50
+ //# sourceMappingURL=sql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/routes/sql.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAsD;AACtD,6BAAuB;AACvB,8EAAuG;AACvG,+CAAyD;AAEzD,MAAM,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7B,CAAC;CACH,CAAC,CAAA;AAEF,MAAM,aAAa,GAAmB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IACvD,IAAI,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC,CAAA;YACxE,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,2CAAqB,GAAE,CAAA;QAC5C,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,6BAAoB,EAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAClC,CAAC;AACH,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAmB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IAC3D,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;QAEhE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC,CAAA;YACxE,OAAM;QACR,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAA,+CAAyB,EAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,MAAM,CAAC,SAAS,aAAa,EAAE,CAAC,CAAA;YAC1E,OAAM;QACR,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,6BAAoB,EAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAClC,CAAC;AACH,CAAC,CAAA;AAEY,QAAA,SAAS,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAA;AAEzC,iBAAS,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAA;AAC3C,iBAAS,CAAC,GAAG,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAY7B,wBAAgB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAapD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAW7B,wBAAgB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAYpD"}
package/dist/server.js CHANGED
@@ -10,7 +10,6 @@ const activities_1 = require("./routes/activities");
10
10
  const agents_1 = require("./routes/agents");
11
11
  const chats_1 = require("./routes/chats");
12
12
  const files_1 = require("./routes/files");
13
- const library_1 = require("./routes/library");
14
13
  const models_1 = require("./routes/models");
15
14
  const notebooks_1 = require("./routes/notebooks");
16
15
  const sessions_1 = require("./routes/sessions");
@@ -19,7 +18,6 @@ function getBuilderApiRouter() {
19
18
  const api = express_1.default.Router();
20
19
  api.use(sessions_1.sessionRoutes);
21
20
  api.use(notebooks_1.notebookRoutes);
22
- api.use(library_1.libraryRoutes);
23
21
  api.use(account_dbs_1.accountDbRoutes);
24
22
  api.use(chats_1.chatRoutes);
25
23
  api.use(models_1.modelRoutes);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;;;AAYA,kDAaC;AAzBD,sDAA6B;AAC7B,sDAAsD;AACtD,oDAAoD;AACpD,4CAA6C;AAC7C,0CAA2C;AAC3C,0CAA2C;AAC3C,8CAAgD;AAChD,4CAA6C;AAC7C,kDAAmD;AACnD,gDAAiD;AACjD,8CAA+C;AAE/C,SAAgB,mBAAmB;IACjC,MAAM,GAAG,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAA;IAC5B,GAAG,CAAC,GAAG,CAAC,wBAAa,CAAC,CAAA;IACtB,GAAG,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAA;IACvB,GAAG,CAAC,GAAG,CAAC,uBAAa,CAAC,CAAA;IACtB,GAAG,CAAC,GAAG,CAAC,6BAAe,CAAC,CAAA;IACxB,GAAG,CAAC,GAAG,CAAC,kBAAU,CAAC,CAAA;IACnB,GAAG,CAAC,GAAG,CAAC,oBAAW,CAAC,CAAA;IACpB,GAAG,CAAC,GAAG,CAAC,kBAAU,CAAC,CAAA;IACnB,GAAG,CAAC,GAAG,CAAC,oBAAW,CAAC,CAAA;IACpB,GAAG,CAAC,GAAG,CAAC,sBAAY,CAAC,CAAA;IACrB,GAAG,CAAC,GAAG,CAAC,2BAAc,CAAC,CAAA;IACvB,OAAO,GAAG,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;;;AAWA,kDAYC;AAvBD,sDAA6B;AAC7B,sDAAsD;AACtD,oDAAoD;AACpD,4CAA6C;AAC7C,0CAA2C;AAC3C,0CAA2C;AAC3C,4CAA6C;AAC7C,kDAAmD;AACnD,gDAAiD;AACjD,8CAA+C;AAE/C,SAAgB,mBAAmB;IACjC,MAAM,GAAG,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAA;IAC5B,GAAG,CAAC,GAAG,CAAC,wBAAa,CAAC,CAAA;IACtB,GAAG,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAA;IACvB,GAAG,CAAC,GAAG,CAAC,6BAAe,CAAC,CAAA;IACxB,GAAG,CAAC,GAAG,CAAC,kBAAU,CAAC,CAAA;IACnB,GAAG,CAAC,GAAG,CAAC,oBAAW,CAAC,CAAA;IACpB,GAAG,CAAC,GAAG,CAAC,kBAAU,CAAC,CAAA;IACnB,GAAG,CAAC,GAAG,CAAC,oBAAW,CAAC,CAAA;IACpB,GAAG,CAAC,GAAG,CAAC,sBAAY,CAAC,CAAA;IACrB,GAAG,CAAC,GAAG,CAAC,2BAAc,CAAC,CAAA;IACvB,OAAO,GAAG,CAAA;AACZ,CAAC"}
package/package.json CHANGED
@@ -1,23 +1,18 @@
1
1
  {
2
2
  "name": "@multiplayer-app/sandbox",
3
- "version": "0.0.26",
3
+ "version": "0.0.27",
4
4
  "description": "Embeddable Builder HTTP API and agent runtime",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "files": [
8
8
  "dist"
9
9
  ],
10
- "scripts": {
11
- "build": "tsc --build --force",
12
- "lint": "eslint src/**/*.ts --config ../../eslint.config.js",
13
- "test": "tsc -p tsconfig.test.json && node --test 'dist-test/lib/session-artifacts/**/*.test.js' 'dist-test/lib/session-pages/**/*.test.js' 'dist-test/lib/chat-access.test.js' 'dist-test/lib/notebooks/**/*.test.js' 'dist-test/realtime/notebook-document-id.test.js'"
14
- },
15
10
  "dependencies": {
16
11
  "@ai-sdk/anthropic": "3.0.42",
17
12
  "@ai-sdk/google": "3.0.26",
18
13
  "@ai-sdk/openai": "3.0.27",
19
- "@multiplayer-app/ai-agent-node": "0.1.0-beta.103",
20
- "@multiplayer-app/ai-agent-types": "0.1.0-beta.103",
14
+ "@multiplayer-app/ai-agent-node": "0.2.0",
15
+ "@multiplayer-app/ai-agent-types": "0.2.0",
21
16
  "@multiplayer-app/realtime-server": "0.1.6",
22
17
  "@openrouter/ai-sdk-provider": "2.2.3",
23
18
  "ai": "6.0.3",
@@ -30,5 +25,10 @@
30
25
  "@types/express": "^5.0.6",
31
26
  "@types/node": "^25.8.0",
32
27
  "typescript": "^6.0.3"
28
+ },
29
+ "scripts": {
30
+ "build": "tsc --build --force",
31
+ "lint": "eslint src/**/*.ts --config ../../eslint.config.js",
32
+ "test": "tsc -p tsconfig.test.json && node --test 'dist-test/lib/session-artifacts/**/*.test.js' 'dist-test/lib/session-pages/**/*.test.js' 'dist-test/lib/chat-access.test.js' 'dist-test/lib/notebooks/**/*.test.js' 'dist-test/realtime/notebook-document-id.test.js'"
33
33
  }
34
- }
34
+ }
@@ -1,20 +0,0 @@
1
- export type LibraryItemKind = 'notebook' | 'web';
2
- export type LibraryItemStatus = 'live' | 'draft';
3
- export interface LibraryItem {
4
- id: string;
5
- kind: LibraryItemKind;
6
- title: string;
7
- createdAt: string;
8
- updatedAt: string;
9
- status: LibraryItemStatus;
10
- /** API-relative preview path for web items, e.g. /sessions/:id/index.html */
11
- url?: string;
12
- fileCount?: number;
13
- owner?: string;
14
- }
15
- export interface ListLibraryItemsParams {
16
- accountId: string;
17
- userId: string;
18
- }
19
- export declare function listLibraryItems(params: ListLibraryItemsParams): Promise<LibraryItem[]>;
20
- //# sourceMappingURL=list-library-items.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-library-items.d.ts","sourceRoot":"","sources":["../../../src/lib/library/list-library-items.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,KAAK,CAAA;AAChD,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,CAAA;AAEhD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,eAAe,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,iBAAiB,CAAA;IACzB,6EAA6E;IAC7E,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf;AA2CD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAM7F"}
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.listLibraryItems = listLibraryItems;
4
- const context_1 = require("../../context");
5
- const chat_access_1 = require("../chat-access");
6
- const list_user_chats_1 = require("../list-user-chats");
7
- const list_session_artifacts_1 = require("../session-pages/list-session-artifacts");
8
- async function listNotebookItems(accountId) {
9
- const repository = (0, context_1.getBuilderApiContext)().notebookRepository;
10
- if (!repository) {
11
- return [];
12
- }
13
- const notebooks = await repository.listByAccount(accountId);
14
- return notebooks.map((notebook) => ({
15
- id: notebook.notebookId,
16
- kind: 'notebook',
17
- title: notebook.title,
18
- createdAt: notebook.createdAt,
19
- updatedAt: notebook.updatedAt,
20
- status: 'live',
21
- }));
22
- }
23
- async function listWebItems(userId) {
24
- const { data: chats } = await (0, list_user_chats_1.listUserChats)({ userId });
25
- const items = await Promise.all(chats.map(async (chat) => {
26
- var _a;
27
- const files = await (0, list_session_artifacts_1.listSessionArtifacts)(chat.id);
28
- if (files.length === 0) {
29
- return null;
30
- }
31
- const hasIndex = files.some((file) => file.path === 'index.html');
32
- return {
33
- id: chat.id,
34
- kind: 'web',
35
- title: ((_a = chat.title) === null || _a === void 0 ? void 0 : _a.trim()) || 'Untitled app',
36
- createdAt: chat.createdAt,
37
- updatedAt: chat.updatedAt,
38
- status: hasIndex ? 'live' : 'draft',
39
- ...(hasIndex ? { url: `/sessions/${chat.id}/index.html` } : {}),
40
- fileCount: files.length,
41
- owner: (0, chat_access_1.getChatOwnerId)(chat),
42
- };
43
- }));
44
- return items.filter((item) => item !== null);
45
- }
46
- async function listLibraryItems(params) {
47
- const [notebookItems, webItems] = await Promise.all([
48
- listNotebookItems(params.accountId),
49
- listWebItems(params.userId),
50
- ]);
51
- return [...notebookItems, ...webItems].sort((a, b) => b.updatedAt.localeCompare(a.updatedAt));
52
- }
53
- //# sourceMappingURL=list-library-items.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-library-items.js","sourceRoot":"","sources":["../../../src/lib/library/list-library-items.ts"],"names":[],"mappings":";;AAmEA,4CAMC;AAzED,2CAAoD;AACpD,gDAA+C;AAC/C,wDAAkD;AAClD,oFAA8E;AAuB9E,KAAK,UAAU,iBAAiB,CAAC,SAAiB;IAChD,MAAM,UAAU,GAAG,IAAA,8BAAoB,GAAE,CAAC,kBAAkB,CAAA;IAC5D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;IAC3D,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClC,EAAE,EAAE,QAAQ,CAAC,UAAU;QACvB,IAAI,EAAE,UAAmB;QACzB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,MAAM,EAAE,MAAe;KACxB,CAAC,CAAC,CAAA;AACL,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,MAAc;IACxC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,+BAAa,EAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IACvD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAA+B,EAAE;;QACpD,MAAM,KAAK,GAAG,MAAM,IAAA,6CAAoB,EAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACjD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAA;QACjE,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,EAAE,KAAI,cAAc;YAC3C,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YACnC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,SAAS,EAAE,KAAK,CAAC,MAAM;YACvB,KAAK,EAAE,IAAA,4BAAc,EAAC,IAAI,CAAC;SAC5B,CAAA;IACH,CAAC,CAAC,CACH,CAAA;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAuB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;AACnE,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAAC,MAA8B;IACnE,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClD,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC;QACnC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;KAC5B,CAAC,CAAA;IACF,OAAO,CAAC,GAAG,aAAa,EAAE,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;AAC/F,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const libraryRoutes: import("express-serve-static-core").Router;
2
- //# sourceMappingURL=library.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../src/routes/library.ts"],"names":[],"mappings":"AA2BA,eAAO,MAAM,aAAa,4CAAmB,CAAA"}
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.libraryRoutes = void 0;
7
- const express_1 = __importDefault(require("express"));
8
- const chat_access_1 = require("../lib/chat-access");
9
- const list_library_items_1 = require("../lib/library/list-library-items");
10
- function requireAccountId(req) {
11
- if (!req.accountId) {
12
- throw new Error('Unauthorized: accountId is required');
13
- }
14
- return req.accountId;
15
- }
16
- const listLibrary = async (req, res) => {
17
- try {
18
- const accountId = requireAccountId(req);
19
- const userId = (0, chat_access_1.requireUserId)(req);
20
- const items = await (0, list_library_items_1.listLibraryItems)({ accountId, userId });
21
- res.json({ accountId, items });
22
- }
23
- catch (error) {
24
- const message = error instanceof Error ? error.message : String(error);
25
- if (message.includes('Unauthorized')) {
26
- res.status(401).json({ message });
27
- return;
28
- }
29
- res.status(500).json({ message });
30
- }
31
- };
32
- exports.libraryRoutes = express_1.default.Router();
33
- exports.libraryRoutes.get('/library', listLibrary);
34
- //# sourceMappingURL=library.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"library.js","sourceRoot":"","sources":["../../src/routes/library.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAsD;AACtD,oDAAkD;AAClD,0EAAoE;AAEpE,SAAS,gBAAgB,CAAC,GAAoB;IAC5C,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;IACxD,CAAC;IACD,OAAO,GAAG,CAAC,SAAS,CAAA;AACtB,CAAC;AAED,MAAM,WAAW,GAAmB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IACrD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;QACvC,MAAM,MAAM,GAAG,IAAA,2BAAa,EAAC,GAAG,CAAC,CAAA;QACjC,MAAM,KAAK,GAAG,MAAM,IAAA,qCAAgB,EAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;QAC3D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACtE,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;YACjC,OAAM;QACR,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IACnC,CAAC;AACH,CAAC,CAAA;AAEY,QAAA,aAAa,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAA;AAE7C,qBAAa,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA"}