happy2 0.0.14 → 0.0.15

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 (123) hide show
  1. package/package.json +1 -1
  2. package/packages/happy2-server/PLUGINS.md +11 -5
  3. package/packages/happy2-server/dist/modules/agent/agentChatGetContext.d.ts.map +1 -1
  4. package/packages/happy2-server/dist/modules/agent/agentChatGetContext.js +1 -1
  5. package/packages/happy2-server/dist/modules/agent/agentChatGetContext.js.map +1 -1
  6. package/packages/happy2-server/dist/modules/agent/agentConversationCreate.d.ts.map +1 -1
  7. package/packages/happy2-server/dist/modules/agent/agentConversationCreate.js +1 -1
  8. package/packages/happy2-server/dist/modules/agent/agentConversationCreate.js.map +1 -1
  9. package/packages/happy2-server/dist/modules/agent/agentCreate.d.ts.map +1 -1
  10. package/packages/happy2-server/dist/modules/agent/agentCreate.js +2 -2
  11. package/packages/happy2-server/dist/modules/agent/agentCreate.js.map +1 -1
  12. package/packages/happy2-server/dist/modules/agent/agentDefaultCreate.d.ts.map +1 -1
  13. package/packages/happy2-server/dist/modules/agent/agentDefaultCreate.js +1 -1
  14. package/packages/happy2-server/dist/modules/agent/agentDefaultCreate.js.map +1 -1
  15. package/packages/happy2-server/dist/modules/agent/agentImageCommitChange.js +1 -1
  16. package/packages/happy2-server/dist/modules/agent/agentImageCommitChange.js.map +1 -1
  17. package/packages/happy2-server/dist/modules/agent/agentImageCreate.d.ts +4 -3
  18. package/packages/happy2-server/dist/modules/agent/agentImageCreate.d.ts.map +1 -1
  19. package/packages/happy2-server/dist/modules/agent/agentImageCreate.js +73 -23
  20. package/packages/happy2-server/dist/modules/agent/agentImageCreate.js.map +1 -1
  21. package/packages/happy2-server/dist/modules/agent/agentImageDeactivate.d.ts +15 -0
  22. package/packages/happy2-server/dist/modules/agent/agentImageDeactivate.d.ts.map +1 -0
  23. package/packages/happy2-server/dist/modules/agent/agentImageDeactivate.js +92 -0
  24. package/packages/happy2-server/dist/modules/agent/agentImageDeactivate.js.map +1 -0
  25. package/packages/happy2-server/dist/modules/agent/agentImageDockerfileGetForHost.d.ts +12 -0
  26. package/packages/happy2-server/dist/modules/agent/agentImageDockerfileGetForHost.d.ts.map +1 -0
  27. package/packages/happy2-server/dist/modules/agent/agentImageDockerfileGetForHost.js +28 -0
  28. package/packages/happy2-server/dist/modules/agent/agentImageDockerfileGetForHost.js.map +1 -0
  29. package/packages/happy2-server/dist/modules/agent/agentImageFindDefinition.d.ts.map +1 -1
  30. package/packages/happy2-server/dist/modules/agent/agentImageFindDefinition.js +2 -2
  31. package/packages/happy2-server/dist/modules/agent/agentImageFindDefinition.js.map +1 -1
  32. package/packages/happy2-server/dist/modules/agent/agentImageGet.js +2 -2
  33. package/packages/happy2-server/dist/modules/agent/agentImageGet.js.map +1 -1
  34. package/packages/happy2-server/dist/modules/agent/agentImageGetChangeContext.js +1 -1
  35. package/packages/happy2-server/dist/modules/agent/agentImageGetChangeContext.js.map +1 -1
  36. package/packages/happy2-server/dist/modules/agent/agentImageGetReadyDefault.d.ts.map +1 -1
  37. package/packages/happy2-server/dist/modules/agent/agentImageGetReadyDefault.js +2 -2
  38. package/packages/happy2-server/dist/modules/agent/agentImageGetReadyDefault.js.map +1 -1
  39. package/packages/happy2-server/dist/modules/agent/agentImageList.d.ts.map +1 -1
  40. package/packages/happy2-server/dist/modules/agent/agentImageList.js +2 -1
  41. package/packages/happy2-server/dist/modules/agent/agentImageList.js.map +1 -1
  42. package/packages/happy2-server/dist/modules/agent/agentImageListForHost.d.ts +17 -0
  43. package/packages/happy2-server/dist/modules/agent/agentImageListForHost.d.ts.map +1 -0
  44. package/packages/happy2-server/dist/modules/agent/agentImageListForHost.js +38 -0
  45. package/packages/happy2-server/dist/modules/agent/agentImageListForHost.js.map +1 -0
  46. package/packages/happy2-server/dist/modules/agent/agentImageListRequestedBuildIds.d.ts.map +1 -1
  47. package/packages/happy2-server/dist/modules/agent/agentImageListRequestedBuildIds.js +2 -2
  48. package/packages/happy2-server/dist/modules/agent/agentImageListRequestedBuildIds.js.map +1 -1
  49. package/packages/happy2-server/dist/modules/agent/agentImageRequestBuild.js +3 -3
  50. package/packages/happy2-server/dist/modules/agent/agentImageRequestBuild.js.map +1 -1
  51. package/packages/happy2-server/dist/modules/agent/agentImageSetDefault.d.ts +4 -3
  52. package/packages/happy2-server/dist/modules/agent/agentImageSetDefault.d.ts.map +1 -1
  53. package/packages/happy2-server/dist/modules/agent/agentImageSetDefault.js +10 -6
  54. package/packages/happy2-server/dist/modules/agent/agentImageSetDefault.js.map +1 -1
  55. package/packages/happy2-server/dist/modules/agent/agentImageTakeBuild.js +2 -2
  56. package/packages/happy2-server/dist/modules/agent/agentImageTakeBuild.js.map +1 -1
  57. package/packages/happy2-server/dist/modules/agents/service.d.ts +21 -2
  58. package/packages/happy2-server/dist/modules/agents/service.d.ts.map +1 -1
  59. package/packages/happy2-server/dist/modules/agents/service.js +14 -0
  60. package/packages/happy2-server/dist/modules/agents/service.js.map +1 -1
  61. package/packages/happy2-server/dist/modules/draft/draftList.d.ts +8 -0
  62. package/packages/happy2-server/dist/modules/draft/draftList.d.ts.map +1 -0
  63. package/packages/happy2-server/dist/modules/draft/draftList.js +27 -0
  64. package/packages/happy2-server/dist/modules/draft/draftList.js.map +1 -0
  65. package/packages/happy2-server/dist/modules/draft/draftUpdate.d.ts +16 -0
  66. package/packages/happy2-server/dist/modules/draft/draftUpdate.d.ts.map +1 -0
  67. package/packages/happy2-server/dist/modules/draft/draftUpdate.js +64 -0
  68. package/packages/happy2-server/dist/modules/draft/draftUpdate.js.map +1 -0
  69. package/packages/happy2-server/dist/modules/draft/types.d.ts +7 -0
  70. package/packages/happy2-server/dist/modules/draft/types.d.ts.map +1 -0
  71. package/packages/happy2-server/dist/modules/draft/types.js +2 -0
  72. package/packages/happy2-server/dist/modules/draft/types.js.map +1 -0
  73. package/packages/happy2-server/dist/modules/plugin/environmentManagementServer.test.d.ts +2 -0
  74. package/packages/happy2-server/dist/modules/plugin/environmentManagementServer.test.d.ts.map +1 -0
  75. package/packages/happy2-server/dist/modules/plugin/environmentManagementServer.test.js +183 -0
  76. package/packages/happy2-server/dist/modules/plugin/environmentManagementServer.test.js.map +1 -0
  77. package/packages/happy2-server/dist/modules/plugin/impl/apiPermissions.d.ts.map +1 -1
  78. package/packages/happy2-server/dist/modules/plugin/impl/apiPermissions.js +22 -0
  79. package/packages/happy2-server/dist/modules/plugin/impl/apiPermissions.js.map +1 -1
  80. package/packages/happy2-server/dist/modules/plugin/packageLinkDownloader.d.ts.map +1 -1
  81. package/packages/happy2-server/dist/modules/plugin/packageLinkDownloader.js +7 -1
  82. package/packages/happy2-server/dist/modules/plugin/packageLinkDownloader.js.map +1 -1
  83. package/packages/happy2-server/dist/modules/plugin/packageLinkDownloader.test.d.ts +2 -0
  84. package/packages/happy2-server/dist/modules/plugin/packageLinkDownloader.test.d.ts.map +1 -0
  85. package/packages/happy2-server/dist/modules/plugin/packageLinkDownloader.test.js +37 -0
  86. package/packages/happy2-server/dist/modules/plugin/packageLinkDownloader.test.js.map +1 -0
  87. package/packages/happy2-server/dist/modules/plugin/pluginInstall.d.ts.map +1 -1
  88. package/packages/happy2-server/dist/modules/plugin/pluginInstall.js +2 -2
  89. package/packages/happy2-server/dist/modules/plugin/pluginInstall.js.map +1 -1
  90. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.d.ts.map +1 -1
  91. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.js +5 -1
  92. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.js.map +1 -1
  93. package/packages/happy2-server/dist/modules/plugin/types.d.ts +2 -2
  94. package/packages/happy2-server/dist/modules/plugin/types.d.ts.map +1 -1
  95. package/packages/happy2-server/dist/modules/plugin/types.js +3 -0
  96. package/packages/happy2-server/dist/modules/plugin/types.js.map +1 -1
  97. package/packages/happy2-server/dist/modules/schema.d.ts +276 -0
  98. package/packages/happy2-server/dist/modules/schema.d.ts.map +1 -1
  99. package/packages/happy2-server/dist/modules/schema.js +14 -0
  100. package/packages/happy2-server/dist/modules/schema.js.map +1 -1
  101. package/packages/happy2-server/dist/modules/sync/syncGetDifference.d.ts.map +1 -1
  102. package/packages/happy2-server/dist/modules/sync/syncGetDifference.js +2 -0
  103. package/packages/happy2-server/dist/modules/sync/syncGetDifference.js.map +1 -1
  104. package/packages/happy2-server/dist/routes/collaboration.d.ts.map +1 -1
  105. package/packages/happy2-server/dist/routes/collaboration.js +38 -1
  106. package/packages/happy2-server/dist/routes/collaboration.js.map +1 -1
  107. package/packages/happy2-server/dist/routes/pluginHost.d.ts +3 -1
  108. package/packages/happy2-server/dist/routes/pluginHost.d.ts.map +1 -1
  109. package/packages/happy2-server/dist/routes/pluginHost.js +113 -0
  110. package/packages/happy2-server/dist/routes/pluginHost.js.map +1 -1
  111. package/packages/happy2-server/dist/web/assets/{index-Dn5SZu3y.js → index-BT_VezYx.js} +20 -20
  112. package/packages/happy2-server/dist/web/index.html +1 -1
  113. package/packages/happy2-server/drizzle/0030_personal_synced_drafts.sql +11 -0
  114. package/packages/happy2-server/drizzle/0031_agent_image_deactivation.sql +1 -0
  115. package/packages/happy2-server/drizzle/meta/_journal.json +14 -0
  116. package/packages/happy2-server/plugins/README.md +3 -1
  117. package/packages/happy2-server/plugins/environment-management/container/Dockerfile +6 -0
  118. package/packages/happy2-server/plugins/environment-management/plugin.json +17 -0
  119. package/packages/happy2-server/plugins/environment-management/plugin.png +0 -0
  120. package/packages/happy2-server/plugins/environment-management/server.mjs +234 -0
  121. package/packages/happy2-server/plugins/environment-management/skills/happy2-environment-management/SKILL.md +41 -0
  122. package/packages/happy2-server/plugins/plugin-developer/skills/happy2-plugin-development/references/host-api.md +25 -0
  123. package/packages/happy2-server/plugins/plugin-developer/skills/happy2-plugin-development/references/package-format.md +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"agentImageFindDefinition.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageFindDefinition.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC1C,QAAyB,EACzB,QAAyF;IAEzF,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,QAAQ;SACzB,MAAM,CAAC,mBAAmB,CAAC;SAC3B,IAAI,CAAC,WAAW,CAAC;SACjB,KAAK,CACF,GAAG,CACC,YAAY,IAAI,QAAQ;QACpB,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;QACjD,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,CAChE,CACJ;SACA,KAAK,CAAC,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"agentImageFindDefinition.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageFindDefinition.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC1C,QAAyB,EACzB,QAAyF;IAEzF,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,QAAQ;SACzB,MAAM,CAAC,mBAAmB,CAAC;SAC3B,IAAI,CAAC,WAAW,CAAC;SACjB,KAAK,CACF,GAAG,CACC,YAAY,IAAI,QAAQ;QACpB,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;QACjD,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC7D,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAChC,CACJ;SACA,KAAK,CAAC,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC"}
