palbase 0.39.0 → 0.40.0

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 (47) hide show
  1. package/dist/ai/index.js +2 -2
  2. package/dist/backend/engine.js +2 -2
  3. package/dist/backend/env.js +1 -1
  4. package/dist/backend/index.js +3 -3
  5. package/dist/backend/stack.js +1 -1
  6. package/dist/backend/test.js +2 -2
  7. package/dist/chunks/{ACSBGFDP.js → 4PBWRT4P.js} +2 -2
  8. package/dist/chunks/{US3HOITZ.js → 565OM5B4.js} +2 -2
  9. package/dist/chunks/{LQXBNGFA.js → A2D7FD7W.js} +1 -1
  10. package/dist/chunks/{75GV72FJ.js → AG7NTVAG.js} +2 -2
  11. package/dist/chunks/{OOYP4NMI.js → BKIIOP4S.js} +1 -1
  12. package/dist/chunks/{CPKZIX35.js → C2QJHZUF.js} +1 -1
  13. package/dist/chunks/{WX4DHPQY.js → C4YKYPTT.js} +2 -2
  14. package/dist/chunks/{THBBMGGF.js → CTSLJSZE.js} +2 -2
  15. package/dist/chunks/{PZH7UGDF.js → FQTHVNTU.js} +2 -2
  16. package/dist/chunks/{74XDVOCN.js → FULS6XEF.js} +2 -2
  17. package/dist/chunks/{4X5CRCHA.js → JWARTQKO.js} +2 -2
  18. package/dist/chunks/{OMPJPGED.js → JY4SEIMB.js} +2 -2
  19. package/dist/chunks/{RTQTXBBV.js → LT3QQ7XF.js} +1 -1
  20. package/dist/chunks/{C3PR3NVQ.js → M5RJHNP6.js} +2 -2
  21. package/dist/chunks/{NH25ELIT.js → MDWMGUWL.js} +2 -2
  22. package/dist/chunks/{VJHZXT6R.js → MSMA7KGA.js} +2 -2
  23. package/dist/chunks/{6L45U2Y5.js → QSON7FZZ.js} +2 -2
  24. package/dist/chunks/{LQTM5NDV.js → RZF2I4FM.js} +2 -2
  25. package/dist/chunks/{VGRTKCTS.js → SCZSNZ7Q.js} +2 -2
  26. package/dist/chunks/{WLJ64QP5.js → UVBIMGFU.js} +1 -1
  27. package/dist/chunks/{XYG22XRD.js → VFZBC3RM.js} +2 -2
  28. package/dist/chunks/{4DPMXUG4.js → YJV5IDVY.js} +1 -1
  29. package/dist/chunks/{7PC7ZITW.js → YZHSYYPA.js} +1 -1
  30. package/dist/cli.js +148 -145
  31. package/dist/cloud/index.js +2 -2
  32. package/dist/refuse/ai.js +1 -1
  33. package/dist/refuse/backend.js +1 -1
  34. package/dist/refuse/cloud.js +1 -1
  35. package/dist/refuse/server.js +1 -1
  36. package/dist/server/index.js +2 -2
  37. package/dist/server/testing.js +2 -2
  38. package/dist/web/index.js +2 -2
  39. package/dist/web/message.js +2 -2
  40. package/dist/web/palbe.js +2 -2
  41. package/dist/web/paywall.js +2 -2
  42. package/dist/web/push-sw.js +1 -1
  43. package/dist/web/ssr.js +2 -2
  44. package/dist/web/vite.js +2 -2
  45. package/package.json +2 -2
  46. package/types/cloud/src/generated/project.d.ts +1 -1
  47. package/types/internal/src/modules/machines.d.ts +171 -1
@@ -1548,6 +1548,10 @@ export type Site = {
1548
1548
  */
1549
1549
  move_note?: string;
1550
1550
  server: SiteServer;
1551
+ /**
1552
+ * Its previews — its pull requests' and its branches' — are its team's alone (Vercel's Deployment Protection; true by default): a visitor signs in with Studio, or holds one of its share links. What a protected preview answers is kept by no CDN.
1553
+ */
1554
+ previews_protected: boolean;
1551
1555
  };
1552
1556
  /**
1553
1557
  * The release a site serves; none before its first.
@@ -1599,6 +1603,10 @@ export type SiteCreate = {
1599
1603
  */
1600
1604
  environment?: string;
1601
1605
  server?: SiteServer;
1606
+ /**
1607
+ * Whether its previews are its team's alone; none is true.
1608
+ */
1609
+ previews_protected?: boolean;
1602
1610
  };
