fimo 2.2.0-staging.7 → 2.2.0-staging.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 (34) hide show
  1. package/assets/agent-templates/_default/config.yaml +1 -0
  2. package/assets/agent-templates/broken-link-sweeper/config.yaml +1 -0
  3. package/assets/agent-templates/content-translator/config.yaml +1 -0
  4. package/assets/agent-templates/post-deploy-check/config.yaml +1 -0
  5. package/assets/agent-templates/seo-audit/config.yaml +1 -0
  6. package/assets/skills/fimo-cli/references/agents.md +2 -1
  7. package/assets/skills/fimo-cli/references/assets.md +4 -1
  8. package/assets/skills/fimo-cli/references/content.md +3 -3
  9. package/assets/skills/fimo-cli/references/deploy.md +2 -2
  10. package/assets/skills/fimo-cli/references/forms.md +3 -1
  11. package/assets/skills/fimo-cli/references/history.md +1 -0
  12. package/assets/skills/fimo-cli/references/schedules.md +4 -2
  13. package/assets/skills/fimo-cli/references/webhooks.md +2 -0
  14. package/assets/skills/fimo-studio/references/visual-editing.md +9 -1
  15. package/dist/cli/bundle.json +1 -1
  16. package/dist/cli/index.js +21 -21
  17. package/dist/runtime/content/client/collection-core.js +3 -2
  18. package/dist/runtime/content/client/core-types.d.ts +4 -3
  19. package/dist/runtime/content/client/internal.d.ts +2 -0
  20. package/dist/runtime/content/client/internal.js +54 -25
  21. package/dist/runtime/content/client/singleton-core.js +2 -1
  22. package/dist/runtime/content/index.d.ts +1 -1
  23. package/dist/runtime/content/index.js +1 -1
  24. package/dist/runtime/primitives/lib/index.d.ts +1 -1
  25. package/dist/runtime/primitives/lib/index.js +1 -1
  26. package/dist/runtime/primitives/lib/primitives.d.ts +24 -5
  27. package/dist/runtime/primitives/lib/primitives.js +69 -16
  28. package/dist/runtime/primitives/lib/template.js +2 -2
  29. package/package.json +9 -9
  30. package/templates/astro/package.json +2 -2
  31. package/templates/nextjs/package.json +3 -3
  32. package/templates/react-router/package.json +4 -4
  33. package/templates/sveltekit/package.json +2 -2
  34. package/templates/vite/package.json +4 -4
@@ -2,5 +2,6 @@
2
2
  # See https://fimo.dev/docs/agents/bundle for the full reference.
3
3
  version: 1
4
4
  description: 'A new Fimo agent. Edit this tagline to describe what it does.'
5
+ model: openai/gpt-5.6-luna
5
6
  triggers:
6
7
  - type: manual
@@ -1,5 +1,6 @@
1
1
  version: 1
2
2
  description: 'Crawl the published site and flag broken outbound links in a weekly report.'
3
+ model: openai/gpt-5.6-luna
3
4
 
4
5
  runtime:
5
6
  cloud: true
@@ -1,5 +1,6 @@
1
1
  version: 1
2
2
  description: 'Translate CMS content into the project locales whenever an entry is published.'
3
+ model: openai/gpt-5.6-luna
3
4
  data_sources:
4
5
  - main
5
6
 
@@ -1,5 +1,6 @@
1
1
  version: 1
2
2
  description: 'Probe routes and inspect logs after a deploy; report any issues to email recipients.'
3
+ model: openai/gpt-5.6-luna
3
4
  data_sources:
4
5
  - prod
5
6
 
@@ -1,5 +1,6 @@
1
1
  version: 1
2
2
  description: "Audit the project's pages for SEO health and write a markdown report."
3
+ model: openai/gpt-5.6-luna
3
4
  # Read from main env. Switch to prod when running the audit against the
4
5
  # live site (M13 keeps data_sources here so M16's sandbox adapter can
5
6
  # bind the right Fimo API base URL).
@@ -40,6 +40,7 @@ fimo agents secrets remove <name> <KEY> [-C <dir>]
40
40
 
41
41
  - **`list-templates`** — list the bundled starter templates with the first line of each template's `GOAL.md` as a summary. Ships with the CLI binary; no API call. The five bundled templates are `_default`, `seo-audit`, `content-translator`, `broken-link-sweeper`, `post-deploy-check`.
