rhachet 1.2.0 → 1.3.2

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 (135) hide show
  1. package/bin/run +4 -0
  2. package/dist/.test/directory.js.map +1 -0
  3. package/dist/.test/genContextLogTrail.js.map +1 -0
  4. package/dist/.test/genContextStitchTrail.js.map +1 -0
  5. package/dist/.test/getContextOpenAI.js.map +1 -0
  6. package/dist/{__test_assets__ → .test}/stitchers/genStitcherCodeFileRead.d.ts +1 -1
  7. package/dist/.test/stitchers/genStitcherCodeFileRead.js.map +1 -0
  8. package/dist/{__test_assets__ → .test}/stitchers/genStitcherCodeFileWrite.d.ts +1 -1
  9. package/dist/.test/stitchers/genStitcherCodeFileWrite.js.map +1 -0
  10. package/dist/{__test_assets__ → .test}/stitchers/genStitcherCodeReviewImagine.d.ts +1 -1
  11. package/dist/.test/stitchers/genStitcherCodeReviewImagine.js.map +1 -0
  12. package/dist/{__test_assets__ → .test}/stitchers/stitcherCodeDiffImagine.d.ts +1 -1
  13. package/dist/.test/stitchers/stitcherCodeDiffImagine.js.map +1 -0
  14. package/dist/{__test_assets__ → .test}/stitchers/stitcherFanoutRandomSum.d.ts +4 -4
  15. package/dist/.test/stitchers/stitcherFanoutRandomSum.js.map +1 -0
  16. package/dist/{__test_assets__ → .test}/stitchers/stitcherFanoutSubroutes.d.ts +3 -3
  17. package/dist/.test/stitchers/stitcherFanoutSubroutes.js.map +1 -0
  18. package/dist/{__test_assets__ → .test}/threads/codeArtist.js +1 -1
  19. package/dist/.test/threads/codeArtist.js.map +1 -0
  20. package/dist/{__test_assets__ → .test}/threads/codeCritic.js +1 -1
  21. package/dist/.test/threads/codeCritic.js.map +1 -0
  22. package/dist/.test/threads/director.js.map +1 -0
  23. package/dist/_topublish/file-fns/src/getFile.js.map +1 -0
  24. package/dist/contract/cli/.test/example.echoRegistry.d.ts +2 -0
  25. package/dist/contract/cli/.test/example.echoRegistry.js +54 -0
  26. package/dist/contract/cli/.test/example.echoRegistry.js.map +1 -0
  27. package/dist/contract/cli/invoke.d.ts +12 -0
  28. package/dist/contract/cli/invoke.integration.test.d.ts +1 -0
  29. package/dist/contract/cli/invoke.integration.test.js +38 -0
  30. package/dist/contract/cli/invoke.integration.test.js.map +1 -0
  31. package/dist/contract/cli/invoke.js +88 -0
  32. package/dist/contract/cli/invoke.js.map +1 -0
  33. package/dist/contract/cli/invokeAsk.d.ts +10 -0
  34. package/dist/contract/cli/invokeAsk.integration.test.d.ts +1 -0
  35. package/dist/contract/cli/invokeAsk.integration.test.js +41 -0
  36. package/dist/contract/cli/invokeAsk.integration.test.js.map +1 -0
  37. package/dist/contract/cli/invokeAsk.js +78 -0
  38. package/dist/contract/cli/invokeAsk.js.map +1 -0
  39. package/dist/contract/cli/invokeList.d.ts +10 -0
  40. package/dist/contract/cli/invokeList.js +48 -0
  41. package/dist/contract/cli/invokeList.js.map +1 -0
  42. package/dist/contract/cli/invokeReadme.d.ts +15 -0
  43. package/dist/contract/cli/invokeReadme.integration.test.d.ts +1 -0
  44. package/dist/contract/cli/invokeReadme.integration.test.js +62 -0
  45. package/dist/contract/cli/invokeReadme.integration.test.js.map +1 -0
  46. package/dist/contract/cli/invokeReadme.js +72 -0
  47. package/dist/contract/cli/invokeReadme.js.map +1 -0
  48. package/dist/contract/sdk.d.ts +9 -1
  49. package/dist/contract/sdk.js +16 -2
  50. package/dist/contract/sdk.js.map +1 -1
  51. package/dist/domain/objects/index.d.ts +7 -0
  52. package/dist/domain/objects/index.js +7 -0
  53. package/dist/domain/objects/index.js.map +1 -1
  54. package/dist/logic/invoke/assureFindRole.d.ts +10 -0
  55. package/dist/logic/invoke/assureFindRole.js +22 -0
  56. package/dist/logic/invoke/assureFindRole.js.map +1 -0
  57. package/dist/logic/invoke/assureUniqueRoles.d.ts +5 -0
  58. package/dist/logic/invoke/assureUniqueRoles.js +19 -0
  59. package/dist/logic/invoke/assureUniqueRoles.js.map +1 -0
  60. package/dist/logic/invoke/getSkillContext.d.ts +17 -0
  61. package/dist/logic/invoke/getSkillContext.js +44 -0
  62. package/dist/logic/invoke/getSkillContext.js.map +1 -0
  63. package/dist/logic/invoke/getSkillContext.test.d.ts +1 -0
  64. package/dist/logic/invoke/getSkillContext.test.js +85 -0
  65. package/dist/logic/invoke/getSkillContext.test.js.map +1 -0
  66. package/dist/logic/invoke/getSkillThread.test.d.ts +1 -0
  67. package/dist/logic/invoke/getSkillThread.test.js +115 -0
  68. package/dist/logic/invoke/getSkillThread.test.js.map +1 -0
  69. package/dist/logic/invoke/getSkillThreads.d.ts +16 -0
  70. package/dist/logic/invoke/getSkillThreads.js +46 -0
  71. package/dist/logic/invoke/getSkillThreads.js.map +1 -0
  72. package/dist/logic/stitch/enstitch.test.js +2 -2
  73. package/dist/logic/stitch/enstitch.test.js.map +1 -1
  74. package/dist/logic/stitch/invokeImagineStitcher.integration.test.js +3 -3
  75. package/dist/logic/stitch/invokeImagineStitcher.integration.test.js.map +1 -1
  76. package/dist/logic/template/genStepImagineViaTemplate.test.js +2 -2
  77. package/dist/logic/template/genStepImagineViaTemplate.test.js.map +1 -1
  78. package/dist/logic/weave/compose/GStitcherInferredFromChoice.generic.test.js +2 -2
  79. package/dist/logic/weave/compose/GStitcherInferredFromChoice.generic.test.js.map +1 -1
  80. package/dist/logic/weave/compose/GStitcherInferredFromCycle.generic.test.js +2 -2
  81. package/dist/logic/weave/compose/GStitcherInferredFromCycle.generic.test.js.map +1 -1
  82. package/dist/logic/weave/compose/GStitcherInferredFromFanout.generic.test.js +2 -2
  83. package/dist/logic/weave/compose/GStitcherInferredFromFanout.generic.test.js.map +1 -1
  84. package/dist/logic/weave/compose/GStitcherInferredFromRoute.generic.test.js +2 -2
  85. package/dist/logic/weave/compose/GStitcherInferredFromRoute.generic.test.js.map +1 -1
  86. package/dist/logic/weave/compose/asStitcher.d.ts +1 -1
  87. package/dist/logic/weave/compose/genStitchCycle.test.js +2 -2
  88. package/dist/logic/weave/compose/genStitchCycle.test.js.map +1 -1
  89. package/dist/logic/weave/compose/genStitchFanout.test.js +2 -2
  90. package/dist/logic/weave/compose/genStitchFanout.test.js.map +1 -1
  91. package/dist/logic/weave/enweaveOneChoice.test.js +2 -2
  92. package/dist/logic/weave/enweaveOneChoice.test.js.map +1 -1
  93. package/dist/logic/weave/enweaveOneCycle.test.js +2 -2
  94. package/dist/logic/weave/enweaveOneCycle.test.js.map +1 -1
  95. package/dist/logic/weave/enweaveOneFanout.integration.test.js +6 -6
  96. package/dist/logic/weave/enweaveOneFanout.integration.test.js.map +1 -1
  97. package/dist/logic/weave/enweaveOneRoute.integration.test.js +6 -6
  98. package/dist/logic/weave/enweaveOneRoute.integration.test.js.map +1 -1
  99. package/dist/logic/weave/enweaveOneStitcher.integration.test.js +10 -10
  100. package/dist/logic/weave/enweaveOneStitcher.integration.test.js.map +1 -1
  101. package/package.json +8 -2
  102. package/dist/__nonpublished_modules__/file-fns/src/getFile.js.map +0 -1
  103. package/dist/__test_assets__/directory.js.map +0 -1
  104. package/dist/__test_assets__/genContextLogTrail.js.map +0 -1
  105. package/dist/__test_assets__/genContextStitchTrail.js.map +0 -1
  106. package/dist/__test_assets__/getContextOpenAI.js.map +0 -1
  107. package/dist/__test_assets__/stitchers/genStitcherCodeFileRead.js.map +0 -1
  108. package/dist/__test_assets__/stitchers/genStitcherCodeFileWrite.js.map +0 -1
  109. package/dist/__test_assets__/stitchers/genStitcherCodeReviewImagine.js.map +0 -1
  110. package/dist/__test_assets__/stitchers/stitcherCodeDiffImagine.js.map +0 -1
  111. package/dist/__test_assets__/stitchers/stitcherFanoutRandomSum.js.map +0 -1
  112. package/dist/__test_assets__/stitchers/stitcherFanoutSubroutes.js.map +0 -1
  113. package/dist/__test_assets__/threads/codeArtist.js.map +0 -1
  114. package/dist/__test_assets__/threads/codeCritic.js.map +0 -1
  115. package/dist/__test_assets__/threads/director.js.map +0 -1
  116. /package/dist/{__test_assets__ → .test}/directory.d.ts +0 -0
  117. /package/dist/{__test_assets__ → .test}/directory.js +0 -0
  118. /package/dist/{__test_assets__ → .test}/genContextLogTrail.d.ts +0 -0
  119. /package/dist/{__test_assets__ → .test}/genContextLogTrail.js +0 -0
  120. /package/dist/{__test_assets__ → .test}/genContextStitchTrail.d.ts +0 -0
  121. /package/dist/{__test_assets__ → .test}/genContextStitchTrail.js +0 -0
  122. /package/dist/{__test_assets__ → .test}/getContextOpenAI.d.ts +0 -0
  123. /package/dist/{__test_assets__ → .test}/getContextOpenAI.js +0 -0
  124. /package/dist/{__test_assets__ → .test}/stitchers/genStitcherCodeFileRead.js +0 -0
  125. /package/dist/{__test_assets__ → .test}/stitchers/genStitcherCodeFileWrite.js +0 -0
  126. /package/dist/{__test_assets__ → .test}/stitchers/genStitcherCodeReviewImagine.js +0 -0
  127. /package/dist/{__test_assets__ → .test}/stitchers/stitcherCodeDiffImagine.js +0 -0
  128. /package/dist/{__test_assets__ → .test}/stitchers/stitcherFanoutRandomSum.js +0 -0
  129. /package/dist/{__test_assets__ → .test}/stitchers/stitcherFanoutSubroutes.js +0 -0
  130. /package/dist/{__test_assets__ → .test}/threads/codeArtist.d.ts +0 -0
  131. /package/dist/{__test_assets__ → .test}/threads/codeCritic.d.ts +0 -0
  132. /package/dist/{__test_assets__ → .test}/threads/director.d.ts +0 -0
  133. /package/dist/{__test_assets__ → .test}/threads/director.js +0 -0
  134. /package/dist/{__nonpublished_modules__ → _topublish}/file-fns/src/getFile.d.ts +0 -0
  135. /package/dist/{__nonpublished_modules__ → _topublish}/file-fns/src/getFile.js +0 -0
