heyiam 0.2.17 → 0.2.19

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 (163) hide show
  1. package/dist/analyzer.js +0 -1
  2. package/dist/archive.js +0 -1
  3. package/dist/auth.js +0 -1
  4. package/dist/autostart.js +0 -1
  5. package/dist/bridge.js +0 -1
  6. package/dist/config.js +0 -1
  7. package/dist/context-export.js +0 -1
  8. package/dist/daemon-install.js +0 -1
  9. package/dist/db.js +0 -1
  10. package/dist/demo-data.js +0 -1
  11. package/dist/demo-seed.js +0 -1
  12. package/dist/export.js +5 -2
  13. package/dist/format-utils.js +0 -1
  14. package/dist/index.js +0 -1
  15. package/dist/llm/anthropic-provider.js +0 -1
  16. package/dist/llm/index.js +0 -1
  17. package/dist/llm/project-enhance.js +0 -1
  18. package/dist/llm/proxy-provider.js +0 -1
  19. package/dist/llm/triage.js +0 -1
  20. package/dist/llm/types.js +0 -1
  21. package/dist/mount.js +23199 -0
  22. package/dist/parsers/claude.js +0 -1
  23. package/dist/parsers/codex.js +0 -1
  24. package/dist/parsers/cursor.js +0 -1
  25. package/dist/parsers/gemini.js +0 -1
  26. package/dist/parsers/index.js +0 -1
  27. package/dist/parsers/types.js +0 -1
  28. package/dist/redact.js +0 -1
  29. package/dist/render/build-render-data.js +0 -1
  30. package/dist/render/index.js +0 -1
  31. package/dist/render/liquid.js +0 -1
  32. package/dist/render/templates/project.liquid +28 -14
  33. package/dist/render/templates/styles.css +31 -1
  34. package/dist/render/types.js +0 -1
  35. package/dist/routes/archive.js +0 -1
  36. package/dist/routes/auth.js +0 -1
  37. package/dist/routes/context.js +0 -1
  38. package/dist/routes/dashboard.js +0 -1
  39. package/dist/routes/enhance.js +0 -1
  40. package/dist/routes/export.js +0 -1
  41. package/dist/routes/index.js +0 -1
  42. package/dist/routes/preview.js +5 -2
  43. package/dist/routes/projects.js +0 -1
  44. package/dist/routes/publish.js +4 -2
  45. package/dist/routes/search.js +0 -1
  46. package/dist/routes/sessions.js +0 -1
  47. package/dist/routes/settings.js +0 -1
  48. package/dist/screenshot.js +0 -1
  49. package/dist/search.js +0 -1
  50. package/dist/server.js +2 -2
  51. package/dist/settings.js +0 -1
  52. package/dist/source-audit.js +0 -1
  53. package/dist/summarize.js +0 -1
  54. package/dist/sync.js +0 -1
  55. package/dist/transcript.js +0 -1
  56. package/package.json +6 -3
  57. package/dist/analyzer.d.ts +0 -123
  58. package/dist/analyzer.js.map +0 -1
  59. package/dist/archive.d.ts +0 -14
  60. package/dist/archive.js.map +0 -1
  61. package/dist/auth.d.ts +0 -28
  62. package/dist/auth.js.map +0 -1
  63. package/dist/autostart.d.ts +0 -19
  64. package/dist/autostart.js.map +0 -1
  65. package/dist/bridge.d.ts +0 -58
  66. package/dist/bridge.js.map +0 -1
  67. package/dist/config.d.ts +0 -2
  68. package/dist/config.js.map +0 -1
  69. package/dist/context-export.d.ts +0 -28
  70. package/dist/context-export.js.map +0 -1
  71. package/dist/daemon-install.d.ts +0 -23
  72. package/dist/daemon-install.js.map +0 -1
  73. package/dist/db.d.ts +0 -126
  74. package/dist/db.js.map +0 -1
  75. package/dist/demo-data.d.ts +0 -95
  76. package/dist/demo-data.js.map +0 -1
  77. package/dist/demo-seed.d.ts +0 -17
  78. package/dist/demo-seed.js.map +0 -1
  79. package/dist/export.d.ts +0 -34
  80. package/dist/export.js.map +0 -1
  81. package/dist/format-utils.d.ts +0 -6
  82. package/dist/format-utils.js.map +0 -1
  83. package/dist/index.d.ts +0 -4
  84. package/dist/index.js.map +0 -1
  85. package/dist/llm/anthropic-provider.d.ts +0 -11
  86. package/dist/llm/anthropic-provider.js.map +0 -1
  87. package/dist/llm/index.d.ts +0 -16
  88. package/dist/llm/index.js.map +0 -1
  89. package/dist/llm/project-enhance.d.ts +0 -72
  90. package/dist/llm/project-enhance.js.map +0 -1
  91. package/dist/llm/proxy-provider.d.ts +0 -16
  92. package/dist/llm/proxy-provider.js.map +0 -1
  93. package/dist/llm/triage.d.ts +0 -67
  94. package/dist/llm/triage.js.map +0 -1
  95. package/dist/llm/types.d.ts +0 -19
  96. package/dist/llm/types.js.map +0 -1
  97. package/dist/parsers/claude.d.ts +0 -18
  98. package/dist/parsers/claude.js.map +0 -1
  99. package/dist/parsers/codex.d.ts +0 -8
  100. package/dist/parsers/codex.js.map +0 -1
  101. package/dist/parsers/cursor.d.ts +0 -91
  102. package/dist/parsers/cursor.js.map +0 -1
  103. package/dist/parsers/gemini.d.ts +0 -29
  104. package/dist/parsers/gemini.js.map +0 -1
  105. package/dist/parsers/index.d.ts +0 -49
  106. package/dist/parsers/index.js.map +0 -1
  107. package/dist/parsers/types.d.ts +0 -123
  108. package/dist/parsers/types.js.map +0 -1
  109. package/dist/redact.d.ts +0 -31
  110. package/dist/redact.js.map +0 -1
  111. package/dist/render/build-render-data.d.ts +0 -60
  112. package/dist/render/build-render-data.js.map +0 -1
  113. package/dist/render/index.d.ts +0 -37
  114. package/dist/render/index.js.map +0 -1
  115. package/dist/render/liquid.d.ts +0 -19
  116. package/dist/render/liquid.js.map +0 -1
  117. package/dist/render/templates/templates/project.liquid +0 -225
  118. package/dist/render/templates/templates/session.liquid +0 -158
  119. package/dist/render/templates/templates/styles.css +0 -599
  120. package/dist/render/types.d.ts +0 -122
  121. package/dist/render/types.js.map +0 -1
  122. package/dist/routes/archive.d.ts +0 -3
  123. package/dist/routes/archive.js.map +0 -1
  124. package/dist/routes/auth.d.ts +0 -3
  125. package/dist/routes/auth.js.map +0 -1
  126. package/dist/routes/context.d.ts +0 -76
  127. package/dist/routes/context.js.map +0 -1
  128. package/dist/routes/dashboard.d.ts +0 -3
  129. package/dist/routes/dashboard.js.map +0 -1
  130. package/dist/routes/enhance.d.ts +0 -3
  131. package/dist/routes/enhance.js.map +0 -1
  132. package/dist/routes/export.d.ts +0 -3
  133. package/dist/routes/export.js.map +0 -1
  134. package/dist/routes/index.d.ts +0 -12
  135. package/dist/routes/index.js.map +0 -1
  136. package/dist/routes/preview.d.ts +0 -3
  137. package/dist/routes/preview.js.map +0 -1
  138. package/dist/routes/projects.d.ts +0 -3
  139. package/dist/routes/projects.js.map +0 -1
  140. package/dist/routes/publish.d.ts +0 -3
  141. package/dist/routes/publish.js.map +0 -1
  142. package/dist/routes/search.d.ts +0 -3
  143. package/dist/routes/search.js.map +0 -1
  144. package/dist/routes/sessions.d.ts +0 -3
  145. package/dist/routes/sessions.js.map +0 -1
  146. package/dist/routes/settings.d.ts +0 -3
  147. package/dist/routes/settings.js.map +0 -1
  148. package/dist/screenshot.d.ts +0 -13
  149. package/dist/screenshot.js.map +0 -1
  150. package/dist/search.d.ts +0 -30
  151. package/dist/search.js.map +0 -1
  152. package/dist/server.d.ts +0 -14
  153. package/dist/server.js.map +0 -1
  154. package/dist/settings.d.ts +0 -109
  155. package/dist/settings.js.map +0 -1
  156. package/dist/source-audit.d.ts +0 -29
  157. package/dist/source-audit.js.map +0 -1
  158. package/dist/summarize.d.ts +0 -65
  159. package/dist/summarize.js.map +0 -1
  160. package/dist/sync.d.ts +0 -78
  161. package/dist/sync.js.map +0 -1
  162. package/dist/transcript.d.ts +0 -68
  163. package/dist/transcript.js.map +0 -1
