@ai-development-environment/server 0.0.30 → 0.0.32

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 (192) hide show
  1. package/package.json +1 -1
  2. package/standalone/.next/BUILD_ID +1 -1
  3. package/standalone/.next/app-path-routes-manifest.json +1 -0
  4. package/standalone/.next/build-manifest.json +3 -3
  5. package/standalone/.next/prerender-manifest.json +3 -3
  6. package/standalone/.next/routes-manifest.json +9 -0
  7. package/standalone/.next/server/app/[locale]/actions/page.js +2 -1
  8. package/standalone/.next/server/app/[locale]/actions/page.js.nft.json +1 -1
  9. package/standalone/.next/server/app/[locale]/actions/page_client-reference-manifest.js +1 -1
  10. package/standalone/.next/server/app/[locale]/agents/[id]/page.js +2 -1
  11. package/standalone/.next/server/app/[locale]/agents/[id]/page.js.nft.json +1 -1
  12. package/standalone/.next/server/app/[locale]/agents/[id]/page_client-reference-manifest.js +1 -1
  13. package/standalone/.next/server/app/[locale]/agents/page.js +2 -1
  14. package/standalone/.next/server/app/[locale]/agents/page.js.nft.json +1 -1
  15. package/standalone/.next/server/app/[locale]/agents/page_client-reference-manifest.js +1 -1
  16. package/standalone/.next/server/app/[locale]/build-data/page.js +2 -1
  17. package/standalone/.next/server/app/[locale]/build-data/page.js.nft.json +1 -1
  18. package/standalone/.next/server/app/[locale]/build-data/page_client-reference-manifest.js +1 -1
  19. package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page.js +2 -1
  20. package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page.js.nft.json +1 -1
  21. package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page_client-reference-manifest.js +1 -1
  22. package/standalone/.next/server/app/[locale]/builds/[buildId]/page.js +2 -1
  23. package/standalone/.next/server/app/[locale]/builds/[buildId]/page.js.nft.json +1 -1
  24. package/standalone/.next/server/app/[locale]/builds/[buildId]/page_client-reference-manifest.js +1 -1
  25. package/standalone/.next/server/app/[locale]/builds/page.js +2 -1
  26. package/standalone/.next/server/app/[locale]/builds/page.js.nft.json +1 -1
  27. package/standalone/.next/server/app/[locale]/builds/page_client-reference-manifest.js +1 -1
  28. package/standalone/.next/server/app/[locale]/codebases/[codebaseId]/page.js +2 -1
  29. package/standalone/.next/server/app/[locale]/codebases/[codebaseId]/page.js.nft.json +1 -1
  30. package/standalone/.next/server/app/[locale]/codebases/[codebaseId]/page_client-reference-manifest.js +1 -1
  31. package/standalone/.next/server/app/[locale]/codebases/page.js +2 -1
  32. package/standalone/.next/server/app/[locale]/codebases/page.js.nft.json +1 -1
  33. package/standalone/.next/server/app/[locale]/codebases/page_client-reference-manifest.js +1 -1
  34. package/standalone/.next/server/app/[locale]/codebases/repositories/[repositoryId]/page.js +2 -1
  35. package/standalone/.next/server/app/[locale]/codebases/repositories/[repositoryId]/page.js.nft.json +1 -1
  36. package/standalone/.next/server/app/[locale]/codebases/repositories/[repositoryId]/page_client-reference-manifest.js +1 -1
  37. package/standalone/.next/server/app/[locale]/comments/page.js +2 -1
  38. package/standalone/.next/server/app/[locale]/comments/page.js.nft.json +1 -1
  39. package/standalone/.next/server/app/[locale]/comments/page_client-reference-manifest.js +1 -1
  40. package/standalone/.next/server/app/[locale]/jira/cache/page.js +2 -1
  41. package/standalone/.next/server/app/[locale]/jira/cache/page.js.nft.json +1 -1
  42. package/standalone/.next/server/app/[locale]/jira/cache/page_client-reference-manifest.js +1 -1
  43. package/standalone/.next/server/app/[locale]/jira/cache/tickets/[issueKey]/page.js +2 -1
  44. package/standalone/.next/server/app/[locale]/jira/cache/tickets/[issueKey]/page.js.nft.json +1 -1
  45. package/standalone/.next/server/app/[locale]/jira/cache/tickets/[issueKey]/page_client-reference-manifest.js +1 -1
  46. package/standalone/.next/server/app/[locale]/jira/tickets/[issueKey]/page.js +2 -1
  47. package/standalone/.next/server/app/[locale]/jira/tickets/[issueKey]/page.js.nft.json +1 -1
  48. package/standalone/.next/server/app/[locale]/jira/tickets/[issueKey]/page_client-reference-manifest.js +1 -1
  49. package/standalone/.next/server/app/[locale]/jira/tickets/page.js +2 -1
  50. package/standalone/.next/server/app/[locale]/jira/tickets/page.js.nft.json +1 -1
  51. package/standalone/.next/server/app/[locale]/jira/tickets/page_client-reference-manifest.js +1 -1
  52. package/standalone/.next/server/app/[locale]/jobs/[jobId]/page.js +2 -1
  53. package/standalone/.next/server/app/[locale]/jobs/[jobId]/page.js.nft.json +1 -1
  54. package/standalone/.next/server/app/[locale]/jobs/[jobId]/page_client-reference-manifest.js +1 -1
  55. package/standalone/.next/server/app/[locale]/page.js +2 -1
  56. package/standalone/.next/server/app/[locale]/page.js.nft.json +1 -1
  57. package/standalone/.next/server/app/[locale]/page_client-reference-manifest.js +1 -1
  58. package/standalone/.next/server/app/[locale]/pull-requests/[owner]/[repository]/[number]/page.js +2 -1
  59. package/standalone/.next/server/app/[locale]/pull-requests/[owner]/[repository]/[number]/page.js.nft.json +1 -1
  60. package/standalone/.next/server/app/[locale]/pull-requests/[owner]/[repository]/[number]/page_client-reference-manifest.js +1 -1
  61. package/standalone/.next/server/app/[locale]/pull-requests/page.js +2 -1
  62. package/standalone/.next/server/app/[locale]/pull-requests/page.js.nft.json +1 -1
  63. package/standalone/.next/server/app/[locale]/pull-requests/page_client-reference-manifest.js +1 -1
  64. package/standalone/.next/server/app/[locale]/settings/page.js +2 -1
  65. package/standalone/.next/server/app/[locale]/settings/page.js.nft.json +1 -1
  66. package/standalone/.next/server/app/[locale]/settings/page_client-reference-manifest.js +1 -1
  67. package/standalone/.next/server/app/[locale]/skills/[skillId]/page.js +2 -1
  68. package/standalone/.next/server/app/[locale]/skills/[skillId]/page.js.nft.json +1 -1
  69. package/standalone/.next/server/app/[locale]/skills/[skillId]/page_client-reference-manifest.js +1 -1
  70. package/standalone/.next/server/app/[locale]/skills/groups/[groupId]/page.js +2 -1
  71. package/standalone/.next/server/app/[locale]/skills/groups/[groupId]/page.js.nft.json +1 -1
  72. package/standalone/.next/server/app/[locale]/skills/groups/[groupId]/page_client-reference-manifest.js +1 -1
  73. package/standalone/.next/server/app/[locale]/skills/groups/page.js +2 -1
  74. package/standalone/.next/server/app/[locale]/skills/groups/page.js.nft.json +1 -1
  75. package/standalone/.next/server/app/[locale]/skills/groups/page_client-reference-manifest.js +1 -1
  76. package/standalone/.next/server/app/[locale]/skills/page.js +2 -1
  77. package/standalone/.next/server/app/[locale]/skills/page.js.nft.json +1 -1
  78. package/standalone/.next/server/app/[locale]/skills/page_client-reference-manifest.js +1 -1
  79. package/standalone/.next/server/app/[locale]/skills/sync/[runId]/page.js +2 -1
  80. package/standalone/.next/server/app/[locale]/skills/sync/[runId]/page.js.nft.json +1 -1
  81. package/standalone/.next/server/app/[locale]/skills/sync/[runId]/page_client-reference-manifest.js +1 -1
  82. package/standalone/.next/server/app/[locale]/tools/page.js +2 -1
  83. package/standalone/.next/server/app/[locale]/tools/page.js.nft.json +1 -1
  84. package/standalone/.next/server/app/[locale]/tools/page_client-reference-manifest.js +1 -1
  85. package/standalone/.next/server/app/[locale]/usage/page.js +2 -1
  86. package/standalone/.next/server/app/[locale]/usage/page.js.nft.json +1 -1
  87. package/standalone/.next/server/app/[locale]/usage/page_client-reference-manifest.js +1 -1
  88. package/standalone/.next/server/app/[locale]/worktrees/[worktreeId]/page.js +2 -1
  89. package/standalone/.next/server/app/[locale]/worktrees/[worktreeId]/page.js.nft.json +1 -1
  90. package/standalone/.next/server/app/[locale]/worktrees/[worktreeId]/page_client-reference-manifest.js +1 -1
  91. package/standalone/.next/server/app/[locale]/worktrees/page.js +2 -1
  92. package/standalone/.next/server/app/[locale]/worktrees/page.js.nft.json +1 -1
  93. package/standalone/.next/server/app/[locale]/worktrees/page_client-reference-manifest.js +1 -1
  94. package/standalone/.next/server/app/_global-error.html +1 -1
  95. package/standalone/.next/server/app/_global-error.rsc +1 -1
  96. package/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  97. package/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  98. package/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  99. package/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  100. package/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  101. package/standalone/.next/server/app/_not-found.html +1 -1
  102. package/standalone/.next/server/app/_not-found.rsc +1 -1
  103. package/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  104. package/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  105. package/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  106. package/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  107. package/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  108. package/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  109. package/standalone/.next/server/app/api/build-artifact-uploads/[uploadId]/route.js +1 -1
  110. package/standalone/.next/server/app/api/build-artifact-uploads/[uploadId]/route.js.nft.json +1 -1
  111. package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route/app-paths-manifest.json +3 -0
  112. package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route/build-manifest.json +9 -0
  113. package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route/server-reference-manifest.json +4 -0
  114. package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route.js +11 -0
  115. package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route.js.map +5 -0
  116. package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route.js.nft.json +1 -0
  117. package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route_client-reference-manifest.js +3 -0
  118. package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/route.js +4 -3
  119. package/standalone/.next/server/app/api/builds/[buildId]/artifacts/[artifactId]/route.js.nft.json +1 -1
  120. package/standalone/.next/server/app/api/codebases/by-path/route.js.nft.json +1 -1
  121. package/standalone/.next/server/app/api/codebases/route.js.nft.json +1 -1
  122. package/standalone/.next/server/app/api/graphql/route.js.nft.json +1 -1
  123. package/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
  124. package/standalone/.next/server/app/api/tools/call/route.js.nft.json +1 -1
  125. package/standalone/.next/server/app/api/tools/catalog/route.js.nft.json +1 -1
  126. package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route.js +1 -1
  127. package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route.js.nft.json +1 -1
  128. package/standalone/.next/server/app-paths-manifest.json +1 -0
  129. package/standalone/.next/server/chunks/07_e_builds_[buildId]_artifacts_[artifactId]_manifest_plist_route_actions_18mzaf3.js +3 -0
  130. package/standalone/.next/server/chunks/[root-of-the-server]__08mnmfs._.js +3 -0
  131. package/standalone/.next/server/chunks/[root-of-the-server]__0906ea6._.js +3 -0
  132. package/standalone/.next/server/chunks/{[root-of-the-server]__09skp6r._.js → [root-of-the-server]__0cz4ap5._.js} +1 -1
  133. package/standalone/.next/server/chunks/[root-of-the-server]__0nvcazp._.js +3 -0
  134. package/standalone/.next/server/chunks/{[root-of-the-server]__1wtng3p._.js → [root-of-the-server]__12807ia._.js} +1 -1
  135. package/standalone/.next/server/chunks/[root-of-the-server]__1csx222._.js +3 -0
  136. package/standalone/.next/server/chunks/{[root-of-the-server]__0zyqmd4._.js → [root-of-the-server]__1ix62p0._.js} +3 -3
  137. package/standalone/.next/server/chunks/[root-of-the-server]__1j-hk6b._.js +3 -0
  138. package/standalone/.next/server/chunks/{[root-of-the-server]__15aat79._.js → [root-of-the-server]__1j0u03u._.js} +1 -1
  139. package/standalone/.next/server/chunks/[root-of-the-server]__1qmvsu_._.js +3 -0
  140. package/standalone/.next/server/chunks/[root-of-the-server]__1w59u6o._.js +3 -0
  141. package/standalone/.next/server/chunks/{[root-of-the-server]__0-ypkf7._.js → [root-of-the-server]__1z-3x8k._.js} +1 -1
  142. package/standalone/.next/server/chunks/_0exkna-._.js +51 -1
  143. package/standalone/.next/server/chunks/_0jurkow._.js +1 -1
  144. package/standalone/.next/server/chunks/_0rx5rfm._.js +1 -1
  145. package/standalone/.next/server/chunks/_0tufgj0._.js +111 -61
  146. package/standalone/.next/server/chunks/_0w2eghf._.js +51 -1
  147. package/standalone/.next/server/chunks/_152rnkf._.js +3 -3
  148. package/standalone/.next/server/chunks/_16x77b_._.js +1 -1
  149. package/standalone/.next/server/chunks/_1dbqy8c._.js +3 -3
  150. package/standalone/.next/server/chunks/_1vrixpc._.js +3 -3
  151. package/standalone/.next/server/chunks/_1yfz-9u._.js +3 -3
  152. package/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_08x37wy.js +6 -0
  153. package/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0eghv0a.js +3 -0
  154. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__08bbv6z._.js +1 -1
  155. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ckj6wg._.js +1 -1
  156. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qy28ku._.js +3 -0
  157. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1potsqg._.js +1 -1
  158. package/standalone/.next/server/chunks/ssr/_0a1ligo._.js +1 -1
  159. package/standalone/.next/server/chunks/ssr/{_1n9rteq._.js → _1f5k6bj._.js} +2 -2
  160. package/standalone/.next/server/chunks/ssr/messages_de_json_[json]_cjs_1uig1ud._.js +1 -1
  161. package/standalone/.next/server/chunks/ssr/messages_en_json_[json]_cjs_206072-._.js +1 -1
  162. package/standalone/.next/server/chunks/ssr/messages_es_json_[json]_cjs_082yukd._.js +1 -1
  163. package/standalone/.next/server/chunks/ssr/messages_fr_json_[json]_cjs_0j6-w0i._.js +1 -1
  164. package/standalone/.next/server/chunks/ssr/node_modules_0obs0k7._.js +5 -0
  165. package/standalone/.next/server/chunks/ssr/node_modules_next_1ep9xf4._.js +3 -0
  166. package/standalone/.next/server/chunks/ssr/src_components_builds_build-detail-page_tsx_0q1lvps._.js +20 -10
  167. package/standalone/.next/server/functions-config-manifest.json +5 -2
  168. package/standalone/.next/server/middleware-build-manifest.js +3 -3
  169. package/standalone/.next/server/pages/404.html +1 -1
  170. package/standalone/.next/server/pages/500.html +1 -1
  171. package/standalone/.next/server/server-reference-manifest.js +1 -1
  172. package/standalone/.next/server/server-reference-manifest.json +1 -1
  173. package/standalone/.next/static/chunks/{1ut0xkaqsykm4.js → 0mq066ue0yufb.js} +1 -1
  174. package/standalone/.next/static/chunks/{041g9raf1naqv.js → 175269y15-grc.js} +1 -1
  175. package/standalone/.next/static/chunks/17t4ft9o1tqw3.js +35 -0
  176. package/standalone/.next/static/chunks/{3q0q6_ntq8aa5.js → 208k3moxxd_53.js} +1 -1
  177. package/standalone/.next/static/chunks/2zwijj9t6y7gn.js +7 -0
  178. package/standalone/.next/static/chunks/398uw5_4-ciaz.css +1 -0
  179. package/standalone/.next/static/chunks/{29zl8lgsa28tb.js → 3l2g83119oyl0.js} +1 -1
  180. package/standalone/src/services/builds/artifact-cache.test.ts +271 -0
  181. package/standalone/src/services/builds/artifact-cache.ts +272 -0
  182. package/standalone/src/services/builds/artifact-transfer.ts +2 -1
  183. package/standalone/src/services/builds/builds.service.ts +139 -56
  184. package/standalone/.next/server/chunks/[root-of-the-server]__02vqwey._.js +0 -3
  185. package/standalone/.next/server/chunks/[root-of-the-server]__0rwpsai._.js +0 -3
  186. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__10-ftkj._.js +0 -3
  187. package/standalone/.next/server/chunks/ssr/node_modules_1n5939e._.js +0 -5
  188. package/standalone/.next/static/chunks/3p7wbgo7qd6_m.css +0 -1
  189. package/standalone/.next/static/chunks/3vg6y29m047x9.js +0 -31
  190. /package/standalone/.next/static/{ePu377E66yy0icQx3ykQJ → qUqJkVkzos1XoXFl7PSxx}/_buildManifest.js +0 -0
  191. /package/standalone/.next/static/{ePu377E66yy0icQx3ykQJ → qUqJkVkzos1XoXFl7PSxx}/_clientMiddlewareManifest.js +0 -0
  192. /package/standalone/.next/static/{ePu377E66yy0icQx3ykQJ → qUqJkVkzos1XoXFl7PSxx}/_ssgManifest.js +0 -0
