@seedprotocol/feed 0.7.9-next.1189.g5e63267 → 0.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +7 -2
  2. package/dist/bootstrap.d.ts +7 -7
  3. package/dist/bootstrap.d.ts.map +1 -1
  4. package/dist/cache/CacheManager.d.ts +14 -12
  5. package/dist/cache/CacheManager.d.ts.map +1 -1
  6. package/dist/cache/FileCache.d.ts +0 -2
  7. package/dist/cache/FileCache.d.ts.map +1 -1
  8. package/dist/cache/MemoryCache.d.ts +2 -8
  9. package/dist/cache/MemoryCache.d.ts.map +1 -1
  10. package/dist/cache/config.d.ts +0 -2
  11. package/dist/cache/config.d.ts.map +1 -1
  12. package/dist/cache/types.d.ts +8 -13
  13. package/dist/cache/types.d.ts.map +1 -1
  14. package/dist/config.d.ts +4 -7
  15. package/dist/config.d.ts.map +1 -1
  16. package/dist/debug.d.ts +4 -0
  17. package/dist/debug.d.ts.map +1 -0
  18. package/dist/getFeedItems.d.ts +13 -2
  19. package/dist/getFeedItems.d.ts.map +1 -1
  20. package/dist/index.d.ts +10 -8
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +527 -639
  23. package/dist/index.js.map +1 -1
  24. package/dist/services/arweaveImageService.d.ts +8 -5
  25. package/dist/services/arweaveImageService.d.ts.map +1 -1
  26. package/dist/types.d.ts +6 -24
  27. package/dist/types.d.ts.map +1 -1
  28. package/dist/utils/etag.d.ts +0 -4
  29. package/dist/utils/etag.d.ts.map +1 -1
  30. package/package.json +5 -7
  31. package/dist/feedFieldStorageModel.d.ts +0 -3
  32. package/dist/feedFieldStorageModel.d.ts.map +0 -1
  33. package/dist/hydrateArweaveRichText.d.ts +0 -2
  34. package/dist/hydrateArweaveRichText.d.ts.map +0 -1
  35. package/dist/imageRelationEnrichment.d.ts +0 -2
  36. package/dist/imageRelationEnrichment.d.ts.map +0 -1
  37. package/dist/listRelationKey.d.ts +0 -2
  38. package/dist/listRelationKey.d.ts.map +0 -1
  39. package/dist/parseEasPropertyMetadataForFeed.d.ts +0 -3
  40. package/dist/parseEasPropertyMetadataForFeed.d.ts.map +0 -1
  41. package/dist/utils/arweaveUrl.d.ts +0 -2
  42. package/dist/utils/arweaveUrl.d.ts.map +0 -1
package/README.md CHANGED
@@ -76,8 +76,13 @@ Item links in the feed can point to EASScan attestation pages. Set these environ
76
76
 
77
77
  - `EAS_CHAIN_ID` - Chain the feed reads attestations from (e.g. `8453` for Base). Sets both the EAS indexer and the default explorer for item links. Default: `11155420` (Optimism Sepolia).
78
78
  - `FEED_ITEM_URL_BASE` - Base URL for attestation links. Item URLs use `{base}/attestation/view/{uid}`. Default: the EAS explorer of `EAS_CHAIN_ID` (e.g. `https://base.easscan.org`), or `https://easscan.org` for chains without a known explorer.
