whitesmith 0.0.2 → 0.0.4

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 (50) hide show
  1. package/README.md +286 -88
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +90 -2
  4. package/dist/cli.js.map +1 -1
  5. package/dist/comment.d.ts.map +1 -1
  6. package/dist/comment.js +18 -11
  7. package/dist/comment.js.map +1 -1
  8. package/dist/git.d.ts +5 -3
  9. package/dist/git.d.ts.map +1 -1
  10. package/dist/git.js +20 -29
  11. package/dist/git.js.map +1 -1
  12. package/dist/harnesses/pi.d.ts.map +1 -1
  13. package/dist/harnesses/pi.js +22 -6
  14. package/dist/harnesses/pi.js.map +1 -1
  15. package/dist/index.d.ts +3 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +2 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/orchestrator.d.ts +31 -3
  20. package/dist/orchestrator.d.ts.map +1 -1
  21. package/dist/orchestrator.js +214 -10
  22. package/dist/orchestrator.js.map +1 -1
  23. package/dist/prompts.d.ts +52 -0
  24. package/dist/prompts.d.ts.map +1 -1
  25. package/dist/prompts.js +197 -0
  26. package/dist/prompts.js.map +1 -1
  27. package/dist/providers/github-ci.d.ts +40 -0
  28. package/dist/providers/github-ci.d.ts.map +1 -1
  29. package/dist/providers/github-ci.js +463 -213
  30. package/dist/providers/github-ci.js.map +1 -1
  31. package/dist/providers/index.d.ts +1 -1
  32. package/dist/providers/index.d.ts.map +1 -1
  33. package/dist/review.d.ts +48 -0
  34. package/dist/review.d.ts.map +1 -0
  35. package/dist/review.js +221 -0
  36. package/dist/review.js.map +1 -0
  37. package/dist/types.d.ts +4 -0
  38. package/dist/types.d.ts.map +1 -1
  39. package/package.json +1 -1
  40. package/src/cli.ts +116 -3
  41. package/src/comment.ts +20 -14
  42. package/src/git.ts +23 -30
  43. package/src/harnesses/pi.ts +27 -6
  44. package/src/index.ts +9 -1
  45. package/src/orchestrator.ts +253 -14
  46. package/src/prompts.ts +239 -0
  47. package/src/providers/github-ci.ts +513 -217
  48. package/src/providers/index.ts +1 -1
  49. package/src/review.ts +290 -0
  50. package/src/types.ts +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAY,EAAE,aAAqB;IACzE,OAAO,oDAAoD,KAAK,CAAC,MAAM;;;aAG3D,KAAK,CAAC,KAAK;WACb,KAAK,CAAC,GAAG;;;EAGlB,KAAK,CAAC,IAAI;;;;;;;;;mCASuB,aAAa;;;;;;;;OAQzC,KAAK,CAAC,MAAM;SACV,KAAK,CAAC,MAAM;;;;;;;;;;;;;;;;;;;gCAmBW,KAAK,CAAC,MAAM,qBAAqB,KAAK,CAAC,MAAM;mJACsE,KAAK,CAAC,MAAM;;;;iBAI9I,aAAa;;;;;;;wBAON,KAAK,CAAC,MAAM;;;;CAInC,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAU,EAAE,KAAY;IAC5D,OAAO,sBAAsB,IAAI,CAAC,KAAK;;;;2DAImB,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,KAAK;;iBAEvE,KAAK,CAAC,GAAG;eACX,IAAI,CAAC,EAAE;iBACL,IAAI,CAAC,QAAQ;;;;EAI5B,IAAI,CAAC,OAAO;;;;;;;;mCAQqB,IAAI,CAAC,QAAQ;iDACC,IAAI,CAAC,KAAK;;;;;uBAKpC,KAAK,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK;;;;;;;;;sBAS7B,IAAI,CAAC,QAAQ;mBAChB,IAAI,CAAC,KAAK;;CAE5B,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAY,EAAE,aAAqB;IACzE,OAAO,oDAAoD,KAAK,CAAC,MAAM;;;aAG3D,KAAK,CAAC,KAAK;WACb,KAAK,CAAC,GAAG;;;EAGlB,KAAK,CAAC,IAAI;;;;;;;;;mCASuB,aAAa;;;;;;;;OAQzC,KAAK,CAAC,MAAM;SACV,KAAK,CAAC,MAAM;;;;;;;;;;;;;;;;;;;gCAmBW,KAAK,CAAC,MAAM,qBAAqB,KAAK,CAAC,MAAM;mJACsE,KAAK,CAAC,MAAM;;;;iBAI9I,aAAa;;;;;;;wBAON,KAAK,CAAC,MAAM;;;;CAInC,CAAC;AACF,CAAC;AAcD;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAA4B;IACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;SACzF,IAAI,CAAC,aAAa,CAAC,CAAC;IAEtB,OAAO,sCAAsC,IAAI,CAAC,WAAW;;;aAGjD,IAAI,CAAC,UAAU;WACjB,IAAI,CAAC,QAAQ;;;EAGtB,IAAI,CAAC,SAAS;EACd,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE;;;EAG1D,QAAQ,IAAI,wBAAwB;;;;;;;;;;;;;;;;;;;;;;gCAsBN,IAAI,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;uCAsBV,IAAI,CAAC,YAAY;;CAEvD,CAAC;AACF,CAAC;AAiBD;;;GAGG;AACH,MAAM,UAAU,iCAAiC,CAAC,IAAgC;IACjF,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW;QACpC,CAAC,CAAC,yBAAyB,IAAI,CAAC,WAAW,CAAC,MAAM,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,cAAc,IAAI,CAAC,WAAW,CAAC,GAAG,8BAA8B,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI;QACxK,CAAC,CAAC,EAAE,CAAC;IAEN,OAAO,2BAA2B,IAAI,CAAC,QAAQ;;;aAGnC,IAAI,CAAC,OAAO;WACd,IAAI,CAAC,KAAK;cACP,IAAI,CAAC,QAAQ;;;EAGzB,IAAI,CAAC,MAAM;EACX,YAAY;;;;KAIT,IAAI,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;gCAoBc,IAAI,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;uCAsBV,IAAI,CAAC,YAAY;;CAEvD,CAAC;AACF,CAAC;AAYD;;;GAGG;AACH,MAAM,UAAU,+BAA+B,CAAC,IAA8B;IAC7E,OAAO,wCAAwC,IAAI,CAAC,WAAW;;;aAGnD,IAAI,CAAC,UAAU;WACjB,IAAI,CAAC,QAAQ;EACtB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,0BAA0B,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE;;EAElE,IAAI,CAAC,SAAS;;;;;uBAKO,IAAI,CAAC,UAAU;;;;;;;;;;;;;;;;;;yEAkBmC,IAAI,CAAC,WAAW;;gCAEzD,IAAI,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;uCAsBV,IAAI,CAAC,YAAY;;CAEvD,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAU,EAAE,KAAY;IAC5D,OAAO,sBAAsB,IAAI,CAAC,KAAK;;;;2DAImB,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,KAAK;;iBAEvE,KAAK,CAAC,GAAG;eACX,IAAI,CAAC,EAAE;iBACL,IAAI,CAAC,QAAQ;;;;EAI5B,IAAI,CAAC,OAAO;;;;;;;;mCAQqB,IAAI,CAAC,QAAQ;iDACC,IAAI,CAAC,KAAK;;;;;uBAKpC,KAAK,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK;;;;;;;;;sBAS7B,IAAI,CAAC,QAAQ;mBAChB,IAAI,CAAC,KAAK;;CAE5B,CAAC;AACF,CAAC"}
