@trebired/git-host 2.1.0 → 3.0.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 (162) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +327 -6
  3. package/bin/git-host-actions-runner-darwin-arm64 +0 -0
  4. package/bin/git-host-actions-runner-darwin-x64 +0 -0
  5. package/bin/git-host-actions-runner-linux-arm64-gnu +0 -0
  6. package/bin/git-host-actions-runner-linux-x64-gnu +0 -0
  7. package/dist/api/forge/actions.d.ts +6 -3
  8. package/dist/api/forge/actions.d.ts.map +1 -1
  9. package/dist/api/forge/actions.js +46 -10
  10. package/dist/api/forge/actions.js.map +1 -1
  11. package/dist/api/forge/route.d.ts +10 -0
  12. package/dist/api/forge/route.d.ts.map +1 -1
  13. package/dist/api/forge/route.js +6 -0
  14. package/dist/api/forge/route.js.map +1 -1
  15. package/dist/api/forge/socket.d.ts.map +1 -1
  16. package/dist/api/forge/socket.js +4 -148
  17. package/dist/api/forge/socket.js.map +1 -1
  18. package/dist/api/forge/socket_subscription.d.ts +10 -0
  19. package/dist/api/forge/socket_subscription.d.ts.map +1 -0
  20. package/dist/api/forge/socket_subscription.js +202 -0
  21. package/dist/api/forge/socket_subscription.js.map +1 -0
  22. package/dist/api/handler/action.d.ts.map +1 -1
  23. package/dist/api/handler/action.js +24 -18
  24. package/dist/api/handler/action.js.map +1 -1
  25. package/dist/api/socket/linguist_connection.d.ts +9 -0
  26. package/dist/api/socket/linguist_connection.d.ts.map +1 -0
  27. package/dist/api/socket/linguist_connection.js +167 -0
  28. package/dist/api/socket/linguist_connection.js.map +1 -0
  29. package/dist/api/socket/server.d.ts.map +1 -1
  30. package/dist/api/socket/server.js +4 -119
  31. package/dist/api/socket/server.js.map +1 -1
  32. package/dist/core/actions/artifacts.d.ts +21 -0
  33. package/dist/core/actions/artifacts.d.ts.map +1 -0
  34. package/dist/core/actions/artifacts.js +121 -0
  35. package/dist/core/actions/artifacts.js.map +1 -0
  36. package/dist/core/actions/environment.d.ts +9 -0
  37. package/dist/core/actions/environment.d.ts.map +1 -0
  38. package/dist/core/actions/environment.js +64 -0
  39. package/dist/core/actions/environment.js.map +1 -0
  40. package/dist/core/actions/expressions.d.ts +15 -0
  41. package/dist/core/actions/expressions.d.ts.map +1 -0
  42. package/dist/core/actions/expressions.js +279 -0
  43. package/dist/core/actions/expressions.js.map +1 -0
  44. package/dist/core/actions/go_runner.d.ts +6 -0
  45. package/dist/core/actions/go_runner.d.ts.map +1 -0
  46. package/dist/core/actions/go_runner.js +106 -0
  47. package/dist/core/actions/go_runner.js.map +1 -0
  48. package/dist/core/actions/local_runner.d.ts +33 -0
  49. package/dist/core/actions/local_runner.d.ts.map +1 -0
  50. package/dist/core/actions/local_runner.js +173 -0
  51. package/dist/core/actions/local_runner.js.map +1 -0
  52. package/dist/core/actions/node_runner.d.ts +4 -0
  53. package/dist/core/actions/node_runner.d.ts.map +1 -0
  54. package/dist/core/actions/node_runner.js +176 -0
  55. package/dist/core/actions/node_runner.js.map +1 -0
  56. package/dist/core/actions/normalize.d.ts +7 -0
  57. package/dist/core/actions/normalize.d.ts.map +1 -0
  58. package/dist/core/actions/normalize.js +401 -0
  59. package/dist/core/actions/normalize.js.map +1 -0
  60. package/dist/core/actions/planner.d.ts +13 -0
  61. package/dist/core/actions/planner.d.ts.map +1 -0
  62. package/dist/core/actions/planner.js +106 -0
  63. package/dist/core/actions/planner.js.map +1 -0
  64. package/dist/core/actions/redaction.d.ts +16 -0
  65. package/dist/core/actions/redaction.d.ts.map +1 -0
  66. package/dist/core/actions/redaction.js +43 -0
  67. package/dist/core/actions/redaction.js.map +1 -0
  68. package/dist/core/actions/release_assets.d.ts +31 -0
  69. package/dist/core/actions/release_assets.d.ts.map +1 -0
  70. package/dist/core/actions/release_assets.js +114 -0
  71. package/dist/core/actions/release_assets.js.map +1 -0
  72. package/dist/core/actions/runner/launch.d.ts +5 -0
  73. package/dist/core/actions/runner/launch.d.ts.map +1 -0
  74. package/dist/core/actions/runner/launch.js +100 -0
  75. package/dist/core/actions/runner/launch.js.map +1 -0
  76. package/dist/core/actions/runner/protocol.d.ts +7 -0
  77. package/dist/core/actions/runner/protocol.d.ts.map +1 -0
  78. package/dist/core/actions/runner/protocol.js +66 -0
  79. package/dist/core/actions/runner/protocol.js.map +1 -0
  80. package/dist/core/actions/runner.d.ts +6 -0
  81. package/dist/core/actions/runner.d.ts.map +1 -0
  82. package/dist/core/actions/runner.js +13 -0
  83. package/dist/core/actions/runner.js.map +1 -0
  84. package/dist/core/actions/sandbox.d.ts +4 -0
  85. package/dist/core/actions/sandbox.d.ts.map +1 -0
  86. package/dist/core/actions/sandbox.js +46 -0
  87. package/dist/core/actions/sandbox.js.map +1 -0
  88. package/dist/core/{actions_runner.d.ts → actions/types.d.ts} +38 -6
  89. package/dist/core/actions/types.d.ts.map +1 -0
  90. package/dist/core/actions/types.js +2 -0
  91. package/dist/core/actions/types.js.map +1 -0
  92. package/dist/core/{actions_workflows.d.ts → actions/workflows.d.ts} +4 -4
  93. package/dist/core/actions/workflows.d.ts.map +1 -0
  94. package/dist/core/{actions_workflows.js → actions/workflows.js} +40 -100
  95. package/dist/core/actions/workflows.js.map +1 -0
  96. package/dist/core/actions/workspace.d.ts +7 -0
  97. package/dist/core/actions/workspace.d.ts.map +1 -0
  98. package/dist/core/actions/workspace.js +47 -0
  99. package/dist/core/actions/workspace.js.map +1 -0
  100. package/dist/core/activity.d.ts.map +1 -1
  101. package/dist/core/activity.js +57 -39
  102. package/dist/core/activity.js.map +1 -1
  103. package/dist/core/archive_cache_filesystem.d.ts.map +1 -1
  104. package/dist/core/archive_cache_filesystem.js +39 -33
  105. package/dist/core/archive_cache_filesystem.js.map +1 -1
  106. package/dist/core/create/git/forge.d.ts.map +1 -1
  107. package/dist/core/create/git/forge.js +12 -2
  108. package/dist/core/create/git/forge.js.map +1 -1
  109. package/dist/core/create_git_host/remote_methods.js.map +1 -1
  110. package/dist/core/forge_actions.d.ts +10 -2
  111. package/dist/core/forge_actions.d.ts.map +1 -1
  112. package/dist/core/forge_actions.js +1025 -160
  113. package/dist/core/forge_actions.js.map +1 -1
  114. package/dist/core/git_forge/storage_memory.d.ts.map +1 -1
  115. package/dist/core/git_forge/storage_memory.js +72 -2
  116. package/dist/core/git_forge/storage_memory.js.map +1 -1
  117. package/dist/core/repository/parsers.d.ts.map +1 -1
  118. package/dist/core/repository/parsers.js +45 -32
  119. package/dist/core/repository/parsers.js.map +1 -1
  120. package/dist/core/run_git/process.d.ts.map +1 -1
  121. package/dist/core/run_git/process.js +19 -18
  122. package/dist/core/run_git/process.js.map +1 -1
  123. package/dist/core/working_tree/read.d.ts.map +1 -1
  124. package/dist/core/working_tree/read.js +26 -32
  125. package/dist/core/working_tree/read.js.map +1 -1
  126. package/dist/index.d.ts +2 -1
  127. package/dist/index.d.ts.map +1 -1
  128. package/dist/index.js +1 -0
  129. package/dist/index.js.map +1 -1
  130. package/dist/types/forge/activity.d.ts +52 -0
  131. package/dist/types/forge/activity.d.ts.map +1 -0
  132. package/dist/types/forge/activity.js +2 -0
  133. package/dist/types/forge/activity.js.map +1 -0
  134. package/dist/types/forge/api.d.ts +116 -0
  135. package/dist/types/forge/api.d.ts.map +1 -0
  136. package/dist/types/forge/api.js +2 -0
  137. package/dist/types/forge/api.js.map +1 -0
  138. package/dist/types/forge/releases.d.ts +98 -0
  139. package/dist/types/forge/releases.d.ts.map +1 -0
  140. package/dist/types/forge/releases.js +2 -0
  141. package/dist/types/forge/releases.js.map +1 -0
  142. package/dist/types/forge/social_forks.d.ts +51 -0
  143. package/dist/types/forge/social_forks.d.ts.map +1 -0
  144. package/dist/types/forge/social_forks.js +2 -0
  145. package/dist/types/forge/social_forks.js.map +1 -0
  146. package/dist/types/forge/workflows.d.ts +361 -0
  147. package/dist/types/forge/workflows.d.ts.map +1 -0
  148. package/dist/types/forge/workflows.js +2 -0
  149. package/dist/types/forge/workflows.js.map +1 -0
  150. package/dist/types/forge.d.ts +5 -475
  151. package/dist/types/forge.d.ts.map +1 -1
  152. package/dist/types/host/archive.d.ts.map +1 -1
  153. package/dist/types/host/options.d.ts.map +1 -1
  154. package/dist/types/host/service.d.ts.map +1 -1
  155. package/dist/types/index.d.ts +1 -1
  156. package/dist/types/index.d.ts.map +1 -1
  157. package/package.json +38 -9
  158. package/dist/core/actions_runner.d.ts.map +0 -1
  159. package/dist/core/actions_runner.js +0 -414
  160. package/dist/core/actions_runner.js.map +0 -1
  161. package/dist/core/actions_workflows.d.ts.map +0 -1
  162. package/dist/core/actions_workflows.js.map +0 -1
