@procedures/git 0.0.0-stage → 0.2.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.
Files changed (120) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/LICENSE +21 -0
  3. package/README.md +1130 -2
  4. package/dist/.tsbuildinfo +1 -0
  5. package/dist/index.d.ts +20 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +20 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/module.d.ts +22 -0
  10. package/dist/module.d.ts.map +1 -0
  11. package/dist/module.js +514 -0
  12. package/dist/module.js.map +1 -0
  13. package/dist/procedures/git/add.d.ts +12 -0
  14. package/dist/procedures/git/add.d.ts.map +1 -0
  15. package/dist/procedures/git/add.js +26 -0
  16. package/dist/procedures/git/add.js.map +1 -0
  17. package/dist/procedures/git/args.d.ts +15 -0
  18. package/dist/procedures/git/args.d.ts.map +1 -0
  19. package/dist/procedures/git/args.js +20 -0
  20. package/dist/procedures/git/args.js.map +1 -0
  21. package/dist/procedures/git/branch.d.ts +12 -0
  22. package/dist/procedures/git/branch.d.ts.map +1 -0
  23. package/dist/procedures/git/branch.js +54 -0
  24. package/dist/procedures/git/branch.js.map +1 -0
  25. package/dist/procedures/git/checkout.d.ts +12 -0
  26. package/dist/procedures/git/checkout.d.ts.map +1 -0
  27. package/dist/procedures/git/checkout.js +23 -0
  28. package/dist/procedures/git/checkout.js.map +1 -0
  29. package/dist/procedures/git/clone.d.ts +12 -0
  30. package/dist/procedures/git/clone.d.ts.map +1 -0
  31. package/dist/procedures/git/clone.js +28 -0
  32. package/dist/procedures/git/clone.js.map +1 -0
  33. package/dist/procedures/git/commit.d.ts +12 -0
  34. package/dist/procedures/git/commit.d.ts.map +1 -0
  35. package/dist/procedures/git/commit.js +41 -0
  36. package/dist/procedures/git/commit.js.map +1 -0
  37. package/dist/procedures/git/diff.d.ts +18 -0
  38. package/dist/procedures/git/diff.d.ts.map +1 -0
  39. package/dist/procedures/git/diff.js +58 -0
  40. package/dist/procedures/git/diff.js.map +1 -0
  41. package/dist/procedures/git/fetch.d.ts +12 -0
  42. package/dist/procedures/git/fetch.d.ts.map +1 -0
  43. package/dist/procedures/git/fetch.js +29 -0
  44. package/dist/procedures/git/fetch.js.map +1 -0
  45. package/dist/procedures/git/index.d.ts +15 -0
  46. package/dist/procedures/git/index.d.ts.map +1 -0
  47. package/dist/procedures/git/index.js +15 -0
  48. package/dist/procedures/git/index.js.map +1 -0
  49. package/dist/procedures/git/init.d.ts +12 -0
  50. package/dist/procedures/git/init.d.ts.map +1 -0
  51. package/dist/procedures/git/init.js +32 -0
  52. package/dist/procedures/git/init.js.map +1 -0
  53. package/dist/procedures/git/log.d.ts +12 -0
  54. package/dist/procedures/git/log.d.ts.map +1 -0
  55. package/dist/procedures/git/log.js +35 -0
  56. package/dist/procedures/git/log.js.map +1 -0
  57. package/dist/procedures/git/predicates.d.ts +40 -0
  58. package/dist/procedures/git/predicates.d.ts.map +1 -0
  59. package/dist/procedures/git/predicates.js +76 -0
  60. package/dist/procedures/git/predicates.js.map +1 -0
  61. package/dist/procedures/git/pull.d.ts +12 -0
  62. package/dist/procedures/git/pull.d.ts.map +1 -0
  63. package/dist/procedures/git/pull.js +36 -0
  64. package/dist/procedures/git/pull.js.map +1 -0
  65. package/dist/procedures/git/push.d.ts +12 -0
  66. package/dist/procedures/git/push.d.ts.map +1 -0
  67. package/dist/procedures/git/push.js +39 -0
  68. package/dist/procedures/git/push.js.map +1 -0
  69. package/dist/procedures/git/remote.d.ts +13 -0
  70. package/dist/procedures/git/remote.d.ts.map +1 -0
  71. package/dist/procedures/git/remote.js +30 -0
  72. package/dist/procedures/git/remote.js.map +1 -0
  73. package/dist/procedures/git/run.d.ts +32 -0
  74. package/dist/procedures/git/run.d.ts.map +1 -0
  75. package/dist/procedures/git/run.js +60 -0
  76. package/dist/procedures/git/run.js.map +1 -0
  77. package/dist/procedures/git/stash.d.ts +38 -0
  78. package/dist/procedures/git/stash.d.ts.map +1 -0
  79. package/dist/procedures/git/stash.js +211 -0
  80. package/dist/procedures/git/stash.js.map +1 -0
  81. package/dist/procedures/git/status.d.ts +17 -0
  82. package/dist/procedures/git/status.d.ts.map +1 -0
  83. package/dist/procedures/git/status.js +107 -0
  84. package/dist/procedures/git/status.js.map +1 -0
  85. package/dist/procedures/git.d.ts +5 -0
  86. package/dist/procedures/git.d.ts.map +1 -0
  87. package/dist/procedures/git.js +5 -0
  88. package/dist/procedures/git.js.map +1 -0
  89. package/dist/register.d.ts +7 -0
  90. package/dist/register.d.ts.map +1 -0
  91. package/dist/register.js +9 -0
  92. package/dist/register.js.map +1 -0
  93. package/dist/types.d.ts +350 -0
  94. package/dist/types.d.ts.map +1 -0
  95. package/dist/types.js +397 -0
  96. package/dist/types.js.map +1 -0
  97. package/package.json +77 -3
  98. package/src/index.ts +20 -0
  99. package/src/module.ts +656 -0
  100. package/src/procedures/git/add.ts +29 -0
  101. package/src/procedures/git/args.ts +21 -0
  102. package/src/procedures/git/branch.ts +61 -0
  103. package/src/procedures/git/checkout.ts +27 -0
  104. package/src/procedures/git/clone.ts +33 -0
  105. package/src/procedures/git/commit.ts +46 -0
  106. package/src/procedures/git/diff.ts +62 -0
  107. package/src/procedures/git/fetch.ts +32 -0
  108. package/src/procedures/git/index.ts +22 -0
  109. package/src/procedures/git/init.ts +43 -0
  110. package/src/procedures/git/log.ts +40 -0
  111. package/src/procedures/git/predicates.ts +90 -0
  112. package/src/procedures/git/pull.ts +45 -0
  113. package/src/procedures/git/push.ts +42 -0
  114. package/src/procedures/git/remote.ts +31 -0
  115. package/src/procedures/git/run.ts +70 -0
  116. package/src/procedures/git/stash.ts +255 -0
  117. package/src/procedures/git/status.ts +98 -0
  118. package/src/procedures/git.ts +5 -0
  119. package/src/register.ts +11 -0
  120. package/src/types.ts +815 -0