@@ -1,4 +1,28 @@
1
1
  export type AuthMode = 'auth-json' | 'models-json';
2
+ export interface ProviderEntry {
3
+ name: string;
4
+ baseUrl?: string;
5
+ api?: string;
6
+ apiKeyEnvVar: string;
7
+ models: {
8
+ id: string;
9
+ }[];
10
+ compat?: Record<string, boolean>;
11
+ builtin: boolean;
12
+ }
13
+ /**
14
+ * Serializable CI configuration.
15
+ * Can be saved to JSON with --export-config and loaded with --config.
16
+ * When --include-secrets is used, the `secrets` field maps env var names to
17
+ * their actual API key values. These are set via `gh secret set` on install.
18
+ */
19
+ export interface CIConfigFile {
20
+ providers: ProviderEntry[];
21
+ defaultProvider: string;
22
+ defaultModel: string;
23
+ /** API key values keyed by env var name. Only present with --include-secrets. */
24
+ secrets?: Record<string, string>;
25
+ }
2
26
  /**
3
27
  * Context passed by GitHubProvider so github-ci doesn't need raw execSync.
4
28
  */
@@ -11,6 +35,22 @@ export interface GitHubCIContext {
11
35
  export interface InstallCIOptions {
12
36
  authMode: AuthMode;
13
37
  fake?: boolean;
38
+ /** Path to a JSON config file — skips interactive prompts. */
39
+ configFile?: string;
40
+ /** Write the provider config as JSON to this file path instead of generating workflows. */
41
+ exportConfig?: string;
42
+ /** When used with --export-config, prompt for API keys and include them in the output. */
43
+ includeSecrets?: boolean;
44
+ /** Build whitesmith from source (pnpm i + link --global) instead of installing from npm. Auto-detected when inside the whitesmith repo. */
45
+ dev?: boolean;
46
+ /** Generate the review workflow for PR reviews. Off by default. */
47
+ reviewWorkflow?: boolean;
48
+ /** Whether the review step is enabled in the main loop (affects review workflow filtering). */
49
+ reviewStepEnabled?: boolean;
50
+ /** Skip setting GitHub secrets (useful when reconfiguring workflows only). */
51
+ skipSecrets?: boolean;
52
+ /** whitesmith package version to pin in the install command. */
53
+ version: string;
14
54
  }
15
55
  export declare function installGitHubCI(ctx: GitHubCIContext, options: InstallCIOptions): Promise<void>;
16
56
  //# sourceMappingURL=github-ci.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"github-ci.d.ts","sourceRoot":"","sources":["../../src/providers/github-ci.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,aAAa,CAAC;AAmBnD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAgpBD,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,eAAe,CACpC,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,gBAAgB,GACvB,OAAO,CAAC,IAAI,CAAC,CA8If"}
1
+ {"version":3,"file":"github-ci.d.ts","sourceRoot":"","sources":["../../src/providers/github-ci.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,aAAa,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC5B,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAiBD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AA+yBD,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0FAA0F;IAC1F,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2IAA2I;IAC3I,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,mEAAmE;IACnE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+FAA+F;IAC/F,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,8EAA8E;IAC9E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;CAChB;AAsBD,wBAAsB,eAAe,CACpC,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,gBAAgB,GACvB,OAAO,CAAC,IAAI,CAAC,CA6Nf"}