package/package.json CHANGED
@@ -4,11 +4,11 @@
4
4
  },
5
5
  "dependencies": {
6
6
  "@trebired/logger-adapter": "^0.2.0",
7
+ "js-yaml": "^4.1.1",
7
8
  "linguist-js": "^3.0.0",
8
9
  "material-icon-theme": "^5.35.0",
9
10
  "socket.io": "^4.8.3",
10
- "ssh2": "^1.17.0",
11
- "js-yaml": "^4.1.1"
11
+ "ssh2": "^1.17.0"
12
12
  },
13
13
  "description": "Embeddable Git host and forge for Node.js and Bun apps with real Git CLI execution, smart HTTP and SSH transports, repository automation, and backend APIs.",
14
14
  "devDependencies": {
@@ -20,8 +20,8 @@
20
20
  "@types/ssh2": "^1.15.5",
21
21
  "react": "^19.2.0",
22
22
  "react-test-renderer": "^19.2.0",
23
- "typescript": "^6.0.2",
24
- "socket.io-client": "^4.8.3"
23
+ "socket.io-client": "^4.8.3",
24
+ "typescript": "^6.0.2"
25
25
  },
26
26
  "engines": {
27
27
  "bun": ">=1.0.0",
@@ -45,20 +45,26 @@
45
45
  "#0393514b57bc": "./dist/api/socket/server.js",
46
46
  "#07a96afa0a48": "./dist/core/archive.js",
47
47
  "#0bba403f3e43": "./dist/constants.js",
48
+ "#0lkt7ob2zeph": "./dist/api/forge/archives.js",
48
49
  "#1051qntat2i5": "./dist/core/archive.js",
49
50
  "#115ffae16859": "./dist/core/repository/parsers.js",
51
+ "#134up1wv9uhu": "./dist/core/actions/workspace.js",
50
52
  "#14021226ec9b": "./dist/types/index.js",
53
+ "#18ua13h0c1vi": "./dist/types/host/archive.js",
51
54
  "#1a2e563ea829": "./dist/core/remote.js",
52
55
  "#1bae0atkgje7": "./dist/core/run_git/repository_setup.js",
53
56
  "#1c744kzhgb33": "./dist/core/working_tree/mutate.js",
54
57
  "#1fu49obi0gq3": "./dist/core/repository.js",
55
58
  "#1h18ogbosnwx": "./dist/backend/utils/time.js",
59
+ "#1hvsns0vce55": "./dist/core/forge_actions.js",
56
60
  "#1mbdfxwwqqpa": "./dist/types.js",
57
61
  "#1uaqd3hnpa5k": "./dist/api/handler/archive.js",
62
+ "#20ls7ubpf6bn": "./dist/core/actions/runner/protocol.js",
58
63
  "#2161a5929bec": "./dist/ssh/keys.js",
59
64
  "#2c9e26f53461": "./dist/types/transports.js",
60
65
  "#2cwf3dkfcm3w": "./dist/types/transports.js",
61
66
  "#2ebf9ed6336f": "./dist/core/inspect/icon_theme.js",
67
+ "#2swjs9o20esx": "./dist/api/forge/runtime.js",
62
68
  "#342cd29fa025": "./dist/ssh/server.js",
63
69
  "#390741ebf5ab": "./dist/utils/paths.js",
64
70
  "#3c8d8166992a": "./dist/types.js",
@@ -79,6 +85,7 @@
79
85
  "#5b9hlx9mpezy": "./dist/api/handler/route.js",
80
86
  "#5f2400e3636a": "./dist/api/handler.js",
81
87
  "#5f5fe2262a26": "./dist/core/inspect/linguist_progress.js",
88
+ "#5ubr402iaw9c": "./dist/types/forge/workflows.js",
82
89
  "#61bf255baf35": "./dist/core/inspect/helpers.js",
83
90
  "#622bd171bea7": "./dist/core/run_git/process.js",
84
91
  "#62f869522d1f": "./dist/utils/text.js",
@@ -99,6 +106,7 @@
99
106
  "#96b00569f1f4": "./dist/core/run_git.js",
100
107
  "#9ed9deeef558": "./dist/core/working_tree/read.js",
101
108
  "#9eedb3d763ad": "./dist/ssh/server/shared.js",
109
+ "#9u61u8i5q24v": "./dist/core/actions/go_runner.js",
102
110
  "#9wiq1v1nlp1y": "./dist/core/run_git/process.js",
103
111
  "#a08ndk3v0tpm": "./dist/core/locks.js",
104
112
  "#a62e56e1fef5": "./dist/core/inspection.js",
@@ -107,9 +115,11 @@
107
115
  "#b3a8e61c79e9": "./dist/core/create_git_host/shared.js",
108
116
  "#b48819617d2f": "./dist/api/handler/route.js",
109
117
  "#b8c8814b833e": "./dist/core/create/git/host.js",
118
+ "#bpzwkfv6xs0t": "./dist/types/repository/inspection.js",
110
119
  "#bv4sbh70kns7": "./dist/frontend/js/utils/text.js",
111
120
  "#c471wkla2eun": "./dist/ssh/server.js",
112
121
  "#c4fd5905235f": "./dist/api/forge/handler.js",
122
+ "#cecx4kvnm1f7": "./dist/api/socket/linguist_connection.js",
113
123
  "#cqgsder5zlmf": "./dist/logging.js",
114
124
  "#d66a914eb693": "./dist/backend/utils/object.js",
115
125
  "#d7cs7wdmybuf": "./dist/core/operation_state.js",
@@ -122,15 +132,22 @@
122
132
  "#ea71f5c6858f": "./dist/core/create/git/forge.js",
123
133
  "#ebe51631bc41": "./dist/backend/utils/normalize.js",
124
134
  "#ebw9yuqcyi9w": "./dist/errors.js",
135
+ "#eg5ivjfdofea": "./dist/types/repository/archive.js",
136
+ "#em04rd6pxc0h": "./dist/api/forge/socket_subscription.js",
125
137
  "#f88802286a5d": "./dist/core/create_git_host/branch_methods.js",
126
138
  "#f8p17v0habtt": "./dist/core/create/git/host.js",
127
139
  "#fb997ea04aaa": "./dist/http/handler/helpers.js",
128
140
  "#fcd73bf294d5": "./dist/index.js",
129
141
  "#ff0a1cf158cf": "./dist/api/handler/archive.js",
142
+ "#fznhyzk6jqlm": "./dist/types/forge/social_forks.js",
143
+ "#g3n8cscehpt3": "./dist/types/forge/releases.js",
130
144
  "#gagsdioegzgz": "./dist/core/inspect/linguist_progress.js",
145
+ "#glky615nezhr": "./dist/api/routing.js",
131
146
  "#h03o1plsdntl": "./dist/core/inspection.js",
132
147
  "#hl8dc1r0tmsl": "./dist/types/forge.js",
133
148
  "#hp0eb3dl2y72": "./dist/core/create_git_host/working_tree_methods.js",
149
+ "#hzv9f3wx9ez9": "./dist/core/actions/types.js",
150
+ "#iqv5bm36ifxa": "./dist/types/repository/core.js",
134
151
  "#j29gfnt2cscg": "./dist/backend/utils/object.js",
135
152
  "#j5v2l229yjdx": "./dist/http/handler.js",
136
153
  "#jdf1x3hps0q6": "./dist/ssh/server/shared.js",
@@ -138,21 +155,31 @@
138
155
  "#k7bnrk9kvbou": "./dist/core/create_git_host/remote_methods.js",
139
156
  "#k81h7irc7p0e": "./dist/api/socket/events.js",
140
157
  "#lobn9mfldn9s": "./dist/core/create_git_host/branch_methods.js",
158
+ "#nj0t6f5vyy3x": "./dist/core/actions/workflows.js",
141
159
  "#no8h9g0tsskh": "./dist/api/forge/route.js",
160
+ "#o538xjjiyf7m": "./dist/core/actions/node_runner.js",
142
161
  "#oul7o8qvkv5n": "./dist/api/handler/response.js",
143
162
  "#p59wo2ccziqp": "./dist/core/inspect/icon_theme.js",
163
+ "#pj4g6du01gys": "./dist/core/actions/runner.js",
144
164
  "#pl0z91xbe0br": "./dist/core/git_forge/storage_memory.js",
165
+ "#pvpm4i6ibun0": "./dist/api/forge/actions.js",
145
166
  "#r89qhx6c8mkf": "./dist/constants.js",
146
167
  "#rfvjfxzebkbs": "./dist/index.js",
168
+ "#rifbqbjmjgxy": "./dist/types/forge/activity.js",
147
169
  "#s5xnfed966ax": "./dist/core/archive_cache_filesystem.js",
170
+ "#sobhnglw5uqi": "./dist/core/actions/runner/launch.js",
148
171
  "#spcbfsrikbhn": "./dist/core/repository/parsers.js",
149
172
  "#stucx8966x3k": "./dist/api/socket/server.js",
173
+ "#swop6c7l95hf": "./dist/types/host/options.js",
150
174
  "#sy81xkgkmoa0": "./dist/utils/text.js",
151
175
  "#t13y2bx0ygbf": "./dist/api/handler/action.js",
152
176
  "#tb3z4kq3oxg0": "./dist/types/host.js",
153
177
  "#tmq4zcm4k2dj": "./dist/api/forge/handler.js",
178
+ "#tn00pgmqt7n3": "./dist/types/forge/api.js",
179
+ "#txvbmmadpffo": "./dist/api/forge/socket.js",
154
180
  "#upm272dycvnm": "./dist/types/common.js",
155
181
  "#uzarbapld5e4": "./dist/core/working_tree/read.js",
182
+ "#w41mbb2gyzu1": "./dist/types/host/service.js",
156
183
  "#wb5qec2x6c0t": "./dist/backend/utils/normalize.js",
157
184
  "#wy8z5vow2aix": "./dist/types/index.js",
158
185
  "#x78lbcvwod9s": "./dist/core/working_tree.js",
@@ -161,6 +188,8 @@
161
188
  "#xtrl4j08py78": "./dist/core/run_git/env.js",
162
189
  "#yip4ahplpvfl": "./dist/core/inspect.js",
163
190
  "#ynrrpw9yaztf": "./dist/utils/paths.js",
191
+ "#yotdvtav6ika": "./dist/core/activity.js",
192
+ "#z00j1lfq4mcb": "./dist/api/handler/runtime.js",
164
193
  "#zwhym49orp46": "./dist/core/create/git/forge.js"
165
194
  },
