@usefillo/cli 0.24.0 → 0.24.1
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/dist/index.js
CHANGED
|
@@ -1606,7 +1606,6 @@ var VOLUMES = [
|
|
|
1606
1606
|
{ tier: "25k", responses: 25e3 },
|
|
1607
1607
|
{ tier: "100k", responses: 1e5 }
|
|
1608
1608
|
];
|
|
1609
|
-
var TRIAL_DAYS = 30;
|
|
1610
1609
|
var MONTHS = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
|
|
1611
1610
|
var count = (value) => new Intl.NumberFormat("en-US").format(value);
|
|
1612
1611
|
function parseDate(iso) {
|
|
@@ -1637,7 +1636,7 @@ function planLine(body) {
|
|
|
1637
1636
|
case "trial": {
|
|
1638
1637
|
const end = parseDate(body.trialEndsAt);
|
|
1639
1638
|
const ends = end ? ` \xB7 ends ${longDate(end)} (${daysLeft(end)})` : "";
|
|
1640
|
-
return `Everything trial \xB7 ${count(body.allowance)} responses${ends}
|
|
1639
|
+
return `Everything trial \xB7 ${count(body.allowance)} responses${ends}`;
|
|
1641
1640
|
}
|
|
1642
1641
|
case "complimentary":
|
|
1643
1642
|
return `${tierName(body.tier)} \xB7 complimentary (no charge, no renewal date)`;
|
|
@@ -1698,11 +1697,6 @@ function notes(body) {
|
|
|
1698
1697
|
);
|
|
1699
1698
|
} else if (billing2 && body.plan === "trial") {
|
|
1700
1699
|
lines.push("When the trial ends without a subscription, the workspace returns to Free.");
|
|
1701
|
-
} else if (billing2 && body.plan === "free" && body.trialAvailable) {
|
|
1702
|
-
lines.push(
|
|
1703
|
-
`The one-time ${TRIAL_DAYS}-day Everything trial (no card) is unused.`,
|
|
1704
|
-
"An owner or admin can start it at the link above."
|
|
1705
|
-
);
|
|
1706
1700
|
}
|
|
1707
1701
|
if (body.allowance > 0) {
|
|
1708
1702
|
const ratio = body.usage.responses / body.allowance;
|
|
@@ -1765,10 +1759,9 @@ function billingHelp() {
|
|
|
1765
1759
|
billing Print the plan, usage against the monthly allowance,
|
|
1766
1760
|
recent months, and the Manage link
|
|
1767
1761
|
|
|
1768
|
-
${dimRaw("Read-only. Needs an owner or admin login. Subscribing,
|
|
1769
|
-
${dimRaw("
|
|
1770
|
-
${dimRaw("
|
|
1771
|
-
${dimRaw("forms keep collecting past them.")}
|
|
1762
|
+
${dimRaw("Read-only. Needs an owner or admin login. Subscribing, volume changes,")}
|
|
1763
|
+
${dimRaw("cards, and invoices are a human click in Settings \u2192 Billing & plan (the")}
|
|
1764
|
+
${dimRaw("printed Manage link). Allowances are soft: forms keep collecting past them.")}
|
|
1772
1765
|
${dimRaw("--json prints the raw server response on stdout.")}
|
|
1773
1766
|
`);
|
|
1774
1767
|
}
|
|
@@ -1819,7 +1812,7 @@ function brandingHelp() {
|
|
|
1819
1812
|
branding on Show the badge again
|
|
1820
1813
|
|
|
1821
1814
|
${dimRaw("Hiding needs the Everything plan: a workspace owner or admin subscribes")}
|
|
1822
|
-
${dimRaw("
|
|
1815
|
+
${dimRaw("in Settings \u2192 Billing & plan.")}
|
|
1823
1816
|
${dimRaw("The CLI never buys the plan. Headless embeds never show a badge.")}
|
|
1824
1817
|
${dimRaw("--json prints the raw server response on stdout.")}
|
|
1825
1818
|
`);
|
|
@@ -4891,7 +4884,7 @@ var schemaShape = object({
|
|
|
4891
4884
|
});
|
|
4892
4885
|
var MAX_SCHEMA_VERSION = 1;
|
|
4893
4886
|
var FILLO_SCHEMA_VERSION = 1;
|
|
4894
|
-
var FILLO_SDK_VERSION = true ? "0.24.
|
|
4887
|
+
var FILLO_SDK_VERSION = true ? "0.24.1" : "0.0.0-dev";
|
|
4895
4888
|
function str(value, max, fallback = "") {
|
|
4896
4889
|
return typeof value === "string" ? value.trim().slice(0, max) : fallback;
|
|
4897
4890
|
}
|
|
@@ -160,27 +160,26 @@ could not be verified.
|
|
|
160
160
|
`"light"` or `"dark"`. Use `"auto"` only for a deliberately OS-driven page.
|
|
161
161
|
Verify every theme the host exposes, at desktop and narrow widths.
|
|
162
162
|
- The "Powered by Fillo" badge is a server-driven workspace checkbox: always
|
|
163
|
-
visible on Free, hideable on the paid Everything plan
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
163
|
+
visible on Free, hideable on the paid Everything plan (default stays visible
|
|
164
|
+
until someone turns it off), and never present in a fully headless layout
|
|
165
|
+
(headless is free on every plan). Never hide or obscure it with CSS, DOM
|
|
166
|
+
edits, or style overrides — on Free that violates Fillo's terms. When the
|
|
167
|
+
user asks to remove it: with a CLI login on Everything, run
|
|
168
168
|
`npx @usefillo/cli@latest branding off` (`branding` alone prints the state,
|
|
169
169
|
`branding on` restores it). On Free, present the two honest paths and let
|
|
170
|
-
the user choose: a workspace owner or admin subscribes to Everything
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
the
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
`https://fillo.so/pricing.md` rather than quoting from memory.
|
|
170
|
+
the user choose: a workspace owner or admin subscribes to Everything in
|
|
171
|
+
Fillo Settings → Billing & plan, or rebuild the embed headless with the
|
|
172
|
+
host's own components. Do not bring up plans unprompted.
|
|
173
|
+
- Billing is a human's decision. Every plan includes every feature; Everything
|
|
174
|
+
is real paid billing through Stripe checkout for more monthly responses (5k,
|
|
175
|
+
25k, or 100k; Free is 200) or a hidden badge. Never select a plan, change a
|
|
176
|
+
volume, or open checkout on the user's behalf. When the user asks about
|
|
177
|
+
their plan or usage, run `npx @usefillo/cli@latest billing` (owner or admin
|
|
178
|
+
login; `--json` for the raw result) or the MCP `fillo_get_billing` tool,
|
|
179
|
+
report the plan and this month's usage against the allowance, and hand the
|
|
180
|
+
human the printed Manage link. Allowances are soft: forms never stop
|
|
181
|
+
collecting over them, so never describe going over as losing responses. For
|
|
182
|
+
prices, read `https://fillo.so/pricing.md` rather than quoting from memory.
|
|
184
183
|
- Use `onSubmitted` only for host-side follow-up after Fillo stores the
|
|
185
184
|
response. Use a webhook when another backend needs durable delivery.
|
|
186
185
|
- When the user asks to build, deploy, or make the form usable, use a plain
|
|
@@ -304,9 +304,9 @@ reference: `https://fillo.so/docs/cli/reference.md`.
|
|
|
304
304
|
`developers policy|origins|identity`, `branding`, `billing` (read-only plan
|
|
305
305
|
and usage), `mcp list|revoke`, `delete form|workspace`.
|
|
306
306
|
|
|
307
|
-
Paying for Fillo is the exception. Subscribing,
|
|
308
|
-
|
|
309
|
-
|
|
307
|
+
Paying for Fillo is the exception. Subscribing, changing a volume, and cards
|
|
308
|
+
or invoices stay a human click in Settings → Billing & plan; `billing` only
|
|
309
|
+
reports and prints that page's Manage link.
|
|
310
310
|
|
|
311
311
|
Add `--json` for a machine-readable result: one JSON object on stdout, progress
|
|
312
312
|
and consent notices as JSON lines on stderr, `{"error": "…"}` and a non-zero
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@usefillo/cli",
|
|
3
|
-
"version": "0.24.
|
|
3
|
+
"version": "0.24.1",
|
|
4
4
|
"description": "Create and publish Fillo forms, and install the Fillo Agent Skill.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"@types/node": "^22.10.0",
|
|
35
35
|
"tsup": "^8.4.0",
|
|
36
36
|
"typescript": "^5.8.3",
|
|
37
|
-
"@usefillo/core": "0.24.
|
|
37
|
+
"@usefillo/core": "0.24.1"
|
|
38
38
|
},
|
|
39
39
|
"scripts": {
|
|
40
40
|
"build": "tsup && node scripts/copy-skill.mjs",
|