socket 1.1.118 → 1.1.120

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 (28) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/README.md +1 -0
  3. package/dist/cli.js +622 -82
  4. package/dist/cli.js.map +1 -1
  5. package/dist/constants.js +4 -4
  6. package/dist/constants.js.map +1 -1
  7. package/dist/tsconfig.dts.tsbuildinfo +1 -1
  8. package/dist/types/commands/manifest/bazel/bazel-cquery.d.mts.map +1 -1
  9. package/dist/types/commands/manifest/bazel/bazel-query-runner.d.mts.map +1 -1
  10. package/dist/types/commands/manifest/bazel/bazel-repo-discovery.d.mts +28 -1
  11. package/dist/types/commands/manifest/bazel/bazel-repo-discovery.d.mts.map +1 -1
  12. package/dist/types/commands/manifest/bazel/cmd-manifest-bazel.d.mts +5 -0
  13. package/dist/types/commands/manifest/bazel/cmd-manifest-bazel.d.mts.map +1 -1
  14. package/dist/types/commands/manifest/bazel/extract_bazel_to_maven.d.mts +43 -3
  15. package/dist/types/commands/manifest/bazel/extract_bazel_to_maven.d.mts.map +1 -1
  16. package/dist/types/commands/manifest/generate_auto_manifest.d.mts.map +1 -1
  17. package/dist/types/commands/scan/cmd-scan-create.d.mts.map +1 -1
  18. package/dist/types/commands/scan/perform-reachability-analysis.d.mts +2 -0
  19. package/dist/types/commands/scan/perform-reachability-analysis.d.mts.map +1 -1
  20. package/dist/types/utils/auto-manifest-config.d.mts +55 -0
  21. package/dist/types/utils/auto-manifest-config.d.mts.map +1 -0
  22. package/dist/types/utils/dlx.d.mts +4 -3
  23. package/dist/types/utils/dlx.d.mts.map +1 -1
  24. package/dist/types/utils/socket-json.d.mts +1 -0
  25. package/dist/types/utils/socket-json.d.mts.map +1 -1
  26. package/dist/utils.js +136 -22
  27. package/dist/utils.js.map +1 -1
  28. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"bazel-cquery.d.mts","sourceRoot":"","sources":["../../../../../src/commands/manifest/bazel/bazel-cquery.mts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,8EAA8E;AAC9E,6EAA6E;AAC7E,6EAA6E;AAC7E,+EAA+E;AAC/E,6EAA6E;AAC7E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,gBAAgB,EAAE,MAAM,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAA;AAE3E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;IACxB,MAAM,EAAE,YAAY,CAAA;IACpB,SAAS,EAAE,iBAAiB,EAAE,CAAA;IAC9B,uEAAuE;IACvE,yEAAyE;IACzE,+DAA+D;IAC/D,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,uEAAuE;IACvE,yDAAyD;IACzD,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAA;IACxB,mEAAmE;IACnE,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,iBAAiB,CAAA;CACxB,CAAA;AAED,4EAA4E;AAC5E,6EAA6E;AAC7E,yBAAyB;AACzB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,iBAAiB,EAAE,CAAA;IAC9B,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAC3B,CAAA;AAqCD,yEAAyE;AACzE,kDAAkD;AAClD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,MAAM,EAAE,CAwBV;AAyED,6EAA6E;AAC7E,mDAAmD;AACnD,wCAAwC;AACxC,+EAA+E;AAC/E,6EAA6E;AAC7E,6EAA6E;AAC7E,+EAA+E;AAC/E,0EAA0E;AAC1E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM3D;AAiKD,2DAA2D;AAC3D,+EAA+E;AAC/E,6EAA6E;AAC7E,oEAAoE;AACpE,uEAAuE;AACvE,0CAA0C;AAC1C,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,GACvB,iBAAiB,CAmFnB;AAyBD,qEAAqE;AACrE,0EAA0E;AAC1E,oEAAoE;AACpE,0CAA0C;AAC1C,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAuE3B"}
