happy2 0.0.14 → 0.0.16

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 (137) 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/daemon.d.ts +12 -0
  58. package/packages/happy2-server/dist/modules/agents/daemon.d.ts.map +1 -1
  59. package/packages/happy2-server/dist/modules/agents/daemon.js +88 -1
  60. package/packages/happy2-server/dist/modules/agents/daemon.js.map +1 -1
  61. package/packages/happy2-server/dist/modules/agents/index.d.ts +1 -1
  62. package/packages/happy2-server/dist/modules/agents/index.d.ts.map +1 -1
  63. package/packages/happy2-server/dist/modules/agents/index.js +1 -1
  64. package/packages/happy2-server/dist/modules/agents/index.js.map +1 -1
  65. package/packages/happy2-server/dist/modules/agents/service.d.ts +74 -2
  66. package/packages/happy2-server/dist/modules/agents/service.d.ts.map +1 -1
  67. package/packages/happy2-server/dist/modules/agents/service.js +53 -0
  68. package/packages/happy2-server/dist/modules/agents/service.js.map +1 -1
  69. package/packages/happy2-server/dist/modules/draft/draftList.d.ts +8 -0
  70. package/packages/happy2-server/dist/modules/draft/draftList.d.ts.map +1 -0
  71. package/packages/happy2-server/dist/modules/draft/draftList.js +27 -0
  72. package/packages/happy2-server/dist/modules/draft/draftList.js.map +1 -0
  73. package/packages/happy2-server/dist/modules/draft/draftUpdate.d.ts +16 -0
  74. package/packages/happy2-server/dist/modules/draft/draftUpdate.d.ts.map +1 -0
  75. package/packages/happy2-server/dist/modules/draft/draftUpdate.js +64 -0
  76. package/packages/happy2-server/dist/modules/draft/draftUpdate.js.map +1 -0
  77. package/packages/happy2-server/dist/modules/draft/types.d.ts +7 -0
  78. package/packages/happy2-server/dist/modules/draft/types.d.ts.map +1 -0
  79. package/packages/happy2-server/dist/modules/draft/types.js +2 -0
  80. package/packages/happy2-server/dist/modules/draft/types.js.map +1 -0
  81. package/packages/happy2-server/dist/modules/plugin/environmentManagementServer.test.d.ts +2 -0
  82. package/packages/happy2-server/dist/modules/plugin/environmentManagementServer.test.d.ts.map +1 -0
  83. package/packages/happy2-server/dist/modules/plugin/environmentManagementServer.test.js +183 -0
  84. package/packages/happy2-server/dist/modules/plugin/environmentManagementServer.test.js.map +1 -0
  85. package/packages/happy2-server/dist/modules/plugin/impl/apiPermissions.d.ts.map +1 -1
  86. package/packages/happy2-server/dist/modules/plugin/impl/apiPermissions.js +22 -0
  87. package/packages/happy2-server/dist/modules/plugin/impl/apiPermissions.js.map +1 -1
  88. package/packages/happy2-server/dist/modules/plugin/packageLinkDownloader.d.ts.map +1 -1
  89. package/packages/happy2-server/dist/modules/plugin/packageLinkDownloader.js +7 -1
  90. package/packages/happy2-server/dist/modules/plugin/packageLinkDownloader.js.map +1 -1
  91. package/packages/happy2-server/dist/modules/plugin/packageLinkDownloader.test.d.ts +2 -0
  92. package/packages/happy2-server/dist/modules/plugin/packageLinkDownloader.test.d.ts.map +1 -0
  93. package/packages/happy2-server/dist/modules/plugin/packageLinkDownloader.test.js +37 -0
  94. package/packages/happy2-server/dist/modules/plugin/packageLinkDownloader.test.js.map +1 -0
  95. package/packages/happy2-server/dist/modules/plugin/pluginInstall.d.ts.map +1 -1
  96. package/packages/happy2-server/dist/modules/plugin/pluginInstall.js +2 -2
  97. package/packages/happy2-server/dist/modules/plugin/pluginInstall.js.map +1 -1
  98. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.d.ts.map +1 -1
  99. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.js +5 -1
  100. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.js.map +1 -1
  101. package/packages/happy2-server/dist/modules/plugin/types.d.ts +2 -2
  102. package/packages/happy2-server/dist/modules/plugin/types.d.ts.map +1 -1
  103. package/packages/happy2-server/dist/modules/plugin/types.js +3 -0
  104. package/packages/happy2-server/dist/modules/plugin/types.js.map +1 -1
  105. package/packages/happy2-server/dist/modules/schema.d.ts +276 -0
  106. package/packages/happy2-server/dist/modules/schema.d.ts.map +1 -1
  107. package/packages/happy2-server/dist/modules/schema.js +14 -0
  108. package/packages/happy2-server/dist/modules/schema.js.map +1 -1
  109. package/packages/happy2-server/dist/modules/sync/syncGetDifference.d.ts.map +1 -1
  110. package/packages/happy2-server/dist/modules/sync/syncGetDifference.js +2 -0
  111. package/packages/happy2-server/dist/modules/sync/syncGetDifference.js.map +1 -1
  112. package/packages/happy2-server/dist/routes/agents.d.ts +1 -1
  113. package/packages/happy2-server/dist/routes/agents.d.ts.map +1 -1
  114. package/packages/happy2-server/dist/routes/agents.js +132 -0
  115. package/packages/happy2-server/dist/routes/agents.js.map +1 -1
  116. package/packages/happy2-server/dist/routes/collaboration.d.ts.map +1 -1
  117. package/packages/happy2-server/dist/routes/collaboration.js +38 -1
  118. package/packages/happy2-server/dist/routes/collaboration.js.map +1 -1
  119. package/packages/happy2-server/dist/routes/pluginHost.d.ts +3 -1
  120. package/packages/happy2-server/dist/routes/pluginHost.d.ts.map +1 -1
  121. package/packages/happy2-server/dist/routes/pluginHost.js +113 -0
  122. package/packages/happy2-server/dist/routes/pluginHost.js.map +1 -1
  123. package/packages/happy2-server/dist/web/assets/index-BxtJtZpt.js +39 -0
  124. package/packages/happy2-server/dist/web/assets/{index-Dys3sWv8.css → index-m8C1tSYV.css} +1 -1
  125. package/packages/happy2-server/dist/web/index.html +2 -2
  126. package/packages/happy2-server/drizzle/0030_personal_synced_drafts.sql +11 -0
  127. package/packages/happy2-server/drizzle/0031_agent_image_deactivation.sql +1 -0
  128. package/packages/happy2-server/drizzle/meta/_journal.json +14 -0
  129. package/packages/happy2-server/plugins/README.md +3 -1
  130. package/packages/happy2-server/plugins/environment-management/container/Dockerfile +6 -0
  131. package/packages/happy2-server/plugins/environment-management/plugin.json +17 -0
  132. package/packages/happy2-server/plugins/environment-management/plugin.png +0 -0
  133. package/packages/happy2-server/plugins/environment-management/server.mjs +234 -0
  134. package/packages/happy2-server/plugins/environment-management/skills/happy2-environment-management/SKILL.md +41 -0
  135. package/packages/happy2-server/plugins/plugin-developer/skills/happy2-plugin-development/references/host-api.md +25 -0
  136. package/packages/happy2-server/plugins/plugin-developer/skills/happy2-plugin-development/references/package-format.md +3 -0
  137. package/packages/happy2-server/dist/web/assets/index-Dn5SZu3y.js +0 -39
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy2",
3
- "version": "0.0.14",
3
+ "version": "0.0.16",
4
4
  "description": "Happy (2) desktop web app and server bundle",
