@t4h.framework/cli 0.4.0 → 0.4.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 (179) hide show
  1. package/dist/bin/bin.d.ts +2 -0
  2. package/dist/bin/bin.js +2 -0
  3. package/dist/bin/bin.js.map +1 -1
  4. package/dist/commands/build/build.d.ts +6 -0
  5. package/dist/commands/build/build.js +1 -5
  6. package/dist/commands/build/build.js.map +1 -1
  7. package/dist/commands/dev/dev.d.ts +7 -0
  8. package/dist/commands/dev/dev.js +7 -14
  9. package/dist/commands/dev/dev.js.map +1 -1
  10. package/dist/commands/dev-server-up-app-process.d.ts +2 -0
  11. package/dist/commands/dev-server-up-app-process.js +9 -63
  12. package/dist/commands/dev-server-up-app-process.js.map +1 -1
  13. package/dist/commands/publish/publish.d.ts +11 -0
  14. package/dist/commands/skills/prompts/get-destination-root-path.js +34 -0
  15. package/dist/commands/skills/prompts/get-destination-root-path.js.map +1 -0
  16. package/dist/commands/skills/skills.js +90 -0
  17. package/dist/commands/skills/skills.js.map +1 -0
  18. package/dist/commands/skills/target-options.js +33 -0
  19. package/dist/commands/skills/target-options.js.map +1 -0
  20. package/dist/commands/skills/tools/copy.js +6 -0
  21. package/dist/commands/skills/tools/copy.js.map +1 -0
  22. package/dist/commands/skills/tools/create-directory-snapshot.js +29 -0
  23. package/dist/commands/skills/tools/create-directory-snapshot.js.map +1 -0
  24. package/dist/commands/skills/tools/discover-packages.js +16 -0
  25. package/dist/commands/skills/tools/discover-packages.js.map +1 -0
  26. package/dist/commands/skills/tools/find-nearest-package-json-path.js +18 -0
  27. package/dist/commands/skills/tools/find-nearest-package-json-path.js.map +1 -0
  28. package/dist/commands/skills/tools/get-package-path.js +18 -0
  29. package/dist/commands/skills/tools/get-package-path.js.map +1 -0
  30. package/dist/commands/skills/tools/get-skill-sources.js +44 -0
  31. package/dist/commands/skills/tools/get-skill-sources.js.map +1 -0
  32. package/dist/commands/skills/tools/is-directory-equal.js +14 -0
  33. package/dist/commands/skills/tools/is-directory-equal.js.map +1 -0
  34. package/dist/commands/skills/tools/is-directory.js +8 -0
  35. package/dist/commands/skills/tools/is-directory.js.map +1 -0
  36. package/dist/commands/skills/tools/path-exists.js +8 -0
  37. package/dist/commands/skills/tools/path-exists.js.map +1 -0
  38. package/dist/dev-runtime/__tests__/fixtures.d.ts +57 -0
  39. package/dist/dev-runtime/__tests__/fixtures.js +31 -0
  40. package/dist/dev-runtime/__tests__/fixtures.js.map +1 -0
  41. package/dist/dev-runtime/bootstrap.js +51 -0
  42. package/dist/dev-runtime/bootstrap.js.map +1 -0
  43. package/dist/dev-runtime/claims.d.ts +24 -0
  44. package/dist/dev-runtime/claims.js +62 -0
  45. package/dist/dev-runtime/claims.js.map +1 -0
  46. package/dist/dev-runtime/models/DevServerCacheClaim.d.ts +6 -0
  47. package/dist/dev-runtime/models/DevServerCacheClaim.js.map +1 -0
  48. package/dist/dev-runtime/models/DevServerFileBinary.d.ts +15 -0
  49. package/dist/dev-runtime/models/DevServerFileBinary.js.map +1 -0
  50. package/dist/dev-runtime/models/DevServerFileSystemClaim.d.ts +7 -0
  51. package/dist/dev-runtime/models/DevServerFileSystemClaim.js.map +1 -0
  52. package/dist/dev-runtime/models/DevServerGetActivityUniqueIdentifierClaim.d.ts +7 -0
  53. package/dist/dev-runtime/models/DevServerGetActivityUniqueIdentifierClaim.js +31 -0
  54. package/dist/dev-runtime/models/DevServerGetActivityUniqueIdentifierClaim.js.map +1 -0
  55. package/dist/dev-runtime/models/DevServerGetProjectUniqueIdentifierClaim.d.ts +6 -0
  56. package/dist/dev-runtime/models/DevServerGetProjectUniqueIdentifierClaim.js +13 -0
  57. package/dist/dev-runtime/models/DevServerGetProjectUniqueIdentifierClaim.js.map +1 -0
  58. package/dist/dev-runtime/models/DevServerGetProjectVersionUniqueIdentifierClaim.d.ts +6 -0
  59. package/dist/dev-runtime/models/DevServerGetProjectVersionUniqueIdentifierClaim.js +13 -0
  60. package/dist/dev-runtime/models/DevServerGetProjectVersionUniqueIdentifierClaim.js.map +1 -0
  61. package/dist/dev-runtime/models/DevServerGetProjectVersionWorkflowUniqueIdentifierClaim.d.ts +7 -0
  62. package/dist/dev-runtime/models/DevServerGetProjectVersionWorkflowUniqueIdentifierClaim.js +31 -0
  63. package/dist/dev-runtime/models/DevServerGetProjectVersionWorkflowUniqueIdentifierClaim.js.map +1 -0
  64. package/dist/dev-runtime/models/DevServerGetWorkflowUniqueIdentifierClaim.d.ts +7 -0
  65. package/dist/dev-runtime/models/DevServerGetWorkflowUniqueIdentifierClaim.js +31 -0
  66. package/dist/dev-runtime/models/DevServerGetWorkflowUniqueIdentifierClaim.js.map +1 -0
  67. package/dist/dev-runtime/models/DevServerHttpClientRequestClaim.d.ts +5 -0
  68. package/dist/dev-runtime/models/DevServerHttpClientRequestClaim.js +39 -0
  69. package/dist/dev-runtime/models/DevServerHttpClientRequestClaim.js.map +1 -0
  70. package/dist/dev-runtime/models/DevServerORMClaim.d.ts +8 -0
  71. package/dist/{models → dev-runtime/models}/DevServerORMClaim.js +2 -2
  72. package/dist/dev-runtime/models/DevServerORMClaim.js.map +1 -0
  73. package/dist/dev-runtime/models/DevServerSmtpSendEmailClaim.d.ts +6 -0
  74. package/dist/dev-runtime/models/DevServerSmtpSendEmailClaim.js.map +1 -0
  75. package/dist/dev-runtime/models/DevServerWorkflowClaim.d.ts +7 -0
  76. package/dist/dev-runtime/models/DevServerWorkflowClaim.js +38 -0
  77. package/dist/dev-runtime/models/DevServerWorkflowClaim.js.map +1 -0
  78. package/dist/dev-runtime/models/WorkflowRun.d.ts +18 -0
  79. package/dist/dev-runtime/models/WorkflowRun.js +19 -0
  80. package/dist/dev-runtime/models/WorkflowRun.js.map +1 -0
  81. package/dist/dev-runtime/models/WorkflowRunActivity.d.ts +40 -0
  82. package/dist/dev-runtime/models/WorkflowRunActivity.js +52 -0
  83. package/dist/dev-runtime/models/WorkflowRunActivity.js.map +1 -0
  84. package/dist/dev-runtime/repositories/WorkflowRun.repository.d.ts +8 -0
  85. package/dist/dev-runtime/repositories/WorkflowRun.repository.js +27 -0
  86. package/dist/dev-runtime/repositories/WorkflowRun.repository.js.map +1 -0
  87. package/dist/dev-runtime/repositories/WorkflowRunActivity.repository.d.ts +8 -0
  88. package/dist/dev-runtime/repositories/WorkflowRunActivity.repository.js +36 -0
  89. package/dist/dev-runtime/repositories/WorkflowRunActivity.repository.js.map +1 -0
  90. package/dist/dev-runtime/services/BuildWorkflowRunResult.service.d.ts +8 -0
  91. package/dist/dev-runtime/services/BuildWorkflowRunResult.service.js +49 -0
  92. package/dist/dev-runtime/services/BuildWorkflowRunResult.service.js.map +1 -0
  93. package/dist/dev-runtime/services/RuntimeContext.service.d.ts +10 -0
  94. package/dist/dev-runtime/services/RuntimeContext.service.js +22 -0
  95. package/dist/dev-runtime/services/RuntimeContext.service.js.map +1 -0
  96. package/dist/dev-runtime/services/TimeoutScheduler.service.d.ts +5 -0
  97. package/dist/dev-runtime/services/TimeoutScheduler.service.js +33 -0
  98. package/dist/dev-runtime/services/TimeoutScheduler.service.js.map +1 -0
  99. package/dist/dev-runtime/services/WorkflowRunAsyncActivityFacade.service.d.ts +20 -0
  100. package/dist/dev-runtime/services/WorkflowRunAsyncActivityFacade.service.js +54 -0
  101. package/dist/dev-runtime/services/WorkflowRunAsyncActivityFacade.service.js.map +1 -0
  102. package/dist/dev-runtime/services/WorkflowRunFacade.service.d.ts +13 -0
  103. package/dist/dev-runtime/services/WorkflowRunFacade.service.js +40 -0
  104. package/dist/dev-runtime/services/WorkflowRunFacade.service.js.map +1 -0
  105. package/dist/dev-runtime/services/WorkflowRunSyncActivityFacade.service.d.ts +7 -0
  106. package/dist/dev-runtime/services/WorkflowRunSyncActivityFacade.service.js +26 -0
  107. package/dist/dev-runtime/services/WorkflowRunSyncActivityFacade.service.js.map +1 -0
  108. package/dist/dev-runtime/tools/find-claim-by-constructor.d.ts +1 -0
  109. package/dist/dev-runtime/tools/find-claim-by-constructor.js +5 -0
  110. package/dist/dev-runtime/tools/find-claim-by-constructor.js.map +1 -0
  111. package/dist/dev-runtime/transport/DevServerJsonRpc.d.ts +2 -0
  112. package/dist/dev-runtime/transport/DevServerJsonRpc.js +42 -0
  113. package/dist/dev-runtime/transport/DevServerJsonRpc.js.map +1 -0
  114. package/dist/dev-runtime/use-cases/CallbackWorkflowRunAsyncActivity.usecase.d.ts +14 -0
  115. package/dist/dev-runtime/use-cases/CallbackWorkflowRunAsyncActivity.usecase.js +64 -0
  116. package/dist/dev-runtime/use-cases/CallbackWorkflowRunAsyncActivity.usecase.js.map +1 -0
  117. package/dist/dev-runtime/use-cases/CreateWorkflowRun.usecase.d.ts +14 -0
  118. package/dist/dev-runtime/use-cases/CreateWorkflowRun.usecase.js +43 -0
  119. package/dist/dev-runtime/use-cases/CreateWorkflowRun.usecase.js.map +1 -0
  120. package/dist/dev-runtime/use-cases/CreateWorkflowRunAsyncActivity.usecase.d.ts +9 -0
  121. package/dist/dev-runtime/use-cases/CreateWorkflowRunAsyncActivity.usecase.js +68 -0
  122. package/dist/dev-runtime/use-cases/CreateWorkflowRunAsyncActivity.usecase.js.map +1 -0
  123. package/dist/dev-runtime/use-cases/NextTickWorkflowRun.usecase.d.ts +20 -0
  124. package/dist/dev-runtime/use-cases/NextTickWorkflowRun.usecase.js +150 -0
  125. package/dist/dev-runtime/use-cases/NextTickWorkflowRun.usecase.js.map +1 -0
  126. package/dist/dev-runtime/use-cases/TimeoutWorkflowRunAsyncActivity.usecase.d.ts +8 -0
  127. package/dist/dev-runtime/use-cases/TimeoutWorkflowRunAsyncActivity.usecase.js +38 -0
  128. package/dist/dev-runtime/use-cases/TimeoutWorkflowRunAsyncActivity.usecase.js.map +1 -0
  129. package/dist/dev-runtime/use-cases/WorkflowRunAsyncActivity.usecase.d.ts +7 -0
  130. package/dist/dev-runtime/use-cases/WorkflowRunAsyncActivity.usecase.js +44 -0
  131. package/dist/dev-runtime/use-cases/WorkflowRunAsyncActivity.usecase.js.map +1 -0
  132. package/dist/dev-runtime/use-cases/WorkflowRunAsyncActivityAdvance.usecase.d.ts +10 -0
  133. package/dist/dev-runtime/use-cases/WorkflowRunAsyncActivityAdvance.usecase.js +57 -0
  134. package/dist/dev-runtime/use-cases/WorkflowRunAsyncActivityAdvance.usecase.js.map +1 -0
  135. package/dist/dev-runtime/use-cases/WorkflowRunBuildHistory.usecase.d.ts +8 -0
  136. package/dist/dev-runtime/use-cases/WorkflowRunBuildHistory.usecase.js +41 -0
  137. package/dist/dev-runtime/use-cases/WorkflowRunBuildHistory.usecase.js.map +1 -0
  138. package/dist/dev-runtime/use-cases/WorkflowRunSyncActivity.usecase.d.ts +4 -0
  139. package/dist/dev-runtime/use-cases/WorkflowRunSyncActivity.usecase.js +26 -0
  140. package/dist/dev-runtime/use-cases/WorkflowRunSyncActivity.usecase.js.map +1 -0
  141. package/dist/models/DevServer.d.ts +24 -0
  142. package/dist/models/DevServer.js +6 -6
  143. package/dist/models/DevServer.js.map +1 -1
  144. package/dist/models/InMemoryDatabase.d.ts +20 -0
  145. package/dist/models/JSONCodec.d.ts +30 -0
  146. package/dist/models/JSONCodecKindFrameworkSerializableClass.d.ts +8 -0
  147. package/dist/models/JSONRPCClient.d.ts +11 -0
  148. package/dist/models/JSONRPCServer.d.ts +63 -0
  149. package/dist/tools/is-workflow-waiting.d.ts +4 -0
  150. package/dist/tools/json-codec.d.ts +8 -0
  151. package/dist/tools/json-codec.js +1 -1
  152. package/dist/tools/json-codec.js.map +1 -1
  153. package/dist/tools/json-schema-to-inquirer-question.d.ts +11 -0
  154. package/dist/tools/mkdir-out-dir-project-from-ts-config-path-and-json-package-path.d.ts +1 -0
  155. package/dist/tools/resolve-package-json-path.d.ts +1 -0
  156. package/dist/tools/resolve-tsconfig-path-from-package-json-path.d.ts +1 -0
  157. package/dist/tools/ts-build-watch.d.ts +12 -0
  158. package/dist/tools/ts-build.d.ts +6 -0
  159. package/dist/tools/up-app.d.ts +2 -0
  160. package/package.json +5 -21
  161. package/dist/helpers/advance-async-activity.js +0 -48
  162. package/dist/helpers/advance-async-activity.js.map +0 -1
  163. package/dist/helpers/repository.js +0 -9
  164. package/dist/helpers/repository.js.map +0 -1
  165. package/dist/helpers/workflow-run.js +0 -128
  166. package/dist/helpers/workflow-run.js.map +0 -1
  167. package/dist/models/DevServerCacheClaim.js.map +0 -1
  168. package/dist/models/DevServerFileBinary.js.map +0 -1
  169. package/dist/models/DevServerFileSystemClaim.js.map +0 -1
  170. package/dist/models/DevServerHttpClientRequestClaim.js +0 -21
  171. package/dist/models/DevServerHttpClientRequestClaim.js.map +0 -1
  172. package/dist/models/DevServerORMClaim.js.map +0 -1
  173. package/dist/models/DevServerSmtpSendEmailClaim.js.map +0 -1
  174. package/dist/models/DevServerWorkflowClaim.js +0 -24
  175. package/dist/models/DevServerWorkflowClaim.js.map +0 -1
  176. /package/dist/{models → dev-runtime/models}/DevServerCacheClaim.js +0 -0
  177. /package/dist/{models → dev-runtime/models}/DevServerFileBinary.js +0 -0
  178. /package/dist/{models → dev-runtime/models}/DevServerFileSystemClaim.js +0 -0
  179. /package/dist/{models → dev-runtime/models}/DevServerSmtpSendEmailClaim.js +0 -0
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
package/dist/bin/bin.js CHANGED
@@ -49,9 +49,11 @@ else {
49
49
  const { buildCommand } = await import('../commands/build/build.js');
50
50
  const { devCommand } = await import('../commands/dev/dev.js');
51
51
  const { publishCommand } = await import('../commands/publish/publish.js');
52
+ const { skillsCommand } = await import('../commands/skills/skills.js');
52
53
  program.addCommand(devCommand);
53
54
  program.addCommand(publishCommand);
54
55
  program.addCommand(buildCommand);
56
+ program.addCommand(skillsCommand);
55
57
  await program.parseAsync(process.argv);
56
58
  }
