@beacon-build/sdk 2.4.3 → 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/CHANGELOG.md +23 -0
- 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/auth/rotating-jwt-provider.d.ts +12 -1
- package/dist/auth/rotating-jwt-provider.d.ts.map +1 -1
- package/dist/auth/rotating-jwt-provider.js +9 -3
- package/dist/auth/rotating-jwt-provider.js.map +1 -1
- 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/capture.client.d.ts +8 -1
- package/dist/clients/capture.client.d.ts.map +1 -1
- package/dist/clients/capture.client.js.map +1 -1
- 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.negative-list.d.ts.map +1 -1
- package/dist/manifest.negative-list.js +21 -0
- package/dist/manifest.negative-list.js.map +1 -1
- 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 +2 -2
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { HttpClient } from '../../transport/http-client.js';
|
|
2
|
+
import { SdkError } from '../../transport/errors.js';
|
|
3
|
+
import { dispatchViaApiFetch, dispatchViaHttpClient } from './thread-messaging.transport.js';
|
|
4
|
+
import { appendOwnerScopeParams, fetchInboxOwnerTree, fetchInboxOwnerTreeProjects, } from './thread-messaging.owner-scope.js';
|
|
5
|
+
import { bulkArchiveThreads, bulkUnarchiveThreads, bulkDeleteThreads, fetchAnnouncements, markAnnouncementsReadRequest, } from './thread-messaging.lifecycle.js';
|
|
6
|
+
import { buildInboxPath, buildInboxStatsPath, } from './thread-messaging.inbox-read.js';
|
|
7
|
+
/**
|
|
8
|
+
* Ops client for thread messaging (F113/F114).
|
|
9
|
+
* Accepts any JWT (User or Agent) — Thread routes allow both.
|
|
10
|
+
*/
|
|
11
|
+
export class ThreadMessagingOpsClient {
|
|
12
|
+
http;
|
|
13
|
+
apiFetch;
|
|
14
|
+
constructor(configOrApiFetch) {
|
|
15
|
+
if (typeof configOrApiFetch === 'function') {
|
|
16
|
+
this.apiFetch = configOrApiFetch;
|
|
17
|
+
this.http = null; // unused when apiFetch is provided
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
this.http = new HttpClient({
|
|
21
|
+
baseUrl: configOrApiFetch.baseUrl,
|
|
22
|
+
basePath: '/api/v1',
|
|
23
|
+
getToken: configOrApiFetch.getToken,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
async request(path, init) {
|
|
28
|
+
if (this.apiFetch)
|
|
29
|
+
return dispatchViaApiFetch(this.apiFetch, path, init);
|
|
30
|
+
return dispatchViaHttpClient(this.http, path, init);
|
|
31
|
+
}
|
|
32
|
+
async inbox(params) {
|
|
33
|
+
return this.request(buildInboxPath(params));
|
|
34
|
+
}
|
|
35
|
+
async inboxCount(unreadOnly, params) {
|
|
36
|
+
const qp = new URLSearchParams();
|
|
37
|
+
if (unreadOnly !== undefined)
|
|
38
|
+
qp.set('unreadOnly', String(unreadOnly));
|
|
39
|
+
if (params?.scope)
|
|
40
|
+
qp.set('scope', params.scope);
|
|
41
|
+
if (params?.q)
|
|
42
|
+
qp.set('q', params.q);
|
|
43
|
+
if (params?.severity)
|
|
44
|
+
qp.set('severity', params.severity);
|
|
45
|
+
if (params?.kind)
|
|
46
|
+
qp.set('kind', params.kind);
|
|
47
|
+
appendOwnerScopeParams(qp, params);
|
|
48
|
+
const qs = qp.toString();
|
|
49
|
+
// CON-25/C600: the route wraps its body in the standard { data } envelope, but the
|
|
50
|
+
// two constructor paths deliver it differently: the config-backed HttpClient path
|
|
51
|
+
// (`http.get`) ALREADY unwraps the envelope → res is `{ count }`; the apiFetch path
|
|
52
|
+
// returns the raw body → res is `{ data: { count } }`. Tolerate both so every caller
|
|
53
|
+
// gets the pre-envelope `{ count }` shape this method contracts to return. (Fixing the
|
|
54
|
+
// config-backed path that returned `undefined` here — the cause of the threads.test.ts
|
|
55
|
+
// inbox-count integration failures.)
|
|
56
|
+
const res = await this.request(`/threads/inbox/count${qs ? `?${qs}` : ''}`);
|
|
57
|
+
return 'data' in res ? res.data : res;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* C418 AC-5. F520: scope-aware. F521 review finding (AC-12): `q`/`kind`/
|
|
61
|
+
* `actionableOnly` narrow the population the buckets are computed over, so
|
|
62
|
+
* the returned counts match a caller's currently-filtered list. `severity`
|
|
63
|
+
* is accepted for symmetry with `inbox()`/`inboxCount()`, but combining it
|
|
64
|
+
* with a bucket-by-severity call is an unusual shape (see the server's
|
|
65
|
+
* `computeInboxStatsForScope` docstring) — a facet-bar caller should pass
|
|
66
|
+
* `q`/`kind`/`actionableOnly` only, never `severity`, or every bucket but
|
|
67
|
+
* the one matching `severity` collapses to zero.
|
|
68
|
+
*/
|
|
69
|
+
async inboxStats(params) {
|
|
70
|
+
return this.request(buildInboxStatsPath(params));
|
|
71
|
+
}
|
|
72
|
+
/** C418 AC-1/AC-2: bulk / standalone mark-read. */
|
|
73
|
+
async markRead(input) {
|
|
74
|
+
return this.request(`/threads/mark-read`, {
|
|
75
|
+
method: 'POST',
|
|
76
|
+
body: JSON.stringify(input),
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/** C418 AC-6. */
|
|
80
|
+
async mute(threadId, muted = true) {
|
|
81
|
+
return this.request(`/threads/${encodeURIComponent(threadId)}/mute`, {
|
|
82
|
+
method: 'POST',
|
|
83
|
+
body: JSON.stringify({ muted }),
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
/** C912/AC-9: single-thread read/unread toggle (the row-hover control). */
|
|
87
|
+
async setReadState(threadId, read) {
|
|
88
|
+
return this.request(`/threads/${encodeURIComponent(threadId)}/read`, {
|
|
89
|
+
method: 'POST',
|
|
90
|
+
body: JSON.stringify({ read }),
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
async thread(id, params) {
|
|
94
|
+
try {
|
|
95
|
+
const q = new URLSearchParams();
|
|
96
|
+
if (params?.cursor)
|
|
97
|
+
q.set('cursor', params.cursor);
|
|
98
|
+
if (params?.limit)
|
|
99
|
+
q.set('limit', String(params.limit));
|
|
100
|
+
if (params?.scope)
|
|
101
|
+
q.set('scope', params.scope);
|
|
102
|
+
appendOwnerScopeParams(q, params);
|
|
103
|
+
const qs = q.toString();
|
|
104
|
+
return await this.request(`/threads/${encodeURIComponent(id)}${qs ? `?${qs}` : ''}`);
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
if (err instanceof SdkError && err.code === 'not_found')
|
|
108
|
+
return null;
|
|
109
|
+
throw err;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
async sendMessage(input) {
|
|
113
|
+
return this.request('/threads/messages', {
|
|
114
|
+
method: 'POST',
|
|
115
|
+
body: JSON.stringify(input),
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
async postToThread(threadId, body, replyToId) {
|
|
119
|
+
return this.request(`/threads/${encodeURIComponent(threadId)}/messages`, {
|
|
120
|
+
method: 'POST',
|
|
121
|
+
body: JSON.stringify({ body, ...(replyToId && { replyToId }) }),
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
/** F523 stage 1: owner(org|user) skeleton for the inbox scope-picker combobox. */
|
|
125
|
+
async inboxOwnerTree() {
|
|
126
|
+
return fetchInboxOwnerTree((path) => this.request(path));
|
|
127
|
+
}
|
|
128
|
+
/** F523 stage 2: one owner's direct projects, loaded on combobox drill-in. */
|
|
129
|
+
async inboxOwnerTreeProjects(ownerType, ownerId) {
|
|
130
|
+
return fetchInboxOwnerTreeProjects((path) => this.request(path), ownerType, ownerId);
|
|
131
|
+
}
|
|
132
|
+
/** F542/AC-7: manual + bulk archive — UI wiring is F545. */
|
|
133
|
+
async bulkArchive(threadIds) {
|
|
134
|
+
return bulkArchiveThreads((path, init) => this.request(path, init), threadIds);
|
|
135
|
+
}
|
|
136
|
+
/** F578/AC-14: manual + bulk restore (unarchive). */
|
|
137
|
+
async bulkUnarchive(threadIds) {
|
|
138
|
+
return bulkUnarchiveThreads((path, init) => this.request(path, init), threadIds);
|
|
139
|
+
}
|
|
140
|
+
/** F542/AC-7: manual + bulk hard-delete — UI wiring is F545. */
|
|
141
|
+
async bulkDelete(threadIds) {
|
|
142
|
+
return bulkDeleteThreads((path, init) => this.request(path, init), threadIds);
|
|
143
|
+
}
|
|
144
|
+
/** F544/AC-5/F545/AC-9: broadcast announcement surface — read-only news feed. */
|
|
145
|
+
async announcements(params = {}) {
|
|
146
|
+
return fetchAnnouncements((path) => this.request(path), params);
|
|
147
|
+
}
|
|
148
|
+
/** F544/AC-6: mark the announcement surface read (whole surface / one project / global). */
|
|
149
|
+
async markAnnouncementsRead(params = {}) {
|
|
150
|
+
return markAnnouncementsReadRequest((path, init) => this.request(path, init), params);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=thread-messaging.client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread-messaging.client.js","sourceRoot":"","sources":["../../../src/clients/ops/thread-messaging.client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inbox read-query builders — the `/threads/inbox` and `/threads/inbox/stats`
|
|
3
|
+
* query-string assembly, split out of `thread-messaging.client.ts` (loc-guard).
|
|
4
|
+
* Same extraction pattern as `thread-messaging.lifecycle.ts` /
|
|
5
|
+
* `thread-messaging.owner-scope.ts`: the client method stays a thin one-liner that
|
|
6
|
+
* calls the builder, then `request`s the returned path.
|
|
7
|
+
*/
|
|
8
|
+
import { type OwnerScopeParams } from './thread-messaging.owner-scope.js';
|
|
9
|
+
export type InboxListQueryParams = {
|
|
10
|
+
unreadOnly?: boolean;
|
|
11
|
+
subjectType?: string;
|
|
12
|
+
limit?: number;
|
|
13
|
+
actionableOnly?: boolean;
|
|
14
|
+
severity?: 'action' | 'urgent' | 'info';
|
|
15
|
+
kind?: 'dm' | 'handback' | 'notification';
|
|
16
|
+
/** F520: inbox scope — viewer (default, unchanged), agent (fan-in), vendor. */
|
|
17
|
+
scope?: 'viewer' | 'agent' | 'vendor';
|
|
18
|
+
/** F520: server-side full-text search over the thread's message history. */
|
|
19
|
+
q?: string;
|
|
20
|
+
/** F542/AC-2: include archived threads (default false — active-only). */
|
|
21
|
+
includeArchived?: boolean;
|
|
22
|
+
/** F578/AC-9, F579/AC-5: narrow to threads where ANY of these user/agent
|
|
23
|
+
* actors is a message sender OR an active participant (OR semantics,
|
|
24
|
+
* matching the core/infra `actorFilterIds` predicate — F578 shipped this as
|
|
25
|
+
* a single id, F579 widened it to multi-select). */
|
|
26
|
+
actorFilterIds?: string[];
|
|
27
|
+
/** @deprecated F579 review finding: replaced by `actorFilterIds` (plural). Kept
|
|
28
|
+
* as a back-compat alias so an external caller's existing `actorFilterId: string`
|
|
29
|
+
* still works — a semver-breaking field removal is not warranted for a `minor`
|
|
30
|
+
* release. Ignored when `actorFilterIds` is also given. */
|
|
31
|
+
actorFilterId?: string;
|
|
32
|
+
cursor?: string;
|
|
33
|
+
previewChars?: number;
|
|
34
|
+
} & OwnerScopeParams;
|
|
35
|
+
export type InboxStatsQueryParams = {
|
|
36
|
+
scope?: 'viewer' | 'agent' | 'vendor';
|
|
37
|
+
q?: string;
|
|
38
|
+
severity?: 'action' | 'urgent' | 'info';
|
|
39
|
+
kind?: 'dm' | 'handback' | 'notification';
|
|
40
|
+
actionableOnly?: boolean;
|
|
41
|
+
/** F578/AC-12, F579/AC-7: same actor narrowing as the list so ribbon counts match. */
|
|
42
|
+
actorFilterIds?: string[];
|
|
43
|
+
/** @deprecated see `InboxListQueryParams.actorFilterId`. */
|
|
44
|
+
actorFilterId?: string;
|
|
45
|
+
} & OwnerScopeParams;
|
|
46
|
+
/** F520/F542/F578: builds `/threads/inbox?…` from the list params. */
|
|
47
|
+
export declare function buildInboxPath(params?: InboxListQueryParams): string;
|
|
48
|
+
/** F520/AC-12/F578/AC-12: builds `/threads/inbox/stats?…` from the stats params. */
|
|
49
|
+
export declare function buildInboxStatsPath(params?: InboxStatsQueryParams): string;
|
|
50
|
+
//# sourceMappingURL=thread-messaging.inbox-read.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread-messaging.inbox-read.d.ts","sourceRoot":"","sources":["../../../src/clients/ops/thread-messaging.inbox-read.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAEjG,MAAM,MAAM,oBAAoB,GAAG;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAA;IACvC,IAAI,CAAC,EAAE,IAAI,GAAG,UAAU,GAAG,cAAc,CAAA;IACzC,+EAA+E;IAC/E,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;IACrC,4EAA4E;IAC5E,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,yEAAyE;IACzE,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;yDAGqD;IACrD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB;;;gEAG4D;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB,GAAG,gBAAgB,CAAA;AAEpB,MAAM,MAAM,qBAAqB,GAAG;IAChC,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;IACrC,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAA;IACvC,IAAI,CAAC,EAAE,IAAI,GAAG,UAAU,GAAG,cAAc,CAAA;IACzC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sFAAsF;IACtF,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB,GAAG,gBAAgB,CAAA;AAapB,sEAAsE;AACtE,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAmBpE;AAED,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAY1E"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inbox read-query builders — the `/threads/inbox` and `/threads/inbox/stats`
|
|
3
|
+
* query-string assembly, split out of `thread-messaging.client.ts` (loc-guard).
|
|
4
|
+
* Same extraction pattern as `thread-messaging.lifecycle.ts` /
|
|
5
|
+
* `thread-messaging.owner-scope.ts`: the client method stays a thin one-liner that
|
|
6
|
+
* calls the builder, then `request`s the returned path.
|
|
7
|
+
*/
|
|
8
|
+
import { appendOwnerScopeParams } from './thread-messaging.owner-scope.js';
|
|
9
|
+
/** F579 review finding: merges the plural + deprecated singular actor-filter
|
|
10
|
+
* params into one id list — `actorFilterIds` wins when both are given. */
|
|
11
|
+
function resolveActorFilterIds(params) {
|
|
12
|
+
if (params?.actorFilterIds?.length)
|
|
13
|
+
return params.actorFilterIds;
|
|
14
|
+
if (params?.actorFilterId)
|
|
15
|
+
return [params.actorFilterId];
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
/** F520/F542/F578: builds `/threads/inbox?…` from the list params. */
|
|
19
|
+
export function buildInboxPath(params) {
|
|
20
|
+
const q = new URLSearchParams();
|
|
21
|
+
if (params?.unreadOnly !== undefined)
|
|
22
|
+
q.set('unreadOnly', String(params.unreadOnly));
|
|
23
|
+
if (params?.subjectType)
|
|
24
|
+
q.set('subjectType', params.subjectType);
|
|
25
|
+
if (params?.limit)
|
|
26
|
+
q.set('limit', String(params.limit));
|
|
27
|
+
if (params?.actionableOnly !== undefined)
|
|
28
|
+
q.set('actionableOnly', String(params.actionableOnly));
|
|
29
|
+
if (params?.severity)
|
|
30
|
+
q.set('severity', params.severity);
|
|
31
|
+
if (params?.kind)
|
|
32
|
+
q.set('kind', params.kind);
|
|
33
|
+
if (params?.scope)
|
|
34
|
+
q.set('scope', params.scope);
|
|
35
|
+
if (params?.q)
|
|
36
|
+
q.set('q', params.q);
|
|
37
|
+
if (params?.includeArchived !== undefined)
|
|
38
|
+
q.set('includeArchived', String(params.includeArchived));
|
|
39
|
+
const actorFilterIds = resolveActorFilterIds(params);
|
|
40
|
+
if (actorFilterIds?.length)
|
|
41
|
+
q.set('actorFilterId', actorFilterIds.join(','));
|
|
42
|
+
if (params?.cursor)
|
|
43
|
+
q.set('cursor', params.cursor);
|
|
44
|
+
if (params?.previewChars)
|
|
45
|
+
q.set('previewChars', String(params.previewChars));
|
|
46
|
+
appendOwnerScopeParams(q, params);
|
|
47
|
+
const qs = q.toString();
|
|
48
|
+
return `/threads/inbox${qs ? `?${qs}` : ''}`;
|
|
49
|
+
}
|
|
50
|
+
/** F520/AC-12/F578/AC-12: builds `/threads/inbox/stats?…` from the stats params. */
|
|
51
|
+
export function buildInboxStatsPath(params) {
|
|
52
|
+
const q = new URLSearchParams();
|
|
53
|
+
if (params?.scope)
|
|
54
|
+
q.set('scope', params.scope);
|
|
55
|
+
if (params?.q)
|
|
56
|
+
q.set('q', params.q);
|
|
57
|
+
if (params?.severity)
|
|
58
|
+
q.set('severity', params.severity);
|
|
59
|
+
if (params?.kind)
|
|
60
|
+
q.set('kind', params.kind);
|
|
61
|
+
if (params?.actionableOnly !== undefined)
|
|
62
|
+
q.set('actionableOnly', String(params.actionableOnly));
|
|
63
|
+
const actorFilterIds = resolveActorFilterIds(params);
|
|
64
|
+
if (actorFilterIds?.length)
|
|
65
|
+
q.set('actorFilterId', actorFilterIds.join(','));
|
|
66
|
+
appendOwnerScopeParams(q, params);
|
|
67
|
+
const qs = q.toString();
|
|
68
|
+
return `/threads/inbox/stats${qs ? `?${qs}` : ''}`;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=thread-messaging.inbox-read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread-messaging.inbox-read.js","sourceRoot":"","sources":["../../../src/clients/ops/thread-messaging.inbox-read.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* F542/AC-7 + F544/AC-5/AC-6 — bulk archive/delete + broadcast-announcements wire
|
|
3
|
+
* helpers, split out of `thread-messaging.client.ts` (loc-guard, 300-line source-file
|
|
4
|
+
* limit). Each helper takes the class's private `request` as a bound callback rather
|
|
5
|
+
* than duplicating it here — same pattern as `thread-messaging.owner-scope.ts`.
|
|
6
|
+
*/
|
|
7
|
+
import type { BulkArchiveResponse, BulkDeleteResponse, BulkUnarchiveResponse, AnnouncementsResponse } from './thread-messaging.types.js';
|
|
8
|
+
/** F542/AC-7: manual + bulk archive. */
|
|
9
|
+
export declare function bulkArchiveThreads(request: <T>(path: string, init?: RequestInit) => Promise<T>, threadIds: string[]): Promise<BulkArchiveResponse>;
|
|
10
|
+
/** F578/AC-14: manual + bulk restore (unarchive). */
|
|
11
|
+
export declare function bulkUnarchiveThreads(request: <T>(path: string, init?: RequestInit) => Promise<T>, threadIds: string[]): Promise<BulkUnarchiveResponse>;
|
|
12
|
+
/** F542/AC-7: manual + bulk hard-delete. */
|
|
13
|
+
export declare function bulkDeleteThreads(request: <T>(path: string, init?: RequestInit) => Promise<T>, threadIds: string[]): Promise<BulkDeleteResponse>;
|
|
14
|
+
/** F544/AC-5/F545/AC-9: broadcast announcement surface — read-only news feed.
|
|
15
|
+
* CON-25/C600 envelope tolerance (mirrors `inboxCount`'s own doc comment): the
|
|
16
|
+
* config-backed `HttpClient` path already unwraps the route's `{ data }` envelope,
|
|
17
|
+
* while the `apiFetch`-adapter path returns the raw wrapped body — tolerate both. */
|
|
18
|
+
export declare function fetchAnnouncements(request: <T>(path: string) => Promise<T>, params?: {
|
|
19
|
+
project?: string;
|
|
20
|
+
scope?: 'global';
|
|
21
|
+
cursor?: string;
|
|
22
|
+
limit?: number;
|
|
23
|
+
}): Promise<AnnouncementsResponse>;
|
|
24
|
+
/** F544/AC-6: mark the announcement surface read (whole surface / one project / global). */
|
|
25
|
+
export declare function markAnnouncementsReadRequest(request: <T>(path: string, init?: RequestInit) => Promise<T>, params?: {
|
|
26
|
+
project?: string;
|
|
27
|
+
scope?: 'global';
|
|
28
|
+
}): Promise<void>;
|
|
29
|
+
//# sourceMappingURL=thread-messaging.lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread-messaging.lifecycle.d.ts","sourceRoot":"","sources":["../../../src/clients/ops/thread-messaging.lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EACR,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACxB,MAAM,6BAA6B,CAAA;AAYpC,wCAAwC;AACxC,wBAAsB,kBAAkB,CACpC,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,EAC5D,SAAS,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,mBAAmB,CAAC,CAM9B;AAED,qDAAqD;AACrD,wBAAsB,oBAAoB,CACtC,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,EAC5D,SAAS,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,qBAAqB,CAAC,CAMhC;AAED,4CAA4C;AAC5C,wBAAsB,iBAAiB,CACnC,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,EAC5D,SAAS,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,kBAAkB,CAAC,CAM7B;AAED;;;qFAGqF;AACrF,wBAAsB,kBAAkB,CACpC,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EACxC,MAAM,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GACrF,OAAO,CAAC,qBAAqB,CAAC,CAWhC;AAED,4FAA4F;AAC5F,wBAAsB,4BAA4B,CAC9C,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,EAC5D,MAAM,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;CAAO,GACpD,OAAO,CAAC,IAAI,CAAC,CAKf"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/** CON-25/C600 envelope tolerance (mirrors `fetchAnnouncements` below): the
|
|
2
|
+
* config-backed `HttpClient` path already unwraps the route's `{ data }`
|
|
3
|
+
* envelope, while the `apiFetch`-adapter path returns the raw wrapped body —
|
|
4
|
+
* tolerate both instead of assuming one shape. */
|
|
5
|
+
function unwrap(res) {
|
|
6
|
+
return res !== null && typeof res === 'object' && 'data' in res
|
|
7
|
+
? res.data
|
|
8
|
+
: res;
|
|
9
|
+
}
|
|
10
|
+
/** F542/AC-7: manual + bulk archive. */
|
|
11
|
+
export async function bulkArchiveThreads(request, threadIds) {
|
|
12
|
+
const res = await request('/threads/bulk-archive', { method: 'POST', body: JSON.stringify({ threadIds }) });
|
|
13
|
+
return unwrap(res);
|
|
14
|
+
}
|
|
15
|
+
/** F578/AC-14: manual + bulk restore (unarchive). */
|
|
16
|
+
export async function bulkUnarchiveThreads(request, threadIds) {
|
|
17
|
+
const res = await request('/threads/bulk-unarchive', { method: 'POST', body: JSON.stringify({ threadIds }) });
|
|
18
|
+
return unwrap(res);
|
|
19
|
+
}
|
|
20
|
+
/** F542/AC-7: manual + bulk hard-delete. */
|
|
21
|
+
export async function bulkDeleteThreads(request, threadIds) {
|
|
22
|
+
const res = await request('/threads/bulk-delete', { method: 'POST', body: JSON.stringify({ threadIds }) });
|
|
23
|
+
return unwrap(res);
|
|
24
|
+
}
|
|
25
|
+
/** F544/AC-5/F545/AC-9: broadcast announcement surface — read-only news feed.
|
|
26
|
+
* CON-25/C600 envelope tolerance (mirrors `inboxCount`'s own doc comment): the
|
|
27
|
+
* config-backed `HttpClient` path already unwraps the route's `{ data }` envelope,
|
|
28
|
+
* while the `apiFetch`-adapter path returns the raw wrapped body — tolerate both. */
|
|
29
|
+
export async function fetchAnnouncements(request, params = {}) {
|
|
30
|
+
const q = new URLSearchParams();
|
|
31
|
+
if (params.project)
|
|
32
|
+
q.set('project', params.project);
|
|
33
|
+
if (params.scope)
|
|
34
|
+
q.set('scope', params.scope);
|
|
35
|
+
if (params.cursor)
|
|
36
|
+
q.set('cursor', params.cursor);
|
|
37
|
+
if (params.limit)
|
|
38
|
+
q.set('limit', String(params.limit));
|
|
39
|
+
const qs = q.toString();
|
|
40
|
+
const res = await request(`/threads/announcements${qs ? `?${qs}` : ''}`);
|
|
41
|
+
return 'data' in res ? res.data : res;
|
|
42
|
+
}
|
|
43
|
+
/** F544/AC-6: mark the announcement surface read (whole surface / one project / global). */
|
|
44
|
+
export async function markAnnouncementsReadRequest(request, params = {}) {
|
|
45
|
+
await request('/threads/announcements/read', {
|
|
46
|
+
method: 'POST',
|
|
47
|
+
body: JSON.stringify(params),
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=thread-messaging.lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread-messaging.lifecycle.js","sourceRoot":"","sources":["../../../src/clients/ops/thread-messaging.lifecycle.ts"],"names":[],"mappings":"AAaA;;;mDAGmD;AACnD,SAAS,MAAM,CAAI,GAAoB;IACnC,OAAO,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG;QAC3D,CAAC,CAAE,GAAmB,CAAC,IAAI;QAC3B,CAAC,CAAE,GAAS,CAAA;AACpB,CAAC;AAED,wCAAwC;AACxC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,OAA4D,EAC5D,SAAmB;IAEnB,MAAM,GAAG,GAAG,MAAM,OAAO,CACrB,uBAAuB,EACvB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAC1D,CAAA;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;AACtB,CAAC;AAED,qDAAqD;AACrD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,OAA4D,EAC5D,SAAmB;IAEnB,MAAM,GAAG,GAAG,MAAM,OAAO,CACrB,yBAAyB,EACzB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAC1D,CAAA;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;AACtB,CAAC;AAED,4CAA4C;AAC5C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,OAA4D,EAC5D,SAAmB;IAEnB,MAAM,GAAG,GAAG,MAAM,OAAO,CACrB,sBAAsB,EACtB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAC1D,CAAA;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;AACtB,CAAC;AAED;;;qFAGqF;AACrF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,OAAwC,EACxC,SAAkF,EAAE;IAEpF,MAAM,CAAC,GAAG,IAAI,eAAe,EAAE,CAAA;IAC/B,IAAI,MAAM,CAAC,OAAO;QAAE,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IACpD,IAAI,MAAM,CAAC,KAAK;QAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9C,IAAI,MAAM,CAAC,MAAM;QAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACjD,IAAI,MAAM,CAAC,KAAK;QAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IACtD,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAA;IACvB,MAAM,GAAG,GAAG,MAAM,OAAO,CACrB,yBAAyB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAChD,CAAA;IACD,OAAO,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA;AACzC,CAAC;AAED,4FAA4F;AAC5F,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAC9C,OAA4D,EAC5D,SAAiD,EAAE;IAEnD,MAAM,OAAO,CAAyB,6BAA6B,EAAE;QACjE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;KAC/B,CAAC,CAAA;AACN,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* F523 — owner-scope-picker wire types/helpers, split out of
|
|
3
|
+
* `thread-messaging.client.ts` (loc-guard, 300-line source-file limit).
|
|
4
|
+
* `appendOwnerScopeParams` is shared by `inbox()`/`inboxCount()`/`inboxStats()`/
|
|
5
|
+
* `thread()`; `fetchInboxOwnerTree`/`fetchInboxOwnerTreeProjects` back the
|
|
6
|
+
* class's own `inboxOwnerTree()`/`inboxOwnerTreeProjects()` methods, taking the
|
|
7
|
+
* class's private `request` as a bound callback rather than duplicating it here.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* The owner-scope-picker's own params — shared shape across `inbox()`/
|
|
11
|
+
* `inboxCount()`/`inboxStats()`/`thread()` (mirrors the API's own
|
|
12
|
+
* `threads.inbox-scope.ts` params exactly, list/count/stats/detail
|
|
13
|
+
* consistency, F520/AC-12). Mutually exclusive: `projectSlug` wins over
|
|
14
|
+
* `ownerType`+`ownerId` if a caller somehow sends both.
|
|
15
|
+
*/
|
|
16
|
+
export interface OwnerScopeParams {
|
|
17
|
+
ownerType?: 'org' | 'user';
|
|
18
|
+
ownerId?: string;
|
|
19
|
+
projectSlug?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare function appendOwnerScopeParams(q: URLSearchParams, params?: OwnerScopeParams): void;
|
|
22
|
+
/** One owner's node in the scope-picker skeleton (org OR user). */
|
|
23
|
+
export interface OwnerScopeTreeNode {
|
|
24
|
+
owner: {
|
|
25
|
+
type: 'org' | 'user';
|
|
26
|
+
id: string;
|
|
27
|
+
name: string;
|
|
28
|
+
avatar?: string | null;
|
|
29
|
+
};
|
|
30
|
+
parentId: string | null;
|
|
31
|
+
projectCount: number;
|
|
32
|
+
}
|
|
33
|
+
export interface OwnerScopeTree {
|
|
34
|
+
owners: OwnerScopeTreeNode[];
|
|
35
|
+
}
|
|
36
|
+
export interface OwnerScopeProject {
|
|
37
|
+
slug: string;
|
|
38
|
+
name: string;
|
|
39
|
+
status: string;
|
|
40
|
+
ownerName?: string | null;
|
|
41
|
+
ownerEmail?: string | null;
|
|
42
|
+
path?: string;
|
|
43
|
+
codePath?: string;
|
|
44
|
+
}
|
|
45
|
+
/** F523 stage 1: owner(org|user) skeleton for the inbox scope-picker combobox.
|
|
46
|
+
* CON-25/C600 envelope tolerance (mirrors `inboxCount`'s own doc comment): the
|
|
47
|
+
* config-backed `HttpClient` path already unwraps the route's `{ data }`
|
|
48
|
+
* envelope, while the `apiFetch`-adapter path returns the raw wrapped body —
|
|
49
|
+
* tolerate both so this always resolves to the pre-envelope `OwnerScopeTree`. */
|
|
50
|
+
export declare function fetchInboxOwnerTree(request: <T>(path: string) => Promise<T>): Promise<OwnerScopeTree>;
|
|
51
|
+
/** F523 stage 2: one owner's direct projects, loaded on combobox drill-in. Same
|
|
52
|
+
* envelope tolerance as {@link fetchInboxOwnerTree}. */
|
|
53
|
+
export declare function fetchInboxOwnerTreeProjects(request: <T>(path: string) => Promise<T>, ownerType: 'org' | 'user', ownerId: string): Promise<OwnerScopeProject[]>;
|
|
54
|
+
//# sourceMappingURL=thread-messaging.owner-scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread-messaging.owner-scope.d.ts","sourceRoot":"","sources":["../../../src/clients/ops/thread-messaging.owner-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC7B,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAI1F;AAED,mEAAmE;AACnE,MAAM,WAAW,kBAAkB;IAC/B,KAAK,EAAE;QAAE,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IACjF,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,kBAAkB,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;iFAIiF;AACjF,wBAAsB,mBAAmB,CACrC,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,cAAc,CAAC,CAKzB;AAED;wDACwD;AACxD,wBAAsB,2BAA2B,CAC7C,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EACxC,SAAS,EAAE,KAAK,GAAG,MAAM,EACzB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAM9B"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* F523 — owner-scope-picker wire types/helpers, split out of
|
|
3
|
+
* `thread-messaging.client.ts` (loc-guard, 300-line source-file limit).
|
|
4
|
+
* `appendOwnerScopeParams` is shared by `inbox()`/`inboxCount()`/`inboxStats()`/
|
|
5
|
+
* `thread()`; `fetchInboxOwnerTree`/`fetchInboxOwnerTreeProjects` back the
|
|
6
|
+
* class's own `inboxOwnerTree()`/`inboxOwnerTreeProjects()` methods, taking the
|
|
7
|
+
* class's private `request` as a bound callback rather than duplicating it here.
|
|
8
|
+
*/
|
|
9
|
+
export function appendOwnerScopeParams(q, params) {
|
|
10
|
+
if (params?.ownerType)
|
|
11
|
+
q.set('ownerType', params.ownerType);
|
|
12
|
+
if (params?.ownerId)
|
|
13
|
+
q.set('ownerId', params.ownerId);
|
|
14
|
+
if (params?.projectSlug)
|
|
15
|
+
q.set('projectSlug', params.projectSlug);
|
|
16
|
+
}
|
|
17
|
+
/** F523 stage 1: owner(org|user) skeleton for the inbox scope-picker combobox.
|
|
18
|
+
* CON-25/C600 envelope tolerance (mirrors `inboxCount`'s own doc comment): the
|
|
19
|
+
* config-backed `HttpClient` path already unwraps the route's `{ data }`
|
|
20
|
+
* envelope, while the `apiFetch`-adapter path returns the raw wrapped body —
|
|
21
|
+
* tolerate both so this always resolves to the pre-envelope `OwnerScopeTree`. */
|
|
22
|
+
export async function fetchInboxOwnerTree(request) {
|
|
23
|
+
const res = await request('/threads/inbox/owner-tree');
|
|
24
|
+
return 'owners' in res ? res : res.data;
|
|
25
|
+
}
|
|
26
|
+
/** F523 stage 2: one owner's direct projects, loaded on combobox drill-in. Same
|
|
27
|
+
* envelope tolerance as {@link fetchInboxOwnerTree}. */
|
|
28
|
+
export async function fetchInboxOwnerTreeProjects(request, ownerType, ownerId) {
|
|
29
|
+
const q = new URLSearchParams({ ownerType, ownerId });
|
|
30
|
+
const res = await request(`/threads/inbox/owner-tree/projects?${q.toString()}`);
|
|
31
|
+
return Array.isArray(res) ? res : res.data;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=thread-messaging.owner-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread-messaging.owner-scope.js","sourceRoot":"","sources":["../../../src/clients/ops/thread-messaging.owner-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAeH,MAAM,UAAU,sBAAsB,CAAC,CAAkB,EAAE,MAAyB;IAChF,IAAI,MAAM,EAAE,SAAS;QAAE,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;IAC3D,IAAI,MAAM,EAAE,OAAO;QAAE,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IACrD,IAAI,MAAM,EAAE,WAAW;QAAE,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;AACrE,CAAC;AAuBD;;;;iFAIiF;AACjF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,OAAwC;IAExC,MAAM,GAAG,GAAG,MAAM,OAAO,CACrB,2BAA2B,CAC9B,CAAA;IACD,OAAO,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;AAC3C,CAAC;AAED;wDACwD;AACxD,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC7C,OAAwC,EACxC,SAAyB,EACzB,OAAe;IAEf,MAAM,CAAC,GAAG,IAAI,eAAe,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;IACrD,MAAM,GAAG,GAAG,MAAM,OAAO,CACrB,sCAAsC,CAAC,CAAC,QAAQ,EAAE,EAAE,CACvD,CAAA;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;AAC9C,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transport dispatch for `ThreadMessagingOpsClient`, split out of
|
|
3
|
+
* `thread-messaging.client.ts` (loc-guard, 300-line source-file limit). Two request
|
|
4
|
+
* paths exist on the class (`HttpClient` for the config-backed constructor, `apiFetch`
|
|
5
|
+
* for the UI-adapter constructor) — this is the dispatch + error-normalization logic
|
|
6
|
+
* shared by every method on the class via its own private `request()` wrapper.
|
|
7
|
+
*/
|
|
8
|
+
import { HttpClient } from '../../transport/http-client.js';
|
|
9
|
+
import type { ApiFetchFn } from './thread-messaging.types.js';
|
|
10
|
+
/**
|
|
11
|
+
* F521: normalize the apiFetch-adapter path's error (apps/platform's `ApiError` —
|
|
12
|
+
* status/message/code, duck-typed here to avoid a reverse dependency on the consumer
|
|
13
|
+
* app) into the SAME `SdkError` shape the HttpClient path already throws, so callers
|
|
14
|
+
* (`thread()`'s 404→null suppression, the Portal composer's 403 check) work
|
|
15
|
+
* identically regardless of which constructor mode is in use.
|
|
16
|
+
*/
|
|
17
|
+
export declare function dispatchViaApiFetch<T>(apiFetch: ApiFetchFn, path: string, init?: RequestInit): Promise<T>;
|
|
18
|
+
/** The `HttpClient`-backed dispatch path (config-based constructor). */
|
|
19
|
+
export declare function dispatchViaHttpClient<T>(http: HttpClient, path: string, init?: RequestInit): Promise<T>;
|
|
20
|
+
//# sourceMappingURL=thread-messaging.transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread-messaging.transport.d.ts","sourceRoot":"","sources":["../../../src/clients/ops/thread-messaging.transport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAE7D;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EACvC,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC,CAsBZ;AAED,wEAAwE;AACxE,wBAAgB,qBAAqB,CAAC,CAAC,EACnC,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC,CAcZ"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { SdkError, statusToSdkCode, apiCodeToSdkCode } from '../../transport/errors.js';
|
|
2
|
+
/**
|
|
3
|
+
* F521: normalize the apiFetch-adapter path's error (apps/platform's `ApiError` —
|
|
4
|
+
* status/message/code, duck-typed here to avoid a reverse dependency on the consumer
|
|
5
|
+
* app) into the SAME `SdkError` shape the HttpClient path already throws, so callers
|
|
6
|
+
* (`thread()`'s 404→null suppression, the Portal composer's 403 check) work
|
|
7
|
+
* identically regardless of which constructor mode is in use.
|
|
8
|
+
*/
|
|
9
|
+
export async function dispatchViaApiFetch(apiFetch, path, init) {
|
|
10
|
+
try {
|
|
11
|
+
return await apiFetch(`/api/v1${path}`, init);
|
|
12
|
+
}
|
|
13
|
+
catch (err) {
|
|
14
|
+
if (err &&
|
|
15
|
+
typeof err === 'object' &&
|
|
16
|
+
'status' in err &&
|
|
17
|
+
typeof err.status === 'number') {
|
|
18
|
+
const status = err.status;
|
|
19
|
+
const apiCode = err.code;
|
|
20
|
+
const message = err instanceof Error ? err.message : `HTTP ${status}`;
|
|
21
|
+
throw new SdkError(apiCode ? apiCodeToSdkCode(apiCode, status) : statusToSdkCode(status), message, status, apiCode);
|
|
22
|
+
}
|
|
23
|
+
throw err;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/** The `HttpClient`-backed dispatch path (config-based constructor). */
|
|
27
|
+
export function dispatchViaHttpClient(http, path, init) {
|
|
28
|
+
const method = init?.method ?? 'GET';
|
|
29
|
+
switch (method) {
|
|
30
|
+
case 'GET':
|
|
31
|
+
return http.get(path);
|
|
32
|
+
case 'POST':
|
|
33
|
+
return http.post(path, init?.body ? JSON.parse(String(init.body)) : undefined);
|
|
34
|
+
case 'PATCH':
|
|
35
|
+
return http.patch(path, init?.body ? JSON.parse(String(init.body)) : undefined);
|
|
36
|
+
case 'DELETE':
|
|
37
|
+
return http.delete(path);
|
|
38
|
+
default:
|
|
39
|
+
return http.get(path);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=thread-messaging.transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread-messaging.transport.js","sourceRoot":"","sources":["../../../src/clients/ops/thread-messaging.transport.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAGvF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,QAAoB,EACpB,IAAY,EACZ,IAAkB;IAElB,IAAI,CAAC;QACD,OAAO,MAAM,QAAQ,CAAI,UAAU,IAAI,EAAE,EAAE,IAAI,CAAC,CAAA;IACpD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,IACI,GAAG;YACH,OAAO,GAAG,KAAK,QAAQ;YACvB,QAAQ,IAAI,GAAG;YACf,OAAQ,GAA4B,CAAC,MAAM,KAAK,QAAQ,EAC1D,CAAC;YACC,MAAM,MAAM,GAAI,GAA0B,CAAC,MAAM,CAAA;YACjD,MAAM,OAAO,GAAI,GAAyB,CAAC,IAAI,CAAA;YAC/C,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,MAAM,EAAE,CAAA;YACrE,MAAM,IAAI,QAAQ,CACd,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,EACrE,OAAO,EACP,MAAM,EACN,OAAO,CACV,CAAA;QACL,CAAC;QACD,MAAM,GAAG,CAAA;IACb,CAAC;AACL,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,qBAAqB,CACjC,IAAgB,EAChB,IAAY,EACZ,IAAkB;IAElB,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,KAAK,CAAA;IACpC,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,KAAK;YACN,OAAO,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,CAAA;QAC5B,KAAK,MAAM;YACP,OAAO,IAAI,CAAC,IAAI,CAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QACrF,KAAK,OAAO;YACR,OAAO,IAAI,CAAC,KAAK,CAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QACtF,KAAK,QAAQ;YACT,OAAO,IAAI,CAAC,MAAM,CAAI,IAAI,CAAC,CAAA;QAC/B;YACI,OAAO,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,CAAA;IAChC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thread-messaging wire types, split out of `thread-messaging.client.ts`
|
|
3
|
+
* (loc-guard, 300-line source-file limit) — plain input/response shapes with
|
|
4
|
+
* no behavior, kept next to the client that uses them.
|
|
5
|
+
*/
|
|
6
|
+
import type { SendMessageResponseDto } from '@beacon-build/core';
|
|
7
|
+
/** C418 AC-1/AC-2: bulk / standalone mark-read input. */
|
|
8
|
+
export interface MarkReadInput {
|
|
9
|
+
threadIds?: string[];
|
|
10
|
+
subjectType?: string;
|
|
11
|
+
all?: boolean;
|
|
12
|
+
before?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface SendMessageInput {
|
|
15
|
+
to: string;
|
|
16
|
+
body: string;
|
|
17
|
+
type?: 'info' | 'action' | 'urgent';
|
|
18
|
+
replyToId?: string;
|
|
19
|
+
meta?: Record<string, unknown>;
|
|
20
|
+
/** B371: target project to scope DM alias resolution for an unscoped `@alias`
|
|
21
|
+
* `to` (ignored for non-`dm` routes and when `to` already carries a project). */
|
|
22
|
+
project?: string;
|
|
23
|
+
}
|
|
24
|
+
export type SendMessageResponse = SendMessageResponseDto;
|
|
25
|
+
/** Adapter type for UI clients that use apiFetch instead of getToken */
|
|
26
|
+
export type ApiFetchFn = <T>(path: string, init?: RequestInit) => Promise<T>;
|
|
27
|
+
/** F542/AC-7: bulk archive/delete responses. */
|
|
28
|
+
export interface BulkArchiveResponse {
|
|
29
|
+
archivedCount: number;
|
|
30
|
+
}
|
|
31
|
+
export interface BulkDeleteResponse {
|
|
32
|
+
deletedCount: number;
|
|
33
|
+
}
|
|
34
|
+
/** F578/AC-14: bulk restore (unarchive) response. */
|
|
35
|
+
export interface BulkUnarchiveResponse {
|
|
36
|
+
unarchivedCount: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* F544/F545 — one broadcast announcement row (`GET /threads/announcements`), the wire
|
|
40
|
+
* shape of `BroadcastAnnouncementItem` (dates as ISO strings over the wire, not `Date`).
|
|
41
|
+
*/
|
|
42
|
+
export interface AnnouncementItem {
|
|
43
|
+
threadId: string;
|
|
44
|
+
subjectProject: string | null;
|
|
45
|
+
createdByActorId: string | null;
|
|
46
|
+
createdAt: string;
|
|
47
|
+
lastMessageAt: string;
|
|
48
|
+
unread: boolean;
|
|
49
|
+
lastMessage: {
|
|
50
|
+
id: string;
|
|
51
|
+
body: string | null;
|
|
52
|
+
senderActorId: string | null;
|
|
53
|
+
createdAt: string;
|
|
54
|
+
} | null;
|
|
55
|
+
}
|
|
56
|
+
export interface AnnouncementsResponse {
|
|
57
|
+
items: AnnouncementItem[];
|
|
58
|
+
nextCursor: string | null;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=thread-messaging.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread-messaging.types.d.ts","sourceRoot":"","sources":["../../../src/clients/ops/thread-messaging.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAEhE,yDAAyD;AACzD,MAAM,WAAW,aAAa;IAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B;qFACiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,CAAA;AAExD,wEAAwE;AACxE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;AAE5E,gDAAgD;AAChD,MAAM,WAAW,mBAAmB;IAChC,aAAa,EAAE,MAAM,CAAA;CACxB;AACD,MAAM,WAAW,kBAAkB;IAC/B,YAAY,EAAE,MAAM,CAAA;CACvB;AACD,qDAAqD;AACrD,MAAM,WAAW,qBAAqB;IAClC,eAAe,EAAE,MAAM,CAAA;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,EAAE;QACT,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;QACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;QAC5B,SAAS,EAAE,MAAM,CAAA;KACpB,GAAG,IAAI,CAAA;CACX;AAED,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,gBAAgB,EAAE,CAAA;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B"}
|