@phosart/devtool 0.2.48 → 0.2.50

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 (186) hide show
  1. package/build/client/editor/_app/immutable/assets/0.fmfPq7Hd.css +1 -0
  2. package/build/client/editor/_app/immutable/assets/0.fmfPq7Hd.css.br +0 -0
  3. package/build/client/editor/_app/immutable/assets/0.fmfPq7Hd.css.gz +0 -0
  4. package/build/client/editor/_app/immutable/chunks/{CxALXTzV.js → 1NXHdwsc.js} +1 -1
  5. package/build/client/editor/_app/immutable/chunks/1NXHdwsc.js.br +0 -0
  6. package/build/client/editor/_app/immutable/chunks/1NXHdwsc.js.gz +0 -0
  7. package/build/client/editor/_app/immutable/chunks/B1mSMgO9.js +1 -0
  8. package/build/client/editor/_app/immutable/chunks/B1mSMgO9.js.br +0 -0
  9. package/build/client/editor/_app/immutable/chunks/B1mSMgO9.js.gz +0 -0
  10. package/build/client/editor/_app/immutable/chunks/{Bm5IvZcv.js → BM4DVSQs.js} +1 -1
  11. package/build/client/editor/_app/immutable/chunks/BM4DVSQs.js.br +0 -0
  12. package/build/client/editor/_app/immutable/chunks/BM4DVSQs.js.gz +0 -0
  13. package/build/client/editor/_app/immutable/chunks/{BTm1Y97S.js → BN7YsRc4.js} +1 -1
  14. package/build/client/editor/_app/immutable/chunks/BN7YsRc4.js.br +0 -0
  15. package/build/client/editor/_app/immutable/chunks/BN7YsRc4.js.gz +0 -0
  16. package/build/client/editor/_app/immutable/chunks/{eGZ1AgGD.js → CNy8YNSu.js} +1 -1
  17. package/build/client/editor/_app/immutable/chunks/CNy8YNSu.js.br +0 -0
  18. package/build/client/editor/_app/immutable/chunks/CNy8YNSu.js.gz +0 -0
  19. package/build/client/editor/_app/immutable/chunks/{BZO2fMRs.js → CYK1ZrzN.js} +2 -2
  20. package/build/client/editor/_app/immutable/chunks/CYK1ZrzN.js.br +0 -0
  21. package/build/client/editor/_app/immutable/chunks/CYK1ZrzN.js.gz +0 -0
  22. package/build/client/editor/_app/immutable/chunks/{DjRSIdFZ.js → D3rqBRdp.js} +1 -1
  23. package/build/client/editor/_app/immutable/chunks/D3rqBRdp.js.br +0 -0
  24. package/build/client/editor/_app/immutable/chunks/D3rqBRdp.js.gz +0 -0
  25. package/build/client/editor/_app/immutable/chunks/{CJsULbm2.js → D_MddphE.js} +1 -1
  26. package/build/client/editor/_app/immutable/chunks/D_MddphE.js.br +0 -0
  27. package/build/client/editor/_app/immutable/chunks/D_MddphE.js.gz +0 -0
  28. package/build/client/editor/_app/immutable/chunks/DpvSWhPz.js +1 -0
  29. package/build/client/editor/_app/immutable/chunks/DpvSWhPz.js.br +0 -0
  30. package/build/client/editor/_app/immutable/chunks/DpvSWhPz.js.gz +0 -0
  31. package/build/client/editor/_app/immutable/chunks/{CFjV7r4h.js → Ds9ZU8D5.js} +1 -1
  32. package/build/client/editor/_app/immutable/chunks/Ds9ZU8D5.js.br +0 -0
  33. package/build/client/editor/_app/immutable/chunks/Ds9ZU8D5.js.gz +0 -0
  34. package/build/client/editor/_app/immutable/chunks/DxwB_74R.js +5 -0
  35. package/build/client/editor/_app/immutable/chunks/DxwB_74R.js.br +0 -0
  36. package/build/client/editor/_app/immutable/chunks/DxwB_74R.js.gz +0 -0
  37. package/build/client/editor/_app/immutable/chunks/{DdkFxsLU.js → SDC-ZLL2.js} +1 -1
  38. package/build/client/editor/_app/immutable/chunks/SDC-ZLL2.js.br +0 -0
  39. package/build/client/editor/_app/immutable/chunks/SDC-ZLL2.js.gz +0 -0
  40. package/build/client/editor/_app/immutable/chunks/{BbTtDDO-.js → Uac_AyxY.js} +1 -1
  41. package/build/client/editor/_app/immutable/chunks/Uac_AyxY.js.br +0 -0
  42. package/build/client/editor/_app/immutable/chunks/Uac_AyxY.js.gz +0 -0
  43. package/build/client/editor/_app/immutable/chunks/{DBkJKhCW.js → oDPMCnwi.js} +1 -1
  44. package/build/client/editor/_app/immutable/chunks/oDPMCnwi.js.br +0 -0
  45. package/build/client/editor/_app/immutable/chunks/oDPMCnwi.js.gz +0 -0
  46. package/build/client/editor/_app/immutable/entry/{app.BDUw-8tr.js → app.BCBiklUM.js} +2 -2
  47. package/build/client/editor/_app/immutable/entry/app.BCBiklUM.js.br +0 -0
  48. package/build/client/editor/_app/immutable/entry/app.BCBiklUM.js.gz +0 -0
  49. package/build/client/editor/_app/immutable/entry/start.zy-rmWhy.js +1 -0
  50. package/build/client/editor/_app/immutable/entry/start.zy-rmWhy.js.br +2 -0
  51. package/build/client/editor/_app/immutable/entry/start.zy-rmWhy.js.gz +0 -0
  52. package/build/client/editor/_app/immutable/nodes/0.ChLnpJMp.js +1 -0
  53. package/build/client/editor/_app/immutable/nodes/0.ChLnpJMp.js.br +0 -0
  54. package/build/client/editor/_app/immutable/nodes/0.ChLnpJMp.js.gz +0 -0
  55. package/build/client/editor/_app/immutable/nodes/{1.BxIlWqNO.js → 1.D8SH10qs.js} +1 -1
  56. package/build/client/editor/_app/immutable/nodes/1.D8SH10qs.js.br +0 -0
  57. package/build/client/editor/_app/immutable/nodes/1.D8SH10qs.js.gz +0 -0
  58. package/build/client/editor/_app/immutable/nodes/{2.DNKjfKhz.js → 2.CsMG0hj_.js} +1 -1
  59. package/build/client/editor/_app/immutable/nodes/2.CsMG0hj_.js.br +0 -0
  60. package/build/client/editor/_app/immutable/nodes/2.CsMG0hj_.js.gz +0 -0
  61. package/build/client/editor/_app/immutable/nodes/3.CiZ8Zj4Y.js +1 -0
  62. package/build/client/editor/_app/immutable/nodes/3.CiZ8Zj4Y.js.br +0 -0
  63. package/build/client/editor/_app/immutable/nodes/3.CiZ8Zj4Y.js.gz +0 -0
  64. package/build/client/editor/_app/immutable/nodes/{4.DQFRPJxw.js → 4.DWSK_3kW.js} +1 -1
  65. package/build/client/editor/_app/immutable/nodes/4.DWSK_3kW.js.br +0 -0
  66. package/build/client/editor/_app/immutable/nodes/4.DWSK_3kW.js.gz +0 -0
  67. package/build/client/editor/_app/immutable/nodes/{5.D-rd1rRC.js → 5.BaCGUhy7.js} +1 -1
  68. package/build/client/editor/_app/immutable/nodes/5.BaCGUhy7.js.br +0 -0
  69. package/build/client/editor/_app/immutable/nodes/5.BaCGUhy7.js.gz +0 -0
  70. package/build/client/editor/_app/immutable/nodes/6.BtGJne80.js +1 -0
  71. package/build/client/editor/_app/immutable/nodes/6.BtGJne80.js.br +2 -0
  72. package/build/client/editor/_app/immutable/nodes/6.BtGJne80.js.gz +0 -0
  73. package/build/client/editor/_app/immutable/nodes/{7.BE5CpiHo.js → 7.DDIlPt7T.js} +1 -1
  74. package/build/client/editor/_app/immutable/nodes/7.DDIlPt7T.js.br +0 -0
  75. package/build/client/editor/_app/immutable/nodes/7.DDIlPt7T.js.gz +0 -0
  76. package/build/client/editor/_app/version.json +1 -1
  77. package/build/client/editor/_app/version.json.br +0 -0
  78. package/build/client/editor/_app/version.json.gz +0 -0
  79. package/build/server/chunks/{0-B8mI7yRx.js → 0-CDeLIGKQ.js} +4 -4
  80. package/build/server/chunks/0-CDeLIGKQ.js.map +1 -0
  81. package/build/server/chunks/{1-BgVDpPXz.js → 1-BENlW1mP.js} +2 -2
  82. package/build/server/chunks/{1-BgVDpPXz.js.map → 1-BENlW1mP.js.map} +1 -1
  83. package/build/server/chunks/{2-6sesdjCp.js → 2-BrEo7W0M.js} +3 -3
  84. package/build/server/chunks/{2-6sesdjCp.js.map → 2-BrEo7W0M.js.map} +1 -1
  85. package/build/server/chunks/{3-BfOB1TCm.js → 3-BdmQtUCV.js} +3 -3
  86. package/build/server/chunks/3-BdmQtUCV.js.map +1 -0
  87. package/build/server/chunks/{4-CfZDy449.js → 4-COGUn_2g.js} +3 -3
  88. package/build/server/chunks/{4-CfZDy449.js.map → 4-COGUn_2g.js.map} +1 -1
  89. package/build/server/chunks/{5-B2oZir4i.js → 5-CoX3R1h9.js} +3 -3
  90. package/build/server/chunks/{5-B2oZir4i.js.map → 5-CoX3R1h9.js.map} +1 -1
  91. package/build/server/chunks/{6-DSW4aF--.js → 6-S5bXT3Jp.js} +9 -43
  92. package/build/server/chunks/6-S5bXT3Jp.js.map +1 -0
  93. package/build/server/chunks/{7-H60l9Q35.js → 7-DIaieMgr.js} +2 -2
  94. package/build/server/chunks/{7-H60l9Q35.js.map → 7-DIaieMgr.js.map} +1 -1
  95. package/build/server/chunks/{SearchInput-BLX7LjjV.js → SearchInput-Dpy-Zw12.js} +15 -4
  96. package/build/server/chunks/SearchInput-Dpy-Zw12.js.map +1 -0
  97. package/build/server/chunks/{TagEdit-Z3SvuMyc.js → TagEdit-DRMM22zL.js} +2 -2
  98. package/build/server/chunks/{TagEdit-Z3SvuMyc.js.map → TagEdit-DRMM22zL.js.map} +1 -1
  99. package/build/server/chunks/{_layout.svelte-x1JCI-Ud.js → _layout.svelte-BHetA6tT.js} +37 -5
  100. package/build/server/chunks/_layout.svelte-BHetA6tT.js.map +1 -0
  101. package/build/server/chunks/{_page.svelte-BcF8bSGN.js → _page.svelte-5LEUWy4c.js} +2 -2
  102. package/build/server/chunks/{_page.svelte-BcF8bSGN.js.map → _page.svelte-5LEUWy4c.js.map} +1 -1
  103. package/build/server/chunks/{_page.svelte-Ddt2Wyed.js → _page.svelte-B2uNzsMP.js} +2 -2
  104. package/build/server/chunks/{_page.svelte-Ddt2Wyed.js.map → _page.svelte-B2uNzsMP.js.map} +1 -1
  105. package/build/server/chunks/{_page.svelte-BwjiTr4Z.js → _page.svelte-C4Y5I0vb.js} +6 -3
  106. package/build/server/chunks/_page.svelte-C4Y5I0vb.js.map +1 -0
  107. package/build/server/chunks/{_page.svelte-Csrc3Kka.js → _page.svelte-C5gxSfql.js} +3 -3
  108. package/build/server/chunks/{_page.svelte-Csrc3Kka.js.map → _page.svelte-C5gxSfql.js.map} +1 -1
  109. package/build/server/chunks/{_page.svelte-DzG3aUPj.js → _page.svelte-SkEaMfpd.js} +7 -9
  110. package/build/server/chunks/_page.svelte-SkEaMfpd.js.map +1 -0
  111. package/build/server/chunks/_server.ts-DaG2SqbQ.js.map +1 -1
  112. package/build/server/chunks/_server.ts-LdnFfvoN.js +144 -0
  113. package/build/server/chunks/_server.ts-LdnFfvoN.js.map +1 -0
  114. package/build/server/chunks/_server.ts-OYdhWjAm.js.map +1 -1
  115. package/build/server/chunks/art-kKkUpdby.js +30 -0
  116. package/build/server/chunks/art-kKkUpdby.js.map +1 -0
  117. package/build/server/index.js +1 -1
  118. package/build/server/index.js.map +1 -1
  119. package/build/server/manifest.js +20 -13
  120. package/build/server/manifest.js.map +1 -1
  121. package/package.json +2 -2
  122. package/build/client/editor/_app/immutable/assets/0.Bd8J-lYu.css +0 -1
  123. package/build/client/editor/_app/immutable/assets/0.Bd8J-lYu.css.br +0 -0
  124. package/build/client/editor/_app/immutable/assets/0.Bd8J-lYu.css.gz +0 -0
  125. package/build/client/editor/_app/immutable/chunks/BTm1Y97S.js.br +0 -0
  126. package/build/client/editor/_app/immutable/chunks/BTm1Y97S.js.gz +0 -0
  127. package/build/client/editor/_app/immutable/chunks/BZO2fMRs.js.br +0 -0
  128. package/build/client/editor/_app/immutable/chunks/BZO2fMRs.js.gz +0 -0
  129. package/build/client/editor/_app/immutable/chunks/BbTtDDO-.js.br +0 -0
  130. package/build/client/editor/_app/immutable/chunks/BbTtDDO-.js.gz +0 -0
  131. package/build/client/editor/_app/immutable/chunks/Bm5IvZcv.js.br +0 -0
  132. package/build/client/editor/_app/immutable/chunks/Bm5IvZcv.js.gz +0 -0
  133. package/build/client/editor/_app/immutable/chunks/CFjV7r4h.js.br +0 -0
  134. package/build/client/editor/_app/immutable/chunks/CFjV7r4h.js.gz +0 -0
  135. package/build/client/editor/_app/immutable/chunks/CJsULbm2.js.br +0 -0
  136. package/build/client/editor/_app/immutable/chunks/CJsULbm2.js.gz +0 -0
  137. package/build/client/editor/_app/immutable/chunks/CxALXTzV.js.br +0 -0
  138. package/build/client/editor/_app/immutable/chunks/CxALXTzV.js.gz +0 -0
  139. package/build/client/editor/_app/immutable/chunks/DBkJKhCW.js.br +0 -0
  140. package/build/client/editor/_app/immutable/chunks/DBkJKhCW.js.gz +0 -0
  141. package/build/client/editor/_app/immutable/chunks/DQfcrQAO.js +0 -1
  142. package/build/client/editor/_app/immutable/chunks/DQfcrQAO.js.br +0 -0
  143. package/build/client/editor/_app/immutable/chunks/DQfcrQAO.js.gz +0 -0
  144. package/build/client/editor/_app/immutable/chunks/D_jk9iCO.js +0 -1
  145. package/build/client/editor/_app/immutable/chunks/D_jk9iCO.js.br +0 -0
  146. package/build/client/editor/_app/immutable/chunks/D_jk9iCO.js.gz +0 -0
  147. package/build/client/editor/_app/immutable/chunks/DdkFxsLU.js.br +0 -0
  148. package/build/client/editor/_app/immutable/chunks/DdkFxsLU.js.gz +0 -0
  149. package/build/client/editor/_app/immutable/chunks/DjRSIdFZ.js.br +0 -3
  150. package/build/client/editor/_app/immutable/chunks/DjRSIdFZ.js.gz +0 -0
  151. package/build/client/editor/_app/immutable/chunks/DwRir5sr.js +0 -5
  152. package/build/client/editor/_app/immutable/chunks/DwRir5sr.js.br +0 -0
  153. package/build/client/editor/_app/immutable/chunks/DwRir5sr.js.gz +0 -0
  154. package/build/client/editor/_app/immutable/chunks/eGZ1AgGD.js.br +0 -0
  155. package/build/client/editor/_app/immutable/chunks/eGZ1AgGD.js.gz +0 -0
  156. package/build/client/editor/_app/immutable/entry/app.BDUw-8tr.js.br +0 -0
  157. package/build/client/editor/_app/immutable/entry/app.BDUw-8tr.js.gz +0 -0
  158. package/build/client/editor/_app/immutable/entry/start.M-PWutPS.js +0 -1
  159. package/build/client/editor/_app/immutable/entry/start.M-PWutPS.js.br +0 -2
  160. package/build/client/editor/_app/immutable/entry/start.M-PWutPS.js.gz +0 -0
  161. package/build/client/editor/_app/immutable/nodes/0.DLm5-dSP.js +0 -1
  162. package/build/client/editor/_app/immutable/nodes/0.DLm5-dSP.js.br +0 -0
  163. package/build/client/editor/_app/immutable/nodes/0.DLm5-dSP.js.gz +0 -0
  164. package/build/client/editor/_app/immutable/nodes/1.BxIlWqNO.js.br +0 -1
  165. package/build/client/editor/_app/immutable/nodes/1.BxIlWqNO.js.gz +0 -0
  166. package/build/client/editor/_app/immutable/nodes/2.DNKjfKhz.js.br +0 -0
  167. package/build/client/editor/_app/immutable/nodes/2.DNKjfKhz.js.gz +0 -0
  168. package/build/client/editor/_app/immutable/nodes/3.Dyl_sQJZ.js +0 -1
  169. package/build/client/editor/_app/immutable/nodes/3.Dyl_sQJZ.js.br +0 -0
  170. package/build/client/editor/_app/immutable/nodes/3.Dyl_sQJZ.js.gz +0 -0
  171. package/build/client/editor/_app/immutable/nodes/4.DQFRPJxw.js.br +0 -0
  172. package/build/client/editor/_app/immutable/nodes/4.DQFRPJxw.js.gz +0 -0
  173. package/build/client/editor/_app/immutable/nodes/5.D-rd1rRC.js.br +0 -0
  174. package/build/client/editor/_app/immutable/nodes/5.D-rd1rRC.js.gz +0 -0
  175. package/build/client/editor/_app/immutable/nodes/6.SI66WxDL.js +0 -1
  176. package/build/client/editor/_app/immutable/nodes/6.SI66WxDL.js.br +0 -0
  177. package/build/client/editor/_app/immutable/nodes/6.SI66WxDL.js.gz +0 -0
  178. package/build/client/editor/_app/immutable/nodes/7.BE5CpiHo.js.br +0 -0
  179. package/build/client/editor/_app/immutable/nodes/7.BE5CpiHo.js.gz +0 -0
  180. package/build/server/chunks/0-B8mI7yRx.js.map +0 -1
  181. package/build/server/chunks/3-BfOB1TCm.js.map +0 -1
  182. package/build/server/chunks/6-DSW4aF--.js.map +0 -1
  183. package/build/server/chunks/SearchInput-BLX7LjjV.js.map +0 -1
  184. package/build/server/chunks/_layout.svelte-x1JCI-Ud.js.map +0 -1
  185. package/build/server/chunks/_page.svelte-BwjiTr4Z.js.map +0 -1
  186. package/build/server/chunks/_page.svelte-DzG3aUPj.js.map +0 -1
