@agent-native/dispatch 0.16.5 → 0.16.7

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/README.md CHANGED
@@ -16,8 +16,8 @@ Powers the `dispatch` template. Provides:
16
16
  integrations, agent chat, DB, and core routes
17
17
  - **Actions** — ~90 `defineAction` modules (vault grants/requests, workspace
18
18
  resource grants, destinations, dream jobs, provider-api catalog/docs/
19
- request, connected-agent discovery, audit/approvals, platform messaging,
20
- and more) consumed as agent tools + HTTP endpoints
19
+ request, Slack thread context, connected-agent discovery, audit/approvals,
20
+ platform messaging, and more) consumed as agent tools + HTTP endpoints
21
21
  - **Routes** — a full React Router 7 `RouteConfig[]` (chat, overview, apps,
22
22
  vault, integrations, agents, workspace, messaging, destinations,
23
23
  identities, approvals, automations, audit, settings, dreams, extensions,
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAgG7D;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CA+FvD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAiG7D;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAgGvD,CAAC"}
@@ -65,6 +65,7 @@ import providerApiDocs from "./provider-api-docs.js";
65
65
  import providerApiRegister from "./provider-api-register.js";
66
66
  import providerApiRequest from "./provider-api-request.js";
67
67
  import queryStagedDataset from "./query-staged-dataset.js";
68
+ import readSlackThreadContext from "./read-slack-thread-context.js";
68
69
  import rejectDispatchChange from "./reject-dispatch-change.js";
69
70
  import rejectDreamProposal from "./reject-dream-proposal.js";
70
71
  import remixWorkspaceTemplate from "./remix-workspace-template.js";
@@ -165,6 +166,7 @@ export const dispatchActions = {
165
166
  "provider-api-register": providerApiRegister,
166
167
  "provider-api-request": providerApiRequest,
167
168
  "query-staged-dataset": queryStagedDataset,
169
+ "read-slack-thread-context": readSlackThreadContext,
168
170
  "reject-dispatch-change": rejectDispatchChange,
169
171
  "reject-dream-proposal": rejectDreamProposal,
170
172
  "remove-pending-workspace-app": removePendingWorkspaceApp,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ActionEntry } from \"@agent-native/core/server\";\n\nimport applyDreamProposal from \"./apply-dream-proposal.js\";\nimport approveDispatchChange from \"./approve-dispatch-change.js\";\nimport approveVaultRequest from \"./approve-vault-request.js\";\nimport archiveWorkspaceApp from \"./archive-workspace-app.js\";\nimport askApp from \"./ask_app.js\";\nimport askAppStatus from \"./ask_app_status.js\";\nimport createBrowserChatSession from \"./create-browser-chat-session.js\";\nimport createDreamReport from \"./create-dream-report.js\";\nimport createLinkToken from \"./create-link-token.js\";\nimport createPylonTicket from \"./create-pylon-ticket.js\";\nimport createVaultGrant from \"./create-vault-grant.js\";\nimport createVaultSecret from \"./create-vault-secret.js\";\nimport createWorkspaceResourceGrant from \"./create-workspace-resource-grant.js\";\nimport createWorkspaceResource from \"./create-workspace-resource.js\";\nimport createEmbedSession from \"./create_embed_session.js\";\nimport deleteDestination from \"./delete-destination.js\";\nimport deleteStagedDataset from \"./delete-staged-dataset.js\";\nimport deleteVaultSecret from \"./delete-vault-secret.js\";\nimport deleteWorkspaceResource from \"./delete-workspace-resource.js\";\nimport denyVaultRequest from \"./deny-vault-request.js\";\nimport ensureDreamJob from \"./ensure-dream-job.js\";\nimport getAgentThreadDebug from \"./get-agent-thread-debug.js\";\nimport getAppCreationSettings from \"./get-app-creation-settings.js\";\nimport getDispatchSettings from \"./get-dispatch-settings.js\";\nimport getDreamSettings from \"./get-dream-settings.js\";\nimport getDream from \"./get-dream.js\";\nimport getVaultAccessSettings from \"./get-vault-access-settings.js\";\nimport getWorkspaceInfo from \"./get-workspace-info.js\";\nimport getWorkspaceResourceEffectiveContext from \"./get-workspace-resource-effective-context.js\";\nimport grantVaultSecretsToApp from \"./grant-vault-secrets-to-app.js\";\nimport grantWorkspaceResourcesToApp from \"./grant-workspace-resources-to-app.js\";\nimport listAgentRunFailures from \"./list-agent-run-failures.js\";\nimport listAgentThreadSources from \"./list-agent-thread-sources.js\";\nimport listAvailableWorkspaceTemplates from \"./list-available-workspace-templates.js\";\nimport listConnectedAgents from \"./list-connected-agents.js\";\nimport listCuratedWorkspaceTemplates from \"./list-curated-workspace-templates.js\";\nimport listDestinations from \"./list-destinations.js\";\nimport listDispatchApprovals from \"./list-dispatch-approvals.js\";\nimport listDispatchAudit from \"./list-dispatch-audit.js\";\nimport listDispatchOverview from \"./list-dispatch-overview.js\";\nimport listDispatchUsageMetrics from \"./list-dispatch-usage-metrics.js\";\nimport listDreamCandidates from \"./list-dream-candidates.js\";\nimport listDreams from \"./list-dreams.js\";\nimport listIntegrationsCatalog from \"./list-integrations-catalog.js\";\nimport listLinkedIdentities from \"./list-linked-identities.js\";\nimport listMcpAppAccess from \"./list-mcp-app-access.js\";\nimport listStagedDatasets from \"./list-staged-datasets.js\";\nimport listVaultAudit from \"./list-vault-audit.js\";\nimport listVaultGrants from \"./list-vault-grants.js\";\nimport listVaultRequests from \"./list-vault-requests.js\";\nimport listVaultSecretOptions from \"./list-vault-secret-options.js\";\nimport listVaultSecrets from \"./list-vault-secrets.js\";\nimport listWorkspaceApps from \"./list-workspace-apps.js\";\nimport listWorkspaceResourceGrants from \"./list-workspace-resource-grants.js\";\nimport listWorkspaceResourceOptions from \"./list-workspace-resource-options.js\";\nimport listWorkspaceResourcesForApp from \"./list-workspace-resources-for-app.js\";\nimport listWorkspaceResources from \"./list-workspace-resources.js\";\nimport listApps from \"./list_apps.js\";\nimport navigate from \"./navigate.js\";\nimport openApp from \"./open_app.js\";\nimport previewDreamProposal from \"./preview-dream-proposal.js\";\nimport previewWorkspaceResourceChange from \"./preview-workspace-resource-change.js\";\nimport providerApiCatalog from \"./provider-api-catalog.js\";\nimport providerApiDocs from \"./provider-api-docs.js\";\nimport providerApiRegister from \"./provider-api-register.js\";\nimport providerApiRequest from \"./provider-api-request.js\";\nimport queryStagedDataset from \"./query-staged-dataset.js\";\nimport rejectDispatchChange from \"./reject-dispatch-change.js\";\nimport rejectDreamProposal from \"./reject-dream-proposal.js\";\nimport remixWorkspaceTemplate from \"./remix-workspace-template.js\";\nimport removePendingWorkspaceApp from \"./remove-pending-workspace-app.js\";\nimport requestVaultSecret from \"./request-vault-secret.js\";\nimport resolveIntegrationSourceContext from \"./resolve-integration-source-context.js\";\nimport restoreStarterWorkspaceResources from \"./restore-starter-workspace-resources.js\";\nimport revokeVaultGrant from \"./revoke-vault-grant.js\";\nimport revokeWorkspaceResourceGrant from \"./revoke-workspace-resource-grant.js\";\nimport scaffoldWorkspaceApp from \"./scaffold-workspace-app.js\";\nimport searchAgentThreads from \"./search-agent-threads.js\";\nimport sendCodeAgentRemoteCommand from \"./send-code-agent-remote-command.js\";\nimport sendPlatformMessage from \"./send-platform-message.js\";\nimport setAppCreationSettings from \"./set-app-creation-settings.js\";\nimport setDispatchApprovalPolicy from \"./set-dispatch-approval-policy.js\";\nimport setDreamSettings from \"./set-dream-settings.js\";\nimport setMcpAppAccess from \"./set-mcp-app-access.js\";\nimport setVaultAccessSettings from \"./set-vault-access-settings.js\";\nimport startWorkspaceAppCreation from \"./start-workspace-app-creation.js\";\nimport syncVaultToApp from \"./sync-vault-to-app.js\";\nimport unarchiveWorkspaceApp from \"./unarchive-workspace-app.js\";\nimport updateVaultSecret from \"./update-vault-secret.js\";\nimport updateWorkspaceAppMetadata from \"./update-workspace-app-metadata.js\";\nimport updateWorkspaceResource from \"./update-workspace-resource.js\";\nimport upsertDestination from \"./upsert-destination.js\";\nimport viewScreen from \"./view-screen.js\";\n\n/**\n * Dispatch's actions registered as a flat name→entry map. Imported by\n * `@agent-native/dispatch/server`'s side-effect block, which calls\n * `registerPackageActions(dispatchActions)` so the framework's action\n * loader picks them up.\n */\nexport const dispatchActions: Record<string, ActionEntry> = {\n \"approve-dispatch-change\": approveDispatchChange,\n \"approve-vault-request\": approveVaultRequest,\n \"archive-workspace-app\": archiveWorkspaceApp,\n ask_app: askApp,\n ask_app_status: askAppStatus,\n \"create-link-token\": createLinkToken,\n \"create-pylon-ticket\": createPylonTicket,\n \"create-vault-grant\": createVaultGrant,\n \"create-vault-secret\": createVaultSecret,\n \"create-workspace-resource-grant\": createWorkspaceResourceGrant,\n \"create-workspace-resource\": createWorkspaceResource,\n \"create-dream-report\": createDreamReport,\n \"create-browser-chat-session\": createBrowserChatSession,\n create_embed_session: createEmbedSession,\n \"delete-staged-dataset\": deleteStagedDataset,\n \"delete-destination\": deleteDestination,\n \"delete-vault-secret\": deleteVaultSecret,\n \"delete-workspace-resource\": deleteWorkspaceResource,\n \"deny-vault-request\": denyVaultRequest,\n \"ensure-dream-job\": ensureDreamJob,\n \"get-app-creation-settings\": getAppCreationSettings,\n \"get-agent-thread-debug\": getAgentThreadDebug,\n \"get-dream\": getDream,\n \"get-dream-settings\": getDreamSettings,\n \"get-dispatch-settings\": getDispatchSettings,\n \"get-vault-access-settings\": getVaultAccessSettings,\n \"get-workspace-resource-effective-context\":\n getWorkspaceResourceEffectiveContext,\n \"get-workspace-info\": getWorkspaceInfo,\n \"grant-workspace-resources-to-app\": grantWorkspaceResourcesToApp,\n \"grant-vault-secrets-to-app\": grantVaultSecretsToApp,\n \"list-agent-thread-sources\": listAgentThreadSources,\n \"list-agent-run-failures\": listAgentRunFailures,\n \"list-available-workspace-templates\": listAvailableWorkspaceTemplates,\n \"list-curated-workspace-templates\": listCuratedWorkspaceTemplates,\n \"list-connected-agents\": listConnectedAgents,\n \"list-destinations\": listDestinations,\n \"list-dispatch-approvals\": listDispatchApprovals,\n \"list-dispatch-audit\": listDispatchAudit,\n \"list-dispatch-overview\": listDispatchOverview,\n \"list-dispatch-usage-metrics\": listDispatchUsageMetrics,\n \"list-dream-candidates\": listDreamCandidates,\n \"list-dreams\": listDreams,\n \"list-integrations-catalog\": listIntegrationsCatalog,\n \"list-linked-identities\": listLinkedIdentities,\n \"list-mcp-app-access\": listMcpAppAccess,\n list_apps: listApps,\n \"list-staged-datasets\": listStagedDatasets,\n \"list-vault-audit\": listVaultAudit,\n \"list-vault-grants\": listVaultGrants,\n \"list-vault-requests\": listVaultRequests,\n \"list-vault-secret-options\": listVaultSecretOptions,\n \"list-vault-secrets\": listVaultSecrets,\n \"list-workspace-apps\": listWorkspaceApps,\n \"list-workspace-resource-options\": listWorkspaceResourceOptions,\n \"list-workspace-resource-grants\": listWorkspaceResourceGrants,\n \"list-workspace-resources-for-app\": listWorkspaceResourcesForApp,\n \"list-workspace-resources\": listWorkspaceResources,\n navigate: navigate,\n open_app: openApp,\n \"apply-dream-proposal\": applyDreamProposal,\n \"preview-dream-proposal\": previewDreamProposal,\n \"preview-workspace-resource-change\": previewWorkspaceResourceChange,\n \"provider-api-catalog\": providerApiCatalog,\n \"provider-api-docs\": providerApiDocs,\n \"provider-api-register\": providerApiRegister,\n \"provider-api-request\": providerApiRequest,\n \"query-staged-dataset\": queryStagedDataset,\n \"reject-dispatch-change\": rejectDispatchChange,\n \"reject-dream-proposal\": rejectDreamProposal,\n \"remove-pending-workspace-app\": removePendingWorkspaceApp,\n \"resolve-integration-source-context\": resolveIntegrationSourceContext,\n \"remix-workspace-template\": remixWorkspaceTemplate,\n \"request-vault-secret\": requestVaultSecret,\n \"revoke-vault-grant\": revokeVaultGrant,\n \"revoke-workspace-resource-grant\": revokeWorkspaceResourceGrant,\n \"restore-starter-workspace-resources\": restoreStarterWorkspaceResources,\n \"scaffold-workspace-app\": scaffoldWorkspaceApp,\n \"search-agent-threads\": searchAgentThreads,\n \"send-code-agent-remote-command\": sendCodeAgentRemoteCommand,\n \"send-platform-message\": sendPlatformMessage,\n \"set-app-creation-settings\": setAppCreationSettings,\n \"set-dispatch-approval-policy\": setDispatchApprovalPolicy,\n \"set-dream-settings\": setDreamSettings,\n \"set-mcp-app-access\": setMcpAppAccess,\n \"set-vault-access-settings\": setVaultAccessSettings,\n \"start-workspace-app-creation\": startWorkspaceAppCreation,\n \"sync-vault-to-app\": syncVaultToApp,\n \"unarchive-workspace-app\": unarchiveWorkspaceApp,\n \"update-workspace-app-metadata\": updateWorkspaceAppMetadata,\n \"update-vault-secret\": updateVaultSecret,\n \"update-workspace-resource\": updateWorkspaceResource,\n \"upsert-destination\": upsertDestination,\n \"view-screen\": viewScreen,\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ActionEntry } from \"@agent-native/core/server\";\n\nimport applyDreamProposal from \"./apply-dream-proposal.js\";\nimport approveDispatchChange from \"./approve-dispatch-change.js\";\nimport approveVaultRequest from \"./approve-vault-request.js\";\nimport archiveWorkspaceApp from \"./archive-workspace-app.js\";\nimport askApp from \"./ask_app.js\";\nimport askAppStatus from \"./ask_app_status.js\";\nimport createBrowserChatSession from \"./create-browser-chat-session.js\";\nimport createDreamReport from \"./create-dream-report.js\";\nimport createLinkToken from \"./create-link-token.js\";\nimport createPylonTicket from \"./create-pylon-ticket.js\";\nimport createVaultGrant from \"./create-vault-grant.js\";\nimport createVaultSecret from \"./create-vault-secret.js\";\nimport createWorkspaceResourceGrant from \"./create-workspace-resource-grant.js\";\nimport createWorkspaceResource from \"./create-workspace-resource.js\";\nimport createEmbedSession from \"./create_embed_session.js\";\nimport deleteDestination from \"./delete-destination.js\";\nimport deleteStagedDataset from \"./delete-staged-dataset.js\";\nimport deleteVaultSecret from \"./delete-vault-secret.js\";\nimport deleteWorkspaceResource from \"./delete-workspace-resource.js\";\nimport denyVaultRequest from \"./deny-vault-request.js\";\nimport ensureDreamJob from \"./ensure-dream-job.js\";\nimport getAgentThreadDebug from \"./get-agent-thread-debug.js\";\nimport getAppCreationSettings from \"./get-app-creation-settings.js\";\nimport getDispatchSettings from \"./get-dispatch-settings.js\";\nimport getDreamSettings from \"./get-dream-settings.js\";\nimport getDream from \"./get-dream.js\";\nimport getVaultAccessSettings from \"./get-vault-access-settings.js\";\nimport getWorkspaceInfo from \"./get-workspace-info.js\";\nimport getWorkspaceResourceEffectiveContext from \"./get-workspace-resource-effective-context.js\";\nimport grantVaultSecretsToApp from \"./grant-vault-secrets-to-app.js\";\nimport grantWorkspaceResourcesToApp from \"./grant-workspace-resources-to-app.js\";\nimport listAgentRunFailures from \"./list-agent-run-failures.js\";\nimport listAgentThreadSources from \"./list-agent-thread-sources.js\";\nimport listAvailableWorkspaceTemplates from \"./list-available-workspace-templates.js\";\nimport listConnectedAgents from \"./list-connected-agents.js\";\nimport listCuratedWorkspaceTemplates from \"./list-curated-workspace-templates.js\";\nimport listDestinations from \"./list-destinations.js\";\nimport listDispatchApprovals from \"./list-dispatch-approvals.js\";\nimport listDispatchAudit from \"./list-dispatch-audit.js\";\nimport listDispatchOverview from \"./list-dispatch-overview.js\";\nimport listDispatchUsageMetrics from \"./list-dispatch-usage-metrics.js\";\nimport listDreamCandidates from \"./list-dream-candidates.js\";\nimport listDreams from \"./list-dreams.js\";\nimport listIntegrationsCatalog from \"./list-integrations-catalog.js\";\nimport listLinkedIdentities from \"./list-linked-identities.js\";\nimport listMcpAppAccess from \"./list-mcp-app-access.js\";\nimport listStagedDatasets from \"./list-staged-datasets.js\";\nimport listVaultAudit from \"./list-vault-audit.js\";\nimport listVaultGrants from \"./list-vault-grants.js\";\nimport listVaultRequests from \"./list-vault-requests.js\";\nimport listVaultSecretOptions from \"./list-vault-secret-options.js\";\nimport listVaultSecrets from \"./list-vault-secrets.js\";\nimport listWorkspaceApps from \"./list-workspace-apps.js\";\nimport listWorkspaceResourceGrants from \"./list-workspace-resource-grants.js\";\nimport listWorkspaceResourceOptions from \"./list-workspace-resource-options.js\";\nimport listWorkspaceResourcesForApp from \"./list-workspace-resources-for-app.js\";\nimport listWorkspaceResources from \"./list-workspace-resources.js\";\nimport listApps from \"./list_apps.js\";\nimport navigate from \"./navigate.js\";\nimport openApp from \"./open_app.js\";\nimport previewDreamProposal from \"./preview-dream-proposal.js\";\nimport previewWorkspaceResourceChange from \"./preview-workspace-resource-change.js\";\nimport providerApiCatalog from \"./provider-api-catalog.js\";\nimport providerApiDocs from \"./provider-api-docs.js\";\nimport providerApiRegister from \"./provider-api-register.js\";\nimport providerApiRequest from \"./provider-api-request.js\";\nimport queryStagedDataset from \"./query-staged-dataset.js\";\nimport readSlackThreadContext from \"./read-slack-thread-context.js\";\nimport rejectDispatchChange from \"./reject-dispatch-change.js\";\nimport rejectDreamProposal from \"./reject-dream-proposal.js\";\nimport remixWorkspaceTemplate from \"./remix-workspace-template.js\";\nimport removePendingWorkspaceApp from \"./remove-pending-workspace-app.js\";\nimport requestVaultSecret from \"./request-vault-secret.js\";\nimport resolveIntegrationSourceContext from \"./resolve-integration-source-context.js\";\nimport restoreStarterWorkspaceResources from \"./restore-starter-workspace-resources.js\";\nimport revokeVaultGrant from \"./revoke-vault-grant.js\";\nimport revokeWorkspaceResourceGrant from \"./revoke-workspace-resource-grant.js\";\nimport scaffoldWorkspaceApp from \"./scaffold-workspace-app.js\";\nimport searchAgentThreads from \"./search-agent-threads.js\";\nimport sendCodeAgentRemoteCommand from \"./send-code-agent-remote-command.js\";\nimport sendPlatformMessage from \"./send-platform-message.js\";\nimport setAppCreationSettings from \"./set-app-creation-settings.js\";\nimport setDispatchApprovalPolicy from \"./set-dispatch-approval-policy.js\";\nimport setDreamSettings from \"./set-dream-settings.js\";\nimport setMcpAppAccess from \"./set-mcp-app-access.js\";\nimport setVaultAccessSettings from \"./set-vault-access-settings.js\";\nimport startWorkspaceAppCreation from \"./start-workspace-app-creation.js\";\nimport syncVaultToApp from \"./sync-vault-to-app.js\";\nimport unarchiveWorkspaceApp from \"./unarchive-workspace-app.js\";\nimport updateVaultSecret from \"./update-vault-secret.js\";\nimport updateWorkspaceAppMetadata from \"./update-workspace-app-metadata.js\";\nimport updateWorkspaceResource from \"./update-workspace-resource.js\";\nimport upsertDestination from \"./upsert-destination.js\";\nimport viewScreen from \"./view-screen.js\";\n\n/**\n * Dispatch's actions registered as a flat name→entry map. Imported by\n * `@agent-native/dispatch/server`'s side-effect block, which calls\n * `registerPackageActions(dispatchActions)` so the framework's action\n * loader picks them up.\n */\nexport const dispatchActions: Record<string, ActionEntry> = {\n \"approve-dispatch-change\": approveDispatchChange,\n \"approve-vault-request\": approveVaultRequest,\n \"archive-workspace-app\": archiveWorkspaceApp,\n ask_app: askApp,\n ask_app_status: askAppStatus,\n \"create-link-token\": createLinkToken,\n \"create-pylon-ticket\": createPylonTicket,\n \"create-vault-grant\": createVaultGrant,\n \"create-vault-secret\": createVaultSecret,\n \"create-workspace-resource-grant\": createWorkspaceResourceGrant,\n \"create-workspace-resource\": createWorkspaceResource,\n \"create-dream-report\": createDreamReport,\n \"create-browser-chat-session\": createBrowserChatSession,\n create_embed_session: createEmbedSession,\n \"delete-staged-dataset\": deleteStagedDataset,\n \"delete-destination\": deleteDestination,\n \"delete-vault-secret\": deleteVaultSecret,\n \"delete-workspace-resource\": deleteWorkspaceResource,\n \"deny-vault-request\": denyVaultRequest,\n \"ensure-dream-job\": ensureDreamJob,\n \"get-app-creation-settings\": getAppCreationSettings,\n \"get-agent-thread-debug\": getAgentThreadDebug,\n \"get-dream\": getDream,\n \"get-dream-settings\": getDreamSettings,\n \"get-dispatch-settings\": getDispatchSettings,\n \"get-vault-access-settings\": getVaultAccessSettings,\n \"get-workspace-resource-effective-context\":\n getWorkspaceResourceEffectiveContext,\n \"get-workspace-info\": getWorkspaceInfo,\n \"grant-workspace-resources-to-app\": grantWorkspaceResourcesToApp,\n \"grant-vault-secrets-to-app\": grantVaultSecretsToApp,\n \"list-agent-thread-sources\": listAgentThreadSources,\n \"list-agent-run-failures\": listAgentRunFailures,\n \"list-available-workspace-templates\": listAvailableWorkspaceTemplates,\n \"list-curated-workspace-templates\": listCuratedWorkspaceTemplates,\n \"list-connected-agents\": listConnectedAgents,\n \"list-destinations\": listDestinations,\n \"list-dispatch-approvals\": listDispatchApprovals,\n \"list-dispatch-audit\": listDispatchAudit,\n \"list-dispatch-overview\": listDispatchOverview,\n \"list-dispatch-usage-metrics\": listDispatchUsageMetrics,\n \"list-dream-candidates\": listDreamCandidates,\n \"list-dreams\": listDreams,\n \"list-integrations-catalog\": listIntegrationsCatalog,\n \"list-linked-identities\": listLinkedIdentities,\n \"list-mcp-app-access\": listMcpAppAccess,\n list_apps: listApps,\n \"list-staged-datasets\": listStagedDatasets,\n \"list-vault-audit\": listVaultAudit,\n \"list-vault-grants\": listVaultGrants,\n \"list-vault-requests\": listVaultRequests,\n \"list-vault-secret-options\": listVaultSecretOptions,\n \"list-vault-secrets\": listVaultSecrets,\n \"list-workspace-apps\": listWorkspaceApps,\n \"list-workspace-resource-options\": listWorkspaceResourceOptions,\n \"list-workspace-resource-grants\": listWorkspaceResourceGrants,\n \"list-workspace-resources-for-app\": listWorkspaceResourcesForApp,\n \"list-workspace-resources\": listWorkspaceResources,\n navigate: navigate,\n open_app: openApp,\n \"apply-dream-proposal\": applyDreamProposal,\n \"preview-dream-proposal\": previewDreamProposal,\n \"preview-workspace-resource-change\": previewWorkspaceResourceChange,\n \"provider-api-catalog\": providerApiCatalog,\n \"provider-api-docs\": providerApiDocs,\n \"provider-api-register\": providerApiRegister,\n \"provider-api-request\": providerApiRequest,\n \"query-staged-dataset\": queryStagedDataset,\n \"read-slack-thread-context\": readSlackThreadContext,\n \"reject-dispatch-change\": rejectDispatchChange,\n \"reject-dream-proposal\": rejectDreamProposal,\n \"remove-pending-workspace-app\": removePendingWorkspaceApp,\n \"resolve-integration-source-context\": resolveIntegrationSourceContext,\n \"remix-workspace-template\": remixWorkspaceTemplate,\n \"request-vault-secret\": requestVaultSecret,\n \"revoke-vault-grant\": revokeVaultGrant,\n \"revoke-workspace-resource-grant\": revokeWorkspaceResourceGrant,\n \"restore-starter-workspace-resources\": restoreStarterWorkspaceResources,\n \"scaffold-workspace-app\": scaffoldWorkspaceApp,\n \"search-agent-threads\": searchAgentThreads,\n \"send-code-agent-remote-command\": sendCodeAgentRemoteCommand,\n \"send-platform-message\": sendPlatformMessage,\n \"set-app-creation-settings\": setAppCreationSettings,\n \"set-dispatch-approval-policy\": setDispatchApprovalPolicy,\n \"set-dream-settings\": setDreamSettings,\n \"set-mcp-app-access\": setMcpAppAccess,\n \"set-vault-access-settings\": setVaultAccessSettings,\n \"start-workspace-app-creation\": startWorkspaceAppCreation,\n \"sync-vault-to-app\": syncVaultToApp,\n \"unarchive-workspace-app\": unarchiveWorkspaceApp,\n \"update-workspace-app-metadata\": updateWorkspaceAppMetadata,\n \"update-vault-secret\": updateVaultSecret,\n \"update-workspace-resource\": updateWorkspaceResource,\n \"upsert-destination\": upsertDestination,\n \"view-screen\": viewScreen,\n};\n"]}