166
195
  "keywords": [
@@ -174,7 +203,7 @@
174
203
  "node",
175
204
  "bun"
176
205
  ],
177
- "license": "MIT",
206
+ "license": "AGPL-3.0-only",
178
207
  "main": "./dist/index.js",
179
208
  "name": "@trebired/git-host",
180
209
  "packageManager": "bun@1.3.12",
@@ -188,20 +217,20 @@
188
217
  },
189
218
  "scripts": {
190
219
  "build": "rm -rf dist && tsc -p tsconfig.build.json && node ./scripts/prepare-dist.mjs prepare-dist",
191
- "build:runner": "node ./scripts/build-runner.mjs",
192
- "build:runner:matrix": "node ./scripts/build-runner-matrix.mjs",
220
+ "build:runner": "node ./scripts/build/runner.mjs",
221
+ "build:runner:matrix": "node ./scripts/build/runner-matrix.mjs",
193
222
  "demo": "bun run examples/dummy.ts",
194
223
  "demo:api": "bun run examples/api_server.ts",
195
224
  "demo:http": "bun run examples/http_server.ts",
196
225
  "demo:ssh": "bun run examples/ssh_server.ts",
197
- "prepublishOnly": "bun run typecheck && bun test && bun run build",
198
226
  "postpack": "node ./scripts/prepare-dist.mjs postpack",
199
227
  "prepack": "bun run build && node ./scripts/prepare-dist.mjs prepack",
228
+ "prepublishOnly": "bun run typecheck && bun test && bun run build",
200
229
  "test": "bun test",
201
230
  "typecheck": "tsc --noEmit",
202
231
  "verify:pack": "node ./scripts/verify-pack.mjs"
203
232
  },
