@cardor/agent-harness-kit 0.12.1 → 0.15.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.
Files changed (133) hide show
  1. package/bin/ahk.js +1 -1
  2. package/dist/chunk-LQ7SDMK6.js +82 -0
  3. package/dist/chunk-LQ7SDMK6.js.map +1 -0
  4. package/dist/cli.js +1984 -109
  5. package/dist/cli.js.map +1 -1
  6. package/dist/dashboard-dist/assets/{index-Cdm4QZ8j.js → index-B_wwF3FX.js} +3 -3
  7. package/dist/dashboard-dist/assets/{index-TQMzdmXs.css → index-MNS3Gb-w.css} +1 -1
  8. package/dist/dashboard-dist/index.html +2 -2
  9. package/dist/index.js +6 -1
  10. package/dist/index.js.map +1 -1
  11. package/package.json +12 -5
  12. package/dist/cli.d.ts +0 -2
  13. package/dist/cli.d.ts.map +0 -1
  14. package/dist/commands/build.d.ts +0 -6
  15. package/dist/commands/build.d.ts.map +0 -1
  16. package/dist/commands/build.js +0 -39
  17. package/dist/commands/build.js.map +0 -1
  18. package/dist/commands/dashboard.d.ts +0 -7
  19. package/dist/commands/dashboard.d.ts.map +0 -1
  20. package/dist/commands/dashboard.js +0 -27
  21. package/dist/commands/dashboard.js.map +0 -1
  22. package/dist/commands/export.d.ts +0 -8
  23. package/dist/commands/export.d.ts.map +0 -1
  24. package/dist/commands/export.js +0 -33
  25. package/dist/commands/export.js.map +0 -1
  26. package/dist/commands/health.d.ts +0 -2
  27. package/dist/commands/health.d.ts.map +0 -1
  28. package/dist/commands/health.js +0 -78
  29. package/dist/commands/health.js.map +0 -1
  30. package/dist/commands/init-helpers.d.ts +0 -9
  31. package/dist/commands/init-helpers.d.ts.map +0 -1
  32. package/dist/commands/init-helpers.js +0 -40
  33. package/dist/commands/init-helpers.js.map +0 -1
  34. package/dist/commands/init.d.ts +0 -9
  35. package/dist/commands/init.d.ts.map +0 -1
  36. package/dist/commands/init.js +0 -192
  37. package/dist/commands/init.js.map +0 -1
  38. package/dist/commands/migrate.d.ts +0 -6
  39. package/dist/commands/migrate.d.ts.map +0 -1
  40. package/dist/commands/migrate.js +0 -45
  41. package/dist/commands/migrate.js.map +0 -1
  42. package/dist/commands/serve.d.ts +0 -6
  43. package/dist/commands/serve.d.ts.map +0 -1
  44. package/dist/commands/serve.js +0 -13
  45. package/dist/commands/serve.js.map +0 -1
  46. package/dist/commands/status.d.ts +0 -6
  47. package/dist/commands/status.d.ts.map +0 -1
  48. package/dist/commands/status.js +0 -71
  49. package/dist/commands/status.js.map +0 -1
  50. package/dist/commands/sync.d.ts +0 -7
  51. package/dist/commands/sync.d.ts.map +0 -1
  52. package/dist/commands/sync.js +0 -57
  53. package/dist/commands/sync.js.map +0 -1
  54. package/dist/commands/task/add.d.ts +0 -2
  55. package/dist/commands/task/add.d.ts.map +0 -1
  56. package/dist/commands/task/add.js +0 -53
  57. package/dist/commands/task/add.js.map +0 -1
  58. package/dist/commands/task/done.d.ts +0 -2
  59. package/dist/commands/task/done.d.ts.map +0 -1
  60. package/dist/commands/task/done.js +0 -45
  61. package/dist/commands/task/done.js.map +0 -1
  62. package/dist/commands/task/index.d.ts +0 -4
  63. package/dist/commands/task/index.d.ts.map +0 -1
  64. package/dist/commands/task/index.js +0 -4
  65. package/dist/commands/task/index.js.map +0 -1
  66. package/dist/commands/task/list.d.ts +0 -7
  67. package/dist/commands/task/list.d.ts.map +0 -1
  68. package/dist/commands/task/list.js +0 -42
  69. package/dist/commands/task/list.js.map +0 -1
  70. package/dist/core/config.d.ts +0 -5
  71. package/dist/core/config.d.ts.map +0 -1
  72. package/dist/core/config.js +0 -77
  73. package/dist/core/config.js.map +0 -1
  74. package/dist/core/dashboard-server.d.ts +0 -7
  75. package/dist/core/dashboard-server.d.ts.map +0 -1
  76. package/dist/core/dashboard-server.js +0 -211
  77. package/dist/core/dashboard-server.js.map +0 -1
  78. package/dist/core/db.d.ts +0 -57
  79. package/dist/core/db.d.ts.map +0 -1
  80. package/dist/core/db.js +0 -348
  81. package/dist/core/db.js.map +0 -1
  82. package/dist/core/materializer/agent-templates/test123.txt +0 -0
  83. package/dist/core/materializer/claude-code.d.ts +0 -8
  84. package/dist/core/materializer/claude-code.d.ts.map +0 -1
  85. package/dist/core/materializer/claude-code.js +0 -66
  86. package/dist/core/materializer/claude-code.js.map +0 -1
  87. package/dist/core/materializer/index.d.ts +0 -8
  88. package/dist/core/materializer/index.d.ts.map +0 -1
  89. package/dist/core/materializer/index.js +0 -13
  90. package/dist/core/materializer/index.js.map +0 -1
  91. package/dist/core/materializer/mcp-merge.d.ts +0 -3
  92. package/dist/core/materializer/mcp-merge.d.ts.map +0 -1
  93. package/dist/core/materializer/mcp-merge.js +0 -59
  94. package/dist/core/materializer/mcp-merge.js.map +0 -1
  95. package/dist/core/materializer/opencode.d.ts +0 -8
  96. package/dist/core/materializer/opencode.d.ts.map +0 -1
  97. package/dist/core/materializer/opencode.js +0 -59
  98. package/dist/core/materializer/opencode.js.map +0 -1
  99. package/dist/core/materializer/scaffold-utils.d.ts +0 -4
  100. package/dist/core/materializer/scaffold-utils.d.ts.map +0 -1
  101. package/dist/core/materializer/scaffold-utils.js +0 -28
  102. package/dist/core/materializer/scaffold-utils.js.map +0 -1
  103. package/dist/core/materializer/templates.d.ts +0 -33
  104. package/dist/core/materializer/templates.d.ts.map +0 -1
  105. package/dist/core/materializer/templates.js +0 -187
  106. package/dist/core/materializer/templates.js.map +0 -1
  107. package/dist/core/mcp-server.d.ts +0 -3
  108. package/dist/core/mcp-server.d.ts.map +0 -1
  109. package/dist/core/mcp-server.js +0 -264
  110. package/dist/core/mcp-server.js.map +0 -1
  111. package/dist/core/sqlite-adapter.d.ts +0 -14
  112. package/dist/core/sqlite-adapter.d.ts.map +0 -1
  113. package/dist/core/sqlite-adapter.js +0 -20
  114. package/dist/core/sqlite-adapter.js.map +0 -1
  115. package/dist/dashboard-dist/assets/index-DJInh0UZ.js +0 -9
  116. package/dist/index.d.ts +0 -3
  117. package/dist/index.d.ts.map +0 -1
  118. package/dist/tests/db.test.d.ts +0 -2
  119. package/dist/tests/db.test.d.ts.map +0 -1
  120. package/dist/tests/db.test.js +0 -106
  121. package/dist/tests/db.test.js.map +0 -1
  122. package/dist/tests/slugify.test.d.ts +0 -2
  123. package/dist/tests/slugify.test.d.ts.map +0 -1
  124. package/dist/tests/slugify.test.js +0 -19
  125. package/dist/tests/slugify.test.js.map +0 -1
  126. package/dist/tests/templates.test.d.ts +0 -2
  127. package/dist/tests/templates.test.d.ts.map +0 -1
  128. package/dist/tests/templates.test.js +0 -71
  129. package/dist/tests/templates.test.js.map +0 -1
  130. package/dist/types.d.ts +0 -141
  131. package/dist/types.d.ts.map +0 -1
  132. package/dist/types.js +0 -3
  133. package/dist/types.js.map +0 -1