@@ -374,4 +374,3 @@ export const claudeParser = {
374
374
  detect,
375
375
  parse,
376
376
  };
377
- //# sourceMappingURL=claude.js.map
@@ -303,4 +303,3 @@ export async function discoverCodexSessions() {
303
303
  }
304
304
  return results;
305
305
  }
306
- //# sourceMappingURL=codex.js.map
@@ -542,4 +542,3 @@ export const cursorParser = {
542
542
  detect,
543
543
  parse,
544
544
  };
545
- //# sourceMappingURL=cursor.js.map
@@ -391,4 +391,3 @@ export function resolveProjectDirs(sessions, knownDirs) {
391
391
  }
392
392
  // Re-exports for testing
393
393
  export { parseGeminiLog, groupBySession, analyzeSession, extractFileRefsFromText };
394
- //# sourceMappingURL=gemini.js.map
@@ -411,4 +411,3 @@ async function tryAddSession(fullPath, sessionId, projectDir, isSubagent, out, p
411
411
  console.log(`[discovery] No parser matched: ${fullPath}`);
412
412
  }
413
413
  }
414
- //# sourceMappingURL=index.js.map
@@ -41,4 +41,3 @@ export async function readFirstChunk(filePath) {
41
41
  await fh?.close();
42
42
  }