5
5
  "repository": {
6
6
  "type": "git",
@@ -146,8 +146,13 @@ each configured process, not persisted in the image or container definition.
146
146
  `container.permissions` declares the exact host API capabilities a package may
147
147
  request. Permissions are grouped for presentation by API section:
148
148
  `channels:manage` is a mutating permission in `channels`, `chats:update` is a
149
- mutating permission in `chats`, while `plugins:list` is read-only and
150
- `plugins:install` and `plugins:uninstall` are mutating permissions in `plugins`.
149
+ mutating permission in `chats`, `environments:read` is read-only and
150
+ `environments:manage` creates and selects environments, and
151
+ `environments:deactivate` separately deactivates unused custom environments.
152
+ Deactivation retains the immutable manifest and Dockerfile, and creating the
153
+ same definition later reactivates it and queues a fresh build. `plugins:list` is
154
+ read-only and `plugins:install` and `plugins:uninstall` are mutating permissions
155
+ in `plugins`.
151
156
  `plugins:request-install` and `plugins:request-uninstall` are also mutating
152
157
  permissions, but create chat-scoped human approvals instead of granting direct
153
158
  install or uninstall authority. Unknown and duplicate permissions are rejected
@@ -163,9 +168,10 @@ later with `POST /v0/admin/pluginInstallations/:installationId/updatePermissions
163
168
  Changing a grant invalidates the current runtime token and restarts the local
164
169
  container with a new token, so stale tokens cannot retain revoked access.
165
170
 
166
- The isolated plugin host listener provides `GET /plugins`, `POST /plugins/install`,
167
- `POST /plugins/uninstall`, `POST /channels/updateMembers`, and
168
- `POST /channels/createChannel`, alongside the chat-update route. Each route
171
+ The isolated plugin host listener provides environment listing, Dockerfile reads,
172
+ creation, default selection, and safe deactivation alongside `GET /plugins`,
173
+ `POST /plugins/install`, `POST /plugins/uninstall`, `POST /channels/updateMembers`,
174
+ `POST /channels/createChannel`, and the chat-update route. Each route
169
175
  requires its matching capability. Plugin-triggered installs must also choose a
170
176
  subset of the target package's declared permissions.
171
177
 
@@ -1 +1 @@
1
- {"version":3,"file":"agentChatGetContext.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentChatGetContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAOrD;;;GAGG;AACH,wBAAsB,mBAAmB,CACrC,QAAQ,EAAE,eAAe,EACzB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,oBAAoB,CAAC,EAAE,MAAM,GAC9B,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAsGvC"}
1
+ {"version":3,"file":"agentChatGetContext.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentChatGetContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAOrD;;;GAGG;AACH,wBAAsB,mBAAmB,CACrC,QAAQ,EAAE,eAAe,EACzB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,oBAAoB,CAAC,EAAE,MAAM,GAC9B,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAuGvC"}
@@ -23,7 +23,7 @@ export async function agentChatGetContext(executor, actorUserId, chatId, request
23
23
  .from(chatMembers)
24
24
  .innerJoin(users, eq(users.id, chatMembers.userId))
25
25
  .innerJoin(agentImages, eq(agentImages.id, users.agentImageId))
26
- .where(and(eq(chatMembers.chatId, chatId), isNull(chatMembers.leftAt), isNull(users.deletedAt), eq(users.kind, "agent"), requestedAgentUserId ? eq(users.id, requestedAgentUserId) : undefined))
26
+ .where(and(eq(chatMembers.chatId, chatId), isNull(chatMembers.leftAt), isNull(users.deletedAt), isNull(agentImages.deletedAt), eq(users.kind, "agent"), requestedAgentUserId ? eq(users.id, requestedAgentUserId) : undefined))
27
27
  .orderBy(users.id)
28
28
  .limit(1);
29
29
  if (!agent || agent.imageStatus !== "ready" || !agent.dockerImageId)
@@ -1 +1 @@
1
- {"version":3,"file":"agentChatGetContext.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentChatGetContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentChatGetContext.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentChatGetContext.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agentConversationCreate.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentConversationCreate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAsB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,eAAe,CAAC;AAUtE;;;GAGG;AACH,wBAAsB,uBAAuB,CACzC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACpD,OAAO,CAAC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC,CAqDpD"}
1
+ {"version":3,"file":"agentConversationCreate.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentConversationCreate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAsB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,eAAe,CAAC;AAUtE;;;GAGG;AACH,wBAAsB,uBAAuB,CACzC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACpD,OAAO,CAAC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC,CAsDpD"}
@@ -19,7 +19,7 @@ export async function agentConversationCreate(executor, input) {
19
19
  .select({ id: users.id })
20
20
  .from(users)
21
21
  .innerJoin(agentImages, eq(agentImages.id, users.agentImageId))
22
- .where(and(eq(users.id, input.agentUserId), eq(users.kind, "agent"), isNull(users.deletedAt), eq(agentImages.status, "ready"), isNull(agentImages.lastError)))
22
+ .where(and(eq(users.id, input.agentUserId), eq(users.kind, "agent"), isNull(users.deletedAt), eq(agentImages.status, "ready"), isNull(agentImages.lastError), isNull(agentImages.deletedAt)))
23
23
  .limit(1);
24
24
  if (!agent)
25
25
  throw new CollaborationError("not_found", "Executable agent was not found");
@@ -1 +1 @@
1
- {"version":3,"file":"agentConversationCreate.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentConversationCreate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentConversationCreate.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentConversationCreate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agentCreate.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentCreate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAsB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE3F,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,eAAe,CAAC;AAqBtE;;;GAGG;AACH,wBAAsB,WAAW,CAC7B,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACf,GACF,OAAO,CAAC;IACP,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,YAAY,CAAC;CACtB,CAAC,CAoFD"}
1
+ {"version":3,"file":"agentCreate.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentCreate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAsB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE3F,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,eAAe,CAAC;AAqBtE;;;GAGG;AACH,wBAAsB,WAAW,CAC7B,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACf,GACF,OAAO,CAAC;IACP,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,YAAY,CAAC;CACtB,CAAC,CA0FD"}
@@ -1,7 +1,7 @@
1
1
  import { CollaborationError } from "../chat/types.js";
2
2
  import { withTransaction } from "../drizzle.js";
3
3
  import { agentImages, agentImageSettings, agentRigBindings, chatMembers, chats, users, } from "../schema.js";
4
- import { and, eq, sql } from "drizzle-orm";
4
+ import { and, eq, isNull, sql } from "drizzle-orm";
5
5
  import { chatHint } from "../chat/chatHint.js";
6
6
  import { createId } from "@paralleldrive/cuid2";
7
7
  import { chatGetAccess } from "../chat/chatGetAccess.js";
@@ -32,7 +32,7 @@ export async function agentCreate(executor, input) {
32
32
  })
33
33
  .from(agentImageSettings)
34
34
  .innerJoin(agentImages, eq(agentImages.id, agentImageSettings.defaultImageId))
35
- .where(and(eq(agentImageSettings.id, 1), eq(agentImages.id, input.imageId)))
35
+ .where(and(eq(agentImageSettings.id, 1), eq(agentImages.id, input.imageId), isNull(agentImages.deletedAt)))
36
36
  .limit(1);
37
37
  if (configuredImage?.status !== "ready" || !configuredImage.dockerImageId)
38
38
  throw new CollaborationError("conflict", "A ready default agent image must be configured before creating agents");
@@ -1 +1 @@
1
- {"version":3,"file":"agentCreate.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentCreate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentCreate.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentCreate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agentDefaultCreate.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentDefaultCreate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,eAAe,CAAC;AAKtE;;;GAGG;AACH,wBAAsB,kBAAkB,CACpC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACpB,GACF,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAuE1E"}
1
+ {"version":3,"file":"agentDefaultCreate.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentDefaultCreate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,eAAe,CAAC;AAKtE;;;GAGG;AACH,wBAAsB,kBAAkB,CACpC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACpB,GACF,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAwE1E"}
@@ -21,7 +21,7 @@ export async function agentDefaultCreate(executor, input) {
21
21
  .select({ id: agentImages.id })
22
22
  .from(agentImageSettings)
23
23
  .innerJoin(agentImages, eq(agentImages.id, agentImageSettings.defaultImageId))
24
- .where(and(eq(agentImageSettings.id, 1), eq(agentImages.id, input.imageId), eq(agentImages.status, "ready"), sql `${agentImages.dockerImageId} IS NOT NULL`))
24
+ .where(and(eq(agentImageSettings.id, 1), eq(agentImages.id, input.imageId), eq(agentImages.status, "ready"), isNull(agentImages.deletedAt), sql `${agentImages.dockerImageId} IS NOT NULL`))
25
25
  .limit(1),
26
26
  tx
27
27
  .select({ id: users.id })
@@ -1 +1 @@
1
- {"version":3,"file":"agentDefaultCreate.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentDefaultCreate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentDefaultCreate.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentDefaultCreate.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ export async function agentImageCommitChange(executor, input) {
38
38
  dockerImageId: agentImages.dockerImageId,
39
39
  })
40
40
  .from(agentImages)
41
- .where(eq(agentImages.id, input.imageId))
41
+ .where(and(eq(agentImages.id, input.imageId), isNull(agentImages.deletedAt)))
42
42
  .limit(1);
43
43
  if (!image)
44
44
  throw new CollaborationError("not_found", "Agent image was not found");
@@ -1 +1 @@
1
- {"version":3,"file":"agentImageCommitChange.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageCommitChange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentImageCommitChange.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageCommitChange.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
- * Creates a manageImages-authorized agentImages definition with validated build inputs and an initial lifecycle state.
5
- * Emitting its sync and audit records in the same transaction makes the new definition discoverable only as an authorized operation.
4
+ * Creates an agentImages definition, or reactivates the retained manifest for the same immutable definition, with validated build inputs and a fresh pending build while preserving its cumulative attempt count.
5
+ * Emitting installation provenance, sync evidence, and audit evidence in the same transaction makes either lifecycle transition attributable before the service queues its build.
6
6
  */
7
7
  export declare function agentImageCreate(executor: DrizzleExecutor, input: {
8
- actorUserId: string;
8
+ actorInstallationId?: string;
9
+ actorUserId?: string;
9
10
  definitionHash: string;
10
11
  dockerTag: string;
11
12
  dockerfile: string;
@@ -1 +1 @@
1
- {"version":3,"file":"agentImageCreate.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageCreate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAsB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEjG,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,eAAe,CAAC;AAetE;;;GAGG;AACH,wBAAsB,gBAAgB,CAClC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CAChB,GACF,OAAO,CAAC;IACP,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,iBAAiB,CAAC;CAC5B,CAAC,CAiDD"}
1
+ {"version":3,"file":"agentImageCreate.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageCreate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAsB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEjG,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,eAAe,CAAC;AAetE;;;GAGG;AACH,wBAAsB,gBAAgB,CAClC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CAChB,GACF,OAAO,CAAC;IACP,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,iBAAiB,CAAC;CAC5B,CAAC,CA2GD"}
@@ -6,48 +6,98 @@ import { areaHint } from "../chat/areaHint.js";
6
6
  import { asAgentImage } from "./impl/asAgentImage.js";
7
7
  import { createId } from "@paralleldrive/cuid2";
8
8
  import { isUniqueConstraint } from "../chat/isUniqueConstraint.js";
9
- import { sql } from "drizzle-orm";
9
+ import { and, eq, sql } from "drizzle-orm";
10
10
  import { text } from "../chat/text.js";
11
11
  import { chatAppendAudit } from "../chat/chatAppendAudit.js";
12
12
  import { syncEventInsert } from "../sync/syncEventInsert.js";
13
13
  import { syncSequenceNext } from "../sync/syncSequenceNext.js";
14
14
  import { userRequirePermission } from "../permission/userRequirePermission.js";
15
15
  /**
16
- * Creates a manageImages-authorized agentImages definition with validated build inputs and an initial lifecycle state.
17
- * Emitting its sync and audit records in the same transaction makes the new definition discoverable only as an authorized operation.
16
+ * Creates an agentImages definition, or reactivates the retained manifest for the same immutable definition, with validated build inputs and a fresh pending build while preserving its cumulative attempt count.
17
+ * Emitting installation provenance, sync evidence, and audit evidence in the same transaction makes either lifecycle transition attributable before the service queues its build.
18
18
  */
19
19
  export async function agentImageCreate(executor, input) {
20
20
  return withTransaction(executor, async (tx) => {
21
- await userRequirePermission(tx, input.actorUserId, "manageImages");
22
- let created;
23
- try {
24
- [created] = await tx
25
- .insert(agentImages)
26
- .values({
27
- id: createId(),
21
+ if (input.actorUserId)
22
+ await userRequirePermission(tx, input.actorUserId, "manageImages");
23
+ else if (!input.actorInstallationId)
24
+ throw new CollaborationError("forbidden", "Agent image management authority is required");
25
+ const [existing] = await tx
26
+ .select({
27
+ id: agentImages.id,
28
+ name: agentImages.name,
29
+ builtinKey: agentImages.builtinKey,
30
+ deletedAt: agentImages.deletedAt,
31
+ })
32
+ .from(agentImages)
33
+ .where(eq(agentImages.definitionHash, input.definitionHash))
34
+ .limit(1);
35
+ let image;
36
+ const reactivated = Boolean(existing?.deletedAt);
37
+ if (existing) {
38
+ if (!existing.deletedAt || existing.builtinKey)
39
+ throw new CollaborationError("conflict", "An agent image with this immutable definition already exists");
40
+ [image] = await tx
41
+ .update(agentImages)
42
+ .set({
28
43
  name: input.name,
29
44
  dockerfile: input.dockerfile,
30
- definitionHash: input.definitionHash,
31
45
  dockerTag: input.dockerTag,
32
46
  status: "pending",
47
+ buildProgress: 0,
48
+ buildLog: "",
49
+ buildLogTruncated: 0,
50
+ lastBuildLogLine: null,
51
+ buildLogUpdatedAt: null,
52
+ dockerImageId: null,
53
+ lastError: null,
33
54
  buildRequestedAt: sql `CURRENT_TIMESTAMP`,
34
- createdByUserId: input.actorUserId,
55
+ buildStartedAt: null,
56
+ readyAt: null,
57
+ workerId: null,
58
+ leaseExpiresAt: null,
59
+ deletedAt: null,
60
+ updatedAt: sql `CURRENT_TIMESTAMP`,
35
61
  })
62
+ .where(and(eq(agentImages.id, existing.id), eq(agentImages.deletedAt, existing.deletedAt)))
36
63
  .returning(agentImageSelection);
64
+ if (!image)
65
+ throw new CollaborationError("conflict", "Agent environment changed concurrently");
37
66
  }
38
- catch (error) {
39
- if (isUniqueConstraint(error))
40
- throw new CollaborationError("conflict", "An agent image with this immutable definition already exists");
41
- throw error;
67
+ else {
68
+ try {
69
+ [image] = await tx
70
+ .insert(agentImages)
71
+ .values({
72
+ id: createId(),
73
+ name: input.name,
74
+ dockerfile: input.dockerfile,
75
+ definitionHash: input.definitionHash,
76
+ dockerTag: input.dockerTag,
77
+ status: "pending",
78
+ buildRequestedAt: sql `CURRENT_TIMESTAMP`,
79
+ createdByUserId: input.actorUserId,
80
+ })
81
+ .returning(agentImageSelection);
82
+ }
83
+ catch (error) {
84
+ if (isUniqueConstraint(error))
85
+ throw new CollaborationError("conflict", "An agent image with this immutable definition already exists");
86
+ throw error;
87
+ }
88
+ if (!image)
89
+ throw new Error("Agent image was not created");
42
90
  }
43
- if (!created)
44
- throw new Error("Agent image was not created");
91
+ if (!image)
92
+ throw new Error("Agent image lifecycle transition did not return a record");
45
93
  await chatAppendAudit(tx, {
46
94
  actorUserId: input.actorUserId,
47
- action: "agent_image.created",
95
+ action: reactivated ? "agent_image.reactivated" : "agent_image.created",
48
96
  targetType: "agent_image",
49
- targetId: text(created.id),
97
+ targetId: text(image.id),
98
+ ...(reactivated && existing ? { before: { name: existing.name } } : {}),
50
99
  after: {
100
+ actorInstallationId: input.actorInstallationId,
51
101
  definitionHash: input.definitionHash,
52
102
  name: input.name,
53
103
  },
@@ -55,13 +105,13 @@ export async function agentImageCreate(executor, input) {
55
105
  const sequence = await syncSequenceNext(tx);
56
106
  await syncEventInsert(tx, {
57
107
  sequence,
58
- kind: "agentImage.created",
59
- entityId: text(created.id),
108
+ kind: reactivated ? "agentImage.reactivated" : "agentImage.created",
109
+ entityId: text(image.id),
60
110
  actorUserId: input.actorUserId,
61
111
  });
62
112
  return {
63
113
  hint: areaHint(sequence, "agent-images"),
64
- image: asAgentImage(created),
114
+ image: asAgentImage(image),
65
115
  };
66
116
  });
67
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agentImageCreate.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageCreate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentImageCreate.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageCreate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { type MutationHint } from "../chat/types.js";
2
+ import { type DrizzleExecutor } from "../drizzle.js";
3
+ /**
4
+ * Tombstones an unused custom agentImages definition after human or installation-scoped management authorization.
5
+ * One transaction rejects defaults, assignments, active builds, and plugin selections before retaining the immutable manifest with attributable audit and sync evidence.
6
+ */
7
+ export declare function agentImageDeactivate(executor: DrizzleExecutor, input: {
8
+ actorInstallationId?: string;
9
+ actorUserId?: string;
10
+ imageId: string;
11
+ }): Promise<{
12
+ hint: MutationHint;
13
+ imageId: string;
14
+ }>;
15
+ //# sourceMappingURL=agentImageDeactivate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentImageDeactivate.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageDeactivate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,eAAe,CAAC;AAYtE;;;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;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAuFlD"}
@@ -0,0 +1,92 @@
1
+ import { and, eq, isNull, sql } from "drizzle-orm";
2
+ import { areaHint } from "../chat/areaHint.js";
3
+ import { chatAppendAudit } from "../chat/chatAppendAudit.js";
4
+ import { CollaborationError } from "../chat/types.js";
5
+ import { withTransaction } from "../drizzle.js";
6
+ import { agentImages, agentImageSettings, agentRigBindings, pluginInstallations, users, } from "../schema.js";
7
+ import { syncEventInsert } from "../sync/syncEventInsert.js";
8
+ import { syncSequenceNext } from "../sync/syncSequenceNext.js";
9
+ import { userRequirePermission } from "../permission/userRequirePermission.js";
10
+ /**
11
+ * Tombstones an unused custom agentImages definition after human or installation-scoped management authorization.
12
+ * One transaction rejects defaults, assignments, active builds, and plugin selections before retaining the immutable manifest with attributable audit and sync evidence.
13
+ */
14
+ export async function agentImageDeactivate(executor, input) {
15
+ return withTransaction(executor, async (tx) => {
16
+ if (input.actorUserId)
17
+ await userRequirePermission(tx, input.actorUserId, "manageImages");
18
+ else if (!input.actorInstallationId)
19
+ throw new CollaborationError("forbidden", "Agent image management authority is required");
20
+ const [image] = await tx
21
+ .select({
22
+ id: agentImages.id,
23
+ name: agentImages.name,
24
+ builtinKey: agentImages.builtinKey,
25
+ status: agentImages.status,
26
+ deletedAt: agentImages.deletedAt,
27
+ })
28
+ .from(agentImages)
29
+ .where(eq(agentImages.id, input.imageId))
30
+ .limit(1);
31
+ if (!image)
32
+ throw new CollaborationError("not_found", "Agent environment was not found");
33
+ if (image.deletedAt)
34
+ throw new CollaborationError("conflict", "Agent environment is already deactivated");
35
+ if (image.builtinKey)
36
+ throw new CollaborationError("conflict", "Built-in agent environments cannot be deactivated");
37
+ if (image.status === "pending" || image.status === "building")
38
+ throw new CollaborationError("conflict", "Agent environment cannot be deactivated while its image build is active or queued");
39
+ const [defaultUse, userUse, bindingUse, pluginUse] = await Promise.all([
40
+ tx
41
+ .select({ id: agentImageSettings.id })
42
+ .from(agentImageSettings)
43
+ .where(eq(agentImageSettings.defaultImageId, input.imageId))
44
+ .limit(1)
45
+ .then((rows) => rows[0]),
46
+ tx
47
+ .select({ id: users.id })
48
+ .from(users)
49
+ .where(eq(users.agentImageId, input.imageId))
50
+ .limit(1)
51
+ .then((rows) => rows[0]),
52
+ tx
53
+ .select({ id: agentRigBindings.userId })
54
+ .from(agentRigBindings)
55
+ .where(eq(agentRigBindings.imageId, input.imageId))
56
+ .limit(1)
57
+ .then((rows) => rows[0]),
58
+ tx
59
+ .select({ id: pluginInstallations.id })
60
+ .from(pluginInstallations)
61
+ .where(eq(pluginInstallations.containerImageId, input.imageId))
62
+ .limit(1)
63
+ .then((rows) => rows[0]),
64
+ ]);
65
+ if (defaultUse || userUse || bindingUse || pluginUse)
66
+ throw new CollaborationError("conflict", "Agent environment is in use and cannot be deactivated");
67
+ const deactivated = await tx
68
+ .update(agentImages)
69
+ .set({ deletedAt: sql `CURRENT_TIMESTAMP`, updatedAt: sql `CURRENT_TIMESTAMP` })
70
+ .where(and(eq(agentImages.id, input.imageId), isNull(agentImages.deletedAt)))
71
+ .returning({ id: agentImages.id });
72
+ if (deactivated.length !== 1)
73
+ throw new CollaborationError("conflict", "Agent environment changed concurrently");
74
+ await chatAppendAudit(tx, {
75
+ actorUserId: input.actorUserId,
76
+ action: "agent_image.deactivated",
77
+ targetType: "agent_image",
78
+ targetId: input.imageId,
79
+ before: { name: image.name },
80
+ after: { actorInstallationId: input.actorInstallationId },
81
+ });
82
+ const sequence = await syncSequenceNext(tx);
83
+ await syncEventInsert(tx, {
84
+ sequence,
85
+ kind: "agentImage.deactivated",
86
+ entityId: input.imageId,
87
+ actorUserId: input.actorUserId,
88
+ });
89
+ return { hint: areaHint(sequence, "agent-images"), imageId: input.imageId };
90
+ });
91
+ }
92
+ //# sourceMappingURL=agentImageDeactivate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentImageDeactivate.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageDeactivate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { DrizzleExecutor } from "../drizzle.js";
2
+ /**
3
+ * Reads one immutable agent environment Dockerfile after plugin-host capability authorization.
4
+ * This focused projection avoids exposing build logs, provider identifiers, or administrator-only image metadata.
5
+ */
6
+ export declare function agentImageDockerfileGetForHost(executor: DrizzleExecutor, imageId: string): Promise<{
7
+ id: string;
8
+ name: string;
9
+ dockerfile: string;
10
+ active: boolean;
11
+ }>;
12
+ //# sourceMappingURL=agentImageDockerfileGetForHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentImageDockerfileGetForHost.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageDockerfileGetForHost.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrD;;;GAGG;AACH,wBAAsB,8BAA8B,CAChD,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAkB5E"}
@@ -0,0 +1,28 @@
1
+ import { eq } from "drizzle-orm";
2
+ import { CollaborationError } from "../chat/types.js";
3
+ import { agentImages } from "../schema.js";
4
+ /**
5
+ * Reads one immutable agent environment Dockerfile after plugin-host capability authorization.
6
+ * This focused projection avoids exposing build logs, provider identifiers, or administrator-only image metadata.
7
+ */
8
+ export async function agentImageDockerfileGetForHost(executor, imageId) {
9
+ const [image] = await executor
10
+ .select({
11
+ id: agentImages.id,
12
+ name: agentImages.name,
13
+ dockerfile: agentImages.dockerfile,
14
+ deletedAt: agentImages.deletedAt,
15
+ })
16
+ .from(agentImages)
17
+ .where(eq(agentImages.id, imageId))
18
+ .limit(1);
19
+ if (!image)
20
+ throw new CollaborationError("not_found", "Agent environment was not found");
21
+ return {
22
+ id: image.id,
23
+ name: image.name,
24
+ dockerfile: image.dockerfile,
25
+ active: image.deletedAt === null,
26
+ };
27
+ }
28
+ //# sourceMappingURL=agentImageDockerfileGetForHost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentImageDockerfileGetForHost.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageDockerfileGetForHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAChD,QAAyB,EACzB,OAAe;IAEf,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,QAAQ;SACzB,MAAM,CAAC;QACJ,EAAE,EAAE,WAAW,CAAC,EAAE;QAClB,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,SAAS,EAAE,WAAW,CAAC,SAAS;KACnC,CAAC;SACD,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,iCAAiC,CAAC,CAAC;IACzF,OAAO;QACH,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,MAAM,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI;KACnC,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agentImageFindDefinition.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageFindDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAMrD;;;GAGG;AACH,wBAAsB,wBAAwB,CAC1C,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE;IAAE,UAAU,EAAE,cAAc,GAAG,iBAAiB,CAAA;CAAE,GAAG;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,GAC1F,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAaxC"}
1
+ {"version":3,"file":"agentImageFindDefinition.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentImageFindDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAMrD;;;GAGG;AACH,wBAAsB,wBAAwB,CAC1C,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE;IAAE,UAAU,EAAE,cAAc,GAAG,iBAAiB,CAAA;CAAE,GAAG;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,GAC1F,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAcxC"}
@@ -1,5 +1,5 @@
1
1
  import { agentImages } from "../schema.js";
2
- import { and, eq } from "drizzle-orm";
2
+ import { and, eq, isNull } from "drizzle-orm";
3
3
  import { asAgentImage } from "./impl/asAgentImage.js";
4
4
  import { agentImageSelection } from "./impl/agentImageSelection.js";
5
5
  /**
@@ -12,7 +12,7 @@ export async function agentImageFindDefinition(executor, selector) {
12
12
  .from(agentImages)
13
13
  .where(and("builtinKey" in selector
14
14
  ? eq(agentImages.builtinKey, selector.builtinKey)
15
- : eq(agentImages.definitionHash, selector.definitionHash)))
15
+ : eq(agentImages.definitionHash, selector.definitionHash), isNull(agentImages.deletedAt)))
16
16
  .limit(1);
17
17
  return image ? asAgentImage(image) : undefined;
18
18
  }