@knpkv/codecommit-core 0.10.1 → 0.13.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 (187) hide show
  1. package/README.md +44 -3
  2. package/dist/AwsClient/approvalRuleContent.js.map +1 -1
  3. package/dist/AwsClient/getCommentsForPullRequest.d.ts +3 -1
  4. package/dist/AwsClient/getCommentsForPullRequest.d.ts.map +1 -1
  5. package/dist/AwsClient/getCommentsForPullRequest.js +14 -7
  6. package/dist/AwsClient/getCommentsForPullRequest.js.map +1 -1
  7. package/dist/AwsClient/getDifferences.js +1 -1
  8. package/dist/AwsClient/getDifferences.js.map +1 -1
  9. package/dist/AwsClient/getPullRequest.d.ts.map +1 -1
  10. package/dist/AwsClient/getPullRequest.js +7 -1
  11. package/dist/AwsClient/getPullRequest.js.map +1 -1
  12. package/dist/AwsClient/getPullRequests.d.ts +1 -1
  13. package/dist/AwsClient/getPullRequests.d.ts.map +1 -1
  14. package/dist/AwsClient/getPullRequests.js +6 -7
  15. package/dist/AwsClient/getPullRequests.js.map +1 -1
  16. package/dist/AwsClient/internal.d.ts +7 -3
  17. package/dist/AwsClient/internal.d.ts.map +1 -1
  18. package/dist/AwsClient/internal.js +15 -5
  19. package/dist/AwsClient/internal.js.map +1 -1
  20. package/dist/AwsClient/listBranches.d.ts.map +1 -1
  21. package/dist/AwsClient/listBranches.js +1 -1
  22. package/dist/AwsClient/listBranches.js.map +1 -1
  23. package/dist/AwsClientConfig.d.ts +3 -3
  24. package/dist/AwsClientConfig.d.ts.map +1 -1
  25. package/dist/AwsClientConfig.js.map +1 -1
  26. package/dist/CacheService/CacheError.js +1 -1
  27. package/dist/CacheService/CacheError.js.map +1 -1
  28. package/dist/CacheService/Database.d.ts +5 -4
  29. package/dist/CacheService/Database.d.ts.map +1 -1
  30. package/dist/CacheService/Database.js +8 -5
  31. package/dist/CacheService/Database.js.map +1 -1
  32. package/dist/CacheService/EventsHub.d.ts +2 -2
  33. package/dist/CacheService/EventsHub.d.ts.map +1 -1
  34. package/dist/CacheService/diff.js +2 -2
  35. package/dist/CacheService/diff.js.map +1 -1
  36. package/dist/CacheService/internal/PrivateDatabasePathNode.d.ts +34 -0
  37. package/dist/CacheService/internal/PrivateDatabasePathNode.d.ts.map +1 -0
  38. package/dist/CacheService/internal/PrivateDatabasePathNode.js +63 -0
  39. package/dist/CacheService/internal/PrivateDatabasePathNode.js.map +1 -0
  40. package/dist/CacheService/migrations/0016_sandbox_access_password.d.ts +5 -0
  41. package/dist/CacheService/migrations/0016_sandbox_access_password.d.ts.map +1 -0
  42. package/dist/CacheService/migrations/0016_sandbox_access_password.js +4 -0
  43. package/dist/CacheService/migrations/0016_sandbox_access_password.js.map +1 -0
  44. package/dist/CacheService/repos/CommentRepo.d.ts +3 -3
  45. package/dist/CacheService/repos/CommentRepo.d.ts.map +1 -1
  46. package/dist/CacheService/repos/NotificationRepo.d.ts +3 -3
  47. package/dist/CacheService/repos/NotificationRepo.d.ts.map +1 -1
  48. package/dist/CacheService/repos/PullRequestRepo/index.d.ts +108 -108
  49. package/dist/CacheService/repos/PullRequestRepo/index.d.ts.map +1 -1
  50. package/dist/CacheService/repos/PullRequestRepo/queries.d.ts +106 -106
  51. package/dist/CacheService/repos/PullRequestRepo/queries.d.ts.map +1 -1
  52. package/dist/CacheService/repos/SandboxRepo.d.ts +73 -67
  53. package/dist/CacheService/repos/SandboxRepo.d.ts.map +1 -1
  54. package/dist/CacheService/repos/SandboxRepo.js +3 -2
  55. package/dist/CacheService/repos/SandboxRepo.js.map +1 -1
  56. package/dist/CacheService/repos/StatsRepo/index.d.ts +3 -3
  57. package/dist/CacheService/repos/StatsRepo/index.d.ts.map +1 -1
  58. package/dist/CacheService/repos/SubscriptionRepo.d.ts +8 -8
  59. package/dist/CacheService/repos/SubscriptionRepo.d.ts.map +1 -1
  60. package/dist/CacheService/repos/SyncMetadataRepo.d.ts +3 -3
  61. package/dist/CacheService/repos/SyncMetadataRepo.d.ts.map +1 -1
  62. package/dist/CacheService/repos/commentLocations.d.ts +1 -1
  63. package/dist/CacheService/repos/commentLocations.d.ts.map +1 -1
  64. package/dist/CacheService/repos/commentLocations.js +15 -79
  65. package/dist/CacheService/repos/commentLocations.js.map +1 -1
  66. package/dist/ChildEnv.d.ts +67 -2
  67. package/dist/ChildEnv.d.ts.map +1 -1
  68. package/dist/ChildEnv.js +47 -14
  69. package/dist/ChildEnv.js.map +1 -1
  70. package/dist/ConfigService/SandboxPolicy.d.ts +37 -0
  71. package/dist/ConfigService/SandboxPolicy.d.ts.map +1 -0
  72. package/dist/ConfigService/SandboxPolicy.js +72 -0
  73. package/dist/ConfigService/SandboxPolicy.js.map +1 -0
  74. package/dist/ConfigService/index.d.ts +3 -1
  75. package/dist/ConfigService/index.d.ts.map +1 -1
  76. package/dist/ConfigService/index.js +10 -2
  77. package/dist/ConfigService/index.js.map +1 -1
  78. package/dist/ConfigService/internal.d.ts +33 -0
  79. package/dist/ConfigService/internal.d.ts.map +1 -1
  80. package/dist/ConfigService/internal.js +64 -9
  81. package/dist/ConfigService/internal.js.map +1 -1
  82. package/dist/ConfigService/load.d.ts +34 -23
  83. package/dist/ConfigService/load.d.ts.map +1 -1
  84. package/dist/ConfigService/load.js +2 -2
  85. package/dist/ConfigService/load.js.map +1 -1
  86. package/dist/ConfigService/reset.d.ts +33 -22
  87. package/dist/ConfigService/reset.d.ts.map +1 -1
  88. package/dist/ConfigService/save.d.ts +33 -22
  89. package/dist/ConfigService/save.d.ts.map +1 -1
  90. package/dist/Domain.d.ts +17 -1
  91. package/dist/Domain.d.ts.map +1 -1
  92. package/dist/Domain.js +15 -6
  93. package/dist/Domain.js.map +1 -1
  94. package/dist/Errors.d.ts +11 -1
  95. package/dist/Errors.d.ts.map +1 -1
  96. package/dist/Errors.js +19 -10
  97. package/dist/Errors.js.map +1 -1
  98. package/dist/PRService/index.d.ts +8 -7
  99. package/dist/PRService/index.d.ts.map +1 -1
  100. package/dist/PRService/index.js.map +1 -1
  101. package/dist/PRService/internal.d.ts +31 -31
  102. package/dist/PRService/internal.d.ts.map +1 -1
  103. package/dist/PRService/internal.js +5 -5
  104. package/dist/PRService/internal.js.map +1 -1
  105. package/dist/PRService/refresh.d.ts +2 -2
  106. package/dist/PRService/refresh.d.ts.map +1 -1
  107. package/dist/PRService/refresh.js +22 -3
  108. package/dist/PRService/refresh.js.map +1 -1
  109. package/dist/PRService/refreshFetch.d.ts +2 -1
  110. package/dist/PRService/refreshFetch.d.ts.map +1 -1
  111. package/dist/PRService/refreshFetch.js +34 -5
  112. package/dist/PRService/refreshFetch.js.map +1 -1
  113. package/dist/PRService/refreshResolve.d.ts +6 -6
  114. package/dist/PRService/refreshResolve.d.ts.map +1 -1
  115. package/dist/PRService/refreshResolve.js +3 -1
  116. package/dist/PRService/refreshResolve.js.map +1 -1
  117. package/dist/PRService/refreshSinglePR.d.ts +7 -1
  118. package/dist/PRService/refreshSinglePR.d.ts.map +1 -1
  119. package/dist/PRService/refreshSinglePR.js +8 -5
  120. package/dist/PRService/refreshSinglePR.js.map +1 -1
  121. package/dist/PermissionService/AuditLog.d.ts +3 -3
  122. package/dist/PermissionService/AuditLog.d.ts.map +1 -1
  123. package/dist/PermissionService/AuditLog.js +2 -2
  124. package/dist/PermissionService/AuditLog.js.map +1 -1
  125. package/dist/PermissionService/PermissionGateLive.d.ts +3 -0
  126. package/dist/PermissionService/PermissionGateLive.d.ts.map +1 -1
  127. package/dist/PermissionService/PermissionGateLive.js +9 -20
  128. package/dist/PermissionService/PermissionGateLive.js.map +1 -1
  129. package/dist/PermissionService/index.d.ts +2 -2
  130. package/dist/PermissionService/index.d.ts.map +1 -1
  131. package/dist/PermissionService/index.js +9 -1
  132. package/dist/PermissionService/index.js.map +1 -1
  133. package/dist/PermissionService/operations.d.ts +24 -2
  134. package/dist/PermissionService/operations.d.ts.map +1 -1
  135. package/dist/PermissionService/operations.js +18 -0
  136. package/dist/PermissionService/operations.js.map +1 -1
  137. package/dist/ReadClient/ReadClient.d.ts +18 -3
  138. package/dist/ReadClient/ReadClient.d.ts.map +1 -1
  139. package/dist/ReadClient/ReadClient.js +35 -7
  140. package/dist/ReadClient/ReadClient.js.map +1 -1
  141. package/dist/ReadClient/ReadProvider.d.ts +6 -0
  142. package/dist/ReadClient/ReadProvider.d.ts.map +1 -1
  143. package/dist/ReadClient/ReadProvider.js +4 -3
  144. package/dist/ReadClient/ReadProvider.js.map +1 -1
  145. package/dist/ReadClient/errors.js +3 -3
  146. package/dist/ReadClient/errors.js.map +1 -1
  147. package/dist/ReadClient/models.d.ts +15 -1
  148. package/dist/ReadClient/models.d.ts.map +1 -1
  149. package/dist/ReadClient/models.js +14 -1
  150. package/dist/ReadClient/models.js.map +1 -1
  151. package/dist/ReviewClient/ReviewClient.d.ts.map +1 -1
  152. package/dist/ReviewClient/ReviewClient.js +57 -4
  153. package/dist/ReviewClient/ReviewClient.js.map +1 -1
  154. package/dist/ReviewClient/ReviewProvider.d.ts +30 -0
  155. package/dist/ReviewClient/ReviewProvider.d.ts.map +1 -1
  156. package/dist/ReviewClient/ReviewProvider.js +67 -5
  157. package/dist/ReviewClient/ReviewProvider.js.map +1 -1
  158. package/dist/ReviewClient/errors.d.ts +3 -1
  159. package/dist/ReviewClient/errors.d.ts.map +1 -1
  160. package/dist/ReviewClient/errors.js +73 -2
  161. package/dist/ReviewClient/errors.js.map +1 -1
  162. package/dist/ReviewClient/index.d.ts +1 -1
  163. package/dist/ReviewClient/index.d.ts.map +1 -1
  164. package/dist/ReviewClient/index.js +1 -1
  165. package/dist/ReviewClient/index.js.map +1 -1
  166. package/dist/ReviewClient/models.d.ts +38 -1
  167. package/dist/ReviewClient/models.d.ts.map +1 -1
  168. package/dist/ReviewClient/models.js +17 -5
  169. package/dist/ReviewClient/models.js.map +1 -1
  170. package/dist/ReviewProfile.d.ts +3 -0
  171. package/dist/ReviewProfile.d.ts.map +1 -0
  172. package/dist/ReviewProfile.js +3 -0
  173. package/dist/ReviewProfile.js.map +1 -0
  174. package/dist/SandboxService/DockerService.d.ts +24 -15
  175. package/dist/SandboxService/DockerService.d.ts.map +1 -1
  176. package/dist/SandboxService/DockerService.js +22 -6
  177. package/dist/SandboxService/DockerService.js.map +1 -1
  178. package/dist/SandboxService/PluginService.d.ts +2 -2
  179. package/dist/SandboxService/PluginService.d.ts.map +1 -1
  180. package/dist/SandboxService/SandboxService.d.ts +88 -73
  181. package/dist/SandboxService/SandboxService.d.ts.map +1 -1
  182. package/dist/SandboxService/SandboxService.js +69 -21
  183. package/dist/SandboxService/SandboxService.js.map +1 -1
  184. package/dist/SandboxService/SandboxWorkerScope.d.ts +2 -2
  185. package/dist/SandboxService/SandboxWorkerScope.d.ts.map +1 -1
  186. package/dist/SandboxService/SandboxWorkerScope.js.map +1 -1
  187. package/package.json +7 -6