@@ -2,11 +2,13 @@ declare const _default: import("@agent-native/core").ActionDefinition<{
2
2
  sourceId?: string | undefined;
3
3
  ownerEmail?: string | undefined;
4
4
  status?: "aborted" | "all" | "errored" | "truncated" | undefined;
5
+ regime?: "all" | "interactive" | "scheduled" | undefined;
5
6
  lookbackHours?: unknown;
6
7
  limit?: unknown;
7
8
  }, {
8
9
  sourceId: string;
9
10
  status: "aborted" | "all" | "errored" | "truncated";
11
+ regime: "all" | import("node_modules/@agent-native/core/dist/agent/engine/failure-taxonomy.js").AgentFailureRegime;
10
12
  lookbackHours: number;
11
13
  limit: number;
12
14
  count: number;
@@ -55,6 +57,8 @@ declare const _default: import("@agent-native/core").ActionDefinition<{
55
57
  diagStage: string | null;
56
58
  peakRssMb: number | null;
57
59
  terminalEvent: Record<string, unknown> | null;
60
+ regime: import("node_modules/@agent-native/core/dist/agent/engine/failure-taxonomy.js").AgentFailureRegime;
61
+ failureTaxonomy: import("node_modules/@agent-native/core/dist/agent/engine/failure-taxonomy.js").AgentFailureTaxonomy;
58
62
  }[];
59
63
  }>;
