@prover-coder-ai/docker-git 1.0.16 → 1.0.17

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 (65) hide show
  1. package/.package.json.release.bak +1 -1
  2. package/CHANGELOG.md +6 -0
  3. package/README.md +5 -6
  4. package/dist/main.js +24 -7
  5. package/dist/main.js.map +1 -1
  6. package/dist/src/docker-git/cli/parser-auth.js +32 -12
  7. package/dist/src/docker-git/cli/parser.js +1 -1
  8. package/dist/src/docker-git/cli/usage.js +4 -3
  9. package/dist/src/docker-git/menu-actions.js +23 -7
  10. package/dist/src/docker-git/menu-auth-data.js +90 -0
  11. package/dist/src/docker-git/menu-auth-helpers.js +20 -0
  12. package/dist/src/docker-git/menu-auth.js +159 -0
  13. package/dist/src/docker-git/menu-buffer-input.js +9 -0
  14. package/dist/src/docker-git/menu-create.js +5 -9
  15. package/dist/src/docker-git/menu-input-handler.js +70 -28
  16. package/dist/src/docker-git/menu-input-utils.js +47 -0
  17. package/dist/src/docker-git/menu-labeled-env.js +33 -0
  18. package/dist/src/docker-git/menu-project-auth-claude.js +43 -0
  19. package/dist/src/docker-git/menu-project-auth-data.js +165 -0
  20. package/dist/src/docker-git/menu-project-auth.js +124 -0
  21. package/dist/src/docker-git/menu-render-auth.js +45 -0
  22. package/dist/src/docker-git/menu-render-common.js +26 -0
  23. package/dist/src/docker-git/menu-render-layout.js +14 -0
  24. package/dist/src/docker-git/menu-render-project-auth.js +37 -0
  25. package/dist/src/docker-git/menu-render-select.js +10 -3
  26. package/dist/src/docker-git/menu-render.js +4 -13
  27. package/dist/src/docker-git/menu-select-actions.js +66 -0
  28. package/dist/src/docker-git/menu-select-view.js +15 -0
  29. package/dist/src/docker-git/menu-select.js +11 -75
  30. package/dist/src/docker-git/menu-shared.js +86 -17
  31. package/dist/src/docker-git/menu-types.js +2 -0
  32. package/dist/src/docker-git/menu.js +13 -1
  33. package/dist/src/docker-git/program.js +3 -3
  34. package/package.json +1 -1
  35. package/src/docker-git/cli/parser-auth.ts +46 -16
  36. package/src/docker-git/cli/parser-mcp-playwright.ts +0 -1
  37. package/src/docker-git/cli/parser.ts +1 -1
  38. package/src/docker-git/cli/usage.ts +4 -3
  39. package/src/docker-git/menu-actions.ts +31 -12
  40. package/src/docker-git/menu-auth-data.ts +184 -0
  41. package/src/docker-git/menu-auth-helpers.ts +30 -0
  42. package/src/docker-git/menu-auth.ts +311 -0
  43. package/src/docker-git/menu-buffer-input.ts +18 -0
  44. package/src/docker-git/menu-create.ts +5 -11
  45. package/src/docker-git/menu-input-handler.ts +104 -28
  46. package/src/docker-git/menu-input-utils.ts +85 -0
  47. package/src/docker-git/menu-labeled-env.ts +37 -0
  48. package/src/docker-git/menu-project-auth-claude.ts +70 -0
  49. package/src/docker-git/menu-project-auth-data.ts +292 -0
  50. package/src/docker-git/menu-project-auth.ts +271 -0
  51. package/src/docker-git/menu-render-auth.ts +65 -0
  52. package/src/docker-git/menu-render-common.ts +67 -0
  53. package/src/docker-git/menu-render-layout.ts +30 -0
  54. package/src/docker-git/menu-render-project-auth.ts +70 -0
  55. package/src/docker-git/menu-render-select.ts +11 -1
  56. package/src/docker-git/menu-render.ts +5 -29
  57. package/src/docker-git/menu-select-actions.ts +150 -0
  58. package/src/docker-git/menu-select-load.ts +1 -1
  59. package/src/docker-git/menu-select-view.ts +25 -0
  60. package/src/docker-git/menu-select.ts +21 -167
  61. package/src/docker-git/menu-shared.ts +135 -20
  62. package/src/docker-git/menu-types.ts +69 -2
  63. package/src/docker-git/menu.ts +26 -1
  64. package/src/docker-git/program.ts +10 -4
  65. package/tests/docker-git/entrypoint-auth.test.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prover-coder-ai/docker-git",
3
- "version": "1.0.16",
3
+ "version": "1.0.17",
4
4
  "description": "Minimal Vite-powered TypeScript console starter using Effect",
5
5
  "main": "dist/src/docker-git/main.js",
