dev3000 0.0.173 → 0.0.175
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 +0 -4
- package/dist/cdp-monitor.d.ts +21 -2
- package/dist/cdp-monitor.d.ts.map +1 -1
- package/dist/cdp-monitor.js +449 -107
- package/dist/cdp-monitor.js.map +1 -1
- package/dist/cli.js +193 -216
- package/dist/cli.js.map +1 -1
- package/dist/commands/crawl.d.ts.map +1 -1
- package/dist/commands/crawl.js +4 -43
- package/dist/commands/crawl.js.map +1 -1
- package/dist/commands/errors.d.ts.map +1 -1
- package/dist/commands/errors.js +4 -53
- package/dist/commands/errors.js.map +1 -1
- package/dist/commands/fix.d.ts.map +1 -1
- package/dist/commands/fix.js +5 -74
- package/dist/commands/fix.js.map +1 -1
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +4 -53
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/resume.d.ts +11 -0
- package/dist/commands/resume.d.ts.map +1 -0
- package/dist/commands/resume.js +75 -0
- package/dist/commands/resume.js.map +1 -0
- package/dist/commands/skill-runner.d.ts +14 -0
- package/dist/commands/skill-runner.d.ts.map +1 -0
- package/dist/commands/skill-runner.js +494 -0
- package/dist/commands/skill-runner.js.map +1 -0
- package/dist/dev-environment.d.ts +26 -3
- package/dist/dev-environment.d.ts.map +1 -1
- package/dist/dev-environment.js +285 -118
- package/dist/dev-environment.js.map +1 -1
- package/dist/skills/d3k/internal-skill.md +145 -0
- package/dist/skills/index.test.ts +28 -1
- package/dist/skills/index.ts +58 -7
- package/dist/tui-interface-opentui.d.ts +2 -0
- package/dist/tui-interface-opentui.d.ts.map +1 -1
- package/dist/tui-interface-opentui.js +17 -3
- package/dist/tui-interface-opentui.js.map +1 -1
- package/dist/utils/agent-browser.d.ts.map +1 -1
- package/dist/utils/agent-browser.js +6 -3
- package/dist/utils/agent-browser.js.map +1 -1
- package/dist/utils/agent-detection.d.ts +1 -0
- package/dist/utils/agent-detection.d.ts.map +1 -1
- package/dist/utils/agent-detection.js +11 -0
- package/dist/utils/agent-detection.js.map +1 -1
- package/dist/utils/agent-selection.js +4 -4
- package/dist/utils/agent-selection.js.map +1 -1
- package/dist/utils/browser-command-argv.d.ts +1 -1
- package/dist/utils/browser-command-argv.d.ts.map +1 -1
- package/dist/utils/browser-command-argv.js +1 -1
- package/dist/utils/browser-command-argv.js.map +1 -1
- package/dist/utils/project-metadata.d.ts +4 -0
- package/dist/utils/project-metadata.d.ts.map +1 -0
- package/dist/utils/project-metadata.js +48 -0
- package/dist/utils/project-metadata.js.map +1 -0
- package/dist/utils/project-name.d.ts +2 -0
- package/dist/utils/project-name.d.ts.map +1 -1
- package/dist/utils/project-name.js +6 -0
- package/dist/utils/project-name.js.map +1 -1
- package/dist/utils/session.d.ts +14 -0
- package/dist/utils/session.d.ts.map +1 -0
- package/dist/utils/session.js +65 -0
- package/dist/utils/session.js.map +1 -0
- package/dist/utils/version-check.js +2 -2
- package/dist/utils/version-check.js.map +1 -1
- package/package.json +9 -21
- package/dist/commands/cloud-check-pr.d.ts +0 -9
- package/dist/commands/cloud-check-pr.d.ts.map +0 -1
- package/dist/commands/cloud-check-pr.js +0 -243
- package/dist/commands/cloud-check-pr.js.map +0 -1
- package/dist/commands/cloud-fix.d.ts +0 -13
- package/dist/commands/cloud-fix.d.ts.map +0 -1
- package/dist/commands/cloud-fix.js +0 -79
- package/dist/commands/cloud-fix.js.map +0 -1
- package/dist/commands/find-component.d.ts +0 -8
- package/dist/commands/find-component.d.ts.map +0 -1
- package/dist/commands/find-component.js +0 -182
- package/dist/commands/find-component.js.map +0 -1
- package/dist/skills/d3k/SKILL.md +0 -126
- package/dist/skills/index.d.ts +0 -46
- package/dist/skills/index.d.ts.map +0 -1
- package/dist/skills/index.js +0 -174
- package/dist/skills/index.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-check-pr.js","sourceRoot":"","sources":["../../src/commands/cloud-check-pr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAS1D,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAuB;IACxD,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IAEtD,IAAI,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,CAAA;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAA;QACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAA;QAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,QAAQ,IAAI,aAAa,EAAE,CAAC,CAAC,CAAA;QAC1E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,aAAa,EAAE,CAAC,CAAC,CAAA;QACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,aAAa,EAAE,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,wBAAwB;IACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAA;IAC/D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAE/C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC,CAAA;QAClE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,2DAA2D,CAAC,CAAC,CAAA;QACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAE5E,iEAAiE;IACjE,MAAM,KAAK,GAAG,QAAQ,IAAI,CAAC,MAAM,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;IAEjE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC,CAAA;QAC3F,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC,CAAA;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,KAAK,aAAa,CAAC,CAAC,CAAA;IAE9D,uCAAuC;IACvC,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IAEnF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC,CAAA;QAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,KAAK,KAAK,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAExD,oEAAoE;IACpE,IAAI,UAAU,GAAkB,IAAI,CAAA;IACpC,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAA;QAC3D,UAAU,GAAG,GAAG,CAAA;IAClB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAA;QAC3D,UAAU,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACzE,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC,CAAA;QAC5E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,4DAA4D,CAAC,CAAC,CAAA;QACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAC,CAAA;IAExD,8DAA8D;IAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAA;IACrD,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IACvF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAElE,uCAAuC;IACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAA;IACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAA;IAEzD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;QACtC,UAAU;QACV,OAAO,EAAE,SAAS,CAAC,KAAK;QACxB,MAAM,EAAE,SAAS,CAAC,IAAI;QACtB,YAAY;QACZ,SAAS,EAAE,QAAQ,CAAC,KAAK;QACzB,QAAQ,EAAE,QAAQ,CAAC,IAAI;QACvB,QAAQ,EAAE,KAAK;QACf,KAAK;KACN,CAAC,CAAA;IAEF,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAA;IACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAEvC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAA;IACjD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAA;IAChD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;IAC9C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAE7B,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,EAAE,CAAC,CAAA;IACzF,CAAC;AACH,CAAC;AAQD,KAAK,UAAU,WAAW,CAAC,OAA2B,EAAE,KAAc;IACpE,IAAI,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACZ,6CAA6C;YAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAA;YACjE,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO;oBACL,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;oBACf,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;oBACpC,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;iBACxF,CAAA;YACH,CAAC;QACH,CAAC;QAED,sDAAsD;QACtD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,gCAAgC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;QACtF,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAE/B,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChF,CAAC;QAED,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,MAAM,EAAE,IAAI,CAAC,aAAa;SAC3B,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC,CAAA;QACxE,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,QAAkB,EAAE,KAAc;IAC9D,IAAI,CAAC;QACH,2CAA2C;QAC3C,MAAM,MAAM,GAAG,YAAY,CACzB,IAAI,EACJ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EACpF,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtB,CAAC,IAAI,EAAE,CAAA;QAER,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,MAAM,EAAE,CAAC,CAAC,CAAA;QAClE,CAAC;QAED,OAAO,MAAM,IAAI,IAAI,CAAA;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC,CAAA;QAC1E,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AASD,KAAK,UAAU,cAAc,CAC3B,KAAa,EACb,IAAY,EACZ,QAAgB,EAChB,KAAc;IAEd,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CACzB,IAAI,EACJ,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,IAAI,UAAU,QAAQ,EAAE,EAAE,MAAM,EAAE,kDAAkD,CAAC,EAC/G,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtB,CAAA;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAElC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACpF,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC,CAAA;QAC1E,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,SAAmB,EAAE,MAAc,EAAE,KAAc;IAClF,IAAI,CAAC;QACH,iDAAiD;QACjD,4DAA4D;QAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACvF,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;QACvF,MAAM,KAAK,GAAG,MAAM;aACjB,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,OAAO,CAAC,CAAA;QAElB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;QACzD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAErD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAC,CAAA;QACrE,CAAC;QAED,OAAO,UAAU,IAAI,IAAI,CAAA;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,KAAK,EAAE,CAAC,CAAC,CAAA;QAC7E,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB,EAAE,KAAc;IAC1F,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CACzB,IAAI,EACJ,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,IAAI,UAAU,QAAQ,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EACjF,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtB,CAAA;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAEvD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QACvE,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAC,CAAA;QAC5E,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAaD,sFAAsF;AACtF,KAAK,UAAU,kBAAkB,CAAC,MAAsB;IACtD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IAElG,0DAA0D;IAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,oBAAoB,CAAA;IACnE,MAAM,WAAW,GAAG,GAAG,OAAO,qBAAqB,CAAA;IAEnD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;YACxC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,UAAU;gBACV,OAAO;gBACP,MAAM;gBACN,YAAY;gBACZ,SAAS;gBACT,QAAQ;gBACR,QAAQ;aACT,CAAC;SACH,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;QACpE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAEpC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACxF,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC,CAAA;QACvE,CAAC;QAED,wEAAwE;QACxE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,GAAG,UAAU,kBAAkB;YAC1C,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,sDAAsD;SAChE,CAAA;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export interface CloudFixOptions {
|
|
2
|
-
debug?: boolean;
|
|
3
|
-
repo?: string;
|
|
4
|
-
branch?: string;
|
|
5
|
-
projectDir?: string;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Cloud Fix Command
|
|
9
|
-
*
|
|
10
|
-
* Starts a cloud workflow run for the current repo.
|
|
11
|
-
*/
|
|
12
|
-
export declare function cloudFix(options?: CloudFixOptions): Promise<void>;
|
|
13
|
-
//# sourceMappingURL=cloud-fix.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-fix.d.ts","sourceRoot":"","sources":["../../src/commands/cloud-fix.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAID;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuF3E"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { detectProject } from "../utils/project-detector.js";
|
|
2
|
-
import { isValidRepoArg } from "../utils/repo-validate.js";
|
|
3
|
-
const DEFAULT_API_URL = "https://dev3000.ai";
|
|
4
|
-
/**
|
|
5
|
-
* Cloud Fix Command
|
|
6
|
-
*
|
|
7
|
-
* Starts a cloud workflow run for the current repo.
|
|
8
|
-
*/
|
|
9
|
-
export async function cloudFix(options = {}) {
|
|
10
|
-
const { debug = false, repo, branch, projectDir } = options;
|
|
11
|
-
if (repo && !isValidRepoArg(repo)) {
|
|
12
|
-
throw new Error("Invalid repo format. Use 'owner/name' or a GitHub URL.");
|
|
13
|
-
}
|
|
14
|
-
const project = repo && branch
|
|
15
|
-
? {
|
|
16
|
-
repoUrl: repo,
|
|
17
|
-
branch,
|
|
18
|
-
relativePath: projectDir || "",
|
|
19
|
-
name: projectDir || "app"
|
|
20
|
-
}
|
|
21
|
-
: await (async () => {
|
|
22
|
-
console.log("🔍 Detecting project...");
|
|
23
|
-
return await detectProject();
|
|
24
|
-
})();
|
|
25
|
-
const repoUrl = project.repoUrl;
|
|
26
|
-
const repoBranch = branch || project.branch || "main";
|
|
27
|
-
const projectName = projectDir || project.relativePath || project.name || "app";
|
|
28
|
-
console.log("🚀 Starting cloud fix workflow...");
|
|
29
|
-
console.log(` Repository: ${repoUrl}`);
|
|
30
|
-
console.log(` Branch: ${repoBranch}`);
|
|
31
|
-
console.log(` Project: ${projectName}`);
|
|
32
|
-
console.log();
|
|
33
|
-
const apiBase = process.env.DEV3000_API_URL || DEFAULT_API_URL;
|
|
34
|
-
const workflowUrl = `${apiBase}/api/cloud/start-fix`;
|
|
35
|
-
const headers = {
|
|
36
|
-
"Content-Type": "application/json"
|
|
37
|
-
};
|
|
38
|
-
if (process.env.WORKFLOW_TEST_BYPASS_TOKEN) {
|
|
39
|
-
headers["x-test-bypass-token"] = process.env.WORKFLOW_TEST_BYPASS_TOKEN;
|
|
40
|
-
}
|
|
41
|
-
if (process.env.VERCEL_OIDC_TOKEN) {
|
|
42
|
-
headers["x-vercel-oidc-token"] = process.env.VERCEL_OIDC_TOKEN;
|
|
43
|
-
}
|
|
44
|
-
if (debug) {
|
|
45
|
-
console.log(` API: ${workflowUrl}`);
|
|
46
|
-
console.log(` Test bypass token: ${process.env.WORKFLOW_TEST_BYPASS_TOKEN ? "provided" : "not provided"}`);
|
|
47
|
-
}
|
|
48
|
-
const response = await fetch(workflowUrl, {
|
|
49
|
-
method: "POST",
|
|
50
|
-
headers,
|
|
51
|
-
body: JSON.stringify({
|
|
52
|
-
repoUrl,
|
|
53
|
-
repoBranch,
|
|
54
|
-
projectName
|
|
55
|
-
})
|
|
56
|
-
});
|
|
57
|
-
if (!response.ok) {
|
|
58
|
-
const errorText = await response.text();
|
|
59
|
-
throw new Error(`Workflow request failed: ${response.status} - ${errorText}`);
|
|
60
|
-
}
|
|
61
|
-
const result = (await response.json());
|
|
62
|
-
if (result.success) {
|
|
63
|
-
console.log("✅ Workflow started successfully");
|
|
64
|
-
if (result.runId) {
|
|
65
|
-
console.log(` Run ID: ${result.runId}`);
|
|
66
|
-
}
|
|
67
|
-
if (result.projectName) {
|
|
68
|
-
console.log(` Project: ${result.projectName}`);
|
|
69
|
-
}
|
|
70
|
-
console.log(` Track progress at: ${apiBase}/workflows`);
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
console.log("⚠️ Workflow start returned an unexpected response");
|
|
74
|
-
if (debug) {
|
|
75
|
-
console.log(JSON.stringify(result, null, 2));
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=cloud-fix.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-fix.js","sourceRoot":"","sources":["../../src/commands/cloud-fix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAS1D,MAAM,eAAe,GAAG,oBAAoB,CAAA;AAE5C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,UAA2B,EAAE;IAC1D,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAE3D,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;IAC3E,CAAC;IAED,MAAM,OAAO,GACX,IAAI,IAAI,MAAM;QACZ,CAAC,CAAC;YACE,OAAO,EAAE,IAAI;YACb,MAAM;YACN,YAAY,EAAE,UAAU,IAAI,EAAE;YAC9B,IAAI,EAAE,UAAU,IAAI,KAAK;SAC1B;QACH,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;YAChB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;YACtC,OAAO,MAAM,aAAa,EAAE,CAAA;QAC9B,CAAC,CAAC,EAAE,CAAA;IAEV,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IAC/B,MAAM,UAAU,GAAG,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,CAAA;IACrD,MAAM,WAAW,GAAG,UAAU,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,IAAI,KAAK,CAAA;IAE/E,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;IAChD,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAA;IACvC,OAAO,CAAC,GAAG,CAAC,aAAa,UAAU,EAAE,CAAC,CAAA;IACtC,OAAO,CAAC,GAAG,CAAC,cAAc,WAAW,EAAE,CAAC,CAAA;IACxC,OAAO,CAAC,GAAG,EAAE,CAAA;IAEb,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,eAAe,CAAA;IAC9D,MAAM,WAAW,GAAG,GAAG,OAAO,sBAAsB,CAAA;IAEpD,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;KACnC,CAAA;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC;QAC3C,OAAO,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAA;IACzE,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAClC,OAAO,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;IAChE,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,UAAU,WAAW,EAAE,CAAC,CAAA;QACpC,OAAO,CAAC,GAAG,CAAC,wBAAwB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAA;IAC7G,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;QACxC,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,OAAO;YACP,UAAU;YACV,WAAW;SACZ,CAAC;KACH,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACvC,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,CAAC,CAAA;IAC/E,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAKpC,CAAA;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;QAC9C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QAC1C,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;QACjD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,wBAAwB,OAAO,YAAY,CAAC,CAAA;IAC1D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAA;QAChE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* d3k find-component - Find React component source for a DOM selector
|
|
3
|
-
*
|
|
4
|
-
* Uses agent-browser to inspect DOM elements and extract React component info.
|
|
5
|
-
* Returns grep patterns to locate the source file.
|
|
6
|
-
*/
|
|
7
|
-
export declare function findComponent(selector: string): Promise<void>;
|
|
8
|
-
//# sourceMappingURL=find-component.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"find-component.d.ts","sourceRoot":"","sources":["../../src/commands/find-component.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmEH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+HnE"}
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* d3k find-component - Find React component source for a DOM selector
|
|
3
|
-
*
|
|
4
|
-
* Uses agent-browser to inspect DOM elements and extract React component info.
|
|
5
|
-
* Returns grep patterns to locate the source file.
|
|
6
|
-
*/
|
|
7
|
-
import { spawnSync } from "node:child_process";
|
|
8
|
-
import { existsSync, readdirSync, readFileSync } from "node:fs";
|
|
9
|
-
import { homedir } from "node:os";
|
|
10
|
-
import { join } from "node:path";
|
|
11
|
-
import chalk from "chalk";
|
|
12
|
-
function findActiveSessions() {
|
|
13
|
-
const sessionDir = join(homedir(), ".d3k");
|
|
14
|
-
if (!existsSync(sessionDir)) {
|
|
15
|
-
return [];
|
|
16
|
-
}
|
|
17
|
-
try {
|
|
18
|
-
const entries = readdirSync(sessionDir, { withFileTypes: true });
|
|
19
|
-
const sessions = [];
|
|
20
|
-
for (const entry of entries) {
|
|
21
|
-
if (entry.isDirectory()) {
|
|
22
|
-
const sessionFile = join(sessionDir, entry.name, "session.json");
|
|
23
|
-
if (existsSync(sessionFile)) {
|
|
24
|
-
try {
|
|
25
|
-
const content = JSON.parse(readFileSync(sessionFile, "utf-8"));
|
|
26
|
-
if (content.pid) {
|
|
27
|
-
try {
|
|
28
|
-
process.kill(content.pid, 0);
|
|
29
|
-
sessions.push(content);
|
|
30
|
-
}
|
|
31
|
-
catch {
|
|
32
|
-
// Process not running
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
catch {
|
|
37
|
-
// Skip invalid files
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return sessions;
|
|
43
|
-
}
|
|
44
|
-
catch {
|
|
45
|
-
return [];
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
function runAgentBrowser(args) {
|
|
49
|
-
try {
|
|
50
|
-
const result = spawnSync("d3k", ["agent-browser", "--cdp", "9222", ...args], {
|
|
51
|
-
encoding: "utf-8",
|
|
52
|
-
timeout: 30000
|
|
53
|
-
});
|
|
54
|
-
if (result.status === 0) {
|
|
55
|
-
return { success: true, output: result.stdout || "" };
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
return { success: false, output: result.stderr || result.stdout || "Unknown error" };
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
return { success: false, output: error instanceof Error ? error.message : String(error) };
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
export async function findComponent(selector) {
|
|
66
|
-
const sessions = findActiveSessions();
|
|
67
|
-
if (sessions.length === 0) {
|
|
68
|
-
console.log(chalk.red("❌ No active d3k sessions found."));
|
|
69
|
-
console.log(chalk.gray("Make sure d3k is running first."));
|
|
70
|
-
process.exit(1);
|
|
71
|
-
}
|
|
72
|
-
console.log(chalk.cyan(`🔍 Finding component for: ${selector}`));
|
|
73
|
-
console.log();
|
|
74
|
-
// JavaScript to extract React component info from DOM element
|
|
75
|
-
const extractScript = `
|
|
76
|
-
(function() {
|
|
77
|
-
const el = document.querySelector(${JSON.stringify(selector)});
|
|
78
|
-
if (!el) return JSON.stringify({ error: 'Element not found' });
|
|
79
|
-
|
|
80
|
-
// Find React Fiber
|
|
81
|
-
const fiberKey = Object.keys(el).find(k => k.startsWith('__reactFiber$'));
|
|
82
|
-
if (!fiberKey) return JSON.stringify({ error: 'Not a React element' });
|
|
83
|
-
|
|
84
|
-
let fiber = el[fiberKey];
|
|
85
|
-
let componentSource = null;
|
|
86
|
-
let componentName = null;
|
|
87
|
-
|
|
88
|
-
// Walk up the fiber tree to find a function component
|
|
89
|
-
while (fiber) {
|
|
90
|
-
if (typeof fiber.type === 'function') {
|
|
91
|
-
componentName = fiber.type.displayName || fiber.type.name || 'Anonymous';
|
|
92
|
-
try {
|
|
93
|
-
componentSource = fiber.type.toString().slice(0, 2000);
|
|
94
|
-
} catch (e) {
|
|
95
|
-
componentSource = null;
|
|
96
|
-
}
|
|
97
|
-
break;
|
|
98
|
-
}
|
|
99
|
-
fiber = fiber.return;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
// Extract useful patterns from the component source
|
|
103
|
-
const patterns = [];
|
|
104
|
-
if (componentSource) {
|
|
105
|
-
// Find JSX component references like <Button, <Card
|
|
106
|
-
const jsxMatches = componentSource.match(/<([A-Z][a-zA-Z0-9]+)/g);
|
|
107
|
-
if (jsxMatches) {
|
|
108
|
-
jsxMatches.forEach(m => patterns.push(m.slice(1)));
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
// Find className patterns
|
|
112
|
-
const classMatches = componentSource.match(/className[=:]\\s*["'\`]([^"'\`]+)["'\`]/g);
|
|
113
|
-
if (classMatches) {
|
|
114
|
-
classMatches.slice(0, 3).forEach(m => {
|
|
115
|
-
const cls = m.match(/["'\`]([^"'\`]+)["'\`]/);
|
|
116
|
-
if (cls) patterns.push('className.*' + cls[1].split(' ')[0]);
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
return JSON.stringify({
|
|
122
|
-
componentName,
|
|
123
|
-
patterns,
|
|
124
|
-
sourcePreview: componentSource ? componentSource.slice(0, 500) : null
|
|
125
|
-
});
|
|
126
|
-
})()
|
|
127
|
-
`;
|
|
128
|
-
const result = runAgentBrowser(["eval", extractScript]);
|
|
129
|
-
if (!result.success) {
|
|
130
|
-
console.log(chalk.red(`❌ Failed to inspect element: ${result.output}`));
|
|
131
|
-
process.exit(1);
|
|
132
|
-
}
|
|
133
|
-
try {
|
|
134
|
-
// Extract JSON from output
|
|
135
|
-
const jsonMatch = result.output.match(/\{.*\}/s);
|
|
136
|
-
if (!jsonMatch) {
|
|
137
|
-
console.log(chalk.red("❌ Could not parse response"));
|
|
138
|
-
console.log(chalk.gray(result.output));
|
|
139
|
-
process.exit(1);
|
|
140
|
-
}
|
|
141
|
-
const data = JSON.parse(jsonMatch[0]);
|
|
142
|
-
if (data.error) {
|
|
143
|
-
console.log(chalk.red(`❌ ${data.error}`));
|
|
144
|
-
if (data.error === "Element not found") {
|
|
145
|
-
console.log(chalk.gray(`Make sure the selector "${selector}" matches an element on the page.`));
|
|
146
|
-
}
|
|
147
|
-
else if (data.error === "Not a React element") {
|
|
148
|
-
console.log(chalk.gray("This element doesn't appear to be rendered by React."));
|
|
149
|
-
}
|
|
150
|
-
process.exit(1);
|
|
151
|
-
}
|
|
152
|
-
console.log(chalk.green(`✅ Found component: ${data.componentName || "Unknown"}`));
|
|
153
|
-
console.log();
|
|
154
|
-
if (data.patterns && data.patterns.length > 0) {
|
|
155
|
-
console.log(chalk.cyan("Search patterns to find source file:"));
|
|
156
|
-
console.log();
|
|
157
|
-
// Component name pattern
|
|
158
|
-
if (data.componentName && data.componentName !== "Anonymous") {
|
|
159
|
-
console.log(chalk.white(` grep -r "function ${data.componentName}" src/`));
|
|
160
|
-
console.log(chalk.white(` grep -r "const ${data.componentName}" src/`));
|
|
161
|
-
console.log(chalk.white(` grep -r "export.*${data.componentName}" src/`));
|
|
162
|
-
}
|
|
163
|
-
// Additional patterns
|
|
164
|
-
data.patterns.slice(0, 5).forEach((pattern) => {
|
|
165
|
-
console.log(chalk.gray(` grep -r "${pattern}" src/`));
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
if (data.sourcePreview) {
|
|
169
|
-
console.log();
|
|
170
|
-
console.log(chalk.cyan("Source preview (transpiled):"));
|
|
171
|
-
console.log(chalk.gray("─".repeat(50)));
|
|
172
|
-
console.log(chalk.gray(data.sourcePreview));
|
|
173
|
-
console.log(chalk.gray("─".repeat(50)));
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
catch {
|
|
177
|
-
console.log(chalk.red(`❌ Failed to parse component info`));
|
|
178
|
-
console.log(chalk.gray(result.output.slice(0, 500)));
|
|
179
|
-
process.exit(1);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
//# sourceMappingURL=find-component.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"find-component.js","sourceRoot":"","sources":["../../src/commands/find-component.ts"],"names":[],"mappings":"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"}
|
package/dist/skills/d3k/SKILL.md
DELETED
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "d3k"
|
|
3
|
-
description: "d3k assistant for debugging web apps"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# d3k Commands
|
|
7
|
-
|
|
8
|
-
d3k captures browser and server logs in a unified log file. Use these commands:
|
|
9
|
-
|
|
10
|
-
## Viewing Errors and Logs
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
d3k errors # Show recent errors (browser + server combined)
|
|
14
|
-
d3k errors --context # Show errors + user actions that preceded them
|
|
15
|
-
d3k errors -n 20 # Show last 20 errors
|
|
16
|
-
|
|
17
|
-
d3k logs # Show recent logs (browser + server combined)
|
|
18
|
-
d3k logs --type browser # Browser logs only
|
|
19
|
-
d3k logs --type server # Server logs only
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Other Commands
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
d3k fix # Deep analysis of application errors
|
|
26
|
-
d3k fix --focus build # Focus on build errors
|
|
27
|
-
|
|
28
|
-
d3k crawl # Discover app URLs
|
|
29
|
-
d3k crawl --depth all # Exhaustive crawl
|
|
30
|
-
|
|
31
|
-
d3k find-component "nav" # Find React component source
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Browser Interaction
|
|
35
|
-
|
|
36
|
-
First run `d3k cdp-port` to get the port number, then use it directly in all browser commands:
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
d3k cdp-port # Returns e.g. 9222
|
|
40
|
-
d3k agent-browser --cdp 9222 open http://localhost:3000/page
|
|
41
|
-
d3k agent-browser --cdp 9222 snapshot -i # Get element refs (@e1, @e2)
|
|
42
|
-
d3k agent-browser --cdp 9222 click @e2
|
|
43
|
-
d3k agent-browser --cdp 9222 fill @e3 "text"
|
|
44
|
-
d3k agent-browser --cdp 9222 screenshot /tmp/shot.png
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## Browser Tool Choice
|
|
48
|
-
|
|
49
|
-
Use the browser tool that matches the task:
|
|
50
|
-
|
|
51
|
-
- `agent-browser`
|
|
52
|
-
- Default choice.
|
|
53
|
-
- Best for generic web apps and for driving the exact headed browser session d3k is already monitoring.
|
|
54
|
-
- Use it when you need `snapshot`, ref-based `click`, `fill`, or to reproduce what the user sees in the monitored tab.
|
|
55
|
-
- `next-browser`
|
|
56
|
-
- Next.js-specific tool.
|
|
57
|
-
- Best for Next/React introspection: `tree`, `errors`, `logs`, `routes`, `project`, and related Next dev-server diagnostics.
|
|
58
|
-
- It is not a drop-in replacement for `agent-browser`: no accessibility `snapshot`, no ref-based `click`, and no `fill`.
|
|
59
|
-
- It runs its own daemon/browser flow and does not use `d3k cdp-port`.
|
|
60
|
-
|
|
61
|
-
Practical rule:
|
|
62
|
-
|
|
63
|
-
- Need to drive the same monitored browser session: use `agent-browser`.
|
|
64
|
-
- Need Next.js component-tree or Next-specific diagnostics: use `next-browser`.
|
|
65
|
-
|
|
66
|
-
Examples:
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
# Same monitored browser session
|
|
70
|
-
d3k agent-browser --cdp 9222 snapshot -i
|
|
71
|
-
d3k agent-browser --cdp 9222 click @e2
|
|
72
|
-
|
|
73
|
-
# Next.js-specific inspection
|
|
74
|
-
d3k next-browser open http://localhost:3000
|
|
75
|
-
d3k next-browser tree
|
|
76
|
-
d3k next-browser errors
|
|
77
|
-
d3k next-browser logs
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
To make d3k prefer one locally when it launches helper browser commands, use:
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
d3k --browser-tool agent-browser
|
|
84
|
-
d3k --browser-tool next-browser
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## Fix Workflow
|
|
88
|
-
|
|
89
|
-
1. `d3k errors --context` - See errors and what triggered them
|
|
90
|
-
2. Fix the code
|
|
91
|
-
3. Run `d3k cdp-port` to get the port, then `d3k agent-browser --cdp <port> open <url>` then `click @e1` to replay
|
|
92
|
-
4. `d3k errors` - Verify fix worked
|
|
93
|
-
|
|
94
|
-
## Creating PRs with Before/After Screenshots
|
|
95
|
-
|
|
96
|
-
When creating a PR for visual changes, **always capture before/after screenshots** to show the impact:
|
|
97
|
-
|
|
98
|
-
1. **Before making changes**, screenshot the production site (run `d3k cdp-port` first to get the port):
|
|
99
|
-
```bash
|
|
100
|
-
d3k agent-browser --cdp <port> open https://production-url.com/affected-page
|
|
101
|
-
d3k agent-browser --cdp <port> screenshot /tmp/before.png
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
2. **After making changes**, screenshot localhost:
|
|
105
|
-
```bash
|
|
106
|
-
d3k agent-browser --cdp <port> open http://localhost:3000/affected-page
|
|
107
|
-
d3k agent-browser --cdp <port> screenshot /tmp/after.png
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
3. **Or use the tooling API** to capture multiple routes at once:
|
|
111
|
-
```
|
|
112
|
-
capture_before_after_screenshots(
|
|
113
|
-
productionUrl: "https://myapp.vercel.app",
|
|
114
|
-
routes: ["/", "/about", "/contact"]
|
|
115
|
-
)
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
4. **Include in PR description** using markdown:
|
|
119
|
-
```markdown
|
|
120
|
-
### Visual Comparison
|
|
121
|
-
| Route | Before | After |
|
|
122
|
-
|-------|--------|-------|
|
|
123
|
-
| `/` |  |  |
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
Upload screenshots by dragging them into the GitHub PR description.
|
package/dist/skills/index.d.ts
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Skill module for d3k
|
|
3
|
-
*
|
|
4
|
-
* Skills are managed by `npx skills` and stored in .agents/skills/
|
|
5
|
-
* d3k also bundles its own skill which gets copied to .agents/skills/d3k/ on startup.
|
|
6
|
-
*/
|
|
7
|
-
export interface SkillInfo {
|
|
8
|
-
name: string;
|
|
9
|
-
description: string;
|
|
10
|
-
path: string;
|
|
11
|
-
}
|
|
12
|
-
export interface SkillResult {
|
|
13
|
-
found: boolean;
|
|
14
|
-
name: string;
|
|
15
|
-
content?: string;
|
|
16
|
-
path?: string;
|
|
17
|
-
error?: string;
|
|
18
|
-
availableSkills?: string[];
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Get the path to d3k's bundled skills directory.
|
|
22
|
-
* Returns null if not found (e.g., running in development without build).
|
|
23
|
-
*/
|
|
24
|
-
export declare function getBundledSkillsPath(): string | null;
|
|
25
|
-
/**
|
|
26
|
-
* Get directories where skills can be found.
|
|
27
|
-
* Skills are managed by `npx skills` in .agents/skills/
|
|
28
|
-
*/
|
|
29
|
-
export declare function getSkillDirectories(cwd?: string): string[];
|
|
30
|
-
/**
|
|
31
|
-
* Find a skill by name.
|
|
32
|
-
*/
|
|
33
|
-
export declare function findSkill(name: string, cwd?: string): string | null;
|
|
34
|
-
/**
|
|
35
|
-
* Get the content of a skill by name.
|
|
36
|
-
*/
|
|
37
|
-
export declare function getSkill(name: string, cwd?: string): SkillResult;
|
|
38
|
-
/**
|
|
39
|
-
* List all available skills.
|
|
40
|
-
*/
|
|
41
|
-
export declare function listAvailableSkills(cwd?: string): string[];
|
|
42
|
-
/**
|
|
43
|
-
* Get detailed info about all available skills.
|
|
44
|
-
*/
|
|
45
|
-
export declare function getSkillsInfo(cwd?: string): SkillInfo[];
|
|
46
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAkCpD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAiB1D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQnE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,WAAW,CAuBhE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAgB1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CA4BvD"}
|