saasfunnels 0.3.4 → 0.4.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/README.md +31 -4
- package/dist/library.js +879 -829
- package/dist/saasfunnels.js +1829 -1700
- package/dist/types/identity.d.ts +1 -1
- package/dist/types/mcp.d.ts +1 -1
- package/dist/types/setup-commercial.d.ts +63 -0
- package/dist/types/setup-pricing.d.ts +4 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -51,7 +51,7 @@ approved set is reviewable.
|
|
|
51
51
|
- uses: LeadEngine-ai/saasfunnels-cli/action@v0.2.1
|
|
52
52
|
with:
|
|
53
53
|
api-key: ${{ secrets.SAASFUNNELS_API_KEY }}
|
|
54
|
-
cli-version: 0.2.1
|
|
54
|
+
cli-version: 0.2.1 # pin it; a floating version rebaselines drift
|
|
55
55
|
discovery-roots: app,lib
|
|
56
56
|
```
|
|
57
57
|
|
|
@@ -63,8 +63,8 @@ measured against a comparable scan rather than a wider or narrower one.
|
|
|
63
63
|
Plan and pricing upload is opt-in:
|
|
64
64
|
|
|
65
65
|
```yaml
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
plan-sources: "true"
|
|
67
|
+
integration-id: <stripe integration id>
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
It runs only on the default branch, requires a committed
|
|
@@ -100,7 +100,7 @@ Support: support@saasfunnels.ai
|
|
|
100
100
|
|
|
101
101
|
Use `saasfunnels setup run` from the application repository after creating app credentials in Setup. Load `SAASFUNNELS_API_KEY` from **Developer setup access** into the local process environment. Its scopes are `developer:read` and `features:write`; it is not a browser or payment-administration key.
|
|
102
102
|
|
|
103
|
-
The command asks before uploading structured discovery proposals. `--send` provides explicit non-interactive approval. It coordinates features, pricing extraction, and plan branches, reports progress, and waits for the Stripe catalog. Run `saasfunnels setup run --resume` after an interruption. Existing accepted stages and customer review decisions are preserved.
|
|
103
|
+
The command asks before uploading structured discovery proposals. `--send` provides explicit non-interactive approval. It coordinates features, pricing extraction, and plan branches, reports progress, and waits for the Stripe catalog. Run `saasfunnels setup run --resume` after an interruption. Existing accepted stages and customer review decisions are preserved. Coverage questions include a SHA-256 fingerprint of their affected files so changed application behavior can reopen an answer while unrelated file changes keep it. Only the fingerprint and bounded paths are uploaded, never source contents.
|
|
104
104
|
|
|
105
105
|
The scanner reads supported application files one at a time without the old 500-file, 2 MB repository, or 200-candidate cutoffs. Generated code, tests, and symlinks are excluded. Files over 2 MB and uploads over the server limit stop with a specific recovery message.
|
|
106
106
|
|
|
@@ -119,3 +119,30 @@ Guided setup proposes supported JavaScript/TypeScript gates and static JS/TS/JSO
|
|
|
119
119
|
A frontend scan is not evidence of complete backend coverage. Setup flags unsupported application languages, unresolved dynamic access, and optional add-on/capacity/trial declarations. Review these against the actual application's entitlement owner before confirming. Imported or dynamic pricing that cannot be statically resolved needs reviewed literal `.saasfunnels/setup-pricing.json` evidence or manual configuration; source is never executed. Arbitrary helper names and external services cannot be exhaustively discovered automatically.
|
|
120
120
|
|
|
121
121
|
Feature configuration must be saved and published in Plans & pricing before Setup can confirm it. Naming an unnamed restriction records a review decision; it does not implement access. A new scanner version may require running without `--resume`; guided rescans preserve human decisions and leave local generated catalogs untouched.
|
|
122
|
+
|
|
123
|
+
### Review prefilled configuration (Setup contract 3)
|
|
124
|
+
|
|
125
|
+
CLI 0.4.x coordinates with the guided configuration review. Run
|
|
126
|
+
`npx --yes saasfunnels@latest setup run` to submit proposals; workspace
|
|
127
|
+
administrators review and publish them in Setup. The developer key never approves
|
|
128
|
+
configuration or payment connections.
|
|
129
|
+
|
|
130
|
+
Supported literal pricing declarations may include `quotas` with explicit unit,
|
|
131
|
+
period, aggregation, and `usageSource: "customer_reported"`, plus `components`
|
|
132
|
+
with exact Stripe product/price IDs, included quantities and quantity sources.
|
|
133
|
+
Use `quantityBasis: "total"` for sources reporting all units, or `"additional"`
|
|
134
|
+
for sources already reporting units above the allowance. Missing semantics require
|
|
135
|
+
review rather than guessed defaults.
|
|
136
|
+
|
|
137
|
+
A coding agent can place reviewed declarations in `.saasfunnels/setup-pricing.json`
|
|
138
|
+
and question explanations in `.saasfunnels/setup-answers.json`. Explanations are
|
|
139
|
+
bounded `{id, fingerprint, disposition, reason}` records; disposition is
|
|
140
|
+
`configuration`, `not_applicable`, or `unresolved`. Configuration answers include
|
|
141
|
+
`configuration: [{planKey, featureKey}]` or `[{planKey, componentKey}]` referencing
|
|
142
|
+
corrected declarations. Required unsupported behavior must remain unresolved.
|
|
143
|
+
Corrected configuration belongs in the pricing
|
|
144
|
+
file. No source files or credentials belong in either upload.
|
|
145
|
+
|
|
146
|
+
Changes to those files or application source require a fresh run. Use `--resume`
|
|
147
|
+
only for unchanged interrupted work. The scan identity includes reviewed inputs
|
|
148
|
+
and scanner contract version, so accepted old submissions cannot hide corrections.
|