43
43
  }
44
- //# sourceMappingURL=types.js.map
package/dist/redact.js CHANGED
@@ -370,4 +370,3 @@ export function formatFindings(findings) {
370
370
  }
371
371
  return lines.join("\n");
372
372
  }
373
- //# sourceMappingURL=redact.js.map
@@ -99,4 +99,3 @@ export function buildProjectRenderData(opts) {
99
99
  sessionBaseUrl: opts.sessionBaseUrl,
100
100
  };
101
101
  }
102
- //# sourceMappingURL=build-render-data.js.map
@@ -101,4 +101,3 @@ export function renderSessionHtml(data) {
101
101
  throw new RenderError('RENDER_FAILED', `Failed to render session page for ${data.session.token}`, err);
102
102
  }
103
103
  }
104
- //# sourceMappingURL=index.js.map
@@ -156,4 +156,3 @@ export function renderProject(data, extras) {
156
156
  export function renderSession(data) {
157
157
  return engine.renderFileSync('session', data);
158
158
  }
159
- //# sourceMappingURL=liquid.js.map
@@ -45,13 +45,9 @@
45
45
  </div>
46
46
  {% endif %}
47
47
 
48
- {%- comment -%} Stats grid {%- endcomment -%}
49
- <div class="stat-grid">
50
- <div class="stat-card">
51
- <div class="stat-card__label">Sessions</div>
52
- <div class="stat-card__value">{{ project.totalSessions }}</div>
53
- </div>
54
- <div class="stat-card">
48
+ {%- comment -%} Stats: hero time card + compact grid {%- endcomment -%}
49
+ <div class="stat-hero-layout">
50
+ <div class="stat-card stat-card--hero">
55
51
  <div class="stat-card__label">{{ durationLabel }}</div>
56
52
  <div class="stat-card__value">
57
53
  {% if project.totalAgentDurationMinutes %}
@@ -60,14 +56,32 @@
60
56
  {{ project.totalDurationMinutes | formatDuration }}
61
57
  {% endif %}
62
58
  </div>
59
+ {% if efficiencyMultiplier %}
60
+ <div class="stat-card__sub">
61
+ <div class="stat-card__label">Efficiency multiplier</div>
62
+ <div class="stat-card__value stat-card__value--sm">{{ efficiencyMultiplier }}</div>
63
+ </div>
64
+ {% endif %}
63
65
  </div>
64
- <div class="stat-card">
65
- <div class="stat-card__label">Lines changed</div>
66
- <div class="stat-card__value">{{ project.totalLoc | formatLoc }}</div>
67
- </div>
68
- <div class="stat-card">
69
- <div class="stat-card__label">Files</div>
70
- <div class="stat-card__value">{{ project.totalFilesChanged }}</div>
66
+ <div class="stat-grid--compact">
67
+ <div class="stat-card">
68
+ <div class="stat-card__label">Sessions</div>
69
+ <div class="stat-card__value">{{ project.totalSessions }}</div>
70
+ </div>
71
+ <div class="stat-card">
72
+ <div class="stat-card__label">Lines changed</div>
73
+ <div class="stat-card__value">{{ project.totalLoc | formatLoc }}</div>
74
+ </div>
75
+ <div class="stat-card">
76
+ <div class="stat-card__label">Files</div>
77
+ <div class="stat-card__value">{{ project.totalFilesChanged }}</div>
78
+ </div>
79
+ {% if project.totalTokens %}
80
+ <div class="stat-card">
81
+ <div class="stat-card__label">Tokens</div>
82
+ <div class="stat-card__value">{{ project.totalTokens | formatTokens }}</div>
83
+ </div>
84
+ {% endif %}
71
85
  </div>
72
86
  </div>
73
87
 
@@ -75,9 +75,38 @@ a:hover { text-decoration: underline; }
75
75
  color: var(--on-surface-variant);
76
76
  }
77
77
 