1
+ {"version":3,"file":"bazel-cquery.d.mts","sourceRoot":"","sources":["../../../../../src/commands/manifest/bazel/bazel-cquery.mts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,8EAA8E;AAC9E,6EAA6E;AAC7E,6EAA6E;AAC7E,+EAA+E;AAC/E,6EAA6E;AAC7E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,gBAAgB,EAAE,MAAM,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAA;AAE3E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;IACxB,MAAM,EAAE,YAAY,CAAA;IACpB,SAAS,EAAE,iBAAiB,EAAE,CAAA;IAC9B,uEAAuE;IACvE,yEAAyE;IACzE,+DAA+D;IAC/D,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,uEAAuE;IACvE,yDAAyD;IACzD,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAA;IACxB,mEAAmE;IACnE,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,iBAAiB,CAAA;CACxB,CAAA;AAED,4EAA4E;AAC5E,6EAA6E;AAC7E,yBAAyB;AACzB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,iBAAiB,EAAE,CAAA;IAC9B,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAC3B,CAAA;AAqCD,yEAAyE;AACzE,kDAAkD;AAClD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,MAAM,EAAE,CAwBV;AAyED,6EAA6E;AAC7E,mDAAmD;AACnD,wCAAwC;AACxC,+EAA+E;AAC/E,6EAA6E;AAC7E,6EAA6E;AAC7E,+EAA+E;AAC/E,0EAA0E;AAC1E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM3D;AAiKD,2DAA2D;AAC3D,+EAA+E;AAC/E,6EAA6E;AAC7E,oEAAoE;AACpE,uEAAuE;AACvE,0CAA0C;AAC1C,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,GACvB,iBAAiB,CAmFnB;AAyBD,qEAAqE;AACrE,0EAA0E;AAC1E,oEAAoE;AACpE,0CAA0C;AAC1C,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAwE3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"bazel-query-runner.d.mts","sourceRoot":"","sources":["../../../../../src/commands/manifest/bazel/bazel-query-runner.mts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAE3D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,0EAA0E;IAC1E,wEAAwE;IACxE,0EAA0E;IAC1E,mEAAmE;IACnE,sEAAsE;IACtE,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAQD,+DAA+D;AAC/D,+EAA6E;AAC7E,2EAA2E;AAC3E,eAAe;AACf,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAKnE;AAED,6EAA6E;AAC7E,2EAAyE;AACzE,sEAAsE;AACtE,0CAA0C;AAC1C,iBAAS,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAY5D;AAED,iBAAS,iCAAiC,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAU5E;AAED,iBAAS,mCAAmC,CAC1C,IAAI,EAAE,iBAAiB,GACtB,MAAM,EAAE,CAcV;AAED,iBAAS,iCAAiC,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAU5E;AAED,iBAAS,cAAc,CACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,EACvB,MAAM,SAAU,GACf,MAAM,EAAE,CAeV;AAED,4EAA4E;AAC5E,uEAAuE;AACvE,wDAAwD;AACxD,wEAAwE;AACxE,oDAAoD;AACpD,iBAAS,yBAAyB,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,MAAM,EAAE,CAaV;AA4ED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,EACvB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,CAAC,CAsC3B;AAiCD;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAM3B;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAM3B;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAM3B;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,SAAS,CAUrE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,GAAG,SAAS,CAMpE;AAED,6EAA2E;AAC3E,2EAA2E;AAC3E,uBAAuB;AACvB,eAAO,MAAM,qBAAqB;;;;;;;CAOjC,CAAA"}
1
+ {"version":3,"file":"bazel-query-runner.d.mts","sourceRoot":"","sources":["../../../../../src/commands/manifest/bazel/bazel-query-runner.mts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAE3D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,0EAA0E;IAC1E,wEAAwE;IACxE,0EAA0E;IAC1E,mEAAmE;IACnE,sEAAsE;IACtE,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAQD,+DAA+D;AAC/D,+EAA6E;AAC7E,2EAA2E;AAC3E,eAAe;AACf,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAKnE;AAED,6EAA6E;AAC7E,2EAAyE;AACzE,sEAAsE;AACtE,0CAA0C;AAC1C,iBAAS,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAY5D;AAED,iBAAS,iCAAiC,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAU5E;AAED,iBAAS,mCAAmC,CAC1C,IAAI,EAAE,iBAAiB,GACtB,MAAM,EAAE,CAkBV;AAED,iBAAS,iCAAiC,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAc5E;AAED,iBAAS,cAAc,CACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,EACvB,MAAM,SAAU,GACf,MAAM,EAAE,CAeV;AAED,4EAA4E;AAC5E,uEAAuE;AACvE,wDAAwD;AACxD,wEAAwE;AACxE,oDAAoD;AACpD,iBAAS,yBAAyB,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,MAAM,EAAE,CAaV;AA4ED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,EACvB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,CAAC,CAsC3B;AAiCD;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAM3B;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAM3B;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAM3B;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,SAAS,CAUrE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,GAAG,SAAS,CAMpE;AAED,6EAA2E;AAC3E,2EAA2E;AAC3E,uBAAuB;AACvB,eAAO,MAAM,qBAAqB;;;;;;;CAOjC,CAAA"}
@@ -16,12 +16,39 @@ export type ProbeResult = {
16
16
  stderr: string;
17
17
  };
18
18
  export type RepoProbe = (repoName: string) => Promise<ProbeResult>;
19
- export type ProbeStatus = 'populated' | 'empty' | 'not-defined';
19
+ // `indeterminate` means the probe could not be classified: an unrecognized
20
+ // non-zero exit, or the probe threw outright (the Bazel invocation itself
21
+ // failed). It is NOT evidence that the repo is undefined — treating it as
22
+ // `not-defined` would silently under-report a hub that may well hold Maven
23
+ // deps. The orchestrator must propagate it so the run is never reported
24
+ // `complete` when a probe was indeterminate.
25
+ export type ProbeStatus = 'populated' | 'empty' | 'not-defined' | 'indeterminate';
20
26
  // Conventional Maven hub names rules_jvm_external sets up under
21
27
  // WORKSPACE-mode invocations. Probing each one is cheap (a failed visibility
22
28
  // lookup never triggers a `repository_rule` fetch) so the orchestrator can
23
29
  // try them all without paying the cost of a real cquery on undefined repos.
24
30
  export declare const CONVENTIONAL_MAVEN_REPO_NAMES: readonly string[];
31
+ // Outcome of running `bazel mod show_extension` for the maven extension,
32
+ // distinct from the per-repo `ProbeStatus`:
33
+ // `not-defined` — authoritative: no maven extension in this workspace
34
+ // (clean run with zero kept hubs, OR rules_jvm_external is
35
+ // not in the dependency graph).
36
+ // `indeterminate` — enumeration could not be performed (eval/load failure,
37
+ // binary missing); the run must not be reported complete.
38
+ // `defined` — the report parsed and yielded one or more root hubs;
39
+ // the caller uses the parsed hub list directly.
40
+ export type ShowExtensionStatus = 'defined' | 'indeterminate' | 'not-defined';
41
+ // Classify a `bazel mod show_extension` result. `keptRootHubCount` is the
42
+ // number of root-imported hubs the caller parsed from a code-0 run (see
43
+ // `parseShowExtensionOutput` + the `<root>` importer filter); it disambiguates
44
+ // the code-0 cases without re-parsing here.
45
+ //
46
+ // IMPORTANT (security correctness): a non-zero exit is the DEFAULT outcome for
47
+ // every bzlmod repo that does not use rules_jvm_external, so we must NOT treat
48
+ // non-zero as indeterminate by default. We only escalate to `indeterminate`
49
+ // when stderr looks like a real evaluation/load failure; an argument/resolution
50
+ // error about the missing extension is the legitimate no-Maven case.
51
+ export declare function classifyShowExtensionResult(result: ProbeResult, keptRootHubCount: number): ShowExtensionStatus;
25
52
  // Pure parser for `bazel mod show_extension @rules_jvm_external//:extensions.bzl%maven`
26
53
  // stdout. Returns the hub repos listed under `Fetched repositories:` — i.e.
27
54
  // items annotated with `(imported by ...)` — each carrying the set of modules
@@ -1 +1 @@
1
- {"version":3,"file":"bazel-repo-discovery.d.mts","sourceRoot":"","sources":["../../../../../src/commands/manifest/bazel/bazel-repo-discovery.mts"],"names":[],"mappings":"AAgBA,0EAA0E;AAC1E,uEAAqE;AACrE,8EAA4E;AAC5E,yDAAyD;AACzD,eAAO,MAAM,oBAAoB,WAAW,CAAA;AAE5C,2EAA2E;AAC3E,+EAA6E;AAC7E,kCAAkC;AAClC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;AAElE,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,OAAO,GAAG,aAAa,CAAA;AAE/D,gEAAgE;AAChE,6EAA6E;AAC7E,2EAA2E;AAC3E,4EAA4E;AAC5E,eAAO,MAAM,6BAA6B,EAAE,SAAS,MAAM,EAM1D,CAAA;AA4BD,wFAAwF;AACxF,8EAA4E;AAC5E,gFAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAC9E,8EAA8E;AAC9E,yEAAyE;AACzE,8EAA8E;AAC9E,UAAU;AACV,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,EAAE,CA0C5E;AAED,2EAA2E;AAC3E,2DAAyD;AACzD,wEAAwE;AACxE,wEAAwE;AACxE,6CAA6C;AAC7C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CA0BpE;AAED,0EAA0E;AAC1E,qEAAqE;AACrE,qEAAqE;AACrE,+DAA+D;AAC/D,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,WAAW,CAAC,CAmBtB"}
1
+ {"version":3,"file":"bazel-repo-discovery.d.mts","sourceRoot":"","sources":["../../../../../src/commands/manifest/bazel/bazel-repo-discovery.mts"],"names":[],"mappings":"AAgBA,0EAA0E;AAC1E,uEAAqE;AACrE,8EAA4E;AAC5E,yDAAyD;AACzD,eAAO,MAAM,oBAAoB,WAAW,CAAA;AAE5C,2EAA2E;AAC3E,+EAA6E;AAC7E,kCAAkC;AAClC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;AAElE,2EAA2E;AAC3E,0EAA0E;AAC1E,4EAA0E;AAC1E,2EAA2E;AAC3E,wEAAwE;AACxE,6CAA6C;AAC7C,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,OAAO,GACP,aAAa,GACb,eAAe,CAAA;AAEnB,gEAAgE;AAChE,6EAA6E;AAC7E,2EAA2E;AAC3E,4EAA4E;AAC5E,eAAO,MAAM,6BAA6B,EAAE,SAAS,MAAM,EAM1D,CAAA;AAyED,yEAAyE;AACzE,4CAA4C;AAC5C,4EAA0E;AAC1E,+EAA+E;AAC/E,oDAAoD;AACpD,+EAA6E;AAC7E,8EAA8E;AAC9E,6EAA2E;AAC3E,oEAAoE;AACpE,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,eAAe,GAAG,aAAa,CAAA;AAE7E,0EAA0E;AAC1E,wEAAwE;AACxE,+EAA+E;AAC/E,4CAA4C;AAC5C,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,4EAA4E;AAC5E,gFAAgF;AAChF,qEAAqE;AACrE,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,WAAW,EACnB,gBAAgB,EAAE,MAAM,GACvB,mBAAmB,CAgCrB;AAED,wFAAwF;AACxF,8EAA4E;AAC5E,gFAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAC9E,8EAA8E;AAC9E,yEAAyE;AACzE,8EAA8E;AAC9E,UAAU;AACV,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,EAAE,CA0C5E;AAED,2EAA2E;AAC3E,2DAAyD;AACzD,wEAAwE;AACxE,wEAAwE;AACxE,6CAA6C;AAC7C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CA6BpE;AAED,0EAA0E;AAC1E,qEAAqE;AACrE,qEAAqE;AACrE,+DAA+D;AAC/D,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,WAAW,CAAC,CAuBtB"}
@@ -9,6 +9,11 @@ export type EcosystemOutcome = {
9
9
  ecosystem: 'maven' | 'pypi';
10
10
  status: ExtractBazelStatus;
11
11
  manifestPaths: string[];
12
+ // Machine-readable completeness signal. True only when the ecosystem's
13
+ // extraction was complete; a `partial` upload sets this false so the CLI
14
+ // surfaces it honestly (exit 0 + prominent warning) rather than as plain
15
+ // success.
16
+ complete: boolean;
12
17
  };
13
18
  // Pure outcome-matrix evaluator. Exported so dispatcher behavior can be
14
19
  // unit-tested without spawning the CLI binary. Throws InputError on
@@ -1 +1 @@
1
- {"version":3,"file":"cmd-manifest-bazel.d.mts","sourceRoot":"","sources":["../../../../../src/commands/manifest/bazel/cmd-manifest-bazel.mts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,0CAA0C,CAAA;AAkFjD,eAAO,MAAM,gBAAgB;;;;CAI5B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,OAAO,GAAG,MAAM,CAAA;IAC3B,MAAM,EAAE,kBAAkB,CAAA;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB,CAAA;AAED,wEAAwE;AACxE,oEAAoE;AACpE,uEAAuE;AACvE,WAAW;AACX,EAAE;AACF,uEAAuE;AACvE,+EAA6E;AAC7E,sBAAsB;AACtB,0EAA0E;AAC1E,oEAAoE;AACpE,yBAAyB;AACzB,6EAA6E;AAC7E,4EAA4E;AAC5E,uEAAuE;AACvE,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,EACrC,UAAU,EAAE,OAAO,GAClB,IAAI,CA8CN;AAuBD,iBAAe,GAAG,CAChB,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAClC,UAAU,EAAE,UAAU,EACtB,EAAE,UAAU,EAAE,EAAE,iBAAiB,GAChC,OAAO,CAAC,IAAI,CAAC,CA4Kf"}
1
+ {"version":3,"file":"cmd-manifest-bazel.d.mts","sourceRoot":"","sources":["../../../../../src/commands/manifest/bazel/cmd-manifest-bazel.mts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,0CAA0C,CAAA;AA6FjD,eAAO,MAAM,gBAAgB;;;;CAI5B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,OAAO,GAAG,MAAM,CAAA;IAC3B,MAAM,EAAE,kBAAkB,CAAA;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,uEAAuE;IACvE,yEAAyE;IACzE,yEAAyE;IACzE,WAAW;IACX,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,wEAAwE;AACxE,oEAAoE;AACpE,uEAAuE;AACvE,WAAW;AACX,EAAE;AACF,uEAAuE;AACvE,+EAA6E;AAC7E,sBAAsB;AACtB,0EAA0E;AAC1E,oEAAoE;AACpE,yBAAyB;AACzB,6EAA6E;AAC7E,4EAA4E;AAC5E,uEAAuE;AACvE,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,EACrC,UAAU,EAAE,OAAO,GAClB,IAAI,CAwDN;AA2BD,iBAAe,GAAG,CAChB,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAClC,UAAU,EAAE,UAAU,EACtB,EAAE,UAAU,EAAE,EAAE,iBAAiB,GAChC,OAAO,CAAC,IAAI,CAAC,CA4Lf"}
@@ -19,9 +19,11 @@ export type ExtractBazelOptions = {
19
19
  out: string;
20
20
  // Use the auto-manifest sibling directory instead of writing directly to `out`.
21
21
  outLayout?: 'flat';
22
- // Per-repo cquery timeout in milliseconds. Auto-manifest default is 60s
23
- // (the orchestrator's job is to not stall the wider scan); explicit
24
- // invocations may bump it.
22
+ // Per-repo cquery timeout in milliseconds. When the caller leaves this
23
+ // unset the orchestrator falls back to DEFAULT_PER_REPO_TIMEOUT_MS (the
24
+ // auto-manifest default, kept short so the wider scan is not stalled). The
25
+ // explicit `socket manifest bazel` command wires this to a CLI flag with a
26
+ // longer default.
25
27
  perRepoTimeoutMs?: number | undefined;
26
28
  verbose: boolean;
27
29
  };
@@ -39,10 +41,48 @@ export type ExtractBazelOptions = {
39
41
  // (discovery threw, or every discovered hub failed).
40
42
  // Always an error for every caller.
41
43
  export type ExtractBazelStatus = 'complete' | 'hardFailure' | 'noEcosystem' | 'partial';
44
+ // Per-hub extraction state inside one workspace. Recorded so the CLI can emit
45
+ // a machine-readable completeness signal instead of presenting a partial
46
+ // extraction as complete.
47
+ // - `populated` — the hub yielded >=1 artifact and a manifest was written.
48
+ // - `empty` — the hub is defined but has no Maven targets.
49
+ // - `not-defined` — the probed conventional name does not exist here.
50
+ // - `skipped-lockfile` — a committed maven_install.json already covers this
51
+ // hub, so the CLI deliberately did not re-emit it.
52
+ // - `failed` — the hub's cquery errored, timed out, or its graph was
53
+ // known-incomplete (dropped/pruned edges, --keep_going).
54
+ // - `indeterminate` — discovery could not classify the hub (probe threw or
55
+ // returned an unrecognized error); NOT evidence of absence.
56
+ export type HubState = 'populated' | 'empty' | 'not-defined' | 'skipped-lockfile' | 'failed' | 'indeterminate';
57
+ export type HubOutcome = {
58
+ hub: string;
59
+ state: HubState;
60
+ // Short, machine-stable reason when the hub is `failed`/`indeterminate`.
61
+ reason?: string | undefined;
62
+ };
63
+ // Per-workspace outcome. `load` distinguishes a workspace we could not even
64
+ // read (`failed` — e.g. an unbound-var MODULE.bazel fragment) from one we
65
+ // analyzed (`loaded`). A workspace that failed to load contributes to a
66
+ // hard failure when nothing else was analyzable, and to a partial otherwise.
67
+ export type WorkspaceOutcome = {
68
+ relPath: string;
69
+ load: 'loaded' | 'failed';
70
+ hubs: HubOutcome[];
71
+ // Set when the workspace itself could not be analyzed.
72
+ reason?: string | undefined;
73
+ };
42
74
  export type ExtractBazelResult = {
43
75
  artifactCount: number;
44
76
  manifestPaths: string[];
45
77
  status: ExtractBazelStatus;
78
+ // True only when `status === 'complete'`. Surfaced so downstream consumers
79
+ // (and the CLI's emitted summary) get a single machine-readable
80
+ // completeness flag without re-deriving it from `status`.
81
+ complete: boolean;
82
+ // Per-workspace / per-hub analyzability breakdown backing the completeness
83
+ // signal. Empty for `noEcosystem` and early `hardFailure` (toolchain setup
84
+ // failed before any workspace was inspected).
85
+ workspaceOutcomes: WorkspaceOutcome[];
46
86
  };
47
87
  // Default directory-prune policy for the Bazel workspace walk. The
48
88
  // orchestrator applies this unconditionally so neither caller (the explicit
@@ -1 +1 @@
1
- {"version":3,"file":"extract_bazel_to_maven.d.mts","sourceRoot":"","sources":["../../../../../src/commands/manifest/bazel/extract_bazel_to_maven.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract_bazel_to_maven.d.mts","sourceRoot":"","sources":["../../../../../src/commands/manifest/bazel/extract_bazel_to_maven.mts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate_auto_manifest.d.mts","sourceRoot":"","sources":["../../../../src/commands/manifest/generate_auto_manifest.mts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,MAAM,MAAM,0BAA0B,GAAG;IACvC,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,CAAA;AAED,wBAAsB,oBAAoB,CAAC,EACzC,GAAG,EACH,QAAQ,EACR,UAAU,EACV,OAAO,EACR,EAAE;IACD,QAAQ,EAAE,oBAAoB,CAAA;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;CACjB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAwItC"}
1
+ {"version":3,"file":"generate_auto_manifest.d.mts","sourceRoot":"","sources":["../../../../src/commands/manifest/generate_auto_manifest.mts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,MAAM,MAAM,0BAA0B,GAAG;IACvC,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,CAAA;AAED,wBAAsB,oBAAoB,CAAC,EACzC,GAAG,EACH,QAAQ,EACR,UAAU,EACV,OAAO,EACR,EAAE;IACD,QAAQ,EAAE,oBAAoB,CAAA;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;CACjB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAwJtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cmd-scan-create.d.mts","sourceRoot":"","sources":["../../../../src/commands/scan/cmd-scan-create.mts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,uCAAuC,CAAA;AAE9C,eAAO,MAAM,QAAQ,WAAW,CAAA;AAmHhC,eAAO,MAAM,aAAa;;;;CAIzB,CAAA;AAED,iBAAe,GAAG,CAChB,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAClC,UAAU,EAAE,UAAU,EACtB,EAAE,UAAU,EAAE,EAAE,iBAAiB,GAChC,OAAO,CAAC,IAAI,CAAC,CAqef"}
1
+ {"version":3,"file":"cmd-scan-create.d.mts","sourceRoot":"","sources":["../../../../src/commands/scan/cmd-scan-create.mts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,uCAAuC,CAAA;AAE9C,eAAO,MAAM,QAAQ,WAAW,CAAA;AAmHhC,eAAO,MAAM,aAAa;;;;CAIzB,CAAA;AAED,iBAAe,GAAG,CAChB,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAClC,UAAU,EAAE,UAAU,EACtB,EAAE,UAAU,EAAE,EAAE,iBAAiB,GAChC,OAAO,CAAC,IAAI,CAAC,CA8ef"}
@@ -1,7 +1,9 @@
1
1
  import type { CResult } from '../../types.mts';
2
+ import type { AutoManifestConfig } from '../../utils/auto-manifest-config.mts';
2
3
  import type { PURL_Type } from '../../utils/ecosystem.mts';
3
4
  import type { Spinner } from '@socketsecurity/registry/lib/spinner';
4
5
  export type ReachabilityOptions = {
6
+ autoManifestConfig?: AutoManifestConfig | undefined;
5
7
  excludePaths: string[];
6
8
  reachAnalysisMemoryLimit: number;
7
9
  reachAnalysisTimeout: number;
@@ -1 +1 @@
1
- {"version":3,"file":"perform-reachability-analysis.d.mts","sourceRoot":"","sources":["../../../../src/commands/scan/perform-reachability-analysis.mts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AAEnE,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,wBAAwB,EAAE,MAAM,CAAA;IAChC,oBAAoB,EAAE,MAAM,CAAA;IAC5B,gBAAgB,EAAE,MAAM,CAAA;IACxB,6BAA6B,EAAE,OAAO,CAAA;IACtC,4BAA4B,EAAE,OAAO,CAAA;IACrC,+BAA+B,EAAE,OAAO,CAAA;IACxC,4BAA4B,EAAE,OAAO,CAAA;IACrC,UAAU,EAAE,OAAO,CAAA;IACnB,4BAA4B,EAAE,OAAO,CAAA;IACrC,8BAA8B,EAAE,OAAO,CAAA;IACvC,qBAAqB,EAAE,OAAO,CAAA;IAC9B,eAAe,EAAE,SAAS,EAAE,CAAA;IAC5B,4BAA4B,EAAE,OAAO,CAAA;IACrC,iBAAiB,EAAE,MAAM,EAAE,CAAA;IAC3B,aAAa,EAAE,OAAO,CAAA;IACtB,cAAc,EAAE,OAAO,CAAA;IACvB,6BAA6B,EAAE,OAAO,CAAA;IACtC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IACnC,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5C,CAAA;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,CAAC,EAAE,2BAA2B,GAAG,SAAS,GAChD,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAoO9C"}
1
+ {"version":3,"file":"perform-reachability-analysis.d.mts","sourceRoot":"","sources":["../../../../src/commands/scan/perform-reachability-analysis.mts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AAEnE,MAAM,MAAM,mBAAmB,GAAG;IAChC,kBAAkB,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAA;IACnD,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,wBAAwB,EAAE,MAAM,CAAA;IAChC,oBAAoB,EAAE,MAAM,CAAA;IAC5B,gBAAgB,EAAE,MAAM,CAAA;IACxB,6BAA6B,EAAE,OAAO,CAAA;IACtC,4BAA4B,EAAE,OAAO,CAAA;IACrC,+BAA+B,EAAE,OAAO,CAAA;IACxC,4BAA4B,EAAE,OAAO,CAAA;IACrC,UAAU,EAAE,OAAO,CAAA;IACnB,4BAA4B,EAAE,OAAO,CAAA;IACrC,8BAA8B,EAAE,OAAO,CAAA;IACvC,qBAAqB,EAAE,OAAO,CAAA;IAC9B,eAAe,EAAE,SAAS,EAAE,CAAA;IAC5B,4BAA4B,EAAE,OAAO,CAAA;IACrC,iBAAiB,EAAE,MAAM,EAAE,CAAA;IAC3B,aAAa,EAAE,OAAO,CAAA;IACtB,cAAc,EAAE,OAAO,CAAA;IACvB,6BAA6B,EAAE,OAAO,CAAA;IACtC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IACnC,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5C,CAAA;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,CAAC,EAAE,2BAA2B,GAAG,SAAS,GAChD,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAsQ9C"}
@@ -0,0 +1,55 @@
1
+ import type { SocketJson } from './socket-json.mts';
2
+ // Per-ecosystem build-tool options handed off to the Coana CLI — used both when
3
+ // generating manifests (`coana manifest <ecosystem>`) and, in socket mode, for
4
+ // reach-time dependency resolution (`coana run`). This mirrors the Coana-side
5
+ // `--auto-manifest-config` shape: socket-cli owns mapping `socket.json` onto it,
6
+ // so Coana stays uncoupled from `socket.json`'s schema. Keeping the
7
+ // per-ecosystem options namespaced (rather than as flat CLI flags) avoids the
8
+ // ambiguity of a bare `--bin`/`--include-configs` when a repo has more than one
9
+ // build tool.
10
+ export type BuildToolOptions = {
11
+ // Build-tool executable override (e.g. `./gradlew`, `atlas-mvn`).
12
+ bin?: string | undefined;
13
+ // Comma-separated config-name globs to skip.
14
+ excludeConfigs?: string | undefined;
15
+ // `socket.json`'s per-ecosystem `ignoreUnresolved` (warn vs fail on unresolved
16
+ // dependencies), forwarded verbatim. NOTE: this is NOT the reach-time
17
+ // fail-closed switch — that's the run-wide `failOnBuildToolError` below.
18
+ ignoreUnresolved?: boolean | undefined;
19
+ // Comma-separated config-name globs to resolve.
20
+ includeConfigs?: string | undefined;
21
+ // Extra build-tool options, pre-split into argv. Coana maps these straight to
22
+ // the tool's opts (no splitting on its side). Mapped from `socket.json`'s
23
+ // `gradleOpts`/`sbtOpts` string.
24
+ opts?: string[] | undefined;
25
+ };
26
+ // The Coana hand-off config. `failOnBuildToolError` is run-wide (top level)
27
+ // because `--auto-manifest` is a single CLI mode, not a per-package-manager
28
+ // setting. The per-ecosystem entries are present only for ecosystems configured
29
+ // (and not disabled) in `socket.json`; absent ecosystems fall to Coana's own
30
+ // defaults.
31
+ export type AutoManifestConfig = {
32
+ // Run-wide fail-closed switch. When true, Coana treats a build-tool step
33
+ // failure as fatal rather than tolerating it. socket-cli sets it true under
34
+ // `--auto-manifest`; left unset on plain `--reach` (permissive — Coana's
35
+ // default best-effort behaviour).
36
+ failOnBuildToolError?: boolean | undefined;
37
+ gradle?: BuildToolOptions | undefined;
38
+ sbt?: BuildToolOptions | undefined;
39
+ };
40
+ // Maps `socket.json`'s `defaults.manifest.<ecosystem>` build-tool options onto
41
+ // the Coana hand-off config.
42
+ //
43
+ // `autoManifest` reflects whether the run is `--auto-manifest` (fail-closed:
44
+ // `failOnBuildToolError=true`) vs plain `--reach` (permissive:
45
+ // `failOnBuildToolError` left unset so Coana's default applies). Per-ecosystem
46
+ // options are forwarded verbatim from `socket.json`; disabled ecosystems are
47
+ // omitted so they fall back to Coana's defaults.
48
+ export declare function buildAutoManifestConfig(sockJson: SocketJson, { autoManifest }: {
49
+ autoManifest: boolean;
50
+ }): AutoManifestConfig;
51
+ // True when there's nothing to hand to Coana: no per-ecosystem options and the
52
+ // run mode is left at Coana's permissive default. When true, the
53
+ // `--auto-manifest-config` option should be omitted entirely.
54
+ export declare function isAutoManifestConfigEmpty(config: AutoManifestConfig): boolean;
55
+ //# sourceMappingURL=auto-manifest-config.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-manifest-config.d.mts","sourceRoot":"","sources":["../../../src/utils/auto-manifest-config.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,kFAAgF;AAChF,+EAA+E;AAC/E,8EAA8E;AAC9E,iFAAiF;AACjF,oEAAoE;AACpE,8EAA8E;AAC9E,gFAAgF;AAChF,cAAc;AACd,MAAM,MAAM,gBAAgB,GAAG;IAC7B,kEAAkE;IAClE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,+EAA+E;IAC/E,sEAAsE;IACtE,2EAAyE;IACzE,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACtC,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,8EAA8E;IAC9E,0EAA0E;IAC1E,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;CAC5B,CAAA;AAED,4EAA4E;AAC5E,4EAA4E;AAC5E,gFAAgF;AAChF,6EAA6E;AAC7E,YAAY;AACZ,MAAM,MAAM,kBAAkB,GAAG;IAC/B,yEAAyE;IACzE,4EAA4E;IAC5E,2EAAyE;IACzE,kCAAkC;IAClC,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC1C,MAAM,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;IACrC,GAAG,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;CACnC,CAAA;AAgBD,+EAA+E;AAC/E,6BAA6B;AAC7B,EAAE;AACF,6EAA6E;AAC7E,+DAA+D;AAC/D,+EAA+E;AAC/E,6EAA6E;AAC7E,iDAAiD;AACjD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,UAAU,EACpB,EAAE,YAAY,EAAE,EAAE;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,GAC1C,kBAAkB,CAiCpB;AAED,+EAA+E;AAC/E,iEAAiE;AACjE,8DAA8D;AAC9D,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAI7E"}
@@ -29,9 +29,10 @@ export type CoanaDlxOptions = DlxOptions & {
29
29
  *
30
30
  * If the dlx path fails (e.g. broken `npx` on the host), falls back to
31
31
  * `npm install`-ing @coana-tech/cli into a temp directory and invoking it
32
- * directly via `node`. The fallback can be disabled with
33
- * SOCKET_CLI_COANA_DISABLE_NPM_FALLBACK or forced as the primary path with
34
- * SOCKET_CLI_COANA_FORCE_NPM_INSTALL.
32
+ * directly via `node`. The launcher strategy can be overridden with
33
+ * SOCKET_CLI_COANA_LAUNCHER: 'auto' (the default) tries dlx with the
34
+ * npm-install fallback, 'npm-install' skips dlx entirely, and 'npx' never
35
+ * falls back.
35
36
  */
36
37
  export declare function spawnCoanaDlx(args: string[] | readonly string[], orgSlug?: string, options?: CoanaDlxOptions | undefined, spawnExtra?: SpawnExtra | undefined): Promise<CResult<string>>;
37
38
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"dlx.d.mts","sourceRoot":"","sources":["../../../src/utils/dlx.mts"],"names":[],"mappings":"AA0CA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAMpE,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG;IAC1C,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IAC3C,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAQD;;;;GAIG;AACH,wBAAsB,QAAQ,CAC5B,WAAW,EAAE,cAAc,EAC3B,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAClC,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,EAChC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,GAClC,OAAO,CAAC,eAAe,CAAC,CAwG1B;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG;IACzC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAClC,CAAA;AAuKD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAClC,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,eAAe,GAAG,SAAS,EACrC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,GAClC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAyJ1B;AAsHD;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAClC,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,EAChC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,GAClC,OAAO,CAAC,eAAe,CAAC,CAU1B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAClC,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,EAChC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,GAClC,OAAO,CAAC,eAAe,CAAC,CAU1B"}
1
+ {"version":3,"file":"dlx.d.mts","sourceRoot":"","sources":["../../../src/utils/dlx.mts"],"names":[],"mappings":"AA0CA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EACV,UAAU,EAEX,MAAM,oCAAoC,CAAA;AAM3C,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG;IAC1C,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IAC3C,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAQD;;;;GAIG;AACH,wBAAsB,QAAQ,CAC5B,WAAW,EAAE,cAAc,EAC3B,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAClC,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,EAChC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,GAClC,OAAO,CAAC,eAAe,CAAC,CAwG1B;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG;IACzC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAClC,CAAA;AAkND;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAClC,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,eAAe,GAAG,SAAS,EACrC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,GAClC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CA2J1B;AAsHD;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAClC,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,EAChC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,GAClC,OAAO,CAAC,eAAe,CAAC,CAU1B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAClC,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,EAChC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,GAClC,OAAO,CAAC,eAAe,CAAC,CAU1B"}
@@ -15,6 +15,7 @@ export interface SocketJson {
15
15
  bin?: string | undefined;
16
16
  disabled?: boolean | undefined;
17
17
  out?: string | undefined;
18
+ perRepoTimeout?: number | undefined;
18
19
  verbose?: boolean | undefined;
19
20
  };
20
21
  conda?: {
@@ -1 +1 @@
1
- {"version":3,"file":"socket-json.d.mts","sourceRoot":"","sources":["../../../src/utils/socket-json.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socket-json.d.mts","sourceRoot":"","sources":["../../../src/utils/socket-json.mts"],"names":[],"mappings":"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"}
package/dist/utils.js CHANGED
@@ -4771,6 +4771,81 @@ function* walkNestedMap(map, keys = []) {
4771
4771
  }
4772
4772
  }
4773
4773
 
4774
+ // Per-ecosystem build-tool options handed off to the Coana CLI — used both when
4775
+ // generating manifests (`coana manifest <ecosystem>`) and, in socket mode, for
4776
+ // reach-time dependency resolution (`coana run`). This mirrors the Coana-side
4777
+ // `--auto-manifest-config` shape: socket-cli owns mapping `socket.json` onto it,
4778
+ // so Coana stays uncoupled from `socket.json`'s schema. Keeping the
4779
+ // per-ecosystem options namespaced (rather than as flat CLI flags) avoids the
4780
+ // ambiguity of a bare `--bin`/`--include-configs` when a repo has more than one
4781
+ // build tool.
4782
+
4783
+ // The Coana hand-off config. `failOnBuildToolError` is run-wide (top level)
4784
+ // because `--auto-manifest` is a single CLI mode, not a per-package-manager
4785
+ // setting. The per-ecosystem entries are present only for ecosystems configured
4786
+ // (and not disabled) in `socket.json`; absent ecosystems fall to Coana's own
4787
+ // defaults.
4788
+
4789
+ // Splits a `socket.json` opts string (`gradleOpts`/`sbtOpts`) into argv, matching
4790
+ // how the standalone `socket manifest` path splits it. Returns undefined when
4791
+ // there's nothing to pass so the field is omitted from the config.
4792
+ function parseOpts(value) {
4793
+ if (!value) {
4794
+ return undefined;
4795
+ }
4796
+ const parts = value.split(' ').map(s => s.trim()).filter(Boolean);
4797
+ return parts.length ? parts : undefined;
4798
+ }
4799
+
4800
+ // Maps `socket.json`'s `defaults.manifest.<ecosystem>` build-tool options onto
4801
+ // the Coana hand-off config.
4802
+ //
4803
+ // `autoManifest` reflects whether the run is `--auto-manifest` (fail-closed:
4804
+ // `failOnBuildToolError=true`) vs plain `--reach` (permissive:
4805
+ // `failOnBuildToolError` left unset so Coana's default applies). Per-ecosystem
4806
+ // options are forwarded verbatim from `socket.json`; disabled ecosystems are
4807
+ // omitted so they fall back to Coana's defaults.
4808
+ function buildAutoManifestConfig(sockJson, {
4809
+ autoManifest
4810
+ }) {
4811
+ const manifest = sockJson.defaults?.manifest;
4812
+ const config = {};
4813
+
4814
+ // `--auto-manifest` expects every build-tool command to succeed, so a
4815
+ // build-tool step failure should be fatal rather than tolerated.
4816
+ if (autoManifest) {
4817
+ config.failOnBuildToolError = true;
4818
+ }
4819
+ const gradle = manifest?.gradle;
4820
+ if (gradle && !gradle.disabled) {
4821
+ config.gradle = {
4822
+ bin: gradle.bin,
4823
+ excludeConfigs: gradle.excludeConfigs,
4824
+ ignoreUnresolved: gradle.ignoreUnresolved,
4825
+ includeConfigs: gradle.includeConfigs,
4826
+ opts: parseOpts(gradle.gradleOpts)
4827
+ };
4828
+ }
4829
+ const sbt = manifest?.sbt;
4830
+ if (sbt && !sbt.disabled) {
4831
+ config.sbt = {
4832
+ bin: sbt.bin,
4833
+ excludeConfigs: sbt.excludeConfigs,
4834
+ ignoreUnresolved: sbt.ignoreUnresolved,
4835
+ includeConfigs: sbt.includeConfigs,
4836
+ opts: parseOpts(sbt.sbtOpts)
4837
+ };
4838
+ }
4839
+ return config;
4840
+ }
4841
+
4842
+ // True when there's nothing to hand to Coana: no per-ecosystem options and the
4843
+ // run mode is left at Coana's permissive default. When true, the
4844
+ // `--auto-manifest-config` option should be omitted entirely.
4845
+ function isAutoManifestConfigEmpty(config) {
4846
+ return !config.gradle && !config.sbt && config.failOnBuildToolError === undefined;
4847
+ }
4848
+
4774
4849
  /**
4775
4850
  * Coana integration utilities for Socket CLI.
4776
4851
  * Manages reachability analysis via Coana tech CLI.
@@ -5324,7 +5399,7 @@ async function spawnCoanaScriptViaNode(scriptPath, args, finalEnv, options, spaw
5324
5399
  const spawnResult = await spawn.spawn(isBinary ? scriptPath : 'node', spawnArgs, {
5325
5400
  cwd: options.cwd,
5326
5401
  env: sanitizeEnvForCoanaSubprocess(finalEnv),
5327
- stdio: spawnExtra?.['stdio'] || 'inherit'
5402
+ stdio: options.stdio ?? spawnExtra?.['stdio'] ?? 'inherit'
5328
5403
  });
5329
5404
  return {
5330
5405
  ok: true,
@@ -5400,6 +5475,38 @@ async function spawnCoanaViaNpmInstall(args, version, finalEnv, options, spawnEx
5400
5475
  return buildDlxErrorResult(e);
5401
5476
  }
5402
5477
  }
5478
+ /**
5479
+ * Resolve how the Coana engine should be launched.
5480
+ *
5481
+ * SOCKET_CLI_COANA_LAUNCHER wins when set:
5482
+ * - 'auto' (default): try dlx first, fall back to `npm install` + `node` on
5483
+ * launcher-level failures.
5484
+ * - 'npm-install': skip dlx entirely; always `npm install` + `node`.
5485
+ * - 'npx': dlx only; never fall back.
5486
+ * Unrecognized values warn and behave as 'auto'.
5487
+ *
5488
+ * The legacy boolean variables SOCKET_CLI_COANA_FORCE_NPM_INSTALL
5489
+ * ('npm-install') and SOCKET_CLI_COANA_DISABLE_NPM_FALLBACK ('npx') are still
5490
+ * honored when the new variable is unset, but are intentionally undocumented.
5491
+ */
5492
+ function getCoanaLauncherMode() {
5493
+ const rawMode = process.env['SOCKET_CLI_COANA_LAUNCHER'];
5494
+ const mode = rawMode?.trim().toLowerCase();
5495
+ if (mode) {
5496
+ if (mode === 'auto' || mode === 'npm-install' || mode === 'npx') {
5497
+ return mode;
5498
+ }
5499
+ logger.logger.warn(`Ignoring unrecognized SOCKET_CLI_COANA_LAUNCHER value "${rawMode}"; expected "auto", "npm-install", or "npx".`);
5500
+ return 'auto';
5501
+ }
5502
+ if (process.env['SOCKET_CLI_COANA_FORCE_NPM_INSTALL']) {
5503
+ return 'npm-install';
5504
+ }
5505
+ if (process.env['SOCKET_CLI_COANA_DISABLE_NPM_FALLBACK']) {
5506
+ return 'npx';
5507
+ }
5508
+ return 'auto';
5509
+ }
5403
5510
 
5404
5511
  /**
5405
5512
  * Helper to spawn coana with dlx.
@@ -5411,9 +5518,10 @@ async function spawnCoanaViaNpmInstall(args, version, finalEnv, options, spawnEx
5411
5518
  *
5412
5519
  * If the dlx path fails (e.g. broken `npx` on the host), falls back to
5413
5520
  * `npm install`-ing @coana-tech/cli into a temp directory and invoking it
5414
- * directly via `node`. The fallback can be disabled with
5415
- * SOCKET_CLI_COANA_DISABLE_NPM_FALLBACK or forced as the primary path with
5416
- * SOCKET_CLI_COANA_FORCE_NPM_INSTALL.
5521
+ * directly via `node`. The launcher strategy can be overridden with
5522
+ * SOCKET_CLI_COANA_LAUNCHER: 'auto' (the default) tries dlx with the
5523
+ * npm-install fallback, 'npm-install' skips dlx entirely, and 'npx' never
5524
+ * falls back.
5417
5525
  */
5418
5526
  async function spawnCoanaDlx(args, orgSlug, options, spawnExtra) {
5419
5527
  const {
@@ -5455,37 +5563,40 @@ async function spawnCoanaDlx(args, orgSlug, options, spawnExtra) {
5455
5563
  ...spawnEnv
5456
5564
  };
5457
5565
  const resolvedVersion = coanaVersion || constants.default.ENV.INLINED_SOCKET_CLI_COANA_TECH_CLI_VERSION;
5566
+
5567
+ // `shadowNpmBase` (the dlx launcher) configures the child's stdio from its
5568
+ // `options` arg, NOT from the registry-spawn `extra` arg — the latter only
5569
+ // attaches metadata to the result. Callers that requested streaming via
5570
+ // `spawnExtra` (the 4th arg), e.g. `{ stdio: 'inherit' }` from
5571
+ // `socket manifest gradle`, were therefore silently ignored on this path:
5572
+ // Coana ran piped and its output — including the real failure reason — never
5573
+ // reached the user, leaving only an unhelpful "command failed". Resolve the
5574
+ // requested stdio from either argument and honor it on every launch path:
5575
+ // dlx, local-path, and npm-install (e.g. `socket fix --silence` requests
5576
+ // `stdio: 'pipe'` via options).
5577
+ const requestedStdio = spawnExtra?.['stdio'] ?? require$$11.getOwn(dlxOptions, 'stdio');
5458
5578
  const localCoanaPath = process.env['SOCKET_CLI_COANA_LOCAL_PATH'];
5459
5579
  // Use local Coana CLI if path is provided.
5460
5580
  if (localCoanaPath) {
5461
5581
  try {
5462
5582
  return await spawnCoanaScriptViaNode(localCoanaPath, args, finalEnv, {
5463
- cwd: dlxOptions.cwd
5583
+ cwd: dlxOptions.cwd,
5584
+ stdio: requestedStdio
5464
5585
  }, spawnExtra);
5465
5586
  } catch (e) {
5466
5587
  return buildDlxErrorResult(e);
5467
5588
  }
5468
5589
  }
5590
+ const launcherMode = getCoanaLauncherMode();
5469
5591
 
5470
5592
  // Allow forcing the npm-install path for debugging or for environments
5471
5593
  // where dlx is known-broken.
5472
- if (process.env['SOCKET_CLI_COANA_FORCE_NPM_INSTALL']) {
5594
+ if (launcherMode === 'npm-install') {
5473
5595
  return await spawnCoanaViaNpmInstall(args, resolvedVersion, finalEnv, {
5474
- cwd: dlxOptions.cwd
5596
+ cwd: dlxOptions.cwd,
5597
+ stdio: requestedStdio
5475
5598
  }, spawnExtra);
5476
5599
  }
5477
-
5478
- // `shadowNpmBase` (the dlx launcher) configures the child's stdio from its
5479
- // `options` arg, NOT from the registry-spawn `extra` arg — the latter only
5480
- // attaches metadata to the result. Callers that requested streaming via
5481
- // `spawnExtra` (the 4th arg), e.g. `{ stdio: 'inherit' }` from
5482
- // `socket manifest gradle`, were therefore silently ignored on this path:
5483
- // Coana ran piped and its output — including the real failure reason — never
5484
- // reached the user, leaving only an unhelpful "command failed". Promote the
5485
- // requested stdio into the dlx options so it is honored here too.
5486
- // `spawnCoanaScriptViaNode` already reads `spawnExtra.stdio` for the
5487
- // local-path and npm-install branches, so this aligns all three paths.
5488
- const requestedStdio = spawnExtra?.['stdio'] ?? require$$11.getOwn(dlxOptions, 'stdio');
5489
5600
  try {
5490
5601
  // Use npm/dlx version.
5491
5602
  const result = await spawnDlx({
@@ -5518,7 +5629,7 @@ async function spawnCoanaDlx(args, orgSlug, options, spawnExtra) {
5518
5629
  };
5519
5630
  } catch (e) {
5520
5631
  const dlxError = buildDlxErrorResult(e);
5521
- if (process.env['SOCKET_CLI_COANA_DISABLE_NPM_FALLBACK']) {
5632
+ if (launcherMode === 'npx') {
5522
5633
  return dlxError;
5523
5634
  }
5524
5635
 
@@ -5530,7 +5641,8 @@ async function spawnCoanaDlx(args, orgSlug, options, spawnExtra) {
5530
5641
  }
5531
5642
  logger.logger.warn('Coana dlx invocation failed; retrying via `npm install` + `node`.');
5532
5643
  const fallbackResult = await spawnCoanaViaNpmInstall(args, resolvedVersion, finalEnv, {
5533
- cwd: dlxOptions.cwd
5644
+ cwd: dlxOptions.cwd,
5645
+ stdio: requestedStdio
5534
5646
  }, spawnExtra);
5535
5647
  if (fallbackResult.ok) {
5536
5648
  return fallbackResult;
@@ -8224,6 +8336,7 @@ exports.IGNORED_DIRS = IGNORED_DIRS;
8224
8336
  exports.InputError = InputError;
8225
8337
  exports.RangeStyles = RangeStyles;
8226
8338
  exports.apiFetch = apiFetch;
8339
+ exports.buildAutoManifestConfig = buildAutoManifestConfig;
8227
8340
  exports.cacheFetch = cacheFetch;
8228
8341
  exports.captureException = captureException;
8229
8342
  exports.checkCommandInput = checkCommandInput;
@@ -8303,6 +8416,7 @@ exports.installNpxLinks = installNpxLinks;
8303
8416
  exports.installPnpmLinks = installPnpmLinks;
8304
8417
  exports.installYarnLinks = installYarnLinks;
8305
8418
  exports.isAddCommand = isAddCommand;
8419
+ exports.isAutoManifestConfigEmpty = isAutoManifestConfigEmpty;
8306
8420
  exports.isConfigFromFlag = isConfigFromFlag;
8307
8421
  exports.isHelpFlag = isHelpFlag;
8308
8422
  exports.isPnpmLockfileScanCommand = isPnpmLockfileScanCommand;
@@ -8355,5 +8469,5 @@ exports.updateConfigValue = updateConfigValue;
8355
8469
  exports.walkNestedMap = walkNestedMap;
8356
8470
  exports.webLink = webLink;
8357
8471
  exports.writeSocketJson = writeSocketJson;
8358
- //# debugId=94ef2183-dca4-487d-a212-97d72c67367e
8472
+ //# debugId=5462673f-121b-4108-83b8-d1cdf9afc7e
8359
8473
  //# sourceMappingURL=utils.js.map