@specific.dev/cli 0.1.80 → 0.1.82

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 (71) hide show
  1. package/dist/admin/404/index.html +1 -1
  2. package/dist/admin/404.html +1 -1
  3. package/dist/admin/__next.!KGRlZmF1bHQp.__PAGE__.txt +2 -2
  4. package/dist/admin/__next.!KGRlZmF1bHQp.txt +5 -5
  5. package/dist/admin/__next._full.txt +8 -8
  6. package/dist/admin/__next._head.txt +1 -1
  7. package/dist/admin/__next._index.txt +3 -3
  8. package/dist/admin/__next._tree.txt +1 -1
  9. package/dist/admin/_next/static/chunks/e7d77bc38df67cab.js +1 -0
  10. package/dist/admin/_not-found/__next._full.txt +3 -3
  11. package/dist/admin/_not-found/__next._head.txt +1 -1
  12. package/dist/admin/_not-found/__next._index.txt +3 -3
  13. package/dist/admin/_not-found/__next._not-found.__PAGE__.txt +1 -1
  14. package/dist/admin/_not-found/__next._not-found.txt +1 -1
  15. package/dist/admin/_not-found/__next._tree.txt +1 -1
  16. package/dist/admin/_not-found/index.html +1 -1
  17. package/dist/admin/_not-found/index.txt +3 -3
  18. package/dist/admin/databases/__next.!KGRlZmF1bHQp.databases.__PAGE__.txt +2 -2
  19. package/dist/admin/databases/__next.!KGRlZmF1bHQp.databases.txt +1 -1
  20. package/dist/admin/databases/__next.!KGRlZmF1bHQp.txt +5 -5
  21. package/dist/admin/databases/__next._full.txt +8 -8
  22. package/dist/admin/databases/__next._head.txt +1 -1
  23. package/dist/admin/databases/__next._index.txt +3 -3
  24. package/dist/admin/databases/__next._tree.txt +1 -1
  25. package/dist/admin/databases/index.html +1 -1
  26. package/dist/admin/databases/index.txt +8 -8
  27. package/dist/admin/fullscreen/__next._full.txt +4 -4
  28. package/dist/admin/fullscreen/__next._head.txt +1 -1
  29. package/dist/admin/fullscreen/__next._index.txt +3 -3
  30. package/dist/admin/fullscreen/__next._tree.txt +1 -1
  31. package/dist/admin/fullscreen/__next.fullscreen.__PAGE__.txt +2 -2
  32. package/dist/admin/fullscreen/__next.fullscreen.txt +1 -1
  33. package/dist/admin/fullscreen/databases/__next._full.txt +4 -4
  34. package/dist/admin/fullscreen/databases/__next._head.txt +1 -1
  35. package/dist/admin/fullscreen/databases/__next._index.txt +3 -3
  36. package/dist/admin/fullscreen/databases/__next._tree.txt +1 -1
  37. package/dist/admin/fullscreen/databases/__next.fullscreen.databases.__PAGE__.txt +2 -2
  38. package/dist/admin/fullscreen/databases/__next.fullscreen.databases.txt +1 -1
  39. package/dist/admin/fullscreen/databases/__next.fullscreen.txt +1 -1
  40. package/dist/admin/fullscreen/databases/index.html +1 -1
  41. package/dist/admin/fullscreen/databases/index.txt +4 -4
  42. package/dist/admin/fullscreen/index.html +1 -1
  43. package/dist/admin/fullscreen/index.txt +4 -4
  44. package/dist/admin/index.html +1 -1
  45. package/dist/admin/index.txt +8 -8
  46. package/dist/admin/mail/__next.!KGRlZmF1bHQp.mail.__PAGE__.txt +2 -2
  47. package/dist/admin/mail/__next.!KGRlZmF1bHQp.mail.txt +1 -1
  48. package/dist/admin/mail/__next.!KGRlZmF1bHQp.txt +5 -5
  49. package/dist/admin/mail/__next._full.txt +8 -8
  50. package/dist/admin/mail/__next._head.txt +1 -1
  51. package/dist/admin/mail/__next._index.txt +3 -3
  52. package/dist/admin/mail/__next._tree.txt +1 -1
  53. package/dist/admin/mail/index.html +1 -1
  54. package/dist/admin/mail/index.txt +8 -8
  55. package/dist/admin/workflows/__next.!KGRlZmF1bHQp.txt +5 -5
  56. package/dist/admin/workflows/__next.!KGRlZmF1bHQp.workflows.__PAGE__.txt +2 -2
  57. package/dist/admin/workflows/__next.!KGRlZmF1bHQp.workflows.txt +1 -1
  58. package/dist/admin/workflows/__next._full.txt +8 -8
  59. package/dist/admin/workflows/__next._head.txt +1 -1
  60. package/dist/admin/workflows/__next._index.txt +3 -3
  61. package/dist/admin/workflows/__next._tree.txt +1 -1
  62. package/dist/admin/workflows/index.html +1 -1
  63. package/dist/admin/workflows/index.txt +8 -8
  64. package/dist/cli.js +543 -332
  65. package/dist/docs/postgres.md +6 -0
  66. package/dist/postinstall.js +1 -1
  67. package/package.json +1 -1
  68. package/dist/admin/_next/static/chunks/41f3e5697670a8cc.js +0 -1
  69. /package/dist/admin/_next/static/{6PTV4P6Gn4KWCwgzL4Qmj → hBmPSh2M5utps8oJiVAZU}/_buildManifest.js +0 -0
  70. /package/dist/admin/_next/static/{6PTV4P6Gn4KWCwgzL4Qmj → hBmPSh2M5utps8oJiVAZU}/_clientMiddlewareManifest.json +0 -0
  71. /package/dist/admin/_next/static/{6PTV4P6Gn4KWCwgzL4Qmj → hBmPSh2M5utps8oJiVAZU}/_ssgManifest.js +0 -0
