dorkos 0.35.0 → 0.37.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 CHANGED
@@ -19358,30 +19358,40 @@ import { promises as fs3 } from "node:fs";
19358
19358
  import path5 from "node:path";
19359
19359
  async function validatePackage(packagePath) {
19360
19360
  const issues = [];
19361
- const manifestPath = path5.join(packagePath, PACKAGE_MANIFEST_PATH);
19362
- let manifestContent;
19361
+ let manifestRaw;
19362
+ let manifestSource;
19363
+ const dorkManifestPath = path5.join(packagePath, PACKAGE_MANIFEST_PATH);
19364
+ let dorkManifestContent = null;
19363
19365
  try {
19364
- manifestContent = await fs3.readFile(manifestPath, "utf-8");
19366
+ dorkManifestContent = await fs3.readFile(dorkManifestPath, "utf-8");
19365
19367
  } catch {
19366
- issues.push({
19367
- level: "error",
19368
- code: "MANIFEST_MISSING",
19369
- message: `Required file missing: ${PACKAGE_MANIFEST_PATH}`,
19370
- path: PACKAGE_MANIFEST_PATH
19371
- });
19372
- return { ok: false, issues };
19373
19368
  }
19374
- let manifestRaw;
19375
- try {
19376
- manifestRaw = JSON.parse(manifestContent);
19377
- } catch (err) {
19378
- issues.push({
19379
- level: "error",
19380
- code: "MANIFEST_INVALID_JSON",
19381
- message: `Invalid JSON in manifest: ${err instanceof Error ? err.message : String(err)}`,
19382
- path: PACKAGE_MANIFEST_PATH
19383
- });
19384
- return { ok: false, issues };
19369
+ if (dorkManifestContent !== null) {
19370
+ try {
19371
+ manifestRaw = JSON.parse(dorkManifestContent);
19372
+ } catch (err) {
19373
+ issues.push({
19374
+ level: "error",
19375
+ code: "MANIFEST_INVALID_JSON",
19376
+ message: `Invalid JSON in manifest: ${err instanceof Error ? err.message : String(err)}`,
19377
+ path: PACKAGE_MANIFEST_PATH
19378
+ });
19379
+ return { ok: false, issues };
19380
+ }
19381
+ manifestSource = PACKAGE_MANIFEST_PATH;
19382
+ } else {
19383
+ const synthesized = await synthesizeFromCcManifest(packagePath);
19384
+ if (!synthesized) {
19385
+ issues.push({
19386
+ level: "error",
19387
+ code: "MANIFEST_MISSING",
19388
+ message: `Required file missing: ${PACKAGE_MANIFEST_PATH} (no ${CLAUDE_PLUGIN_MANIFEST_PATH} fallback found either)`,
19389
+ path: PACKAGE_MANIFEST_PATH
19390
+ });
19391
+ return { ok: false, issues };
19392
+ }
19393
+ manifestRaw = synthesized;
19394
+ manifestSource = CLAUDE_PLUGIN_MANIFEST_PATH;
19385
19395
  }
19386
19396
  const parseResult = MarketplacePackageManifestSchema.safeParse(manifestRaw);
19387
19397
  if (!parseResult.success) {
@@ -19390,7 +19400,7 @@ async function validatePackage(packagePath) {
19390
19400
  level: "error",
19391
19401
  code: "MANIFEST_SCHEMA_INVALID",
19392
19402
  message: `${issue2.path.join(".") || "<root>"}: ${issue2.message}`,
19393
- path: PACKAGE_MANIFEST_PATH
19403
+ path: manifestSource
19394
19404
  });
19395
19405
  }
19396
19406
  return { ok: false, issues };
@@ -19457,6 +19467,32 @@ async function validateSkillsInDirectory(fullDir, packagePath, issues) {
19457
19467
  }
19458
19468
  }
19459
19469
  }