@@ -749,8 +749,58 @@ input BuildLogEventInput {
749
749
  createdAt: String!
750
750
  }
751
751
 
752
+ enum ProvisioningProfileType {
753
+ DEVELOPMENT
754
+ AD_HOC
755
+ ENTERPRISE
756
+ APP_STORE
757
+ }
758
+
759
+ type SigningTeam {
760
+ id: ID!
761
+ name: String!
762
+ }
763
+
764
+ type SigningIdentity {
765
+ sha1: String!
766
+ name: String!
767
+ teamId: String
768
+ }
769
+
770
+ type SigningProfile {
771
+ uuid: ID!
772
+ name: String!
773
+ teamId: String
774
+ teamName: String
775
+ bundleId: String!
776
+ type: ProvisioningProfileType!
777
+ platforms: [String!]!
778
+ expiresAt: String
779
+ expired: Boolean!
780
+ xcodeManaged: Boolean!
781
+ "SHA-1 fingerprints of the certificates this profile accepts."
782
+ certificateSha1s: [String!]!
783
+ }
784
+
785
+ "A bundle inside an archive that needs its own provisioning profile."
786
+ type ArchiveBundle {
787
+ bundleId: String!
788
+ name: String!
789
+ relativePath: String!
790
+ embeddedProfileUuid: String
791
+ embeddedProfileName: String
792
+ }
793
+
794
+ type BuildSigningOptions {
795
+ teams: [SigningTeam!]!
796
+ identities: [SigningIdentity!]!
797
+ profiles: [SigningProfile!]!
798
+ bundles: [ArchiveBundle!]!
799
+ }
800
+
752
801
  extend type Query {
753
802
  iosAppProject(codebaseId: ID!): CodebaseProject
803
+ buildSigningOptions(buildId: ID!): BuildSigningOptions!
754
804
  buildScripts: [BuildScript!]!
755
805
  builds(
756
806
  first: Int = 50
@@ -2726,6 +2776,6 @@ extend type Mutation {
2726
2776
  extend type Subscription {
2727
2777
  worktreeOverviewChanged: WorktreeOverviewChange!
2728
2778
  worktreeInspectionChanged(worktreeId: ID!): WorktreeActivity!
2729
- }`];var ia=e.i(971619);e.i(805422);var is=e.i(661983),io=e.i(694355);function il(e){if(!e.agentId)throw Error("Agent authentication is required");return e.agentId}function iu(e){if(e.agentId)throw Error("Agent credentials cannot perform control-plane operations")}function ic(e,t){if(e.agentId&&e.agentId!==t)throw Error("An agent may only read its own resources")}async function id(e,t,i){let n=await t.getJob(i);return n&&ic(e,n.agentId),n}function ip(e){return null===e?null:JSON.parse(e)}let ih=new A.GraphQLScalarType({name:"JSON",description:"A JSON-serializable value.",serialize:e=>e,parseValue:e=>e,parseLiteral:e=>(function e(t){switch(t.kind){case N.Kind.NULL:return null;case N.Kind.STRING:case N.Kind.BOOLEAN:return t.value;case N.Kind.INT:case N.Kind.FLOAT:return Number(t.value);case N.Kind.LIST:return t.values.map(t=>e(t));case N.Kind.OBJECT:return Object.fromEntries(t.fields.map(t=>[t.name.value,e(t.value)]));default:throw Error("Unsupported JSON literal")}})(e)});var im=e.i(735255);let iy={ALL:null,LAST_7_DAYS:7,LAST_30_DAYS:30};function iv(e){if(e.agentId)throw Error("Agent credentials cannot perform control-plane operations")}function ig(e){if(e.agentId)throw Error("Agent credentials cannot perform control-plane operations")}function iT(e){if(e.agentId)throw Error("Agent credentials cannot perform control-plane operations")}e.i(107058);var iS=e.i(112627);function iE(e){if(e.agentId)throw Error("Agent credentials cannot perform control-plane operations")}function iI(e){return{actor:"control-plane",ipAddress:e.ipAddress}}var ib=e.i(184015);function iN(e){if(!e.agentId)throw Error("Agent authentication is required");return e.agentId}function i_(e){if(e.agentId)throw Error("Agent credentials cannot perform control-plane operations")}let iD=e=>e?.toISOString()??null;function iA(e){if(e.agentId)throw Error("Agent credentials cannot perform control-plane operations")}function iO(e){if(!e.agentId)throw Error("Agent authentication is required");return e.agentId}function iR(e){if(e.agentId)throw Error("Agent credentials cannot perform control-plane operations")}let iw=e=>e?.toISOString()??null;var iL=e.i(320058);function iC(e){if(e.agentId)throw Error("Agent credentials cannot perform control-plane operations")}var iF=e.i(984179);function ik(e){if(e.agentId)throw Error("Agent credentials cannot perform control-plane operations")}function iP(e){if(!e.agentId)throw Error("Agent authentication is required");return e.agentId}let ix=e=>e?.toISOString()??null,iM=(e,t)=>{try{return JSON.parse(e)}catch{return t}},iU=ir.map(e=>it(e));var i$=e.i(887394);let ij=new class{server=null;services=null;schema=null;initPromise=null;async initializeServer(){if(null===this.server)return this.initPromise||(this.initPromise=this.buildServer().finally(()=>{this.initPromise=null})),this.initPromise}async buildServer(){var e,t,i,n,r,a,s,o,l,u,c;let d;this.services=(0,i$.getServerServices)(),this.schema=(e=this.services.prismaService,t=this.services.agentControlService,i=this.services.jiraService,n=this.services.gitHubService,r=this.services.ccusageService,a=this.services.codebasesService,s=this.services.toolsService,o=this.services.worktreesService,l=this.services.buildDataService,u=this.services.skillsService,d=I([{Query:{health:async()=>await e.healthCheck()?"ok":"degraded"}},{JSON:ih,Agent:{capabilities:e=>ip(e.capabilitiesJson),connectionStatus:e=>null!==e.lastSeenAt&&Date.now()-e.lastSeenAt.getTime()<=io.AGENT_ONLINE_WINDOW_MS&&null===e.disconnectedAt?"ONLINE":"OFFLINE",effectiveBuildsDirectory:e=>(0,ia.effectiveBuildsDirectory)(e),lastSeenAt:e=>e.lastSeenAt?.toISOString()??null,disconnectedAt:e=>e.disconnectedAt?.toISOString()??null,createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},AgentJob:{payload:e=>ip(e.payloadJson),result:e=>ip(e.resultJson),createdAt:e=>e.createdAt.toISOString(),startedAt:e=>e.startedAt?.toISOString()??null,finishedAt:e=>e.finishedAt?.toISOString()??null,updatedAt:e=>e.updatedAt.toISOString()},AgentJobLog:{createdAt:e=>e.createdAt.toISOString()},AgentEnrollmentToken:{expiresAt:e=>e.expiresAt.toISOString()},Query:{agents:(e,i,n)=>(iu(n),t.listAgents()),agent:(e,{id:i},n)=>(ic(n,i),t.getAgent(i)),agentSelf:(e,i,n)=>{let r=il(n);return t.getAgent(r)},agentJobs:(e,{agentId:i,limit:n},r)=>(ic(r,i),t.listJobs(i,n,!!r.agentId)),agentJob:async(e,{id:i},n)=>id(n,t,i),agentJobLogs:async(e,{jobId:i,afterSequence:n},r)=>(await id(r,t,i),t.listLogs(i,n))},Mutation:{createAgentEnrollmentToken:(e,{expiresInMinutes:i},n)=>(iu(n),t.createEnrollmentToken(i)),enrollAgent:(e,{input:i},n)=>t.enroll({...i,ipAddress:n.ipAddress}),heartbeatAgent:(e,{input:i},n)=>t.heartbeat(il(n),{...i,ipAddress:n.ipAddress}),createAgentJob:(e,{input:i},n)=>(iu(n),t.createJob(i)),claimAgentJob:(e,{jobId:i},n)=>t.claimJob(il(n),i),appendAgentJobLogs:(e,{jobId:i,logs:n},r)=>t.appendLogs(il(r),i,n),completeAgentJob:(e,i,n)=>t.completeJob(il(n),i.jobId,i.status,i.result,i.error??null),cancelAgentJob:(e,{jobId:i},n)=>(iu(n),t.cancelJob(i)),requestAgentCodebaseReconcile:async(e,{agentId:i},n)=>(iu(n),await t.requestCodebaseReconcile([i])===1),updateAgentBaseRepoDirectory:(e,{agentId:i,baseRepoDirectory:n},r)=>(iu(r),t.updateBaseRepoDirectory(i,n??null)),updateAgentBuildsDirectory:(e,{agentId:i,buildsDirectory:n},r)=>(iu(r),t.updateBuildsDirectory(i,n??null)),updateAgentDerivedDataSettings:(e,{agentId:i,input:n},r)=>(iu(r),t.updateDerivedDataSettings(i,n.mode,n.path??null)),deleteAgent:(e,{agentId:i},n)=>(iu(n),t.deleteAgent(i))},Subscription:{agentEvents:{subscribe:(e,{agentId:t},i)=>{if(il(i)!==t)throw Error("An agent may only subscribe to its own events");return is.agentEventBus.iterate((0,is.agentEventsTopic)(t))}},agentChanged:{subscribe:(e,{agentId:t},i)=>(t?ic(i,t):iu(i),is.agentEventBus.iterate(is.AGENT_CHANGED_TOPIC,t?e=>e.agentChanged.id===t:void 0))},agentJobChanged:{subscribe:async(e,{jobId:i},n)=>(await id(n,t,i),is.agentEventBus.iterate((0,is.agentJobChangedTopic)(i)))},agentJobLogAdded:{subscribe:async(e,{jobId:i},n)=>(await id(n,t,i),is.agentEventBus.iterate((0,is.agentJobLogTopic)(i)))}}},{Query:{jiraSettings:(e,t,n)=>(iT(n),i.getSettings()),jiraAvailableProjects:(e,t,n)=>(iT(n),i.availableProjects()),jiraProjects:(e,t,n)=>(iT(n),i.listProjects()),jiraProjectStatuses:(e,{projectId:t},n)=>(iT(n),i.projectStatuses(t)),jiraTicketBoard:(e,{sourceId:t},n)=>(iT(n),i.ticketBoard(t)),jiraTicket:(e,{issueKey:t},n)=>(iT(n),i.ticket(t)),jiraAssignableUsers:(e,{issueKey:t,query:n},r)=>(iT(r),i.assignableUsers(t,n)),jiraTicketTransitions:(e,{issueKey:t},n)=>(iT(n),i.ticketTransitions(t)),jiraTicketEditFields:(e,{issueKey:t},n)=>(iT(n),i.ticketEditFields(t)),jiraTicketChanges:(e,{issueKey:t,limit:n,offset:r},a)=>(iT(a),i.ticketChanges(t,n,r)),jiraTicketWorklogs:(e,{issueKey:t,limit:n,offset:r},a)=>(iT(a),i.ticketWorklogs(t,n,r)),jiraCacheMetrics:(e,t,n)=>(iT(n),i.cacheMetrics()),jiraApiCalls:(e,{limit:t,offset:n},r)=>(iT(r),i.listApiCalls(t,n)),jiraCachedTickets:(e,{limit:t,offset:n},r)=>(iT(r),i.listCachedTickets(t,n)),jiraCachedTicket:(e,{issueKey:t},n)=>(iT(n),i.cachedTicket(t))},Mutation:{saveJiraSettings:(e,{input:t},n)=>(iT(n),i.saveSettings(t)),testJiraConnection:(e,t,n)=>(iT(n),i.testConnection()),clearJiraCredentials:(e,t,n)=>(iT(n),i.clearCredentials()),addJiraProject:(e,{jiraId:t},n)=>(iT(n),i.addProject(t)),removeJiraProject:(e,{projectId:t},n)=>(iT(n),i.removeProject(t)),createJiraSource:(e,{input:t},n)=>(iT(n),i.createSource(t)),updateJiraSource:(e,{input:t},n)=>(iT(n),i.updateSource(t)),deleteJiraSource:(e,{id:t},n)=>(iT(n),i.deleteSource(t)),updateJiraProjectDisplaySettings:(e,{input:t},n)=>(iT(n),i.updateProjectDisplaySettings(t)),updateJiraProjectBranchNaming:(e,{projectId:t,branchNamingScript:n},r)=>(iT(r),i.updateProjectBranchNaming(t,n)),refreshJiraSource:(e,{sourceId:t},n)=>(iT(n),i.ticketBoard(t,!0)),updateJiraCacheTtl:(e,{ttlMinutes:t},n)=>(iT(n),i.updateCacheTtl(t)),clearJiraCache:(e,t,n)=>(iT(n),i.clearCache()),refreshJiraCachedTicket:(e,{issueKey:t},n)=>(iT(n),i.refreshCachedTicket(t)),deleteJiraCachedTicket:(e,{issueKey:t},n)=>(iT(n),i.deleteCachedTicket(t)),addJiraComment:(e,{issueKey:t,content:n},r)=>(iT(r),i.addComment(t,n)),assignJiraTicket:(e,{issueKey:t,accountId:n},r)=>(iT(r),i.assignTicket(t,n??null)),transitionJiraTicket:(e,{issueKey:t,transitionId:n},r)=>(iT(r),i.transitionTicket(t,n)),updateJiraTicket:(e,{input:t},n)=>(iT(n),i.updateTicket(t))}},{Query:{githubSettings:(e,t,i)=>(iE(i),n.getSettings()),githubAppSettings:(e,t,i)=>(iE(i),n.getAppSettings()),githubRepositories:(e,t,i)=>(iE(i),n.listRepositories()),githubAvailableRepositories:(e,{after:t},i)=>(iE(i),n.availableRepositories(t)),githubActionsWorkflowRuns:(e,{codebaseRepositoryId:t,first:i,after:r},a)=>(iE(a),n.actionsWorkflowRuns(t,i??25,r)),githubActionsWorkflowJobs:(e,{codebaseRepositoryId:t,workflowRunId:i},r)=>(iE(r),n.actionsWorkflowJobs(t,i)),githubPullRequests:(e,{scope:t,repositoryId:i,state:r,first:a,after:s},o,l)=>(iE(o),n.pullRequests(t,i,{includePipelineJobs:!!l?.fieldNodes.some(e=>!!e.selectionSet&&function e(t,i,n,r=new Set){for(let a of t.selections)if("Field"===a.kind){if(a.name.value===i||a.selectionSet&&e(a.selectionSet,i,n,r))return!0}else if("InlineFragment"===a.kind){if(e(a.selectionSet,i,n,r))return!0}else if(!r.has(a.name.value)){r.add(a.name.value);let t=n.fragments[a.name.value];if(t&&e(t.selectionSet,i,n,r))return!0}return!1}(e.selectionSet,"jobs",l)),state:r??"OPEN",first:a??25,after:s})),githubPullRequest:(e,{owner:t,name:i,number:r},a)=>(iE(a),n.pullRequest(t,i,r)),githubPullRequestMergeOptions:(e,{owner:t,name:i,number:r},a)=>(iE(a),n.pullRequestMergeOptions(t,i,r)),githubReviewThreads:(e,t,i)=>(iE(i),n.reviewThreads())},Mutation:{saveGitHubSettings:(e,{input:t},i)=>(iE(i),n.saveSettings(t)),saveGitHubAppSettings:(e,{input:t},i)=>(iE(i),n.saveAppSettings(t,iI(i))),testGitHubConnection:(e,t,i)=>(iE(i),n.testConnection()),testGitHubAppConnection:(e,t,i)=>(iE(i),n.testAppConnection(iI(i))),clearGitHubCredentials:(e,t,i)=>(iE(i),n.clearCredentials()),clearGitHubAppCredentials:(e,t,i)=>(iE(i),n.clearAppCredentials(iI(i))),addGitHubRepository:(e,{input:t},i)=>(iE(i),n.addRepository(t)),updateGitHubRepository:(e,{input:t},i)=>(iE(i),n.updateRepository(t)),removeGitHubRepository:(e,{id:t},i)=>(iE(i),n.removeRepository(t)),mergeGitHubPullRequest:async(e,{input:t},i)=>{iE(i);let r=await n.mergePullRequest(t),{owner:a,name:s}=(0,iS.normalizeGitHubRepositoryName)(`${t.owner}/${t.name}`);return o.invalidatePullRequestsForOrigin(`github.com/${a}/${s}`),r},retryGitHubPipeline:(e,{repositoryId:t,checkSuiteId:i},r)=>(iE(r),n.retryPipeline(t,i,iI(r))),retryGitHubWorkflowJob:(e,{repositoryId:t,checkSuiteId:i,jobId:r},a)=>(iE(a),n.retryWorkflowJob(t,i,r,iI(a))),replyToGitHubReviewThread:(e,{threadId:t,body:i},r)=>(iE(r),n.replyToReviewThread(t,i)),setGitHubReviewThreadResolved:(e,{threadId:t,resolved:i},r)=>(iE(r),n.setReviewThreadResolved(t,i))}},{CcusageCollection:{aggregate:(e,{range:t="ALL"})=>(0,im.filterUsageByDays)(e.aggregate,iy[t])},CcusageModelUsage:{unattributed:e=>e.unattributed??!1},Query:{ccusageCollection:async(e,{id:t},i)=>(iv(i),await r.initialize(),r.getCollection(t))},Mutation:{collectCcusage:async(e,{requestId:t},i)=>(iv(i),await r.initialize(),r.collect(t))},Subscription:{ccusageCollectionChanged:{subscribe:async(e,{id:t},i)=>(iv(i),await r.initialize(),r.subscribe(t)),resolve:e=>e}}},{DerivedDataDeletionHistory:{deletedAt:e=>e.deletedAt.toISOString()},Query:{derivedDataCollection:(e,{id:t},i)=>(ig(i),l.getCollection(t)),derivedDataDeletionHistory:(e,{first:t,after:i},n)=>(ig(n),l.history(t,i))},Mutation:{refreshDerivedData:(e,{requestId:t},i)=>(ig(i),l.refresh(t)),calculateDerivedDataSizes:(e,{collectionId:t,entryIds:i,requestId:n},r)=>(ig(r),l.calculateSizes(t,i,n)),deleteDerivedDataEntries:(e,{collectionId:t,entryIds:i,requestId:n},r)=>(ig(r),l.deleteEntries(t,i,n)),clearDerivedDataDeletionHistory:(e,t,i)=>(ig(i),l.clearHistory())},Subscription:{derivedDataCollectionChanged:{subscribe:(e,{id:t},i)=>(ig(i),l.subscribe(t)),resolve:e=>e}}},{CodebaseOverview:{repositories:e=>Array.isArray(e)?e:e.repositories??[]},CodebaseRepository:{createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},CodebaseSettings:{updatedAt:e=>e.updatedAt.toISOString()},Codebase:{lastCheckedAt:e=>iD(e.lastCheckedAt),lastFetchedAt:e=>iD(e.lastFetchedAt),lastFetchAttemptAt:e=>iD(e.lastFetchAttemptAt),localBranches:e=>{try{let t=JSON.parse(e.localBranchesJson);return Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}catch{return[]}},remoteBranches:e=>{try{let t=JSON.parse(e.remoteBranchesJson);return Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}catch{return[]}},createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString(),activeJob:e=>e.jobs?.[0]??null},AgentCodebaseRegistration:{canonicalOrigin:e=>e.repository.canonicalOrigin,keepBaseBranchUpToDate:e=>e.repository.keepBaseBranchUpToDate,worktrees:e=>e.worktrees??[],lastFetchedAt:e=>iD(e.lastFetchedAt),lastFetchAttemptAt:e=>iD(e.lastFetchAttemptAt)},Query:{codebaseOverview:async(e,t,i)=>(i_(i),a.overview()),codebaseRepository:(e,{id:t},i)=>(i_(i),a.repositoryDetail(t)),codebase:(e,{id:t},i)=>(i_(i),a.detail(t)),codebaseSettings:(e,t,i)=>(i_(i),a.settings()),agentCodebases:(e,t,i)=>a.agentCodebases(iN(i)),agentCodebaseConfiguration:(e,t,i)=>a.agentConfiguration(iN(i))},Mutation:{browseAgentDirectory:(e,{input:t},i)=>(i_(i),a.browse(t.agentId,t.path??null,t.requestId)),inspectAgentCodebase:(e,{input:t},i)=>(i_(i),a.inspect(t.agentId,t.folder,t.requestId)),confirmCodebase:(e,{input:t},i)=>(i_(i),a.confirm(t)),updateCodebaseRepository:(e,{input:t},i)=>(i_(i),a.updateRepository(t.id,t.name,t.description,t.jiraBranchRegex,t.keepBaseBranchUpToDate,t.skillGroupIds)),updateCodebaseSettings:(e,{input:t},i)=>(i_(i),a.updateSettings(t)),removeCodebase:(e,{id:t},i)=>(i_(i),a.removeCodebase(t)),refreshCodebases:(e,{input:t},i)=>(i_(i),a.runOperation(ib.CODEBASE_REFRESH_JOB_KIND,t.codebaseIds,t.requestId)),fetchCodebases:(e,{input:t},i)=>(i_(i),a.runOperation(ib.CODEBASE_FETCH_JOB_KIND,t.codebaseIds,t.requestId)),inspectCodebaseGitState:(e,{input:t},i)=>(i_(i),a.inspectGitState(t.codebaseId,t.requestId)),inspectCodebaseStash:(e,{input:t},i)=>(i_(i),a.inspectStash(t.codebaseId,t.stashOid,t.requestId)),runCodebaseGitOperation:(e,{input:t},i)=>(i_(i),a.runGitOperation(t)),reportCodebaseStatuses:(e,{reports:t},i)=>a.report(iN(i),t)},Subscription:{codebaseOverviewChanged:{subscribe:(e,t,i)=>(i_(i),a.subscribe())}}},{Query:{externalMcpServers:(e,t,i)=>(iA(i),s.externalServers())},Mutation:{createExternalMcpServer:(e,{input:t},i)=>(iA(i),s.createExternalServer(t)),updateExternalMcpServer:(e,{id:t,input:i},n)=>(iA(n),s.updateExternalServer(t,i)),deleteExternalMcpServer:(e,{id:t},i)=>(iA(i),s.deleteExternalServer(t))}},{WorktreeLatestBuild:{destination:e=>JSON.parse(e.destinationJson),createdAt:e=>e.createdAt.toISOString()},Worktree:{lastCheckedAt:e=>iw(e.lastCheckedAt),missingAt:e=>iw(e.missingAt),createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},WorktreeTag:{createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},WorktreeSettings:{updatedAt:e=>e.updatedAt.toISOString()},WorktreeMove:{createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString(),finishedAt:e=>iw(e.finishedAt)},Query:{worktreeOverview:(e,t,i)=>(iR(i),o.overview()),hiddenWorktrees:(e,t,i)=>(iR(i),o.hidden()),worktreeSettings:(e,t,i)=>(iR(i),o.settings()),previewWorktreeTicketBranch:(e,{input:t},i)=>(iR(i),o.previewTicketBranch(t)),worktreeMove:(e,{id:t},i)=>(iR(i),o.getMove(t))},Mutation:{refreshWorktrees:(e,t,i)=>(iR(i),o.requestRefresh()),reportWorktrees:(e,{reports:t},i)=>o.report(iO(i),t),reportWorktreeActivity:(e,{input:t},i)=>o.reportActivity(iO(i),t),inspectWorktree:(e,{id:t,requestId:i},n)=>(iR(n),o.inspect(t,i)),inspectWorktreeDiff:(e,{input:t},i)=>(iR(i),o.inspectDiff(t.worktreeId,{scope:t.scope,path:t.path,previousPath:t.previousPath,commitSha:t.commitSha},t.requestId)),runWorktreeOperation:(e,{input:t},i)=>(iR(i),o.runOperation(t.worktreeId,t.operation,t.requestId)),createWorktree:(e,{input:t},i)=>(iR(i),o.createWorktree(t)),changeWorktreeBranch:(e,{input:t},i)=>(iR(i),o.changeWorktreeBranch(t)),moveWorktree:(e,{input:t},i)=>(iR(i),o.moveWorktree(t)),retryWorktreeMoveWithStash:(e,{id:t},i)=>(iR(i),o.retryWorktreeMoveWithStash(t)),cancelWorktreeMove:(e,{id:t},i)=>(iR(i),o.cancelWorktreeMove(t)),deleteWorktree:(e,{input:t},i)=>(iR(i),o.deleteWorktree(t)),updateWorktreeBaseBranch:(e,{id:t,baseBranch:i},n)=>(iR(n),o.updateBaseBranch(t,i??null)),updateWorktreeHighlight:(e,{id:t,color:i},n)=>(iR(n),o.updateHighlight(t,i??null)),setWorktreeTags:(e,{id:t,tagIds:i},n)=>(iR(n),o.setTags(t,i)),saveWorktreeTag:(e,{input:t},i)=>(iR(i),o.saveTag(t)),deleteWorktreeTag:(e,{id:t},i)=>(iR(i),o.deleteTag(t)),saveWorktreeSettings:(e,{editorVariant:t},i)=>(iR(i),o.saveSettings(t)),purgeHiddenWorktree:(e,{id:t},i)=>(iR(i),o.purge(t)),purgeAllHiddenWorktrees:(e,t,i)=>(iR(i),o.purgeAll())},Subscription:{worktreeOverviewChanged:{subscribe:(e,t,i)=>(iR(i),o.subscribe())},worktreeInspectionChanged:{subscribe:(e,{worktreeId:t},i)=>(iR(i),o.subscribeInspection(t))}}},{CodebaseRepository:{skillGroups:e=>u.groupsForRepository(e.id)},Skill:{groups:e=>e.groups?.map(e=>e.group)??[],createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},SkillFile:{contentsBase64:e=>Buffer.from(e.contents).toString("base64"),createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},SkillGroup:{skills:e=>e.skills?.map(e=>e.skill)??[],repositories:e=>e.repositories?.map(e=>e.repository)??[],createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},SkillSettings:{updatedAt:e=>e.updatedAt.toISOString()},SkillToolObservation:{checkedAt:e=>e.checkedAt.toISOString()},SkillInstallation:{consumers:e=>{try{return JSON.parse(e.consumersJson)}catch{return[]}},lastSeenAt:e=>e.lastSeenAt.toISOString()},SkillSyncItem:{candidatePackage:e=>{try{return e.candidatePackageJson?JSON.parse(e.candidatePackageJson):null}catch{return null}},createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},SkillSyncRun:{createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString(),finishedAt:e=>{let t;return t=e.finishedAt,t?.toISOString()??null}},Query:{skillsOverview:(e,{search:t},i)=>(iC(i),u.overview(t??"")),skill:(e,{id:t},i)=>(iC(i),u.getSkill(t)),skillSyncRun:(e,{id:t},i)=>(iC(i),u.getRun(t))},Mutation:{saveSkill:(e,{input:t},i)=>(iC(i),u.saveSkill(t)),deleteSkill:(e,{id:t},i)=>(iC(i),u.deleteSkill(t)),saveSkillGroup:(e,{input:t},i)=>(iC(i),u.saveGroup(t)),deleteSkillGroup:(e,{id:t},i)=>(iC(i),u.deleteGroup(t)),saveSkillSettings:(e,{input:t},i)=>(iC(i),u.saveSettings(t)),prepareSkillSync:(e,{kind:t,groupId:i},n)=>(iC(n),u.prepareSync(t,i??null)),skipPendingSkillSync:(e,{runId:t},i)=>(iC(i),u.skipPending(t)),resolveSkillSyncItem:(e,{input:t},i)=>{var n;return iC(i),u.resolveItem({...t,package:t.package?(n=t.package,(0,iL.parseSkillPackage)({...n,packageHash:n.packageHash||(0,iL.hashSkillFiles)(n.files)})):null})},applySkillSync:(e,{runId:t},i)=>(iC(i),u.applyRun(t))},Subscription:{skillsChanged:{subscribe:(e,t,i)=>(iC(i),u.subscribe()),resolve:()=>u.overview()},skillSyncRunChanged:{subscribe:(e,{runId:t},i)=>(iC(i),u.subscribeRun(t)),resolve:(e,{runId:t})=>u.getRun(t)}}},(c=this.services.buildsService,{CodebaseProject:{createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},BuildConfiguration:{advancedSettings:e=>iM(e.advancedSettingsJson,{}),observation:e=>e.source?.observations?.[0]??null,createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},BuildSourceObservation:{schemes:e=>iM(e.schemesJson,[]),configurations:e=>iM(e.configurationsJson,[]),testPlans:e=>iM(e.testPlansJson,[]),lastParseAttemptAt:e=>e.lastParseAttemptAt.toISOString(),lastParsedAt:e=>ix(e.lastParsedAt)},BuildScript:{createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},BuildArtifact:{metadata:e=>iM(e.metadataJson,{}),createdAt:e=>e.createdAt.toISOString()},BuildReport:{summary:e=>iM(e.summaryJson,{}),data:async e=>iM("string"==typeof e.dataJson?e.dataJson:await c.reportData(e.id),{}),testSummary:e=>"TEST_RESULTS"===e.kind&&"READY"===e.status?iM(e.summaryJson,{}):null,tests:async e=>{if("TEST_RESULTS"!==e.kind)return[];let t=iM("string"==typeof e.dataJson?e.dataJson:await c.reportData(e.id),{});return Array.isArray(t.tests)?t.tests:[]},coverageSummary:e=>"CODE_COVERAGE"===e.kind&&"READY"===e.status?iM(e.summaryJson,{}):null,coverageFiles:async e=>{if("CODE_COVERAGE"!==e.kind)return[];let t=iM("string"==typeof e.dataJson?e.dataJson:await c.reportData(e.id),{});return Array.isArray(t.files)?t.files:[]},changedCoverageFiles:async e=>{if("CODE_COVERAGE"!==e.kind)return[];let t=iM("string"==typeof e.dataJson?e.dataJson:await c.reportData(e.id),{});return Array.isArray(t.changedFiles)?t.changedFiles:[]},build:e=>e.build??c.getBuild(e.buildId),createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString(),finishedAt:e=>ix(e.finishedAt)},BuildDeployment:{destination:e=>iM(e.destinationJson,{}),createdAt:e=>e.createdAt.toISOString(),startedAt:e=>ix(e.startedAt),finishedAt:e=>ix(e.finishedAt)},BuildExport:{settings:e=>iM(e.settingsSnapshotJson,{}),createdAt:e=>e.createdAt.toISOString(),startedAt:e=>ix(e.startedAt),finishedAt:e=>ix(e.finishedAt)},Build:{reports:e=>e.reports??c.reportsForBuild(e.id),destination:e=>iM(e.destinationJson,{}),snapshot:e=>iM(e.snapshotJson,{}),createdAt:e=>e.createdAt.toISOString(),startedAt:e=>ix(e.startedAt),finishedAt:e=>ix(e.finishedAt),updatedAt:e=>e.updatedAt.toISOString(),durationMs:e=>e.startedAt&&e.finishedAt?Math.max(0,e.finishedAt.getTime()-e.startedAt.getTime()):null,outOfDate:iF.buildOutOfDate},BuildLogEvent:{createdAt:e=>e.createdAt instanceof Date?e.createdAt.toISOString():e.createdAt},Query:{iosAppProject:(e,{codebaseId:t},i)=>(ik(i),c.project(t)),buildScripts:(e,t,i)=>(ik(i),c.scripts()),builds:(e,t,i)=>(ik(i),c.builds(t)),build:(e,{id:t},i)=>(ik(i),c.getBuild(t)),buildLogs:(e,t,i)=>(ik(i),c.logs(t.buildId,t.after,t.first)),worktreeCoverageReports:(e,{worktreeId:t},i)=>(ik(i),c.coverageHistory(t))},Mutation:{createIosAppProject:(e,{codebaseId:t},i)=>(ik(i),c.createProject(t)),saveBuildConfiguration:(e,{input:t},i)=>(ik(i),c.saveConfiguration(t)),deleteBuildConfiguration:(e,{id:t},i)=>(ik(i),c.deleteConfiguration(t)),discoverBuildSources:(e,t,i)=>(ik(i),c.discoverSources(t.worktreeId,t.requestId)),inspectBuildSource:(e,{input:t},i)=>(ik(i),c.inspectSource(t)),reparseBuildConfiguration:(e,t,i)=>(ik(i),c.reparse(t.configurationId,t.worktreeId,t.requestId)),inspectBuildDestinations:(e,{input:t},i)=>(ik(i),c.destinations(t)),inspectBuildRunDestinations:(e,t,i)=>(ik(i),c.destinationsForBuild(t.buildId,t.requestId)),saveBuildScript:(e,{input:t},i)=>(ik(i),c.saveScript(t)),deleteBuildScript:(e,{id:t},i)=>(ik(i),c.deleteScript(t)),setCodebaseBuildScripts:(e,t,i)=>(ik(i),c.setAllowedScripts(t.codebaseId,t.scriptIds)),startBuild:(e,{input:t},i)=>(ik(i),c.startBuild(t)),rebuildBuild:(e,{id:t,requestId:i},n)=>(ik(n),c.rebuildBuild(t,i)),cancelBuild:(e,{id:t},i)=>(ik(i),c.cancelBuild(t)),deleteBuilds:(e,{ids:t},i)=>(ik(i),c.deleteBuilds(t)),runBuild:(e,{input:t},i)=>(ik(i),c.runBuild(t)),exportBuildArchive:(e,{input:t},i)=>(ik(i),c.exportArchive(t)),parseBuildTestResults:(e,t,i)=>(ik(i),c.generateReport(t.buildId,"TEST_RESULTS",t.requestId)),generateBuildCoverageReport:(e,t,i)=>(ik(i),c.generateReport(t.buildId,"CODE_COVERAGE",t.requestId)),startWorktreeCoverage:(e,{input:t},i)=>(ik(i),c.startWorktreeCoverage(t)),reportBuildProgress:(e,{input:t},i)=>c.reportProgress(iP(i),t),appendBuildLogEvents:(e,{buildId:t,events:i},n)=>c.appendLogs(iP(n),t,i)},Subscription:{buildsChanged:{subscribe:(e,t,i)=>(ik(i),is.agentEventBus.iterate(is.BUILDS_CHANGED_TOPIC))},buildChanged:{subscribe:(e,{id:t},i)=>(ik(i),is.agentEventBus.iterate((0,is.buildTopic)(t)))},buildLogAdded:{subscribe:(e,{buildId:t},i)=>(ik(i),is.agentEventBus.iterate((0,is.buildLogTopic)(t)))}}})]),(0,t3.buildSubgraphSchema)({typeDefs:iU,resolvers:d}));let p="true"===process.env.APOLLO_SANDBOX;this.server=new tX({schema:this.schema,introspection:p,plugins:p?[(0,t5.ApolloServerPluginLandingPageLocalDefault)({footer:!1})]:[(0,t5.ApolloServerPluginLandingPageProductionDefault)({footer:!1})]})}async createContext(e=new Headers){let t;if(await this.initializeServer(),!this.services)throw Error("GraphQL services not initialized");let i=function(e){if(e instanceof Headers)return e;let t=new Headers;for(let[i,n]of Object.entries(e))Array.isArray(n)?t.set(i,n.join(", ")):void 0!==n&&t.set(i,n);return t}(e),n=await this.services.agentControlService.authenticate((t=i.get("authorization"),!t?.startsWith("Bearer ")?null:t.slice(7).trim()||null));return{prismaService:this.services.prismaService,agentControlService:this.services.agentControlService,agentId:n,ipAddress:i.get("x-forwarded-for")?.split(",")[0]?.trim()||null}}async getSchema(){if(await this.initializeServer(),!this.schema)throw Error("GraphQL schema not properly initialized");return this.schema}async getServer(){if(await this.initializeServer(),!this.server)throw Error("GraphQL server not properly initialized");return this.server}};e.s(["SharedGraphQLServerService",0,ij],379993)}];
2779
+ }`];var ia=e.i(971619);e.i(805422);var is=e.i(661983),io=e.i(694355);function il(e){if(!e.agentId)throw Error("Agent authentication is required");return e.agentId}function iu(e){if(e.agentId)throw Error("Agent credentials cannot perform control-plane operations")}function ic(e,t){if(e.agentId&&e.agentId!==t)throw Error("An agent may only read its own resources")}async function id(e,t,i){let n=await t.getJob(i);return n&&ic(e,n.agentId),n}function ip(e){return null===e?null:JSON.parse(e)}let ih=new A.GraphQLScalarType({name:"JSON",description:"A JSON-serializable value.",serialize:e=>e,parseValue:e=>e,parseLiteral:e=>(function e(t){switch(t.kind){case N.Kind.NULL:return null;case N.Kind.STRING:case N.Kind.BOOLEAN:return t.value;case N.Kind.INT:case N.Kind.FLOAT:return Number(t.value);case N.Kind.LIST:return t.values.map(t=>e(t));case N.Kind.OBJECT:return Object.fromEntries(t.fields.map(t=>[t.name.value,e(t.value)]));default:throw Error("Unsupported JSON literal")}})(e)});var im=e.i(735255);let iy={ALL:null,LAST_7_DAYS:7,LAST_30_DAYS:30};function iv(e){if(e.agentId)throw Error("Agent credentials cannot perform control-plane operations")}function ig(e){if(e.agentId)throw Error("Agent credentials cannot perform control-plane operations")}function iT(e){if(e.agentId)throw Error("Agent credentials cannot perform control-plane operations")}e.i(107058);var iS=e.i(112627);function iE(e){if(e.agentId)throw Error("Agent credentials cannot perform control-plane operations")}function iI(e){return{actor:"control-plane",ipAddress:e.ipAddress}}var ib=e.i(184015);function iN(e){if(!e.agentId)throw Error("Agent authentication is required");return e.agentId}function i_(e){if(e.agentId)throw Error("Agent credentials cannot perform control-plane operations")}let iD=e=>e?.toISOString()??null;function iA(e){if(e.agentId)throw Error("Agent credentials cannot perform control-plane operations")}function iO(e){if(!e.agentId)throw Error("Agent authentication is required");return e.agentId}function iR(e){if(e.agentId)throw Error("Agent credentials cannot perform control-plane operations")}let iw=e=>e?.toISOString()??null;var iL=e.i(320058);function iC(e){if(e.agentId)throw Error("Agent credentials cannot perform control-plane operations")}var iF=e.i(984179);function ik(e){if(e.agentId)throw Error("Agent credentials cannot perform control-plane operations")}function iP(e){if(!e.agentId)throw Error("Agent authentication is required");return e.agentId}let ix=e=>e?.toISOString()??null,iM=(e,t)=>{try{return JSON.parse(e)}catch{return t}},iU=ir.map(e=>it(e));var i$=e.i(887394);let ij=new class{server=null;services=null;schema=null;initPromise=null;async initializeServer(){if(null===this.server)return this.initPromise||(this.initPromise=this.buildServer().finally(()=>{this.initPromise=null})),this.initPromise}async buildServer(){var e,t,i,n,r,a,s,o,l,u,c;let d;this.services=(0,i$.getServerServices)(),this.schema=(e=this.services.prismaService,t=this.services.agentControlService,i=this.services.jiraService,n=this.services.gitHubService,r=this.services.ccusageService,a=this.services.codebasesService,s=this.services.toolsService,o=this.services.worktreesService,l=this.services.buildDataService,u=this.services.skillsService,d=I([{Query:{health:async()=>await e.healthCheck()?"ok":"degraded"}},{JSON:ih,Agent:{capabilities:e=>ip(e.capabilitiesJson),connectionStatus:e=>null!==e.lastSeenAt&&Date.now()-e.lastSeenAt.getTime()<=io.AGENT_ONLINE_WINDOW_MS&&null===e.disconnectedAt?"ONLINE":"OFFLINE",effectiveBuildsDirectory:e=>(0,ia.effectiveBuildsDirectory)(e),lastSeenAt:e=>e.lastSeenAt?.toISOString()??null,disconnectedAt:e=>e.disconnectedAt?.toISOString()??null,createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},AgentJob:{payload:e=>ip(e.payloadJson),result:e=>ip(e.resultJson),createdAt:e=>e.createdAt.toISOString(),startedAt:e=>e.startedAt?.toISOString()??null,finishedAt:e=>e.finishedAt?.toISOString()??null,updatedAt:e=>e.updatedAt.toISOString()},AgentJobLog:{createdAt:e=>e.createdAt.toISOString()},AgentEnrollmentToken:{expiresAt:e=>e.expiresAt.toISOString()},Query:{agents:(e,i,n)=>(iu(n),t.listAgents()),agent:(e,{id:i},n)=>(ic(n,i),t.getAgent(i)),agentSelf:(e,i,n)=>{let r=il(n);return t.getAgent(r)},agentJobs:(e,{agentId:i,limit:n},r)=>(ic(r,i),t.listJobs(i,n,!!r.agentId)),agentJob:async(e,{id:i},n)=>id(n,t,i),agentJobLogs:async(e,{jobId:i,afterSequence:n},r)=>(await id(r,t,i),t.listLogs(i,n))},Mutation:{createAgentEnrollmentToken:(e,{expiresInMinutes:i},n)=>(iu(n),t.createEnrollmentToken(i)),enrollAgent:(e,{input:i},n)=>t.enroll({...i,ipAddress:n.ipAddress}),heartbeatAgent:(e,{input:i},n)=>t.heartbeat(il(n),{...i,ipAddress:n.ipAddress}),createAgentJob:(e,{input:i},n)=>(iu(n),t.createJob(i)),claimAgentJob:(e,{jobId:i},n)=>t.claimJob(il(n),i),appendAgentJobLogs:(e,{jobId:i,logs:n},r)=>t.appendLogs(il(r),i,n),completeAgentJob:(e,i,n)=>t.completeJob(il(n),i.jobId,i.status,i.result,i.error??null),cancelAgentJob:(e,{jobId:i},n)=>(iu(n),t.cancelJob(i)),requestAgentCodebaseReconcile:async(e,{agentId:i},n)=>(iu(n),await t.requestCodebaseReconcile([i])===1),updateAgentBaseRepoDirectory:(e,{agentId:i,baseRepoDirectory:n},r)=>(iu(r),t.updateBaseRepoDirectory(i,n??null)),updateAgentBuildsDirectory:(e,{agentId:i,buildsDirectory:n},r)=>(iu(r),t.updateBuildsDirectory(i,n??null)),updateAgentDerivedDataSettings:(e,{agentId:i,input:n},r)=>(iu(r),t.updateDerivedDataSettings(i,n.mode,n.path??null)),deleteAgent:(e,{agentId:i},n)=>(iu(n),t.deleteAgent(i))},Subscription:{agentEvents:{subscribe:(e,{agentId:t},i)=>{if(il(i)!==t)throw Error("An agent may only subscribe to its own events");return is.agentEventBus.iterate((0,is.agentEventsTopic)(t))}},agentChanged:{subscribe:(e,{agentId:t},i)=>(t?ic(i,t):iu(i),is.agentEventBus.iterate(is.AGENT_CHANGED_TOPIC,t?e=>e.agentChanged.id===t:void 0))},agentJobChanged:{subscribe:async(e,{jobId:i},n)=>(await id(n,t,i),is.agentEventBus.iterate((0,is.agentJobChangedTopic)(i)))},agentJobLogAdded:{subscribe:async(e,{jobId:i},n)=>(await id(n,t,i),is.agentEventBus.iterate((0,is.agentJobLogTopic)(i)))}}},{Query:{jiraSettings:(e,t,n)=>(iT(n),i.getSettings()),jiraAvailableProjects:(e,t,n)=>(iT(n),i.availableProjects()),jiraProjects:(e,t,n)=>(iT(n),i.listProjects()),jiraProjectStatuses:(e,{projectId:t},n)=>(iT(n),i.projectStatuses(t)),jiraTicketBoard:(e,{sourceId:t},n)=>(iT(n),i.ticketBoard(t)),jiraTicket:(e,{issueKey:t},n)=>(iT(n),i.ticket(t)),jiraAssignableUsers:(e,{issueKey:t,query:n},r)=>(iT(r),i.assignableUsers(t,n)),jiraTicketTransitions:(e,{issueKey:t},n)=>(iT(n),i.ticketTransitions(t)),jiraTicketEditFields:(e,{issueKey:t},n)=>(iT(n),i.ticketEditFields(t)),jiraTicketChanges:(e,{issueKey:t,limit:n,offset:r},a)=>(iT(a),i.ticketChanges(t,n,r)),jiraTicketWorklogs:(e,{issueKey:t,limit:n,offset:r},a)=>(iT(a),i.ticketWorklogs(t,n,r)),jiraCacheMetrics:(e,t,n)=>(iT(n),i.cacheMetrics()),jiraApiCalls:(e,{limit:t,offset:n},r)=>(iT(r),i.listApiCalls(t,n)),jiraCachedTickets:(e,{limit:t,offset:n},r)=>(iT(r),i.listCachedTickets(t,n)),jiraCachedTicket:(e,{issueKey:t},n)=>(iT(n),i.cachedTicket(t))},Mutation:{saveJiraSettings:(e,{input:t},n)=>(iT(n),i.saveSettings(t)),testJiraConnection:(e,t,n)=>(iT(n),i.testConnection()),clearJiraCredentials:(e,t,n)=>(iT(n),i.clearCredentials()),addJiraProject:(e,{jiraId:t},n)=>(iT(n),i.addProject(t)),removeJiraProject:(e,{projectId:t},n)=>(iT(n),i.removeProject(t)),createJiraSource:(e,{input:t},n)=>(iT(n),i.createSource(t)),updateJiraSource:(e,{input:t},n)=>(iT(n),i.updateSource(t)),deleteJiraSource:(e,{id:t},n)=>(iT(n),i.deleteSource(t)),updateJiraProjectDisplaySettings:(e,{input:t},n)=>(iT(n),i.updateProjectDisplaySettings(t)),updateJiraProjectBranchNaming:(e,{projectId:t,branchNamingScript:n},r)=>(iT(r),i.updateProjectBranchNaming(t,n)),refreshJiraSource:(e,{sourceId:t},n)=>(iT(n),i.ticketBoard(t,!0)),updateJiraCacheTtl:(e,{ttlMinutes:t},n)=>(iT(n),i.updateCacheTtl(t)),clearJiraCache:(e,t,n)=>(iT(n),i.clearCache()),refreshJiraCachedTicket:(e,{issueKey:t},n)=>(iT(n),i.refreshCachedTicket(t)),deleteJiraCachedTicket:(e,{issueKey:t},n)=>(iT(n),i.deleteCachedTicket(t)),addJiraComment:(e,{issueKey:t,content:n},r)=>(iT(r),i.addComment(t,n)),assignJiraTicket:(e,{issueKey:t,accountId:n},r)=>(iT(r),i.assignTicket(t,n??null)),transitionJiraTicket:(e,{issueKey:t,transitionId:n},r)=>(iT(r),i.transitionTicket(t,n)),updateJiraTicket:(e,{input:t},n)=>(iT(n),i.updateTicket(t))}},{Query:{githubSettings:(e,t,i)=>(iE(i),n.getSettings()),githubAppSettings:(e,t,i)=>(iE(i),n.getAppSettings()),githubRepositories:(e,t,i)=>(iE(i),n.listRepositories()),githubAvailableRepositories:(e,{after:t},i)=>(iE(i),n.availableRepositories(t)),githubActionsWorkflowRuns:(e,{codebaseRepositoryId:t,first:i,after:r},a)=>(iE(a),n.actionsWorkflowRuns(t,i??25,r)),githubActionsWorkflowJobs:(e,{codebaseRepositoryId:t,workflowRunId:i},r)=>(iE(r),n.actionsWorkflowJobs(t,i)),githubPullRequests:(e,{scope:t,repositoryId:i,state:r,first:a,after:s},o,l)=>(iE(o),n.pullRequests(t,i,{includePipelineJobs:!!l?.fieldNodes.some(e=>!!e.selectionSet&&function e(t,i,n,r=new Set){for(let a of t.selections)if("Field"===a.kind){if(a.name.value===i||a.selectionSet&&e(a.selectionSet,i,n,r))return!0}else if("InlineFragment"===a.kind){if(e(a.selectionSet,i,n,r))return!0}else if(!r.has(a.name.value)){r.add(a.name.value);let t=n.fragments[a.name.value];if(t&&e(t.selectionSet,i,n,r))return!0}return!1}(e.selectionSet,"jobs",l)),state:r??"OPEN",first:a??25,after:s})),githubPullRequest:(e,{owner:t,name:i,number:r},a)=>(iE(a),n.pullRequest(t,i,r)),githubPullRequestMergeOptions:(e,{owner:t,name:i,number:r},a)=>(iE(a),n.pullRequestMergeOptions(t,i,r)),githubReviewThreads:(e,t,i)=>(iE(i),n.reviewThreads())},Mutation:{saveGitHubSettings:(e,{input:t},i)=>(iE(i),n.saveSettings(t)),saveGitHubAppSettings:(e,{input:t},i)=>(iE(i),n.saveAppSettings(t,iI(i))),testGitHubConnection:(e,t,i)=>(iE(i),n.testConnection()),testGitHubAppConnection:(e,t,i)=>(iE(i),n.testAppConnection(iI(i))),clearGitHubCredentials:(e,t,i)=>(iE(i),n.clearCredentials()),clearGitHubAppCredentials:(e,t,i)=>(iE(i),n.clearAppCredentials(iI(i))),addGitHubRepository:(e,{input:t},i)=>(iE(i),n.addRepository(t)),updateGitHubRepository:(e,{input:t},i)=>(iE(i),n.updateRepository(t)),removeGitHubRepository:(e,{id:t},i)=>(iE(i),n.removeRepository(t)),mergeGitHubPullRequest:async(e,{input:t},i)=>{iE(i);let r=await n.mergePullRequest(t),{owner:a,name:s}=(0,iS.normalizeGitHubRepositoryName)(`${t.owner}/${t.name}`);return o.invalidatePullRequestsForOrigin(`github.com/${a}/${s}`),r},retryGitHubPipeline:(e,{repositoryId:t,checkSuiteId:i},r)=>(iE(r),n.retryPipeline(t,i,iI(r))),retryGitHubWorkflowJob:(e,{repositoryId:t,checkSuiteId:i,jobId:r},a)=>(iE(a),n.retryWorkflowJob(t,i,r,iI(a))),replyToGitHubReviewThread:(e,{threadId:t,body:i},r)=>(iE(r),n.replyToReviewThread(t,i)),setGitHubReviewThreadResolved:(e,{threadId:t,resolved:i},r)=>(iE(r),n.setReviewThreadResolved(t,i))}},{CcusageCollection:{aggregate:(e,{range:t="ALL"})=>(0,im.filterUsageByDays)(e.aggregate,iy[t])},CcusageModelUsage:{unattributed:e=>e.unattributed??!1},Query:{ccusageCollection:async(e,{id:t},i)=>(iv(i),await r.initialize(),r.getCollection(t))},Mutation:{collectCcusage:async(e,{requestId:t},i)=>(iv(i),await r.initialize(),r.collect(t))},Subscription:{ccusageCollectionChanged:{subscribe:async(e,{id:t},i)=>(iv(i),await r.initialize(),r.subscribe(t)),resolve:e=>e}}},{DerivedDataDeletionHistory:{deletedAt:e=>e.deletedAt.toISOString()},Query:{derivedDataCollection:(e,{id:t},i)=>(ig(i),l.getCollection(t)),derivedDataDeletionHistory:(e,{first:t,after:i},n)=>(ig(n),l.history(t,i))},Mutation:{refreshDerivedData:(e,{requestId:t},i)=>(ig(i),l.refresh(t)),calculateDerivedDataSizes:(e,{collectionId:t,entryIds:i,requestId:n},r)=>(ig(r),l.calculateSizes(t,i,n)),deleteDerivedDataEntries:(e,{collectionId:t,entryIds:i,requestId:n},r)=>(ig(r),l.deleteEntries(t,i,n)),clearDerivedDataDeletionHistory:(e,t,i)=>(ig(i),l.clearHistory())},Subscription:{derivedDataCollectionChanged:{subscribe:(e,{id:t},i)=>(ig(i),l.subscribe(t)),resolve:e=>e}}},{CodebaseOverview:{repositories:e=>Array.isArray(e)?e:e.repositories??[]},CodebaseRepository:{createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},CodebaseSettings:{updatedAt:e=>e.updatedAt.toISOString()},Codebase:{lastCheckedAt:e=>iD(e.lastCheckedAt),lastFetchedAt:e=>iD(e.lastFetchedAt),lastFetchAttemptAt:e=>iD(e.lastFetchAttemptAt),localBranches:e=>{try{let t=JSON.parse(e.localBranchesJson);return Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}catch{return[]}},remoteBranches:e=>{try{let t=JSON.parse(e.remoteBranchesJson);return Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}catch{return[]}},createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString(),activeJob:e=>e.jobs?.[0]??null},AgentCodebaseRegistration:{canonicalOrigin:e=>e.repository.canonicalOrigin,keepBaseBranchUpToDate:e=>e.repository.keepBaseBranchUpToDate,worktrees:e=>e.worktrees??[],lastFetchedAt:e=>iD(e.lastFetchedAt),lastFetchAttemptAt:e=>iD(e.lastFetchAttemptAt)},Query:{codebaseOverview:async(e,t,i)=>(i_(i),a.overview()),codebaseRepository:(e,{id:t},i)=>(i_(i),a.repositoryDetail(t)),codebase:(e,{id:t},i)=>(i_(i),a.detail(t)),codebaseSettings:(e,t,i)=>(i_(i),a.settings()),agentCodebases:(e,t,i)=>a.agentCodebases(iN(i)),agentCodebaseConfiguration:(e,t,i)=>a.agentConfiguration(iN(i))},Mutation:{browseAgentDirectory:(e,{input:t},i)=>(i_(i),a.browse(t.agentId,t.path??null,t.requestId)),inspectAgentCodebase:(e,{input:t},i)=>(i_(i),a.inspect(t.agentId,t.folder,t.requestId)),confirmCodebase:(e,{input:t},i)=>(i_(i),a.confirm(t)),updateCodebaseRepository:(e,{input:t},i)=>(i_(i),a.updateRepository(t.id,t.name,t.description,t.jiraBranchRegex,t.keepBaseBranchUpToDate,t.skillGroupIds)),updateCodebaseSettings:(e,{input:t},i)=>(i_(i),a.updateSettings(t)),removeCodebase:(e,{id:t},i)=>(i_(i),a.removeCodebase(t)),refreshCodebases:(e,{input:t},i)=>(i_(i),a.runOperation(ib.CODEBASE_REFRESH_JOB_KIND,t.codebaseIds,t.requestId)),fetchCodebases:(e,{input:t},i)=>(i_(i),a.runOperation(ib.CODEBASE_FETCH_JOB_KIND,t.codebaseIds,t.requestId)),inspectCodebaseGitState:(e,{input:t},i)=>(i_(i),a.inspectGitState(t.codebaseId,t.requestId)),inspectCodebaseStash:(e,{input:t},i)=>(i_(i),a.inspectStash(t.codebaseId,t.stashOid,t.requestId)),runCodebaseGitOperation:(e,{input:t},i)=>(i_(i),a.runGitOperation(t)),reportCodebaseStatuses:(e,{reports:t},i)=>a.report(iN(i),t)},Subscription:{codebaseOverviewChanged:{subscribe:(e,t,i)=>(i_(i),a.subscribe())}}},{Query:{externalMcpServers:(e,t,i)=>(iA(i),s.externalServers())},Mutation:{createExternalMcpServer:(e,{input:t},i)=>(iA(i),s.createExternalServer(t)),updateExternalMcpServer:(e,{id:t,input:i},n)=>(iA(n),s.updateExternalServer(t,i)),deleteExternalMcpServer:(e,{id:t},i)=>(iA(i),s.deleteExternalServer(t))}},{WorktreeLatestBuild:{destination:e=>JSON.parse(e.destinationJson),createdAt:e=>e.createdAt.toISOString()},Worktree:{lastCheckedAt:e=>iw(e.lastCheckedAt),missingAt:e=>iw(e.missingAt),createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},WorktreeTag:{createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},WorktreeSettings:{updatedAt:e=>e.updatedAt.toISOString()},WorktreeMove:{createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString(),finishedAt:e=>iw(e.finishedAt)},Query:{worktreeOverview:(e,t,i)=>(iR(i),o.overview()),hiddenWorktrees:(e,t,i)=>(iR(i),o.hidden()),worktreeSettings:(e,t,i)=>(iR(i),o.settings()),previewWorktreeTicketBranch:(e,{input:t},i)=>(iR(i),o.previewTicketBranch(t)),worktreeMove:(e,{id:t},i)=>(iR(i),o.getMove(t))},Mutation:{refreshWorktrees:(e,t,i)=>(iR(i),o.requestRefresh()),reportWorktrees:(e,{reports:t},i)=>o.report(iO(i),t),reportWorktreeActivity:(e,{input:t},i)=>o.reportActivity(iO(i),t),inspectWorktree:(e,{id:t,requestId:i},n)=>(iR(n),o.inspect(t,i)),inspectWorktreeDiff:(e,{input:t},i)=>(iR(i),o.inspectDiff(t.worktreeId,{scope:t.scope,path:t.path,previousPath:t.previousPath,commitSha:t.commitSha},t.requestId)),runWorktreeOperation:(e,{input:t},i)=>(iR(i),o.runOperation(t.worktreeId,t.operation,t.requestId)),createWorktree:(e,{input:t},i)=>(iR(i),o.createWorktree(t)),changeWorktreeBranch:(e,{input:t},i)=>(iR(i),o.changeWorktreeBranch(t)),moveWorktree:(e,{input:t},i)=>(iR(i),o.moveWorktree(t)),retryWorktreeMoveWithStash:(e,{id:t},i)=>(iR(i),o.retryWorktreeMoveWithStash(t)),cancelWorktreeMove:(e,{id:t},i)=>(iR(i),o.cancelWorktreeMove(t)),deleteWorktree:(e,{input:t},i)=>(iR(i),o.deleteWorktree(t)),updateWorktreeBaseBranch:(e,{id:t,baseBranch:i},n)=>(iR(n),o.updateBaseBranch(t,i??null)),updateWorktreeHighlight:(e,{id:t,color:i},n)=>(iR(n),o.updateHighlight(t,i??null)),setWorktreeTags:(e,{id:t,tagIds:i},n)=>(iR(n),o.setTags(t,i)),saveWorktreeTag:(e,{input:t},i)=>(iR(i),o.saveTag(t)),deleteWorktreeTag:(e,{id:t},i)=>(iR(i),o.deleteTag(t)),saveWorktreeSettings:(e,{editorVariant:t},i)=>(iR(i),o.saveSettings(t)),purgeHiddenWorktree:(e,{id:t},i)=>(iR(i),o.purge(t)),purgeAllHiddenWorktrees:(e,t,i)=>(iR(i),o.purgeAll())},Subscription:{worktreeOverviewChanged:{subscribe:(e,t,i)=>(iR(i),o.subscribe())},worktreeInspectionChanged:{subscribe:(e,{worktreeId:t},i)=>(iR(i),o.subscribeInspection(t))}}},{CodebaseRepository:{skillGroups:e=>u.groupsForRepository(e.id)},Skill:{groups:e=>e.groups?.map(e=>e.group)??[],createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},SkillFile:{contentsBase64:e=>Buffer.from(e.contents).toString("base64"),createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},SkillGroup:{skills:e=>e.skills?.map(e=>e.skill)??[],repositories:e=>e.repositories?.map(e=>e.repository)??[],createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},SkillSettings:{updatedAt:e=>e.updatedAt.toISOString()},SkillToolObservation:{checkedAt:e=>e.checkedAt.toISOString()},SkillInstallation:{consumers:e=>{try{return JSON.parse(e.consumersJson)}catch{return[]}},lastSeenAt:e=>e.lastSeenAt.toISOString()},SkillSyncItem:{candidatePackage:e=>{try{return e.candidatePackageJson?JSON.parse(e.candidatePackageJson):null}catch{return null}},createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},SkillSyncRun:{createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString(),finishedAt:e=>{let t;return t=e.finishedAt,t?.toISOString()??null}},Query:{skillsOverview:(e,{search:t},i)=>(iC(i),u.overview(t??"")),skill:(e,{id:t},i)=>(iC(i),u.getSkill(t)),skillSyncRun:(e,{id:t},i)=>(iC(i),u.getRun(t))},Mutation:{saveSkill:(e,{input:t},i)=>(iC(i),u.saveSkill(t)),deleteSkill:(e,{id:t},i)=>(iC(i),u.deleteSkill(t)),saveSkillGroup:(e,{input:t},i)=>(iC(i),u.saveGroup(t)),deleteSkillGroup:(e,{id:t},i)=>(iC(i),u.deleteGroup(t)),saveSkillSettings:(e,{input:t},i)=>(iC(i),u.saveSettings(t)),prepareSkillSync:(e,{kind:t,groupId:i},n)=>(iC(n),u.prepareSync(t,i??null)),skipPendingSkillSync:(e,{runId:t},i)=>(iC(i),u.skipPending(t)),resolveSkillSyncItem:(e,{input:t},i)=>{var n;return iC(i),u.resolveItem({...t,package:t.package?(n=t.package,(0,iL.parseSkillPackage)({...n,packageHash:n.packageHash||(0,iL.hashSkillFiles)(n.files)})):null})},applySkillSync:(e,{runId:t},i)=>(iC(i),u.applyRun(t))},Subscription:{skillsChanged:{subscribe:(e,t,i)=>(iC(i),u.subscribe()),resolve:()=>u.overview()},skillSyncRunChanged:{subscribe:(e,{runId:t},i)=>(iC(i),u.subscribeRun(t)),resolve:(e,{runId:t})=>u.getRun(t)}}},(c=this.services.buildsService,{CodebaseProject:{createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},BuildConfiguration:{advancedSettings:e=>iM(e.advancedSettingsJson,{}),observation:e=>e.source?.observations?.[0]??null,createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},BuildSourceObservation:{schemes:e=>iM(e.schemesJson,[]),configurations:e=>iM(e.configurationsJson,[]),testPlans:e=>iM(e.testPlansJson,[]),lastParseAttemptAt:e=>e.lastParseAttemptAt.toISOString(),lastParsedAt:e=>ix(e.lastParsedAt)},BuildScript:{createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString()},BuildArtifact:{metadata:e=>iM(e.metadataJson,{}),createdAt:e=>e.createdAt.toISOString()},BuildReport:{summary:e=>iM(e.summaryJson,{}),data:async e=>iM("string"==typeof e.dataJson?e.dataJson:await c.reportData(e.id),{}),testSummary:e=>"TEST_RESULTS"===e.kind&&"READY"===e.status?iM(e.summaryJson,{}):null,tests:async e=>{if("TEST_RESULTS"!==e.kind)return[];let t=iM("string"==typeof e.dataJson?e.dataJson:await c.reportData(e.id),{});return Array.isArray(t.tests)?t.tests:[]},coverageSummary:e=>"CODE_COVERAGE"===e.kind&&"READY"===e.status?iM(e.summaryJson,{}):null,coverageFiles:async e=>{if("CODE_COVERAGE"!==e.kind)return[];let t=iM("string"==typeof e.dataJson?e.dataJson:await c.reportData(e.id),{});return Array.isArray(t.files)?t.files:[]},changedCoverageFiles:async e=>{if("CODE_COVERAGE"!==e.kind)return[];let t=iM("string"==typeof e.dataJson?e.dataJson:await c.reportData(e.id),{});return Array.isArray(t.changedFiles)?t.changedFiles:[]},build:e=>e.build??c.getBuild(e.buildId),createdAt:e=>e.createdAt.toISOString(),updatedAt:e=>e.updatedAt.toISOString(),finishedAt:e=>ix(e.finishedAt)},BuildDeployment:{destination:e=>iM(e.destinationJson,{}),createdAt:e=>e.createdAt.toISOString(),startedAt:e=>ix(e.startedAt),finishedAt:e=>ix(e.finishedAt)},BuildExport:{settings:e=>iM(e.settingsSnapshotJson,{}),createdAt:e=>e.createdAt.toISOString(),startedAt:e=>ix(e.startedAt),finishedAt:e=>ix(e.finishedAt)},Build:{reports:e=>e.reports??c.reportsForBuild(e.id),destination:e=>iM(e.destinationJson,{}),snapshot:e=>iM(e.snapshotJson,{}),createdAt:e=>e.createdAt.toISOString(),startedAt:e=>ix(e.startedAt),finishedAt:e=>ix(e.finishedAt),updatedAt:e=>e.updatedAt.toISOString(),durationMs:e=>e.startedAt&&e.finishedAt?Math.max(0,e.finishedAt.getTime()-e.startedAt.getTime()):null,outOfDate:iF.buildOutOfDate},BuildLogEvent:{createdAt:e=>e.createdAt instanceof Date?e.createdAt.toISOString():e.createdAt},Query:{iosAppProject:(e,{codebaseId:t},i)=>(ik(i),c.project(t)),buildSigningOptions:(e,{buildId:t},i)=>(ik(i),c.signingOptionsForBuild(t)),buildScripts:(e,t,i)=>(ik(i),c.scripts()),builds:(e,t,i)=>(ik(i),c.builds(t)),build:(e,{id:t},i)=>(ik(i),c.getBuild(t)),buildLogs:(e,t,i)=>(ik(i),c.logs(t.buildId,t.after,t.first)),worktreeCoverageReports:(e,{worktreeId:t},i)=>(ik(i),c.coverageHistory(t))},Mutation:{createIosAppProject:(e,{codebaseId:t},i)=>(ik(i),c.createProject(t)),saveBuildConfiguration:(e,{input:t},i)=>(ik(i),c.saveConfiguration(t)),deleteBuildConfiguration:(e,{id:t},i)=>(ik(i),c.deleteConfiguration(t)),discoverBuildSources:(e,t,i)=>(ik(i),c.discoverSources(t.worktreeId,t.requestId)),inspectBuildSource:(e,{input:t},i)=>(ik(i),c.inspectSource(t)),reparseBuildConfiguration:(e,t,i)=>(ik(i),c.reparse(t.configurationId,t.worktreeId,t.requestId)),inspectBuildDestinations:(e,{input:t},i)=>(ik(i),c.destinations(t)),inspectBuildRunDestinations:(e,t,i)=>(ik(i),c.destinationsForBuild(t.buildId,t.requestId)),saveBuildScript:(e,{input:t},i)=>(ik(i),c.saveScript(t)),deleteBuildScript:(e,{id:t},i)=>(ik(i),c.deleteScript(t)),setCodebaseBuildScripts:(e,t,i)=>(ik(i),c.setAllowedScripts(t.codebaseId,t.scriptIds)),startBuild:(e,{input:t},i)=>(ik(i),c.startBuild(t)),rebuildBuild:(e,{id:t,requestId:i},n)=>(ik(n),c.rebuildBuild(t,i)),cancelBuild:(e,{id:t},i)=>(ik(i),c.cancelBuild(t)),deleteBuilds:(e,{ids:t},i)=>(ik(i),c.deleteBuilds(t)),runBuild:(e,{input:t},i)=>(ik(i),c.runBuild(t)),exportBuildArchive:(e,{input:t},i)=>(ik(i),c.exportArchive(t)),parseBuildTestResults:(e,t,i)=>(ik(i),c.generateReport(t.buildId,"TEST_RESULTS",t.requestId)),generateBuildCoverageReport:(e,t,i)=>(ik(i),c.generateReport(t.buildId,"CODE_COVERAGE",t.requestId)),startWorktreeCoverage:(e,{input:t},i)=>(ik(i),c.startWorktreeCoverage(t)),reportBuildProgress:(e,{input:t},i)=>c.reportProgress(iP(i),t),appendBuildLogEvents:(e,{buildId:t,events:i},n)=>c.appendLogs(iP(n),t,i)},Subscription:{buildsChanged:{subscribe:(e,t,i)=>(ik(i),is.agentEventBus.iterate(is.BUILDS_CHANGED_TOPIC))},buildChanged:{subscribe:(e,{id:t},i)=>(ik(i),is.agentEventBus.iterate((0,is.buildTopic)(t)))},buildLogAdded:{subscribe:(e,{buildId:t},i)=>(ik(i),is.agentEventBus.iterate((0,is.buildLogTopic)(t)))}}})]),(0,t3.buildSubgraphSchema)({typeDefs:iU,resolvers:d}));let p="true"===process.env.APOLLO_SANDBOX;this.server=new tX({schema:this.schema,introspection:p,plugins:p?[(0,t5.ApolloServerPluginLandingPageLocalDefault)({footer:!1})]:[(0,t5.ApolloServerPluginLandingPageProductionDefault)({footer:!1})]})}async createContext(e=new Headers){let t;if(await this.initializeServer(),!this.services)throw Error("GraphQL services not initialized");let i=function(e){if(e instanceof Headers)return e;let t=new Headers;for(let[i,n]of Object.entries(e))Array.isArray(n)?t.set(i,n.join(", ")):void 0!==n&&t.set(i,n);return t}(e),n=await this.services.agentControlService.authenticate((t=i.get("authorization"),!t?.startsWith("Bearer ")?null:t.slice(7).trim()||null));return{prismaService:this.services.prismaService,agentControlService:this.services.agentControlService,agentId:n,ipAddress:i.get("x-forwarded-for")?.split(",")[0]?.trim()||null}}async getSchema(){if(await this.initializeServer(),!this.schema)throw Error("GraphQL schema not properly initialized");return this.schema}async getServer(){if(await this.initializeServer(),!this.server)throw Error("GraphQL server not properly initialized");return this.server}};e.s(["SharedGraphQLServerService",0,ij],379993)}];
2730
2780
 
2731
2781
  //# sourceMappingURL=_0w2eghf._.js.map