@knpkv/codecommit-web 0.10.0 → 0.11.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 (73) hide show
  1. package/dist/client/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
  2. package/dist/client/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
  3. package/dist/client/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
  4. package/dist/client/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
  5. package/dist/client/assets/geist-mono-cyrillic-ext-wght-normal-I4S5GZfc.woff2 +0 -0
  6. package/dist/client/assets/geist-mono-cyrillic-wght-normal-BmXc_FBt.woff2 +0 -0
  7. package/dist/client/assets/geist-mono-latin-ext-wght-normal-DrnZ1wKl.woff2 +0 -0
  8. package/dist/client/assets/geist-mono-latin-wght-normal-B_7UjwxQ.woff2 +0 -0
  9. package/dist/client/assets/geist-mono-symbols2-wght-normal-GZpp1pK2.woff2 +0 -0
  10. package/dist/client/assets/geist-mono-vietnamese-wght-normal-D8KDMBhC.woff2 +0 -0
  11. package/dist/client/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
  12. package/dist/client/assets/index-Dv7jNWIj.js +90 -0
  13. package/dist/client/assets/index-olbvD6Ke.css +1 -0
  14. package/dist/client/index.html +2 -2
  15. package/dist/main.js +1 -1
  16. package/dist/main.js.map +1 -1
  17. package/dist/server/Api.d.ts +457 -468
  18. package/dist/server/Api.d.ts.map +1 -1
  19. package/dist/server/Api.js +218 -200
  20. package/dist/server/Api.js.map +1 -1
  21. package/dist/server/Server.d.ts +3 -3
  22. package/dist/server/Server.d.ts.map +1 -1
  23. package/dist/server/Server.js +25 -23
  24. package/dist/server/Server.js.map +1 -1
  25. package/dist/server/handlers/accounts-live.d.ts +1 -1
  26. package/dist/server/handlers/accounts-live.d.ts.map +1 -1
  27. package/dist/server/handlers/accounts-live.js +1 -1
  28. package/dist/server/handlers/accounts-live.js.map +1 -1
  29. package/dist/server/handlers/audit-live.d.ts +6 -1
  30. package/dist/server/handlers/audit-live.d.ts.map +1 -1
  31. package/dist/server/handlers/audit-live.js +13 -13
  32. package/dist/server/handlers/audit-live.js.map +1 -1
  33. package/dist/server/handlers/config-live.d.ts +2 -1
  34. package/dist/server/handlers/config-live.d.ts.map +1 -1
  35. package/dist/server/handlers/config-live.js +15 -14
  36. package/dist/server/handlers/config-live.js.map +1 -1
  37. package/dist/server/handlers/events-live.d.ts +17 -1
  38. package/dist/server/handlers/events-live.d.ts.map +1 -1
  39. package/dist/server/handlers/events-live.js +14 -13
  40. package/dist/server/handlers/events-live.js.map +1 -1
  41. package/dist/server/handlers/notifications-live.d.ts +12 -1
  42. package/dist/server/handlers/notifications-live.d.ts.map +1 -1
  43. package/dist/server/handlers/notifications-live.js +22 -14
  44. package/dist/server/handlers/notifications-live.js.map +1 -1
  45. package/dist/server/handlers/permissions-live.d.ts +7 -1
  46. package/dist/server/handlers/permissions-live.d.ts.map +1 -1
  47. package/dist/server/handlers/permissions-live.js +1 -1
  48. package/dist/server/handlers/permissions-live.js.map +1 -1
  49. package/dist/server/handlers/prs-live.d.ts +14 -1
  50. package/dist/server/handlers/prs-live.d.ts.map +1 -1
  51. package/dist/server/handlers/prs-live.js +23 -20
  52. package/dist/server/handlers/prs-live.js.map +1 -1
  53. package/dist/server/handlers/sandbox-live.d.ts +1 -1
  54. package/dist/server/handlers/sandbox-live.d.ts.map +1 -1
  55. package/dist/server/handlers/sandbox-live.js +5 -5
  56. package/dist/server/handlers/sandbox-live.js.map +1 -1
  57. package/dist/server/handlers/stats-live.d.ts +11 -1
  58. package/dist/server/handlers/stats-live.d.ts.map +1 -1
  59. package/dist/server/handlers/stats-live.js +7 -7
  60. package/dist/server/handlers/stats-live.js.map +1 -1
  61. package/dist/server/handlers/subscriptions-live.d.ts +1 -1
  62. package/dist/server/handlers/subscriptions-live.d.ts.map +1 -1
  63. package/dist/server/handlers/subscriptions-live.js +1 -1
  64. package/dist/server/handlers/subscriptions-live.js.map +1 -1
  65. package/package.json +26 -29
  66. package/dist/client/assets/geist-cyrillic-wght-normal-CHSlOQsW.woff2 +0 -0
  67. package/dist/client/assets/geist-latin-ext-wght-normal-DMtmJ5ZE.woff2 +0 -0
  68. package/dist/client/assets/geist-latin-wght-normal-Dm3htQBi.woff2 +0 -0
  69. package/dist/client/assets/geist-mono-cyrillic-wght-normal-BZdD_g9V.woff2 +0 -0
  70. package/dist/client/assets/geist-mono-latin-ext-wght-normal-b6lpi8_2.woff2 +0 -0
  71. package/dist/client/assets/geist-mono-latin-wght-normal-Cjtb1TV-.woff2 +0 -0
  72. package/dist/client/assets/index-nrvy41i3.css +0 -1
  73. package/dist/client/assets/index-vzkZdqP0.js +0 -481
@@ -8,37 +8,42 @@
8
8
  *
9
9
  * @module
10
10
  */
11
- import { Command, HttpApiBuilder } from "@effect/platform";
12
11
  import { AwsClient, CacheService, PRService } from "@knpkv/codecommit-core";