60
64
  export default _default;
@@ -2,7 +2,7 @@ import { defineAction } from "@agent-native/core";
2
2
  import { z } from "zod";
3
3
  import { listAgentRunFailures } from "../server/lib/thread-debug-store.js";
4
4
  export default defineAction({
5
- description: "List recent failed, aborted, or truncated agent runs across the connected thread-debug sources the caller may inspect. Returns source health and run diagnostics; use get-agent-thread-debug with a returned source and run ID for the full transcript and event history.",
5
+ description: "List recent failed, aborted, or truncated agent runs across the connected thread-debug sources the caller may inspect. Filter interactive and scheduled job runs separately with regime, and use failureTaxonomy to cluster the measured transport, model-configuration, overload, and authentication causes. Use get-agent-thread-debug with a returned source and run ID for the full transcript and event history.",
6
6
  schema: z.object({
7
7
  sourceId: z
8
8
  .string()
@@ -16,6 +16,10 @@ export default defineAction({
16
16
  .enum(["all", "errored", "aborted", "truncated"])
17
17
  .default("all")
18
18
  .describe("Unsuccessful run status to include."),
19
+ regime: z
20
+ .enum(["all", "interactive", "scheduled"])
21
+ .default("all")
22
+ .describe("Run population to inspect. Use interactive for ids not starting with job-, scheduled for ids starting with job-, and call both when measuring reliability."),
19
23
  lookbackHours: z.coerce
20
24
  .number()
21
25
  .int()
@@ -1 +1 @@
1
- {"version":3,"file":"list-agent-run-failures.js","sourceRoot":"","sources":["../../src/actions/list-agent-run-failures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,eAAe,YAAY,CAAC;IAC1B,WAAW,EACT,2QAA2Q;IAC7Q,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CACP,0HAA0H,CAC3H;QACH,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,yGAAyG,CAC1G;QACH,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;aAChD,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,qCAAqC,CAAC;QAClD,aAAa,EAAE,CAAC,CAAC,MAAM;aACpB,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,OAAO,CAAC,GAAG,CAAC;aACZ,QAAQ,CAAC,2BAA2B,CAAC;QACxC,KAAK,EAAE,CAAC,CAAC,MAAM;aACZ,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,8DAA8D,CAAC;KAC5E,CAAC;IACF,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;IACvB,QAAQ,EAAE,IAAI;IACd,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC;CAClD,CAAC,CAAC","sourcesContent":["import { defineAction } from \"@agent-native/core\";\nimport { z } from \"zod\";\n\nimport { listAgentRunFailures } from \"../server/lib/thread-debug-store.js\";\n\nexport default defineAction({\n description:\n \"List recent failed, aborted, or truncated agent runs across the connected thread-debug sources the caller may inspect. Returns source health and run diagnostics; use get-agent-thread-debug with a returned source and run ID for the full transcript and event history.\",\n schema: z.object({\n sourceId: z\n .string()\n .default(\"all\")\n .describe(\n \"Thread debug source id from list-agent-thread-sources, or 'all' to merge every connected source available to the caller.\",\n ),\n ownerEmail: z\n .string()\n .optional()\n .describe(\n \"Optional owner email filter. Organization admins may only select members of their current organization.\",\n ),\n status: z\n .enum([\"all\", \"errored\", \"aborted\", \"truncated\"])\n .default(\"all\")\n .describe(\"Unsuccessful run status to include.\"),\n lookbackHours: z.coerce\n .number()\n .int()\n .min(1)\n .max(720)\n .default(168)\n .describe(\"Lookback window in hours.\"),\n limit: z.coerce\n .number()\n .int()\n .min(1)\n .max(100)\n .default(25)\n .describe(\"Maximum failures returned after merging and sorting sources.\"),\n }),\n http: { method: \"GET\" },\n readOnly: true,\n run: async (input) => listAgentRunFailures(input),\n});\n"]}
1
+ {"version":3,"file":"list-agent-run-failures.js","sourceRoot":"","sources":["../../src/actions/list-agent-run-failures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,eAAe,YAAY,CAAC;IAC1B,WAAW,EACT,uZAAuZ;IACzZ,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CACP,0HAA0H,CAC3H;QACH,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,yGAAyG,CAC1G;QACH,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;aAChD,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,qCAAqC,CAAC;QAClD,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;aACzC,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CACP,4JAA4J,CAC7J;QACH,aAAa,EAAE,CAAC,CAAC,MAAM;aACpB,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,OAAO,CAAC,GAAG,CAAC;aACZ,QAAQ,CAAC,2BAA2B,CAAC;QACxC,KAAK,EAAE,CAAC,CAAC,MAAM;aACZ,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CAAC,8DAA8D,CAAC;KAC5E,CAAC;IACF,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;IACvB,QAAQ,EAAE,IAAI;IACd,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC;CAClD,CAAC,CAAC","sourcesContent":["import { defineAction } from \"@agent-native/core\";\nimport { z } from \"zod\";\n\nimport { listAgentRunFailures } from \"../server/lib/thread-debug-store.js\";\n\nexport default defineAction({\n description:\n \"List recent failed, aborted, or truncated agent runs across the connected thread-debug sources the caller may inspect. Filter interactive and scheduled job runs separately with regime, and use failureTaxonomy to cluster the measured transport, model-configuration, overload, and authentication causes. Use get-agent-thread-debug with a returned source and run ID for the full transcript and event history.\",\n schema: z.object({\n sourceId: z\n .string()\n .default(\"all\")\n .describe(\n \"Thread debug source id from list-agent-thread-sources, or 'all' to merge every connected source available to the caller.\",\n ),\n ownerEmail: z\n .string()\n .optional()\n .describe(\n \"Optional owner email filter. Organization admins may only select members of their current organization.\",\n ),\n status: z\n .enum([\"all\", \"errored\", \"aborted\", \"truncated\"])\n .default(\"all\")\n .describe(\"Unsuccessful run status to include.\"),\n regime: z\n .enum([\"all\", \"interactive\", \"scheduled\"])\n .default(\"all\")\n .describe(\n \"Run population to inspect. Use interactive for ids not starting with job-, scheduled for ids starting with job-, and call both when measuring reliability.\",\n ),\n lookbackHours: z.coerce\n .number()\n .int()\n .min(1)\n .max(720)\n .default(168)\n .describe(\"Lookback window in hours.\"),\n limit: z.coerce\n .number()\n .int()\n .min(1)\n .max(100)\n .default(25)\n .describe(\"Maximum failures returned after merging and sorting sources.\"),\n }),\n http: { method: \"GET\" },\n readOnly: true,\n run: async (input) => listAgentRunFailures(input),\n});\n"]}
@@ -47,9 +47,7 @@ declare const _default: import("node_modules/@agent-native/core/dist").ActionDef
47
47
  notes?: string | undefined;
48
48
  scope?: "org" | "user" | undefined;
49
49
  }, {
50
- id?: undefined;
51
- message?: undefined;
52
- provider?: undefined;
50
+ found?: undefined;
53
51
  deleted?: undefined;
54
52
  providers: {
55
53
  id: string;
@@ -61,45 +59,47 @@ declare const _default: import("node_modules/@agent-native/core/dist").ActionDef
61
59
  updatedAt: number;
62
60
  }[];
63
61
  count: number;
64
- found?: undefined;
62
+ provider?: undefined;
65
63
  registered?: undefined;
66
- label?: undefined;
67
- } | {
68
64
  id?: undefined;
65
+ label?: undefined;
69
66
  message?: undefined;
67
+ } | {
70
68
  deleted?: undefined;
71
69
  providers?: undefined;
72
70
  count?: undefined;
73
71
  found: boolean;
74
72
  provider: import("node_modules/@agent-native/core/dist/provider-api").CustomProviderConfig;
75
73
  registered?: undefined;
74
+ id?: undefined;
76
75
  label?: undefined;
77
- } | {
78
76
  message?: undefined;
79
- provider?: undefined;
77
+ } | {
80
78
  deleted?: undefined;
81
79
  providers?: undefined;
82
80
  count?: undefined;
81
+ provider?: undefined;
83
82
  found: boolean;
84
83
  id: string;
85
84
  registered?: undefined;
86
85
  label?: undefined;
87
- } | {
88
86
  message?: undefined;
89
- provider?: undefined;
87
+ } | {
88
+ found?: undefined;
90
89
  providers?: undefined;
91
90
  count?: undefined;
92
- found?: undefined;
91
+ provider?: undefined;
93
92
  deleted: boolean;
94
93
  id: string;
95
94
  registered?: undefined;
96
95
  label?: undefined;
96
+ message?: undefined;
97
97
  } | {
98
- provider?: undefined;
98
+ found?: undefined;
99
99
  deleted?: undefined;
100
100
  providers?: undefined;
101
101
  count?: undefined;
102
- found?: undefined;
102
+ provider?: undefined;
103
103
  registered: boolean;
104
104
  id: string;
105
105
  label: string;
@@ -0,0 +1,29 @@
1
+ declare const _default: import("@agent-native/core").ActionDefinition<{
2
+ permalink: string;
3
+ limit?: unknown;
4
+ cursor?: string | undefined;
5
+ connectionId?: string | undefined;
6
+ }, {
7
+ permalink: string;
8
+ channelId: string;
9
+ linkedMessageTs: string;
10
+ threadTs: string;
11
+ messages: {
12
+ ts: string | null;
13
+ threadTs: string | null;
14
+ user: string | null;
15
+ username: string | null;
16
+ botId: string | null;
17
+ text: string;
18
+ blocks?: {} | undefined;
19
+ attachments?: {} | undefined;
20
+ files?: {} | undefined;
21
+ reactions?: {} | undefined;
22
+ }[];
23
+ messageCount: number;
24
+ completeness: string;
25
+ nextCursor: string | null;
26
+ relatedLinks: string[];
27
+ }>;
28
+ export default _default;
29
+ //# sourceMappingURL=read-slack-thread-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-slack-thread-context.d.ts","sourceRoot":"","sources":["../../src/actions/read-slack-thread-context.ts"],"names":[],"mappings":""}
@@ -0,0 +1,138 @@
1
+ import { defineAction } from "@agent-native/core";
2
+ import { z } from "zod";
3
+ import { executeProviderApiRequest } from "../server/lib/provider-api.js";
4
+ const SlackPermalinkSchema = z
5
+ .string()
6
+ .url()
7
+ .refine((value) => {
8
+ const url = new URL(value);
9
+ return (url.protocol === "https:" &&
10
+ url.hostname.endsWith(".slack.com") &&
11
+ url.pathname.startsWith("/archives/"));
12
+ }, "Expected an https Slack archive permalink.")
13
+ .describe("Slack message permalink from the issue or feedback report.");
14
+ function parseSlackPermalink(permalink) {
15
+ const url = new URL(permalink);
16
+ const match = url.pathname.match(/^\/archives\/([^/]+)\/p(\d{16})$/);
17
+ if (!match) {
18
+ throw new Error("Slack permalink must include a channel id and 16-digit message timestamp.");
19
+ }
20
+ const [, channelId, compactTimestamp] = match;
21
+ const linkedMessageTs = `${compactTimestamp.slice(0, 10)}.${compactTimestamp.slice(10)}`;
22
+ const threadTs = url.searchParams.get("thread_ts") || linkedMessageTs;
23
+ return { channelId, linkedMessageTs, threadTs };
24
+ }
25
+ function getResponseJson(response) {
26
+ if (!response || typeof response !== "object") {
27
+ throw new Error("Slack thread read returned no response metadata.");
28
+ }
29
+ const value = response;
30
+ if (value.ok !== true) {
31
+ throw new Error(`Slack thread read failed with HTTP ${value.status ?? "unknown"}.`);
32
+ }
33
+ if (!value.json || typeof value.json !== "object") {
34
+ throw new Error("Slack thread read returned no JSON body.");
35
+ }
36
+ const body = value.json;
37
+ if (body.ok !== true) {
38
+ const error = typeof body.error === "string" ? body.error : "unknown_error";
39
+ throw new Error(`Slack thread read failed: ${error}.`);
40
+ }
41
+ return body;
42
+ }
43
+ function collectLinks(value, links) {
44
+ if (typeof value === "string") {
45
+ for (const match of value.matchAll(/https?:\/\/[^\s<>|]+/g)) {
46
+ links.add(match[0].replace(/[),.;]+$/, ""));
47
+ }
48
+ return;
49
+ }
50
+ if (Array.isArray(value)) {
51
+ for (const item of value)
52
+ collectLinks(item, links);
53
+ return;
54
+ }
55
+ if (!value || typeof value !== "object")
56
+ return;
57
+ for (const [key, child] of Object.entries(value)) {
58
+ if (key === "url" && typeof child === "string")
59
+ links.add(child);
60
+ else
61
+ collectLinks(child, links);
62
+ }
63
+ }
64
+ function projectMessage(message) {
65
+ return {
66
+ ts: message.ts ?? null,
67
+ threadTs: message.thread_ts ?? null,
68
+ user: message.user ?? null,
69
+ username: message.username ?? null,
70
+ botId: message.bot_id ?? null,
71
+ text: message.text ?? "",
72
+ ...(message.blocks ? { blocks: message.blocks } : {}),
73
+ ...(message.attachments ? { attachments: message.attachments } : {}),
74
+ ...(message.files ? { files: message.files } : {}),
75
+ ...(message.reactions ? { reactions: message.reactions } : {}),
76
+ };
77
+ }
78
+ export default defineAction({
79
+ description: "Read the complete Slack thread behind an issue permalink before diagnosing or fixing it. Resolves a child permalink to its parent, returns messages plus attachments and related links, and reports pagination completeness. Read-only; never joins a channel or sends a message.",
80
+ schema: z.object({
81
+ permalink: SlackPermalinkSchema,
82
+ limit: z.coerce
83
+ .number()
84
+ .int()
85
+ .min(1)
86
+ .max(1000)
87
+ .default(100)
88
+ .describe("Maximum Slack messages to return in this page."),
89
+ cursor: z
90
+ .string()
91
+ .optional()
92
+ .describe("Slack response_metadata.next_cursor from a previous page."),
93
+ connectionId: z
94
+ .string()
95
+ .optional()
96
+ .describe("Optional connected Slack workspace id when several are granted."),
97
+ }),
98
+ http: false,
99
+ readOnly: true,
100
+ run: async ({ permalink, limit, cursor, connectionId }) => {
101
+ const parsed = parseSlackPermalink(permalink);
102
+ const result = await executeProviderApiRequest({
103
+ provider: "slack",
104
+ method: "GET",
105
+ path: "/conversations.replies",
106
+ query: {
107
+ channel: parsed.channelId,
108
+ ts: parsed.threadTs,
109
+ limit,
110
+ ...(cursor ? { cursor } : {}),
111
+ },
112
+ connectionId,
113
+ maxBytes: 2 * 1024 * 1024,
114
+ });
115
+ const response = result.response;
116
+ const body = getResponseJson(response);
117
+ const messages = Array.isArray(body.messages)
118
+ ? body.messages
119
+ : [];
120
+ const nextCursor = body.response_metadata && typeof body.response_metadata === "object"
121
+ ? body.response_metadata.next_cursor
122
+ : null;
123
+ const relatedLinks = new Set();
124
+ collectLinks(messages, relatedLinks);
125
+ return {
126
+ permalink,
127
+ channelId: parsed.channelId,
128
+ linkedMessageTs: parsed.linkedMessageTs,
129
+ threadTs: parsed.threadTs,
130
+ messages: messages.map(projectMessage),
131
+ messageCount: messages.length,
132
+ completeness: nextCursor ? "partial" : "complete",
133
+ nextCursor: typeof nextCursor === "string" && nextCursor ? nextCursor : null,
134
+ relatedLinks: [...relatedLinks],
135
+ };
136
+ },
137
+ });
138
+ //# sourceMappingURL=read-slack-thread-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-slack-thread-context.js","sourceRoot":"","sources":["../../src/actions/read-slack-thread-context.ts"],"names":[],"mappings":"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","sourcesContent":["import { defineAction } from \"@agent-native/core\";\nimport { z } from \"zod\";\n\nimport { executeProviderApiRequest } from \"../server/lib/provider-api.js\";\n\nconst SlackPermalinkSchema = z\n .string()\n .url()\n .refine((value) => {\n const url = new URL(value);\n return (\n url.protocol === \"https:\" &&\n url.hostname.endsWith(\".slack.com\") &&\n url.pathname.startsWith(\"/archives/\")\n );\n }, \"Expected an https Slack archive permalink.\")\n .describe(\"Slack message permalink from the issue or feedback report.\");\n\ntype SlackMessage = {\n ts?: string;\n thread_ts?: string;\n user?: string;\n username?: string;\n bot_id?: string;\n text?: string;\n blocks?: unknown;\n attachments?: unknown;\n files?: unknown;\n reactions?: unknown;\n};\n\nfunction parseSlackPermalink(permalink: string) {\n const url = new URL(permalink);\n const match = url.pathname.match(/^\\/archives\\/([^/]+)\\/p(\\d{16})$/);\n if (!match) {\n throw new Error(\n \"Slack permalink must include a channel id and 16-digit message timestamp.\",\n );\n }\n\n const [, channelId, compactTimestamp] = match;\n const linkedMessageTs = `${compactTimestamp.slice(0, 10)}.${compactTimestamp.slice(10)}`;\n const threadTs = url.searchParams.get(\"thread_ts\") || linkedMessageTs;\n\n return { channelId, linkedMessageTs, threadTs };\n}\n\nfunction getResponseJson(response: unknown): Record<string, unknown> {\n if (!response || typeof response !== \"object\") {\n throw new Error(\"Slack thread read returned no response metadata.\");\n }\n\n const value = response as { json?: unknown; status?: number; ok?: boolean };\n if (value.ok !== true) {\n throw new Error(\n `Slack thread read failed with HTTP ${value.status ?? \"unknown\"}.`,\n );\n }\n if (!value.json || typeof value.json !== \"object\") {\n throw new Error(\"Slack thread read returned no JSON body.\");\n }\n\n const body = value.json as Record<string, unknown>;\n if (body.ok !== true) {\n const error = typeof body.error === \"string\" ? body.error : \"unknown_error\";\n throw new Error(`Slack thread read failed: ${error}.`);\n }\n return body;\n}\n\nfunction collectLinks(value: unknown, links: Set<string>): void {\n if (typeof value === \"string\") {\n for (const match of value.matchAll(/https?:\\/\\/[^\\s<>|]+/g)) {\n links.add(match[0].replace(/[),.;]+$/, \"\"));\n }\n return;\n }\n if (Array.isArray(value)) {\n for (const item of value) collectLinks(item, links);\n return;\n }\n if (!value || typeof value !== \"object\") return;\n\n for (const [key, child] of Object.entries(value)) {\n if (key === \"url\" && typeof child === \"string\") links.add(child);\n else collectLinks(child, links);\n }\n}\n\nfunction projectMessage(message: SlackMessage) {\n return {\n ts: message.ts ?? null,\n threadTs: message.thread_ts ?? null,\n user: message.user ?? null,\n username: message.username ?? null,\n botId: message.bot_id ?? null,\n text: message.text ?? \"\",\n ...(message.blocks ? { blocks: message.blocks } : {}),\n ...(message.attachments ? { attachments: message.attachments } : {}),\n ...(message.files ? { files: message.files } : {}),\n ...(message.reactions ? { reactions: message.reactions } : {}),\n };\n}\n\nexport default defineAction({\n description:\n \"Read the complete Slack thread behind an issue permalink before diagnosing or fixing it. Resolves a child permalink to its parent, returns messages plus attachments and related links, and reports pagination completeness. Read-only; never joins a channel or sends a message.\",\n schema: z.object({\n permalink: SlackPermalinkSchema,\n limit: z.coerce\n .number()\n .int()\n .min(1)\n .max(1000)\n .default(100)\n .describe(\"Maximum Slack messages to return in this page.\"),\n cursor: z\n .string()\n .optional()\n .describe(\"Slack response_metadata.next_cursor from a previous page.\"),\n connectionId: z\n .string()\n .optional()\n .describe(\n \"Optional connected Slack workspace id when several are granted.\",\n ),\n }),\n http: false,\n readOnly: true,\n run: async ({ permalink, limit, cursor, connectionId }) => {\n const parsed = parseSlackPermalink(permalink);\n const result = await executeProviderApiRequest({\n provider: \"slack\",\n method: \"GET\",\n path: \"/conversations.replies\",\n query: {\n channel: parsed.channelId,\n ts: parsed.threadTs,\n limit,\n ...(cursor ? { cursor } : {}),\n },\n connectionId,\n maxBytes: 2 * 1024 * 1024,\n });\n\n const response = (result as { response?: unknown }).response;\n const body = getResponseJson(response);\n const messages = Array.isArray(body.messages)\n ? (body.messages as SlackMessage[])\n : [];\n const nextCursor =\n body.response_metadata && typeof body.response_metadata === \"object\"\n ? (body.response_metadata as { next_cursor?: unknown }).next_cursor\n : null;\n const relatedLinks = new Set<string>();\n collectLinks(messages, relatedLinks);\n\n return {\n permalink,\n channelId: parsed.channelId,\n linkedMessageTs: parsed.linkedMessageTs,\n threadTs: parsed.threadTs,\n messages: messages.map(projectMessage),\n messageCount: messages.length,\n completeness: nextCursor ? \"partial\" : \"complete\",\n nextCursor:\n typeof nextCursor === \"string\" && nextCursor ? nextCursor : null,\n relatedLinks: [...relatedLinks],\n };\n },\n});\n"]}
@@ -5,6 +5,19 @@ declare const _default: import("@agent-native/core").ActionDefinition<{
5
5
  content?: string | undefined;
6
6
  scope?: "all" | "selected" | undefined;
7
7
  }, {
8
+ id: string;
9
+ ownerEmail: string;
10
+ orgId: string | null;
11
+ kind: string;
12
+ name: string;
13
+ description: string | null;
14
+ path: string;
15
+ content: string;
16
+ scope: string;
17
+ createdBy: string;
18
+ createdAt: number;
19
+ updatedAt: number;
20
+ } | {
8
21
  id: string;
9
22
  ownerEmail: string;
10
23
  orgId: string | null;
@@ -21,19 +34,6 @@ declare const _default: import("@agent-native/core").ActionDefinition<{
21
34
  reviewedAt: number | null;
22
35
  createdAt: number;
23
36
  updatedAt: number;
24
- } | {
25
- id: string;
26
- ownerEmail: string;
27
- orgId: string | null;
28
- kind: string;
29
- name: string;
30
- description: string | null;
31
- path: string;
32
- content: string;
33
- scope: string;
34
- createdBy: string;
35
- createdAt: number;
36
- updatedAt: number;
37
37
  }>;
38
38
  export default _default;
39
39
  //# sourceMappingURL=update-workspace-resource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Layout.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Layout.tsx"],"names":[],"mappings":"AA2CA,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAgBf,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,YAAY,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC;IAC1C,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,EAAE,EAAE,MAAM,CAAC;IACX,iFAAiF;IACjF,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,mFAAmF;IACnF,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,gEAAgE;IAChE,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CACvC;AAED,MAAM,WAAW,uBAAuB;IACtC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACtC,kFAAkF;IAClF,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B;AAyND,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAa,UAWlE;AA2ID,wBAAgB,UAAU,CAAC,EACzB,UAAU,EACV,UAAU,EACV,SAAiB,EACjB,WAAmB,EACnB,iBAAiB,GAClB,EAAE;IACD,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD,mDAuRA;AAED,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,UAAU,EACV,aAAa,GACd,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,mDA6IA"}
1
+ {"version":3,"file":"Layout.d.ts","sourceRoot":"","sources":["../../../src/components/layout/Layout.tsx"],"names":[],"mappings":"AA2CA,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAgBf,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,YAAY,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC;IAC1C,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,EAAE,EAAE,MAAM,CAAC;IACX,iFAAiF;IACjF,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,mFAAmF;IACnF,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,gEAAgE;IAChE,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CACvC;AAED,MAAM,WAAW,uBAAuB;IACtC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACtC,kFAAkF;IAClF,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B;AAyND,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAa,UAWlE;AA2ID,wBAAgB,UAAU,CAAC,EACzB,UAAU,EACV,UAAU,EACV,SAAiB,EACjB,WAAmB,EACnB,iBAAiB,GAClB,EAAE;IACD,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD,mDA2RA;AAED,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,UAAU,EACV,aAAa,GACd,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,mDA6IA"}
@@ -389,7 +389,7 @@ export function NavContent({ onNavigate, extensions, collapsed = false, collapsi
389
389
  : "text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground");
390
390
  }, children: [Icon ? (_jsx(Icon, { size: 16, className: "shrink-0" })) : (_jsx("span", { className: "h-4 w-4 shrink-0", "aria-hidden": "true" })), _jsx("span", { className: "truncate", children: label })] })), !collapsed && item.id === "chat" && itemMatchesLocalPath ? (_jsx(DispatchChatsSection, { onNavigate: onNavigate })) : null] }, item.id));
391
391
  };
