@knpkv/codecommit-web 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/client/assets/geist-cyrillic-wght-normal-CHSlOQsW.woff2 +0 -0
  2. package/dist/client/assets/geist-latin-ext-wght-normal-DMtmJ5ZE.woff2 +0 -0
  3. package/dist/client/assets/geist-latin-wght-normal-Dm3htQBi.woff2 +0 -0
  4. package/dist/client/assets/geist-mono-cyrillic-wght-normal-BZdD_g9V.woff2 +0 -0
  5. package/dist/client/assets/geist-mono-latin-ext-wght-normal-b6lpi8_2.woff2 +0 -0
  6. package/dist/client/assets/geist-mono-latin-wght-normal-Cjtb1TV-.woff2 +0 -0
  7. package/dist/client/assets/index-CdJp2tFb.js +253 -0
  8. package/dist/client/assets/index-D-_sDJhr.css +1 -0
  9. package/dist/client/index.html +13 -0
  10. package/dist/index.d.ts +3 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +3 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/main.d.ts +2 -0
  15. package/dist/main.d.ts.map +1 -0
  16. package/dist/main.js +8 -0
  17. package/dist/main.js.map +1 -0
  18. package/dist/server/Api.d.ts +45 -0
  19. package/dist/server/Api.d.ts.map +1 -0
  20. package/dist/server/Api.js +64 -0
  21. package/dist/server/Api.js.map +1 -0
  22. package/dist/server/Server.d.ts +8 -0
  23. package/dist/server/Server.d.ts.map +1 -0
  24. package/dist/server/Server.js +97 -0
  25. package/dist/server/Server.js.map +1 -0
  26. package/dist/server/handlers/accounts-live.d.ts +3 -0
  27. package/dist/server/handlers/accounts-live.d.ts.map +1 -0
  28. package/dist/server/handlers/accounts-live.js +18 -0
  29. package/dist/server/handlers/accounts-live.js.map +1 -0
  30. package/dist/server/handlers/config-live.d.ts +3 -0
  31. package/dist/server/handlers/config-live.d.ts.map +1 -0
  32. package/dist/server/handlers/config-live.js +22 -0
  33. package/dist/server/handlers/config-live.js.map +1 -0
  34. package/dist/server/handlers/events-live.d.ts +3 -0
  35. package/dist/server/handlers/events-live.d.ts.map +1 -0
  36. package/dist/server/handlers/events-live.js +35 -0
  37. package/dist/server/handlers/events-live.js.map +1 -0
  38. package/dist/server/handlers/index.d.ts +5 -0
  39. package/dist/server/handlers/index.d.ts.map +1 -0
  40. package/dist/server/handlers/index.js +5 -0
  41. package/dist/server/handlers/index.js.map +1 -0
  42. package/dist/server/handlers/prs-live.d.ts +3 -0
  43. package/dist/server/handlers/prs-live.d.ts.map +1 -0
  44. package/dist/server/handlers/prs-live.js +46 -0
  45. package/dist/server/handlers/prs-live.js.map +1 -0
  46. package/package.json +60 -0
  47. package/src/index.ts +2 -0
