@minimalcorp/tsunagi 0.1.32 → 0.1.33

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 (129) hide show
  1. package/.next/standalone/apps/web/.next/BUILD_ID +1 -1
  2. package/.next/standalone/apps/web/.next/build-manifest.json +3 -3
  3. package/.next/standalone/apps/web/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/apps/web/.next/server/app/_global-error.html +1 -1
  5. package/.next/standalone/apps/web/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/.next/standalone/apps/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  12. package/.next/standalone/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/apps/web/.next/server/app/_not-found.html +1 -1
  14. package/.next/standalone/apps/web/.next/server/app/_not-found.rsc +13 -13
  15. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_full.segment.rsc +13 -13
  16. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  17. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_index.segment.rsc +8 -8
  18. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  19. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  20. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  21. package/.next/standalone/apps/web/.next/server/app/index.html +1 -1
  22. package/.next/standalone/apps/web/.next/server/app/index.rsc +15 -16
  23. package/.next/standalone/apps/web/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -5
  24. package/.next/standalone/apps/web/.next/server/app/index.segments/_full.segment.rsc +15 -16
  25. package/.next/standalone/apps/web/.next/server/app/index.segments/_head.segment.rsc +4 -4
  26. package/.next/standalone/apps/web/.next/server/app/index.segments/_index.segment.rsc +8 -8
  27. package/.next/standalone/apps/web/.next/server/app/index.segments/_tree.segment.rsc +2 -3
  28. package/.next/standalone/apps/web/.next/server/app/page.js.nft.json +1 -1
  29. package/.next/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/apps/web/.next/server/app/settings/page.js.nft.json +1 -1
  31. package/.next/standalone/apps/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/apps/web/.next/server/app/settings.html +1 -1
  33. package/.next/standalone/apps/web/.next/server/app/settings.rsc +15 -15
  34. package/.next/standalone/apps/web/.next/server/app/settings.segments/_full.segment.rsc +15 -15
  35. package/.next/standalone/apps/web/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  36. package/.next/standalone/apps/web/.next/server/app/settings.segments/_index.segment.rsc +8 -8
  37. package/.next/standalone/apps/web/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  38. package/.next/standalone/apps/web/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
  39. package/.next/standalone/apps/web/.next/server/app/settings.segments/settings.segment.rsc +3 -3
  40. package/.next/standalone/apps/web/.next/server/app/tasks/[id]/page.js.nft.json +1 -1
  41. package/.next/standalone/apps/web/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__08c7fz~._.js +3 -0
  43. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0h4wzcb._.js +1 -1
  44. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0nhzci6._.js +14 -0
  45. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0ome304._.js +1 -1
  46. package/.next/standalone/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__0tq9wv6._.js → [root-of-the-server]__0r5k1o3._.js} +2 -2
  47. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0vi01rl._.js +14 -0
  48. package/.next/standalone/apps/web/.next/server/chunks/ssr/{_0836rl_._.js → _02dcd~k._.js} +2 -2
  49. package/.next/standalone/apps/web/.next/server/chunks/ssr/{_03hz06e._.js → _0dar4c0._.js} +2 -2
  50. package/.next/standalone/apps/web/.next/server/chunks/ssr/_0g.cd6a._.js +17 -17
  51. package/.next/standalone/apps/web/.next/server/chunks/ssr/_0lpms0u._.js +3 -0
  52. package/.next/standalone/apps/web/.next/server/chunks/ssr/_0owas.l._.js +3 -0
  53. package/.next/standalone/apps/web/.next/server/chunks/ssr/{_0amxree._.js → _0sxye4q._.js} +2 -2
  54. package/.next/standalone/apps/web/.next/server/chunks/ssr/_109pmo2._.js +3 -0
  55. package/.next/standalone/apps/web/.next/server/chunks/ssr/apps_web_src_app_settings_page_tsx_0i6itlb._.js +1 -1
  56. package/.next/standalone/apps/web/.next/server/chunks/ssr/apps_web_src_app_tasks_[id]_page_tsx_0jshsm2._.js +23 -2
  57. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_065xsw3._.js → node_modules_00bsm~0._.js} +1 -1
  58. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0dmu62y._.js → node_modules_03dusl-._.js} +1 -1
  59. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0z0orm9._.js → node_modules_09g056t._.js} +1 -1
  60. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0jcrj-2._.js → node_modules_09o-nzb._.js} +1 -1
  61. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0v86kpj._.js → node_modules_0_wjeog._.js} +1 -1
  62. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0vm.f2d._.js → node_modules_0az0yoa._.js} +1 -1
  63. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_046ca89._.js → node_modules_0ec.p48._.js} +1 -1
  64. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0c_-8tt._.js → node_modules_131360a._.js} +1 -1
  65. package/.next/standalone/apps/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_0zerlct._.js +3 -0
  66. package/.next/standalone/apps/web/.next/server/chunks/ssr/node_modules_next_dist_0xdsm99._.js +1 -1
  67. package/.next/standalone/apps/web/.next/server/middleware-build-manifest.js +3 -3
  68. package/.next/standalone/apps/web/.next/server/pages/404.html +1 -1
  69. package/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
  70. package/.next/standalone/apps/web/.next/server/server-reference-manifest.js +1 -1
  71. package/.next/standalone/apps/web/.next/server/server-reference-manifest.json +1 -1
  72. package/.next/standalone/apps/web/.next/static/chunks/02k8hsfyr1oif.css +4 -0
  73. package/.next/standalone/apps/web/.next/static/chunks/076mcjezjnahd.js +1 -0
  74. package/.next/standalone/apps/web/.next/static/chunks/08u0u06ip_aj0.js +5 -0
  75. package/.next/standalone/apps/web/.next/static/chunks/0dqv~laaou7x3.js +64 -0
  76. package/.next/standalone/apps/web/.next/static/chunks/0e8u7rqrqfiiy.js +1 -0
  77. package/.next/standalone/apps/web/.next/static/chunks/0gfpx.h8alews.js +11 -0
  78. package/.next/standalone/apps/web/.next/static/chunks/0k9kik1oc11wc.js +1 -0
  79. package/.next/standalone/apps/web/.next/static/chunks/0szj.38-.-4p4.js +1 -0
  80. package/.next/standalone/apps/web/.next/static/chunks/0w-rozhi-~746.js +11 -0
  81. package/.next/standalone/apps/web/.next/static/chunks/0z8cfvtbwii50.js +24 -0
  82. package/.next/standalone/apps/web/.next/static/chunks/0zdnw6m70_-dp.js +1 -0
  83. package/dist/server/generated/prisma/browser.d.ts +0 -5
  84. package/dist/server/generated/prisma/client.d.ts +0 -5
  85. package/dist/server/generated/prisma/commonInputTypes.d.ts +52 -52
  86. package/dist/server/generated/prisma/internal/class.d.ts +0 -11
  87. package/dist/server/generated/prisma/internal/class.js +4 -4
  88. package/dist/server/generated/prisma/internal/prismaNamespace.d.ts +6 -91
  89. package/dist/server/generated/prisma/internal/prismaNamespace.js +1 -10
  90. package/dist/server/generated/prisma/internal/prismaNamespaceBrowser.d.ts +1 -11
  91. package/dist/server/generated/prisma/internal/prismaNamespaceBrowser.js +1 -10
  92. package/dist/server/generated/prisma/models/Repository.d.ts +82 -1
  93. package/dist/server/generated/prisma/models/Task.d.ts +0 -7
  94. package/dist/server/generated/prisma/models.d.ts +0 -1
  95. package/dist/server/index.js +0 -2
  96. package/dist/server/lib/repositories/repository.d.ts +7 -1
  97. package/dist/server/lib/repositories/repository.js +27 -29
  98. package/dist/server/lib/worktree-manager.js +14 -2
  99. package/dist/server/routes/repos.js +93 -19
  100. package/npm-shrinkwrap.json +75 -70
  101. package/package.json +1 -1
  102. package/prisma/migrations/20260915000000_drop_planner_tabs/migration.sql +3 -0
  103. package/prisma/migrations/20260916000000_add_repository_order/migration.sql +12 -0
  104. package/prisma/schema.prisma +1 -13
  105. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__053-iaj._.js +0 -3
  106. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__07kf5h-._.js +0 -35
  107. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0_gamc9._.js +0 -35
  108. package/.next/standalone/apps/web/.next/server/chunks/ssr/apps_web_src_0w0y9fd._.js +0 -3
  109. package/.next/standalone/apps/web/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_0_.o928._.js +0 -3
  110. package/.next/standalone/apps/web/.next/static/chunks/0.1pdl3yo~xet.js +0 -5
  111. package/.next/standalone/apps/web/.next/static/chunks/001oo2jah4cv9.js +0 -1
  112. package/.next/standalone/apps/web/.next/static/chunks/05b63w8.ny19p.js +0 -1
  113. package/.next/standalone/apps/web/.next/static/chunks/08dtfekvxgpfu.js +0 -1
  114. package/.next/standalone/apps/web/.next/static/chunks/0dpeys_k2-mrk.js +0 -32
  115. package/.next/standalone/apps/web/.next/static/chunks/0hvtxos.brr01.js +0 -1
  116. package/.next/standalone/apps/web/.next/static/chunks/0nh1-0lee-1pk.js +0 -32
  117. package/.next/standalone/apps/web/.next/static/chunks/0nhpg19g1rl_7.js +0 -1
  118. package/.next/standalone/apps/web/.next/static/chunks/0tggf01u1vugi.js +0 -3
  119. package/.next/standalone/apps/web/.next/static/chunks/0wxrfu5la_s94.js +0 -64
  120. package/.next/standalone/apps/web/.next/static/chunks/0zu48yvkl8pyj.css +0 -4
  121. package/.next/standalone/apps/web/.next/static/chunks/13twvr.qg3khh.js +0 -1
  122. package/.next/standalone/apps/web/.next/static/chunks/164p.6qr5~-7x.js +0 -1
  123. package/dist/server/generated/prisma/models/PlannerTab.d.ts +0 -1089
  124. package/dist/server/generated/prisma/models/PlannerTab.js +0 -1
  125. package/dist/server/routes/planner.d.ts +0 -2
  126. package/dist/server/routes/planner.js +0 -86
  127. /package/.next/standalone/apps/web/.next/static/{70bPr4pgLIE7loeTg62ih → fUycQdovbCSAwFW2xvyuD}/_buildManifest.js +0 -0
  128. /package/.next/standalone/apps/web/.next/static/{70bPr4pgLIE7loeTg62ih → fUycQdovbCSAwFW2xvyuD}/_clientMiddlewareManifest.js +0 -0
  129. /package/.next/standalone/apps/web/.next/static/{70bPr4pgLIE7loeTg62ih → fUycQdovbCSAwFW2xvyuD}/_ssgManifest.js +0 -0