57
59
  //# sourceMappingURL=bin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/bin/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/bin/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE1C,SAAS,uBAAuB;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAA;IAC7B,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QAC1C,IAAI,CAAC,IAAI,CACP,CAAC,CAAC,EAAE,CACF,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;YAC7B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CACvD;QACD,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CACjE,CAAA;AACH,CAAC;AAED,SAAS,gCAAgC;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,0CAA0C,KAAK,GAAG;QAChE,OAAO,KAAK,CAAA;IAEd,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAEtC,MAAM,QAAQ,GAAG,EAAE,CAAA;IAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACrB,IAAI,CAAC,KAAK,cAAc,EAAE,CAAC;YACzB,CAAC,EAAE,CAAA;YACH,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC;YAAE,SAAQ;QAC5C,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,cAAc,CAAC,CAAA;IACnC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAErD,MAAM,KAAK,GAAG,KAAK,CACjB,OAAO,CAAC,QAAQ;IAChB,+CAA+C;IAC/C,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACxD;QACE,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE;YACH,GAAG,OAAO,CAAC,GAAG;YACd,0CAA0C,EAAE,GAAG;SAChD;KACF,CACF,CAAA;IAED,wCAAwC;IACxC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;IACjD,wCAAwC;IACxC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;QACtB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;IAEF,OAAO,IAAI,CAAA;AACb,CAAC;AAED,IAAI,CAAC,uBAAuB,EAAE;IAAE,gCAAgC,EAAE,CAAA;KAC7D,CAAC;IACJ,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAA;IAE7C,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAA;IACnE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAA;IAC7D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAA;IACzE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAA;IAEtE,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;IAC9B,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;IAClC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;IAChC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;IAEjC,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AACxC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Command } from 'commander';
