@prover-coder-ai/docker-git 1.0.15 → 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.
- package/.package.json.release.bak +1 -1
- package/CHANGELOG.md +12 -0
- package/README.md +5 -6
- package/dist/main.js +24 -7
- package/dist/main.js.map +1 -1
- package/dist/src/docker-git/cli/parser-auth.js +32 -12
- package/dist/src/docker-git/cli/parser.js +1 -1
- package/dist/src/docker-git/cli/usage.js +4 -3
- package/dist/src/docker-git/menu-actions.js +24 -8
- package/dist/src/docker-git/menu-auth-data.js +90 -0
- package/dist/src/docker-git/menu-auth-helpers.js +20 -0
- package/dist/src/docker-git/menu-auth.js +159 -0
- package/dist/src/docker-git/menu-buffer-input.js +9 -0
- package/dist/src/docker-git/menu-create.js +5 -9
- package/dist/src/docker-git/menu-input-handler.js +70 -28
- package/dist/src/docker-git/menu-input-utils.js +47 -0
- package/dist/src/docker-git/menu-labeled-env.js +33 -0
- package/dist/src/docker-git/menu-project-auth-claude.js +43 -0
- package/dist/src/docker-git/menu-project-auth-data.js +165 -0
- package/dist/src/docker-git/menu-project-auth.js +124 -0
- package/dist/src/docker-git/menu-render-auth.js +45 -0
- package/dist/src/docker-git/menu-render-common.js +26 -0
- package/dist/src/docker-git/menu-render-layout.js +14 -0
- package/dist/src/docker-git/menu-render-project-auth.js +37 -0
- package/dist/src/docker-git/menu-render-select.js +29 -7
- package/dist/src/docker-git/menu-render.js +4 -13
- package/dist/src/docker-git/menu-select-actions.js +66 -0
- package/dist/src/docker-git/menu-select-load.js +12 -0
- package/dist/src/docker-git/menu-select-order.js +21 -0
- package/dist/src/docker-git/menu-select-runtime.js +41 -9
- package/dist/src/docker-git/menu-select-view.js +15 -0
- package/dist/src/docker-git/menu-select.js +11 -82
- package/dist/src/docker-git/menu-shared.js +86 -17
- package/dist/src/docker-git/menu-types.js +2 -0
- package/dist/src/docker-git/menu.js +13 -1
- package/dist/src/docker-git/program.js +3 -3
- package/package.json +1 -1
- package/src/docker-git/cli/parser-auth.ts +46 -16
- package/src/docker-git/cli/parser-mcp-playwright.ts +0 -1
- package/src/docker-git/cli/parser.ts +1 -1
- package/src/docker-git/cli/usage.ts +4 -3
- package/src/docker-git/menu-actions.ts +32 -13
- package/src/docker-git/menu-auth-data.ts +184 -0
- package/src/docker-git/menu-auth-helpers.ts +30 -0
- package/src/docker-git/menu-auth.ts +311 -0
- package/src/docker-git/menu-buffer-input.ts +18 -0
- package/src/docker-git/menu-create.ts +5 -11
- package/src/docker-git/menu-input-handler.ts +104 -28
- package/src/docker-git/menu-input-utils.ts +85 -0
- package/src/docker-git/menu-labeled-env.ts +37 -0
- package/src/docker-git/menu-project-auth-claude.ts +70 -0
- package/src/docker-git/menu-project-auth-data.ts +292 -0
- package/src/docker-git/menu-project-auth.ts +271 -0
- package/src/docker-git/menu-render-auth.ts +65 -0
- package/src/docker-git/menu-render-common.ts +67 -0
- package/src/docker-git/menu-render-layout.ts +30 -0
- package/src/docker-git/menu-render-project-auth.ts +70 -0
- package/src/docker-git/menu-render-select.ts +44 -5
- package/src/docker-git/menu-render.ts +5 -29
- package/src/docker-git/menu-select-actions.ts +150 -0
- package/src/docker-git/menu-select-load.ts +33 -0
- package/src/docker-git/menu-select-order.ts +37 -0
- package/src/docker-git/menu-select-runtime.ts +59 -10
- package/src/docker-git/menu-select-view.ts +25 -0
- package/src/docker-git/menu-select.ts +22 -195
- package/src/docker-git/menu-shared.ts +135 -20
- package/src/docker-git/menu-types.ts +71 -2
- package/src/docker-git/menu.ts +26 -1
- package/src/docker-git/program.ts +10 -4
- package/tests/docker-git/entrypoint-auth.test.ts +1 -1
- package/tests/docker-git/menu-select-order.test.ts +73 -0
package/CHANGELOG.md
CHANGED
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
|
|
65
|
-
gh/ #
|
|
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
|
|
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 --
|
|
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
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
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
|
-
|
|
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) =>
|
|
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,
|