@@ -70,7 +70,6 @@ export const ModelName = {
70
70
  Repository: 'Repository',
71
71
  Task: 'Task',
72
72
  Tab: 'Tab',
73
- PlannerTab: 'PlannerTab',
74
73
  EnvironmentVariable: 'EnvironmentVariable'
75
74
  };
76
75
  /**
@@ -84,6 +83,7 @@ export const RepositoryScalarFieldEnum = {
84
83
  owner: 'owner',
85
84
  repo: 'repo',
86
85
  cloneUrl: 'cloneUrl',
86
+ order: 'order',
87
87
  createdAt: 'createdAt'
88
88
  };
89
89
  export const TaskScalarFieldEnum = {
@@ -116,15 +116,6 @@ export const TabScalarFieldEnum = {
116
116
  todos: 'todos',
117
117
  updatedAt: 'updatedAt'
118
118
  };
119
- export const PlannerTabScalarFieldEnum = {
120
- tabId: 'tabId',
121
- order: 'order',
122
- status: 'status',
123
- createdAt: 'createdAt',
124
- startedAt: 'startedAt',
125
- completedAt: 'completedAt',
126
- updatedAt: 'updatedAt'
127
- };
128
119
  export const EnvironmentVariableScalarFieldEnum = {
129
120
  id: 'id',
130
121
  key: 'key',
@@ -29,7 +29,6 @@ export declare const ModelName: {
29
29
  readonly Repository: "Repository";
30
30
  readonly Task: "Task";
31
31
  readonly Tab: "Tab";
32
- readonly PlannerTab: "PlannerTab";
33
32
  readonly EnvironmentVariable: "EnvironmentVariable";
34
33
  };
35
34
  export type ModelName = (typeof ModelName)[keyof typeof ModelName];
@@ -42,6 +41,7 @@ export declare const RepositoryScalarFieldEnum: {
42
41
  readonly owner: "owner";
43
42
  readonly repo: "repo";
44
43
  readonly cloneUrl: "cloneUrl";
44
+ readonly order: "order";
45
45
  readonly createdAt: "createdAt";
46
46
  };
47
47
  export type RepositoryScalarFieldEnum = (typeof RepositoryScalarFieldEnum)[keyof typeof RepositoryScalarFieldEnum];
@@ -77,16 +77,6 @@ export declare const TabScalarFieldEnum: {
77
77
  readonly updatedAt: "updatedAt";
78
78
  };
79
79
  export type TabScalarFieldEnum = (typeof TabScalarFieldEnum)[keyof typeof TabScalarFieldEnum];
80
- export declare const PlannerTabScalarFieldEnum: {
81
- readonly tabId: "tabId";
82
- readonly order: "order";
83
- readonly status: "status";
84
- readonly createdAt: "createdAt";
85
- readonly startedAt: "startedAt";
86
- readonly completedAt: "completedAt";
87
- readonly updatedAt: "updatedAt";
88
- };
89
- export type PlannerTabScalarFieldEnum = (typeof PlannerTabScalarFieldEnum)[keyof typeof PlannerTabScalarFieldEnum];
90
80
  export declare const EnvironmentVariableScalarFieldEnum: {
91
81
  readonly id: "id";
92
82
  readonly key: "key";
@@ -42,7 +42,6 @@ export const ModelName = {
42
42
  Repository: 'Repository',
43
43
  Task: 'Task',
44
44
  Tab: 'Tab',
45
- PlannerTab: 'PlannerTab',
46
45
  EnvironmentVariable: 'EnvironmentVariable'
47
46
  };
48
47
  /*
@@ -56,6 +55,7 @@ export const RepositoryScalarFieldEnum = {
56
55
  owner: 'owner',
57
56
  repo: 'repo',
58
57
  cloneUrl: 'cloneUrl',
58
+ order: 'order',
59
59
  createdAt: 'createdAt'
60
60
  };
61
61
  export const TaskScalarFieldEnum = {
@@ -88,15 +88,6 @@ export const TabScalarFieldEnum = {
88
88
  todos: 'todos',
89
89
  updatedAt: 'updatedAt'
90
90
  };
91
- export const PlannerTabScalarFieldEnum = {
92
- tabId: 'tabId',
93
- order: 'order',
94
- status: 'status',
95
- createdAt: 'createdAt',
96
- startedAt: 'startedAt',
97
- completedAt: 'completedAt',
98
- updatedAt: 'updatedAt'
99
- };
100
91
  export const EnvironmentVariableScalarFieldEnum = {
101
92
  id: 'id',
102
93
  key: 'key',
@@ -7,14 +7,23 @@ import type * as Prisma from "../internal/prismaNamespace.js";
7
7
  export type RepositoryModel = runtime.Types.Result.DefaultSelection<Prisma.$RepositoryPayload>;
8
8
  export type AggregateRepository = {
9
9
  _count: RepositoryCountAggregateOutputType | null;
10
+ _avg: RepositoryAvgAggregateOutputType | null;
11
+ _sum: RepositorySumAggregateOutputType | null;
10
12
  _min: RepositoryMinAggregateOutputType | null;
11
13
  _max: RepositoryMaxAggregateOutputType | null;
12
14
  };
15
+ export type RepositoryAvgAggregateOutputType = {
16
+ order: number | null;
17
+ };
18
+ export type RepositorySumAggregateOutputType = {
19
+ order: number | null;
20
+ };
13
21
  export type RepositoryMinAggregateOutputType = {
14
22
  id: string | null;
15
23
  owner: string | null;
16
24
  repo: string | null;
17
25
  cloneUrl: string | null;
26
+ order: number | null;
18
27
  createdAt: Date | null;
19
28
  };
20
29
  export type RepositoryMaxAggregateOutputType = {
@@ -22,6 +31,7 @@ export type RepositoryMaxAggregateOutputType = {
22
31
  owner: string | null;
23
32
  repo: string | null;
24
33
  cloneUrl: string | null;
34
+ order: number | null;
25
35
  createdAt: Date | null;
26
36
  };
27
37
  export type RepositoryCountAggregateOutputType = {
@@ -29,14 +39,22 @@ export type RepositoryCountAggregateOutputType = {
29
39
  owner: number;
30
40
  repo: number;
31
41
  cloneUrl: number;
42
+ order: number;
32
43
  createdAt: number;
33
44
  _all: number;
34
45
  };
46
+ export type RepositoryAvgAggregateInputType = {
47
+ order?: true;
48
+ };
49
+ export type RepositorySumAggregateInputType = {
50
+ order?: true;
51
+ };
35
52
  export type RepositoryMinAggregateInputType = {
36
53
  id?: true;
37
54
  owner?: true;
38
55
  repo?: true;
39
56
  cloneUrl?: true;
57
+ order?: true;
40
58
  createdAt?: true;
41
59
  };
42
60
  export type RepositoryMaxAggregateInputType = {
@@ -44,6 +62,7 @@ export type RepositoryMaxAggregateInputType = {
44
62
  owner?: true;
45
63
  repo?: true;
46
64
  cloneUrl?: true;
65
+ order?: true;
47
66
  createdAt?: true;
48
67
  };
49
68
  export type RepositoryCountAggregateInputType = {
@@ -51,6 +70,7 @@ export type RepositoryCountAggregateInputType = {
51
70
  owner?: true;
52
71
  repo?: true;
53
72
  cloneUrl?: true;
73
+ order?: true;
54
74
  createdAt?: true;
55
75
  _all?: true;
56
76
  };
@@ -89,6 +109,18 @@ export type RepositoryAggregateArgs<ExtArgs extends runtime.Types.Extensions.Int
89
109
  * Count returned Repositories
90
110
  **/