@@ -0,0 +1,17 @@
1
+ /**
2
+ * git.status procedure
3
+ *
4
+ * Get git status
5
+ *
6
+ * One call of `git status --porcelain=v2 --branch -z` gives the branch, the ahead and behind
7
+ * counts and the files. With `-z`, git writes each path as it is: no quotes, and a rename gives
8
+ * its old path in a separate field (deep dive WRP-7). Before, the procedure read the quoted form,
9
+ * so a path with a space kept its quotes, and a rename gave the text "old -> new" as the path.
10
+ */
11
+ import { type GitContext } from "./run.js";
12
+ import type { GitStatusInput, GitStatusOutput } from "../../types.js";
13
+ /**
14
+ * Get git status
15
+ */
16
+ export declare function gitStatus(input: GitStatusInput, ctx?: GitContext): Promise<GitStatusOutput>;
17
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/procedures/git/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAiB,MAAM,gBAAgB,CAAC;AAwBrF;;GAEG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,GAAE,UAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CA0DrG"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * git.status procedure
3
+ *
4
+ * Get git status
5
+ *
6
+ * One call of `git status --porcelain=v2 --branch -z` gives the branch, the ahead and behind
7
+ * counts and the files. With `-z`, git writes each path as it is: no quotes, and a rename gives
8
+ * its old path in a separate field (deep dive WRP-7). Before, the procedure read the quoted form,
9
+ * so a path with a space kept its quotes, and a rename gave the text "old -> new" as the path.
10
+ */
11
+ import { git, zFields } from "./run.js";
12
+ /** The status of one entry, from its two status letters (index, then work tree). */
13
+ function classify(xy) {
14
+ const index = xy[0];
15
+ const worktree = xy[1];
16
+ if (index === "A")
17
+ return { status: "added", staged: true };
18
+ if (index === "D")
19
+ return { status: "deleted", staged: true };
20
+ if (index === "R")
21
+ return { status: "renamed", staged: true };
22
+ if (index === "C")
23
+ return { status: "copied", staged: true };
24
+ if (index === "M" || index === "T")
25
+ return { status: "modified", staged: true };
26
+ if (worktree === "D")
27
+ return { status: "deleted", staged: false };
28
+ if (worktree === "A")
29
+ return { status: "added", staged: false };
30
+ if (worktree === "R")
31
+ return { status: "renamed", staged: false };
32
+ return { status: "modified", staged: false };
33
+ }
34
+ /** The text after the first `count` space-separated fields of a line. */
35
+ function afterFields(line, count) {
36
+ let at = 0;
37
+ for (let i = 0; i < count; i++)
38
+ at = line.indexOf(" ", at) + 1;
39
+ return line.slice(at);
40
+ }
41
+ /**
42
+ * Get git status
43
+ */
44
+ export async function gitStatus(input, ctx = {}) {
45
+ const output = await git(["status", "--porcelain=v2", "--branch", "-z"], { cwd: input.cwd, signal: ctx.signal });
46
+ let branch = "HEAD";
47
+ let ahead = 0;
48
+ let behind = 0;
49
+ const files = [];
50
+ const lines = [];
51
+ const fields = zFields(output);
52
+ for (let i = 0; i < fields.length; i++) {
53
+ const field = fields[i];
54
+ if (field.startsWith("# branch.head ")) {
55
+ const head = field.slice("# branch.head ".length);
56
+ branch = head === "(detached)" ? "HEAD" : head;
57
+ }
58
+ else if (field.startsWith("# branch.ab ")) {
59
+ const match = /\+(\d+) -(\d+)/.exec(field);
60
+ ahead = Number(match?.[1] ?? 0);
61
+ behind = Number(match?.[2] ?? 0);
62
+ }
63
+ else if (field.startsWith("1 ")) {
64
+ // 1 XY sub mH mI mW hH hI path
65
+ const xy = field.slice(2, 4);
66
+ const path = afterFields(field, 8);
67
+ files.push({ path, ...classify(xy) });
68
+ lines.push(`${xy.replace(/\./g, " ")} ${path}`);
69
+ }
70
+ else if (field.startsWith("2 ")) {
71
+ // 2 XY sub mH mI mW hH hI Xscore path, then the old path in the next field
72
+ const xy = field.slice(2, 4);
73
+ const path = afterFields(field, 9);
74
+ const from = fields[++i] ?? "";
75
+ files.push({ path, from, ...classify(xy) });
76
+ lines.push(`${xy.replace(/\./g, " ")} ${from} -> ${path}`);
77
+ }
78
+ else if (field.startsWith("u ")) {
79
+ // An unmerged path: u XY sub m1 m2 m3 mW h1 h2 h3 path
80
+ const xy = field.slice(2, 4);
81
+ const path = afterFields(field, 10);
82
+ files.push({ path, status: "modified", staged: false });
83
+ lines.push(`${xy} ${path}`);
84
+ }
85
+ else if (field.startsWith("? ")) {
86
+ const path = field.slice(2);
87
+ files.push({ path, status: "untracked", staged: false });
88
+ lines.push(`?? ${path}`);
89
+ }
90
+ else if (field.startsWith("! ")) {
91
+ const path = field.slice(2);
92
+ files.push({ path, status: "ignored", staged: false });
93
+ lines.push(`!! ${path}`);
94
+ }
95
+ }
96
+ const result = {
97
+ branch,
98
+ ahead,
99
+ behind,
100
+ files,
101
+ clean: files.length === 0,
102
+ };
103
+ if (input.short)
104
+ result.lines = lines;
105
+ return result;
106
+ }
107
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/procedures/git/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Git procedures barrel export
3
+ */
4
+ export * from "./git/index.js";
5
+ //# sourceMappingURL=git.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/procedures/git.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Git procedures barrel export
3
+ */
4
+ export * from "./git/index.js";
5
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/procedures/git.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Importing this file registers the procedures of @procedures/git, and of the modules that it
3
+ * requires, in the global registry: `import "@procedures/git/register"`. The package root and the
4
+ * `./module` entry register nothing (ARCHITECTURE-PROPOSALS-2026-10, P9).
5
+ */
6
+ export * from "./module.js";
7
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,cAAc,aAAa,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Importing this file registers the procedures of @procedures/git, and of the modules that it
3
+ * requires, in the global registry: `import "@procedures/git/register"`. The package root and the
4
+ * `./module` entry register nothing (ARCHITECTURE-PROPOSALS-2026-10, P9).
5
+ */
6
+ import { registerGitProcedures } from "./module.js";
7
+ export * from "./module.js";
8
+ registerGitProcedures();
9
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,cAAc,aAAa,CAAC;AAE5B,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,350 @@
1
+ /**
2
+ * Type definitions for client-git procedures
3
+ */
4
+ import { z } from "zod";
5
+ export declare const GitStatusInputSchema: z.ZodObject<{
6
+ cwd: z.ZodOptional<z.ZodString>;
7
+ short: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
8
+ }>;
9
+ export type GitStatusInput = z.infer<typeof GitStatusInputSchema>;
10
+ export interface GitStatusFile {
11
+ /** The path of the file (for a rename or a copy, the new path) */
12
+ path: string;
13
+ /** For a rename or a copy, the old path */
14
+ from?: string | undefined;
15
+ status: "modified" | "added" | "deleted" | "renamed" | "copied" | "untracked" | "ignored";
16
+ staged: boolean;
17
+ }
18
+ export interface GitStatusOutput {
19
+ branch: string;
20
+ ahead: number;
21
+ behind: number;
22
+ files: GitStatusFile[];
23
+ clean: boolean;
24
+ /** With `short: true`, one line per file in the format of `git status --short` */
25
+ lines?: string[] | undefined;
26
+ }
27
+ export declare const GitAddInputSchema: z.ZodObject<{
28
+ paths: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
29
+ all: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
30
+ cwd: z.ZodOptional<z.ZodString>;
31
+ }>;
32
+ export type GitAddInput = z.infer<typeof GitAddInputSchema>;
33
+ export interface GitAddOutput {
34
+ staged: string[];
35
+ }
36
+ export declare const GitCommitInputSchema: z.ZodObject<{
37
+ message: z.ZodString;
38
+ all: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
39
+ amend: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
40
+ cwd: z.ZodOptional<z.ZodString>;
41
+ }>;
42
+ export type GitCommitInput = z.infer<typeof GitCommitInputSchema>;
43
+ export interface GitCommitOutput {
44
+ hash: string;
45
+ message: string;
46
+ author: string;
47
+ date: string;
48
+ /** True if commit was skipped (nothing to commit) */
49
+ skipped?: boolean | undefined;
50
+ }
51
+ export declare const GitPushInputSchema: z.ZodObject<{
52
+ remote: z.ZodDefault<z.ZodOptional<z.ZodString>>;
53
+ branch: z.ZodOptional<z.ZodString>;
54
+ force: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
55
+ setUpstream: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
56
+ cwd: z.ZodOptional<z.ZodString>;
57
+ }>;
58
+ export type GitPushInput = z.infer<typeof GitPushInputSchema>;
59
+ export interface GitPushOutput {
60
+ remote: string;
61
+ branch: string;
62
+ commits: number;
63
+ }
64
+ export declare const GitPullInputSchema: z.ZodObject<{
65
+ remote: z.ZodDefault<z.ZodOptional<z.ZodString>>;
66
+ branch: z.ZodOptional<z.ZodString>;
67
+ rebase: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
68
+ cwd: z.ZodOptional<z.ZodString>;
69
+ }>;
70
+ export type GitPullInput = z.infer<typeof GitPullInputSchema>;
71
+ export interface GitPullOutput {
72
+ remote: string;
73
+ branch: string;
74
+ commits: number;
75
+ fastForward: boolean;
76
+ }
77
+ export declare const GitCloneInputSchema: z.ZodObject<{
78
+ url: z.ZodString;
79
+ dest: z.ZodOptional<z.ZodString>;
80
+ branch: z.ZodOptional<z.ZodString>;
81
+ depth: z.ZodOptional<z.ZodNumber>;
82
+ cwd: z.ZodOptional<z.ZodString>;
83
+ }>;
84
+ export type GitCloneInput = z.infer<typeof GitCloneInputSchema>;
85
+ export interface GitCloneOutput {
86
+ path: string;
87
+ branch: string;
88
+ }
89
+ export declare const GitCheckoutInputSchema: z.ZodObject<{
90
+ ref: z.ZodString;
91
+ create: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
92
+ paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
93
+ cwd: z.ZodOptional<z.ZodString>;
94
+ }>;
95
+ export type GitCheckoutInput = z.infer<typeof GitCheckoutInputSchema>;
96
+ export interface GitCheckoutOutput {
97
+ ref: string;
98
+ created: boolean;
99
+ }
100
+ export declare const GitBranchInputSchema: z.ZodObject<{
101
+ name: z.ZodOptional<z.ZodString>;
102
+ delete: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
103
+ list: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
104
+ remote: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
105
+ cwd: z.ZodOptional<z.ZodString>;
106
+ }>;
107
+ export type GitBranchInput = z.infer<typeof GitBranchInputSchema>;
108
+ export interface GitBranchInfo {
109
+ name: string;
110
+ current: boolean;
111
+ remote: boolean;
112
+ tracking?: string | undefined;
113
+ }
114
+ export interface GitBranchOutput {
115
+ branches?: GitBranchInfo[] | undefined;
116
+ created?: string | undefined;
117
+ deleted?: string | undefined;
118
+ current: string;
119
+ }
120
+ export declare const GitLogInputSchema: z.ZodObject<{
121
+ count: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
122
+ oneline: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
123
+ ref: z.ZodOptional<z.ZodString>;
124
+ cwd: z.ZodOptional<z.ZodString>;
125
+ }>;
126
+ export type GitLogInput = z.infer<typeof GitLogInputSchema>;
127
+ export interface GitLogCommit {
128
+ hash: string;
129
+ shortHash: string;
130
+ author: string;
131
+ email: string;
132
+ date: string;
133
+ message: string;
134
+ }
135
+ export interface GitLogOutput {
136
+ commits: GitLogCommit[];
137
+ /** With `oneline: true`, one line per commit: the short hash and the subject */
138
+ lines?: string[] | undefined;
139
+ }
140
+ export declare const GitDiffInputSchema: z.ZodObject<{
141
+ staged: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
142
+ ref: z.ZodOptional<z.ZodString>;
143
+ paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
144
+ stat: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
145
+ cwd: z.ZodOptional<z.ZodString>;
146
+ }>;
147
+ export type GitDiffInput = z.infer<typeof GitDiffInputSchema>;
148
+ export interface GitDiffFile {
149
+ /** The path of the file (for a rename, the new path) */
150
+ path: string;
151
+ /** For a rename, the old path */
152
+ from?: string | undefined;
153
+ /** Added lines (0 for a binary file) */
154
+ additions: number;
155
+ /** Deleted lines (0 for a binary file) */
156
+ deletions: number;
157
+ }
158
+ export interface GitDiffOutput {
159
+ files: GitDiffFile[];
160
+ additions: number;
161
+ deletions: number;
162
+ diff?: string | undefined;
163
+ }
164
+ export declare const GitInitInputSchema: z.ZodObject<{
165
+ cwd: z.ZodOptional<z.ZodString>;
166
+ bare: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
167
+ initialBranch: z.ZodOptional<z.ZodString>;
168
+ }>;
169
+ export type GitInitInput = z.infer<typeof GitInitInputSchema>;
170
+ export interface GitInitOutput {
171
+ /** The initialized repository path */
172
+ path: string;
173
+ /** Whether the repo was newly created */
174
+ created: boolean;
175
+ }
176
+ export declare const GitRemoteInputSchema: z.ZodObject<{
177
+ name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
178
+ cwd: z.ZodOptional<z.ZodString>;
179
+ }>;
180
+ export type GitRemoteInput = z.infer<typeof GitRemoteInputSchema>;
181
+ /**
182
+ * The input of git.remote.set. Before 0.2.0, `git.remote` with `url` set the URL: one procedure
183
+ * read and wrote, so a reader of the URL had to declare that it writes (CAPABILITIES-2026-10).
184
+ */
185
+ export declare const GitRemoteSetInputSchema: z.ZodObject<{
186
+ name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
187
+ url: z.ZodString;
188
+ cwd: z.ZodOptional<z.ZodString>;
189
+ }>;
190
+ export type GitRemoteSetInput = z.infer<typeof GitRemoteSetInputSchema>;
191
+ export interface GitRemoteOutput {
192
+ /** Remote name */
193
+ name: string;
194
+ /** Remote URL */
195
+ url: string;
196
+ }
197
+ export declare const GitFetchInputSchema: z.ZodObject<{
198
+ remote: z.ZodDefault<z.ZodOptional<z.ZodString>>;
199
+ branch: z.ZodOptional<z.ZodString>;
200
+ all: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
201
+ prune: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
202
+ cwd: z.ZodOptional<z.ZodString>;
203
+ }>;
204
+ export type GitFetchInput = z.infer<typeof GitFetchInputSchema>;
205
+ export interface GitFetchOutput {
206
+ remote: string;
207
+ fetched: boolean;
208
+ }
209
+ export declare const GitPredicateInputSchema: z.ZodObject<{
210
+ cwd: z.ZodOptional<z.ZodString>;
211
+ }>;
212
+ export type GitPredicateInput = {
213
+ /** Working directory (default: process.cwd()) */
214
+ cwd?: string | undefined;
215
+ };
216
+ export interface GitPredicateOutput {
217
+ /** The predicate result */
218
+ value: boolean;
219
+ }
220
+ export interface GitStashEntry {
221
+ /** Stash index (0 = most recent) */
222
+ index: number;
223
+ /** Stash reference (e.g., stash@{0}) */
224
+ ref: string;
225
+ /** Commit hash of the stash */
226
+ hash: string;
227
+ /** Stash message */
228
+ message: string;
229
+ }
230
+ export declare const GitStashListInputSchema: z.ZodObject<{
231
+ cwd: z.ZodOptional<z.ZodString>;
232
+ }>;
233
+ export type GitStashListInput = z.infer<typeof GitStashListInputSchema>;
234
+ export interface GitStashListOutput {
235
+ /** List of stashes */
236
+ stashes: GitStashEntry[];
237
+ /** Total count */
238
+ count: number;
239
+ }
240
+ export declare const GitStashPushInputSchema: z.ZodObject<{
241
+ message: z.ZodOptional<z.ZodString>;
242
+ includeUntracked: z.ZodOptional<z.ZodBoolean>;
243
+ keepIndex: z.ZodOptional<z.ZodBoolean>;
244
+ paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
245
+ cwd: z.ZodOptional<z.ZodString>;
246
+ }>;
247
+ export type GitStashPushInput = z.infer<typeof GitStashPushInputSchema>;
248
+ export interface GitStashPushOutput {
249
+ /** Whether changes were stashed */
250
+ stashed: boolean;
251
+ /** Stash reference if created */
252
+ ref?: string | undefined;
253
+ /** Stash message */
254
+ message?: string | undefined;
255
+ }
256
+ export declare const GitStashPopInputSchema: z.ZodObject<{
257
+ index: z.ZodOptional<z.ZodNumber>;
258
+ cwd: z.ZodOptional<z.ZodString>;
259
+ }>;
260
+ export type GitStashPopInput = z.infer<typeof GitStashPopInputSchema>;
261
+ export interface GitStashPopOutput {
262
+ /** Whether stash was applied */
263
+ applied: boolean;
264
+ /** Stash reference that was popped */
265
+ ref: string;
266
+ /** Whether stash was dropped (false if conflict) */
267
+ dropped: boolean;
268
+ /** Whether there was a merge conflict */
269
+ conflict?: boolean | undefined;
270
+ }
271
+ export declare const GitStashApplyInputSchema: z.ZodObject<{
272
+ index: z.ZodOptional<z.ZodNumber>;
273
+ cwd: z.ZodOptional<z.ZodString>;
274
+ }>;
275
+ export type GitStashApplyInput = z.infer<typeof GitStashApplyInputSchema>;
276
+ export interface GitStashApplyOutput {
277
+ /** Whether stash was applied */
278
+ applied: boolean;
279
+ /** Stash reference that was applied */
280
+ ref: string;
281
+ /** Whether there was a merge conflict */
282
+ conflict?: boolean | undefined;
283
+ }
284
+ export declare const GitStashDropInputSchema: z.ZodObject<{
285
+ index: z.ZodOptional<z.ZodNumber>;
286
+ cwd: z.ZodOptional<z.ZodString>;
287
+ }>;
288
+ export type GitStashDropInput = z.infer<typeof GitStashDropInputSchema>;
289
+ export interface GitStashDropOutput {
290
+ /** Whether stash was dropped */
291
+ dropped: boolean;
292
+ /** Stash reference that was dropped */
293
+ ref: string;
294
+ }
295
+ export declare const GitStashExportInputSchema: z.ZodObject<{
296
+ index: z.ZodOptional<z.ZodNumber>;
297
+ cwd: z.ZodOptional<z.ZodString>;
298
+ }>;
299
+ export type GitStashExportInput = z.infer<typeof GitStashExportInputSchema>;
300
+ export interface GitStashExportOutput {
301
+ /** Stash reference */
302
+ ref: string;
303
+ /** Commit hash */
304
+ hash: string;
305
+ /** Stash message */
306
+ message: string;
307
+ /** Patch content (diff) */
308
+ patch: string;
309
+ /** Whether stash includes untracked files */
310
+ hasUntracked: boolean;
311
+ /** Untracked files patch if present */
312
+ untrackedPatch?: string | undefined;
313
+ }
314
+ export declare const GitStashImportInputSchema: z.ZodObject<{
315
+ patch: z.ZodString;
316
+ message: z.ZodOptional<z.ZodString>;
317
+ includeUntracked: z.ZodOptional<z.ZodBoolean>;
318
+ cwd: z.ZodOptional<z.ZodString>;
319
+ }>;
320
+ export type GitStashImportInput = z.infer<typeof GitStashImportInputSchema>;
321
+ export interface GitStashImportOutput {
322
+ /** Whether import succeeded */
323
+ imported: boolean;
324
+ /** New stash reference if created */
325
+ ref?: string | undefined;
326
+ /** Error message if failed */
327
+ error?: string | undefined;
328
+ }
329
+ export declare const GitStatusOutputSchema: z.ZodType<GitStatusOutput>;
330
+ export declare const GitAddOutputSchema: z.ZodType<GitAddOutput>;
331
+ export declare const GitCommitOutputSchema: z.ZodType<GitCommitOutput>;
332
+ export declare const GitPushOutputSchema: z.ZodType<GitPushOutput>;
333
+ export declare const GitPullOutputSchema: z.ZodType<GitPullOutput>;
334
+ export declare const GitCloneOutputSchema: z.ZodType<GitCloneOutput>;
335
+ export declare const GitCheckoutOutputSchema: z.ZodType<GitCheckoutOutput>;
336
+ export declare const GitBranchOutputSchema: z.ZodType<GitBranchOutput>;
337
+ export declare const GitLogOutputSchema: z.ZodType<GitLogOutput>;
338
+ export declare const GitDiffOutputSchema: z.ZodType<GitDiffOutput>;
339
+ export declare const GitInitOutputSchema: z.ZodType<GitInitOutput>;
340
+ export declare const GitRemoteOutputSchema: z.ZodType<GitRemoteOutput>;
341
+ export declare const GitFetchOutputSchema: z.ZodType<GitFetchOutput>;
342
+ export declare const GitPredicateOutputSchema: z.ZodType<GitPredicateOutput>;
343
+ export declare const GitStashListOutputSchema: z.ZodType<GitStashListOutput>;
344
+ export declare const GitStashPushOutputSchema: z.ZodType<GitStashPushOutput>;
345
+ export declare const GitStashPopOutputSchema: z.ZodType<GitStashPopOutput>;
346
+ export declare const GitStashApplyOutputSchema: z.ZodType<GitStashApplyOutput>;
347
+ export declare const GitStashDropOutputSchema: z.ZodType<GitStashDropOutput>;
348
+ export declare const GitStashExportOutputSchema: z.ZodType<GitStashExportOutput>;
349
+ export declare const GitStashImportOutputSchema: z.ZodType<GitStashImportOutput>;
350
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}