dorkos 0.26.0 → 0.28.0
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/bin/cli.js +15 -15
- package/dist/client/assets/{TopologyGraph-DUezNsm-.js → TopologyGraph-BaiZveMC.js} +3 -3
- package/dist/client/assets/{highlighted-body-TPN3WLV5-C60XBdum.js → highlighted-body-TPN3WLV5-BUQbhdip.js} +1 -1
- package/dist/client/assets/index-BwRA7wsa.css +1 -0
- package/dist/client/assets/{index-BveJmYuj.js → index-CNUb7Lio.js} +1 -1
- package/dist/client/assets/index-CdnIpAgi.js +1118 -0
- package/dist/client/assets/{index-BwtKEXCM.js → index-DxBk4h1v.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/drizzle/0009_known_tigra.sql +20 -0
- package/dist/drizzle/0010_rare_rhodey.sql +37 -0
- package/dist/drizzle/0011_tasks_system_redesign.sql +28 -0
- package/dist/drizzle/meta/0009_snapshot.json +887 -0
- package/dist/drizzle/meta/0010_snapshot.json +868 -0
- package/dist/drizzle/meta/0011_snapshot.json +891 -0
- package/dist/drizzle/meta/_journal.json +21 -0
- package/dist/server/index.js +5020 -2644
- package/dist/server/index.js.map +4 -4
- package/package.json +1 -1
- package/dist/client/assets/index-Bv8dGtOW.css +0 -1
- package/dist/client/assets/index-GYKzCHRN.js +0 -1108
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as b,j as e,T as f,C as v,P as N,a as E,c as g,b as k,S,u as w,d as y,e as C,f as T,g as R,h as z,t as m}from"./index-
|
|
1
|
+
import{r as b,j as e,T as f,C as v,P as N,a as E,c as g,b as k,S,u as w,d as y,e as C,f as T,g as R,h as z,t as m}from"./index-CdnIpAgi.js";import{E as M,i as _,k as H,l as B}from"./index-CdnIpAgi.js";const P=new Set(["disabled","discovered","incompatible","invalid"]);function I({extension:o,onToggle:u,isToggling:c}){const{manifest:s,status:t,scope:h,error:n}=o,[r,a]=b.useState(!1),x=!P.has(t),d=t==="incompatible",l=t==="invalid",i=t==="compile_error"||t==="activate_error",j=!d&&!l;return e.jsx("div",{"data-slot":"extension-card","data-testid":`extension-card-${o.id}`,className:g("bg-card rounded-xl border p-4",i&&"border-amber-500/50",(d||l)&&"opacity-70"),children:e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"min-w-0 flex-1 space-y-1.5",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[i&&e.jsx(f,{className:"size-4 shrink-0 text-amber-500","aria-hidden":"true"}),(d||l)&&!i&&e.jsx(v,{className:"text-muted-foreground size-4 shrink-0","aria-hidden":"true"}),!i&&!d&&!l&&e.jsx(N,{className:"text-muted-foreground size-4 shrink-0","aria-hidden":"true"}),e.jsx("span",{className:"font-medium",children:s.name}),e.jsxs("span",{className:"text-muted-foreground text-sm",children:["v",s.version]})]}),s.description&&e.jsx("p",{className:"text-muted-foreground text-sm",children:s.description}),d&&s.minHostVersion&&e.jsxs("p",{className:"text-muted-foreground text-sm",children:["Requires DorkOS >= ",s.minHostVersion]}),i&&n&&e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"text-sm text-amber-600 dark:text-amber-400",children:[t==="compile_error"?"Compilation error: ":"Activation failed: ",n.message]}),n.details&&e.jsxs("button",{type:"button",onClick:()=>a(p=>!p),className:"text-muted-foreground hover:text-foreground flex items-center gap-1 text-xs transition-colors","aria-expanded":r,children:[e.jsx(E,{className:g("size-3 transition-transform",r&&"rotate-180")}),r?"Hide details":"Show details"]}),r&&n.details&&e.jsx("pre",{className:"bg-muted mt-1 max-h-32 overflow-auto rounded-md p-2 text-xs",children:n.details})]}),e.jsxs("div",{className:"text-muted-foreground flex flex-wrap items-center gap-2 text-xs",children:[e.jsx(k,{variant:"outline",className:"text-xs",children:h}),s.author&&e.jsx("span",{children:s.author})]})]}),e.jsx("div",{className:"pt-0.5",children:e.jsx(S,{checked:x,onCheckedChange:p=>u(o.id,p),disabled:!j||c,"aria-label":`${x?"Disable":"Enable"} ${s.name}`})})]})})}function A(){const{data:o=[],isLoading:u}=w(),c=y(),s=C(),t=T(),h=new Set([...c.variables?[c.variables]:[],...s.variables?[s.variables]:[]]);async function n(a,x){(x?c:s).mutate(a,{onSuccess:()=>{m.info("Extension changed — reload the page to apply",{action:{label:"Reload now",onClick:()=>location.reload()}})},onError:l=>{const i=x?"enable":"disable";m.error(`Failed to ${i} extension: ${l.message}`)}})}function r(){t.mutate(void 0,{onSuccess:a=>{m.success(`Reloaded ${a.length} extension(s)`)},onError:()=>{m.error("Failed to reload extensions")}})}return u?e.jsx("div",{className:"text-muted-foreground py-8 text-center text-sm",children:"Loading extensions…"}):e.jsxs("div",{className:"space-y-4",children:[e.jsxs("p",{className:"text-muted-foreground text-sm",children:["Extensions add new UI and capabilities to DorkOS. Place them in"," ",e.jsx("code",{className:"bg-muted rounded px-1",children:"~/.dork/extensions/"})," or"," ",e.jsx("code",{className:"bg-muted rounded px-1",children:".dork/extensions/"})," in your project."]}),o.length===0?e.jsx("div",{className:"text-muted-foreground py-8 text-center text-sm","data-testid":"no-extensions",children:e.jsx("p",{children:"No extensions installed."})}):e.jsx("div",{className:"space-y-3",children:o.map(a=>e.jsx(I,{extension:a,onToggle:n,isToggling:h.has(a.id)},a.id))}),e.jsx("div",{className:"flex justify-end",children:e.jsxs(R,{variant:"outline",size:"sm",onClick:r,disabled:t.isPending,"data-testid":"reload-extensions-button",children:[e.jsx(z,{className:g("mr-2 size-4",t.isPending&&"animate-spin")}),"Reload Extensions"]})})]})}export{M as ExtensionLoader,_ as ExtensionProvider,A as ExtensionsSettingsTab,H as createExtensionAPI,B as useExtensions};
|
package/dist/client/index.html
CHANGED
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
if (dark) document.documentElement.classList.add('dark');
|
|
16
16
|
})();
|
|
17
17
|
</script>
|
|
18
|
-
<script type="module" crossorigin src="/assets/index-
|
|
19
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
18
|
+
<script type="module" crossorigin src="/assets/index-CdnIpAgi.js"></script>
|
|
19
|
+
<link rel="stylesheet" crossorigin href="/assets/index-BwRA7wsa.css">
|
|
20
20
|
</head>
|
|
21
21
|
<body>
|
|
22
22
|
<div id="root"></div>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
CREATE TABLE `activity_events` (
|
|
2
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
3
|
+
`occurred_at` text NOT NULL,
|
|
4
|
+
`actor_type` text NOT NULL,
|
|
5
|
+
`actor_id` text,
|
|
6
|
+
`actor_label` text NOT NULL,
|
|
7
|
+
`category` text NOT NULL,
|
|
8
|
+
`event_type` text NOT NULL,
|
|
9
|
+
`resource_type` text,
|
|
10
|
+
`resource_id` text,
|
|
11
|
+
`resource_label` text,
|
|
12
|
+
`summary` text NOT NULL,
|
|
13
|
+
`link_path` text,
|
|
14
|
+
`metadata` text,
|
|
15
|
+
`created_at` text NOT NULL
|
|
16
|
+
);
|
|
17
|
+
--> statement-breakpoint
|
|
18
|
+
CREATE INDEX `idx_activity_occurred_at` ON `activity_events` (`occurred_at`);--> statement-breakpoint
|
|
19
|
+
CREATE INDEX `idx_activity_category` ON `activity_events` (`category`);--> statement-breakpoint
|
|
20
|
+
CREATE INDEX `idx_activity_actor_type` ON `activity_events` (`actor_type`);
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
-- Make pulse_schedules.cron nullable (tasks can be on-demand without a schedule)
|
|
2
|
+
-- Must drop pulse_runs first since it has FK to pulse_schedules
|
|
3
|
+
PRAGMA foreign_keys=OFF;--> statement-breakpoint
|
|
4
|
+
DROP TABLE IF EXISTS `pulse_runs`;--> statement-breakpoint
|
|
5
|
+
CREATE TABLE `__new_pulse_schedules` (
|
|
6
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
7
|
+
`name` text NOT NULL,
|
|
8
|
+
`description` text,
|
|
9
|
+
`cron` text,
|
|
10
|
+
`timezone` text DEFAULT 'UTC' NOT NULL,
|
|
11
|
+
`prompt` text NOT NULL,
|
|
12
|
+
`cwd` text,
|
|
13
|
+
`agent_id` text,
|
|
14
|
+
`enabled` integer DEFAULT true NOT NULL,
|
|
15
|
+
`max_runtime` integer,
|
|
16
|
+
`permission_mode` text DEFAULT 'acceptEdits' NOT NULL,
|
|
17
|
+
`status` text DEFAULT 'active' NOT NULL,
|
|
18
|
+
`created_at` text NOT NULL,
|
|
19
|
+
`updated_at` text NOT NULL
|
|
20
|
+
);--> statement-breakpoint
|
|
21
|
+
INSERT INTO `__new_pulse_schedules`("id", "name", "description", "cron", "timezone", "prompt", "cwd", "agent_id", "enabled", "max_runtime", "permission_mode", "status", "created_at", "updated_at") SELECT "id", "name", "description", "cron", "timezone", "prompt", "cwd", "agent_id", "enabled", "max_runtime", "permission_mode", "status", "created_at", "updated_at" FROM `pulse_schedules`;--> statement-breakpoint
|
|
22
|
+
DROP TABLE `pulse_schedules`;--> statement-breakpoint
|
|
23
|
+
ALTER TABLE `__new_pulse_schedules` RENAME TO `pulse_schedules`;--> statement-breakpoint
|
|
24
|
+
CREATE TABLE `pulse_runs` (
|
|
25
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
26
|
+
`schedule_id` text NOT NULL REFERENCES `pulse_schedules`(`id`),
|
|
27
|
+
`status` text NOT NULL,
|
|
28
|
+
`started_at` text NOT NULL,
|
|
29
|
+
`finished_at` text,
|
|
30
|
+
`duration_ms` integer,
|
|
31
|
+
`output` text,
|
|
32
|
+
`error` text,
|
|
33
|
+
`session_id` text,
|
|
34
|
+
`trigger` text DEFAULT 'scheduled' NOT NULL,
|
|
35
|
+
`created_at` text NOT NULL
|
|
36
|
+
);--> statement-breakpoint
|
|
37
|
+
PRAGMA foreign_keys=ON;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
-- Tasks System Redesign: add file_path and tags_json to pulse_schedules, add is_system to agents.
|
|
2
|
+
-- Alpha project — drop existing schedules and runs (no backfill needed).
|
|
3
|
+
PRAGMA foreign_keys=OFF;--> statement-breakpoint
|
|
4
|
+
DELETE FROM `pulse_runs`;--> statement-breakpoint
|
|
5
|
+
DELETE FROM `pulse_schedules`;--> statement-breakpoint
|
|
6
|
+
CREATE TABLE `__new_pulse_schedules` (
|
|
7
|
+
`id` text PRIMARY KEY NOT NULL,
|
|
8
|
+
`name` text NOT NULL,
|
|
9
|
+
`description` text,
|
|
10
|
+
`cron` text NOT NULL,
|
|
11
|
+
`timezone` text DEFAULT 'UTC' NOT NULL,
|
|
12
|
+
`prompt` text NOT NULL,
|
|
13
|
+
`cwd` text,
|
|
14
|
+
`agent_id` text,
|
|
15
|
+
`enabled` integer DEFAULT true NOT NULL,
|
|
16
|
+
`max_runtime` integer,
|
|
17
|
+
`permission_mode` text DEFAULT 'acceptEdits' NOT NULL,
|
|
18
|
+
`status` text DEFAULT 'active' NOT NULL,
|
|
19
|
+
`file_path` text NOT NULL,
|
|
20
|
+
`tags_json` text DEFAULT '[]' NOT NULL,
|
|
21
|
+
`created_at` text NOT NULL,
|
|
22
|
+
`updated_at` text NOT NULL
|
|
23
|
+
);
|
|
24
|
+
--> statement-breakpoint
|
|
25
|
+
DROP TABLE `pulse_schedules`;--> statement-breakpoint
|
|
26
|
+
ALTER TABLE `__new_pulse_schedules` RENAME TO `pulse_schedules`;--> statement-breakpoint
|
|
27
|
+
PRAGMA foreign_keys=ON;--> statement-breakpoint
|
|
28
|
+
ALTER TABLE `agents` ADD `is_system` integer DEFAULT false NOT NULL;
|