package/bin/run ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env tsx
2
+ import { invoke } from '../src/contract/cli/invoke';
3
+
4
+ void invoke({ args: process.argv.slice(2) });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directory.js","sourceRoot":"","sources":["../../src/.test/directory.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG,SAAS,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genContextLogTrail.js","sourceRoot":"","sources":["../../src/.test/genContextLogTrail.ts"],"names":[],"mappings":";;;AACA,uCAAgC;AAEzB,MAAM,kBAAkB,GAAG,GAAoB,EAAE,CAAC,CAAC;IACxD,GAAG,EAAE;QACH,GAAG,IAAA,eAAI,EAAC,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3D,KAAK,EAAE,EAAE;KACV;CACF,CAAC,CAAC;AALU,QAAA,kBAAkB,sBAK5B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genContextStitchTrail.js","sourceRoot":"","sources":["../../src/.test/genContextStitchTrail.ts"],"names":[],"mappings":";;;AAEO,MAAM,qBAAqB,GAAG,GAAuB,EAAE,CAAC,CAAC;IAC9D,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;CACtB,CAAC,CAAC;AAFU,QAAA,qBAAqB,yBAE/B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getContextOpenAI.js","sourceRoot":"","sources":["../../src/.test/getContextOpenAI.ts"],"names":[],"mappings":";;;AAAA,mDAAyD;AAIlD,MAAM,gBAAgB,GAAG,GAAkB,EAAE,CAAC,CAAC;IACpD,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,GAAG,EACD,OAAO,CAAC,GAAG,CAAC,eAAe;gBAC3B,wCAAuB,CAAC,KAAK,CAAC,qCAAqC,CAAC;SACvE;QACD,GAAG,EAAE;YACH,KAAK,EAAE,wBAAwB;YAC/B,MAAM,EAAE,OAAO;SAChB;KACF;CACF,CAAC,CAAC;AAZU,QAAA,gBAAgB,oBAY1B"}
@@ -11,4 +11,4 @@ export declare const genStitcherCodeFileRead: <TStitchee extends keyof TThreads,
11
11
  output: OutputFileRead | ((input: {
12
12
  threads: TThreads;
13
13
  }) => OutputFileRead);