@@ -10,6 +10,7 @@ export declare const SandboxRow: Schema.Struct<{
10
10
  readonly awsAccountId: Schema.String;
11
11
  readonly repositoryName: Schema.String;
12
12
  readonly sourceBranch: Schema.String;
13
+ readonly accessPassword: Schema.NullOr<Schema.String>;
13
14
  readonly containerId: Schema.NullOr<Schema.String>;
14
15
  readonly port: Schema.NullOr<Schema.Number>;
15
16
  readonly workspacePath: Schema.String;
@@ -27,6 +28,7 @@ export interface InsertSandbox {
27
28
  readonly awsAccountId: string;
28
29
  readonly repositoryName: string;
29
30
  readonly sourceBranch: string;
31
+ readonly accessPassword: string;
30
32
  readonly workspacePath: string;
31
33
  readonly status: string;
32
34
  readonly createdAt: string;
@@ -39,80 +41,84 @@ declare const makeSandboxRepo: Effect.Effect<{
39
41
  port?: number;
40
42
  error?: string;
41
43
  }) => Effect.Effect<readonly import("effect/unstable/sql/SqlConnection").Row[], CacheError, never>;
42
- findById: (id: SandboxId) => Effect.Effect<Schema.Struct.ReadonlySide<{
43
- readonly id: Schema.String;
44
- readonly pullRequestId: Schema.String;
45
- readonly awsAccountId: Schema.String;
46
- readonly repositoryName: Schema.String;
47
- readonly sourceBranch: Schema.String;
48
- readonly containerId: Schema.NullOr<Schema.String>;
49
- readonly port: Schema.NullOr<Schema.Number>;
50
- readonly workspacePath: Schema.String;
51
- readonly status: Schema.String;
52
- readonly statusDetail: Schema.NullOr<Schema.String>;
53
- readonly logs: Schema.NullOr<Schema.String>;
54
- readonly error: Schema.NullOr<Schema.String>;
55
- readonly createdAt: Schema.String;
56
- readonly lastActivityAt: Schema.String;
57
- }, "Type">, CacheError | Schema.SchemaError | import("effect/unstable/sql/SqlError").SqlError, never>;
58
- findByPr: (awsAccountId: string, pullRequestId: string) => Effect.Effect<Option.Option<Schema.Struct.ReadonlySide<{
59
- readonly id: Schema.String;
60
- readonly pullRequestId: Schema.String;
61
- readonly awsAccountId: Schema.String;
62
- readonly repositoryName: Schema.String;
63
- readonly sourceBranch: Schema.String;
64
- readonly containerId: Schema.NullOr<Schema.String>;
65
- readonly port: Schema.NullOr<Schema.Number>;
66
- readonly workspacePath: Schema.String;
67
- readonly status: Schema.String;
68
- readonly statusDetail: Schema.NullOr<Schema.String>;
69
- readonly logs: Schema.NullOr<Schema.String>;
70
- readonly error: Schema.NullOr<Schema.String>;
71
- readonly createdAt: Schema.String;
72
- readonly lastActivityAt: Schema.String;
73
- }, "Type">>, CacheError, never>;
74
- findActive: () => Effect.Effect<Schema.Struct.ReadonlySide<{
75
- readonly id: Schema.String;
76
- readonly pullRequestId: Schema.String;
77
- readonly awsAccountId: Schema.String;
78
- readonly repositoryName: Schema.String;
79
- readonly sourceBranch: Schema.String;
80
- readonly containerId: Schema.NullOr<Schema.String>;
81
- readonly port: Schema.NullOr<Schema.Number>;
82
- readonly workspacePath: Schema.String;
83
- readonly status: Schema.String;
84
- readonly statusDetail: Schema.NullOr<Schema.String>;
85
- readonly logs: Schema.NullOr<Schema.String>;
86
- readonly error: Schema.NullOr<Schema.String>;
87
- readonly createdAt: Schema.String;
88
- readonly lastActivityAt: Schema.String;
89
- }, "Type">[], CacheError, never>;
90
- findAll: () => Effect.Effect<Schema.Struct.ReadonlySide<{
91
- readonly id: Schema.String;
92
- readonly pullRequestId: Schema.String;
93
- readonly awsAccountId: Schema.String;
94
- readonly repositoryName: Schema.String;
95
- readonly sourceBranch: Schema.String;
96
- readonly containerId: Schema.NullOr<Schema.String>;
97
- readonly port: Schema.NullOr<Schema.Number>;
98
- readonly workspacePath: Schema.String;
99
- readonly status: Schema.String;
100
- readonly statusDetail: Schema.NullOr<Schema.String>;
101
- readonly logs: Schema.NullOr<Schema.String>;
102
- readonly error: Schema.NullOr<Schema.String>;
103
- readonly createdAt: Schema.String;
104
- readonly lastActivityAt: Schema.String;
105
- }, "Type">[], CacheError, never>;
44
+ findById: (id: SandboxId) => Effect.Effect<{
45
+ readonly id: string;
46
+ readonly pullRequestId: string;
47
+ readonly awsAccountId: string;
48
+ readonly repositoryName: string;
49
+ readonly sourceBranch: string;
50
+ readonly accessPassword: string | null;
51
+ readonly containerId: string | null;
52
+ readonly port: number | null;
53
+ readonly workspacePath: string;
54
+ readonly status: string;
55
+ readonly statusDetail: string | null;
56
+ readonly logs: string | null;
57
+ readonly error: string | null;
58
+ readonly createdAt: string;
59
+ readonly lastActivityAt: string;
60
+ }, CacheError | Schema.SchemaError | import("effect/unstable/sql/SqlError").SqlError, never>;
61
+ findByPr: (awsAccountId: string, pullRequestId: string) => Effect.Effect<Option.Option<{
62
+ readonly id: string;
63
+ readonly pullRequestId: string;
64
+ readonly awsAccountId: string;
65
+ readonly repositoryName: string;
66
+ readonly sourceBranch: string;
67
+ readonly accessPassword: string | null;
68
+ readonly containerId: string | null;
69
+ readonly port: number | null;
70
+ readonly workspacePath: string;
71
+ readonly status: string;
72
+ readonly statusDetail: string | null;
73
+ readonly logs: string | null;
74
+ readonly error: string | null;
75
+ readonly createdAt: string;
76
+ readonly lastActivityAt: string;
77
+ }>, CacheError, never>;
78
+ findActive: () => Effect.Effect<{
79
+ readonly id: string;
80
+ readonly pullRequestId: string;
81
+ readonly awsAccountId: string;
82
+ readonly repositoryName: string;
83
+ readonly sourceBranch: string;
84
+ readonly accessPassword: string | null;
85
+ readonly containerId: string | null;
86
+ readonly port: number | null;
87
+ readonly workspacePath: string;
88
+ readonly status: string;
89
+ readonly statusDetail: string | null;
90
+ readonly logs: string | null;
91
+ readonly error: string | null;
92
+ readonly createdAt: string;
93
+ readonly lastActivityAt: string;
94
+ }[], CacheError, never>;
95
+ findAll: () => Effect.Effect<{
96
+ readonly id: string;
97
+ readonly pullRequestId: string;
98
+ readonly awsAccountId: string;
99
+ readonly repositoryName: string;
100
+ readonly sourceBranch: string;
101
+ readonly accessPassword: string | null;
102
+ readonly containerId: string | null;
103
+ readonly port: number | null;
104
+ readonly workspacePath: string;
105
+ readonly status: string;
106
+ readonly statusDetail: string | null;
107
+ readonly logs: string | null;
108
+ readonly error: string | null;
109
+ readonly createdAt: string;
110
+ readonly lastActivityAt: string;
111
+ }[], CacheError, never>;
106
112
  delete: (id: SandboxId) => Effect.Effect<readonly import("effect/unstable/sql/SqlConnection").Row[], CacheError, never>;
107
113
  updateDetail: (id: SandboxId, detail: string) => Effect.Effect<readonly import("effect/unstable/sql/SqlConnection").Row[], CacheError, never>;
108
114
  appendLog: (id: SandboxId, line: string) => Effect.Effect<readonly import("effect/unstable/sql/SqlConnection").Row[], CacheError, never>;
109
115
  updateActivity: (id: SandboxId) => Effect.Effect<readonly import("effect/unstable/sql/SqlConnection").Row[], CacheError, never>;
110
116
  }, never, EventsHub | SqlClient.SqlClient>;