@@ -1 +1 @@
1
- @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-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Mono", ui-monospace, monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-950:oklch(25.8% .092 26.042);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-950:oklch(27.9% .077 45.635);--color-green-400:oklch(79.2% .209 151.711);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-950:oklch(26.6% .065 152.934);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-950:oklch(29.3% .066 243.157);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-900:oklch(38% .189 293.745);--color-violet-950:oklch(28.3% .141 291.089);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-900:oklch(20.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,: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{.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.table{display:table}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-5{height:calc(var(--spacing) * 5)}.h-full{height:100%}.h-screen{height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-8{width:calc(var(--spacing) * 8)}.w-16{width:calc(var(--spacing) * 16)}.w-48{width:calc(var(--spacing) * 48)}.w-full{width:100%}.max-w-\[120px\]{max-width:120px}.max-w-\[160px\]{max-width:160px}.max-w-\[180px\]{max-width:180px}.max-w-\[220px\]{max-width:220px}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-\[\#1f1f1f\]>:not(:last-child)){border-color:#1f1f1f}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[\#1f1f1f\]{border-color:#1f1f1f}.border-\[\#3a3a3a\]{border-color:#3a3a3a}.border-transparent{border-color:#0000}.bg-\[\#0a0a0a\]{background-color:#0a0a0a}.bg-amber-950{background-color:var(--color-amber-950)}.bg-black{background-color:var(--color-black)}.bg-green-400{background-color:var(--color-green-400)}.bg-green-600{background-color:var(--color-green-600)}.bg-green-700{background-color:var(--color-green-700)}.bg-green-950{background-color:var(--color-green-950)}.bg-neutral-900{background-color:var(--color-neutral-900)}.bg-red-950{background-color:var(--color-red-950)}.bg-sky-950{background-color:var(--color-sky-950)}.bg-violet-900{background-color:var(--color-violet-900)}.bg-violet-950{background-color:var(--color-violet-950)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#fafafa\]{color:#fafafa}.text-amber-400{color:var(--color-amber-400)}.text-green-400{color:var(--color-green-400)}.text-neutral-300{color:var(--color-neutral-300)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-600{color:var(--color-neutral-600)}.text-neutral-700{color:var(--color-neutral-700)}.text-red-400{color:var(--color-red-400)}.text-sky-300{color:var(--color-sky-300)}.text-violet-400{color:var(--color-violet-400)}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.group-hover\:text-white:is(:where(.group):hover *){color:var(--color-white)}.hover\:border-neutral-700:hover{border-color:var(--color-neutral-700)}.hover\:bg-\[\#0a0a0a\]:hover{background-color:#0a0a0a}.hover\:bg-\[\#0f0f0f\]:hover{background-color:#0f0f0f}.hover\:text-\[\#fafafa\]:hover{color:#fafafa}.hover\:text-green-400:hover{color:var(--color-green-400)}.hover\:text-neutral-300:hover{color:var(--color-neutral-300)}.hover\:text-neutral-400:hover{color:var(--color-neutral-400)}}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#fafafa;font-family:var(--font-sans);background-color:#000;margin:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#0a0a0a}::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3a3a3a}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
1
+ @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-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Mono", ui-monospace, monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-950:oklch(25.8% .092 26.042);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-950:oklch(27.9% .077 45.635);--color-green-400:oklch(79.2% .209 151.711);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-950:oklch(26.6% .065 152.934);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-950:oklch(29.3% .066 243.157);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-900:oklch(38% .189 293.745);--color-violet-950:oklch(28.3% .141 291.089);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-900:oklch(20.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,: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{.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.table{display:table}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-5{height:calc(var(--spacing) * 5)}.h-full{height:100%}.h-screen{height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-8{width:calc(var(--spacing) * 8)}.w-16{width:calc(var(--spacing) * 16)}.w-48{width:calc(var(--spacing) * 48)}.w-full{width:100%}.max-w-\[120px\]{max-width:120px}.max-w-\[160px\]{max-width:160px}.max-w-\[180px\]{max-width:180px}.max-w-\[220px\]{max-width:220px}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-\[\#1f1f1f\]>:not(:last-child)){border-color:#1f1f1f}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[\#1f1f1f\]{border-color:#1f1f1f}.border-\[\#3a3a3a\]{border-color:#3a3a3a}.border-transparent{border-color:#0000}.bg-\[\#0a0a0a\]{background-color:#0a0a0a}.bg-amber-950{background-color:var(--color-amber-950)}.bg-black{background-color:var(--color-black)}.bg-green-400{background-color:var(--color-green-400)}.bg-green-600{background-color:var(--color-green-600)}.bg-green-700{background-color:var(--color-green-700)}.bg-green-950{background-color:var(--color-green-950)}.bg-neutral-900{background-color:var(--color-neutral-900)}.bg-red-950{background-color:var(--color-red-950)}.bg-sky-950{background-color:var(--color-sky-950)}.bg-violet-900{background-color:var(--color-violet-900)}.bg-violet-950{background-color:var(--color-violet-950)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#fafafa\]{color:#fafafa}.text-amber-400{color:var(--color-amber-400)}.text-green-400{color:var(--color-green-400)}.text-neutral-300{color:var(--color-neutral-300)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-600{color:var(--color-neutral-600)}.text-neutral-700{color:var(--color-neutral-700)}.text-red-400{color:var(--color-red-400)}.text-sky-300{color:var(--color-sky-300)}.text-violet-400{color:var(--color-violet-400)}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.group-hover\:text-white:is(:where(.group):hover *){color:var(--color-white)}.hover\:border-neutral-700:hover{border-color:var(--color-neutral-700)}.hover\:bg-\[\#0a0a0a\]:hover{background-color:#0a0a0a}.hover\:bg-\[\#0f0f0f\]:hover{background-color:#0f0f0f}.hover\:text-\[\#fafafa\]:hover{color:#fafafa}.hover\:text-green-400:hover{color:var(--color-green-400)}.hover\:text-neutral-300:hover{color:var(--color-neutral-300)}}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#fafafa;font-family:var(--font-sans);background-color:#000;margin:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#0a0a0a}::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3a3a3a}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
@@ -10,8 +10,8 @@
10
10
  href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500;600&display=swap"