78
+ .stat-hero-layout {
79
+ display: grid;
80
+ grid-template-columns: 1fr 2fr;
81
+ gap: 0.75rem;
82
+ margin-bottom: 1rem;
83
+ }
84
+
85
+ .stat-grid--compact {
86
+ display: grid;
87
+ grid-template-columns: repeat(2, 1fr);
88
+ gap: 0.75rem;
89
+ }
90
+
91
+ .stat-card--hero {
92
+ display: flex;
93
+ flex-direction: column;
94
+ justify-content: space-between;
95
+ }
96
+
97
+ .stat-card__sub {
98
+ margin-top: 0.5rem;
99
+ padding-top: 0.5rem;
100
+ border-top: 1px solid var(--border);
101
+ }
102
+
103
+ .stat-card__value--sm {
104
+ font-size: 1.25rem;
105
+ }
106
+
78
107
  .stat-grid {
79
108
  display: grid;
80
- grid-template-columns: repeat(4, 1fr);
109
+ grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
81
110
  gap: 0.75rem;
82
111
  margin-bottom: 1rem;
83
112
  }
@@ -562,6 +591,7 @@ a:hover { text-decoration: underline; }
562
591
  @media (max-width: 768px) {
563
592
  .session-layout { grid-template-columns: 1fr; }
564
593
  .session-sidebar { border-right: none; border-bottom: 1px solid var(--ghost); padding-right: 0; padding-bottom: 1rem; }
594
+ .stat-hero-layout { grid-template-columns: 1fr; }
565
595
  .stat-grid { grid-template-columns: repeat(2, 1fr); }
566
596
  .session-grid { grid-template-columns: 1fr; }
567
597
  .two-col { grid-template-columns: 1fr; }
@@ -6,4 +6,3 @@
6
6
  * in `app/src/types.ts` — the render pipeline owns its own contract.
7
7
  */
8
8
  export {};
9
- //# sourceMappingURL=types.js.map
@@ -132,4 +132,3 @@ async function verifyDir(dir, result) {
132
132
  }
133
133
  }
134
134
  }
135
- //# sourceMappingURL=archive.js.map
@@ -123,4 +123,3 @@ export function createAuthRouter(_ctx) {
123
123
  });
124
124
  return router;
125
125
  }
126
- //# sourceMappingURL=auth.js.map
@@ -507,4 +507,3 @@ export function createRouteContext(sessionsBasePath, dbPath) {
507
507
  buildPreviewPage,
508
508
  };
509
509
  }
510
- //# sourceMappingURL=context.js.map
@@ -101,4 +101,3 @@ export function createDashboardRouter(ctx) {
101
101
  });
102
102
  return router;
103
103
  }
104
- //# sourceMappingURL=dashboard.js.map
@@ -302,4 +302,3 @@ export function createEnhanceRouter(ctx) {
302
302
  });
303
303
  return router;
304
304
  }
305
- //# sourceMappingURL=enhance.js.map
@@ -226,4 +226,3 @@ export function createExportRouter(ctx) {
226
226
  });
227
227
  return router;
228
228
  }
229
- //# sourceMappingURL=export.js.map
@@ -10,4 +10,3 @@ export { createSettingsRouter } from './settings.js';
10
10
  export { createExportRouter } from './export.js';
11
11
  export { createPreviewRouter } from './preview.js';
12
12
  export { createDashboardRouter } from './dashboard.js';
13
- //# sourceMappingURL=index.js.map
@@ -180,7 +180,11 @@ export function createPreviewRouter(ctx) {
180
180
  });
181
181
  // Serve @heyiam/ui mount script for preview pages
182
182
  router.get('/heyiam-mount.js', (_req, res) => {
183
- const mountPath = path.resolve(__dirname, '..', '..', '..', 'packages', 'ui', 'dist', 'mount.js');
183
+ // In built dist: dist/mount.js (copied during build)
184
+ // In dev: ../../../packages/ui/dist/mount.js (monorepo layout)
185
+ const builtPath = path.resolve(__dirname, '..', 'mount.js');
186
+ const devPath = path.resolve(__dirname, '..', '..', '..', 'packages', 'ui', 'dist', 'mount.js');
187
+ const mountPath = existsSync(builtPath) ? builtPath : devPath;
184
188
  try {
185
189
  const js = readFileSync(mountPath, 'utf-8');
186
190
  res.type('application/javascript').send(js);
@@ -191,4 +195,3 @@ export function createPreviewRouter(ctx) {
191
195
  });
192
196
  return router;
193
197
  }
194
- //# sourceMappingURL=preview.js.map
@@ -190,4 +190,3 @@ export function createProjectsRouter(ctx) {
190
190
  });
191
191
  return router;
192
192
  }