@@ -0,0 +1,144 @@
1
+ import { j as json } from './index-CoD1IJuy.js';
2
+ import { $ART } from '@phosart/common/server';
3
+ import { spawn } from 'node:child_process';
4
+
5
+ function ordinaryStatusRegex() {
6
+ return /1 ([.MTADRCU?]{2}) ([NS])([C.])([M.])([U.]) (\d{6}) (\d{6}) (\d{6}) ([a-f0-9]+) ([a-f0-9]+) (.+)$/;
7
+ }
8
+ function copyStatusRegex() {
9
+ return /2 ([.MTADRCU?]{2}) ([NS])([C.])([M.])([U.]) (\d{6}) (\d{6}) (\d{6}) ([a-f0-9]+) ([a-f0-9]+) ([RC])(\d+) ([^\t]+)\t(.+)$/;
10
+ }
11
+ function unmergeRegex() {
12
+ return /u ([.MTADRCU?]{2}) ([NS])([C.])([M.])([U.]) (\d{6}) (\d{6}) (\d{6}) (\d{6}) ([a-f0-9]+) ([a-f0-9]+) ([a-f0-9]+) (.+)$/;
13
+ }
14
+ function untrackRegex() {
15
+ return /\? (.+)$/;
16
+ }
17
+ function headerRegex() {
18
+ return /# ([^.]+)\.([^.]+?) (.*)/;
19
+ }
20
+ class Git {
21
+ async status() {
22
+ const proc = spawn("git", ["status", "--porcelain=2", "--branch", "--untracked-files"], {
23
+ stdio: "pipe",
24
+ cwd: $ART()
25
+ });
26
+ let out = "";
27
+ proc.stdout.on("data", (d) => out += d);
28
+ await new Promise((resolve) => proc.on("close", resolve));
29
+ const status = {
30
+ branch: { head: "", oid: "" },
31
+ changes: []
32
+ };
33
+ for (const line of out.split("\n")) {
34
+ let match = headerRegex().exec(line);
35
+ if (match) {
36
+ const [, domain, key, value] = match;
37
+ if (domain !== "branch") continue;
38
+ switch (key) {
39
+ case "oid":
40
+ status.branch.oid = value;
41
+ break;
42
+ case "head":
43
+ status.branch.head = value;
44
+ break;
45
+ case "upstream":
46
+ status.branch.upstream = value;
47
+ break;
48
+ case "ab": {
49
+ const [, plus, minus] = /\+(\d+) -(\d+)/.exec(value);
50
+ status.branch.ab = {
51
+ ahead: plus,
52
+ behind: minus
53
+ };
54
+ break;
55
+ }
56
+ }
57
+ continue;
58
+ }
59
+ match = untrackRegex().exec(line);
60
+ if (match) {
61
+ const [, path] = match;
62
+ status.changes.push({ type: "untracked", path });
63
+ continue;
64
+ }
65
+ match = unmergeRegex().exec(line);
66
+ if (match) {
67
+ const [, xy, ns, c, m, u, m1, m2, m3, mW, h1, h2, h3, path] = match;
68
+ status.changes.push({
69
+ type: "unmerged",
70
+ status: {
71
+ index: xy[0],
72
+ worktree: xy[1]
73
+ },
74
+ path,
75
+ stage1Mode: parseInt(m1, 8),
76
+ stage1Name: h1,
77
+ stage2Mode: parseInt(m2, 8),
78
+ stage2Name: h2,
79
+ stage3Mode: parseInt(m3, 8),
80
+ stage3Name: h3,
81
+ submoduleState: {
82
+ type: ns === "N" ? "normal" : "submodule",
83
+ didCommitChange: c === "C",
84
+ hasTrackedChanges: m === "M",
85
+ hasUntrackedChanges: u === "U"
86
+ },
87
+ worktreeMode: parseInt(mW, 8)
88
+ });
89
+ continue;
90
+ }
91
+ match = copyStatusRegex().exec(line);
92
+ if (match) {
93
+ const [, xy, ns, c, m, u, mH, mI, mW, hH, hI, x, score, path, origPath] = match;
94
+ status.changes.push({
95
+ type: x === "R" ? "renamed" : "copied",
96
+ headName: hH,
97
+ indexName: hI,
98
+ modeHead: parseInt(mH, 8),
99
+ modeIndex: parseInt(mI, 8),
100
+ modeWorktree: parseInt(mW, 8),
101
+ origPath,
102
+ path,
103
+ score: parseInt(score),
104
+ status: { index: xy[0], worktree: xy[1] },
105
+ submoduleState: {
106
+ type: ns === "N" ? "normal" : "submodule",
107
+ didCommitChange: c === "C",
108
+ hasTrackedChanges: m === "M",
109
+ hasUntrackedChanges: u === "U"
110
+ }
111
+ });
112
+ continue;
113
+ }
114
+ match = ordinaryStatusRegex().exec(line);
115
+ if (match) {
116
+ const [, xy, ns, c, m, u, mH, mI, mW, hH, hI, path] = match;
117
+ status.changes.push({
118
+ type: "normal",
119
+ headName: hH,
120
+ indexName: hI,
121
+ modeHead: parseInt(mH, 8),
122
+ modeIndex: parseInt(mI, 8),
123
+ modeWorktree: parseInt(mW, 8),
124
+ path,
125
+ status: { index: xy[0], worktree: xy[1] },
126
+ submoduleState: {
127
+ type: ns === "N" ? "normal" : "submodule",
128
+ didCommitChange: c === "C",
129
+ hasTrackedChanges: m === "M",
130
+ hasUntrackedChanges: u === "U"
131
+ }
132
+ });
133
+ continue;
134
+ }
135
+ }
136
+ return status;
137
+ }
138
+ }
139
+ const GET = async () => {
140
+ return json(await new Git().status());
141
+ };
142
+
143
+ export { GET };
144
+ //# sourceMappingURL=_server.ts-LdnFfvoN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-LdnFfvoN.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/git/status/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { $ART } from \"@phosart/common/server\";\nimport { spawn } from \"node:child_process\";\nfunction ordinaryStatusRegex() {\n return /1 ([.MTADRCU?]{2}) ([NS])([C.])([M.])([U.]) (\\d{6}) (\\d{6}) (\\d{6}) ([a-f0-9]+) ([a-f0-9]+) (.+)$/;\n}\nfunction copyStatusRegex() {\n return /2 ([.MTADRCU?]{2}) ([NS])([C.])([M.])([U.]) (\\d{6}) (\\d{6}) (\\d{6}) ([a-f0-9]+) ([a-f0-9]+) ([RC])(\\d+) ([^\\t]+)\\t(.+)$/;\n}\nfunction unmergeRegex() {\n return /u ([.MTADRCU?]{2}) ([NS])([C.])([M.])([U.]) (\\d{6}) (\\d{6}) (\\d{6}) (\\d{6}) ([a-f0-9]+) ([a-f0-9]+) ([a-f0-9]+) (.+)$/;\n}\nfunction untrackRegex() {\n return /\\? (.+)$/;\n}\nfunction headerRegex() {\n return /# ([^.]+)\\.([^.]+?) (.*)/;\n}\nclass Git {\n async status() {\n const proc = spawn(\"git\", [\"status\", \"--porcelain=2\", \"--branch\", \"--untracked-files\"], {\n stdio: \"pipe\",\n cwd: $ART()\n });\n let out = \"\";\n proc.stdout.on(\"data\", (d) => out += d);\n await new Promise((resolve) => proc.on(\"close\", resolve));\n const status = {\n branch: { head: \"\", oid: \"\" },\n changes: []\n };\n for (const line of out.split(\"\\n\")) {\n let match = headerRegex().exec(line);\n if (match) {\n const [, domain, key, value] = match;\n if (domain !== \"branch\") continue;\n switch (key) {\n case \"oid\":\n status.branch.oid = value;\n break;\n case \"head\":\n status.branch.head = value;\n break;\n case \"upstream\":\n status.branch.upstream = value;\n break;\n case \"ab\": {\n const [, plus, minus] = /\\+(\\d+) -(\\d+)/.exec(value);\n status.branch.ab = {\n ahead: plus,\n behind: minus\n };\n break;\n }\n }\n continue;\n }\n match = untrackRegex().exec(line);\n if (match) {\n const [, path] = match;\n status.changes.push({ type: \"untracked\", path });\n continue;\n }\n match = unmergeRegex().exec(line);\n if (match) {\n const [, xy, ns, c, m, u, m1, m2, m3, mW, h1, h2, h3, path] = match;\n status.changes.push({\n type: \"unmerged\",\n status: {\n index: xy[0],\n worktree: xy[1]\n },\n path,\n stage1Mode: parseInt(m1, 8),\n stage1Name: h1,\n stage2Mode: parseInt(m2, 8),\n stage2Name: h2,\n stage3Mode: parseInt(m3, 8),\n stage3Name: h3,\n submoduleState: {\n type: ns === \"N\" ? \"normal\" : \"submodule\",\n didCommitChange: c === \"C\",\n hasTrackedChanges: m === \"M\",\n hasUntrackedChanges: u === \"U\"\n },\n worktreeMode: parseInt(mW, 8)\n });\n continue;\n }\n match = copyStatusRegex().exec(line);\n if (match) {\n const [, xy, ns, c, m, u, mH, mI, mW, hH, hI, x, score, path, origPath] = match;\n status.changes.push({\n type: x === \"R\" ? \"renamed\" : \"copied\",\n headName: hH,\n indexName: hI,\n modeHead: parseInt(mH, 8),\n modeIndex: parseInt(mI, 8),\n modeWorktree: parseInt(mW, 8),\n origPath,\n path,\n score: parseInt(score),\n status: { index: xy[0], worktree: xy[1] },\n submoduleState: {\n type: ns === \"N\" ? \"normal\" : \"submodule\",\n didCommitChange: c === \"C\",\n hasTrackedChanges: m === \"M\",\n hasUntrackedChanges: u === \"U\"\n }\n });\n continue;\n }\n match = ordinaryStatusRegex().exec(line);\n if (match) {\n const [, xy, ns, c, m, u, mH, mI, mW, hH, hI, path] = match;\n status.changes.push({\n type: \"normal\",\n headName: hH,\n indexName: hI,\n modeHead: parseInt(mH, 8),\n modeIndex: parseInt(mI, 8),\n modeWorktree: parseInt(mW, 8),\n path,\n status: { index: xy[0], worktree: xy[1] },\n submoduleState: {\n type: ns === \"N\" ? \"normal\" : \"submodule\",\n didCommitChange: c === \"C\",\n hasTrackedChanges: m === \"M\",\n hasUntrackedChanges: u === \"U\"\n }\n });\n continue;\n }\n }\n return status;\n }\n}\nconst GET = async () => {\n return json(await new Git().status());\n};\nexport {\n GET\n};\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-OYdhWjAm.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/git/login/flow/request_access_token/_server.ts.js"],"sourcesContent":["import { r as requestToken } from \"../../../../../../../chunks/github.js\";\nimport { error, json } from \"@sveltejs/kit\";\nimport fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport os from \"node:os\";\nimport { spawn } from \"node:child_process\";\nconst winscript = '# win-secret.ps1\\n# Reads stdin: COMMAND\\\\nHANDLE\\\\n[VALUE_B64]\\\\n\\n# Writes stdout: STATUS\\\\nPAYLOAD\\\\n\\n\\n$ErrorActionPreference = \"Stop\"\\n\\nfunction Out-TwoLines([string]$status, [string]$payload) {\\n Write-Output $status\\n Write-Output $payload\\n}\\n\\ntry {\\n $lines = @()\\n while ($null -ne ($l = [Console]::In.ReadLine())) { $lines += $l }\\n\\n if ($lines.Count -lt 2) { Out-TwoLines \"ERROR\" \"invalid input\"; exit 0 }\\n\\n $cmd = $lines[0].Trim()\\n $handle = $lines[1].Trim()\\n\\n if ($handle -notmatch \\'^[A-Za-z0-9._-]{1,128}$\\') {\\n Out-TwoLines \"ERROR\" \"invalid handle\"\\n exit 0\\n }\\n\\n $baseDir = Join-Path $env:LOCALAPPDATA \"phosart-devtool\\\\secrets\"\\n [IO.Directory]::CreateDirectory($baseDir) | Out-Null\\n $path = Join-Path $baseDir \"$handle.bin\"\\n\\n Add-Type -AssemblyName System.Security\\n\\n function Protect([byte[]]$plain) {\\n return [Security.Cryptography.ProtectedData]::Protect(\\n $plain, $null, [Security.Cryptography.DataProtectionScope]::CurrentUser\\n )\\n }\\n\\n function Unprotect([byte[]]$cipher) {\\n return [Security.Cryptography.ProtectedData]::Unprotect(\\n $cipher, $null, [Security.Cryptography.DataProtectionScope]::CurrentUser\\n )\\n }\\n\\n function ReadExistingB64OrNull() {\\n if (-not (Test-Path -LiteralPath $path)) { return $null }\\n $cipher = [IO.File]::ReadAllBytes($path)\\n $plain = Unprotect $cipher\\n return [Convert]::ToBase64String($plain)\\n }\\n\\n if ($cmd -eq \"READ\") {\\n $cur = ReadExistingB64OrNull\\n if ($null -eq $cur) { Out-TwoLines \"MISSING\" \"null\" } else { Out-TwoLines \"OK\" $cur }\\n exit 0\\n }\\n\\n if ($cmd -eq \"WRITE\") {\\n if ($lines.Count -lt 3) { Out-TwoLines \"ERROR\" \"missing value\"; exit 0 }\\n $valueB64 = $lines[2].Trim()\\n $newPlain = [Convert]::FromBase64String($valueB64)\\n\\n $old = ReadExistingB64OrNull\\n\\n $cipher = Protect $newPlain\\n [IO.File]::WriteAllBytes($path, $cipher)\\n\\n if ($null -eq $old) { Out-TwoLines \"OK\" \"null\" } else { Out-TwoLines \"OK\" $old }\\n exit 0\\n }\\n\\n if ($cmd -eq \"DELETE\") {\\n $old = ReadExistingB64OrNull\\n if (Test-Path -LiteralPath $path) { Remove-Item -LiteralPath $path -Force }\\n if ($null -eq $old) { Out-TwoLines \"MISSING\" \"null\" } else { Out-TwoLines \"OK\" $old }\\n exit 0\\n }\\n\\n Out-TwoLines \"ERROR\" \"unknown command\"\\n} catch {\\n Out-TwoLines \"ERROR\" ($_.Exception.Message.Replace(\"`r\",\"\").Replace(\"`n\",\" \"))\\n}\\n';\nconst macscript = '#!/usr/bin/env bash\\n# mac-secret.sh\\n\\nset -euo pipefail\\n\\nread -r CMD || true\\nread -r HANDLE || true\\nVALUE_B64=\"\"\\nif [[ \"${CMD:-}\" == \"WRITE\" ]]; then\\n read -r VALUE_B64 || VALUE_B64=\"\"\\nfi\\n\\nSERVICE=\"com.phosart.devtool.secrets\"\\n\\ntwo_lines() { printf \"%s\\\\n%s\\\\n\" \"$1\" \"$2\"; }\\n\\nvalid_handle() {\\n [[ \"$HANDLE\" =~ ^[A-Za-z0-9._-]{1,128}$ ]]\\n}\\n\\nif ! valid_handle; then\\n two_lines \"ERROR\" \"invalid handle\"\\n exit 0\\nfi\\n\\nread_existing() {\\n # Prints existing secret to stdout, or returns nonzero if not found.\\n security find-generic-password -a \"$HANDLE\" -s \"$SERVICE\" -w 2>/dev/null\\n}\\n\\ncase \"${CMD:-}\" in\\n READ)\\n if out=\"$(read_existing)\"; then\\n two_lines \"OK\" \"$out\"\\n else\\n two_lines \"MISSING\" \"null\"\\n fi\\n ;;\\n\\n WRITE)\\n old=\"null\"\\n if out=\"$(read_existing)\"; then old=\"$out\"; fi\\n\\n # Add or update\\n security add-generic-password -a \"$HANDLE\" -s \"$SERVICE\" -w \"$VALUE_B64\" -U >/dev/null 2>&1\\n\\n two_lines \"OK\" \"$old\"\\n ;;\\n\\n DELETE)\\n if out=\"$(read_existing)\"; then\\n security delete-generic-password -a \"$HANDLE\" -s \"$SERVICE\" >/dev/null 2>&1 || true\\n two_lines \"OK\" \"$out\"\\n else\\n two_lines \"MISSING\" \"null\"\\n fi\\n ;;\\n\\n *)\\n two_lines \"ERROR\" \"unknown command\"\\n ;;\\nesac\\n';\nconst linuxscript = '#!/usr/bin/env bash\\n\\nset -euo pipefail\\n\\nread -r CMD || true\\nread -r HANDLE || true\\nVALUE_B64=\"\"\\nif [[ \"${CMD:-}\" == \"WRITE\" ]]; then\\n read -r VALUE_B64 || VALUE_B64=\"\"\\nfi\\n\\nSERVICE=\"com.phosart.devtool.secrets\"\\n\\ntwo_lines() { printf \"%s\\\\n%s\\\\n\" \"$1\" \"$2\"; }\\n\\nvalid_handle() {\\n [[ \"$HANDLE\" =~ ^[A-Za-z0-9._-]{1,128}$ ]]\\n}\\n\\nif ! valid_handle; then\\n two_lines \"ERROR\" \"invalid handle\"\\n exit 0\\nfi\\n\\nif ! command -v secret-tool >/dev/null 2>&1; then\\n two_lines \"NOT_SUPPORTED\" \"null\"\\n exit 0\\nfi\\n\\nread_existing() {\\n # secret-tool lookup returns 0 with value, or 1 if not found.\\n secret-tool lookup service \"$SERVICE\" account \"$HANDLE\" 2>/dev/null\\n}\\n\\ncase \"${CMD:-}\" in\\n READ)\\n if out=\"$(read_existing)\"; then\\n two_lines \"OK\" \"$out\"\\n else\\n two_lines \"MISSING\" \"null\"\\n fi\\n ;;\\n\\n WRITE)\\n old=\"null\"\\n if out=\"$(read_existing)\"; then old=\"$out\"; fi\\n\\n # store (replace)\\n printf \"%s\" \"$VALUE_B64\" | secret-tool store --label=\"YourApp secret $HANDLE\" service \"$SERVICE\" account \"$HANDLE\" >/dev/null\\n\\n two_lines \"OK\" \"$old\"\\n ;;\\n\\n DELETE)\\n if out=\"$(read_existing)\"; then\\n secret-tool clear service \"$SERVICE\" account \"$HANDLE\" >/dev/null || true\\n two_lines \"OK\" \"$out\"\\n else\\n two_lines \"MISSING\" \"null\"\\n fi\\n ;;\\n\\n *)\\n two_lines \"ERROR\" \"unknown command\"\\n ;;\\nesac\\n';\nlet cachedpath = null;\nasync function scriptpath() {\n if (cachedpath) {\n return cachedpath;\n }\n const platform = os.platform();\n const tmp = await fs.mkdtemp(path.join(os.tmpdir(), \"phosart-devtool\"));\n const toCache = path.resolve(path.join(tmp, `script.${platform === \"win32\" ? \"ps1\" : \"sh\"}`));\n let script = linuxscript;\n if (platform === \"darwin\") {\n script = macscript;\n } else if (platform === \"win32\") {\n script = winscript;\n }\n try {\n await fs.stat(toCache);\n return toCache;\n } catch {\n }\n await fs.writeFile(toCache, script, { encoding: \"utf-8\" });\n await fs.chmod(toCache, 493);\n cachedpath = toCache;\n return cachedpath;\n}\nfunction b64FromBytes(bytes) {\n return Buffer.from(bytes).toString(\"base64\");\n}\nfunction bytesFromB64(b64) {\n return Buffer.from(b64, \"base64\");\n}\nfunction runHelper(helperPath, input, shell = false) {\n return new Promise((resolve) => {\n const child = spawn(helperPath, [], {\n stdio: \"pipe\",\n shell,\n windowsHide: true\n });\n let out = \"\";\n let err = \"\";\n child.stdout.setEncoding(\"utf8\");\n child.stderr.setEncoding(\"utf8\");\n child.stdout.on(\"data\", (d) => out += d);\n child.stderr.on(\"data\", (d) => err += d);\n child.on(\"close\", () => {\n const lines = out.replace(/\\r/g, \"\").split(\"\\n\").filter((l) => l.length > 0);\n const status = lines[0] ?? \"ERROR\";\n const payload = lines[1] ?? \"null\";\n if (status === \"OK\")\n return resolve({ status: \"OK\", value: payload === \"null\" ? null : payload });\n if (status === \"MISSING\") return resolve({ status: \"MISSING\", value: null });\n if (status === \"NOT_SUPPORTED\") return resolve({ status: \"NOT_SUPPORTED\", value: null });\n return resolve({\n status: \"ERROR\",\n value: payload !== \"null\" ? payload : err.trim() || \"unknown error\"\n });\n });\n child.stdin.end(input);\n });\n}\nclass SecretStore {\n #ephemeral = /* @__PURE__ */ new Map();\n async helperCall(cmd, handle, valueB64) {\n const path2 = await scriptpath();\n const p = os.platform();\n if (p === \"win32\") {\n const ps = \"powershell.exe\";\n const args = `-NoProfile -ExecutionPolicy Bypass -File \"${path2}\"`;\n return runHelper(\n `${ps} ${args}`,\n [cmd, handle, ...cmd === \"WRITE\" ? [valueB64 ?? \"\"] : []].join(\"\\n\") + \"\\n\",\n true\n );\n }\n if (p === \"darwin\") {\n return runHelper(\n path2,\n [cmd, handle, ...cmd === \"WRITE\" ? [valueB64 ?? \"\"] : []].join(\"\\n\") + \"\\n\"\n );\n }\n return runHelper(\n path2,\n [cmd, handle, ...cmd === \"WRITE\" ? [valueB64 ?? \"\"] : []].join(\"\\n\") + \"\\n\"\n );\n }\n async read(handle) {\n const res = await this.helperCall(\"READ\", handle);\n if (res.status === \"OK\") return res.value ? bytesFromB64(res.value) : new Uint8Array();\n if (res.status === \"MISSING\") return null;\n if (res.status === \"NOT_SUPPORTED\") {\n const v = this.#ephemeral.get(handle);\n return v ? bytesFromB64(v) : null;\n }\n throw new Error(`secret read failed: ${res.value}`);\n }\n async write(handle, value) {\n const valueB64 = b64FromBytes(value);\n const res = await this.helperCall(\"WRITE\", handle, valueB64);\n if (res.status === \"OK\") {\n this.#ephemeral.set(handle, valueB64);\n return res.value ? bytesFromB64(res.value) : null;\n }\n if (res.status === \"NOT_SUPPORTED\") {\n const old = this.#ephemeral.get(handle) ?? null;\n this.#ephemeral.set(handle, valueB64);\n return old ? bytesFromB64(old) : null;\n }\n throw new Error(`secret write failed: ${res.status === \"ERROR\" ? res.value : \"unknown\"}`);\n }\n async delete(handle) {\n const res = await this.helperCall(\"DELETE\", handle);\n if (res.status === \"OK\") {\n this.#ephemeral.delete(handle);\n return res.value ? bytesFromB64(res.value) : null;\n }\n if (res.status === \"MISSING\") {\n this.#ephemeral.delete(handle);\n return null;\n }\n if (res.status === \"NOT_SUPPORTED\") {\n const old = this.#ephemeral.get(handle) ?? null;\n this.#ephemeral.delete(handle);\n return old ? bytesFromB64(old) : null;\n }\n throw new Error(`secret delete failed: ${res.value}`);\n }\n}\nconst secrets = new SecretStore();\nconst POST = async ({ request }) => {\n const state = await request.json();\n if (state.stage !== \"has_code\") {\n return error(400, \"wrong state\");\n }\n const resp = await requestToken(state.device_code);\n if (resp.access_token) {\n secrets.write(\"gha_token\", Buffer.from(resp.access_token, \"utf-8\"));\n return json({ stage: \"completed\" });\n }\n state.last_attempt = resp.error;\n return json(state);\n};\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-OYdhWjAm.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/git/hub/login/request_access_token/_server.ts.js"],"sourcesContent":["import { r as requestToken } from \"../../../../../../../chunks/github.js\";\nimport { error, json } from \"@sveltejs/kit\";\nimport fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport os from \"node:os\";\nimport { spawn } from \"node:child_process\";\nconst winscript = '# win-secret.ps1\\n# Reads stdin: COMMAND\\\\nHANDLE\\\\n[VALUE_B64]\\\\n\\n# Writes stdout: STATUS\\\\nPAYLOAD\\\\n\\n\\n$ErrorActionPreference = \"Stop\"\\n\\nfunction Out-TwoLines([string]$status, [string]$payload) {\\n Write-Output $status\\n Write-Output $payload\\n}\\n\\ntry {\\n $lines = @()\\n while ($null -ne ($l = [Console]::In.ReadLine())) { $lines += $l }\\n\\n if ($lines.Count -lt 2) { Out-TwoLines \"ERROR\" \"invalid input\"; exit 0 }\\n\\n $cmd = $lines[0].Trim()\\n $handle = $lines[1].Trim()\\n\\n if ($handle -notmatch \\'^[A-Za-z0-9._-]{1,128}$\\') {\\n Out-TwoLines \"ERROR\" \"invalid handle\"\\n exit 0\\n }\\n\\n $baseDir = Join-Path $env:LOCALAPPDATA \"phosart-devtool\\\\secrets\"\\n [IO.Directory]::CreateDirectory($baseDir) | Out-Null\\n $path = Join-Path $baseDir \"$handle.bin\"\\n\\n Add-Type -AssemblyName System.Security\\n\\n function Protect([byte[]]$plain) {\\n return [Security.Cryptography.ProtectedData]::Protect(\\n $plain, $null, [Security.Cryptography.DataProtectionScope]::CurrentUser\\n )\\n }\\n\\n function Unprotect([byte[]]$cipher) {\\n return [Security.Cryptography.ProtectedData]::Unprotect(\\n $cipher, $null, [Security.Cryptography.DataProtectionScope]::CurrentUser\\n )\\n }\\n\\n function ReadExistingB64OrNull() {\\n if (-not (Test-Path -LiteralPath $path)) { return $null }\\n $cipher = [IO.File]::ReadAllBytes($path)\\n $plain = Unprotect $cipher\\n return [Convert]::ToBase64String($plain)\\n }\\n\\n if ($cmd -eq \"READ\") {\\n $cur = ReadExistingB64OrNull\\n if ($null -eq $cur) { Out-TwoLines \"MISSING\" \"null\" } else { Out-TwoLines \"OK\" $cur }\\n exit 0\\n }\\n\\n if ($cmd -eq \"WRITE\") {\\n if ($lines.Count -lt 3) { Out-TwoLines \"ERROR\" \"missing value\"; exit 0 }\\n $valueB64 = $lines[2].Trim()\\n $newPlain = [Convert]::FromBase64String($valueB64)\\n\\n $old = ReadExistingB64OrNull\\n\\n $cipher = Protect $newPlain\\n [IO.File]::WriteAllBytes($path, $cipher)\\n\\n if ($null -eq $old) { Out-TwoLines \"OK\" \"null\" } else { Out-TwoLines \"OK\" $old }\\n exit 0\\n }\\n\\n if ($cmd -eq \"DELETE\") {\\n $old = ReadExistingB64OrNull\\n if (Test-Path -LiteralPath $path) { Remove-Item -LiteralPath $path -Force }\\n if ($null -eq $old) { Out-TwoLines \"MISSING\" \"null\" } else { Out-TwoLines \"OK\" $old }\\n exit 0\\n }\\n\\n Out-TwoLines \"ERROR\" \"unknown command\"\\n} catch {\\n Out-TwoLines \"ERROR\" ($_.Exception.Message.Replace(\"`r\",\"\").Replace(\"`n\",\" \"))\\n}\\n';\nconst macscript = '#!/usr/bin/env bash\\n# mac-secret.sh\\n\\nset -euo pipefail\\n\\nread -r CMD || true\\nread -r HANDLE || true\\nVALUE_B64=\"\"\\nif [[ \"${CMD:-}\" == \"WRITE\" ]]; then\\n read -r VALUE_B64 || VALUE_B64=\"\"\\nfi\\n\\nSERVICE=\"com.phosart.devtool.secrets\"\\n\\ntwo_lines() { printf \"%s\\\\n%s\\\\n\" \"$1\" \"$2\"; }\\n\\nvalid_handle() {\\n [[ \"$HANDLE\" =~ ^[A-Za-z0-9._-]{1,128}$ ]]\\n}\\n\\nif ! valid_handle; then\\n two_lines \"ERROR\" \"invalid handle\"\\n exit 0\\nfi\\n\\nread_existing() {\\n # Prints existing secret to stdout, or returns nonzero if not found.\\n security find-generic-password -a \"$HANDLE\" -s \"$SERVICE\" -w 2>/dev/null\\n}\\n\\ncase \"${CMD:-}\" in\\n READ)\\n if out=\"$(read_existing)\"; then\\n two_lines \"OK\" \"$out\"\\n else\\n two_lines \"MISSING\" \"null\"\\n fi\\n ;;\\n\\n WRITE)\\n old=\"null\"\\n if out=\"$(read_existing)\"; then old=\"$out\"; fi\\n\\n # Add or update\\n security add-generic-password -a \"$HANDLE\" -s \"$SERVICE\" -w \"$VALUE_B64\" -U >/dev/null 2>&1\\n\\n two_lines \"OK\" \"$old\"\\n ;;\\n\\n DELETE)\\n if out=\"$(read_existing)\"; then\\n security delete-generic-password -a \"$HANDLE\" -s \"$SERVICE\" >/dev/null 2>&1 || true\\n two_lines \"OK\" \"$out\"\\n else\\n two_lines \"MISSING\" \"null\"\\n fi\\n ;;\\n\\n *)\\n two_lines \"ERROR\" \"unknown command\"\\n ;;\\nesac\\n';\nconst linuxscript = '#!/usr/bin/env bash\\n\\nset -euo pipefail\\n\\nread -r CMD || true\\nread -r HANDLE || true\\nVALUE_B64=\"\"\\nif [[ \"${CMD:-}\" == \"WRITE\" ]]; then\\n read -r VALUE_B64 || VALUE_B64=\"\"\\nfi\\n\\nSERVICE=\"com.phosart.devtool.secrets\"\\n\\ntwo_lines() { printf \"%s\\\\n%s\\\\n\" \"$1\" \"$2\"; }\\n\\nvalid_handle() {\\n [[ \"$HANDLE\" =~ ^[A-Za-z0-9._-]{1,128}$ ]]\\n}\\n\\nif ! valid_handle; then\\n two_lines \"ERROR\" \"invalid handle\"\\n exit 0\\nfi\\n\\nif ! command -v secret-tool >/dev/null 2>&1; then\\n two_lines \"NOT_SUPPORTED\" \"null\"\\n exit 0\\nfi\\n\\nread_existing() {\\n # secret-tool lookup returns 0 with value, or 1 if not found.\\n secret-tool lookup service \"$SERVICE\" account \"$HANDLE\" 2>/dev/null\\n}\\n\\ncase \"${CMD:-}\" in\\n READ)\\n if out=\"$(read_existing)\"; then\\n two_lines \"OK\" \"$out\"\\n else\\n two_lines \"MISSING\" \"null\"\\n fi\\n ;;\\n\\n WRITE)\\n old=\"null\"\\n if out=\"$(read_existing)\"; then old=\"$out\"; fi\\n\\n # store (replace)\\n printf \"%s\" \"$VALUE_B64\" | secret-tool store --label=\"YourApp secret $HANDLE\" service \"$SERVICE\" account \"$HANDLE\" >/dev/null\\n\\n two_lines \"OK\" \"$old\"\\n ;;\\n\\n DELETE)\\n if out=\"$(read_existing)\"; then\\n secret-tool clear service \"$SERVICE\" account \"$HANDLE\" >/dev/null || true\\n two_lines \"OK\" \"$out\"\\n else\\n two_lines \"MISSING\" \"null\"\\n fi\\n ;;\\n\\n *)\\n two_lines \"ERROR\" \"unknown command\"\\n ;;\\nesac\\n';\nlet cachedpath = null;\nasync function scriptpath() {\n if (cachedpath) {\n return cachedpath;\n }\n const platform = os.platform();\n const tmp = await fs.mkdtemp(path.join(os.tmpdir(), \"phosart-devtool\"));\n const toCache = path.resolve(path.join(tmp, `script.${platform === \"win32\" ? \"ps1\" : \"sh\"}`));\n let script = linuxscript;\n if (platform === \"darwin\") {\n script = macscript;\n } else if (platform === \"win32\") {\n script = winscript;\n }\n try {\n await fs.stat(toCache);\n return toCache;\n } catch {\n }\n await fs.writeFile(toCache, script, { encoding: \"utf-8\" });\n await fs.chmod(toCache, 493);\n cachedpath = toCache;\n return cachedpath;\n}\nfunction b64FromBytes(bytes) {\n return Buffer.from(bytes).toString(\"base64\");\n}\nfunction bytesFromB64(b64) {\n return Buffer.from(b64, \"base64\");\n}\nfunction runHelper(helperPath, input, shell = false) {\n return new Promise((resolve) => {\n const child = spawn(helperPath, [], {\n stdio: \"pipe\",\n shell,\n windowsHide: true\n });\n let out = \"\";\n let err = \"\";\n child.stdout.setEncoding(\"utf8\");\n child.stderr.setEncoding(\"utf8\");\n child.stdout.on(\"data\", (d) => out += d);\n child.stderr.on(\"data\", (d) => err += d);\n child.on(\"close\", () => {\n const lines = out.replace(/\\r/g, \"\").split(\"\\n\").filter((l) => l.length > 0);\n const status = lines[0] ?? \"ERROR\";\n const payload = lines[1] ?? \"null\";\n if (status === \"OK\")\n return resolve({ status: \"OK\", value: payload === \"null\" ? null : payload });\n if (status === \"MISSING\") return resolve({ status: \"MISSING\", value: null });\n if (status === \"NOT_SUPPORTED\") return resolve({ status: \"NOT_SUPPORTED\", value: null });\n return resolve({\n status: \"ERROR\",\n value: payload !== \"null\" ? payload : err.trim() || \"unknown error\"\n });\n });\n child.stdin.end(input);\n });\n}\nclass SecretStore {\n #ephemeral = /* @__PURE__ */ new Map();\n async helperCall(cmd, handle, valueB64) {\n const path2 = await scriptpath();\n const p = os.platform();\n if (p === \"win32\") {\n const ps = \"powershell.exe\";\n const args = `-NoProfile -ExecutionPolicy Bypass -File \"${path2}\"`;\n return runHelper(\n `${ps} ${args}`,\n [cmd, handle, ...cmd === \"WRITE\" ? [valueB64 ?? \"\"] : []].join(\"\\n\") + \"\\n\",\n true\n );\n }\n if (p === \"darwin\") {\n return runHelper(\n path2,\n [cmd, handle, ...cmd === \"WRITE\" ? [valueB64 ?? \"\"] : []].join(\"\\n\") + \"\\n\"\n );\n }\n return runHelper(\n path2,\n [cmd, handle, ...cmd === \"WRITE\" ? [valueB64 ?? \"\"] : []].join(\"\\n\") + \"\\n\"\n );\n }\n async read(handle) {\n const res = await this.helperCall(\"READ\", handle);\n if (res.status === \"OK\") return res.value ? bytesFromB64(res.value) : new Uint8Array();\n if (res.status === \"MISSING\") return null;\n if (res.status === \"NOT_SUPPORTED\") {\n const v = this.#ephemeral.get(handle);\n return v ? bytesFromB64(v) : null;\n }\n throw new Error(`secret read failed: ${res.value}`);\n }\n async write(handle, value) {\n const valueB64 = b64FromBytes(value);\n const res = await this.helperCall(\"WRITE\", handle, valueB64);\n if (res.status === \"OK\") {\n this.#ephemeral.set(handle, valueB64);\n return res.value ? bytesFromB64(res.value) : null;\n }\n if (res.status === \"NOT_SUPPORTED\") {\n const old = this.#ephemeral.get(handle) ?? null;\n this.#ephemeral.set(handle, valueB64);\n return old ? bytesFromB64(old) : null;\n }\n throw new Error(`secret write failed: ${res.status === \"ERROR\" ? res.value : \"unknown\"}`);\n }\n async delete(handle) {\n const res = await this.helperCall(\"DELETE\", handle);\n if (res.status === \"OK\") {\n this.#ephemeral.delete(handle);\n return res.value ? bytesFromB64(res.value) : null;\n }\n if (res.status === \"MISSING\") {\n this.#ephemeral.delete(handle);\n return null;\n }\n if (res.status === \"NOT_SUPPORTED\") {\n const old = this.#ephemeral.get(handle) ?? null;\n this.#ephemeral.delete(handle);\n return old ? bytesFromB64(old) : null;\n }\n throw new Error(`secret delete failed: ${res.value}`);\n }\n}\nconst secrets = new SecretStore();\nconst POST = async ({ request }) => {\n const state = await request.json();\n if (state.stage !== \"has_code\") {\n return error(400, \"wrong state\");\n }\n const resp = await requestToken(state.device_code);\n if (resp.access_token) {\n secrets.write(\"gha_token\", Buffer.from(resp.access_token, \"utf-8\"));\n return json({ stage: \"completed\" });\n }\n state.last_attempt = resp.error;\n return json(state);\n};\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ function normalizeCharacter(ref, characters) {
2
+ if (Array.isArray(ref)) {
3
+ return ref.map((ch) => normalizeCharacter(ch, characters));
4
+ }
5
+ if (typeof ref === "string") {
6
+ return { name: ref, from: null, info: characters?.[ref] ?? null };
7
+ }
8
+ return { ...ref, info: null };
9
+ }
10
+ function normalizeSingleArtist(a, artists) {
11
+ const name = typeof a === "string" ? a : a.name;
12
+ const foundArtist = artists?.[name] ?? null;
13
+ return {
14
+ name,
15
+ anonymous: typeof a === "string" ? false : a.anonymous,
16
+ info: foundArtist ? { ...foundArtist, handle: name } : null
17
+ };
18
+ }
19
+ function normalizeArtist(as, artists) {
20
+ if (!as) {
21
+ return [];
22
+ }
23
+ if (!Array.isArray(as)) {
24
+ return [normalizeSingleArtist(as, artists)];
25
+ }
26
+ return as.map((a) => normalizeSingleArtist(a, artists));
27
+ }
28
+
29
+ export { normalizeArtist as a, normalizeCharacter as n };
30
+ //# sourceMappingURL=art-kKkUpdby.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"art-kKkUpdby.js","sources":["../../../.svelte-kit/adapter-node/chunks/art.js"],"sourcesContent":["function normalizeCharacter(ref, characters) {\n if (Array.isArray(ref)) {\n return ref.map((ch) => normalizeCharacter(ch, characters));\n }\n if (typeof ref === \"string\") {\n return { name: ref, from: null, info: characters?.[ref] ?? null };\n }\n return { ...ref, info: null };\n}\nfunction normalizeSingleArtist(a, artists) {\n const name = typeof a === \"string\" ? a : a.name;\n const foundArtist = artists?.[name] ?? null;\n return {\n name,\n anonymous: typeof a === \"string\" ? false : a.anonymous,\n info: foundArtist ? { ...foundArtist, handle: name } : null\n };\n}\nfunction normalizeArtist(as, artists) {\n if (!as) {\n return [];\n }\n if (!Array.isArray(as)) {\n return [normalizeSingleArtist(as, artists)];\n }\n return as.map((a) => normalizeSingleArtist(a, artists));\n}\nexport {\n normalizeCharacter as a,\n normalizeArtist as n\n};\n"],"names":[],"mappings":"AAAA,SAAS,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE;AAC7C,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AAC1B,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,kBAAkB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;AAC9D,EAAE;AACF,EAAE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAC/B,IAAI,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE;AACrE,EAAE;AACF,EAAE,OAAO,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/B;AACA,SAAS,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE;AAC3C,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI;AACjD,EAAE,MAAM,WAAW,GAAG,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI;AAC7C,EAAE,OAAO;AACT,IAAI,IAAI;AACR,IAAI,SAAS,EAAE,OAAO,CAAC,KAAK,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,SAAS;AAC1D,IAAI,IAAI,EAAE,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;AAC3D,GAAG;AACH;AACA,SAAS,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE;AACtC,EAAE,IAAI,CAAC,EAAE,EAAE;AACX,IAAI,OAAO,EAAE;AACb,EAAE;AACF,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;AAC1B,IAAI,OAAO,CAAC,qBAAqB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AAC/C,EAAE;AACF,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACzD;;;;"}
@@ -3430,7 +3430,7 @@ const options = {
3430
3430
  <div class="error">
3431
3431
  <span class="status">` + status + '</span>\n <div class="message">\n <h1>' + message + "</h1>\n </div>\n </div>\n </body>\n</html>\n"
3432
3432
  },
3433
- version_hash: "8c7jtm"
3433
+ version_hash: "93kx14"
3434
3434
  };
3435
3435
  async function get_hooks() {
3436
3436
  let handle;