14
- }) => StitchStepCompute<GStitcher<TThreads, ContextOpenAI & import("simple-log-methods").ContextLogTrail & import("../../logic/stitch/withStitchTrail").ContextStitchTrail, OutputFileRead>>;
14
+ }) => StitchStepCompute<GStitcher<TThreads, ContextOpenAI & import("simple-log-methods").ContextLogTrail & import("../..").ContextStitchTrail, OutputFileRead>>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genStitcherCodeFileRead.js","sourceRoot":"","sources":["../../../src/.test/stitchers/genStitcherCodeFileRead.ts"],"names":[],"mappings":";;;AAAA,sEAAsE;AACtE,uCAAuC;AAEvC,gEAAoE;AAU7D,MAAM,uBAAuB,GAAG,CAGrC,KAGD,EAAE,EAAE,CACH,IAAI,8BAAiB,CAEnB;IACA,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,uBAAuB;IAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACtB,MAAM,MAAM,GAAG,IAAA,sBAAW,EAAC,KAAK,CAAC,MAAM,CAAC;YACtC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;YAC3B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QACjB,OAAO;YACL,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;YAC5B,MAAM;SACP,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAvBQ,QAAA,uBAAuB,2BAuB/B"}
@@ -13,4 +13,4 @@ export type OutputFileWrite = {
13
13
  export declare const genStitcherCodeFileWrite: <TStitchee extends keyof TThreads, TThreads extends Threads<any> = Threads>(input: {
14
14
  stitchee: TStitchee;
15
15
  path?: string;
16
- }) => StitchStepCompute<GStitcher<TThreads, ContextOpenAI & import("simple-log-methods").ContextLogTrail & import("../../logic/stitch/withStitchTrail").ContextStitchTrail, OutputFileWrite>>;
16
+ }) => StitchStepCompute<GStitcher<TThreads, ContextOpenAI & import("simple-log-methods").ContextLogTrail & import("../..").ContextStitchTrail, OutputFileWrite>>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genStitcherCodeFileWrite.js","sourceRoot":"","sources":["../../../src/.test/stitchers/genStitcherCodeFileWrite.ts"],"names":[],"mappings":";;;AAAA,sEAAsE;AACtE,mDAAyD;AAGzD,gEAAoE;AAUpE;;;GAGG;AACI,MAAM,wBAAwB,GAAG,CAGtC,KAGD,EAAE,EAAE,CACH,IAAI,8BAAiB,CAEnB;IACA,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,wBAAwB;IAC9B,MAAM,EAAE,iEAAiE;IACzE,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACtB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,MAAM,EAAE,MAAM,CAAC;QAC/B,IAAI,OAAO,OAAO,KAAK,QAAQ;YAC7B,MAAM,IAAI,wCAAuB,CAC/B,yDAAyD,EACzD,EAAE,MAAM,EAAE,OAAO,EAAE,CACpB,CAAC;QAEJ,MAAM,MAAM,GAAoB;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,uBAAuB;YAC3C,OAAO;SACR,CAAC;QAEF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC3C,CAAC;CACF,CAAC,CAAC;AA9BQ,QAAA,wBAAwB,4BA8BhC"}
@@ -12,4 +12,4 @@ export declare const genStitcherCodeReview: (input: {
12
12
  tools: string[];
13
13
  facts: string[];
14
14
  };
15
- }>, ContextOpenAI & import("simple-log-methods").ContextLogTrail & import("../../logic/stitch/withStitchTrail").ContextStitchTrail, string>>;
15
+ }>, ContextOpenAI & import("simple-log-methods").ContextLogTrail & import("../..").ContextStitchTrail, string>>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genStitcherCodeReviewImagine.js","sourceRoot":"","sources":["../../../src/.test/stitchers/genStitcherCodeReviewImagine.ts"],"names":[],"mappings":"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"}
@@ -10,4 +10,4 @@ export declare const stitcherCodeDiffImagine: StitchStepImagine<GStitcher<Thread
10
10
  director: {
11
11
  directive?: string;
12
12
  };
13
- }>, ContextOpenAI & import("simple-log-methods").ContextLogTrail & import("../../logic/stitch/withStitchTrail").ContextStitchTrail, string>>;
13
+ }>, ContextOpenAI & import("simple-log-methods").ContextLogTrail & import("../..").ContextStitchTrail, string>>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stitcherCodeDiffImagine.js","sourceRoot":"","sources":["../../../src/.test/stitchers/stitcherCodeDiffImagine.ts"],"names":[],"mappings":";;;AAAA,gEAAoE;AAGpE,mFAGsD;AAEzC,QAAA,uBAAuB,GAAG,IAAI,8BAAiB,CAS1D;IACA,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,qBAAqB;IAC3B,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,6BAA6B;IACrC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACxB;QACE,6CAA6C;QAC7C,EAAE;QACF,kBAAkB;QAClB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;QAC1C,EAAE;QACF,kBAAkB;QAClB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;QAC1C,EAAE;QACF,uCAAuC;QACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO;QACpD,EAAE;QACF,uBAAuB;QACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS;YAChC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;KACjE,CAAC,IAAI,CAAC,IAAI,CAAC;IACd,OAAO,EAAE,mCAAgB;IACzB,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACtC,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,QAAQ;KAChB,CAAC;CACH,CAAC,CAAC"}
@@ -4,10 +4,10 @@ import { GStitcher } from '../../domain/objects/Stitcher';
4
4
  import { Threads } from '../../domain/objects/Threads';
