@moontaiworks/fanbox-dl 1.0.0 → 1.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/README.md +1 -1
- package/dist/bundle/index.cjs +1 -1
- package/dist/bundle/index.cjs.map +1 -1
- package/dist/bundle/index.d.cts +112 -100
- package/dist/bundle/index.d.ts +112 -100
- package/dist/bundle/index.js +1 -1
- package/dist/bundle/index.js.map +1 -1
- package/dist/cjs/cli.d.ts +3 -0
- package/dist/cjs/cli.d.ts.map +1 -0
- package/dist/cjs/cli.js +97 -0
- package/dist/cjs/cli.js.map +1 -0
- package/dist/cjs/client/client.d.ts +36 -0
- package/dist/cjs/client/client.d.ts.map +1 -0
- package/dist/cjs/client/client.js +73 -0
- package/dist/cjs/client/client.js.map +1 -0
- package/dist/cjs/client/endpoints/creator-get.d.ts +8 -0
- package/dist/cjs/client/endpoints/creator-get.d.ts.map +1 -0
- package/dist/cjs/client/endpoints/creator-get.js +7 -0
- package/dist/cjs/client/endpoints/creator-get.js.map +1 -0
- package/dist/cjs/client/endpoints/creator-list-pages.d.ts +9 -0
- package/dist/cjs/client/endpoints/creator-list-pages.d.ts.map +1 -0
- package/dist/cjs/client/endpoints/creator-list-pages.js +7 -0
- package/dist/cjs/client/endpoints/creator-list-pages.js.map +1 -0
- package/dist/cjs/client/endpoints/creator-list-plans.d.ts +8 -0
- package/dist/cjs/client/endpoints/creator-list-plans.d.ts.map +1 -0
- package/dist/cjs/client/endpoints/creator-list-plans.js +7 -0
- package/dist/cjs/client/endpoints/creator-list-plans.js.map +1 -0
- package/dist/cjs/client/endpoints/creator-list-posts.d.ts +11 -0
- package/dist/cjs/client/endpoints/creator-list-posts.d.ts.map +1 -0
- package/dist/cjs/client/endpoints/creator-list-posts.js +7 -0
- package/dist/cjs/client/endpoints/creator-list-posts.js.map +1 -0
- package/dist/cjs/client/endpoints/post-info.d.ts +8 -0
- package/dist/cjs/client/endpoints/post-info.d.ts.map +1 -0
- package/dist/cjs/client/endpoints/post-info.js +7 -0
- package/dist/cjs/client/endpoints/post-info.js.map +1 -0
- package/dist/cjs/client/endpoints/post-list-home.d.ts +6 -0
- package/dist/cjs/client/endpoints/post-list-home.d.ts.map +1 -0
- package/dist/cjs/client/endpoints/post-list-home.js +7 -0
- package/dist/cjs/client/endpoints/post-list-home.js.map +1 -0
- package/dist/cjs/client/endpoints/post-list-supporting.d.ts +6 -0
- package/dist/cjs/client/endpoints/post-list-supporting.d.ts.map +1 -0
- package/dist/cjs/client/endpoints/post-list-supporting.js +7 -0
- package/dist/cjs/client/endpoints/post-list-supporting.js.map +1 -0
- package/dist/cjs/client/endpoints/user-list-following.d.ts +7 -0
- package/dist/cjs/client/endpoints/user-list-following.d.ts.map +1 -0
- package/dist/cjs/client/endpoints/user-list-following.js +7 -0
- package/dist/cjs/client/endpoints/user-list-following.js.map +1 -0
- package/dist/cjs/client/endpoints/user-list-supporting.d.ts +5 -0
- package/dist/cjs/client/endpoints/user-list-supporting.d.ts.map +1 -0
- package/dist/cjs/client/endpoints/user-list-supporting.js +7 -0
- package/dist/cjs/client/endpoints/user-list-supporting.js.map +1 -0
- package/dist/cjs/client/fanbox-envelope.d.ts.map +1 -0
- package/dist/cjs/client/fanbox-envelope.js.map +1 -0
- package/dist/cjs/client/fanbox-headers.d.ts.map +1 -0
- package/dist/cjs/{fanbox-headers.js → client/fanbox-headers.js} +0 -4
- package/dist/cjs/client/fanbox-headers.js.map +1 -0
- package/dist/cjs/client/models/creator.d.ts.map +1 -0
- package/dist/cjs/client/models/creator.js.map +1 -0
- package/dist/cjs/client/models/plan.d.ts.map +1 -0
- package/dist/cjs/{endpoints → client}/models/plan.js.map +1 -1
- package/dist/cjs/client/models/post/article.d.ts +41 -0
- package/dist/cjs/client/models/post/article.d.ts.map +1 -0
- package/dist/cjs/client/models/post/article.js +3 -0
- package/dist/cjs/client/models/post/article.js.map +1 -0
- package/dist/cjs/client/models/post/asset.d.ts +16 -0
- package/dist/cjs/client/models/post/asset.d.ts.map +1 -0
- package/dist/cjs/client/models/post/asset.js +3 -0
- package/dist/cjs/client/models/post/asset.js.map +1 -0
- package/dist/cjs/client/models/post/embed.d.ts +12 -0
- package/dist/cjs/client/models/post/embed.d.ts.map +1 -0
- package/dist/cjs/client/models/post/embed.js +3 -0
- package/dist/cjs/client/models/post/embed.js.map +1 -0
- package/dist/cjs/client/models/post/url-embed.d.ts +13 -0
- package/dist/cjs/client/models/post/url-embed.d.ts.map +1 -0
- package/dist/cjs/client/models/post/url-embed.js +3 -0
- package/dist/cjs/client/models/post/url-embed.js.map +1 -0
- package/dist/cjs/{endpoints → client}/models/post.d.ts +5 -48
- package/dist/cjs/client/models/post.d.ts.map +1 -0
- package/dist/cjs/{endpoints → client}/models/post.js.map +1 -1
- package/dist/cjs/client/models/user.d.ts.map +1 -0
- package/dist/cjs/{endpoints → client}/models/user.js.map +1 -1
- package/dist/cjs/client/types.d.ts +14 -0
- package/dist/cjs/client/types.d.ts.map +1 -0
- package/dist/cjs/{types.js.map → client/types.js.map} +1 -1
- package/dist/cjs/downloader/asset/download.d.ts +21 -0
- package/dist/cjs/downloader/asset/download.d.ts.map +1 -0
- package/dist/cjs/downloader/asset/download.js +95 -0
- package/dist/cjs/downloader/asset/download.js.map +1 -0
- package/dist/cjs/downloader/cli/cookie.d.ts +2 -0
- package/dist/cjs/downloader/cli/cookie.d.ts.map +1 -0
- package/dist/cjs/downloader/cli/cookie.js +37 -0
- package/dist/cjs/downloader/cli/cookie.js.map +1 -0
- package/dist/cjs/downloader/cli/index.d.ts +4 -0
- package/dist/cjs/downloader/cli/index.d.ts.map +1 -0
- package/dist/cjs/downloader/cli/index.js +15 -0
- package/dist/cjs/downloader/cli/index.js.map +1 -0
- package/dist/cjs/downloader/cli/options.d.ts +22 -0
- package/dist/cjs/downloader/cli/options.d.ts.map +1 -0
- package/dist/cjs/downloader/cli/options.js +124 -0
- package/dist/cjs/downloader/cli/options.js.map +1 -0
- package/dist/cjs/downloader/cli/resolver.d.ts +24 -0
- package/dist/cjs/downloader/cli/resolver.d.ts.map +1 -0
- package/dist/cjs/downloader/cli/resolver.js +28 -0
- package/dist/cjs/downloader/cli/resolver.js.map +1 -0
- package/dist/cjs/downloader/creator/discover-posts.d.ts +15 -0
- package/dist/cjs/downloader/creator/discover-posts.d.ts.map +1 -0
- package/dist/cjs/downloader/creator/discover-posts.js +20 -0
- package/dist/cjs/downloader/creator/discover-posts.js.map +1 -0
- package/dist/cjs/downloader/creator/sync.d.ts +16 -0
- package/dist/cjs/downloader/creator/sync.d.ts.map +1 -0
- package/dist/cjs/downloader/creator/sync.js +34 -0
- package/dist/cjs/downloader/creator/sync.js.map +1 -0
- package/dist/cjs/downloader/fs/filesystem.d.ts +2 -0
- package/dist/cjs/downloader/fs/filesystem.d.ts.map +1 -0
- package/dist/cjs/downloader/fs/filesystem.js +10 -0
- package/dist/cjs/downloader/fs/filesystem.js.map +1 -0
- package/dist/cjs/downloader/fs/path-manager.d.ts +17 -0
- package/dist/cjs/downloader/fs/path-manager.d.ts.map +1 -0
- package/dist/cjs/downloader/fs/path-manager.js +49 -0
- package/dist/cjs/downloader/fs/path-manager.js.map +1 -0
- package/dist/cjs/downloader/index.d.ts +8 -2
- package/dist/cjs/downloader/index.d.ts.map +1 -1
- package/dist/cjs/downloader/index.js +55 -5
- package/dist/cjs/downloader/index.js.map +1 -1
- package/dist/cjs/downloader/manifest/creator-manager.d.ts +15 -0
- package/dist/cjs/downloader/manifest/creator-manager.d.ts.map +1 -0
- package/dist/cjs/downloader/manifest/creator-manager.js +42 -0
- package/dist/cjs/downloader/manifest/creator-manager.js.map +1 -0
- package/dist/cjs/downloader/manifest/creator.d.ts +42 -0
- package/dist/cjs/downloader/manifest/creator.d.ts.map +1 -0
- package/dist/cjs/downloader/manifest/creator.js +54 -0
- package/dist/cjs/downloader/manifest/creator.js.map +1 -0
- package/dist/cjs/downloader/manifest/store.d.ts +9 -0
- package/dist/cjs/downloader/manifest/store.d.ts.map +1 -0
- package/dist/cjs/downloader/manifest/store.js +29 -0
- package/dist/cjs/downloader/manifest/store.js.map +1 -0
- package/dist/cjs/downloader/markdown/asset.d.ts +12 -0
- package/dist/cjs/downloader/markdown/asset.d.ts.map +1 -0
- package/dist/cjs/downloader/markdown/asset.js +31 -0
- package/dist/cjs/downloader/markdown/asset.js.map +1 -0
- package/dist/cjs/downloader/post/article.d.ts +4 -0
- package/dist/cjs/downloader/post/article.d.ts.map +1 -0
- package/dist/cjs/downloader/post/article.js +35 -0
- package/dist/cjs/downloader/post/article.js.map +1 -0
- package/dist/cjs/downloader/post/content.d.ts +52 -0
- package/dist/cjs/downloader/post/content.d.ts.map +1 -0
- package/dist/cjs/downloader/post/content.js +48 -0
- package/dist/cjs/downloader/post/content.js.map +1 -0
- package/dist/cjs/downloader/post/contents.d.ts +9 -0
- package/dist/cjs/downloader/post/contents.d.ts.map +1 -0
- package/dist/cjs/downloader/post/contents.js +36 -0
- package/dist/cjs/downloader/post/contents.js.map +1 -0
- package/dist/cjs/downloader/post/embed.d.ts +7 -0
- package/dist/cjs/downloader/post/embed.d.ts.map +1 -0
- package/dist/cjs/downloader/post/embed.js +14 -0
- package/dist/cjs/downloader/post/embed.js.map +1 -0
- package/dist/cjs/downloader/post/sync.d.ts +17 -0
- package/dist/cjs/downloader/post/sync.d.ts.map +1 -0
- package/dist/cjs/downloader/post/sync.js +127 -0
- package/dist/cjs/downloader/post/sync.js.map +1 -0
- package/dist/cjs/downloader/post/url-embed.d.ts +7 -0
- package/dist/cjs/downloader/post/url-embed.d.ts.map +1 -0
- package/dist/cjs/downloader/post/url-embed.js +14 -0
- package/dist/cjs/downloader/post/url-embed.js.map +1 -0
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/transport/http2-session.d.ts +7 -0
- package/dist/cjs/transport/http2-session.d.ts.map +1 -0
- package/dist/cjs/transport/http2-session.js +48 -0
- package/dist/cjs/transport/http2-session.js.map +1 -0
- package/dist/cjs/transport/http2.d.ts +11 -0
- package/dist/cjs/transport/http2.d.ts.map +1 -0
- package/dist/cjs/transport/http2.js +85 -0
- package/dist/cjs/transport/http2.js.map +1 -0
- package/dist/cjs/transport/worker.d.ts +17 -0
- package/dist/cjs/transport/worker.d.ts.map +1 -0
- package/dist/cjs/transport/worker.js +137 -0
- package/dist/cjs/transport/worker.js.map +1 -0
- package/dist/cjs/usage.d.ts +4 -0
- package/dist/cjs/usage.d.ts.map +1 -0
- package/dist/cjs/usage.js +11 -0
- package/dist/cjs/usage.js.map +1 -0
- package/dist/esm/cli.d.ts +3 -0
- package/dist/esm/cli.d.ts.map +1 -0
- package/dist/esm/cli.js +62 -0
- package/dist/esm/cli.js.map +1 -0
- package/dist/esm/client/client.d.ts +36 -0
- package/dist/esm/client/client.d.ts.map +1 -0
- package/dist/esm/client/client.js +68 -0
- package/dist/esm/client/client.js.map +1 -0
- package/dist/esm/client/endpoints/creator-get.d.ts +8 -0
- package/dist/esm/client/endpoints/creator-get.d.ts.map +1 -0
- package/dist/esm/client/endpoints/creator-get.js +4 -0
- package/dist/esm/client/endpoints/creator-get.js.map +1 -0
- package/dist/esm/client/endpoints/creator-list-pages.d.ts +9 -0
- package/dist/esm/client/endpoints/creator-list-pages.d.ts.map +1 -0
- package/dist/esm/client/endpoints/creator-list-pages.js +4 -0
- package/dist/esm/client/endpoints/creator-list-pages.js.map +1 -0
- package/dist/esm/client/endpoints/creator-list-plans.d.ts +8 -0
- package/dist/esm/client/endpoints/creator-list-plans.d.ts.map +1 -0
- package/dist/esm/client/endpoints/creator-list-plans.js +4 -0
- package/dist/esm/client/endpoints/creator-list-plans.js.map +1 -0
- package/dist/esm/client/endpoints/creator-list-posts.d.ts +11 -0
- package/dist/esm/client/endpoints/creator-list-posts.d.ts.map +1 -0
- package/dist/esm/client/endpoints/creator-list-posts.js +4 -0
- package/dist/esm/client/endpoints/creator-list-posts.js.map +1 -0
- package/dist/esm/client/endpoints/post-info.d.ts +8 -0
- package/dist/esm/client/endpoints/post-info.d.ts.map +1 -0
- package/dist/esm/client/endpoints/post-info.js +4 -0
- package/dist/esm/client/endpoints/post-info.js.map +1 -0
- package/dist/esm/client/endpoints/post-list-home.d.ts +6 -0
- package/dist/esm/client/endpoints/post-list-home.d.ts.map +1 -0
- package/dist/esm/client/endpoints/post-list-home.js +4 -0
- package/dist/esm/client/endpoints/post-list-home.js.map +1 -0
- package/dist/esm/client/endpoints/post-list-supporting.d.ts +6 -0
- package/dist/esm/client/endpoints/post-list-supporting.d.ts.map +1 -0
- package/dist/esm/client/endpoints/post-list-supporting.js +4 -0
- package/dist/esm/client/endpoints/post-list-supporting.js.map +1 -0
- package/dist/esm/client/endpoints/user-list-following.d.ts +7 -0
- package/dist/esm/client/endpoints/user-list-following.d.ts.map +1 -0
- package/dist/esm/client/endpoints/user-list-following.js +4 -0
- package/dist/esm/client/endpoints/user-list-following.js.map +1 -0
- package/dist/esm/client/endpoints/user-list-supporting.d.ts +5 -0
- package/dist/esm/client/endpoints/user-list-supporting.d.ts.map +1 -0
- package/dist/esm/client/endpoints/user-list-supporting.js +4 -0
- package/dist/esm/client/endpoints/user-list-supporting.js.map +1 -0
- package/dist/esm/client/fanbox-envelope.d.ts.map +1 -0
- package/dist/esm/client/fanbox-envelope.js.map +1 -0
- package/dist/esm/client/fanbox-headers.d.ts.map +1 -0
- package/dist/esm/{fanbox-headers.js → client/fanbox-headers.js} +0 -4
- package/dist/esm/client/fanbox-headers.js.map +1 -0
- package/dist/esm/client/models/creator.d.ts.map +1 -0
- package/dist/esm/client/models/creator.js.map +1 -0
- package/dist/esm/client/models/plan.d.ts.map +1 -0
- package/dist/esm/{endpoints → client}/models/plan.js.map +1 -1
- package/dist/esm/client/models/post/article.d.ts +41 -0
- package/dist/esm/client/models/post/article.d.ts.map +1 -0
- package/dist/esm/client/models/post/article.js +2 -0
- package/dist/esm/client/models/post/article.js.map +1 -0
- package/dist/esm/client/models/post/asset.d.ts +16 -0
- package/dist/esm/client/models/post/asset.d.ts.map +1 -0
- package/dist/esm/client/models/post/asset.js +2 -0
- package/dist/esm/client/models/post/asset.js.map +1 -0
- package/dist/esm/client/models/post/embed.d.ts +12 -0
- package/dist/esm/client/models/post/embed.d.ts.map +1 -0
- package/dist/esm/client/models/post/embed.js +2 -0
- package/dist/esm/client/models/post/embed.js.map +1 -0
- package/dist/esm/client/models/post/url-embed.d.ts +13 -0
- package/dist/esm/client/models/post/url-embed.d.ts.map +1 -0
- package/dist/esm/client/models/post/url-embed.js +2 -0
- package/dist/esm/client/models/post/url-embed.js.map +1 -0
- package/dist/esm/{endpoints → client}/models/post.d.ts +5 -48
- package/dist/esm/client/models/post.d.ts.map +1 -0
- package/dist/esm/{endpoints → client}/models/post.js.map +1 -1
- package/dist/esm/client/models/user.d.ts.map +1 -0
- package/dist/esm/{endpoints → client}/models/user.js.map +1 -1
- package/dist/esm/client/types.d.ts +14 -0
- package/dist/esm/client/types.d.ts.map +1 -0
- package/dist/esm/{types.js.map → client/types.js.map} +1 -1
- package/dist/esm/downloader/asset/download.d.ts +21 -0
- package/dist/esm/downloader/asset/download.d.ts.map +1 -0
- package/dist/esm/downloader/asset/download.js +56 -0
- package/dist/esm/downloader/asset/download.js.map +1 -0
- package/dist/esm/downloader/cli/cookie.d.ts +2 -0
- package/dist/esm/downloader/cli/cookie.d.ts.map +1 -0
- package/dist/esm/downloader/cli/cookie.js +34 -0
- package/dist/esm/downloader/cli/cookie.js.map +1 -0
- package/dist/esm/downloader/cli/index.d.ts +4 -0
- package/dist/esm/downloader/cli/index.d.ts.map +1 -0
- package/dist/esm/downloader/cli/index.js +11 -0
- package/dist/esm/downloader/cli/index.js.map +1 -0
- package/dist/esm/downloader/cli/options.d.ts +22 -0
- package/dist/esm/downloader/cli/options.d.ts.map +1 -0
- package/dist/esm/downloader/cli/options.js +120 -0
- package/dist/esm/downloader/cli/options.js.map +1 -0
- package/dist/esm/downloader/cli/resolver.d.ts +24 -0
- package/dist/esm/downloader/cli/resolver.d.ts.map +1 -0
- package/dist/esm/downloader/cli/resolver.js +25 -0
- package/dist/esm/downloader/cli/resolver.js.map +1 -0
- package/dist/esm/downloader/creator/discover-posts.d.ts +15 -0
- package/dist/esm/downloader/creator/discover-posts.d.ts.map +1 -0
- package/dist/esm/downloader/creator/discover-posts.js +17 -0
- package/dist/esm/downloader/creator/discover-posts.js.map +1 -0
- package/dist/esm/downloader/creator/sync.d.ts +16 -0
- package/dist/esm/downloader/creator/sync.d.ts.map +1 -0
- package/dist/esm/downloader/creator/sync.js +31 -0
- package/dist/esm/downloader/creator/sync.js.map +1 -0
- package/dist/esm/downloader/fs/filesystem.d.ts +2 -0
- package/dist/esm/downloader/fs/filesystem.d.ts.map +1 -0
- package/dist/esm/downloader/fs/filesystem.js +7 -0
- package/dist/esm/downloader/fs/filesystem.js.map +1 -0
- package/dist/esm/downloader/fs/path-manager.d.ts +17 -0
- package/dist/esm/downloader/fs/path-manager.d.ts.map +1 -0
- package/dist/esm/downloader/fs/path-manager.js +45 -0
- package/dist/esm/downloader/fs/path-manager.js.map +1 -0
- package/dist/esm/downloader/index.d.ts +8 -2
- package/dist/esm/downloader/index.d.ts.map +1 -1
- package/dist/esm/downloader/index.js +54 -5
- package/dist/esm/downloader/index.js.map +1 -1
- package/dist/esm/downloader/manifest/creator-manager.d.ts +15 -0
- package/dist/esm/downloader/manifest/creator-manager.d.ts.map +1 -0
- package/dist/esm/downloader/manifest/creator-manager.js +38 -0
- package/dist/esm/downloader/manifest/creator-manager.js.map +1 -0
- package/dist/esm/downloader/manifest/creator.d.ts +42 -0
- package/dist/esm/downloader/manifest/creator.d.ts.map +1 -0
- package/dist/esm/downloader/manifest/creator.js +50 -0
- package/dist/esm/downloader/manifest/creator.js.map +1 -0
- package/dist/esm/downloader/manifest/store.d.ts +9 -0
- package/dist/esm/downloader/manifest/store.d.ts.map +1 -0
- package/dist/esm/downloader/manifest/store.js +25 -0
- package/dist/esm/downloader/manifest/store.js.map +1 -0
- package/dist/esm/downloader/markdown/asset.d.ts +12 -0
- package/dist/esm/downloader/markdown/asset.d.ts.map +1 -0
- package/dist/esm/downloader/markdown/asset.js +22 -0
- package/dist/esm/downloader/markdown/asset.js.map +1 -0
- package/dist/esm/downloader/post/article.d.ts +4 -0
- package/dist/esm/downloader/post/article.d.ts.map +1 -0
- package/dist/esm/downloader/post/article.js +32 -0
- package/dist/esm/downloader/post/article.js.map +1 -0
- package/dist/esm/downloader/post/content.d.ts +52 -0
- package/dist/esm/downloader/post/content.d.ts.map +1 -0
- package/dist/esm/downloader/post/content.js +39 -0
- package/dist/esm/downloader/post/content.js.map +1 -0
- package/dist/esm/downloader/post/contents.d.ts +9 -0
- package/dist/esm/downloader/post/contents.d.ts.map +1 -0
- package/dist/esm/downloader/post/contents.js +33 -0
- package/dist/esm/downloader/post/contents.js.map +1 -0
- package/dist/esm/downloader/post/embed.d.ts +7 -0
- package/dist/esm/downloader/post/embed.d.ts.map +1 -0
- package/dist/esm/downloader/post/embed.js +11 -0
- package/dist/esm/downloader/post/embed.js.map +1 -0
- package/dist/esm/downloader/post/sync.d.ts +17 -0
- package/dist/esm/downloader/post/sync.d.ts.map +1 -0
- package/dist/esm/downloader/post/sync.js +124 -0
- package/dist/esm/downloader/post/sync.js.map +1 -0
- package/dist/esm/downloader/post/url-embed.d.ts +7 -0
- package/dist/esm/downloader/post/url-embed.d.ts.map +1 -0
- package/dist/esm/downloader/post/url-embed.js +11 -0
- package/dist/esm/downloader/post/url-embed.js.map +1 -0
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/transport/http2-session.d.ts +7 -0
- package/dist/esm/transport/http2-session.d.ts.map +1 -0
- package/dist/esm/transport/http2-session.js +44 -0
- package/dist/esm/transport/http2-session.js.map +1 -0
- package/dist/esm/transport/http2.d.ts +11 -0
- package/dist/esm/transport/http2.d.ts.map +1 -0
- package/dist/esm/transport/http2.js +80 -0
- package/dist/esm/transport/http2.js.map +1 -0
- package/dist/esm/transport/worker.d.ts +17 -0
- package/dist/esm/transport/worker.d.ts.map +1 -0
- package/dist/esm/transport/worker.js +133 -0
- package/dist/esm/transport/worker.js.map +1 -0
- package/dist/esm/usage.d.ts +4 -0
- package/dist/esm/usage.d.ts.map +1 -0
- package/dist/esm/usage.js +7 -0
- package/dist/esm/usage.js.map +1 -0
- package/package.json +5 -2
- package/dist/cjs/client-options.d.ts +0 -8
- package/dist/cjs/client-options.d.ts.map +0 -1
- package/dist/cjs/client-options.js +0 -3
- package/dist/cjs/client-options.js.map +0 -1
- package/dist/cjs/client.d.ts +0 -31
- package/dist/cjs/client.d.ts.map +0 -1
- package/dist/cjs/client.js +0 -107
- package/dist/cjs/client.js.map +0 -1
- package/dist/cjs/downloader/asset.d.ts +0 -30
- package/dist/cjs/downloader/asset.d.ts.map +0 -1
- package/dist/cjs/downloader/asset.js +0 -99
- package/dist/cjs/downloader/asset.js.map +0 -1
- package/dist/cjs/downloader/cli.d.ts +0 -8
- package/dist/cjs/downloader/cli.d.ts.map +0 -1
- package/dist/cjs/downloader/cli.js +0 -168
- package/dist/cjs/downloader/cli.js.map +0 -1
- package/dist/cjs/downloader/discovery.d.ts +0 -12
- package/dist/cjs/downloader/discovery.d.ts.map +0 -1
- package/dist/cjs/downloader/discovery.js +0 -87
- package/dist/cjs/downloader/discovery.js.map +0 -1
- package/dist/cjs/downloader/errors.d.ts +0 -5
- package/dist/cjs/downloader/errors.d.ts.map +0 -1
- package/dist/cjs/downloader/errors.js +0 -40
- package/dist/cjs/downloader/errors.js.map +0 -1
- package/dist/cjs/downloader/logger.d.ts +0 -16
- package/dist/cjs/downloader/logger.d.ts.map +0 -1
- package/dist/cjs/downloader/logger.js +0 -51
- package/dist/cjs/downloader/logger.js.map +0 -1
- package/dist/cjs/downloader/manifest.d.ts +0 -31
- package/dist/cjs/downloader/manifest.d.ts.map +0 -1
- package/dist/cjs/downloader/manifest.js +0 -53
- package/dist/cjs/downloader/manifest.js.map +0 -1
- package/dist/cjs/downloader/markdown.d.ts +0 -4
- package/dist/cjs/downloader/markdown.d.ts.map +0 -1
- package/dist/cjs/downloader/markdown.js +0 -62
- package/dist/cjs/downloader/markdown.js.map +0 -1
- package/dist/cjs/downloader/options.d.ts +0 -24
- package/dist/cjs/downloader/options.d.ts.map +0 -1
- package/dist/cjs/downloader/options.js +0 -135
- package/dist/cjs/downloader/options.js.map +0 -1
- package/dist/cjs/downloader/path.d.ts +0 -15
- package/dist/cjs/downloader/path.d.ts.map +0 -1
- package/dist/cjs/downloader/path.js +0 -79
- package/dist/cjs/downloader/path.js.map +0 -1
- package/dist/cjs/downloader/resolver.d.ts +0 -16
- package/dist/cjs/downloader/resolver.d.ts.map +0 -1
- package/dist/cjs/downloader/resolver.js +0 -21
- package/dist/cjs/downloader/resolver.js.map +0 -1
- package/dist/cjs/downloader/scheduler.d.ts +0 -19
- package/dist/cjs/downloader/scheduler.d.ts.map +0 -1
- package/dist/cjs/downloader/scheduler.js +0 -124
- package/dist/cjs/downloader/scheduler.js.map +0 -1
- package/dist/cjs/downloader/sync.d.ts +0 -21
- package/dist/cjs/downloader/sync.d.ts.map +0 -1
- package/dist/cjs/downloader/sync.js +0 -317
- package/dist/cjs/downloader/sync.js.map +0 -1
- package/dist/cjs/endpoints/creator-get.d.ts +0 -7
- package/dist/cjs/endpoints/creator-get.d.ts.map +0 -1
- package/dist/cjs/endpoints/creator-get.js +0 -5
- package/dist/cjs/endpoints/creator-get.js.map +0 -1
- package/dist/cjs/endpoints/creator-list-following.d.ts +0 -4
- package/dist/cjs/endpoints/creator-list-following.d.ts.map +0 -1
- package/dist/cjs/endpoints/creator-list-following.js +0 -5
- package/dist/cjs/endpoints/creator-list-following.js.map +0 -1
- package/dist/cjs/endpoints/fanbox-envelope.d.ts.map +0 -1
- package/dist/cjs/endpoints/fanbox-envelope.js.map +0 -1
- package/dist/cjs/endpoints/models/creator.d.ts.map +0 -1
- package/dist/cjs/endpoints/models/creator.js.map +0 -1
- package/dist/cjs/endpoints/models/plan.d.ts.map +0 -1
- package/dist/cjs/endpoints/models/post.d.ts.map +0 -1
- package/dist/cjs/endpoints/models/user.d.ts.map +0 -1
- package/dist/cjs/endpoints/plan-list-creator.d.ts +0 -7
- package/dist/cjs/endpoints/plan-list-creator.d.ts.map +0 -1
- package/dist/cjs/endpoints/plan-list-creator.js +0 -5
- package/dist/cjs/endpoints/plan-list-creator.js.map +0 -1
- package/dist/cjs/endpoints/plan-list-supporting.d.ts +0 -4
- package/dist/cjs/endpoints/plan-list-supporting.d.ts.map +0 -1
- package/dist/cjs/endpoints/plan-list-supporting.js +0 -5
- package/dist/cjs/endpoints/plan-list-supporting.js.map +0 -1
- package/dist/cjs/endpoints/post-info.d.ts +0 -7
- package/dist/cjs/endpoints/post-info.d.ts.map +0 -1
- package/dist/cjs/endpoints/post-info.js +0 -5
- package/dist/cjs/endpoints/post-info.js.map +0 -1
- package/dist/cjs/endpoints/post-list-creator.d.ts +0 -10
- package/dist/cjs/endpoints/post-list-creator.d.ts.map +0 -1
- package/dist/cjs/endpoints/post-list-creator.js +0 -5
- package/dist/cjs/endpoints/post-list-creator.js.map +0 -1
- package/dist/cjs/endpoints/post-list-home.d.ts +0 -5
- package/dist/cjs/endpoints/post-list-home.d.ts.map +0 -1
- package/dist/cjs/endpoints/post-list-home.js +0 -5
- package/dist/cjs/endpoints/post-list-home.js.map +0 -1
- package/dist/cjs/endpoints/post-list-supporting.d.ts +0 -5
- package/dist/cjs/endpoints/post-list-supporting.d.ts.map +0 -1
- package/dist/cjs/endpoints/post-list-supporting.js +0 -5
- package/dist/cjs/endpoints/post-list-supporting.js.map +0 -1
- package/dist/cjs/endpoints/post-paginate-creator.d.ts +0 -8
- package/dist/cjs/endpoints/post-paginate-creator.d.ts.map +0 -1
- package/dist/cjs/endpoints/post-paginate-creator.js +0 -5
- package/dist/cjs/endpoints/post-paginate-creator.js.map +0 -1
- package/dist/cjs/fanbox-headers.d.ts.map +0 -1
- package/dist/cjs/fanbox-headers.js.map +0 -1
- package/dist/cjs/http.d.ts +0 -31
- package/dist/cjs/http.d.ts.map +0 -1
- package/dist/cjs/http.js +0 -200
- package/dist/cjs/http.js.map +0 -1
- package/dist/cjs/types.d.ts +0 -16
- package/dist/cjs/types.d.ts.map +0 -1
- package/dist/esm/client-options.d.ts +0 -8
- package/dist/esm/client-options.d.ts.map +0 -1
- package/dist/esm/client-options.js +0 -2
- package/dist/esm/client-options.js.map +0 -1
- package/dist/esm/client.d.ts +0 -31
- package/dist/esm/client.d.ts.map +0 -1
- package/dist/esm/client.js +0 -102
- package/dist/esm/client.js.map +0 -1
- package/dist/esm/downloader/asset.d.ts +0 -30
- package/dist/esm/downloader/asset.d.ts.map +0 -1
- package/dist/esm/downloader/asset.js +0 -91
- package/dist/esm/downloader/asset.js.map +0 -1
- package/dist/esm/downloader/cli.d.ts +0 -8
- package/dist/esm/downloader/cli.d.ts.map +0 -1
- package/dist/esm/downloader/cli.js +0 -164
- package/dist/esm/downloader/cli.js.map +0 -1
- package/dist/esm/downloader/discovery.d.ts +0 -12
- package/dist/esm/downloader/discovery.d.ts.map +0 -1
- package/dist/esm/downloader/discovery.js +0 -84
- package/dist/esm/downloader/discovery.js.map +0 -1
- package/dist/esm/downloader/errors.d.ts +0 -5
- package/dist/esm/downloader/errors.d.ts.map +0 -1
- package/dist/esm/downloader/errors.js +0 -36
- package/dist/esm/downloader/errors.js.map +0 -1
- package/dist/esm/downloader/logger.d.ts +0 -16
- package/dist/esm/downloader/logger.d.ts.map +0 -1
- package/dist/esm/downloader/logger.js +0 -47
- package/dist/esm/downloader/logger.js.map +0 -1
- package/dist/esm/downloader/manifest.d.ts +0 -31
- package/dist/esm/downloader/manifest.d.ts.map +0 -1
- package/dist/esm/downloader/manifest.js +0 -46
- package/dist/esm/downloader/manifest.js.map +0 -1
- package/dist/esm/downloader/markdown.d.ts +0 -4
- package/dist/esm/downloader/markdown.d.ts.map +0 -1
- package/dist/esm/downloader/markdown.js +0 -59
- package/dist/esm/downloader/markdown.js.map +0 -1
- package/dist/esm/downloader/options.d.ts +0 -24
- package/dist/esm/downloader/options.d.ts.map +0 -1
- package/dist/esm/downloader/options.js +0 -130
- package/dist/esm/downloader/options.js.map +0 -1
- package/dist/esm/downloader/path.d.ts +0 -15
- package/dist/esm/downloader/path.d.ts.map +0 -1
- package/dist/esm/downloader/path.js +0 -69
- package/dist/esm/downloader/path.js.map +0 -1
- package/dist/esm/downloader/resolver.d.ts +0 -16
- package/dist/esm/downloader/resolver.d.ts.map +0 -1
- package/dist/esm/downloader/resolver.js +0 -18
- package/dist/esm/downloader/resolver.js.map +0 -1
- package/dist/esm/downloader/scheduler.d.ts +0 -19
- package/dist/esm/downloader/scheduler.d.ts.map +0 -1
- package/dist/esm/downloader/scheduler.js +0 -120
- package/dist/esm/downloader/scheduler.js.map +0 -1
- package/dist/esm/downloader/sync.d.ts +0 -21
- package/dist/esm/downloader/sync.d.ts.map +0 -1
- package/dist/esm/downloader/sync.js +0 -311
- package/dist/esm/downloader/sync.js.map +0 -1
- package/dist/esm/endpoints/creator-get.d.ts +0 -7
- package/dist/esm/endpoints/creator-get.d.ts.map +0 -1
- package/dist/esm/endpoints/creator-get.js +0 -2
- package/dist/esm/endpoints/creator-get.js.map +0 -1
- package/dist/esm/endpoints/creator-list-following.d.ts +0 -4
- package/dist/esm/endpoints/creator-list-following.d.ts.map +0 -1
- package/dist/esm/endpoints/creator-list-following.js +0 -2
- package/dist/esm/endpoints/creator-list-following.js.map +0 -1
- package/dist/esm/endpoints/fanbox-envelope.d.ts.map +0 -1
- package/dist/esm/endpoints/fanbox-envelope.js.map +0 -1
- package/dist/esm/endpoints/models/creator.d.ts.map +0 -1
- package/dist/esm/endpoints/models/creator.js.map +0 -1
- package/dist/esm/endpoints/models/plan.d.ts.map +0 -1
- package/dist/esm/endpoints/models/post.d.ts.map +0 -1
- package/dist/esm/endpoints/models/user.d.ts.map +0 -1
- package/dist/esm/endpoints/plan-list-creator.d.ts +0 -7
- package/dist/esm/endpoints/plan-list-creator.d.ts.map +0 -1
- package/dist/esm/endpoints/plan-list-creator.js +0 -2
- package/dist/esm/endpoints/plan-list-creator.js.map +0 -1
- package/dist/esm/endpoints/plan-list-supporting.d.ts +0 -4
- package/dist/esm/endpoints/plan-list-supporting.d.ts.map +0 -1
- package/dist/esm/endpoints/plan-list-supporting.js +0 -2
- package/dist/esm/endpoints/plan-list-supporting.js.map +0 -1
- package/dist/esm/endpoints/post-info.d.ts +0 -7
- package/dist/esm/endpoints/post-info.d.ts.map +0 -1
- package/dist/esm/endpoints/post-info.js +0 -2
- package/dist/esm/endpoints/post-info.js.map +0 -1
- package/dist/esm/endpoints/post-list-creator.d.ts +0 -10
- package/dist/esm/endpoints/post-list-creator.d.ts.map +0 -1
- package/dist/esm/endpoints/post-list-creator.js +0 -2
- package/dist/esm/endpoints/post-list-creator.js.map +0 -1
- package/dist/esm/endpoints/post-list-home.d.ts +0 -5
- package/dist/esm/endpoints/post-list-home.d.ts.map +0 -1
- package/dist/esm/endpoints/post-list-home.js +0 -2
- package/dist/esm/endpoints/post-list-home.js.map +0 -1
- package/dist/esm/endpoints/post-list-supporting.d.ts +0 -5
- package/dist/esm/endpoints/post-list-supporting.d.ts.map +0 -1
- package/dist/esm/endpoints/post-list-supporting.js +0 -2
- package/dist/esm/endpoints/post-list-supporting.js.map +0 -1
- package/dist/esm/endpoints/post-paginate-creator.d.ts +0 -8
- package/dist/esm/endpoints/post-paginate-creator.d.ts.map +0 -1
- package/dist/esm/endpoints/post-paginate-creator.js +0 -2
- package/dist/esm/endpoints/post-paginate-creator.js.map +0 -1
- package/dist/esm/fanbox-headers.d.ts.map +0 -1
- package/dist/esm/fanbox-headers.js.map +0 -1
- package/dist/esm/http.d.ts +0 -31
- package/dist/esm/http.d.ts.map +0 -1
- package/dist/esm/http.js +0 -195
- package/dist/esm/http.js.map +0 -1
- package/dist/esm/types.d.ts +0 -16
- package/dist/esm/types.d.ts.map +0 -1
- /package/dist/cjs/{endpoints → client}/fanbox-envelope.d.ts +0 -0
- /package/dist/cjs/{endpoints → client}/fanbox-envelope.js +0 -0
- /package/dist/cjs/{fanbox-headers.d.ts → client/fanbox-headers.d.ts} +0 -0
- /package/dist/cjs/{endpoints → client}/models/creator.d.ts +0 -0
- /package/dist/cjs/{endpoints → client}/models/creator.js +0 -0
- /package/dist/cjs/{endpoints → client}/models/plan.d.ts +0 -0
- /package/dist/cjs/{endpoints → client}/models/plan.js +0 -0
- /package/dist/cjs/{endpoints → client}/models/post.js +0 -0
- /package/dist/cjs/{endpoints → client}/models/user.d.ts +0 -0
- /package/dist/cjs/{endpoints → client}/models/user.js +0 -0
- /package/dist/cjs/{types.js → client/types.js} +0 -0
- /package/dist/esm/{endpoints → client}/fanbox-envelope.d.ts +0 -0
- /package/dist/esm/{endpoints → client}/fanbox-envelope.js +0 -0
- /package/dist/esm/{fanbox-headers.d.ts → client/fanbox-headers.d.ts} +0 -0
- /package/dist/esm/{endpoints → client}/models/creator.d.ts +0 -0
- /package/dist/esm/{endpoints → client}/models/creator.js +0 -0
- /package/dist/esm/{endpoints → client}/models/plan.d.ts +0 -0
- /package/dist/esm/{endpoints → client}/models/plan.js +0 -0
- /package/dist/esm/{endpoints → client}/models/post.js +0 -0
- /package/dist/esm/{endpoints → client}/models/user.d.ts +0 -0
- /package/dist/esm/{endpoints → client}/models/user.js +0 -0
- /package/dist/esm/{types.js → client/types.js} +0 -0
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
import { FanboxClient } from "../client.js";
|
|
2
|
-
import { createFanboxRequestHeaders } from "../fanbox-headers.js";
|
|
3
|
-
import { Http2Transport } from "../http.js";
|
|
4
|
-
import { AssetDownloader } from "./asset.js";
|
|
5
|
-
import { discoverCreatorPosts } from "./discovery.js";
|
|
6
|
-
import { logDebugErrorResponse } from "./errors.js";
|
|
7
|
-
import { createLogger } from "./logger.js";
|
|
8
|
-
import { CliUsageError, parseDownloadOptions } from "./options.js";
|
|
9
|
-
import { assertPathBudget } from "./path.js";
|
|
10
|
-
import { resolveCreatorIds } from "./resolver.js";
|
|
11
|
-
import { RequestScheduler } from "./scheduler.js";
|
|
12
|
-
import { syncCreator } from "./sync.js";
|
|
13
|
-
export const DOWNLOAD_HELP = `Usage: fanbox-dl download [options]
|
|
14
|
-
|
|
15
|
-
Download FANBOX posts for selected creators.
|
|
16
|
-
|
|
17
|
-
Selectors:
|
|
18
|
-
--creator <id> Add a creator ID. Can be repeated.
|
|
19
|
-
--following Add all followed creators.
|
|
20
|
-
--supporting Add all supporting creators.
|
|
21
|
-
--ignore-creator <id> Exclude a creator ID. Can be repeated.
|
|
22
|
-
|
|
23
|
-
Auth:
|
|
24
|
-
--cookie <value> Raw session ID or FANBOXSESSID=... cookie.
|
|
25
|
-
--cookie-file <path> Read raw cookie or Netscape cookies.txt.
|
|
26
|
-
--user-agent <value> Send the User-Agent from your logged-in browser.
|
|
27
|
-
FANBOX_SESSION_ID Environment fallback.
|
|
28
|
-
FANBOX_USER_AGENT User-Agent environment fallback.
|
|
29
|
-
|
|
30
|
-
Download:
|
|
31
|
-
--output <path> Output directory. Default: fanbox-downloads.
|
|
32
|
-
--dry-run List creators/posts without downloading or writing.
|
|
33
|
-
--flat-posts Store post files directly under each creator.
|
|
34
|
-
--verify-assets Verify existing asset size and SHA-256 locally.
|
|
35
|
-
|
|
36
|
-
Requests:
|
|
37
|
-
--concurrency <n> Concurrent requests. Default: 3.
|
|
38
|
-
--request-interval-ms <n> Delay between request starts. Default: 0.
|
|
39
|
-
--rate-limit-pause-ms <n> Pause after 429 without Retry-After. Default: 60000.
|
|
40
|
-
--max-retries <n> Retry attempts. Default: 5.
|
|
41
|
-
|
|
42
|
-
Output:
|
|
43
|
-
--log-format json|pretty Default: json.
|
|
44
|
-
--log-level <level> debug|info|warn|error. Default: info.
|
|
45
|
-
--help Show this help.
|
|
46
|
-
`;
|
|
47
|
-
export async function runCli(args, env = process.env, dependencies = {}) {
|
|
48
|
-
const write = dependencies.write ?? ((line) => process.stderr.write(`${line}\n`));
|
|
49
|
-
if (args.includes("--help") || args.includes("-h")) {
|
|
50
|
-
write(DOWNLOAD_HELP);
|
|
51
|
-
return 0;
|
|
52
|
-
}
|
|
53
|
-
let logger;
|
|
54
|
-
let transportToClose;
|
|
55
|
-
try {
|
|
56
|
-
const options = parseDownloadOptions(args, env);
|
|
57
|
-
assertPathBudget(options.output);
|
|
58
|
-
logger = createLogger({
|
|
59
|
-
format: options.logFormat,
|
|
60
|
-
level: options.logLevel,
|
|
61
|
-
write: dependencies.write,
|
|
62
|
-
});
|
|
63
|
-
const transport = dependencies.transport ?? new Http2Transport();
|
|
64
|
-
transportToClose = dependencies.transport ? undefined : transport;
|
|
65
|
-
const requestHeaders = createFanboxRequestHeaders({
|
|
66
|
-
cookie: options.cookie,
|
|
67
|
-
userAgent: options.userAgent,
|
|
68
|
-
});
|
|
69
|
-
const scheduler = new RequestScheduler({
|
|
70
|
-
concurrency: options.concurrency,
|
|
71
|
-
logger,
|
|
72
|
-
maxRetries: options.maxRetries,
|
|
73
|
-
rateLimitPauseMs: options.rateLimitPauseMs,
|
|
74
|
-
requestIntervalMs: options.requestIntervalMs,
|
|
75
|
-
});
|
|
76
|
-
const client = new FanboxClient({
|
|
77
|
-
cookie: requestHeaders.Cookie,
|
|
78
|
-
transport: {
|
|
79
|
-
close: () => transport.close(),
|
|
80
|
-
request: (request) => scheduler.request(() => transport.request(request)),
|
|
81
|
-
},
|
|
82
|
-
userAgent: requestHeaders["User-Agent"],
|
|
83
|
-
});
|
|
84
|
-
const creatorIds = await resolveCreatorIds(client, options);
|
|
85
|
-
if (options.dryRun) {
|
|
86
|
-
for (const creatorId of creatorIds) {
|
|
87
|
-
logger.info("dry-run.creator", "Dry-run creator selected", {
|
|
88
|
-
creatorId,
|
|
89
|
-
});
|
|
90
|
-
for (const post of await discoverCreatorPosts(client, creatorId, {
|
|
91
|
-
logger,
|
|
92
|
-
})) {
|
|
93
|
-
logger.info("dry-run.post", "Dry-run post discovered", {
|
|
94
|
-
creatorId,
|
|
95
|
-
postId: post.id,
|
|
96
|
-
restricted: post.isRestricted,
|
|
97
|
-
title: post.title,
|
|
98
|
-
updatedDatetime: post.updatedDatetime,
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
return 0;
|
|
103
|
-
}
|
|
104
|
-
const assetDownloader = new AssetDownloader({
|
|
105
|
-
headers: requestHeaders,
|
|
106
|
-
scheduler,
|
|
107
|
-
transport,
|
|
108
|
-
});
|
|
109
|
-
let failed = false;
|
|
110
|
-
for (const creatorId of creatorIds) {
|
|
111
|
-
logger.info("creator.sync.start", "Creator sync started", { creatorId });
|
|
112
|
-
try {
|
|
113
|
-
const manifest = await syncCreator({
|
|
114
|
-
assetDownloader,
|
|
115
|
-
client,
|
|
116
|
-
creatorId,
|
|
117
|
-
flatPosts: options.flatPosts,
|
|
118
|
-
logger,
|
|
119
|
-
outputDirectory: options.output,
|
|
120
|
-
verifyAssets: options.verifyAssets,
|
|
121
|
-
});
|
|
122
|
-
failed || (failed = hasFailures(manifest));
|
|
123
|
-
logger.info("creator.sync.complete", "Creator sync completed", {
|
|
124
|
-
creatorId,
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
catch (error) {
|
|
128
|
-
failed = true;
|
|
129
|
-
logDebugErrorResponse(logger, error);
|
|
130
|
-
logger.error("creator.sync.failed", "Creator sync failed", {
|
|
131
|
-
creatorId,
|
|
132
|
-
error: String(error),
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
return failed ? 1 : 0;
|
|
137
|
-
}
|
|
138
|
-
catch (error) {
|
|
139
|
-
const usage = error instanceof CliUsageError;
|
|
140
|
-
const message = String(error);
|
|
141
|
-
if (usage) {
|
|
142
|
-
write(`${message}\n\n${DOWNLOAD_HELP}`);
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
if (logger) {
|
|
146
|
-
logDebugErrorResponse(logger, error);
|
|
147
|
-
}
|
|
148
|
-
write(JSON.stringify({
|
|
149
|
-
event: "cli.failed",
|
|
150
|
-
level: "error",
|
|
151
|
-
msg: message,
|
|
152
|
-
time: new Date().toISOString(),
|
|
153
|
-
}));
|
|
154
|
-
}
|
|
155
|
-
return usage ? 2 : 1;
|
|
156
|
-
}
|
|
157
|
-
finally {
|
|
158
|
-
await transportToClose?.close();
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
function hasFailures(manifest) {
|
|
162
|
-
return Object.values(manifest.posts).some((post) => post?.status === "failed");
|
|
163
|
-
}
|
|
164
|
-
//# sourceMappingURL=cli.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/downloader/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { ListCreatorPostsParams, PaginateCreatorPostsParams, PostSummary } from "../types.js";
|
|
2
|
-
import type { Logger } from "./logger.js";
|
|
3
|
-
export interface CreatorPostClient {
|
|
4
|
-
listCreatorPosts(params: ListCreatorPostsParams): Promise<PostSummary[]>;
|
|
5
|
-
paginateCreatorPosts(params: PaginateCreatorPostsParams): Promise<string[]>;
|
|
6
|
-
}
|
|
7
|
-
export interface DiscoverCreatorPostsOptions {
|
|
8
|
-
logger?: Logger;
|
|
9
|
-
pageSize?: number;
|
|
10
|
-
}
|
|
11
|
-
export declare function discoverCreatorPosts(client: CreatorPostClient, creatorId: string, options?: DiscoverCreatorPostsOptions): Promise<PostSummary[]>;
|
|
12
|
-
//# sourceMappingURL=discovery.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/downloader/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,0BAA0B,EAC1B,WAAW,EACZ,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAK1C,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACzE,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC7E;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,WAAW,EAAE,CAAC,CAqDxB"}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { logDebugErrorResponse } from "./errors.js";
|
|
2
|
-
import { silentLogger } from "./logger.js";
|
|
3
|
-
const DEFAULT_PAGE_SIZE = 300;
|
|
4
|
-
export async function discoverCreatorPosts(client, creatorId, options = {}) {
|
|
5
|
-
const logger = options.logger ?? silentLogger;
|
|
6
|
-
const pageSize = options.pageSize ?? DEFAULT_PAGE_SIZE;
|
|
7
|
-
const found = new Map();
|
|
8
|
-
let cursor = {
|
|
9
|
-
creatorId,
|
|
10
|
-
limit: pageSize,
|
|
11
|
-
sort: "newest",
|
|
12
|
-
};
|
|
13
|
-
for (;;) {
|
|
14
|
-
let page;
|
|
15
|
-
try {
|
|
16
|
-
page = await client.listCreatorPosts(cursor);
|
|
17
|
-
}
|
|
18
|
-
catch (error) {
|
|
19
|
-
logDebugErrorResponse(logger, error, { creatorId });
|
|
20
|
-
logger.warn("post.discovery.fallback", "Direct cursor failed; using paginateCreator", {
|
|
21
|
-
creatorId,
|
|
22
|
-
error: String(error),
|
|
23
|
-
});
|
|
24
|
-
await fallbackPaginate(client, creatorId, found);
|
|
25
|
-
break;
|
|
26
|
-
}
|
|
27
|
-
const added = addPosts(page, found);
|
|
28
|
-
if (page.length < pageSize) {
|
|
29
|
-
break;
|
|
30
|
-
}
|
|
31
|
-
if (added === 0) {
|
|
32
|
-
logger.warn("post.discovery.fallback", "Direct cursor made no progress; using paginateCreator", {
|
|
33
|
-
creatorId,
|
|
34
|
-
});
|
|
35
|
-
await fallbackPaginate(client, creatorId, found);
|
|
36
|
-
break;
|
|
37
|
-
}
|
|
38
|
-
const last = page.at(-1);
|
|
39
|
-
cursor = {
|
|
40
|
-
creatorId,
|
|
41
|
-
firstId: last.id,
|
|
42
|
-
firstPublishedDatetime: last.publishedDatetime,
|
|
43
|
-
limit: pageSize,
|
|
44
|
-
sort: "newest",
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
return [...found.values()];
|
|
48
|
-
}
|
|
49
|
-
function addPosts(posts, found) {
|
|
50
|
-
let added = 0;
|
|
51
|
-
for (const post of posts) {
|
|
52
|
-
if (!found.has(post.id)) {
|
|
53
|
-
added += 1;
|
|
54
|
-
found.set(post.id, post);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return added;
|
|
58
|
-
}
|
|
59
|
-
function cursorFromUrl(url) {
|
|
60
|
-
const parsed = new URL(url);
|
|
61
|
-
const creatorId = parsed.searchParams.get("creatorId");
|
|
62
|
-
if (!creatorId) {
|
|
63
|
-
return undefined;
|
|
64
|
-
}
|
|
65
|
-
return {
|
|
66
|
-
creatorId,
|
|
67
|
-
firstId: parsed.searchParams.get("firstId") ?? undefined,
|
|
68
|
-
firstPublishedDatetime: parsed.searchParams.get("firstPublishedDatetime") ?? undefined,
|
|
69
|
-
limit: Number(parsed.searchParams.get("limit") ?? DEFAULT_PAGE_SIZE),
|
|
70
|
-
sort: "newest",
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
async function fallbackPaginate(client, creatorId, found) {
|
|
74
|
-
for (const url of await client.paginateCreatorPosts({
|
|
75
|
-
creatorId,
|
|
76
|
-
sort: "newest",
|
|
77
|
-
})) {
|
|
78
|
-
const cursor = cursorFromUrl(url);
|
|
79
|
-
if (cursor) {
|
|
80
|
-
addPosts(await client.listCreatorPosts(cursor), found);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=discovery.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/downloader/discovery.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAY9B,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAyB,EACzB,SAAiB,EACjB,UAAuC,EAAE;IAEzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC;IAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,iBAAiB,CAAC;IACvD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC7C,IAAI,MAAM,GAA2B;QACnC,SAAS;QACT,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,QAAQ;KACf,CAAC;IAEF,SAAS,CAAC;QACR,IAAI,IAAmB,CAAC;QACxB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,6CAA6C,EAC7C;gBACE,SAAS;gBACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;aACrB,CACF,CAAC;YACF,MAAM,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;YAC3B,MAAM;QACR,CAAC;QACD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,uDAAuD,EACvD;gBACE,SAAS;aACV,CACF,CAAC;YACF,MAAM,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM;QACR,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;QAC1B,MAAM,GAAG;YACP,SAAS;YACT,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,sBAAsB,EAAE,IAAI,CAAC,iBAAiB;YAC9C,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,QAAQ;SACf,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,QAAQ,CACf,KAAoB,EACpB,KAA+B;IAE/B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,KAAK,IAAI,CAAC,CAAC;YACX,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACvD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,SAAS;QACT,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,SAAS;QACxD,sBAAsB,EACpB,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,wBAAwB,CAAC,IAAI,SAAS;QAChE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC;QACpE,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,MAAyB,EACzB,SAAiB,EACjB,KAA+B;IAE/B,KAAK,MAAM,GAAG,IAAI,MAAM,MAAM,CAAC,oBAAoB,CAAC;QAClD,SAAS;QACT,IAAI,EAAE,QAAQ;KACf,CAAC,EAAE,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,MAAM,EAAE,CAAC;YACX,QAAQ,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { HttpResponse } from "../http.js";
|
|
2
|
-
import type { LogFields, Logger } from "./logger.js";
|
|
3
|
-
export declare function logDebugErrorResponse(logger: Logger, error: unknown, fields?: LogFields): void;
|
|
4
|
-
export declare function logDebugResponse(logger: Logger, response: HttpResponse, fields?: LogFields): Promise<void>;
|
|
5
|
-
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/downloader/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAQrD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,EACd,MAAM,GAAE,SAAc,GACrB,IAAI,CAWN;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,YAAY,EACtB,MAAM,GAAE,SAAc,GACrB,OAAO,CAAC,IAAI,CAAC,CAOf"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
export function logDebugErrorResponse(logger, error, fields = {}) {
|
|
2
|
-
if (!isResponseLikeError(error)) {
|
|
3
|
-
return;
|
|
4
|
-
}
|
|
5
|
-
logger.debug("api.response.error", "HTTP error response", {
|
|
6
|
-
...fields,
|
|
7
|
-
body: error.body,
|
|
8
|
-
status: error.status,
|
|
9
|
-
statusText: error.statusText,
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
export async function logDebugResponse(logger, response, fields = {}) {
|
|
13
|
-
logger.debug("api.response.error", "HTTP error response", {
|
|
14
|
-
...fields,
|
|
15
|
-
body: await readResponseBody(response),
|
|
16
|
-
status: response.status,
|
|
17
|
-
statusText: response.statusText,
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
function isResponseLikeError(error) {
|
|
21
|
-
return (typeof error === "object" &&
|
|
22
|
-
error !== null &&
|
|
23
|
-
"body" in error &&
|
|
24
|
-
"status" in error &&
|
|
25
|
-
typeof error.status === "number");
|
|
26
|
-
}
|
|
27
|
-
async function readResponseBody(response) {
|
|
28
|
-
const text = await response.text();
|
|
29
|
-
try {
|
|
30
|
-
return JSON.parse(text);
|
|
31
|
-
}
|
|
32
|
-
catch {
|
|
33
|
-
return text;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/downloader/errors.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,qBAAqB,CACnC,MAAc,EACd,KAAc,EACd,SAAoB,EAAE;IAEtB,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,EAAE;QACxD,GAAG,MAAM;QACT,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,KAAK,CAAC,UAAU;KAC7B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAc,EACd,QAAsB,EACtB,SAAoB,EAAE;IAEtB,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,EAAE;QACxD,GAAG,MAAM;QACT,IAAI,EAAE,MAAM,gBAAgB,CAAC,QAAQ,CAAC;QACtC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;KAChC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,QAAQ,IAAI,KAAK;QACjB,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CACjC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,QAAsB;IACpD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export interface CreateLoggerOptions {
|
|
2
|
-
format?: "json" | "pretty";
|
|
3
|
-
level?: LogLevel;
|
|
4
|
-
write?: (line: string) => void;
|
|
5
|
-
}
|
|
6
|
-
export type LogFields = Record<string, unknown>;
|
|
7
|
-
export interface Logger {
|
|
8
|
-
debug(event: string, message: string, fields?: LogFields): void;
|
|
9
|
-
error(event: string, message: string, fields?: LogFields): void;
|
|
10
|
-
info(event: string, message: string, fields?: LogFields): void;
|
|
11
|
-
warn(event: string, message: string, fields?: LogFields): void;
|
|
12
|
-
}
|
|
13
|
-
export type LogLevel = "debug" | "error" | "info" | "warn";
|
|
14
|
-
export declare function createLogger(options?: CreateLoggerOptions): Logger;
|
|
15
|
-
export declare const silentLogger: Logger;
|
|
16
|
-
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/downloader/logger.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC3B,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEhD,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAChE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAChE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC/D,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CAChE;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAS3D,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,MAAM,CA0CtE;AAED,eAAO,MAAM,YAAY,EAAE,MAK1B,CAAC"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
const LEVEL_WEIGHTS = {
|
|
2
|
-
debug: 10,
|
|
3
|
-
error: 40,
|
|
4
|
-
info: 20,
|
|
5
|
-
warn: 30,
|
|
6
|
-
};
|
|
7
|
-
export function createLogger(options = {}) {
|
|
8
|
-
const format = options.format ?? "json";
|
|
9
|
-
const minimumLevel = options.level ?? "info";
|
|
10
|
-
const write = options.write ?? ((line) => process.stdout.write(`${line}\n`));
|
|
11
|
-
const log = (level, event, message, fields = {}) => {
|
|
12
|
-
if (LEVEL_WEIGHTS[level] < LEVEL_WEIGHTS[minimumLevel]) {
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
const entry = {
|
|
16
|
-
event,
|
|
17
|
-
level,
|
|
18
|
-
msg: message,
|
|
19
|
-
time: new Date().toISOString(),
|
|
20
|
-
...fields,
|
|
21
|
-
};
|
|
22
|
-
write(format === "json"
|
|
23
|
-
? JSON.stringify(entry)
|
|
24
|
-
: `${entry.time} ${level.toUpperCase()} ${event} ${message} ${JSON.stringify(fields)}`);
|
|
25
|
-
};
|
|
26
|
-
return {
|
|
27
|
-
debug: (event, message, fields) => {
|
|
28
|
-
log("debug", event, message, fields);
|
|
29
|
-
},
|
|
30
|
-
error: (event, message, fields) => {
|
|
31
|
-
log("error", event, message, fields);
|
|
32
|
-
},
|
|
33
|
-
info: (event, message, fields) => {
|
|
34
|
-
log("info", event, message, fields);
|
|
35
|
-
},
|
|
36
|
-
warn: (event, message, fields) => {
|
|
37
|
-
log("warn", event, message, fields);
|
|
38
|
-
},
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
export const silentLogger = {
|
|
42
|
-
debug: () => undefined,
|
|
43
|
-
error: () => undefined,
|
|
44
|
-
info: () => undefined,
|
|
45
|
-
warn: () => undefined,
|
|
46
|
-
};
|
|
47
|
-
//# sourceMappingURL=logger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/downloader/logger.ts"],"names":[],"mappings":"AAiBA,MAAM,aAAa,GAA6B;IAC9C,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;CACT,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,UAA+B,EAAE;IAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC;IACxC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC;IAC7C,MAAM,KAAK,GACT,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC;IACzE,MAAM,GAAG,GAAG,CACV,KAAe,EACf,KAAa,EACb,OAAe,EACf,SAAoB,EAAE,EACtB,EAAE;QACF,IAAI,aAAa,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;YACvD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG;YACZ,KAAK;YACL,KAAK;YACL,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC9B,GAAG,MAAM;SACV,CAAC;QACF,KAAK,CACH,MAAM,KAAK,MAAM;YACf,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YACvB,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CACzF,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAChC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAChC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC/B,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC/B,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAW;IAClC,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS;IACtB,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS;IACtB,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS;IACrB,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS;CACtB,CAAC"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
export interface AssetManifestEntry {
|
|
2
|
-
bytes?: number;
|
|
3
|
-
error?: string;
|
|
4
|
-
path: string;
|
|
5
|
-
sha256?: string;
|
|
6
|
-
status: AssetStatus;
|
|
7
|
-
url: string;
|
|
8
|
-
}
|
|
9
|
-
export type AssetStatus = "complete" | "downloading" | "failed" | "obsolete" | "pending";
|
|
10
|
-
export interface CreatorManifest {
|
|
11
|
-
creatorId: string;
|
|
12
|
-
posts: Partial<Record<string, PostManifestEntry>>;
|
|
13
|
-
schemaVersion: 1;
|
|
14
|
-
}
|
|
15
|
-
export interface PostManifestEntry {
|
|
16
|
-
assets: Partial<Record<string, AssetManifestEntry>>;
|
|
17
|
-
directory: string;
|
|
18
|
-
error?: string;
|
|
19
|
-
id: string;
|
|
20
|
-
restricted: boolean;
|
|
21
|
-
status: PostStatus;
|
|
22
|
-
updatedDatetime: string;
|
|
23
|
-
}
|
|
24
|
-
export type PostStatus = "complete" | "failed" | "pending" | "skipped";
|
|
25
|
-
export declare class ManifestStore {
|
|
26
|
-
#private;
|
|
27
|
-
constructor(outputDirectory: string, creatorId: string);
|
|
28
|
-
load(): Promise<CreatorManifest>;
|
|
29
|
-
save(manifest: CreatorManifest): Promise<void>;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/downloader/manifest.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb;AACD,MAAM,MAAM,WAAW,GACnB,UAAU,GACV,aAAa,GACb,QAAQ,GACR,UAAU,GACV,SAAS,CAAC;AAEd,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAClD,aAAa,EAAE,CAAC,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAEvE,qBAAa,aAAa;;gBAIL,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAQhD,IAAI,IAAI,OAAO,CAAC,eAAe,CAAC;IAkBhC,IAAI,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CAM5D"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
-
};
|
|
7
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
-
};
|
|
12
|
-
var _ManifestStore_creatorDirectory, _ManifestStore_manifestPath;
|
|
13
|
-
import { mkdir, readFile, rename, writeFile } from "node:fs/promises";
|
|
14
|
-
import path from "node:path";
|
|
15
|
-
import { createCreatorDirectoryName } from "./path.js";
|
|
16
|
-
export class ManifestStore {
|
|
17
|
-
constructor(outputDirectory, creatorId) {
|
|
18
|
-
_ManifestStore_creatorDirectory.set(this, void 0);
|
|
19
|
-
_ManifestStore_manifestPath.set(this, void 0);
|
|
20
|
-
__classPrivateFieldSet(this, _ManifestStore_creatorDirectory, path.join(outputDirectory, createCreatorDirectoryName(creatorId, outputDirectory)), "f");
|
|
21
|
-
__classPrivateFieldSet(this, _ManifestStore_manifestPath, path.join(__classPrivateFieldGet(this, _ManifestStore_creatorDirectory, "f"), "manifest.json"), "f");
|
|
22
|
-
}
|
|
23
|
-
async load() {
|
|
24
|
-
try {
|
|
25
|
-
return JSON.parse(await readFile(__classPrivateFieldGet(this, _ManifestStore_manifestPath, "f"), "utf8"));
|
|
26
|
-
}
|
|
27
|
-
catch (error) {
|
|
28
|
-
if (error.code !== "ENOENT") {
|
|
29
|
-
throw error;
|
|
30
|
-
}
|
|
31
|
-
return {
|
|
32
|
-
creatorId: path.basename(__classPrivateFieldGet(this, _ManifestStore_creatorDirectory, "f")),
|
|
33
|
-
posts: {},
|
|
34
|
-
schemaVersion: 1,
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
async save(manifest) {
|
|
39
|
-
await mkdir(__classPrivateFieldGet(this, _ManifestStore_creatorDirectory, "f"), { recursive: true });
|
|
40
|
-
const temporaryPath = `${__classPrivateFieldGet(this, _ManifestStore_manifestPath, "f")}.tmp`;
|
|
41
|
-
await writeFile(temporaryPath, `${JSON.stringify(manifest, null, 2)}\n`);
|
|
42
|
-
await rename(temporaryPath, __classPrivateFieldGet(this, _ManifestStore_manifestPath, "f"));
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
_ManifestStore_creatorDirectory = new WeakMap(), _ManifestStore_manifestPath = new WeakMap();
|
|
46
|
-
//# sourceMappingURL=manifest.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/downloader/manifest.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAmCvD,MAAM,OAAO,aAAa;IAIxB,YAAmB,eAAuB,EAAE,SAAiB;QAHpD,kDAA0B;QAC1B,8CAAsB;QAG7B,uBAAA,IAAI,mCAAqB,IAAI,CAAC,IAAI,CAChC,eAAe,EACf,0BAA0B,CAAC,SAAS,EAAE,eAAe,CAAC,CACvD,MAAA,CAAC;QACF,uBAAA,IAAI,+BAAiB,IAAI,CAAC,IAAI,CAAC,uBAAA,IAAI,uCAAkB,EAAE,eAAe,CAAC,MAAA,CAAC;IAC1E,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CACf,MAAM,QAAQ,CAAC,uBAAA,IAAI,mCAAc,EAAE,MAAM,CAAC,CACxB,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,MAAM,KAAK,CAAC;YACd,CAAC;YAED,OAAO;gBACL,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,uBAAA,IAAI,uCAAkB,CAAC;gBAChD,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,CAAC;aACjB,CAAC;QACJ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,QAAyB;QACzC,MAAM,KAAK,CAAC,uBAAA,IAAI,uCAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,GAAG,uBAAA,IAAI,mCAAc,MAAM,CAAC;QAClD,MAAM,SAAS,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,MAAM,CAAC,aAAa,EAAE,uBAAA,IAAI,mCAAc,CAAC,CAAC;IAClD,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/downloader/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,IAAI,EAGL,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEvD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,CAwC1E"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
export function renderPostMarkdown(post, paths) {
|
|
2
|
-
let content;
|
|
3
|
-
switch (post.type) {
|
|
4
|
-
case "article":
|
|
5
|
-
content = renderArticle(post, paths);
|
|
6
|
-
break;
|
|
7
|
-
case "file": {
|
|
8
|
-
const filePost = post;
|
|
9
|
-
content = [
|
|
10
|
-
filePost.body.text,
|
|
11
|
-
...filePost.body.files.map((file) => `[${file.name}](${assetLink(paths, `file:${file.id}`)})`),
|
|
12
|
-
].join("\n\n");
|
|
13
|
-
break;
|
|
14
|
-
}
|
|
15
|
-
case "image": {
|
|
16
|
-
const imagePost = post;
|
|
17
|
-
content = [
|
|
18
|
-
imagePost.body.text,
|
|
19
|
-
...imagePost.body.images.map((image) => `})`),
|
|
20
|
-
].join("\n\n");
|
|
21
|
-
break;
|
|
22
|
-
}
|
|
23
|
-
case "text":
|
|
24
|
-
content = post.body.text;
|
|
25
|
-
break;
|
|
26
|
-
case "video": {
|
|
27
|
-
const videoPost = post;
|
|
28
|
-
content = `${videoPost.body.text}\n\n${videoPost.body.video.serviceProvider}: ${videoPost.body.video.videoId}`;
|
|
29
|
-
break;
|
|
30
|
-
}
|
|
31
|
-
default:
|
|
32
|
-
content = `[unsupported post type: ${post.type}]`;
|
|
33
|
-
}
|
|
34
|
-
return `# ${post.title}\n\n${content.trim()}\n`;
|
|
35
|
-
}
|
|
36
|
-
function assetLink(paths, key) {
|
|
37
|
-
return paths.get(key) ?? `[missing asset: ${key}]`;
|
|
38
|
-
}
|
|
39
|
-
function renderArticle(post, paths) {
|
|
40
|
-
return post.body.blocks
|
|
41
|
-
.map((block) => {
|
|
42
|
-
switch (block.type) {
|
|
43
|
-
case "file":
|
|
44
|
-
return `[${String(block.fileId)}](${assetLink(paths, `file:${String(block.fileId)}`)})`;
|
|
45
|
-
case "header":
|
|
46
|
-
return `# ${String(block.text)}`;
|
|
47
|
-
case "image":
|
|
48
|
-
return `}`)})`;
|
|
49
|
-
case "p":
|
|
50
|
-
return String(block.text);
|
|
51
|
-
case "url_embed":
|
|
52
|
-
return String(post.body.urlEmbedMap[String(block.urlEmbedId)] ?? block.urlEmbedId);
|
|
53
|
-
default:
|
|
54
|
-
return `[unsupported block: ${block.type}]`;
|
|
55
|
-
}
|
|
56
|
-
})
|
|
57
|
-
.join("\n\n");
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=markdown.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../src/downloader/markdown.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { LogLevel } from "./logger.js";
|
|
2
|
-
export interface DownloadOptions {
|
|
3
|
-
concurrency: number;
|
|
4
|
-
cookie?: string;
|
|
5
|
-
creatorIds: string[];
|
|
6
|
-
dryRun: boolean;
|
|
7
|
-
flatPosts: boolean;
|
|
8
|
-
following: boolean;
|
|
9
|
-
ignoreCreatorIds: string[];
|
|
10
|
-
logFormat: "json" | "pretty";
|
|
11
|
-
logLevel: LogLevel;
|
|
12
|
-
maxRetries: number;
|
|
13
|
-
output: string;
|
|
14
|
-
rateLimitPauseMs: number;
|
|
15
|
-
requestIntervalMs: number;
|
|
16
|
-
supporting: boolean;
|
|
17
|
-
userAgent?: string;
|
|
18
|
-
verifyAssets: boolean;
|
|
19
|
-
}
|
|
20
|
-
export declare class CliUsageError extends Error {
|
|
21
|
-
constructor(message: string);
|
|
22
|
-
}
|
|
23
|
-
export declare function parseDownloadOptions(args: string[], env?: NodeJS.ProcessEnv): DownloadOptions;
|
|
24
|
-
//# sourceMappingURL=options.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/downloader/options.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,qBAAa,aAAc,SAAQ,KAAK;gBACnB,OAAO,EAAE,MAAM;CAInC;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,eAAe,CA8CjB"}
|