@a5c-ai/git-a5c 1.0.12 → 1.1.0
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/dist/args.d.ts +20 -0
- package/dist/args.d.ts.map +1 -1
- package/dist/args.js +47 -0
- package/dist/args.js.map +1 -1
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +19 -0
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/agentGenerateContext.d.ts +16 -0
- package/dist/commands/agentGenerateContext.d.ts.map +1 -0
- package/dist/commands/agentGenerateContext.js +965 -0
- package/dist/commands/agentGenerateContext.js.map +1 -0
- package/dist/commands/agentRun.d.ts +3 -0
- package/dist/commands/agentRun.d.ts.map +1 -0
- package/dist/commands/agentRun.js +210 -0
- package/dist/commands/agentRun.js.map +1 -0
- package/dist/commands/block.d.ts.map +1 -1
- package/dist/commands/block.js +6 -0
- package/dist/commands/block.js.map +1 -1
- package/dist/commands/gate.d.ts.map +1 -1
- package/dist/commands/gate.js +6 -0
- package/dist/commands/gate.js.map +1 -1
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +13 -0
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/hookExec.d.ts +3 -0
- package/dist/commands/hookExec.d.ts.map +1 -0
- package/dist/commands/hookExec.js +56 -0
- package/dist/commands/hookExec.js.map +1 -0
- package/dist/commands/hooks.d.ts.map +1 -1
- package/dist/commands/hooks.js +3 -1
- package/dist/commands/hooks.js.map +1 -1
- package/dist/commands/issue.d.ts.map +1 -1
- package/dist/commands/issue.js +21 -0
- package/dist/commands/issue.js.map +1 -1
- package/dist/commands/ops.d.ts.map +1 -1
- package/dist/commands/ops.js +6 -0
- package/dist/commands/ops.js.map +1 -1
- package/dist/commands/parse.d.ts +31 -0
- package/dist/commands/parse.d.ts.map +1 -0
- package/dist/commands/parse.js +286 -0
- package/dist/commands/parse.js.map +1 -0
- package/dist/commands/pr.d.ts.map +1 -1
- package/dist/commands/pr.js +21 -0
- package/dist/commands/pr.js.map +1 -1
- package/dist/commands/runOrchestration.d.ts +3 -0
- package/dist/commands/runOrchestration.d.ts.map +1 -0
- package/dist/commands/runOrchestration.js +281 -0
- package/dist/commands/runOrchestration.js.map +1 -0
- package/dist/git.d.ts +7 -0
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +46 -0
- package/dist/git.js.map +1 -1
- package/dist/orchestration/hookExecCore.d.ts +22 -0
- package/dist/orchestration/hookExecCore.d.ts.map +1 -0
- package/dist/orchestration/hookExecCore.js +380 -0
- package/dist/orchestration/hookExecCore.js.map +1 -0
- package/dist/orchestration/reconcileCore.d.ts +27 -0
- package/dist/orchestration/reconcileCore.d.ts.map +1 -0
- package/dist/orchestration/reconcileCore.js +183 -0
- package/dist/orchestration/reconcileCore.js.map +1 -0
- package/dist/orchestration/runEventWriter.d.ts +11 -0
- package/dist/orchestration/runEventWriter.d.ts.map +1 -0
- package/dist/orchestration/runEventWriter.js +44 -0
- package/dist/orchestration/runEventWriter.js.map +1 -0
- package/dist/orchestration/sweepCore.d.ts +11 -0
- package/dist/orchestration/sweepCore.d.ts.map +1 -0
- package/dist/orchestration/sweepCore.js +96 -0
- package/dist/orchestration/sweepCore.js.map +1 -0
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +23 -0
- package/dist/run.js.map +1 -1
- package/dist/sync.d.ts +13 -0
- package/dist/sync.d.ts.map +1 -0
- package/dist/sync.js +58 -0
- package/dist/sync.js.map +1 -0
- package/dist/util/githubContents.d.ts +15 -0
- package/dist/util/githubContents.d.ts.map +1 -0
- package/dist/util/githubContents.js +77 -0
- package/dist/util/githubContents.js.map +1 -0
- package/dist/util/redact.d.ts +24 -0
- package/dist/util/redact.d.ts.map +1 -0
- package/dist/util/redact.js +109 -0
- package/dist/util/redact.js.map +1 -0
- package/dist/util/uri.d.ts +12 -0
- package/dist/util/uri.d.ts.map +1 -0
- package/dist/util/uri.js +61 -0
- package/dist/util/uri.js.map +1 -0
- package/package.json +10 -5
package/dist/commands/issue.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { git, gitConfigGet } from "../git.js";
|
|
2
|
+
import { syncAfterWrite, syncBeforeWrite } from "../sync.js";
|
|
2
3
|
import { HlcClock, UlidGenerator, loadHlcState, saveHlcState, stageFiles, listIssues, renderIssue, writeIssueCreated, writeCommentCreated, writeCommentEdited, writeCommentRedacted } from "@a5c-ai/sdk";
|
|
3
4
|
export async function handleIssue(args) {
|
|
4
5
|
if (args.positionals[0] !== "issue")
|
|
@@ -37,6 +38,9 @@ export async function handleIssue(args) {
|
|
|
37
38
|
args.io.writeLine(args.io.err, "missing --title");
|
|
38
39
|
return 2;
|
|
39
40
|
}
|
|
41
|
+
if (args.flags.sync && args.flags.commit) {
|
|
42
|
+
await syncBeforeWrite({ repoRoot: args.repoRoot, inboxRefs: args.flags.inboxRefs });
|
|
43
|
+
}
|
|
40
44
|
const actor = process.env.A5C_ACTOR ?? (await gitConfigGet(args.repoRoot, "user.name")) ?? "unknown";
|
|
41
45
|
const issueId = args.flags.id ?? `issue-${new UlidGenerator().generate()}`;
|
|
42
46
|
const time = new Date(args.nowMs()).toISOString();
|
|
@@ -51,6 +55,8 @@ export async function handleIssue(args) {
|
|
|
51
55
|
if (args.flags.commit) {
|
|
52
56
|
const msg = args.flags.message ?? `a5c: issue new ${issueId}`;
|
|
53
57
|
await git(["-c", "user.name=a5c", "-c", "user.email=a5c@example.invalid", "commit", "-m", msg], args.repoRoot);
|
|
58
|
+
if (args.flags.sync)
|
|
59
|
+
await syncAfterWrite({ repoRoot: args.repoRoot });
|
|
54
60
|
}
|
|
55
61
|
args.io.writeLine(args.io.out, issueId);
|
|
56
62
|
return 0;
|
|
@@ -62,6 +68,9 @@ export async function handleIssue(args) {
|
|
|
62
68
|
args.io.writeLine(args.io.err, "usage: git a5c issue comment <id> -m <text>");
|
|
63
69
|
return 2;
|
|
64
70
|
}
|
|
71
|
+
if (args.flags.sync && args.flags.commit) {
|
|
72
|
+
await syncBeforeWrite({ repoRoot: args.repoRoot, inboxRefs: args.flags.inboxRefs });
|
|
73
|
+
}
|
|
65
74
|
const actor = process.env.A5C_ACTOR ?? (await gitConfigGet(args.repoRoot, "user.name")) ?? "unknown";
|
|
66
75
|
const commentId = args.flags.commentId ?? `c-${new UlidGenerator().generate()}`;
|
|
67
76
|
const time = new Date(args.nowMs()).toISOString();
|
|
@@ -76,6 +85,8 @@ export async function handleIssue(args) {
|
|
|
76
85
|
if (args.flags.commit) {
|
|
77
86
|
const msg = args.flags.message ?? `a5c: issue comment ${id}`;
|
|
78
87
|
await git(["-c", "user.name=a5c", "-c", "user.email=a5c@example.invalid", "commit", "-m", msg], args.repoRoot);
|
|
88
|
+
if (args.flags.sync)
|
|
89
|
+
await syncAfterWrite({ repoRoot: args.repoRoot });
|
|
79
90
|
}
|
|
80
91
|
args.io.writeLine(args.io.out, commentId);
|
|
81
92
|
return 0;
|
|
@@ -88,6 +99,9 @@ export async function handleIssue(args) {
|
|
|
88
99
|
args.io.writeLine(args.io.err, "usage: git a5c issue edit-comment <commentId> --id <issueId> -m <text>");
|
|
89
100
|
return 2;
|
|
90
101
|
}
|
|
102
|
+
if (args.flags.sync && args.flags.commit) {
|
|
103
|
+
await syncBeforeWrite({ repoRoot: args.repoRoot, inboxRefs: args.flags.inboxRefs });
|
|
104
|
+
}
|
|
91
105
|
const actor = process.env.A5C_ACTOR ?? (await gitConfigGet(args.repoRoot, "user.name")) ?? "unknown";
|
|
92
106
|
const time = new Date(args.nowMs()).toISOString();
|
|
93
107
|
const persisted = (await loadHlcState(actor)) ?? { wallMs: 0, counter: 0 };
|
|
@@ -101,6 +115,8 @@ export async function handleIssue(args) {
|
|
|
101
115
|
if (args.flags.commit) {
|
|
102
116
|
const msg = args.flags.message ?? `a5c: issue edit-comment ${id} ${commentId}`;
|
|
103
117
|
await git(["-c", "user.name=a5c", "-c", "user.email=a5c@example.invalid", "commit", "-m", msg], args.repoRoot);
|
|
118
|
+
if (args.flags.sync)
|
|
119
|
+
await syncAfterWrite({ repoRoot: args.repoRoot });
|
|
104
120
|
}
|
|
105
121
|
args.io.writeLine(args.io.out, res.path);
|
|
106
122
|
return 0;
|
|
@@ -112,6 +128,9 @@ export async function handleIssue(args) {
|
|
|
112
128
|
args.io.writeLine(args.io.err, "usage: git a5c issue redact-comment <commentId> --id <issueId> [--reason ...]");
|
|
113
129
|
return 2;
|
|
114
130
|
}
|
|
131
|
+
if (args.flags.sync && args.flags.commit) {
|
|
132
|
+
await syncBeforeWrite({ repoRoot: args.repoRoot, inboxRefs: args.flags.inboxRefs });
|
|
133
|
+
}
|
|
115
134
|
const actor = process.env.A5C_ACTOR ?? (await gitConfigGet(args.repoRoot, "user.name")) ?? "unknown";
|
|
116
135
|
const time = new Date(args.nowMs()).toISOString();
|
|
117
136
|
const persisted = (await loadHlcState(actor)) ?? { wallMs: 0, counter: 0 };
|
|
@@ -125,6 +144,8 @@ export async function handleIssue(args) {
|
|
|
125
144
|
if (args.flags.commit) {
|
|
126
145
|
const msg = args.flags.message ?? `a5c: issue redact-comment ${id} ${commentId}`;
|
|
127
146
|
await git(["-c", "user.name=a5c", "-c", "user.email=a5c@example.invalid", "commit", "-m", msg], args.repoRoot);
|
|
147
|
+
if (args.flags.sync)
|
|
148
|
+
await syncAfterWrite({ repoRoot: args.repoRoot });
|
|
128
149
|
}
|
|
129
150
|
args.io.writeLine(args.io.out, res.path);
|
|
130
151
|
return 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../src/commands/issue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EACL,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAErB,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAiB;IACjD,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO;QAAE,OAAO;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAEhC,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;;YAC7E,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;aAC/E,CAAC;YACJ,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACnE,IAAI,KAAK,CAAC,IAAI;gBAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;YAClD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,IAAI,SAAS,CAAC;QACrG,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,SAAS,IAAI,aAAa,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC3E,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAC3E,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACzG,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,MAAM,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3F,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,kBAAkB,OAAO,EAAE,CAAC;YAC9D,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,gCAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../src/commands/issue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../../src/commands/ops.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../../src/commands/ops.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAK9C,wBAAsB,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAsC9E"}
|
package/dist/commands/ops.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { git, gitConfigGet } from "../git.js";
|
|
2
|
+
import { syncAfterWrite, syncBeforeWrite } from "../sync.js";
|
|
2
3
|
import { HlcClock, loadHlcState, saveHlcState, stageFiles, writeOpsBuild, writeOpsDeploy, writeOpsTest } from "@a5c-ai/sdk";
|
|
3
4
|
export async function handleOps(args) {
|
|
4
5
|
if (args.positionals[0] !== "ops")
|
|
@@ -14,6 +15,9 @@ export async function handleOps(args) {
|
|
|
14
15
|
return 2;
|
|
15
16
|
}
|
|
16
17
|
const actor = process.env.A5C_ACTOR ?? (await gitConfigGet(args.repoRoot, "user.name")) ?? "unknown";
|
|
18
|
+
if (args.flags.sync && args.flags.commit) {
|
|
19
|
+
await syncBeforeWrite({ repoRoot: args.repoRoot, inboxRefs: args.flags.inboxRefs });
|
|
20
|
+
}
|
|
17
21
|
const persisted = (await loadHlcState(actor)) ?? { wallMs: 0, counter: 0 };
|
|
18
22
|
const clock = new HlcClock(persisted);
|
|
19
23
|
let nonce = 0;
|
|
@@ -32,6 +36,8 @@ export async function handleOps(args) {
|
|
|
32
36
|
if (args.flags.commit) {
|
|
33
37
|
const msg = args.flags.message ?? `a5c: ops ${sub} ${entityId}`;
|
|
34
38
|
await git(["-c", "user.name=a5c", "-c", "user.email=a5c@example.invalid", "commit", "-m", msg], args.repoRoot);
|
|
39
|
+
if (args.flags.sync)
|
|
40
|
+
await syncAfterWrite({ repoRoot: args.repoRoot });
|
|
35
41
|
}
|
|
36
42
|
args.io.writeLine(args.io.out, res.path);
|
|
37
43
|
return 0;
|
package/dist/commands/ops.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ops.js","sourceRoot":"","sources":["../../src/commands/ops.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ops.js","sourceRoot":"","sources":["../../src/commands/ops.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { CommandArgs } from "./types.js";
|
|
2
|
+
export type CodexEvent = {
|
|
3
|
+
type: "user_instructions_event" | "tokens_used" | "thinking" | "turn_diff" | "codex" | "exec" | "exec_result" | "banner";
|
|
4
|
+
timestamp: string;
|
|
5
|
+
raw: string;
|
|
6
|
+
fields?: Record<string, unknown>;
|
|
7
|
+
};
|
|
8
|
+
export declare class CodexStdoutParser {
|
|
9
|
+
private currentTimestamp;
|
|
10
|
+
private currentType;
|
|
11
|
+
private bufferLines;
|
|
12
|
+
private currentExecMeta;
|
|
13
|
+
private readonly tsRe;
|
|
14
|
+
private readonly headerUserInstructions;
|
|
15
|
+
private readonly headerThinking;
|
|
16
|
+
private readonly headerTurnDiff;
|
|
17
|
+
private readonly headerCodex;
|
|
18
|
+
private readonly headerExec;
|
|
19
|
+
private readonly headerTokensUsed;
|
|
20
|
+
private readonly bannerFirst;
|
|
21
|
+
private readonly bannerRule;
|
|
22
|
+
private readonly kvLine;
|
|
23
|
+
private readonly successLine;
|
|
24
|
+
private readonly exitLine;
|
|
25
|
+
parseLine(line: string): CodexEvent[];
|
|
26
|
+
private processWithinTimestamp;
|
|
27
|
+
flushIfAny(out: CodexEvent[]): void;
|
|
28
|
+
private stripHeaderAndTrim;
|
|
29
|
+
}
|
|
30
|
+
export declare function handleParse(args: CommandArgs): Promise<number | undefined>;
|
|
31
|
+
//# sourceMappingURL=parse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/commands/parse.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EACA,yBAAyB,GACzB,aAAa,GACb,UAAU,GACV,WAAW,GACX,OAAO,GACP,MAAM,GACN,aAAa,GACb,QAAQ,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAGF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,WAAW,CAQH;IAChB,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,eAAe,CAMP;IAEhB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgD;IACrE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IACpE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmB;IAClD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAC9D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgC;IACjE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IACzD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyC;IACrE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiD;IAE1E,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE;IA0BrC,OAAO,CAAC,sBAAsB;IAyJ9B,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI;IAiCnC,OAAO,CAAC,kBAAkB;CAQ3B;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA0ChF"}
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
import readline from "node:readline";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
// Streaming, line-by-line parser for Codex stdout format.
|
|
5
|
+
export class CodexStdoutParser {
|
|
6
|
+
currentTimestamp = null;
|
|
7
|
+
currentType = null;
|
|
8
|
+
bufferLines = [];
|
|
9
|
+
currentExecMeta = null;
|
|
10
|
+
tsRe = /^\[(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2})\]/;
|
|
11
|
+
headerUserInstructions = /^User instructions:\s*$/;
|
|
12
|
+
headerThinking = /^thinking\s*$/;
|
|
13
|
+
headerTurnDiff = /^turn diff:\s*$/i;
|
|
14
|
+
headerCodex = /^codex\s*$/;
|
|
15
|
+
headerExec = /^exec\s+(.+?)\s+in\s+(.+)\s*$/;
|
|
16
|
+
headerTokensUsed = /^tokens used:\s*(\d+)\s*$/i;
|
|
17
|
+
bannerFirst = /^OpenAI Codex\s+(v?.+)$/;
|
|
18
|
+
bannerRule = /^-+$/;
|
|
19
|
+
kvLine = /^([^:]+):\s*(.*)$/;
|
|
20
|
+
successLine = /^(.+?)\s+succeeded\s+in\s+(\d+)ms:$/;
|
|
21
|
+
exitLine = /^(.+?)\s+exited\s+(\d+)\s+in\s+([0-9.]+)s:$/;
|
|
22
|
+
parseLine(line) {
|
|
23
|
+
const events = [];
|
|
24
|
+
let currentLine = line;
|
|
25
|
+
const tsMatch = this.tsRe.exec(line);
|
|
26
|
+
if (tsMatch) {
|
|
27
|
+
const rest = line.slice(tsMatch[0].length).trimStart();
|
|
28
|
+
if (this.currentType === "exec") {
|
|
29
|
+
this.currentTimestamp = tsMatch[1];
|
|
30
|
+
if (rest.length === 0)
|
|
31
|
+
return events;
|
|
32
|
+
currentLine = rest;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
this.flushIfAny(events);
|
|
36
|
+
this.currentTimestamp = tsMatch[1];
|
|
37
|
+
this.currentType = null;
|
|
38
|
+
this.bufferLines = [];
|
|
39
|
+
if (rest.length === 0)
|
|
40
|
+
return events;
|
|
41
|
+
currentLine = rest;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (!this.currentTimestamp)
|
|
45
|
+
return events;
|
|
46
|
+
this.processWithinTimestamp(currentLine, events);
|
|
47
|
+
return events;
|
|
48
|
+
}
|
|
49
|
+
processWithinTimestamp(currentLine, events) {
|
|
50
|
+
if (!this.currentType) {
|
|
51
|
+
const succ = this.successLine.exec(currentLine);
|
|
52
|
+
if (succ) {
|
|
53
|
+
this.currentType = "exec_result";
|
|
54
|
+
this.bufferLines = [currentLine];
|
|
55
|
+
this.currentExecMeta = {
|
|
56
|
+
...(this.currentExecMeta || {}),
|
|
57
|
+
command: succ[1],
|
|
58
|
+
status: "succeeded",
|
|
59
|
+
durationMs: Number(succ[2])
|
|
60
|
+
};
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
const ex = this.exitLine.exec(currentLine);
|
|
64
|
+
if (ex) {
|
|
65
|
+
this.currentType = "exec_result";
|
|
66
|
+
this.bufferLines = [currentLine];
|
|
67
|
+
const seconds = Number(ex[3]);
|
|
68
|
+
const durationMs = Number.isFinite(seconds) ? Math.round(seconds * 1000) : undefined;
|
|
69
|
+
this.currentExecMeta = {
|
|
70
|
+
...(this.currentExecMeta || {}),
|
|
71
|
+
command: ex[1],
|
|
72
|
+
status: "exited",
|
|
73
|
+
exitCode: Number(ex[2]),
|
|
74
|
+
durationMs
|
|
75
|
+
};
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const tokenM = this.headerTokensUsed.exec(currentLine);
|
|
79
|
+
if (tokenM) {
|
|
80
|
+
events.push({
|
|
81
|
+
type: "tokens_used",
|
|
82
|
+
timestamp: this.currentTimestamp || "",
|
|
83
|
+
raw: currentLine,
|
|
84
|
+
fields: { tokens: Number(tokenM[1]) }
|
|
85
|
+
});
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
if (this.headerUserInstructions.test(currentLine)) {
|
|
89
|
+
this.currentType = "user_instructions_event";
|
|
90
|
+
this.bufferLines = [currentLine];
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
if (this.headerThinking.test(currentLine)) {
|
|
94
|
+
this.currentType = "thinking";
|
|
95
|
+
this.bufferLines = [currentLine];
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
if (this.headerTurnDiff.test(currentLine)) {
|
|
99
|
+
this.currentType = "turn_diff";
|
|
100
|
+
this.bufferLines = [currentLine];
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
if (this.headerCodex.test(currentLine)) {
|
|
104
|
+
this.currentType = "codex";
|
|
105
|
+
this.bufferLines = [currentLine];
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
const execM = this.headerExec.exec(currentLine);
|
|
109
|
+
if (execM) {
|
|
110
|
+
this.currentType = "exec";
|
|
111
|
+
this.bufferLines = [currentLine];
|
|
112
|
+
this.currentExecMeta = { command: execM[1], cwd: execM[2] };
|
|
113
|
+
events.push({
|
|
114
|
+
type: "exec",
|
|
115
|
+
timestamp: this.currentTimestamp || "",
|
|
116
|
+
raw: currentLine,
|
|
117
|
+
fields: { command: execM[1], cwd: execM[2] }
|
|
118
|
+
});
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
const bannerM = this.bannerFirst.exec(currentLine);
|
|
122
|
+
if (bannerM) {
|
|
123
|
+
this.currentType = "banner";
|
|
124
|
+
this.bufferLines = [currentLine];
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
this.bufferLines.push(currentLine);
|
|
130
|
+
if (this.currentType === "exec_result")
|
|
131
|
+
return;
|
|
132
|
+
if (this.currentType === "exec") {
|
|
133
|
+
const m = this.successLine.exec(currentLine);
|
|
134
|
+
if (m) {
|
|
135
|
+
this.currentType = "exec_result";
|
|
136
|
+
this.bufferLines = [currentLine];
|
|
137
|
+
this.currentExecMeta = {
|
|
138
|
+
...(this.currentExecMeta || {}),
|
|
139
|
+
command: this.currentExecMeta?.command || m[1],
|
|
140
|
+
status: "succeeded",
|
|
141
|
+
durationMs: Number(m[2])
|
|
142
|
+
};
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
const e = this.exitLine.exec(currentLine);
|
|
146
|
+
if (e) {
|
|
147
|
+
this.currentType = "exec_result";
|
|
148
|
+
this.bufferLines = [currentLine];
|
|
149
|
+
const seconds = Number(e[3]);
|
|
150
|
+
const durationMs = Number.isFinite(seconds) ? Math.round(seconds * 1000) : undefined;
|
|
151
|
+
this.currentExecMeta = {
|
|
152
|
+
...(this.currentExecMeta || {}),
|
|
153
|
+
command: this.currentExecMeta?.command || e[1],
|
|
154
|
+
status: "exited",
|
|
155
|
+
exitCode: Number(e[2]),
|
|
156
|
+
durationMs
|
|
157
|
+
};
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
if (this.currentType === "banner") {
|
|
163
|
+
if (this.bannerRule.test(currentLine)) {
|
|
164
|
+
const dashedIdxs = this.bufferLines
|
|
165
|
+
.map((l, i) => (this.bannerRule.test(l) ? i : -1))
|
|
166
|
+
.filter((i) => i >= 0);
|
|
167
|
+
if (dashedIdxs.length >= 2) {
|
|
168
|
+
const fields = {};
|
|
169
|
+
const start = dashedIdxs[0] + 1;
|
|
170
|
+
const end = dashedIdxs[1];
|
|
171
|
+
for (let i = start; i < end; i++) {
|
|
172
|
+
const kv = this.kvLine.exec(this.bufferLines[i]);
|
|
173
|
+
if (kv)
|
|
174
|
+
fields[kv[1].trim()] = kv[2].trim();
|
|
175
|
+
}
|
|
176
|
+
const versionMatch = this.bannerFirst.exec(this.bufferLines[0]);
|
|
177
|
+
if (versionMatch) {
|
|
178
|
+
fields.version = this.bufferLines[0].replace(/^OpenAI Codex\s+/, "").trim();
|
|
179
|
+
}
|
|
180
|
+
const raw = this.bufferLines.join("\n");
|
|
181
|
+
events.push({
|
|
182
|
+
type: "banner",
|
|
183
|
+
timestamp: this.currentTimestamp || "",
|
|
184
|
+
raw,
|
|
185
|
+
fields
|
|
186
|
+
});
|
|
187
|
+
this.currentType = null;
|
|
188
|
+
this.bufferLines = [];
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
flushIfAny(out) {
|
|
195
|
+
if (!this.currentTimestamp || !this.currentType) {
|
|
196
|
+
this.currentTimestamp = null;
|
|
197
|
+
this.currentType = null;
|
|
198
|
+
this.bufferLines = [];
|
|
199
|
+
this.currentExecMeta = null;
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
if (this.currentType !== "exec") {
|
|
203
|
+
const raw = this.bufferLines.join("\n");
|
|
204
|
+
let fields = undefined;
|
|
205
|
+
if (this.currentType === "exec_result") {
|
|
206
|
+
const lines = raw.split(/\r?\n/);
|
|
207
|
+
const result = lines.length > 1 ? lines.slice(1).join("\n") : "";
|
|
208
|
+
fields = { ...(this.currentExecMeta || {}), result };
|
|
209
|
+
}
|
|
210
|
+
else if (this.currentType === "thinking") {
|
|
211
|
+
const thought = this.stripHeaderAndTrim(raw, "thinking");
|
|
212
|
+
fields = { thought };
|
|
213
|
+
}
|
|
214
|
+
else if (this.currentType === "turn_diff") {
|
|
215
|
+
const diff = this.stripHeaderAndTrim(raw, "turn diff:");
|
|
216
|
+
fields = { diff };
|
|
217
|
+
}
|
|
218
|
+
else if (this.currentType === "codex") {
|
|
219
|
+
const explanation = this.stripHeaderAndTrim(raw, "codex");
|
|
220
|
+
fields = { explanation };
|
|
221
|
+
}
|
|
222
|
+
out.push({ type: this.currentType, timestamp: this.currentTimestamp, raw, fields });
|
|
223
|
+
}
|
|
224
|
+
this.currentTimestamp = null;
|
|
225
|
+
this.currentType = null;
|
|
226
|
+
this.bufferLines = [];
|
|
227
|
+
this.currentExecMeta = null;
|
|
228
|
+
}
|
|
229
|
+
stripHeaderAndTrim(raw, header) {
|
|
230
|
+
const lines = raw.split(/\r?\n/);
|
|
231
|
+
if (lines.length === 0)
|
|
232
|
+
return "";
|
|
233
|
+
const first = lines[0];
|
|
234
|
+
const headerRe = new RegExp(`^${header.replace(/[.*+?^${}()|[\\]\\]/g, "\\$&")}\\s*$`, "i");
|
|
235
|
+
const rest = headerRe.test(first) ? lines.slice(1) : lines;
|
|
236
|
+
return rest.join("\n").trim();
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
export async function handleParse(args) {
|
|
240
|
+
const cmd = args.positionals[0];
|
|
241
|
+
if (cmd !== "parse")
|
|
242
|
+
return;
|
|
243
|
+
if ((args.flags.type || "").toLowerCase() !== "codex") {
|
|
244
|
+
args.io.writeLine(args.io.err, "parse: unsupported --type (expected 'codex')");
|
|
245
|
+
return 2;
|
|
246
|
+
}
|
|
247
|
+
const parser = new CodexStdoutParser();
|
|
248
|
+
let fileStream = null;
|
|
249
|
+
if (args.flags.out) {
|
|
250
|
+
const outPath = path.isAbsolute(args.flags.out) ? args.flags.out : path.resolve(args.repoRoot, args.flags.out);
|
|
251
|
+
fs.mkdirSync(path.dirname(outPath), { recursive: true });
|
|
252
|
+
fileStream = fs.createWriteStream(outPath, { flags: "w", encoding: "utf8" });
|
|
253
|
+
}
|
|
254
|
+
const rl = readline.createInterface({ input: process.stdin, crlfDelay: Infinity });
|
|
255
|
+
rl.on("line", (line) => {
|
|
256
|
+
const events = parser.parseLine(line);
|
|
257
|
+
for (const evt of events) {
|
|
258
|
+
const rawLine = JSON.stringify(evt);
|
|
259
|
+
if (fileStream)
|
|
260
|
+
fileStream.write(rawLine + "\n");
|
|
261
|
+
if (args.flags.pretty)
|
|
262
|
+
args.io.writeLine(args.io.out, JSON.stringify(evt, null, 2));
|
|
263
|
+
else
|
|
264
|
+
args.io.writeLine(args.io.out, rawLine);
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
return await new Promise((resolve) => {
|
|
268
|
+
rl.on("close", () => {
|
|
269
|
+
const tail = [];
|
|
270
|
+
parser.flushIfAny(tail);
|
|
271
|
+
for (const evt of tail) {
|
|
272
|
+
const rawLine = JSON.stringify(evt);
|
|
273
|
+
if (fileStream)
|
|
274
|
+
fileStream.write(rawLine + "\n");
|
|
275
|
+
if (args.flags.pretty)
|
|
276
|
+
args.io.writeLine(args.io.out, JSON.stringify(evt, null, 2));
|
|
277
|
+
else
|
|
278
|
+
args.io.writeLine(args.io.out, rawLine);
|
|
279
|
+
}
|
|
280
|
+
if (fileStream)
|
|
281
|
+
fileStream.end();
|
|
282
|
+
resolve(0);
|
|
283
|
+
});
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
//# sourceMappingURL=parse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/commands/parse.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr.d.ts","sourceRoot":"","sources":["../../src/commands/pr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"pr.d.ts","sourceRoot":"","sources":["../../src/commands/pr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAgB9C,wBAAsB,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiJ7E"}
|
package/dist/commands/pr.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { git, gitConfigGet } from "../git.js";
|
|
2
|
+
import { syncAfterWrite, syncBeforeWrite } from "../sync.js";
|
|
2
3
|
import { HlcClock, UlidGenerator, loadHlcState, saveHlcState, stageFiles, listPRs, renderPR, writePrProposal, writePrRequest, writePrEvent } from "@a5c-ai/sdk";
|
|
3
4
|
export async function handlePr(args) {
|
|
4
5
|
if (args.positionals[0] !== "pr")
|
|
@@ -40,6 +41,9 @@ export async function handlePr(args) {
|
|
|
40
41
|
args.io.writeLine(args.io.err, "missing --base, --head, or --title");
|
|
41
42
|
return 2;
|
|
42
43
|
}
|
|
44
|
+
if (args.flags.sync && args.flags.commit) {
|
|
45
|
+
await syncBeforeWrite({ repoRoot: args.repoRoot, inboxRefs: args.flags.inboxRefs });
|
|
46
|
+
}
|
|
43
47
|
const actor = process.env.A5C_ACTOR ?? (await gitConfigGet(args.repoRoot, "user.name")) ?? "unknown";
|
|
44
48
|
const prKey = args.flags.id ?? `pr-${new UlidGenerator().generate()}`;
|
|
45
49
|
const time = new Date(args.nowMs()).toISOString();
|
|
@@ -54,6 +58,8 @@ export async function handlePr(args) {
|
|
|
54
58
|
if (args.flags.commit) {
|
|
55
59
|
const msg = args.flags.message ?? `a5c: pr propose ${prKey}`;
|
|
56
60
|
await git(["-c", "user.name=a5c", "-c", "user.email=a5c@example.invalid", "commit", "-m", msg], args.repoRoot);
|
|
61
|
+
if (args.flags.sync)
|
|
62
|
+
await syncAfterWrite({ repoRoot: args.repoRoot });
|
|
57
63
|
}
|
|
58
64
|
args.io.writeLine(args.io.out, prKey);
|
|
59
65
|
return 0;
|
|
@@ -65,6 +71,9 @@ export async function handlePr(args) {
|
|
|
65
71
|
args.io.writeLine(args.io.err, "missing --base or --title");
|
|
66
72
|
return 2;
|
|
67
73
|
}
|
|
74
|
+
if (args.flags.sync && args.flags.commit) {
|
|
75
|
+
await syncBeforeWrite({ repoRoot: args.repoRoot, inboxRefs: args.flags.inboxRefs });
|
|
76
|
+
}
|
|
68
77
|
const actor = process.env.A5C_ACTOR ?? (await gitConfigGet(args.repoRoot, "user.name")) ?? "unknown";
|
|
69
78
|
const prKey = args.flags.id ?? `pr-${new UlidGenerator().generate()}`;
|
|
70
79
|
const time = new Date(args.nowMs()).toISOString();
|
|
@@ -79,6 +88,8 @@ export async function handlePr(args) {
|
|
|
79
88
|
if (args.flags.commit) {
|
|
80
89
|
const msg = args.flags.message ?? `a5c: pr request ${prKey}`;
|
|
81
90
|
await git(["-c", "user.name=a5c", "-c", "user.email=a5c@example.invalid", "commit", "-m", msg], args.repoRoot);
|
|
91
|
+
if (args.flags.sync)
|
|
92
|
+
await syncAfterWrite({ repoRoot: args.repoRoot });
|
|
82
93
|
}
|
|
83
94
|
args.io.writeLine(args.io.out, prKey);
|
|
84
95
|
return 0;
|
|
@@ -90,6 +101,9 @@ export async function handlePr(args) {
|
|
|
90
101
|
args.io.writeLine(args.io.err, "missing prKey or --head-ref");
|
|
91
102
|
return 2;
|
|
92
103
|
}
|
|
104
|
+
if (args.flags.sync && args.flags.commit) {
|
|
105
|
+
await syncBeforeWrite({ repoRoot: args.repoRoot, inboxRefs: args.flags.inboxRefs });
|
|
106
|
+
}
|
|
93
107
|
const actor = process.env.A5C_ACTOR ?? (await gitConfigGet(args.repoRoot, "user.name")) ?? "unknown";
|
|
94
108
|
const time = new Date(args.nowMs()).toISOString();
|
|
95
109
|
const persisted = (await loadHlcState(actor)) ?? { wallMs: 0, counter: 0 };
|
|
@@ -103,6 +117,8 @@ export async function handlePr(args) {
|
|
|
103
117
|
if (args.flags.commit) {
|
|
104
118
|
const msg = args.flags.message ?? `a5c: pr claim ${prKey}`;
|
|
105
119
|
await git(["-c", "user.name=a5c", "-c", "user.email=a5c@example.invalid", "commit", "-m", msg], args.repoRoot);
|
|
120
|
+
if (args.flags.sync)
|
|
121
|
+
await syncAfterWrite({ repoRoot: args.repoRoot });
|
|
106
122
|
}
|
|
107
123
|
args.io.writeLine(args.io.out, res.path);
|
|
108
124
|
return 0;
|
|
@@ -114,6 +130,9 @@ export async function handlePr(args) {
|
|
|
114
130
|
args.io.writeLine(args.io.err, "missing prKey or --head-ref");
|
|
115
131
|
return 2;
|
|
116
132
|
}
|
|
133
|
+
if (args.flags.sync && args.flags.commit) {
|
|
134
|
+
await syncBeforeWrite({ repoRoot: args.repoRoot, inboxRefs: args.flags.inboxRefs });
|
|
135
|
+
}
|
|
117
136
|
const actor = process.env.A5C_ACTOR ?? (await gitConfigGet(args.repoRoot, "user.name")) ?? "unknown";
|
|
118
137
|
const time = new Date(args.nowMs()).toISOString();
|
|
119
138
|
const persisted = (await loadHlcState(actor)) ?? { wallMs: 0, counter: 0 };
|
|
@@ -127,6 +146,8 @@ export async function handlePr(args) {
|
|
|
127
146
|
if (args.flags.commit) {
|
|
128
147
|
const msg = args.flags.message ?? `a5c: pr bind-head ${prKey}`;
|
|
129
148
|
await git(["-c", "user.name=a5c", "-c", "user.email=a5c@example.invalid", "commit", "-m", msg], args.repoRoot);
|
|
149
|
+
if (args.flags.sync)
|
|
150
|
+
await syncAfterWrite({ repoRoot: args.repoRoot });
|
|
130
151
|
}
|
|
131
152
|
args.io.writeLine(args.io.out, res.path);
|
|
132
153
|
return 0;
|