@ytspar/sweetlink 1.0.0 → 1.1.0-canary.48d6f47
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.
- package/dist/browser/screenshotUtils.d.ts +2 -4
- package/dist/browser/screenshotUtils.d.ts.map +1 -1
- package/dist/browser/screenshotUtils.js +2 -4
- package/dist/browser/screenshotUtils.js.map +1 -1
- package/dist/cli/sweetlink-dev.js +0 -0
- package/dist/cli/sweetlink.js +0 -0
- package/dist/server/handlers/consoleLogs.d.ts.map +1 -1
- package/dist/server/handlers/consoleLogs.js +8 -29
- package/dist/server/handlers/consoleLogs.js.map +1 -1
- package/dist/server/handlers/index.d.ts +1 -0
- package/dist/server/handlers/index.d.ts.map +1 -1
- package/dist/server/handlers/index.js +1 -0
- package/dist/server/handlers/index.js.map +1 -1
- package/dist/server/handlers/outline.d.ts.map +1 -1
- package/dist/server/handlers/outline.js +8 -29
- package/dist/server/handlers/outline.js.map +1 -1
- package/dist/server/handlers/saveMarkdown.d.ts +20 -0
- package/dist/server/handlers/saveMarkdown.d.ts.map +1 -0
- package/dist/server/handlers/saveMarkdown.js +52 -0
- package/dist/server/handlers/saveMarkdown.js.map +1 -0
- package/dist/server/handlers/schema.d.ts.map +1 -1
- package/dist/server/handlers/schema.js +12 -31
- package/dist/server/handlers/schema.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +416 -337
- package/dist/server/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/browser/commands/commands.test.d.ts +0 -2
- package/dist/browser/commands/commands.test.d.ts.map +0 -1
- package/dist/browser/commands/commands.test.js +0 -207
- package/dist/browser/commands/commands.test.js.map +0 -1
- package/dist/browser/consoleCapture.test.d.ts +0 -2
- package/dist/browser/consoleCapture.test.d.ts.map +0 -1
- package/dist/browser/consoleCapture.test.js +0 -249
- package/dist/browser/consoleCapture.test.js.map +0 -1
- package/dist/browser/screenshotUtils.test.d.ts +0 -2
- package/dist/browser/screenshotUtils.test.d.ts.map +0 -1
- package/dist/browser/screenshotUtils.test.js +0 -198
- package/dist/browser/screenshotUtils.test.js.map +0 -1
- package/dist/server/anthropic.test.d.ts +0 -2
- package/dist/server/anthropic.test.d.ts.map +0 -1
- package/dist/server/anthropic.test.js +0 -27
- package/dist/server/anthropic.test.js.map +0 -1
- package/dist/server/constants.test.d.ts +0 -2
- package/dist/server/constants.test.d.ts.map +0 -1
- package/dist/server/constants.test.js +0 -25
- package/dist/server/constants.test.js.map +0 -1
- package/dist/server/subscriptions.test.d.ts +0 -2
- package/dist/server/subscriptions.test.d.ts.map +0 -1
- package/dist/server/subscriptions.test.js +0 -100
- package/dist/server/subscriptions.test.js.map +0 -1
|
@@ -8,10 +8,8 @@
|
|
|
8
8
|
export declare const DEFAULT_SCREENSHOT_SCALE = 0.25;
|
|
9
9
|
/** Default JPEG quality */
|
|
10
10
|
export declare const DEFAULT_SCREENSHOT_QUALITY = 0.7;
|
|
11
|
-
/**
|
|
12
|
-
export declare const
|
|
13
|
-
/** Higher quality JPEG for devbar screenshots */
|
|
14
|
-
export declare const DEVBAR_SCREENSHOT_QUALITY = 0.8;
|
|
11
|
+
/** JPEG quality for devbar screenshots (balances clarity vs file size ~100KB) */
|
|
12
|
+
export declare const DEVBAR_SCREENSHOT_QUALITY = 0.65;
|
|
15
13
|
/**
|
|
16
14
|
* Options for canvas scaling
|
|
17
15
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshotUtils.d.ts","sourceRoot":"","sources":["../../src/browser/screenshotUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,sCAAsC;AACtC,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C,2BAA2B;AAC3B,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C,
|
|
1
|
+
{"version":3,"file":"screenshotUtils.d.ts","sourceRoot":"","sources":["../../src/browser/screenshotUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,sCAAsC;AACtC,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C,2BAA2B;AAC3B,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C,iFAAiF;AACjF,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAM9C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;CAC1C;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,cAAc,EAAE,iBAAiB,EACjC,OAAO,EAAE,kBAAkB,GAC1B,iBAAiB,CAiBnB;AAMD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAOjG;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,YAAY,CAEnF;AAMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,IAAI,CAU9C;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAMD;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBpF;AAMD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,iBAAiB,EACzB,QAAQ,CAAC,EAAE,MAAM,GAChB,kBAAkB,CAYpB"}
|
|
@@ -11,10 +11,8 @@
|
|
|
11
11
|
export const DEFAULT_SCREENSHOT_SCALE = 0.25;
|
|
12
12
|
/** Default JPEG quality */
|
|
13
13
|
export const DEFAULT_SCREENSHOT_QUALITY = 0.7;
|
|
14
|
-
/**
|
|
15
|
-
export const
|
|
16
|
-
/** Higher quality JPEG for devbar screenshots */
|
|
17
|
-
export const DEVBAR_SCREENSHOT_QUALITY = 0.8;
|
|
14
|
+
/** JPEG quality for devbar screenshots (balances clarity vs file size ~100KB) */
|
|
15
|
+
export const DEVBAR_SCREENSHOT_QUALITY = 0.65;
|
|
18
16
|
/**
|
|
19
17
|
* Scale a canvas down to a smaller size
|
|
20
18
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshotUtils.js","sourceRoot":"","sources":["../../src/browser/screenshotUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,sCAAsC;AACtC,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAE7C,2BAA2B;AAC3B,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,
|
|
1
|
+
{"version":3,"file":"screenshotUtils.js","sourceRoot":"","sources":["../../src/browser/screenshotUtils.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
package/dist/cli/sweetlink.js
CHANGED
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consoleLogs.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/consoleLogs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"consoleLogs.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/consoleLogs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAChD,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAUjC"}
|
|
@@ -3,39 +3,18 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Handles saving console logs to the file system.
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
7
|
-
import { join } from 'path';
|
|
8
|
-
import { generateBaseFilename, generateSlugFromUrl, SCREENSHOT_DIR } from '../../urlUtils.js';
|
|
9
|
-
import { getProjectRoot } from '../index.js';
|
|
6
|
+
import { saveMarkdownArtifact } from './saveMarkdown.js';
|
|
10
7
|
/**
|
|
11
8
|
* Handle console logs save: saves the logs as markdown to the screenshots folder
|
|
12
9
|
*/
|
|
13
10
|
export async function handleSaveConsoleLogs(data) {
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
// Build the console logs markdown file with frontmatter
|
|
22
|
-
const logsMarkdown = `---
|
|
23
|
-
title: ${title || 'Console Logs'}
|
|
24
|
-
url: ${url}
|
|
25
|
-
timestamp: ${new Date(timestamp).toISOString()}
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
# Console Logs
|
|
29
|
-
|
|
30
|
-
> Page: ${title || url}
|
|
31
|
-
> Generated: ${new Date(timestamp).toLocaleString()}
|
|
32
|
-
|
|
33
|
-
${markdown || '_No console logs recorded_'}
|
|
34
|
-
`;
|
|
35
|
-
// Save the console logs markdown
|
|
36
|
-
const consoleLogsPath = join(dir, `${baseFilename}.md`);
|
|
37
|
-
await fs.writeFile(consoleLogsPath, logsMarkdown, 'utf-8');
|
|
38
|
-
console.log(`[Sweetlink] Console logs saved: ${consoleLogsPath}`);
|
|
11
|
+
const consoleLogsPath = await saveMarkdownArtifact({
|
|
12
|
+
type: 'console-logs',
|
|
13
|
+
markdown: data.markdown || '_No console logs recorded_',
|
|
14
|
+
url: data.url,
|
|
15
|
+
title: data.title,
|
|
16
|
+
timestamp: data.timestamp,
|
|
17
|
+
});
|
|
39
18
|
return { consoleLogsPath };
|
|
40
19
|
}
|
|
41
20
|
//# sourceMappingURL=consoleLogs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consoleLogs.js","sourceRoot":"","sources":["../../../src/server/handlers/consoleLogs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"consoleLogs.js","sourceRoot":"","sources":["../../../src/server/handlers/consoleLogs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAMzD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAM3C;IACC,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC;QACjD,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,4BAA4B;QACvD,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;IAEH,OAAO,EAAE,eAAe,EAAE,CAAC;AAC7B,CAAC"}
|
|
@@ -7,6 +7,7 @@ export { DESIGN_REVIEW_PROMPT, type DesignReviewResult, handleDesignReviewScreen
|
|
|
7
7
|
export { type HmrScreenshotResult, handleHmrScreenshot } from './hmr.js';
|
|
8
8
|
export { handleSaveConsoleLogs, type ConsoleLogsSaveResult } from './consoleLogs.js';
|
|
9
9
|
export { handleSaveOutline, type OutlineSaveResult } from './outline.js';
|
|
10
|
+
export { saveMarkdownArtifact } from './saveMarkdown.js';
|
|
10
11
|
export { handleSaveSchema, type SchemaSaveResult } from './schema.js';
|
|
11
12
|
export { handleSaveScreenshot } from './screenshot.js';
|
|
12
13
|
export { type DevBarSettings, handleLoadSettings, handleSaveSettings, type SettingsSaveResult, } from './settings.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,oBAAoB,EACpB,KAAK,kBAAkB,EACvB,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EACL,KAAK,cAAc,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,oBAAoB,EACpB,KAAK,kBAAkB,EACvB,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EACL,KAAK,cAAc,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC"}
|
|
@@ -7,6 +7,7 @@ export { DESIGN_REVIEW_PROMPT, handleDesignReviewScreenshot, } from './designRev
|
|
|
7
7
|
export { handleHmrScreenshot } from './hmr.js';
|
|
8
8
|
export { handleSaveConsoleLogs } from './consoleLogs.js';
|
|
9
9
|
export { handleSaveOutline } from './outline.js';
|
|
10
|
+
export { saveMarkdownArtifact } from './saveMarkdown.js';
|
|
10
11
|
export { handleSaveSchema } from './schema.js';
|
|
11
12
|
export { handleSaveScreenshot } from './screenshot.js';
|
|
12
13
|
export { handleLoadSettings, handleSaveSettings, } from './settings.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/handlers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,oBAAoB,EAEpB,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAA4B,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAA8B,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAA0B,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAyB,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/handlers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,oBAAoB,EAEpB,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAA4B,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAA8B,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAA0B,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAyB,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/outline.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"outline.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/outline.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAU7B"}
|
|
@@ -3,39 +3,18 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Handles saving document outlines to the file system.
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
7
|
-
import { join } from 'path';
|
|
8
|
-
import { generateBaseFilename, generateSlugFromUrl, SCREENSHOT_DIR } from '../../urlUtils.js';
|
|
9
|
-
import { getProjectRoot } from '../index.js';
|
|
6
|
+
import { saveMarkdownArtifact } from './saveMarkdown.js';
|
|
10
7
|
/**
|
|
11
8
|
* Handle document outline save: saves the outline as markdown to the screenshots folder
|
|
12
9
|
*/
|
|
13
10
|
export async function handleSaveOutline(data) {
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
// Build the outline markdown file with frontmatter
|
|
22
|
-
const outlineMarkdown = `---
|
|
23
|
-
title: ${title || 'Document Outline'}
|
|
24
|
-
url: ${url}
|
|
25
|
-
timestamp: ${new Date(timestamp).toISOString()}
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
# Document Outline
|
|
29
|
-
|
|
30
|
-
> Page: ${title || url}
|
|
31
|
-
> Generated: ${new Date(timestamp).toLocaleString()}
|
|
32
|
-
|
|
33
|
-
${markdown || '_No headings found in this document_'}
|
|
34
|
-
`;
|
|
35
|
-
// Save the outline markdown
|
|
36
|
-
const outlinePath = join(dir, `${baseFilename}.md`);
|
|
37
|
-
await fs.writeFile(outlinePath, outlineMarkdown, 'utf-8');
|
|
38
|
-
console.log(`[Sweetlink] Document outline saved: ${outlinePath}`);
|
|
11
|
+
const outlinePath = await saveMarkdownArtifact({
|
|
12
|
+
type: 'outline',
|
|
13
|
+
markdown: data.markdown || '_No headings found in this document_',
|
|
14
|
+
url: data.url,
|
|
15
|
+
title: data.title,
|
|
16
|
+
timestamp: data.timestamp,
|
|
17
|
+
});
|
|
39
18
|
return { outlinePath };
|
|
40
19
|
}
|
|
41
20
|
//# sourceMappingURL=outline.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline.js","sourceRoot":"","sources":["../../../src/server/handlers/outline.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"outline.js","sourceRoot":"","sources":["../../../src/server/handlers/outline.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAMzD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAMvC;IACC,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC;QAC7C,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,sCAAsC;QACjE,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;IAEH,OAAO,EAAE,WAAW,EAAE,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Markdown Artifact Saver
|
|
3
|
+
*
|
|
4
|
+
* Provides a common function for saving markdown artifacts (outlines, schemas,
|
|
5
|
+
* console logs) to the file system with consistent frontmatter and directory handling.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Save a markdown artifact to the screenshots directory with frontmatter.
|
|
9
|
+
*
|
|
10
|
+
* Handles: mkdir, slug generation, frontmatter construction, file write, and logging.
|
|
11
|
+
* Returns the absolute path of the saved file.
|
|
12
|
+
*/
|
|
13
|
+
export declare function saveMarkdownArtifact(opts: {
|
|
14
|
+
type: string;
|
|
15
|
+
markdown: string;
|
|
16
|
+
url: string;
|
|
17
|
+
title: string;
|
|
18
|
+
timestamp: number;
|
|
19
|
+
}): Promise<string>;
|
|
20
|
+
//# sourceMappingURL=saveMarkdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saveMarkdown.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/saveMarkdown.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyClB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Markdown Artifact Saver
|
|
3
|
+
*
|
|
4
|
+
* Provides a common function for saving markdown artifacts (outlines, schemas,
|
|
5
|
+
* console logs) to the file system with consistent frontmatter and directory handling.
|
|
6
|
+
*/
|
|
7
|
+
import { promises as fs } from 'fs';
|
|
8
|
+
import { join } from 'path';
|
|
9
|
+
import { generateBaseFilename, generateSlugFromUrl, SCREENSHOT_DIR } from '../../urlUtils.js';
|
|
10
|
+
import { getProjectRoot } from '../index.js';
|
|
11
|
+
/**
|
|
12
|
+
* Save a markdown artifact to the screenshots directory with frontmatter.
|
|
13
|
+
*
|
|
14
|
+
* Handles: mkdir, slug generation, frontmatter construction, file write, and logging.
|
|
15
|
+
* Returns the absolute path of the saved file.
|
|
16
|
+
*/
|
|
17
|
+
export async function saveMarkdownArtifact(opts) {
|
|
18
|
+
const { type, markdown, url, title, timestamp } = opts;
|
|
19
|
+
// Create directory if it doesn't exist (relative to project root captured at server start)
|
|
20
|
+
const dir = join(getProjectRoot(), SCREENSHOT_DIR);
|
|
21
|
+
await fs.mkdir(dir, { recursive: true });
|
|
22
|
+
// Generate a slug from URL path or title and create filename with shared utility
|
|
23
|
+
const slug = generateSlugFromUrl(url, title);
|
|
24
|
+
const baseFilename = generateBaseFilename(type, timestamp, slug);
|
|
25
|
+
// Capitalize the type for the heading (e.g. 'outline' -> 'Outline', 'console-logs' -> 'Console Logs')
|
|
26
|
+
const heading = type
|
|
27
|
+
.split('-')
|
|
28
|
+
.map((w) => w.charAt(0).toUpperCase() + w.slice(1))
|
|
29
|
+
.join(' ');
|
|
30
|
+
// Default title fallback based on type
|
|
31
|
+
const titleFallback = heading;
|
|
32
|
+
// Build the markdown file with frontmatter
|
|
33
|
+
const fullMarkdown = `---
|
|
34
|
+
title: ${title || titleFallback}
|
|
35
|
+
url: ${url}
|
|
36
|
+
timestamp: ${new Date(timestamp).toISOString()}
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
# ${heading}
|
|
40
|
+
|
|
41
|
+
> Page: ${title || url}
|
|
42
|
+
> Generated: ${new Date(timestamp).toLocaleString()}
|
|
43
|
+
|
|
44
|
+
${markdown}
|
|
45
|
+
`;
|
|
46
|
+
// Save the markdown file
|
|
47
|
+
const filePath = join(dir, `${baseFilename}.md`);
|
|
48
|
+
await fs.writeFile(filePath, fullMarkdown, 'utf-8');
|
|
49
|
+
console.log(`[Sweetlink] ${heading} saved: ${filePath}`);
|
|
50
|
+
return filePath;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=saveMarkdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saveMarkdown.js","sourceRoot":"","sources":["../../../src/server/handlers/saveMarkdown.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAM1C;IACC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAEvD,2FAA2F;IAC3F,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,cAAc,CAAC,CAAC;IACnD,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzC,iFAAiF;IACjF,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAEjE,sGAAsG;IACtG,MAAM,OAAO,GAAG,IAAI;SACjB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAClD,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,uCAAuC;IACvC,MAAM,aAAa,GAAG,OAAO,CAAC;IAE9B,2CAA2C;IAC3C,MAAM,YAAY,GAAG;SACd,KAAK,IAAI,aAAa;OACxB,GAAG;aACG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;;;IAG1C,OAAO;;UAED,KAAK,IAAI,GAAG;eACP,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE;;EAEjD,QAAQ;CACT,CAAC;IAEA,yBAAyB;IACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC;IACjD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,WAAW,QAAQ,EAAE,CAAC,CAAC;IAEzD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqB5B"}
|
|
@@ -3,47 +3,28 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Handles saving page schemas to the file system.
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
7
|
-
import { join } from 'path';
|
|
8
|
-
import { generateBaseFilename, generateSlugFromUrl, SCREENSHOT_DIR } from '../../urlUtils.js';
|
|
9
|
-
import { getProjectRoot } from '../index.js';
|
|
6
|
+
import { saveMarkdownArtifact } from './saveMarkdown.js';
|
|
10
7
|
/**
|
|
11
8
|
* Handle page schema save: saves structured data as markdown to the screenshots folder
|
|
12
9
|
*/
|
|
13
10
|
export async function handleSaveSchema(data) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const dir = join(getProjectRoot(), SCREENSHOT_DIR);
|
|
17
|
-
await fs.mkdir(dir, { recursive: true });
|
|
18
|
-
// Generate a slug from URL path or title and create filename with shared utility
|
|
19
|
-
const slug = generateSlugFromUrl(url, title);
|
|
20
|
-
const baseFilename = generateBaseFilename('schema', timestamp, slug);
|
|
21
|
-
// Build the schema markdown file with frontmatter
|
|
22
|
-
const schemaMarkdown = `---
|
|
23
|
-
title: ${title || 'Page Schema'}
|
|
24
|
-
url: ${url}
|
|
25
|
-
timestamp: ${new Date(timestamp).toISOString()}
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
# Page Schema
|
|
29
|
-
|
|
30
|
-
> Page: ${title || url}
|
|
31
|
-
> Generated: ${new Date(timestamp).toLocaleString()}
|
|
32
|
-
|
|
33
|
-
${markdown || '_No structured data found on this page_'}
|
|
11
|
+
// Schema includes extra raw JSON section after the main markdown
|
|
12
|
+
const body = `${data.markdown || '_No structured data found on this page_'}
|
|
34
13
|
|
|
35
14
|
---
|
|
36
15
|
|
|
37
16
|
## Raw JSON
|
|
38
17
|
|
|
39
18
|
\`\`\`json
|
|
40
|
-
${JSON.stringify(schema, null, 2)}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
19
|
+
${JSON.stringify(data.schema, null, 2)}
|
|
20
|
+
\`\`\``;
|
|
21
|
+
const schemaPath = await saveMarkdownArtifact({
|
|
22
|
+
type: 'schema',
|
|
23
|
+
markdown: body,
|
|
24
|
+
url: data.url,
|
|
25
|
+
title: data.title,
|
|
26
|
+
timestamp: data.timestamp,
|
|
27
|
+
});
|
|
47
28
|
return { schemaPath };
|
|
48
29
|
}
|
|
49
30
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/server/handlers/schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/server/handlers/schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAMzD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAMtC;IACC,iEAAiE;IACjE,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,yCAAyC;;;;;;;EAO1E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;OAC/B,CAAC;IAEN,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC;QAC5C,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;IAEH,OAAO,EAAE,UAAU,EAAE,CAAC;AACxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAa,eAAe,EAAE,MAAM,IAAI,CAAC;AAGhD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAa,eAAe,EAAE,MAAM,IAAI,CAAC;AAGhD,OAAO,KAAK,EAGV,UAAU,EAGV,iBAAiB,EAWjB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAkErB,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;AA0CnF;;;GAGG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,wGAAwG;IACxG,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAyFrF;AAED,4CAA4C;AAC5C,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAEhD;AAED,kCAAkC;AAClC,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAEpD;AAulBD,wBAAgB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA+B9C"}
|