91
111
  _count?: true | RepositoryCountAggregateInputType;
112
+ /**
113
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
114
+ *
115
+ * Select which fields to average
116
+ **/
117
+ _avg?: RepositoryAvgAggregateInputType;
118
+ /**
119
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
120
+ *
121
+ * Select which fields to sum
122
+ **/
123
+ _sum?: RepositorySumAggregateInputType;
92
124
  /**
93
125
  * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
94
126
  *
@@ -113,6 +145,8 @@ export type RepositoryGroupByArgs<ExtArgs extends runtime.Types.Extensions.Inter
113
145
  take?: number;
114
146
  skip?: number;
115
147
  _count?: RepositoryCountAggregateInputType | true;
148
+ _avg?: RepositoryAvgAggregateInputType;
149
+ _sum?: RepositorySumAggregateInputType;
116
150
  _min?: RepositoryMinAggregateInputType;
117
151
  _max?: RepositoryMaxAggregateInputType;
118
152
  };
@@ -121,8 +155,11 @@ export type RepositoryGroupByOutputType = {
121
155
  owner: string;
122
156
  repo: string;
123
157
  cloneUrl: string;
158
+ order: number;
124
159
  createdAt: Date;
125
160
  _count: RepositoryCountAggregateOutputType | null;
161
+ _avg: RepositoryAvgAggregateOutputType | null;
162
+ _sum: RepositorySumAggregateOutputType | null;
126
163
  _min: RepositoryMinAggregateOutputType | null;
127
164
  _max: RepositoryMaxAggregateOutputType | null;
128
165
  };
@@ -137,6 +174,7 @@ export type RepositoryWhereInput = {
137
174
  owner?: Prisma.StringFilter<"Repository"> | string;
138
175
  repo?: Prisma.StringFilter<"Repository"> | string;
139
176
  cloneUrl?: Prisma.StringFilter<"Repository"> | string;
177
+ order?: Prisma.IntFilter<"Repository"> | number;
140
178
  createdAt?: Prisma.DateTimeFilter<"Repository"> | Date | string;
141
179
  tasks?: Prisma.TaskListRelationFilter;
142
180
  environmentVars?: Prisma.EnvironmentVariableListRelationFilter;
@@ -146,6 +184,7 @@ export type RepositoryOrderByWithRelationInput = {
146
184
  owner?: Prisma.SortOrder;
147
185
  repo?: Prisma.SortOrder;
148
186
  cloneUrl?: Prisma.SortOrder;
187
+ order?: Prisma.SortOrder;
149
188
  createdAt?: Prisma.SortOrder;
150
189
  tasks?: Prisma.TaskOrderByRelationAggregateInput;
151
190
  environmentVars?: Prisma.EnvironmentVariableOrderByRelationAggregateInput;
@@ -159,6 +198,7 @@ export type RepositoryWhereUniqueInput = Prisma.AtLeast<{
159
198
  owner?: Prisma.StringFilter<"Repository"> | string;
160
199
  repo?: Prisma.StringFilter<"Repository"> | string;
161
200
  cloneUrl?: Prisma.StringFilter<"Repository"> | string;
201
+ order?: Prisma.IntFilter<"Repository"> | number;
162
202
  createdAt?: Prisma.DateTimeFilter<"Repository"> | Date | string;
163
203
  tasks?: Prisma.TaskListRelationFilter;
164
204
  environmentVars?: Prisma.EnvironmentVariableListRelationFilter;
@@ -168,10 +208,13 @@ export type RepositoryOrderByWithAggregationInput = {
168
208
  owner?: Prisma.SortOrder;
169
209
  repo?: Prisma.SortOrder;
170
210
  cloneUrl?: Prisma.SortOrder;
211
+ order?: Prisma.SortOrder;
171
212
  createdAt?: Prisma.SortOrder;
172
213
  _count?: Prisma.RepositoryCountOrderByAggregateInput;
214
+ _avg?: Prisma.RepositoryAvgOrderByAggregateInput;
173
215
  _max?: Prisma.RepositoryMaxOrderByAggregateInput;
174
216
  _min?: Prisma.RepositoryMinOrderByAggregateInput;
217
+ _sum?: Prisma.RepositorySumOrderByAggregateInput;
175
218
  };
176
219
  export type RepositoryScalarWhereWithAggregatesInput = {
177
220
  AND?: Prisma.RepositoryScalarWhereWithAggregatesInput | Prisma.RepositoryScalarWhereWithAggregatesInput[];
@@ -181,6 +224,7 @@ export type RepositoryScalarWhereWithAggregatesInput = {
181
224
  owner?: Prisma.StringWithAggregatesFilter<"Repository"> | string;
182
225
  repo?: Prisma.StringWithAggregatesFilter<"Repository"> | string;
183
226
  cloneUrl?: Prisma.StringWithAggregatesFilter<"Repository"> | string;
227
+ order?: Prisma.IntWithAggregatesFilter<"Repository"> | number;
184
228
  createdAt?: Prisma.DateTimeWithAggregatesFilter<"Repository"> | Date | string;
185
229
  };
186
230
  export type RepositoryCreateInput = {
@@ -188,6 +232,7 @@ export type RepositoryCreateInput = {
188
232
  owner: string;
189
233
  repo: string;
190
234
  cloneUrl: string;
235
+ order?: number;
191
236
  createdAt?: Date | string;
192
237
  tasks?: Prisma.TaskCreateNestedManyWithoutRepositoryInput;
193
238
  environmentVars?: Prisma.EnvironmentVariableCreateNestedManyWithoutRepositoryInput;
@@ -197,6 +242,7 @@ export type RepositoryUncheckedCreateInput = {
197
242
  owner: string;
198
243
  repo: string;
199
244
  cloneUrl: string;
245
+ order?: number;
200
246
  createdAt?: Date | string;
201
247
  tasks?: Prisma.TaskUncheckedCreateNestedManyWithoutRepositoryInput;
202
248
  environmentVars?: Prisma.EnvironmentVariableUncheckedCreateNestedManyWithoutRepositoryInput;
@@ -206,6 +252,7 @@ export type RepositoryUpdateInput = {
206
252
  owner?: Prisma.StringFieldUpdateOperationsInput | string;
207
253
  repo?: Prisma.StringFieldUpdateOperationsInput | string;
208
254
  cloneUrl?: Prisma.StringFieldUpdateOperationsInput | string;
255
+ order?: Prisma.IntFieldUpdateOperationsInput | number;
209
256
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
210
257
  tasks?: Prisma.TaskUpdateManyWithoutRepositoryNestedInput;
211
258
  environmentVars?: Prisma.EnvironmentVariableUpdateManyWithoutRepositoryNestedInput;
@@ -215,6 +262,7 @@ export type RepositoryUncheckedUpdateInput = {
215
262
  owner?: Prisma.StringFieldUpdateOperationsInput | string;
216
263
  repo?: Prisma.StringFieldUpdateOperationsInput | string;
217
264
  cloneUrl?: Prisma.StringFieldUpdateOperationsInput | string;
265
+ order?: Prisma.IntFieldUpdateOperationsInput | number;
218
266
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
219
267
  tasks?: Prisma.TaskUncheckedUpdateManyWithoutRepositoryNestedInput;
220
268
  environmentVars?: Prisma.EnvironmentVariableUncheckedUpdateManyWithoutRepositoryNestedInput;
@@ -224,6 +272,7 @@ export type RepositoryCreateManyInput = {
224
272
  owner: string;
225
273
  repo: string;
226
274
  cloneUrl: string;
275
+ order?: number;
227
276
  createdAt?: Date | string;
228
277
  };
229
278
  export type RepositoryUpdateManyMutationInput = {
@@ -231,6 +280,7 @@ export type RepositoryUpdateManyMutationInput = {
231
280
  owner?: Prisma.StringFieldUpdateOperationsInput | string;
232
281
  repo?: Prisma.StringFieldUpdateOperationsInput | string;
233
282
  cloneUrl?: Prisma.StringFieldUpdateOperationsInput | string;
283
+ order?: Prisma.IntFieldUpdateOperationsInput | number;
234
284
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
235
285
  };
236
286
  export type RepositoryUncheckedUpdateManyInput = {
@@ -238,6 +288,7 @@ export type RepositoryUncheckedUpdateManyInput = {
238
288
  owner?: Prisma.StringFieldUpdateOperationsInput | string;
239
289
  repo?: Prisma.StringFieldUpdateOperationsInput | string;
240
290
  cloneUrl?: Prisma.StringFieldUpdateOperationsInput | string;
291
+ order?: Prisma.IntFieldUpdateOperationsInput | number;
241
292
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
242
293
  };
243
294
  export type RepositoryOwnerRepoCompoundUniqueInput = {
@@ -249,13 +300,18 @@ export type RepositoryCountOrderByAggregateInput = {
249
300
  owner?: Prisma.SortOrder;
250
301
  repo?: Prisma.SortOrder;
251
302
  cloneUrl?: Prisma.SortOrder;
303
+ order?: Prisma.SortOrder;
252
304
  createdAt?: Prisma.SortOrder;
253
305
  };
306
+ export type RepositoryAvgOrderByAggregateInput = {
307
+ order?: Prisma.SortOrder;
308
+ };
254
309
  export type RepositoryMaxOrderByAggregateInput = {
255
310
  id?: Prisma.SortOrder;
256
311
  owner?: Prisma.SortOrder;
257
312
  repo?: Prisma.SortOrder;
258
313
  cloneUrl?: Prisma.SortOrder;
314
+ order?: Prisma.SortOrder;
259
315
  createdAt?: Prisma.SortOrder;
260
316
  };
261
317
  export type RepositoryMinOrderByAggregateInput = {
@@ -263,8 +319,12 @@ export type RepositoryMinOrderByAggregateInput = {
263
319
  owner?: Prisma.SortOrder;
264
320
  repo?: Prisma.SortOrder;
265
321
  cloneUrl?: Prisma.SortOrder;
322
+ order?: Prisma.SortOrder;
266
323
  createdAt?: Prisma.SortOrder;
267
324
  };
325
+ export type RepositorySumOrderByAggregateInput = {
326
+ order?: Prisma.SortOrder;
327
+ };
268
328
  export type RepositoryScalarRelationFilter = {
269
329
  is?: Prisma.RepositoryWhereInput;
270
330
  isNot?: Prisma.RepositoryWhereInput;
@@ -276,6 +336,13 @@ export type RepositoryNullableScalarRelationFilter = {
276
336
  export type StringFieldUpdateOperationsInput = {
277
337
  set?: string;
278
338
  };
339
+ export type IntFieldUpdateOperationsInput = {
340
+ set?: number;
341
+ increment?: number;
342
+ decrement?: number;
343
+ multiply?: number;
344
+ divide?: number;
345
+ };
279
346
  export type DateTimeFieldUpdateOperationsInput = {
280
347
  set?: Date | string;
281
348
  };
@@ -310,6 +377,7 @@ export type RepositoryCreateWithoutTasksInput = {
310
377
  owner: string;
311
378
  repo: string;
312
379
  cloneUrl: string;
380
+ order?: number;
313
381
  createdAt?: Date | string;
314
382
  environmentVars?: Prisma.EnvironmentVariableCreateNestedManyWithoutRepositoryInput;
315
383
  };
@@ -318,6 +386,7 @@ export type RepositoryUncheckedCreateWithoutTasksInput = {
318
386
  owner: string;
319
387
  repo: string;
320
388
  cloneUrl: string;
389
+ order?: number;
321
390
  createdAt?: Date | string;
322
391
  environmentVars?: Prisma.EnvironmentVariableUncheckedCreateNestedManyWithoutRepositoryInput;
323
392
  };
@@ -339,6 +408,7 @@ export type RepositoryUpdateWithoutTasksInput = {
339
408
  owner?: Prisma.StringFieldUpdateOperationsInput | string;
340
409
  repo?: Prisma.StringFieldUpdateOperationsInput | string;
341
410
  cloneUrl?: Prisma.StringFieldUpdateOperationsInput | string;
411
+ order?: Prisma.IntFieldUpdateOperationsInput | number;
342
412
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
343
413
  environmentVars?: Prisma.EnvironmentVariableUpdateManyWithoutRepositoryNestedInput;
344
414
  };
@@ -347,6 +417,7 @@ export type RepositoryUncheckedUpdateWithoutTasksInput = {
347
417
  owner?: Prisma.StringFieldUpdateOperationsInput | string;
348
418
  repo?: Prisma.StringFieldUpdateOperationsInput | string;
349
419
  cloneUrl?: Prisma.StringFieldUpdateOperationsInput | string;
420
+ order?: Prisma.IntFieldUpdateOperationsInput | number;
350
421
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
351
422
  environmentVars?: Prisma.EnvironmentVariableUncheckedUpdateManyWithoutRepositoryNestedInput;
352
423
  };
@@ -355,6 +426,7 @@ export type RepositoryCreateWithoutEnvironmentVarsInput = {
355
426
  owner: string;
356
427
  repo: string;
357
428
  cloneUrl: string;
429
+ order?: number;
358
430
  createdAt?: Date | string;
359
431
  tasks?: Prisma.TaskCreateNestedManyWithoutRepositoryInput;
360
432
  };
@@ -363,6 +435,7 @@ export type RepositoryUncheckedCreateWithoutEnvironmentVarsInput = {
363
435
  owner: string;
364
436
  repo: string;
365
437
  cloneUrl: string;
438
+ order?: number;
366
439
  createdAt?: Date | string;
367
440
  tasks?: Prisma.TaskUncheckedCreateNestedManyWithoutRepositoryInput;
368
441
  };
@@ -384,6 +457,7 @@ export type RepositoryUpdateWithoutEnvironmentVarsInput = {
384
457
  owner?: Prisma.StringFieldUpdateOperationsInput | string;
385
458
  repo?: Prisma.StringFieldUpdateOperationsInput | string;
386
459
  cloneUrl?: Prisma.StringFieldUpdateOperationsInput | string;
460
+ order?: Prisma.IntFieldUpdateOperationsInput | number;
387
461
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
388
462
  tasks?: Prisma.TaskUpdateManyWithoutRepositoryNestedInput;
389
463
  };
@@ -392,6 +466,7 @@ export type RepositoryUncheckedUpdateWithoutEnvironmentVarsInput = {
392
466
  owner?: Prisma.StringFieldUpdateOperationsInput | string;
393
467
  repo?: Prisma.StringFieldUpdateOperationsInput | string;
394
468
  cloneUrl?: Prisma.StringFieldUpdateOperationsInput | string;
469
+ order?: Prisma.IntFieldUpdateOperationsInput | number;
395
470
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
396
471
  tasks?: Prisma.TaskUncheckedUpdateManyWithoutRepositoryNestedInput;
397
472
  };
@@ -432,6 +507,7 @@ export type RepositorySelect<ExtArgs extends runtime.Types.Extensions.InternalAr
432
507
  owner?: boolean;
433
508
  repo?: boolean;
434
509
  cloneUrl?: boolean;
510
+ order?: boolean;
435
511
  createdAt?: boolean;
436
512
  tasks?: boolean | Prisma.Repository$tasksArgs<ExtArgs>;
437
513
  environmentVars?: boolean | Prisma.Repository$environmentVarsArgs<ExtArgs>;
@@ -442,6 +518,7 @@ export type RepositorySelectCreateManyAndReturn<ExtArgs extends runtime.Types.Ex
442
518
  owner?: boolean;
443
519
  repo?: boolean;
444
520
  cloneUrl?: boolean;
521
+ order?: boolean;
445
522
  createdAt?: boolean;
446
523
  }, ExtArgs["result"]["repository"]>;
447
524
  export type RepositorySelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
@@ -449,6 +526,7 @@ export type RepositorySelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Ex
449
526
  owner?: boolean;
450
527
  repo?: boolean;
451
528
  cloneUrl?: boolean;
529
+ order?: boolean;
452
530
  createdAt?: boolean;
453
531
  }, ExtArgs["result"]["repository"]>;
454
532
  export type RepositorySelectScalar = {
@@ -456,9 +534,10 @@ export type RepositorySelectScalar = {
456
534
  owner?: boolean;
457
535
  repo?: boolean;
458
536
  cloneUrl?: boolean;
537
+ order?: boolean;
459
538
  createdAt?: boolean;
460
539
  };
461
- export type RepositoryOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "owner" | "repo" | "cloneUrl" | "createdAt", ExtArgs["result"]["repository"]>;
540
+ export type RepositoryOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "owner" | "repo" | "cloneUrl" | "order" | "createdAt", ExtArgs["result"]["repository"]>;
462
541
  export type RepositoryInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
463
542
  tasks?: boolean | Prisma.Repository$tasksArgs<ExtArgs>;
464
543
  environmentVars?: boolean | Prisma.Repository$environmentVarsArgs<ExtArgs>;
@@ -477,6 +556,7 @@ export type $RepositoryPayload<ExtArgs extends runtime.Types.Extensions.Internal
477
556
  owner: string;
478
557
  repo: string;
479
558
  cloneUrl: string;
559
+ order: number;
480
560
  createdAt: Date;
481
561
  }, ExtArgs["result"]["repository"]>;
482
562
  composites: {};
@@ -838,6 +918,7 @@ export interface RepositoryFieldRefs {
838
918
  readonly owner: Prisma.FieldRef<"Repository", 'String'>;
839
919
  readonly repo: Prisma.FieldRef<"Repository", 'String'>;
840
920
  readonly cloneUrl: Prisma.FieldRef<"Repository", 'String'>;
921
+ readonly order: Prisma.FieldRef<"Repository", 'Int'>;
841
922
  readonly createdAt: Prisma.FieldRef<"Repository", 'DateTime'>;
842
923
  }
843
924
  /**
@@ -601,13 +601,6 @@ export type NullableIntFieldUpdateOperationsInput = {
601
601
  multiply?: number;
602
602
  divide?: number;
603
603
  };
604
- export type IntFieldUpdateOperationsInput = {
605
- set?: number;
606
- increment?: number;
607
- decrement?: number;
608
- multiply?: number;
609
- divide?: number;
610
- };
611
604
  export type NullableDateTimeFieldUpdateOperationsInput = {
612
605
  set?: Date | string | null;
613
606
  };
@@ -1,6 +1,5 @@
1
1
  export type * from './models/Repository.js';
2
2
  export type * from './models/Task.js';
3
3
  export type * from './models/Tab.js';
4
- export type * from './models/PlannerTab.js';
5
4
  export type * from './models/EnvironmentVariable.js';
6
5
  export type * from './commonInputTypes.js';
@@ -8,7 +8,6 @@ import { tasksRoutes } from './routes/tasks.js';
8
8
  import { reposRoutes } from './routes/repos.js';
9
9
  import { envRoutes } from './routes/env.js';
10
10
  import { worktreesRoutes } from './routes/worktrees.js';
11
- import { plannerRoutes } from './routes/planner.js';
12
11
  import { commandsRoutes } from './routes/commands.js';
13
12
  import { onboardingRoutes } from './routes/onboarding.js';
14
13
  import { internalRoutes } from './routes/internal.js';
@@ -89,7 +88,6 @@ async function start() {
89
88
  await fastify.register(reposRoutes, { prefix: '/api' });
90
89
  await fastify.register(envRoutes, { prefix: '/api' });
91
90
  await fastify.register(worktreesRoutes, { prefix: '/api' });
92
- await fastify.register(plannerRoutes, { prefix: '/api' });
93
91
  await fastify.register(commandsRoutes, { prefix: '/api' });
94
92
  await fastify.register(onboardingRoutes, { prefix: '/api' });
95
93
  await fastify.register(internalRoutes, { prefix: '/api' });
@@ -1,6 +1,12 @@
1
1
  import type { Repository } from '@minimalcorp/tsunagi-shared';
2
2
  export declare function getRepos(): Promise<Repository[]>;
3
3
  export declare function getRepo(owner: string, repo: string): Promise<Repository | null>;
4
- export declare function createRepo(repo: Omit<Repository, 'id' | 'createdAt'>): Promise<Repository>;
4
+ export declare function createRepo(repo: Omit<Repository, 'id' | 'order' | 'createdAt'>): Promise<Repository>;
5
5
  export declare function updateRepo(id: string, updates: Partial<Omit<Repository, 'id' | 'owner' | 'repo' | 'createdAt'>>): Promise<Repository | null>;
6
+ /**
7
+ * 表示順を一括更新する。
8
+ * 渡された id の並びをそのまま order 0..n-1 に割り当てるため、
9
+ * タスクの order のような玉突き処理は不要。
10
+ */
11
+ export declare function reorderRepos(repoIds: string[]): Promise<Repository[]>;
6
12
  export declare function deleteRepo(id: string): Promise<boolean>;