5
5
  export declare const stitcherFanoutRandomSum: import("../..").StitchFanout<import("../../logic/weave/compose/GStitcherInferredFromFanout.generic").GStitcherInferredFromFanout<[StitchStepCompute<GStitcher<Threads<{
6
6
  main: Empty;
7
- }>, import("simple-log-methods").ContextLogTrail & import("../../logic/stitch/withStitchTrail").ContextStitchTrail, number>>, StitchStepCompute<GStitcher<Threads<{
7
+ }>, import("simple-log-methods").ContextLogTrail & import("../..").ContextStitchTrail, number>>, StitchStepCompute<GStitcher<Threads<{
8
8
  main: Empty;
9
- }>, import("simple-log-methods").ContextLogTrail & import("../../logic/stitch/withStitchTrail").ContextStitchTrail, number>>, StitchStepCompute<GStitcher<Threads<{
9
+ }>, import("simple-log-methods").ContextLogTrail & import("../..").ContextStitchTrail, number>>, StitchStepCompute<GStitcher<Threads<{
10
10
  main: Empty;
11
- }>, import("simple-log-methods").ContextLogTrail & import("../../logic/stitch/withStitchTrail").ContextStitchTrail, number>>], StitchStepCompute<GStitcher<Threads<{
11
+ }>, import("simple-log-methods").ContextLogTrail & import("../..").ContextStitchTrail, number>>], StitchStepCompute<GStitcher<Threads<{
12
12
  main: Empty;
13
- }, "multiple">, import("simple-log-methods").ContextLogTrail & import("../../logic/stitch/withStitchTrail").ContextStitchTrail, number>>>>;
13
+ }, "multiple">, import("simple-log-methods").ContextLogTrail & import("../..").ContextStitchTrail, number>>>>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stitcherFanoutRandomSum.js","sourceRoot":"","sources":["../../../src/.test/stitchers/stitcherFanoutRandomSum.ts"],"names":[],"mappings":";;;AAEA,gEAAoE;AAGpE,+EAA4E;AAE5E,MAAM,qBAAqB,GAAG,IAAI,8BAAiB,CAEjD;IACA,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACb,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;KACxC,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,IAAI,8BAAiB,CAE1C;IACA,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QACtB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC,MAAgB,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAE/C,OAAO;YACL,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,GAAG;SACZ,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEU,QAAA,uBAAuB,GAAG,IAAA,iCAAe,EAAC;IACrD,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE;QACT,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;KACtB;IACD,SAAS,EAAE,cAAc;CAC1B,CAAC,CAAC"}
@@ -13,7 +13,7 @@ export declare const stitcherFanoutWithRoutes: import("../..").StitchFanout<impo
13
13
  stitch: {
14
14
  trail: import("../..").StitchTrail;
15
15
  };
16
- } & import("simple-log-methods").ContextLogTrail & import("../../logic/stitch/withStitchTrail").ContextStitchTrail, number>>, import("../../domain/objects/Stitcher").Stitcher<GStitcher<Threads<{
16
+ } & import("simple-log-methods").ContextLogTrail & import("../..").ContextStitchTrail, number>>, import("../../domain/objects/Stitcher").Stitcher<GStitcher<Threads<{
17
17
  main: import("../../domain/objects/Threads").ThreadContextRole<"main">;
18
18
  }, "single">, {
19
19
  log: import("simple-log-methods").LogMethods & {
@@ -24,6 +24,6 @@ export declare const stitcherFanoutWithRoutes: import("../..").StitchFanout<impo
24
24
  stitch: {
25
25
  trail: import("../..").StitchTrail;
26
26
  };
27
- } & import("simple-log-methods").ContextLogTrail & import("../../logic/stitch/withStitchTrail").ContextStitchTrail, number>>], StitchStepCompute<GStitcher<Threads<{
27
+ } & import("simple-log-methods").ContextLogTrail & import("../..").ContextStitchTrail, number>>], StitchStepCompute<GStitcher<Threads<{
28
28
  main: Empty;
29
- }, "multiple">, import("simple-log-methods").ContextLogTrail & import("../../logic/stitch/withStitchTrail").ContextStitchTrail, number>>>>;
29
+ }, "multiple">, import("simple-log-methods").ContextLogTrail & import("../..").ContextStitchTrail, number>>>>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stitcherFanoutSubroutes.js","sourceRoot":"","sources":["../../../src/.test/stitchers/stitcherFanoutSubroutes.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getExampleThreadCodeArtist = void 0;
4
- const getFile_1 = require("../../__nonpublished_modules__/file-fns/src/getFile");
4
+ const getFile_1 = require("../../_topublish/file-fns/src/getFile");
5
5
  const Thread_1 = require("../../domain/objects/Thread");
6
6
  const directory_1 = require("../directory");
7
7
  // todo: use enroleThread to add role context & apply role tools
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeArtist.js","sourceRoot":"","sources":["../../../src/.test/threads/codeArtist.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAChE,wDAAqD;AAErD,4CAAmD;AAEnD,gEAAgE;AACzD,MAAM,0BAA0B,GAAG,KAAK,IAE7C,EAAE,CACF,IAAI,eAAM,CAER;IACA,OAAO,EAAE;QACP,IAAI,EAAE,QAAiB;QACvB,KAAK,EAAE;YACL,MAAM,IAAA,iBAAO,EAAC;gBACZ,IAAI,EACF,+BAAmB;oBACnB,qDAAqD;aACxD,CAAC;SACH;QACD,KAAK,EAAE;YACL,MAAM,IAAA,iBAAO,EAAC;gBACZ,IAAI,EACF,+BAAmB,GAAG,2CAA2C;aACpE,CAAC;SACH;KACF;IACD,QAAQ,EAAE,EAAE,EAAE,6BAA6B;CAC5C,CAAC,CAAC;AAvBQ,QAAA,0BAA0B,8BAuBlC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getExampleThreadCodeCritic = void 0;
4
- const getFile_1 = require("../../__nonpublished_modules__/file-fns/src/getFile");
4
+ const getFile_1 = require("../../_topublish/file-fns/src/getFile");
5
5
  const Thread_1 = require("../../domain/objects/Thread");
6
6
  const directory_1 = require("../directory");