@@ -0,0 +1,46 @@
1
+ import { Command, HttpApiBuilder } from "@effect/platform";
2
+ import { AwsClient, PRService } from "@knpkv/codecommit-core";
3
+ import { Chunk, Effect, Stream, SubscriptionRef } from "effect";
4
+ import { platform } from "node:os";
5
+ import { ApiError, CodeCommitApi } from "../Api.js";
6
+ const copyToClipboard = (text) => {
7
+ const cmd = platform() === "darwin"
8
+ ? Command.make("pbcopy")
9
+ : Command.make("xclip", "-selection", "clipboard");
10
+ return Command.exitCode(Command.stdin(cmd, Stream.make(text).pipe(Stream.encodeText)));
11
+ };
12
+ export const PrsLive = HttpApiBuilder.group(CodeCommitApi, "prs", (handlers) => Effect.gen(function* () {
13
+ const prService = yield* PRService.PRService;
14
+ const awsClient = yield* AwsClient.AwsClient;
15
+ return handlers
16
+ .handle("list", () => SubscriptionRef.get(prService.state).pipe(Effect.map((state) => Chunk.fromIterable(state.pullRequests))))
17
+ .handle("refresh", () => prService.refresh.pipe(Effect.forkDaemon, Effect.map(() => "ok")))
18
+ .handle("create", ({ payload }) => awsClient.createPullRequest({
19
+ account: { profile: payload.account.id, region: payload.account.region },
20
+ repositoryName: payload.repositoryName,
21
+ title: payload.title,
22
+ ...(payload.description && { description: payload.description }),
23
+ sourceReference: payload.sourceBranch,
24
+ destinationReference: payload.destinationBranch
25
+ }).pipe(Effect.mapError((e) => new ApiError({ message: e.message }))))
26
+ .handle("open", ({ payload }) => Effect.gen(function* () {
27
+ yield* copyToClipboard(payload.link).pipe(Effect.catchAll(() => Effect.void));
28
+ yield* prService.addNotification({
29
+ type: "info",
30
+ title: "Assume",
31
+ message: `URL copied. Running assume -c ${payload.profile}...`
32
+ });
33
+ const cmd = Command.make("assume", "-c", payload.profile).pipe(Command.stdout("inherit"), Command.stderr("inherit"), Command.env({ GRANTED_ALIAS_CONFIGURED: "true" }));
34
+ yield* Effect.forkDaemon(Command.exitCode(cmd).pipe(Effect.tap(() => prService.addNotification({
35
+ type: "success",
36
+ title: "Assume",
37
+ message: `Assumed ${payload.profile}`
38
+ })), Effect.catchAll((e) => prService.addNotification({
39
+ type: "error",
40
+ title: "Assume Failed",
41
+ message: e instanceof Error ? e.message : String(e)
42
+ }))));
43
+ return payload.link;
44
+ }).pipe(Effect.mapError(() => new ApiError({ message: "Failed to open PR" }))));
45
+ }));
46
+ //# sourceMappingURL=prs-live.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prs-live.js","sourceRoot":"","sources":["../../../src/server/handlers/prs-live.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEnD,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE;IACvC,MAAM,GAAG,GAAG,QAAQ,EAAE,KAAK,QAAQ;QACjC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;QACxB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,CAAA;IAEpD,OAAO,OAAO,CAAC,QAAQ,CACrB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAC9D,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC7E,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;IAE5C,OAAO,QAAQ;SACZ,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CACnB,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CACvC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAC9D,CAAC;SACH,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CACtB,SAAS,CAAC,OAAO,CAAC,IAAI,CACpB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CACvB,CAAC;SACH,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAChC,SAAS,CAAC,iBAAiB,CAAC;QAC1B,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE;QACxE,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;QAChE,eAAe,EAAE,OAAO,CAAC,YAAY;QACrC,oBAAoB,EAAE,OAAO,CAAC,iBAAiB;KAChD,CAAC,CAAC,IAAI,CACL,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,OAAO,EAAE,EAAE,EAAE,CAC9B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,KAAK,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CACvC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CACnC,CAAA;QAED,KAAK,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC;YAC/B,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,iCAAiC,OAAO,CAAC,OAAO,KAAK;SAC/D,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAC5D,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EACzB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EACzB,OAAO,CAAC,GAAG,CAAC,EAAE,wBAAwB,EAAE,MAAM,EAAE,CAAC,CAClD,CAAA;QACD,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CACtB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CACxB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CACd,SAAS,CAAC,eAAe,CAAC;YACxB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,WAAW,OAAO,CAAC,OAAO,EAAE;SACtC,CAAC,CACH,EACD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CACpB,SAAS,CAAC,eAAe,CAAC;YACxB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;SACpD,CAAC,CACH,CACF,CACF,CAAA;QACD,OAAO,OAAO,CAAC,IAAI,CAAA;IACrB,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC,CACtE,CAAC,CAAA;AACR,CAAC,CAAC,CAAC,CAAA"}
package/package.json ADDED
@@ -0,0 +1,60 @@
1
+ {
2
+ "name": "@knpkv/codecommit-web",
3
+ "version": "0.1.0",
4
+ "description": "Web server and frontend for CodeCommit PR browser",
5
+ "type": "module",
6
+ "main": "src/index.ts",
7
+ "publishConfig": {
8
+ "access": "public",
9
+ "main": "dist/index.js",
10
+ "types": "dist/dts/index.d.ts"
11
+ },
12
+ "files": [
13
+ "dist"
14
+ ],
15
+ "scripts": {
16
+ "start": "bun run src/main.ts",
17
+ "dev": "vite",
18
+ "prepack": "tsc -b && vite build",
19
+ "build": "tsc -b && vite build",
20
+ "check": "tsc -b tsconfig.json",
21
+ "test": "vitest",
22
+ "lint": "eslint \"{src,test}/**/*.{ts,tsx}\"",
23
+ "docgen": "docgen"
24
+ },
25
+ "dependencies": {
26
+ "@effect-atom/atom": "latest",
27
+ "@effect-atom/atom-react": "latest",
28
+ "@effect/cluster": "^0.56.2",
29
+ "@effect/platform": "latest",
30
+ "@effect/platform-bun": "latest",
31
+ "@effect/platform-node": "latest",
32
+ "@fontsource-variable/geist": "^5.2.8",
33
+ "@fontsource-variable/geist-mono": "^5.2.7",
34
+ "@knpkv/codecommit-core": "workspace:*",
35
+ "@tailwindcss/typography": "^0.5.19",
36
+ "@tailwindcss/vite": "^4.1.18",
37
+ "class-variance-authority": "^0.7.1",
38
+ "clsx": "^2.1.1",
39
+ "cmdk": "^1.1.1",
40
+ "effect": "latest",
41
+ "lucide-react": "^0.563.0",
42
+ "radix-ui": "^1.4.3",
43
+ "react": "^19.1.0",
44
+ "react-dom": "^19.1.0",
45
+ "react-markdown": "^10.1.0",
46
+ "remark-gfm": "^4.0.1",
47
+ "tailwind-merge": "^3.4.0",
48
+ "tailwindcss": "^4.1.18",
49
+ "tw-animate-css": "^1.4.0"
50
+ },
51
+ "devDependencies": {
52
+ "@effect/vitest": "latest",
53
+ "@types/react": "^19.1.8",
54
+ "@types/react-dom": "^19.0.3",
55
+ "@vitejs/plugin-react": "^4.2.1",
56
+ "typescript": "^5.7.2",
57
+ "vite": "^5.0.0",
58
+ "vitest": "latest"
59
+ }
60
+ }
package/src/index.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./server/Api.js"
2
+ export * from "./server/Server.js"