2
+ export interface BuildCommandOptions {
3
+ entrypoint: string;
4
+ env: Record<string, string>;
5
+ }
6
+ export declare const buildCommand: Command;
@@ -1,11 +1,7 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
+ import { mkdirOutDirProjectFromTsConfigPathAndJsonPackagePath, resolvePackageJsonPath, resolveTsconfigFromPackageJsonPath, tsBuild, upApp, } from '@t4h.framework/dev/build';
3
4
  import { Command, Option } from 'commander';
4
- import { mkdirOutDirProjectFromTsConfigPathAndJsonPackagePath } from '../../tools/mkdir-out-dir-project-from-ts-config-path-and-json-package-path.js';
5
- import { resolvePackageJsonPath } from '../../tools/resolve-package-json-path.js';
6
- import { resolveTsconfigFromPackageJsonPath } from '../../tools/resolve-tsconfig-path-from-package-json-path.js';
7
- import { tsBuild } from '../../tools/ts-build.js';
8
- import { upApp } from '../../tools/up-app.js';
9
5
  export const buildCommand = new Command('build')
10
6
  .option('--entrypoint <entrypoint path>', 'The entrypoint package json path', './package.json')
11
7
  .addOption(new Option('-e, --env <envs..>', 'The env secrets')
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/commands/build/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/commands/build/build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Command } from 'commander';
2
+ export interface DevCommandOptions {
3
+ entrypoint: string;
4
+ env: Record<string, string>;
5
+ envFileIfExists?: string;
6
+ }
7
+ export declare const devCommand: Command;
@@ -3,9 +3,8 @@ import path from 'node:path';
3
3
  import { parseEnv } from 'node:util';
4
4
  import { AbortPromptError } from '@inquirer/core';
5
5
  import { input, select } from '@inquirer/prompts';
6
+ import { DevServer, isWorkflowWaiting } from '@t4h.framework/dev';
6
7
  import { Command, Option } from 'commander';