@@ -36,6 +36,12 @@ postgres "main" {}
36
36
  - `direct_url` - Non-pooled connection string, bypassing the connection pooler. Use when you need a direct database connection (e.g., Prisma's `directUrl`).
37
37
  - `direct_host` - Non-pooled database host, bypassing the connection pooler.
38
38
 
39
+ ## Extensions
40
+
41
+ The following PostgreSQL extensions are available in both development and production (Neon):
42
+
43
+ - **pgvector** (`vector`) - Vector similarity search. Enable with `CREATE EXTENSION vector;` in a migration. See https://github.com/pgvector/pgvector for full documentation.
44
+
39
45
  ## Querying the database
40
46
 
41
47
  Use `specific psql` to connect to a development database. This will start the database if it's not already running.
@@ -126,7 +126,7 @@ function trackEvent(event, properties) {
126
126
  event,
127
127
  properties: {
128
128
  ...properties,
129
- cli_version: "0.1.80",
129
+ cli_version: "0.1.82",
130
130
  platform: process.platform,
131
131
  node_version: process.version,
132
132
  project_id: getProjectId()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@specific.dev/cli",
3
- "version": "0.1.80",
3
+ "version": "0.1.82",
4
4
  "description": "CLI for Specific infrastructure-as-code",
5
5
  "type": "module",
6
6
  "main": "dist/cli.js",
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,12283,35014,e=>{"use strict";var t=e.i(90795),r=e.i(59369);function s(){let e=window.location.hostname,t=".spcf.localhost";if("spcf.localhost"===e)return"default";if(e.endsWith(t)){let r=e.slice(0,-t.length);if(r&&!r.includes("."))return r}return null}function n(e){return"default"===e?"https://__drizzle_gateway.spcf.localhost":`https://__drizzle_gateway.${e}.spcf.localhost`}function a(e){return"default"===e?"https://__temporal.spcf.localhost":`https://__temporal.${e}.spcf.localhost`}e.s(["getDrizzleGatewayUrl",()=>n,"getInstanceKey",()=>s,"getTemporalUiUrl",()=>a],35014);let l=(0,r.createContext)(void 0);function o({children:e}){let[o,i]=(0,r.useState)(null),[c,u]=(0,r.useState)(null),[m,d]=(0,r.useState)(!1),h=(0,r.useMemo)(()=>s(),[]),f=(0,r.useMemo)(()=>h?n(h):null,[h]);(0,r.useEffect)(()=>{async function e(){try{let e=await fetch("/api/state");if(!e.ok)throw Error("Failed to fetch state");let t=await e.json();i(t),d(!0),u(null)}catch(e){u(e instanceof Error?e.message:"Unknown error"),d(!1)}}e();let t=setInterval(e,2e3);return()=>clearInterval(t)},[]);let p=o?.resources.some(e=>"postgres"===e.type)??!1,y=o?.hasTemporal??!1,v=(0,r.useMemo)(()=>h?a(h):null,[h]),g=o?.hasMail??!1,w=o?.mailApiUrl??null,b=o?.projectId??null,S=(0,r.useMemo)(()=>({state:o,error:c,connected:m,instanceKey:h,hasDatabases:p,drizzleGatewayUrl:f,hasTemporal:y,temporalUiUrl:v,hasMail:g,mailApiUrl:w,projectId:b}),[o,c,m,h,p,f,y,v,g,w,b]);return(0,t.jsx)(l.Provider,{value:S,children:e})}function i(){let e=(0,r.useContext)(l);if(void 0===e)throw Error("useDevState must be used within a DevStateProvider");return e}e.s(["DevStateProvider",()=>o,"useDevState",()=>i],12283)},70932,e=>{"use strict";var t=e.i(59369),r=(e,t,r,s,n,a,l,o)=>{let i=document.documentElement,c=["light","dark"];function u(t){var r;(Array.isArray(e)?e:[e]).forEach(e=>{let r="class"===e,s=r&&a?n.map(e=>a[e]||e):n;r?(i.classList.remove(...s),i.classList.add(a&&a[t]?a[t]:t)):i.setAttribute(e,t)}),r=t,o&&c.includes(r)&&(i.style.colorScheme=r)}if(s)u(s);else try{let e=localStorage.getItem(t)||r,s=l&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;u(s)}catch(e){}},s=["light","dark"],n="(prefers-color-scheme: dark)",a="u"<typeof window,l=t.createContext(void 0),o={setTheme:e=>{},themes:[]},i=()=>{var e;return null!=(e=t.useContext(l))?e:o},c=e=>t.useContext(l)?t.createElement(t.Fragment,null,e.children):t.createElement(m,{...e}),u=["light","dark"],m=({forcedTheme:e,disableTransitionOnChange:r=!1,enableSystem:a=!0,enableColorScheme:o=!0,storageKey:i="theme",themes:c=u,defaultTheme:m=a?"system":"light",attribute:y="data-theme",value:v,children:g,nonce:w,scriptProps:b})=>{let[S,T]=t.useState(()=>h(i,m)),[E,C]=t.useState(()=>"system"===S?p():S),k=v?Object.values(v):c,P=t.useCallback(e=>{let t=e;if(!t)return;"system"===e&&a&&(t=p());let n=v?v[t]:t,l=r?f(w):null,i=document.documentElement,c=e=>{"class"===e?(i.classList.remove(...k),n&&i.classList.add(n)):e.startsWith("data-")&&(n?i.setAttribute(e,n):i.removeAttribute(e))};if(Array.isArray(y)?y.forEach(c):c(y),o){let e=s.includes(m)?m:null,r=s.includes(t)?t:e;i.style.colorScheme=r}null==l||l()},[w]),_=t.useCallback(e=>{let t="function"==typeof e?e(S):e;T(t);try{localStorage.setItem(i,t)}catch(e){}},[S]),A=t.useCallback(t=>{C(p(t)),"system"===S&&a&&!e&&P("system")},[S,e]);t.useEffect(()=>{let e=window.matchMedia(n);return e.addListener(A),A(e),()=>e.removeListener(A)},[A]),t.useEffect(()=>{let e=e=>{e.key===i&&(e.newValue?T(e.newValue):_(m))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[_]),t.useEffect(()=>{P(null!=e?e:S)},[e,S]);let M=t.useMemo(()=>({theme:S,setTheme:_,forcedTheme:e,resolvedTheme:"system"===S?E:S,themes:a?[...c,"system"]:c,systemTheme:a?E:void 0}),[S,_,e,E,a,c]);return t.createElement(l.Provider,{value:M},t.createElement(d,{forcedTheme:e,storageKey:i,attribute:y,enableSystem:a,enableColorScheme:o,defaultTheme:m,value:v,themes:c,nonce:w,scriptProps:b}),g)},d=t.memo(({forcedTheme:e,storageKey:s,attribute:n,enableSystem:a,enableColorScheme:l,defaultTheme:o,value:i,themes:c,nonce:u,scriptProps:m})=>{let d=JSON.stringify([n,s,o,e,c,i,a,l]).slice(1,-1);return t.createElement("script",{...m,suppressHydrationWarning:!0,nonce:"u"<typeof window?u:"",dangerouslySetInnerHTML:{__html:`(${r.toString()})(${d})`}})}),h=(e,t)=>{let r;if(!a){try{r=localStorage.getItem(e)||void 0}catch(e){}return r||t}},f=e=>{let t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(t),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(t)},1)}},p=e=>(e||(e=window.matchMedia(n)),e.matches?"dark":"light");e.s(["ThemeProvider",()=>c,"useTheme",()=>i])},49311,e=>{"use strict";var t=e.i(90795),r=e.i(70932);function s({children:e,...s}){return(0,t.jsx)(r.ThemeProvider,{...s,children:e})}e.s(["ThemeProvider",()=>s])}]);