79
- - `FEED_ITEM_URL_PATH` - Path segment (default: `attestation/view`). Only used when `FEED_ITEM_URL_BASE` is set.
80
- - `FEED_SITE_URL` - Site URL for fallback when `FEED_ITEM_URL_BASE` is unset (default: `https://seedprotocol.io`).
79
+ - `FEED_ITEM_URL_PATH` - Path segment (default: `attestation/view`), used with `FEED_ITEM_URL_BASE` or its default.
80
+
81
+ ### Items and pages
82
+
83
+ - `FEED_PAGE_SIZE` - Items per page (default: `25`).
84
+ - `FEED_INCLUDE_DATA_URI_HTML_ITEMS` - `true` keeps items whose rich text embeds `data:image/` URIs. Default: such items are left out of the feed.
85
+ - `CACHE_MAX_AGE` - Seconds a checked collection is served by `@seedprotocol/query` with no indexer request (default `0`). See the [query README](https://github.com/JournoLabs/seed-protocol-sdk/blob/main/packages/query/README.md).
81
86
 
82
87
  ### Example .env
83
88
 
@@ -1,13 +1,13 @@
1
1
  export type InitializeFeedPlatformOptions = {
2
2
  arweaveDomain?: string;
3
3
  };
4
- /** Register Node EAS + Arweave clients for feed generation (no full SDK client). */
4
+ /**
5
+ * Make EAS and Arweave usable for feed generation (via `initializeQueryPlatform`). Clients a host
6
+ * app or the SDK already registered are kept; otherwise the Node EAS and Arweave clients are
7
+ * registered. `arweaveDomain` sets the Arweave host.
8
+ */
5
9
  export declare function initializeFeedPlatform(options?: InitializeFeedPlatformOptions): Promise<void>;
6
- /** @deprecated Use initializeFeedPlatform */
7
- export declare const initializeSeedClient: typeof initializeFeedPlatform;
8
- export declare function getClient(): Promise<{
9
- isInitialized: () => boolean;
10
- }>;
11
- export declare function teardownSeedClient(): Promise<void>;
10
+ /** Lets the next initializeFeedPlatform call run again (tests). Registered clients stay. */
11
+ export declare function teardownFeedPlatform(): Promise<void>;
12
12
  export { DEFAULT_ARWEAVE_HOST } from '@seedprotocol/arweave';
13
13
  //# sourceMappingURL=bootstrap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,6BAA6B,GAAG;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAMD,oFAAoF;AACpF,wBAAsB,sBAAsB,CAC1C,OAAO,CAAC,EAAE,6BAA6B,GACtC,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,6CAA6C;AAC7C,eAAO,MAAM,oBAAoB,+BAAyB,CAAA;AAE1D,wBAAsB,SAAS,IAAI,OAAO,CAAC;IAAE,aAAa,EAAE,MAAM,OAAO,CAAA;CAAE,CAAC,CAG3E;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAExD;AAED,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,6BAA6B,GAAG;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,CAAC,EAAE,6BAA6B,GACtC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,4FAA4F;AAC5F,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1D;AAED,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA"}
@@ -1,5 +1,4 @@
1
- import { MemoryCache } from './MemoryCache';
2
- import type { CachedFeedContent, CacheConfig, CacheContentKeyOptions, CacheStats } from './types';
1
+ import type { CachedFeedContent, CacheConfig, CacheContentKeyOptions } from './types';
3
2
  import type { ImageMetadata } from '../types';
4
3
  import type { FeedFormat } from '../types';
5
4
  /**
@@ -10,18 +9,21 @@ export declare class CacheManager {
10
9
  private memoryCache;
11
10
  private fileCache;
12
11
  private config;
13
- private stats;
14
12
  constructor(config: CacheConfig);
15
- getFeedContent(schemaName: string, format: FeedFormat, contentKeyOptions?: CacheContentKeyOptions): Promise<CachedFeedContent | null>;
16
- setFeedContent(schemaName: string, format: FeedFormat, content: string, contentType: string, contentKeyOptions?: CacheContentKeyOptions): Promise<void>;
17
- clearContent(schemaName: string): Promise<void>;
18
- clearAll(): Promise<void>;
19
- updateConfig(config: Partial<CacheConfig>): void;
20
- getStats(): CacheStats & {
21
- memoryStats: ReturnType<MemoryCache['getStats']>;
22
- };
13
+ getConfig(): CacheConfig;
14
+ /**
15
+ * The cached body for this key, unexpired. With `fingerprint`, only an entry built from the same
16
+ * inputs (see CachedFeedContent.fingerprint); without, any entry (e.g. a stale fallback).
17
+ */
18
+ getFeedContent(schemaName: string, format: FeedFormat, contentKeyOptions?: CacheContentKeyOptions, fingerprint?: string): Promise<CachedFeedContent | null>;
19
+ /** Stores a body with the ETag and fingerprint the caller computed; returns the stored entry. */
20
+ setFeedContent(schemaName: string, format: FeedFormat, body: {
21
+ content: string;
22
+ contentType: string;
23
+ etag: string;
24
+ fingerprint: string;
25
+ }, contentKeyOptions?: CacheContentKeyOptions): Promise<CachedFeedContent | null>;
23
26
  getImageMetadata(transactionId: string): Promise<ImageMetadata | null>;
24
27
  setImageMetadata(transactionId: string, metadata: ImageMetadata): Promise<void>;
25
- resetStats(): void;
26
28
  }