111
- export interface SandboxRepoShape extends Success<typeof makeSandboxRepo> {
117
+ export interface SandboxRepoContract extends Success<typeof makeSandboxRepo> {
112
118
  }
113
- declare const SandboxRepo_base: Context.ServiceClass<SandboxRepo, "SandboxRepo", SandboxRepoShape>;
119
+ declare const SandboxRepo_base: Context.ServiceClass<SandboxRepo, "SandboxRepo", SandboxRepoContract>;
114
120
  export declare class SandboxRepo extends SandboxRepo_base {
115
- static readonly Default: Layer.Layer<SandboxRepo, import("effect/Config").ConfigError | import("@effect/sql-libsql/LibsqlMigrator").MigrationError | import("effect/PlatformError").PlatformError | import("effect/unstable/sql/SqlError").SqlError, import("effect/FileSystem").FileSystem>;
121
+ static readonly Default: Layer.Layer<SandboxRepo, CacheError | import("effect/Config").ConfigError | import("@effect/sql-libsql/LibsqlMigrator").MigrationError | import("effect/unstable/sql/SqlError").SqlError, never>;
116
122
  }
117
123
  export {};
118
124
  //# sourceMappingURL=SandboxRepo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxRepo.d.ts","sourceRoot":"","sources":["../../../src/CacheService/repos/SandboxRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAA;AAEvD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;EAerB,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAUD,QAAA,MAAM,eAAe;sBAuCC,aAAa;uBASzB,SAAS,UACL,aAAa,UACb;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;mBAiBlD,SAAS;;;;;;;;;;;;;;;;6BAUC,MAAM,iBAAiB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOzC,SAAS;uBAMH,SAAS,UAAU,MAAM;oBAa5B,SAAS,QAAQ,MAAM;yBAalB,SAAS;0CAOhC,CAAA;AAEF,MAAM,WAAW,gBAAiB,SAAQ,OAAO,CAAC,OAAO,eAAe,CAAC;CAAG;;AAE5E,qBAAa,WAAY,SAAQ,gBAGf;IAChB,MAAM,CAAC,QAAQ,CAAC,OAAO,sQAEtB;CACF"}
1
+ {"version":3,"file":"SandboxRepo.d.ts","sourceRoot":"","sources":["../../../src/CacheService/repos/SandboxRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAA;AAEvD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;EAgBrB,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAUD,QAAA,MAAM,eAAe;sBAuCC,aAAa;uBASzB,SAAS,UACL,aAAa,UACb;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;mBAiBlD,SAAS;;;;;;;;;;;;;;;;;6BAUC,MAAM,iBAAiB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOzC,SAAS;uBAMH,SAAS,UAAU,MAAM;oBAa5B,SAAS,QAAQ,MAAM;yBAalB,SAAS;0CAOhC,CAAA;AAEF,MAAM,WAAW,mBAAoB,SAAQ,OAAO,CAAC,OAAO,eAAe,CAAC;CAAG;;AAE/E,qBAAa,WAAY,SAAQ,gBAGf;IAChB,MAAM,CAAC,QAAQ,CAAC,OAAO,mMAEtB;CACF"}
@@ -10,6 +10,7 @@ export const SandboxRow = Schema.Struct({
10
10
  awsAccountId: Schema.String,
11
11
  repositoryName: Schema.String,
12
12
  sourceBranch: Schema.String,
13
+ accessPassword: Schema.NullOr(Schema.String),
13
14
  containerId: Schema.NullOr(Schema.String),
14
15
  port: Schema.NullOr(Schema.Number),
15
16
  workspacePath: Schema.String,
@@ -53,8 +54,8 @@ const makeSandboxRepo = Effect.gen(function* () {
53
54
  });
54
55
  const voidRequest = undefined;
55
56
  const service = {
56
- insert: (sandbox) => sql `INSERT INTO sandboxes (id, pull_request_id, aws_account_id, repository_name, source_branch, workspace_path, status, created_at, last_activity_at)
57
- VALUES (${sandbox.id}, ${sandbox.pullRequestId}, ${sandbox.awsAccountId}, ${sandbox.repositoryName}, ${sandbox.sourceBranch}, ${sandbox.workspacePath}, ${sandbox.status}, ${sandbox.createdAt}, ${sandbox.lastActivityAt})`
57
+ insert: (sandbox) => sql `INSERT INTO sandboxes (id, pull_request_id, aws_account_id, repository_name, source_branch, access_password, workspace_path, status, created_at, last_activity_at)
58
+ VALUES (${sandbox.id}, ${sandbox.pullRequestId}, ${sandbox.awsAccountId}, ${sandbox.repositoryName}, ${sandbox.sourceBranch}, ${sandbox.accessPassword}, ${sandbox.workspacePath}, ${sandbox.status}, ${sandbox.createdAt}, ${sandbox.lastActivityAt})`
58
59
  .pipe(Effect.tap(() => publish), cacheError("insert")),
59
60
  updateStatus: (id, status, extra) => isoNow.pipe(Effect.flatMap((now) => sql `UPDATE sandboxes SET
60
61
  status = ${status},
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxRepo.js","sourceRoot":"","sources":["../../../src/CacheService/repos/SandboxRepo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SandboxRepo.js","sourceRoot":"","sources":["../../../src/CacheService/repos/SandboxRepo.ts"],"names":[],"mappings":"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"}
@@ -75,11 +75,11 @@ declare const makeStatsRepo: Effect.Effect<{
75
75
  avgTimeToMerge: (weekStart: string, weekEnd: string, filters: import("./internal.ts").Filters) => Effect.Effect<number | null, import("../../CacheError.ts").CacheError, never>;
76
76
  dataAvailableSince: () => Effect.Effect<string | null, import("../../CacheError.ts").CacheError, never>;
77
77
  }, never, SqlClient.SqlClient>;
78
- export interface StatsRepoShape extends Success<typeof makeStatsRepo> {
78
+ export interface StatsRepoContract extends Success<typeof makeStatsRepo> {
79
79
  }
80
- declare const StatsRepo_base: Context.ServiceClass<StatsRepo, "StatsRepo", StatsRepoShape>;
80
+ declare const StatsRepo_base: Context.ServiceClass<StatsRepo, "StatsRepo", StatsRepoContract>;
81
81
  export declare class StatsRepo extends StatsRepo_base {
82
- static readonly Default: Layer.Layer<StatsRepo, import("effect/Config").ConfigError | import("@effect/sql-libsql/LibsqlMigrator").MigrationError | import("effect/PlatformError").PlatformError | import("effect/unstable/sql/SqlError").SqlError, import("effect/FileSystem").FileSystem>;
82
+ static readonly Default: Layer.Layer<StatsRepo, import("../../CacheError.ts").CacheError | import("effect/Config").ConfigError | import("@effect/sql-libsql/LibsqlMigrator").MigrationError | import("effect/unstable/sql/SqlError").SqlError, never>;
83
83
  }
84
84
  export declare namespace StatsRepo {
85
85
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAS1D,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAoBjB,CAAA;AAEF,MAAM,WAAW,cAAe,SAAQ,OAAO,CAAC,OAAO,aAAa,CAAC;CAAG;;AAExE,qBAAa,SAAU,SAAQ,cAGf;IACd,MAAM,CAAC,QAAQ,CAAC,OAAO,oQAEtB;CACF;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC;;OAEG;IACH,UAAiB,OAAO;QACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACtC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/CacheService/repos/StatsRepo/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAS1D,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAoBjB,CAAA;AAEF,MAAM,WAAW,iBAAkB,SAAQ,OAAO,CAAC,OAAO,aAAa,CAAC;CAAG;;AAE3E,qBAAa,SAAU,SAAQ,cAGf;IACd,MAAM,CAAC,QAAQ,CAAC,OAAO,+NAEtB;CACF;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC;;OAEG;IACH,UAAiB,OAAO;QACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACtC;CACF"}
@@ -1,4 +1,4 @@
1
- import { Context, Effect, Layer, Schema } from "effect";
1
+ import { Context, Effect, Layer } from "effect";
2
2
  import type { Success } from "effect/Effect";
3
3
  import * as SqlClient from "effect/unstable/sql/SqlClient";
4
4
  import { CacheError } from "../CacheError.js";
@@ -6,17 +6,17 @@ import { EventsHub } from "../EventsHub.js";
6
6
  declare const makeSubscriptionRepo: Effect.Effect<{
7
7
  subscribe: (awsAccountId: string, prId: string) => Effect.Effect<void, CacheError, never>;
8
8
  unsubscribe: (awsAccountId: string, prId: string) => Effect.Effect<void, CacheError, never>;
9
- findAll: () => Effect.Effect<Schema.Struct.ReadonlySide<{
10
- readonly awsAccountId: Schema.String;
11
- readonly pullRequestId: Schema.String;
12
- }, "Type">[], CacheError, never>;
9
+ findAll: () => Effect.Effect<{
10
+ readonly awsAccountId: string;
11
+ readonly pullRequestId: string;
12
+ }[], CacheError, never>;
13
13
  isSubscribed: (awsAccountId: string, prId: string) => Effect.Effect<boolean, CacheError, never>;
14
14
  }, never, EventsHub | SqlClient.SqlClient>;
15
- export interface SubscriptionRepoShape extends Success<typeof makeSubscriptionRepo> {
15
+ export interface SubscriptionRepoContract extends Success<typeof makeSubscriptionRepo> {
16
16
  }
17
- declare const SubscriptionRepo_base: Context.ServiceClass<SubscriptionRepo, "SubscriptionRepo", SubscriptionRepoShape>;
17
+ declare const SubscriptionRepo_base: Context.ServiceClass<SubscriptionRepo, "SubscriptionRepo", SubscriptionRepoContract>;
18
18
  export declare class SubscriptionRepo extends SubscriptionRepo_base {
19
- static readonly Default: Layer.Layer<SubscriptionRepo, import("effect/Config").ConfigError | import("@effect/sql-libsql/LibsqlMigrator").MigrationError | import("effect/PlatformError").PlatformError | import("effect/unstable/sql/SqlError").SqlError, import("effect/FileSystem").FileSystem>;
19
+ static readonly Default: Layer.Layer<SubscriptionRepo, CacheError | import("effect/Config").ConfigError | import("@effect/sql-libsql/LibsqlMigrator").MigrationError | import("effect/unstable/sql/SqlError").SqlError, never>;
20
20
  }
21
21
  export {};
22
22
  //# sourceMappingURL=SubscriptionRepo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SubscriptionRepo.d.ts","sourceRoot":"","sources":["../../../src/CacheService/repos/SubscriptionRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAA;AAavD,QAAA,MAAM,oBAAoB;8BAsCI,MAAM,QAAQ,MAAM;gCAGlB,MAAM,QAAQ,MAAM;;;;;iCAKnB,MAAM,QAAQ,MAAM;0CAOnD,CAAA;AAEF,MAAM,WAAW,qBAAsB,SAAQ,OAAO,CAAC,OAAO,oBAAoB,CAAC;CAAG;;AAEtF,qBAAa,gBAAiB,SAAQ,qBAGf;IACrB,MAAM,CAAC,QAAQ,CAAC,OAAO,2QAEtB;CACF"}
1
+ {"version":3,"file":"SubscriptionRepo.d.ts","sourceRoot":"","sources":["../../../src/CacheService/repos/SubscriptionRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAU,MAAM,QAAQ,CAAA;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAA;AAavD,QAAA,MAAM,oBAAoB;8BAsCI,MAAM,QAAQ,MAAM;gCAGlB,MAAM,QAAQ,MAAM;;;;;iCAKnB,MAAM,QAAQ,MAAM;0CAOnD,CAAA;AAEF,MAAM,WAAW,wBAAyB,SAAQ,OAAO,CAAC,OAAO,oBAAoB,CAAC;CAAG;;AAEzF,qBAAa,gBAAiB,SAAQ,qBAGf;IACrB,MAAM,CAAC,QAAQ,CAAC,OAAO,wMAEtB;CACF"}
@@ -6,11 +6,11 @@ declare const makeSyncMetadataRepo: Effect.Effect<{
6
6
  getLastSyncedAt: (accountId: string, region: string) => Effect.Effect<Option.Option<string>, CacheError, never>;
7
7
  update: (accountId: string, region: string) => Effect.Effect<void, CacheError, never>;
8
8
  }, never, SqlClient.SqlClient>;
9
- export interface SyncMetadataRepoShape extends Success<typeof makeSyncMetadataRepo> {
9
+ export interface SyncMetadataRepoContract extends Success<typeof makeSyncMetadataRepo> {
10
10
  }
11
- declare const SyncMetadataRepo_base: Context.ServiceClass<SyncMetadataRepo, "SyncMetadataRepo", SyncMetadataRepoShape>;
11
+ declare const SyncMetadataRepo_base: Context.ServiceClass<SyncMetadataRepo, "SyncMetadataRepo", SyncMetadataRepoContract>;
12
12
  export declare class SyncMetadataRepo extends SyncMetadataRepo_base {
13
- static readonly Default: Layer.Layer<SyncMetadataRepo, import("effect/Config").ConfigError | import("@effect/sql-libsql/LibsqlMigrator").MigrationError | import("effect/PlatformError").PlatformError | import("effect/unstable/sql/SqlError").SqlError, import("effect/FileSystem").FileSystem>;
13
+ static readonly Default: Layer.Layer<SyncMetadataRepo, CacheError | import("effect/Config").ConfigError | import("@effect/sql-libsql/LibsqlMigrator").MigrationError | import("effect/unstable/sql/SqlError").SqlError, never>;
14
14
  }
15
15
  export {};
16
16
  //# sourceMappingURL=SyncMetadataRepo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SyncMetadataRepo.d.ts","sourceRoot":"","sources":["../../../src/CacheService/repos/SyncMetadataRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAkB7C,QAAA,MAAM,oBAAoB;iCAmBO,MAAM,UAAU,MAAM;wBAM/B,MAAM,UAAU,MAAM;8BAG5C,CAAA;AAEF,MAAM,WAAW,qBAAsB,SAAQ,OAAO,CAAC,OAAO,oBAAoB,CAAC;CAAG;;AAEtF,qBAAa,gBAAiB,SAAQ,qBAGf;IACrB,MAAM,CAAC,QAAQ,CAAC,OAAO,2QAEtB;CACF"}
1
+ {"version":3,"file":"SyncMetadataRepo.d.ts","sourceRoot":"","sources":["../../../src/CacheService/repos/SyncMetadataRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAkB7C,QAAA,MAAM,oBAAoB;iCAmBO,MAAM,UAAU,MAAM;wBAM/B,MAAM,UAAU,MAAM;8BAG5C,CAAA;AAEF,MAAM,WAAW,wBAAyB,SAAQ,OAAO,CAAC,OAAO,oBAAoB,CAAC;CAAG;;AAEzF,qBAAa,gBAAiB,SAAQ,qBAGf;IACrB,MAAM,CAAC,QAAQ,CAAC,OAAO,wMAEtB;CACF"}
@@ -1,5 +1,5 @@
1
1
  import { Effect } from "effect";
2
- import { type PRCommentLocation, type PRCommentLocationJson } from "../../Domain.js";
2
+ import { type PRCommentLocation, PRCommentLocationJson } from "../../Domain.js";
3
3
  export type CommentLocationJson = typeof PRCommentLocationJson.Type;
4
4
  export type CommentThreadJson = CommentLocationJson["comments"][number];
5
5
  export declare const decodeCommentLocations: (locationsJson: string) => Effect.Effect<ReadonlyArray<PRCommentLocation>>;
@@ -1 +1 @@
1
- {"version":3,"file":"commentLocations.d.ts","sourceRoot":"","sources":["../../../src/CacheService/repos/commentLocations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,QAAQ,CAAA;AAClD,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC3B,MAAM,iBAAiB,CAAA;AAExB,MAAM,MAAM,mBAAmB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AACnE,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AA2GvE,eAAO,MAAM,sBAAsB,kBAClB,MAAM,KACpB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAG9C,CAAA;AAEH,eAAO,MAAM,yBAAyB,kBACrB,MAAM,KACpB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,CACoB,CAAA"}
1
+ {"version":3,"file":"commentLocations.d.ts","sourceRoot":"","sources":["../../../src/CacheService/repos/commentLocations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAkB,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAIL,KAAK,iBAAiB,EACtB,qBAAqB,EACtB,MAAM,iBAAiB,CAAA;AAExB,MAAM,MAAM,mBAAmB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AACnE,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AA0CvE,eAAO,MAAM,sBAAsB,kBAClB,MAAM,KACpB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAG9C,CAAA;AAEH,eAAO,MAAM,yBAAyB,kBACrB,MAAM,KACpB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,CACoB,CAAA"}
@@ -1,85 +1,20 @@
1
- import { Effect, Predicate, Schema } from "effect";
2
- import { CommentId, PRComment } from "../../Domain.js";
1
+ import { Effect, Option, Schema } from "effect";
2
+ import { CommentId, PRComment, PRCommentLocationJson } from "../../Domain.js";
3
3
  const decodeCommentId = Schema.decodeUnknownSync(CommentId);
4
- const optionalString = (value) => typeof value === "string" ? value : undefined;
5
- const optionalNumber = (value) => typeof value === "number" ? value : undefined;
6
- const requiredString = (value) => typeof value === "string" ? value : null;
7
- const requiredBoolean = (value) => typeof value === "boolean" ? value : null;
4
+ const decodeCommentLocationJsonArray = Schema.decodeUnknownOption(Schema.Array(PRCommentLocationJson));
5
+ const decodeJson = Schema.decodeUnknownSync(Schema.fromJsonString(Schema.Json));
8
6
  const parseJson = (json) => {
9
7
  try {
10
- return JSON.parse(json);
8
+ return decodeJson(json);
11
9
  }
12
10
  catch {
13
11
  return undefined;
14
12
  }
15
13
  };
16
- const jsonThreadFromUnknown = (value) => {
17
- if (!Predicate.isObject(value))
18
- return null;
19
- const root = value["root"];
20
- const replies = value["replies"];
21
- if (!Predicate.isObject(root) || !Array.isArray(replies))
22
- return null;
23
- const id = requiredString(root["id"]);
24
- const content = requiredString(root["content"]);
25
- const author = requiredString(root["author"]);
26
- const creationDate = requiredString(root["creationDate"]);
27
- const deleted = requiredBoolean(root["deleted"]);
28
- if (id === null || content === null || author === null || creationDate === null || deleted === null)
29
- return null;
30
- const decodedReplies = [];
31
- for (const reply of replies) {
32
- const decoded = jsonThreadFromUnknown(reply);
33
- if (decoded === null)
34
- return null;
35
- decodedReplies.push(decoded);
36
- }
37
- return {
38
- root: {
39
- id,
40
- content,
41
- author,
42
- creationDate,
43
- ...(optionalString(root["inReplyTo"]) !== undefined ? { inReplyTo: optionalString(root["inReplyTo"]) } : {}),
44
- deleted,
45
- ...(optionalString(root["filePath"]) !== undefined ? { filePath: optionalString(root["filePath"]) } : {}),
46
- ...(optionalNumber(root["lineNumber"]) !== undefined ? { lineNumber: optionalNumber(root["lineNumber"]) } : {})
47
- },
48
- replies: decodedReplies
49
- };
50
- };
51
- const jsonLocationFromUnknown = (value) => {
52
- if (!Predicate.isObject(value) || !Array.isArray(value["comments"]))
53
- return null;
54
- const comments = [];
55
- for (const comment of value["comments"]) {
56
- const decoded = jsonThreadFromUnknown(comment);
57
- if (decoded === null)
58
- return null;
59
- comments.push(decoded);
60
- }
61
- return {
62
- ...(optionalString(value["filePath"]) !== undefined ? { filePath: optionalString(value["filePath"]) } : {}),
63
- ...(optionalString(value["beforeCommitId"]) !== undefined
64
- ? { beforeCommitId: optionalString(value["beforeCommitId"]) }
65
- : {}),
66
- ...(optionalString(value["afterCommitId"]) !== undefined
67
- ? { afterCommitId: optionalString(value["afterCommitId"]) }
68
- : {}),
69
- comments
70
- };
71
- };
72
14
  const jsonLocationsFromUnknown = (value) => {
73
- if (!Array.isArray(value))
74
- return [];
75
- const locations = [];
76
- for (const item of value) {
77
- const decoded = jsonLocationFromUnknown(item);
78
- if (decoded === null)
79
- return [];
80
- locations.push(decoded);
81
- }
82
- return locations;
15
+ // Cached comment groups are one coherent snapshot. Reject the whole payload
16
+ // to an empty snapshot when any persisted field violates the wire schema.
17
+ return Option.getOrElse(decodeCommentLocationJsonArray(value), () => []);
83
18
  };
84
19
  const threadFromJson = (thread) => ({
85
20
  root: new PRComment({
@@ -87,17 +22,18 @@ const threadFromJson = (thread) => ({
87
22
  content: thread.root.content,
88
23
  author: thread.root.author,
89
24
  creationDate: new Date(thread.root.creationDate),
90
- ...(thread.root.inReplyTo !== undefined ? { inReplyTo: decodeCommentId(thread.root.inReplyTo) } : {}),
25
+ ...((thread.root.inReplyTo !== undefined) && { inReplyTo: decodeCommentId(thread.root.inReplyTo) }),
91
26
  deleted: thread.root.deleted,
92
- ...(thread.root.filePath !== undefined ? { filePath: thread.root.filePath } : {}),
93
- ...(thread.root.lineNumber !== undefined ? { lineNumber: thread.root.lineNumber } : {})
27
+ ...((thread.root.filePath !== undefined) && { filePath: thread.root.filePath }),
28
+ ...((thread.root.lineNumber !== undefined) && { lineNumber: thread.root.lineNumber })
94
29
  }),
95
30
  replies: thread.replies.map(threadFromJson)
96
31
  });
97
32
  const locationFromJson = (location) => ({
98
- ...(location.filePath !== undefined ? { filePath: location.filePath } : {}),
99
- ...(location.beforeCommitId !== undefined ? { beforeCommitId: location.beforeCommitId } : {}),
100
- ...(location.afterCommitId !== undefined ? { afterCommitId: location.afterCommitId } : {}),
33
+ ...((location.filePath !== undefined) && { filePath: location.filePath }),
34
+ ...((location.beforeCommitId !== undefined) && { beforeCommitId: location.beforeCommitId }),
35
+ ...((location.afterCommitId !== undefined) && { afterCommitId: location.afterCommitId }),
36
+ ...((location.relativeFileVersion !== undefined) && { relativeFileVersion: location.relativeFileVersion }),
101
37
  comments: location.comments.map(threadFromJson)
102
38
  });
103
39
  export const decodeCommentLocations = (locationsJson) => decodeCommentLocationJson(locationsJson).pipe(Effect.map((locations) => locations.map(locationFromJson)));
@@ -1 +1 @@
1
- {"version":3,"file":"commentLocations.js","sourceRoot":"","sources":["../../../src/CacheService/repos/commentLocations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commentLocations.js","sourceRoot":"","sources":["../../../src/CacheService/repos/commentLocations.ts"],"names":[],"mappings":"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"}
@@ -18,19 +18,84 @@
18
18
  * environment rather than setting it to the string `"undefined"` — verified on
19
19
  * both Node and Bun, the two runtimes this CLI ships on.
20
20
  */
21
+ /**
22
+ * Credential and region variables that outrank profile configuration.
23
+ *
24
+ * Two environment credential providers sit above the profile in the chain, so
25
+ * both have to be cleared:
26
+ *
27
+ * - Static credentials, including `AWS_SECURITY_TOKEN` — the legacy alias for
28
+ * `AWS_SESSION_TOKEN`, still honoured by the CLI.
29
+ * - Web identity, which activates from `AWS_ROLE_ARN` plus
30
+ * `AWS_WEB_IDENTITY_TOKEN_FILE` and would otherwise assume an ambient role.
31
+ *
32
+ * Both `AWS_REGION` and `AWS_DEFAULT_REGION` are cleared. Clearing only one is
33
+ * worse than clearing neither, because which variable leaks through then depends
34
+ * on the caller's shell rather than on anything this module states.
35
+ *
36
+ * Deliberately *not* cleared:
37
+ *
38
+ * - `AWS_CONTAINER_CREDENTIALS_*` and IMDS resolve *below* the shared config
39
+ * file, so they cannot outrank an explicit profile.
40
+ * - `AWS_CONFIG_FILE` and `AWS_SHARED_CREDENTIALS_FILE` select which file the
41
+ * profile is read from. The parent resolved the profile name against those
42
+ * same paths, so clearing them would point the child at a different file and
43
+ * break legitimate custom config locations.
44
+ *
45
+ * CASE INSENSITIVITY. Clearing works by mapping each name to `undefined` in an
46
+ * object merged over the inherited environment, and that merge matches keys
47
+ * exactly. Windows environment names are case-insensitive, so a host exporting
48
+ * `Aws_Access_Key_Id` would keep that entry alive beside the `AWS_ACCESS_KEY_ID`
49
+ * tombstone and the AWS CLI could still read it. `profileScopedEnv` therefore
50
+ * takes the inherited environment and tombstones the spellings actually present
51
+ * as well as the canonical names, which closes the gap without taking `PATH` and
52
+ * every other inherited variable into this module's hands: the spawn stays
53
+ * `extendEnv: true`.
54
+ *
55
+ * The folding is unconditional, on every platform. On POSIX a lowercase
56
+ * `aws_access_key_id` is a genuinely distinct variable that the AWS chain never
57
+ * reads, so dropping it is broader than strictly required — deliberately, because
58
+ * detecting a case-insensitive host would mean reading the platform from this
59
+ * module, and a variable differing only in case carries the same intent. Nothing
60
+ * we spawn (`git`, `aws`, `assume`, `docker`) reads the lowercase spellings.
61
+ */
62
+ import { Context, Layer } from "effect";
21
63
  /**
22
64
  * Builds a child environment where `overrides` are the only AWS credential and
23
65
  * region inputs, dropping any ambient values that would outrank them.
24
66
  *
67
+ * `inherited` is the environment the child will extend. It is read only to find
68
+ * which spellings of the overriding names are actually present, so a
69
+ * case-insensitive host cannot keep `Aws_Access_Key_Id` alive beside the
70
+ * canonical tombstone. Pass the environment the spawn will really inherit —
71
+ * `HostEnvironment.variables` at a runtime call site.
72
+ *
25
73
  * Must be paired with `extendEnv: true`; on its own it does not carry `PATH`.
26
74
  *
27
75
  * @example
28
76
  * ```ts
77
+ * const host = yield* ChildEnv.HostEnvironment
29
78
  * ChildProcess.make("git", args, {
30
- * env: ChildEnv.profileScopedEnv({ AWS_PROFILE: profile }),
79
+ * env: ChildEnv.profileScopedEnv(host.variables, { AWS_PROFILE: profile }),
31
80
  * extendEnv: true
32
81
  * })
33
82
  * ```
34
83
  */
35
- export declare const profileScopedEnv: (overrides: Record<string, string | undefined>) => Record<string, string | undefined>;
84
+ export declare const profileScopedEnv: (inherited: Record<string, string | undefined>, overrides: Record<string, string | undefined>) => {
85
+ [x: string]: string | undefined;
86
+ };
87
+ declare const HostEnvironment_base: Context.ServiceClass<HostEnvironment, "@knpkv/codecommit-core/ChildEnv/HostEnvironment", {
88
+ readonly variables: Record<string, string | undefined>;
89
+ }>;
90
+ /**
91
+ * The environment a spawned child will inherit.
92
+ *
93
+ * A service rather than a direct read because only the executable boundary may
94
+ * touch the host process, while the spawns that need it sit deep in the runtime.
95
+ */
96
+ export declare class HostEnvironment extends HostEnvironment_base {
97
+ }
98
+ /** Binds the inherited environment read at the executable boundary. */
99
+ export declare const layerHostEnvironment: (variables: Record<string, string | undefined>) => Layer.Layer<HostEnvironment>;
100
+ export {};
36
101
  //# sourceMappingURL=ChildEnv.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChildEnv.d.ts","sourceRoot":"","sources":["../src/ChildEnv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAoDH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,cAChB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,KAC5C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAMnC,CAAA"}
1
+ {"version":3,"file":"ChildEnv.d.ts","sourceRoot":"","sources":["../src/ChildEnv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAuBvC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,gBAAgB,cAChB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,aAClC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;;CAU9C,CAAA;;wBASqB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;;AAPxD;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,oBAEkB;CAAG;AAE1D,uEAAuE;AACvE,eAAO,MAAM,oBAAoB,cACpB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,KAC5C,KAAK,CAAC,KAAK,CAAC,eAAe,CAAsE,CAAA"}