13
- import { Duration, Effect, SubscriptionRef } from "effect";
12
+ import { Duration, Effect, Semaphore, SubscriptionRef } from "effect";
13
+ import { HttpApiBuilder } from "effect/unstable/httpapi";
14
+ import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
14
15
  import { ApiError, CodeCommitApi } from "../Api.js";
15
16
  const SSO_TIMEOUT = Duration.minutes(3);
17
+ const exitCode = (cmd) => Effect.flatMap(ChildProcessSpawner.ChildProcessSpawner, (spawner) => spawner.exitCode(cmd));
16
18
  export const NotificationsLive = HttpApiBuilder.group(CodeCommitApi, "notifications", (handlers) => Effect.gen(function* () {
17
19
  const prService = yield* PRService.PRService;
18
20
  const awsClient = yield* AwsClient.AwsClient;
19
21
  const notificationRepo = yield* CacheService.NotificationRepo;
20
- const ssoSemaphore = yield* Effect.makeSemaphore(1);
22
+ const ssoSemaphore = yield* Semaphore.make(1);
21
23
  return handlers
22
- .handle("list", ({ urlParams }) => notificationRepo.findAll({
23
- limit: urlParams.limit ?? 20,
24
- ...(urlParams.cursor !== undefined ? { cursor: urlParams.cursor } : {}),
25
- ...(urlParams.filter !== undefined ? { filter: urlParams.filter } : {}),
26
- ...(urlParams.unreadOnly ? { unreadOnly: true } : {})
24
+ .handle("list", ({ query }) => notificationRepo.findAll({
25
+ limit: query.limit ?? 20,
26
+ ...(query.cursor !== undefined ? { cursor: query.cursor } : {}),
27
+ ...(query.filter !== undefined ? { filter: query.filter } : {}),
28
+ ...(query.unreadOnly ? { unreadOnly: true } : {})
27
29
  }).pipe(Effect.orDie))
28
30
  .handle("count", () => notificationRepo.unreadCount().pipe(Effect.map((unread) => ({ unread })), Effect.orDie))
29
31
  .handle("markRead", ({ payload }) => notificationRepo.markRead(payload.id).pipe(Effect.map(() => "ok"), Effect.orDie))
30
32
  .handle("markUnread", ({ payload }) => notificationRepo.markUnread(payload.id).pipe(Effect.map(() => "ok"), Effect.orDie))
31
33
  .handle("markAllRead", () => notificationRepo.markAllRead().pipe(Effect.map(() => "ok"), Effect.orDie))
32
34
  .handle("ssoLogin", ({ payload }) => Effect.gen(function* () {
33
- const cmd = Command.make("aws", "sso", "login", "--profile", payload.profile).pipe(Command.stdout("inherit"), Command.stderr("inherit"));
34
- yield* Effect.forkDaemon(ssoSemaphore.withPermits(1)(Command.exitCode(cmd).pipe(Effect.timeout(SSO_TIMEOUT), Effect.tap(() => Effect.gen(function* () {
35
+ const cmd = ChildProcess.make("aws", ["sso", "login", "--profile", payload.profile], {
36
+ stdout: "inherit",
37
+ stderr: "inherit"
38
+ });
39
+ yield* Effect.forkDetach(ssoSemaphore.withPermits(1)(exitCode(cmd).pipe(Effect.timeout(SSO_TIMEOUT), Effect.tap(() => Effect.gen(function* () {
35
40
  const state = yield* SubscriptionRef.get(prService.state);
36
41
  const account = state.accounts.find((a) => a.profile === payload.profile);
37
42
  const region = account?.region ?? "us-east-1";
38
43
  const identity = yield* awsClient.getCallerIdentity({
39
44
  profile: payload.profile,
40
45
  region
41
- }).pipe(Effect.catchAll(() => Effect.succeed(undefined)));
46
+ }).pipe(Effect.catchIf(() => true, () => Effect.succeed(undefined)));
42
47
  if (identity) {
43
48
  yield* SubscriptionRef.update(prService.state, (s) => ({
44
49
  ...s,
@@ -50,7 +55,7 @@ export const NotificationsLive = HttpApiBuilder.group(CodeCommitApi, "notificati
50
55
  title: payload.profile,
51
56
  message: `SSO login successful for ${payload.profile}`,
52
57
  profile: payload.profile
53
- })), Effect.tap(() => prService.refresh), Effect.catchAll((e) => Effect.logWarning("SSO login failed", e).pipe(Effect.zipRight(notificationRepo.addSystem({
58
+ })), Effect.tap(() => prService.refresh), Effect.catchIf(() => true, (e) => Effect.logWarning("SSO login failed", e).pipe(Effect.andThen(notificationRepo.addSystem({
54
59
  type: "error",
55
60
  title: "SSO Login Failed",
56
61
  message: "SSO login failed — check credentials",
@@ -59,8 +64,11 @@ export const NotificationsLive = HttpApiBuilder.group(CodeCommitApi, "notificati
59
64
  return "ok";
60
65
  }).pipe(Effect.mapError((e) => new ApiError({ message: String(e) || "Failed to start SSO login" }))))
61
66
  .handle("ssoLogout", () => Effect.gen(function* () {
62
- const cmd = Command.make("aws", "sso", "logout").pipe(Command.stdout("inherit"), Command.stderr("inherit"));
63
- yield* Effect.forkDaemon(ssoSemaphore.withPermits(1)(Command.exitCode(cmd).pipe(Effect.timeout(SSO_TIMEOUT), Effect.tap(() => SubscriptionRef.update(prService.state, ({ currentUser: _, ...rest }) => rest)), Effect.catchAll((e) => Effect.logWarning("SSO logout failed", e).pipe(Effect.zipRight(notificationRepo.addSystem({
67
+ const cmd = ChildProcess.make("aws", ["sso", "logout"], {
68
+ stdout: "inherit",
69
+ stderr: "inherit"
70
+ });
71
+ yield* Effect.forkDetach(ssoSemaphore.withPermits(1)(exitCode(cmd).pipe(Effect.timeout(SSO_TIMEOUT), Effect.tap(() => SubscriptionRef.update(prService.state, ({ currentUser: _, ...rest }) => rest)), Effect.catchIf(() => true, (e) => Effect.logWarning("SSO logout failed", e).pipe(Effect.andThen(notificationRepo.addSystem({
64
72
  type: "error",
65
73
  title: "SSO Logout Failed",
66
74
  message: "SSO logout failed"
@@ -1 +1 @@
1
- {"version":3,"file":"notifications-live.js","sourceRoot":"","sources":["../../../src/server/handlers/notifications-live.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notifications-live.js","sourceRoot":"","sources":["../../../src/server/handlers/notifications-live.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAE3E,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC3E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEnD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAEvC,MAAM,QAAQ,GAAG,CAAC,GAAyB,EAAE,EAAE,CAC7C,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;AAE7F,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,CACnD,aAAa,EACb,eAAe,EACf,CAAC,QAAQ,EAAE,EAAE,CACX,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAA;IAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAA;IAC5C,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAA;IAC7D,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAE7C,OAAO,QAAQ;SACZ,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAC5B,gBAAgB,CAAC,OAAO,CAAC;QACvB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;QACxB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACvB,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CACpB,gBAAgB,CAAC,WAAW,EAAE,CAAC,IAAI,CACjC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EACpC,MAAM,CAAC,KAAK,CACb,CAAC;SACH,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAClC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CACxC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EACtB,MAAM,CAAC,KAAK,CACb,CAAC;SACH,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACpC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EACtB,MAAM,CAAC,KAAK,CACb,CAAC;SACH,MAAM,CAAC,aAAa,EAAE,GAAG,EAAE,CAC1B,gBAAgB,CAAC,WAAW,EAAE,CAAC,IAAI,CACjC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EACtB,MAAM,CAAC,KAAK,CACb,CAAC;SACH,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;YACnF,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAA;QACF,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CACtB,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CACzB,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAChB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CACd,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YACzD,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;YACzE,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAK,WAAyB,CAAA;YAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBAClD,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM;aACP,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YACpE,IAAI,QAAQ,EAAE,CAAC;gBACb,KAAK,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACrD,GAAG,CAAC;oBACJ,WAAW,EAAE,QAAQ,CAAC,QAAQ;iBAC/B,CAAC,CAAC,CAAA;YACL,CAAC;QACH,CAAC,CAAC,CACH,EACD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CACd,gBAAgB,CAAC,SAAS,CAAC;YACzB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,OAAO,CAAC,OAAO;YACtB,OAAO,EAAE,4BAA4B,OAAO,CAAC,OAAO,EAAE;YACtD,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CACH,EACD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EACnC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/B,MAAM,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAC3C,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC;YACxC,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,kBAAkB;YACzB,OAAO,EAAE,sCAAsC;YAC/C,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC,CACJ,CAAC,CACL,CACF,CACF,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,2BAA2B,EAAE,CAAC,CAAC,CAC5F,CAAC;SACH,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,CACxB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE;YACtD,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAA;QACF,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CACtB,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CACzB,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAChB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAChG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/B,MAAM,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,IAAI,CAC5C,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC;YACxC,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,mBAAmB;YAC1B,OAAO,EAAE,mBAAmB;SAC7B,CAAC,CAAC,CACJ,CAAC,CACL,CACF,CACF,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,4BAA4B,EAAE,CAAC,CAAC,CAC7F,CAAC,CAAA;AACR,CAAC,CAAC,CACL,CAAA"}
@@ -1,3 +1,9 @@
1
+ /**
2
+ * @title Permissions handler — respond to prompts, manage permission state
3
+ *
4
+ * @module
5
+ */
1
6
  import { PermissionService } from "@knpkv/codecommit-core";
2
- export declare const PermissionsLive: import("effect/Layer").Layer<import("@effect/platform/HttpApiGroup").ApiGroup<"CodeCommitApi", "permissions">, never, PermissionService.PermissionService | import("@knpkv/codecommit-core/PermissionService/PermissionGateLive.js").PermissionGateLive>;
7
+ import { PermissionGateLiveTag } from "@knpkv/codecommit-core/PermissionService/PermissionGateLive.js";
8
+ export declare const PermissionsLive: import("effect/Layer").Layer<import("effect/unstable/httpapi/HttpApiGroup").ApiGroup<"CodeCommitApi", "permissions">, never, PermissionService.PermissionService | PermissionGateLiveTag>;
3
9
  //# sourceMappingURL=permissions-live.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"permissions-live.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/permissions-live.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAK1D,eAAO,MAAM,eAAe,0PA0C3B,CAAA"}
1
+ {"version":3,"file":"permissions-live.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/permissions-live.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAA;AAKtG,eAAO,MAAM,eAAe,2LA0C3B,CAAA"}
@@ -3,10 +3,10 @@
3
3
  *
4
4
  * @module
5
5
  */
6
- import { HttpApiBuilder } from "@effect/platform";
7
6
  import { PermissionService } from "@knpkv/codecommit-core";
8
7
  import { PermissionGateLiveTag } from "@knpkv/codecommit-core/PermissionService/PermissionGateLive.js";
9
8
  import { Effect } from "effect";
9
+ import { HttpApiBuilder } from "effect/unstable/httpapi";
10
10
  import { ApiError, CodeCommitApi } from "../Api.js";
11
11
  export const PermissionsLive = HttpApiBuilder.group(CodeCommitApi, "permissions", (handlers) => Effect.gen(function* () {
12
12
  const permService = yield* PermissionService.PermissionService;
@@ -1 +1 @@
1
- {"version":3,"file":"permissions-live.js","sourceRoot":"","sources":["../../../src/server/handlers/permissions-live.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions-live.js","sourceRoot":"","sources":["../../../src/server/handlers/permissions-live.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAA;AACtG,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEnD,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CACjD,aAAa,EACb,aAAa,EACb,CAAC,QAAQ,EAAE,EAAE,CACX,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAC,iBAAiB,CAAA;IAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,qBAAqB,CAAA;IAEzC,OAAO,QAAQ;SACZ,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACjC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC7C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EACtB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAC7D,CAAC;SACH,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CACnB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAA;QAC/C,MAAM,GAAG,GAAG,iBAAiB,CAAC,aAAa,EAAE,CAAA;QAC7C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,IAAK,OAAiB;YAC9C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC,CAAA;IACL,CAAC,CAAC,CAAC;SACJ,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAChC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CACpD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EACtB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAC7D,CAAC;SACH,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;SAC1E,MAAM,CAAC,eAAe,EAAE,GAAG,EAAE,CAC5B,MAAM,CAAC,GAAG,CAAC;QACT,OAAO,EAAE,WAAW,CAAC,cAAc,EAAE;QACrC,aAAa,EAAE,WAAW,CAAC,iBAAiB,EAAE;KAC/C,CAAC,CAAC;SACJ,MAAM,CAAC,qBAAqB,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAC7C,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAChC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EACtB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAC7D,CAAC,CAAA;AACR,CAAC,CAAC,CACL,CAAA"}
@@ -1,3 +1,16 @@
1
+ /**
2
+ * PR endpoint handlers — list, refresh, create, open, comments, approval rules.
3
+ *
4
+ * Handles PR CRUD (list, search, refresh, create, open in console via Granted),
5
+ * comments fetch, and approval rule management (create/update/delete).
6
+ * {@link buildApprovalRuleContent} constructs the AWS JSON format
7
+ * `{Version, Statements, ApprovalPoolMembers}`. {@link extractAwsMessage}
8
+ * drills into AwsApiError.cause.message for human-readable error text.
9
+ * Approval rule errors produce system notifications via tapError.
10
+ *
11
+ * @module
12
+ */
1
13
  import { AwsClient, CacheService, PRService } from "@knpkv/codecommit-core";
2
- export declare const PrsLive: import("effect/Layer").Layer<import("@effect/platform/HttpApiGroup").ApiGroup<"CodeCommitApi", "prs">, never, AwsClient.AwsClient | CacheService.NotificationRepo | PRService.PRService | import("@effect/platform/CommandExecutor").CommandExecutor>;
14
+ import { ChildProcessSpawner } from "effect/unstable/process";
15
+ export declare const PrsLive: import("effect/Layer").Layer<import("effect/unstable/httpapi/HttpApiGroup").ApiGroup<"CodeCommitApi", "prs">, never, AwsClient.AwsClient | CacheService.NotificationRepo | PRService.PRService | import("effect/unstable/http/HttpRouter").Request<"Requires", ChildProcessSpawner.ChildProcessSpawner> | import("effect/unstable/http/HttpRouter").Request<"Requires", unknown>>;
3
16
  //# sourceMappingURL=prs-live.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prs-live.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/prs-live.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AA4C3E,eAAO,MAAM,OAAO,uPAkIf,CAAA"}
1
+ {"version":3,"file":"prs-live.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/prs-live.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAI3E,OAAO,EAAgB,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAyC3E,eAAO,MAAM,OAAO,mXAiIf,CAAA"}
@@ -10,17 +10,16 @@
10
10
  *
11
11
  * @module
12
12
  */
13
- import { Command, HttpApiBuilder } from "@effect/platform";
14
13
  import { AwsClient, CacheService, PRService } from "@knpkv/codecommit-core";
15
14
  import { encodeCommentLocations } from "@knpkv/codecommit-core/Domain.js";
16
15
  import { Chunk, Effect, Schema, Stream, SubscriptionRef } from "effect";
17
- import { platform } from "node:os";
16
+ import { HttpApiBuilder } from "effect/unstable/httpapi";
17
+ import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
18
18
  import { ApiError, CodeCommitApi } from "../Api.js";
19
19
  const copyToClipboard = (text) => {
20
- const cmd = platform() === "darwin"
21
- ? Command.make("pbcopy")
22
- : Command.make("xclip", "-selection", "clipboard");
23
- return Command.exitCode(Command.stdin(cmd, Stream.make(text).pipe(Stream.encodeText)));
20
+ const stdin = Stream.make(text).pipe(Stream.encodeText);
21
+ const copyWith = (cmd) => Effect.flatMap(ChildProcessSpawner.ChildProcessSpawner, (spawner) => spawner.exitCode(cmd));
22
+ return copyWith(ChildProcess.make("pbcopy", { stdin })).pipe(Effect.catchIf(() => true, () => copyWith(ChildProcess.make("xclip", ["-selection", "clipboard"], { stdin }))));
24
23
  };
25
24
  const extractAwsMessage = (e) => {
26
25
  if (!e || typeof e !== "object")
@@ -57,16 +56,16 @@ export const PrsLive = HttpApiBuilder.group(CodeCommitApi, "prs", (handlers) =>
57
56
  const notificationRepo = yield* CacheService.NotificationRepo;
58
57
  return handlers
59
58
  .handle("list", () => SubscriptionRef.get(prService.state).pipe(Effect.map((state) => Chunk.fromIterable(state.pullRequests))))
60
- .handle("refresh", () => prService.refresh.pipe(Effect.forkDaemon, Effect.map(() => "ok")))
61
- .handle("search", ({ urlParams }) => Effect.gen(function* () {
62
- const result = yield* prService.searchPullRequests(urlParams.q, {
63
- limit: urlParams.limit ?? 20,
64
- offset: urlParams.offset ?? 0
59
+ .handle("refresh", () => prService.refresh.pipe(Effect.forkDetach, Effect.map(() => "ok")))
60
+ .handle("search", ({ query }) => Effect.gen(function* () {
61
+ const result = yield* prService.searchPullRequests(query.q, {
62
+ limit: query.limit ?? 20,
63
+ offset: query.offset ?? 0
65
64
  });
66
- const items = yield* Effect.forEach(result.items, (row) => Schema.encode(CacheService.CachedPullRequest)(row));
65
+ const items = yield* Effect.forEach(result.items, (row) => Schema.encodeEffect(CacheService.CachedPullRequest)(row));
67
66
  return { items, total: result.total, hasMore: result.hasMore };
68
67
  }).pipe(Effect.mapError((e) => new ApiError({ message: String(e) }))))
69
- .handle("refreshSingle", ({ path }) => prService.refreshSinglePR(path.awsAccountId, path.prId).pipe(Effect.forkDaemon, Effect.map(() => "ok")))
68
+ .handle("refreshSingle", ({ params }) => prService.refreshSinglePR(params.awsAccountId, params.prId).pipe(Effect.forkDetach, Effect.map(() => "ok")))
70
69
  .handle("create", ({ payload }) => awsClient.createPullRequest({
71
70
  account: { profile: payload.account.profile, region: payload.account.region },
72
71
  repositoryName: payload.repositoryName,
@@ -75,16 +74,20 @@ export const PrsLive = HttpApiBuilder.group(CodeCommitApi, "prs", (handlers) =>
75
74
  sourceReference: payload.sourceBranch,
76
75
  destinationReference: payload.destinationBranch
77
76
  }).pipe(Effect.mapError((e) => new ApiError({ message: e.message }))))
78
- .handle("comments", ({ urlParams }) => awsClient.getCommentsForPullRequest({
79
- account: { profile: urlParams.profile, region: urlParams.region },
80
- pullRequestId: urlParams.pullRequestId,
81
- repositoryName: urlParams.repositoryName
77
+ .handle("comments", ({ query }) => awsClient.getCommentsForPullRequest({
78
+ account: { profile: query.profile, region: query.region },
79
+ pullRequestId: query.pullRequestId,
80
+ repositoryName: query.repositoryName
82
81
  }).pipe(Effect.map(encodeCommentLocations), Effect.mapError((e) => new ApiError({ message: e.message }))))
83
82
  .handle("open", ({ payload }) => Effect.gen(function* () {
84
- yield* copyToClipboard(payload.link).pipe(Effect.catchAll(() => Effect.void));
83
+ yield* copyToClipboard(payload.link).pipe(Effect.catchIf(() => true, () => Effect.void));
85
84
  // -c: console login, -d: open URL in default browser
86
- const cmd = Command.make("assume", "-cd", payload.link, payload.profile).pipe(Command.stdout("inherit"), Command.stderr("inherit"), Command.env({ GRANTED_ALIAS_CONFIGURED: "true" }));
87
- yield* Effect.forkDaemon(Command.exitCode(cmd).pipe(Effect.catchAll((e) => notificationRepo.addSystem({
85
+ const cmd = ChildProcess.make("assume", ["-cd", payload.link, payload.profile], {
86
+ stdout: "inherit",
87
+ stderr: "inherit",
88
+ env: { GRANTED_ALIAS_CONFIGURED: "true" }
89
+ });
90
+ yield* Effect.forkDetach(Effect.flatMap(ChildProcessSpawner.ChildProcessSpawner, (spawner) => spawner.exitCode(cmd)).pipe(Effect.catchIf(() => true, (e) => notificationRepo.addSystem({
88
91
  type: "error",
89
92
  title: "Assume Failed",
90
93
  message: e instanceof Error ? e.message : String(e)
@@ -1 +1 @@
1
- {"version":3,"file":"prs-live.js","sourceRoot":"","sources":["../../../src/server/handlers/prs-live.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prs-live.js","sourceRoot":"","sources":["../../../src/server/handlers/prs-live.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@ import { SandboxService } from "@knpkv/codecommit-core";
2
2
  import type { SandboxRow } from "@knpkv/codecommit-core/CacheService.js";
3
3
  import { type SandboxResponse } from "../Api.js";
4
4
  export declare const encodeSandbox: (row: SandboxRow) => typeof SandboxResponse.Type;
5
- export declare const SandboxLive: import("effect/Layer").Layer<import("@effect/platform/HttpApiGroup").ApiGroup<"CodeCommitApi", "sandbox">, never, import("@effect/platform/CommandExecutor").CommandExecutor | SandboxService.SandboxService>;
5
+ export declare const SandboxLive: import("effect/Layer").Layer<import("effect/unstable/httpapi/HttpApiGroup").ApiGroup<"CodeCommitApi", "sandbox">, never, SandboxService.SandboxService | import("effect/unstable/http/HttpRouter").Request<"Requires", import("effect/FileSystem").FileSystem> | import("effect/unstable/http/HttpRouter").Request<"Requires", import("effect/unstable/process/ChildProcessSpawner").ChildProcessSpawner>>;
6
6
  //# sourceMappingURL=sandbox-live.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-live.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/sandbox-live.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAA;AAGxE,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,WAAW,CAAA;AAIzE,eAAO,MAAM,aAAa,GAAI,KAAK,UAAU,KAAG,OAAO,eAAe,CAAC,IAcrE,CAAA;AAEF,eAAO,MAAM,WAAW,+MAmCnB,CAAA"}
1
+ {"version":3,"file":"sandbox-live.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/sandbox-live.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAA;AAIxE,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,WAAW,CAAA;AAIzE,eAAO,MAAM,aAAa,GAAI,KAAK,UAAU,KAAG,OAAO,eAAe,CAAC,IAcrE,CAAA;AAEF,eAAO,MAAM,WAAW,4YAmCnB,CAAA"}
@@ -1,6 +1,6 @@
1
- import { HttpApiBuilder } from "@effect/platform";
2
1
  import { SandboxService } from "@knpkv/codecommit-core";
3
2
  import { Effect } from "effect";
3
+ import { HttpApiBuilder } from "effect/unstable/httpapi";
4
4
  import { ApiError, CodeCommitApi } from "../Api.js";
5
5
  // Explicit field mapping — prevents leaking server-internal fields (e.g. workspacePath)
6
6
  // if SandboxRow gains new fields. Do not replace with object spread.
@@ -24,9 +24,9 @@ export const SandboxLive = HttpApiBuilder.group(CodeCommitApi, "sandbox", (handl
24
24
  return handlers
25
25
  .handle("create", ({ payload }) => sandboxService.create(payload).pipe(Effect.map(encodeSandbox), Effect.mapError((e) => new ApiError({ message: e.message }))))
26
26
  .handle("list", () => sandboxService.list().pipe(Effect.map((rows) => rows.map(encodeSandbox)), Effect.mapError((e) => new ApiError({ message: e.message }))))
27
- .handle("get", ({ path }) => sandboxService.get(path.sandboxId).pipe(Effect.map(encodeSandbox), Effect.mapError((e) => new ApiError({ message: e.message }))))
28
- .handle("stop", ({ path }) => sandboxService.stop(path.sandboxId).pipe(Effect.map(() => "ok"), Effect.mapError((e) => new ApiError({ message: e.message }))))
29
- .handle("restart", ({ path }) => sandboxService.restart(path.sandboxId).pipe(Effect.map(() => "ok"), Effect.mapError((e) => new ApiError({ message: e.message }))))
30
- .handle("delete", ({ path }) => sandboxService.cleanup(path.sandboxId).pipe(Effect.map(() => "ok"), Effect.mapError((e) => new ApiError({ message: e.message }))));
27
+ .handle("get", ({ params }) => sandboxService.get(params.sandboxId).pipe(Effect.map(encodeSandbox), Effect.mapError((e) => new ApiError({ message: e.message }))))
28
+ .handle("stop", ({ params }) => sandboxService.stop(params.sandboxId).pipe(Effect.map(() => "ok"), Effect.mapError((e) => new ApiError({ message: e.message }))))
29
+ .handle("restart", ({ params }) => sandboxService.restart(params.sandboxId).pipe(Effect.map(() => "ok"), Effect.mapError((e) => new ApiError({ message: e.message }))))
30
+ .handle("delete", ({ params }) => sandboxService.cleanup(params.sandboxId).pipe(Effect.map(() => "ok"), Effect.mapError((e) => new ApiError({ message: e.message }))));
31
31
  }));
32
32
  //# sourceMappingURL=sandbox-live.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-live.js","sourceRoot":"","sources":["../../../src/server/handlers/sandbox-live.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAGvD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAwB,MAAM,WAAW,CAAA;AAEzE,wFAAwF;AACxF,qEAAqE;AACrE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAe,EAA+B,EAAE,CAAC,CAAC;IAC9E,EAAE,EAAE,GAAG,CAAC,EAAE;IACV,aAAa,EAAE,GAAG,CAAC,aAAa;IAChC,YAAY,EAAE,GAAG,CAAC,YAAY;IAC9B,cAAc,EAAE,GAAG,CAAC,cAAc;IAClC,YAAY,EAAE,GAAG,CAAC,YAAY;IAC9B,WAAW,EAAE,GAAG,CAAC,WAAW;IAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;IACd,MAAM,EAAE,GAAG,CAAC,MAAuB;IACnC,YAAY,EAAE,GAAG,CAAC,YAAY;IAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;IACd,KAAK,EAAE,GAAG,CAAC,KAAK;IAChB,SAAS,EAAE,GAAG,CAAC,SAAS;IACxB,cAAc,EAAE,GAAG,CAAC,cAAc;CACnC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CACrF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC,cAAc,CAAA;IAE3D,OAAO,QAAQ;SACZ,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAChC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CACjC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EACzB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAC7D,CAAC;SACH,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CACnB,cAAc,CAAC,IAAI,EAAE,CAAC,IAAI,CACxB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAC7C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAC7D,CAAC;SACH,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAC1B,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CACrC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EACzB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAC7D,CAAC;SACH,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAC3B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CACtC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EACtB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAC7D,CAAC;SACH,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAC9B,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CACzC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EACtB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAC7D,CAAC;SACH,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAC7B,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CACzC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EACtB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAC7D,CAAC,CAAA;AACR,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"sandbox-live.js","sourceRoot":"","sources":["../../../src/server/handlers/sandbox-live.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,14 @@
1
+ /**
2
+ * @module StatsLive
3
+ *
4
+ * Mental model: HTTP handler group for the /stats API surface.
5
+ * Maps HttpApi endpoints to StatsService calls. The "get" handler is
6
+ * a synchronous query; the "sync" handler fires-and-forgets a background
7
+ * fiber via Effect.forkDetach for long-running historical re-sync.
8
+ *
9
+ * @category Server
10
+ */
1
11
  import { PRService } from "@knpkv/codecommit-core/PRService/index.js";
2
12
  import { StatsService } from "@knpkv/codecommit-core/StatsService/index.js";
3
- export declare const StatsLive: import("effect/Layer").Layer<import("@effect/platform/HttpApiGroup").ApiGroup<"CodeCommitApi", "stats">, never, PRService | StatsService>;
13
+ export declare const StatsLive: import("effect/Layer").Layer<import("effect/unstable/httpapi/HttpApiGroup").ApiGroup<"CodeCommitApi", "stats">, never, PRService | StatsService>;
4
14
  //# sourceMappingURL=stats-live.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stats-live.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/stats-live.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAA;AAI3E,eAAO,MAAM,SAAS,2IAkCjB,CAAA"}
1
+ {"version":3,"file":"stats-live.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/stats-live.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAA;AAK3E,eAAO,MAAM,SAAS,kJAkCjB,CAAA"}
@@ -4,27 +4,27 @@
4
4
  * Mental model: HTTP handler group for the /stats API surface.
5
5
  * Maps HttpApi endpoints to StatsService calls. The "get" handler is
6
6
  * a synchronous query; the "sync" handler fires-and-forgets a background
7
- * fiber via Effect.forkDaemon for long-running historical re-sync.
7
+ * fiber via Effect.forkDetach for long-running historical re-sync.
8
8
  *
9
9
  * @category Server
10
10
  */
11
- import { HttpApiBuilder } from "@effect/platform";
12
11
  import { PRService } from "@knpkv/codecommit-core/PRService/index.js";
13
12
  import { StatsService } from "@knpkv/codecommit-core/StatsService/index.js";
14
13
  import { Effect, Ref } from "effect";
14
+ import { HttpApiBuilder } from "effect/unstable/httpapi";
15
15
  import { ApiError, CodeCommitApi } from "../Api.js";
16
16
  export const StatsLive = HttpApiBuilder.group(CodeCommitApi, "stats", (handlers) => Effect.gen(function* () {
17
17
  const statsService = yield* StatsService;
18
18
  const prService = yield* PRService;
19
19
  const syncing = yield* Ref.make(false);
20
20
  return handlers
21
- .handle("get", ({ urlParams }) => statsService.getWeeklyStats(urlParams.week, {
22
- repo: urlParams.repo,
23
- author: urlParams.author,
24
- account: urlParams.account
21
+ .handle("get", ({ query }) => statsService.getWeeklyStats(query.week, {
22
+ repo: query.repo,
23
+ author: query.author,
24
+ account: query.account
25
25
  }).pipe(Effect.mapError((e) => new ApiError({ message: String(e) }))))
26
26
  .handle("sync", ({ payload }) => Ref.get(syncing).pipe(Effect.flatMap((inProgress) => inProgress
27
27
  ? Effect.succeed("sync already in progress")
28
- : Ref.set(syncing, true).pipe(Effect.flatMap(() => Effect.forkDaemon(statsService.syncWeek(payload.week, prService.state).pipe(Effect.tap(() => Effect.logInfo(`Sync ${payload.week} complete`)), Effect.tapErrorCause((cause) => Effect.logWarning(`Sync ${payload.week} failed`, cause)), Effect.ensuring(Ref.set(syncing, false)))).pipe(Effect.as("sync started"))))), Effect.mapError((e) => new ApiError({ message: String(e) }))));
28
+ : Ref.set(syncing, true).pipe(Effect.flatMap(() => Effect.forkDetach(statsService.syncWeek(payload.week, prService.state).pipe(Effect.tap(() => Effect.logInfo(`Sync ${payload.week} complete`)), Effect.tapCause((cause) => Effect.logWarning(`Sync ${payload.week} failed`, cause)), Effect.ensuring(Ref.set(syncing, false)))).pipe(Effect.as("sync started"))))), Effect.mapError((e) => new ApiError({ message: String(e) }))));
29
29
  }));
30
30
  //# sourceMappingURL=stats-live.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stats-live.js","sourceRoot":"","sources":["../../../src/server/handlers/stats-live.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAA;AAC3E,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEnD,MAAM,CAAC,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CACjF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,YAAY,CAAA;IACxC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;IAClC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAEtC,OAAO,QAAQ;SACZ,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAC/B,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE;QAC1C,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,OAAO,EAAE,SAAS,CAAC,OAAO;KAC3B,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAC7D,CAAC;SACH,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAC9B,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CACnB,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAC5B,UAAU;QACR,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC;QAC5C,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAClB,MAAM,CAAC,UAAU,CACf,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CACvD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,CAAC,IAAI,WAAW,CAAC,CAAC,EACjE,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,OAAO,CAAC,IAAI,SAAS,EAAE,KAAK,CAAC,CAAC,EACxF,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CACzC,CACF,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAClC,CACF,CACJ,EACD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAC7D,CAAC,CAAA;AACR,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"stats-live.js","sourceRoot":"","sources":["../../../src/server/handlers/stats-live.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAA;AAC3E,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEnD,MAAM,CAAC,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CACjF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,YAAY,CAAA;IACxC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;IAClC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAEtC,OAAO,QAAQ;SACZ,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAC3B,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE;QACtC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAC7D,CAAC;SACH,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAC9B,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CACnB,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAC5B,UAAU;QACR,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC;QAC5C,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAClB,MAAM,CAAC,UAAU,CACf,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CACvD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,CAAC,IAAI,WAAW,CAAC,CAAC,EACjE,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,OAAO,CAAC,IAAI,SAAS,EAAE,KAAK,CAAC,CAAC,EACnF,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CACzC,CACF,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAClC,CACF,CACJ,EACD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAC7D,CAAC,CAAA;AACR,CAAC,CAAC,CAAC,CAAA"}
@@ -1,3 +1,3 @@
1
1
  import { PRService } from "@knpkv/codecommit-core";
2
- export declare const SubscriptionsLive: import("effect/Layer").Layer<import("@effect/platform/HttpApiGroup").ApiGroup<"CodeCommitApi", "subscriptions">, never, PRService.PRService>;
2
+ export declare const SubscriptionsLive: import("effect/Layer").Layer<import("effect/unstable/httpapi/HttpApiGroup").ApiGroup<"CodeCommitApi", "subscriptions">, never, PRService.PRService>;
3
3
  //# sourceMappingURL=subscriptions-live.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions-live.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/subscriptions-live.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAIlD,eAAO,MAAM,iBAAiB,8IAoB7B,CAAA"}
1
+ {"version":3,"file":"subscriptions-live.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/subscriptions-live.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAKlD,eAAO,MAAM,iBAAiB,qJAoB7B,CAAA"}
@@ -1,6 +1,6 @@
1
- import { HttpApiBuilder } from "@effect/platform";
2
1
  import { PRService } from "@knpkv/codecommit-core";
3
2
  import { Effect } from "effect";
3
+ import { HttpApiBuilder } from "effect/unstable/httpapi";
4
4
  import { ApiError, CodeCommitApi } from "../Api.js";
5
5
  export const SubscriptionsLive = HttpApiBuilder.group(CodeCommitApi, "subscriptions", (handlers) => Effect.gen(function* () {
6
6
  const prService = yield* PRService.PRService;
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions-live.js","sourceRoot":"","sources":["../../../src/server/handlers/subscriptions-live.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,CACnD,aAAa,EACb,eAAe,EACf,CAAC,QAAQ,EAAE,EAAE,CACX,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAA;IAE5C,OAAO,QAAQ;SACZ,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACnC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CACnE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EACtB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,wBAAwB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CACvF,CAAC;SACH,MAAM,CAAC,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACrC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CACrE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EACtB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,wBAAwB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CACvF,CAAC;SACH,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAA;AACvD,CAAC,CAAC,CACL,CAAA"}
1
+ {"version":3,"file":"subscriptions-live.js","sourceRoot":"","sources":["../../../src/server/handlers/subscriptions-live.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,CACnD,aAAa,EACb,eAAe,EACf,CAAC,QAAQ,EAAE,EAAE,CACX,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAA;IAE5C,OAAO,QAAQ;SACZ,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACnC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CACnE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EACtB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,wBAAwB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CACvF,CAAC;SACH,MAAM,CAAC,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACrC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CACrE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EACtB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,wBAAwB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CACvF,CAAC;SACH,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAA;AACvD,CAAC,CAAC,CACL,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knpkv/codecommit-web",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "description": "Web server and frontend for CodeCommit PR browser",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -11,44 +11,41 @@
11
11
  "dist"
12
12
  ],
13
13
  "dependencies": {
14
- "@effect-atom/atom": "latest",
15
- "@effect-atom/atom-react": "latest",
16
- "@effect/cluster": "^0.56.2",
17
- "@effect/platform": "latest",
18
- "@effect/platform-bun": "latest",
19
- "@effect/platform-node": "latest",
20
- "@fontsource-variable/geist": "^5.2.8",
21
- "@fontsource-variable/geist-mono": "^5.2.7",
22
- "@formkit/auto-animate": "^0.8.2",
23
- "@tailwindcss/typography": "^0.5.19",
24
- "@tailwindcss/vite": "^4.1.18",
14
+ "@effect/atom-react": "4.0.0-beta.87",
15
+ "@effect/platform-bun": "4.0.0-beta.87",
16
+ "@effect/platform-node": "4.0.0-beta.87",
17
+ "@fontsource-variable/geist": "^5.2.9",
18
+ "@fontsource-variable/geist-mono": "^5.2.8",
19
+ "@formkit/auto-animate": "^0.9.0",
20
+ "@tailwindcss/typography": "^0.5.20",
21
+ "@tailwindcss/vite": "^4.3.1",
25
22
  "class-variance-authority": "^0.7.1",
26
23
  "clsx": "^2.1.1",
27
24
  "cmdk": "^1.1.1",
28
- "effect": "latest",
29
- "lucide-react": "^0.563.0",
30
- "radix-ui": "^1.4.3",
31
- "react": "^19.1.0",
32
- "react-day-picker": "^9.14.0",
33
- "react-dom": "^19.1.0",
25
+ "effect": "4.0.0-beta.87",
26
+ "lucide-react": "^1.21.0",
27
+ "radix-ui": "^1.6.0",
28
+ "react": "^19.2.7",
29
+ "react-day-picker": "^10.0.1",
30
+ "react-dom": "^19.2.7",
34
31
  "react-markdown": "^10.1.0",
35
- "react-router": "^7.0.0",
32
+ "react-router": "^8.0.1",
36
33
  "rehype-sanitize": "^6.0.0",
37
34
  "remark-gfm": "^4.0.1",
38
35
  "sonner": "^2.0.7",
39
- "tailwind-merge": "^3.4.0",
40
- "tailwindcss": "^4.1.18",
36
+ "tailwind-merge": "^3.6.0",
37
+ "tailwindcss": "^4.3.1",
41
38
  "tw-animate-css": "^1.4.0",
42
- "@knpkv/codecommit-core": "^0.7.0"
39
+ "@knpkv/codecommit-core": "^0.8.0"
43
40
  },
44
41
  "devDependencies": {
45
- "@effect/vitest": "latest",
46
- "@types/react": "^19.1.8",
47
- "@types/react-dom": "^19.0.3",
48
- "@vitejs/plugin-react": "^4.2.1",
49
- "typescript": "^5.7.2",
50
- "vite": "^5.0.0",
51
- "vitest": "latest"
42
+ "@effect/vitest": "4.0.0-beta.87",
43
+ "@types/react": "^19.2.17",
44
+ "@types/react-dom": "^19.2.3",
45
+ "@vitejs/plugin-react": "^6.0.3",
46
+ "typescript": "^6.0.3",
47
+ "vite": "^8.1.0",
48
+ "vitest": "^4.1.9"
52
49
  },
53
50
  "scripts": {
54
51
  "start": "bun run src/main.ts",