@page2ai/core 0.1.0
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/LICENSE +21 -0
- package/README.md +128 -0
- package/dist/browser/browser-adapter.d.ts +15 -0
- package/dist/browser/browser-adapter.d.ts.map +1 -0
- package/dist/browser/browser-adapter.js +74 -0
- package/dist/browser/browser-adapter.js.map +1 -0
- package/dist/browser/index.d.ts +3 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +7 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/node/basic-renderer.d.ts +9 -0
- package/dist/node/basic-renderer.d.ts.map +1 -0
- package/dist/node/basic-renderer.js +347 -0
- package/dist/node/basic-renderer.js.map +1 -0
- package/dist/node/fetch-protected.d.ts +19 -0
- package/dist/node/fetch-protected.d.ts.map +1 -0
- package/dist/node/fetch-protected.js +92 -0
- package/dist/node/fetch-protected.js.map +1 -0
- package/dist/node/index.d.ts +28 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +136 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/linkedom-adapter.d.ts +17 -0
- package/dist/node/linkedom-adapter.d.ts.map +1 -0
- package/dist/node/linkedom-adapter.js +112 -0
- package/dist/node/linkedom-adapter.js.map +1 -0
- package/dist/node/ssrf-guard.d.ts +6 -0
- package/dist/node/ssrf-guard.d.ts.map +1 -0
- package/dist/node/ssrf-guard.js +73 -0
- package/dist/node/ssrf-guard.js.map +1 -0
- package/dist/shared/constants.d.ts +12 -0
- package/dist/shared/constants.d.ts.map +1 -0
- package/dist/shared/constants.js +164 -0
- package/dist/shared/constants.js.map +1 -0
- package/dist/shared/md-postprocess.d.ts +18 -0
- package/dist/shared/md-postprocess.d.ts.map +1 -0
- package/dist/shared/md-postprocess.js +538 -0
- package/dist/shared/md-postprocess.js.map +1 -0
- package/dist/shared/page-adapter.d.ts +26 -0
- package/dist/shared/page-adapter.d.ts.map +1 -0
- package/dist/shared/page-adapter.js +15 -0
- package/dist/shared/page-adapter.js.map +1 -0
- package/dist/shared/profiles.d.ts +6 -0
- package/dist/shared/profiles.d.ts.map +1 -0
- package/dist/shared/profiles.js +185 -0
- package/dist/shared/profiles.js.map +1 -0
- package/dist/shared/types.d.ts +265 -0
- package/dist/shared/types.d.ts.map +1 -0
- package/dist/shared/types.js +4 -0
- package/dist/shared/types.js.map +1 -0
- package/dist/shared/utils.d.ts +21 -0
- package/dist/shared/utils.d.ts.map +1 -0
- package/dist/shared/utils.js +184 -0
- package/dist/shared/utils.js.map +1 -0
- package/package.json +81 -0
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
// Page2AI default configuration and shared constants.
|
|
2
|
+
// Values ported verbatim from Rev-032v2 prototype (Sections 3, 5, 16, 22).
|
|
3
|
+
// Indent constant: 3 spaces for CommonMark-compatible nested lists.
|
|
4
|
+
export const INDENT = ' ';
|
|
5
|
+
export const DEFAULTS = {
|
|
6
|
+
fileExtension: 'md',
|
|
7
|
+
interactionMode: 'safe-tabs-and-details',
|
|
8
|
+
lazyLoadMode: 'safe',
|
|
9
|
+
lazyScrollSteps: 8,
|
|
10
|
+
lazySafeViewports: 3,
|
|
11
|
+
lazyScrollWaitMs: 200,
|
|
12
|
+
lazyScrollExtraIdleMs: 250,
|
|
13
|
+
restoreScrollAfterExport: true,
|
|
14
|
+
tabPanelStrategy: 'balanced',
|
|
15
|
+
visualMarkersMode: 'important-only',
|
|
16
|
+
minLargeFontPx: 22,
|
|
17
|
+
minBoldWeight: 600,
|
|
18
|
+
outputMode: 'clean',
|
|
19
|
+
officialMarkdownMode: 'trusted-docs-only',
|
|
20
|
+
trustedOfficialMarkdownHosts: [
|
|
21
|
+
'developers.openai.com', 'platform.openai.com',
|
|
22
|
+
'platform.claude.com', 'docs.anthropic.com',
|
|
23
|
+
'code.claude.com',
|
|
24
|
+
'docs.github.com',
|
|
25
|
+
'docs.vercel.com',
|
|
26
|
+
'supabase.com',
|
|
27
|
+
'docs.stripe.com',
|
|
28
|
+
'langchain-ai.github.io',
|
|
29
|
+
],
|
|
30
|
+
officialMarkdownMinRatio: 0.4,
|
|
31
|
+
extractJsonLd: false,
|
|
32
|
+
extractOpenGraph: false,
|
|
33
|
+
extractMicrodata: false,
|
|
34
|
+
structuredDataPosition: 'before-content',
|
|
35
|
+
extractInternalState: false,
|
|
36
|
+
internalStateMaskingEnabled: true,
|
|
37
|
+
traverseShadowDom: true,
|
|
38
|
+
extractIframeSources: true,
|
|
39
|
+
emitImageSrcsetCandidatesComment: false,
|
|
40
|
+
typeLinkedImages: false,
|
|
41
|
+
includeHiddenMeaningfulText: false,
|
|
42
|
+
maxTextNodeLength: 5000,
|
|
43
|
+
includeVisibleAriaHiddenText: true,
|
|
44
|
+
minAriaHiddenTextLength: 1,
|
|
45
|
+
longAriaHiddenThreshold: 30,
|
|
46
|
+
preserveCodeWhitespace: true,
|
|
47
|
+
includePseudoBeforeText: true,
|
|
48
|
+
includePseudoAfterText: false,
|
|
49
|
+
extractTabs: true,
|
|
50
|
+
tabClickWaitMs: 700,
|
|
51
|
+
tabSettleMs: 250,
|
|
52
|
+
maxTabGroups: 30,
|
|
53
|
+
maxButtonsPerTabGroup: 16,
|
|
54
|
+
minTabButtonTextLength: 1,
|
|
55
|
+
maxTabButtonTextLength: 100,
|
|
56
|
+
maxTabPanelChars: 25000,
|
|
57
|
+
skipCapturedTabPanelsInMainRender: true,
|
|
58
|
+
abortTabCaptureOnUrlDrift: true,
|
|
59
|
+
tabFallbackMaxBodyRatio: 0.5,
|
|
60
|
+
perTabHardTimeoutMs: 5000,
|
|
61
|
+
tabPhaseBudgetMs: 60000,
|
|
62
|
+
dropdownClickWaitMs: 700,
|
|
63
|
+
dropdownSettleMs: 120,
|
|
64
|
+
maxDropdownButtons: 40,
|
|
65
|
+
maxDropdownPanelChars: 12000,
|
|
66
|
+
skipCapturedDropdownPanelsInMainRender: true,
|
|
67
|
+
restoreDetailsAfterExport: true,
|
|
68
|
+
enableFailSafeDownload: true,
|
|
69
|
+
qualityCheckEnabled: true,
|
|
70
|
+
minMainRenderToBodyRatio: 0.30,
|
|
71
|
+
maxMainRenderToBodyRatio: 2.50,
|
|
72
|
+
dedupeConsecutiveDuplicates: true,
|
|
73
|
+
minConsecutiveDuplicatesToCollapse: 3,
|
|
74
|
+
collapseShortAdjacentLines: false,
|
|
75
|
+
shortLineCollapseMaxChars: 50,
|
|
76
|
+
cleanupPunctuation: true,
|
|
77
|
+
dedupeAdjacentLinks: true,
|
|
78
|
+
aggressiveCleanup: false,
|
|
79
|
+
aggressiveCleanupMaxLinkTextLength: 500,
|
|
80
|
+
aggressiveCleanupHtmlTagPattern: /<(img|svg|picture|noscript|iframe|object|embed|video|audio)\b/i,
|
|
81
|
+
stripNoisyAttributesInLinkText: false,
|
|
82
|
+
filterDecorativeImages: false,
|
|
83
|
+
decorativeImageFilenamePatterns: [
|
|
84
|
+
/\bspacer\b/i, /\bblank\b/i, /\btransparent\b/i, /\bpixel\b/i,
|
|
85
|
+
/\bplaceholder\b/i, /\bdivider\b/i, /\b1px\b/i, /\bdot\b/i,
|
|
86
|
+
/\bshim\b/i, /\bclear\b/i,
|
|
87
|
+
],
|
|
88
|
+
filterDecorativeAlt: false,
|
|
89
|
+
decorativeAltPattern: /^(иконка|icon|logo|figure|picture|логотип|значок|image)\b/i,
|
|
90
|
+
decorativeAltMaxWords: 3,
|
|
91
|
+
suppressRepeatedImages: false,
|
|
92
|
+
suppressRepeatedImageThreshold: 3,
|
|
93
|
+
filterWordPressNoiseLinks: false,
|
|
94
|
+
wordpressNoiseLinkPatterns: [
|
|
95
|
+
/^#$/,
|
|
96
|
+
/^javascript:/i,
|
|
97
|
+
/#wp-toolbar\b/i,
|
|
98
|
+
/#wpadminbar\b/i,
|
|
99
|
+
/#search-header\b/i,
|
|
100
|
+
/#respond\b/i,
|
|
101
|
+
/#comments\b/i,
|
|
102
|
+
],
|
|
103
|
+
compactLinkLabels: false,
|
|
104
|
+
maxLinkLabelChars: 80,
|
|
105
|
+
maxHiddenFormValueLength: 60,
|
|
106
|
+
maskFormFieldNamePatterns: [
|
|
107
|
+
/nonce/i, /csrf/i, /xsrf/i, /turnstile/i, /captcha/i, /recaptcha/i,
|
|
108
|
+
/authenticity[_-]?token/i, /^_token$/i, /requestverificationtoken/i, /antiforgery/i,
|
|
109
|
+
],
|
|
110
|
+
emitAppendix: true,
|
|
111
|
+
emitNoscriptFallback: true,
|
|
112
|
+
noscriptOnlyIfMainRenderShort: true,
|
|
113
|
+
detectBadges: true,
|
|
114
|
+
maxBadgeTextLength: 30,
|
|
115
|
+
badgeClassPattern: /\b(badge|tag|chip|pill|label)\b/i,
|
|
116
|
+
unsafeTabButtonTextPatterns: [
|
|
117
|
+
/submit/i, /send/i, /subscribe/i, /unsubscribe/i, /sign\s*up/i, /sign\s*in/i,
|
|
118
|
+
/log\s*in/i, /login/i, /sign\s*out/i, /logout/i, /try\s*now/i, /get\s*started/i,
|
|
119
|
+
/contact/i, /book\s*(a\s*)?demo/i, /buy/i, /purchase/i, /\border\b/i,
|
|
120
|
+
/checkout/i, /pay/i, /delete/i, /remove/i, /accept/i, /reject/i, /confirm/i,
|
|
121
|
+
/cancel/i, /\bsave\b/i, /update/i, /cookie/i, /open\s*menu/i, /close/i,
|
|
122
|
+
/удали/i, /удалить/i, /удалит/i, /оплат/i, /купи/i, /купить/i, /заказ/i,
|
|
123
|
+
/заказать/i, /подпис/i, /отписат/i, /войти/i, /выйти/i, /\bлогин\b/i,
|
|
124
|
+
/регистрац/i, /зарегистр/i, /отправ/i, /отмен/i, /подтвер/i, /сохран/i,
|
|
125
|
+
/закрыть/i, /добавить/i, /создать/i, /начать/i, /продолжит/i, /приня/i,
|
|
126
|
+
/отклон/i, /контакт/i,
|
|
127
|
+
/прыняць/i, /выдалі/i, /закрыц/i, /купіц/i, /заплац/i, /адправ/i,
|
|
128
|
+
/надісла/i, /видали/i, /зареєстру/i, /закри/i, /сплат/i, /придба/i,
|
|
129
|
+
],
|
|
130
|
+
skipSelectors: [
|
|
131
|
+
'script', 'style', 'noscript', 'template', 'svg', 'canvas',
|
|
132
|
+
'object', 'embed', '[data-ai-exporter-skip="true"]',
|
|
133
|
+
],
|
|
134
|
+
};
|
|
135
|
+
export const BLOCK_TAGS = new Set([
|
|
136
|
+
'ADDRESS', 'ARTICLE', 'ASIDE', 'BLOCKQUOTE', 'DETAILS', 'DIALOG',
|
|
137
|
+
'DD', 'DIV', 'DL', 'DT', 'FIELDSET', 'FIGCAPTION', 'FIGURE',
|
|
138
|
+
'FOOTER', 'FORM', 'HEADER', 'HR', 'LI', 'MAIN', 'NAV', 'OL',
|
|
139
|
+
'P', 'PRE', 'SECTION', 'TABLE', 'TBODY', 'TD', 'TFOOT', 'TH',
|
|
140
|
+
'THEAD', 'TR', 'UL',
|
|
141
|
+
]);
|
|
142
|
+
export const INLINE_FORMATTING_TAGS = new Set([
|
|
143
|
+
'A', 'ABBR', 'B', 'BDI', 'BDO', 'BR', 'CITE', 'CODE', 'DATA',
|
|
144
|
+
'DFN', 'EM', 'I', 'KBD', 'MARK', 'Q', 'S', 'SAMP', 'SMALL',
|
|
145
|
+
'SPAN', 'STRONG', 'SUB', 'SUP', 'TIME', 'U', 'VAR', 'WBR',
|
|
146
|
+
]);
|
|
147
|
+
export const SOCIAL_DOMAIN_RE = /^https?:\/\/(?:www\.|m\.)?([a-z0-9.-]*?(?:t\.me|telegram\.me|wa\.me|api\.whatsapp\.com|whatsapp\.com|vk\.com|facebook\.com|fb\.com|instagram\.com|youtube\.com|youtu\.be|linkedin\.com|twitter\.com|x\.com|tiktok\.com|threads\.net|max\.ru|ok\.ru|pinterest\.[a-z.]+|reddit\.com|github\.com|discord\.gg|discord\.com|slideshare\.net))/i;
|
|
148
|
+
export const PII_KEY_PATTERNS = [
|
|
149
|
+
/^(?:.*_)?(?:token|tokens)$/i, /^(?:.*_)?password$/i, /^(?:.*_)?secret$/i,
|
|
150
|
+
/^(?:.*_)?api[_-]?key$/i, /^(?:.*_)?session$/i, /^(?:.*_)?authorization$/i,
|
|
151
|
+
/^(?:.*_)?cookie$/i, /^(?:.*_)?jwt$/i, /^(?:.*_)?refresh[_-]?token$/i,
|
|
152
|
+
/^(?:.*_)?access[_-]?token$/i, /^(?:.*_)?email$/i, /^(?:.*_)?phone$/i,
|
|
153
|
+
/^(?:.*_)?credit[_-]?card$/i, /^(?:.*_)?ssn$/i,
|
|
154
|
+
];
|
|
155
|
+
export const PII_VALUE_PATTERNS = [
|
|
156
|
+
{ name: 'email', re: /\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g },
|
|
157
|
+
{ name: 'jwt', re: /\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/g },
|
|
158
|
+
{ name: 'bearer', re: /\bBearer\s+[A-Za-z0-9._\-+/=]{8,}\b/gi },
|
|
159
|
+
{ name: 'sk-key', re: /\bsk-[A-Za-z0-9_-]{16,}\b/g },
|
|
160
|
+
{ name: 'pk-key', re: /\bpk_[A-Za-z0-9_-]{16,}\b/g },
|
|
161
|
+
{ name: 'us-phone', re: /\b\+?1?[\s.-]?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}\b/g },
|
|
162
|
+
{ name: 'intl-phone', re: /\+\d{1,3}[\s.-]?\d{3,4}[\s.-]?\d{3,4}[\s.-]?\d{3,4}\b/g },
|
|
163
|
+
];
|
|
164
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ProgressCallback, ResolvedConfig } from './types.js';
|
|
2
|
+
export interface FenceTracker {
|
|
3
|
+
readonly inFence: boolean;
|
|
4
|
+
check(trimmedLine: string): boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare const createFenceTracker: () => FenceTracker;
|
|
7
|
+
export declare const normalizeMarkdownPreserveCode: (text: string | null | undefined) => string;
|
|
8
|
+
export declare const dedupeConsecutiveDuplicateLines: (text: string, config: Pick<ResolvedConfig, "dedupeConsecutiveDuplicates" | "minConsecutiveDuplicatesToCollapse">) => string;
|
|
9
|
+
export declare const collapseShortAdjacentLines: (text: string, config: Pick<ResolvedConfig, "collapseShortAdjacentLines" | "shortLineCollapseMaxChars">) => string;
|
|
10
|
+
export declare const cleanupPunctuation: (text: string, config: Pick<ResolvedConfig, "cleanupPunctuation">) => string;
|
|
11
|
+
export declare const dedupeAdjacentLinks: (text: string, config: Pick<ResolvedConfig, "dedupeAdjacentLinks">) => string;
|
|
12
|
+
export declare const suppressRepeatedImages: (text: string, config: Pick<ResolvedConfig, "suppressRepeatedImages" | "suppressRepeatedImageThreshold">) => string;
|
|
13
|
+
export declare const compactLinkLabels: (text: string, config: Pick<ResolvedConfig, "compactLinkLabels" | "maxLinkLabelChars">) => string;
|
|
14
|
+
export declare const dedupeRepeatedBlocks: (text: string) => string;
|
|
15
|
+
export declare const dedupeTabPanelDuplicates: (text: string) => string;
|
|
16
|
+
export declare const aggressiveCleanup: (text: string, config: Pick<ResolvedConfig, "aggressiveCleanup" | "aggressiveCleanupMaxLinkTextLength" | "aggressiveCleanupHtmlTagPattern">, progress?: ProgressCallback) => string;
|
|
17
|
+
export declare const postProcessMarkdown: (text: string, config: ResolvedConfig, progress?: ProgressCallback) => string;
|
|
18
|
+
//# sourceMappingURL=md-postprocess.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"md-postprocess.d.ts","sourceRoot":"","sources":["../../src/shared/md-postprocess.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;CACrC;AAED,eAAO,MAAM,kBAAkB,QAAO,YAyBrC,CAAC;AAGF,eAAO,MAAM,6BAA6B,GAAI,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,MA+B/E,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAC1C,MAAM,MAAM,EACZ,QAAQ,IAAI,CAAC,cAAc,EAAE,6BAA6B,GAAG,oCAAoC,CAAC,KACjG,MAkCF,CAAC;AAGF,eAAO,MAAM,0BAA0B,GACrC,MAAM,MAAM,EACZ,QAAQ,IAAI,CAAC,cAAc,EAAE,4BAA4B,GAAG,2BAA2B,CAAC,KACvF,MAqFF,CAAC;AAGF,eAAO,MAAM,kBAAkB,GAC7B,MAAM,MAAM,EACZ,QAAQ,IAAI,CAAC,cAAc,EAAE,oBAAoB,CAAC,KACjD,MA0CF,CAAC;AAGF,eAAO,MAAM,mBAAmB,GAC9B,MAAM,MAAM,EACZ,QAAQ,IAAI,CAAC,cAAc,EAAE,qBAAqB,CAAC,KAClD,MA2DF,CAAC;AAGF,eAAO,MAAM,sBAAsB,GACjC,MAAM,MAAM,EACZ,QAAQ,IAAI,CAAC,cAAc,EAAE,wBAAwB,GAAG,gCAAgC,CAAC,KACxF,MAwCF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EACZ,QAAQ,IAAI,CAAC,cAAc,EAAE,mBAAmB,GAAG,mBAAmB,CAAC,KACtE,MAwBF,CAAC;AAIF,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,MAkDnD,CAAC;AAGF,eAAO,MAAM,wBAAwB,GAAI,MAAM,MAAM,KAAG,MA6FvD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EACZ,QAAQ,IAAI,CACV,cAAc,EACd,mBAAmB,GAAG,oCAAoC,GAAG,iCAAiC,CAC/F,EACD,WAAW,gBAAgB,KAC1B,MAgCF,CAAC;AAGF,eAAO,MAAM,mBAAmB,GAC9B,MAAM,MAAM,EACZ,QAAQ,cAAc,EACtB,WAAW,gBAAgB,KAC1B,MAYF,CAAC"}
|