392
- return (_jsxs(_Fragment, { children: [_jsx("div", { className: cn("border-b py-3", collapsed ? "px-1" : "px-4"), children: _jsx("div", { className: cn("flex items-center", collapsed ? "justify-center" : "gap-2"), children: !collapsed && (_jsxs(_Fragment, { children: [_jsx("img", { src: appPath("/agent-native-icon-light.svg"), alt: "", "aria-hidden": "true", className: "block h-5 w-auto shrink-0 dark:hidden" }), _jsx("img", { src: appPath("/agent-native-icon-dark.svg"), alt: "", "aria-hidden": "true", className: "hidden h-5 w-auto shrink-0 dark:block" }), _jsx("div", { className: "min-w-0 flex-1", children: _jsx("div", { className: "truncate text-lg font-bold tracking-tight text-foreground", children: "Dispatch" }) })] })) }) }), _jsxs("div", { className: "flex min-h-0 flex-1 flex-col overflow-y-auto", children: [_jsxs("nav", { className: cn("py-3", collapsed ? "px-1" : "px-2"), children: [_jsx("ul", { className: cn(collapsed ? "flex flex-col items-center gap-1" : "space-y-0.5"), children: primaryNavItems.map(renderNavItem) }), collapsed ? (_jsxs(_Fragment, { children: [_jsx("ul", { className: "mt-5 flex flex-col items-center gap-1", children: operationsNavItems.map(renderNavItem) }), _jsx("ul", { className: "mt-3 flex flex-col items-center gap-1", children: ADVANCED_NAV_ITEMS.map(renderNavItem) })] })) : (_jsxs("div", { className: "mt-5", children: [_jsx("p", { className: "px-2 pb-1 text-[11px] font-medium uppercase tracking-wide text-sidebar-foreground/45", children: t("dispatch.nav.operate", { defaultValue: "Operate" }) }), _jsx("ul", { className: "space-y-0.5", children: operationsNavItems.map(renderNavItem) }), _jsxs("details", { className: "group mt-3", open: advancedOpen, children: [_jsxs("summary", { className: "flex h-8 cursor-pointer list-none items-center justify-between rounded-md px-2 text-xs font-medium text-sidebar-foreground/60 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground [&::-webkit-details-marker]:hidden", children: [_jsx("span", { children: t("dispatch.nav.advanced", { defaultValue: "Advanced" }) }), _jsx(IconChevronDown, { size: 14, className: "transition-transform group-open:rotate-180" })] }), _jsx("ul", { className: "mt-1 space-y-0.5", children: ADVANCED_NAV_ITEMS.map(renderNavItem) })] })] }))] }), _jsxs("div", { className: "mt-auto shrink-0", children: [_jsx("nav", { className: cn("py-1", collapsed ? "px-1" : "px-2"), children: _jsx("ul", { className: cn(collapsed ? "flex flex-col items-center gap-1" : "space-y-0.5"), children: BOTTOM_NAV_ITEMS.map(renderNavItem) }) }), _jsx("div", { className: cn("py-2", collapsed ? "flex justify-center px-1" : "px-3"), children: _jsx(OrgSwitcher, { compact: collapsed, reserveSpace: true }) })] }), _jsx(SidebarFooterActions, { collapsed: collapsed, feedback: feedbackButton, search: searchButton, collapse: collapseButton })] })] }));
392
+ return (_jsxs(_Fragment, { children: [_jsx("div", { className: cn("border-b py-3", collapsed ? "px-1" : "px-4"), children: _jsx("div", { className: cn("flex items-center", collapsed ? "justify-center" : "gap-2"), children: !collapsed && (_jsxs(_Fragment, { children: [_jsx("img", { src: appPath("/agent-native-icon-light.svg"), alt: "", "aria-hidden": "true", width: 35, height: 20, className: "block h-5 w-[35px] shrink-0 object-contain object-center dark:hidden" }), _jsx("img", { src: appPath("/agent-native-icon-dark.svg"), alt: "", "aria-hidden": "true", width: 35, height: 20, className: "hidden h-5 w-[35px] shrink-0 object-contain object-center dark:block" }), _jsx("div", { className: "min-w-0 flex-1", children: _jsx("div", { className: "truncate text-lg font-bold tracking-tight text-foreground", children: "Dispatch" }) })] })) }) }), _jsxs("div", { className: "flex min-h-0 flex-1 flex-col overflow-y-auto", children: [_jsxs("nav", { className: cn("py-3", collapsed ? "px-1" : "px-2"), children: [_jsx("ul", { className: cn(collapsed ? "flex flex-col items-center gap-1" : "space-y-0.5"), children: primaryNavItems.map(renderNavItem) }), collapsed ? (_jsxs(_Fragment, { children: [_jsx("ul", { className: "mt-5 flex flex-col items-center gap-1", children: operationsNavItems.map(renderNavItem) }), _jsx("ul", { className: "mt-3 flex flex-col items-center gap-1", children: ADVANCED_NAV_ITEMS.map(renderNavItem) })] })) : (_jsxs("div", { className: "mt-5", children: [_jsx("p", { className: "px-2 pb-1 text-[11px] font-medium uppercase tracking-wide text-sidebar-foreground/45", children: t("dispatch.nav.operate", { defaultValue: "Operate" }) }), _jsx("ul", { className: "space-y-0.5", children: operationsNavItems.map(renderNavItem) }), _jsxs("details", { className: "group mt-3", open: advancedOpen, children: [_jsxs("summary", { className: "flex h-8 cursor-pointer list-none items-center justify-between rounded-md px-2 text-xs font-medium text-sidebar-foreground/60 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground [&::-webkit-details-marker]:hidden", children: [_jsx("span", { children: t("dispatch.nav.advanced", { defaultValue: "Advanced" }) }), _jsx(IconChevronDown, { size: 14, className: "transition-transform group-open:rotate-180" })] }), _jsx("ul", { className: "mt-1 space-y-0.5", children: ADVANCED_NAV_ITEMS.map(renderNavItem) })] })] }))] }), _jsxs("div", { className: "mt-auto shrink-0", children: [_jsx("nav", { className: cn("py-1", collapsed ? "px-1" : "px-2"), children: _jsx("ul", { className: cn(collapsed ? "flex flex-col items-center gap-1" : "space-y-0.5"), children: BOTTOM_NAV_ITEMS.map(renderNavItem) }) }), _jsx("div", { className: cn("py-2", collapsed ? "flex justify-center px-1" : "px-3"), children: _jsx(OrgSwitcher, { compact: collapsed, reserveSpace: true }) })] }), _jsx(SidebarFooterActions, { collapsed: collapsed, feedback: feedbackButton, search: searchButton, collapse: collapseButton })] })] }));
393
393
  }
394
394
  export function Layout({ children, extensions, agentPageHref, }) {
395
395
  const t = useT();