@@ -2,7 +2,7 @@ import { CollaborationError } from "../chat/types.js";
2
2
  import {} from "../drizzle.js";
3
3
  import { agentImageDetailsSelection } from "./impl/agentImageDetailsSelection.js";
4
4
  import { agentImages } from "../schema.js";
5
- import { eq } from "drizzle-orm";
5
+ import { and, eq, isNull } from "drizzle-orm";
6
6
  import { asAgentImageDetails } from "./impl/asAgentImageDetails.js";
7
7
  import { userRequireAnyPermission } from "../permission/userRequireAnyPermission.js";
8
8
  /**
@@ -14,7 +14,7 @@ export async function agentImageGet(executor, actorUserId, imageId) {
14
14
  const [image] = await executor
15
15
  .select(agentImageDetailsSelection)
16
16
  .from(agentImages)
17
- .where(eq(agentImages.id, imageId))
17
+ .where(and(eq(agentImages.id, imageId), isNull(agentImages.deletedAt)))
18
18
  .limit(1);
19
19
  if (!image)
20
20
  throw new CollaborationError("not_found", "Agent image was not found");
@@ -1 +1 @@
1
- {"version":3,"file":"agentImageGet.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageGet.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAwB,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,QAAyB,EACzB,WAAmB,EACnB,OAAe;IAEf,MAAM,wBAAwB,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAC/F,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,QAAQ;SACzB,MAAM,CAAC,0BAA0B,CAAC;SAClC,IAAI,CAAC,WAAW,CAAC;SACjB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;SAClC,KAAK,CAAC,CAAC,CAAC,CAAC;IACd,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,kBAAkB,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;IACnF,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"agentImageGet.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageGet.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAwB,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,QAAyB,EACzB,WAAmB,EACnB,OAAe;IAEf,MAAM,wBAAwB,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAC/F,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,QAAQ;SACzB,MAAM,CAAC,0BAA0B,CAAC;SAClC,IAAI,CAAC,WAAW,CAAC;SACjB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;SACtE,KAAK,CAAC,CAAC,CAAC,CAAC;IACd,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,kBAAkB,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;IACnF,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC"}
@@ -27,7 +27,7 @@ export async function agentImageGetChangeContext(executor, input) {
27
27
  status: agentImages.status,
28
28
  })
29
29
  .from(agentImages)
30
- .where(eq(agentImages.id, input.imageId))
30
+ .where(and(eq(agentImages.id, input.imageId), isNull(agentImages.deletedAt)))
31
31
  .limit(1)
32
32
  .then((rows) => rows[0]),
33
33
  executor
@@ -1 +1 @@
1
- {"version":3,"file":"agentImageGetChangeContext.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageGetChangeContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentImageGetChangeContext.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageGetChangeContext.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agentImageGetReadyDefault.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageGetReadyDefault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAKrD;;;GAGG;AACH,wBAAsB,yBAAyB,CAC3C,QAAQ,EAAE,eAAe,GAC1B,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAwB1C"}
1
+ {"version":3,"file":"agentImageGetReadyDefault.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageGetReadyDefault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAKrD;;;GAGG;AACH,wBAAsB,yBAAyB,CAC3C,QAAQ,EAAE,eAAe,GAC1B,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAyB1C"}
@@ -1,7 +1,7 @@
1
1
  import {} from "./impl/agentExecutionImage.js";
2
2
  import {} from "../drizzle.js";
3
3
  import { agentImages, agentImageSettings } from "../schema.js";
4
- import { and, eq, sql } from "drizzle-orm";
4
+ import { and, eq, isNull, sql } from "drizzle-orm";
5
5
  /**
6
6
  * Returns the configured default image only when it is ready and has a resolved Docker image identifier.
7
7
  * Treating every incomplete setting as absent prevents agent creation from selecting a build that cannot yet execute.
@@ -15,7 +15,7 @@ export async function agentImageGetReadyDefault(executor) {
15
15
  })
16
16
  .from(agentImageSettings)
17
17
  .innerJoin(agentImages, eq(agentImages.id, agentImageSettings.defaultImageId))
18
- .where(and(eq(agentImageSettings.id, 1), eq(agentImages.status, "ready"), sql `${agentImages.dockerImageId} IS NOT NULL`))
18
+ .where(and(eq(agentImageSettings.id, 1), eq(agentImages.status, "ready"), isNull(agentImages.deletedAt), sql `${agentImages.dockerImageId} IS NOT NULL`))
19
19
  .limit(1);
20
20
  return image?.dockerImageId
21
21
  ? {
@@ -1 +1 @@
1
- {"version":3,"file":"agentImageGetReadyDefault.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageGetReadyDefault.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAwB,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAE3C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC3C,QAAyB;IAEzB,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,QAAQ;SACzB,MAAM,CAAC;QACJ,EAAE,EAAE,WAAW,CAAC,EAAE;QAClB,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,aAAa,EAAE,WAAW,CAAC,aAAa;KAC3C,CAAC;SACD,IAAI,CAAC,kBAAkB,CAAC;SACxB,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;SAC7E,KAAK,CACF,GAAG,CACC,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC,EAC5B,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,CAAA,GAAG,WAAW,CAAC,aAAa,cAAc,CAChD,CACJ;SACA,KAAK,CAAC,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,EAAE,aAAa;QACvB,CAAC,CAAC;YACI,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;SACrC;QACH,CAAC,CAAC,SAAS,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"agentImageGetReadyDefault.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageGetReadyDefault.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAwB,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEnD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC3C,QAAyB;IAEzB,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,QAAQ;SACzB,MAAM,CAAC;QACJ,EAAE,EAAE,WAAW,CAAC,EAAE;QAClB,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,aAAa,EAAE,WAAW,CAAC,aAAa;KAC3C,CAAC;SACD,IAAI,CAAC,kBAAkB,CAAC;SACxB,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;SAC7E,KAAK,CACF,GAAG,CACC,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC,EAC5B,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,EAC7B,GAAG,CAAA,GAAG,WAAW,CAAC,aAAa,cAAc,CAChD,CACJ;SACA,KAAK,CAAC,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,EAAE,aAAa;QACvB,CAAC,CAAC;YACI,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;SACrC;QACH,CAAC,CAAC,SAAS,CAAC;AACpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agentImageList.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAOrD;;;GAGG;AACH,wBAAsB,cAAc,CAChC,QAAQ,EAAE,eAAe,EACzB,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC;IACP,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC/B,CAAC,CA2BD"}
1
+ {"version":3,"file":"agentImageList.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAOrD;;;GAGG;AACH,wBAAsB,cAAc,CAChC,QAAQ,EAAE,eAAe,EACzB,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC;IACP,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC/B,CAAC,CA4BD"}
@@ -3,7 +3,7 @@ import {} from "../drizzle.js";
3
3
  import { agentImageSelection } from "./impl/agentImageSelection.js";
4
4
  import { agentImages, agentImageSettings } from "../schema.js";
5
5
  import { asAgentImage } from "./impl/asAgentImage.js";
6
- import { eq } from "drizzle-orm";
6
+ import { eq, isNull } from "drizzle-orm";
7
7
  import { userRequireAnyPermission } from "../permission/userRequireAnyPermission.js";
8
8
  /**
9
9
  * Lists agent images and the configured default to a caller allowed to manage images, assign them to chats, or select a runtime for plugin installation.
@@ -26,6 +26,7 @@ export async function agentImageList(executor, actorUserId) {
26
26
  executor
27
27
  .select(agentImageSelection)
28
28
  .from(agentImages)
29
+ .where(isNull(agentImages.deletedAt))
29
30
  .orderBy(agentImages.createdAt, agentImages.id),
30
31
  ]);
31
32
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"agentImageList.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageList.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAwB,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,QAAyB,EACzB,WAAmB;IAKnB,MAAM,wBAAwB,CAAC,QAAQ,EAAE,WAAW,EAAE;QAClD,cAAc;QACd,qBAAqB;QACrB,eAAe;KAClB,CAAC,CAAC;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzC,QAAQ;aACH,MAAM,CAAC;YACJ,cAAc,EAAE,kBAAkB,CAAC,cAAc;SACpD,CAAC;aACD,IAAI,CAAC,kBAAkB,CAAC;aACxB,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aACnC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,QAAQ;aACH,MAAM,CAAC,mBAAmB,CAAC;aAC3B,IAAI,CAAC,WAAW,CAAC;aACjB,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC;KACtD,CAAC,CAAC;IACH,OAAO;QACH,GAAG,CAAC,QAAQ,EAAE,cAAc;YACxB,CAAC,CAAC;gBACI,cAAc,EAAE,QAAQ,CAAC,cAAc;aAC1C;YACH,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;KACnC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"agentImageList.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageList.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAwB,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,QAAyB,EACzB,WAAmB;IAKnB,MAAM,wBAAwB,CAAC,QAAQ,EAAE,WAAW,EAAE;QAClD,cAAc;QACd,qBAAqB;QACrB,eAAe;KAClB,CAAC,CAAC;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzC,QAAQ;aACH,MAAM,CAAC;YACJ,cAAc,EAAE,kBAAkB,CAAC,cAAc;SACpD,CAAC;aACD,IAAI,CAAC,kBAAkB,CAAC;aACxB,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aACnC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,QAAQ;aACH,MAAM,CAAC,mBAAmB,CAAC;aAC3B,IAAI,CAAC,WAAW,CAAC;aACjB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;aACpC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC;KACtD,CAAC,CAAC;IACH,OAAO;QACH,GAAG,CAAC,QAAQ,EAAE,cAAc;YACxB,CAAC,CAAC;gBACI,cAAc,EAAE,QAAQ,CAAC,cAAc;aAC1C;YACH,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;KACnC,CAAC;AACN,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { DrizzleExecutor } from "../drizzle.js";
2
+ export interface AgentEnvironmentHostSummary {
3
+ id: string;
4
+ name: string;
5
+ status: "pending" | "building" | "ready" | "failed";
6
+ builtin: boolean;
7
+ active: boolean;
8
+ }
9
+ /**
10
+ * Lists the non-sensitive agent environment projection exposed after plugin-host capability authorization.
11
+ * Keeping Dockerfiles out of the catalog preserves their focused per-manifest read operation and keeps list responses bounded.
12
+ */
13
+ export declare function agentImageListForHost(executor: DrizzleExecutor): Promise<{
14
+ defaultEnvironmentId?: string;
15
+ environments: AgentEnvironmentHostSummary[];
16
+ }>;
17
+ //# sourceMappingURL=agentImageListForHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentImageListForHost.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageListForHost.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrD,MAAM,WAAW,2BAA2B;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC;IAC5E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,2BAA2B,EAAE,CAAC;CAC/C,CAAC,CA8BD"}
@@ -0,0 +1,38 @@
1
+ import { eq } from "drizzle-orm";
2
+ import { agentImages, agentImageSettings } from "../schema.js";
3
+ /**
4
+ * Lists the non-sensitive agent environment projection exposed after plugin-host capability authorization.
5
+ * Keeping Dockerfiles out of the catalog preserves their focused per-manifest read operation and keeps list responses bounded.
6
+ */
7
+ export async function agentImageListForHost(executor) {
8
+ const [settings, images] = await Promise.all([
9
+ executor
10
+ .select({ defaultEnvironmentId: agentImageSettings.defaultImageId })
11
+ .from(agentImageSettings)
12
+ .where(eq(agentImageSettings.id, 1))
13
+ .then((rows) => rows[0]),
14
+ executor
15
+ .select({
16
+ id: agentImages.id,
17
+ name: agentImages.name,
18
+ status: agentImages.status,
19
+ builtinKey: agentImages.builtinKey,
20
+ deletedAt: agentImages.deletedAt,
21
+ })
22
+ .from(agentImages)
23
+ .orderBy(agentImages.createdAt, agentImages.id),
24
+ ]);
25
+ return {
26
+ ...(settings?.defaultEnvironmentId
27
+ ? { defaultEnvironmentId: settings.defaultEnvironmentId }
28
+ : {}),
29
+ environments: images.map((image) => ({
30
+ id: image.id,
31
+ name: image.name,
32
+ status: image.status,
33
+ builtin: image.builtinKey !== null,
34
+ active: image.deletedAt === null,
35
+ })),
36
+ };
37
+ }
38
+ //# sourceMappingURL=agentImageListForHost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentImageListForHost.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageListForHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAU/D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,QAAyB;IAIjE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzC,QAAQ;aACH,MAAM,CAAC,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,cAAc,EAAE,CAAC;aACnE,IAAI,CAAC,kBAAkB,CAAC;aACxB,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aACnC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,QAAQ;aACH,MAAM,CAAC;YACJ,EAAE,EAAE,WAAW,CAAC,EAAE;YAClB,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,SAAS,EAAE,WAAW,CAAC,SAAS;SACnC,CAAC;aACD,IAAI,CAAC,WAAW,CAAC;aACjB,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC;KACtD,CAAC,CAAC;IACH,OAAO;QACH,GAAG,CAAC,QAAQ,EAAE,oBAAoB;YAC9B,CAAC,CAAC,EAAE,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB,EAAE;YACzD,CAAC,CAAC,EAAE,CAAC;QACT,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACjC,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,MAA+C;YAC7D,OAAO,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI;YAClC,MAAM,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI;SACnC,CAAC,CAAC;KACN,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agentImageListRequestedBuildIds.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageListRequestedBuildIds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAIrD;;;GAGG;AACH,wBAAsB,+BAA+B,CACjD,QAAQ,EAAE,eAAe,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBnB"}
1
+ {"version":3,"file":"agentImageListRequestedBuildIds.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageListRequestedBuildIds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAIrD;;;GAGG;AACH,wBAAsB,+BAA+B,CACjD,QAAQ,EAAE,eAAe,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC,CAoBnB"}
@@ -1,6 +1,6 @@
1
1
  import {} from "../drizzle.js";