1603
1611
  /**
1604
1612
  * What to change of a site; a field left out is unchanged — in build too: each of its fields given changes alone, an empty one is found in the source again, and env, when given, is all of the build's settings from then on.
@@ -1616,6 +1624,10 @@ export type SiteUpdate = {
1616
1624
  */
1617
1625
  preview_forks?: boolean;
1618
1626
  server?: SiteServer;
1627
+ /**
1628
+ * Whether its previews are its team's alone from now on.
1629
+ */
1630
+ previews_protected?: boolean;
1619
1631
  };
1620
1632
  /**
1621
1633
  * One upload of a site's files.
@@ -1814,6 +1826,10 @@ export type Preview = {
1814
1826
  */
1815
1827
  export type PreviewList = {
1816
1828
  previews: Preview[];
1829
+ /**
1830
+ * A site's branches' previews, newest first: none of a machine's.
1831
+ */
1832
+ branches?: BranchPreview[];
1817
1833
  };
1818
1834
  /**
1819
1835
  * One record of a domain's DNS.
@@ -2030,6 +2046,100 @@ export type SiteServer = ({
2030
2046
  machine: string;
2031
2047
  paths: string[];
2032
2048
  }) | null;
2049
+ /**
2050
+ * What a directory of a repository is found to be, as Vercel's import finds it: a static web app (`static`: a site, its build in `build`), a web app that runs on a server (`server`: a machine, and a site with no files of its own whose server it is — the site's address and domains), or a backend (`backend`: a machine). A proposal: each of it is changed before the project is made; nothing is made here.
2051
+ */
2052
+ export type ProjectDetection = {
2053
+ repository: string;
2054
+ branch: string;
2055
+ path: string;
2056
+ /**
2057
+ * The branch's head it was read at.
2058
+ */
2059
+ commit: string;
2060
+ kind: "static" | "server" | "backend";
2061
+ /**
2062
+ * next, nuxt, sveltekit, react-router, astro, vite, gatsby, docusaurus, vitepress, create-react-app, angular, vue, parcel — or empty for none known.
2063
+ */
2064
+ framework: string;
2065
+ framework_name: string;
2066
+ /**
2067
+ * What told it.
2068
+ */
2069
+ why: string;
2070
+ build?: SiteBuildSettings;
2071
+ /**
2072
+ * The Node.js line a static web app's build runs (its .nvmrc, .node-version or engines.node; 24 when none says).
2073
+ */
2074
+ node?: number;
2075
+ /**
2076
+ * A server or backend is built from its own Dockerfile; without one, its language is found as it builds.
2077
+ */
2078
+ dockerfile: boolean;
2079
+ warnings: string[];
2080
+ };
2081
+ /**
2082
+ * A site's preview of one of its repository's branches: a push to a branch other than its own, while it previews, builds that branch's head into a release of its own, answered at <name>-git-<branch>-<ref> until the branch is deleted or a month goes by without a push.
2083
+ */
2084
+ export type BranchPreview = {
2085
+ branch: string;
2086
+ commit: string;
2087
+ url: string;
2088
+ state: "building" | "ready" | "failed" | "closed";
2089
+ created_at: string;
2090
+ updated_at: string;
2091
+ closed_at: string | null;
2092
+ };
2093
+ /**
2094
+ * Where a member goes with a pass: the https address of one of the site's open previews.
2095
+ */
2096
+ export type PreviewPassAsk = {
2097
+ to: string;
2098
+ };
2099
+ /**
2100
+ * A member's pass to a site's previews, 12 hours: url is the preview's address with the pass in its query once (the edge moves it into a cookie of the preview's own host).
2101
+ */
2102
+ export type PreviewPass = {
2103
+ url: string;
2104
+ expires_at: string;
2105
+ };
2106
+ /**
2107
+ * A share link to make.
2108
+ */
2109
+ export type PreviewLinkCreate = {
2110
+ name?: string;
2111
+ /**
2112
+ * Days it opens the previews; 7 when none.
2113
+ */
2114
+ days?: number;
2115
+ };
2116
+ /**
2117
+ * A share link of a site's previews: its token — given once, as it is made — opens any of them, added to its address as ?_palbase_pass=<token>. Deleting it closes them to it at once.
2118
+ */
2119
+ export type PreviewLink = {
2120
+ id: string;
2121
+ name: string;
2122
+ token?: string;
2123
+ made_by: string;
2124
+ expires_at: string;
2125
+ created_at: string;
2126
+ };
2127
+ /**
2128
+ * A site's share links that have not ended, newest first: 20 at most.
2129
+ */
2130
+ export type PreviewLinkList = {
2131
+ links: PreviewLinkListed[];
2132
+ };
2133
+ /**
2134
+ * A share link as its site lists it — never its token.
2135
+ */
2136
+ export type PreviewLinkListed = {
2137
+ id: string;
2138
+ name: string;
2139
+ made_by: string;
2140
+ expires_at: string;
2141
+ created_at: string;
2142
+ };
2033
2143
  /** Palbase Machines */
