@motiadev/plugin-states 0.14.0-beta.165-454838 → 0.14.0-beta.165-210612
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +965 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.ts +14 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +712 -1982
- package/dist/index.js.map +1 -0
- package/dist/plugin.d.ts +6 -2
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +83 -78
- package/dist/plugin.js.map +1 -0
- package/package.json +20 -25
- package/dist/api.d.ts +0 -3
- package/dist/api.d.ts.map +0 -1
- package/dist/components/json-editor.d.ts +0 -13
- package/dist/components/json-editor.d.ts.map +0 -1
- package/dist/components/state-details.d.ts +0 -8
- package/dist/components/state-details.d.ts.map +0 -1
- package/dist/components/state-editor.d.ts +0 -8
- package/dist/components/state-editor.d.ts.map +0 -1
- package/dist/components/state-sidebar.d.ts +0 -9
- package/dist/components/state-sidebar.d.ts.map +0 -1
- package/dist/components/state-tab-label.d.ts +0 -2
- package/dist/components/state-tab-label.d.ts.map +0 -1
- package/dist/components/states-page.d.ts +0 -2
- package/dist/components/states-page.d.ts.map +0 -1
- package/dist/hooks/states-hooks.d.ts +0 -9
- package/dist/hooks/states-hooks.d.ts.map +0 -1
- package/dist/index.cjs +0 -92
- package/dist/plugin-states.css +0 -1
- package/dist/plugin.cjs +0 -1
- package/dist/stores/use-states-store.d.ts +0 -6
- package/dist/stores/use-states-store.d.ts.map +0 -1
- package/dist/types/state.d.ts +0 -7
- package/dist/types/state.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["useCallback","useEffect","useState","StateItem","Output","items","deleteItems","ids","refetch","useGetStateItems","$","_c","$i","Symbol","for","t0","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","$i","Symbol","for","t1","value","Editor","useMonaco","useThemeStore","FC","useEffect","useMemo","JsonEditorProps","value","height","schema","Record","onChange","onValidate","isValid","language","readOnly","JsonEditor","t0","$","_c","$i","Symbol","for","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","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","$i","Symbol","for","t1","label","content","t2","t3","t4","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","$i","Symbol","for","selectedStateId","_temp","selectStateId","_temp2","items","deleteItems","refetch","search","setSearch","t0","t1","item","groupId","toLowerCase","includes","key","filter","filteredItems","find","item_0","selectedItem","t2","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":"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"}
|
package/dist/plugin.d.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
import { MotiaPlugin, MotiaPluginContext } from
|
|
2
|
-
|
|
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
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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
|
-
|
|
79
|
-
|
|
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.14.0-beta.165-
|
|
3
|
+
"version": "0.14.0-beta.165-210612",
|
|
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
|
-
|
|
11
|
-
|
|
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.
|
|
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/
|
|
32
|
-
"@motiadev/ui": "0.14.0-beta.165-
|
|
33
|
-
"@motiadev/core": "0.14.0-beta.165-454838"
|
|
23
|
+
"@motiadev/core": "0.14.0-beta.165-210612",
|
|
24
|
+
"@motiadev/ui": "0.14.0-beta.165-210612"
|
|
34
25
|
},
|
|
35
26
|
"devDependencies": {
|
|
36
|
-
"@
|
|
37
|
-
"@
|
|
38
|
-
"@
|
|
39
|
-
"
|
|
27
|
+
"@bosh-code/tsdown-plugin-inject-css": "^2.0.0",
|
|
28
|
+
"@rollup/plugin-babel": "^6.1.0",
|
|
29
|
+
"@tailwindcss/postcss": "^4.1.17",
|
|
30
|
+
"rollup-plugin-postcss": "^4.0.2",
|
|
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.
|
|
36
|
+
"tailwindcss": "^4.1.17",
|
|
37
|
+
"tsdown": "^0.16.8",
|
|
42
38
|
"typescript": "^5.9.3",
|
|
43
|
-
"
|
|
44
|
-
"vite-plugin-dts": "^4.5.4"
|
|
39
|
+
"unplugin-unused": "^0.5.6"
|
|
45
40
|
},
|
|
46
41
|
"scripts": {
|
|
47
|
-
"build": "
|
|
48
|
-
"dev": "
|
|
42
|
+
"build": "tsdown",
|
|
43
|
+
"dev": "tsdown --watch",
|
|
49
44
|
"clean": "rm -rf dist"
|
|
50
45
|
}
|
|
51
46
|
}
|
package/dist/api.d.ts
DELETED
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 +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 +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 +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 +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"}
|