11
11
  rel="stylesheet"
12
12
  />
13
- <script type="module" crossorigin src="/assets/index-Cdm4QZ8j.js"></script>
14
- <link rel="stylesheet" crossorigin href="/assets/index-TQMzdmXs.css">
13
+ <script type="module" crossorigin src="/assets/index-B_wwF3FX.js"></script>
14
+ <link rel="stylesheet" crossorigin href="/assets/index-MNS3Gb-w.css">
15
15
  </head>
16
16
  <body>
17
17
  <div id="root"></div>
package/dist/index.js CHANGED
@@ -1,2 +1,7 @@
1
- export { defineHarness } from './core/config.js';
1
+ import {
2
+ defineHarness
3
+ } from "./chunk-LQ7SDMK6.js";
4
+ export {
5
+ defineHarness
6
+ };
2
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cardor/agent-harness-kit",
3
- "version": "0.12.1",
3
+ "version": "0.15.0",
4
4
  "description": "CLI scaffolding for multi-agent harness systems",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -15,11 +15,12 @@
15
15
  "ahk": "./bin/ahk.js"
16
16
  },
17
17
  "scripts": {
18
- "build": "npm run build:ui && tsc && npm run copy-assets",
18
+ "build": "npm run build:ui && tsup && npm run copy-assets",
19
19
  "build:ui": "cd dashboard && npm install --prefer-offline && npm run build",
20
20
  "copy-assets": "node scripts/copy-assets.mjs",
21
- "dev": "tsc --watch",
22
- "test": "node --test dist/tests/*.test.js",
21
+ "dev": "tsup --watch",
22
+ "test": "node --test --import tsx/esm src/tests/*.test.ts",
23
+ "lint": "eslint . --fix",
23
24
  "prepublishOnly": "npm run build && npm test",
24
25
  "prepare": "husky"
25
26
  },
