@agent-deck/backend 1.3.0 → 1.3.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 (43) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/cli-runtime.d.ts +23 -1
  3. package/dist/cli-runtime.d.ts.map +1 -1
  4. package/dist/cli-runtime.js +54 -1
  5. package/dist/cli-runtime.js.map +1 -1
  6. package/dist/export-import/export-bundle.d.ts +9 -0
  7. package/dist/export-import/export-bundle.d.ts.map +1 -0
  8. package/dist/export-import/export-bundle.js +76 -0
  9. package/dist/export-import/export-bundle.js.map +1 -0
  10. package/dist/export-import/import-bundle.d.ts +8 -0
  11. package/dist/export-import/import-bundle.d.ts.map +1 -0
  12. package/dist/export-import/import-bundle.js +266 -0
  13. package/dist/export-import/import-bundle.js.map +1 -0
  14. package/dist/export-import/index.d.ts +4 -0
  15. package/dist/export-import/index.d.ts.map +1 -0
  16. package/dist/export-import/index.js +15 -0
  17. package/dist/export-import/index.js.map +1 -0
  18. package/dist/export-import/sanitize-for-export.d.ts +8 -0
  19. package/dist/export-import/sanitize-for-export.d.ts.map +1 -0
  20. package/dist/export-import/sanitize-for-export.js +75 -0
  21. package/dist/export-import/sanitize-for-export.js.map +1 -0
  22. package/dist/mcp-tools/register.d.ts.map +1 -1
  23. package/dist/mcp-tools/register.js +2 -3
  24. package/dist/mcp-tools/register.js.map +1 -1
  25. package/dist/models/database.d.ts +9 -0
  26. package/dist/models/database.d.ts.map +1 -1
  27. package/dist/models/database.js +166 -75
  28. package/dist/models/database.js.map +1 -1
  29. package/dist/routes/export-import.d.ts +3 -0
  30. package/dist/routes/export-import.d.ts.map +1 -0
  31. package/dist/routes/export-import.js +52 -0
  32. package/dist/routes/export-import.js.map +1 -0
  33. package/dist/scope/display.js +1 -1
  34. package/dist/scope/display.js.map +1 -1
  35. package/dist/server/index.d.ts.map +1 -1
  36. package/dist/server/index.js +2 -0
  37. package/dist/server/index.js.map +1 -1
  38. package/package.json +2 -2
  39. package/static-ui/assets/index-Dbe7pvO1.css +1 -0
  40. package/static-ui/assets/index-DjS40Wzw.js +420 -0
  41. package/static-ui/index.html +3 -2
  42. package/static-ui/assets/index-CQoBRW1p.js +0 -409
  43. package/static-ui/assets/index-wleyGzod.css +0 -1
@@ -1,13 +1,22 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PlaybookDependencyError = void 0;
6
+ exports.ImportBundleError = exports.ExportBundleError = exports.PlaybookDependencyError = void 0;
4
7
  exports.createCliCredentialManager = createCliCredentialManager;
5
8
  exports.createCliCollectionAdmin = createCliCollectionAdmin;
9
+ exports.createCliExportImport = createCliExportImport;
10
+ const promises_1 = __importDefault(require("node:fs/promises"));
11
+ const node_path_1 = __importDefault(require("node:path"));
6
12
  const database_1 = require("./models/database");
7
13
  const paths_1 = require("./lib/paths");
8
14
  const vault_1 = require("./vault");
9
15
  const playbook_manager_1 = require("./playbooks/playbook-manager");
10
16
  Object.defineProperty(exports, "PlaybookDependencyError", { enumerable: true, get: function () { return playbook_manager_1.PlaybookDependencyError; } });
17
+ const export_import_1 = require("./export-import");
18
+ Object.defineProperty(exports, "ExportBundleError", { enumerable: true, get: function () { return export_import_1.ExportBundleError; } });
19
+ Object.defineProperty(exports, "ImportBundleError", { enumerable: true, get: function () { return export_import_1.ImportBundleError; } });
11
20
  /** Shared credential manager for the agent-deck CLI (vault + exec). */