193
- //# sourceMappingURL=projects.js.map
@@ -15,7 +15,7 @@ export function createPublishRouter(ctx) {
15
15
  // Render project preview HTML
16
16
  router.post('/api/projects/:project/render-preview', async (req, res) => {
17
17
  try {
18
- const { username, slug, title, narrative, repoUrl, projectUrl, screenshotUrl, timeline, skills, totalSessions, totalLoc, totalDurationMinutes, totalAgentDurationMinutes, totalFilesChanged, sessionCards, } = req.body;
18
+ const { username, slug, title, narrative, repoUrl, projectUrl, screenshotUrl, timeline, skills, totalSessions, totalLoc, totalDurationMinutes, totalAgentDurationMinutes, totalFilesChanged, totalTokens, sessionCards, } = req.body;
19
19
  const renderData = buildProjectRenderData({
20
20
  username: username || 'preview',
21
21
  slug, title, narrative,
@@ -27,6 +27,7 @@ export function createPublishRouter(ctx) {
27
27
  totalDurationMinutes: totalDurationMinutes || 0,
28
28
  totalAgentDurationMinutes,
29
29
  totalFilesChanged: totalFilesChanged || 0,
30
+ totalTokens,
30
31
  sessionCards: sessionCards || [],
31
32
  });
32
33
  const html = renderProjectHtml(renderData);
@@ -430,6 +431,8 @@ export function createPublishRouter(ctx) {
430
431
  total_duration_minutes: totalDurationMinutes,
431
432
  total_agent_duration_minutes: totalAgentDurationMinutes || null,
432
433
  total_files_changed: totalFilesChanged,
434
+ total_input_tokens: req.body.totalInputTokens || null,
435
+ total_output_tokens: req.body.totalOutputTokens || null,
433
436
  skipped_sessions: skippedSessions,
434
437
  rendered_html: projectHtml,
435
438
  },
@@ -478,4 +481,3 @@ export function createPublishRouter(ctx) {
478
481
  });
479
482
  return router;
480
483
  }
481
- //# sourceMappingURL=publish.js.map
@@ -107,4 +107,3 @@ export function createSearchRouter(ctx) {
107
107
  });
108
108
  return router;
109
109
  }
110
- //# sourceMappingURL=search.js.map
@@ -122,4 +122,3 @@ export function createSessionsRouter(ctx) {
122
122
  });
123
123
  return router;
124
124
  }
125
- //# sourceMappingURL=sessions.js.map
@@ -27,4 +27,3 @@ export function createSettingsRouter(_ctx) {
27
27
  });
28
28
  return router;
29
29
  }
30
- //# sourceMappingURL=settings.js.map
@@ -251,4 +251,3 @@ export async function captureScreenshot(url, slug) {
251
251
  proc.kill();
252
252
  }
253
253
  }
254
- //# sourceMappingURL=screenshot.js.map
package/dist/search.js CHANGED
@@ -150,4 +150,3 @@ function getFileFilteredSessionIds(db, filePath) {
150
150
  const rows = db.prepare('SELECT DISTINCT session_id FROM session_files WHERE file_path LIKE ?').all(`%${filePath}%`);
151
151
  return new Set(rows.map((r) => r.session_id));
152
152
  }
153
- //# sourceMappingURL=search.js.map
package/dist/server.js CHANGED
@@ -111,7 +111,8 @@ export function createApp(sessionsBasePath, dbPath) {
111
111
  const indexPath = path.join(staticDir, 'index.html');
112
112
  app.get('/{*splat}', (_req, res) => {
113
113
  res.sendFile(indexPath, (err) => {
114
- if (err) {
114
+ if (err && !res.headersSent) {
115
+ console.error(`[spa] sendFile failed for ${indexPath}:`, err.message);
115
116
  res.status(404).send('Page not found');
116
117
  }
117
118
  });
@@ -155,4 +156,3 @@ export function startServer(port = 17845, options) {
155
156
  });
156
157
  });
157
158
  }
158
- //# sourceMappingURL=server.js.map
package/dist/settings.js CHANGED
@@ -183,4 +183,3 @@ export function getUploadedState(projectDirName, configDir) {
183
183
  return null;
184
184
  }
185
185
  }
186
- //# sourceMappingURL=settings.js.map
@@ -200,4 +200,3 @@ function formatRelativeTime(timestampMs) {
200
200
  const diffDays = Math.floor(diffHours / 24);
201
201
  return `${diffDays}d ago`;
202
202
  }
203
- //# sourceMappingURL=source-audit.js.map
package/dist/summarize.js CHANGED
@@ -289,4 +289,3 @@ function enforceWordLimit(str, maxWords) {
289
289
  // ── Exports for testing ──────────────────────────────────────
290
290
  export { buildSystemPrompt as _buildSystemPrompt, buildUserPrompt as _buildUserPrompt };
291
291
  // scoreTurn and sampleSession are already exported above
292
- //# sourceMappingURL=summarize.js.map
package/dist/sync.js CHANGED
@@ -370,4 +370,3 @@ export function startCursorPolling(db, intervalMs = 30_000) {
370
370
  lastSeen.clear();
371
371
  };
372
372
  }