@@ -1,16 +1,20 @@
1
1
  import { prisma } from '../db.js';
2
- // リポジトリ一覧取得
3
- export async function getRepos() {
4
- const repos = await prisma.repository.findMany({
5
- orderBy: { createdAt: 'desc' },
6
- });
7
- return repos.map((repo) => ({
2
+ function mapRepo(repo) {
3
+ return {
8
4
  id: repo.id,
9
5
  owner: repo.owner,
10
6
  repo: repo.repo,
11
7
  cloneUrl: repo.cloneUrl,
8
+ order: repo.order,
12
9
  createdAt: repo.createdAt.toISOString(),
13
- }));
10
+ };
11
+ }
12
+ // リポジトリ一覧取得(表示順)
13
+ export async function getRepos() {
14
+ const repos = await prisma.repository.findMany({
15
+ orderBy: [{ order: 'asc' }, { createdAt: 'asc' }],
16
+ });
17
+ return repos.map(mapRepo);
14
18
  }
15
19
  // リポジトリ取得
16
20
  export async function getRepo(owner, repo) {
@@ -19,15 +23,9 @@ export async function getRepo(owner, repo) {
19
23
  });
20
24
  if (!repository)
21
25
  return null;
22
- return {
23
- id: repository.id,
24
- owner: repository.owner,
25
- repo: repository.repo,
26
- cloneUrl: repository.cloneUrl,
27
- createdAt: repository.createdAt.toISOString(),
28
- };
26
+ return mapRepo(repository);
29
27
  }