12
21
  function createCliCredentialManager() {
13
22
  const db = new database_1.DatabaseManager((0, paths_1.resolveDatabasePath)());
@@ -76,4 +85,48 @@ function createCliCollectionAdmin() {
76
85
  },
77
86
  };
78
87
  }
88
+ /**
89
+ * Export / import layouts (MCP + playbooks + decks). No credentials or secrets.
90
+ */
91
+ function createCliExportImport() {
92
+ const db = new database_1.DatabaseManager((0, paths_1.resolveDatabasePath)());
93
+ return {
94
+ async exportToFile(outputPath, request) {
95
+ try {
96
+ const bundle = await (0, export_import_1.buildExportBundle)(db, request);
97
+ const resolved = node_path_1.default.resolve(outputPath);
98
+ await promises_1.default.mkdir(node_path_1.default.dirname(resolved), { recursive: true });
99
+ await promises_1.default.writeFile(resolved, `${JSON.stringify(bundle, null, 2)}\n`, 'utf8');
100
+ return { ok: true, bundle };
101
+ }
102
+ catch (error) {
103
+ const message = error instanceof export_import_1.ExportBundleError
104
+ ? error.message
105
+ : error instanceof Error
106
+ ? error.message
107
+ : String(error);
108
+ return { ok: false, error: message };
109
+ }
110
+ },
111
+ async importFromFile(inputPath) {
112
+ try {
113
+ const text = await promises_1.default.readFile(node_path_1.default.resolve(inputPath), 'utf8');
114
+ const raw = (0, export_import_1.parseBundleJson)(text);
115
+ const report = await (0, export_import_1.importBundle)(db, raw);
116
+ if (report.status === 'failed') {
117
+ return { ok: false, error: report.warnings.join('; ') || 'Import failed' };
118
+ }
119
+ return { ok: true, report };
120
+ }
121
+ catch (error) {
122
+ const message = error instanceof export_import_1.ImportBundleError
123
+ ? error.message
124
+ : error instanceof Error
125
+ ? error.message
126
+ : String(error);
127
+ return { ok: false, error: message };
128
+ }
129
+ },
130
+ };
131
+ }
79
132
  //# sourceMappingURL=cli-runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-runtime.js","sourceRoot":"","sources":["../src/cli-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-runtime.js","sourceRoot":"","sources":["../src/cli-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { BundleV1, ExportRequest } from '@agent-deck/shared';
