@motiadev/plugin-logs 0.8.2-beta.140-628177 → 0.8.2-beta.140-111855
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/README.md +8 -7
- package/dist/components/log-detail.d.ts +1 -3
- package/dist/components/log-detail.d.ts.map +1 -1
- package/dist/components/log-level-badge.d.ts +1 -1
- package/dist/components/log-level-badge.d.ts.map +1 -1
- package/dist/components/logs-tab-label.d.ts +1 -1
- package/dist/index.cjs +22 -0
- package/dist/index.d.ts +0 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +419 -10
- package/dist/plugin-logs.css +1 -0
- package/dist/plugin.cjs +1 -0
- package/dist/plugin.d.ts +3 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +16 -0
- package/dist/stores/use-logs-store.d.ts +1 -1
- package/dist/stores/use-logs-store.d.ts.map +1 -1
- package/package.json +25 -14
- package/dist/components/log-detail.js +0 -37
- package/dist/components/log-detail.js.map +0 -1
- package/dist/components/log-level-badge.js +0 -12
- package/dist/components/log-level-badge.js.map +0 -1
- package/dist/components/logs-page.js +0 -27
- package/dist/components/logs-page.js.map +0 -1
- package/dist/components/logs-tab-label.js +0 -6
- package/dist/components/logs-tab-label.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/stores/use-logs-store.js +0 -13
- package/dist/stores/use-logs-store.js.map +0 -1
- package/dist/styles.css +0 -675
- package/dist/types/log.js +0 -2
- package/dist/types/log.js.map +0 -1
- package/dist/utils/format-timestamp.js +0 -5
- package/dist/utils/format-timestamp.js.map +0 -1
- package/dist/utils/init-log-listener.js +0 -11
- package/dist/utils/init-log-listener.js.map +0 -1
package/README.md
CHANGED
|
@@ -8,20 +8,21 @@ This package includes TailwindCSS compilation to ensure all Tailwind classes use
|
|
|
8
8
|
|
|
9
9
|
### Build Process
|
|
10
10
|
|
|
11
|
-
The build process
|
|
11
|
+
The build process uses Vite with integrated CSS compilation:
|
|
12
12
|
|
|
13
|
-
1. **
|
|
14
|
-
2. **
|
|
13
|
+
1. **Vite Build**: Compiles TypeScript, CSS, and generates type declarations
|
|
14
|
+
2. **Output Formats**: Generates both ES modules and CommonJS formats
|
|
15
|
+
3. **Type Declarations**: Automatically generates `.d.ts` files
|
|
15
16
|
|
|
16
17
|
### Development
|
|
17
18
|
|
|
18
|
-
- `pnpm run build` - Build
|
|
19
|
-
- `pnpm run dev` - Watch mode for
|
|
20
|
-
- `pnpm run
|
|
21
|
-
- `pnpm run dev:css` - Watch mode for CSS only
|
|
19
|
+
- `pnpm run build` - Build all files using Vite
|
|
20
|
+
- `pnpm run dev` - Watch mode for development
|
|
21
|
+
- `pnpm run clean` - Remove the dist directory
|
|
22
22
|
|
|
23
23
|
### Configuration Files
|
|
24
24
|
|
|
25
|
+
- `vite.config.ts` - Vite configuration with TailwindCSS plugin
|
|
25
26
|
- `src/styles.css` - Main CSS entry point with Tailwind imports
|
|
26
27
|
|
|
27
28
|
## Features
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-detail.d.ts","sourceRoot":"","sources":["../../src/components/log-detail.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"log-detail.d.ts","sourceRoot":"","sources":["../../src/components/log-detail.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,gCAAgC,CAAA;AACvC,OAAO,iCAAiC,CAAA;AACxC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAGvC,KAAK,KAAK,GAAG;IACX,GAAG,CAAC,EAAE,GAAG,CAAA;IACT,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAID,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiDrC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-level-badge.d.ts","sourceRoot":"","sources":["../../src/components/log-level-badge.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"log-level-badge.d.ts","sourceRoot":"","sources":["../../src/components/log-level-badge.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAS9B,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAMzE,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const LogsTabLabel: import(
|
|
1
|
+
export declare const LogsTabLabel: import('react').MemoExoticComponent<() => import("react/jsx-runtime").JSX.Element>;
|
|
2
2
|
//# sourceMappingURL=logs-tab-label.d.ts.map
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ne=require("@motiadev/stream-client-browser"),le=require("zustand"),T=require("react"),m=require("@motiadev/ui"),S=require("lucide-react"),ce=require("react18-json-view"),x=le.create()(t=>({logs:[],selectedLogId:void 0,addLog:l=>t(u=>({logs:[l,...u.logs]})),resetLogs:()=>{t({logs:[]})},selectLogId:l=>t({selectedLogId:l})})),ie="__motia.logs",ue="default",de="log",fe=()=>{new ne.Stream(window.location.origin.replace("http","ws")).subscribeGroup(ie,ue).onEvent(de,x.getState().addLog)};var j={exports:{}},_={};/**
|
|
2
|
+
* @license React
|
|
3
|
+
* react-jsx-runtime.production.js
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/var W;function me(){if(W)return _;W=1;var t=Symbol.for("react.transitional.element"),l=Symbol.for("react.fragment");function u(b,d,n){var f=null;if(n!==void 0&&(f=""+n),d.key!==void 0&&(f=""+d.key),"key"in d){n={};for(var p in d)p!=="key"&&(n[p]=d[p])}else n=d;return d=n.ref,{$$typeof:t,type:b,key:f,ref:d!==void 0?d:null,props:n}}return _.Fragment=l,_.jsx=u,_.jsxs=u,_}var R={};/**
|
|
10
|
+
* @license React
|
|
11
|
+
* react-jsx-runtime.development.js
|
|
12
|
+
*
|
|
13
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
14
|
+
*
|
|
15
|
+
* This source code is licensed under the MIT license found in the
|
|
16
|
+
* LICENSE file in the root directory of this source tree.
|
|
17
|
+
*/var z;function be(){return z||(z=1,process.env.NODE_ENV!=="production"&&function(){function t(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===ae?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case k:return"Fragment";case B:return"Profiler";case X:return"StrictMode";case K:return"Suspense";case ee:return"SuspenseList";case te:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case V:return"Portal";case Z:return(e.displayName||"Context")+".Provider";case H:return(e._context.displayName||"Context")+".Consumer";case Q:var r=e.render;return e=e.displayName,e||(e=r.displayName||r.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case re:return r=e.displayName||null,r!==null?r:t(e.type)||"Memo";case D:r=e._payload,e=e._init;try{return t(e(r))}catch{}}return null}function l(e){return""+e}function u(e){try{l(e);var r=!1}catch{r=!0}if(r){r=console;var s=r.error,c=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return s.call(r,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",c),l(e)}}function b(e){if(e===k)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===D)return"<...>";try{var r=t(e);return r?"<"+r+">":"<...>"}catch{return"<...>"}}function d(){var e=O.A;return e===null?null:e.getOwner()}function n(){return Error("react-stack-top-frame")}function f(e){if($.call(e,"key")){var r=Object.getOwnPropertyDescriptor(e,"key").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function p(e,r){function s(){Y||(Y=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",r))}s.isReactWarning=!0,Object.defineProperty(e,"key",{get:s,configurable:!0})}function a(){var e=t(this.type);return M[e]||(M[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),e=this.props.ref,e!==void 0?e:null}function h(e,r,s,c,g,v,P,C){return s=v.ref,e={$$typeof:I,type:e,key:r,props:v,_owner:g},(s!==void 0?s:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:a}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:P}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:C}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function y(e,r,s,c,g,v,P,C){var i=r.children;if(i!==void 0)if(c)if(oe(i)){for(c=0;c<i.length;c++)A(i[c]);Object.freeze&&Object.freeze(i)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else A(i);if($.call(r,"key")){i=t(e);var E=Object.keys(r).filter(function(se){return se!=="key"});c=0<E.length?"{key: someKey, "+E.join(": ..., ")+": ...}":"{key: someKey}",U[i+c]||(E=0<E.length?"{"+E.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
18
|
+
let props = %s;
|
|
19
|
+
<%s {...props} />
|
|
20
|
+
React keys must be passed directly to JSX without using spread:
|
|
21
|
+
let props = %s;
|
|
22
|
+
<%s key={someKey} {...props} />`,c,i,E,i),U[i+c]=!0)}if(i=null,s!==void 0&&(u(s),i=""+s),f(r)&&(u(r.key),i=""+r.key),"key"in r){s={};for(var L in r)L!=="key"&&(s[L]=r[L])}else s=r;return i&&p(s,typeof e=="function"?e.displayName||e.name||"Unknown":e),h(e,i,v,g,d(),s,P,C)}function A(e){typeof e=="object"&&e!==null&&e.$$typeof===I&&e._store&&(e._store.validated=1)}var w=T,I=Symbol.for("react.transitional.element"),V=Symbol.for("react.portal"),k=Symbol.for("react.fragment"),X=Symbol.for("react.strict_mode"),B=Symbol.for("react.profiler"),H=Symbol.for("react.consumer"),Z=Symbol.for("react.context"),Q=Symbol.for("react.forward_ref"),K=Symbol.for("react.suspense"),ee=Symbol.for("react.suspense_list"),re=Symbol.for("react.memo"),D=Symbol.for("react.lazy"),te=Symbol.for("react.activity"),ae=Symbol.for("react.client.reference"),O=w.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$=Object.prototype.hasOwnProperty,oe=Array.isArray,N=console.createTask?console.createTask:function(){return null};w={react_stack_bottom_frame:function(e){return e()}};var Y,M={},F=w.react_stack_bottom_frame.bind(w,n)(),q=N(b(n)),U={};R.Fragment=k,R.jsx=function(e,r,s,c,g){var v=1e4>O.recentlyCreatedOwnerStacks++;return y(e,r,s,!1,c,g,v?Error("react-stack-top-frame"):F,v?N(b(e)):q)},R.jsxs=function(e,r,s,c,g){var v=1e4>O.recentlyCreatedOwnerStacks++;return y(e,r,s,!0,c,g,v?Error("react-stack-top-frame"):F,v?N(b(e)):q)}}()),R}var J;function pe(){return J||(J=1,process.env.NODE_ENV==="production"?j.exports=me():j.exports=be()),j.exports}var o=pe();const G=t=>{const l=new Date(Number(t));return`${l.toLocaleDateString("en-US",{year:void 0,month:"short",day:"2-digit"})}, ${l.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",second:"2-digit",hourCycle:"h24"})}.${l.getMilliseconds().toString().padStart(3,"0")}`},ve=["id","msg","time","level","step","flows","traceId"],ge=({log:t,onClose:l})=>{const[u,b]=T.useState(!1),d=T.useMemo(()=>{if(!t)return null;const n=Object.keys(t??{}).filter(f=>!ve.includes(f));return b(n.length>0),n.reduce((f,p)=>(f[p]=t[p],f),{})},[t]);return t?o.jsx(m.Sidebar,{onClose:l,title:"Logs Details",subtitle:"Details including custom properties",actions:[{icon:o.jsx(S.X,{}),onClick:l,label:"Close"}],details:[{label:"Level",value:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(m.LevelDot,{level:t.level}),o.jsx("div",{className:"capitalize",children:t.level})]})},{label:"Time",value:G(t.time)},{label:"Step",value:t.step},{label:"Flows",value:t.flows.join(", ")},{label:"Trace ID",value:t.traceId}],children:u&&o.jsx(ce,{src:d,theme:"default",enableClipboard:!0})}):null},he=()=>{const t=x(a=>a.logs),l=x(a=>a.resetLogs),u=x(a=>a.selectedLogId),b=x(a=>a.selectLogId),d=T.useMemo(()=>u?t.find(a=>a.id===u):void 0,[t,u]),[n,f]=T.useState(""),p=T.useMemo(()=>t.filter(a=>a.msg.toLowerCase().includes(n.toLowerCase())||a.traceId.toLowerCase().includes(n.toLowerCase())||a.step.toLowerCase().includes(n.toLowerCase())),[t,n]);return o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"grid grid-rows-[auto_1fr] h-full","data-testid":"logs-container",children:[o.jsxs("div",{className:"flex p-2 border-b gap-2","data-testid":"logs-search-container",children:[o.jsxs("div",{className:"flex-1 relative",children:[o.jsx(m.Input,{variant:"shade",value:n,onChange:a=>f(a.target.value),className:"px-9 font-medium",placeholder:"Search by Trace ID or Message"}),o.jsx(S.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground/50"}),o.jsx(S.X,{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",onClick:()=>f("")})]}),o.jsxs(m.Button,{variant:"default",onClick:l,className:"h-[34px]",children:[o.jsx(S.Trash,{})," Clear"]})]}),o.jsx(m.Table,{children:o.jsx(m.TableBody,{className:"font-mono font-medium",children:p.map((a,h)=>o.jsxs(m.TableRow,{"data-testid":"log-row",className:m.cn("font-mono font-semibold cursor-pointer border-0",{"bg-muted-foreground/10 hover:bg-muted-foreground/20":u===a.id,"hover:bg-muted-foreground/10":u!==a.id}),onClick:()=>b(a.id),children:[o.jsxs(m.TableCell,{"data-testid":`time-${h}`,className:"whitespace-nowrap flex items-center gap-2 text-muted-foreground",children:[o.jsx(m.LevelDot,{level:a.level}),G(a.time)]}),o.jsx(m.TableCell,{"data-testid":`trace-${a.traceId}`,className:"whitespace-nowrap cursor-pointer hover:text-primary text-muted-foreground",onClick:()=>f(a.traceId),children:a.traceId}),o.jsx(m.TableCell,{"data-testid":`step-${h}`,"aria-label":a.step,className:"whitespace-nowrap",children:a.step}),o.jsx(m.TableCell,{"data-testid":`msg-${h}`,"aria-label":a.msg,className:"whitespace-nowrap max-w-[500px] truncate w-full",children:a.msg})]},h))})})]}),o.jsx(ge,{log:d,onClose:()=>b(void 0)})]})};fe();exports.LogsPage=he;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
import './styles.css';
|
|
2
1
|
export { LogsPage } from './components/logs-page';
|
|
3
2
|
export type { Log } from './types/log';
|
|
4
|
-
export declare const config: {
|
|
5
|
-
label: string;
|
|
6
|
-
position: string;
|
|
7
|
-
componentName: string;
|
|
8
|
-
labelIcon: string;
|
|
9
|
-
};
|
|
10
3
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AAGrB,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,YAAY,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAA;AAGrB,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,YAAY,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,420 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { Stream as ce } from "@motiadev/stream-client-browser";
|
|
2
|
+
import { create as ie } from "zustand";
|
|
3
|
+
import ue, { useState as z, useMemo as L } from "react";
|
|
4
|
+
import { Sidebar as de, LevelDot as G, Input as fe, Button as me, Table as pe, TableBody as be, TableRow as ve, cn as he, TableCell as T } from "@motiadev/ui";
|
|
5
|
+
import { X as V, Search as ge, Trash as Ee } from "lucide-react";
|
|
6
|
+
import _e from "react18-json-view";
|
|
7
|
+
const x = ie()((t) => ({
|
|
8
|
+
logs: [],
|
|
9
|
+
selectedLogId: void 0,
|
|
10
|
+
addLog: (l) => t((u) => ({
|
|
11
|
+
logs: [l, ...u.logs]
|
|
12
|
+
})),
|
|
13
|
+
resetLogs: () => {
|
|
14
|
+
t({ logs: [] });
|
|
15
|
+
},
|
|
16
|
+
selectLogId: (l) => t({ selectedLogId: l })
|
|
17
|
+
})), xe = "__motia.logs", Re = "default", Te = "log", we = () => {
|
|
18
|
+
new ce(window.location.origin.replace("http", "ws")).subscribeGroup(xe, Re).onEvent(Te, x.getState().addLog);
|
|
19
|
+
};
|
|
20
|
+
var w = { exports: {} }, E = {};
|
|
21
|
+
/**
|
|
22
|
+
* @license React
|
|
23
|
+
* react-jsx-runtime.production.js
|
|
24
|
+
*
|
|
25
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
26
|
+
*
|
|
27
|
+
* This source code is licensed under the MIT license found in the
|
|
28
|
+
* LICENSE file in the root directory of this source tree.
|
|
29
|
+
*/
|
|
30
|
+
var W;
|
|
31
|
+
function je() {
|
|
32
|
+
if (W) return E;
|
|
33
|
+
W = 1;
|
|
34
|
+
var t = Symbol.for("react.transitional.element"), l = Symbol.for("react.fragment");
|
|
35
|
+
function u(m, d, s) {
|
|
36
|
+
var f = null;
|
|
37
|
+
if (s !== void 0 && (f = "" + s), d.key !== void 0 && (f = "" + d.key), "key" in d) {
|
|
38
|
+
s = {};
|
|
39
|
+
for (var p in d)
|
|
40
|
+
p !== "key" && (s[p] = d[p]);
|
|
41
|
+
} else s = d;
|
|
42
|
+
return d = s.ref, {
|
|
43
|
+
$$typeof: t,
|
|
44
|
+
type: m,
|
|
45
|
+
key: f,
|
|
46
|
+
ref: d !== void 0 ? d : null,
|
|
47
|
+
props: s
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
return E.Fragment = l, E.jsx = u, E.jsxs = u, E;
|
|
51
|
+
}
|
|
52
|
+
var _ = {};
|
|
53
|
+
/**
|
|
54
|
+
* @license React
|
|
55
|
+
* react-jsx-runtime.development.js
|
|
56
|
+
*
|
|
57
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
58
|
+
*
|
|
59
|
+
* This source code is licensed under the MIT license found in the
|
|
60
|
+
* LICENSE file in the root directory of this source tree.
|
|
61
|
+
*/
|
|
62
|
+
var J;
|
|
63
|
+
function Se() {
|
|
64
|
+
return J || (J = 1, process.env.NODE_ENV !== "production" && function() {
|
|
65
|
+
function t(e) {
|
|
66
|
+
if (e == null) return null;
|
|
67
|
+
if (typeof e == "function")
|
|
68
|
+
return e.$$typeof === ne ? null : e.displayName || e.name || null;
|
|
69
|
+
if (typeof e == "string") return e;
|
|
70
|
+
switch (e) {
|
|
71
|
+
case j:
|
|
72
|
+
return "Fragment";
|
|
73
|
+
case Z:
|
|
74
|
+
return "Profiler";
|
|
75
|
+
case H:
|
|
76
|
+
return "StrictMode";
|
|
77
|
+
case re:
|
|
78
|
+
return "Suspense";
|
|
79
|
+
case te:
|
|
80
|
+
return "SuspenseList";
|
|
81
|
+
case oe:
|
|
82
|
+
return "Activity";
|
|
83
|
+
}
|
|
84
|
+
if (typeof e == "object")
|
|
85
|
+
switch (typeof e.tag == "number" && console.error(
|
|
86
|
+
"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
|
|
87
|
+
), e.$$typeof) {
|
|
88
|
+
case B:
|
|
89
|
+
return "Portal";
|
|
90
|
+
case K:
|
|
91
|
+
return (e.displayName || "Context") + ".Provider";
|
|
92
|
+
case Q:
|
|
93
|
+
return (e._context.displayName || "Context") + ".Consumer";
|
|
94
|
+
case ee:
|
|
95
|
+
var r = e.render;
|
|
96
|
+
return e = e.displayName, e || (e = r.displayName || r.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
|
|
97
|
+
case ae:
|
|
98
|
+
return r = e.displayName || null, r !== null ? r : t(e.type) || "Memo";
|
|
99
|
+
case I:
|
|
100
|
+
r = e._payload, e = e._init;
|
|
101
|
+
try {
|
|
102
|
+
return t(e(r));
|
|
103
|
+
} catch {
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
function l(e) {
|
|
109
|
+
return "" + e;
|
|
110
|
+
}
|
|
111
|
+
function u(e) {
|
|
112
|
+
try {
|
|
113
|
+
l(e);
|
|
114
|
+
var r = !1;
|
|
115
|
+
} catch {
|
|
116
|
+
r = !0;
|
|
117
|
+
}
|
|
118
|
+
if (r) {
|
|
119
|
+
r = console;
|
|
120
|
+
var n = r.error, c = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
|
|
121
|
+
return n.call(
|
|
122
|
+
r,
|
|
123
|
+
"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
|
|
124
|
+
c
|
|
125
|
+
), l(e);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
function m(e) {
|
|
129
|
+
if (e === j) return "<>";
|
|
130
|
+
if (typeof e == "object" && e !== null && e.$$typeof === I)
|
|
131
|
+
return "<...>";
|
|
132
|
+
try {
|
|
133
|
+
var r = t(e);
|
|
134
|
+
return r ? "<" + r + ">" : "<...>";
|
|
135
|
+
} catch {
|
|
136
|
+
return "<...>";
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
function d() {
|
|
140
|
+
var e = S.A;
|
|
141
|
+
return e === null ? null : e.getOwner();
|
|
142
|
+
}
|
|
143
|
+
function s() {
|
|
144
|
+
return Error("react-stack-top-frame");
|
|
145
|
+
}
|
|
146
|
+
function f(e) {
|
|
147
|
+
if ($.call(e, "key")) {
|
|
148
|
+
var r = Object.getOwnPropertyDescriptor(e, "key").get;
|
|
149
|
+
if (r && r.isReactWarning) return !1;
|
|
150
|
+
}
|
|
151
|
+
return e.key !== void 0;
|
|
152
|
+
}
|
|
153
|
+
function p(e, r) {
|
|
154
|
+
function n() {
|
|
155
|
+
D || (D = !0, console.error(
|
|
156
|
+
"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
|
|
157
|
+
r
|
|
158
|
+
));
|
|
159
|
+
}
|
|
160
|
+
n.isReactWarning = !0, Object.defineProperty(e, "key", {
|
|
161
|
+
get: n,
|
|
162
|
+
configurable: !0
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
function a() {
|
|
166
|
+
var e = t(this.type);
|
|
167
|
+
return Y[e] || (Y[e] = !0, console.error(
|
|
168
|
+
"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
|
|
169
|
+
)), e = this.props.ref, e !== void 0 ? e : null;
|
|
170
|
+
}
|
|
171
|
+
function h(e, r, n, c, v, b, N, O) {
|
|
172
|
+
return n = b.ref, e = {
|
|
173
|
+
$$typeof: y,
|
|
174
|
+
type: e,
|
|
175
|
+
key: r,
|
|
176
|
+
props: b,
|
|
177
|
+
_owner: v
|
|
178
|
+
}, (n !== void 0 ? n : null) !== null ? Object.defineProperty(e, "ref", {
|
|
179
|
+
enumerable: !1,
|
|
180
|
+
get: a
|
|
181
|
+
}) : Object.defineProperty(e, "ref", { enumerable: !1, value: null }), e._store = {}, Object.defineProperty(e._store, "validated", {
|
|
182
|
+
configurable: !1,
|
|
183
|
+
enumerable: !1,
|
|
184
|
+
writable: !0,
|
|
185
|
+
value: 0
|
|
186
|
+
}), Object.defineProperty(e, "_debugInfo", {
|
|
187
|
+
configurable: !1,
|
|
188
|
+
enumerable: !1,
|
|
189
|
+
writable: !0,
|
|
190
|
+
value: null
|
|
191
|
+
}), Object.defineProperty(e, "_debugStack", {
|
|
192
|
+
configurable: !1,
|
|
193
|
+
enumerable: !1,
|
|
194
|
+
writable: !0,
|
|
195
|
+
value: N
|
|
196
|
+
}), Object.defineProperty(e, "_debugTask", {
|
|
197
|
+
configurable: !1,
|
|
198
|
+
enumerable: !1,
|
|
199
|
+
writable: !0,
|
|
200
|
+
value: O
|
|
201
|
+
}), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
|
|
202
|
+
}
|
|
203
|
+
function A(e, r, n, c, v, b, N, O) {
|
|
204
|
+
var i = r.children;
|
|
205
|
+
if (i !== void 0)
|
|
206
|
+
if (c)
|
|
207
|
+
if (se(i)) {
|
|
208
|
+
for (c = 0; c < i.length; c++)
|
|
209
|
+
C(i[c]);
|
|
210
|
+
Object.freeze && Object.freeze(i);
|
|
211
|
+
} else
|
|
212
|
+
console.error(
|
|
213
|
+
"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
|
|
214
|
+
);
|
|
215
|
+
else C(i);
|
|
216
|
+
if ($.call(r, "key")) {
|
|
217
|
+
i = t(e);
|
|
218
|
+
var g = Object.keys(r).filter(function(le) {
|
|
219
|
+
return le !== "key";
|
|
220
|
+
});
|
|
221
|
+
c = 0 < g.length ? "{key: someKey, " + g.join(": ..., ") + ": ...}" : "{key: someKey}", U[i + c] || (g = 0 < g.length ? "{" + g.join(": ..., ") + ": ...}" : "{}", console.error(
|
|
222
|
+
`A props object containing a "key" prop is being spread into JSX:
|
|
223
|
+
let props = %s;
|
|
224
|
+
<%s {...props} />
|
|
225
|
+
React keys must be passed directly to JSX without using spread:
|
|
226
|
+
let props = %s;
|
|
227
|
+
<%s key={someKey} {...props} />`,
|
|
228
|
+
c,
|
|
229
|
+
i,
|
|
230
|
+
g,
|
|
231
|
+
i
|
|
232
|
+
), U[i + c] = !0);
|
|
233
|
+
}
|
|
234
|
+
if (i = null, n !== void 0 && (u(n), i = "" + n), f(r) && (u(r.key), i = "" + r.key), "key" in r) {
|
|
235
|
+
n = {};
|
|
236
|
+
for (var P in r)
|
|
237
|
+
P !== "key" && (n[P] = r[P]);
|
|
238
|
+
} else n = r;
|
|
239
|
+
return i && p(
|
|
240
|
+
n,
|
|
241
|
+
typeof e == "function" ? e.displayName || e.name || "Unknown" : e
|
|
242
|
+
), h(
|
|
243
|
+
e,
|
|
244
|
+
i,
|
|
245
|
+
b,
|
|
246
|
+
v,
|
|
247
|
+
d(),
|
|
248
|
+
n,
|
|
249
|
+
N,
|
|
250
|
+
O
|
|
251
|
+
);
|
|
252
|
+
}
|
|
253
|
+
function C(e) {
|
|
254
|
+
typeof e == "object" && e !== null && e.$$typeof === y && e._store && (e._store.validated = 1);
|
|
255
|
+
}
|
|
256
|
+
var R = ue, y = Symbol.for("react.transitional.element"), B = Symbol.for("react.portal"), j = Symbol.for("react.fragment"), H = Symbol.for("react.strict_mode"), Z = Symbol.for("react.profiler"), Q = Symbol.for("react.consumer"), K = Symbol.for("react.context"), ee = Symbol.for("react.forward_ref"), re = Symbol.for("react.suspense"), te = Symbol.for("react.suspense_list"), ae = Symbol.for("react.memo"), I = Symbol.for("react.lazy"), oe = Symbol.for("react.activity"), ne = Symbol.for("react.client.reference"), S = R.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, $ = Object.prototype.hasOwnProperty, se = Array.isArray, k = console.createTask ? console.createTask : function() {
|
|
257
|
+
return null;
|
|
258
|
+
};
|
|
259
|
+
R = {
|
|
260
|
+
react_stack_bottom_frame: function(e) {
|
|
261
|
+
return e();
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
var D, Y = {}, F = R.react_stack_bottom_frame.bind(
|
|
265
|
+
R,
|
|
266
|
+
s
|
|
267
|
+
)(), M = k(m(s)), U = {};
|
|
268
|
+
_.Fragment = j, _.jsx = function(e, r, n, c, v) {
|
|
269
|
+
var b = 1e4 > S.recentlyCreatedOwnerStacks++;
|
|
270
|
+
return A(
|
|
271
|
+
e,
|
|
272
|
+
r,
|
|
273
|
+
n,
|
|
274
|
+
!1,
|
|
275
|
+
c,
|
|
276
|
+
v,
|
|
277
|
+
b ? Error("react-stack-top-frame") : F,
|
|
278
|
+
b ? k(m(e)) : M
|
|
279
|
+
);
|
|
280
|
+
}, _.jsxs = function(e, r, n, c, v) {
|
|
281
|
+
var b = 1e4 > S.recentlyCreatedOwnerStacks++;
|
|
282
|
+
return A(
|
|
283
|
+
e,
|
|
284
|
+
r,
|
|
285
|
+
n,
|
|
286
|
+
!0,
|
|
287
|
+
c,
|
|
288
|
+
v,
|
|
289
|
+
b ? Error("react-stack-top-frame") : F,
|
|
290
|
+
b ? k(m(e)) : M
|
|
291
|
+
);
|
|
292
|
+
};
|
|
293
|
+
}()), _;
|
|
294
|
+
}
|
|
295
|
+
var q;
|
|
296
|
+
function ke() {
|
|
297
|
+
return q || (q = 1, process.env.NODE_ENV === "production" ? w.exports = je() : w.exports = Se()), w.exports;
|
|
298
|
+
}
|
|
299
|
+
var o = ke();
|
|
300
|
+
const X = (t) => {
|
|
301
|
+
const l = new Date(Number(t));
|
|
302
|
+
return `${l.toLocaleDateString("en-US", { year: void 0, month: "short", day: "2-digit" })}, ${l.toLocaleTimeString("en-US", { hour: "2-digit", minute: "2-digit", second: "2-digit", hourCycle: "h24" })}.${l.getMilliseconds().toString().padStart(3, "0")}`;
|
|
303
|
+
}, Ne = ["id", "msg", "time", "level", "step", "flows", "traceId"], Oe = ({ log: t, onClose: l }) => {
|
|
304
|
+
const [u, m] = z(!1), d = L(() => {
|
|
305
|
+
if (!t)
|
|
306
|
+
return null;
|
|
307
|
+
const s = Object.keys(t ?? {}).filter((f) => !Ne.includes(f));
|
|
308
|
+
return m(s.length > 0), s.reduce(
|
|
309
|
+
(f, p) => (f[p] = t[p], f),
|
|
310
|
+
{}
|
|
311
|
+
);
|
|
312
|
+
}, [t]);
|
|
313
|
+
return t ? /* @__PURE__ */ o.jsx(
|
|
314
|
+
de,
|
|
315
|
+
{
|
|
316
|
+
onClose: l,
|
|
317
|
+
title: "Logs Details",
|
|
318
|
+
subtitle: "Details including custom properties",
|
|
319
|
+
actions: [{ icon: /* @__PURE__ */ o.jsx(V, {}), onClick: l, label: "Close" }],
|
|
320
|
+
details: [
|
|
321
|
+
{
|
|
322
|
+
label: "Level",
|
|
323
|
+
value: /* @__PURE__ */ o.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
324
|
+
/* @__PURE__ */ o.jsx(G, { level: t.level }),
|
|
325
|
+
/* @__PURE__ */ o.jsx("div", { className: "capitalize", children: t.level })
|
|
326
|
+
] })
|
|
327
|
+
},
|
|
328
|
+
{ label: "Time", value: X(t.time) },
|
|
329
|
+
{ label: "Step", value: t.step },
|
|
330
|
+
{ label: "Flows", value: t.flows.join(", ") },
|
|
331
|
+
{ label: "Trace ID", value: t.traceId }
|
|
332
|
+
],
|
|
333
|
+
children: u && /* @__PURE__ */ o.jsx(_e, { src: d, theme: "default", enableClipboard: !0 })
|
|
334
|
+
}
|
|
335
|
+
) : null;
|
|
336
|
+
}, $e = () => {
|
|
337
|
+
const t = x((a) => a.logs), l = x((a) => a.resetLogs), u = x((a) => a.selectedLogId), m = x((a) => a.selectLogId), d = L(
|
|
338
|
+
() => u ? t.find((a) => a.id === u) : void 0,
|
|
339
|
+
[t, u]
|
|
340
|
+
), [s, f] = z(""), p = L(() => t.filter((a) => a.msg.toLowerCase().includes(s.toLowerCase()) || a.traceId.toLowerCase().includes(s.toLowerCase()) || a.step.toLowerCase().includes(s.toLowerCase())), [t, s]);
|
|
341
|
+
return /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
|
|
342
|
+
/* @__PURE__ */ o.jsxs("div", { className: "grid grid-rows-[auto_1fr] h-full", "data-testid": "logs-container", children: [
|
|
343
|
+
/* @__PURE__ */ o.jsxs("div", { className: "flex p-2 border-b gap-2", "data-testid": "logs-search-container", children: [
|
|
344
|
+
/* @__PURE__ */ o.jsxs("div", { className: "flex-1 relative", children: [
|
|
345
|
+
/* @__PURE__ */ o.jsx(
|
|
346
|
+
fe,
|
|
347
|
+
{
|
|
348
|
+
variant: "shade",
|
|
349
|
+
value: s,
|
|
350
|
+
onChange: (a) => f(a.target.value),
|
|
351
|
+
className: "px-9 font-medium",
|
|
352
|
+
placeholder: "Search by Trace ID or Message"
|
|
353
|
+
}
|
|
354
|
+
),
|
|
355
|
+
/* @__PURE__ */ o.jsx(ge, { className: "absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground/50" }),
|
|
356
|
+
/* @__PURE__ */ o.jsx(
|
|
357
|
+
V,
|
|
358
|
+
{
|
|
359
|
+
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",
|
|
360
|
+
onClick: () => f("")
|
|
361
|
+
}
|
|
362
|
+
)
|
|
363
|
+
] }),
|
|
364
|
+
/* @__PURE__ */ o.jsxs(me, { variant: "default", onClick: l, className: "h-[34px]", children: [
|
|
365
|
+
/* @__PURE__ */ o.jsx(Ee, {}),
|
|
366
|
+
" Clear"
|
|
367
|
+
] })
|
|
368
|
+
] }),
|
|
369
|
+
/* @__PURE__ */ o.jsx(pe, { children: /* @__PURE__ */ o.jsx(be, { className: "font-mono font-medium", children: p.map((a, h) => /* @__PURE__ */ o.jsxs(
|
|
370
|
+
ve,
|
|
371
|
+
{
|
|
372
|
+
"data-testid": "log-row",
|
|
373
|
+
className: he("font-mono font-semibold cursor-pointer border-0", {
|
|
374
|
+
"bg-muted-foreground/10 hover:bg-muted-foreground/20": u === a.id,
|
|
375
|
+
"hover:bg-muted-foreground/10": u !== a.id
|
|
376
|
+
}),
|
|
377
|
+
onClick: () => m(a.id),
|
|
378
|
+
children: [
|
|
379
|
+
/* @__PURE__ */ o.jsxs(
|
|
380
|
+
T,
|
|
381
|
+
{
|
|
382
|
+
"data-testid": `time-${h}`,
|
|
383
|
+
className: "whitespace-nowrap flex items-center gap-2 text-muted-foreground",
|
|
384
|
+
children: [
|
|
385
|
+
/* @__PURE__ */ o.jsx(G, { level: a.level }),
|
|
386
|
+
X(a.time)
|
|
387
|
+
]
|
|
388
|
+
}
|
|
389
|
+
),
|
|
390
|
+
/* @__PURE__ */ o.jsx(
|
|
391
|
+
T,
|
|
392
|
+
{
|
|
393
|
+
"data-testid": `trace-${a.traceId}`,
|
|
394
|
+
className: "whitespace-nowrap cursor-pointer hover:text-primary text-muted-foreground",
|
|
395
|
+
onClick: () => f(a.traceId),
|
|
396
|
+
children: a.traceId
|
|
397
|
+
}
|
|
398
|
+
),
|
|
399
|
+
/* @__PURE__ */ o.jsx(T, { "data-testid": `step-${h}`, "aria-label": a.step, className: "whitespace-nowrap", children: a.step }),
|
|
400
|
+
/* @__PURE__ */ o.jsx(
|
|
401
|
+
T,
|
|
402
|
+
{
|
|
403
|
+
"data-testid": `msg-${h}`,
|
|
404
|
+
"aria-label": a.msg,
|
|
405
|
+
className: "whitespace-nowrap max-w-[500px] truncate w-full",
|
|
406
|
+
children: a.msg
|
|
407
|
+
}
|
|
408
|
+
)
|
|
409
|
+
]
|
|
410
|
+
},
|
|
411
|
+
h
|
|
412
|
+
)) }) })
|
|
413
|
+
] }),
|
|
414
|
+
/* @__PURE__ */ o.jsx(Oe, { log: d, onClose: () => m(void 0) })
|
|
415
|
+
] });
|
|
416
|
+
};
|
|
417
|
+
we();
|
|
418
|
+
export {
|
|
419
|
+
$e as LogsPage
|
|
10
420
|
};
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-font-weight:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--font-weight-medium:500;--font-weight-semibold:600;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-weight-500:var(--font-weight-500);--font-weight-600:var(--font-weight-600);--font-weight-700:var(--font-weight-700)}}@layer base{*{border-color:var(--border)}body{background-color:var(--background);color:var(--foreground)}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.relative{position:relative}.top-1\/2{top:50%}.right-3{right:calc(var(--spacing)*3)}.left-3{left:calc(var(--spacing)*3)}.flex{display:flex}.grid{display:grid}.h-4{height:calc(var(--spacing)*4)}.h-\[34px\]{height:34px}.h-full{height:100%}.w-4{width:calc(var(--spacing)*4)}.w-full{width:100%}.max-w-\[500px\]{max-width:500px}.flex-1{flex:1}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.cursor-pointer{cursor:pointer}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.items-center{align-items:center}.gap-2{gap:calc(var(--spacing)*2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border-0{border-style:var(--tw-border-style);border-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.bg-muted-foreground\/10{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/10{background-color:color-mix(in oklab,var(--muted-foreground)10%,transparent)}}.p-2{padding:calc(var(--spacing)*2)}.px-9{padding-inline:calc(var(--spacing)*9)}.font-mono{font-family:var(--font-mono)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-muted-foreground,.text-muted-foreground\/50{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/50{color:color-mix(in oklab,var(--muted-foreground)50%,transparent)}}.capitalize{text-transform:capitalize}@media (hover:hover){.hover\:bg-muted-foreground\/10:hover{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted-foreground\/10:hover{background-color:color-mix(in oklab,var(--muted-foreground)10%,transparent)}}.hover\:bg-muted-foreground\/20:hover{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted-foreground\/20:hover{background-color:color-mix(in oklab,var(--muted-foreground)20%,transparent)}}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-primary:hover{color:var(--primary)}}}:root{--default-font-family:"DM Sans",ui-sans-serif,sans-serif;--font-dm-mono:"DM Mono",ui-monospace,monospace;color-scheme:light dark;font-size:16px;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"),serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--accent-1000:#2862fe;--accent-970:#2862fef7;--accent-950:#2862fef2;--accent-900:#2862fee5;--accent-800:#2862fecc;--accent-700:#2862feb2;--accent-600:#2862fe99;--accent-500:#2862fe80;--accent-400:#2862fe66;--accent-300:#2862fe4d;--accent-200:#2862fe33;--accent-100:#2862fe1a;--accent-50:#2862fe0d;--accent-30:#2862fe08;--dark-1000:#0a0a0a;--dark-970:#0a0a0af7;--dark-950:#0a0a0af2;--dark-900:#0a0a0ae5;--dark-800:#0a0a0acc;--dark-700:#0a0a0ab2;--dark-600:#0a0a0a99;--dark-500:#0a0a0a80;--dark-400:#0a0a0a66;--dark-300:#0a0a0a4d;--dark-200:#0a0a0a33;--dark-100:#0a0a0a1a;--dark-50:#0a0a0a0d;--dark-30:#0a0a0a08;--light-1000:#fff;--light-970:#fffffff7;--light-950:#fffffff2;--light-900:#ffffffe5;--light-800:#fffc;--light-700:#ffffffb2;--light-600:#fff9;--light-500:#ffffff80;--light-400:#fff6;--light-300:#ffffff4d;--light-200:#fff3;--light-100:#ffffff1a;--light-50:#ffffff0d;--light-30:#ffffff08;--error:#d61355;--canvas-background:#ebebeb;--background:var(--light-1000);--foreground:var(--dark-1000);--surface-content:var(--dark-30);--surface-component:var(--dark-50);--surface-light-100:var(--dark-100);--surface-light-200:var(--dark-200);--border:var(--dark-100);--border-accent:var(--accent-1000);--states-hover:var(--dark-30);--states-selected:var(--dark-100);--states-active:var(--accent-1000);--text-header:var(--dark-1000);--text-body:var(--dark-600);--text-placeholder:var(--dark-400);--text-accent:var(--accent-1000);--text-error:var(--error);--icon-active:var(--dark-1000);--icon-light:var(--dark-600);--icon-component:var(--dark-400);--icon-accent:var(--accent-1000);--primary:var(--accent-1000);--primary-foreground:var(--light-1000);--secondary:var(--surface-component);--secondary-foreground:var(--text-body);--muted:var(--surface-light-100);--muted-foreground:var(--text-body);--accent:var(--accent-1000);--accent-foreground:var(--light-1000);--destructive:var(--error);--destructive-foreground:var(--light-1000);--card:var(--surface-content);--card-foreground:var(--foreground);--popover:var(--surface-content);--popover-foreground:var(--foreground);--input:var(--states-hover);--ring:var(--border-accent);--chart-1:var(--accent-1000);--chart-2:var(--accent-800);--chart-3:var(--accent-600);--chart-4:var(--accent-400);--chart-5:var(--accent-200);--header:var(--background);--header-foreground:var(--text-header);--header-primary:var(--primary);--header-primary-foreground:var(--primary-foreground);--header-accent:var(--surface-component);--header-accent-foreground:var(--text-body);--header-border:var(--border);--header-ring:var(--ring);--sidebar:var(--background);--sidebar-foreground:var(--text-header);--sidebar-primary:var(--primary);--sidebar-primary-foreground:var(--primary-foreground);--sidebar-accent:var(--surface-component);--sidebar-accent-foreground:var(--text-body);--sidebar-border:var(--border);--sidebar-ring:var(--ring);width:100%}.dark{--canvas-background:#030303;--background:var(--dark-1000);--foreground:var(--light-1000);--surface-content:var(--light-30);--surface-component:var(--light-50);--surface-light-100:var(--light-100);--surface-light-200:var(--light-200);--border:var(--light-100);--states-hover:var(--light-30);--states-selected:var(--light-100);--text-header:var(--light-1000);--text-body:var(--light-600);--text-placeholder:var(--light-400);--icon-active:var(--light-1000);--icon-light:var(--light-600);--icon-component:var(--light-400);--secondary-foreground:var(--light-600);--muted-foreground:var(--light-600);--card:var(--surface-content);--card-foreground:var(--foreground);--popover:var(--surface-content);--popover-foreground:var(--foreground);--input:var(--states-hover);--ring:var(--border-accent);--chart-1:var(--accent-1000);--chart-2:var(--accent-800);--chart-3:var(--accent-600);--chart-4:var(--accent-400);--chart-5:var(--accent-200);--header:var(--background);--header-foreground:var(--text-header);--header-primary:var(--primary);--header-primary-foreground:var(--primary-foreground);--header-accent:var(--surface-component);--header-accent-foreground:var(--text-body);--header-border:var(--border);--header-ring:var(--ring);--sidebar:var(--background);--sidebar-foreground:var(--text-header);--sidebar-primary:var(--primary);--sidebar-primary-foreground:var(--primary-foreground);--sidebar-accent:var(--surface-component);--sidebar-accent-foreground:var(--text-body);--sidebar-border:var(--border);--sidebar-ring:var(--ring)}.json-view{background-color:#0000!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}:is(.dark .json-view,.dark.json-view){color:#d1d1d1;--json-property: #009033;--json-index: #5d75f2;--json-number: #5d75f2;--json-string: #c57e29;--json-boolean: #e4407b;--json-null: #e4407b}:is(.dark .json-view_a11y,.dark.json-view_a11y){color:#d1d1d1;--json-property: #ffd700;--json-index: #00e0e0;--json-number: #00e0e0;--json-string: #abe338;--json-boolean: #ffa07a;--json-null: #ffa07a}:is(.dark .json-view_github,.dark.json-view_github){color:#79b8ff;--json-property: #79b8ff;--json-index: #79b8ff;--json-number: #79b8ff;--json-string: #9ecbff;--json-boolean: #79b8ff;--json-null: #79b8ff}:is(.dark .json-view_vscode,.dark.json-view_vscode){color:orchid;--json-property: #9cdcfe;--json-index: #b5cea8;--json-number: #b5cea8;--json-string: #ce9178;--json-boolean: #569cd6;--json-null: #569cd6}:is(.dark .json-view_atom,.dark.json-view_atom){color:#abb2bf;--json-property: #e06c75;--json-index: #d19a66;--json-number: #d19a66;--json-string: #98c379;--json-boolean: #56b6c2;--json-null: #56b6c2}:is(.dark .json-view_winter-is-coming,.dark.json-view_winter-is-coming){color:#a7dbf7;--json-property: #91dacd;--json-index: #8dec95;--json-number: #8dec95;--json-string: #e0aff5;--json-boolean: #f29fd8;--json-null: #f29fd8}.json-view{display:block;color:#4d4d4d;text-align:left;--json-property: #009033;--json-index: #676dff;--json-number: #676dff;--json-string: #b2762e;--json-boolean: #dc155e;--json-null: #dc155e}.json-view .json-view--property{color:var(--json-property)}.json-view .json-view--index{color:var(--json-index)}.json-view .json-view--number{color:var(--json-number)}.json-view .json-view--string{color:var(--json-string)}.json-view .json-view--boolean{color:var(--json-boolean)}.json-view .json-view--null{color:var(--json-null)}.json-view .jv-indent{padding-left:1em}.json-view .jv-chevron{display:inline-block;vertical-align:-20%;cursor:pointer;opacity:.4;width:1em;height:1em}:is(.json-view .jv-chevron:hover,.json-view .jv-size:hover+.jv-chevron){opacity:.8}.json-view .jv-size{cursor:pointer;opacity:.4;font-size:.875em;font-style:italic;margin-left:.5em;vertical-align:-5%;line-height:1}.json-view :is(.json-view--copy,.json-view--edit),.json-view .json-view--link svg{display:none;width:1em;height:1em;margin-left:.25em;cursor:pointer}.json-view .json-view--input{width:120px;margin-left:.25em;border-radius:4px;border:1px solid currentColor;padding:0 4px;font-size:87.5%;line-height:1.25;background:transparent}.json-view .json-view--deleting{outline:1px solid #da0000;background-color:#da000011;text-decoration-line:line-through}:is(.json-view:hover,.json-view--pair:hover)>:is(.json-view--copy,.json-view--edit),:is(.json-view:hover,.json-view--pair:hover)>.json-view--link svg{display:inline-block}.json-view .jv-button{background:transparent;outline:none;border:none;cursor:pointer;color:inherit}.json-view .cursor-pointer{cursor:pointer}.json-view svg{vertical-align:-10%}.jv-size-chevron~svg{vertical-align:-16%}.json-view_a11y{color:#545454;--json-property: #aa5d00;--json-index: #007299;--json-number: #007299;--json-string: #008000;--json-boolean: #d91e18;--json-null: #d91e18}.json-view_github{color:#005cc5;--json-property: #005cc5;--json-index: #005cc5;--json-number: #005cc5;--json-string: #032f62;--json-boolean: #005cc5;--json-null: #005cc5}.json-view_vscode{color:#005cc5;--json-property: #0451a5;--json-index: #0000ff;--json-number: #0000ff;--json-string: #a31515;--json-boolean: #0000ff;--json-null: #0000ff}.json-view_atom{color:#383a42;--json-property: #e45649;--json-index: #986801;--json-number: #986801;--json-string: #50a14f;--json-boolean: #0184bc;--json-null: #0184bc}.json-view_winter-is-coming{color:#0431fa;--json-property: #3a9685;--json-index: #ae408b;--json-number: #ae408b;--json-string: #8123a9;--json-boolean: #0184bc;--json-null: #0184bc}
|
package/dist/plugin.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function o(e){return{workbench:[{packageName:"@motiadev/plugin-logs",label:"Logs",position:"bottom",componentName:"LogsPage",labelIcon:"logs"}]}}module.exports=o;
|
package/dist/plugin.d.ts
ADDED
|
@@ -0,0 +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;AAErE,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,WAAW,CAYrE"}
|
package/dist/plugin.js
ADDED
|
@@ -6,5 +6,5 @@ export type LogsState = {
|
|
|
6
6
|
resetLogs: () => void;
|
|
7
7
|
selectLogId: (logId?: string) => void;
|
|
8
8
|
};
|
|
9
|
-
export declare const useLogsStore: import(
|
|
9
|
+
export declare const useLogsStore: import('zustand').UseBoundStore<import('zustand').StoreApi<LogsState>>;
|
|
10
10
|
//# sourceMappingURL=use-logs-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-logs-store.d.ts","sourceRoot":"","sources":["../../src/stores/use-logs-store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"use-logs-store.d.ts","sourceRoot":"","sources":["../../src/stores/use-logs-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAEvC,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,GAAG,EAAE,CAAA;IACX,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAA;IAC1B,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,YAAY,wEAWtB,CAAA"}
|