30
- // リポジトリ作成
28
+ // リポジトリ作成(表示順は末尾に追加)
31
29
  export async function createRepo(repo) {
32
30
  const existing = await prisma.repository.findFirst({
33
31
  where: { owner: repo.owner, repo: repo.repo },
@@ -35,20 +33,16 @@ export async function createRepo(repo) {
35
33
  if (existing) {
36
34
  throw new Error(`Repository ${repo.owner}/${repo.repo} already exists`);
37
35
  }
36
+ const last = await prisma.repository.findFirst({ orderBy: { order: 'desc' } });
38
37
  const newRepo = await prisma.repository.create({
39
38
  data: {
40
39
  owner: repo.owner,
41
40
  repo: repo.repo,
42
41
  cloneUrl: repo.cloneUrl,
42
+ order: last ? last.order + 1 : 0,
43
43
  },
44
44
  });
45
- return {
46
- id: newRepo.id,
47
- owner: newRepo.owner,
48
- repo: newRepo.repo,
49
- cloneUrl: newRepo.cloneUrl,
50
- createdAt: newRepo.createdAt.toISOString(),
51
- };
45
+ return mapRepo(newRepo);
52
46
  }
53
47
  // リポジトリ更新
54
48
  export async function updateRepo(id, updates) {
@@ -59,15 +53,19 @@ export async function updateRepo(id, updates) {
59
53
  where: { id },
60
54
  data: {
61
55
  ...(updates.cloneUrl && { cloneUrl: updates.cloneUrl }),
56
+ ...(updates.order !== undefined && { order: updates.order }),
62
57
  },
63
58
  });
64
- return {
65
- id: updatedRepo.id,
66
- owner: updatedRepo.owner,
67
- repo: updatedRepo.repo,
68
- cloneUrl: updatedRepo.cloneUrl,
69
- createdAt: updatedRepo.createdAt.toISOString(),
70
- };
59
+ return mapRepo(updatedRepo);
60
+ }
61
+ /**
62
+ * 表示順を一括更新する。
63
+ * 渡された id の並びをそのまま order 0..n-1 に割り当てるため、
64
+ * タスクの order のような玉突き処理は不要。
65
+ */
66
+ export async function reorderRepos(repoIds) {
67
+ await prisma.$transaction(repoIds.map((id, index) => prisma.repository.update({ where: { id }, data: { order: index } })));
68
+ return getRepos();
71
69
  }
72
70
  // リポジトリ削除
73
71
  export async function deleteRepo(id) {
@@ -7,6 +7,18 @@ import { promisify } from 'util';
7
7
  import { normalizeBranchName } from './branch-utils.js';
8
8
  const execAsync = promisify(exec);
9
9
  const WORKSPACES_ROOT = path.join(os.homedir(), '.tsunagi', 'workspaces');
10
+ /**
11
+ * サーバープロセスにはTTYが無いため、git/sshが認証情報を対話的に要求すると
12
+ * リクエストがハングしてしまう。プロンプトを禁止して即座に失敗させる。
13
+ */
14
+ const NON_INTERACTIVE_GIT_ENV = {
15
+ GIT_TERMINAL_PROMPT: '0',
16
+ GIT_SSH_COMMAND: 'ssh -o BatchMode=yes',
17
+ };
18
+ function nonInteractiveGit(baseDir) {
19
+ const git = baseDir ? simpleGit(baseDir) : simpleGit();
20
+ return git.env({ ...process.env, ...NON_INTERACTIVE_GIT_ENV });
21
+ }
10
22
  // bare repositoryのパスを取得
11
23
  function getBareRepoPath(owner, repo) {
12
24
  return path.join(WORKSPACES_ROOT, owner, repo, '.bare');
@@ -51,10 +63,10 @@ export async function initBareRepository(owner, repo, cloneUrl) {
51
63
  // 親ディレクトリを作成
52
64
  await fs.mkdir(path.dirname(bareRepoPath), { recursive: true });
53
65
  // bare repositoryとしてクローン
54
- const git = simpleGit();
66
+ const git = nonInteractiveGit();
55
67
  await git.clone(cloneUrl, bareRepoPath, ['--bare']);
56
68
  // 標準的なfetch refspecを設定
57
- const bareGit = simpleGit(bareRepoPath);
69
+ const bareGit = nonInteractiveGit(bareRepoPath);
58
70
  await bareGit.addConfig('remote.origin.fetch', '+refs/heads/*:refs/remotes/origin/*');
59
71
  // Remote tracking branchesを作成
60
72
  await bareGit.fetch();