373
- //# sourceMappingURL=sync.js.map
@@ -272,4 +272,3 @@ export function buildTranscriptResponse(entries, opts = {}) {
272
272
  },
273
273
  };
274
274
  }
275
- //# sourceMappingURL=transcript.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "heyiam",
3
- "version": "0.2.17",
3
+ "version": "0.2.19",
4
4
  "description": "Turn AI coding sessions into portfolio case studies",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -22,8 +22,11 @@
22
22
  "dist"
23
23
  ],
24
24
  "scripts": {
25
- "build": "tsc && chmod +x dist/index.js && cp -r src/render/templates dist/render/templates && cd app && npx vite build && rm -rf ../dist/public && cp -r dist ../dist/public",
26
- "prepublishOnly": "npm run build && find dist -name '*.test.*' -delete",
25
+ "clean": "rm -rf dist",
26
+ "build": "rm -rf dist && tsc -p tsconfig.build.json && chmod +x dist/index.js && cp -r src/render/templates dist/render/templates && (test -f ../packages/ui/dist/mount.js && cp ../packages/ui/dist/mount.js dist/mount.js || echo 'Warning: packages/ui/dist/mount.js not found — skipping') && cd app && npx vite build && rm -rf ../dist/public && cp -r dist ../dist/public",
27
+ "verify-build": "node -e \"const fs=require('fs'); const assert=require('assert'); const pkg=require('./package.json'); assert(fs.existsSync('dist/index.js'),'missing dist/index.js'); assert(fs.existsSync('dist/public/index.html'),'missing dist/public/index.html'); assert(fs.existsSync('dist/render/templates'),'missing templates'); const js=fs.readdirSync('dist/public/assets').filter(f=>f.endsWith('.js')); assert(js.length===1,'expected exactly 1 JS bundle, found '+js.length); const html=fs.readFileSync('dist/public/index.html','utf8'); assert(html.includes(js[0]),'index.html does not reference the JS bundle'); const tests=fs.readdirSync('dist',{recursive:true}).filter(f=>String(f).includes('.test.')); assert(tests.length===0,'test files found in dist: '+tests.join(', ')); console.log('Build verified: v'+pkg.version+' — dist/index.js + frontend + templates, 0 test files')\"",
28
+ "prepublishOnly": "npm run test:backend && npm run build && npm run verify-build",
29
+ "prepack": "npm run verify-build",
27
30
  "dev": "npx concurrently \"npm:dev:api\" \"npm:dev:app\"",
28
31
  "dev:api": "tsx watch src/index.ts open --no-open",
29
32
  "dev:app": "cd app && npm run dev",
@@ -1,123 +0,0 @@
1
- export interface ParsedTurn {
2
- timestamp: string;
3
- type: 'prompt' | 'response' | 'tool' | 'error' | 'thinking';
4
- content: string;
5
- toolName?: string;
6
- toolInput?: string;
7
- toolOutput?: string;
8
- }
9
- export interface ParsedFileChange {
10
- path: string;
11
- additions: number;
12
- deletions: number;
13
- }
14
- export interface SessionAnalysis {
15
- id: string;
16
- title: string;
17
- date: string;
18
- /** End time as ISO timestamp */
19
- endTime?: string;
20
- durationMinutes: number;
21
- /** Wall-clock minutes (first to last timestamp, includes idle) */
22
- wallClockMinutes?: number;
23
- projectName: string;
24
- /** Source tool: "claude", "cursor", "codex", "gemini", "antigravity" */
25
- source?: string;
26
- turns: ParsedTurn[];
27
- filesChanged: ParsedFileChange[];
28
- /** Authoritative total LOC (additions + deletions) from parser loc_stats */
29
- locTotal?: number;
30
- rawLog: string[];
31
- childAnalyses?: SessionAnalysis[];
32
- agentRole?: string;
33
- parentSessionId?: string | null;
34
- /** Working directory where the session was started */
35
- cwd?: string;
36
- /** Active time intervals as [startMs, endMs] pairs for overlap-aware project aggregation */
37
- activeIntervals?: [number, number][];
38
- /** Token usage from parser (input + output tokens) */
39
- tokenUsage?: {
40
- input: number;
41
- output: number;
42
- };
43
- }
44
- export interface ExecutionStep {
45
- stepNumber: number;
46
- title: string;
47
- description: string;
48
- type?: 'analysis' | 'implementation' | 'testing' | 'deployment' | 'decision';
49
- }
50
- export interface ToolUsage {
51
- tool: string;
52
- count: number;
53
- }
54
- export interface TurnEvent {
55
- timestamp: string;
56
- type: 'prompt' | 'response' | 'tool' | 'error' | 'thinking';
57
- content: string;
58
- }
59
- export interface FileChange {
60
- path: string;
61
- additions: number;
62
- deletions: number;
63
- }
64
- export interface AgentChild {
65
- sessionId: string;
66
- role: string;
67
- durationMinutes: number;
68
- linesOfCode: number;
69
- date?: string;
70
- }
71
- export interface Session {
72
- id: string;
73
- title: string;
74
- date: string;
75
- /** End time as ISO timestamp */
76
- endTime?: string;
77
- /** Active time in minutes (excludes idle gaps) */
78
- durationMinutes: number;
79
- /** Wall-clock time in minutes (first to last timestamp) */
80
- wallClockMinutes?: number;
81
- turns: number;
82
- linesOfCode: number;
83
- status: 'draft' | 'enhanced' | 'uploaded' | 'archived';
84
- projectName: string;
85
- rawLog: string[];
86
- skills: string[];
87
- executionPath: ExecutionStep[];
88
- toolBreakdown: ToolUsage[];
89
- filesChanged: FileChange[];
90
- turnTimeline: TurnEvent[];
91
- toolCalls: number;
92
- /** AI-generated fields (populated from enhanced data) */
93
- context?: string;
94
- developerTake?: string;
95
- qaPairs?: Array<{
96
- question: string;
97
- answer: string;
98
- }>;
99
- children?: AgentChild[];
100
- parentSessionId?: string | null;
101
- agentRole?: string;
102
- isOrchestrated?: boolean;
103
- /** Working directory where the session was started */
104
- cwd?: string;
105
- /** True when enhanced via bulk mode with auto-accepted AI suggestions */
106
- quickEnhanced?: boolean;
107
- /** Source tool: "claude", "cursor", "codex", "gemini", "antigravity" */
108
- source?: string;
109
- /** Active time intervals as [startMs, endMs] pairs for overlap-aware project aggregation */
110
- activeIntervals?: [number, number][];
111
- /** Token usage: input and output token counts */
112
- tokenUsage?: {
113
- input: number;
114
- output: number;
115
- };
116
- }
117
- export declare function extractSkills(analysis: SessionAnalysis): string[];
118
- export declare function computeToolBreakdown(turns: ParsedTurn[]): ToolUsage[];
119
- export declare function generateExecutionPath(turns: ParsedTurn[]): ExecutionStep[];
120
- export declare function buildTurnTimeline(turns: ParsedTurn[]): TurnEvent[];
121
- export declare function detectContext(analysis: SessionAnalysis): string | undefined;
122
- export declare function computeLinesOfCode(filesChanged: ParsedFileChange[]): number;
123
- export declare function analyzeSession(analysis: SessionAnalysis): Session;
@@ -1 +0,0 @@
1
- {"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"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"}
package/dist/archive.d.ts DELETED
@@ -1,14 +0,0 @@
1
- import type { SessionMeta } from "./parsers/index.js";
2
- export interface ArchiveResult {
3
- archived: number;
4
- alreadyArchived: number;
5
- failed: number;
6
- cursorExported: number;
7
- }
8
- /**
9
- * Archive all discovered session files.
10
- * - File-based sources (Claude, Codex, Gemini): hard link or copy
11
- * - Cursor: export conversation data as JSONL to archive dir
12
- * Idempotent: skips files that already exist in the archive.
13
- */
14
- export declare function archiveSessionFiles(sessions: SessionMeta[], configDir?: string): Promise<ArchiveResult>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"archive.js","sourceRoot":"","sources":["../src/archive.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,EAAE;AACF,kEAAkE;AAClE,mFAAmF;AACnF,EAAE;AACF,2EAA2E;AAE3E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAUnD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAuB,EACvB,SAAkB;IAElB,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;IAC3E,CAAC;IAED,MAAM,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAkB,EAAE,QAAQ,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;IAEhG,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,kDAAkD;YAClD,MAAM,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,gCAAgC;YAChC,MAAM,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAEzE,yBAAyB;YACzB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;gBAC3C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,SAAS;gBAC1C,MAAM,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAEvE,oDAAoD;gBACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;gBAC9D,MAAM,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,kBAAkB,CACzB,YAAoB,EACpB,WAAmB,EACnB,UAAkB;IAElB,wEAAwE;IACxE,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC;IAC9D,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,0CAA0C;IAC1C,OAAO,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,oBAAoB,CACjC,OAAoB,EACpB,WAAmB,EACnB,MAAqB;IAErB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,UAAU,OAAO,CAAC,SAAS,QAAQ,CAAC,CAAC;IAExF,IAAI,CAAC;QACH,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,8CAA8C;QAC9C,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAElD,6BAA6B;QAC7B,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;QAExD,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,UAAkB,EAClB,WAAmB,EACnB,UAAkB,EAClB,MAAqB;IAErB,MAAM,IAAI,GAAG,kBAAkB,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IAErE,IAAI,CAAC;QACH,yBAAyB;QACzB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU;YAAE,OAAO,CAAC,gEAAgE;QAEzF,sCAAsC;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,QAAQ,EAAE,CAAC;YACb,kEAAkE;YAClE,MAAM,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,sCAAsC;QACtC,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhD,uCAAuC;QACvC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;YACzE,MAAM,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;AACH,CAAC"}
package/dist/auth.d.ts DELETED
@@ -1,28 +0,0 @@
1
- export interface AuthConfig {
2
- token: string;
3
- username: string;
4
- savedAt: string;
5
- }
6
- export interface DeviceCodeResponse {
7
- device_code: string;
8
- user_code: string;
9
- verification_uri: string;
10
- expires_in: number;
11
- interval: number;
12
- }
13
- export declare function ensureConfigDir(configDir?: string): void;
14
- export declare function readConfig<T>(filename: string, configDir?: string): T | null;
15
- export declare function writeConfig(filename: string, data: unknown, configDir?: string): void;
16
- export declare function getAuthToken(configDir?: string): AuthConfig | null;
17
- export declare function deleteAuthToken(configDir?: string): void;
18
- export declare function saveAuthToken(token: string, username: string, configDir?: string): void;
19
- export declare function checkAuthStatus(apiBaseUrl: string, configDir?: string, fetchFn?: typeof fetch): Promise<{
20
- authenticated: boolean;
21
- username?: string;
22
- }>;
23
- export declare function deviceAuthFlow(apiBaseUrl: string, configDir?: string, options?: {
24
- fetchFn?: typeof fetch;
25
- openBrowser?: (url: string) => Promise<void>;
26
- onUserCode?: (code: string, verificationUri: string) => void;
27
- pollIntervalMs?: number;
28
- }): Promise<AuthConfig>;
package/dist/auth.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAgBlC,SAAS,YAAY;IACnB,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC/E,CAAC;AACD,MAAM,SAAS,GAAG,WAAW,CAAC;AAE9B,MAAM,UAAU,eAAe,CAAC,YAAoB,YAAY,EAAE;IAChE,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,UAAU,CAAI,QAAgB,EAAE,YAAoB,YAAY,EAAE;IAChF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAM,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,IAAa,EAAE,YAAoB,YAAY,EAAE;IAC7F,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3B,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,YAAoB,YAAY,EAAE;IAC7D,OAAO,UAAU,CAAa,SAAS,EAAE,SAAS,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,YAAoB,YAAY,EAAE;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5C,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,UAAU,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,QAAgB,EAAE,YAAoB,YAAY,EAAE;IAC/F,MAAM,MAAM,GAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;IAClF,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAAkB,EAClB,YAAoB,YAAY,EAAE,EAClC,UAAwB,KAAK;IAE7B,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IAE3C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,UAAU,kBAAkB,EAAE;QACzD,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE,EAAE;KACnD,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IAE7C,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA0B,CAAC;IACzD,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAkB,EAClB,YAAoB,YAAY,EAAE,EAClC,UAKI,EAAE;IAEN,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACzC,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;IAEpD,8BAA8B;IAC9B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,UAAU,kBAAkB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnF,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,kCAAkC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAuB,CAAC;IAE9D,sDAAsD;IACtD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACvD,CAAC;IAED,yBAAyB;IACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC;IAEzE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEtB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,UAAU,mBAAmB,EAAE;YAC/D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC;SAC5D,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA+C,CAAC;YACxF,aAAa,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrE,OAAO,YAAY,CAAC,SAAS,CAAE,CAAC;QAClC,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAsB,CAAC;QAE/D,IAAI,SAAS,CAAC,KAAK,KAAK,uBAAuB,EAAE,CAAC;YAChD,SAAS;QACX,CAAC;QACD,IAAI,SAAS,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YACpC,kEAAkE;YAClE,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,SAAS,CAAC,KAAK,KAAK,eAAe,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,SAAS,CAAC,KAAK,KAAK,eAAe,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Auto-start registration for the heyiam daemon.
3
- *
4
- * Supports:
5
- * - macOS: ~/Library/LaunchAgents/com.heyiam.daemon.plist
6
- * - Linux: ~/.config/autostart/heyiam-daemon.desktop
7
- * - Windows: TODO (not implemented)
8
- */
9
- export declare function askYesNo(question: string): Promise<boolean>;
10
- export declare function generateLaunchdPlist(binaryPath: string, logPath: string): string;
11
- export declare function generateLinuxDesktopEntry(binaryPath: string): string;
12
- export declare function registerAutostart(): {
13
- registered: boolean;
14
- method: string;
15
- };
16
- export declare function unregisterAutostart(): {
17
- removed: boolean;
18
- files: string[];
19
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"autostart.js","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"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"}