42
42
  - **`create <name>`** — scaffold `.fimo/agents/<name>/` from a template (default `_default`, a minimal valid bundle with a manual trigger). `--description <text>` writes a one-line tagline into the scaffolded `config.yaml` (surfaces in the dashboard's agents list). When run **without** `-C`, it requires the cwd to be inside a real Fimo project (walks up for `.fimo/project.json` or legacy `.fimo.settings.json`) and errors out cleanly otherwise, so it never leaks an agent bundle into a stray cwd. If the template declares capabilities, an install-consent flow runs after the copy (`--quiet` skips it; critical caps still abort).
43
+ - Every generated `config.yaml` includes `model: openai/gpt-5.6-luna`. Change that top-level value to another supported Fimo text model when needed; bundles without `model` keep the Luna fallback. Deploy after changing it because cloud runs use the deployed bundle.
43
44
  - **`list`** — list the agents declared under `<project>/.fimo/agents/` (or legacy root `agents/`), with each one's trigger types and capability count. Local — the bundle list is the source of truth even if the project isn't linked yet.
44
45
  - **`validate [name]`** — run the full validation pipeline: parse → capability vocabulary → composition (cycle / missing sub-agents / invalid grants) → semantic + Fimo project config policy checks. Omit `name` to validate every bundle. `--json` emits a structured `ValidationReport` for CI; exit code is non-zero on any failure.
45
46
  - **`secrets add/remove/list`** — edit or inspect the agent's requested secret names in `.fimo/agents/<name>/config.yaml` (or legacy root). These commands do not create, rotate, or reveal secret values. Store values with `fimo secrets add`; run `fimo agents validate` to check that required requested secrets exist in the project. See `references/project-vars-and-secrets.md`.
@@ -241,7 +242,7 @@ Example for a content editor that can read and update entries but cannot change
241
242
 
242
243
  ```bash
243
244
  fimo agents run <name> [--branch <branch>] [--project <id>] [--skip-drift-check] [-C <dir>]
244
- fimo agents runs <name> [--limit <n>] [--branch <branch>] [--project <id>] [-C <dir>]
245
+ fimo agents runs <name> [--limit <n>] [--cursor <cursor>] [--all-pages] [--branch <branch>] [--project <id>] [-C <dir>]
245
246
  fimo agents report <name> [--session <id>] [--branch <branch>] [--project <id>] [-C <dir>]
246
247
  fimo agents logs <name> [--session <id>] [--project <id>] [-C <dir>]
247
248
  ```
@@ -96,9 +96,12 @@ fimo assets list --search "wolf"
96
96
  fimo assets list --search "hero" --image
97
97
  fimo assets list --search "logo" --type file --sort-by createdAt
98
98
 
99
- fimo assets list --limit 50 --offset 0 # paging
99
+ fimo assets list --limit 50 --cursor <next-cursor> # next page
100
+ fimo assets list --all-pages # every remaining page
100
101
  ```
101
102
 
103
+ The response includes `nextCursor` when another page exists. Keep the same filters when continuing. `--offset` remains a compatibility alias for existing scripts.
104
+
102
105
  The `--search` query matches:
103
106
 
104
107
  - `name` (file name)
@@ -69,7 +69,7 @@ Use singular commands for one entry. Bulk create and per-entry bulk update also
69
69
  ```bash
70
70
  fimo entries create <TypeName> --body '<json>'
71
71
  fimo entries create <TypeName> --locale es --document-id <documentId> --body '<json>'
72
- fimo entries list <TypeName> [--limit N] [--offset N] [--search Q] [--where JSON] [--sort F] [--fields FIELDS] [--populate FIELDS]
72
+ fimo entries list <TypeName> [--limit N] [--cursor CURSOR] [--all-pages] [--search Q] [--where JSON] [--sort F] [--fields FIELDS] [--populate FIELDS]
73
73
  fimo entries list <TypeName> --locale es
74
74
  fimo entries get <TypeName> <id> [--locale es]
75
75
  fimo entries update <TypeName> <id> [--locale es] --body '<json>'
@@ -90,12 +90,12 @@ fimo entries list BlogPost --where '{"featured":true}' --sort -publishedAt
90
90
  fimo entries list BlogPost --where '{"rank":{"$gte":3}}' --sort rank
91
91
  fimo entries list BlogPost --where '{"__fimo":{"contentType":{"$eq":"BlogPost"}}}'
92
92
  fimo entries list BlogPost --search "launch"
93
- fimo entries list BlogPost --limit 10 --offset 20 --sort title
93
+ fimo entries list BlogPost --limit 10 --cursor <next-cursor> --sort title
94
94
  fimo entries list BlogPost --fields slug,title,excerpt,coverImage --sort -publishedAt --limit 12
95
95
  fimo entries list BlogPost --fields slug,title,author --populate author
96
96
  ```
97
97
 
98
- Use the canonical read query flags: `--search`, `--sort`, `--where`, `--limit`, `--offset`, `--fields`, and `--populate`.
98
+ Use the canonical read query flags: `--search`, `--sort`, `--where`, `--limit`, `--cursor`, `--all-pages`, `--fields`, and `--populate`. `--offset` remains a compatibility alias for existing scripts.
99
99
  `--where` is a JSON object keyed by schema field name. Simple values mean equality and stay typed inside the JSON (`{"featured":true}`, `{"category":"react"}`, `{"rank":{"$gte":3}}`); operator objects support `$eq`, `$ne`, `$gt`, `$gte`, `$lt`, `$lte`, `$in`, `$nin`, `$contains`, `$startsWith`, and `$null`, subject to the field type. Public Fimo-owned metadata lives under `__fimo`; currently `__fimo.contentType` is filterable.
100
100
 
101
101
  Reference filters take the target `id` string (`{"author":"750e..."}`). On a to-many field, `$eq` and `$contains` mean membership, `$in` means any listed target is present, `$ne` and `$nin` mean none are present, and `$null: true` means empty or missing. Reference fields cannot be sorted; use `--sort field` / `--sort -field` on scalar fields.
@@ -50,11 +50,11 @@ Public project variables managed with `fimo vars add` and `fimo vars update` are
50
50
 
51
51
  ## Diagnose a failed publication
52
52
 
53
- Use the publication ID returned by the failed command: run `fimo publish inspect <id> --json` for its durable status, then `fimo publish logs <id> --json` for a bounded build-log tail. Logs come from the hosting provider and may be unavailable after its deployment is reclaimed.
53
+ Use the publication ID returned by the failed command: run `fimo publish inspect <id> --json` for its durable status, then `fimo publish logs <id> --json` for a bounded build-log tail. Use `fimo publish list --cursor <cursor>` to continue through older attempts or `--all-pages` to fetch the complete retained history. `--before` remains a compatibility alias. Logs come from the hosting provider and may be unavailable after its deployment is reclaimed.
54
54
 
55
55
  ## Diagnose a failed preview deploy
56
56
 
57
- If the sandbox fails to install dependencies or start the app, run `fimo logs --json` before retrying. Read the newest install and dev-server events first; when the response is truncated, use its `previousCursor` as `fimo logs --before <cursor> --json` to fetch the preceding page. Do not recreate or replace the sandbox before collecting logs, because that can discard the failure evidence.
57
+ If the sandbox fails to install dependencies or start the app, run `fimo logs --json` before retrying. Read the newest install and dev-server events first; when the response is truncated, use its `previousCursor` as `fimo logs --cursor <cursor> --json` to fetch the preceding page, or use `--all-pages` to fetch every retained page. `--before` remains a compatibility alias. Do not recreate or replace the sandbox before collecting logs, because that can discard the failure evidence.
58
58
 
59
59
  When Preview reports blocked dependency build scripts, treat that as a project security-policy repair, not a transient sandbox failure. Review every named package before approving it, then use the package manager's narrow project-owned mechanism:
60
60
 
@@ -29,11 +29,13 @@ Notification recipients for form submissions are configured in the Fimo web UI,
29
29
  After a form is live and users have filled it out, inspect submissions from the terminal:
30
30
 
31
31
  ```bash
32
- fimo forms submissions list <formIdOrName> [--limit 50] [--offset 0] [--search "<q>"] [--sort asc|desc]
32
+ fimo forms submissions list <formIdOrName> [--limit 50] [--cursor CURSOR] [--all-pages] [--search "<q>"] [--sort asc|desc]
33
33
  fimo forms submissions get <formIdOrName> <submissionId>
34
34
  fimo forms submissions stats <formIdOrName>
35
35
  ```
36
36
 
37
+ The list response includes `nextCursor` when another page exists. `--offset` remains a compatibility alias for existing scripts.
38
+
37
39
  - `<formIdOrName>` accepts either the form's UUID or its `name` (the same name in the JSON file). Names that don't resolve to exactly one form return an error.
38
40
  - `list` returns `{ data: [...], total }`. Newest-first by default; pass `--sort asc` to reverse.
39
41
  - `search` matches against submission contents server-side.
@@ -28,6 +28,7 @@ there is no local `.fimo/project.json`.
28
28
 
29
29
  ```bash
30
30
  fimo history list --limit 20 --cursor <cursor>
31
+ fimo history list --all-pages
31
32
  ```
32
33
 
33
34
  The list also reports compressed snapshot usage and the current retention period. Restore points expire after 14 days on Free and pay-as-you-go plans, or 90 days on Premium. The expiry is fixed when each point is created.
@@ -22,7 +22,7 @@ fimo schedules resume <schedule>
22
22
  fimo schedules run <schedule>
23
23
  fimo schedules run <schedule> --no-wait
24
24
  fimo schedules runs <schedule> --limit 25 --status failed
25
- fimo schedules runs <schedule> --all
25
+ fimo schedules runs <schedule> --all-pages
26
26
  fimo schedules runs show <run-id>
27
27
  fimo schedules delete <schedule>
28
28
  ```
@@ -59,9 +59,11 @@ Run history is cursor-paginated:
59
59
  fimo schedules runs nightly --limit 50
60
60
  fimo schedules runs nightly --cursor <cursor>
61
61
  fimo schedules runs nightly --status succeeded
62
- fimo schedules runs nightly --all
62
+ fimo schedules runs nightly --all-pages
63
63
  ```
64
64
 
65
+ `--all` remains a compatibility alias for existing scripts.
66
+
65
67
  Run detail includes status, timing, trigger, exit/error information, retained output, output retention metadata, and secret snapshot metadata. Output is capped and redacted before it is returned.
66
68
 
67
69
  ## JSON
@@ -121,6 +121,8 @@ fimo webhooks list
121
121
  fimo webhooks get <webhook-id>
122
122
  fimo webhooks test <webhook-id> --wait
123
123
  fimo webhooks deliveries <webhook-id> --limit 20
124
+ fimo webhooks deliveries <webhook-id> --cursor <next-cursor>
125
+ fimo webhooks deliveries <webhook-id> --all-pages
124
126
  fimo webhooks delivery <webhook-id> <delivery-id>
125
127
  ```
126
128
 
@@ -8,7 +8,15 @@ Once in edit mode, click on any element in the preview -- text, buttons, images,
8
8
 
9
9
  ### Editing Content
10
10
 
11
- For text elements, the side panel shows editable fields where you can change the text directly. This covers CMS-managed content, hardcoded text, and hardcoded images. Changes save automatically, and the preview updates as you type.
11
+ For text elements, the side panel opens the selected field immediately with its current value. This covers CMS-managed content, hardcoded text, and hardcoded images. Changes save automatically, and the preview updates as you type.
12
+
13
+ For CMS content, choose **All fields** to open the complete entry form. Studio keeps the content type's field order, scrolls to the field you selected, and focuses it in place. Loading appears only while Studio fetches this additional entry data or moves to another entry.
14
+
15
+ ### References and Components
16
+
17
+ Selecting a field rendered from a referenced entry edits that entry. For example, selecting an author's name opens the Author entry, not the Post relation that links to it. The header shows the relation path. Select the owning entry in that path to return to its complete form with the relation field focused; use that relation field to open, replace, or clear the linked entry.
18
+
19
+ Selecting a field inside a component focuses that nested field. Choose **All fields** to see it in the complete entry form without moving it out of schema order. The shared CMS form provides the existing add, duplicate, remove, and reorder controls for repeatable components and blocks.
12
20
 
13
21
  ### Editing Styles
14
22
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "bundled": true,
3
3
  "bundler": "esbuild",
4
- "bundledAt": "2026-08-27T09:44:07.414Z",
4
+ "bundledAt": "2026-08-27T16:29:36.581Z",
5
5
  "cliVersion": "2.1.0",
6
6
  "external": [
7
7
  "oxc-parser",