2
2
  import { agentImages } from "../schema.js";
3
- import { and, eq, or, sql } from "drizzle-orm";
3
+ import { and, eq, isNull, or, sql } from "drizzle-orm";
4
4
  /**
5
5
  * Lists images with requested pending work or any in-progress build, ordered by request and creation time.
6
6
  * Including live leases lets a restarted worker schedule a claim for their expiry instead of leaving crash-interrupted builds stranded.
@@ -11,7 +11,7 @@ export async function agentImageListRequestedBuildIds(executor) {
11
11
  id: agentImages.id,
12
12
  })
13
13
  .from(agentImages)
14
- .where(and(or(and(eq(agentImages.status, "pending"), sql `${agentImages.buildRequestedAt} IS NOT NULL`), eq(agentImages.status, "building"))))
14
+ .where(and(isNull(agentImages.deletedAt), or(and(eq(agentImages.status, "pending"), sql `${agentImages.buildRequestedAt} IS NOT NULL`), eq(agentImages.status, "building"))))
15
15
  .orderBy(agentImages.buildRequestedAt, agentImages.createdAt, agentImages.id);
16
16
  return rows.map((row) => row.id);
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agentImageListRequestedBuildIds.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageListRequestedBuildIds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACjD,QAAyB;IAEzB,MAAM,IAAI,GAAG,MAAM,QAAQ;SACtB,MAAM,CAAC;QACJ,EAAE,EAAE,WAAW,CAAC,EAAE;KACrB,CAAC;SACD,IAAI,CAAC,WAAW,CAAC;SACjB,KAAK,CACF,GAAG,CACC,EAAE,CACE,GAAG,CACC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,GAAG,CAAA,GAAG,WAAW,CAAC,gBAAgB,cAAc,CACnD,EACD,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CACrC,CACJ,CACJ;SACA,OAAO,CAAC,WAAW,CAAC,gBAAgB,EAAE,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IAClF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"agentImageListRequestedBuildIds.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageListRequestedBuildIds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACjD,QAAyB;IAEzB,MAAM,IAAI,GAAG,MAAM,QAAQ;SACtB,MAAM,CAAC;QACJ,EAAE,EAAE,WAAW,CAAC,EAAE;KACrB,CAAC;SACD,IAAI,CAAC,WAAW,CAAC;SACjB,KAAK,CACF,GAAG,CACC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,EAC7B,EAAE,CACE,GAAG,CACC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,GAAG,CAAA,GAAG,WAAW,CAAC,gBAAgB,cAAc,CACnD,EACD,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CACrC,CACJ,CACJ;SACA,OAAO,CAAC,WAAW,CAAC,gBAAgB,EAAE,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IAClF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACrC,CAAC"}
@@ -2,7 +2,7 @@ import { CollaborationError } from "../chat/types.js";
2
2
  import { withTransaction } from "../drizzle.js";
3
3
  import { agentImageSelection } from "./impl/agentImageSelection.js";
4
4
  import { agentImages } from "../schema.js";
5
- import { eq, sql } from "drizzle-orm";
5
+ import { and, eq, isNull, sql } from "drizzle-orm";
6
6
  import { areaHint } from "../chat/areaHint.js";
7
7
  import { asAgentImage } from "./impl/asAgentImage.js";
8
8
  import { chatAppendAudit } from "../chat/chatAppendAudit.js";
@@ -21,7 +21,7 @@ export async function agentImageRequestBuild(executor, input) {
21
21
  status: agentImages.status,
22
22
  })
23
23
  .from(agentImages)
24
- .where(eq(agentImages.id, input.imageId))
24
+ .where(and(eq(agentImages.id, input.imageId), isNull(agentImages.deletedAt)))
25
25
  .limit(1);
26
26
  if (!current)
27
27
  throw new CollaborationError("not_found", "Agent image was not found");
@@ -47,7 +47,7 @@ export async function agentImageRequestBuild(executor, input) {
47
47
  leaseExpiresAt: null,
48
48
  updatedAt: sql `CURRENT_TIMESTAMP`,
49
49
  })
50
- .where(eq(agentImages.id, input.imageId))
50
+ .where(and(eq(agentImages.id, input.imageId), isNull(agentImages.deletedAt)))
51
51
  .returning(agentImageSelection);
52
52
  if (!image)
53
53
  throw new Error("Agent image build was not requested");
@@ -1 +1 @@
1
- {"version":3,"file":"agentImageRequestBuild.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageRequestBuild.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentImageRequestBuild.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageRequestBuild.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import { type AgentImageSummary, type MutationHint } from "../chat/types.js";
2
2
  import { type DrizzleExecutor } from "../drizzle.js";
3
3
  /**
4
- * Selects a ready image in agentImageSettings as the server default after manageImages authorization.
5
- * Coupling the setting with sync and audit records prevents clients from seeing an unexplained default-image change.
4
+ * Selects a ready image in agentImageSettings for a manageImages user or capability-authorized plugin installation.
5
+ * Coupling installation provenance and the setting with sync and audit records prevents clients from seeing an unexplained default-image change.
6
6
  */