2
+ import type { DatabaseManager } from '../models/database';
3
+ export declare class ExportBundleError extends Error {
4
+ constructor(message: string);
5
+ }
6
+ export declare function buildExportBundle(db: DatabaseManager, request: ExportRequest, options?: {
7
+ agentDeckVersion?: string;
8
+ }): Promise<BundleV1>;
9
+ //# sourceMappingURL=export-bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-bundle.d.ts","sourceRoot":"","sources":["../../src/export-import/export-bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAER,aAAa,EAId,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAI1D,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AA2BD,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,eAAe,EACnB,OAAO,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,GACtC,OAAO,CAAC,QAAQ,CAAC,CA4DnB"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExportBundleError = void 0;
4
+ exports.buildExportBundle = buildExportBundle;
5
+ const shared_1 = require("@agent-deck/shared");
6
+ const version_1 = require("../lib/version");
7
+ const sanitize_for_export_1 = require("./sanitize-for-export");
8
+ class ExportBundleError extends Error {
9
+ constructor(message) {
10
+ super(message);
11
+ this.name = 'ExportBundleError';
12
+ }
13
+ }
14
+ exports.ExportBundleError = ExportBundleError;
15
+ function toBundlePlaybook(playbook, allowedServiceIds) {
16
+ return {
17
+ id: playbook.id,
18
+ title: playbook.title,
19
+ body: playbook.body,
20
+ triggers: playbook.triggers,
21
+ dependsOnServiceIds: playbook.dependsOnServiceIds.filter((id) => allowedServiceIds.has(id)),
22
+ ...(playbook.exec ? { exec: playbook.exec } : {}),
23
+ ...(playbook.skill ? { skill: playbook.skill } : {}),
24
+ };
25
+ }
26
+ async function buildExportBundle(db, request, options) {
27
+ const input = shared_1.ExportRequestSchema.parse(request);
28
+ const agentDeckVersion = options?.agentDeckVersion ?? (0, version_1.getAgentDeckVersion)();
29
+ let services = [];
30
+ let playbooks = [];
31
+ let decks = [];
32
+ if (input.scope === 'collection') {
33
+ const allServices = await db.getAllServices();
34
+ services = allServices.map(sanitize_for_export_1.sanitizeServiceForExport);
35
+ const allowedServiceIds = new Set(services.map((service) => service.id));
36
+ const allPlaybooks = await db.getAllPlaybooks();
37
+ playbooks = allPlaybooks.map((playbook) => toBundlePlaybook(playbook, allowedServiceIds));
38
+ const allDecks = await db.getAllDecks();
39
+ decks = allDecks.map((deck) => ({
40
+ id: deck.id,
41
+ name: deck.name,
42
+ serviceIds: (deck.services ?? []).map((service) => service.id),
43
+ playbookIds: (deck.playbooks ?? []).map((playbook) => playbook.id),
44
+ }));
45
+ }
46
+ else {
47
+ const deck = await db.getDeck(input.deckId);
48
+ if (!deck) {
49
+ throw new ExportBundleError(`Deck not found: ${input.deckId}`);
50
+ }
51
+ const deckServices = deck.services ?? [];
52
+ services = deckServices.map(sanitize_for_export_1.sanitizeServiceForExport);
53
+ const allowedServiceIds = new Set(services.map((service) => service.id));
54
+ const deckPlaybooks = deck.playbooks ?? [];
55
+ playbooks = deckPlaybooks.map((playbook) => toBundlePlaybook(playbook, allowedServiceIds));
56
+ decks = [
57
+ {
58
+ id: deck.id,
59
+ name: deck.name,
60
+ serviceIds: deckServices.map((service) => service.id),
61
+ playbookIds: deckPlaybooks.map((playbook) => playbook.id),
62
+ },
63
+ ];
64
+ }
65
+ return shared_1.BundleV1Schema.parse({
66
+ format: 'agent-deck-bundle',
67
+ version: 1,
68
+ exportedAt: new Date().toISOString(),
69
+ exportedFrom: { agentDeckVersion },
70
+ scope: input.scope,
71
+ services,
72
+ playbooks,
73
+ decks,
74
+ });
75
+ }
76
+ //# sourceMappingURL=export-bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-bundle.js","sourceRoot":"","sources":["../../src/export-import/export-bundle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { ImportReport } from '@agent-deck/shared';
2
+ import type { DatabaseManager } from '../models/database';
3
+ export declare class ImportBundleError extends Error {
4
+ constructor(message: string);
5
+ }
6
+ export declare function importBundle(db: DatabaseManager, raw: unknown): Promise<ImportReport>;
7
+ export declare function parseBundleJson(text: string): unknown;
8
+ //# sourceMappingURL=import-bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-bundle.d.ts","sourceRoot":"","sources":["../../src/export-import/import-bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAIb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AA6LD,wBAAsB,YAAY,CAChC,EAAE,EAAE,eAAe,EACnB,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,YAAY,CAAC,CA2HvB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMrD"}
@@ -0,0 +1,266 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ImportBundleError = void 0;
4
+ exports.importBundle = importBundle;
5
+ exports.parseBundleJson = parseBundleJson;
6
+ const shared_1 = require("@agent-deck/shared");
7
+ const sanitize_for_export_1 = require("./sanitize-for-export");
8
+ class ImportBundleError extends Error {
9
+ constructor(message) {
10
+ super(message);
11
+ this.name = 'ImportBundleError';
12
+ }
13
+ }
14
+ exports.ImportBundleError = ImportBundleError;
15
+ function isUniqueConstraintError(error) {
16
+ const code = error && typeof error === 'object' && 'code' in error
17
+ ? String(error.code)
18
+ : '';
19
+ const message = error instanceof Error ? error.message : String(error);
20
+ return (code.includes('CONSTRAINT') ||
21
+ message.includes('UNIQUE constraint failed') ||
22
+ message.includes('already exists'));
23
+ }
24
+ function remapServiceDeps(playbookTitle, dependsOnServiceIds, serviceIdMap, warnings) {
25
+ const resolved = [];
26
+ for (const bundleServiceId of dependsOnServiceIds) {
27
+ const mapped = serviceIdMap[bundleServiceId];
28
+ if (mapped) {
29
+ resolved.push(mapped);
30
+ }
31
+ else {
32
+ warnings.push(`Playbook "${playbookTitle}": dropped missing service dependency ${bundleServiceId}`);
33
+ }
34
+ }
35
+ return resolved;
36
+ }
37
+ async function resolveService(db, service, warnings, servicesNeedingOauth) {
38
+ try {
39
+ const created = await db.createService({
40
+ name: service.name,
41
+ type: service.type,
42
+ url: service.url,
43
+ cardColor: service.cardColor ?? '#92E4DD',
44
+ ...(service.description ? { description: service.description } : {}),
45
+ ...(service.iconUrl ? { iconUrl: service.iconUrl } : {}),
46
+ ...(service.headers ? { headers: service.headers } : {}),
47
+ ...(service.oauthClientId ? { oauthClientId: service.oauthClientId } : {}),
48
+ ...(service.oauthAuthorizationUrl
49
+ ? { oauthAuthorizationUrl: service.oauthAuthorizationUrl }
50
+ : {}),
51
+ ...(service.oauthTokenUrl ? { oauthTokenUrl: service.oauthTokenUrl } : {}),
52
+ ...(service.oauthRedirectUri
53
+ ? { oauthRedirectUri: service.oauthRedirectUri }
54
+ : {}),
55
+ ...(service.oauthScope ? { oauthScope: service.oauthScope } : {}),
56
+ ...(service.localCommand ? { localCommand: service.localCommand } : {}),
57
+ ...(service.localArgs ? { localArgs: service.localArgs } : {}),
58
+ ...(service.localWorkingDir
59
+ ? { localWorkingDir: service.localWorkingDir }
60
+ : {}),
61
+ });
62
+ if (service.disabledToolNames && service.disabledToolNames.length > 0) {
63
+ await db.updateServiceDisabledTools(created.id, service.disabledToolNames);
64
+ }
65
+ if ((0, sanitize_for_export_1.serviceNeedsOauthReconnect)(service)) {
66
+ servicesNeedingOauth.push(service.name);
67
+ }
68
+ return { targetId: created.id, created: true };
69
+ }
70
+ catch (error) {
71
+ if (!isUniqueConstraintError(error)) {
72
+ throw error;
73
+ }
74
+ const existing = (await db.getAllServices()).find((row) => row.name === service.name);
75
+ if (!existing) {
76
+ throw error;
77
+ }
78
+ warnings.push(`Skipped service "${service.name}" (already exists)`);
79
+ return { targetId: existing.id, created: false };
80
+ }
81
+ }
82
+ async function resolvePlaybook(db, playbook, serviceIdMap, warnings) {
83
+ try {
84
+ const dependsOnServiceIds = remapServiceDeps(playbook.title, playbook.dependsOnServiceIds, serviceIdMap, warnings);
85
+ const created = await db.createPlaybook({
86
+ id: playbook.id,
87
+ title: playbook.title,
88
+ body: playbook.body,
89
+ triggers: playbook.triggers,
90
+ dependsOnCredentialIds: [],
91
+ dependsOnServiceIds,
92
+ exec: playbook.exec,
93
+ skill: playbook.skill,
94
+ });
95
+ return { targetId: created.id, created: true };
96
+ }
97
+ catch (error) {
98
+ if (!isUniqueConstraintError(error)) {
99
+ throw error;
100
+ }
101
+ const byId = await db.getPlaybook(playbook.id);
102
+ const byTitle = byId ??
103
+ (await db.getAllPlaybooks()).find((row) => row.title === playbook.title);
104
+ if (!byTitle) {
105
+ throw error;
106
+ }
107
+ warnings.push(`Skipped playbook "${playbook.title}" (${playbook.id}) (already exists)`);
108
+ return { targetId: byTitle.id, created: false };
109
+ }
110
+ }
111
+ async function resolveDeck(db, name, warnings) {
112
+ try {
113
+ const created = await db.createDeck({
114
+ name,
115
+ isActive: false,
116
+ credentials: [],
117
+ playbooks: [],
118
+ });
119
+ return { targetId: created.id, created: true };
120
+ }
121
+ catch (error) {
122
+ if (!isUniqueConstraintError(error)) {
123
+ throw error;
124
+ }
125
+ const existing = (await db.getAllDecks()).find((row) => row.name === name);
126
+ if (!existing) {
127
+ throw error;
128
+ }
129
+ warnings.push(`Skipped deck "${name}" (already exists)`);
130
+ return { targetId: existing.id, created: false };
131
+ }
132
+ }
133
+ async function linkService(db, deckId, serviceId, position) {
134
+ const existing = await db.getDeckServices(deckId);
135
+ if (existing.some((row) => row.serviceId === serviceId)) {
136
+ return false;
137
+ }
138
+ await db.addServiceToDeck({ deckId, serviceId, position });
139
+ return true;
140
+ }
141
+ async function linkPlaybook(db, deckId, playbookId, position) {
142
+ const existing = await db.getDeckPlaybooks(deckId);
143
+ if (existing.some((row) => row.playbookId === playbookId)) {
144
+ return false;
145
+ }
146
+ await db.addPlaybookToDeck({ deckId, playbookId, position });
147
+ return true;
148
+ }
149
+ async function importBundle(db, raw) {
150
+ const parsed = shared_1.BundleV1Schema.safeParse(raw);
151
+ if (!parsed.success) {
152
+ const message = parsed.error.issues
153
+ .map((issue) => `${issue.path.join('.') || 'bundle'}: ${issue.message}`)
154
+ .join('; ');
155
+ throw new ImportBundleError(`Invalid bundle: ${message}`);
156
+ }
157
+ const bundle = parsed.data;
158
+ const warnings = [];
159
+ const servicesNeedingOauth = [];
160
+ const idMap = {};
161
+ const counts = {
162
+ services: { created: 0, reused: 0 },
163
+ playbooks: { created: 0, reused: 0 },
164
+ decks: { created: 0, reused: 0 },
165
+ };
166
+ try {
167
+ const seenBundleServiceIds = new Set();
168
+ for (const service of bundle.services) {
169
+ if (seenBundleServiceIds.has(service.id)) {
170
+ warnings.push(`Skipped duplicate service id in bundle: ${service.id}`);
171
+ continue;
172
+ }
173
+ seenBundleServiceIds.add(service.id);
174
+ const resolved = await resolveService(db, service, warnings, servicesNeedingOauth);
175
+ idMap[service.id] = resolved.targetId;
176
+ if (resolved.created) {
177
+ counts.services.created += 1;
178
+ }
179
+ else {
180
+ counts.services.reused += 1;
181
+ }
182
+ }
183
+ const seenBundlePlaybookIds = new Set();
184
+ for (const playbook of bundle.playbooks) {
185
+ if (seenBundlePlaybookIds.has(playbook.id)) {
186
+ warnings.push(`Skipped duplicate playbook id in bundle: ${playbook.id}`);
187
+ continue;
188
+ }
189
+ seenBundlePlaybookIds.add(playbook.id);
190
+ const resolved = await resolvePlaybook(db, playbook, idMap, warnings);
191
+ idMap[playbook.id] = resolved.targetId;
192
+ if (resolved.created) {
193
+ counts.playbooks.created += 1;
194
+ }
195
+ else {
196
+ counts.playbooks.reused += 1;
197
+ }
198
+ }
199
+ for (const deck of bundle.decks) {
200
+ const resolved = await resolveDeck(db, deck.name, warnings);
201
+ idMap[deck.id] = resolved.targetId;
202
+ if (resolved.created) {
203
+ counts.decks.created += 1;
204
+ }
205
+ else {
206
+ counts.decks.reused += 1;
207
+ }
208
+ const deckId = resolved.targetId;
209
+ const existingServices = await db.getDeckServices(deckId);
210
+ let position = existingServices.length;
211
+ for (const bundleServiceId of deck.serviceIds) {
212
+ const serviceId = idMap[bundleServiceId];
213
+ if (!serviceId) {
214
+ warnings.push(`Deck "${deck.name}": skipped unknown service ${bundleServiceId}`);
215
+ continue;
216
+ }
217
+ const linked = await linkService(db, deckId, serviceId, position);
218
+ if (linked) {
219
+ position += 1;
220
+ }
221
+ }
222
+ const existingPlaybooks = await db.getDeckPlaybooks(deckId);
223
+ position = existingPlaybooks.length;
224
+ for (const bundlePlaybookId of deck.playbookIds) {
225
+ const playbookId = idMap[bundlePlaybookId];
226
+ if (!playbookId) {
227
+ warnings.push(`Deck "${deck.name}": skipped unknown playbook ${bundlePlaybookId}`);
228
+ continue;
229
+ }
230
+ const linked = await linkPlaybook(db, deckId, playbookId, position);
231
+ if (linked) {
232
+ position += 1;
233
+ }
234
+ }
235
+ }
236
+ return shared_1.ImportReportSchema.parse({
237
+ status: 'completed',
238
+ counts,
239
+ servicesNeedingOauth,
240
+ warnings,
241
+ idMap,
242
+ });
243
+ }
244
+ catch (error) {
245
+ if (error instanceof ImportBundleError) {
246
+ throw error;
247
+ }
248
+ const message = error instanceof Error ? error.message : String(error);
249
+ return shared_1.ImportReportSchema.parse({
250
+ status: 'failed',
251
+ counts,
252
+ servicesNeedingOauth,
253
+ warnings: [...warnings, message],
254
+ idMap,
255
+ });
256
+ }
257
+ }
258
+ function parseBundleJson(text) {
259
+ try {
260
+ return JSON.parse(text);
261
+ }
262
+ catch {
263
+ throw new ImportBundleError('Bundle is not valid JSON');
264
+ }
265
+ }
266
+ //# sourceMappingURL=import-bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-bundle.js","sourceRoot":"","sources":["../../src/export-import/import-bundle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { buildExportBundle, ExportBundleError } from './export-bundle';
2
+ export { importBundle, parseBundleJson, ImportBundleError } from './import-bundle';
3
+ export { sanitizeServiceForExport, serviceNeedsOauthReconnect, FORBIDDEN_EXPORT_SERVICE_KEYS, } from './sanitize-for-export';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/export-import/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FORBIDDEN_EXPORT_SERVICE_KEYS = exports.serviceNeedsOauthReconnect = exports.sanitizeServiceForExport = exports.ImportBundleError = exports.parseBundleJson = exports.importBundle = exports.ExportBundleError = exports.buildExportBundle = void 0;
4
+ var export_bundle_1 = require("./export-bundle");
5
+ Object.defineProperty(exports, "buildExportBundle", { enumerable: true, get: function () { return export_bundle_1.buildExportBundle; } });
6
+ Object.defineProperty(exports, "ExportBundleError", { enumerable: true, get: function () { return export_bundle_1.ExportBundleError; } });
7
+ var import_bundle_1 = require("./import-bundle");
8
+ Object.defineProperty(exports, "importBundle", { enumerable: true, get: function () { return import_bundle_1.importBundle; } });
9
+ Object.defineProperty(exports, "parseBundleJson", { enumerable: true, get: function () { return import_bundle_1.parseBundleJson; } });
10
+ Object.defineProperty(exports, "ImportBundleError", { enumerable: true, get: function () { return import_bundle_1.ImportBundleError; } });
11
+ var sanitize_for_export_1 = require("./sanitize-for-export");
12
+ Object.defineProperty(exports, "sanitizeServiceForExport", { enumerable: true, get: function () { return sanitize_for_export_1.sanitizeServiceForExport; } });
13
+ Object.defineProperty(exports, "serviceNeedsOauthReconnect", { enumerable: true, get: function () { return sanitize_for_export_1.serviceNeedsOauthReconnect; } });
14
+ Object.defineProperty(exports, "FORBIDDEN_EXPORT_SERVICE_KEYS", { enumerable: true, get: function () { return sanitize_for_export_1.FORBIDDEN_EXPORT_SERVICE_KEYS; } });
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/export-import/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuE;AAA9D,kHAAA,iBAAiB,OAAA;AAAE,kHAAA,iBAAiB,OAAA;AAC7C,iDAAmF;AAA1E,6GAAA,YAAY,OAAA;AAAE,gHAAA,eAAe,OAAA;AAAE,kHAAA,iBAAiB,OAAA;AACzD,6DAI+B;AAH7B,+HAAA,wBAAwB,OAAA;AACxB,iIAAA,0BAA0B,OAAA;AAC1B,oIAAA,6BAA6B,OAAA"}
@@ -0,0 +1,8 @@
1
+ import type { BundleService } from '@agent-deck/shared';
2
+ import type { Service } from '@agent-deck/shared';
3
+ /** Create-safe service snapshot for export bundles (no secrets, no runtime state). */
4
+ export declare function sanitizeServiceForExport(service: Service): BundleService;
5
+ export declare function serviceNeedsOauthReconnect(service: BundleService): boolean;
6
+ /** Keys that must never appear on an exported service object. */
7
+ export declare const FORBIDDEN_EXPORT_SERVICE_KEYS: readonly ["oauthClientSecret", "oauthAccessToken", "oauthRefreshToken", "oauthTokenExpiresAt", "oauthState", "oauthHasToken", "localEnv", "credentialId", "health", "isConnected", "lastPing", "registeredAt", "updatedAt"];
8
+ //# sourceMappingURL=sanitize-for-export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize-for-export.d.ts","sourceRoot":"","sources":["../../src/export-import/sanitize-for-export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAsBlD,sFAAsF;AACtF,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CA+BxE;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAM1E;AAED,iEAAiE;AACjE,eAAO,MAAM,6BAA6B,6NAchC,CAAC"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FORBIDDEN_EXPORT_SERVICE_KEYS = void 0;
4
+ exports.sanitizeServiceForExport = sanitizeServiceForExport;
5
+ exports.serviceNeedsOauthReconnect = serviceNeedsOauthReconnect;
6
+ function stripAuthorizationHeader(headers) {
7
+ if (!headers) {
8
+ return undefined;
9
+ }
10
+ const next = {};
11
+ for (const [key, value] of Object.entries(headers)) {
12
+ if (key.toLowerCase() === 'authorization') {
13
+ continue;
14
+ }
15
+ next[key] = value;
16
+ }
17
+ return Object.keys(next).length > 0 ? next : undefined;
18
+ }
19
+ function presentString(value) {
20
+ return value == null || value === '' ? undefined : value;
21
+ }
22
+ /** Create-safe service snapshot for export bundles (no secrets, no runtime state). */
23
+ function sanitizeServiceForExport(service) {
24
+ const headers = stripAuthorizationHeader(service.headers);
25
+ const description = presentString(service.description);
26
+ const iconUrl = presentString(service.iconUrl);
27
+ const oauthClientId = presentString(service.oauthClientId);
28
+ const oauthAuthorizationUrl = presentString(service.oauthAuthorizationUrl);
29
+ const oauthTokenUrl = presentString(service.oauthTokenUrl);
30
+ const oauthRedirectUri = presentString(service.oauthRedirectUri);
31
+ const oauthScope = presentString(service.oauthScope);
32
+ const localCommand = presentString(service.localCommand);
33
+ const localWorkingDir = presentString(service.localWorkingDir);
34
+ return {
35
+ id: service.id,
36
+ name: service.name,
37
+ type: service.type,
38
+ url: service.url,
39
+ ...(description ? { description } : {}),
40
+ ...(service.cardColor ? { cardColor: service.cardColor } : {}),
41
+ ...(iconUrl ? { iconUrl } : {}),
42
+ disabledToolNames: service.disabledToolNames ?? [],
43
+ ...(headers ? { headers } : {}),
44
+ ...(oauthClientId ? { oauthClientId } : {}),
45
+ ...(oauthAuthorizationUrl ? { oauthAuthorizationUrl } : {}),
46
+ ...(oauthTokenUrl ? { oauthTokenUrl } : {}),
47
+ ...(oauthRedirectUri ? { oauthRedirectUri } : {}),
48
+ ...(oauthScope ? { oauthScope } : {}),
49
+ ...(localCommand ? { localCommand } : {}),
50
+ ...(service.localArgs?.length ? { localArgs: service.localArgs } : {}),
51
+ ...(localWorkingDir ? { localWorkingDir } : {}),
52
+ };
53
+ }
54
+ function serviceNeedsOauthReconnect(service) {
55
+ return Boolean(service.oauthClientId ||
56
+ service.oauthAuthorizationUrl ||
57
+ service.oauthTokenUrl);
58
+ }
59
+ /** Keys that must never appear on an exported service object. */
60
+ exports.FORBIDDEN_EXPORT_SERVICE_KEYS = [
61
+ 'oauthClientSecret',
62
+ 'oauthAccessToken',
63
+ 'oauthRefreshToken',
64
+ 'oauthTokenExpiresAt',
65
+ 'oauthState',
66
+ 'oauthHasToken',
67
+ 'localEnv',
68
+ 'credentialId',
69
+ 'health',
70
+ 'isConnected',
71
+ 'lastPing',
72
+ 'registeredAt',
73
+ 'updatedAt',
74
+ ];
75
+ //# sourceMappingURL=sanitize-for-export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize-for-export.js","sourceRoot":"","sources":["../../src/export-import/sanitize-for-export.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/mcp-tools/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,cAAc,EAAmB,MAAM,WAAW,CAAC;AAE5D,KAAK,cAAc,GAAG,CACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAAA;CAAE,EACzF,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,KACtC,IAAI,CAAC;AAEV,MAAM,MAAM,WAAW,GAAG;IACxB,YAAY,EAAE,cAAc,CAAC;IAC7B,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,IAAI,MAAM,CAAC;IACvB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACnE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzE,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,cAAc,EAAE;QACd,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG;YAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;YACvB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7D,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACnD,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;KACpD,CAAC;IACF,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAC9E,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;CAC/E,CAAC;AAIF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAQxD;AA6mBD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,EAAE,CA4BzE"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/mcp-tools/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,cAAc,EAAmB,MAAM,WAAW,CAAC;AAE5D,KAAK,cAAc,GAAG,CACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAAA;CAAE,EACzF,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,KACtC,IAAI,CAAC;AAEV,MAAM,MAAM,WAAW,GAAG;IACxB,YAAY,EAAE,cAAc,CAAC;IAC7B,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,IAAI,MAAM,CAAC;IACvB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACnE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzE,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,cAAc,EAAE;QACd,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG;YAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;YACvB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7D,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACnD,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;KACpD,CAAC;IACF,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAC9E,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;CAC/E,CAAC;AAIF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAQxD;AA4mBD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,EAAE,CA4BzE"}