19470
+ async function synthesizeFromCcManifest(packagePath) {
19471
+ const ccPath = path5.join(packagePath, CLAUDE_PLUGIN_MANIFEST_PATH);
19472
+ let content;
19473
+ try {
19474
+ content = await fs3.readFile(ccPath, "utf-8");
19475
+ } catch {
19476
+ return null;
19477
+ }
19478
+ let cc;
19479
+ try {
19480
+ cc = JSON.parse(content);
19481
+ } catch {
19482
+ return null;
19483
+ }
19484
+ return {
19485
+ schemaVersion: 1,
19486
+ name: cc.name,
19487
+ version: cc.version ?? "0.0.0",
19488
+ type: "plugin",
19489
+ description: cc.description ?? String(cc.name ?? "CC plugin"),
19490
+ tags: [],
19491
+ layers: [],
19492
+ requires: [],
19493
+ extensions: []
19494
+ };
19495
+ }
19460
19496
  var SKILL_SOURCE_DIRS, PermissiveSkillFrontmatterSchema;
19461
19497
  var init_package_validator = __esm({
19462
19498
  "../marketplace/dist/package-validator.js"() {
@@ -23978,7 +24014,7 @@ import path11 from "path";
23978
24014
  import { fileURLToPath } from "url";
23979
24015
  function resolveVersion() {
23980
24016
  if (env3.DORKOS_VERSION_OVERRIDE) return env3.DORKOS_VERSION_OVERRIDE;
23981
- if (true) return "0.35.0";
24017
+ if (true) return "0.37.0";
23982
24018
  const pkgPath = path11.join(path11.dirname(fileURLToPath(import.meta.url)), "../../package.json");
23983
24019
  return JSON.parse(readFileSync(pkgPath, "utf-8")).version;
23984
24020
  }
@@ -26021,12 +26057,12 @@ Examples:
26021
26057
  process.exit(0);
26022
26058
  }
26023
26059
  if (values.version) {
26024
- console.log("0.35.0");
26060
+ console.log("0.37.0");
26025
26061
  process.exit(0);
26026
26062
  }
26027
26063
  if (values["post-install-check"]) {
26028
26064
  const claudeFound = checkClaude();
26029
- console.log(`dorkos ${"0.35.0"}`);
26065
+ console.log(`dorkos ${"0.37.0"}`);
26030
26066
  if (claudeFound) {
26031
26067
  console.log("Installation verified.");
26032
26068
  } else {
@@ -26170,7 +26206,7 @@ var ansiReset = "\x1B[0m";
26170
26206
  console.log("");
26171
26207
  console.log(`${purple}${logo}${ansiReset}`);
26172
26208
  console.log("");
26173
- console.log(` DorkOS v${"0.35.0"}`);
26209
+ console.log(` DorkOS v${"0.37.0"}`);
26174
26210
  console.log(` Local: ${link(localUrl, localUrl)}`);
26175
26211
  var nets = networkInterfaces();
26176
26212
  var networkUrl = null;
@@ -26231,9 +26267,9 @@ if (shouldOpenBrowser && process.stdin.isTTY) {
26231
26267
  }
26232
26268
  });
26233
26269
  }
26234
- checkForUpdate("0.35.0").then((latestVersion) => {
26270
+ checkForUpdate("0.37.0").then((latestVersion) => {
26235
26271
  if (latestVersion) {
26236
- const msg = `Update available: ${"0.35.0"} \u2192 ${latestVersion}`;
26272
+ const msg = `Update available: ${"0.37.0"} \u2192 ${latestVersion}`;
26237
26273
  const cmd = "Run npm install -g dorkos@latest to update";
26238
26274
  const width = Math.max(msg.length, cmd.length) + 6;
26239
26275
  const pad = (s2) => `\u2502 ${s2}${" ".repeat(width - s2.length - 6)} \u2502`;
@@ -1,4 +1,4 @@
1
- import{m as Tan,n as uRn,o as oRn,r as vn,j as de,p as San,t as sRn,q as fRn,s as lRn,v as uK,w as Ian,x as Pan,c as z4,Z as w2e,y as g2e,z as hRn,B as Lx,D as aRn,F as dRn,X as bRn,G as wRn,H as Ehn,l as gRn,I as pRn,J as mRn,K as vRn,M as yRn,N as kRn,O as jRn,Q as ERn,U as xRn,V as ARn,W as MRn}from"./index-B0iJkOod.js";/**
1
+ import{m as Tan,n as uRn,o as oRn,r as vn,j as de,p as San,t as sRn,q as fRn,s as lRn,v as uK,w as Ian,x as Pan,c as z4,Z as w2e,y as g2e,z as hRn,B as Lx,D as aRn,F as dRn,X as bRn,G as wRn,H as Ehn,l as gRn,I as pRn,J as mRn,K as vRn,M as yRn,N as kRn,O as jRn,Q as ERn,U as xRn,V as ARn,W as MRn}from"./index-B5TKcNau.js";/**
2
2
  * @license lucide-react v0.576.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{m as Tan,n as uRn,o as oRn,r as vn,j as de,p as San,t as sRn,q as fRn,s as lRn,v as uK,w as Ian,x as Pan,c as z4,Z as w2e,y as g2e,z as hRn,B as Lx,D as aRn,F as dRn,X as bRn,G as wRn,H as Ehn,l as gRn,I as pRn,J as mRn,K as vRn,M as yRn,N as kRn,O as jRn,Q as ERn,U as xRn,V as ARn,W as MRn}from"./index-CgsPVUXf.js";/**
1
+ import{m as Tan,n as uRn,o as oRn,r as vn,j as de,p as San,t as sRn,q as fRn,s as lRn,v as uK,w as Ian,x as Pan,c as z4,Z as w2e,y as g2e,z as hRn,B as Lx,D as aRn,F as dRn,X as bRn,G as wRn,H as Ehn,l as gRn,I as pRn,J as mRn,K as vRn,M as yRn,N as kRn,O as jRn,Q as ERn,U as xRn,V as ARn,W as MRn}from"./index-Bpr8KFot.js";/**
2
2
  * @license lucide-react v0.576.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1 +1 @@
1
- import{r,R as x,L as d,j as f,A as p}from"./index-CgsPVUXf.js";var N=({code:i,language:e,raw:a,className:u,startLine:n,lineNumbers:g,...m})=>{let{shikiTheme:l}=r.useContext(x),s=d(),[h,t]=r.useState(a);return r.useEffect(()=>{if(!s){t(a);return}let o=s.highlight({code:i,language:e,themes:l},c=>{t(c)});o&&t(o)},[i,e,l,s,a]),f.jsx(p,{className:u,language:e,lineNumbers:g,result:h,startLine:n,...m})};export{N as HighlightedCodeBlockBody};
1
+ import{r,R as x,L as d,j as f,A as p}from"./index-B5TKcNau.js";var N=({code:i,language:e,raw:a,className:u,startLine:n,lineNumbers:g,...m})=>{let{shikiTheme:l}=r.useContext(x),s=d(),[h,t]=r.useState(a);return r.useEffect(()=>{if(!s){t(a);return}let o=s.highlight({code:i,language:e,themes:l},c=>{t(c)});o&&t(o)},[i,e,l,s,a]),f.jsx(p,{className:u,language:e,lineNumbers:g,result:h,startLine:n,...m})};export{N as HighlightedCodeBlockBody};
@@ -1 +1 @@
1
- import{r,R as x,L as d,j as f,A as p}from"./index-B0iJkOod.js";var N=({code:i,language:e,raw:a,className:u,startLine:n,lineNumbers:g,...m})=>{let{shikiTheme:l}=r.useContext(x),s=d(),[h,t]=r.useState(a);return r.useEffect(()=>{if(!s){t(a);return}let o=s.highlight({code:i,language:e,themes:l},c=>{t(c)});o&&t(o)},[i,e,l,s,a]),f.jsx(p,{className:u,language:e,lineNumbers:g,result:h,startLine:n,...m})};export{N as HighlightedCodeBlockBody};
1
+ import{r,R as x,L as d,j as f,A as p}from"./index-Bpr8KFot.js";var N=({code:i,language:e,raw:a,className:u,startLine:n,lineNumbers:g,...m})=>{let{shikiTheme:l}=r.useContext(x),s=d(),[h,t]=r.useState(a);return r.useEffect(()=>{if(!s){t(a);return}let o=s.highlight({code:i,language:e,themes:l},c=>{t(c)});o&&t(o)},[i,e,l,s,a]),f.jsx(p,{className:u,language:e,lineNumbers:g,result:h,startLine:n,...m})};export{N as HighlightedCodeBlockBody};