@beacon-build/sdk 2.3.0 → 2.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/CHANGELOG.md +21 -0
- package/README.md +134 -0
- package/dist/clients/auth.client.d.ts.map +1 -1
- package/dist/clients/auth.client.js +3 -2
- package/dist/clients/auth.client.js.map +1 -1
- package/dist/index.auth-and-capture.d.ts +6 -4
- package/dist/index.auth-and-capture.d.ts.map +1 -1
- package/dist/index.auth-and-capture.js +6 -5
- package/dist/index.auth-and-capture.js.map +1 -1
- package/dist/index.d.ts +14 -45
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -45
- package/dist/index.js.map +1 -1
- package/dist/manifest.agent-entries.d.ts +2 -1
- package/dist/manifest.agent-entries.d.ts.map +1 -1
- package/dist/manifest.agent-entries.js +2 -1
- package/dist/manifest.agent-entries.js.map +1 -1
- package/dist/manifest.d.ts +14 -11
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +16 -18
- package/dist/manifest.js.map +1 -1
- package/dist/manifest.negative-list.d.ts +6 -0
- package/dist/manifest.negative-list.d.ts.map +1 -1
- package/dist/manifest.negative-list.js +92 -1
- package/dist/manifest.negative-list.js.map +1 -1
- package/dist/manifest.public-entries.d.ts +10 -0
- package/dist/manifest.public-entries.d.ts.map +1 -0
- package/dist/manifest.public-entries.js +16 -0
- package/dist/manifest.public-entries.js.map +1 -0
- package/dist/realtime/realtime.client.js +2 -2
- package/dist/realtime/realtime.client.js.map +1 -1
- package/dist/transport/binary-client.js +1 -1
- package/dist/transport/binary-client.js.map +1 -1
- package/dist/transport/errors.d.ts +32 -1
- package/dist/transport/errors.d.ts.map +1 -1
- package/dist/transport/errors.js.map +1 -1
- package/dist/transport/http-client.d.ts +1 -1
- package/dist/transport/http-client.d.ts.map +1 -1
- package/dist/transport/http-client.js +17 -6
- package/dist/transport/http-client.js.map +1 -1
- package/dist/transport/multipart-client.d.ts.map +1 -1
- package/dist/transport/multipart-client.js +3 -2
- package/dist/transport/multipart-client.js.map +1 -1
- package/dist/transport/sse-client.js +1 -1
- package/dist/transport/sse-client.js.map +1 -1
- package/package.json +2 -2
- package/dist/auth/argus-jwt.d.ts +0 -30
- package/dist/auth/argus-jwt.d.ts.map +0 -1
- package/dist/auth/argus-jwt.js +0 -41
- package/dist/auth/argus-jwt.js.map +0 -1
- package/dist/clients/admin/access-grants.client.d.ts +0 -59
- package/dist/clients/admin/access-grants.client.d.ts.map +0 -1
- package/dist/clients/admin/access-grants.client.js +0 -21
- package/dist/clients/admin/access-grants.client.js.map +0 -1
- package/dist/clients/admin/activity.client.d.ts +0 -33
- package/dist/clients/admin/activity.client.d.ts.map +0 -1
- package/dist/clients/admin/activity.client.js +0 -28
- package/dist/clients/admin/activity.client.js.map +0 -1
- package/dist/clients/admin/agents.client.d.ts +0 -66
- package/dist/clients/admin/agents.client.d.ts.map +0 -1
- package/dist/clients/admin/agents.client.js +0 -150
- package/dist/clients/admin/agents.client.js.map +0 -1
- package/dist/clients/admin/assets.client.d.ts +0 -24
- package/dist/clients/admin/assets.client.d.ts.map +0 -1
- package/dist/clients/admin/assets.client.js +0 -34
- package/dist/clients/admin/assets.client.js.map +0 -1
- package/dist/clients/admin/conversation-messages.client.d.ts +0 -34
- package/dist/clients/admin/conversation-messages.client.d.ts.map +0 -1
- package/dist/clients/admin/conversation-messages.client.js +0 -61
- package/dist/clients/admin/conversation-messages.client.js.map +0 -1
- package/dist/clients/admin/daemon-admin.client.d.ts +0 -100
- package/dist/clients/admin/daemon-admin.client.d.ts.map +0 -1
- package/dist/clients/admin/daemon-admin.client.js +0 -37
- package/dist/clients/admin/daemon-admin.client.js.map +0 -1
- package/dist/clients/admin/db.client.d.ts +0 -12
- package/dist/clients/admin/db.client.d.ts.map +0 -1
- package/dist/clients/admin/db.client.js +0 -13
- package/dist/clients/admin/db.client.js.map +0 -1
- package/dist/clients/admin/documents.client.d.ts +0 -75
- package/dist/clients/admin/documents.client.d.ts.map +0 -1
- package/dist/clients/admin/documents.client.js +0 -123
- package/dist/clients/admin/documents.client.js.map +0 -1
- package/dist/clients/admin/executions.client.d.ts +0 -68
- package/dist/clients/admin/executions.client.d.ts.map +0 -1
- package/dist/clients/admin/executions.client.js +0 -67
- package/dist/clients/admin/executions.client.js.map +0 -1
- package/dist/clients/admin/github-proxy.client.d.ts +0 -51
- package/dist/clients/admin/github-proxy.client.d.ts.map +0 -1
- package/dist/clients/admin/github-proxy.client.js +0 -55
- package/dist/clients/admin/github-proxy.client.js.map +0 -1
- package/dist/clients/admin/memories.client.d.ts +0 -69
- package/dist/clients/admin/memories.client.d.ts.map +0 -1
- package/dist/clients/admin/memories.client.js +0 -126
- package/dist/clients/admin/memories.client.js.map +0 -1
- package/dist/clients/admin/metrics.client.d.ts +0 -80
- package/dist/clients/admin/metrics.client.d.ts.map +0 -1
- package/dist/clients/admin/metrics.client.js +0 -71
- package/dist/clients/admin/metrics.client.js.map +0 -1
- package/dist/clients/admin/model-health-check.client.d.ts +0 -33
- package/dist/clients/admin/model-health-check.client.d.ts.map +0 -1
- package/dist/clients/admin/model-health-check.client.js +0 -23
- package/dist/clients/admin/model-health-check.client.js.map +0 -1
- package/dist/clients/admin/ops-admin.client.d.ts +0 -206
- package/dist/clients/admin/ops-admin.client.d.ts.map +0 -1
- package/dist/clients/admin/ops-admin.client.js +0 -47
- package/dist/clients/admin/ops-admin.client.js.map +0 -1
- package/dist/clients/admin/organizations.client.d.ts +0 -74
- package/dist/clients/admin/organizations.client.d.ts.map +0 -1
- package/dist/clients/admin/organizations.client.js +0 -74
- package/dist/clients/admin/organizations.client.js.map +0 -1
- package/dist/clients/admin/planning.client.d.ts +0 -17
- package/dist/clients/admin/planning.client.d.ts.map +0 -1
- package/dist/clients/admin/planning.client.js +0 -58
- package/dist/clients/admin/planning.client.js.map +0 -1
- package/dist/clients/admin/portal.client.d.ts +0 -104
- package/dist/clients/admin/portal.client.d.ts.map +0 -1
- package/dist/clients/admin/portal.client.js +0 -122
- package/dist/clients/admin/portal.client.js.map +0 -1
- package/dist/clients/admin/projects.client.d.ts +0 -190
- package/dist/clients/admin/projects.client.d.ts.map +0 -1
- package/dist/clients/admin/projects.client.js +0 -122
- package/dist/clients/admin/projects.client.js.map +0 -1
- package/dist/clients/admin/roster.client.d.ts +0 -27
- package/dist/clients/admin/roster.client.d.ts.map +0 -1
- package/dist/clients/admin/roster.client.js +0 -30
- package/dist/clients/admin/roster.client.js.map +0 -1
- package/dist/clients/admin/sessions.client.d.ts +0 -70
- package/dist/clients/admin/sessions.client.d.ts.map +0 -1
- package/dist/clients/admin/sessions.client.js +0 -116
- package/dist/clients/admin/sessions.client.js.map +0 -1
- package/dist/clients/admin/settings.client.d.ts +0 -98
- package/dist/clients/admin/settings.client.d.ts.map +0 -1
- package/dist/clients/admin/settings.client.js +0 -72
- package/dist/clients/admin/settings.client.js.map +0 -1
- package/dist/clients/admin/task-events.types.d.ts +0 -73
- package/dist/clients/admin/task-events.types.d.ts.map +0 -1
- package/dist/clients/admin/task-events.types.js +0 -6
- package/dist/clients/admin/task-events.types.js.map +0 -1
- package/dist/clients/admin/tasks-attachments.client.d.ts +0 -31
- package/dist/clients/admin/tasks-attachments.client.d.ts.map +0 -1
- package/dist/clients/admin/tasks-attachments.client.js +0 -29
- package/dist/clients/admin/tasks-attachments.client.js.map +0 -1
- package/dist/clients/admin/tasks-doc-links.client.d.ts +0 -15
- package/dist/clients/admin/tasks-doc-links.client.d.ts.map +0 -1
- package/dist/clients/admin/tasks-doc-links.client.js +0 -10
- package/dist/clients/admin/tasks-doc-links.client.js.map +0 -1
- package/dist/clients/admin/tasks-links.client.d.ts +0 -13
- package/dist/clients/admin/tasks-links.client.d.ts.map +0 -1
- package/dist/clients/admin/tasks-links.client.js +0 -10
- package/dist/clients/admin/tasks-links.client.js.map +0 -1
- package/dist/clients/admin/tasks-list-params.d.ts +0 -7
- package/dist/clients/admin/tasks-list-params.d.ts.map +0 -1
- package/dist/clients/admin/tasks-list-params.js +0 -48
- package/dist/clients/admin/tasks-list-params.js.map +0 -1
- package/dist/clients/admin/tasks-pr.client.d.ts +0 -17
- package/dist/clients/admin/tasks-pr.client.d.ts.map +0 -1
- package/dist/clients/admin/tasks-pr.client.js +0 -11
- package/dist/clients/admin/tasks-pr.client.js.map +0 -1
- package/dist/clients/admin/tasks-ref.client.d.ts +0 -16
- package/dist/clients/admin/tasks-ref.client.d.ts.map +0 -1
- package/dist/clients/admin/tasks-ref.client.js +0 -22
- package/dist/clients/admin/tasks-ref.client.js.map +0 -1
- package/dist/clients/admin/tasks.client.d.ts +0 -87
- package/dist/clients/admin/tasks.client.d.ts.map +0 -1
- package/dist/clients/admin/tasks.client.js +0 -183
- package/dist/clients/admin/tasks.client.js.map +0 -1
- package/dist/clients/admin/tasks.types.d.ts +0 -147
- package/dist/clients/admin/tasks.types.d.ts.map +0 -1
- package/dist/clients/admin/tasks.types.js +0 -2
- package/dist/clients/admin/tasks.types.js.map +0 -1
- package/dist/clients/admin/tool-calls.client.d.ts +0 -12
- package/dist/clients/admin/tool-calls.client.d.ts.map +0 -1
- package/dist/clients/admin/tool-calls.client.js +0 -29
- package/dist/clients/admin/tool-calls.client.js.map +0 -1
- package/dist/clients/admin/usage.client.d.ts +0 -138
- package/dist/clients/admin/usage.client.d.ts.map +0 -1
- package/dist/clients/admin/usage.client.js +0 -96
- package/dist/clients/admin/usage.client.js.map +0 -1
- package/dist/clients/admin/users.client.d.ts +0 -137
- package/dist/clients/admin/users.client.d.ts.map +0 -1
- package/dist/clients/admin/users.client.js +0 -133
- package/dist/clients/admin/users.client.js.map +0 -1
- package/dist/clients/external-session-registrar.d.ts +0 -16
- package/dist/clients/external-session-registrar.d.ts.map +0 -1
- package/dist/clients/external-session-registrar.js +0 -29
- package/dist/clients/external-session-registrar.js.map +0 -1
- package/dist/clients/ops/agent-authorization-ops.client.d.ts +0 -29
- package/dist/clients/ops/agent-authorization-ops.client.d.ts.map +0 -1
- package/dist/clients/ops/agent-authorization-ops.client.js +0 -34
- package/dist/clients/ops/agent-authorization-ops.client.js.map +0 -1
- package/dist/clients/ops/agents-affinity-ops.client.d.ts +0 -27
- package/dist/clients/ops/agents-affinity-ops.client.d.ts.map +0 -1
- package/dist/clients/ops/agents-affinity-ops.client.js +0 -14
- package/dist/clients/ops/agents-affinity-ops.client.js.map +0 -1
- package/dist/clients/ops/agents-mint-ops.client.d.ts +0 -34
- package/dist/clients/ops/agents-mint-ops.client.d.ts.map +0 -1
- package/dist/clients/ops/agents-mint-ops.client.js +0 -55
- package/dist/clients/ops/agents-mint-ops.client.js.map +0 -1
- package/dist/clients/ops/agents-ops.client.d.ts +0 -120
- package/dist/clients/ops/agents-ops.client.d.ts.map +0 -1
- package/dist/clients/ops/agents-ops.client.js +0 -217
- package/dist/clients/ops/agents-ops.client.js.map +0 -1
- package/dist/clients/ops/agents-stats-ops.client.d.ts +0 -19
- package/dist/clients/ops/agents-stats-ops.client.d.ts.map +0 -1
- package/dist/clients/ops/agents-stats-ops.client.js +0 -10
- package/dist/clients/ops/agents-stats-ops.client.js.map +0 -1
- package/dist/clients/ops/campaign-events-ops.client.d.ts +0 -38
- package/dist/clients/ops/campaign-events-ops.client.d.ts.map +0 -1
- package/dist/clients/ops/campaign-events-ops.client.js +0 -28
- package/dist/clients/ops/campaign-events-ops.client.js.map +0 -1
- package/dist/clients/ops/conversation-messages-ops.client.d.ts +0 -10
- package/dist/clients/ops/conversation-messages-ops.client.d.ts.map +0 -1
- package/dist/clients/ops/conversation-messages-ops.client.js +0 -20
- package/dist/clients/ops/conversation-messages-ops.client.js.map +0 -1
- package/dist/clients/ops/documents-ops.client.d.ts +0 -20
- package/dist/clients/ops/documents-ops.client.d.ts.map +0 -1
- package/dist/clients/ops/documents-ops.client.js +0 -31
- package/dist/clients/ops/documents-ops.client.js.map +0 -1
- package/dist/clients/ops/github-credential-ops.client.d.ts +0 -29
- package/dist/clients/ops/github-credential-ops.client.d.ts.map +0 -1
- package/dist/clients/ops/github-credential-ops.client.js +0 -32
- package/dist/clients/ops/github-credential-ops.client.js.map +0 -1
- package/dist/clients/ops/leads-ops.client.d.ts +0 -36
- package/dist/clients/ops/leads-ops.client.d.ts.map +0 -1
- package/dist/clients/ops/leads-ops.client.js +0 -35
- package/dist/clients/ops/leads-ops.client.js.map +0 -1
- package/dist/clients/ops/memories-ops.client.d.ts +0 -25
- package/dist/clients/ops/memories-ops.client.d.ts.map +0 -1
- package/dist/clients/ops/memories-ops.client.js +0 -75
- package/dist/clients/ops/memories-ops.client.js.map +0 -1
- package/dist/clients/ops/metrics-ops.client.d.ts +0 -38
- package/dist/clients/ops/metrics-ops.client.d.ts.map +0 -1
- package/dist/clients/ops/metrics-ops.client.js +0 -23
- package/dist/clients/ops/metrics-ops.client.js.map +0 -1
- package/dist/clients/ops/ops-db.client.d.ts +0 -49
- package/dist/clients/ops/ops-db.client.d.ts.map +0 -1
- package/dist/clients/ops/ops-db.client.js +0 -62
- package/dist/clients/ops/ops-db.client.js.map +0 -1
- package/dist/clients/ops/ops-logs.client.d.ts +0 -63
- package/dist/clients/ops/ops-logs.client.d.ts.map +0 -1
- package/dist/clients/ops/ops-logs.client.js +0 -68
- package/dist/clients/ops/ops-logs.client.js.map +0 -1
- package/dist/clients/ops/ops-mq.client.d.ts +0 -33
- package/dist/clients/ops/ops-mq.client.d.ts.map +0 -1
- package/dist/clients/ops/ops-mq.client.js +0 -18
- package/dist/clients/ops/ops-mq.client.js.map +0 -1
- package/dist/clients/ops/ops-northflank.client.d.ts +0 -48
- package/dist/clients/ops/ops-northflank.client.d.ts.map +0 -1
- package/dist/clients/ops/ops-northflank.client.js +0 -55
- package/dist/clients/ops/ops-northflank.client.js.map +0 -1
- package/dist/clients/ops/ops-storage.client.d.ts +0 -34
- package/dist/clients/ops/ops-storage.client.d.ts.map +0 -1
- package/dist/clients/ops/ops-storage.client.js +0 -39
- package/dist/clients/ops/ops-storage.client.js.map +0 -1
- package/dist/clients/ops/ops-workers.client.d.ts +0 -63
- package/dist/clients/ops/ops-workers.client.d.ts.map +0 -1
- package/dist/clients/ops/ops-workers.client.js +0 -109
- package/dist/clients/ops/ops-workers.client.js.map +0 -1
- package/dist/clients/ops/ops-workers.types.d.ts +0 -179
- package/dist/clients/ops/ops-workers.types.d.ts.map +0 -1
- package/dist/clients/ops/ops-workers.types.js +0 -2
- package/dist/clients/ops/ops-workers.types.js.map +0 -1
- package/dist/clients/ops/projects-ops.client.d.ts +0 -20
- package/dist/clients/ops/projects-ops.client.d.ts.map +0 -1
- package/dist/clients/ops/projects-ops.client.js +0 -18
- package/dist/clients/ops/projects-ops.client.js.map +0 -1
- package/dist/clients/ops/realtime-ops.client.d.ts +0 -14
- package/dist/clients/ops/realtime-ops.client.d.ts.map +0 -1
- package/dist/clients/ops/realtime-ops.client.js +0 -10
- package/dist/clients/ops/realtime-ops.client.js.map +0 -1
- package/dist/clients/ops/sessions-ops.client.d.ts +0 -60
- package/dist/clients/ops/sessions-ops.client.d.ts.map +0 -1
- package/dist/clients/ops/sessions-ops.client.js +0 -139
- package/dist/clients/ops/sessions-ops.client.js.map +0 -1
- package/dist/clients/ops/tasks-ops.client.d.ts +0 -20
- package/dist/clients/ops/tasks-ops.client.d.ts.map +0 -1
- package/dist/clients/ops/tasks-ops.client.js +0 -39
- package/dist/clients/ops/tasks-ops.client.js.map +0 -1
- package/dist/clients/ops/thread-messaging.client.d.ts +0 -93
- package/dist/clients/ops/thread-messaging.client.d.ts.map +0 -1
- package/dist/clients/ops/thread-messaging.client.js +0 -153
- package/dist/clients/ops/thread-messaging.client.js.map +0 -1
- package/dist/clients/ops/thread-messaging.inbox-read.d.ts +0 -50
- package/dist/clients/ops/thread-messaging.inbox-read.d.ts.map +0 -1
- package/dist/clients/ops/thread-messaging.inbox-read.js +0 -70
- package/dist/clients/ops/thread-messaging.inbox-read.js.map +0 -1
- package/dist/clients/ops/thread-messaging.lifecycle.d.ts +0 -29
- package/dist/clients/ops/thread-messaging.lifecycle.d.ts.map +0 -1
- package/dist/clients/ops/thread-messaging.lifecycle.js +0 -50
- package/dist/clients/ops/thread-messaging.lifecycle.js.map +0 -1
- package/dist/clients/ops/thread-messaging.owner-scope.d.ts +0 -54
- package/dist/clients/ops/thread-messaging.owner-scope.d.ts.map +0 -1
- package/dist/clients/ops/thread-messaging.owner-scope.js +0 -33
- package/dist/clients/ops/thread-messaging.owner-scope.js.map +0 -1
- package/dist/clients/ops/thread-messaging.transport.d.ts +0 -20
- package/dist/clients/ops/thread-messaging.transport.d.ts.map +0 -1
- package/dist/clients/ops/thread-messaging.transport.js +0 -42
- package/dist/clients/ops/thread-messaging.transport.js.map +0 -1
- package/dist/clients/ops/thread-messaging.types.d.ts +0 -60
- package/dist/clients/ops/thread-messaging.types.d.ts.map +0 -1
- package/dist/clients/ops/thread-messaging.types.js +0 -2
- package/dist/clients/ops/thread-messaging.types.js.map +0 -1
- package/dist/clients/ops/tool-calls-ops.client.d.ts +0 -12
- package/dist/clients/ops/tool-calls-ops.client.d.ts.map +0 -1
- package/dist/clients/ops/tool-calls-ops.client.js +0 -29
- package/dist/clients/ops/tool-calls-ops.client.js.map +0 -1
- package/dist/clients/ops/usage-workflows-ops.client.d.ts +0 -22
- package/dist/clients/ops/usage-workflows-ops.client.d.ts.map +0 -1
- package/dist/clients/ops/usage-workflows-ops.client.js +0 -23
- package/dist/clients/ops/usage-workflows-ops.client.js.map +0 -1
- package/dist/factory/admin-sdk.d.ts +0 -96
- package/dist/factory/admin-sdk.d.ts.map +0 -1
- package/dist/factory/admin-sdk.js +0 -112
- package/dist/factory/admin-sdk.js.map +0 -1
- package/dist/factory/ops-sdk.d.ts +0 -74
- package/dist/factory/ops-sdk.d.ts.map +0 -1
- package/dist/factory/ops-sdk.js +0 -88
- package/dist/factory/ops-sdk.js.map +0 -1
- package/dist/index.additional-client-types.d.ts +0 -24
- package/dist/index.additional-client-types.d.ts.map +0 -1
- package/dist/index.additional-client-types.js +0 -16
- package/dist/index.additional-client-types.js.map +0 -1
- package/dist/manifest.admin-entries-2.d.ts +0 -9
- package/dist/manifest.admin-entries-2.d.ts.map +0 -1
- package/dist/manifest.admin-entries-2.js +0 -218
- package/dist/manifest.admin-entries-2.js.map +0 -1
- package/dist/manifest.admin-entries.d.ts +0 -10
- package/dist/manifest.admin-entries.d.ts.map +0 -1
- package/dist/manifest.admin-entries.js +0 -220
- package/dist/manifest.admin-entries.js.map +0 -1
- package/dist/manifest.ops-entries.d.ts +0 -8
- package/dist/manifest.ops-entries.d.ts.map +0 -1
- package/dist/manifest.ops-entries.js +0 -282
- package/dist/manifest.ops-entries.js.map +0 -1
- package/dist/transport/ops-api-client.d.ts +0 -80
- package/dist/transport/ops-api-client.d.ts.map +0 -1
- package/dist/transport/ops-api-client.js +0 -211
- package/dist/transport/ops-api-client.js.map +0 -1
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { SdkError } from '../../transport/errors.js';
|
|
2
|
-
/**
|
|
3
|
-
* Replaces the inline `resolveAgentAndGenerateJwt` duplicated in janitor and sidecar. THROWS
|
|
4
|
-
* if the agent is not found or the mint fails — callers surface the error.
|
|
5
|
-
*
|
|
6
|
-
* Deliberately does NOT go through `byAlias()` — that method swallows every failure (network,
|
|
7
|
-
* 5xx, 404 alike) into `null`, which would make a transient resolve failure here
|
|
8
|
-
* indistinguishable from a genuine "no such agent" and misreport it as "not found". This does
|
|
9
|
-
* its own GET and only degrades a real `not_found` into the friendly not-found message; any
|
|
10
|
-
* other failure (network/5xx/etc.) propagates as-is so the caller can tell them apart.
|
|
11
|
-
*/
|
|
12
|
-
export async function resolveSystemAgentAndMintToken(api, issueSystemToken, alias, project) {
|
|
13
|
-
const params = new URLSearchParams({ alias, project });
|
|
14
|
-
let agent;
|
|
15
|
-
try {
|
|
16
|
-
// C606/CON-25: `{ data }` envelope (see `byAlias`). Argus mint boundary — a silent
|
|
17
|
-
// `undefined` here fails the process at boot, so keep the unwrap explicit.
|
|
18
|
-
const res = await api.get(`/api/v1/agents/by-alias?${params.toString()}`);
|
|
19
|
-
agent = res?.data ?? null;
|
|
20
|
-
}
|
|
21
|
-
catch (err) {
|
|
22
|
-
if (err instanceof SdkError && err.code === 'not_found') {
|
|
23
|
-
agent = null;
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
throw err;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
if (!agent?.id) {
|
|
30
|
-
throw new Error(`System agent ${project}/${alias} not found`);
|
|
31
|
-
}
|
|
32
|
-
const { token, expiresAt } = await issueSystemToken(agent.id, project);
|
|
33
|
-
return { agentId: agent.id, token, expiresAt };
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* B793: mints a token for `project`'s `config.main` agent — the ops-authority mint mode
|
|
37
|
-
* (`opsProject` claim). Replaces the by-role roster-discovery two-step
|
|
38
|
-
* (`list()` + `resolveSystemAgentAndMintToken`) the probe used to need: the server resolves
|
|
39
|
-
* the main agent itself (Agent-Service layer, AC-7), so this is a single POST, no discovery
|
|
40
|
-
* round-trip. NO fallback to `resolveSystemAgentAndMintToken` — a project without a
|
|
41
|
-
* config.main agent must fail loud (see `agent-token`'s `NoMainAgentConfiguredError` mapping),
|
|
42
|
-
* never silently retry a different identity.
|
|
43
|
-
*/
|
|
44
|
-
export async function issueMainAgentToken(api, project) {
|
|
45
|
-
try {
|
|
46
|
-
return await api.post('/api/v1/agent-token', {
|
|
47
|
-
mainAgent: true,
|
|
48
|
-
project,
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
catch (err) {
|
|
52
|
-
throw new Error(`main-agent token issuance failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=agents-mint-ops.client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agents-mint-ops.client.js","sourceRoot":"","sources":["../../../src/clients/ops/agents-mint-ops.client.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAEpD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAChD,GAAiB,EACjB,gBAGiE,EACjE,KAAa,EACb,OAAe;IAEf,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;IACtD,IAAI,KAA6B,CAAA;IACjC,IAAI,CAAC;QACD,mFAAmF;QACnF,2EAA2E;QAC3E,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,CACrB,2BAA2B,MAAM,CAAC,QAAQ,EAAE,EAAE,CACjD,CAAA;QACD,KAAK,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,CAAA;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,IAAI,GAAG,YAAY,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACtD,KAAK,GAAG,IAAI,CAAA;QAChB,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,CAAA;QACb,CAAC;IACL,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,gBAAgB,OAAO,IAAI,KAAK,YAAY,CAAC,CAAA;IACjE,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IACtE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;AAClD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,GAAiB,EACjB,OAAe;IAEf,IAAI,CAAC;QACD,OAAO,MAAM,GAAG,CAAC,IAAI,CAAuC,qBAAqB,EAAE;YAC/E,SAAS,EAAE,IAAI;YACf,OAAO;SACV,CAAC,CAAA;IACN,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACX,qCAAqC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC1F,CAAA;IACL,CAAC;AACL,CAAC"}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import type { AgentDto, AgentSummaryDto, ActiveAgentSessionDto } from '@beacon-build/core';
|
|
2
|
-
import type { OpsApiClient } from '../../transport/ops-api-client.js';
|
|
3
|
-
import * as statsOps from './agents-stats-ops.client.js';
|
|
4
|
-
import * as affinityOps from './agents-affinity-ops.client.js';
|
|
5
|
-
export type { AffinityResult } from './agents-affinity-ops.client.js';
|
|
6
|
-
export interface AgentIdentityFields {
|
|
7
|
-
character?: string;
|
|
8
|
-
instructions?: string;
|
|
9
|
-
defaultModel?: string;
|
|
10
|
-
}
|
|
11
|
-
export declare class AgentsOpsClient {
|
|
12
|
-
private readonly api;
|
|
13
|
-
constructor(api: OpsApiClient);
|
|
14
|
-
list(project?: string): Promise<AgentDto[]>;
|
|
15
|
-
get(agentId: string): Promise<AgentDto | null>;
|
|
16
|
-
getById(agentId: string): Promise<AgentDto | null>;
|
|
17
|
-
byAlias(alias: string, project?: string): Promise<AgentSummaryDto | null>;
|
|
18
|
-
create(alias: string, project: string): Promise<AgentSummaryDto>;
|
|
19
|
-
upsert(alias: string, project: string): Promise<AgentSummaryDto>;
|
|
20
|
-
listActive(): Promise<AgentSummaryDto[]>;
|
|
21
|
-
/**
|
|
22
|
-
* F320: one row per ACTIVE session (env/client/cwd) — GET /sessions/active-sessions.
|
|
23
|
-
* THROWS on transport/API error (does not swallow) so callers can distinguish a real
|
|
24
|
-
* failure from "no active sessions" — e.g. agent_status's best-effort fallback to the
|
|
25
|
-
* per-agent list (INV-F320-3) only fires when this rejects.
|
|
26
|
-
* C566: path moved from /agents/active-sessions.
|
|
27
|
-
*/
|
|
28
|
-
listActiveSessions(): Promise<ActiveAgentSessionDto[]>;
|
|
29
|
-
listAliasesByProject(project: string): Promise<string[]>;
|
|
30
|
-
/** B300/C566: see `agents-affinity-ops.client.ts` (loc-guard extraction) for the doc comment. */
|
|
31
|
-
resolveAffinity(project: string): ReturnType<typeof affinityOps.resolveAffinity>;
|
|
32
|
-
/** B753: see `agents-affinity-ops.client.ts` (loc-guard extraction) for the doc comment. */
|
|
33
|
-
resolveSpawnCredential(token: string, project: string): ReturnType<typeof affinityOps.resolveSpawnCredential>;
|
|
34
|
-
rename(agentId: string, alias: string): Promise<void>;
|
|
35
|
-
updateIdentity(agentId: string, fields: AgentIdentityFields): Promise<void>;
|
|
36
|
-
configSet(agentId: string, key: string, value: unknown): Promise<void>;
|
|
37
|
-
configGetAll(agentId: string): Promise<Record<string, unknown>>;
|
|
38
|
-
configDelete(agentId: string, key: string): Promise<void>;
|
|
39
|
-
getActiveSession(agentId: string): Promise<{
|
|
40
|
-
sessionId: string;
|
|
41
|
-
sessionKey: string;
|
|
42
|
-
} | null>;
|
|
43
|
-
/**
|
|
44
|
-
* Resolve the active session for an agent (GET /api/v1/sessions/active-session, C566:
|
|
45
|
-
* was /api/v1/agents/active-session).
|
|
46
|
-
*
|
|
47
|
-
* F328/AC-1/AC-4: when `opts.claudeSessionId` (CLAUDE_CODE_SESSION_ID) is given, the
|
|
48
|
-
* endpoint resolves via the F216 external-id map FIRST (`externalSessionIds.claude`),
|
|
49
|
-
* independent of cwd and robust to one agent owning multiple sessions. `opts.cwd`
|
|
50
|
-
* stays a back-compat fallback (worktree affinity). Returns the session's denormalized
|
|
51
|
-
* env/client (F322) so the capture pipeline can stamp them onto conversation rows.
|
|
52
|
-
*/
|
|
53
|
-
activeSession(alias: string, project: string, opts?: {
|
|
54
|
-
cwd?: string;
|
|
55
|
-
claudeSessionId?: string;
|
|
56
|
-
}): Promise<{
|
|
57
|
-
agentId: string;
|
|
58
|
-
sessionId: string;
|
|
59
|
-
env?: 'local' | 'cloud' | null;
|
|
60
|
-
client?: 'claude' | 'opencode' | 'antigravity' | null;
|
|
61
|
-
} | null>;
|
|
62
|
-
/**
|
|
63
|
-
* Issue a scoped agent JWT (POST /api/v1/agent-token).
|
|
64
|
-
*
|
|
65
|
-
* B177: previously this swallowed every failure with `catch { return null }`, so a
|
|
66
|
-
* transient hiccup left the session with no agent token while session_start still
|
|
67
|
-
* reported success — the agent-JWT path (messaging/search) was then silently dead.
|
|
68
|
-
* Now: surface the failure. Transient 5xx/429/network are already retried by
|
|
69
|
-
* `OpsApiClient.executeWithRetry` (we deliberately do NOT add a second retry layer);
|
|
70
|
-
* on persistent failure we THROW with the underlying reason so the caller surfaces it
|
|
71
|
-
* instead of degrading invisibly to a token-less session.
|
|
72
|
-
* B384: `seatCtx` (cwd + optional client/env) lets the mint authority derive a signed
|
|
73
|
-
* `seat` claim SERVER-SIDE (`deriveSeat`) — omit it for a project-only token (unchanged
|
|
74
|
-
* pre-B384 behaviour). The returned `seat` (when present) is the SAME value embedded in
|
|
75
|
-
* `token`'s claim, echoed back for the caller's convenience only.
|
|
76
|
-
*
|
|
77
|
-
* T183/Goal 9/AC-14: `sessionId` is now REQUIRED and is the SOLE identity carried on the
|
|
78
|
-
* wire — the server reads `agentId`/`project`/`session_kind` off the referenced, active
|
|
79
|
-
* session row, never trusts a client-asserted `agentId` field (INV-T183-7). `agentId`
|
|
80
|
-
* stays a parameter here purely so call sites keep a familiar, self-documenting signature
|
|
81
|
-
* (and can log/assert against it) — it is deliberately NEVER put on the wire. `project` is
|
|
82
|
-
* still sent as an optional cross-check the server validates against the session row.
|
|
83
|
-
*/
|
|
84
|
-
issueToken(agentId: string, project: string, sessionId: string, seatCtx?: {
|
|
85
|
-
cwd?: string;
|
|
86
|
-
client?: 'claude' | 'opencode' | 'antigravity';
|
|
87
|
-
env?: 'local' | 'cloud';
|
|
88
|
-
}): Promise<{
|
|
89
|
-
token: string;
|
|
90
|
-
expiresAt: string;
|
|
91
|
-
seat?: string;
|
|
92
|
-
}>;
|
|
93
|
-
/**
|
|
94
|
-
* T183/Goal 9/INV-T183-8: the ONE exception to the sessionId-required rule above — mints
|
|
95
|
-
* a token for a `system`-role agent with NO session (the one real production caller,
|
|
96
|
-
* `services/janitor/src/alerts/index.ts`'s headless Argus daemon, F2). `project` optional
|
|
97
|
-
* (Goal 6, org-scoped system agents).
|
|
98
|
-
*/
|
|
99
|
-
issueSystemToken(agentId: string, project?: string): Promise<{
|
|
100
|
-
token: string;
|
|
101
|
-
expiresAt: string;
|
|
102
|
-
seat?: string;
|
|
103
|
-
}>;
|
|
104
|
-
/** B452: see `agents-mint-ops.client.ts` (loc-guard extraction) for the doc comment. */
|
|
105
|
-
resolveSystemAgentAndMintToken(alias: string, project: string): Promise<{
|
|
106
|
-
agentId: string;
|
|
107
|
-
token: string;
|
|
108
|
-
expiresAt: string;
|
|
109
|
-
}>;
|
|
110
|
-
/** B793: see `agents-mint-ops.client.ts` (loc-guard extraction) for the doc comment. */
|
|
111
|
-
issueMainAgentToken(project: string): Promise<{
|
|
112
|
-
token: string;
|
|
113
|
-
expiresAt: string;
|
|
114
|
-
}>;
|
|
115
|
-
/** @deprecated Use ops.projects.upsert() instead */
|
|
116
|
-
upsertProject(slug: string): Promise<void>;
|
|
117
|
-
/** T266: see `agents-stats-ops.client.ts` (loc-guard extraction) for the doc comment. */
|
|
118
|
-
stats(agentId: string): ReturnType<typeof statsOps.stats>;
|
|
119
|
-
}
|
|
120
|
-
//# sourceMappingURL=agents-ops.client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agents-ops.client.d.ts","sourceRoot":"","sources":["../../../src/clients/ops/agents-ops.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAErE,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAA;AAExD,OAAO,KAAK,WAAW,MAAM,iCAAiC,CAAA;AAE9D,YAAY,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAIrE,MAAM,WAAW,mBAAmB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,qBAAa,eAAe;IACZ,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,YAAY;IAExC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAO3C,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAc9C,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAIlD,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAWzE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAKhE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAKhE,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAQ9C;;;;;;OAMG;IACG,kBAAkB,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAOtD,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAK9D,iGAAiG;IAC3F,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,eAAe,CAAC;IAItF,4FAA4F;IACtF,sBAAsB,CACxB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAChB,UAAU,CAAC,OAAO,WAAW,CAAC,sBAAsB,CAAC;IAIlD,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3E,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtE,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAM/D,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzD,gBAAgB,CAClB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAc5D;;;;;;;;;OASG;IACG,aAAa,CACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC;QACP,OAAO,EAAE,MAAM,CAAA;QACf,SAAS,EAAE,MAAM,CAAA;QACjB,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAAA;QAC9B,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,GAAG,IAAI,CAAA;KACxD,GAAG,IAAI,CAAC;IAqBT;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,UAAU,CACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QACN,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAA;QAC9C,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;KAC1B,GACF,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAoB/D;;;;;OAKG;IACG,gBAAgB,CAClB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAmB/D,wFAAwF;IAClF,8BAA8B,CAChC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IASjE,wFAAwF;IAClF,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAIzF,oDAAoD;IAC9C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,yFAAyF;IACnF,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,CAAC;CAGlE"}
|
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
import { SdkError } from '../../transport/errors.js';
|
|
2
|
-
import * as statsOps from './agents-stats-ops.client.js';
|
|
3
|
-
import * as mintOps from './agents-mint-ops.client.js';
|
|
4
|
-
import * as affinityOps from './agents-affinity-ops.client.js';
|
|
5
|
-
export class AgentsOpsClient {
|
|
6
|
-
api;
|
|
7
|
-
constructor(api) {
|
|
8
|
-
this.api = api;
|
|
9
|
-
}
|
|
10
|
-
async list(project) {
|
|
11
|
-
const qs = project ? `?project=${encodeURIComponent(project)}` : '';
|
|
12
|
-
// GET /api/v1/agents → { data: AgentDto[] }
|
|
13
|
-
const res = await this.api.get(`/api/v1/agents${qs}`);
|
|
14
|
-
return res.data;
|
|
15
|
-
}
|
|
16
|
-
async get(agentId) {
|
|
17
|
-
try {
|
|
18
|
-
// GET /api/v1/agents/:id → { data: AgentDetailDto }
|
|
19
|
-
const res = await this.api.get(`/api/v1/agents/${encodeURIComponent(agentId)}`);
|
|
20
|
-
return res.data;
|
|
21
|
-
}
|
|
22
|
-
catch (_err) {
|
|
23
|
-
// Deliberate: "not found" degrades to null for this lookup — named `_err` per
|
|
24
|
-
// beacon/no-silent-catch.
|
|
25
|
-
return null;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
async getById(agentId) {
|
|
29
|
-
return this.get(agentId);
|
|
30
|
-
}
|
|
31
|
-
async byAlias(alias, project) {
|
|
32
|
-
const params = new URLSearchParams({ alias });
|
|
33
|
-
if (project)
|
|
34
|
-
params.set('project', project);
|
|
35
|
-
// C606/CON-25: `{ data }` envelope. OpsApiClient deliberately does NOT unwrap — 34+
|
|
36
|
-
// sibling call sites read `res.data` themselves — so unwrap here.
|
|
37
|
-
return this.api
|
|
38
|
-
.get(`/api/v1/agents/by-alias?${params.toString()}`)
|
|
39
|
-
.then((res) => res?.data ?? null)
|
|
40
|
-
.catch(() => null);
|
|
41
|
-
}
|
|
42
|
-
async create(alias, project) {
|
|
43
|
-
// POST /api/v1/agents → bare AgentSummaryDto
|
|
44
|
-
return this.api.post('/api/v1/agents', { alias, project });
|
|
45
|
-
}
|
|
46
|
-
async upsert(alias, project) {
|
|
47
|
-
// POST /api/v1/agents/upsert → bare AgentSummaryDto
|
|
48
|
-
return this.api.post('/api/v1/agents/upsert', { alias, project });
|
|
49
|
-
}
|
|
50
|
-
async listActive() {
|
|
51
|
-
// C566: GET /api/v1/sessions/active (was /api/v1/agents/active) → { data: AgentSummaryDto[] }
|
|
52
|
-
const res = await this.api
|
|
53
|
-
.get('/api/v1/sessions/active')
|
|
54
|
-
.catch(() => null);
|
|
55
|
-
return res?.data ?? [];
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* F320: one row per ACTIVE session (env/client/cwd) — GET /sessions/active-sessions.
|
|
59
|
-
* THROWS on transport/API error (does not swallow) so callers can distinguish a real
|
|
60
|
-
* failure from "no active sessions" — e.g. agent_status's best-effort fallback to the
|
|
61
|
-
* per-agent list (INV-F320-3) only fires when this rejects.
|
|
62
|
-
* C566: path moved from /agents/active-sessions.
|
|
63
|
-
*/
|
|
64
|
-
async listActiveSessions() {
|
|
65
|
-
const res = await this.api.get('/api/v1/sessions/active-sessions');
|
|
66
|
-
return res.data ?? [];
|
|
67
|
-
}
|
|
68
|
-
async listAliasesByProject(project) {
|
|
69
|
-
const agents = await this.list(project).catch(() => []);
|
|
70
|
-
return agents.map((a) => a.alias).filter((a) => !!a);
|
|
71
|
-
}
|
|
72
|
-
/** B300/C566: see `agents-affinity-ops.client.ts` (loc-guard extraction) for the doc comment. */
|
|
73
|
-
async resolveAffinity(project) {
|
|
74
|
-
return affinityOps.resolveAffinity(this.api, project);
|
|
75
|
-
}
|
|
76
|
-
/** B753: see `agents-affinity-ops.client.ts` (loc-guard extraction) for the doc comment. */
|
|
77
|
-
async resolveSpawnCredential(token, project) {
|
|
78
|
-
return affinityOps.resolveSpawnCredential(this.api, token, project);
|
|
79
|
-
}
|
|
80
|
-
async rename(agentId, alias) {
|
|
81
|
-
await this.api.patch(`/api/v1/agents/${encodeURIComponent(agentId)}`, { alias });
|
|
82
|
-
}
|
|
83
|
-
async updateIdentity(agentId, fields) {
|
|
84
|
-
await this.api.patch(`/api/v1/agents/${encodeURIComponent(agentId)}/identity`, fields);
|
|
85
|
-
}
|
|
86
|
-
async configSet(agentId, key, value) {
|
|
87
|
-
await this.api.patch(`/api/v1/agents/${encodeURIComponent(agentId)}/config`, {
|
|
88
|
-
action: 'set',
|
|
89
|
-
key,
|
|
90
|
-
value,
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
async configGetAll(agentId) {
|
|
94
|
-
const p = `/api/v1/agents/${encodeURIComponent(agentId)}/config`; // C606: `{ data }`, see byAlias
|
|
95
|
-
const res = await this.api.get(p).catch(() => null);
|
|
96
|
-
return res?.data ?? {};
|
|
97
|
-
}
|
|
98
|
-
async configDelete(agentId, key) {
|
|
99
|
-
await this.api.patch(`/api/v1/agents/${encodeURIComponent(agentId)}/config`, {
|
|
100
|
-
action: 'delete',
|
|
101
|
-
key,
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
async getActiveSession(agentId) {
|
|
105
|
-
try {
|
|
106
|
-
// C566: GET /api/v1/sessions/active-session (was /api/v1/agents/active-session).
|
|
107
|
-
const res = await this.api.get(`/api/v1/sessions/active-session?agentId=${encodeURIComponent(agentId)}`);
|
|
108
|
-
return res?.data ?? null;
|
|
109
|
-
}
|
|
110
|
-
catch (_err) {
|
|
111
|
-
// Deliberate: "not found" degrades to null for this lookup — named `_err` per
|
|
112
|
-
// beacon/no-silent-catch.
|
|
113
|
-
return null;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Resolve the active session for an agent (GET /api/v1/sessions/active-session, C566:
|
|
118
|
-
* was /api/v1/agents/active-session).
|
|
119
|
-
*
|
|
120
|
-
* F328/AC-1/AC-4: when `opts.claudeSessionId` (CLAUDE_CODE_SESSION_ID) is given, the
|
|
121
|
-
* endpoint resolves via the F216 external-id map FIRST (`externalSessionIds.claude`),
|
|
122
|
-
* independent of cwd and robust to one agent owning multiple sessions. `opts.cwd`
|
|
123
|
-
* stays a back-compat fallback (worktree affinity). Returns the session's denormalized
|
|
124
|
-
* env/client (F322) so the capture pipeline can stamp them onto conversation rows.
|
|
125
|
-
*/
|
|
126
|
-
async activeSession(alias, project, opts) {
|
|
127
|
-
try {
|
|
128
|
-
const params = new URLSearchParams({ alias, project });
|
|
129
|
-
if (opts?.cwd)
|
|
130
|
-
params.set('cwd', opts.cwd);
|
|
131
|
-
if (opts?.claudeSessionId)
|
|
132
|
-
params.set('claudeSessionId', opts.claudeSessionId);
|
|
133
|
-
const res = await this.api.get(`/api/v1/sessions/active-session?${params.toString()}`);
|
|
134
|
-
return res.data;
|
|
135
|
-
}
|
|
136
|
-
catch (_err) {
|
|
137
|
-
// Deliberate: "not found" degrades to null for this lookup — named `_err` per
|
|
138
|
-
// beacon/no-silent-catch.
|
|
139
|
-
return null;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* Issue a scoped agent JWT (POST /api/v1/agent-token).
|
|
144
|
-
*
|
|
145
|
-
* B177: previously this swallowed every failure with `catch { return null }`, so a
|
|
146
|
-
* transient hiccup left the session with no agent token while session_start still
|
|
147
|
-
* reported success — the agent-JWT path (messaging/search) was then silently dead.
|
|
148
|
-
* Now: surface the failure. Transient 5xx/429/network are already retried by
|
|
149
|
-
* `OpsApiClient.executeWithRetry` (we deliberately do NOT add a second retry layer);
|
|
150
|
-
* on persistent failure we THROW with the underlying reason so the caller surfaces it
|
|
151
|
-
* instead of degrading invisibly to a token-less session.
|
|
152
|
-
* B384: `seatCtx` (cwd + optional client/env) lets the mint authority derive a signed
|
|
153
|
-
* `seat` claim SERVER-SIDE (`deriveSeat`) — omit it for a project-only token (unchanged
|
|
154
|
-
* pre-B384 behaviour). The returned `seat` (when present) is the SAME value embedded in
|
|
155
|
-
* `token`'s claim, echoed back for the caller's convenience only.
|
|
156
|
-
*
|
|
157
|
-
* T183/Goal 9/AC-14: `sessionId` is now REQUIRED and is the SOLE identity carried on the
|
|
158
|
-
* wire — the server reads `agentId`/`project`/`session_kind` off the referenced, active
|
|
159
|
-
* session row, never trusts a client-asserted `agentId` field (INV-T183-7). `agentId`
|
|
160
|
-
* stays a parameter here purely so call sites keep a familiar, self-documenting signature
|
|
161
|
-
* (and can log/assert against it) — it is deliberately NEVER put on the wire. `project` is
|
|
162
|
-
* still sent as an optional cross-check the server validates against the session row.
|
|
163
|
-
*/
|
|
164
|
-
async issueToken(agentId, project, sessionId, seatCtx) {
|
|
165
|
-
void agentId; // see doc above — kept for call-site clarity, never sent on the wire.
|
|
166
|
-
try {
|
|
167
|
-
return await this.api.post('/api/v1/agent-token', {
|
|
168
|
-
sessionId,
|
|
169
|
-
project,
|
|
170
|
-
...(seatCtx?.cwd ? { cwd: seatCtx.cwd } : {}),
|
|
171
|
-
...(seatCtx?.client ? { client: seatCtx.client } : {}),
|
|
172
|
-
...(seatCtx?.env ? { env: seatCtx.env } : {}),
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
catch (err) {
|
|
176
|
-
throw new Error(`agent-token issuance failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
/**
|
|
180
|
-
* T183/Goal 9/INV-T183-8: the ONE exception to the sessionId-required rule above — mints
|
|
181
|
-
* a token for a `system`-role agent with NO session (the one real production caller,
|
|
182
|
-
* `services/janitor/src/alerts/index.ts`'s headless Argus daemon, F2). `project` optional
|
|
183
|
-
* (Goal 6, org-scoped system agents).
|
|
184
|
-
*/
|
|
185
|
-
async issueSystemToken(agentId, project) {
|
|
186
|
-
try {
|
|
187
|
-
return await this.api.post('/api/v1/agent-token', { agentId, ...(project ? { project } : {}) });
|
|
188
|
-
}
|
|
189
|
-
catch (err) {
|
|
190
|
-
// B843 (C902 review): preserve a typed SdkError verbatim so a caller's own error
|
|
191
|
-
// classification survives — mcp-core's `degradeMintError` keys on `instanceof SdkError`
|
|
192
|
-
// to turn an exhausted-retry 5xx on THIS mint POST into its actionable B591 message.
|
|
193
|
-
// Re-wrapping into a plain Error (as this used to do unconditionally) silently defeated
|
|
194
|
-
// that on the /agent-token leg. Only a non-SdkError (unexpected) still gets the prefix.
|
|
195
|
-
if (err instanceof SdkError)
|
|
196
|
-
throw err;
|
|
197
|
-
throw new Error(`agent-token issuance failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
/** B452: see `agents-mint-ops.client.ts` (loc-guard extraction) for the doc comment. */
|
|
201
|
-
async resolveSystemAgentAndMintToken(alias, project) {
|
|
202
|
-
return mintOps.resolveSystemAgentAndMintToken(this.api, (agentId, proj) => this.issueSystemToken(agentId, proj), alias, project);
|
|
203
|
-
}
|
|
204
|
-
/** B793: see `agents-mint-ops.client.ts` (loc-guard extraction) for the doc comment. */
|
|
205
|
-
async issueMainAgentToken(project) {
|
|
206
|
-
return mintOps.issueMainAgentToken(this.api, project);
|
|
207
|
-
}
|
|
208
|
-
/** @deprecated Use ops.projects.upsert() instead */
|
|
209
|
-
async upsertProject(slug) {
|
|
210
|
-
await this.api.post('/api/v1/projects/upsert', { slug }).catch(() => { });
|
|
211
|
-
}
|
|
212
|
-
/** T266: see `agents-stats-ops.client.ts` (loc-guard extraction) for the doc comment. */
|
|
213
|
-
async stats(agentId) {
|
|
214
|
-
return statsOps.stats(this.api, agentId);
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
//# sourceMappingURL=agents-ops.client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agents-ops.client.js","sourceRoot":"","sources":["../../../src/clients/ops/agents-ops.client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* T266: Ops-gated agent stats (GET /api/v1/agents/:id/stats) — extracted out of
|
|
3
|
-
* `agents-ops.client.ts` (loc-guard, that file was at the 300-line threshold). Same
|
|
4
|
-
* shape as `tasks-pr.client.ts`'s extraction: a plain function taking the `OpsApiClient`
|
|
5
|
-
* as its first param, delegated to from `AgentsOpsClient.stats()`.
|
|
6
|
-
*
|
|
7
|
-
* The Argus-system-JWT-reachable mirror of the admin-only `AdminAgentsClient.taskStats`/
|
|
8
|
-
* `.get().sessionCount` pair. Same server-computed data, no new aggregation logic (see
|
|
9
|
-
* `services/api/src/routes/agents-stats-ops.ts`).
|
|
10
|
-
*/
|
|
11
|
-
import type { AgentStatsWithSessionDto } from '@beacon-build/core';
|
|
12
|
-
import type { OpsApiClient } from '../../transport/ops-api-client.js';
|
|
13
|
-
/**
|
|
14
|
-
* THROWS on failure (not-found included) — mirrors `LeadsOpsClient.get`/`taskStats`, never
|
|
15
|
-
* silently swallowed, so a caller (e.g. beacon-web's public crew profile page) can tell
|
|
16
|
-
* "agent has no stats yet" apart from a real transport/auth failure.
|
|
17
|
-
*/
|
|
18
|
-
export declare function stats(api: OpsApiClient, agentId: string): Promise<AgentStatsWithSessionDto>;
|
|
19
|
-
//# sourceMappingURL=agents-stats-ops.client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agents-stats-ops.client.d.ts","sourceRoot":"","sources":["../../../src/clients/ops/agents-stats-ops.client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAErE;;;;GAIG;AACH,wBAAsB,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAKjG"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* THROWS on failure (not-found included) — mirrors `LeadsOpsClient.get`/`taskStats`, never
|
|
3
|
-
* silently swallowed, so a caller (e.g. beacon-web's public crew profile page) can tell
|
|
4
|
-
* "agent has no stats yet" apart from a real transport/auth failure.
|
|
5
|
-
*/
|
|
6
|
-
export async function stats(api, agentId) {
|
|
7
|
-
const res = await api.get(`/api/v1/agents/${encodeURIComponent(agentId)}/stats`);
|
|
8
|
-
return res.data;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=agents-stats-ops.client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agents-stats-ops.client.js","sourceRoot":"","sources":["../../../src/clients/ops/agents-stats-ops.client.ts"],"names":[],"mappings":"AAaA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,GAAiB,EAAE,OAAe;IAC1D,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,CACrB,kBAAkB,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CACxD,CAAA;IACD,OAAO,GAAG,CAAC,IAAI,CAAA;AACnB,CAAC"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import type { OpsApiClient } from '../../transport/ops-api-client.js';
|
|
2
|
-
/**
|
|
3
|
-
* CampaignEventsOpsClient — C823/B762.
|
|
4
|
-
*
|
|
5
|
-
* Typed SDK access to C796/AC-2's anonymous-web campaign-attribution ingest
|
|
6
|
-
* (`POST /api/v1/campaign-events`). The route itself is deliberately UNAUTHENTICATED
|
|
7
|
-
* (no visitor identity involved by design, C796/AC-3's privacy invariant) — mounted via
|
|
8
|
-
* Ops SDK regardless, mirroring beacon-web's OWN existing `src/lib/leads/ingest.ts`
|
|
9
|
-
* `getOps()` pattern (B762/Impact) for its other server-side ingest calls, so beacon-web
|
|
10
|
-
* has one consistent client shape for every beacon-platform write it makes, rather than a
|
|
11
|
-
* one-off unauthenticated `fetch()`. `OpsApiClient` still attaches its configured
|
|
12
|
-
* bearer (Argus JWT/`OPS_API_KEY`) on the request — accepted but not required server-side.
|
|
13
|
-
*/
|
|
14
|
-
export declare const CAMPAIGN_EVENT_TYPES: readonly ["pageview", "lead_conversion"];
|
|
15
|
-
export type CampaignEventType = (typeof CAMPAIGN_EVENT_TYPES)[number];
|
|
16
|
-
export interface CampaignEventInput {
|
|
17
|
-
/** beacon-platform project slug the event is attributed to. */
|
|
18
|
-
project: string;
|
|
19
|
-
eventType: CampaignEventType;
|
|
20
|
-
/** Max 255 chars — see C796's § Cardinality/Abuse Analysis. */
|
|
21
|
-
campaign?: string;
|
|
22
|
-
/** Max 255 chars. */
|
|
23
|
-
channel?: string;
|
|
24
|
-
/** Max 255 chars. */
|
|
25
|
-
referrerDomain?: string;
|
|
26
|
-
}
|
|
27
|
-
export declare class CampaignEventsOpsClient {
|
|
28
|
-
private readonly api;
|
|
29
|
-
constructor(api: OpsApiClient);
|
|
30
|
-
/** POST /api/v1/campaign-events — C796/AC-2. `202 { data: { accepted: true } }` on
|
|
31
|
-
* success; unwraps the `{ data }` envelope. Throws `SdkError` on `400`
|
|
32
|
-
* (`VALIDATION_ERROR`), `404` (`PROJECT_NOT_FOUND`), or `503`
|
|
33
|
-
* (`INGEST_UNAVAILABLE`) — see `OpsApiClient`'s status→code mapping. */
|
|
34
|
-
create(input: CampaignEventInput): Promise<{
|
|
35
|
-
accepted: boolean;
|
|
36
|
-
}>;
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=campaign-events-ops.client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"campaign-events-ops.client.d.ts","sourceRoot":"","sources":["../../../src/clients/ops/campaign-events-ops.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAErE;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,oBAAoB,0CAA2C,CAAA;AAC5E,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAA;AAErE,MAAM,WAAW,kBAAkB;IAC/B,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,iBAAiB,CAAA;IAC5B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,qBAAqB;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,qBAAa,uBAAuB;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,YAAY;IAE9C;;;6EAGyE;IACnE,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;CAO1E"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CampaignEventsOpsClient — C823/B762.
|
|
3
|
-
*
|
|
4
|
-
* Typed SDK access to C796/AC-2's anonymous-web campaign-attribution ingest
|
|
5
|
-
* (`POST /api/v1/campaign-events`). The route itself is deliberately UNAUTHENTICATED
|
|
6
|
-
* (no visitor identity involved by design, C796/AC-3's privacy invariant) — mounted via
|
|
7
|
-
* Ops SDK regardless, mirroring beacon-web's OWN existing `src/lib/leads/ingest.ts`
|
|
8
|
-
* `getOps()` pattern (B762/Impact) for its other server-side ingest calls, so beacon-web
|
|
9
|
-
* has one consistent client shape for every beacon-platform write it makes, rather than a
|
|
10
|
-
* one-off unauthenticated `fetch()`. `OpsApiClient` still attaches its configured
|
|
11
|
-
* bearer (Argus JWT/`OPS_API_KEY`) on the request — accepted but not required server-side.
|
|
12
|
-
*/
|
|
13
|
-
export const CAMPAIGN_EVENT_TYPES = ['pageview', 'lead_conversion'];
|
|
14
|
-
export class CampaignEventsOpsClient {
|
|
15
|
-
api;
|
|
16
|
-
constructor(api) {
|
|
17
|
-
this.api = api;
|
|
18
|
-
}
|
|
19
|
-
/** POST /api/v1/campaign-events — C796/AC-2. `202 { data: { accepted: true } }` on
|
|
20
|
-
* success; unwraps the `{ data }` envelope. Throws `SdkError` on `400`
|
|
21
|
-
* (`VALIDATION_ERROR`), `404` (`PROJECT_NOT_FOUND`), or `503`
|
|
22
|
-
* (`INGEST_UNAVAILABLE`) — see `OpsApiClient`'s status→code mapping. */
|
|
23
|
-
async create(input) {
|
|
24
|
-
const res = await this.api.post('/api/v1/campaign-events', input);
|
|
25
|
-
return res.data;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=campaign-events-ops.client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"campaign-events-ops.client.js","sourceRoot":"","sources":["../../../src/clients/ops/campaign-events-ops.client.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAU,CAAA;AAe5E,MAAM,OAAO,uBAAuB;IACH;IAA7B,YAA6B,GAAiB;QAAjB,QAAG,GAAH,GAAG,CAAc;IAAG,CAAC;IAElD;;;6EAGyE;IACzE,KAAK,CAAC,MAAM,CAAC,KAAyB;QAClC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAC3B,yBAAyB,EACzB,KAAK,CACR,CAAA;QACD,OAAO,GAAG,CAAC,IAAI,CAAA;IACnB,CAAC;CACJ"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { ConversationMessageDto, CreateConversationMessageInput } from '@beacon-build/core';
|
|
2
|
-
import type { OpsApiClient } from '../../transport/ops-api-client.js';
|
|
3
|
-
export declare class ConversationMessagesOpsClient {
|
|
4
|
-
private readonly api;
|
|
5
|
-
constructor(api: OpsApiClient);
|
|
6
|
-
create(input: CreateConversationMessageInput): Promise<ConversationMessageDto>;
|
|
7
|
-
updateTokens(id: string, inputTokens: number, outputTokens: number): Promise<void>;
|
|
8
|
-
delete(id: string): Promise<void>;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=conversation-messages-ops.client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-messages-ops.client.d.ts","sourceRoot":"","sources":["../../../src/clients/ops/conversation-messages-ops.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAA;AAChG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAErE,qBAAa,6BAA6B;IAC1B,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,YAAY;IAExC,MAAM,CAAC,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAQ9E,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1C"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export class ConversationMessagesOpsClient {
|
|
2
|
-
api;
|
|
3
|
-
constructor(api) {
|
|
4
|
-
this.api = api;
|
|
5
|
-
}
|
|
6
|
-
async create(input) {
|
|
7
|
-
const res = await this.api.post('/api/v1/conversation-messages', input);
|
|
8
|
-
return res.data;
|
|
9
|
-
}
|
|
10
|
-
async updateTokens(id, inputTokens, outputTokens) {
|
|
11
|
-
await this.api.patch(`/api/v1/conversation-messages/${encodeURIComponent(id)}/tokens`, {
|
|
12
|
-
inputTokens,
|
|
13
|
-
outputTokens,
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
async delete(id) {
|
|
17
|
-
await this.api.delete(`/api/v1/conversation-messages/${encodeURIComponent(id)}`);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=conversation-messages-ops.client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-messages-ops.client.js","sourceRoot":"","sources":["../../../src/clients/ops/conversation-messages-ops.client.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,6BAA6B;IACT;IAA7B,YAA6B,GAAiB;QAAjB,QAAG,GAAH,GAAG,CAAc;IAAG,CAAC;IAElD,KAAK,CAAC,MAAM,CAAC,KAAqC;QAC9C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAC3B,+BAA+B,EAC/B,KAAK,CACR,CAAA;QACD,OAAO,GAAG,CAAC,IAAI,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU,EAAE,WAAmB,EAAE,YAAoB;QACpE,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE;YACnF,WAAW;YACX,YAAY;SACf,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACnB,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,iCAAiC,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IACpF,CAAC;CACJ"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { Document } from '@beacon-build/core';
|
|
2
|
-
import type { OpsApiClient } from '../../transport/ops-api-client.js';
|
|
3
|
-
export interface UpsertDocumentOpsInput {
|
|
4
|
-
project: string;
|
|
5
|
-
type: string;
|
|
6
|
-
name: string;
|
|
7
|
-
content: string;
|
|
8
|
-
taskId?: string;
|
|
9
|
-
}
|
|
10
|
-
export declare class DocumentsOpsClient {
|
|
11
|
-
private readonly api;
|
|
12
|
-
constructor(api: OpsApiClient);
|
|
13
|
-
upsert(input: UpsertDocumentOpsInput): Promise<Document>;
|
|
14
|
-
get(project: string, type: string, name: string): Promise<Document | null>;
|
|
15
|
-
list(filter?: {
|
|
16
|
-
project?: string;
|
|
17
|
-
type?: string;
|
|
18
|
-
}): Promise<Document[]>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=documents-ops.client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"documents-ops.client.d.ts","sourceRoot":"","sources":["../../../src/clients/ops/documents-ops.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAErE,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,qBAAa,kBAAkB;IACf,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,YAAY;IAExC,MAAM,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAKxD,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAY1E,IAAI,CAAC,MAAM,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAUpF"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
export class DocumentsOpsClient {
|
|
2
|
-
api;
|
|
3
|
-
constructor(api) {
|
|
4
|
-
this.api = api;
|
|
5
|
-
}
|
|
6
|
-
async upsert(input) {
|
|
7
|
-
const res = await this.api.post('/api/v1/documents/upsert', input);
|
|
8
|
-
return res.data;
|
|
9
|
-
}
|
|
10
|
-
async get(project, type, name) {
|
|
11
|
-
try {
|
|
12
|
-
const params = new URLSearchParams({ project, type, name });
|
|
13
|
-
const res = await this.api.get(`/api/v1/documents/get?${params.toString()}`);
|
|
14
|
-
return res.data;
|
|
15
|
-
}
|
|
16
|
-
catch {
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
async list(filter = {}) {
|
|
21
|
-
const params = new URLSearchParams();
|
|
22
|
-
if (filter.project)
|
|
23
|
-
params.set('project', filter.project);
|
|
24
|
-
if (filter.type)
|
|
25
|
-
params.set('type', filter.type);
|
|
26
|
-
const qs = params.toString();
|
|
27
|
-
const res = await this.api.get(`/api/v1/documents${qs ? `?${qs}` : ''}`);
|
|
28
|
-
return res.data;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=documents-ops.client.js.map
|