7
7
  export declare function agentImageSetDefault(executor: DrizzleExecutor, input: {
8
- actorUserId: string;
8
+ actorInstallationId?: string;
9
+ actorUserId?: string;
9
10
  imageId: string;
10
11
  }): Promise<{
11
12
  hint: MutationHint;
@@ -1 +1 @@
1
- {"version":3,"file":"agentImageSetDefault.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageSetDefault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAsB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEjG,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,eAAe,CAAC;AActE;;;GAGG;AACH,wBAAsB,oBAAoB,CACtC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACnB,GACF,OAAO,CAAC;IACP,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,iBAAiB,CAAC;CAC5B,CAAC,CAqCD"}
1
+ {"version":3,"file":"agentImageSetDefault.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageSetDefault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAsB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEjG,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,eAAe,CAAC;AActE;;;GAGG;AACH,wBAAsB,oBAAoB,CACtC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACnB,GACF,OAAO,CAAC;IACP,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,iBAAiB,CAAC;CAC5B,CAAC,CA2CD"}
@@ -2,7 +2,7 @@ import { CollaborationError } from "../chat/types.js";
2
2
  import { withTransaction } from "../drizzle.js";
3
3
  import { agentImageSelection } from "./impl/agentImageSelection.js";
4
4
  import { agentImages, agentImageSettings } from "../schema.js";
5
- import { eq, sql } from "drizzle-orm";
5
+ import { and, eq, isNull, sql } from "drizzle-orm";
6
6
  import { areaHint } from "../chat/areaHint.js";
7
7
  import { asAgentImage } from "./impl/asAgentImage.js";
8
8
  import { chatAppendAudit } from "../chat/chatAppendAudit.js";
@@ -10,16 +10,19 @@ import { syncEventInsert } from "../sync/syncEventInsert.js";
10
10
  import { syncSequenceNext } from "../sync/syncSequenceNext.js";
11
11
  import { userRequirePermission } from "../permission/userRequirePermission.js";
12
12
  /**
13
- * Selects a ready image in agentImageSettings as the server default after manageImages authorization.
14
- * Coupling the setting with sync and audit records prevents clients from seeing an unexplained default-image change.
13
+ * Selects a ready image in agentImageSettings for a manageImages user or capability-authorized plugin installation.
14
+ * Coupling installation provenance and the setting with sync and audit records prevents clients from seeing an unexplained default-image change.
15
15
  */
16
16
  export async function agentImageSetDefault(executor, input) {
17
17
  return withTransaction(executor, async (tx) => {
18
- await userRequirePermission(tx, input.actorUserId, "manageImages");
18
+ if (input.actorUserId)
19
+ await userRequirePermission(tx, input.actorUserId, "manageImages");
20
+ else if (!input.actorInstallationId)
21
+ throw new CollaborationError("forbidden", "Agent image management authority is required");
19
22
  const [image] = await tx
20
23
  .select(agentImageSelection)
21
24
  .from(agentImages)
22
- .where(eq(agentImages.id, input.imageId))
25
+ .where(and(eq(agentImages.id, input.imageId), isNull(agentImages.deletedAt)))
23
26
  .limit(1);
24
27
  if (!image)
25
28
  throw new CollaborationError("not_found", "Agent image was not found");
@@ -29,7 +32,7 @@ export async function agentImageSetDefault(executor, input) {
29
32
  .update(agentImageSettings)
30
33
  .set({
31
34
  defaultImageId: input.imageId,
32
- updatedByUserId: input.actorUserId,
35
+ updatedByUserId: input.actorUserId ?? null,
33
36
  updatedAt: sql `CURRENT_TIMESTAMP`,
34
37
  })
35
38
  .where(eq(agentImageSettings.id, 1));
@@ -38,6 +41,7 @@ export async function agentImageSetDefault(executor, input) {
38
41
  action: "agent_image.default_selected",
39
42
  targetType: "agent_image",
40
43
  targetId: input.imageId,
44
+ after: { actorInstallationId: input.actorInstallationId },
41
45
  });
42
46
  const sequence = await syncSequenceNext(tx);
43
47
  await syncEventInsert(tx, {
@@ -1 +1 @@
1
- {"version":3,"file":"agentImageSetDefault.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageSetDefault.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,kBAAkB,EAAqB,MAAM,kBAAkB,CAAC;AAEjG,OAAO,EAAwB,eAAe,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAE/E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,QAAyB,EACzB,KAGC;IAKD,OAAO,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;QAC1C,MAAM,qBAAqB,CAAC,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACnE,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE;aACnB,MAAM,CAAC,mBAAmB,CAAC;aAC3B,IAAI,CAAC,WAAW,CAAC;aACjB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;aACxC,KAAK,CAAC,CAAC,CAAC,CAAC;QACd,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,kBAAkB,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;QACnF,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe;YAClD,MAAM,IAAI,kBAAkB,CAAC,UAAU,EAAE,6CAA6C,CAAC,CAAC;QAC5F,MAAM,EAAE;aACH,MAAM,CAAC,kBAAkB,CAAC;aAC1B,GAAG,CAAC;YACD,cAAc,EAAE,KAAK,CAAC,OAAO;YAC7B,eAAe,EAAE,KAAK,CAAC,WAAW;YAClC,SAAS,EAAE,GAAG,CAAA,mBAAmB;SACpC,CAAC;aACD,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,eAAe,CAAC,EAAE,EAAE;YACtB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,MAAM,EAAE,8BAA8B;YACtC,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,KAAK,CAAC,OAAO;SAC1B,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,eAAe,CAAC,EAAE,EAAE;YACtB,QAAQ;YACR,IAAI,EAAE,4BAA4B;YAClC,QAAQ,EAAE,KAAK,CAAC,OAAO;YACvB,WAAW,EAAE,KAAK,CAAC,WAAW;SACjC,CAAC,CAAC;QACH,OAAO;YACH,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;YACxC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;SAC7B,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"agentImageSetDefault.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageSetDefault.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ export async function agentImageTakeBuild(executor, imageId, workerId) {
31
31
  leaseExpiresAt,
32
32
  updatedAt: sql `CURRENT_TIMESTAMP`,
33
33
  })
34
- .where(and(eq(agentImages.id, imageId), claimable))
34
+ .where(and(eq(agentImages.id, imageId), isNull(agentImages.deletedAt), claimable))
35
35
  .returning({
36
36
  id: agentImages.id,
37
37
  buildContext: agentImages.buildContext,
@@ -45,7 +45,7 @@ export async function agentImageTakeBuild(executor, imageId, workerId) {
45
45
  status: agentImages.status,
46
46
  })
47
47
  .from(agentImages)
48
- .where(eq(agentImages.id, imageId))
48
+ .where(and(eq(agentImages.id, imageId), isNull(agentImages.deletedAt)))
49
49
  .limit(1);
50
50
  if (leased?.status === "building" &&
51
51
  leased.leaseExpiresAt &&
@@ -1 +1 @@
1
- {"version":3,"file":"agentImageTakeBuild.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageTakeBuild.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentImageTakeBuild.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageTakeBuild.ts"],"names":[],"mappings":"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"}
@@ -101,8 +101,19 @@ export declare class AgentService {
101
101
  images: import("../chat/types.js").AgentImageSummary[];
102
102
  }>;
103
103
  getAgentImage(actorUserId: string, imageId: string): Promise<import("../chat/types.js").AgentImageDetails>;
104
+ listAgentImagesForHost(): Promise<{
105
+ defaultEnvironmentId?: string;
106
+ environments: import("../agent/agentImageListForHost.js").AgentEnvironmentHostSummary[];
107
+ }>;
108
+ getAgentImageDockerfileForHost(imageId: string): Promise<{
109
+ id: string;
110
+ name: string;
111
+ dockerfile: string;
112
+ active: boolean;
113
+ }>;
104
114
  createAgentImage(input: {
105
- actorUserId: string;
115
+ actorInstallationId?: string;
116
+ actorUserId?: string;
106
117
  dockerfile: string;
107
118
  name: string;
108
119
  }): Promise<import("../chat/types.js").AgentImageSummary>;
@@ -111,9 +122,17 @@ export declare class AgentService {
111
122
  imageId: string;
112
123
  }): Promise<import("../chat/types.js").AgentImageSummary>;
113
124
  setDefaultAgentImage(input: {
114
- actorUserId: string;
125
+ actorInstallationId?: string;
126
+ actorUserId?: string;
115
127
  imageId: string;
116
128
  }): Promise<import("../chat/types.js").AgentImageSummary>;
129
+ deactivateAgentImage(input: {
130
+ actorInstallationId?: string;
131
+ actorUserId?: string;
132
+ imageId: string;
133
+ }): Promise<{
134
+ imageId: string;
135
+ }>;
117
136
  getSetupBaseImages(actorUserId: string): Promise<{
118
137
  defaultImageId?: string;
119
138
  images: import("../setup/impl/baseImagePresentation.js").SetupBaseImageSummary[];
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../sources/modules/agents/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../sources/modules/agents/service.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,9 @@ import { agentImageGetChangeContext } from "../agent/agentImageGetChangeContext.
35
35
  import { agentImageGet } from "../agent/agentImageGet.js";
36
36
  import { agentImageEnsureDefinitions } from "../agent/agentImageEnsureDefinitions.js";
37
37
  import { agentImageCreate } from "../agent/agentImageCreate.js";
38
+ import { agentImageDeactivate } from "../agent/agentImageDeactivate.js";
39
+ import { agentImageDockerfileGetForHost } from "../agent/agentImageDockerfileGetForHost.js";
40
+ import { agentImageListForHost } from "../agent/agentImageListForHost.js";
38
41
  import { agentImageCommitChange } from "../agent/agentImageCommitChange.js";
39
42
  import { agentEffortUpdate } from "../agent/agentEffortUpdate.js";
40
43
  import { agentEffortInitialize } from "../agent/agentEffortInitialize.js";
@@ -291,6 +294,12 @@ export class AgentService {
291
294
  getAgentImage(actorUserId, imageId) {
292
295
  return agentImageGet(this.executor, actorUserId, imageId);
293
296
  }
297
+ listAgentImagesForHost() {
298
+ return agentImageListForHost(this.executor);
299
+ }
300
+ getAgentImageDockerfileForHost(imageId) {
301
+ return agentImageDockerfileGetForHost(this.executor, imageId);
302
+ }
294
303
  async createAgentImage(input) {
295
304
  const definitionHash = agentImageDefinitionHash(input.dockerfile);
296
305
  const result = await agentImageCreate(this.executor, {
@@ -313,6 +322,11 @@ export class AgentService {
313
322
  await this.publishAgentImageHint(result.hint);
314
323
  return result.image;
315
324
  }
325
+ async deactivateAgentImage(input) {
326
+ const result = await agentImageDeactivate(this.executor, input);
327
+ await this.publishAgentImageHint(result.hint);
328
+ return { imageId: result.imageId };
329
+ }
316
330
  getSetupBaseImages(actorUserId) {
317
331
  return setupBaseImageGetStatus(this.executor, actorUserId);
318
332
  }