27
29
  //# sourceMappingURL=CacheManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CacheManager.d.ts","sourceRoot":"","sources":["../../src/cache/CacheManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACX,sBAAsB,EACtB,UAAU,EACX,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,KAAK,CAKX;gBAEU,MAAM,EAAE,WAAW;IAMzB,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,UAAU,EAClB,iBAAiB,CAAC,EAAE,sBAAsB,GACzC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAqC9B,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,sBAAsB,GACzC,OAAO,CAAC,IAAI,CAAC;IAmCV,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAK/B,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAKhD,QAAQ,IAAI,UAAU,GAAG;QAAE,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAA;KAAE;IAOvE,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA4BtE,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAcrF,UAAU,IAAI,IAAI;CAQnB"}
1
+ {"version":3,"file":"CacheManager.d.ts","sourceRoot":"","sources":["../../src/cache/CacheManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACX,sBAAsB,EACvB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAc;gBAEhB,MAAM,EAAE,WAAW;IAM/B,SAAS,IAAI,WAAW;IAIxB;;;OAGG;IACG,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,UAAU,EAClB,iBAAiB,CAAC,EAAE,sBAAsB,EAC1C,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAuBpC,iGAAiG;IAC3F,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EACjF,iBAAiB,CAAC,EAAE,sBAAsB,GACzC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IA0B9B,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAwBtE,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CAatF"}
@@ -14,10 +14,8 @@ export declare class FileCache {
14
14
  getFeedContent(schemaName: string, format: string, contentKeyOptions?: CacheContentKeyOptions): Promise<CachedFeedContent | null>;
15
15
  setFeedContent(schemaName: string, format: string, content: CachedFeedContent, contentKeyOptions?: CacheContentKeyOptions): Promise<void>;
16
16
  clearFeedContent(schemaName: string, format: string, contentKeyOptions?: CacheContentKeyOptions): Promise<void>;
17
- clearAllContentCache(schemaName: string): Promise<void>;
18
17
  getImageMetadata(transactionId: string): Promise<ImageMetadata | null>;
19
18
  setImageMetadata(transactionId: string, metadata: ImageMetadata): Promise<void>;
20
19
  clearImageMetadata(transactionId: string): Promise<void>;
21
- clearAll(): Promise<void>;
22
20
  }
23
21
  //# sourceMappingURL=FileCache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileCache.d.ts","sourceRoot":"","sources":["../../src/cache/FileCache.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,sBAAsB,EAAuB,MAAM,SAAS,CAAC;AAE3G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAc;gBAEhB,MAAM,EAAE,WAAW;YAQjB,cAAc;IAU5B,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,oBAAoB;YAKd,sBAAsB;IAW9B,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,sBAAsB,GACzC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAyB9B,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,EAC1B,iBAAiB,CAAC,EAAE,sBAAsB,GACzC,OAAO,CAAC,IAAI,CAAC;IAaV,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,sBAAsB,GACzC,OAAO,CAAC,IAAI,CAAC;IAcV,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBvD,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAsBtE,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB/E,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAwBhC"}
1
+ {"version":3,"file":"FileCache.d.ts","sourceRoot":"","sources":["../../src/cache/FileCache.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,sBAAsB,EAAuB,MAAM,SAAS,CAAC;AAE3G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAc;gBAEhB,MAAM,EAAE,WAAW;YAQjB,cAAc;IAU5B,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,oBAAoB;YAKd,sBAAsB;IAW9B,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,sBAAsB,GACzC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAyB9B,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,EAC1B,iBAAiB,CAAC,EAAE,sBAAsB,GACzC,OAAO,CAAC,IAAI,CAAC;IAaV,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,sBAAsB,GACzC,OAAO,CAAC,IAAI,CAAC;IAcV,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAsBtE,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB/E,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAW/D"}
@@ -10,15 +10,9 @@ export declare class MemoryCache {
10
10
  private config;
11
11
  constructor(config: CacheConfig);
12
12
  getFeedContent(schemaName: string, format: string, contentKeyOptions?: CacheContentKeyOptions): CachedFeedContent | null;
13
- setFeedContent(schemaName: string, format: string, content: string, contentType: string, contentKeyOptions?: CacheContentKeyOptions, ttlOverride?: number): void;
14
- clearContentCache(schemaName: string): void;
13
+ /** Stores an entry as it is (ETag, lastModified and expiry kept), e.g. one read from disk. */
14
+ putFeedContent(schemaName: string, format: string, cached: CachedFeedContent, contentKeyOptions?: CacheContentKeyOptions): void;
15
15
  getImageMetadata(transactionId: string): ImageMetadata | null;
16
16
  setImageMetadata(transactionId: string, metadata: ImageMetadata): void;
17
- clearAll(): void;
18
- updateConfig(config: Partial<CacheConfig>): void;
19
- getStats(): {
20
- feedContentCount: number;
21
- imageMetadataCount: number;
22
- };
23
17
  }
24
18
  //# sourceMappingURL=MemoryCache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryCache.d.ts","sourceRoot":"","sources":["../../src/cache/MemoryCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,sBAAsB,EAAuB,MAAM,SAAS,CAAC;AAE3G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,gBAAgB,CAA6C;IACrE,OAAO,CAAC,kBAAkB,CAA+C;IACzE,OAAO,CAAC,MAAM,CAAc;gBAEhB,MAAM,EAAE,WAAW;IAI/B,cAAc,CACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,sBAAsB,GACzC,iBAAiB,GAAG,IAAI;IAgB3B,cAAc,CACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,sBAAsB,EAC1C,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI;IAmBP,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAU3C,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAe7D,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IActE,QAAQ,IAAI,IAAI;IAKhB,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAIhD,QAAQ,IAAI;QACV,gBAAgB,EAAE,MAAM,CAAC;QACzB,kBAAkB,EAAE,MAAM,CAAC;KAC5B;CAMF"}
1
+ {"version":3,"file":"MemoryCache.d.ts","sourceRoot":"","sources":["../../src/cache/MemoryCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,sBAAsB,EAAuB,MAAM,SAAS,CAAC;AAE3G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,gBAAgB,CAA6C;IACrE,OAAO,CAAC,kBAAkB,CAA+C;IACzE,OAAO,CAAC,MAAM,CAAc;gBAEhB,MAAM,EAAE,WAAW;IAI/B,cAAc,CACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,sBAAsB,GACzC,iBAAiB,GAAG,IAAI;IAgB3B,8FAA8F;IAC9F,cAAc,CACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,iBAAiB,EACzB,iBAAiB,CAAC,EAAE,sBAAsB,GACzC,IAAI;IAIP,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAe7D,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;CAavE"}
@@ -7,8 +7,6 @@ import type { CacheConfig } from './types';
7
7
  * In development (NODE_ENV=development), cache is disabled by default unless CACHE_ENABLED='true'.
8
8
  * - CACHE_TTL: Cache time-to-live in seconds (default: 3600)
9
9
  * - CACHE_DIR: Directory for cache files (default: './cache')
10
- * - CACHE_BACKGROUND_REFRESH: Enable background refresh (default: 'false')
11
- * - CACHE_REFRESH_INTERVAL: Background refresh interval in seconds (default: 300)
12
10
  */
13
11
  export declare function loadCacheConfig(): CacheConfig;
14
12
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cache/config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAuB,MAAM,SAAS,CAAC;AAEhE;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,IAAI,WAAW,CA0E7C"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cache/config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAuB,MAAM,SAAS,CAAC;AAEhE;;;;;;;;GAQG;AACH,wBAAgB,eAAe,IAAI,WAAW,CAkE7C"}
@@ -1,4 +1,4 @@
1
- import type { GraphQLItem, ImageMetadata } from '../types';
1
+ import type { FeedItem, ImageMetadata } from '../types';
2
2
  /**
3
3
  * Cached image metadata for an Arweave transaction ID
4
4
  */
@@ -16,6 +16,12 @@ export interface CachedFeedContent {
16
16
  etag: string;
17
17
  lastModified: number;
18
18
  expiresAt: number;
19
+ /**
20
+ * What the body was built from (query's collection ETag when known, site config, cache-bust
21
+ * value; see feedFingerprint). A read that passes a fingerprint only gets an entry built from
22
+ * the same inputs. Entries written before fingerprints existed have none and never match.
23
+ */
24
+ fingerprint?: string;
19
25
  }
20
26
  /**
21
27
  * Image metadata cache configuration
@@ -34,8 +40,6 @@ export interface CacheConfig {
34
40
  ttl: number;
35
41
  cacheDir: string;
36
42
  enabled: boolean;
37
- backgroundRefresh: boolean;
38
- refreshInterval: number;
39
43
  imageMetadata?: ImageMetadataConfig;
40
44
  pageTtl?: number;
41
45
  archiveTtl?: number;
@@ -51,14 +55,5 @@ export interface CacheContentKeyOptions {
51
55
  };
52
56
  }
53
57
  export declare function buildContentKey(schemaName: string, format: string, options?: CacheContentKeyOptions): string;
54
- /**
55
- * Cache statistics for monitoring
56
- */
57
- export interface CacheStats {
58
- hits: number;
59
- misses: number;
60
- refreshes: number;
61
- errors: number;
62
- }
63
- export type { GraphQLItem };
58
+ export type { FeedItem };
64
59
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cache/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,aAAa,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAED,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,sBAAsB,GAC/B,MAAM,CAQR;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,YAAY,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cache/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,aAAa,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAED,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,sBAAsB,GAC/B,MAAM,CAQR;AAED,YAAY,EAAE,QAAQ,EAAE,CAAC"}
package/dist/config.d.ts CHANGED
@@ -28,19 +28,16 @@ export declare function resetSiteConfig(): void;
28
28
  * - FEED_ITEM_URL_BASE: Base URL for attestation links (e.g. https://base.easscan.org).
29
29
  * Item links use {base}/attestation/view/{uid}. Default: the EAS explorer of the configured
30
30
  * chain (`EAS_CHAIN_ID`, or the SDK / publish chain in-process), else 'https://easscan.org'.
31
- * - FEED_ITEM_URL_PATH: Path segment for attestation links (default: 'attestation/view').
32
- * Only used when FEED_ITEM_URL_BASE is set.
33
- * - FEED_SITE_URL: Site URL for fallback when FEED_ITEM_URL_BASE is unset (default: 'https://seedprotocol.io').
34
- * - FEED_EXPAND_RELATIONS: When 'false', relation properties stay as UIDs. Default: true (expand to nested objects).
35
- * - FEED_PAGE_SIZE: Items per page for paged feeds (default: 25).
31
+ * - FEED_ITEM_URL_PATH: Path segment for attestation links (default: 'attestation/view'), with
32
+ * FEED_ITEM_URL_BASE or its default.
33
+ * - FEED_PAGE_SIZE: Items per page for paged feeds (default: 25; a value that isn't a positive
34
+ * integer gives the default).
36
35
  * - FEED_INCLUDE_DATA_URI_HTML_ITEMS: When 'true', include items whose body/html contain embedded data-URI images.
37
36
  * Default: false (omit such items to avoid huge RSS payloads).
38
37
  */
39
38
  export declare function loadFeedConfig(): {
40
39
  itemUrlBase: string;
41
40
  itemUrlPath: string;
42
- siteUrl: string;
43
- expandRelations: boolean;
44
41
  pageSize: number;
45
42
  richTextDataUriImages: 'omit_items' | 'include_items';
46
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,GAAG;IACtE,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CACrD,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,mBAAmB,EAAE,UAYjC,CAAC;AAWF;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,CAAC,EAAE,mBAAmB,EAC/B,IAAI,GAAE,UAAuB,GAC5B,UAAU,CAoBZ;AAED,mFAAmF;AACnF,wBAAgB,aAAa,IAAI,UAAU,CAE1C;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,mBAAmB,GAAG,UAAU,CAGxE;AAED,4DAA4D;AAC5D,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,IAAI;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,YAAY,GAAG,eAAe,CAAC;CACvD,CAiBA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,GAAG;IACtE,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CACrD,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,mBAAmB,EAAE,UAYjC,CAAC;AAWF;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,CAAC,EAAE,mBAAmB,EAC/B,IAAI,GAAE,UAAuB,GAC5B,UAAU,CAoBZ;AAED,mFAAmF;AACnF,wBAAgB,aAAa,IAAI,UAAU,CAE1C;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,mBAAmB,GAAG,UAAU,CAGxE;AAED,4DAA4D;AAC5D,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,IAAI;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,YAAY,GAAG,eAAe,CAAC;CACvD,CAcA"}
@@ -0,0 +1,4 @@
1
+ import debug from 'debug';
2
+ /** Per-request feed logs (cache hits and misses, item counts, image probes) under `DEBUG=seedFeed`. */
3
+ export declare const feedDebug: debug.Debugger;
4
+ //# sourceMappingURL=debug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,uGAAuG;AACvG,eAAO,MAAM,SAAS,gBAAoB,CAAA"}
@@ -1,12 +1,23 @@
1
1
  type SetFeedItemDefaultsOptions = {
2
- itemUrlBase?: string;
2
+ itemUrlBase: string;
3
3
  itemUrlPath: string;
4
- siteUrl: string;
5
4
  };
6
5
  /**
7
6
  * Set default values for feed items (title, link, guid, pubDate, dual-case keys).
8
7
  */
9
8
  export declare const setFeedItemDefaults: (item: Record<string, unknown>, seedUid: string, schemaName: string, options: SetFeedItemDefaultsOptions) => void;
9
+ /**
10
+ * Feed items for a page of the schema, with query's collection ETag when the collection cache
11
+ * answered (skip 0, cache enabled): it changes whenever a listed seed or what it was built from
12
+ * changes, so the feed can tell whether a cached body is still current.
13
+ */
14
+ export declare const fetchFeedItemsBySchemaName: (schemaName: string, options?: {
15
+ limit?: number;
16
+ skip?: number;
17
+ }) => Promise<{
18
+ items: Record<string, unknown>[];
19
+ etag?: string;
20
+ }>;
10
21
  export declare const getFeedItemsBySchemaName: (schemaName: string, options?: {
11
22
  limit?: number;
12
23
  skip?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"getFeedItems.d.ts","sourceRoot":"","sources":["../src/getFeedItems.ts"],"names":[],"mappings":"AASA,KAAK,0BAA0B,GAAG;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AA0BD;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,MAAM,EACf,YAAY,MAAM,EAClB,SAAS,0BAA0B,KAClC,IAgHF,CAAA;AAuJD,eAAO,MAAM,wBAAwB,GACnC,YAAY,MAAM,EAClB,UAAU;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KAC1C,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAanC,CAAA;AAED,eAAO,MAAM,gCAAgC,GAC3C,YAAY,MAAM,EAClB,MAAM,MAAM,EACZ,OAAO,MAAM,KACZ,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CASnC,CAAA"}
1
+ {"version":3,"file":"getFeedItems.d.ts","sourceRoot":"","sources":["../src/getFeedItems.ts"],"names":[],"mappings":"AASA,KAAK,0BAA0B,GAAG;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAkBD;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,MAAM,EACf,YAAY,MAAM,EAClB,SAAS,0BAA0B,KAClC,IAqGF,CAAA;AAsJD;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GACrC,YAAY,MAAM,EAClB,UAAU;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KAC1C,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAa7D,CAAA;AAED,eAAO,MAAM,wBAAwB,GACnC,YAAY,MAAM,EAClB,UAAU;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KAC1C,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAC2B,CAAA;AAE/D,eAAO,MAAM,gCAAgC,GAC3C,YAAY,MAAM,EAClB,MAAM,MAAM,EACZ,OAAO,MAAM,KACZ,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAQnC,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,16 +1,14 @@
1
- export { getFeedItemsBySchemaName, getFeedItemsBySchemaNameForMonth } from './getFeedItems';
1
+ export { fetchFeedItemsBySchemaName, getFeedItemsBySchemaName, getFeedItemsBySchemaNameForMonth, } from './getFeedItems';
2
2
  export { loadFeedConfig, DEFAULT_SITE_CONFIG, getSiteConfig, setSiteConfig, resetSiteConfig, resolveSiteConfig, type SiteConfigOverrides, } from './config';
3
3
  export { parseRssString, type ParsedRssChannel } from './consume/parseRss';
4
- export type { FeedConfig, FeedFormat, GraphQLItem } from './types';
5
- export { initializeFeedPlatform, initializeSeedClient, getClient, teardownSeedClient, DEFAULT_ARWEAVE_HOST, } from './bootstrap';
4
+ export type { FeedConfig, FeedFormat, FeedItem } from './types';
5
+ export { initializeFeedPlatform, teardownFeedPlatform, DEFAULT_ARWEAVE_HOST, } from './bootstrap';
6
6
  export { classifyMediaRef, normalizeFeedItemFields, getFeedItemStringField, isEasAttestationExplorerUrl, resolveSeedRssImageRelationRef, resolveSeedRssImageRelationFromItem, SEED_RSS_IMAGE_RELATION_FIELD_KEYS, } from '@seedprotocol/arweave';
7
7
  export type { FeedFieldManifest, FeedFieldDescriptor, FeedFieldRole, ClassifyMediaRefOptions, MediaRefClassification, ResolveMediaRefResult, ResolveMediaRefOptions, NormalizedMediaField, NormalizedHtmlField, NormalizedTextField, NormalizedFeedFieldValue, SeedRssImageRelationRef, } from '@seedprotocol/arweave';
8
- import type { FeedFormat, GraphQLItem, TransformOptions } from './types';
8
+ import type { FeedFormat, FeedItem, TransformOptions } from './types';
9
9
  export type { TransformOptions } from './types';
10
10
  import { type SiteConfigOverrides } from './config';
11
- export { enrichImageSeedCloneForFeed } from './imageRelationEnrichment';
12
11
  export { pickFeedItemContent, pickFeedItemDescription, feedItemRichTextContainsDataUriImage, filterItemsByRichTextDataUriImagePolicy, } from './pickFeedItemRichText';
13
- export { FEED_RICH_BODY_STORAGE_SCHEMAS, isFeedRichBodyStorageSchema, } from './feedFieldStorageModel';
14
12
  /**
15
13
  * Reset cache manager (useful for testing)
16
14
  */
@@ -25,7 +23,7 @@ export interface FeedArchiveLink {
25
23
  rel: string;
26
24
  href: string;
27
25
  }
28
- export declare const createFeed: (items: GraphQLItem[], schemaName: string, format: FeedFormat, cacheBust?: string, pagination?: FeedPaginationOptions, archiveLinks?: FeedArchiveLink[], isArchive?: boolean, transformOverrides?: Partial<TransformOptions>, siteConfigOverrides?: SiteConfigOverrides) => Promise<string>;
26
+ export declare const createFeed: (items: FeedItem[], schemaName: string, format: FeedFormat, cacheBust?: string, pagination?: FeedPaginationOptions, archiveLinks?: FeedArchiveLink[], isArchive?: boolean, transformOverrides?: Partial<TransformOptions>, siteConfigOverrides?: SiteConfigOverrides) => Promise<string>;
29
27
  /**
30
28
  * Main route handler for feed generation.
31
29
  *
@@ -35,6 +33,10 @@ export declare const createFeed: (items: GraphQLItem[], schemaName: string, form
35
33
  * - /posts/atom → Atom feed of posts
36
34
  * - /identities/json → JSON feed of identities
37
35
  * - /posts/rss?v=1234567890 → RSS feed with cache busting parameter
36
+ *
37
+ * Page 1 asks `@seedprotocol/query` on every request (one round when its collection is cached,
38
+ * none within `CACHE_MAX_AGE`) and rebuilds only when the collection changed; its Cache-Control
39
+ * max-age is `CACHE_MAX_AGE`. Later pages are cached for `CACHE_PAGE_TTL`.
38
40
  */
39
41
  export declare function handleFeedRequest(collectionSegment: string, formatSegment: string, ifNoneMatch?: string | null, cacheBust?: string, page?: number, siteConfigOverrides?: SiteConfigOverrides): Promise<Response>;
40
42
  /**
@@ -42,7 +44,7 @@ export declare function handleFeedRequest(collectionSegment: string, formatSegme
42
44
  *
43
45
  * URL Pattern: /:collection/archive/:year/:month/:format
44
46
  * Examples:
45
- * - /posts/archive/2024/02/rss → RSS feed of posts from February 2024
47
+ * - /posts/archive/2024/02/rss → RSS feed of posts from February 2024 (UTC)
46
48
  */
47
49
  export declare function handleArchiveFeedRequest(collectionSegment: string, year: number, month: number, formatSegment: string, ifNoneMatch?: string | null, cacheBust?: string, siteConfigOverrides?: SiteConfigOverrides): Promise<Response>;
48
50
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,gCAAgC,GACjC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,KAAK,mBAAmB,GACzB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,2BAA2B,EAC3B,8BAA8B,EAC9B,mCAAmC,EACnC,kCAAkC,GACnC,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAA6B,MAAM,SAAS,CAAC;AAEjG,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAKhD,OAAO,EAAqC,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAavF,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,oCAAoC,EACpC,uCAAuC,GACxC,MAAM,wBAAwB,CAAC;AA2MhC;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAgND,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb;AAED,eAAO,MAAM,UAAU,GACrB,OAAO,QAAQ,EAAE,EACjB,YAAY,MAAM,EAClB,QAAQ,UAAU,EAClB,YAAY,MAAM,EAClB,aAAa,qBAAqB,EAClC,eAAe,eAAe,EAAE,EAChC,YAAY,OAAO,EACnB,qBAAqB,OAAO,CAAC,gBAAgB,CAAC,EAC9C,sBAAsB,mBAAmB,KACxC,OAAO,CAAC,MAAM,CAkQhB,CAAA;AAqKD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CACrC,iBAAiB,EAAE,MAAM,EACzB,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,EAC3B,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,MAAM,EACb,mBAAmB,CAAC,EAAE,mBAAmB,GACxC,OAAO,CAAC,QAAQ,CAAC,CAwDnB;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,iBAAiB,EAAE,MAAM,EACzB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,EAC3B,SAAS,CAAC,EAAE,MAAM,EAClB,mBAAmB,CAAC,EAAE,mBAAmB,GACxC,OAAO,CAAC,QAAQ,CAAC,CA4DnB"}