2034
2144
  export declare function client(t: Transport): {
2035
2145
  /**
@@ -2787,7 +2897,7 @@ export declare function client(t: Transport): {
2787
2897
  /**
2788
2898
  * Finish a release
2789
2899
  *
2790
- * Finishes a release whose files are all kept — refused, naming them, while one is missing — and the site serves it at once. Finishing one finished before has the site serve it again.
2900
+ * Finishes a release whose files are all kept — refused, naming them, while one is missing — and the site serves it at once. Finishing one finished before has the site serve it again. A release whose `/_redirects` or `/_headers` does not hold is refused (400 `invalid_rules`), the description naming the file, each line and why.
2791
2901
  */
2792
2902
  finishSiteRelease(input: {
2793
2903
  path: {
@@ -3069,5 +3179,65 @@ export declare function client(t: Transport): {
3069
3179
  }; /** Stops the call: the request in flight, a wait before a retry, a proof-of-work being solved. */
3070
3180
  signal?: AbortSignal;
3071
3181
  }): Promise<Reply<204, undefined>>;
3182
+ /**
3183
+ * Tell what a repository's directory is
3184
+ *
3185
+ * Reads a directory of a repository one of the project's installations reaches, at its branch's head — its package.json, its framework's configuration, its lockfiles, its Node.js version file — and says what it is and how it is built, as Vercel's import does. Nothing is made: a static web app is then opened as a site (POST /sites, with this build), a web app that runs on a server as a machine (POST /machines) and a site whose server it is (POST /sites with `server`), a backend as a machine. `project_not_detected` (422) when nothing there says what it is.
3186
+ */
3187
+ detectProject(input: {
3188
+ query: {
3189
+ repository: string; /** Its branch, read at its head. */
3190
+ branch: string; /** The directory in the repository; none for its root. */
3191
+ path?: string;
3192
+ }; /** Stops the call: the request in flight, a wait before a retry, a proof-of-work being solved. */
3193
+ signal?: AbortSignal;
3194
+ }): Promise<Reply<200, ProjectDetection>>;
3195
+ /**
3196
+ * Give a member a pass to a preview
3197
+ *
3198
+ * Makes a pass to the site's previews for the caller — Studio asks for one as a signed-in member comes from a protected preview (the edge sent them there) — and answers where to go with it: `to`, one of the site's open previews' addresses, with the pass in its query once. 12 hours.
3199
+ */
3200
+ createPreviewPass(input: {
3201
+ path: {
3202
+ name: string;
3203
+ };
3204
+ body: PreviewPassAsk; /** Stops the call: the request in flight, a wait before a retry, a proof-of-work being solved. */
3205
+ signal?: AbortSignal;
3206
+ }): Promise<Reply<201, PreviewPass>>;
3207
+ /**
3208
+ * List a site's share links
3209
+ *
3210
+ * The site's share links that have not ended, newest first — never their tokens.
3211
+ */
3212
+ listPreviewLinks(input: {
3213
+ path: {
3214
+ name: string;
3215
+ }; /** Stops the call: the request in flight, a wait before a retry, a proof-of-work being solved. */
3216
+ signal?: AbortSignal;
3217
+ }): Promise<Reply<200, PreviewLinkList>>;
3218
+ /**
3219
+ * Make a share link of a site's previews
3220
+ *
3221
+ * Makes a link that opens the site's protected previews to anyone holding it, for 1 to 30 days (7 when none): its token is in the answer alone. 20 at most (`too_many_links`, 409).
3222
+ */
3223
+ createPreviewLink(input: {
3224
+ path: {
3225
+ name: string;
3226
+ };
3227
+ body: PreviewLinkCreate; /** Stops the call: the request in flight, a wait before a retry, a proof-of-work being solved. */
3228
+ signal?: AbortSignal;
3229
+ }): Promise<Reply<201, PreviewLink>>;
3230
+ /**
3231
+ * Delete a share link
3232
+ *
3233
+ * Deletes a share link: the site's previews close to it at once.
3234
+ */
3235
+ deletePreviewLink(input: {
3236
+ path: {
3237
+ name: string; /** The share link's id. */
3238
+ link: string;
3239
+ }; /** Stops the call: the request in flight, a wait before a retry, a proof-of-work being solved. */
3240
+ signal?: AbortSignal;
3241
+ }): Promise<Reply<204, undefined>>;
3072
3242
  };
3073
3243
  export type Client = ReturnType<typeof client>;