7
- import { DevServer } from '../../models/DevServer.js';
8
- import { isWorkflowWaiting } from '../../tools/is-workflow-waiting.js';
9
8
  import { jsonSchemaToInquirerQuestion } from '../../tools/json-schema-to-inquirer-question.js';
10
9
  export const devCommand = new Command('dev')
11
10
  .description('Start the development server')
@@ -98,18 +97,12 @@ export const devCommand = new Command('dev')
98
97
  ...waitingActivities.map((activity) => ({
99
98
  name: `${activity.id} (workflow: ${activity.workflowId})`,
100
99
  value: async () => {
101
- const raw = await input({
102
- message: 'Enter advance payload as JSON (e.g. {"status":"fulfilled","output":{}})',
103
- }, { signal: currentSignal });
104
- let payload;
105
- try {
106
- payload = raw.trim() === '' ? {} : JSON.parse(raw);
107
- }
108
- catch {
109
- console.error('Invalid JSON.');
110
- return;
111
- }
112
- const result = await devServer.advanceAsyncActivity(activity.id, payload);
100
+ let input;
101
+ if (activity.schema)
102
+ input = await jsonSchemaToInquirerQuestion(activity.schema, {
103
+ signal: currentSignal,
104
+ });
105
+ const result = await devServer.advanceAsyncActivity(activity.id, input);
113
106
  if (isWorkflowWaiting(result)) {
114
107
  console.log(`Workflow still paused. Pending id: ${result.id}`);
115
108
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../src/commands/dev/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../src/commands/dev/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAG3C,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAA;AAQ9F,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;KACzC,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CACL,gCAAgC,EAChC,kCAAkC,EAClC,gBAAgB,CACjB;KACA,SAAS,CACR,IAAI,MAAM,CAAC,oBAAoB,EAAE,iBAAiB,CAAC;KAChD,SAAS,CAAyB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;IACrD,MAAM,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,GACvD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAElB,IAAI,CAAC,uBAAuB;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAEtE,IAAI,CAAC,wBAAwB;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAEvE,OAAO;QACL,GAAG,QAAQ;QACX,CAAC,uBAAuB,CAAC,EAAE,wBAAwB;KACpD,CAAA;AACH,CAAC,CAAC;KACD,OAAO,CAAC,EAAE,CAAC,CACf;KACA,SAAS,CACR,IAAI,MAAM,CACR,kCAAkC,EAClC,8CAA8C,CAC/C,CAAC,SAAS,CAAS,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,CACjE;KACA,MAAM,CAAC,KAAK,EAAE,OAA0B,EAAE,EAAE;IAC3C,IAAI,eAAe,GAA2B,IAAI,CAAA;IAClD,IAAI,kBAAkB,GAAyB,IAAI,CAAA;IAEnD,IAAI,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC;QACnE,MAAM,CAAC,MAAM,CACX,OAAO,CAAC,GAAG,EACX,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAC3D,CAAA;IAEH,MAAM,SAAS,GAAG,IAAI,SAAS,CAC7B,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EACpD,KAAK,EAAC,QAAQ,EAAC,EAAE;QACf,IAAI,eAAe,EAAE,CAAC;YACpB,eAAe,CAAC,KAAK,EAAE,CAAA;QACzB,CAAC;QAED,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,kBAAkB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAC1C,CAAC;QAED,OAAO,CAAC,KAAK,EAAE,CAAA;QAEf,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QACvC,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAA;QAE5C,kBAAkB,GAAG,CAAC,KAAK,IAAI,EAAE;YAC/B,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAChD,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAC9B,CACF,CAAA;YAED,KAAK,UAAU,mBAAmB;gBAChC,MAAM,EAAE,GAAG,MAAM,MAAM,CACrB;oBACE,OAAO,EAAE,0BAA0B;oBACnC,OAAO,EAAE;wBACP,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;4BACrC,IAAI,EAAE,QAAQ,CAAC,EAAG;4BAClB,KAAK,EAAE,KAAK,IAAI,EAAE;gCAChB,IAAI,KAAU,CAAA;gCAEd,IAAI,QAAQ,CAAC,MAAM;oCACjB,KAAK,GAAG,MAAM,4BAA4B,CACxC,QAAQ,CAAC,MAAM,EACf;wCACE,MAAM,EAAE,aAAa;qCACtB,CACF,CAAA;gCAEH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,CACxC,QAAQ,CAAC,EAAG,EACZ,KAAK,CACN,CAAA;gCAED,IAAI,iBAAiB,CAAC,MAAM,CAAC;oCAC3B,OAAO,CAAC,GAAG,CACT,kDAAkD,MAAM,CAAC,EAAE,qDAAqD,CACjH,CAAA;4BACL,CAAC;yBACF,CAAC,CAAC;wBACH;4BACE,IAAI,EAAE,cAAc;4BACpB,KAAK,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;yBACtB;qBACF;iBACF,EACD,EAAE,MAAM,EAAE,aAAa,EAAE,CAC1B,CAAA;gBAED,MAAM,EAAE,EAAE,CAAA;YACZ,CAAC;YAED,KAAK,UAAU,cAAc;gBAC3B,MAAM,EAAE,GAAG,MAAM,MAAM,CACrB;oBACE,OAAO,EAAE,uCAAuC;oBAChD,OAAO,EAAE;wBACP,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;4BAC1D,IAAI,EAAE,IAAI;4BACV,KAAK,EAAE,KAAK,IAAI,EAAE;gCAChB,MAAM,KAAK,GAAG,MAAM,KAAK,CACvB,EAAE,OAAO,EAAE,uBAAuB,IAAI,EAAE,EAAE,EAC1C,EAAE,MAAM,EAAE,aAAa,EAAE,CAC1B,CAAA;gCAED,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;4BACrC,CAAC;yBACF,CAAC,CAAC;wBACH;4BACE,IAAI,EAAE,cAAc;4BACpB,KAAK,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;yBACtB;qBACF;iBACF,EACD,EAAE,MAAM,EAAE,aAAa,EAAE,CAC1B,CAAA;gBAED,MAAM,EAAE,EAAE,CAAA;YACZ,CAAC;YAED,KAAK,UAAU,2BAA2B;gBACxC,MAAM,iBAAiB,GACrB,MAAM,SAAS,CAAC,0BAA0B,EAAE,CAAA;gBAE9C,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACnC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;oBAE3C,OAAM;gBACR,CAAC;gBAED,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;gBAEhC,MAAM,EAAE,GAAG,MAAM,MAAM,CACrB;oBACE,OAAO,EAAE,4CAA4C;oBACrD,OAAO,EAAE;wBACP,GAAG,iBAAiB,CAAC,GAAG,CACtB,CAAC,QAIA,EAAE,EAAE,CAAC,CAAC;4BACL,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,eAAe,QAAQ,CAAC,UAAU,GAAG;4BACzD,KAAK,EAAE,KAAK,IAAI,EAAE;gCAChB,IAAI,KAAU,CAAA;gCAEd,IAAI,QAAQ,CAAC,MAAM;oCACjB,KAAK,GAAG,MAAM,4BAA4B,CACxC,QAAQ,CAAC,MAAM,EACf;wCACE,MAAM,EAAE,aAAa;qCACtB,CACF,CAAA;gCAEH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,oBAAoB,CACjD,QAAQ,CAAC,EAAE,EACX,KAAK,CACN,CAAA;gCAED,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;oCAC9B,OAAO,CAAC,GAAG,CACT,sCAAsC,MAAM,CAAC,EAAE,EAAE,CAClD,CAAA;oCAED,OAAM;gCACR,CAAC;gCAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;4BACzC,CAAC;yBACF,CAAC,CACH;wBACD;4BACE,IAAI,EAAE,cAAc;4BACpB,KAAK,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;yBACtB;qBACF;iBACF,EACD,EAAE,MAAM,EAAE,aAAa,EAAE,CAC1B,CAAA;gBAED,MAAM,EAAE,EAAE,CAAA;YACZ,CAAC;YAED,IAAI,CAAC;gBACH,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CACzB;wBACE,OAAO,EAAE,kBAAkB;wBAC3B,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,4BAA4B;gCAClC,KAAK,EAAE,KAAK,IAAI,EAAE;oCAChB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,CAAA;oCAErC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gCACpB,CAAC;6BACF;4BACD;gCACE,IAAI,EAAE,0BAA0B;gCAChC,KAAK,EAAE,cAAc;6BACtB;4BACD;gCACE,IAAI,EAAE,cAAc;gCACpB,KAAK,EAAE,mBAAmB;6BAC3B;4BACD;gCACE,IAAI,EAAE,gCAAgC;gCACtC,KAAK,EAAE,2BAA2B;6BACnC;4BACD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;yBACrD;qBACF,EACD;wBACE,MAAM,EAAE,aAAa;qBACtB,CACF,CAAA;oBAED,MAAM,MAAM,EAAE,CAAA;gBAChB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,gBAAgB;oBAAE,OAAM;gBAE7C,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC,CAAC,EAAE,CAAA;IACN,CAAC,CACF,CAAA;IAED,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;AACzB,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const app: any;
2
+ export declare const env: Map<string, string>;
@@ -1,70 +1,17 @@
1
- import { CacheClaim } from '@t4h.framework/cache';
2
- import { App, Env, WorkflowClaim, } from '@t4h.framework/core';
3
- import { FileSystemClaim } from '@t4h.framework/fs';
4
- import { HttpClientRequestClaim } from '@t4h.framework/http';
5
- import { ORMClaim } from '@t4h.framework/orm';
6
- import Type from 'typebox';
7
- import { SmtpSendEmailClaim } from '../../../smtp/dist/models/SmtpSendEmailClaim.js';
8
- import { advanceAsyncActivity } from '../helpers/advance-async-activity.js';
9
- import { PENDING_ACTIVITIES, RUN_WORKFLOW_STORAGE, WORKFLOW_PARENT_PAIR, WORKFLOW_RUNS, } from '../helpers/repository.js';
10
- import { workflowRun as workflowRunHelper } from '../helpers/workflow-run.js';
11
- import { DevServerCacheClaim } from '../models/DevServerCacheClaim.js';
12
- import { DevServerFileSystemClaim } from '../models/DevServerFileSystemClaim.js';
13
- import { DevServerHttpClientRequestClaim } from '../models/DevServerHttpClientRequestClaim.js';
14
- import { DevServerORMClaim } from '../models/DevServerORMClaim.js';
15
- import { DevServerSmtpSendEmailClaim } from '../models/DevServerSmtpSendEmailClaim.js';
16
- import { DevServerWorkflowClaim } from '../models/DevServerWorkflowClaim.js';
1
+ import { Env } from '@t4h.framework/core';
2
+ import { handlers } from '../dev-runtime/transport/DevServerJsonRpc.js';
17
3
  import { JSONRPCClient } from '../models/JSONRPCClient.js';
18
- import { JSONRPCServer, JSONRPCServerMethod } from '../models/JSONRPCServer.js';
4
+ import { JSONRPCServer } from '../models/JSONRPCServer.js';
19
5
  import { upApp } from '../tools/up-app.js';
20
6
  const [entrypoint, ...envArgs] = process.argv.slice(2);
21
7
  if (typeof entrypoint !== 'string')
22
8
  throw new Error('Entrypoint is not a string');
23
- export let app = null;
24
- export const env = new Map(envArgs.map(env => env.split('=')));
25
- export const claims = [
26
- { provide: ORMClaim, value: new DevServerORMClaim() },
27
- {
28
- provide: HttpClientRequestClaim,
29
- value: new DevServerHttpClientRequestClaim(),
30
- },
31
- {
32
- provide: FileSystemClaim,
33
- value: new DevServerFileSystemClaim(),
34
- },
35
- {
36
- provide: SmtpSendEmailClaim,
37
- value: new DevServerSmtpSendEmailClaim(),
38
- },
39
- {
40
- provide: WorkflowClaim,
41
- value: new DevServerWorkflowClaim((workflowId, input, childRunId) => {
42
- const parentWorkflowRunId = RUN_WORKFLOW_STORAGE.getStore();
43
- if (parentWorkflowRunId)
44
- WORKFLOW_PARENT_PAIR.set(childRunId, parentWorkflowRunId);
45
- return workflowRunHelper(workflowId, input, [], childRunId);
46
- }),
47
- },
48
- { provide: CacheClaim, value: new DevServerCacheClaim() },
49
- ];
50
- const workflowRun = new JSONRPCServerMethod('workflow.run', { schema: [Type.String(), Type.Any()] }, async (workflowId, input) => workflowRunHelper(workflowId, input));
51
- const workflowAdvanceAsyncActivity = new JSONRPCServerMethod('workflow.async-activities.advance', { schema: [Type.String(), Type.Any()] }, async (id, payload) => advanceAsyncActivity(id, payload));
52
- const workflowListPendingAsyncActivities = new JSONRPCServerMethod('workflow.async-activities.waiting.list', { schema: [] }, () => {
53
- return [...PENDING_ACTIVITIES.entries()].map(([id, state]) => ({
54
- id,
55
- workflowId: WORKFLOW_RUNS.get(state.runId)?.workflowId ?? 'unknown',
56
- hasSchema: Boolean(state.bootstrap.schema),
57
- }));
58
- });
59
- const envSet = new JSONRPCServerMethod('env.set', { schema: [Type.String(), Type.String()] }, (name, value) => env.set(name, value));
60
- const envList = new JSONRPCServerMethod('env.list', () => Object.fromEntries(env));
61
- const server = new JSONRPCServer([
62
- workflowRun,
63
- workflowAdvanceAsyncActivity,
64
- workflowListPendingAsyncActivities,
65
- envSet,
66
- envList,
67
- ], message => {
9
+ export const app = await upApp(entrypoint);
10
+ export const env = new Map(envArgs.map(arg => arg.split('=')));
11
+ const server = new JSONRPCServer(handlers
12
+ .values()
13
+ .toArray()
14
+ .map(handler => handler(env)), message => {
68
15
  process.send?.(message);
69
16
  });
70
17
  const client = new JSONRPCClient(async (message) => {
@@ -72,7 +19,6 @@ const client = new JSONRPCClient(async (message) => {
72
19
  });
73
20
  process.on('message', message => Env.run(env, () => Promise.all([server.handle(message), client.handle(message)])));
74
21
  Env.run(env, async () => {
75
- app = await upApp(entrypoint);
76
22
  const manifest = app.toManifest();
77
23
  manifest.workflows = manifest.workflows.map((workflow, index) => ({
78
24
  id: workflow.id ?? `:${index}`,
@@ -1 +1 @@
1
- {"version":3,"file":"dev-server-up-app-process.js","sourceRoot":"","sources":["../../src/commands/dev-server-up-app-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev-server-up-app-process.js","sourceRoot":"","sources":["../../src/commands/dev-server-up-app-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE1C,MAAM,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAEtD,IAAI,OAAO,UAAU,KAAK,QAAQ;IAChC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;AAE/C,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAA;AAE1C,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CACxB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC,CACvD,CAAA;AAED,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,QAAQ;KACL,MAAM,EAAE;KACR,OAAO,EAAE;KACT,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAC/B,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAA;AACzB,CAAC,CACF,CAAA;AAED,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;IAC/C,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAA;AACzB,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAC9B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAChB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAC9D,CACF,CAAA;AAED,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;IACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,EAAE,CAAA;IAEjC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAChE,EAAE,EAAE,QAAQ,CAAC,EAAE,IAAI,IAAI,KAAK,EAAE;QAC9B,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,aAAa,EAAE,QAAQ,CAAC,aAAa;KACtC,CAAC,CAAC,CAAA;IAEH,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;AAC3C,CAAC,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { Command } from 'commander';
2
+ export interface PublishCommandOptions {
3
+ runtime?: string;
4
+ artifact?: string;
5
+ entrypoint: string;
6
+ runtimeClientId?: string;
7
+ runtimeClientSecret?: string;
8
+ variable: Record<string, string>;
9
+ secret: Record<string, string>;
10
+ }
11
+ export declare const publishCommand: Command;
@@ -0,0 +1,34 @@
1
+ import path from 'node:path';
2
+ import { input, select } from '@inquirer/prompts';
3
+ import { TARGET_OPTIONS } from '../target-options.js';
4
+ export async function getDestinationRootPath(selectedTarget, projectRootPath) {
5
+ if (selectedTarget === 'custom') {
6
+ const customPath = await input({
7
+ message: 'Enter the skills destination folder',
8
+ default: path.join(process.cwd(), '.skills'),
9
+ required: true,
10
+ });
11
+ return path.resolve(customPath);
12
+ }
13
+ const target = TARGET_OPTIONS.find(option => option.value === selectedTarget);
14
+ if (!target?.defaultPath)
15
+ throw new Error(`Default destination was not found for: ${selectedTarget}`);
16
+ const scope = await select({
17
+ message: 'Select where skills should be installed',
18
+ choices: [
19
+ {
20
+ name: `Home (${target.defaultPath})`,
21
+ value: 'home',
22
+ },
23
+ {
24
+ name: `Project (${path.join(projectRootPath, target.projectFolderName ?? '', 'skills')})`,
25
+ value: 'project',
26
+ },
27
+ ],
28
+ default: 'home',
29
+ });
30
+ if (scope === 'home')
31
+ return target.defaultPath;
32
+ return path.join(projectRootPath, target.projectFolderName ?? '', 'skills');
33
+ }
34
+ //# sourceMappingURL=get-destination-root-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-destination-root-path.js","sourceRoot":"","sources":["../../../../src/commands/skills/prompts/get-destination-root-path.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAAE,cAAc,EAAsB,MAAM,sBAAsB,CAAA;AAIzE,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,cAA6B,EAC7B,eAAuB;IAEvB,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC;YAC7B,OAAO,EAAE,qCAAqC;YAC9C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC;YAC5C,QAAQ,EAAE,IAAI;SACf,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,cAAc,CAAC,CAAA;IAE7E,IAAI,CAAC,MAAM,EAAE,WAAW;QACtB,MAAM,IAAI,KAAK,CAAC,0CAA0C,cAAc,EAAE,CAAC,CAAA;IAE7E,MAAM,KAAK,GAAG,MAAM,MAAM,CAAe;QACvC,OAAO,EAAE,yCAAyC;QAClD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,SAAS,MAAM,CAAC,WAAW,GAAG;gBACpC,KAAK,EAAE,MAAM;aACd;YACD;gBACE,IAAI,EAAE,YAAY,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,iBAAiB,IAAI,EAAE,EAAE,QAAQ,CAAC,GAAG;gBACzF,KAAK,EAAE,SAAS;aACjB;SACF;QACD,OAAO,EAAE,MAAM;KAChB,CAAC,CAAA;IAEF,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC,WAAW,CAAA;IAE/C,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,iBAAiB,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAA;AAC7E,CAAC"}
@@ -0,0 +1,90 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { confirm, select } from '@inquirer/prompts';
4
+ import Table from 'cli-table3';
5
+ import { Command } from 'commander';
6
+ import { getDestinationRootPath } from './prompts/get-destination-root-path.js';
7
+ import { TARGET_OPTIONS } from './target-options.js';
8
+ import { copy } from './tools/copy.js';
9
+ import { discoverPackages } from './tools/discover-packages.js';
10
+ import { findNearestPackageJsonPath } from './tools/find-nearest-package-json-path.js';
11
+ import { getSkillSources } from './tools/get-skill-sources.js';
12
+ import { isDirectoryEqual } from './tools/is-directory-equal.js';
13
+ import { isDirectory } from './tools/is-directory.js';
14
+ import { pathExists } from './tools/path-exists.js';
15
+ export const skillsCommand = new Command('skills')
16
+ .description('Install skills from framework packages')
17
+ .action(async () => {
18
+ const packageJsonPath = await findNearestPackageJsonPath();
19
+ if (!packageJsonPath) {
20
+ console.log('package.json was not found from the current directory.');
21
+ return;
22
+ }
23
+ const frameworkPackages = await discoverPackages(packageJsonPath);
24
+ if (frameworkPackages.length === 0) {
25
+ console.log('No framework packages were found in package.json.');
26
+ return;
27
+ }
28
+ const skills = await getSkillSources(frameworkPackages, packageJsonPath);
29
+ if (skills.length === 0) {
30
+ console.log('No skill was found in the declared framework packages.');
31
+ return;
32
+ }
33
+ skills.sort((a, b) => {
34
+ const packageCompare = a.packageName.localeCompare(b.packageName);
35
+ if (packageCompare !== 0)
36
+ return packageCompare;
37
+ return a.skillName.localeCompare(b.skillName);
38
+ });
39
+ console.log(`Found ${skills.length} skills`);
40
+ const table = new Table({
41
+ head: ['Skill', 'Package'],
42
+ });
43
+ skills.forEach(skill => {
44
+ table.push([skill.skillName, skill.packageName]);
45
+ });
46
+ console.log(table.toString());
47
+ const targets = await select({
48
+ message: 'Where should the skills be installed?',
49
+ choices: TARGET_OPTIONS.map(target => ({
50
+ name: target.name,
51
+ value: target.value,
52
+ })),
53
+ });
54
+ const destinationRoot = await getDestinationRootPath(targets, path.dirname(packageJsonPath));
55
+ await fs.promises.mkdir(destinationRoot, { recursive: true });
56
+ let copiedCount = 0;
57
+ let skippedSameCount = 0;
58
+ let skippedByUserCount = 0;
59
+ for (const source of skills) {
60
+ const destinationPath = path.join(destinationRoot, source.skillName);
61
+ const destinationExists = await pathExists(destinationPath);
62
+ if (!destinationExists) {
63
+ await copy(source.sourcePath, destinationPath);
64
+ copiedCount++;
65
+ continue;
66
+ }
67
+ const destinationIsDirectory = await isDirectory(destinationPath);
68
+ const hasDifferences = !destinationIsDirectory
69
+ ? true
70
+ : !(await isDirectoryEqual(source.sourcePath, destinationPath));
71
+ if (!hasDifferences) {
72
+ skippedSameCount++;
73
+ continue;
74
+ }
75
+ const isOverwriting = await confirm({
76
+ message: `Skill "${source.skillName}" already exists and has differences. Overwrite it?`,
77
+ default: false,
78
+ });
79
+ if (!isOverwriting) {
80
+ skippedByUserCount++;
81
+ continue;
82
+ }
83
+ await copy(source.sourcePath, destinationPath);
84
+ copiedCount++;
85
+ }
86
+ console.log(`Copied: ${copiedCount}`);
87
+ console.log(`Skipped (no diff): ${skippedSameCount}`);
88
+ console.log(`Skipped by user choice: ${skippedByUserCount}`);
89
+ });
90
+ //# sourceMappingURL=skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/commands/skills/skills.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import os from 'node:os';
2
+ import path from 'node:path';
3
+ export const TARGET_OPTIONS = [
4
+ {
5
+ name: 'Cursor (~/.cursor/skills)',
6
+ value: 'cursor',
7
+ defaultPath: path.join(os.homedir(), '.cursor', 'skills'),
8
+ projectFolderName: '.cursor',
9
+ },
10
+ {
11
+ name: 'Claude (~/.claude/skills)',
12
+ value: 'claude',
13
+ defaultPath: path.join(os.homedir(), '.claude', 'skills'),
14
+ projectFolderName: '.claude',
15
+ },
16
+ {
17
+ name: 'Continue (~/.continue/skills)',
18
+ value: 'continue',
19
+ defaultPath: path.join(os.homedir(), '.continue', 'skills'),
20
+ projectFolderName: '.continue',
21
+ },
22
+ {
23
+ name: 'Cline (~/.cline/skills)',
24
+ value: 'cline',
25
+ defaultPath: path.join(os.homedir(), '.cline', 'skills'),
26
+ projectFolderName: '.cline',
27
+ },
28
+ {
29
+ name: 'Custom destination path',
30
+ value: 'custom',
31
+ },
32
+ ];
33
+ //# sourceMappingURL=target-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-options.js","sourceRoot":"","sources":["../../../src/commands/skills/target-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAgB5B,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C;QACE,IAAI,EAAE,2BAA2B;QACjC,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC;QACzD,iBAAiB,EAAE,SAAS;KAC7B;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC;QACzD,iBAAiB,EAAE,SAAS;KAC7B;IACD;QACE,IAAI,EAAE,+BAA+B;QACrC,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC;QAC3D,iBAAiB,EAAE,WAAW;KAC/B;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACxD,iBAAiB,EAAE,QAAQ;KAC5B;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE,QAAQ;KAChB;CACF,CAAA"}
@@ -0,0 +1,6 @@
1
+ import fs from 'node:fs/promises';
2
+ export async function copy(source, destination) {
3
+ await fs.rm(destination, { recursive: true, force: true });
4
+ await fs.cp(source, destination, { recursive: true });
5
+ }
6
+ //# sourceMappingURL=copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../../src/commands/skills/tools/copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAEjC,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,MAAc,EAAE,WAAmB;IAC5D,MAAM,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAE1D,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;AACvD,CAAC"}
@@ -0,0 +1,29 @@
1
+ import crypto from 'node:crypto';
2
+ import fs from 'node:fs/promises';
3
+ import path from 'node:path';
4
+ export async function createDirectorySnapshot(rootPath) {
5
+ const snapshot = new Map();
6
+ async function walk(currentPath) {
7
+ const entries = await fs.readdir(currentPath, {
8
+ withFileTypes: true,
9
+ });
10
+ entries.sort((a, b) => a.name.localeCompare(b.name));
11
+ for (const entry of entries) {
12
+ const absolutePath = path.join(currentPath, entry.name);
13
+ const relativePath = path.relative(rootPath, absolutePath);
14
+ if (entry.isDirectory()) {
15
+ snapshot.set(`${relativePath}/`, 'directory');
16
+ await walk(absolutePath);
17
+ continue;
18
+ }
19
+ if (entry.isFile()) {
20
+ const content = await fs.readFile(absolutePath);
21
+ const hash = crypto.createHash('sha256').update(content).digest('hex');
22
+ snapshot.set(relativePath, `file:${hash}`);
23
+ }
24
+ }
25
+ }
26
+ await walk(rootPath);
27
+ return snapshot;
28
+ }
29
+ //# sourceMappingURL=create-directory-snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-directory-snapshot.js","sourceRoot":"","sources":["../../../../src/commands/skills/tools/create-directory-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,QAAgB;IAC5D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;IAE1C,KAAK,UAAU,IAAI,CAAC,WAAmB;QACrC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE;YAC5C,aAAa,EAAE,IAAI;SACpB,CAAC,CAAA;QAEF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAEpD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YAEvD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;YAE1D,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,QAAQ,CAAC,GAAG,CAAC,GAAG,YAAY,GAAG,EAAE,WAAW,CAAC,CAAA;gBAE7C,MAAM,IAAI,CAAC,YAAY,CAAC,CAAA;gBAExB,SAAQ;YACV,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBACnB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;gBAE/C,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAEtE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAA;IAEpB,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import fs from 'node:fs/promises';
2
+ export async function discoverPackages(packageJsonPath) {
3
+ const packageJsonContent = await fs.readFile(packageJsonPath, 'utf8');
4
+ const packageJson = JSON.parse(packageJsonContent);
5
+ const sections = [
6
+ packageJson.dependencies ?? {},
7
+ packageJson.devDependencies ?? {},
8
+ packageJson.peerDependencies ?? {},
9
+ packageJson.optionalDependencies ?? {},
10
+ ];
11
+ const packageNames = new Set(sections
12
+ .flatMap(section => Object.keys(section))
13
+ .filter(name => name.startsWith('@t4h.framework/')));
14
+ return packageNames.values().toArray();
15
+ }
16
+ //# sourceMappingURL=discover-packages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discover-packages.js","sourceRoot":"","sources":["../../../../src/commands/skills/tools/discover-packages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AASjC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,eAAuB;IAC5D,MAAM,kBAAkB,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;IAErE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAoB,CAAA;IAErE,MAAM,QAAQ,GAAG;QACf,WAAW,CAAC,YAAY,IAAI,EAAE;QAC9B,WAAW,CAAC,eAAe,IAAI,EAAE;QACjC,WAAW,CAAC,gBAAgB,IAAI,EAAE;QAClC,WAAW,CAAC,oBAAoB,IAAI,EAAE;KACvC,CAAA;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,QAAQ;SACL,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACxC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CACtD,CAAA;IAED,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAA;AACxC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import path from 'node:path';
2
+ import { pathExists } from './path-exists.js';
3
+ export async function findNearestPackageJsonPath() {
4
+ let current = path.resolve(process.cwd());
5
+ let parent = path.dirname(current);
6
+ while (current !== parent) {
7
+ const packageJsonPath = path.join(current, 'package.json');
8
+ if (await pathExists(packageJsonPath))
9
+ return packageJsonPath;
10
+ current = parent;
11
+ parent = path.dirname(current);
12
+ }
13
+ const rootPackageJsonPath = path.join(current, 'package.json');
14
+ if (await pathExists(rootPackageJsonPath))
15
+ return rootPackageJsonPath;
16
+ return null;
17
+ }
18
+ //# sourceMappingURL=find-nearest-package-json-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-nearest-package-json-path.js","sourceRoot":"","sources":["../../../../src/commands/skills/tools/find-nearest-package-json-path.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,MAAM,CAAC,KAAK,UAAU,0BAA0B;IAC9C,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IACzC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAElC,OAAO,OAAO,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;QAE1D,IAAI,MAAM,UAAU,CAAC,eAAe,CAAC;YAAE,OAAO,eAAe,CAAA;QAE7D,OAAO,GAAG,MAAM,CAAA;QAEhB,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;IAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IAE9D,IAAI,MAAM,UAAU,CAAC,mBAAmB,CAAC;QAAE,OAAO,mBAAmB,CAAA;IAErE,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,18 @@
1
+ import path from 'node:path';
2
+ import { isDirectory } from './is-directory.js';
3
+ export async function getPackagePath(packageName, packageJsonPath) {
4
+ const segments = packageName.split('/');
5
+ let current = path.dirname(packageJsonPath);
6
+ let parent = path.dirname(current);
7
+ while (true) {
8
+ const candidatePackagePath = path.join(current, 'node_modules', ...segments);
9
+ if (await isDirectory(candidatePackagePath))
10
+ return candidatePackagePath;
11
+ if (current === parent)
12
+ break;
13
+ current = parent;
14
+ parent = path.dirname(current);
15
+ }
16
+ return null;
17
+ }
18
+ //# sourceMappingURL=get-package-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-package-path.js","sourceRoot":"","sources":["../../../../src/commands/skills/tools/get-package-path.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,WAAmB,EACnB,eAAuB;IAEvB,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEvC,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;IAC3C,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAElC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC,CAAA;QAE5E,IAAI,MAAM,WAAW,CAAC,oBAAoB,CAAC;YAAE,OAAO,oBAAoB,CAAA;QAExE,IAAI,OAAO,KAAK,MAAM;YAAE,MAAK;QAE7B,OAAO,GAAG,MAAM,CAAA;QAEhB,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,44 @@
1
+ import fs from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { getPackagePath } from './get-package-path.js';
4
+ import { isDirectory } from './is-directory.js';
5
+ async function isDirEntry(entry, fullPath) {
6
+ if (entry.isDirectory())
7
+ return true;
8
+ if (!entry.isSymbolicLink())
9
+ return false;
10
+ return isDirectory(fullPath);
11
+ }
12
+ export async function getSkillSources(packageNames, packageJsonPath) {
13
+ const seen = new Set();
14
+ const sources = [];
15
+ for (const packageName of packageNames) {
16
+ const packagePath = await getPackagePath(packageName, packageJsonPath);
17
+ if (!packagePath)
18
+ continue;
19
+ const skillsRootPath = path.join(packagePath, '.ai', 'skills');
20
+ if (!(await isDirectory(skillsRootPath)))
21
+ continue;
22
+ const entries = await fs.readdir(skillsRootPath, {
23
+ withFileTypes: true,
24
+ });
25
+ const results = (await Promise.all(entries.map(async (entry) => {
26
+ const sourcePath = path.join(skillsRootPath, entry.name);
27
+ const entryIsDirectory = await isDirEntry(entry, sourcePath);
28
+ return entryIsDirectory ? entry : null;
29
+ }))).filter((entry) => entry !== null);
30
+ results.forEach(entry => {
31
+ const uniqueKey = `${packageName}:${entry.name}`;
32
+ if (seen.has(uniqueKey))
33
+ return;
34
+ seen.add(uniqueKey);
35
+ sources.push({
36
+ packageName,
37
+ skillName: entry.name,
38
+ sourcePath: path.join(skillsRootPath, entry.name),
39
+ });
40
+ });
41
+ }
42
+ return sources;
43
+ }
44
+ //# sourceMappingURL=get-skill-sources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-skill-sources.js","sourceRoot":"","sources":["../../../../src/commands/skills/tools/get-skill-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAc/C,KAAK,UAAU,UAAU,CAAC,KAAyB,EAAE,QAAgB;IACnE,IAAI,KAAK,CAAC,WAAW,EAAE;QAAE,OAAO,IAAI,CAAA;IAEpC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;QAAE,OAAO,KAAK,CAAA;IAEzC,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,YAAsB,EACtB,eAAuB;IAEvB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,MAAM,OAAO,GAAkB,EAAE,CAAA;IAEjC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;QAEtE,IAAI,CAAC,WAAW;YAAE,SAAQ;QAE1B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;QAE9D,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,cAAc,CAAC,CAAC;YAAE,SAAQ;QAElD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE;YAC/C,aAAa,EAAE,IAAI;SACpB,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,CACd,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;YACxB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YAExD,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;YAE5D,OAAO,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QACxC,CAAC,CAAC,CACH,CACF,CAAC,MAAM,CAAC,CAAC,KAAK,EAAwC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAA;QAEzE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACtB,MAAM,SAAS,GAAG,GAAG,WAAW,IAAI,KAAK,CAAC,IAAI,EAAE,CAAA;YAEhD,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,OAAM;YAE/B,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YAEnB,OAAO,CAAC,IAAI,CAAC;gBACX,WAAW;gBACX,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC;aAClD,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}