foldrun 2.10.7 → 2.10.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.
@@ -174,8 +174,9 @@ credit closest to expiring is always the credit being used. Spend draws on the c
174
174
  on the balance. A new account starts with **300 trial credits**, no card
175
175
  asked. Without a plan, credit costs 1¢ each, one run at a time, up to 3
176
176
  workspaces, standard lane — a plan is cheaper from the first month you would have spent its fee
177
- anyway. Changing plan happens at once, prorated by Stripe, and the new
178
- bundle lands with the invoice; ending one ends it with the cycle.
177
+ anyway. Changing plan is charged at once, prorated by Stripe; the new plan
178
+ and its bundle land when that invoice is paid — a change whose payment
179
+ fails leaves you on the plan you had. Ending one ends it with the cycle.
179
180
 
180
181
  **Seats are unlimited** on every plan: agents work, people supervise, and a
181
182
  per-seat fee would tax the approver the safety story depends on.
@@ -419,13 +420,16 @@ The bookkeeping rules behind the numbers, for whoever has to answer "why is
419
420
  my balance this".
420
421
 
421
422
  **One grant per plan cycle.** A cycle is the subscription, the plan and the
422
- end of the period it pays for, and that is the grant's key. Stripe tells us
423
- about a paid cycle several ways — the checkout returning, the checkout
424
- webhook, `invoice.paid`, `customer.subscription.updated` — and in no fixed
425
- order; whichever arrives first grants and the rest find it done. A plan
426
- change inside a period is a new cycle on the new plan (the prorated invoice
427
- and the updated event are the same cycle, one grant); a renewal is a new
428
- period. A change inside a period grants the new plan's bundle **pro-rated
423
+ end of the period it pays for, and that is the grant's key. A grant needs
424
+ the money: a paid checkout (or one with nothing to pay), the checkout
425
+ returning paid, or `invoice.paid` — whichever arrives first grants and the
426
+ rest find it done. `customer.subscription.updated` moves the plan's
427
+ status, never its credits: Stripe applies a price change even when its
428
+ invoice then fails. Each invoice grants the plan **it** paid for, read off
429
+ its own lines, not whatever the subscription has moved to since; and a
430
+ paid invoice for a period older than the one already granted grants
431
+ nothing. A plan change inside a period is a new cycle on the new plan; a
432
+ renewal is a new period. A change inside a period grants the new plan's bundle **pro-rated
429
433
  by the share of the period left**, the way Stripe prorates the charge; a
430
434
  renewal grants it whole. Going back to a plan already granted this period
431
435
  switches the plan and its gates back but grants nothing again. Downgrades
package/docs/security.md CHANGED
@@ -142,6 +142,17 @@ name only — for the owner and admins to read or export. Support can view an
142
142
  account only [read-only, for thirty minutes, with a reason the customer
143
143
  reads](team-and-access#support-access).
144
144
 
145
+ ## The dashboard in your browser
146
+
147
+ Every page is sent with an enforced Content-Security-Policy: scripts run
148
+ only with that response's own nonce (a fresh one per request) or when one of
149
+ those scripts loads them, and nothing is loaded from another site. Plugins,
150
+ framing by another site, a changed `<base>` and forms posting elsewhere are
151
+ refused. Pages are not cacheable, and also carry `X-Frame-Options: DENY`,
152
+ `nosniff`, COOP and CORP. HTML and SVG you store are never rendered on the
153
+ dashboard's origin. A self-hosted install can switch the policy to
154
+ report-only with `FOLDRUN_CSP` ([Environment](environment)).
155
+
145
156
  ## Your terminal
146
157
 
147
158
  The CLI prints what a platform sends it — agents' replies, logs, files,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foldrun",
3
- "version": "2.10.7",
3
+ "version": "2.10.9",
4
4
  "description": "Agents are just folders. Write them, check them, run them — on your machine.",
5
5
  "license": "FSL-1.1-ALv2",
6
6
  "type": "module",