7
7
  // todo: use enroleThread to add role context & apply role tools
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeCritic.js","sourceRoot":"","sources":["../../../src/.test/threads/codeCritic.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAChE,wDAAqD;AAErD,4CAAmD;AAEnD,gEAAgE;AACzD,MAAM,0BAA0B,GAAG,KAAK,IAE7C,EAAE,CACF,IAAI,eAAM,CAER;IACA,OAAO,EAAE;QACP,IAAI,EAAE,QAAiB;QACvB,KAAK,EAAE,EAAE;QACT,KAAK,EAAE;YACL,MAAM,IAAA,iBAAO,EAAC;gBACZ,IAAI,EACF,+BAAmB,GAAG,2CAA2C;aACpE,CAAC;SACH;KACF;IACD,QAAQ,EAAE,EAAE,EAAE,6BAA6B;CAC5C,CAAC,CAAC;AAjBQ,QAAA,0BAA0B,8BAiBlC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"director.js","sourceRoot":"","sources":["../../../src/.test/threads/director.ts"],"names":[],"mappings":";;;AAAA,wDAAqD;AAGrD,gEAAgE;AACnD,QAAA,qBAAqB,GAAG,eAAM,CAAC,KAAK,CAE/C;IACA,OAAO,EAAE;QACP,IAAI,EAAE,UAAmB;QACzB,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;KACV;IACD,QAAQ,EAAE,EAAE,EAAE,6BAA6B;CAC5C,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFile.js","sourceRoot":"","sources":["../../../../src/_topublish/file-fns/src/getFile.ts"],"names":[],"mappings":";;;AAAA,2BAAoC;AACpC,+BAA+B;AAE/B;;GAEG;AACI,MAAM,OAAO,GAAG,KAAK,EAAE,KAAuB,EAAmB,EAAE;IACxE,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,MAAM,aAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC,CAAC;AAHW,QAAA,OAAO,WAGlB"}
@@ -0,0 +1,2 @@
1
+ import { RoleRegistry } from '../../sdk';
2
+ export declare const EXAMPLE_REGISTRY: RoleRegistry;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EXAMPLE_REGISTRY = void 0;
4
+ const genThread_1 = require("../../../logic/thread/genThread");
5
+ const sdk_1 = require("../../sdk");
6
+ const stepEchoAsk = new sdk_1.StitchStepCompute({
7
+ slug: 'echo.step',
8
+ form: 'COMPUTE',
9
+ stitchee: 'caller',
10
+ readme: 'simple echo logic',
11
+ invoke: async ({ threads }, context) => {
12
+ context.log.info('echo:', { ask: threads.caller.context.ask });
13
+ return {
14
+ input: null,
15
+ output: `echo: ${threads.caller.context.ask}`,
16
+ };
17
+ },
18
+ });
19
+ const echoSkill = sdk_1.RoleSkill.build({
20
+ slug: 'echo',
21
+ readme: 'Echoes back the ask string.',
22
+ route: stepEchoAsk,
23
+ threads: {
24
+ lookup: {},
25
+ assess: (input) => true,
26
+ instantiate: (input) => ({
27
+ caller: (0, genThread_1.genThread)({ role: 'caller', ask: input.ask }),
28
+ }),
29
+ },
30
+ context: {
31
+ lookup: {},
32
+ assess: (input) => true,
33
+ instantiate: () => ({
34
+ log: console,
35
+ stitch: {
36
+ trail: [],
37
+ },
38
+ }),
39
+ },
40
+ });
41
+ const echoRole = sdk_1.Role.build({
42
+ slug: 'echoer',
43
+ name: 'Echoer',
44
+ purpose: 'repeat things',
45
+ readme: 'knows how to echo input back to the user.',
46
+ traits: [],
47
+ skills: [echoSkill],
48
+ });
49
+ exports.EXAMPLE_REGISTRY = new sdk_1.RoleRegistry({
50
+ slug: 'echo',
51
+ readme: 'basic registry for testing CLI execution',
52
+ roles: [echoRole],
53
+ });
54
+ //# sourceMappingURL=example.echoRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example.echoRegistry.js","sourceRoot":"","sources":["../../../../src/contract/cli/.test/example.echoRegistry.ts"],"names":[],"mappings":";;;AAEA,+DAA4D;AAC5D,mCAQmB;AAEnB,MAAM,WAAW,GAAG,IAAI,uBAAiB,CAEvC;IACA,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,mBAAmB;IAC3B,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE;QACrC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/D,OAAO;YACL,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,SAAS,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;SAC9C,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,eAAS,CAAC,KAAK,CAA6C;IAC5E,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,6BAA6B;IACrC,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE;QACP,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,CAAC,KAAK,EAAkB,EAAE,CAAC,IAAI;QACvC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACvB,MAAM,EAAE,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;SACtD,CAAC;KACH;IACD,OAAO,EAAE;QACP,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,CAAC,KAAU,EAAkB,EAAE,CAAC,IAAI;QAC5C,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAClB,GAAG,EAAE,OAAO;YACZ,MAAM,EAAE;gBACN,KAAK,EAAE,EAAE;aACV;SACF,CAAC;KACH;CACF,CAAC,CAAC;AACH,MAAM,QAAQ,GAAG,UAAI,CAAC,KAAK,CAAC;IAC1B,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,eAAe;IACxB,MAAM,EAAE,2CAA2C;IACnD,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,CAAC,SAAS,CAAC;CACpB,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG,IAAI,kBAAY,CAAC;IAC/C,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,0CAA0C;IAClD,KAAK,EAAE,CAAC,QAAQ,CAAC;CAClB,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * .what = main entrypoint for CLI execution
3
+ * .why =
4
+ * - sets up CLI commands and loads dynamic config from project root
5
+ * - enables skills to be registered dynamically via `rhachet.use.ts`
6
+ * .how =
7
+ * - defaults to loading `@gitroot/rhachet.use.ts` unless overridden with `--config` or `-c`
8
+ * - config must export a `getRoleRegistries()` function returning a set of RoleRegistries to support
9
+ */
10
+ export declare const invoke: (input: {
11
+ args: string[];
12
+ }) => Promise<void>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const path_1 = __importDefault(require("path"));
7
+ const test_fns_1 = require("test-fns");
8
+ const invoke_1 = require("./invoke");
9
+ describe('invoke', () => {
10
+ (0, test_fns_1.given)('a valid config path pointing to a basic test registry', () => {
11
+ const configPath = path_1.default.resolve(__dirname, './.test/example.rhachet.use.ts');
12
+ (0, test_fns_1.when)('asked to readme a role', () => {
13
+ const args = [
14
+ '--config',
15
+ configPath,
16
+ 'readme',
17
+ '--registry',
18
+ 'echo',
19
+ '--role',
20
+ 'echoer',
21
+ ];
22
+ let logSpy;
23
+ beforeAll(() => {
24
+ logSpy = jest.spyOn(console, 'log');
25
+ });
26
+ afterAll(() => {
27
+ logSpy.mockRestore();
28
+ });
29
+ (0, test_fns_1.then)('it should print the expected readme from the role', async () => {
30
+ await (0, invoke_1.invoke)({ args });
31
+ const callArgs = logSpy.mock.calls.flat();
32
+ const printed = callArgs.join('\n');
33
+ expect(printed).toContain('knows how to echo input back to the user.');
34
+ });
35
+ });
36
+ });
37
+ });
38
+ //# sourceMappingURL=invoke.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoke.integration.test.js","sourceRoot":"","sources":["../../../src/contract/cli/invoke.integration.test.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,uCAA6C;AAE7C,qCAAkC;AAElC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,IAAA,gBAAK,EAAC,uDAAuD,EAAE,GAAG,EAAE;QAClE,MAAM,UAAU,GAAG,cAAI,CAAC,OAAO,CAC7B,SAAS,EACT,gCAAgC,CACjC,CAAC;QAEF,IAAA,eAAI,EAAC,wBAAwB,EAAE,GAAG,EAAE;YAClC,MAAM,IAAI,GAAG;gBACX,UAAU;gBACV,UAAU;gBACV,QAAQ;gBACR,YAAY;gBACZ,MAAM;gBACN,QAAQ;gBACR,QAAQ;aACT,CAAC;YAEF,IAAI,MAA8C,CAAC;YAEnD,SAAS,CAAC,GAAG,EAAE;gBACb,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,GAAG,EAAE;gBACZ,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,IAAA,eAAI,EAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;gBACnE,MAAM,IAAA,eAAM,EAAC,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEvB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,2CAA2C,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.invoke = void 0;
27
+ const commander_1 = require("commander");
28
+ const helpful_errors_1 = require("helpful-errors");
29
+ const path_1 = require("path");
30
+ const rhachet_artifact_git_1 = require("rhachet-artifact-git");
31
+ const assureUniqueRoles_1 = require("../../logic/invoke/assureUniqueRoles");
32
+ const invokeAsk_1 = require("./invokeAsk");
33
+ const invokeList_1 = require("./invokeList");
34
+ const invokeReadme_1 = require("./invokeReadme");
35
+ /**
36
+ * .what = main entrypoint for CLI execution
37
+ * .why =
38
+ * - sets up CLI commands and loads dynamic config from project root
39
+ * - enables skills to be registered dynamically via `rhachet.use.ts`
40
+ * .how =
41
+ * - defaults to loading `@gitroot/rhachet.use.ts` unless overridden with `--config` or `-c`
42
+ * - config must export a `getRoleRegistries()` function returning a set of RoleRegistries to support
43
+ */
44
+ const invoke = async (input) => {
45
+ const gitroot = await (0, rhachet_artifact_git_1.getGitRepoRoot)({ from: process.cwd() });
46
+ // grab the config
47
+ const configArg = input.args.findIndex((a) => a === '--config' || a === '-c');
48
+ const configPathExplicit = configArg >= 0 && input.args[configArg + 1]
49
+ ? input.args[configArg + 1]
50
+ : undefined;
51
+ const configPath = configPathExplicit
52
+ ? (0, path_1.resolve)(process.cwd(), configPathExplicit)
53
+ : (0, path_1.resolve)(gitroot, 'rhachet.use.ts');
54
+ const config = await Promise.resolve(`${configPath}`).then(s => __importStar(require(s)));
55
+ // grab the registries configured
56
+ const registries = await config.getRoleRegistries();
57
+ // failfast on duplicate roles // todo: update commands to allow registry based disambiguation
58
+ await (0, assureUniqueRoles_1.assureUniqueRoles)(registries);
59
+ // declare the cli program
60
+ const program = new commander_1.Command();
61
+ program.configureOutput({
62
+ writeErr: (str) => {
63
+ console.error('[commander error]', str);
64
+ },
65
+ });
66
+ program
67
+ .name('rhachet')
68
+ .description('ehmpathy CLI interface')
69
+ .option('-c, --config <path>', 'where to find the rhachet.use.ts config'); // tell commander that we expect the config input and not to complain about it
70
+ (0, invokeReadme_1.invokeReadme)({ program, registries });
71
+ (0, invokeList_1.invokeList)({ program, registries });
72
+ (0, invokeAsk_1.invokeAsk)({ program, registries });
73
+ // invoke it
74
+ // console.log('[args]', input.args); // todo: make it easier to d ebug
75
+ await program.parseAsync(input.args, { from: 'user' }).catch((error) => {
76
+ if (error instanceof helpful_errors_1.BadRequestError) {
77
+ console.error(``);
78
+ console.error(`❌ ${error.message}`);
79
+ console.error(``);
80
+ console.error(`[args] ${input.args}`);
81
+ console.error(``);
82
+ process.exit(1);
83
+ }
84
+ throw error;
85
+ });
86
+ };
87
+ exports.invoke = invoke;
88
+ //# sourceMappingURL=invoke.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../../src/contract/cli/invoke.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoC;AACpC,mDAAiD;AACjD,+BAA+B;AAC/B,+DAAsD;AAGtD,4EAAyE;AACzE,2CAAwC;AACxC,6CAA0C;AAC1C,iDAA8C;AAE9C;;;;;;;;GAQG;AACI,MAAM,MAAM,GAAG,KAAK,EAAE,KAAyB,EAAiB,EAAE;IACvE,MAAM,OAAO,GAAG,MAAM,IAAA,qCAAc,EAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAE9D,kBAAkB;IAClB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAC9E,MAAM,kBAAkB,GACtB,SAAS,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACzC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAE;QAC5B,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,UAAU,GAAG,kBAAkB;QACnC,CAAC,CAAC,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,kBAAkB,CAAC;QAC5C,CAAC,CAAC,IAAA,cAAO,EAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACvC,MAAM,MAAM,GACV,yBAAa,UAAU,uCAAC,CAAC;IAE3B,iCAAiC;IACjC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC;IAEpD,8FAA8F;IAC9F,MAAM,IAAA,qCAAiB,EAAC,UAAU,CAAC,CAAC;IAEpC,0BAA0B;IAC1B,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;IAC9B,OAAO,CAAC,eAAe,CAAC;QACtB,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;YAChB,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC;KACF,CAAC,CAAC;IACH,OAAO;SACJ,IAAI,CAAC,SAAS,CAAC;SACf,WAAW,CAAC,wBAAwB,CAAC;SACrC,MAAM,CAAC,qBAAqB,EAAE,yCAAyC,CAAC,CAAC,CAAC,8EAA8E;IAC3J,IAAA,2BAAY,EAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IACtC,IAAA,uBAAU,EAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IACpC,IAAA,qBAAS,EAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAEnC,YAAY;IACZ,uEAAuE;IACvE,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACrE,IAAI,KAAK,YAAY,gCAAe,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAjDW,QAAA,MAAM,UAiDjB"}
@@ -0,0 +1,10 @@
1
+ import { Command } from 'commander';
2
+ import { RoleRegistry } from '../../domain/objects/RoleRegistry';
3
+ /**
4
+ * .what = adds the "ask" command to the CLI
5
+ * .why = lets users invoke a skill from any role in the given registries
6
+ */
7
+ export declare const invokeAsk: ({ program, registries, }: {
8
+ program: Command;
9
+ registries: RoleRegistry[];
10
+ }) => void;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const commander_1 = require("commander");
4
+ const test_fns_1 = require("test-fns");
5
+ const example_echoRegistry_1 = require("./.test/example.echoRegistry");
6
+ const invokeAsk_1 = require("./invokeAsk");
7
+ describe('invokeAsk (integration)', () => {
8
+ (0, test_fns_1.given)('a CLI program with invokeAsk registered using EXAMPLE_REGISTRY', () => {
9
+ const program = new commander_1.Command();
10
+ (0, invokeAsk_1.invokeAsk)({ program, registries: [example_echoRegistry_1.EXAMPLE_REGISTRY] });
11
+ (0, test_fns_1.when)('invoking a valid echo skill with ask input', () => {
12
+ (0, test_fns_1.then)('it should execute the skill successfully', async () => {
13
+ const args = [
14
+ 'ask',
15
+ '--role',
16
+ 'echoer',
17
+ '--skill',
18
+ 'echo',
19
+ '--ask',
20
+ 'hello',
21
+ ];
22
+ await program.parseAsync(args, { from: 'user' });
23
+ });
24
+ });
25
+ (0, test_fns_1.when)('invoking with an invalid skill', () => {
26
+ (0, test_fns_1.then)('it should throw a bad request error', async () => {
27
+ const args = ['ask', '--role', 'echoer', '--skill', 'unknown', 'hi'];
28
+ const error = await (0, test_fns_1.getError)(() => program.parseAsync(args, { from: 'user' }));
29
+ expect(error?.message).toContain('no skill named');
30
+ });
31
+ });
32
+ (0, test_fns_1.when)('invoking with an invalid role', () => {
33
+ (0, test_fns_1.then)('it should throw a missing role error', async () => {
34
+ const args = ['ask', '--role', 'badrole', '--skill', 'echo', 'hi'];
35
+ const error = await (0, test_fns_1.getError)(() => program.parseAsync(args, { from: 'user' }));
36
+ expect(error?.message).toContain('no role named');
37
+ });
38
+ });
39
+ });
40
+ });
41
+ //# sourceMappingURL=invokeAsk.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invokeAsk.integration.test.js","sourceRoot":"","sources":["../../../src/contract/cli/invokeAsk.integration.test.ts"],"names":[],"mappings":";;AAAA,yCAAoC;AACpC,uCAAuD;AAEvD,uEAAgE;AAChE,2CAAwC;AAExC,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,IAAA,gBAAK,EACH,gEAAgE,EAChE,GAAG,EAAE;QACH,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;QAC9B,IAAA,qBAAS,EAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,uCAAgB,CAAC,EAAE,CAAC,CAAC;QAEvD,IAAA,eAAI,EAAC,4CAA4C,EAAE,GAAG,EAAE;YACtD,IAAA,eAAI,EAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;gBAC1D,MAAM,IAAI,GAAG;oBACX,KAAK;oBACL,QAAQ;oBACR,QAAQ;oBACR,SAAS;oBACT,MAAM;oBACN,OAAO;oBACP,OAAO;iBACR,CAAC;gBACF,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAA,eAAI,EAAC,gCAAgC,EAAE,GAAG,EAAE;YAC1C,IAAA,eAAI,EAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;gBACrD,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBACrE,MAAM,KAAK,GAAG,MAAM,IAAA,mBAAQ,EAAC,GAAG,EAAE,CAChC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAC3C,CAAC;gBACF,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAA,eAAI,EAAC,+BAA+B,EAAE,GAAG,EAAE;YACzC,IAAA,eAAI,EAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;gBACtD,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBACnE,MAAM,KAAK,GAAG,MAAM,IAAA,mBAAQ,EAAC,GAAG,EAAE,CAChC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAC3C,CAAC;gBACF,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.invokeAsk = void 0;
4
+ const helpful_errors_1 = require("helpful-errors");
5
+ const assureFindRole_1 = require("../../logic/invoke/assureFindRole");
6
+ const getSkillContext_1 = require("../../logic/invoke/getSkillContext");
7
+ const getSkillThreads_1 = require("../../logic/invoke/getSkillThreads");
8
+ const sdk_1 = require("../sdk");
9
+ /**
10
+ * .what = adds the "ask" command to the CLI
11
+ * .why = lets users invoke a skill from any role in the given registries
12
+ */
13
+ const invokeAsk = ({ program, registries, }) => {
14
+ const askCommand = program
15
+ .command('ask')
16
+ .requiredOption('-r, --role <slug>', 'role to invoke')
17
+ .requiredOption('-s, --skill <slug>', 'skill to invoke')
18
+ .option('-a, --ask <ask>', 'your ask')
19
+ .allowUnknownOption(true)
20
+ .allowExcessArguments(true);
21
+ // 💉 dynamically inject CLI flags from skill inputs
22
+ askCommand.hook('preAction', (thisCommand) => {
23
+ const opts = thisCommand.opts();
24
+ const role = (0, assureFindRole_1.assureFindRole)({ registries, slug: opts.role });
25
+ const skill = role?.skills.find((s) => s.slug === opts.skill);
26
+ if (!skill)
27
+ helpful_errors_1.BadRequestError.throw(`no skill named "${opts.skill}" under role "${opts.role}"`, {
28
+ opts,
29
+ role: { skills: role?.skills.map((thisSkill) => thisSkill.slug) },
30
+ });
31
+ // register the dynamic inputs
32
+ for (const [key, meta] of Object.entries(skill.threads.lookup)) {
33
+ thisCommand.option(`-${meta.char}, --${key} <${meta.type}>`, meta.desc);
34
+ }
35
+ // re-parse with updated option definitions
36
+ thisCommand.parseOptions(thisCommand.parent?.args ?? []);
37
+ });
38
+ // 🧠 perform the skill
39
+ askCommand.action(async (opts) => {
40
+ const { ask, role: roleSlug, skill: skillSlug } = opts;
41
+ // lookup the role
42
+ const role = (0, assureFindRole_1.assureFindRole)({
43
+ registries,
44
+ slug: roleSlug ??
45
+ helpful_errors_1.UnexpectedCodePathError.throw('roleSlug not defined. why not?', {
46
+ opts,
47
+ }),
48
+ });
49
+ if (!role)
50
+ helpful_errors_1.BadRequestError.throw(`unknown role "${roleSlug}"`);
51
+ // lookup the skill
52
+ const skill = role.skills.find((s) => s.slug === skillSlug);
53
+ if (!skill)
54
+ helpful_errors_1.BadRequestError.throw(`unknown skill "${skillSlug}" under role "${roleSlug}"`);
55
+ // instantiate the threads
56
+ const argvWithAsk = {
57
+ ...opts,
58
+ ask: ask ?? helpful_errors_1.UnexpectedCodePathError.throw('ask was not declared', { ask }),
59
+ };
60
+ const threads = await (0, getSkillThreads_1.getSkillThreads)({
61
+ getter: skill.threads,
62
+ from: { lookup: { argv: argvWithAsk } },
63
+ });
64
+ // instantiate the context
65
+ const env = process.env;
66
+ const context = await (0, getSkillContext_1.getSkillContext)({
67
+ getter: skill.context,
68
+ from: { lookup: { env } },
69
+ });
70
+ // execute the weave
71
+ await (0, sdk_1.enweaveOneStitcher)({
72
+ stitcher: skill.route,
73
+ threads,
74
+ }, context);
75
+ });
76
+ };
77
+ exports.invokeAsk = invokeAsk;
78
+ //# sourceMappingURL=invokeAsk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invokeAsk.js","sourceRoot":"","sources":["../../../src/contract/cli/invokeAsk.ts"],"names":[],"mappings":";;;AACA,mDAA0E;AAG1E,sEAAmE;AACnE,wEAAqE;AACrE,wEAAqE;AACrE,gCAA4C;AAE5C;;;GAGG;AACI,MAAM,SAAS,GAAG,CAAC,EACxB,OAAO,EACP,UAAU,GAIX,EAAQ,EAAE;IACT,MAAM,UAAU,GAAG,OAAO;SACvB,OAAO,CAAC,KAAK,CAAC;SACd,cAAc,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;SACrD,cAAc,CAAC,oBAAoB,EAAE,iBAAiB,CAAC;SACvD,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC;SACrC,kBAAkB,CAAC,IAAI,CAAC;SACxB,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAE9B,oDAAoD;IACpD,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QAEhC,MAAM,IAAI,GAAG,IAAA,+BAAc,EAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK;YACR,gCAAe,CAAC,KAAK,CACnB,mBAAmB,IAAI,CAAC,KAAK,iBAAiB,IAAI,CAAC,IAAI,GAAG,EAC1D;gBACE,IAAI;gBACJ,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;aAClE,CACF,CAAC;QAEJ,8BAA8B;QAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,OAAO,GAAG,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1E,CAAC;QAED,2CAA2C;QAC3C,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,uBAAuB;IACvB,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,IAA4B,EAAE,EAAE;QACvD,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAEvD,kBAAkB;QAClB,MAAM,IAAI,GAAG,IAAA,+BAAc,EAAC;YAC1B,UAAU;YACV,IAAI,EACF,QAAQ;gBACR,wCAAuB,CAAC,KAAK,CAAC,gCAAgC,EAAE;oBAC9D,IAAI;iBACL,CAAC;SACL,CAAC,CAAC;QACH,IAAI,CAAC,IAAI;YAAE,gCAAe,CAAC,KAAK,CAAC,iBAAiB,QAAQ,GAAG,CAAC,CAAC;QAE/D,mBAAmB;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK;YACR,gCAAe,CAAC,KAAK,CACnB,kBAAkB,SAAS,iBAAiB,QAAQ,GAAG,CACxD,CAAC;QAEJ,0BAA0B;QAC1B,MAAM,WAAW,GAAG;YAClB,GAAG,IAAI;YACP,GAAG,EACD,GAAG,IAAI,wCAAuB,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,GAAG,EAAE,CAAC;SACxE,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,IAAA,iCAAe,EAAC;YACpC,MAAM,EAAE,KAAK,CAAC,OAAO;YACrB,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;SACxC,CAAC,CAAC;QAEH,0BAA0B;QAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAyC,CAAC;QAC9D,MAAM,OAAO,GAAG,MAAM,IAAA,iCAAe,EAAC;YACpC,MAAM,EAAE,KAAK,CAAC,OAAO;YACrB,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE;SAC1B,CAAC,CAAC;QAEH,oBAAoB;QACpB,MAAM,IAAA,wBAAkB,EACtB;YACE,QAAQ,EAAE,KAAK,CAAC,KAAK;YACrB,OAAO;SACR,EACD,OAAO,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAxFW,QAAA,SAAS,aAwFpB"}
@@ -0,0 +1,10 @@
1
+ import { Command } from 'commander';
2
+ import { RoleRegistry } from '../sdk';
3
+ /**
4
+ * .what = adds the "list" command to the CLI
5
+ * .why = lets users list all available roles or skills across multiple registries
6
+ */
7
+ export declare const invokeList: ({ program, registries, }: {
8
+ program: Command;
9
+ registries: RoleRegistry[];
10
+ }) => void;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.invokeList = void 0;
4
+ const helpful_errors_1 = require("helpful-errors");
5
+ const assureFindRole_1 = require("../../logic/invoke/assureFindRole");
6
+ /**
7
+ * .what = adds the "list" command to the CLI
8
+ * .why = lets users list all available roles or skills across multiple registries
9
+ */
10
+ const invokeList = ({ program, registries, }) => {
11
+ program
12
+ .command('list')
13
+ .description('list available roles or skills under a role')
14
+ .option('--registry <slug>', 'list roles under this registry')
15
+ .option('--role <slug>', 'list skills under this role (registry optional)')
16
+ .action((opts) => {
17
+ if (opts.role) {
18
+ const role = (0, assureFindRole_1.assureFindRole)({ registries, slug: opts.role });
19
+ if (!role)
20
+ helpful_errors_1.BadRequestError.throw(`no role named "${opts.role}"`);
21
+ console.log(``);
22
+ console.log(`📖 ${role.slug}.skills =`);
23
+ for (const skill of role.skills)
24
+ console.log(` - ${role.slug}.${skill.slug}`);
25
+ console.log(``);
26
+ return;
27
+ }
28
+ if (opts.registry) {
29
+ const registry = registries.find((r) => r.slug === opts.registry);
30
+ if (!registry)
31
+ helpful_errors_1.BadRequestError.throw(`no registry named "${opts.registry}"`);
32
+ console.log(``);
33
+ console.log(`📖 ${registry.slug}.roles =`);
34
+ for (const role of registry.roles)
35
+ console.log(` - ${role.slug}; purpose = ${role.purpose}`);
36
+ console.log(``);
37
+ return;
38
+ }
39
+ console.log(``);
40
+ console.log(`📖 all.roles =`);
41
+ const allRoles = registries.flatMap((registry) => registry.roles.map((role) => `${registry.slug}.${role.slug}; purpose = ${role.purpose}`));
42
+ for (const name of allRoles.sort())
43
+ console.log(` - ${name}`);
44
+ console.log(``);
45
+ });
46
+ };
47
+ exports.invokeList = invokeList;
48
+ //# sourceMappingURL=invokeList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invokeList.js","sourceRoot":"","sources":["../../../src/contract/cli/invokeList.ts"],"names":[],"mappings":";;;AACA,mDAAiD;AAEjD,sEAAmE;AAGnE;;;GAGG;AACI,MAAM,UAAU,GAAG,CAAC,EACzB,OAAO,EACP,UAAU,GAIX,EAAQ,EAAE;IACT,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,mBAAmB,EAAE,gCAAgC,CAAC;SAC7D,MAAM,CAAC,eAAe,EAAE,iDAAiD,CAAC;SAC1E,MAAM,CAAC,CAAC,IAA0C,EAAE,EAAE;QACrD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,IAAA,+BAAc,EAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI;gBAAE,gCAAe,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;YAEjE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC;YACxC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM;gBAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClE,IAAI,CAAC,QAAQ;gBACX,gCAAe,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;YAEhE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,UAAU,CAAC,CAAC;YAC3C,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK;gBAC/B,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,eAAe,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC/C,QAAQ,CAAC,KAAK,CAAC,GAAG,CAChB,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,eAAe,IAAI,CAAC,OAAO,EAAE,CACrE,CACF,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAhDW,QAAA,UAAU,cAgDrB"}
@@ -0,0 +1,15 @@
1
+ import { Command } from 'commander';
2
+ import { RoleRegistry } from '../sdk';
3
+ /**
4
+ * .what = main entrypoint for `readme` CLI command
5
+ * .why = allows devs to introspect registry, role, or skill documentation from the CLI
6
+ */
7
+ export declare const invokeReadme: ({ program, registries, }: {
8
+ program: Command;
9
+ registries: RoleRegistry[];
10
+ }) => void;
11
+ /**
12
+ * .what = indents each line of a string by a fixed number of spaces
13
+ * .why = ensures markdown blocks are consistently readable in nested output
14
+ */
15
+ export declare const indentLines: (text: string, spaces?: number) => string;