@motiadev/plugin-states 0.13.2-beta.164-732151 → 0.13.2-beta.164-110989

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["useCallback","useEffect","useState","StateItem","Output","items","deleteItems","ids","refetch","useGetStateItems","$","_c","t0","Symbol","for","setItems","t1","fetch","then","_temp","catch","_temp2","t2","method","headers","body","JSON","stringify","t3","t4","t5","res","ok","json","err","console","error","create","StatesState","selectedStateId","selectStateId","stateId","useStatesStore","set","undefined","React","JsonView","StateItem","Props","state","StateDetails","FC","t0","$","_c","t1","value","Editor","useMonaco","useThemeStore","FC","useEffect","useMemo","JsonEditorProps","value","height","schema","Record","onChange","onValidate","isValid","language","readOnly","JsonEditor","t0","$","_c","t1","t2","t3","undefined","monaco","theme","_temp","editorTheme","t4","languages","typescript","javascriptDefaults","setCompilerOptions","isolatedModules","json","jsonDefaults","setDiagnosticsOptions","schemas","uri","window","location","href","fileMatch","t5","t6","value_0","t7","markers","length","t8","Symbol","for","enabled","t9","scrollBeyondLastLine","minimap","t10","state","Button","AlertCircle","Check","Loader2","Save","React","useCallback","useEffect","useMemo","useRef","useState","StateItem","JsonEditor","Props","state","StateEditor","FC","isRequestLoading","setIsRequestLoading","isValid","setIsValid","jsonValue","setJsonValue","JSON","stringify","value","hasChanges","setHasChanges","saveStatus","setSaveStatus","lastSavedValue","handleJsonChange","current","handleSave","response","fetch","method","headers","body","key","groupId","parse","ok","Error","status","setTimeout","error","console","resetChanges","statusView","Sidebar","X","React","StateItem","StateDetails","StateEditor","Props","state","onClose","StateSidebar","FC","t0","$","_c","t1","label","content","t2","t3","t4","Symbol","for","t5","icon","onClick","t6","Button","Checkbox","cn","Input","Table","TableBody","TableCell","TableHead","TableHeader","TableRow","RefreshCw","Search","Trash","X","useMemo","useState","useGetStateItems","useStatesStore","StateItem","StateSidebar","StatesPage","$","_c","selectedStateId","_temp","selectStateId","_temp2","items","deleteItems","refetch","search","setSearch","t0","t1","item","groupId","toLowerCase","includes","key","filter","filteredItems","find","item_0","selectedItem","t2","Symbol","for","Set","checkedItems","setCheckedItems","t3","item_1","handleRowClick","t4","undefined","onClose","t5","Array","from","deleteStates","t6","item_2","isChecked","has","prev","newSet","delete","add","handleCheckboxChange","t7","checked","prev_0","newSet_0","forEach","item_3","item_4","toggleSelectAll","t8","t9","e","target","value","t10","t11","t12","t13","t14","size","t15","t16","t17","t18","t19","t20","_temp3","t21","t22","t23","t24","t25","t26","item_5","_temp4","type","map","t27","t28","t29","state","state_0","evt","stopPropagation","evt_0"],"sources":["../src/hooks/states-hooks.ts","../src/stores/use-states-store.ts","../src/components/state-details.tsx","../src/components/json-editor.tsx","../src/components/state-editor.tsx","../src/components/state-sidebar.tsx","../src/components/states-page.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\nimport type { StateItem } from '../types/state'\n\ntype Output = {\n items: StateItem[]\n deleteItems: (ids: string[]) => void\n refetch: () => void\n}\n\nexport const useGetStateItems = (): Output => {\n const [items, setItems] = useState<StateItem[]>([])\n\n const refetch = useCallback(() => {\n fetch('/__motia/state')\n .then(async (res) => {\n if (res.ok) {\n return res.json()\n } else {\n throw await res.json()\n }\n })\n .then(setItems)\n .catch((err) => console.error(err))\n }, [])\n\n const deleteItems = (ids: string[]) => {\n fetch('/__motia/state/delete', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ ids }),\n }).then(() => refetch())\n }\n\n useEffect(() => {\n refetch()\n }, [refetch])\n\n return { items, deleteItems, refetch }\n}\n","import { create } from 'zustand'\n\nexport type StatesState = {\n selectedStateId?: string\n selectStateId: (stateId?: string) => void\n}\n\nexport const useStatesStore = create<StatesState>()((set) => ({\n selectedStateId: undefined,\n selectStateId: (stateId) => set({ selectedStateId: stateId }),\n}))\n","import type React from 'react'\nimport JsonView from 'react18-json-view'\nimport type { StateItem } from '../types/state'\n\ntype Props = {\n state: StateItem\n}\n\nexport const StateDetails: React.FC<Props> = ({ state }) => <JsonView src={state.value} theme=\"default\" />\n","import Editor, { useMonaco } from '@monaco-editor/react'\nimport { useThemeStore } from '@motiadev/ui'\nimport { type FC, useEffect, useMemo } from 'react'\n\ntype JsonEditorProps = {\n value: string\n height?: number | string\n schema?: Record<string, unknown>\n onChange?: (value: string) => void\n onValidate?: (isValid: boolean) => void\n language?: string\n readOnly?: boolean\n}\n\nexport const JsonEditor: FC<JsonEditorProps> = ({\n value,\n height = 300,\n schema,\n onChange,\n onValidate,\n language = 'json',\n readOnly = false,\n}) => {\n const monaco = useMonaco()\n const theme = useThemeStore((state) => state.theme)\n const editorTheme = useMemo(() => (theme === 'dark' ? 'vs-dark' : 'light'), [theme])\n\n useEffect(() => {\n if (!monaco) return\n\n monaco.languages.typescript.javascriptDefaults.setCompilerOptions({ isolatedModules: true })\n monaco.languages.json.jsonDefaults.setDiagnosticsOptions({\n schemas: schema\n ? [\n {\n uri: window.location.href,\n fileMatch: ['*'],\n schema,\n },\n ]\n : [],\n })\n }, [monaco, schema, language])\n\n return (\n <Editor\n data-testid=\"json-editor\"\n height={height}\n language={language}\n value={value}\n theme={editorTheme}\n onChange={(value) => {\n if (!value) {\n onValidate?.(false)\n }\n onChange?.(value ?? '')\n }}\n onValidate={(markers) => onValidate?.(markers.length === 0)}\n options={{\n readOnly,\n scrollBeyondLastLine: false,\n minimap: { enabled: false },\n }}\n />\n )\n}\n","import { Button } from '@motiadev/ui'\nimport { AlertCircle, Check, Loader2, Save } from 'lucide-react'\nimport type React from 'react'\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport type { StateItem } from '../types/state'\nimport { JsonEditor } from './json-editor'\n\ntype Props = {\n state: StateItem\n}\n\nexport const StateEditor: React.FC<Props> = ({ state }) => {\n const [isRequestLoading, setIsRequestLoading] = useState(false)\n const [isValid, setIsValid] = useState(true)\n const [jsonValue, setJsonValue] = useState(JSON.stringify(state.value, null, 2))\n const [hasChanges, setHasChanges] = useState(false)\n const [saveStatus, setSaveStatus] = useState<'idle' | 'success' | 'error'>('idle')\n const lastSavedValue = useRef(JSON.stringify(state.value, null, 2))\n useEffect(() => {\n setJsonValue(JSON.stringify(state.value, null, 2))\n }, [state.value])\n\n const handleJsonChange = useCallback((value: string) => {\n setHasChanges(value !== lastSavedValue.current)\n setJsonValue(value)\n setSaveStatus('idle')\n }, [])\n\n const handleSave = async () => {\n if (!isValid || !hasChanges) return\n\n try {\n setIsRequestLoading(true)\n setSaveStatus('idle')\n\n const response = await fetch('/__motia/state', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n key: state.key,\n groupId: state.groupId,\n value: JSON.parse(jsonValue),\n }),\n })\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`)\n }\n\n lastSavedValue.current = jsonValue\n setSaveStatus('success')\n setHasChanges(false)\n\n setTimeout(() => {\n setSaveStatus('idle')\n }, 3000)\n } catch (error) {\n console.error('Failed to save state:', error)\n setSaveStatus('error')\n } finally {\n setIsRequestLoading(false)\n }\n }\n\n const resetChanges = useCallback(() => {\n setJsonValue(JSON.stringify(state.value, null, 2))\n setHasChanges(false)\n setSaveStatus('idle')\n }, [state.value])\n\n const statusView = useMemo(() => {\n if (saveStatus === 'success') {\n return (\n <div className=\"bg-green-50 dark:bg-green-950/20 border border-green-200 dark:border-green-800 rounded-lg p-2\">\n <div className=\"flex items-center gap-2 text-green-700 dark:text-green-400 text-sm\">\n <Check className=\"w-4 h-4\" />\n State saved successfully!\n </div>\n </div>\n )\n }\n\n if (saveStatus === 'error') {\n return (\n <div className=\"bg-red-50 dark:bg-red-950/20 border border-red-200 dark:border-red-800 rounded-lg p-2\">\n <div className=\"flex items-center gap-2 text-red-700 dark:text-red-400 text-sm\">\n <AlertCircle className=\"w-4 h-4\" />\n Failed to save state. Please try again.\n </div>\n </div>\n )\n }\n\n return (\n <div className=\"text-xs text-muted-foreground\">\n {hasChanges ? (\n <span className=\"flex items-center gap-1\">\n <div className=\"w-2 h-2 bg-orange-500 rounded-full\"></div>\n Unsaved changes\n </span>\n ) : (\n <span className=\"flex items-center gap-1\">\n <div className=\"w-2 h-2 bg-green-500 rounded-full\"></div>\n Up to date\n </span>\n )}\n </div>\n )\n }, [saveStatus, hasChanges])\n\n return (\n <div className=\"flex flex-col gap-2 h-full\">\n <p className=\"text-xs text-muted-foreground\">Modify the state value using the JSON editor below.</p>\n <div className=\"space-y-3 pt-2 flex flex-col\">\n <div className=\"relative flex-1\">\n <JsonEditor\n value={jsonValue}\n onChange={handleJsonChange}\n onValidate={setIsValid}\n height={'calc(100vh - 300px)'}\n />\n\n {!isValid && (\n <div className=\"absolute top-2 right-2 bg-destructive/90 text-destructive-foreground px-2 py-1 rounded text-xs flex items-center gap-1\">\n <AlertCircle className=\"w-3 h-3\" />\n Invalid JSON\n </div>\n )}\n </div>\n </div>\n\n <div className=\"flex items-center justify-between pt-2\">\n {statusView}\n\n <div className=\"flex items-center gap-2\">\n {hasChanges && (\n <Button variant=\"secondary\" onClick={resetChanges} disabled={isRequestLoading}>\n Reset\n </Button>\n )}\n\n <Button\n onClick={handleSave}\n variant=\"accent\"\n disabled={isRequestLoading || !isValid || !hasChanges}\n data-testid=\"state-save-button\"\n >\n {isRequestLoading ? (\n <>\n <Loader2 className=\"w-3 h-3 animate-spin mr-1\" />\n Saving...\n </>\n ) : (\n <>\n <Save className=\"w-3 h-3 mr-1\" />\n Save Changes\n </>\n )}\n </Button>\n </div>\n </div>\n </div>\n )\n}\n","import { Sidebar } from '@motiadev/ui'\nimport { X } from 'lucide-react'\nimport type React from 'react'\nimport type { StateItem } from '../types/state'\nimport { StateDetails } from './state-details'\nimport { StateEditor } from './state-editor'\n\ntype Props = {\n state: StateItem\n onClose: () => void\n}\n\nexport const StateSidebar: React.FC<Props> = ({ state, onClose }) => {\n return (\n <Sidebar\n onClose={onClose}\n title=\"State Details\"\n initialWidth={500}\n tabs={[\n {\n label: 'Overview',\n content: <StateDetails state={state} />,\n },\n {\n label: 'Editor',\n content: <StateEditor state={state} />,\n },\n ]}\n actions={[{ icon: <X />, onClick: onClose, label: 'Close' }]}\n />\n )\n}\n","import {\n Button,\n Checkbox,\n cn,\n Input,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from '@motiadev/ui'\nimport { RefreshCw, Search, Trash, X } from 'lucide-react'\nimport { useMemo, useState } from 'react'\nimport { useGetStateItems } from '../hooks/states-hooks'\nimport { useStatesStore } from '../stores/use-states-store'\nimport type { StateItem } from '../types/state'\nimport { StateSidebar } from './state-sidebar'\n\nexport const StatesPage = () => {\n const selectedStateId = useStatesStore((state) => state.selectedStateId)\n const selectStateId = useStatesStore((state) => state.selectStateId)\n const { items, deleteItems, refetch } = useGetStateItems()\n const [search, setSearch] = useState('')\n const filteredItems = useMemo(() => {\n return items.filter((item) => {\n return (\n item.groupId.toLowerCase().includes(search.toLowerCase()) ||\n item.key.toLowerCase().includes(search.toLowerCase())\n )\n })\n }, [items, search])\n const selectedItem = useMemo(\n () => (selectedStateId ? filteredItems.find((item) => `${item.groupId}:${item.key}` === selectedStateId) : null),\n [filteredItems, selectedStateId],\n )\n\n const [checkedItems, setCheckedItems] = useState<Set<string>>(new Set())\n const handleRowClick = (item: StateItem) => selectStateId(`${item.groupId}:${item.key}`)\n const onClose = () => selectStateId(undefined)\n const deleteStates = () => {\n deleteItems(Array.from(checkedItems))\n setCheckedItems(new Set())\n }\n\n const handleCheckboxChange = (item: StateItem) => {\n const isChecked = checkedItems.has(`${item.groupId}:${item.key}`)\n\n setCheckedItems((prev) => {\n const newSet = new Set(prev)\n if (isChecked) {\n newSet.delete(`${item.groupId}:${item.key}`)\n } else {\n newSet.add(`${item.groupId}:${item.key}`)\n }\n return newSet\n })\n }\n\n const toggleSelectAll = (checked: boolean) => {\n setCheckedItems((prev) => {\n const newSet = new Set(prev)\n\n if (checked) {\n filteredItems.forEach((item) => {\n newSet.add(`${item.groupId}:${item.key}`)\n })\n } else {\n filteredItems.forEach((item) => {\n newSet.delete(`${item.groupId}:${item.key}`)\n })\n }\n return newSet\n })\n }\n\n return (\n <>\n {selectedItem && <StateSidebar state={selectedItem} onClose={onClose} />}\n <div className=\"grid grid-rows-[auto_1fr] h-full\" data-testid=\"states-container\">\n <div className=\"flex p-2 border-b gap-2\" data-testid=\"logs-search-container\">\n <div className=\"flex-1 relative\">\n <Input\n variant=\"shade\"\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n className=\"px-9! font-medium\"\n placeholder=\"Search by Group ID or Key\"\n />\n <Search className=\"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground/50\" />\n <X\n className=\"cursor-pointer absolute right-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground/50 hover:text-muted-foreground\"\n onClick={() => setSearch('')}\n />\n </div>\n <Button variant=\"default\" className=\"h-[34px]\" disabled={checkedItems.size === 0} onClick={deleteStates}>\n <Trash /> Delete\n </Button>\n <Button variant=\"default\" className=\"h-[34px]\" onClick={refetch}>\n <RefreshCw className=\"w-4 h-4 text-muted-foreground\" />\n </Button>\n </div>\n\n <Table>\n <TableHeader className=\"sticky top-0 bg-background/20 backdrop-blur-sm\">\n <TableRow>\n <TableHead>\n <Checkbox onClick={(evt) => evt.stopPropagation()} onCheckedChange={toggleSelectAll} />\n </TableHead>\n <TableHead className=\"rounded-0\">Group ID</TableHead>\n <TableHead>Key</TableHead>\n <TableHead>Type</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {filteredItems.map((item) => (\n <TableRow\n data-testid={`item-${item}`}\n key={`${item.groupId}:${item.key}`}\n onClick={() => handleRowClick(item)}\n className={cn(\n 'font-mono font-semibold cursor-pointer border-0',\n selectedItem === item\n ? 'bg-muted-foreground/10 hover:bg-muted-foreground/20'\n : 'hover:bg-muted-foreground/10',\n )}\n >\n <TableCell onClick={(evt) => evt.stopPropagation()}>\n <Checkbox\n checked={checkedItems.has(`${item.groupId}:${item.key}`)}\n onClick={() => handleCheckboxChange(item)}\n />\n </TableCell>\n <TableCell className=\"hover:bg-transparent\">{item.groupId}</TableCell>\n <TableCell className=\"hover:bg-transparent\">{item.key}</TableCell>\n <TableCell className=\"hover:bg-transparent\">{item.type}</TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </div>\n </>\n )\n}\n"],"mappings":";;;;;;;;;;AASA,MAAaS,yBAAmB;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAC;AAAA,KAAAF,EAAA,OAAAG,OAAAC,IAAA,4BAAA,EAAA;AACkBF,OAAA,EAAE;AAAAF,IAAA,KAAAE;OAAAA,MAAAF,EAAA;CAAlD,MAAA,CAAAL,OAAAU,YAA0Bb,SAAsBU,GAAG;CAAA,IAAAI;AAAA,KAAAN,EAAA,OAAAG,OAAAC,IAAA,4BAAA,EAAA;AAEvBE,aAAA;AAC1BC,SAAM,iBAAiB,CAAAC,KACfC,QAMJ,CAAAD,KACIH,SAAS,CAAAK,MACRC,SAA4B;;AACtCX,IAAA,KAAAM;OAAAA,MAAAN,EAAA;CAXD,MAAAF,UAAgBQ;CAWV,IAAAM;AAAA,KAAAZ,EAAA,OAAAG,OAAAC,IAAA,4BAAA,EAAA;AAEcQ,QAAAf,QAAA;AAClBU,SAAM,yBAAyB;IAAAM,QACrB;IAAMC,SACL,EAAA,gBAAkB,oBAAoB;IAAAC,MACzCC,KAAIC,UAAW,EAAApB,KAAO,CAAA;IAC7B,CAAC,CAAAW,WAAYV,SAAS,CAAC;;AACzBE,IAAA,KAAAY;OAAAA,MAAAZ,EAAA;CAND,MAAAJ,cAAoBgB;CAMnB,IAAAM;CAAA,IAAAC;AAAA,KAAAnB,EAAA,OAAAG,OAAAC,IAAA,4BAAA,EAAA;AAESc,aAAA;AACRpB,YAAS;;AACRqB,OAAA,CAACrB,QAAQ;AAAAE,IAAA,KAAAkB;AAAAlB,IAAA,KAAAmB;QAAA;AAAAD,OAAAlB,EAAA;AAAAmB,OAAAnB,EAAA;;AAFZT,WAAU2B,IAEPC,GAAU;CAAA,IAAAC;AAAA,KAAApB,EAAA,OAAAL,OAAA;AAENyB,OAAA;GAAAzB;GAAAC;GAAAE;GAA+B;AAAAE,IAAA,KAAAL;AAAAK,IAAA,KAAAoB;OAAAA,MAAApB,EAAA;AAAA,QAA/BoB;;AA5BuB,eAAAX,QAAAY,KAAA;AAMxB,KAAIA,IAAGC,GAAG,QACDD,IAAGE,MAAO;KAEjB,OAAM,MAAMF,IAAGE,MAAO;;AATA,SAAAZ,SAAAa,KAAA;AAAA,QAaVC,QAAOC,MAAOF,IAAI;;;;;ACfxC,MAAaQ,iBAAiBL,QAAqB,EAAEM,SAAS;CAC5DJ,iBAAiBK;CACjBJ,gBAAgBC,YAAYE,IAAI,EAAEJ,iBAAiBE,SAAS,CAAA;CAC7D,EAAE;;;;ACFH,MAAaS,gBAAgCE,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAL,UAAAG;CAAS,IAAAG;AAAA,KAAAF,EAAA,OAAAJ,MAAAO,OAAA;AAAKD,OAAA,oBAAC;GAAc,KAAAN,MAAKO;GAAc,OAAA;IAAY;AAAAH,IAAA,KAAAJ,MAAAO;AAAAH,IAAA,KAAAE;OAAAA,MAAAF,EAAA;AAAA,QAA9CE;;;;;ACM5D,MAAakB,cAAkCC,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAC,MAAA,EAAAZ,OAAAC,QAAAY,IAAAX,QAAAE,UAAAC,YAAAE,UAAAO,IAAAN,UAAAO,OAAAL;CAE9C,MAAAT,SAAAY,OAAAG,SAAA,MAAAH;CAIA,MAAAN,WAAAO,OAAAE,SAAA,SAAAF;CACA,MAAAN,WAAAO,OAAAC,SAAA,QAAAD;CAEA,MAAAE,SAAevB,WAAW;CAE1B,MAAA0B,cADczB,cAAcwB,QAAuB,KACN,SAAV,YAAA;CAAiD,IAAAE;AAAA,KAAAV,EAAA,OAAAM,UAAAN,EAAA,OAAAT,QAAA;AAE1EmB,aAAA;AACR,OAAI,CAACJ,OAAM;AAEXA,UAAMK,UAAUC,WAAWC,mBAAmBC,mBAAoB,EAAAC,iBAAmB,MAAM,CAAC;AAC5FT,UAAMK,UAAUK,KAAKC,aAAaC,sBAAuB,EAAAC,SAC9C5B,SAAA,CAEH;IAAA6B,KACOC,OAAMC,SAASC;IAAKC,WACd,CAAC,IAAI;IAAAjC;IAEjB,CAED,GARG,EAAA,EASV,CAAC;;AACHS,IAAA,KAAAM;AAAAN,IAAA,KAAAT;AAAAS,IAAA,KAAAU;OAAAA,MAAAV,EAAA;CAAA,IAAAyB;AAAA,KAAAzB,EAAA,OAAAJ,YAAAI,EAAA,OAAAM,UAAAN,EAAA,OAAAT,QAAA;AAAEkC,OAAA;GAACnB;GAAQf;GAAQK;GAAS;AAAAI,IAAA,KAAAJ;AAAAI,IAAA,KAAAM;AAAAN,IAAA,KAAAT;AAAAS,IAAA,KAAAyB;OAAAA,MAAAzB,EAAA;AAf7Bd,WAAUwB,IAePe,GAA2B;CAAA,IAAAC;AAAA,KAAA1B,EAAA,OAAAP,YAAAO,EAAA,OAAAN,YAAA;AAShBgC,QAAAC,YAAA;AACR,OAAI,CAACtC,QACHK,cAAa,MAAM;AAErBD,cAAWkC,WAAA,GAAY;;AACxB3B,IAAA,KAAAP;AAAAO,IAAA,KAAAN;AAAAM,IAAA,KAAA0B;OAAAA,MAAA1B,EAAA;CAAA,IAAA4B;AAAA,KAAA5B,EAAA,QAAAN,YAAA;AACWkC,QAAAC,YAAanC,aAAamC,QAAOC,WAAY,EAAE;AAAA9B,IAAA,MAAAN;AAAAM,IAAA,MAAA4B;OAAAA,MAAA5B,EAAA;CAAA,IAAA+B;AAAA,KAAA/B,EAAA,QAAAgC,OAAAC,IAAA,4BAAA,EAAA;AAIhDF,OAAA,EAAAG,SAAW,OAAO;AAAAlC,IAAA,MAAA+B;OAAAA,MAAA/B,EAAA;CAAA,IAAAmC;AAAA,KAAAnC,EAAA,QAAAH,UAAA;AAHpBsC,OAAA;GAAAtC;GAAAuC,sBAEe;GAAKC,SAClBN;GACV;AAAA/B,IAAA,MAAAH;AAAAG,IAAA,MAAAmC;OAAAA,MAAAnC,EAAA;CAAA,IAAAsC;AAAA,KAAAtC,EAAA,QAAAS,eAAAT,EAAA,QAAAV,UAAAU,EAAA,QAAAJ,YAAAI,EAAA,QAAA0B,MAAA1B,EAAA,QAAA4B,MAAA5B,EAAA,QAAAmC,MAAAnC,EAAA,QAAAX,OAAA;AAjBHiD,QAAA,oBAAC;GACa,eAAA;GACJhD;GACEM;GACHP;GACAoB,OAAAA;GACG,UAAAiB;GAME,YAAAE;GACH,SAAAO;IAKT;AAAAnC,IAAA,MAAAS;AAAAT,IAAA,MAAAV;AAAAU,IAAA,MAAAJ;AAAAI,IAAA,MAAA0B;AAAA1B,IAAA,MAAA4B;AAAA5B,IAAA,MAAAmC;AAAAnC,IAAA,MAAAX;AAAAW,IAAA,MAAAsC;OAAAA,OAAAtC,EAAA;AAAA,QAlBFsC;;AA/B2C,SAAA9B,QAAA+B,OAAA;AAAA,QAUNA,MAAKhC;;;;;ACb9C,MAAagD,eAAgC,EAAED,YAAY;CACzD,MAAM,CAACG,kBAAkBC,uBAAuBR,SAAS,MAAM;CAC/D,MAAM,CAACS,SAASC,cAAcV,SAAS,KAAK;CAC5C,MAAM,CAACW,WAAWC,gBAAgBZ,SAASa,KAAKC,UAAUV,MAAMW,OAAO,MAAM,EAAE,CAAC;CAChF,MAAM,CAACC,YAAYC,iBAAiBjB,SAAS,MAAM;CACnD,MAAM,CAACkB,YAAYC,iBAAiBnB,SAAuC,OAAO;CAClF,MAAMoB,iBAAiBrB,OAAOc,KAAKC,UAAUV,MAAMW,OAAO,MAAM,EAAE,CAAC;AACnElB,iBAAgB;AACde,eAAaC,KAAKC,UAAUV,MAAMW,OAAO,MAAM,EAAE,CAAC;IACjD,CAACX,MAAMW,MAAM,CAAC;CAEjB,MAAMM,mBAAmBzB,aAAamB,UAAkB;AACtDE,gBAAcF,UAAUK,eAAeE,QAAQ;AAC/CV,eAAaG,MAAM;AACnBI,gBAAc,OAAO;IACpB,EAAE,CAAC;CAEN,MAAMI,aAAa,YAAY;AAC7B,MAAI,CAACd,WAAW,CAACO,WAAY;AAE7B,MAAI;AACFR,uBAAoB,KAAK;AACzBW,iBAAc,OAAO;GAErB,MAAMK,WAAW,MAAMC,MAAM,kBAAkB;IAC7CC,QAAQ;IACRC,SAAS,EACP,gBAAgB,oBACjB;IACDC,MAAMf,KAAKC,UAAU;KACnBe,KAAKzB,MAAMyB;KACXC,SAAS1B,MAAM0B;KACff,OAAOF,KAAKkB,MAAMpB,UAAS;KAC5B,CAAA;IACF,CAAC;AAEF,OAAI,CAACa,SAASQ,GACZ,OAAM,IAAIC,MAAM,uBAAuBT,SAASU,SAAS;AAG3Dd,kBAAeE,UAAUX;AACzBQ,iBAAc,UAAU;AACxBF,iBAAc,MAAM;AAEpBkB,oBAAiB;AACfhB,kBAAc,OAAO;MACpB,IAAK;WACDiB,OAAO;AACdC,WAAQD,MAAM,yBAAyBA,MAAM;AAC7CjB,iBAAc,QAAQ;YACd;AACRX,uBAAoB,MAAM;;;CAI9B,MAAM8B,eAAe1C,kBAAkB;AACrCgB,eAAaC,KAAKC,UAAUV,MAAMW,OAAO,MAAM,EAAE,CAAC;AAClDE,gBAAc,MAAM;AACpBE,gBAAc,OAAO;IACpB,CAACf,MAAMW,MAAM,CAAC;CAEjB,MAAMwB,aAAazC,cAAc;AAC/B,MAAIoB,eAAe,UACjB,QACE,oBAAC;GAAI,WAAU;aACb,qBAAC;IAAI,WAAU;eACb,oBAAC,SAAM,WAAU,YAAS;KAEvB;IACD;AAIV,MAAIA,eAAe,QACjB,QACE,oBAAC;GAAI,WAAU;aACb,qBAAC;IAAI,WAAU;eACb,oBAAC,eAAY,WAAU,YAAS;KAE7B;IACD;AAIV,SACE,oBAAC;GAAI,WAAU;aACZF,aACC,qBAAC;IAAK,WAAU;eACd,oBAAC,SAAI,WAAU,uCAA0C;KAEpD,GAEP,qBAAC;IAAK,WAAU;eACd,oBAAC,SAAI,WAAU,sCAAyC;KAG3D;IACG;IAEP,CAACE,YAAYF,WAAW,CAAC;AAE5B,QACE,qBAAC;EAAI,WAAU;;GACb,oBAAC;IAAE,WAAU;cAAgC;KAAsD;GACnG,oBAAC;IAAI,WAAU;cACb,qBAAC;KAAI,WAAU;gBACb,oBAAC;MACC,OAAOL;MACP,UAAUU;MACV,YAAYX;MACZ,QAAQ;OAAsB,EAG/B,CAACD,WACA,qBAAC;MAAI,WAAU;iBACb,oBAAC,eAAY,WAAU,YAAS;OAGnC;MACE;KACF;GAEL,qBAAC;IAAI,WAAU;eACZ8B,YAED,qBAAC;KAAI,WAAU;gBACZvB,cACC,oBAAC;MAAO,SAAQ;MAAY,SAASsB;MAAc,UAAU/B;gBAAiB;OAG/E,EAED,oBAAC;MACC,SAASgB;MACT,SAAQ;MACR,UAAUhB,oBAAoB,CAACE,WAAW,CAACO;MAC3C,eAAY;gBAEXT,mBACC,4CACE,oBAAC,WAAQ,WAAU,8BAA2B,iBAE7C,GAEH,4CACE,oBAAC,QAAK,WAAU,iBAAc,oBAGjC;OACK;MACL;KACF;;GACD;;;;;ACvJV,MAAa0C,gBAAgCE,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAC,MAAA,EAAAN,OAAAC,YAAAG;CAAkB,IAAAG;AAAA,KAAAF,EAAA,OAAAL,OAAA;AAOxDO,OAAA;GAAAC,OACS;GAAUC,SACR,oBAAC,gBAAoBT,QAAK;GACpC;AAAAK,IAAA,KAAAL;AAAAK,IAAA,KAAAE;OAAAA,MAAAF,EAAA;CAAA,IAAAK;AAAA,KAAAL,EAAA,OAAAL,OAAA;AACDU,OAAA;GAAAF,OACS;GAAQC,SACN,oBAAC,eAAmBT,QAAK;GACnC;AAAAK,IAAA,KAAAL;AAAAK,IAAA,KAAAK;OAAAA,MAAAL,EAAA;CAAA,IAAAM;AAAA,KAAAN,EAAA,OAAAE,MAAAF,EAAA,OAAAK,IAAA;AARGC,OAAA,CACJJ,IAIAG,GAID;AAAAL,IAAA,KAAAE;AAAAF,IAAA,KAAAK;AAAAL,IAAA,KAAAM;OAAAA,MAAAN,EAAA;CAAA,IAAAO;AAAA,KAAAP,EAAA,OAAAQ,OAAAC,IAAA,4BAAA,EAAA;AACiBF,OAAA,oBAAC,MAAI;AAAAP,IAAA,KAAAO;OAAAA,MAAAP,EAAA;CAAA,IAAAU;AAAA,KAAAV,EAAA,OAAAJ,SAAA;AAAdc,OAAA,CAAC;GAAAC,MAAQJ;GAAKK,SAAWhB;GAAOO,OAAS;GAAS,CAAC;AAAAH,IAAA,KAAAJ;AAAAI,IAAA,KAAAU;OAAAA,MAAAV,EAAA;CAAA,IAAAa;AAAA,KAAAb,EAAA,QAAAJ,WAAAI,EAAA,QAAAM,MAAAN,EAAA,QAAAU,IAAA;AAd9DG,OAAA,oBAAC;GACUjB;GACH,OAAA;GACQ,cAAA;GACR,MAAAU;GAUG,SAAAI;IACT;AAAAV,IAAA,MAAAJ;AAAAI,IAAA,MAAAM;AAAAN,IAAA,MAAAU;AAAAV,IAAA,MAAAa;OAAAA,MAAAb,EAAA;AAAA,QAfFa;;;;;ACKJ,MAAaqB,mBAAa;CAAA,MAAAC,IAAAC,EAAA,GAAA;CACxB,MAAAC,kBAAwBN,eAAeO,MAAiC;CACxE,MAAAC,gBAAsBR,eAAeS,OAA+B;CACpE,MAAA,EAAAC,OAAAC,aAAAC,YAAwCb,kBAAkB;CAC1D,MAAA,CAAAc,QAAAC,aAA4BhB,SAAS,GAAG;CAAA,IAAAiB;AAAA,KAAAX,EAAA,OAAAM,SAAAN,EAAA,OAAAS,QAAA;EAAA,IAAAG;AAAA,MAAAZ,EAAA,OAAAS,QAAA;AAElBG,WAAAC,SAEhBA,KAAIC,QAAQC,aAAc,CAAAC,SAAUP,OAAMM,aACU,CAAC,IAArDF,KAAII,IAAIF,aAAc,CAAAC,SAAUP,OAAMM,aAAc,CAEvD;AAAAf,KAAA,KAAAS;AAAAT,KAAA,KAAAY;QAAAA,QAAAZ,EAAA;AALMW,OAAAL,MAAKY,OAAQN,KAKlB;AAAAZ,IAAA,KAAAM;AAAAN,IAAA,KAAAS;AAAAT,IAAA,KAAAW;OAAAA,MAAAX,EAAA;CANJ,MAAAmB,gBACER;CAMiB,IAAAC;AAAA,KAAAZ,EAAA,OAAAmB,iBAAAnB,EAAA,OAAAE,iBAAA;AAEVU,OAAAV,kBAAkBiB,cAAaC,MAAMC,WAAU,GAAGR,OAAIC,QAAQ,GAAID,OAAII,UAAWf,gBAAuB,GAAxG;AAAwGF,IAAA,KAAAmB;AAAAnB,IAAA,KAAAE;AAAAF,IAAA,KAAAY;OAAAA,MAAAZ,EAAA;CADjH,MAAAsB,eACSV;CAER,IAAAW;AAAA,KAAAvB,EAAA,OAAAwB,OAAAC,IAAA,4BAAA,EAAA;AAE6DF,uBAAA,IAAIG,KAAK;AAAA1B,IAAA,KAAAuB;OAAAA,MAAAvB,EAAA;CAAvE,MAAA,CAAA2B,cAAAC,mBAAwClC,SAAsB6B,GAAU;CAAA,IAAAM;AAAA,KAAA7B,EAAA,OAAAI,eAAA;AACjDyB,QAAAC,WAAqB1B,cAAc,GAAGS,OAAIC,QAAQ,GAAID,OAAII,MAAO;AAAAjB,IAAA,KAAAI;AAAAJ,IAAA,MAAA6B;OAAAA,MAAA7B,EAAA;CAAxF,MAAA+B,iBAAuBF;CAAiE,IAAAG;AAAA,KAAAhC,EAAA,QAAAI,eAAA;AACxE4B,aAAM5B,cAAc6B,OAAU;AAAAjC,IAAA,MAAAI;AAAAJ,IAAA,MAAAgC;OAAAA,MAAAhC,EAAA;CAA9C,MAAAkC,UAAgBF;CAA8B,IAAAG;AAAA,KAAAnC,EAAA,QAAA2B,gBAAA3B,EAAA,QAAAO,aAAA;AACzB4B,aAAA;AACnB5B,eAAY6B,MAAKC,KAAMV,aAAa,CAAC;AACrCC,mCAAgB,IAAIF,KAAK,CAAC;;AAC3B1B,IAAA,MAAA2B;AAAA3B,IAAA,MAAAO;AAAAP,IAAA,MAAAmC;OAAAA,MAAAnC,EAAA;CAHD,MAAAsC,eAAqBH;CAGpB,IAAAI;AAAA,KAAAvC,EAAA,QAAA2B,cAAA;AAE4BY,QAAAC,WAAA;GAC3B,MAAAC,YAAkBd,aAAYe,IAAK,GAAG7B,OAAIC,QAAQ,GAAID,OAAII,MAAO;AAEjEW,oBAAgBe,SAAA;IACd,MAAAC,SAAe,IAAIlB,IAAIiB,KAAK;AAC5B,QAAIF,UACFG,QAAMC,OAAQ,GAAGhC,OAAIC,QAAQ,GAAID,OAAII,MAAO;QAE5C2B,QAAME,IAAK,GAAGjC,OAAIC,QAAQ,GAAID,OAAII,MAAO;AAC1C,WACM2B;KACP;;AACH5C,IAAA,MAAA2B;AAAA3B,IAAA,MAAAuC;OAAAA,MAAAvC,EAAA;CAZD,MAAA+C,uBAA6BR;CAY5B,IAAAS;AAAA,KAAAhD,EAAA,QAAAmB,eAAA;AAEuB6B,QAAAC,YAAA;AACtBrB,oBAAgBsB,WAAA;IACd,MAAAC,WAAe,IAAIzB,IAAIiB,OAAK;AAE5B,QAAIM,QACF9B,eAAaiC,SAASC,WAAA;AACpBT,cAAME,IAAK,GAAGjC,OAAIC,QAAQ,GAAID,OAAII,MAAO;MACzC;QAEFE,eAAaiC,SAASE,WAAA;AACpBV,cAAMC,OAAQ,GAAGhC,OAAIC,QAAQ,GAAID,OAAII,MAAO;MAC5C;AACH,WACM2B;KACP;;AACH5C,IAAA,MAAAmB;AAAAnB,IAAA,MAAAgD;OAAAA,MAAAhD,EAAA;CAfD,MAAAuD,kBAAwBP;CAevB,IAAAQ;AAAA,KAAAxD,EAAA,QAAAkC,WAAAlC,EAAA,QAAAsB,cAAA;AAIIkC,OAAAlC,gBAAgB,oBAAC;GAAoBA,OAAAA;GAAuBY;IAAW;AAAAlC,IAAA,MAAAkC;AAAAlC,IAAA,MAAAsB;AAAAtB,IAAA,MAAAwD;OAAAA,MAAAxD,EAAA;CAAA,IAAAyD;AAAA,KAAAzD,EAAA,QAAAwB,OAAAC,IAAA,4BAAA,EAAA;AAOtDgC,QAAAC,MAAOhD,UAAUgD,EAACC,OAAOC,MAAO;AAAA5D,IAAA,MAAAyD;OAAAA,MAAAzD,EAAA;CAAA,IAAA6D;AAAA,KAAA7D,EAAA,QAAAS,QAAA;AAH5CoD,QAAA,oBAAC;GACS,SAAA;GACDpD,OAAAA;GACG,UAAAgD;GACA,WAAA;GACE,aAAA;IACZ;AAAAzD,IAAA,MAAAS;AAAAT,IAAA,MAAA6D;OAAAA,OAAA7D,EAAA;CAAA,IAAA8D;AAAA,KAAA9D,EAAA,QAAAwB,OAAAC,IAAA,4BAAA,EAAA;AACFqC,QAAA,oBAAC,UAAiB,WAAA,8EAA8E;AAAA9D,IAAA,MAAA8D;OAAAA,OAAA9D,EAAA;CAAA,IAAA+D;AAAA,KAAA/D,EAAA,QAAAwB,OAAAC,IAAA,4BAAA,EAAA;AAChGsC,QAAA,oBAAC;GACW,WAAA;GACD,eAAMrD,UAAU,GAAE;IAC3B;AAAAV,IAAA,MAAA+D;OAAAA,OAAA/D,EAAA;CAAA,IAAAgE;AAAA,KAAAhE,EAAA,QAAA6D,KAAA;AAZJG,QAAA,qBAAA;GAAe,WAAA;;IACbH;IAOAC;IACAC;;IAII;AAAA/D,IAAA,MAAA6D;AAAA7D,IAAA,MAAAgE;OAAAA,OAAAhE,EAAA;CACmD,MAAAiE,MAAAtC,aAAYuC,SAAU;CAAC,IAAAC;AAAA,KAAAnE,EAAA,QAAAwB,OAAAC,IAAA,4BAAA,EAAA;AAC9E0C,QAAA,oBAAC,UAAQ;AAAAnE,IAAA,MAAAmE;OAAAA,OAAAnE,EAAA;CAAA,IAAAoE;AAAA,KAAApE,EAAA,QAAAsC,gBAAAtC,EAAA,QAAAiE,KAAA;AADXG,QAAA,qBAAC;GAAe,SAAA;GAAoB,WAAA;GAAqB,UAAAH;GAAkC3B,SAAAA;cACzF6B,KAAS;IACF;AAAAnE,IAAA,MAAAsC;AAAAtC,IAAA,MAAAiE;AAAAjE,IAAA,MAAAoE;OAAAA,OAAApE,EAAA;CAAA,IAAAqE;AAAA,KAAArE,EAAA,QAAAwB,OAAAC,IAAA,4BAAA,EAAA;AAEP4C,QAAA,oBAAC,aAAoB,WAAA,kCAAkC;AAAArE,IAAA,MAAAqE;OAAAA,OAAArE,EAAA;CAAA,IAAAsE;AAAA,KAAAtE,EAAA,QAAAQ,SAAA;AADzD8D,QAAA,oBAAC;GAAe,SAAA;GAAoB,WAAA;GAAoB9D,SAAAA;aACtD6D;IACO;AAAArE,IAAA,MAAAQ;AAAAR,IAAA,MAAAsE;OAAAA,OAAAtE,EAAA;CAAA,IAAAuE;AAAA,KAAAvE,EAAA,QAAAgE,OAAAhE,EAAA,QAAAoE,OAAApE,EAAA,QAAAsE,KAAA;AApBXC,QAAA,qBAAA;GAAe,WAAA;GAAsC,eAAA;;IACnDP;IAcAI;IAGAE;;IAGI;AAAAtE,IAAA,MAAAgE;AAAAhE,IAAA,MAAAoE;AAAApE,IAAA,MAAAsE;AAAAtE,IAAA,MAAAuE;OAAAA,OAAAvE,EAAA;CAAA,IAAAwE;AAAA,KAAAxE,EAAA,QAAAuD,iBAAA;AAKAiB,QAAA,oBAAC,uBACC,oBAAC;GAAkB,SAAAC;GAAiDlB,iBAAAA;IACtE,GAAY;AAAAvD,IAAA,MAAAuD;AAAAvD,IAAA,MAAAwE;OAAAA,OAAAxE,EAAA;CAAA,IAAA0E;CAAA,IAAAC;CAAA,IAAAC;AAAA,KAAA5E,EAAA,QAAAwB,OAAAC,IAAA,4BAAA,EAAA;AACZiD,QAAA,oBAAC;GAAoB,WAAA;aAAY;IAAoB;AACrDC,QAAA,oBAAC,uBAAU,QAAe;AAC1BC,QAAA,oBAAC,uBAAU,SAAgB;AAAA5E,IAAA,MAAA0E;AAAA1E,IAAA,MAAA2E;AAAA3E,IAAA,MAAA4E;QAAA;AAAAF,QAAA1E,EAAA;AAAA2E,QAAA3E,EAAA;AAAA4E,QAAA5E,EAAA;;CAAA,IAAA6E;AAAA,KAAA7E,EAAA,QAAAwE,KAAA;AAP/BK,QAAA,oBAAC;GAAsB,WAAA;aACrB,qBAAC;IACCL;IAGAE;IACAC;IACAC;OAEJ;IAAc;AAAA5E,IAAA,MAAAwE;AAAAxE,IAAA,MAAA6E;OAAAA,OAAA7E,EAAA;CAAA,IAAA8E;AAAA,KAAA9E,EAAA,QAAA2B,gBAAA3B,EAAA,QAAAmB,iBAAAnB,EAAA,QAAA+C,wBAAA/C,EAAA,QAAA+B,kBAAA/B,EAAA,QAAAsB,cAAA;EAAA,IAAAyD;AAAA,MAAA/E,EAAA,QAAA2B,gBAAA3B,EAAA,QAAA+C,wBAAA/C,EAAA,QAAA+B,kBAAA/B,EAAA,QAAAsB,cAAA;AAEOyD,YAAAC,WACjB,qBAAC;IACc,eAAA,QAAQnE;IAEZ,eAAMkB,eAAelB,OAAI;IACvB,WAAAhC,GACT,mDACAyC,iBAAiBT,SAAjB,wDAAA,+BAGF;;KAEA,oBAAC;MAAmB,SAAAoE;gBAClB,oBAAC;OACU,SAAAtD,aAAYe,IAAK,GAAG7B,OAAIC,QAAQ,GAAID,OAAII,MAAM;OAC9C,eAAM8B,qBAAqBlC,OAAI;QAE5C;OACA;yBAAC;MAAoB,WAAA;gBAAwBA,OAAIC;OACjD;yBAAC;MAAoB,WAAA;gBAAwBD,OAAII;OACjD;yBAAC;MAAoB,WAAA;gBAAwBJ,OAAIqE;OACnD;;MAlBO,GAAGrE,OAAIC,QAAQ,GAAID,OAAII,MAmB/B;AAAAjB,KAAA,MAAA2B;AAAA3B,KAAA,MAAA+C;AAAA/C,KAAA,MAAA+B;AAAA/B,KAAA,MAAAsB;AAAAtB,KAAA,MAAA+E;QAAAA,SAAA/E,EAAA;AAtBA8E,QAAA3D,cAAagE,IAAKJ,MAsBjB;AAAA/E,IAAA,MAAA2B;AAAA3B,IAAA,MAAAmB;AAAAnB,IAAA,MAAA+C;AAAA/C,IAAA,MAAA+B;AAAA/B,IAAA,MAAAsB;AAAAtB,IAAA,MAAA8E;OAAAA,OAAA9E,EAAA;CAAA,IAAA+E;AAAA,KAAA/E,EAAA,QAAA8E,KAAA;AAvBJC,QAAA,oBAAC,uBACED,MAuBS;AAAA9E,IAAA,MAAA8E;AAAA9E,IAAA,MAAA+E;OAAAA,OAAA/E,EAAA;CAAA,IAAAoF;AAAA,KAAApF,EAAA,QAAA6E,OAAA7E,EAAA,QAAA+E,KAAA;AAnCdK,QAAA,qBAAC,oBACCP,KAUAE,OAyBM;AAAA/E,IAAA,MAAA6E;AAAA7E,IAAA,MAAA+E;AAAA/E,IAAA,MAAAoF;OAAAA,OAAApF,EAAA;CAAA,IAAAqF;AAAA,KAAArF,EAAA,QAAAuE,OAAAvE,EAAA,QAAAoF,KAAA;AA5DVC,QAAA,qBAAA;GAAe,WAAA;GAA+C,eAAA;cAC5Dd,KAuBAa;IAqCI;AAAApF,IAAA,MAAAuE;AAAAvE,IAAA,MAAAoF;AAAApF,IAAA,MAAAqF;OAAAA,OAAArF,EAAA;CAAA,IAAAsF;AAAA,KAAAtF,EAAA,QAAAqF,OAAArF,EAAA,QAAAwD,IAAA;AA/DR8B,QAAA,4CACG9B,IACD6B,OA8DC;AAAArF,IAAA,MAAAqF;AAAArF,IAAA,MAAAwD;AAAAxD,IAAA,MAAAsF;OAAAA,OAAAtF,EAAA;AAAA,QAhEHsF;;AA1DsB,SAAAnF,MAAAoF,OAAA;AAAA,QAC0BA,MAAKrF;;AAD/B,SAAAG,OAAAmF,SAAA;AAAA,QAEwBD,QAAKnF;;AAF7B,SAAAqE,OAAAgB,KAAA;AAAA,QAwFkBA,IAAGC,iBAAkB;;AAxFvC,SAAAT,OAAAU,OAAA;AAAA,QA4GmBF,MAAGC,iBAAkB"}
package/dist/plugin.d.ts CHANGED
@@ -1,3 +1,7 @@
1
- import { MotiaPlugin, MotiaPluginContext } from '@motiadev/core';
2
- export default function plugin(motia: MotiaPluginContext): MotiaPlugin;
1
+ import { MotiaPlugin, MotiaPluginContext } from "@motiadev/core";
2
+
3
+ //#region src/plugin.d.ts
4
+ declare function plugin(motia: MotiaPluginContext): MotiaPlugin;
5
+ //#endregion
6
+ export { plugin as default };
3
7
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAGrE,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,WAAW,CAerE"}
1
+ {"version":3,"file":"plugin.d.ts","names":[],"sources":["../src/plugin.ts"],"sourcesContent":[],"mappings":";;;iBAGwB,MAAA,QAAc,qBAAqB"}
package/dist/plugin.js CHANGED
@@ -1,80 +1,85 @@
1
- const i = (s) => {
2
- s.registerApi(
3
- {
4
- method: "GET",
5
- path: "/__motia/state"
6
- },
7
- async (r) => {
8
- try {
9
- const e = r.queryParams.groupId, t = r.queryParams.filter ? JSON.parse(r.queryParams.filter) : void 0;
10
- return {
11
- status: 200,
12
- body: await s.state.items({ groupId: e, filter: t })
13
- };
14
- } catch (e) {
15
- return {
16
- status: 500,
17
- body: { error: e instanceof Error ? e.message : "Unknown error" }
18
- };
19
- }
20
- }
21
- ), s.registerApi(
22
- {
23
- method: "POST",
24
- path: "/__motia/state"
25
- },
26
- async (r, e) => {
27
- try {
28
- const { key: t, groupId: a, value: o } = r.body;
29
- return await e.state.set(a, t, o), {
30
- status: 200,
31
- body: { key: t, groupId: a, value: o }
32
- };
33
- } catch (t) {
34
- return {
35
- status: 500,
36
- body: { error: t instanceof Error ? t.message : "Unknown error" }
37
- };
38
- }
39
- }
40
- ), s.registerApi(
41
- {
42
- method: "POST",
43
- path: "/__motia/state/delete"
44
- },
45
- async (r, e) => {
46
- try {
47
- for (const t of r.body.ids) {
48
- const [a, ...o] = t.split(":"), n = o.join(":");
49
- await e.state.delete(a, n);
50
- }
51
- return {
52
- status: 204,
53
- body: ""
54
- };
55
- } catch (t) {
56
- return {
57
- status: 500,
58
- body: { error: t instanceof Error ? t.message : "Unknown error" }
59
- };
60
- }
61
- }
62
- );
1
+ //#region src/api.ts
2
+ const api = (motia) => {
3
+ motia.registerApi({
4
+ method: "GET",
5
+ path: "/__motia/state"
6
+ }, async (req) => {
7
+ try {
8
+ const groupId = req.queryParams.groupId;
9
+ const filter = req.queryParams.filter ? JSON.parse(req.queryParams.filter) : void 0;
10
+ return {
11
+ status: 200,
12
+ body: await motia.state.items({
13
+ groupId,
14
+ filter
15
+ })
16
+ };
17
+ } catch (error) {
18
+ return {
19
+ status: 500,
20
+ body: { error: error instanceof Error ? error.message : "Unknown error" }
21
+ };
22
+ }
23
+ });
24
+ motia.registerApi({
25
+ method: "POST",
26
+ path: "/__motia/state"
27
+ }, async (req, ctx) => {
28
+ try {
29
+ const { key, groupId, value } = req.body;
30
+ await ctx.state.set(groupId, key, value);
31
+ return {
32
+ status: 200,
33
+ body: {
34
+ key,
35
+ groupId,
36
+ value
37
+ }
38
+ };
39
+ } catch (error) {
40
+ return {
41
+ status: 500,
42
+ body: { error: error instanceof Error ? error.message : "Unknown error" }
43
+ };
44
+ }
45
+ });
46
+ motia.registerApi({
47
+ method: "POST",
48
+ path: "/__motia/state/delete"
49
+ }, async (req, ctx) => {
50
+ try {
51
+ for (const id of req.body.ids) {
52
+ const [groupId, ...keyParts] = id.split(":");
53
+ const key = keyParts.join(":");
54
+ await ctx.state.delete(groupId, key);
55
+ }
56
+ return {
57
+ status: 204,
58
+ body: ""
59
+ };
60
+ } catch (error) {
61
+ return {
62
+ status: 500,
63
+ body: { error: error instanceof Error ? error.message : "Unknown error" }
64
+ };
65
+ }
66
+ });
63
67
  };
64
- function c(s) {
65
- return i(s), {
66
- workbench: [
67
- {
68
- packageName: "@motiadev/plugin-states",
69
- cssImports: ["@motiadev/plugin-states/dist/plugin-states.css"],
70
- label: "States",
71
- position: "bottom",
72
- componentName: "StatesPage",
73
- labelIcon: "file"
74
- }
75
- ]
76
- };
68
+
69
+ //#endregion
70
+ //#region src/plugin.ts
71
+ function plugin(motia) {
72
+ api(motia);
73
+ return { workbench: [{
74
+ packageName: "@motiadev/plugin-states",
75
+ cssImports: ["@motiadev/plugin-states/dist/index.css"],
76
+ label: "States",
77
+ position: "bottom",
78
+ componentName: "StatesPage",
79
+ labelIcon: "file"
80
+ }] };
77
81
  }
78
- export {
79
- c as default
80
- };
82
+
83
+ //#endregion
84
+ export { plugin as default };
85
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","names":["ApiRequest","ApiResponse","FlowContext","MotiaPluginContext","api","motia","registerApi","method","path","req","Promise","groupId","queryParams","filter","JSON","parse","undefined","items","state","status","body","Record","error","Error","message","ctx","key","value","set","id","ids","keyParts","split","join","delete","MotiaPlugin","MotiaPluginContext","api","plugin","motia","workbench","packageName","cssImports","label","position","componentName","labelIcon"],"sources":["../src/api.ts","../src/plugin.ts"],"sourcesContent":["import type { ApiRequest, ApiResponse, FlowContext, MotiaPluginContext } from '@motiadev/core'\n\nexport const api = (motia: MotiaPluginContext): void => {\n motia.registerApi(\n {\n method: 'GET',\n path: '/__motia/state',\n },\n async (req: ApiRequest): Promise<ApiResponse> => {\n try {\n const groupId = req.queryParams.groupId as string | undefined\n const filter = req.queryParams.filter ? JSON.parse(req.queryParams.filter as string) : undefined\n const items = await motia.state.items({ groupId, filter })\n\n return {\n status: 200,\n body: items as unknown as Record<string, unknown>,\n }\n } catch (error: unknown) {\n return {\n status: 500,\n body: { error: error instanceof Error ? error.message : 'Unknown error' },\n }\n }\n },\n )\n\n motia.registerApi(\n {\n method: 'POST',\n path: '/__motia/state',\n },\n async (req: ApiRequest, ctx: FlowContext): Promise<ApiResponse> => {\n try {\n const { key, groupId, value } = req.body as { key: string; groupId: string; value: any }\n await ctx.state.set(groupId, key, value)\n return {\n status: 200,\n body: { key, groupId, value },\n }\n } catch (error: unknown) {\n return {\n status: 500,\n body: { error: error instanceof Error ? error.message : 'Unknown error' },\n }\n }\n },\n )\n\n motia.registerApi(\n {\n method: 'POST',\n path: '/__motia/state/delete',\n },\n async (req: ApiRequest, ctx: FlowContext): Promise<ApiResponse> => {\n try {\n for (const id of (req.body as { ids: string[] }).ids) {\n const [groupId, ...keyParts] = id.split(':')\n const key = keyParts.join(':')\n await ctx.state.delete(groupId, key)\n }\n\n return {\n status: 204,\n body: '',\n }\n } catch (error: unknown) {\n return {\n status: 500,\n body: { error: error instanceof Error ? error.message : 'Unknown error' },\n }\n }\n },\n )\n}\n","import type { MotiaPlugin, MotiaPluginContext } from '@motiadev/core'\nimport { api } from './api'\n\nexport default function plugin(motia: MotiaPluginContext): MotiaPlugin {\n api(motia)\n\n return {\n workbench: [\n {\n packageName: '@motiadev/plugin-states',\n cssImports: ['@motiadev/plugin-states/dist/index.css'],\n label: 'States',\n position: 'bottom',\n componentName: 'StatesPage',\n labelIcon: 'file',\n },\n ],\n }\n}\n"],"mappings":";AAEA,MAAaI,OAAOC,UAAoC;AACtDA,OAAMC,YACJ;EACEC,QAAQ;EACRC,MAAM;EACP,EACD,OAAOC,QAA0C;AAC/C,MAAI;GACF,MAAME,UAAUF,IAAIG,YAAYD;GAChC,MAAME,SAASJ,IAAIG,YAAYC,SAASC,KAAKC,MAAMN,IAAIG,YAAYC,OAAiB,GAAGG;AAGvF,UAAO;IACLG,QAAQ;IACRC,MAJY,MAAMf,MAAMa,MAAMD,MAAM;KAAEN;KAASE;KAAQ,CAAC;IAKzD;WACMS,OAAgB;AACvB,UAAO;IACLH,QAAQ;IACRC,MAAM,EAAEE,OAAOA,iBAAiBC,QAAQD,MAAME,UAAU,iBAAgB;IACzE;;GAGN;AAEDnB,OAAMC,YACJ;EACEC,QAAQ;EACRC,MAAM;EACP,EACD,OAAOC,KAAiBgB,QAA2C;AACjE,MAAI;GACF,MAAM,EAAEC,KAAKf,SAASgB,UAAUlB,IAAIW;AACpC,SAAMK,IAAIP,MAAMU,IAAIjB,SAASe,KAAKC,MAAM;AACxC,UAAO;IACLR,QAAQ;IACRC,MAAM;KAAEM;KAAKf;KAASgB;KAAM;IAC7B;WACML,OAAgB;AACvB,UAAO;IACLH,QAAQ;IACRC,MAAM,EAAEE,OAAOA,iBAAiBC,QAAQD,MAAME,UAAU,iBAAgB;IACzE;;GAGN;AAEDnB,OAAMC,YACJ;EACEC,QAAQ;EACRC,MAAM;EACP,EACD,OAAOC,KAAiBgB,QAA2C;AACjE,MAAI;AACF,QAAK,MAAMI,MAAOpB,IAAIW,KAA2BU,KAAK;IACpD,MAAM,CAACnB,SAAS,GAAGoB,YAAYF,GAAGG,MAAM,IAAI;IAC5C,MAAMN,MAAMK,SAASE,KAAK,IAAI;AAC9B,UAAMR,IAAIP,MAAMgB,OAAOvB,SAASe,IAAI;;AAGtC,UAAO;IACLP,QAAQ;IACRC,MAAM;IACP;WACME,OAAgB;AACvB,UAAO;IACLH,QAAQ;IACRC,MAAM,EAAEE,OAAOA,iBAAiBC,QAAQD,MAAME,UAAU,iBAAgB;IACzE;;GAGN;;;;;ACtEH,SAAwBc,OAAOC,OAAwC;AACrEF,KAAIE,MAAM;AAEV,QAAO,EACLC,WAAW,CACT;EACEC,aAAa;EACbC,YAAY,CAAC,yCAAyC;EACtDC,OAAO;EACPC,UAAU;EACVC,eAAe;EACfC,WAAW;EACZ,CAAA,EAEJ"}
package/package.json CHANGED
@@ -1,51 +1,46 @@
1
1
  {
2
2
  "name": "@motiadev/plugin-states",
3
- "version": "0.13.2-beta.164-732151",
3
+ "version": "0.13.2-beta.164-110989",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
8
8
  "exports": {
9
- ".": {
10
- "types": "./dist/index.d.ts",
11
- "import": "./dist/index.js",
12
- "require": "./dist/index.cjs"
13
- },
14
- "./plugin": {
15
- "types": "./dist/plugin.d.ts",
16
- "import": "./dist/plugin.js",
17
- "require": "./dist/plugin.cjs"
18
- },
19
- "./styles.css": "./dist/plugin-states.css"
9
+ ".": "./dist/index.js",
10
+ "./plugin": "./dist/plugin.js",
11
+ "./package.json": "./package.json"
20
12
  },
21
13
  "files": [
22
14
  "dist"
23
15
  ],
24
16
  "dependencies": {
25
17
  "@monaco-editor/react": "^4.7.0",
26
- "lucide-react": "^0.545.0",
18
+ "lucide-react": "^0.555.0",
27
19
  "react18-json-view": "^0.2.9",
28
20
  "zustand": "^5.0.8"
29
21
  },
30
22
  "peerDependencies": {
31
- "@motiadev/stream-client-browser": "0.13.2-beta.164-732151",
32
- "@motiadev/ui": "0.13.2-beta.164-732151",
33
- "@motiadev/core": "0.13.2-beta.164-732151"
23
+ "@motiadev/core": "0.13.2-beta.164-110989",
24
+ "@motiadev/ui": "0.13.2-beta.164-110989"
34
25
  },
35
26
  "devDependencies": {
36
- "@tailwindcss/vite": "^4.1.14",
37
- "@types/node": "^24.7.2",
38
- "@types/react": "^19.2.2",
39
- "@vitejs/plugin-react": "^5.0.4",
27
+ "@bosh-code/tsdown-plugin-inject-css": "^2.0.0",
28
+ "@bosh-code/tsdown-plugin-tailwindcss": "^1.0.1",
29
+ "@rollup/plugin-babel": "^6.1.0",
30
+ "@tailwindcss/postcss": "^4.1.17",
31
+ "@types/node": "^24.10.1",
32
+ "@types/react": "^19.2.7",
33
+ "babel-plugin-react-compiler": "^1.0.0",
34
+ "publint": "^0.3.15",
40
35
  "react": "^19.2.0",
41
- "tailwindcss": "^4.1.14",
36
+ "tailwindcss": "^4.1.17",
37
+ "tsdown": "^0.16.8",
42
38
  "typescript": "^5.9.3",
43
- "vite": "^7.1.10",
44
- "vite-plugin-dts": "^4.5.4"
39
+ "unplugin-unused": "^0.5.6"
45
40
  },
46
41
  "scripts": {
47
- "build": "vite build",
48
- "dev": "vite build --watch",
42
+ "build": "tsdown",
43
+ "dev": "tsdown --watch",
49
44
  "clean": "rm -rf dist"
50
45
  }
51
46
  }
package/dist/api.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import { MotiaPluginContext } from '@motiadev/core';
2
- export declare const api: (motia: MotiaPluginContext) => void;
3
- //# sourceMappingURL=api.d.ts.map
package/dist/api.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAwC,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAE9F,eAAO,MAAM,GAAG,GAAI,OAAO,kBAAkB,KAAG,IAwE/C,CAAA"}
@@ -1,13 +0,0 @@
1
- import { FC } from 'react';
2
- type JsonEditorProps = {
3
- value: string;
4
- height?: number | string;
5
- schema?: Record<string, unknown>;
6
- onChange?: (value: string) => void;
7
- onValidate?: (isValid: boolean) => void;
8
- language?: string;
9
- readOnly?: boolean;
10
- };
11
- export declare const JsonEditor: FC<JsonEditorProps>;
12
- export {};
13
- //# sourceMappingURL=json-editor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json-editor.d.ts","sourceRoot":"","sources":["../../src/components/json-editor.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,EAAsB,MAAM,OAAO,CAAA;AAEnD,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAmD1C,CAAA"}
@@ -1,8 +0,0 @@
1
- import { default as React } from 'react';
2
- import { StateItem } from '../types/state';
3
- type Props = {
4
- state: StateItem;
5
- };
6
- export declare const StateDetails: React.FC<Props>;
7
- export {};
8
- //# sourceMappingURL=state-details.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state-details.d.ts","sourceRoot":"","sources":["../../src/components/state-details.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,SAAS,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAiE,CAAA"}
@@ -1,8 +0,0 @@
1
- import { default as React } from 'react';
2
- import { StateItem } from '../types/state';
3
- type Props = {
4
- state: StateItem;
5
- };
6
- export declare const StateEditor: React.FC<Props>;
7
- export {};
8
- //# sourceMappingURL=state-editor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state-editor.d.ts","sourceRoot":"","sources":["../../src/components/state-editor.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG/C,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,SAAS,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA0JvC,CAAA"}
@@ -1,9 +0,0 @@
1
- import { default as React } from 'react';
2
- import { StateItem } from '../types/state';
3
- type Props = {
4
- state: StateItem;
5
- onClose: () => void;
6
- };
7
- export declare const StateSidebar: React.FC<Props>;
8
- export {};
9
- //# sourceMappingURL=state-sidebar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state-sidebar.d.ts","sourceRoot":"","sources":["../../src/components/state-sidebar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAI/C,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,SAAS,CAAA;IAChB,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAmBxC,CAAA"}
@@ -1,2 +0,0 @@
1
- export declare const StatesTabLabel: import('react').MemoExoticComponent<() => import("react/jsx-runtime").JSX.Element>;
2
- //# sourceMappingURL=state-tab-label.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state-tab-label.d.ts","sourceRoot":"","sources":["../../src/components/state-tab-label.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc,oFAKzB,CAAA"}
@@ -1,2 +0,0 @@
1
- export declare const StatesPage: () => import("react/jsx-runtime").JSX.Element;
2
- //# sourceMappingURL=states-page.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"states-page.d.ts","sourceRoot":"","sources":["../../src/components/states-page.tsx"],"names":[],"mappings":"AAsBA,eAAO,MAAM,UAAU,+CAwHtB,CAAA"}
@@ -1,9 +0,0 @@
1
- import { StateItem } from '../types/state';
2
- type Output = {
3
- items: StateItem[];
4
- deleteItems: (ids: string[]) => void;
5
- refetch: () => void;
6
- };
7
- export declare const useGetStateItems: () => Output;
8
- export {};
9
- //# sourceMappingURL=states-hooks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"states-hooks.d.ts","sourceRoot":"","sources":["../../src/hooks/states-hooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACpC,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAO,MA6BnC,CAAA"}