@@ -52,10 +53,16 @@
52
53
  "devDependencies": {
53
54
  "@commitlint/cli": "^20.5.3",
54
55
  "@commitlint/config-conventional": "^20.5.3",
56
+ "@eslint-react/eslint-plugin": "^5.7.1",
55
57
  "@types/node": "^22.19.17",
56
58
  "@types/ws": "^8.5.0",
59
+ "eslint-plugin-react-hooks": "^7.1.1",
60
+ "eslint-plugin-simple-import-sort": "^13.0.0",
57
61
  "husky": "^9.1.7",
58
- "typescript": "^5.5.0"
62
+ "tsup": "^8.5.1",
63
+ "tsx": "^4.21.0",
64
+ "typescript": "^5.5.0",
65
+ "typescript-eslint": "^8.59.1"
59
66
  },
60
67
  "engines": {
61
68
  "node": ">=20.0.0"
package/dist/cli.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- interface BuildOptions {
2
- watch?: boolean;
3
- }
4
- export declare function runBuild(cwd: string, opts: BuildOptions): Promise<void>;
5
- export {};
6
- //# sourceMappingURL=build.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAMA,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAc7E"}
@@ -1,39 +0,0 @@
1
- import * as p from '@clack/prompts';
2
- import pc from 'picocolors';
3
- import { watch } from 'node:fs';
4
- import { loadConfig } from '../core/config.js';
5
- import { getMaterializer } from '../core/materializer/index.js';
6
- export async function runBuild(cwd, opts) {
7
- await buildOnce(cwd);
8
- if (opts.watch) {
9
- p.log.info(`Watching agent-harness-kit.config.ts for changes...`);
10
- watch(cwd, { recursive: false }, async (_, filename) => {
11
- if (filename?.startsWith('agent-harness-kit.config')) {
12
- p.log.step('Config changed — rebuilding...');
13
- await buildOnce(cwd);
14
- }
15
- });
16
- // Keep process alive
17
- await new Promise(() => { });
18
- }
19
- }
20
- async function buildOnce(cwd) {
21
- const spinner = p.spinner();
22
- spinner.start('Loading config...');
23
- try {
24
- const config = await loadConfig(cwd);
25
- spinner.message('Rebuilding files...');
26
- const materializer = getMaterializer(config.provider);
27
- await materializer.build(config, cwd);
28
- spinner.stop(pc.green('Build complete'));
29
- p.log.success('AGENTS.md');
30
- p.log.success(`Agent definitions (${config.provider})`);
31
- p.log.success('MCP config');
32
- }
33
- catch (err) {
34
- spinner.stop(pc.red('Build failed'));
35
- p.log.error(err instanceof Error ? err.message : String(err));
36
- process.exit(1);
37
- }
38
- }
39
- //# sourceMappingURL=build.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAA;AACnC,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAM/D,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,IAAkB;IAC5D,MAAM,SAAS,CAAC,GAAG,CAAC,CAAA;IAEpB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;QACjE,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE;YACrD,IAAI,QAAQ,EAAE,UAAU,CAAC,0BAA0B,CAAC,EAAE,CAAC;gBACrD,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;gBAC5C,MAAM,SAAS,CAAC,GAAG,CAAC,CAAA;YACtB,CAAC;QACH,CAAC,CAAC,CAAA;QACF,qBAAqB;QACrB,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;IAC9B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAW;IAClC,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;IAC3B,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAElC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAA;QACpC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAA;QACtC,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACrD,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QACrC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAA;QACxC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAC1B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAA;QACvD,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAA;QACpC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC"}
@@ -1,7 +0,0 @@
1
- interface DashboardOptions {
2
- port: number;
3
- open: boolean;
4
- }
5
- export declare function runDashboard(cwd: string, opts: DashboardOptions): Promise<void>;
6
- export {};
7
- //# sourceMappingURL=dashboard.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"AASA,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,OAAO,CAAA;CACd;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBrF"}
@@ -1,27 +0,0 @@
1
- import { dirname, join, resolve } from 'node:path';
2
- import { fileURLToPath } from 'node:url';
3
- import pc from 'picocolors';
4
- import { loadConfig } from '../core/config.js';
5
- import { openDB } from '../core/db.js';
6
- import { startDashboardServer } from '../core/dashboard-server.js';
7
- const __dirname = dirname(fileURLToPath(import.meta.url));
8
- export async function runDashboard(cwd, opts) {
9
- const config = await loadConfig(cwd);
10
- const db = openDB(config, cwd);
11
- const dbPath = resolve(cwd, config.storage.dbPath);
12
- const staticPath = join(__dirname, '..', 'dashboard-dist');
13
- const { url } = startDashboardServer(db, dbPath, staticPath, opts.port);
14
- console.log(pc.green(`✓`) + ` Dashboard running at ${pc.bold(pc.cyan(url))}`);
15
- console.log(pc.dim(` WebSocket live updates enabled`));
16
- console.log(pc.dim(` Press Ctrl+C to stop`));
17
- if (opts.open) {
18
- const { default: open } = await import('open');
19
- await open(url);
20
- }
21
- process.on('SIGINT', () => {
22
- process.exit(0);
23
- });
24
- // Keep process alive until SIGINT
25
- await new Promise(() => { });
26
- }
27
- //# sourceMappingURL=dashboard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAElE,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAOzD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,IAAsB;IACpE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAA;IACpC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAA;IAE1D,MAAM,EAAE,GAAG,EAAE,GAAG,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IAEvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,yBAAyB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAA;IAC7E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAA;IACvD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAA;IAE7C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAA;QAC9C,MAAM,IAAI,CAAC,GAAG,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;IAEF,kCAAkC;IAClC,MAAM,IAAI,OAAO,CAAO,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;AACnC,CAAC"}
@@ -1,8 +0,0 @@
1
- interface ExportOptions {
2
- sql?: boolean;
3
- json?: boolean;
4
- output?: string;
5
- }
6
- export declare function runExport(cwd: string, opts: ExportOptions): Promise<void>;
7
- export {};
8
- //# sourceMappingURL=export.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAKA,UAAU,aAAa;IACrB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B/E"}
@@ -1,33 +0,0 @@
1
- import pc from 'picocolors';
2
- import { writeFileSync } from 'node:fs';
3
- import { loadConfig } from '../core/config.js';
4
- import { openDB } from '../core/db.js';
5
- export async function runExport(cwd, opts) {
6
- if (!opts.sql && !opts.json) {
7
- console.error(pc.red('Specify --sql or --json'));
8
- process.exit(1);
9
- }
10
- const config = await loadConfig(cwd);
11
- const db = openDB(config, cwd);
12
- try {
13
- if (opts.json) {
14
- const data = db.exportJson();
15
- const out = JSON.stringify(data, null, 2) + '\n';
16
- if (opts.output) {
17
- writeFileSync(opts.output, out, 'utf8');
18
- console.log(pc.green(`✓ Exported JSON → ${opts.output}`));
19
- }
20
- else {
21
- process.stdout.write(out);
22
- }
23
- }
24
- if (opts.sql) {
25
- console.error(pc.dim('SQL dump requires direct SQLite access — use: sqlite3 .harness/harness.db .dump'));
26
- process.exit(1);
27
- }
28
- }
29
- finally {
30
- db.close();
31
- }
32
- }
33
- //# sourceMappingURL=export.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAQtC,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAW,EAAE,IAAmB;IAC9D,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAA;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAA;IACpC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE9B,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,EAAE,CAAC,UAAU,EAAE,CAAA;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAA;YAChD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;gBACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YAC3D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC,CAAA;YACxG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAA;IACZ,CAAC;AACH,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare function runHealth(cwd: string): Promise<void>;
2
- //# sourceMappingURL=health.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"AAYA,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwE1D"}
@@ -1,78 +0,0 @@
1
- import pc from 'picocolors';
2
- import { spawnSync } from 'node:child_process';
3
- import { existsSync } from 'node:fs';
4
- import { join, resolve } from 'node:path';
5
- import { loadConfig } from '../core/config.js';
6
- function checkLine(label, ok, message, indent = 0) {
7
- const prefix = label ? pc.cyan(`[${label}] `) : ' '.repeat(indent);
8
- const icon = ok ? pc.green('✓') : pc.red('✗');
9
- console.log(prefix + icon + ' ' + (ok ? pc.green(message) : pc.red(message)));
10
- }
11
- export async function runHealth(cwd) {
12
- let config;
13
- try {
14
- config = await loadConfig(cwd);
15
- }
16
- catch {
17
- console.error(pc.red('✗ No config found. Run: ahk init'));
18
- process.exit(1);
19
- }
20
- let allOk = true;
21
- // ─── [checking DB] ──────────────────────────────────────────────────────────
22
- const dbPath = resolve(cwd, config.storage.dbPath);
23
- const dbOk = existsSync(dbPath);
24
- checkLine('checking DB', dbOk, `${config.storage.dbPath} reachable`);
25
- if (!dbOk)
26
- allOk = false;
27
- // ─── [checking agents] ──────────────────────────────────────────────────────
28
- const agentsDir = config.provider === 'claude-code' ? '.claude/agents' : '.opencode/agents';
29
- const agentNames = ['lead', 'explorer', 'builder', 'reviewer'];
30
- const agentsLabelWidth = '[checking agents] '.length;
31
- for (let i = 0; i < agentNames.length; i++) {
32
- const name = agentNames[i];
33
- const agentPath = join(cwd, agentsDir, `${name}.md`);
34
- const ok = existsSync(agentPath);
35
- checkLine(i === 0 ? 'checking agents' : null, ok, `${name}.md present`, agentsLabelWidth);
36
- if (!ok)
37
- allOk = false;
38
- }
39
- // ─── [checking MCP] ─────────────────────────────────────────────────────────
40
- if (config.tools.mcp.enabled) {
41
- const mcpFile = config.provider === 'claude-code' ? '.claude/mcp.json' : 'opencode.json';
42
- const mcpPath = resolve(cwd, mcpFile);
43
- const mcpOk = existsSync(mcpPath);
44
- checkLine('checking MCP', mcpOk, `${mcpFile} valid`);
45
- if (!mcpOk)
46
- allOk = false;
47
- }
48
- if (!allOk) {
49
- console.log('');
50
- console.error(pc.red('✗ Harness checks failed — fix the above before running health.sh'));
51
- process.exit(1);
52
- }
53
- // ─── Run health.sh ──────────────────────────────────────────────────────────
54
- const scriptPath = resolve(cwd, config.health.scriptPath);
55
- if (!existsSync(scriptPath)) {
56
- console.error(pc.red(`✗ health.sh not found: ${scriptPath}`));
57
- console.error(' Run ahk init first.');
58
- process.exit(1);
59
- }
60
- const result = spawnSync('bash', [scriptPath], {
61
- cwd,
62
- stdio: 'inherit',
63
- encoding: 'utf8',
64
- });
65
- if (result.error) {
66
- console.error(pc.red(`✗ Failed to run health.sh: ${result.error.message}`));
67
- process.exit(1);
68
- }
69
- if (result.status === 0) {
70
- console.log(pc.green('✓ Health check passed'));
71
- process.exit(0);
72
- }
73
- else {
74
- console.error(pc.red(`✗ Health check failed (exit ${result.status ?? 'unknown'})`));
75
- process.exit(result.status ?? 1);
76
- }
77
- }
78
- //# sourceMappingURL=health.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,SAAS,SAAS,CAAC,KAAoB,EAAE,EAAW,EAAE,OAAe,EAAE,MAAM,GAAG,CAAC;IAC/E,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAClE,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7C,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAW;IACzC,IAAI,MAAM,CAAA;IACV,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAA;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAA;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,KAAK,GAAG,IAAI,CAAA;IAEhB,+EAA+E;IAC/E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAClD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAC/B,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,YAAY,CAAC,CAAA;IACpE,IAAI,CAAC,IAAI;QAAE,KAAK,GAAG,KAAK,CAAA;IAExB,+EAA+E;IAC/E,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAA;IAC3F,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;IAE9D,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,MAAM,CAAA;IACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,IAAI,KAAK,CAAC,CAAA;QACpD,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;QAChC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,aAAa,EAAE,gBAAgB,CAAC,CAAA;QACzF,IAAI,CAAC,EAAE;YAAE,KAAK,GAAG,KAAK,CAAA;IACxB,CAAC;IAED,+EAA+E;IAC/E,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAA;QACxF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACrC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QACjC,SAAS,CAAC,cAAc,EAAE,KAAK,EAAE,GAAG,OAAO,QAAQ,CAAC,CAAA;QACpD,IAAI,CAAC,KAAK;YAAE,KAAK,GAAG,KAAK,CAAA;IAC3B,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC,CAAA;QACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,+EAA+E;IAC/E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAEzD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC,CAAA;QAC7D,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE;QAC7C,GAAG;QACH,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAA;IAEF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,8BAA8B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAA;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,MAAM,IAAI,SAAS,GAAG,CAAC,CAAC,CAAA;QACnF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAA;IAClC,CAAC;AACH,CAAC"}
@@ -1,9 +0,0 @@
1
- import type { HarnessConfig, Provider } from '../types.js';
2
- export declare function applyConfigDefaults(params: {
3
- name: string;
4
- description: string;
5
- provider: Provider;
6
- docsPath: string;
7
- tasksAdapter: string;
8
- }): HarnessConfig;
9
- //# sourceMappingURL=init-helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init-helpers.d.ts","sourceRoot":"","sources":["../../src/commands/init-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE1D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;CACrB,GAAG,aAAa,CAsChB"}
@@ -1,40 +0,0 @@
1
- export function applyConfigDefaults(params) {
2
- return {
3
- provider: params.provider,
4
- project: {
5
- name: params.name,
6
- description: params.description,
7
- docsPath: params.docsPath,
8
- agentsMd: './AGENTS.md',
9
- },
10
- agents: {
11
- lead: { instructionsPath: null },
12
- explorer: { instructionsPath: null, allowedPaths: [params.docsPath, './src'] },
13
- builder: { instructionsPath: null, writablePaths: ['./src', './tests'] },
14
- reviewer: { instructionsPath: null },
15
- custom: [],
16
- },
17
- storage: {
18
- dir: '.harness',
19
- dbPath: '.harness/harness.db',
20
- tasks: { adapter: params.tasksAdapter },
21
- sections: {
22
- toolsUsed: true,
23
- filesModified: true,
24
- result: true,
25
- blockers: true,
26
- nextSteps: false,
27
- },
28
- markdownFallback: { enabled: true, path: '.harness/current.md' },
29
- },
30
- health: {
31
- scriptPath: './health.sh',
32
- required: true,
33
- },
34
- tools: {
35
- mcp: { enabled: true, port: 3742 },
36
- scripts: { enabled: true, outputDir: './.harness/scripts' },
37
- },
38
- };
39
- }
40
- //# sourceMappingURL=init-helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init-helpers.js","sourceRoot":"","sources":["../../src/commands/init-helpers.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CAAC,MAMnC;IACC,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE;YACP,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,aAAa;SACxB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE;YAChC,QAAQ,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;YAC9E,OAAO,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;YACxE,QAAQ,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE;YACpC,MAAM,EAAE,EAAE;SACX;QACD,OAAO,EAAE;YACP,GAAG,EAAE,UAAU;YACf,MAAM,EAAE,qBAAqB;YAC7B,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,YAAuB,EAAE;YAClD,QAAQ,EAAE;gBACR,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,IAAI;gBACnB,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,KAAK;aACjB;YACD,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,qBAAqB,EAAE;SACjE;QACD,MAAM,EAAE;YACN,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,IAAI;SACf;QACD,KAAK,EAAE;YACL,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;YAClC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,oBAAoB,EAAE;SAC5D;KACF,CAAA;AACH,CAAC"}
@@ -1,9 +0,0 @@
1
- interface InitOptions {
2
- name?: string;
3
- provider?: string;
4
- docs?: string;
5
- tasks?: string;
6
- }
7
- export declare function runInit(cwd: string, flags: InitOptions): Promise<void>;
8
- export {};
9
- //# sourceMappingURL=init.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAWA,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA4K5E"}