@app-vitals/agent-admin 1.2.7 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/openapi.json +7 -2
- package/openapi.platform.json +7 -2
- package/package.json +2 -2
- package/prisma/client/browser.ts +10 -0
- package/prisma/client/client.ts +10 -0
- package/prisma/client/internal/class.ts +24 -4
- package/prisma/client/internal/prismaNamespace.ts +183 -2
- package/prisma/client/internal/prismaNamespaceBrowser.ts +32 -1
- package/prisma/client/models/Agent.ts +282 -0
- package/prisma/client/models/AgentMarketplace.ts +1421 -0
- package/prisma/client/models/GitHubEnterpriseApp.ts +1289 -0
- package/prisma/client/models.ts +2 -0
- package/prisma/migrations/20261101000000_add_agent_marketplace/migration.sql +19 -0
- package/prisma/migrations/20261109000000_add_github_enterprise_app/migration.sql +16 -0
- package/prisma/schema/schema.prisma +37 -0
- package/src/agent-account-assignment.ts +12 -0
- package/src/agent-account-assignment.unit.test.ts +35 -1
- package/src/agent-marketplaces.integration.test.ts +82 -0
- package/src/agents-api.smoke.test.ts +198 -0
- package/src/agents-api.specialty.integration.test.ts +217 -0
- package/src/agents-api.ts +48 -3
- package/src/agents.ts +5 -0
- package/src/github-enterprise-apps.integration.test.ts +152 -0
- package/src/github-enterprise-apps.ts +204 -0
- package/src/github-enterprise-apps.unit.test.ts +42 -0
- package/src/openapi-schemas.ts +4 -0
- package/src/token-crypto.ts +25 -0
- package/src/token-crypto.unit.test.ts +24 -1
package/openapi.json
CHANGED
|
@@ -340,6 +340,11 @@
|
|
|
340
340
|
"type": "boolean",
|
|
341
341
|
"example": false
|
|
342
342
|
},
|
|
343
|
+
"specialty": {
|
|
344
|
+
"type": "string",
|
|
345
|
+
"minLength": 1,
|
|
346
|
+
"example": "specialist"
|
|
347
|
+
},
|
|
343
348
|
"repos": {
|
|
344
349
|
"type": "array",
|
|
345
350
|
"items": {
|
|
@@ -3568,7 +3573,7 @@
|
|
|
3568
3573
|
},
|
|
3569
3574
|
"patch": {
|
|
3570
3575
|
"summary": "Update an agent",
|
|
3571
|
-
"description": "Admin-only. Updates `selfHosted`, `repos`, `reviewAuthorAllowlist`, `patchAuthorAllowlist`, `restrictSlackToMembers`, `slackId`, `trialExpiresAt`, `accountId` (platform admin only — 403 for session members; `null` clears it; reconciles the workload of in-cluster agents; does not move historical task-store rows), and/or `podServiceAccountName` (platform admin only — 403 otherwise; `null` clears it; 409 unless SHIPWRIGHT_K8S_AGENT_POD_SERVICE_ACCOUNT_ENABLED is on; 422 for agents with a per-agent federated identity; reconciles the workload so the pod is recreated under the new ServiceAccount). `specialty` and `trialExpiryWarnedAt`
|
|
3576
|
+
"description": "Admin-only. Updates `selfHosted`, `repos`, `reviewAuthorAllowlist`, `patchAuthorAllowlist`, `restrictSlackToMembers`, `slackId`, `trialExpiresAt`, `accountId` (platform admin only — 403 for session members; `null` clears it; reconciles the workload of in-cluster agents; does not move historical task-store rows), and/or `podServiceAccountName` (platform admin only — 403 otherwise; `null` clears it; 409 unless SHIPWRIGHT_K8S_AGENT_POD_SERVICE_ACCOUNT_ENABLED is on; 422 for agents with a per-agent federated identity; reconciles the workload so the pod is recreated under the new ServiceAccount). `specialty` (platform admin only — 403 otherwise; 422 when the type is unknown; a no-op when unchanged; otherwise persists the new type, reconciles the agent's system crons against it — system crons the new type does not declare are deleted, user crons survive — and reconciles the workload of in-cluster agents so the pod runs the image mapped to the new specialty). `trialExpiryWarnedAt` is not updatable via this route. `repos` here REPLACES the whole list; for incremental changes use `POST /agents/{id}/repos` (add) and `DELETE /agents/{id}/repos/{owner}/{name}` (remove). Returns the updated agent, including a `warning` field when `restrictSlackToMembers` is set true on an agent with zero members.",
|
|
3572
3577
|
"parameters": [
|
|
3573
3578
|
{
|
|
3574
3579
|
"schema": {
|
|
@@ -3641,7 +3646,7 @@
|
|
|
3641
3646
|
}
|
|
3642
3647
|
},
|
|
3643
3648
|
"422": {
|
|
3644
|
-
"description": "podServiceAccountName supplied for an agent with a per-agent federated identity",
|
|
3649
|
+
"description": "podServiceAccountName supplied for an agent with a per-agent federated identity, or `specialty` naming an unknown type",
|
|
3645
3650
|
"content": {
|
|
3646
3651
|
"application/json": {
|
|
3647
3652
|
"schema": {
|
package/openapi.platform.json
CHANGED
|
@@ -340,6 +340,11 @@
|
|
|
340
340
|
"type": "boolean",
|
|
341
341
|
"example": false
|
|
342
342
|
},
|
|
343
|
+
"specialty": {
|
|
344
|
+
"type": "string",
|
|
345
|
+
"minLength": 1,
|
|
346
|
+
"example": "specialist"
|
|
347
|
+
},
|
|
343
348
|
"repos": {
|
|
344
349
|
"type": "array",
|
|
345
350
|
"items": {
|
|
@@ -3396,7 +3401,7 @@
|
|
|
3396
3401
|
},
|
|
3397
3402
|
"patch": {
|
|
3398
3403
|
"summary": "Update an agent",
|
|
3399
|
-
"description": "Admin-only. Updates `selfHosted`, `repos`, `reviewAuthorAllowlist`, `patchAuthorAllowlist`, `restrictSlackToMembers`, `slackId`, `trialExpiresAt`, `accountId` (platform admin only — 403 for session members; `null` clears it; reconciles the workload of in-cluster agents; does not move historical task-store rows), and/or `podServiceAccountName` (platform admin only — 403 otherwise; `null` clears it; 409 unless SHIPWRIGHT_K8S_AGENT_POD_SERVICE_ACCOUNT_ENABLED is on; 422 for agents with a per-agent federated identity; reconciles the workload so the pod is recreated under the new ServiceAccount). `specialty` and `trialExpiryWarnedAt`
|
|
3404
|
+
"description": "Admin-only. Updates `selfHosted`, `repos`, `reviewAuthorAllowlist`, `patchAuthorAllowlist`, `restrictSlackToMembers`, `slackId`, `trialExpiresAt`, `accountId` (platform admin only — 403 for session members; `null` clears it; reconciles the workload of in-cluster agents; does not move historical task-store rows), and/or `podServiceAccountName` (platform admin only — 403 otherwise; `null` clears it; 409 unless SHIPWRIGHT_K8S_AGENT_POD_SERVICE_ACCOUNT_ENABLED is on; 422 for agents with a per-agent federated identity; reconciles the workload so the pod is recreated under the new ServiceAccount). `specialty` (platform admin only — 403 otherwise; 422 when the type is unknown; a no-op when unchanged; otherwise persists the new type, reconciles the agent's system crons against it — system crons the new type does not declare are deleted, user crons survive — and reconciles the workload of in-cluster agents so the pod runs the image mapped to the new specialty). `trialExpiryWarnedAt` is not updatable via this route. `repos` here REPLACES the whole list; for incremental changes use `POST /agents/{id}/repos` (add) and `DELETE /agents/{id}/repos/{owner}/{name}` (remove). Returns the updated agent, including a `warning` field when `restrictSlackToMembers` is set true on an agent with zero members.",
|
|
3400
3405
|
"parameters": [
|
|
3401
3406
|
{
|
|
3402
3407
|
"schema": {
|
|
@@ -3469,7 +3474,7 @@
|
|
|
3469
3474
|
}
|
|
3470
3475
|
},
|
|
3471
3476
|
"422": {
|
|
3472
|
-
"description": "podServiceAccountName supplied for an agent with a per-agent federated identity",
|
|
3477
|
+
"description": "podServiceAccountName supplied for an agent with a per-agent federated identity, or `specialty` naming an unknown type",
|
|
3473
3478
|
"content": {
|
|
3474
3479
|
"application/json": {
|
|
3475
3480
|
"schema": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@app-vitals/agent-admin",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/app-vitals/agent.git",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@anthropic-ai/sdk": "0.135.0",
|
|
45
|
-
"@app-vitals/agent-lib": "1.
|
|
45
|
+
"@app-vitals/agent-lib": "1.4.0",
|
|
46
46
|
"@hono/zod-openapi": "^1.0.0",
|
|
47
47
|
"@prisma/adapter-pg": "^7.10.0",
|
|
48
48
|
"@prisma/client": "^7.10.0",
|
package/prisma/client/browser.ts
CHANGED
|
@@ -47,6 +47,11 @@ export type Agent = Prisma.AgentModel
|
|
|
47
47
|
*
|
|
48
48
|
*/
|
|
49
49
|
export type AgentEnv = Prisma.AgentEnvModel
|
|
50
|
+
/**
|
|
51
|
+
* Model GitHubEnterpriseApp
|
|
52
|
+
*
|
|
53
|
+
*/
|
|
54
|
+
export type GitHubEnterpriseApp = Prisma.GitHubEnterpriseAppModel
|
|
50
55
|
/**
|
|
51
56
|
* Model AgentCronJob
|
|
52
57
|
*
|
|
@@ -147,3 +152,8 @@ export type ChatThreadWatch = Prisma.ChatThreadWatchModel
|
|
|
147
152
|
*
|
|
148
153
|
*/
|
|
149
154
|
export type UserNotificationPrefs = Prisma.UserNotificationPrefsModel
|
|
155
|
+
/**
|
|
156
|
+
* Model AgentMarketplace
|
|
157
|
+
*
|
|
158
|
+
*/
|
|
159
|
+
export type AgentMarketplace = Prisma.AgentMarketplaceModel
|
package/prisma/client/client.ts
CHANGED
|
@@ -71,6 +71,11 @@ export type Agent = Prisma.AgentModel
|
|
|
71
71
|
*
|
|
72
72
|
*/
|
|
73
73
|
export type AgentEnv = Prisma.AgentEnvModel
|
|
74
|
+
/**
|
|
75
|
+
* Model GitHubEnterpriseApp
|
|
76
|
+
*
|
|
77
|
+
*/
|
|
78
|
+
export type GitHubEnterpriseApp = Prisma.GitHubEnterpriseAppModel
|
|
74
79
|
/**
|
|
75
80
|
* Model AgentCronJob
|
|
76
81
|
*
|
|
@@ -171,3 +176,8 @@ export type ChatThreadWatch = Prisma.ChatThreadWatchModel
|
|
|
171
176
|
*
|
|
172
177
|
*/
|
|
173
178
|
export type UserNotificationPrefs = Prisma.UserNotificationPrefsModel
|
|
179
|
+
/**
|
|
180
|
+
* Model AgentMarketplace
|
|
181
|
+
*
|
|
182
|
+
*/
|
|
183
|
+
export type AgentMarketplace = Prisma.AgentMarketplaceModel
|