@beacon-build/sdk 2.4.4 → 2.5.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/dist/auth/argus-jwt.d.ts +30 -0
- package/dist/auth/argus-jwt.d.ts.map +1 -0
- package/dist/auth/argus-jwt.js +41 -0
- package/dist/auth/argus-jwt.js.map +1 -0
- package/dist/cli/backlog.d.ts +14 -0
- package/dist/cli/backlog.d.ts.map +1 -0
- package/dist/cli/backlog.js +228 -0
- package/dist/cli/backlog.js.map +1 -0
- package/dist/cli/claude-md-check.d.ts +18 -0
- package/dist/cli/claude-md-check.d.ts.map +1 -0
- package/dist/cli/claude-md-check.js +57 -0
- package/dist/cli/claude-md-check.js.map +1 -0
- package/dist/cli/context.d.ts +14 -0
- package/dist/cli/context.d.ts.map +1 -0
- package/dist/cli/context.js +465 -0
- package/dist/cli/context.js.map +1 -0
- package/dist/cli/help.d.ts +17 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +71 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/index.d.ts +22 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +212 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/project-log.d.ts +16 -0
- package/dist/cli/project-log.d.ts.map +1 -0
- package/dist/cli/project-log.js +185 -0
- package/dist/cli/project-log.js.map +1 -0
- package/dist/cli/setup-worktree.d.ts +23 -0
- package/dist/cli/setup-worktree.d.ts.map +1 -0
- package/dist/cli/setup-worktree.js +396 -0
- package/dist/cli/setup-worktree.js.map +1 -0
- package/dist/cli/update-client.d.ts +14 -0
- package/dist/cli/update-client.d.ts.map +1 -0
- package/dist/cli/update-client.js +629 -0
- package/dist/cli/update-client.js.map +1 -0
- package/dist/cli/workflow-sync.d.ts +19 -0
- package/dist/cli/workflow-sync.d.ts.map +1 -0
- package/dist/cli/workflow-sync.js +133 -0
- package/dist/cli/workflow-sync.js.map +1 -0
- package/dist/clients/admin/access-grants.client.d.ts +59 -0
- package/dist/clients/admin/access-grants.client.d.ts.map +1 -0
- package/dist/clients/admin/access-grants.client.js +21 -0
- package/dist/clients/admin/access-grants.client.js.map +1 -0
- package/dist/clients/admin/activity.client.d.ts +33 -0
- package/dist/clients/admin/activity.client.d.ts.map +1 -0
- package/dist/clients/admin/activity.client.js +28 -0
- package/dist/clients/admin/activity.client.js.map +1 -0
- package/dist/clients/admin/agents.client.d.ts +66 -0
- package/dist/clients/admin/agents.client.d.ts.map +1 -0
- package/dist/clients/admin/agents.client.js +150 -0
- package/dist/clients/admin/agents.client.js.map +1 -0
- package/dist/clients/admin/alerts.client.d.ts +8 -0
- package/dist/clients/admin/alerts.client.d.ts.map +1 -0
- package/dist/clients/admin/alerts.client.js +11 -0
- package/dist/clients/admin/alerts.client.js.map +1 -0
- package/dist/clients/admin/assets.client.d.ts +24 -0
- package/dist/clients/admin/assets.client.d.ts.map +1 -0
- package/dist/clients/admin/assets.client.js +34 -0
- package/dist/clients/admin/assets.client.js.map +1 -0
- package/dist/clients/admin/board-messages.client.d.ts +13 -0
- package/dist/clients/admin/board-messages.client.d.ts.map +1 -0
- package/dist/clients/admin/board-messages.client.js +16 -0
- package/dist/clients/admin/board-messages.client.js.map +1 -0
- package/dist/clients/admin/conversation-messages.client.d.ts +34 -0
- package/dist/clients/admin/conversation-messages.client.d.ts.map +1 -0
- package/dist/clients/admin/conversation-messages.client.js +61 -0
- package/dist/clients/admin/conversation-messages.client.js.map +1 -0
- package/dist/clients/admin/daemon-admin.client.d.ts +100 -0
- package/dist/clients/admin/daemon-admin.client.d.ts.map +1 -0
- package/dist/clients/admin/daemon-admin.client.js +37 -0
- package/dist/clients/admin/daemon-admin.client.js.map +1 -0
- package/dist/clients/admin/db.client.d.ts +12 -0
- package/dist/clients/admin/db.client.d.ts.map +1 -0
- package/dist/clients/admin/db.client.js +13 -0
- package/dist/clients/admin/db.client.js.map +1 -0
- package/dist/clients/admin/documents.client.d.ts +75 -0
- package/dist/clients/admin/documents.client.d.ts.map +1 -0
- package/dist/clients/admin/documents.client.js +123 -0
- package/dist/clients/admin/documents.client.js.map +1 -0
- package/dist/clients/admin/executions.client.d.ts +68 -0
- package/dist/clients/admin/executions.client.d.ts.map +1 -0
- package/dist/clients/admin/executions.client.js +67 -0
- package/dist/clients/admin/executions.client.js.map +1 -0
- package/dist/clients/admin/github-proxy.client.d.ts +51 -0
- package/dist/clients/admin/github-proxy.client.d.ts.map +1 -0
- package/dist/clients/admin/github-proxy.client.js +55 -0
- package/dist/clients/admin/github-proxy.client.js.map +1 -0
- package/dist/clients/admin/memories.client.d.ts +69 -0
- package/dist/clients/admin/memories.client.d.ts.map +1 -0
- package/dist/clients/admin/memories.client.js +126 -0
- package/dist/clients/admin/memories.client.js.map +1 -0
- package/dist/clients/admin/metrics.client.d.ts +80 -0
- package/dist/clients/admin/metrics.client.d.ts.map +1 -0
- package/dist/clients/admin/metrics.client.js +71 -0
- package/dist/clients/admin/metrics.client.js.map +1 -0
- package/dist/clients/admin/model-health-check.client.d.ts +33 -0
- package/dist/clients/admin/model-health-check.client.d.ts.map +1 -0
- package/dist/clients/admin/model-health-check.client.js +23 -0
- package/dist/clients/admin/model-health-check.client.js.map +1 -0
- package/dist/clients/admin/ops-admin.client.d.ts +206 -0
- package/dist/clients/admin/ops-admin.client.d.ts.map +1 -0
- package/dist/clients/admin/ops-admin.client.js +47 -0
- package/dist/clients/admin/ops-admin.client.js.map +1 -0
- package/dist/clients/admin/organizations.client.d.ts +74 -0
- package/dist/clients/admin/organizations.client.d.ts.map +1 -0
- package/dist/clients/admin/organizations.client.js +74 -0
- package/dist/clients/admin/organizations.client.js.map +1 -0
- package/dist/clients/admin/planning.client.d.ts +17 -0
- package/dist/clients/admin/planning.client.d.ts.map +1 -0
- package/dist/clients/admin/planning.client.js +58 -0
- package/dist/clients/admin/planning.client.js.map +1 -0
- package/dist/clients/admin/portal.client.d.ts +104 -0
- package/dist/clients/admin/portal.client.d.ts.map +1 -0
- package/dist/clients/admin/portal.client.js +122 -0
- package/dist/clients/admin/portal.client.js.map +1 -0
- package/dist/clients/admin/projects.client.d.ts +190 -0
- package/dist/clients/admin/projects.client.d.ts.map +1 -0
- package/dist/clients/admin/projects.client.js +122 -0
- package/dist/clients/admin/projects.client.js.map +1 -0
- package/dist/clients/admin/roster.client.d.ts +27 -0
- package/dist/clients/admin/roster.client.d.ts.map +1 -0
- package/dist/clients/admin/roster.client.js +30 -0
- package/dist/clients/admin/roster.client.js.map +1 -0
- package/dist/clients/admin/sessions.client.d.ts +70 -0
- package/dist/clients/admin/sessions.client.d.ts.map +1 -0
- package/dist/clients/admin/sessions.client.js +116 -0
- package/dist/clients/admin/sessions.client.js.map +1 -0
- package/dist/clients/admin/settings.client.d.ts +98 -0
- package/dist/clients/admin/settings.client.d.ts.map +1 -0
- package/dist/clients/admin/settings.client.js +72 -0
- package/dist/clients/admin/settings.client.js.map +1 -0
- package/dist/clients/admin/task-events.types.d.ts +73 -0
- package/dist/clients/admin/task-events.types.d.ts.map +1 -0
- package/dist/clients/admin/task-events.types.js +6 -0
- package/dist/clients/admin/task-events.types.js.map +1 -0
- package/dist/clients/admin/tasks-attachments.client.d.ts +31 -0
- package/dist/clients/admin/tasks-attachments.client.d.ts.map +1 -0
- package/dist/clients/admin/tasks-attachments.client.js +29 -0
- package/dist/clients/admin/tasks-attachments.client.js.map +1 -0
- package/dist/clients/admin/tasks-doc-links.client.d.ts +15 -0
- package/dist/clients/admin/tasks-doc-links.client.d.ts.map +1 -0
- package/dist/clients/admin/tasks-doc-links.client.js +10 -0
- package/dist/clients/admin/tasks-doc-links.client.js.map +1 -0
- package/dist/clients/admin/tasks-links.client.d.ts +13 -0
- package/dist/clients/admin/tasks-links.client.d.ts.map +1 -0
- package/dist/clients/admin/tasks-links.client.js +10 -0
- package/dist/clients/admin/tasks-links.client.js.map +1 -0
- package/dist/clients/admin/tasks-list-params.d.ts +7 -0
- package/dist/clients/admin/tasks-list-params.d.ts.map +1 -0
- package/dist/clients/admin/tasks-list-params.js +48 -0
- package/dist/clients/admin/tasks-list-params.js.map +1 -0
- package/dist/clients/admin/tasks-pr.client.d.ts +17 -0
- package/dist/clients/admin/tasks-pr.client.d.ts.map +1 -0
- package/dist/clients/admin/tasks-pr.client.js +11 -0
- package/dist/clients/admin/tasks-pr.client.js.map +1 -0
- package/dist/clients/admin/tasks-ref.client.d.ts +16 -0
- package/dist/clients/admin/tasks-ref.client.d.ts.map +1 -0
- package/dist/clients/admin/tasks-ref.client.js +22 -0
- package/dist/clients/admin/tasks-ref.client.js.map +1 -0
- package/dist/clients/admin/tasks.client.d.ts +87 -0
- package/dist/clients/admin/tasks.client.d.ts.map +1 -0
- package/dist/clients/admin/tasks.client.js +183 -0
- package/dist/clients/admin/tasks.client.js.map +1 -0
- package/dist/clients/admin/tasks.types.d.ts +147 -0
- package/dist/clients/admin/tasks.types.d.ts.map +1 -0
- package/dist/clients/admin/tasks.types.js +2 -0
- package/dist/clients/admin/tasks.types.js.map +1 -0
- package/dist/clients/admin/tool-calls.client.d.ts +12 -0
- package/dist/clients/admin/tool-calls.client.d.ts.map +1 -0
- package/dist/clients/admin/tool-calls.client.js +29 -0
- package/dist/clients/admin/tool-calls.client.js.map +1 -0
- package/dist/clients/admin/usage.client.d.ts +138 -0
- package/dist/clients/admin/usage.client.d.ts.map +1 -0
- package/dist/clients/admin/usage.client.js +96 -0
- package/dist/clients/admin/usage.client.js.map +1 -0
- package/dist/clients/admin/users.client.d.ts +137 -0
- package/dist/clients/admin/users.client.d.ts.map +1 -0
- package/dist/clients/admin/users.client.js +133 -0
- package/dist/clients/admin/users.client.js.map +1 -0
- package/dist/clients/agent/messaging.client.d.ts +34 -0
- package/dist/clients/agent/messaging.client.d.ts.map +1 -0
- package/dist/clients/agent/messaging.client.js +40 -0
- package/dist/clients/agent/messaging.client.js.map +1 -0
- package/dist/clients/external-session-registrar.d.ts +16 -0
- package/dist/clients/external-session-registrar.d.ts.map +1 -0
- package/dist/clients/external-session-registrar.js +29 -0
- package/dist/clients/external-session-registrar.js.map +1 -0
- package/dist/clients/ops/agent-authorization-ops.client.d.ts +29 -0
- package/dist/clients/ops/agent-authorization-ops.client.d.ts.map +1 -0
- package/dist/clients/ops/agent-authorization-ops.client.js +34 -0
- package/dist/clients/ops/agent-authorization-ops.client.js.map +1 -0
- package/dist/clients/ops/agents-affinity-ops.client.d.ts +27 -0
- package/dist/clients/ops/agents-affinity-ops.client.d.ts.map +1 -0
- package/dist/clients/ops/agents-affinity-ops.client.js +14 -0
- package/dist/clients/ops/agents-affinity-ops.client.js.map +1 -0
- package/dist/clients/ops/agents-mint-ops.client.d.ts +34 -0
- package/dist/clients/ops/agents-mint-ops.client.d.ts.map +1 -0
- package/dist/clients/ops/agents-mint-ops.client.js +55 -0
- package/dist/clients/ops/agents-mint-ops.client.js.map +1 -0
- package/dist/clients/ops/agents-ops.client.d.ts +120 -0
- package/dist/clients/ops/agents-ops.client.d.ts.map +1 -0
- package/dist/clients/ops/agents-ops.client.js +217 -0
- package/dist/clients/ops/agents-ops.client.js.map +1 -0
- package/dist/clients/ops/agents-stats-ops.client.d.ts +19 -0
- package/dist/clients/ops/agents-stats-ops.client.d.ts.map +1 -0
- package/dist/clients/ops/agents-stats-ops.client.js +10 -0
- package/dist/clients/ops/agents-stats-ops.client.js.map +1 -0
- package/dist/clients/ops/board-messages-ops.client.d.ts +14 -0
- package/dist/clients/ops/board-messages-ops.client.d.ts.map +1 -0
- package/dist/clients/ops/board-messages-ops.client.js +26 -0
- package/dist/clients/ops/board-messages-ops.client.js.map +1 -0
- package/dist/clients/ops/campaign-events-ops.client.d.ts +38 -0
- package/dist/clients/ops/campaign-events-ops.client.d.ts.map +1 -0
- package/dist/clients/ops/campaign-events-ops.client.js +28 -0
- package/dist/clients/ops/campaign-events-ops.client.js.map +1 -0
- package/dist/clients/ops/conversation-messages-ops.client.d.ts +10 -0
- package/dist/clients/ops/conversation-messages-ops.client.d.ts.map +1 -0
- package/dist/clients/ops/conversation-messages-ops.client.js +20 -0
- package/dist/clients/ops/conversation-messages-ops.client.js.map +1 -0
- package/dist/clients/ops/document-sync.client.d.ts +50 -0
- package/dist/clients/ops/document-sync.client.d.ts.map +1 -0
- package/dist/clients/ops/document-sync.client.js +108 -0
- package/dist/clients/ops/document-sync.client.js.map +1 -0
- package/dist/clients/ops/documents-ops.client.d.ts +20 -0
- package/dist/clients/ops/documents-ops.client.d.ts.map +1 -0
- package/dist/clients/ops/documents-ops.client.js +31 -0
- package/dist/clients/ops/documents-ops.client.js.map +1 -0
- package/dist/clients/ops/github-credential-ops.client.d.ts +29 -0
- package/dist/clients/ops/github-credential-ops.client.d.ts.map +1 -0
- package/dist/clients/ops/github-credential-ops.client.js +32 -0
- package/dist/clients/ops/github-credential-ops.client.js.map +1 -0
- package/dist/clients/ops/leads-ops.client.d.ts +36 -0
- package/dist/clients/ops/leads-ops.client.d.ts.map +1 -0
- package/dist/clients/ops/leads-ops.client.js +35 -0
- package/dist/clients/ops/leads-ops.client.js.map +1 -0
- package/dist/clients/ops/memories-ops.client.d.ts +25 -0
- package/dist/clients/ops/memories-ops.client.d.ts.map +1 -0
- package/dist/clients/ops/memories-ops.client.js +75 -0
- package/dist/clients/ops/memories-ops.client.js.map +1 -0
- package/dist/clients/ops/metrics-ops.client.d.ts +38 -0
- package/dist/clients/ops/metrics-ops.client.d.ts.map +1 -0
- package/dist/clients/ops/metrics-ops.client.js +23 -0
- package/dist/clients/ops/metrics-ops.client.js.map +1 -0
- package/dist/clients/ops/ops-db.client.d.ts +49 -0
- package/dist/clients/ops/ops-db.client.d.ts.map +1 -0
- package/dist/clients/ops/ops-db.client.js +62 -0
- package/dist/clients/ops/ops-db.client.js.map +1 -0
- package/dist/clients/ops/ops-logs.client.d.ts +63 -0
- package/dist/clients/ops/ops-logs.client.d.ts.map +1 -0
- package/dist/clients/ops/ops-logs.client.js +68 -0
- package/dist/clients/ops/ops-logs.client.js.map +1 -0
- package/dist/clients/ops/ops-mq.client.d.ts +33 -0
- package/dist/clients/ops/ops-mq.client.d.ts.map +1 -0
- package/dist/clients/ops/ops-mq.client.js +18 -0
- package/dist/clients/ops/ops-mq.client.js.map +1 -0
- package/dist/clients/ops/ops-northflank.client.d.ts +48 -0
- package/dist/clients/ops/ops-northflank.client.d.ts.map +1 -0
- package/dist/clients/ops/ops-northflank.client.js +55 -0
- package/dist/clients/ops/ops-northflank.client.js.map +1 -0
- package/dist/clients/ops/ops-storage.client.d.ts +34 -0
- package/dist/clients/ops/ops-storage.client.d.ts.map +1 -0
- package/dist/clients/ops/ops-storage.client.js +39 -0
- package/dist/clients/ops/ops-storage.client.js.map +1 -0
- package/dist/clients/ops/ops-workers.client.d.ts +63 -0
- package/dist/clients/ops/ops-workers.client.d.ts.map +1 -0
- package/dist/clients/ops/ops-workers.client.js +109 -0
- package/dist/clients/ops/ops-workers.client.js.map +1 -0
- package/dist/clients/ops/ops-workers.types.d.ts +179 -0
- package/dist/clients/ops/ops-workers.types.d.ts.map +1 -0
- package/dist/clients/ops/ops-workers.types.js +2 -0
- package/dist/clients/ops/ops-workers.types.js.map +1 -0
- package/dist/clients/ops/projects-ops.client.d.ts +20 -0
- package/dist/clients/ops/projects-ops.client.d.ts.map +1 -0
- package/dist/clients/ops/projects-ops.client.js +18 -0
- package/dist/clients/ops/projects-ops.client.js.map +1 -0
- package/dist/clients/ops/realtime-ops.client.d.ts +14 -0
- package/dist/clients/ops/realtime-ops.client.d.ts.map +1 -0
- package/dist/clients/ops/realtime-ops.client.js +10 -0
- package/dist/clients/ops/realtime-ops.client.js.map +1 -0
- package/dist/clients/ops/sessions-ops.client.d.ts +60 -0
- package/dist/clients/ops/sessions-ops.client.d.ts.map +1 -0
- package/dist/clients/ops/sessions-ops.client.js +139 -0
- package/dist/clients/ops/sessions-ops.client.js.map +1 -0
- package/dist/clients/ops/tasks-ops.client.d.ts +20 -0
- package/dist/clients/ops/tasks-ops.client.d.ts.map +1 -0
- package/dist/clients/ops/tasks-ops.client.js +39 -0
- package/dist/clients/ops/tasks-ops.client.js.map +1 -0
- package/dist/clients/ops/thread-messaging.client.d.ts +93 -0
- package/dist/clients/ops/thread-messaging.client.d.ts.map +1 -0
- package/dist/clients/ops/thread-messaging.client.js +153 -0
- package/dist/clients/ops/thread-messaging.client.js.map +1 -0
- package/dist/clients/ops/thread-messaging.inbox-read.d.ts +50 -0
- package/dist/clients/ops/thread-messaging.inbox-read.d.ts.map +1 -0
- package/dist/clients/ops/thread-messaging.inbox-read.js +70 -0
- package/dist/clients/ops/thread-messaging.inbox-read.js.map +1 -0
- package/dist/clients/ops/thread-messaging.lifecycle.d.ts +29 -0
- package/dist/clients/ops/thread-messaging.lifecycle.d.ts.map +1 -0
- package/dist/clients/ops/thread-messaging.lifecycle.js +50 -0
- package/dist/clients/ops/thread-messaging.lifecycle.js.map +1 -0
- package/dist/clients/ops/thread-messaging.owner-scope.d.ts +54 -0
- package/dist/clients/ops/thread-messaging.owner-scope.d.ts.map +1 -0
- package/dist/clients/ops/thread-messaging.owner-scope.js +33 -0
- package/dist/clients/ops/thread-messaging.owner-scope.js.map +1 -0
- package/dist/clients/ops/thread-messaging.transport.d.ts +20 -0
- package/dist/clients/ops/thread-messaging.transport.d.ts.map +1 -0
- package/dist/clients/ops/thread-messaging.transport.js +42 -0
- package/dist/clients/ops/thread-messaging.transport.js.map +1 -0
- package/dist/clients/ops/thread-messaging.types.d.ts +60 -0
- package/dist/clients/ops/thread-messaging.types.d.ts.map +1 -0
- package/dist/clients/ops/thread-messaging.types.js +2 -0
- package/dist/clients/ops/thread-messaging.types.js.map +1 -0
- package/dist/clients/ops/tool-calls-ops.client.d.ts +12 -0
- package/dist/clients/ops/tool-calls-ops.client.d.ts.map +1 -0
- package/dist/clients/ops/tool-calls-ops.client.js +29 -0
- package/dist/clients/ops/tool-calls-ops.client.js.map +1 -0
- package/dist/clients/ops/usage-workflows-ops.client.d.ts +22 -0
- package/dist/clients/ops/usage-workflows-ops.client.d.ts.map +1 -0
- package/dist/clients/ops/usage-workflows-ops.client.js +23 -0
- package/dist/clients/ops/usage-workflows-ops.client.js.map +1 -0
- package/dist/factory/admin-sdk.d.ts +96 -0
- package/dist/factory/admin-sdk.d.ts.map +1 -0
- package/dist/factory/admin-sdk.js +112 -0
- package/dist/factory/admin-sdk.js.map +1 -0
- package/dist/factory/ops-sdk.d.ts +74 -0
- package/dist/factory/ops-sdk.d.ts.map +1 -0
- package/dist/factory/ops-sdk.js +88 -0
- package/dist/factory/ops-sdk.js.map +1 -0
- package/dist/index.additional-client-types.d.ts +24 -0
- package/dist/index.additional-client-types.d.ts.map +1 -0
- package/dist/index.additional-client-types.js +16 -0
- package/dist/index.additional-client-types.js.map +1 -0
- package/dist/legacy/sdk-factory.d.ts +37 -0
- package/dist/legacy/sdk-factory.d.ts.map +1 -0
- package/dist/legacy/sdk-factory.js +36 -0
- package/dist/legacy/sdk-factory.js.map +1 -0
- package/dist/lib/context.d.ts +69 -0
- package/dist/lib/context.d.ts.map +1 -0
- package/dist/lib/context.js +225 -0
- package/dist/lib/context.js.map +1 -0
- package/dist/lib/db.d.ts +16 -0
- package/dist/lib/db.d.ts.map +1 -0
- package/dist/lib/db.js +50 -0
- package/dist/lib/db.js.map +1 -0
- package/dist/lib/logger.d.ts +14 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +14 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/opencode.d.ts +33 -0
- package/dist/lib/opencode.d.ts.map +1 -0
- package/dist/lib/opencode.js +101 -0
- package/dist/lib/opencode.js.map +1 -0
- package/dist/lib/utils.d.ts +18 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +40 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/manifest.admin-entries-2.d.ts +9 -0
- package/dist/manifest.admin-entries-2.d.ts.map +1 -0
- package/dist/manifest.admin-entries-2.js +218 -0
- package/dist/manifest.admin-entries-2.js.map +1 -0
- package/dist/manifest.admin-entries.d.ts +10 -0
- package/dist/manifest.admin-entries.d.ts.map +1 -0
- package/dist/manifest.admin-entries.js +220 -0
- package/dist/manifest.admin-entries.js.map +1 -0
- package/dist/manifest.ops-entries.d.ts +8 -0
- package/dist/manifest.ops-entries.d.ts.map +1 -0
- package/dist/manifest.ops-entries.js +282 -0
- package/dist/manifest.ops-entries.js.map +1 -0
- package/dist/transport/ops-api-client.d.ts +80 -0
- package/dist/transport/ops-api-client.d.ts.map +1 -0
- package/dist/transport/ops-api-client.js +211 -0
- package/dist/transport/ops-api-client.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,31 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documents-ops.client.js","sourceRoot":"","sources":["../../../src/clients/ops/documents-ops.client.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,kBAAkB;IACE;IAA7B,YAA6B,GAAiB;QAAjB,QAAG,GAAH,GAAG,CAAc;IAAG,CAAC;IAElD,KAAK,CAAC,MAAM,CAAC,KAA6B;QACtC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAqB,0BAA0B,EAAE,KAAK,CAAC,CAAA;QACtF,OAAO,GAAG,CAAC,IAAI,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAe,EAAE,IAAY,EAAE,IAAY;QACjD,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAC3D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAC1B,yBAAyB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAC/C,CAAA;YACD,OAAO,GAAG,CAAC,IAAI,CAAA;QACnB,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAA;QACf,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAA8C,EAAE;QACvD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QACpC,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACzD,IAAI,MAAM,CAAC,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QAChD,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;QAC5B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAC1B,oBAAoB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3C,CAAA;QACD,OAAO,GAAG,CAAC,IAAI,CAAA;IACnB,CAAC;CACJ"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { OpsApiClient } from '../../transport/ops-api-client.js';
|
|
2
|
+
/**
|
|
3
|
+
* F526/AC-2/AC-3 — the SDK-side call to `services/api/src/routes/github-credential.ts`
|
|
4
|
+
* (`GET /v1/github-credential?seat=&owner=&repo=`). Consumed by `mcp/beacon`'s new
|
|
5
|
+
* `resolveCloudGithubCredential` (`packages/mcp-core/src/github/user-credential.ts`) — the
|
|
6
|
+
* cross-process credential-delivery seam a call site with no direct DB access needs to resolve
|
|
7
|
+
* the caller-attributed GitHub write credential. See that route's module doc for the full
|
|
8
|
+
* seat/fail-closed design.
|
|
9
|
+
*/
|
|
10
|
+
export declare class GithubCredentialOpsClient {
|
|
11
|
+
private readonly api;
|
|
12
|
+
constructor(api: OpsApiClient);
|
|
13
|
+
/**
|
|
14
|
+
* Returns `null` on ANY failure — no triggering human resolved for the seat, no available
|
|
15
|
+
* credential (fail-closed A), or a transport error. The caller decides what "no credential"
|
|
16
|
+
* means for its own call site (AC-4/AC-5: Cloud context + no credential = fail loud;
|
|
17
|
+
* `resolveCloudGithubCredential`'s own doc owns that decision, not this thin transport).
|
|
18
|
+
*/
|
|
19
|
+
resolve(seat: string, ctx?: {
|
|
20
|
+
owner?: string;
|
|
21
|
+
repo?: string;
|
|
22
|
+
}): Promise<{
|
|
23
|
+
token: string;
|
|
24
|
+
tier: '1' | '2';
|
|
25
|
+
authorName?: string;
|
|
26
|
+
authorEmail?: string;
|
|
27
|
+
} | null>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=github-credential-ops.client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github-credential-ops.client.d.ts","sourceRoot":"","sources":["../../../src/clients/ops/github-credential-ops.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAErE;;;;;;;GAOG;AACH,qBAAa,yBAAyB;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,YAAY;IAE9C;;;;;OAKG;IACG,OAAO,CACT,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO,GAC5C,OAAO,CAAC;QACP,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,GAAG,GAAG,GAAG,CAAA;QACf,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,WAAW,CAAC,EAAE,MAAM,CAAA;KACvB,GAAG,IAAI,CAAC;CAWZ"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* F526/AC-2/AC-3 — the SDK-side call to `services/api/src/routes/github-credential.ts`
|
|
3
|
+
* (`GET /v1/github-credential?seat=&owner=&repo=`). Consumed by `mcp/beacon`'s new
|
|
4
|
+
* `resolveCloudGithubCredential` (`packages/mcp-core/src/github/user-credential.ts`) — the
|
|
5
|
+
* cross-process credential-delivery seam a call site with no direct DB access needs to resolve
|
|
6
|
+
* the caller-attributed GitHub write credential. See that route's module doc for the full
|
|
7
|
+
* seat/fail-closed design.
|
|
8
|
+
*/
|
|
9
|
+
export class GithubCredentialOpsClient {
|
|
10
|
+
api;
|
|
11
|
+
constructor(api) {
|
|
12
|
+
this.api = api;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Returns `null` on ANY failure — no triggering human resolved for the seat, no available
|
|
16
|
+
* credential (fail-closed A), or a transport error. The caller decides what "no credential"
|
|
17
|
+
* means for its own call site (AC-4/AC-5: Cloud context + no credential = fail loud;
|
|
18
|
+
* `resolveCloudGithubCredential`'s own doc owns that decision, not this thin transport).
|
|
19
|
+
*/
|
|
20
|
+
async resolve(seat, ctx = {}) {
|
|
21
|
+
const params = new URLSearchParams({ seat });
|
|
22
|
+
if (ctx.owner)
|
|
23
|
+
params.set('owner', ctx.owner);
|
|
24
|
+
if (ctx.repo)
|
|
25
|
+
params.set('repo', ctx.repo);
|
|
26
|
+
const res = await this.api
|
|
27
|
+
.get(`/api/v1/github-credential?${params.toString()}`)
|
|
28
|
+
.catch(() => null);
|
|
29
|
+
return res?.data ?? null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=github-credential-ops.client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github-credential-ops.client.js","sourceRoot":"","sources":["../../../src/clients/ops/github-credential-ops.client.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,OAAO,yBAAyB;IACL;IAA7B,YAA6B,GAAiB;QAAjB,QAAG,GAAH,GAAG,CAAc;IAAG,CAAC;IAElD;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CACT,IAAY,EACZ,MAAyC,EAAE;QAO3C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5C,IAAI,GAAG,CAAC,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;QAC7C,IAAI,GAAG,CAAC,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;QAC1C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG;aACrB,GAAG,CAED,6BAA6B,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;aACnD,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;QACtB,OAAO,GAAG,EAAE,IAAI,IAAI,IAAI,CAAA;IAC5B,CAAC;CACJ"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { LeadDto, LeadIntent } from '@beacon-build/core';
|
|
2
|
+
import type { OpsApiClient } from '../../transport/ops-api-client.js';
|
|
3
|
+
/** AC-27/AC-28: `LeadsOpsClient` — create/list/get/update, mirrors `TasksOpsClient`'s
|
|
4
|
+
* shape/registration exactly. Every method unwraps the `{ data }` envelope — never
|
|
5
|
+
* returns the raw envelope object. */
|
|
6
|
+
export interface CreateLeadOpsInput {
|
|
7
|
+
email: string;
|
|
8
|
+
source: string;
|
|
9
|
+
locale: string;
|
|
10
|
+
company?: string;
|
|
11
|
+
message?: string;
|
|
12
|
+
/** C737/AC-1: optional lead-source-intent tag. */
|
|
13
|
+
intent?: LeadIntent;
|
|
14
|
+
}
|
|
15
|
+
export interface UpdateLeadOpsFields {
|
|
16
|
+
email?: string;
|
|
17
|
+
status?: string;
|
|
18
|
+
company?: string;
|
|
19
|
+
message?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface LeadListOpsFilter {
|
|
22
|
+
status?: string;
|
|
23
|
+
/** C737/AC-3: filters by `LEAD_INTENT_VALUES`. */
|
|
24
|
+
intent?: LeadIntent;
|
|
25
|
+
page?: number;
|
|
26
|
+
limit?: number;
|
|
27
|
+
}
|
|
28
|
+
export declare class LeadsOpsClient {
|
|
29
|
+
private readonly api;
|
|
30
|
+
constructor(api: OpsApiClient);
|
|
31
|
+
create(input: CreateLeadOpsInput): Promise<LeadDto>;
|
|
32
|
+
list(filter?: LeadListOpsFilter): Promise<LeadDto[]>;
|
|
33
|
+
get(id: string): Promise<LeadDto>;
|
|
34
|
+
update(id: string, fields: UpdateLeadOpsFields): Promise<LeadDto>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=leads-ops.client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"leads-ops.client.d.ts","sourceRoot":"","sources":["../../../src/clients/ops/leads-ops.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAErE;;uCAEuC;AAEvC,MAAM,WAAW,kBAAkB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,kDAAkD;IAClD,MAAM,CAAC,EAAE,UAAU,CAAA;CACtB;AAED,MAAM,WAAW,mBAAmB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kDAAkD;IAClD,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,cAAc;IACX,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,YAAY;IAExC,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAOnD,IAAI,CAAC,MAAM,GAAE,iBAAsB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAWxD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKjC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;CAO1E"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export class LeadsOpsClient {
|
|
2
|
+
api;
|
|
3
|
+
constructor(api) {
|
|
4
|
+
this.api = api;
|
|
5
|
+
}
|
|
6
|
+
async create(input) {
|
|
7
|
+
const res = await this.api.post('/api/v1/leads', input);
|
|
8
|
+
return res.data;
|
|
9
|
+
}
|
|
10
|
+
// AC-28: unwraps the `{ data }` envelope — same contract shape as
|
|
11
|
+
// `TasksOpsClient.list()` (returns the bare array, drops `meta`).
|
|
12
|
+
async list(filter = {}) {
|
|
13
|
+
const params = new URLSearchParams();
|
|
14
|
+
if (filter.status)
|
|
15
|
+
params.set('status', filter.status);
|
|
16
|
+
if (filter.intent)
|
|
17
|
+
params.set('intent', filter.intent);
|
|
18
|
+
if (filter.page != null)
|
|
19
|
+
params.set('page', String(filter.page));
|
|
20
|
+
if (filter.limit != null)
|
|
21
|
+
params.set('limit', String(filter.limit));
|
|
22
|
+
const qs = params.toString();
|
|
23
|
+
const res = await this.api.get(`/api/v1/leads${qs ? `?${qs}` : ''}`);
|
|
24
|
+
return res.data ?? [];
|
|
25
|
+
}
|
|
26
|
+
async get(id) {
|
|
27
|
+
const res = await this.api.get(`/api/v1/leads/${encodeURIComponent(id)}`);
|
|
28
|
+
return res.data;
|
|
29
|
+
}
|
|
30
|
+
async update(id, fields) {
|
|
31
|
+
const res = await this.api.patch(`/api/v1/leads/${encodeURIComponent(id)}`, fields);
|
|
32
|
+
return res.data;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=leads-ops.client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"leads-ops.client.js","sourceRoot":"","sources":["../../../src/clients/ops/leads-ops.client.ts"],"names":[],"mappings":"AAgCA,MAAM,OAAO,cAAc;IACM;IAA7B,YAA6B,GAAiB;QAAjB,QAAG,GAAH,GAAG,CAAc;IAAG,CAAC;IAElD,KAAK,CAAC,MAAM,CAAC,KAAyB;QAClC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAoB,eAAe,EAAE,KAAK,CAAC,CAAA;QAC1E,OAAO,GAAG,CAAC,IAAI,CAAA;IACnB,CAAC;IAED,kEAAkE;IAClE,kEAAkE;IAClE,KAAK,CAAC,IAAI,CAAC,SAA4B,EAAE;QACrC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QACpC,IAAI,MAAM,CAAC,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QACtD,IAAI,MAAM,CAAC,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QACtD,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QAChE,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACnE,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;QAC5B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAsB,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACzF,OAAO,GAAG,CAAC,IAAI,IAAI,EAAE,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAChB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAoB,iBAAiB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAC5F,OAAO,GAAG,CAAC,IAAI,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,MAA2B;QAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAC5B,iBAAiB,kBAAkB,CAAC,EAAE,CAAC,EAAE,EACzC,MAAM,CACT,CAAA;QACD,OAAO,GAAG,CAAC,IAAI,CAAA;IACnB,CAAC;CACJ"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { AgentContext, Memory, UpsertMemoryInput, MemoryType, MemoryScope } from '@beacon-build/core';
|
|
2
|
+
import type { OpsApiClient } from '../../transport/ops-api-client.js';
|
|
3
|
+
export declare class MemoriesOpsClient {
|
|
4
|
+
private readonly api;
|
|
5
|
+
constructor(api: OpsApiClient);
|
|
6
|
+
upsert(context: AgentContext, input: UpsertMemoryInput): Promise<Memory>;
|
|
7
|
+
findForSession(context: AgentContext, opts?: {
|
|
8
|
+
limit?: number;
|
|
9
|
+
}): Promise<Memory[]>;
|
|
10
|
+
list(context: AgentContext, filter?: {
|
|
11
|
+
type?: MemoryType;
|
|
12
|
+
scope?: MemoryScope;
|
|
13
|
+
limit?: number;
|
|
14
|
+
staleUnusedDays?: number;
|
|
15
|
+
}): Promise<Memory[]>;
|
|
16
|
+
delete(context: AgentContext, memoryId: string): Promise<boolean>;
|
|
17
|
+
deleteByKey(context: AgentContext, key: string, opts?: {
|
|
18
|
+
global?: boolean;
|
|
19
|
+
}): Promise<boolean>;
|
|
20
|
+
searchByVector(context: AgentContext, embedding: number[], opts?: {
|
|
21
|
+
limit?: number;
|
|
22
|
+
global?: boolean;
|
|
23
|
+
}): Promise<Memory[]>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=memories-ops.client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memories-ops.client.d.ts","sourceRoot":"","sources":["../../../src/clients/ops/memories-ops.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,YAAY,EACZ,MAAM,EACN,iBAAiB,EACjB,UAAU,EACV,WAAW,EACd,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAErE,qBAAa,iBAAiB;IACd,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,YAAY;IAExC,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IASxE,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAanF,IAAI,CACN,OAAO,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,UAAU,CAAA;QACjB,KAAK,CAAC,EAAE,WAAW,CAAA;QACnB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,eAAe,CAAC,EAAE,MAAM,CAAA;KAC3B,GACF,OAAO,CAAC,MAAM,EAAE,CAAC;IAed,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWjE,WAAW,CACb,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5B,OAAO,CAAC,OAAO,CAAC;IAab,cAAc,CAChB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM,EAAE,EACnB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5C,OAAO,CAAC,MAAM,EAAE,CAAC;CASvB"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
export class MemoriesOpsClient {
|
|
2
|
+
api;
|
|
3
|
+
constructor(api) {
|
|
4
|
+
this.api = api;
|
|
5
|
+
}
|
|
6
|
+
async upsert(context, input) {
|
|
7
|
+
const res = await this.api.post('/api/v1/memories', {
|
|
8
|
+
...input,
|
|
9
|
+
agentId: context.agentId,
|
|
10
|
+
project: context.project,
|
|
11
|
+
});
|
|
12
|
+
return res.data;
|
|
13
|
+
}
|
|
14
|
+
async findForSession(context, opts) {
|
|
15
|
+
const params = new URLSearchParams();
|
|
16
|
+
params.set('agentId', context.agentId);
|
|
17
|
+
// F428: org-scoped agent context has no single project — '' matches the pre-F428
|
|
18
|
+
// behavior for a project-less caller (out of F428's scope to redesign).
|
|
19
|
+
params.set('project', context.project ?? '');
|
|
20
|
+
if (opts?.limit != null)
|
|
21
|
+
params.set('limit', String(opts.limit));
|
|
22
|
+
const res = await this.api.get(`/api/v1/memories/for-session?${params.toString()}`);
|
|
23
|
+
return res.data;
|
|
24
|
+
}
|
|
25
|
+
async list(context, filter) {
|
|
26
|
+
const params = new URLSearchParams();
|
|
27
|
+
params.set('agentId', context.agentId);
|
|
28
|
+
// F428: org-scoped agent context has no single project — '' matches the pre-F428
|
|
29
|
+
// behavior for a project-less caller (out of F428's scope to redesign).
|
|
30
|
+
params.set('project', context.project ?? '');
|
|
31
|
+
if (filter?.type)
|
|
32
|
+
params.set('type', filter.type);
|
|
33
|
+
if (filter?.scope)
|
|
34
|
+
params.set('scope', filter.scope);
|
|
35
|
+
if (filter?.limit != null)
|
|
36
|
+
params.set('limit', String(filter.limit));
|
|
37
|
+
if (filter?.staleUnusedDays != null)
|
|
38
|
+
params.set('staleUnusedDays', String(filter.staleUnusedDays));
|
|
39
|
+
const res = await this.api.get(`/api/v1/memories?${params.toString()}`);
|
|
40
|
+
return res.data;
|
|
41
|
+
}
|
|
42
|
+
async delete(context, memoryId) {
|
|
43
|
+
try {
|
|
44
|
+
await this.api.delete(`/api/v1/memories/${encodeURIComponent(memoryId)}?agentId=${encodeURIComponent(context.agentId)}`);
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
async deleteByKey(context, key, opts) {
|
|
52
|
+
const params = new URLSearchParams();
|
|
53
|
+
params.set('agentId', context.agentId);
|
|
54
|
+
params.set('key', key);
|
|
55
|
+
if (!opts?.global && context.project)
|
|
56
|
+
params.set('project', context.project);
|
|
57
|
+
try {
|
|
58
|
+
await this.api.delete(`/api/v1/memories/by-key?${params.toString()}`);
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
async searchByVector(context, embedding, opts) {
|
|
66
|
+
const res = await this.api.post('/api/v1/memories/search-by-vector', {
|
|
67
|
+
agentId: context.agentId,
|
|
68
|
+
embedding,
|
|
69
|
+
project: opts?.global ? null : context.project || null,
|
|
70
|
+
limit: opts?.limit,
|
|
71
|
+
});
|
|
72
|
+
return res.data;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=memories-ops.client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memories-ops.client.js","sourceRoot":"","sources":["../../../src/clients/ops/memories-ops.client.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,iBAAiB;IACG;IAA7B,YAA6B,GAAiB;QAAjB,QAAG,GAAH,GAAG,CAAc;IAAG,CAAC;IAElD,KAAK,CAAC,MAAM,CAAC,OAAqB,EAAE,KAAwB;QACxD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAmB,kBAAkB,EAAE;YAClE,GAAG,KAAK;YACR,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;SAC3B,CAAC,CAAA;QACF,OAAO,GAAG,CAAC,IAAI,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAqB,EAAE,IAAyB;QACjE,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QACtC,iFAAiF;QACjF,wEAAwE;QACxE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;QAC5C,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QAChE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAC1B,gCAAgC,MAAM,CAAC,QAAQ,EAAE,EAAE,CACtD,CAAA;QACD,OAAO,GAAG,CAAC,IAAI,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,IAAI,CACN,OAAqB,EACrB,MAKC;QAED,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QACtC,iFAAiF;QACjF,wEAAwE;QACxE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;QAC5C,IAAI,MAAM,EAAE,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QACjD,IAAI,MAAM,EAAE,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QACpD,IAAI,MAAM,EAAE,KAAK,IAAI,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACpE,IAAI,MAAM,EAAE,eAAe,IAAI,IAAI;YAC/B,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAA;QACjE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAqB,oBAAoB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QAC3F,OAAO,GAAG,CAAC,IAAI,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAqB,EAAE,QAAgB;QAChD,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CACjB,oBAAoB,kBAAkB,CAAC,QAAQ,CAAC,YAAY,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CACpG,CAAA;YACD,OAAO,IAAI,CAAA;QACf,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAA;QAChB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CACb,OAAqB,EACrB,GAAW,EACX,IAA2B;QAE3B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QACtC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,OAAO,CAAC,OAAO;YAAE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QAC5E,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,2BAA2B,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YACrE,OAAO,IAAI,CAAA;QACf,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAA;QAChB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAChB,OAAqB,EACrB,SAAmB,EACnB,IAA2C;QAE3C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAqB,mCAAmC,EAAE;YACrF,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI;YACtD,KAAK,EAAE,IAAI,EAAE,KAAK;SACrB,CAAC,CAAA;QACF,OAAO,GAAG,CAAC,IAAI,CAAA;IACnB,CAAC;CACJ"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { OpsApiClient } from '../../transport/ops-api-client.js';
|
|
2
|
+
/**
|
|
3
|
+
* MetricsOpsClient — C823.
|
|
4
|
+
*
|
|
5
|
+
* Typed SDK access to F515/AC-6's on-demand request-correlation read API
|
|
6
|
+
* (`GET /api/v1/metrics/correlation`) — Ops-gated (Argus system-JWT, org-less
|
|
7
|
+
* admin/vendor JWT, or the `OPS_API_KEY` dual-accept safety net; the SAME
|
|
8
|
+
* `honoOpsAuthGuard` mount `/v1/ops/*` uses, not a new role —
|
|
9
|
+
* `services/api/src/app/routes-ops-mounts.ts`). Not reachable via `AdminSdk`'s
|
|
10
|
+
* User-JWT-only `HttpClient` for a non-admin/vendor human caller.
|
|
11
|
+
*/
|
|
12
|
+
export interface MetricsCorrelationFilter {
|
|
13
|
+
/** Authenticated `userId` to correlate — required unless `requestId` is given (AC-6:
|
|
14
|
+
* correlation has no anonymous concept, at least one target is mandatory). */
|
|
15
|
+
userId?: string;
|
|
16
|
+
requestId?: string;
|
|
17
|
+
/** ISO-8601. Defaults server-side to `until - 24h` when omitted. */
|
|
18
|
+
since?: string;
|
|
19
|
+
/** ISO-8601. Defaults server-side to `now` when omitted. */
|
|
20
|
+
until?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface CorrelatedRequestRecord {
|
|
23
|
+
requestId: string;
|
|
24
|
+
method: string;
|
|
25
|
+
path: string;
|
|
26
|
+
status: number;
|
|
27
|
+
durationMs: number;
|
|
28
|
+
/** ISO-8601. */
|
|
29
|
+
time: string;
|
|
30
|
+
}
|
|
31
|
+
export declare class MetricsOpsClient {
|
|
32
|
+
private readonly api;
|
|
33
|
+
constructor(api: OpsApiClient);
|
|
34
|
+
/** GET /api/v1/metrics/correlation — F515/AC-6/AC-7. Unwraps the `{ data }` envelope
|
|
35
|
+
* (no `meta` on this response — see `services/api/src/schemas/metrics.ts`). */
|
|
36
|
+
correlation(filter: MetricsCorrelationFilter): Promise<CorrelatedRequestRecord[]>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=metrics-ops.client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics-ops.client.d.ts","sourceRoot":"","sources":["../../../src/clients/ops/metrics-ops.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAErE;;;;;;;;;GASG;AAEH,MAAM,WAAW,wBAAwB;IACrC;mFAC+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,uBAAuB;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,gBAAgB;IACb,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,YAAY;IAE9C;oFACgF;IAC1E,WAAW,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;CAY1F"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export class MetricsOpsClient {
|
|
2
|
+
api;
|
|
3
|
+
constructor(api) {
|
|
4
|
+
this.api = api;
|
|
5
|
+
}
|
|
6
|
+
/** GET /api/v1/metrics/correlation — F515/AC-6/AC-7. Unwraps the `{ data }` envelope
|
|
7
|
+
* (no `meta` on this response — see `services/api/src/schemas/metrics.ts`). */
|
|
8
|
+
async correlation(filter) {
|
|
9
|
+
const params = new URLSearchParams();
|
|
10
|
+
if (filter.userId)
|
|
11
|
+
params.set('userId', filter.userId);
|
|
12
|
+
if (filter.requestId)
|
|
13
|
+
params.set('requestId', filter.requestId);
|
|
14
|
+
if (filter.since)
|
|
15
|
+
params.set('since', filter.since);
|
|
16
|
+
if (filter.until)
|
|
17
|
+
params.set('until', filter.until);
|
|
18
|
+
const qs = params.toString();
|
|
19
|
+
const res = await this.api.get(`/api/v1/metrics/correlation${qs ? `?${qs}` : ''}`);
|
|
20
|
+
return res.data ?? [];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=metrics-ops.client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics-ops.client.js","sourceRoot":"","sources":["../../../src/clients/ops/metrics-ops.client.ts"],"names":[],"mappings":"AAkCA,MAAM,OAAO,gBAAgB;IACI;IAA7B,YAA6B,GAAiB;QAAjB,QAAG,GAAH,GAAG,CAAc;IAAG,CAAC;IAElD;oFACgF;IAChF,KAAK,CAAC,WAAW,CAAC,MAAgC;QAC9C,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QACpC,IAAI,MAAM,CAAC,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QACtD,IAAI,MAAM,CAAC,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;QAC/D,IAAI,MAAM,CAAC,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QACnD,IAAI,MAAM,CAAC,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QACnD,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;QAC5B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAC1B,8BAA8B,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACrD,CAAA;QACD,OAAO,GAAG,CAAC,IAAI,IAAI,EAAE,CAAA;IACzB,CAAC;CACJ"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { OpsApiClient } from '../../transport/ops-api-client.js';
|
|
2
|
+
import { type SseStreamHandler, type SseStreamResult } from '../../transport/sse-client.js';
|
|
3
|
+
export interface DbMigrateOptions {
|
|
4
|
+
handler: SseStreamHandler;
|
|
5
|
+
}
|
|
6
|
+
export interface DbSeedOptions {
|
|
7
|
+
handler: SseStreamHandler;
|
|
8
|
+
mode?: 'full' | 'production' | 'auto';
|
|
9
|
+
}
|
|
10
|
+
export interface DbResetOptions {
|
|
11
|
+
handler: SseStreamHandler;
|
|
12
|
+
confirm: true;
|
|
13
|
+
}
|
|
14
|
+
export declare class OpsDbClient {
|
|
15
|
+
private readonly api;
|
|
16
|
+
private readonly apiKey;
|
|
17
|
+
private sse;
|
|
18
|
+
constructor(api: OpsApiClient, apiKey: string);
|
|
19
|
+
stats(): Promise<Record<string, unknown>>;
|
|
20
|
+
/**
|
|
21
|
+
* Run a read-only SQL query (SELECT/WITH/EXPLAIN) with positional params.
|
|
22
|
+
* Backs the remote path of project-db's db_query/tables/schema/count/sample (F327).
|
|
23
|
+
*/
|
|
24
|
+
query(sql: string, params?: unknown[]): Promise<{
|
|
25
|
+
rows: Record<string, unknown>[];
|
|
26
|
+
truncated: boolean;
|
|
27
|
+
}>;
|
|
28
|
+
/**
|
|
29
|
+
* Run a write statement (INSERT/UPDATE/DELETE) server-side with positional params.
|
|
30
|
+
* Backs the remote path of project-db's db_execute (F327 AC-2). The server enforces the
|
|
31
|
+
* safety model: SELECT is rejected, DDL is prod-guarded, and DML against prod/staging
|
|
32
|
+
* requires `confirm=true`. Returns the number of affected rows.
|
|
33
|
+
*/
|
|
34
|
+
execute(sql: string, params?: unknown[], opts?: {
|
|
35
|
+
confirm?: boolean;
|
|
36
|
+
allowDenylistedTable?: boolean;
|
|
37
|
+
}): Promise<{
|
|
38
|
+
rowsAffected: number;
|
|
39
|
+
}>;
|
|
40
|
+
migrate(opts: DbMigrateOptions): SseStreamResult;
|
|
41
|
+
seed(opts: DbSeedOptions): SseStreamResult;
|
|
42
|
+
reset(opts: DbResetOptions): SseStreamResult;
|
|
43
|
+
migrations(): Promise<unknown[]>;
|
|
44
|
+
migrationStatus(): Promise<{
|
|
45
|
+
pending: number;
|
|
46
|
+
applied: number;
|
|
47
|
+
}>;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=ops-db.client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ops-db.client.d.ts","sourceRoot":"","sources":["../../../src/clients/ops/ops-db.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAEH,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACvB,MAAM,+BAA+B,CAAA;AAEtC,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,gBAAgB,CAAA;CAC5B;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,gBAAgB,CAAA;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,MAAM,CAAA;CACxC;AAED,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,gBAAgB,CAAA;IACzB,OAAO,EAAE,IAAI,CAAA;CAChB;AAED,qBAAa,WAAW;IAIhB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJ3B,OAAO,CAAC,GAAG,CAAW;gBAGD,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,MAAM;IAQ7B,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAI/C;;;OAGG;IACG,KAAK,CACP,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,GACnB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAOnE;;;;;OAKG;IACG,OAAO,CACT,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,EAIlB,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7D,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAapC,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe;IAIhD,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,eAAe;IAM1C,KAAK,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe;IAItC,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAIhC,eAAe,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAGzE"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { SseClient, } from '../../transport/sse-client.js';
|
|
2
|
+
export class OpsDbClient {
|
|
3
|
+
api;
|
|
4
|
+
apiKey;
|
|
5
|
+
sse;
|
|
6
|
+
constructor(api, apiKey) {
|
|
7
|
+
this.api = api;
|
|
8
|
+
this.apiKey = apiKey;
|
|
9
|
+
this.sse = new SseClient({
|
|
10
|
+
baseUrl: api.getBaseUrl(),
|
|
11
|
+
getAuthHeader: async () => `Bearer ${this.apiKey}`,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
async stats() {
|
|
15
|
+
return this.api.get('/api/v1/ops/db/stats');
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Run a read-only SQL query (SELECT/WITH/EXPLAIN) with positional params.
|
|
19
|
+
* Backs the remote path of project-db's db_query/tables/schema/count/sample (F327).
|
|
20
|
+
*/
|
|
21
|
+
async query(sql, params) {
|
|
22
|
+
const res = await this.api.post('/api/v1/ops/db/query', { sql, params });
|
|
23
|
+
return res.data;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Run a write statement (INSERT/UPDATE/DELETE) server-side with positional params.
|
|
27
|
+
* Backs the remote path of project-db's db_execute (F327 AC-2). The server enforces the
|
|
28
|
+
* safety model: SELECT is rejected, DDL is prod-guarded, and DML against prod/staging
|
|
29
|
+
* requires `confirm=true`. Returns the number of affected rows.
|
|
30
|
+
*/
|
|
31
|
+
async execute(sql, params,
|
|
32
|
+
// F474/AC-4/M-6a: allowDenylistedTable is the explicit, logged break-glass override
|
|
33
|
+
// for the server-side table denylist — never a default, opt-in per call. Reserved for
|
|
34
|
+
// the AC-7 sanctioned cleanup path.
|
|
35
|
+
opts) {
|
|
36
|
+
const res = await this.api.post('/api/v1/ops/db/execute', {
|
|
37
|
+
sql,
|
|
38
|
+
params,
|
|
39
|
+
confirm: opts?.confirm,
|
|
40
|
+
allow_denylisted_table: opts?.allowDenylistedTable,
|
|
41
|
+
});
|
|
42
|
+
return res.data;
|
|
43
|
+
}
|
|
44
|
+
migrate(opts) {
|
|
45
|
+
return this.sse.stream('POST', '/ops/db/migrate', opts.handler);
|
|
46
|
+
}
|
|
47
|
+
seed(opts) {
|
|
48
|
+
return this.sse.stream('POST', '/ops/db/seed', opts.handler, {
|
|
49
|
+
mode: opts.mode ?? 'auto',
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
reset(opts) {
|
|
53
|
+
return this.sse.stream('POST', '/ops/db/reset', opts.handler, { confirm: true });
|
|
54
|
+
}
|
|
55
|
+
async migrations() {
|
|
56
|
+
return this.api.get('/api/v1/ops/db/migrations');
|
|
57
|
+
}
|
|
58
|
+
async migrationStatus() {
|
|
59
|
+
return this.api.get('/api/v1/ops/db/migration-status');
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=ops-db.client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ops-db.client.js","sourceRoot":"","sources":["../../../src/clients/ops/ops-db.client.ts"],"names":[],"mappings":"AACA,OAAO,EACH,SAAS,GAGZ,MAAM,+BAA+B,CAAA;AAgBtC,MAAM,OAAO,WAAW;IAIC;IACA;IAJb,GAAG,CAAW;IAEtB,YACqB,GAAiB,EACjB,MAAc;QADd,QAAG,GAAH,GAAG,CAAc;QACjB,WAAM,GAAN,MAAM,CAAQ;QAE/B,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,CAAC;YACrB,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE;YACzB,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU,IAAI,CAAC,MAAM,EAAE;SACrD,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAA0B,sBAAsB,CAAC,CAAA;IACxE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CACP,GAAW,EACX,MAAkB;QAElB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAE5B,sBAAsB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;QAC3C,OAAO,GAAG,CAAC,IAAI,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CACT,GAAW,EACX,MAAkB;IAClB,oFAAoF;IACpF,sFAAsF;IACtF,oCAAoC;IACpC,IAA4D;QAE5D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAC3B,wBAAwB,EACxB;YACI,GAAG;YACH,MAAM;YACN,OAAO,EAAE,IAAI,EAAE,OAAO;YACtB,sBAAsB,EAAE,IAAI,EAAE,oBAAoB;SACrD,CACJ,CAAA;QACD,OAAO,GAAG,CAAC,IAAI,CAAA;IACnB,CAAC;IAED,OAAO,CAAC,IAAsB;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IACnE,CAAC;IAED,IAAI,CAAC,IAAmB;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE;YACzD,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,MAAM;SAC5B,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,IAAoB;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IACpF,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAY,2BAA2B,CAAC,CAAA;IAC/D,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAuC,iCAAiC,CAAC,CAAA;IAChG,CAAC;CACJ"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { OpsApiClient } from '../../transport/ops-api-client.js';
|
|
2
|
+
export interface LogSearchFilter {
|
|
3
|
+
service?: string;
|
|
4
|
+
level?: string;
|
|
5
|
+
keyword?: string;
|
|
6
|
+
after?: string;
|
|
7
|
+
before?: string;
|
|
8
|
+
limit?: number;
|
|
9
|
+
}
|
|
10
|
+
export interface LogEntry {
|
|
11
|
+
timestamp: string;
|
|
12
|
+
level: string;
|
|
13
|
+
message: string;
|
|
14
|
+
service?: string;
|
|
15
|
+
meta?: Record<string, unknown>;
|
|
16
|
+
}
|
|
17
|
+
export declare class OpsLogsClient {
|
|
18
|
+
private readonly api;
|
|
19
|
+
constructor(api: OpsApiClient);
|
|
20
|
+
search(filter?: LogSearchFilter): Promise<LogEntry[]>;
|
|
21
|
+
/**
|
|
22
|
+
* GET /ops/logs/server — tail the remote API host's own filesystem log for a server
|
|
23
|
+
* (F327 AC-4). Returns raw lines; the caller parses them with its own log parser, so the
|
|
24
|
+
* result is identical to the local-file path.
|
|
25
|
+
*/
|
|
26
|
+
serverLogs(opts: {
|
|
27
|
+
service: string;
|
|
28
|
+
lines?: number;
|
|
29
|
+
grep?: string;
|
|
30
|
+
}): Promise<{
|
|
31
|
+
service: string;
|
|
32
|
+
lines: string[];
|
|
33
|
+
truncated: boolean;
|
|
34
|
+
}>;
|
|
35
|
+
/**
|
|
36
|
+
* GET /ops/logs/:slug/:env — F552 AC-5: the CONTROL-PLANE-addressed method for fetching a
|
|
37
|
+
* project's Northflank/local-dev logs, modeled on `OpsNorthflankClient.envStatus` (same
|
|
38
|
+
* "always-on management api, addressed by the target's own slug" shape). This is the route
|
|
39
|
+
* that actually reaches Northflank-hosted logs (F510) — unlike `serverLogs()` above, which
|
|
40
|
+
* only ever works against a bctl-wrapped host filesystem.
|
|
41
|
+
*
|
|
42
|
+
* `discover: true` (AC-1) asks the route to return ONLY `availableServices` (`lines: []`,
|
|
43
|
+
* `service: ''`) without touching Northflank/the local file at all — safe to call even when
|
|
44
|
+
* an actual log read would time out or error.
|
|
45
|
+
*/
|
|
46
|
+
projectLogs(opts: {
|
|
47
|
+
slug: string;
|
|
48
|
+
env: string;
|
|
49
|
+
service?: string;
|
|
50
|
+
lines?: number;
|
|
51
|
+
minutes?: number;
|
|
52
|
+
search?: string;
|
|
53
|
+
regex?: boolean;
|
|
54
|
+
discover?: boolean;
|
|
55
|
+
}): Promise<ProjectLogsResult>;
|
|
56
|
+
}
|
|
57
|
+
export interface ProjectLogsResult {
|
|
58
|
+
lines: string[];
|
|
59
|
+
service: string;
|
|
60
|
+
availableServices: string[];
|
|
61
|
+
env: string;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=ops-logs.client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ops-logs.client.d.ts","sourceRoot":"","sources":["../../../src/clients/ops/ops-logs.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAErE,MAAM,WAAW,eAAe;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,QAAQ;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED,qBAAa,aAAa;IACV,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,YAAY;IAExC,MAAM,CAAC,MAAM,GAAE,eAAoB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAY/D;;;;OAIG;IACG,UAAU,CAAC,IAAI,EAAE;QACnB,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,MAAM,CAAA;KAChB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAUrE;;;;;;;;;;OAUG;IACG,WAAW,CAAC,IAAI,EAAE;QACpB,IAAI,EAAE,MAAM,CAAA;QACZ,GAAG,EAAE,MAAM,CAAA;QACX,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,OAAO,CAAA;QACf,QAAQ,CAAC,EAAE,OAAO,CAAA;KACrB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAajC;AAED,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,iBAAiB,EAAE,MAAM,EAAE,CAAA;IAC3B,GAAG,EAAE,MAAM,CAAA;CACd"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
export class OpsLogsClient {
|
|
2
|
+
api;
|
|
3
|
+
constructor(api) {
|
|
4
|
+
this.api = api;
|
|
5
|
+
}
|
|
6
|
+
async search(filter = {}) {
|
|
7
|
+
const params = new URLSearchParams();
|
|
8
|
+
if (filter.service)
|
|
9
|
+
params.set('service', filter.service);
|
|
10
|
+
if (filter.level)
|
|
11
|
+
params.set('level', filter.level);
|
|
12
|
+
if (filter.keyword)
|
|
13
|
+
params.set('keyword', filter.keyword);
|
|
14
|
+
if (filter.after)
|
|
15
|
+
params.set('after', filter.after);
|
|
16
|
+
if (filter.before)
|
|
17
|
+
params.set('before', filter.before);
|
|
18
|
+
if (filter.limit != null)
|
|
19
|
+
params.set('limit', String(filter.limit));
|
|
20
|
+
const qs = params.toString();
|
|
21
|
+
return this.api.get(`/api/v1/ops/logs${qs ? `?${qs}` : ''}`);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* GET /ops/logs/server — tail the remote API host's own filesystem log for a server
|
|
25
|
+
* (F327 AC-4). Returns raw lines; the caller parses them with its own log parser, so the
|
|
26
|
+
* result is identical to the local-file path.
|
|
27
|
+
*/
|
|
28
|
+
async serverLogs(opts) {
|
|
29
|
+
const params = new URLSearchParams({ service: opts.service });
|
|
30
|
+
if (opts.lines != null)
|
|
31
|
+
params.set('lines', String(opts.lines));
|
|
32
|
+
if (opts.grep)
|
|
33
|
+
params.set('grep', opts.grep);
|
|
34
|
+
const res = await this.api.get(`/api/v1/ops/logs/server?${params.toString()}`);
|
|
35
|
+
return res.data;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* GET /ops/logs/:slug/:env — F552 AC-5: the CONTROL-PLANE-addressed method for fetching a
|
|
39
|
+
* project's Northflank/local-dev logs, modeled on `OpsNorthflankClient.envStatus` (same
|
|
40
|
+
* "always-on management api, addressed by the target's own slug" shape). This is the route
|
|
41
|
+
* that actually reaches Northflank-hosted logs (F510) — unlike `serverLogs()` above, which
|
|
42
|
+
* only ever works against a bctl-wrapped host filesystem.
|
|
43
|
+
*
|
|
44
|
+
* `discover: true` (AC-1) asks the route to return ONLY `availableServices` (`lines: []`,
|
|
45
|
+
* `service: ''`) without touching Northflank/the local file at all — safe to call even when
|
|
46
|
+
* an actual log read would time out or error.
|
|
47
|
+
*/
|
|
48
|
+
async projectLogs(opts) {
|
|
49
|
+
const params = new URLSearchParams();
|
|
50
|
+
if (opts.service)
|
|
51
|
+
params.set('service', opts.service);
|
|
52
|
+
if (opts.lines != null)
|
|
53
|
+
params.set('lines', String(opts.lines));
|
|
54
|
+
if (opts.minutes != null)
|
|
55
|
+
params.set('minutes', String(opts.minutes));
|
|
56
|
+
if (opts.search)
|
|
57
|
+
params.set('search', opts.search);
|
|
58
|
+
if (opts.regex)
|
|
59
|
+
params.set('regex', 'true');
|
|
60
|
+
if (opts.discover)
|
|
61
|
+
params.set('discover', 'true');
|
|
62
|
+
const qs = params.toString();
|
|
63
|
+
const path = `/api/v1/ops/logs/${encodeURIComponent(opts.slug)}/${encodeURIComponent(opts.env)}`;
|
|
64
|
+
const res = await this.api.get(qs ? `${path}?${qs}` : path);
|
|
65
|
+
return res.data;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=ops-logs.client.js.map
|