204
233
  "type": "module",
205
234
  "types": "./dist/index.d.ts",
206
- "version": "2.1.0"
235
+ "version": "3.0.0"
207
236
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"actions_runner.d.ts","sourceRoot":"","sources":["../../src/core/actions_runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOzE,OAAO,KAAK,EACV,4BAA4B,EAC5B,mBAAmB,EAEnB,uBAAuB,EACxB,MAAM,eAAe,CAAC;AA2BvB,KAAK,kBAAkB,GACnB;IACE,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,YAAY,CAAC;CACpB,GACD;IACE,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,cAAc,CAAC;CACtB,GACD;IACE,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,IAAI,EAAE,aAAa,CAAC;CACrB,GACD;IACE,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,gBAAgB,CAAC;CACxB,GACD;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,eAAe,CAAC;CACvB,CAAC;AAEN,KAAK,mBAAmB,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;AAEjE,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,mBAAmB,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;CACJ,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE,4BAA4B,GAAG,SAAS,CAAC;IAClD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,mBAAmB,CAAC;IACzB,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAicF,iBAAS,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,sBAAsB,CAMtF;AAED,iBAAS,2BAA2B,CAAC,OAAO,EAAE,4BAA4B,GAAG,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGnI;AAED,OAAO,EACL,oBAAoB,EACpB,2BAA2B,GAC5B,CAAC"}
@@ -1,414 +0,0 @@
1
- import { spawn, spawnSync } from "node:child_process";
2
- import fs from "node:fs";
3
- import os from "node:os";
4
- import path from "node:path";
5
- import { fileURLToPath } from "node:url";
6
- import { GitHostError } from "../errors.js";
7
- import { runGit } from "./run_git.js";
8
- import { text } from "../utils/text.js";
9
- const RUNNER_BINARY_NAMES = {
10
- "darwin-arm64": "git-host-actions-runner-darwin-arm64",
11
- "darwin-x64": "git-host-actions-runner-darwin-x64",
12
- "linux-arm64": "git-host-actions-runner-linux-arm64-gnu",
13
- "linux-x64": "git-host-actions-runner-linux-x64-gnu",
14
- };
15
- let sourceCheckoutGoRunnerPath;
16
- function findPackageRoot(startPath) {
17
- let current = path.resolve(startPath);
18
- while (current !== path.dirname(current)) {
19
- if (fs.existsSync(path.join(current, "package.json"))) {
20
- return current;
21
- }
22
- current = path.dirname(current);
23
- }
24
- throw new GitHostError("forge_actions_runner_not_found", "Unable to resolve the package root for the actions runner.");
25
- }
26
- function packageRootIsSourceCheckout(packageRoot) {
27
- return fs.existsSync(path.join(packageRoot, ".git"));
28
- }
29
- function resolvePackagedRunnerPath(options) {
30
- const explicit = text(options?.runnerBinaryPath);
31
- if (explicit)
32
- return explicit;
33
- const packageRoot = findPackageRoot(path.dirname(fileURLToPath(import.meta.url)));
34
- if (packageRootIsSourceCheckout(packageRoot)) {
35
- return null;
36
- }
37
- const key = `${process.platform}-${process.arch}`;
38
- const binary = RUNNER_BINARY_NAMES[key];
39
- if (!binary)
40
- return null;
41
- const candidate = path.join(packageRoot, "bin", binary);
42
- return fs.existsSync(candidate) ? candidate : null;
43
- }
44
- function resolveGoFallbackCommand() {
45
- if (sourceCheckoutGoRunnerPath !== undefined) {
46
- return sourceCheckoutGoRunnerPath
47
- ? {
48
- args: [],
49
- command: sourceCheckoutGoRunnerPath,
50
- }
51
- : null;
52
- }
53
- const packageRoot = findPackageRoot(path.dirname(fileURLToPath(import.meta.url)));
54
- const sourcePath = path.join(packageRoot, "go", "cmd", "git-host-actions-runner");
55
- if (!fs.existsSync(sourcePath)) {
56
- sourceCheckoutGoRunnerPath = null;
57
- return null;
58
- }
59
- const probe = spawnSync("go", ["version"], {
60
- encoding: "utf8",
61
- });
62
- if (probe.status !== 0) {
63
- sourceCheckoutGoRunnerPath = null;
64
- return null;
65
- }
66
- const binaryDirectory = path.join(os.tmpdir(), "@trebired-git-host-actions-runner", `${process.platform}-${process.arch}`);
67
- const binaryPath = path.join(binaryDirectory, "git-host-actions-runner");
68
- fs.mkdirSync(binaryDirectory, { recursive: true });
69
- const build = spawnSync("go", ["build", "-o", binaryPath, "./go/cmd/git-host-actions-runner"], {
70
- cwd: packageRoot,
71
- encoding: "utf8",
72
- });
73
- if (build.status !== 0 || !fs.existsSync(binaryPath)) {
74
- sourceCheckoutGoRunnerPath = null;
75
- return null;
76
- }
77
- sourceCheckoutGoRunnerPath = binaryPath;
78
- return {
79
- args: [],
80
- command: binaryPath,
81
- };
82
- }
83
- function resolveRunnerLaunch(options) {
84
- const packaged = resolvePackagedRunnerPath(options);
85
- if (packaged) {
86
- return {
87
- args: [],
88
- command: packaged,
89
- cwd: undefined,
90
- kind: "go",
91
- };
92
- }
93
- const goFallback = resolveGoFallbackCommand();
94
- if (goFallback) {
95
- return {
96
- ...goFallback,
97
- kind: "go",
98
- };
99
- }
100
- return {
101
- kind: "node",
102
- };
103
- }
104
- function normalizeRunnerInput(input) {
105
- return {
106
- branch: text(input.run.branch),
107
- commit_hash: text(input.run.commit_hash),
108
- env: input.actions?.env,
109
- heartbeat_interval_ms: input.heartbeatIntervalMs,
110
- ref: text(input.run.ref, "HEAD"),
111
- release_id: text(input.run.release_id),
112
- repository_id: input.run.repository_id,
113
- repository_path: input.repositoryPath,
114
- run_id: input.run.id,
115
- shell: text(input.actions?.shell, "bash"),
116
- steps: input.steps.map((step) => ({
117
- command: step.command,
118
- env: step.metadata?.env && typeof step.metadata.env === "object"
119
- ? Object.fromEntries(Object.entries(step.metadata.env).map(([key, value]) => [text(key), text(value)]).filter(([key, value]) => key && value))
120
- : undefined,
121
- id: step.id,
122
- index: step.index,
123
- name: step.name,
124
- shell: text(step.metadata?.shell),
125
- })),
126
- workflow_id: input.run.workflow_id,
127
- workspace_root: input.workspaceRoot,
128
- };
129
- }
130
- function parseRunnerEvent(line) {
131
- const parsed = JSON.parse(line);
132
- if (!parsed || typeof parsed !== "object" || typeof parsed.type !== "string") {
133
- throw new GitHostError("forge_actions_runner_protocol_error", "Actions runner emitted an invalid event payload.", {
134
- line,
135
- });
136
- }
137
- if (parsed.type !== "run.status"
138
- && parsed.type !== "step.started"
139
- && parsed.type !== "step.output"
140
- && parsed.type !== "step.heartbeat"
141
- && parsed.type !== "step.finished") {
142
- throw new GitHostError("forge_actions_runner_protocol_error", `Actions runner emitted unsupported event "${parsed.type}".`, {
143
- line,
144
- });
145
- }
146
- return parsed;
147
- }
148
- function updateLastStep(event, state) {
149
- if ("step_index" in event && typeof event.step_index === "number") {
150
- state.lastStepIndex = event.step_index;
151
- }
152
- if ("step_name" in event && typeof event.step_name === "string") {
153
- state.lastStepName = event.step_name;
154
- }
155
- }
156
- function appendPreview(current, chunk) {
157
- const next = `${current}${chunk}`;
158
- return next.length <= 4000 ? next : next.slice(-4000);
159
- }
160
- async function materializeWorkspace(input) {
161
- const workspaceDirectory = path.join(input.workspace_root, "workspace");
162
- fs.rmSync(input.workspace_root, { force: true, recursive: true });
163
- fs.mkdirSync(input.workspace_root, { recursive: true });
164
- const clone = await runGit(["clone", "--quiet", "--no-checkout", input.repository_path, workspaceDirectory], {
165
- cwd: input.workspace_root,
166
- });
167
- if (!clone.ok) {
168
- throw new GitHostError("forge_actions_runner_failed", "Failed to clone repository snapshot for workflow run.", {
169
- repositoryPath: input.repository_path,
170
- stderr: clone.stderr,
171
- stdout: clone.stdout,
172
- workspaceDirectory,
173
- });
174
- }
175
- const checkout = await runGit(["checkout", "--detach", input.commit_hash], {
176
- cwd: workspaceDirectory,
177
- });
178
- if (!checkout.ok) {
179
- throw new GitHostError("forge_actions_runner_failed", "Failed to checkout workflow snapshot.", {
180
- commitHash: input.commit_hash,
181
- repositoryPath: input.repository_path,
182
- stderr: checkout.stderr,
183
- stdout: checkout.stdout,
184
- workspaceDirectory,
185
- });
186
- }
187
- return workspaceDirectory;
188
- }
189
- function executeGoRunner(input, launch) {
190
- const runnerInput = normalizeRunnerInput(input);
191
- const child = spawn(launch.command, launch.args, {
192
- cwd: launch.cwd,
193
- stdio: ["pipe", "pipe", "pipe"],
194
- });
195
- const payload = JSON.stringify(runnerInput);
196
- child.stdin.write(payload);
197
- child.stdin.end();
198
- const stderrChunks = [];
199
- const state = {
200
- lastStepIndex: -1,
201
- lastStepName: "",
202
- };
203
- let stdoutBuffer = "";
204
- let cancelled = false;
205
- let queue = Promise.resolve();
206
- child.stdout.setEncoding("utf8");
207
- child.stdout.on("data", (chunk) => {
208
- stdoutBuffer += chunk;
209
- stdoutBuffer = stdoutBuffer.replace(/\r\n/g, "\n");
210
- let separator = stdoutBuffer.indexOf("\n");
211
- while (separator >= 0) {
212
- const line = stdoutBuffer.slice(0, separator).trim();
213
- stdoutBuffer = stdoutBuffer.slice(separator + 1);
214
- if (line) {
215
- queue = queue.then(async () => {
216
- const event = parseRunnerEvent(line);
217
- updateLastStep(event, state);
218
- await input.onEvent(event);
219
- });
220
- }
221
- separator = stdoutBuffer.indexOf("\n");
222
- }
223
- });
224
- child.stderr.setEncoding("utf8");
225
- child.stderr.on("data", (chunk) => {
226
- stderrChunks.push(chunk);
227
- void input.onRunnerError?.(chunk);
228
- });
229
- const completed = new Promise((resolve, reject) => {
230
- child.on("error", reject);
231
- child.on("close", async (code, signal) => {
232
- cancelled = signal === "SIGTERM" || signal === "SIGINT" || Number(code) === 130;
233
- if (stdoutBuffer.trim()) {
234
- queue = queue.then(async () => {
235
- const event = parseRunnerEvent(stdoutBuffer.trim());
236
- updateLastStep(event, state);
237
- await input.onEvent(event);
238
- });
239
- }
240
- try {
241
- await queue;
242
- }
243
- catch (error) {
244
- reject(error);
245
- return;
246
- }
247
- if (Number(code) !== 0 && !cancelled && stderrChunks.length) {
248
- const message = stderrChunks.join("").trim();
249
- if (message) {
250
- reject(new GitHostError("forge_actions_runner_failed", message, {
251
- exitCode: Number(code) || 1,
252
- }));
253
- return;
254
- }
255
- }
256
- resolve({
257
- cancelled,
258
- exitCode: Number(code) || 0,
259
- lastStepIndex: state.lastStepIndex,
260
- lastStepName: state.lastStepName,
261
- });
262
- });
263
- });
264
- return {
265
- child,
266
- completed,
267
- };
268
- }
269
- function executeNodeRunner(input) {
270
- const runnerInput = normalizeRunnerInput(input);
271
- let currentChild = null;
272
- let killed = false;
273
- let cancelled = false;
274
- const handle = {
275
- get killed() {
276
- return killed;
277
- },
278
- kill(signal) {
279
- killed = true;
280
- cancelled = signal === "SIGTERM" || signal === "SIGINT" || Number(signal) === 15 || Number(signal) === 2;
281
- try {
282
- return currentChild?.kill(typeof signal === "number" ? undefined : signal) ?? true;
283
- }
284
- catch { }
285
- return false;
286
- },
287
- };
288
- const completed = (async () => {
289
- const state = {
290
- lastStepIndex: -1,
291
- lastStepName: "",
292
- };
293
- const workspaceDirectory = await materializeWorkspace(runnerInput);
294
- await input.onEvent({
295
- status: "running",
296
- summary: "Running workflow steps.",
297
- type: "run.status",
298
- });
299
- for (const step of runnerInput.steps) {
300
- state.lastStepIndex = step.index;
301
- state.lastStepName = step.name;
302
- await input.onEvent({
303
- command: step.command,
304
- step_id: step.id,
305
- step_index: step.index,
306
- step_name: step.name,
307
- type: "step.started",
308
- });
309
- const shell = text(step.shell, runnerInput.shell) || "bash";
310
- const env = {
311
- ...process.env,
312
- ...(runnerInput.env || {}),
313
- ...(step.env || {}),
314
- };
315
- let outputPreview = "";
316
- const exitCode = await new Promise((resolve, reject) => {
317
- currentChild = spawn(shell, ["-lc", step.command], {
318
- cwd: workspaceDirectory,
319
- env,
320
- stdio: ["ignore", "pipe", "pipe"],
321
- });
322
- const heartbeat = setInterval(() => {
323
- void input.onEvent({
324
- step_id: step.id,
325
- step_index: step.index,
326
- step_name: step.name,
327
- type: "step.heartbeat",
328
- });
329
- }, Math.max(250, runnerInput.heartbeat_interval_ms));
330
- currentChild.stdout?.setEncoding("utf8");
331
- currentChild.stdout?.on("data", (chunk) => {
332
- outputPreview = appendPreview(outputPreview, chunk);
333
- void input.onEvent({
334
- chunk,
335
- step_id: step.id,
336
- step_index: step.index,
337
- step_name: step.name,
338
- stream: "stdout",
339
- type: "step.output",
340
- });
341
- });
342
- currentChild.stderr?.setEncoding("utf8");
343
- currentChild.stderr?.on("data", (chunk) => {
344
- outputPreview = appendPreview(outputPreview, chunk);
345
- void input.onEvent({
346
- chunk,
347
- step_id: step.id,
348
- step_index: step.index,
349
- step_name: step.name,
350
- stream: "stderr",
351
- type: "step.output",
352
- });
353
- });
354
- currentChild.on("error", (error) => {
355
- clearInterval(heartbeat);
356
- reject(error);
357
- });
358
- currentChild.on("close", (code, signal) => {
359
- clearInterval(heartbeat);
360
- if (signal === "SIGTERM" || signal === "SIGINT" || Number(code) === 130) {
361
- cancelled = true;
362
- }
363
- resolve(typeof code === "number" ? code : (cancelled ? 130 : 1));
364
- });
365
- });
366
- const stepStatus = cancelled
367
- ? "cancelled"
368
- : (exitCode === 0 ? "success" : "failed");
369
- await input.onEvent({
370
- exit_code: exitCode,
371
- output_preview: outputPreview,
372
- status: stepStatus,
373
- step_id: step.id,
374
- step_index: step.index,
375
- step_name: step.name,
376
- summary: cancelled
377
- ? `Cancelled during step ${step.name}.`
378
- : (exitCode === 0 ? `Completed step ${step.name}.` : `Failed step ${step.name}.`),
379
- type: "step.finished",
380
- });
381
- if (cancelled || exitCode !== 0) {
382
- return {
383
- cancelled,
384
- exitCode,
385
- lastStepIndex: state.lastStepIndex,
386
- lastStepName: state.lastStepName,
387
- };
388
- }
389
- }
390
- return {
391
- cancelled,
392
- exitCode: 0,
393
- lastStepIndex: state.lastStepIndex,
394
- lastStepName: state.lastStepName,
395
- };
396
- })();
397
- return {
398
- child: handle,
399
- completed,
400
- };
401
- }
402
- function executeActionsRunner(input) {
403
- const launch = resolveRunnerLaunch(input.actions);
404
- if (launch.kind === "go") {
405
- return executeGoRunner(input, launch);
406
- }
407
- return executeNodeRunner(input);
408
- }
409
- function resolveActionsWorkspaceRoot(options, repositoryId, runId) {
410
- const root = text(options?.workspaceRoot, path.join(os.tmpdir(), "@trebired-git-host-actions"));
411
- return path.join(root, repositoryId, runId);
412
- }
413
- export { executeActionsRunner, resolveActionsWorkspaceRoot, };
414
- //# sourceMappingURL=actions_runner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"actions_runner.js","sourceRoot":"","sources":["../../src/core/actions_runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAqB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAO7C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAiGxC,MAAM,mBAAmB,GAAG;IAC1B,cAAc,EAAE,sCAAsC;IACtD,YAAY,EAAE,oCAAoC;IAClD,aAAa,EAAE,yCAAyC;IACxD,WAAW,EAAE,uCAAuC;CACpB,CAAC;AACnC,IAAI,0BAAqD,CAAC;AAE1D,SAAS,eAAe,CAAC,SAAiB;IACxC,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;YACtD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,IAAI,YAAY,CAAC,gCAAgC,EAAE,4DAA4D,CAAC,CAAC;AACzH,CAAC;AAED,SAAS,2BAA2B,CAAC,WAAmB;IACtD,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAiD;IAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACjD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClF,IAAI,2BAA2B,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAClD,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAuC,CAAC,CAAC;IAC5E,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACxD,OAAO,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,wBAAwB;IAC/B,IAAI,0BAA0B,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO,0BAA0B;YAC/B,CAAC,CAAC;gBACE,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,0BAA0B;aACpC;YACH,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,yBAAyB,CAAC,CAAC;IAClF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,0BAA0B,GAAG,IAAI,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE;QACzC,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,0BAA0B,GAAG,IAAI,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,mCAAmC,EAAE,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3H,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAC;IACzE,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,kCAAkC,CAAC,EAAE;QAC7F,GAAG,EAAE,WAAW;QAChB,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,0BAA0B,GAAG,IAAI,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0BAA0B,GAAG,UAAU,CAAC;IACxC,OAAO;QACL,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,UAAU;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAiD;IAC5E,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,QAAQ;YACjB,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,wBAAwB,EAAE,CAAC;IAC9C,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;YACL,GAAG,UAAU;YACb,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,MAAM;KACb,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAgC;IAC5D,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;QAC9B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;QACxC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG;QACvB,qBAAqB,EAAE,KAAK,CAAC,mBAAmB;QAChD,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;QAChC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;QACtC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa;QACtC,eAAe,EAAE,KAAK,CAAC,cAAc;QACrC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE;QACpB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC;QACzC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAChC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,KAAK,QAAQ;gBAC9D,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAA8B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;gBAClL,CAAC,CAAC,SAAS;YACb,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;SAClC,CAAC,CAAC;QACH,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW;QAClC,cAAc,EAAE,KAAK,CAAC,aAAa;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkD,CAAC;IACjF,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7E,MAAM,IAAI,YAAY,CAAC,qCAAqC,EAAE,kDAAkD,EAAE;YAChH,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IACD,IACE,MAAM,CAAC,IAAI,KAAK,YAAY;WACzB,MAAM,CAAC,IAAI,KAAK,cAAc;WAC9B,MAAM,CAAC,IAAI,KAAK,aAAa;WAC7B,MAAM,CAAC,IAAI,KAAK,gBAAgB;WAChC,MAAM,CAAC,IAAI,KAAK,eAAe,EAClC,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,qCAAqC,EAAE,6CAA6C,MAAM,CAAC,IAAI,IAAI,EAAE;YAC1H,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAA4B,CAAC;AACtC,CAAC;AAED,SAAS,cAAc,CAAC,KAAyB,EAAE,KAAsD;IACvG,IAAI,YAAY,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAClE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC;IACzC,CAAC;IACD,IAAI,WAAW,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC;IACvC,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,OAAe,EAAE,KAAa;IACnD,MAAM,IAAI,GAAG,GAAG,OAAO,GAAG,KAAK,EAAE,CAAC;IAClC,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,KAAyB;IAC3D,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IACxE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,kBAAkB,CAAC,EAAE;QAC3G,GAAG,EAAE,KAAK,CAAC,cAAc;KAC1B,CAAC,CAAC;IACH,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACd,MAAM,IAAI,YAAY,CAAC,6BAA6B,EAAE,uDAAuD,EAAE;YAC7G,cAAc,EAAE,KAAK,CAAC,eAAe;YACrC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,kBAAkB;SACnB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE;QACzE,GAAG,EAAE,kBAAkB;KACxB,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,YAAY,CAAC,6BAA6B,EAAE,uCAAuC,EAAE;YAC7F,UAAU,EAAE,KAAK,CAAC,WAAW;YAC7B,cAAc,EAAE,KAAK,CAAC,eAAe;YACrC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,kBAAkB;SACnB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,SAAS,eAAe,CAAC,KAAgC,EAAE,MAA6C;IACtG,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE;QAC/C,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;KAChC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC5C,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAElB,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG;QACZ,aAAa,EAAE,CAAC,CAAC;QACjB,YAAY,EAAE,EAAE;KACjB,CAAC;IACF,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAE9B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QACxC,YAAY,IAAI,KAAK,CAAC;QACtB,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACnD,IAAI,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;YACrD,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YACjD,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;oBAC5B,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;oBACrC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBAC7B,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC,CAAC,CAAC;YACL,CAAC;YACD,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QACxC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,OAAO,CAK1B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;YACvC,SAAS,GAAG,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC;YAChF,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxB,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;oBAC5B,MAAM,KAAK,GAAG,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;oBACpD,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBAC7B,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC5D,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7C,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,CAAC,IAAI,YAAY,CAAC,6BAA6B,EAAE,OAAO,EAAE;wBAC9D,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;qBAC5B,CAAC,CAAC,CAAC;oBACJ,OAAO;gBACT,CAAC;YACH,CAAC;YAED,OAAO,CAAC;gBACN,SAAS;gBACT,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC3B,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,YAAY,EAAE,KAAK,CAAC,YAAY;aACjC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,KAAK;QACL,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAgC;IACzD,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,YAAY,GAAwB,IAAI,CAAC;IAC7C,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,MAAM,MAAM,GAAwB;QAClC,IAAI,MAAM;YACR,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,MAAgC;YACnC,MAAM,GAAG,IAAI,CAAC;YACd,SAAS,GAAG,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzG,IAAI,CAAC;gBACH,OAAO,YAAY,EAAE,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;YACrF,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,KAAK,IAAI,EAAE;QAC5B,MAAM,KAAK,GAAG;YACZ,aAAa,EAAE,CAAC,CAAC;YACjB,YAAY,EAAE,EAAE;SACjB,CAAC;QAEF,MAAM,kBAAkB,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACnE,MAAM,KAAK,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,yBAAyB;YAClC,IAAI,EAAE,YAAY;SACnB,CAAC,CAAC;QAEH,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;YACrC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;YACjC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;YAC/B,MAAM,KAAK,CAAC,OAAO,CAAC;gBAClB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,IAAI,CAAC,EAAE;gBAChB,UAAU,EAAE,IAAI,CAAC,KAAK;gBACtB,SAAS,EAAE,IAAI,CAAC,IAAI;gBACpB,IAAI,EAAE,cAAc;aACrB,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC;YAC5D,MAAM,GAAG,GAAG;gBACV,GAAG,OAAO,CAAC,GAAG;gBACd,GAAG,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,CAAC;gBAC1B,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;aACpB,CAAC;YACF,IAAI,aAAa,GAAG,EAAE,CAAC;YAEvB,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC7D,YAAY,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;oBACjD,GAAG,EAAE,kBAAkB;oBACvB,GAAG;oBACH,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;iBAClC,CAAC,CAAC;gBACH,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;oBACjC,KAAK,KAAK,CAAC,OAAO,CAAC;wBACjB,OAAO,EAAE,IAAI,CAAC,EAAE;wBAChB,UAAU,EAAE,IAAI,CAAC,KAAK;wBACtB,SAAS,EAAE,IAAI,CAAC,IAAI;wBACpB,IAAI,EAAE,gBAAgB;qBACvB,CAAC,CAAC;gBACL,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAErD,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;gBACzC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;oBAChD,aAAa,GAAG,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;oBACpD,KAAK,KAAK,CAAC,OAAO,CAAC;wBACjB,KAAK;wBACL,OAAO,EAAE,IAAI,CAAC,EAAE;wBAChB,UAAU,EAAE,IAAI,CAAC,KAAK;wBACtB,SAAS,EAAE,IAAI,CAAC,IAAI;wBACpB,MAAM,EAAE,QAAQ;wBAChB,IAAI,EAAE,aAAa;qBACpB,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;gBACzC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;oBAChD,aAAa,GAAG,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;oBACpD,KAAK,KAAK,CAAC,OAAO,CAAC;wBACjB,KAAK;wBACL,OAAO,EAAE,IAAI,CAAC,EAAE;wBAChB,UAAU,EAAE,IAAI,CAAC,KAAK;wBACtB,SAAS,EAAE,IAAI,CAAC,IAAI;wBACpB,MAAM,EAAE,QAAQ;wBAChB,IAAI,EAAE,aAAa;qBACpB,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjC,aAAa,CAAC,SAAS,CAAC,CAAC;oBACzB,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;gBACH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;oBACxC,aAAa,CAAC,SAAS,CAAC,CAAC;oBACzB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;wBACxE,SAAS,GAAG,IAAI,CAAC;oBACnB,CAAC;oBACD,OAAO,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnE,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,SAAS;gBAC1B,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,KAAK,CAAC,OAAO,CAAC;gBAClB,SAAS,EAAE,QAAQ;gBACnB,cAAc,EAAE,aAAa;gBAC7B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,IAAI,CAAC,EAAE;gBAChB,UAAU,EAAE,IAAI,CAAC,KAAK;gBACtB,SAAS,EAAE,IAAI,CAAC,IAAI;gBACpB,OAAO,EAAE,SAAS;oBAChB,CAAC,CAAC,yBAAyB,IAAI,CAAC,IAAI,GAAG;oBACvC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,IAAI,GAAG,CAAC;gBACnF,IAAI,EAAE,eAAe;aACtB,CAAC,CAAC;YAEH,IAAI,SAAS,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO;oBACL,SAAS;oBACT,QAAQ;oBACR,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,YAAY,EAAE,KAAK,CAAC,YAAY;iBACjC,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,SAAS;YACT,QAAQ,EAAE,CAAC;YACX,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO;QACL,KAAK,EAAE,MAAM;QACb,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAgC;IAC5D,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACzB,OAAO,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAiD,EAAE,YAAoB,EAAE,KAAa;IACzH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC,CAAC;IAChG,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED,OAAO,EACL,oBAAoB,EACpB,2BAA2B,GAC5B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"actions_workflows.d.ts","sourceRoot":"","sources":["../../src/core/actions_workflows.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,4BAA4B,EAC5B,gBAAgB,EAChB,uBAAuB,EAIxB,MAAM,eAAe,CAAC;AAKvB,KAAK,8BAA8B,GAAG;IACpC,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,6BAA6B,GAAG;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAsHF,iBAAe,6BAA6B,CAC1C,OAAO,EAAE,4BAA4B,GAAG,SAAS,EACjD,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAKjB;AAED,iBAAS,yBAAyB,CAAC,YAAY,EAAE,MAAM,UAEtD;AAED,iBAAS,0BAA0B,CAAC,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,UAEjF;AA0FD,iBAAe,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAM3G;AAED,iBAAe,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiBvG;AAED,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,6BAA6B,EAC7B,yBAAyB,EACzB,0BAA0B,GAC3B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"actions_workflows.js","sourceRoot":"","sources":["../../src/core/actions_workflows.ts"],"names":[],"mappings":"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"}