@flexkit/studio 0.0.36 → 0.1.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.
Files changed (165) hide show
  1. package/README.md +81 -0
  2. package/dist/astro.d.ts +3 -5
  3. package/dist/astro.js +3 -8
  4. package/dist/chat-page-NWMI4XOE.js +2 -0
  5. package/dist/chat-page-NWMI4XOE.js.map +1 -0
  6. package/dist/chunk-2DXR5NJV.js +2 -0
  7. package/dist/chunk-2DXR5NJV.js.map +1 -0
  8. package/dist/chunk-3CPWATOI.js +2 -0
  9. package/dist/chunk-3CPWATOI.js.map +1 -0
  10. package/dist/chunk-5DHOBLAE.js +2 -0
  11. package/dist/chunk-5DHOBLAE.js.map +1 -0
  12. package/dist/chunk-6LYEDKFY.js +7 -0
  13. package/dist/chunk-6LYEDKFY.js.map +1 -0
  14. package/dist/chunk-7PDYCDX6.js +2 -0
  15. package/dist/chunk-7PDYCDX6.js.map +1 -0
  16. package/dist/chunk-7SK5YPHT.js +2 -0
  17. package/dist/chunk-7SK5YPHT.js.map +1 -0
  18. package/dist/chunk-AKQ6ELDX.js +2 -0
  19. package/dist/chunk-AKQ6ELDX.js.map +1 -0
  20. package/dist/chunk-CSUHZFEP.js +2 -0
  21. package/dist/chunk-CSUHZFEP.js.map +1 -0
  22. package/dist/chunk-G4PYYHI3.js +2 -0
  23. package/dist/chunk-G4PYYHI3.js.map +1 -0
  24. package/dist/chunk-GZIMMYLK.js +2 -0
  25. package/dist/chunk-GZIMMYLK.js.map +1 -0
  26. package/dist/chunk-HROHAMPM.js +3 -0
  27. package/dist/chunk-HROHAMPM.js.map +1 -0
  28. package/dist/chunk-NNA4MLFC.js +3 -0
  29. package/dist/chunk-NNA4MLFC.js.map +1 -0
  30. package/dist/chunk-NSYO57O3.js +5 -0
  31. package/dist/chunk-NSYO57O3.js.map +1 -0
  32. package/dist/chunk-ODORXGGY.js +2 -0
  33. package/dist/chunk-ODORXGGY.js.map +1 -0
  34. package/dist/chunk-OUSEULBR.js +384 -0
  35. package/dist/chunk-OUSEULBR.js.map +1 -0
  36. package/dist/chunk-P6BZ4QP7.js +2 -0
  37. package/dist/chunk-P6BZ4QP7.js.map +1 -0
  38. package/dist/chunk-QQUNCDUB.js +2 -0
  39. package/dist/chunk-QQUNCDUB.js.map +1 -0
  40. package/dist/chunk-SZEGGBOC.js +2 -0
  41. package/dist/chunk-SZEGGBOC.js.map +1 -0
  42. package/dist/chunk-TXK4OFAG.js +248 -0
  43. package/dist/chunk-W2EBZZAY.js +3 -0
  44. package/dist/chunk-W2EBZZAY.js.map +1 -0
  45. package/dist/chunk-YINI2YKQ.js +4 -0
  46. package/dist/chunk-YINI2YKQ.js.map +1 -0
  47. package/dist/{core-handler-C3xC98bN.d.ts → core-handler-XAVVKLhV.d.ts} +0 -3
  48. package/dist/edit-entity-PVT34FD7.js +2 -0
  49. package/dist/edit-entity-PVT34FD7.js.map +1 -0
  50. package/dist/index.css +1402 -0
  51. package/dist/index.d.ts +433 -33
  52. package/dist/index.js +12 -395
  53. package/dist/index.js.map +1 -1
  54. package/dist/list-SQCN7HA3.js +2 -0
  55. package/dist/list-SQCN7HA3.js.map +1 -0
  56. package/dist/nextjs.d.ts +61 -56
  57. package/dist/nextjs.js +3 -8
  58. package/dist/pages-OIAPASPF.js +3 -0
  59. package/dist/pages-OIAPASPF.js.map +1 -0
  60. package/dist/plugin-pages-AHOA6YJE.js +2 -0
  61. package/dist/plugin-pages-AHOA6YJE.js.map +1 -0
  62. package/dist/project-selector-72VM6SUI.js +2 -0
  63. package/dist/project-selector-72VM6SUI.js.map +1 -0
  64. package/dist/root-4FGNRGCD.js +23 -0
  65. package/dist/root-4FGNRGCD.js.map +1 -0
  66. package/dist/root-5ZW536V7.js +2 -0
  67. package/dist/root-5ZW536V7.js.map +1 -0
  68. package/dist/root-IIILTOJI.js +31 -0
  69. package/dist/root-IIILTOJI.js.map +1 -0
  70. package/dist/root-QPQQ3DFJ.js +2 -0
  71. package/dist/root-QPQQ3DFJ.js.map +1 -0
  72. package/dist/search-2K2BU4UU.js +2 -0
  73. package/dist/{search-XKG5A7XM.js.map → search-2K2BU4UU.js.map} +1 -1
  74. package/dist/skills-pages-PSBRTFGK.js +2 -0
  75. package/dist/skills-pages-PSBRTFGK.js.map +1 -0
  76. package/dist/tanstack-start.d.ts +4 -6
  77. package/dist/tanstack-start.js +5 -12
  78. package/dist/ui.d.ts +5 -7
  79. package/dist/ui.js +1 -6
  80. package/dist/ui.js.map +1 -1
  81. package/dist/user-nav-QZFCICK3.js +2 -0
  82. package/dist/{user-nav-LSEOOH4E.js.map → user-nav-QZFCICK3.js.map} +1 -1
  83. package/package.json +30 -12
  84. package/dist/asset-3XMRPTA5.js +0 -2
  85. package/dist/asset-3XMRPTA5.js.map +0 -1
  86. package/dist/boolean-MTD44LXP.js +0 -2
  87. package/dist/boolean-MTD44LXP.js.map +0 -1
  88. package/dist/chunk-3VOTTOJT.js +0 -2
  89. package/dist/chunk-3VOTTOJT.js.map +0 -1
  90. package/dist/chunk-5I7Q5ODB.js +0 -2
  91. package/dist/chunk-5I7Q5ODB.js.map +0 -1
  92. package/dist/chunk-6NRQMG26.js +0 -2
  93. package/dist/chunk-6NRQMG26.js.map +0 -1
  94. package/dist/chunk-6V73336R.js +0 -623
  95. package/dist/chunk-7BOX7HHO.js +0 -2
  96. package/dist/chunk-7BOX7HHO.js.map +0 -1
  97. package/dist/chunk-7JFLGBWE.js +0 -2
  98. package/dist/chunk-7JFLGBWE.js.map +0 -1
  99. package/dist/chunk-7ZJN4MWQ.js +0 -2
  100. package/dist/chunk-7ZJN4MWQ.js.map +0 -1
  101. package/dist/chunk-AICNS7KW.js +0 -2
  102. package/dist/chunk-AICNS7KW.js.map +0 -1
  103. package/dist/chunk-D4XLXU2H.js +0 -2
  104. package/dist/chunk-D4XLXU2H.js.map +0 -1
  105. package/dist/chunk-FLT6RWXH.js +0 -2
  106. package/dist/chunk-FLT6RWXH.js.map +0 -1
  107. package/dist/chunk-GBM7VKFS.js +0 -2
  108. package/dist/chunk-GBM7VKFS.js.map +0 -1
  109. package/dist/chunk-HMMBYXYA.js +0 -2
  110. package/dist/chunk-HMMBYXYA.js.map +0 -1
  111. package/dist/chunk-IRY4KWB5.js +0 -2
  112. package/dist/chunk-IRY4KWB5.js.map +0 -1
  113. package/dist/chunk-JH4MVD36.js +0 -2
  114. package/dist/chunk-JH4MVD36.js.map +0 -1
  115. package/dist/chunk-JKHUO27E.js +0 -2
  116. package/dist/chunk-JKHUO27E.js.map +0 -1
  117. package/dist/chunk-LIV5RBWJ.js +0 -2
  118. package/dist/chunk-LIV5RBWJ.js.map +0 -1
  119. package/dist/chunk-PENRGDNC.js +0 -2
  120. package/dist/chunk-PENRGDNC.js.map +0 -1
  121. package/dist/chunk-POQX5GIA.js +0 -366
  122. package/dist/chunk-QOX3QNMM.js +0 -2
  123. package/dist/chunk-QOX3QNMM.js.map +0 -1
  124. package/dist/chunk-QVBNGGOE.js +0 -2
  125. package/dist/chunk-QVBNGGOE.js.map +0 -1
  126. package/dist/chunk-S6MOM5G3.js +0 -2
  127. package/dist/chunk-S6MOM5G3.js.map +0 -1
  128. package/dist/chunk-UGRS4FEI.js +0 -2
  129. package/dist/chunk-UGRS4FEI.js.map +0 -1
  130. package/dist/chunk-USNXQOMJ.js +0 -2
  131. package/dist/chunk-USNXQOMJ.js.map +0 -1
  132. package/dist/chunk-UWMJBBTY.js +0 -2
  133. package/dist/chunk-UWMJBBTY.js.map +0 -1
  134. package/dist/chunk-W3Z33ETA.js +0 -2
  135. package/dist/chunk-W3Z33ETA.js.map +0 -1
  136. package/dist/chunk-WDRCARCP.js +0 -3
  137. package/dist/chunk-WDRCARCP.js.map +0 -1
  138. package/dist/chunk-WIUPQHZ5.js +0 -2
  139. package/dist/chunk-WIUPQHZ5.js.map +0 -1
  140. package/dist/chunk-WJ4ORIXF.js +0 -2
  141. package/dist/chunk-WJ4ORIXF.js.map +0 -1
  142. package/dist/chunk-YSLN4XT6.js +0 -2
  143. package/dist/chunk-YSLN4XT6.js.map +0 -1
  144. package/dist/datetime-C55QQQJK.js +0 -2
  145. package/dist/datetime-C55QQQJK.js.map +0 -1
  146. package/dist/editor-NZLXIOE7.js +0 -2
  147. package/dist/editor-NZLXIOE7.js.map +0 -1
  148. package/dist/project-selector-GQ24PVO6.js +0 -2
  149. package/dist/project-selector-GQ24PVO6.js.map +0 -1
  150. package/dist/search-XKG5A7XM.js +0 -2
  151. package/dist/select-SO3DICYX.js +0 -2
  152. package/dist/select-SO3DICYX.js.map +0 -1
  153. package/dist/switch-SU3OIXL6.js +0 -2
  154. package/dist/switch-SU3OIXL6.js.map +0 -1
  155. package/dist/text-FZSI6W5I.js +0 -2
  156. package/dist/text-FZSI6W5I.js.map +0 -1
  157. package/dist/text-QXGOD2KW.js +0 -2
  158. package/dist/text-QXGOD2KW.js.map +0 -1
  159. package/dist/textarea-INLURFNU.js +0 -2
  160. package/dist/textarea-INLURFNU.js.map +0 -1
  161. package/dist/tools.d.ts +0 -78
  162. package/dist/tools.js +0 -60
  163. package/dist/types-U28Ppixq.d.ts +0 -56
  164. package/dist/types.d-CPIuPrvL.d.ts +0 -458
  165. package/dist/user-nav-LSEOOH4E.js +0 -2
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/auth/use-auth-service.ts","../src/auth/auth-context.tsx"],"names":["useAuthService","projectId","useParams","projects","useConfig","currentProject","project","user","isLoadingUser","useSWR","apiPaths","url","res","data","AuthContext","createContext","AuthProvider","children","isLoading","auth","jsx","useAuth","useContext"],"mappings":"gPAQe,SAARA,CAAAA,EAA+C,CACpD,GAAM,CAAE,SAAA,CAAAC,CAAU,CAAA,CAAIC,SAAAA,EAAU,CAC1B,CAAE,SAAAC,CAAS,CAAA,CAAIC,GAAU,CACzBC,CAAAA,CAAiBF,EAAS,IAAA,CAAMG,CAAAA,EAAYA,EAAQ,SAAA,GAAcL,CAAS,GAAKE,CAAAA,CAAS,CAAC,EAC1F,CAAE,IAAA,CAAMI,EAAM,SAAA,CAAWC,GAAc,CAAA,CAAIC,CAAAA,CAAOC,IAAST,CAAAA,EAAa,EAAE,EAAE,WAAA,CAAcU,CAAAA,EAC9F,MAAMA,CAAAA,CAAK,CAAE,KAAM,MAAA,CAAQ,WAAA,CAAa,SAAU,CAAC,CAAA,CAChD,KAAMC,CAAAA,EAAQA,CAAAA,CAAI,MAAuB,CAAA,CACzC,IAAA,CAAMC,CAAAA,GAAU,CAAE,GAAGA,CAAAA,CAAM,OAAQA,CAAAA,CAAK,MAAA,EAAU,EAAG,CAAA,CAAE,CAC5D,CAAA,CAGA,OAAO,CAFWL,GAAAA,CAIhB,CACE,KAAAD,CAAAA,CACA,MAAA,CAAQ,SAAY,CAElB,MAAM,KAAA,CAAMG,GAAAA,CAAST,GAAa,EAAE,CAAA,CAAE,OAAOI,CAAAA,EAAgB,QAAA,EAAY,GAAG,CAAA,CAAG,CAC7E,OAAQ,MAAA,CACR,IAAA,CAAM,OACN,WAAA,CAAa,SACf,CAAC,CAAA,CAGD,MAAM,MAAM,qBAAA,CAAuB,CAAE,MAAA,CAAQ,KAAA,CAAO,YAAa,SAAU,CAAC,EAE5E,MAAA,CAAO,QAAA,CAAS,SAClB,CACF,CACF,CACF,CChCA,IAAMS,CAAAA,CAAcC,aAAAA,CAAc,CAChC,IAAA,CACA,CACE,IAAA,CAAM,IAAA,CACN,OAAQ,IAAM,OAAA,CAAQ,SACxB,CACF,CAAC,CAAA,CAEM,SAASC,EAAa,CAAE,QAAA,CAAAC,CAAS,CAAA,CAA+C,CACrF,GAAM,CAACC,CAAAA,CAAWC,CAAI,CAAA,CAAInB,CAAAA,EAAe,CAEzC,OAAOoB,IAACN,CAAAA,CAAY,QAAA,CAAZ,CAAqB,KAAA,CAAO,CAACI,EAAWC,CAAI,CAAA,CAAI,SAAAF,CAAAA,CAAS,CACnE,CAEO,SAASI,CAAAA,EAAuB,CACrC,OAAOC,UAAAA,CAAWR,CAAW,CAC/B","file":"chunk-WJ4ORIXF.js","sourcesContent":["'use client';\n\nimport useSWR from 'swr';\nimport { useParams } from 'react-router-dom';\nimport { apiPaths } from '../core/api-paths';\nimport { useConfig } from '../core/config/config-context';\nimport type { AuthService, User } from './types';\n\nexport default function useAuthService(): AuthService {\n const { projectId } = useParams();\n const { projects } = useConfig();\n const currentProject = projects.find((project) => project.projectId === projectId) ?? projects[0];\n const { data: user, isLoading: isLoadingUser } = useSWR(apiPaths(projectId ?? '').currentUser, (url: string) =>\n fetch(url, { mode: 'cors', credentials: 'include' })\n .then((res) => res.json() as Promise<User>)\n .then((data) => ({ ...data, spaces: data.spaces ?? [] }))\n );\n const isLoading = isLoadingUser;\n\n return [\n isLoading,\n {\n user,\n logout: async () => {\n // wipe remote session\n await fetch(apiPaths(projectId ?? '').logout(currentProject?.basePath ?? '/'), {\n method: 'POST',\n mode: 'cors',\n credentials: 'include',\n });\n\n // delete first-party auth cookie\n await fetch('/api/flexkit/logout', { method: 'GET', credentials: 'include' });\n\n window.location.reload();\n },\n },\n ];\n}\n","'use client';\n\nimport { createContext, JSX, useContext } from 'react';\nimport useAuthService from './use-auth-service';\nimport type { Auth, AuthService, User } from './types';\n\nconst AuthContext = createContext([\n true,\n {\n user: null as User | null,\n logout: () => Promise.resolve(),\n } as Auth,\n]);\n\nexport function AuthProvider({ children }: { children: React.ReactNode }): JSX.Element {\n const [isLoading, auth] = useAuthService();\n\n return <AuthContext.Provider value={[isLoading, auth]}>{children}</AuthContext.Provider>;\n}\n\nexport function useAuth(): AuthService {\n return useContext(AuthContext) as AuthService;\n}\n"]}
@@ -1,2 +0,0 @@
1
- import'./index.css';import {a}from'./chunk-O2QMYUPS.js';import {jsx}from'react/jsx-runtime';function n({className:i,type:f,...r}){return jsx("input",{type:f,"data-slot":"input",className:a("fk:h-9 fk:w-full fk:min-w-0 fk:rounded-md fk:border fk:border-input fk:bg-background fk:px-3 fk:py-1 fk:text-base fk:shadow-xs fk:transition-[color,box-shadow] fk:outline-none fk:selection:bg-primary fk:selection:text-primary-foreground fk:file:inline-flex fk:file:h-7 fk:file:border-0 fk:file:bg-transparent fk:file:text-sm fk:file:font-medium fk:file:text-foreground fk:placeholder:text-muted-foreground fk:disabled:pointer-events-none fk:disabled:cursor-not-allowed fk:disabled:opacity-50 fk:md:text-sm fk:dark:bg-input/30 fk:corner-squircle","fk:focus-visible:border-ring fk:focus-visible:ring-[3px] fk:focus-visible:ring-ring/50","fk:aria-invalid:border-destructive fk:aria-invalid:ring-destructive/20 fk:dark:aria-invalid:ring-destructive/40",i),...r})}export{n as a};//# sourceMappingURL=chunk-YSLN4XT6.js.map
2
- //# sourceMappingURL=chunk-YSLN4XT6.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ui/primitives/input.tsx"],"names":["Input","className","type","props","jsx","cn"],"mappings":"4FAGA,SAASA,CAAAA,CAAM,CAAE,SAAA,CAAAC,CAAAA,CAAW,IAAA,CAAAC,CAAAA,CAAM,GAAGC,CAAM,CAAA,CAAkC,CAC3E,OACEC,GAAAA,CAAC,OAAA,CAAA,CACC,IAAA,CAAMF,CAAAA,CACN,WAAA,CAAU,OAAA,CACV,SAAA,CAAWG,CAAAA,CACT,kiBAAA,CACA,wFAAA,CACA,iHAAA,CACAJ,CACF,CAAA,CACC,GAAGE,EACN,CAEJ","file":"chunk-YSLN4XT6.js","sourcesContent":["import * as React from 'react';\nimport { cn } from '../lib/utils';\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n 'fk:h-9 fk:w-full fk:min-w-0 fk:rounded-md fk:border fk:border-input fk:bg-background fk:px-3 fk:py-1 fk:text-base fk:shadow-xs fk:transition-[color,box-shadow] fk:outline-none fk:selection:bg-primary fk:selection:text-primary-foreground fk:file:inline-flex fk:file:h-7 fk:file:border-0 fk:file:bg-transparent fk:file:text-sm fk:file:font-medium fk:file:text-foreground fk:placeholder:text-muted-foreground fk:disabled:pointer-events-none fk:disabled:cursor-not-allowed fk:disabled:opacity-50 fk:md:text-sm fk:dark:bg-input/30 fk:corner-squircle',\n 'fk:focus-visible:border-ring fk:focus-visible:ring-[3px] fk:focus-visible:ring-ring/50',\n 'fk:aria-invalid:border-destructive fk:aria-invalid:ring-destructive/20 fk:dark:aria-invalid:ring-destructive/40',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n"]}
@@ -1,2 +0,0 @@
1
- import'./index.css';export{a as DateTime}from'./chunk-JKHUO27E.js';import'./chunk-7JFLGBWE.js';import'./chunk-USNXQOMJ.js';import'./chunk-O2QMYUPS.js';//# sourceMappingURL=datetime-C55QQQJK.js.map
2
- //# sourceMappingURL=datetime-C55QQQJK.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"datetime-C55QQQJK.js"}
@@ -1,2 +0,0 @@
1
- import'./index.css';export{b as Editor}from'./chunk-5I7Q5ODB.js';import'./chunk-7JFLGBWE.js';import'./chunk-USNXQOMJ.js';import'./chunk-O2QMYUPS.js';//# sourceMappingURL=editor-NZLXIOE7.js.map
2
- //# sourceMappingURL=editor-NZLXIOE7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"editor-NZLXIOE7.js"}
@@ -1,2 +0,0 @@
1
- import'./index.css';import {a,d,c,e,g}from'./chunk-HDOIOXMP.js';import {b}from'./chunk-WIUPQHZ5.js';import'./chunk-O2QMYUPS.js';import {useState}from'react';import {useNavigate}from'react-router-dom';import {jsxs,jsx}from'react/jsx-runtime';function V({projectId:S,projects:t}){let[r,f]=useState(t.find(e=>e.projectId===S)??t[0]),s=useNavigate();return jsxs(a,{defaultValue:r.projectId,onValueChange:e=>{let c=t.find(u=>u.projectId===e)??t[0],{basePath:d}=c;f(c),s(b(d,c.projectId));},children:[jsx(d,{className:"fk:w-48! fk:h-9 fk:py-1",id:"project",children:jsx(c,{"aria-label":r.title,children:r.title})}),jsx(e,{children:t.map(e=>jsx(g,{value:e.projectId,children:e.title},e.projectId))})]})}export{V as ProjectSelector};//# sourceMappingURL=project-selector-GQ24PVO6.js.map
2
- //# sourceMappingURL=project-selector-GQ24PVO6.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ui/components/project-selector.tsx"],"names":["ProjectSelector","projectId","projects","selectedProject","setSelectedProject","useState","project","navigate","useNavigate","jsxs","Select","id","currentProject","basePath","joinBasePath","jsx","SelectTrigger","SelectValue","SelectContent","SelectItem"],"mappings":"iPAYO,SAASA,CAAAA,CAAgB,CAAE,SAAA,CAAAC,CAAAA,CAAW,QAAA,CAAAC,CAAS,CAAA,CAAuB,CAC3E,GAAM,CAACC,CAAAA,CAAiBC,CAAkB,CAAA,CAAIC,QAAAA,CAC5CH,CAAAA,CAAS,KAAMI,CAAAA,EAAYA,CAAAA,CAAQ,SAAA,GAAcL,CAAS,CAAA,EAAKC,CAAAA,CAAS,CAAC,CAC3E,CAAA,CACMK,CAAAA,CAAWC,WAAAA,EAAY,CAE7B,OACEC,IAAAA,CAACC,CAAAA,CAAA,CACC,YAAA,CAAcP,CAAAA,CAAgB,SAAA,CAC9B,aAAA,CAAgBQ,CAAAA,EAAO,CACrB,IAAMC,CAAAA,CAAiBV,CAAAA,CAAS,IAAA,CAAMI,CAAAA,EAAYA,CAAAA,CAAQ,SAAA,GAAcK,CAAE,GAAKT,CAAAA,CAAS,CAAC,CAAA,CACnF,CAAE,QAAA,CAAAW,CAAS,CAAA,CAAID,CAAAA,CAErBR,CAAAA,CAAmBQ,CAAc,CAAA,CACjCL,CAAAA,CAASO,CAAAA,CAAaD,CAAAA,CAAUD,CAAAA,CAAe,SAAS,CAAC,EAC3D,CAAA,CAEA,QAAA,CAAA,CAAAG,GAAAA,CAACC,CAAAA,CAAA,CAAc,SAAA,CAAU,yBAAA,CAA0B,EAAA,CAAG,SAAA,CACpD,QAAA,CAAAD,GAAAA,CAACE,CAAAA,CAAA,CAAY,YAAA,CAAYd,CAAAA,CAAgB,KAAA,CAAQ,QAAA,CAAAA,CAAAA,CAAgB,KAAA,CAAM,CAAA,CACzE,CAAA,CACAY,GAAAA,CAACG,CAAAA,CAAA,CACE,QAAA,CAAAhB,CAAAA,CAAS,GAAA,CAAKI,CAAAA,EACbS,GAAAA,CAACI,CAAAA,CAAA,CAAmC,KAAA,CAAOb,CAAAA,CAAQ,SAAA,CAChD,QAAA,CAAAA,CAAAA,CAAQ,KAAA,CAAA,CADMA,CAAAA,CAAQ,SAEzB,CACD,CAAA,CACH,CAAA,CAAA,CACF,CAEJ","file":"project-selector-GQ24PVO6.js","sourcesContent":["import type { JSX } from 'react';\nimport { useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { joinBasePath } from '../../core/base-path';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../primitives/select';\nimport type { ProjectOptions } from '../../core/config/types';\n\ntype Props = {\n projectId: string;\n projects: ProjectOptions[];\n};\n\nexport function ProjectSelector({ projectId, projects }: Props): JSX.Element {\n const [selectedProject, setSelectedProject] = useState(\n projects.find((project) => project.projectId === projectId) ?? projects[0]\n );\n const navigate = useNavigate();\n\n return (\n <Select\n defaultValue={selectedProject.projectId}\n onValueChange={(id) => {\n const currentProject = projects.find((project) => project.projectId === id) ?? projects[0];\n const { basePath } = currentProject;\n\n setSelectedProject(currentProject);\n navigate(joinBasePath(basePath, currentProject.projectId));\n }}\n >\n <SelectTrigger className=\"fk:w-48! fk:h-9 fk:py-1\" id=\"project\">\n <SelectValue aria-label={selectedProject.title}>{selectedProject.title}</SelectValue>\n </SelectTrigger>\n <SelectContent>\n {projects.map((project) => (\n <SelectItem key={project.projectId} value={project.projectId}>\n {project.title}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n );\n}\n"]}
@@ -1,2 +0,0 @@
1
- import'./index.css';import {f}from'./chunk-JH4MVD36.js';import {b}from'./chunk-AICNS7KW.js';import {n,w,r,q,s,u,b as b$2}from'./chunk-W3Z33ETA.js';import {a,d,c,e,g}from'./chunk-HDOIOXMP.js';import'./chunk-LIV5RBWJ.js';import'./chunk-WDRCARCP.js';import {b as b$1}from'./chunk-6NRQMG26.js';import'./chunk-WIUPQHZ5.js';import {a as a$1}from'./chunk-O2QMYUPS.js';import {useState,useMemo,useRef}from'react';import {LoaderCircle,Search,X}from'lucide-react';import {Command}from'cmdk';import {useNavigate}from'react-router-dom';import {jsxs,jsx}from'react/jsx-runtime';var i="all";function ee(t){let n=t.replace(/([A-Z])/g," $1");return n.charAt(0).toUpperCase()+n.slice(1).trim()}function re(t){return t.filter(n=>n.attributes.some(a=>a.searchable))}function te(t,n){return n===i?t.map(a=>a.plural):t.filter(a=>a.plural===n).map(a=>a.plural)}function ne(t,n){return n===i?i:t.some(a=>a.plural===n)?n:i}function ae(t,n){return {searchRequests:{searches:t.map(a=>({collection:a}))},commonParams:{q:n}}}function oe(t){return t.menu?.label??ee(t.plural)}function be({onSelect:t,searchPlaceholder:n$1="Search...",noResultsMsg:a$2="Nothing found",className:_,onSearchChange:y,projectId:V,schema:v}){let[D,l]=useState(false),[s$1,S]=useState(""),[G,M]=useState(i),f$1=useMemo(()=>re(v),[v]),m=ne(f$1,G),C=useMemo(()=>te(f$1,m),[f$1,m]),X$1=useMemo(()=>ae(C,s$1),[C,s$1]),c$1=useRef(null),{results:k,isLoading:d$1}=f(V,X$1),j=D&&(k.length>0||!d$1),z=useNavigate();function F(e){S(e),e.length>0&&l(true),e.length===0&&l(false),y&&y(e);}function J(e){M(e),s$1.length>0&&l(true);}function U(){S(""),l(false),c$1.current&&(c$1.current.value="");let e=new URL(window.location.href);e.searchParams.has("id")&&(e.searchParams.delete("id"),z(e.pathname+e.search));}return jsxs(b,{children:[jsxs(a,{onValueChange:J,value:m,children:[jsx(d,{"aria-label":"Filter search by entity",className:"fk:w-36 fk:h-9 fk:py-1 fk:rounded-r-none fk:border-border fk:shadow-none fk:corner-squircle",children:jsx(c,{})}),jsxs(e,{children:[jsx(g,{value:i,children:"All"}),f$1.map(e=>jsx(g,{value:e.plural,children:oe(e)},e.plural))]})]}),jsxs(n,{className:"fk:relative fk:overflow-visible fk:h-auto fk:justify-center fk:rounded-none fk:bg-transparent fk:corner-squircle",onBlur:()=>{setTimeout(()=>{l(false);},300);},onKeyDown:e=>{e.key==="Escape"&&(e.preventDefault(),l(false));},shouldFilter:false,children:[jsxs("div",{className:a$1("fk:flex fk:items-center fk:border-y fk:border-r fk:border-border fk:rounded-r-md fk:bg-background fk:pl-3 fk:pr-2 fk:h-9 fk:md:w-25 fk:lg:w-75 fk:corner-squircle","fk:outline-none fk:transition-[color,box-shadow] fk:has-[input:focus-visible]:border-ring fk:has-[input:focus-visible]:ring-[3px] fk:has-[input:focus-visible]:ring-ring/50"),children:[d$1?jsx(LoaderCircle,{className:"fk:mr-2 fk:h-4 fk:w-4 fk:shrink-0 fk:opacity-50 fk:animate-spin"}):jsx(Search,{className:"fk:mr-2 fk:h-4 fk:w-4 fk:shrink-0 fk:opacity-50"}),jsx(Command.Input,{className:a$1("fk:flex fk:h-9 fk:w-full fk:rounded-none fk:bg-transparent fk:py-1 fk:text-sm fk:outline-hidden fk:placeholder:text-muted-foreground fk:disabled:cursor-not-allowed fk:disabled:opacity-50 fk:corner-squircle",_),placeholder:n$1,onMouseDown:()=>{(c$1.current?.value.length??0)>0&&l(true);},onValueChange:F,ref:c$1,value:s$1}),s$1&&jsx(b$1,{"aria-label":"Clear search",className:"fk:flex fk:items-center fk:justify-center fk:ml-2 fk:h-6 fk:w-6 fk:text-muted-foreground fk:hover:text-foreground fk:hover:bg-foreground/10 fk:cursor-pointer fk:rounded-full fk:bg-transparent fk:corner-squircle",onClick:U,type:"button",children:jsx(X,{className:"fk:h-4 fk:w-4"})})]}),jsx("div",{className:"fk:relative fk:max-w-150",children:jsx("div",{className:a$1("fk:mt-1 fk:animate-in fk:fade-in-0 fk:zoom-in-95 fk:absolute fk:top-0 fk:z-50 fk:w-full fk:rounded-md fk:bg-popover fk:outline-hidden fk:drop-shadow-md fk:border fk:border-border fk:corner-squircle",j?"fk:block":"fk:hidden"),children:jsxs(w,{className:"fk:max-h-55 fk:overflow-auto",children:[!d$1&&jsx(r,{children:a$2}),jsx(q,{children:jsxs(s,{children:[k.length>0&&jsx(u,{"aria-hidden":"true",className:"fk:hidden!",value:"-"}),k.map(e=>jsxs(u,{className:"fk:flex",value:e._id,onSelect:H=>{t({entityName:e._entityName,entityNamePlural:e._entityNamePlural,entityId:H});},children:[jsx("span",{className:"fk:basis-full",children:e[Object.keys(e)[3]]}),jsx(b$2,{className:"fk:py-px fk:text-[0.6875rem] fk:leading-3 fk:bg-teal-400",children:e._entityName})]},e._id))]})})]})})})]})]})}export{be as Search};//# sourceMappingURL=search-XKG5A7XM.js.map
2
- //# sourceMappingURL=search-XKG5A7XM.js.map
@@ -1,2 +0,0 @@
1
- import'./index.css';export{a as Select}from'./chunk-PENRGDNC.js';import'./chunk-7JFLGBWE.js';import'./chunk-USNXQOMJ.js';import'./chunk-O2QMYUPS.js';//# sourceMappingURL=select-SO3DICYX.js.map
2
- //# sourceMappingURL=select-SO3DICYX.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"select-SO3DICYX.js"}
@@ -1,2 +0,0 @@
1
- import'./index.css';export{a as Switch}from'./chunk-FLT6RWXH.js';import'./chunk-QOX3QNMM.js';import'./chunk-QVBNGGOE.js';import'./chunk-GBM7VKFS.js';import'./chunk-O2QMYUPS.js';//# sourceMappingURL=switch-SU3OIXL6.js.map
2
- //# sourceMappingURL=switch-SU3OIXL6.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"switch-SU3OIXL6.js"}
@@ -1,2 +0,0 @@
1
- import'./index.css';export{a as Text}from'./chunk-UWMJBBTY.js';import'./chunk-YSLN4XT6.js';import'./chunk-QOX3QNMM.js';import'./chunk-GBM7VKFS.js';import'./chunk-O2QMYUPS.js';//# sourceMappingURL=text-FZSI6W5I.js.map
2
- //# sourceMappingURL=text-FZSI6W5I.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"text-FZSI6W5I.js"}
@@ -1,2 +0,0 @@
1
- import'./index.css';export{a as Text}from'./chunk-3VOTTOJT.js';import'./chunk-7JFLGBWE.js';import'./chunk-USNXQOMJ.js';import'./chunk-O2QMYUPS.js';//# sourceMappingURL=text-QXGOD2KW.js.map
2
- //# sourceMappingURL=text-QXGOD2KW.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"text-QXGOD2KW.js"}
@@ -1,2 +0,0 @@
1
- import'./index.css';export{a as Textarea}from'./chunk-UGRS4FEI.js';import'./chunk-7BOX7HHO.js';import'./chunk-QOX3QNMM.js';import'./chunk-GBM7VKFS.js';import'./chunk-O2QMYUPS.js';//# sourceMappingURL=textarea-INLURFNU.js.map
2
- //# sourceMappingURL=textarea-INLURFNU.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"textarea-INLURFNU.js"}
package/dist/tools.d.ts DELETED
@@ -1,78 +0,0 @@
1
- import { a as FlexkitSkill, C as CustomerToolActor, b as FlexkitTool } from './types-U28Ppixq.js';
2
- export { c as CustomerToolsExecuteRequest, d as CustomerToolsExecuteResponse, e as CustomerToolsIntrospectResponse, F as FlexkitHandlerOptions, f as FlexkitToolManifest, p as parseCustomerToolActor } from './types-U28Ppixq.js';
3
- import { z } from 'zod';
4
-
5
- declare const MAX_SKILL_NAME_LENGTH = 120;
6
- declare const MAX_SKILL_DESCRIPTION_LENGTH = 500;
7
- declare const MAX_SKILL_CONTENT_LENGTH = 50000;
8
-
9
- /**
10
- * Defines a version-controlled skill exposed through the Flexkit API handler.
11
- *
12
- * The skill name is its sync identity. Renaming it creates a new skill in
13
- * Flexkit and removes the old one, including its automation attachments.
14
- */
15
- declare function defineSkill(options: {
16
- content: string;
17
- description: string;
18
- name: string;
19
- space?: string;
20
- }): FlexkitSkill;
21
- declare function assertUniqueSkillNames(skills: FlexkitSkill[]): void;
22
-
23
- declare function defineTool<TSchema extends z.ZodType>(options: {
24
- description: string;
25
- execute: (_input: z.infer<TSchema>, _actor: CustomerToolActor) => Promise<unknown> | unknown;
26
- input: TSchema;
27
- name: string;
28
- }): FlexkitTool;
29
- declare function toolToManifest(tool: FlexkitTool): {
30
- description: string;
31
- inputSchema: {
32
- [key: string]: unknown;
33
- };
34
- name: string;
35
- };
36
-
37
- declare const FLEXKIT_TIMESTAMP_HEADER = "flexkit-timestamp";
38
- declare const FLEXKIT_SIGNATURE_HEADER = "flexkit-signature";
39
- declare const FLEXKIT_SIGNATURE_PREVIOUS_HEADER = "flexkit-signature-previous";
40
- declare const CUSTOMER_TOOLS_SERVE_PATH = "/api/flexkit/tools";
41
- declare const CUSTOMER_TOOLS_HELLO_PATH = "/tools/dev-connect/hello";
42
- declare const CUSTOMER_TOOLS_POLL_PATH = "/tools/dev-connect/poll";
43
- declare const CUSTOMER_TOOLS_RESPOND_PATH = "/tools/dev-connect/respond";
44
- declare function signPayload(secret: string, payload: string): Promise<string>;
45
- declare function createSignedHeaders({ body, method, path, previousSecret, secret, timestamp, }: {
46
- body: string;
47
- method: string;
48
- path: string;
49
- previousSecret?: string | null;
50
- secret: string;
51
- timestamp?: number;
52
- }): Promise<{
53
- [header: string]: string;
54
- }>;
55
- declare function verifySignedHeaders({ body, maxSkewSeconds, method, path, previousSignatureHeader, secret, signatureHeader, timestampHeader, }: {
56
- body: string;
57
- maxSkewSeconds?: number;
58
- method: string;
59
- path: string;
60
- previousSignatureHeader?: string | null;
61
- secret: string | string[];
62
- signatureHeader: string | null;
63
- timestampHeader: string | null;
64
- }): Promise<boolean>;
65
- declare function getHeader(headers: Headers, name: string): string | null;
66
-
67
- declare const CUSTOM_TOOL_NAME_PREFIX = "custom_";
68
- declare function isValidToolName(name: string): boolean;
69
- declare function toAgentToolName(name: string): string;
70
-
71
- declare const FLEXKIT_STUDIO_RUNTIME_HEADER = "Flexkit-Studio-Runtime";
72
- declare const FLEXKIT_STUDIO_RUNTIME_LOCAL = "local";
73
- declare function shouldHandleDevConnectTick(): boolean;
74
- declare function isDevConnectRole(role: string | null | undefined): boolean;
75
- declare function isCustomerToolsTickPath(pathname: string): boolean;
76
- declare function getCustomerToolsTickPath(projectId: string): string;
77
-
78
- export { CUSTOMER_TOOLS_HELLO_PATH, CUSTOMER_TOOLS_POLL_PATH, CUSTOMER_TOOLS_RESPOND_PATH, CUSTOMER_TOOLS_SERVE_PATH, CUSTOM_TOOL_NAME_PREFIX, CustomerToolActor, FLEXKIT_SIGNATURE_HEADER, FLEXKIT_SIGNATURE_PREVIOUS_HEADER, FLEXKIT_STUDIO_RUNTIME_HEADER, FLEXKIT_STUDIO_RUNTIME_LOCAL, FLEXKIT_TIMESTAMP_HEADER, FlexkitSkill, FlexkitTool, MAX_SKILL_CONTENT_LENGTH, MAX_SKILL_DESCRIPTION_LENGTH, MAX_SKILL_NAME_LENGTH, assertUniqueSkillNames, createSignedHeaders, defineSkill, defineTool, getCustomerToolsTickPath, getHeader, isCustomerToolsTickPath, isDevConnectRole, isValidToolName, shouldHandleDevConnectTick, signPayload, toAgentToolName, toolToManifest, verifySignedHeaders };
package/dist/tools.js DELETED
@@ -1,60 +0,0 @@
1
- import {
2
- CUSTOMER_TOOLS_HELLO_PATH,
3
- CUSTOMER_TOOLS_POLL_PATH,
4
- CUSTOMER_TOOLS_RESPOND_PATH,
5
- CUSTOMER_TOOLS_SERVE_PATH,
6
- CUSTOM_TOOL_NAME_PREFIX,
7
- FLEXKIT_SIGNATURE_HEADER,
8
- FLEXKIT_SIGNATURE_PREVIOUS_HEADER,
9
- FLEXKIT_STUDIO_RUNTIME_HEADER,
10
- FLEXKIT_STUDIO_RUNTIME_LOCAL,
11
- FLEXKIT_TIMESTAMP_HEADER,
12
- MAX_SKILL_CONTENT_LENGTH,
13
- MAX_SKILL_DESCRIPTION_LENGTH,
14
- MAX_SKILL_NAME_LENGTH,
15
- assertUniqueSkillNames,
16
- createSignedHeaders,
17
- defineSkill,
18
- defineTool,
19
- getCustomerToolsTickPath,
20
- getHeader,
21
- isCustomerToolsTickPath,
22
- isDevConnectRole,
23
- isValidToolName,
24
- parseCustomerToolActor,
25
- shouldHandleDevConnectTick,
26
- signPayload,
27
- toAgentToolName,
28
- toolToManifest,
29
- verifySignedHeaders
30
- } from "./chunk-6V73336R.js";
31
- export {
32
- CUSTOMER_TOOLS_HELLO_PATH,
33
- CUSTOMER_TOOLS_POLL_PATH,
34
- CUSTOMER_TOOLS_RESPOND_PATH,
35
- CUSTOMER_TOOLS_SERVE_PATH,
36
- CUSTOM_TOOL_NAME_PREFIX,
37
- FLEXKIT_SIGNATURE_HEADER,
38
- FLEXKIT_SIGNATURE_PREVIOUS_HEADER,
39
- FLEXKIT_STUDIO_RUNTIME_HEADER,
40
- FLEXKIT_STUDIO_RUNTIME_LOCAL,
41
- FLEXKIT_TIMESTAMP_HEADER,
42
- MAX_SKILL_CONTENT_LENGTH,
43
- MAX_SKILL_DESCRIPTION_LENGTH,
44
- MAX_SKILL_NAME_LENGTH,
45
- assertUniqueSkillNames,
46
- createSignedHeaders,
47
- defineSkill,
48
- defineTool,
49
- getCustomerToolsTickPath,
50
- getHeader,
51
- isCustomerToolsTickPath,
52
- isDevConnectRole,
53
- isValidToolName,
54
- parseCustomerToolActor,
55
- shouldHandleDevConnectTick,
56
- signPayload,
57
- toAgentToolName,
58
- toolToManifest,
59
- verifySignedHeaders
60
- };
@@ -1,56 +0,0 @@
1
- import { z } from 'zod';
2
-
3
- type CustomerToolActor = {
4
- kind: 'automation';
5
- automationId: string;
6
- spaceCodes: string[];
7
- spaceId: string | null;
8
- } | {
9
- kind: 'chat';
10
- role: string;
11
- spaceCodes: string[];
12
- userId: string;
13
- };
14
- declare function parseCustomerToolActor(value: unknown): CustomerToolActor | null;
15
-
16
- interface FlexkitToolManifest {
17
- description: string;
18
- inputSchema: {
19
- [key: string]: unknown;
20
- };
21
- name: string;
22
- }
23
- interface FlexkitSkill {
24
- content: string;
25
- description: string;
26
- name: string;
27
- space?: string;
28
- }
29
- interface FlexkitTool {
30
- description: string;
31
- execute: (_input: unknown, _actor: CustomerToolActor) => Promise<unknown> | unknown;
32
- input: z.ZodType;
33
- name: string;
34
- }
35
- interface FlexkitHandlerOptions {
36
- /** Project id used by the localhost dev connect poller. */
37
- projectId?: string;
38
- skills?: FlexkitSkill[];
39
- tools?: FlexkitTool[];
40
- }
41
- interface CustomerToolsIntrospectResponse {
42
- skills?: FlexkitSkill[];
43
- tools: FlexkitToolManifest[];
44
- }
45
- interface CustomerToolsExecuteRequest {
46
- actor: CustomerToolActor;
47
- arguments: {
48
- [key: string]: unknown;
49
- };
50
- name: string;
51
- }
52
- interface CustomerToolsExecuteResponse {
53
- result: unknown;
54
- }
55
-
56
- export { type CustomerToolActor as C, type FlexkitHandlerOptions as F, type FlexkitSkill as a, type FlexkitTool as b, type CustomerToolsExecuteRequest as c, type CustomerToolsExecuteResponse as d, type CustomerToolsIntrospectResponse as e, type FlexkitToolManifest as f, parseCustomerToolActor as p };