@agent-deck/backend 1.5.0 → 1.5.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 (143) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/bootstrap/authoring-guide.d.ts +3 -0
  3. package/dist/bootstrap/authoring-guide.d.ts.map +1 -0
  4. package/dist/bootstrap/authoring-guide.js +19 -0
  5. package/dist/bootstrap/authoring-guide.js.map +1 -0
  6. package/dist/bootstrap/cursor-project-slug.d.ts +9 -0
  7. package/dist/bootstrap/cursor-project-slug.d.ts.map +1 -0
  8. package/dist/bootstrap/cursor-project-slug.js +15 -0
  9. package/dist/bootstrap/cursor-project-slug.js.map +1 -0
  10. package/dist/bootstrap/digest-cursor-session.d.ts +11 -0
  11. package/dist/bootstrap/digest-cursor-session.d.ts.map +1 -0
  12. package/dist/bootstrap/digest-cursor-session.js +162 -0
  13. package/dist/bootstrap/digest-cursor-session.js.map +1 -0
  14. package/dist/bootstrap/digest-session.d.ts +3 -0
  15. package/dist/bootstrap/digest-session.d.ts.map +1 -0
  16. package/dist/bootstrap/digest-session.js +356 -0
  17. package/dist/bootstrap/digest-session.js.map +1 -0
  18. package/dist/bootstrap/enumerate-cursor.d.ts +13 -0
  19. package/dist/bootstrap/enumerate-cursor.d.ts.map +1 -0
  20. package/dist/bootstrap/enumerate-cursor.js +105 -0
  21. package/dist/bootstrap/enumerate-cursor.js.map +1 -0
  22. package/dist/bootstrap/enumerate.d.ts +7 -0
  23. package/dist/bootstrap/enumerate.d.ts.map +1 -0
  24. package/dist/bootstrap/enumerate.js +49 -0
  25. package/dist/bootstrap/enumerate.js.map +1 -0
  26. package/dist/bootstrap/extractors.d.ts +18 -0
  27. package/dist/bootstrap/extractors.d.ts.map +1 -0
  28. package/dist/bootstrap/extractors.js +97 -0
  29. package/dist/bootstrap/extractors.js.map +1 -0
  30. package/dist/bootstrap/feedback-lexicon.d.ts +7 -0
  31. package/dist/bootstrap/feedback-lexicon.d.ts.map +1 -0
  32. package/dist/bootstrap/feedback-lexicon.js +24 -0
  33. package/dist/bootstrap/feedback-lexicon.js.map +1 -0
  34. package/dist/bootstrap/feedback-moments.d.ts +3 -0
  35. package/dist/bootstrap/feedback-moments.d.ts.map +1 -0
  36. package/dist/bootstrap/feedback-moments.js +77 -0
  37. package/dist/bootstrap/feedback-moments.js.map +1 -0
  38. package/dist/bootstrap/handoff.d.ts +5 -0
  39. package/dist/bootstrap/handoff.d.ts.map +1 -0
  40. package/dist/bootstrap/handoff.js +22 -0
  41. package/dist/bootstrap/handoff.js.map +1 -0
  42. package/dist/bootstrap/index.d.ts +8 -0
  43. package/dist/bootstrap/index.d.ts.map +1 -0
  44. package/dist/bootstrap/index.js +20 -0
  45. package/dist/bootstrap/index.js.map +1 -0
  46. package/dist/bootstrap/real-intent.d.ts +14 -0
  47. package/dist/bootstrap/real-intent.d.ts.map +1 -0
  48. package/dist/bootstrap/real-intent.js +127 -0
  49. package/dist/bootstrap/real-intent.js.map +1 -0
  50. package/dist/bootstrap/run-bootstrap.d.ts +25 -0
  51. package/dist/bootstrap/run-bootstrap.d.ts.map +1 -0
  52. package/dist/bootstrap/run-bootstrap.js +221 -0
  53. package/dist/bootstrap/run-bootstrap.js.map +1 -0
  54. package/dist/cli-runtime.d.ts +8 -0
  55. package/dist/cli-runtime.d.ts.map +1 -1
  56. package/dist/cli-runtime.js +23 -2
  57. package/dist/cli-runtime.js.map +1 -1
  58. package/dist/export-import/sanitize-for-export.d.ts +2 -0
  59. package/dist/export-import/sanitize-for-export.d.ts.map +1 -1
  60. package/dist/export-import/sanitize-for-export.js +27 -1
  61. package/dist/export-import/sanitize-for-export.js.map +1 -1
  62. package/dist/models/database.d.ts +11 -1
  63. package/dist/models/database.d.ts.map +1 -1
  64. package/dist/models/database.js +196 -1
  65. package/dist/models/database.js.map +1 -1
  66. package/dist/playbooks/playbook-manager.d.ts +5 -1
  67. package/dist/playbooks/playbook-manager.d.ts.map +1 -1
  68. package/dist/playbooks/playbook-manager.js +40 -4
  69. package/dist/playbooks/playbook-manager.js.map +1 -1
  70. package/dist/routes/decks.d.ts +6 -1
  71. package/dist/routes/decks.d.ts.map +1 -1
  72. package/dist/routes/decks.js +49 -1
  73. package/dist/routes/decks.js.map +1 -1
  74. package/dist/routes/export-import.d.ts.map +1 -1
  75. package/dist/routes/export-import.js +4 -0
  76. package/dist/routes/export-import.js.map +1 -1
  77. package/dist/server/index.d.ts.map +1 -1
  78. package/dist/server/index.js +8 -4
  79. package/dist/server/index.js.map +1 -1
  80. package/dist/services/service-manager.d.ts +5 -1
  81. package/dist/services/service-manager.d.ts.map +1 -1
  82. package/dist/services/service-manager.js +50 -7
  83. package/dist/services/service-manager.js.map +1 -1
  84. package/dist/store/atomic-write.d.ts +2 -0
  85. package/dist/store/atomic-write.d.ts.map +1 -0
  86. package/dist/store/atomic-write.js +16 -0
  87. package/dist/store/atomic-write.js.map +1 -0
  88. package/dist/store/content-hash.d.ts +2 -0
  89. package/dist/store/content-hash.d.ts.map +1 -0
  90. package/dist/store/content-hash.js +62 -0
  91. package/dist/store/content-hash.js.map +1 -0
  92. package/dist/store/credential-codec.d.ts +4 -0
  93. package/dist/store/credential-codec.d.ts.map +1 -0
  94. package/dist/store/credential-codec.js +59 -0
  95. package/dist/store/credential-codec.js.map +1 -0
  96. package/dist/store/deck-codec.d.ts +4 -0
  97. package/dist/store/deck-codec.d.ts.map +1 -0
  98. package/dist/store/deck-codec.js +13 -0
  99. package/dist/store/deck-codec.js.map +1 -0
  100. package/dist/store/index.d.ts +5 -0
  101. package/dist/store/index.d.ts.map +1 -0
  102. package/dist/store/index.js +21 -0
  103. package/dist/store/index.js.map +1 -0
  104. package/dist/store/migrate.d.ts +17 -0
  105. package/dist/store/migrate.d.ts.map +1 -0
  106. package/dist/store/migrate.js +146 -0
  107. package/dist/store/migrate.js.map +1 -0
  108. package/dist/store/paths.d.ts +10 -0
  109. package/dist/store/paths.d.ts.map +1 -0
  110. package/dist/store/paths.js +24 -0
  111. package/dist/store/paths.js.map +1 -0
  112. package/dist/store/playbook-codec.d.ts +4 -0
  113. package/dist/store/playbook-codec.d.ts.map +1 -0
  114. package/dist/store/playbook-codec.js +65 -0
  115. package/dist/store/playbook-codec.js.map +1 -0
  116. package/dist/store/reindex.d.ts +27 -0
  117. package/dist/store/reindex.d.ts.map +1 -0
  118. package/dist/store/reindex.js +189 -0
  119. package/dist/store/reindex.js.map +1 -0
  120. package/dist/store/service-codec.d.ts +6 -0
  121. package/dist/store/service-codec.d.ts.map +1 -0
  122. package/dist/store/service-codec.js +25 -0
  123. package/dist/store/service-codec.js.map +1 -0
  124. package/dist/store/startup.d.ts +8 -0
  125. package/dist/store/startup.d.ts.map +1 -0
  126. package/dist/store/startup.js +69 -0
  127. package/dist/store/startup.js.map +1 -0
  128. package/dist/store/writer.d.ts +17 -0
  129. package/dist/store/writer.d.ts.map +1 -0
  130. package/dist/store/writer.js +96 -0
  131. package/dist/store/writer.js.map +1 -0
  132. package/dist/vault/credential-manager.d.ts +6 -1
  133. package/dist/vault/credential-manager.d.ts.map +1 -1
  134. package/dist/vault/credential-manager.js +26 -5
  135. package/dist/vault/credential-manager.js.map +1 -1
  136. package/dist/vault/yaml-sync.d.ts.map +1 -1
  137. package/dist/vault/yaml-sync.js +8 -20
  138. package/dist/vault/yaml-sync.js.map +1 -1
  139. package/package.json +8 -2
  140. package/static-ui/assets/{index-D64LC4cn.js → index-C4c6WJOq.js} +110 -110
  141. package/static-ui/assets/index-DI74jZFZ.css +1 -0
  142. package/static-ui/index.html +2 -2
  143. package/static-ui/assets/index-B1w2Pair.css +0 -1
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractRawUserText = extractRawUserText;
4
+ exports.unwrapCursorUserEnvelope = unwrapCursorUserEnvelope;
5
+ exports.isHostInjectedUserText = isHostInjectedUserText;
6
+ exports.isCursorHostInjection = isCursorHostInjection;
7
+ exports.extractUserText = extractUserText;
8
+ exports.isRealUserIntent = isRealUserIntent;
9
+ const CURSOR_USER_QUERY_RE = /<user_query>\s*([\s\S]*?)\s*<\/user_query>/i;
10
+ const CURSOR_TIMESTAMP_RE = /<timestamp>\s*[\s\S]*?\s*<\/timestamp>\s*/gi;
11
+ /** Structural Claude / Cursor host chrome — durable, locale-independent. */
12
+ const HOST_INJECTION_TAGS = [
13
+ '<local-command-caveat>',
14
+ '<command-name>',
15
+ '<command-message>',
16
+ '<local-command-stdout>',
17
+ '<system-reminder>',
18
+ '<mcp_meta_tools>',
19
+ ];
20
+ /**
21
+ * Supplemental English / host-phrasing prefixes (Cursor injections, session-continue).
22
+ * Structural tags + Cursor `<user_query>` gate are the durable filters; this list is a safety net.
23
+ */
24
+ const HOST_INJECTION_PREFIXES = [
25
+ 'Briefly inform the user about the task result',
26
+ 'The beginning of the above subagent result is already visible to the user',
27
+ 'If the available MCP tools do not fully support what the user asked you to do',
28
+ 'This session is being continued from a previous conversation',
29
+ 'Base directory for this skill:',
30
+ '===== BEGIN SESSION TRANSCRIPT',
31
+ ];
32
+ function isRecord(value) {
33
+ return typeof value === 'object' && value !== null;
34
+ }
35
+ /** Raw message text before Cursor envelope unwrap. */
36
+ function extractRawUserText(line) {
37
+ if (!isRecord(line) || !isRecord(line.message)) {
38
+ return null;
39
+ }
40
+ const { content } = line.message;
41
+ if (typeof content === 'string') {
42
+ return content;
43
+ }
44
+ if (!Array.isArray(content) || content.some((block) => !isRecord(block) || block.type !== 'text' || typeof block.text !== 'string')) {
45
+ return null;
46
+ }
47
+ return content.map((block) => block.text).join('\n');
48
+ }
49
+ /**
50
+ * Strip Cursor `<timestamp>` / unwrap `<user_query>…</user_query>`.
51
+ * Claude string content is unchanged (no those tags).
52
+ */
53
+ function unwrapCursorUserEnvelope(raw) {
54
+ let text = raw.replace(CURSOR_TIMESTAMP_RE, '').trim();
55
+ const match = CURSOR_USER_QUERY_RE.exec(text);
56
+ if (match) {
57
+ return match[1].trim();
58
+ }
59
+ return text.trim();
60
+ }
61
+ /** Host-injected user-role text for both Claude and Cursor (not a human task intent). */
62
+ function isHostInjectedUserText(raw) {
63
+ const lowerTags = raw; // tags are ASCII
64
+ if (HOST_INJECTION_TAGS.some((tag) => lowerTags.includes(tag))) {
65
+ return true;
66
+ }
67
+ const unwrapped = unwrapCursorUserEnvelope(raw);
68
+ return HOST_INJECTION_PREFIXES.some((prefix) => unwrapped.startsWith(prefix) || raw.includes(prefix));
69
+ }
70
+ /** @deprecated Prefer isHostInjectedUserText — kept for call-site clarity in Cursor-focused tests. */
71
+ function isCursorHostInjection(raw) {
72
+ return isHostInjectedUserText(raw);
73
+ }
74
+ function extractUserText(line) {
75
+ const raw = extractRawUserText(line);
76
+ if (raw === null) {
77
+ return null;
78
+ }
79
+ const text = unwrapCursorUserEnvelope(raw);
80
+ return text.length > 0 ? text : null;
81
+ }
82
+ function isRealUserIntent(line) {
83
+ if (!isRecord(line)) {
84
+ return false;
85
+ }
86
+ const transcriptLine = line;
87
+ if (transcriptLine.isSidechain === true) {
88
+ return false;
89
+ }
90
+ if (Object.prototype.hasOwnProperty.call(transcriptLine, 'toolUseResult')) {
91
+ return false;
92
+ }
93
+ const raw = extractRawUserText(transcriptLine);
94
+ if (raw === null || raw.trim().length === 0) {
95
+ return false;
96
+ }
97
+ // Shared host-injection gate (Claude slash/hook chrome + Cursor injected role:user).
98
+ if (isHostInjectedUserText(raw)) {
99
+ return false;
100
+ }
101
+ // Cursor role:user without <user_query> is almost always host chrome.
102
+ // Real Cursor turns (dated or legacy) wrap the body in <user_query>.
103
+ const messageRole = isRecord(transcriptLine.message) ? transcriptLine.message.role : undefined;
104
+ const looksLikeCursorUser = transcriptLine.role === 'user' || (messageRole === 'user' && transcriptLine.type !== 'user');
105
+ if (looksLikeCursorUser && !CURSOR_USER_QUERY_RE.test(raw) && !raw.includes('<timestamp>')) {
106
+ return false;
107
+ }
108
+ const text = unwrapCursorUserEnvelope(raw);
109
+ if (text.length === 0) {
110
+ return false;
111
+ }
112
+ const isUser = transcriptLine.type === 'user' ||
113
+ transcriptLine.role === 'user' ||
114
+ messageRole === 'user';
115
+ if (!isUser) {
116
+ return false;
117
+ }
118
+ // Cursor control lines (turn_ended, etc.) must not count even if they carry a message blob.
119
+ if (typeof transcriptLine.type === 'string' &&
120
+ transcriptLine.type !== 'user' &&
121
+ transcriptLine.type !== 'assistant' &&
122
+ transcriptLine.role !== 'user') {
123
+ return false;
124
+ }
125
+ return true;
126
+ }
127
+ //# sourceMappingURL=real-intent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"real-intent.js","sourceRoot":"","sources":["../../src/bootstrap/real-intent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { type BootstrapHost, type BootstrapManifest } from '@agent-deck/shared';
2
+ export type BootstrapHostOption = BootstrapHost | 'all';
3
+ export type BootstrapOptions = {
4
+ /** @deprecated Prefer claudeProjectsDir — kept for CLI --projects-dir compat (Claude tree). */
5
+ projectsDir?: string;
6
+ claudeProjectsDir?: string;
7
+ cursorProjectsDir?: string;
8
+ host?: BootstrapHostOption;
9
+ outDir?: string;
10
+ bootstrapRoot?: string;
11
+ workspace?: string;
12
+ since?: string;
13
+ limit?: number;
14
+ now?: () => Date;
15
+ };
16
+ export type BootstrapResult = {
17
+ outDir: string;
18
+ manifestPath: string;
19
+ guidePath: string;
20
+ latestPointerPath: string;
21
+ manifest: BootstrapManifest;
22
+ warning?: string;
23
+ };
24
+ export declare function runBootstrap(options?: BootstrapOptions): BootstrapResult;
25
+ //# sourceMappingURL=run-bootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-bootstrap.d.ts","sourceRoot":"","sources":["../../src/bootstrap/run-bootstrap.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAEvB,MAAM,oBAAoB,CAAC;AAQ5B,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,KAAK,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAOF,wBAAgB,YAAY,CAAC,OAAO,GAAE,gBAAqB,GAAG,eAAe,CAwG5E"}
@@ -0,0 +1,221 @@
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.runBootstrap = runBootstrap;
7
+ const node_fs_1 = __importDefault(require("node:fs"));
8
+ const node_os_1 = __importDefault(require("node:os"));
9
+ const node_path_1 = __importDefault(require("node:path"));
10
+ const shared_1 = require("@agent-deck/shared");
11
+ const authoring_guide_1 = require("./authoring-guide");
12
+ const cursor_project_slug_1 = require("./cursor-project-slug");
13
+ const digest_cursor_session_1 = require("./digest-cursor-session");
14
+ const digest_session_1 = require("./digest-session");
15
+ const enumerate_cursor_1 = require("./enumerate-cursor");
16
+ const enumerate_1 = require("./enumerate");
17
+ function runBootstrap(options = {}) {
18
+ const now = options.now ?? (() => new Date());
19
+ const host = options.host ?? 'all';
20
+ const claudeProjectsDir = node_path_1.default.resolve(options.claudeProjectsDir ??
21
+ options.projectsDir ??
22
+ process.env.AGENT_DECK_CLAUDE_PROJECTS_DIR ??
23
+ node_path_1.default.join(node_os_1.default.homedir(), '.claude', 'projects'));
24
+ const cursorProjectsDir = node_path_1.default.resolve(options.cursorProjectsDir ??
25
+ process.env.AGENT_DECK_CURSOR_PROJECTS_DIR ??
26
+ node_path_1.default.join(node_os_1.default.homedir(), '.cursor', 'projects'));
27
+ // Host-agnostic Agent Deck data root (same home as DB / logs), not under ~/.claude.
28
+ const bootstrapRoot = node_path_1.default.resolve(options.bootstrapRoot ?? node_path_1.default.join((0, shared_1.resolveAgentDeckHome)(), 'bootstrap'));
29
+ const outDir = resolveOutDir(options.outDir, bootstrapRoot, now);
30
+ const since = parseSince(options.since);
31
+ const workspace = options.workspace ? node_path_1.default.resolve(options.workspace) : undefined;
32
+ const limit = normalizeLimit(options.limit);
33
+ if (node_fs_1.default.existsSync(outDir)) {
34
+ throw new Error(`Bootstrap output already exists: ${outDir}`);
35
+ }
36
+ const digests = [];
37
+ if (host === 'claude' || host === 'all') {
38
+ for (const session of (0, enumerate_1.enumerateSessions)(claudeProjectsDir)) {
39
+ digests.push({
40
+ digest: (0, digest_session_1.digestSession)(session.sessionId, readJsonLines(session.filePath)),
41
+ mtimeMs: session.mtimeMs,
42
+ });
43
+ }
44
+ }
45
+ if (host === 'cursor' || host === 'all') {
46
+ const cursorSlug = workspace ? (0, cursor_project_slug_1.encodeCursorProjectSlug)(workspace) : undefined;
47
+ for (const session of (0, enumerate_cursor_1.enumerateCursorSessions)(cursorProjectsDir)) {
48
+ if (cursorSlug && session.projectSlug !== cursorSlug) {
49
+ continue;
50
+ }
51
+ digests.push({
52
+ digest: (0, digest_cursor_session_1.digestCursorSession)(session.sessionId, readJsonLines(session.filePath), session.projectSlug, {
53
+ ...(workspace && session.projectSlug === cursorSlug ? { workspaceRoot: workspace } : {}),
54
+ }),
55
+ mtimeMs: session.mtimeMs,
56
+ });
57
+ }
58
+ }
59
+ const filtered = digests
60
+ .filter(({ digest, mtimeMs }) => matchesFilters(digest, mtimeMs, workspace, since))
61
+ .sort((left, right) => right.mtimeMs - left.mtimeMs)
62
+ .slice(0, limit);
63
+ const digestDir = node_path_1.default.join(outDir, 'digests');
64
+ node_fs_1.default.mkdirSync(digestDir, { recursive: true });
65
+ const digestPaths = new Map();
66
+ const filenameCounts = new Map();
67
+ for (const { digest } of filtered) {
68
+ const filename = uniqueDigestFilename(digest, filenameCounts);
69
+ const digestPath = node_path_1.default.join(digestDir, filename);
70
+ node_fs_1.default.writeFileSync(digestPath, `${JSON.stringify(digest, null, 2)}\n`, 'utf8');
71
+ digestPaths.set(digest, digestPath);
72
+ }
73
+ const guidePath = node_path_1.default.join(outDir, 'authoring-guide.md');
74
+ node_fs_1.default.writeFileSync(guidePath, authoring_guide_1.AUTHORING_GUIDE_MARKDOWN, 'utf8');
75
+ const hosts = {
76
+ claude: filtered.filter(({ digest }) => digest.host === 'claude').length,
77
+ cursor: filtered.filter(({ digest }) => digest.host === 'cursor').length,
78
+ };
79
+ const manifest = shared_1.BootstrapManifestSchema.parse({
80
+ schemaVersion: 1,
81
+ generatedAt: now().toISOString(),
82
+ digestDir,
83
+ guideRef: guidePath,
84
+ totalSessions: filtered.length,
85
+ hosts,
86
+ workspaces: buildWorkspaces(filtered, digestPaths),
87
+ });
88
+ const manifestPath = node_path_1.default.join(outDir, 'manifest.json');
89
+ node_fs_1.default.writeFileSync(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`, 'utf8');
90
+ node_fs_1.default.mkdirSync(bootstrapRoot, { recursive: true });
91
+ const latestPointerPath = node_path_1.default.join(bootstrapRoot, 'latest');
92
+ writeLatestPointer(latestPointerPath, outDir);
93
+ return {
94
+ outDir,
95
+ manifestPath,
96
+ guidePath,
97
+ latestPointerPath,
98
+ manifest,
99
+ ...(filtered.length < 5
100
+ ? { warning: `Only ${filtered.length} sessions found; five or more are recommended.` }
101
+ : {}),
102
+ };
103
+ }
104
+ function writeLatestPointer(latestPointerPath, outDir) {
105
+ if (node_fs_1.default.existsSync(latestPointerPath)) {
106
+ const stat = node_fs_1.default.lstatSync(latestPointerPath);
107
+ if (!stat.isFile()) {
108
+ node_fs_1.default.unlinkSync(latestPointerPath);
109
+ }
110
+ }
111
+ node_fs_1.default.writeFileSync(latestPointerPath, `${outDir}\n`, 'utf8');
112
+ }
113
+ function resolveOutDir(outDir, bootstrapRoot, now) {
114
+ if (outDir) {
115
+ return node_path_1.default.resolve(outDir);
116
+ }
117
+ const timestamp = now().toISOString();
118
+ let candidate = node_path_1.default.join(bootstrapRoot, timestamp);
119
+ let suffix = 1;
120
+ while (node_fs_1.default.existsSync(candidate)) {
121
+ candidate = node_path_1.default.join(bootstrapRoot, `${timestamp}-${suffix}`);
122
+ suffix += 1;
123
+ }
124
+ return candidate;
125
+ }
126
+ function parseSince(since) {
127
+ if (!since) {
128
+ return undefined;
129
+ }
130
+ const parsed = Date.parse(since);
131
+ if (Number.isNaN(parsed)) {
132
+ throw new Error(`Invalid --since date: ${since}`);
133
+ }
134
+ return parsed;
135
+ }
136
+ function normalizeLimit(limit) {
137
+ if (limit === undefined) {
138
+ return Number.POSITIVE_INFINITY;
139
+ }
140
+ if (!Number.isInteger(limit) || limit < 0) {
141
+ throw new Error(`Invalid limit: ${limit}`);
142
+ }
143
+ return limit;
144
+ }
145
+ function readJsonLines(filePath) {
146
+ try {
147
+ return node_fs_1.default
148
+ .readFileSync(filePath, 'utf8')
149
+ .split('\n')
150
+ .filter((line) => line.trim())
151
+ .map((line) => {
152
+ try {
153
+ return JSON.parse(line);
154
+ }
155
+ catch {
156
+ return undefined;
157
+ }
158
+ });
159
+ }
160
+ catch {
161
+ return [];
162
+ }
163
+ }
164
+ function matchesFilters(digest, mtimeMs, workspace, since) {
165
+ if (workspace) {
166
+ const slug = (0, cursor_project_slug_1.encodeCursorProjectSlug)(workspace);
167
+ const matches = digest.workspaceRoot === workspace ||
168
+ digest.workspaceSlug === slug ||
169
+ digest.workspaceLabel === slug ||
170
+ digest.workspaceRoot === slug;
171
+ if (!matches) {
172
+ return false;
173
+ }
174
+ }
175
+ return (since === undefined ||
176
+ mtimeMs >= since ||
177
+ (!Number.isNaN(Date.parse(digest.startedAt)) && Date.parse(digest.startedAt) >= since));
178
+ }
179
+ function uniqueDigestFilename(digest, counts) {
180
+ const base = `${digest.host}__${sanitizeFilename(digest.workspaceLabel || node_path_1.default.basename(digest.workspaceRoot) || 'unknown')}__${sanitizeFilename(digest.sessionId)}`;
181
+ const count = counts.get(base) ?? 0;
182
+ counts.set(base, count + 1);
183
+ return `${base}${count === 0 ? '' : `-${count + 1}`}.json`;
184
+ }
185
+ function sanitizeFilename(value) {
186
+ return value.replace(/[^a-zA-Z0-9._-]+/g, '-').replace(/^-+|-+$/g, '') || 'unknown';
187
+ }
188
+ function buildWorkspaces(records, digestPaths) {
189
+ const groups = new Map();
190
+ for (const { digest } of records) {
191
+ const key = digest.workspaceSlug || digest.workspaceRoot;
192
+ const existing = groups.get(key);
193
+ const absRoot = digest.workspaceRoot.startsWith('/') ? digest.workspaceRoot : undefined;
194
+ if (!existing) {
195
+ groups.set(key, {
196
+ workspaceRoot: absRoot ?? digest.workspaceRoot,
197
+ label: digest.workspaceLabel || node_path_1.default.basename(digest.workspaceRoot) || 'unknown',
198
+ ...(digest.workspaceSlug ? { workspaceSlug: digest.workspaceSlug } : {}),
199
+ digestPaths: [digestPaths.get(digest)],
200
+ });
201
+ continue;
202
+ }
203
+ existing.digestPaths.push(digestPaths.get(digest));
204
+ if (absRoot && !existing.workspaceRoot.startsWith('/')) {
205
+ existing.workspaceRoot = absRoot;
206
+ }
207
+ if (digest.workspaceSlug) {
208
+ existing.workspaceSlug = digest.workspaceSlug;
209
+ }
210
+ }
211
+ return [...groups.values()]
212
+ .sort((left, right) => left.workspaceRoot.localeCompare(right.workspaceRoot))
213
+ .map((group) => ({
214
+ workspaceRoot: group.workspaceRoot,
215
+ label: group.label,
216
+ ...(group.workspaceSlug ? { workspaceSlug: group.workspaceSlug } : {}),
217
+ sessionCount: group.digestPaths.length,
218
+ digestPaths: group.digestPaths.sort((left, right) => left.localeCompare(right)),
219
+ }));
220
+ }
221
+ //# sourceMappingURL=run-bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-bootstrap.js","sourceRoot":"","sources":["../../src/bootstrap/run-bootstrap.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,14 @@ export declare function createCliExportImport(): {
71
71
  }>;
72
72
  };
73
73
  export type CliExportImport = ReturnType<typeof createCliExportImport>;
74
+ /** File-backed store operations for the CLI. */
75
+ export declare function createCliStore(): {
76
+ migrate(opts?: {
77
+ dryRun?: boolean;
78
+ }): Promise<import("./store").StoreMigrateResult>;
79
+ reindex(): Promise<import("./store").StoreReindexResult>;
80
+ };
81
+ export type CliStore = ReturnType<typeof createCliStore>;
74
82
  export { PlaybookDependencyError, ExportBundleError, ImportBundleError };
75
83
  export { syncPlaybookStubs, readUseManifest, writeUseManifest, healUseManifest, type StubSyncResult, type PlaybookStubInput, } from './playbooks/stub-sync';
76
84
  //# sourceMappingURL=cli-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-runtime.d.ts","sourceRoot":"","sources":["../src/cli-runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGhF,OAAO,EAAqB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAmB,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAEL,iBAAiB,EAEjB,iBAAiB,EAElB,MAAM,iBAAiB,CAAC;AAEzB,uEAAuE;AACvE,wBAAgB,0BAA0B,IAAI,iBAAiB,CAG9D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB;sBAKZ,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;uBAsB5D,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;mBAQjE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;oBAY5D,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;qBASzD,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;iBAKjD,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;qBAKxC,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;kCAmBlE,MAAM,GACb,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;EAIvE;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE7E;;GAEG;AACH,wBAAgB,qBAAqB;6BAKnB,MAAM,WACT,aAAa,GACrB,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,QAAQ,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;8BAmB5D,MAAM,GAChB,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;EAoBhF;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;AAEzE,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,iBAAiB,GACvB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"cli-runtime.d.ts","sourceRoot":"","sources":["../src/cli-runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGhF,OAAO,EAAqB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAmB,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAEL,iBAAiB,EAEjB,iBAAiB,EAElB,MAAM,iBAAiB,CAAC;AAIzB,uEAAuE;AACvE,wBAAgB,0BAA0B,IAAI,iBAAiB,CAI9D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB;sBAMZ,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;uBAuB5D,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;mBAQjE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;oBAa5D,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;qBASzD,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;iBAKjD,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;qBAKxC,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;kCAmBlE,MAAM,GACb,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;EAIvE;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE7E;;GAEG;AACH,wBAAgB,qBAAqB;6BAKnB,MAAM,WACT,aAAa,GACrB,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,QAAQ,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;8BAmB5D,MAAM,GAChB,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;EAsBhF;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEvE,gDAAgD;AAChD,wBAAgB,cAAc;mBAIZ;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE;;EAOrC;AAED,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAEzD,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;AAEzE,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,iBAAiB,GACvB,MAAM,uBAAuB,CAAC"}
@@ -7,6 +7,7 @@ exports.healUseManifest = exports.writeUseManifest = exports.readUseManifest = e
7
7
  exports.createCliCredentialManager = createCliCredentialManager;
8
8
  exports.createCliCollectionAdmin = createCliCollectionAdmin;
9
9
  exports.createCliExportImport = createCliExportImport;
10
+ exports.createCliStore = createCliStore;
10
11
  const promises_1 = __importDefault(require("node:fs/promises"));
11
12
  const node_path_1 = __importDefault(require("node:path"));
12
13
  const database_1 = require("./models/database");
@@ -17,10 +18,13 @@ Object.defineProperty(exports, "PlaybookDependencyError", { enumerable: true, ge
17
18
  const export_import_1 = require("./export-import");
18
19
  Object.defineProperty(exports, "ExportBundleError", { enumerable: true, get: function () { return export_import_1.ExportBundleError; } });
19
20
  Object.defineProperty(exports, "ImportBundleError", { enumerable: true, get: function () { return export_import_1.ImportBundleError; } });
21
+ const store_1 = require("./store");
22
+ const writer_1 = require("./store/writer");
20
23
  /** Shared credential manager for the agent-deck CLI (vault + exec). */
21
24
  function createCliCredentialManager() {
22
25
  const db = new database_1.DatabaseManager((0, paths_1.resolveDatabasePath)());
23
- return new vault_1.CredentialManager(db, (0, vault_1.createSecretStore)());
26
+ const storeWriter = new writer_1.FileStoreWriter();
27
+ return new vault_1.CredentialManager(db, (0, vault_1.createSecretStore)(), undefined, storeWriter);
24
28
  }
25
29
  /**
26
30
  * Rare collection/deck ops for the CLI (not MCP).
@@ -28,7 +32,8 @@ function createCliCredentialManager() {
28
32
  */
29
33
  function createCliCollectionAdmin() {
30
34
  const db = new database_1.DatabaseManager((0, paths_1.resolveDatabasePath)());
31
- const playbooks = new playbook_manager_1.PlaybookManager(db);
35
+ const storeWriter = new writer_1.FileStoreWriter();
36
+ const playbooks = new playbook_manager_1.PlaybookManager(db, storeWriter);
32
37
  return {
33
38
  async deleteService(id) {
34
39
  const service = await db.getService(id);
@@ -47,6 +52,7 @@ function createCliCollectionAdmin() {
47
52
  if (!deleted) {
48
53
  return { ok: false, error: `Service not found: ${id}` };
49
54
  }
55
+ await storeWriter.deleteService(id);
50
56
  return { ok: true };
51
57
  },
52
58
  async deletePlaybook(id) {
@@ -65,6 +71,7 @@ function createCliCollectionAdmin() {
65
71
  if (!deleted) {
66
72
  return { ok: false, error: `Deck not found: ${id}` };
67
73
  }
74
+ await storeWriter.deleteDeck(id);
68
75
  return { ok: true };
69
76
  },
70
77
  async listServices() {
@@ -136,6 +143,8 @@ function createCliExportImport() {
136
143
  if (report.status === 'failed') {
137
144
  return { ok: false, error: report.warnings.join('; ') || 'Import failed' };
138
145
  }
146
+ // Overwrite store files so reindex cannot wipe imported cards.
147
+ await (0, store_1.migrateSqliteToStore)(db, { force: true });
139
148
  return { ok: true, report };
140
149
  }
141
150
  catch (error) {
@@ -149,6 +158,18 @@ function createCliExportImport() {
149
158
  },
150
159
  };
151
160
  }
161
+ /** File-backed store operations for the CLI. */
162
+ function createCliStore() {
163
+ const db = new database_1.DatabaseManager((0, paths_1.resolveDatabasePath)());
164
+ return {
165
+ migrate(opts = {}) {
166
+ return (0, store_1.migrateSqliteToStore)(db, opts);
167
+ },
168
+ reindex() {
169
+ return (0, store_1.reindexStoreToSqlite)(db, { force: true });
170
+ },
171
+ };
172
+ }
152
173
  var stub_sync_1 = require("./playbooks/stub-sync");
153
174
  Object.defineProperty(exports, "syncPlaybookStubs", { enumerable: true, get: function () { return stub_sync_1.syncPlaybookStubs; } });
154
175
  Object.defineProperty(exports, "readUseManifest", { enumerable: true, get: function () { return stub_sync_1.readUseManifest; } });
@@ -1 +1 @@
1
- {"version":3,"file":"cli-runtime.js","sourceRoot":"","sources":["../src/cli-runtime.ts"],"names":[],"mappings":";;;;;;AAgBA,gEAGC;AAMD,4DA0FC;AAOD,sDA+CC;AAzKD,gEAAkC;AAClC,0DAA6B;AAE7B,gDAAoD;AACpD,uCAAkD;AAClD,mCAA+D;AAC/D,mEAAwF;AAuK/E,wGAvKA,0CAAuB,OAuKA;AAtKhC,mDAMyB;AAgKS,kGApKhC,iCAAiB,OAoKgC;AAAE,kGAlKnD,iCAAiB,OAkKmD;AA9JtE,uEAAuE;AACvE,SAAgB,0BAA0B;IACxC,MAAM,EAAE,GAAG,IAAI,0BAAe,CAAC,IAAA,2BAAmB,GAAE,CAAC,CAAC;IACtD,OAAO,IAAI,yBAAiB,CAAC,EAAE,EAAE,IAAA,yBAAiB,GAAE,CAAC,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,SAAgB,wBAAwB;IACtC,MAAM,EAAE,GAAG,IAAI,0BAAe,CAAC,IAAA,2BAAmB,GAAE,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,kCAAe,CAAC,EAAE,CAAC,CAAC;IAE1C,OAAO;QACL,KAAK,CAAC,aAAa,CAAC,EAAU;YAC5B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,EAAE,CAAC;YAC1D,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;YAC/D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvE,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,sBAAsB,OAAO,CAAC,IAAI,iCAAiC,MAAM,EAAE;iBACnF,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,EAAE,CAAC;YAC1D,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtB,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,EAAU;YAC7B,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAAE,EAAE,CAAC;YAC3D,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtB,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,EAAU;YACzB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC;YACvD,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC;YACvD,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtB,CAAC;QAED,KAAK,CAAC,YAAY;YAChB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,cAAc,EAAE,CAAC;YAC3C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAChC,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CAAC,CAAC;QACN,CAAC;QAED,KAAK,CAAC,aAAa;YACjB,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/E,CAAC;QAED,KAAK,CAAC,SAAS;YACb,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,GAAW;YAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1C,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;YACzE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACpD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,CAAC,qBAAqB,CACzB,MAAc;YAEd,OAAO,SAAS,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;KACF,CAAC;AACJ,CAAC;AAID;;GAEG;AACH,SAAgB,qBAAqB;IACnC,MAAM,EAAE,GAAG,IAAI,0BAAe,CAAC,IAAA,2BAAmB,GAAE,CAAC,CAAC;IAEtD,OAAO;QACL,KAAK,CAAC,YAAY,CAChB,UAAkB,EAClB,OAAsB;YAEtB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAA,iCAAiB,EAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC1C,MAAM,kBAAE,CAAC,KAAK,CAAC,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5D,MAAM,kBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC7E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GACX,KAAK,YAAY,iCAAiB;oBAChC,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,KAAK,YAAY,KAAK;wBACtB,CAAC,CAAC,KAAK,CAAC,OAAO;wBACf,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YACvC,CAAC;QACH,CAAC;QAED,KAAK,CAAC,cAAc,CAClB,SAAiB;YAEjB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,mBAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;gBAChE,MAAM,GAAG,GAAG,IAAA,+BAAe,EAAC,IAAI,CAAC,CAAC;gBAClC,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAY,EAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC3C,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,EAAE,CAAC;gBAC7E,CAAC;gBACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GACX,KAAK,YAAY,iCAAiB;oBAChC,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,KAAK,YAAY,KAAK;wBACtB,CAAC,CAAC,KAAK,CAAC,OAAO;wBACf,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YACvC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAMD,mDAO+B;AAN7B,8GAAA,iBAAiB,OAAA;AACjB,4GAAA,eAAe,OAAA;AACf,6GAAA,gBAAgB,OAAA;AAChB,4GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"cli-runtime.js","sourceRoot":"","sources":["../src/cli-runtime.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import type { BundleService } from '@agent-deck/shared';
2
2
  import type { Service } from '@agent-deck/shared';
3
+ /** Strip Authorization and other secret-like headers from service config snapshots. */
4
+ export declare function stripAuthorizationHeader(headers?: Record<string, string> | null): Record<string, string> | undefined;
3
5
  /** Create-safe service snapshot for export bundles (no secrets, no runtime state). */
4
6
  export declare function sanitizeServiceForExport(service: Service): BundleService;
5
7
  export declare function serviceNeedsOauthReconnect(service: BundleService): boolean;
@@ -1 +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"}
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;AA8BlD,uFAAuF;AACvF,wBAAgB,wBAAwB,CACtC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GACtC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAYpC;AAMD,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"}
@@ -1,15 +1,41 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FORBIDDEN_EXPORT_SERVICE_KEYS = void 0;
4
+ exports.stripAuthorizationHeader = stripAuthorizationHeader;
4
5
  exports.sanitizeServiceForExport = sanitizeServiceForExport;
5
6
  exports.serviceNeedsOauthReconnect = serviceNeedsOauthReconnect;
7
+ /** Header names that must never enter export bundles or the git-friendly store. */
8
+ const SECRET_HEADER_NAMES = new Set([
9
+ 'authorization',
10
+ 'proxy-authorization',
11
+ 'cookie',
12
+ 'set-cookie',
13
+ 'x-api-key',
14
+ 'api-key',
15
+ 'x-auth-token',
16
+ 'x-access-token',
17
+ 'x-secret-key',
18
+ ]);
19
+ function isSecretHeaderName(name) {
20
+ const lower = name.toLowerCase();
21
+ if (SECRET_HEADER_NAMES.has(lower)) {
22
+ return true;
23
+ }
24
+ // Catch variants like X-Foo-Api-Key / My-Access-Token
25
+ return (lower.includes('api-key') ||
26
+ lower.includes('access-token') ||
27
+ lower.includes('auth-token') ||
28
+ lower.endsWith('-secret') ||
29
+ lower.endsWith('-password'));
30
+ }
31
+ /** Strip Authorization and other secret-like headers from service config snapshots. */
6
32
  function stripAuthorizationHeader(headers) {
7
33
  if (!headers) {
8
34
  return undefined;
9
35
  }
10
36
  const next = {};
11
37
  for (const [key, value] of Object.entries(headers)) {
12
- if (key.toLowerCase() === 'authorization') {
38
+ if (isSecretHeaderName(key)) {
13
39
  continue;
14
40
  }
15
41
  next[key] = value;
@@ -1 +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
+ {"version":3,"file":"sanitize-for-export.js","sourceRoot":"","sources":["../../src/export-import/sanitize-for-export.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,11 @@
1
- import { Service, CreateServiceInput, UpdateServiceInput, Deck, CreateDeckInput, UpdateDeckInput, DeckService, AddServiceToDeckInput, RemoveServiceFromDeckInput, ReorderDeckServicesInput, Credential, AddCredentialToDeckInput, RemoveCredentialFromDeckInput, DeckCredential, ExecRun, Playbook, CreatePlaybookInput, UpdatePlaybookInput, AddPlaybookToDeckInput, RemovePlaybookFromDeckInput, DeckPlaybook, PlaybookPatch, PlaybookVersion, PlaybookEvent, FeedbackSignal, FeedbackSignalSource, FeedbackSignalStatus } from '@agent-deck/shared';
1
+ import { Service, CreateServiceInput, UpdateServiceInput, Deck, CreateDeckInput, UpdateDeckInput, DeckService, AddServiceToDeckInput, RemoveServiceFromDeckInput, ReorderDeckServicesInput, Credential, AddCredentialToDeckInput, RemoveCredentialFromDeckInput, DeckCredential, ExecRun, Playbook, CreatePlaybookInput, UpdatePlaybookInput, AddPlaybookToDeckInput, RemovePlaybookFromDeckInput, DeckPlaybook, PlaybookPatch, PlaybookVersion, PlaybookEvent, FeedbackSignal, FeedbackSignalSource, FeedbackSignalStatus, StoreCredentialMeta, StoreDeck, StorePlaybookFile, StoreService } from '@agent-deck/shared';
2
+ export declare const STORE_CONTENT_HASH = "store_content_hash";
3
+ export type StoreSnapshot = {
4
+ services: StoreService[];
5
+ credentials: StoreCredentialMeta[];
6
+ playbooks: StorePlaybookFile[];
7
+ decks: StoreDeck[];
8
+ };
2
9
  export declare class DatabaseManager {
3
10
  private db;
4
11
  constructor(dbPath?: string);
@@ -15,6 +22,9 @@ export declare class DatabaseManager {
15
22
  private dropColumnIfExists;
16
23
  private createTables;
17
24
  hasAnyServices(): boolean;
25
+ getStoreMeta(key: string): string | null;
26
+ setStoreMeta(key: string, value: string): void;
27
+ applyStoreSnapshot(snapshot: StoreSnapshot, contentHash: string): void;
18
28
  private createIndexes;
19
29
  private mapCredentialRow;
20
30
  getDeckCredentialsForDeck(deckId: string): Promise<Credential[]>;