@framers/agentos-ext-letterboxd 1.1.1 → 1.1.2

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 ADDED
@@ -0,0 +1,55 @@
1
+ # Letterboxd movie lookup
2
+
3
+ This pack gives an agent movie metadata, ratings, directors, genres, synopsis, and user reviews from Letterboxd. It uses a built-in `fetch()` and regex scraper, with optional delegation to a recipe-capable scraping tool.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @framers/agentos-ext-letterboxd
9
+ ```
10
+
11
+ Peer dependency: `@framers/agentos` with range `>=0.10.40`.
12
+
13
+ ## Usage
14
+
15
+ ```ts
16
+ import { AgentOS } from '@framers/agentos';
17
+
18
+ const agentos = await AgentOS.create({
19
+ extensionManifest: {
20
+ packs: [{ package: '@framers/agentos-ext-letterboxd' }],
21
+ },
22
+ });
23
+ ```
24
+
25
+ ## Configuration
26
+
27
+ | Option | Secret id | Environment variable | Required | Default |
28
+ | --- | --- | --- | --- | --- |
29
+ | `recipeTool` | None | None | No | Built-in scraper |
30
+ | `priority` | None | None | No | `50` |
31
+
32
+ The optional `recipeTool` exposes `execute({ recipe, params }, context)`. The tool calls it with the `letterboxd-movie` recipe, a `query` parameter, and a string `year` when supplied. A failed recipe or missing output data falls back to the built-in scraper.
33
+
34
+ ## Tools
35
+
36
+ | Tool | What it does |
37
+ | --- | --- |
38
+ | `letterboxd_movie` | Looks up a movie by title and optional year, returning film metadata and a sample of user reviews. |
39
+
40
+ ### `letterboxd_movie`
41
+
42
+ | Parameter | Type | Required | Description |
43
+ | --- | --- | --- | --- |
44
+ | `title` | `string` | Yes | Film title to search for on Letterboxd. |
45
+ | `year` | `integer` | No | Optional release year to disambiguate titles with the same name. |
46
+
47
+ ## Notes
48
+
49
+ The built-in scraper needs no API key or headless browser. It searches film pages, prefers a result whose surrounding HTML mentions the supplied year, and otherwise selects the first result. When search yields no slug, it tries a film URL derived from the title.
50
+
51
+ An empty title returns a tool error. Unavailable pages can return `found: false`; successful pages can contain only the fields the parser finds. The tool has no write side effects and declares `capability:media_search`. The built-in scraper uses `MAX_REVIEWS = 5` and truncates each review's text with `slice(0, 500)`. These limits do not apply to reviews returned by the recipe tool.
52
+
53
+ ## License
54
+
55
+ Apache-2.0
package/manifest.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://agentos.sh/schemas/extension-manifest-v1.json",
3
3
  "id": "com.framers.media.letterboxd",
4
4
  "name": "Letterboxd Movie Lookup Extension",
5
- "version": "1.1.1",
5
+ "version": "1.1.2",
6
6
  "description": "Look up movie metadata, ratings, and reviews from Letterboxd via scraping — no API key required",
7
7
  "author": {
8
8
  "name": "Frame.dev",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@framers/agentos-ext-letterboxd",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "Letterboxd movie lookup tool for AgentOS — scrapes film metadata, ratings, and reviews",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -53,7 +53,7 @@
53
53
  "rimraf": "^5.0.7",
54
54
  "typescript": "^5.4.5",
55
55
  "vitest": "^3.2.7",
56
- "@framers/agentos": "^0.13.40"
56
+ "@framers/agentos": "^0.13.47"
57
57
  },
58
58
  "homepage": "https://github.com/framerslab/agentos-extensions/tree/master/registry/curated/media/letterboxd#readme",
59
59
  "bugs": {