6
6
  "bin": {
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @prover-coder-ai/docker-git
2
2
 
3
+ ## 1.0.17
4
+
5
+ ### Patch Changes
6
+
7
+ - chore: automated version bump
8
+
3
9
  ## 1.0.16
4
10
 
5
11
  ### Patch Changes
package/README.md CHANGED
@@ -59,10 +59,10 @@ Structure (simplified):
59
59
  authorized_keys
60
60
  .orch/
61
61
  env/
62
- global.env
62
+ global.env # shared tokens/keys (GitHub, Git, Claude) with labels
63
63
  auth/
64
- codex/ # shared Codex auth cache (credentials)
65
- gh/ # shared GitHub auth (optional)
64
+ codex/ # shared Codex auth/config (when CODEX_SHARE_AUTH=1)
65
+ gh/ # GH CLI auth cache for OAuth login container
66
66
  <owner>/<repo>/
67
67
  docker-compose.yml
68
68
  Dockerfile
@@ -70,7 +70,6 @@ Structure (simplified):
70
70
  docker-git.json
71
71
  .orch/
72
72
  env/
73
- global.env # copied/synced from root .orch/env/global.env
74
73
  project.env # per-project env knobs (see below)
75
74
  auth/
76
75
  codex/ # project-local Codex state (sessions/logs/tmp/etc)
@@ -79,7 +78,7 @@ Structure (simplified):
79
78
  ## Codex Auth: Shared Credentials, Per-Project Sessions
80
79
 
81
80
  Default behavior:
82
- - Shared credentials live in `/home/dev/.codex-shared/auth.json` (mounted from projects root).
81
+ - Shared credentials live in `/home/dev/.codex-shared/auth.json` (mounted from `<projectsRoot>/.orch/auth/codex`).
83
82
  - Each project keeps its own Codex state under `/home/dev/.codex/` (mounted from project `.orch/auth/codex`).
84
83
  - The entrypoint links `/home/dev/.codex/auth.json -> /home/dev/.codex-shared/auth.json`.
85
84
 
@@ -160,7 +159,7 @@ Clone auth error (`Invalid username or token`):
160
159
  ```bash
161
160
  pnpm run docker-git auth github status
162
161
  pnpm run docker-git auth github logout
163
- pnpm run docker-git auth github login --token '<GITHUB_TOKEN>'
162
+ pnpm run docker-git auth github login --web
164
163
  pnpm run docker-git auth github status
165
164
  ```
166
165
  - Token requirements:
package/dist/main.js CHANGED
@@ -702,13 +702,24 @@ const resolveGithubToken = (fs, path, root) => Effect.gen(function* (_) {
702
702
  if (fromEnv !== null) {
703
703
  return fromEnv;
704
704
  }
705
- const envPath = path.join(root, ".orch", "env", "global.env");
706
- const exists = yield* _(fs.exists(envPath));
707
- if (!exists) {
708
- return null;
705
+ const candidates = [
706
+ // Canonical layout: ~/.docker-git/.orch/env/global.env
707
+ path.join(root, ".orch", "env", "global.env"),
708
+ // Legacy layout (kept for backward compatibility): ~/.docker-git/secrets/global.env
709
+ path.join(root, "secrets", "global.env")
710
+ ];
711
+ for (const envPath of candidates) {
712
+ const exists = yield* _(fs.exists(envPath));
713
+ if (!exists) {
714
+ continue;
715
+ }
716
+ const text = yield* _(fs.readFileString(envPath));
717
+ const token = findTokenInEnvEntries(parseEnvEntries(text));
718
+ if (token !== null) {
719
+ return token;
720
+ }
709
721
  }
710
- const text = yield* _(fs.readFileString(envPath));
711
- return findTokenInEnvEntries(parseEnvEntries(text));
722
+ return null;
712
723
  });
713
724
  const withGithubAskpassEnv = (token, use) => Effect.scoped(Effect.gen(function* (_) {
714
725
  const fs = yield* _(FileSystem.FileSystem);
@@ -770,7 +781,7 @@ Effect.gen(function* (_) {
770
781
  }
771
782
  const originUrl = yield* _(gitCapture(root, ["remote", "get-url", "origin"], gitBaseEnv).pipe(Effect.map((value) => value.trim())));
772
783
  const token = yield* _(resolveGithubToken(fs, path, root));
773
- const effect = token && token.length > 0 && isGithubHttpsRemote(originUrl) ? withGithubAskpassEnv(token, (env) => git(root, ["push", "-u", "origin", "HEAD"], env)) : git(root, ["push", "-u", "origin", "HEAD"], gitBaseEnv);
784
+ const effect = token && token.length > 0 && isGithubHttpsRemote(originUrl) ? withGithubAskpassEnv(token, (env) => pipe(gitCapture(root, ["rev-parse", "--abbrev-ref", "HEAD"], env), Effect.map((value) => value.trim()), Effect.map((branch) => branch === "HEAD" ? "main" : branch), Effect.flatMap((branch) => git(root, ["push", "--no-verify", originUrl, `HEAD:refs/heads/${branch}`], env)))) : git(root, ["push", "--no-verify", "-u", "origin", "HEAD"], gitBaseEnv);
774
785
  yield* _(effect);
775
786
  }).pipe(Effect.asVoid);
776
787
  pipe(loadProjectIndex(), Effect.flatMap((index) => index === null ? Effect.void : forEachProjectStatus(index.configPaths, (status) => pipe(Effect.log(renderProjectStatusHeader(status)), Effect.zipRight(runDockerComposeDown(status.projectDir).pipe(Effect.catchTag("DockerCommandError", (error) => Effect.logWarning(`docker compose down failed for ${status.projectDir}: ${renderError(error)}`))))))), Effect.asVoid);
@@ -818,6 +829,12 @@ Effect.asVoid(withProjectIndexAndSsh((index, sshKey) => forEachProjectStatus(ind
818
829
  onSuccess: () => Effect.void
819
830
  })))))));
820
831
  Duration.seconds(1);
832
+ const ClaudeAuthStatusSchema = Schema.Struct({
833
+ loggedIn: Schema.Boolean,
834
+ authMethod: Schema.optional(Schema.String),
835
+ apiProvider: Schema.optional(Schema.String)
836
+ });
837
+ Schema.parseJson(ClaudeAuthStatusSchema);
821
838
  const ChunkManifestSchema = Schema.Struct({
822
839
  original: Schema.String,
823
840
  originalSize: Schema.Number,