@sentry/junior 0.53.0 → 0.55.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/README.md +4 -3
- package/dist/api-reference.d.ts +7 -0
- package/dist/app.d.ts +14 -12
- package/dist/app.js +12977 -10333
- package/dist/build/copy-build-content.d.ts +4 -0
- package/dist/build/glob-to-regex.d.ts +2 -0
- package/dist/build/rolldown-workarounds.d.ts +14 -0
- package/dist/build/virtual-config.d.ts +4 -0
- package/dist/chat/agent-dispatch/context.d.ts +6 -0
- package/dist/chat/agent-dispatch/heartbeat.d.ts +14 -0
- package/dist/chat/agent-dispatch/runner.d.ts +9 -0
- package/dist/chat/agent-dispatch/signing.d.ts +5 -0
- package/dist/chat/agent-dispatch/store.d.ts +29 -0
- package/dist/chat/agent-dispatch/types.d.ts +57 -0
- package/dist/chat/agent-dispatch/validation.d.ts +3 -0
- package/dist/chat/app/factory.d.ts +10 -0
- package/dist/chat/app/production.d.ts +6 -0
- package/dist/chat/app/services.d.ts +17 -0
- package/dist/chat/capabilities/catalog.d.ts +16 -0
- package/dist/chat/capabilities/factory.d.ts +10 -0
- package/dist/chat/capabilities/jr-rpc-command.d.ts +26 -0
- package/dist/chat/capabilities/router.d.ts +19 -0
- package/dist/chat/coerce.d.ts +6 -0
- package/dist/chat/config.d.ts +47 -0
- package/dist/chat/configuration/defaults.d.ts +4 -0
- package/dist/chat/configuration/service.d.ts +2 -0
- package/dist/chat/configuration/types.d.ts +37 -0
- package/dist/chat/configuration/validation.d.ts +2 -0
- package/dist/chat/credentials/broker.d.ts +22 -0
- package/dist/chat/credentials/header-transforms.d.ts +3 -0
- package/dist/chat/credentials/oauth-scope.d.ts +4 -0
- package/dist/chat/credentials/state-adapter-token-store.d.ts +9 -0
- package/dist/chat/credentials/unlink-provider.d.ts +2 -0
- package/dist/chat/credentials/user-token-store.d.ts +11 -0
- package/dist/chat/discovery.d.ts +47 -0
- package/dist/chat/ingress/junior-chat.d.ts +26 -0
- package/dist/chat/ingress/message-changed.d.ts +50 -0
- package/dist/chat/ingress/message-router.d.ts +9 -0
- package/dist/chat/ingress/slash-command.d.ts +3 -0
- package/dist/chat/ingress/workspace-membership.d.ts +9 -0
- package/dist/chat/interruption-marker.d.ts +2 -0
- package/dist/chat/logging.d.ts +90 -0
- package/dist/chat/mcp/auth-store.d.ts +41 -0
- package/dist/chat/mcp/client.d.ts +34 -0
- package/dist/chat/mcp/errors.d.ts +8 -0
- package/dist/chat/mcp/oauth-provider.d.ts +27 -0
- package/dist/chat/mcp/oauth.d.ts +17 -0
- package/dist/chat/mcp/tool-manager.d.ts +60 -0
- package/dist/chat/oauth-flow.d.ts +45 -0
- package/dist/chat/optional-string.d.ts +5 -0
- package/dist/chat/pi/client.d.ts +49 -0
- package/dist/chat/pi/messages.d.ts +3 -0
- package/dist/chat/pi/traced-stream.d.ts +9 -0
- package/dist/chat/plugins/agent-hooks.d.ts +32 -0
- package/dist/chat/plugins/auth/api-headers-broker.d.ts +6 -0
- package/dist/chat/plugins/auth/auth-token-placeholder.d.ts +3 -0
- package/dist/chat/plugins/auth/github-app-broker.d.ts +4 -0
- package/dist/chat/plugins/auth/oauth-bearer-broker.d.ts +6 -0
- package/dist/chat/plugins/auth/oauth-request.d.ts +18 -0
- package/dist/chat/plugins/command-env.d.ts +3 -0
- package/dist/chat/plugins/logging.d.ts +3 -0
- package/dist/chat/plugins/manifest.d.ts +3 -0
- package/dist/chat/plugins/package-discovery.d.ts +14 -0
- package/dist/chat/plugins/registry.d.ts +23 -0
- package/dist/chat/plugins/state.d.ts +3 -0
- package/dist/chat/plugins/types.d.ts +146 -0
- package/dist/chat/prompt.d.ts +39 -0
- package/dist/chat/queue/thread-message-dispatcher.d.ts +33 -0
- package/dist/chat/respond-helpers.d.ts +77 -0
- package/dist/chat/respond.d.ts +75 -0
- package/dist/chat/runtime/auth-pause-state.d.ts +11 -0
- package/dist/chat/runtime/delivered-turn-state.d.ts +15 -0
- package/dist/chat/runtime/dev-agent-trace.d.ts +1 -0
- package/dist/chat/runtime/processing-reaction.d.ts +25 -0
- package/dist/chat/runtime/reply-executor.d.ts +56 -0
- package/dist/chat/runtime/report-progress.d.ts +3 -0
- package/dist/chat/runtime/slack-resume.d.ts +50 -0
- package/dist/chat/runtime/slack-runtime.d.ts +100 -0
- package/dist/chat/runtime/thread-context.d.ts +24 -0
- package/dist/chat/runtime/thread-state.d.ts +28 -0
- package/dist/chat/runtime/turn-preparation.d.ts +43 -0
- package/dist/chat/runtime/turn-user-message.d.ts +12 -0
- package/dist/chat/runtime/turn.d.ts +69 -0
- package/dist/chat/sandbox/credentials.d.ts +11 -0
- package/dist/chat/sandbox/egress-oidc.d.ts +3 -0
- package/dist/chat/sandbox/egress-policy.d.ts +11 -0
- package/dist/chat/sandbox/egress-proxy.d.ts +17 -0
- package/dist/chat/sandbox/egress-session.d.ts +27 -0
- package/dist/chat/sandbox/errors.d.ts +12 -0
- package/dist/chat/sandbox/http-error-details.d.ts +18 -0
- package/dist/chat/sandbox/noninteractive-command.d.ts +17 -0
- package/dist/chat/sandbox/paths.d.ts +5 -0
- package/dist/chat/sandbox/runtime-dependency-snapshots.d.ts +20 -0
- package/dist/chat/sandbox/sandbox.d.ts +54 -0
- package/dist/chat/sandbox/session.d.ts +54 -0
- package/dist/chat/sandbox/skill-sandbox.d.ts +42 -0
- package/dist/chat/sandbox/skill-sync.d.ts +16 -0
- package/dist/chat/sandbox/workspace.d.ts +55 -0
- package/dist/chat/scheduler/cadence.d.ts +24 -0
- package/dist/chat/scheduler/plugin.d.ts +2 -0
- package/dist/chat/scheduler/prompt.d.ts +7 -0
- package/dist/chat/scheduler/store.d.ts +49 -0
- package/dist/chat/scheduler/types.d.ts +86 -0
- package/dist/chat/sentry.d.ts +2 -0
- package/dist/chat/services/attachment-claims.d.ts +2 -0
- package/dist/chat/services/auth-pause-response.d.ts +2 -0
- package/dist/chat/services/auth-pause.d.ts +19 -0
- package/dist/chat/services/channel-intent.d.ts +2 -0
- package/dist/chat/services/conversation-memory.d.ts +33 -0
- package/dist/chat/services/mcp-auth-orchestration.d.ts +30 -0
- package/dist/chat/services/pending-auth.d.ts +27 -0
- package/dist/chat/services/plugin-auth-orchestration.d.ts +37 -0
- package/dist/chat/services/provider-default-config.d.ts +9 -0
- package/dist/chat/services/provider-retry.d.ts +6 -0
- package/dist/chat/services/reply-delivery-plan.d.ts +17 -0
- package/dist/chat/services/subscribed-decision.d.ts +63 -0
- package/dist/chat/services/subscribed-reply-policy.d.ts +23 -0
- package/dist/chat/services/timeout-resume.d.ts +17 -0
- package/dist/chat/services/turn-checkpoint.d.ts +74 -0
- package/dist/chat/services/turn-continuation-response.d.ts +2 -0
- package/dist/chat/services/turn-failure-response.d.ts +15 -0
- package/dist/chat/services/turn-result.d.ts +55 -0
- package/dist/chat/services/turn-thinking-level.d.ts +49 -0
- package/dist/chat/services/vision-context.d.ts +61 -0
- package/dist/chat/skills.d.ts +48 -0
- package/dist/chat/slack/adapter.d.ts +9 -0
- package/dist/chat/slack/app-home.d.ts +11 -0
- package/dist/chat/slack/assistant-thread/lifecycle.d.ts +13 -0
- package/dist/chat/slack/assistant-thread/status-render.d.ts +28 -0
- package/dist/chat/slack/assistant-thread/status-scheduler.d.ts +23 -0
- package/dist/chat/slack/assistant-thread/status-send.d.ts +31 -0
- package/dist/chat/slack/assistant-thread/status.d.ts +36 -0
- package/dist/chat/slack/assistant-thread/title.d.ts +28 -0
- package/dist/chat/slack/canvas-references.d.ts +2 -0
- package/dist/chat/slack/channel.d.ts +48 -0
- package/dist/chat/slack/client.d.ts +52 -0
- package/dist/chat/slack/context.d.ts +9 -0
- package/dist/chat/slack/emoji.d.ts +1 -0
- package/dist/chat/slack/errors.d.ts +6 -0
- package/dist/chat/slack/footer.d.ts +42 -0
- package/dist/chat/slack/ids.d.ts +4 -0
- package/dist/chat/slack/legacy-attachments.d.ts +4 -0
- package/dist/chat/slack/message.d.ts +6 -0
- package/dist/chat/slack/mrkdwn.d.ts +12 -0
- package/dist/chat/slack/outbound.d.ts +57 -0
- package/dist/chat/slack/output.d.ts +54 -0
- package/dist/chat/slack/reply.d.ts +33 -0
- package/dist/chat/slack/status-format.d.ts +2 -0
- package/dist/chat/slack/turn-continuation-notice.d.ts +8 -0
- package/dist/chat/slack/user.d.ts +8 -0
- package/dist/chat/slack/users.d.ts +39 -0
- package/dist/chat/slack/workspace-context.d.ts +4 -0
- package/dist/chat/state/adapter.d.ts +9 -0
- package/dist/chat/state/artifacts.d.ts +29 -0
- package/dist/chat/state/conversation.d.ts +81 -0
- package/dist/chat/state/pi-session-message-store.d.ts +15 -0
- package/dist/chat/state/turn-id.d.ts +2 -0
- package/dist/chat/state/turn-session-store.d.ts +49 -0
- package/dist/chat/tools/advisor/session-store.d.ts +9 -0
- package/dist/chat/tools/advisor/tool.d.ts +33 -0
- package/dist/chat/tools/agent-tools.d.ts +10 -0
- package/dist/chat/tools/channel-capabilities.d.ts +11 -0
- package/dist/chat/tools/definition.d.ts +17 -0
- package/dist/chat/tools/execution/build-sandbox-input.d.ts +2 -0
- package/dist/chat/tools/execution/normalize-result.d.ts +6 -0
- package/dist/chat/tools/execution/tool-error-handler.d.ts +3 -0
- package/dist/chat/tools/execution/tool-input-error.d.ts +6 -0
- package/dist/chat/tools/idempotency.d.ts +1 -0
- package/dist/chat/tools/index.d.ts +5 -0
- package/dist/chat/tools/runtime/report-progress.d.ts +4 -0
- package/dist/chat/tools/sandbox/attach-file.d.ts +7 -0
- package/dist/chat/tools/sandbox/bash.d.ts +5 -0
- package/dist/chat/tools/sandbox/edit-file.d.ts +37 -0
- package/dist/chat/tools/sandbox/file-utils.d.ts +52 -0
- package/dist/chat/tools/sandbox/find-files.d.ts +24 -0
- package/dist/chat/tools/sandbox/grep.d.ts +33 -0
- package/dist/chat/tools/sandbox/list-dir.d.ts +22 -0
- package/dist/chat/tools/sandbox/read-file.d.ts +32 -0
- package/dist/chat/tools/sandbox/text-edits.d.ts +28 -0
- package/dist/chat/tools/sandbox/write-file.d.ts +5 -0
- package/dist/chat/tools/skill/call-mcp-tool.d.ts +7 -0
- package/dist/chat/tools/skill/load-skill.d.ts +22 -0
- package/dist/chat/tools/skill/mcp-tool-summary.d.ts +31 -0
- package/dist/chat/tools/skill/search-mcp-tools.d.ts +8 -0
- package/dist/chat/tools/slack/canvas-tools.d.ts +29 -0
- package/dist/chat/tools/slack/canvases.d.ts +45 -0
- package/dist/chat/tools/slack/channel-list-messages.d.ts +9 -0
- package/dist/chat/tools/slack/channel-post-message.d.ts +4 -0
- package/dist/chat/tools/slack/list-tools.d.ts +21 -0
- package/dist/chat/tools/slack/lists.d.ts +42 -0
- package/dist/chat/tools/slack/message-add-reaction.d.ts +4 -0
- package/dist/chat/tools/slack/schedule-tools.d.ts +29 -0
- package/dist/chat/tools/slack/slack-message-url.d.ts +18 -0
- package/dist/chat/tools/slack/thread-read.d.ts +9 -0
- package/dist/chat/tools/slack/user-lookup.d.ts +8 -0
- package/dist/chat/tools/system-time.d.ts +1 -0
- package/dist/chat/tools/types.d.ts +61 -0
- package/dist/chat/tools/web/constants.d.ts +6 -0
- package/dist/chat/tools/web/fetch-content.d.ts +23 -0
- package/dist/chat/tools/web/fetch-tool.d.ts +5 -0
- package/dist/chat/tools/web/image-generate.d.ts +4 -0
- package/dist/chat/tools/web/network.d.ts +6 -0
- package/dist/chat/tools/web/search.d.ts +5 -0
- package/dist/chat/turn-context-tag.d.ts +6 -0
- package/dist/chat/usage.d.ts +24 -0
- package/dist/chat/xml.d.ts +1 -0
- package/dist/{chunk-XPXD3FCE.js → chunk-5LUISFEY.js} +189 -35
- package/dist/{chunk-ZNFNY53B.js → chunk-D3G3YOU4.js} +2 -2
- package/dist/chunk-SCQPBJAU.js +21 -0
- package/dist/{chunk-Q3FDONU7.js → chunk-TTUY467K.js} +47 -37
- package/dist/{chunk-KCOKQLBF.js → chunk-XI3CFWTA.js} +168 -15
- package/dist/cli/check.js +3 -3
- package/dist/cli/init.js +6 -1
- package/dist/cli/snapshot-warmup.js +3 -3
- package/dist/handlers/agent-dispatch.d.ts +3 -0
- package/dist/handlers/diagnostics-dashboard.d.ts +2 -0
- package/dist/handlers/diagnostics.d.ts +2 -0
- package/dist/handlers/health.d.ts +4 -0
- package/dist/handlers/heartbeat.d.ts +3 -0
- package/dist/handlers/mcp-oauth-callback.d.ts +2 -0
- package/dist/handlers/oauth-callback.d.ts +2 -0
- package/dist/handlers/oauth-html.d.ts +2 -0
- package/dist/handlers/sandbox-egress-proxy.d.ts +9 -0
- package/dist/handlers/turn-resume.d.ts +3 -0
- package/dist/handlers/types.d.ts +2 -0
- package/dist/handlers/webhooks.d.ts +15 -0
- package/dist/instrumentation.d.ts +1 -3
- package/dist/nitro.d.ts +4 -7
- package/dist/nitro.js +112 -54
- package/dist/package-resolution.d.ts +13 -0
- package/dist/vercel.d.ts +2 -4
- package/dist/vercel.js +3 -12
- package/package.json +32 -26
- package/dist/cli/check.d.ts +0 -8
- package/dist/cli/env.d.ts +0 -7
- package/dist/cli/init.d.ts +0 -3
- package/dist/cli/run.d.ts +0 -12
- package/dist/cli/snapshot-warmup.d.ts +0 -3
- package/dist/types-X_iCClPb.d.ts +0 -75
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { McpToolManager } from "@/chat/mcp/tool-manager";
|
|
2
|
+
import type { Skill } from "@/chat/skills";
|
|
3
|
+
/** Create the progressive MCP catalog search tool used before callMcpTool. */
|
|
4
|
+
export declare function createSearchMcpToolsTool(mcpToolManager: McpToolManager, getActiveSkills: () => Skill[]): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{
|
|
5
|
+
query: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
6
|
+
provider: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
7
|
+
max_results: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
8
|
+
}>>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ToolRuntimeContext, ToolState } from "@/chat/tools/types";
|
|
2
|
+
/** Create a tool that provisions a new Slack canvas in the active channel. */
|
|
3
|
+
export declare function createSlackCanvasCreateTool(context: ToolRuntimeContext, state: ToolState): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{
|
|
4
|
+
title: import("@sinclair/typebox").TString;
|
|
5
|
+
markdown: import("@sinclair/typebox").TString;
|
|
6
|
+
}>>;
|
|
7
|
+
/**
|
|
8
|
+
* Create a tool that reads a Slack canvas the bot has access to. Accepts
|
|
9
|
+
* either a canvas/file ID (`F...`) or a Slack canvas/docs URL and returns the
|
|
10
|
+
* canvas body downloaded via the bot's file access.
|
|
11
|
+
*/
|
|
12
|
+
export declare function createSlackCanvasReadTool(): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{
|
|
13
|
+
canvas: import("@sinclair/typebox").TString;
|
|
14
|
+
offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
15
|
+
limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
16
|
+
}>>;
|
|
17
|
+
/** Create a tool that edits a Slack canvas like a markdown file. */
|
|
18
|
+
export declare function createSlackCanvasEditTool(state: ToolState): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{
|
|
19
|
+
canvas: import("@sinclair/typebox").TString;
|
|
20
|
+
edits: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
21
|
+
oldText: import("@sinclair/typebox").TString;
|
|
22
|
+
newText: import("@sinclair/typebox").TString;
|
|
23
|
+
}>>;
|
|
24
|
+
}>>;
|
|
25
|
+
/** Create a tool that deliberately replaces a Slack canvas body. */
|
|
26
|
+
export declare function createSlackCanvasWriteTool(state: ToolState): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{
|
|
27
|
+
canvas: import("@sinclair/typebox").TString;
|
|
28
|
+
content: import("@sinclair/typebox").TString;
|
|
29
|
+
}>>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export { extractCanvasId } from "@/chat/slack/canvas-references";
|
|
2
|
+
export interface CanvasCreateInput {
|
|
3
|
+
title: string;
|
|
4
|
+
markdown: string;
|
|
5
|
+
channelId?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface CanvasReadResult {
|
|
8
|
+
canvasId: string;
|
|
9
|
+
title?: string;
|
|
10
|
+
permalink?: string;
|
|
11
|
+
mimetype?: string;
|
|
12
|
+
filetype?: string;
|
|
13
|
+
content: string;
|
|
14
|
+
byteLength: number;
|
|
15
|
+
}
|
|
16
|
+
/** Clamp headings deeper than h3 to h3 (Slack canvas limitation). */
|
|
17
|
+
export declare function normalizeCanvasMarkdown(markdown: string): {
|
|
18
|
+
markdown: string;
|
|
19
|
+
normalizedHeadingCount: number;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Create a standalone Slack canvas owned by the bot and best-effort grant write
|
|
23
|
+
* access to the active channel. Standalone canvases (`canvases.create`) are not
|
|
24
|
+
* subject to the one-per-channel limit of `conversations.canvases.create`, so
|
|
25
|
+
* the bot can produce multiple canvases in the same channel/thread.
|
|
26
|
+
*/
|
|
27
|
+
export declare function createCanvas(input: CanvasCreateInput): Promise<{
|
|
28
|
+
canvasId: string;
|
|
29
|
+
permalink?: string;
|
|
30
|
+
}>;
|
|
31
|
+
/** Replace an existing Slack canvas body with the provided markdown. */
|
|
32
|
+
export declare function writeCanvasMarkdown(input: {
|
|
33
|
+
canvasId: string;
|
|
34
|
+
markdown: string;
|
|
35
|
+
}): Promise<{
|
|
36
|
+
markdown: string;
|
|
37
|
+
normalizedHeadingCount: number;
|
|
38
|
+
}>;
|
|
39
|
+
/**
|
|
40
|
+
* Read a Slack canvas the bot has access to and return its raw downloadable
|
|
41
|
+
* content. Slack does not expose a structured canvas-read API, so we fetch
|
|
42
|
+
* file metadata via `files.info` and download the canvas body via the private
|
|
43
|
+
* file URL with the bot token.
|
|
44
|
+
*/
|
|
45
|
+
export declare function readCanvas(canvasIdOrUrl: string): Promise<CanvasReadResult>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ToolRuntimeContext } from "@/chat/tools/types";
|
|
2
|
+
export declare function createSlackChannelListMessagesTool(context: ToolRuntimeContext): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{
|
|
3
|
+
limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
4
|
+
cursor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
5
|
+
oldest: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
6
|
+
latest: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
7
|
+
inclusive: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
8
|
+
max_pages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
9
|
+
}>>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ToolRuntimeContext, ToolState } from "@/chat/tools/types";
|
|
2
|
+
export declare function createSlackChannelPostMessageTool(context: ToolRuntimeContext, state: ToolState): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{
|
|
3
|
+
text: import("@sinclair/typebox").TString;
|
|
4
|
+
}>>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ToolState } from "@/chat/tools/types";
|
|
2
|
+
/** Create a tool that provisions a new Slack todo list. */
|
|
3
|
+
export declare function createSlackListCreateTool(state: ToolState): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{
|
|
4
|
+
name: import("@sinclair/typebox").TString;
|
|
5
|
+
}>>;
|
|
6
|
+
/** Create a tool that appends items to the active Slack list. */
|
|
7
|
+
export declare function createSlackListAddItemsTool(state: ToolState): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{
|
|
8
|
+
items: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
9
|
+
assignee_user_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
10
|
+
due_date: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
11
|
+
}>>;
|
|
12
|
+
/** Create a tool that reads items from the active Slack list. */
|
|
13
|
+
export declare function createSlackListGetItemsTool(state: ToolState): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{
|
|
14
|
+
limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
15
|
+
}>>;
|
|
16
|
+
/** Create a tool that updates an item in the active Slack list. */
|
|
17
|
+
export declare function createSlackListUpdateItemTool(state: ToolState): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{
|
|
18
|
+
item_id: import("@sinclair/typebox").TString;
|
|
19
|
+
completed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
20
|
+
title: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
21
|
+
}>>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { ListColumnMap } from "@/chat/state/artifacts";
|
|
2
|
+
interface SlackListsSchemaColumnResponse {
|
|
3
|
+
id: string;
|
|
4
|
+
key: string;
|
|
5
|
+
name: string;
|
|
6
|
+
type: string;
|
|
7
|
+
is_primary_column?: boolean;
|
|
8
|
+
}
|
|
9
|
+
interface SlackListsItem {
|
|
10
|
+
id: string;
|
|
11
|
+
fields: unknown[];
|
|
12
|
+
}
|
|
13
|
+
/** Infer well-known column roles (title, completed, assignee, due date) from a list schema. */
|
|
14
|
+
export declare function inferListColumnMap(schema?: SlackListsSchemaColumnResponse[]): ListColumnMap;
|
|
15
|
+
/** Create a new Slack todo list with the default schema. */
|
|
16
|
+
export declare function createTodoList(name: string): Promise<{
|
|
17
|
+
listId: string;
|
|
18
|
+
listColumnMap: ListColumnMap;
|
|
19
|
+
permalink?: string;
|
|
20
|
+
}>;
|
|
21
|
+
/** Add one or more items to an existing Slack list. */
|
|
22
|
+
export declare function addListItems(input: {
|
|
23
|
+
listId: string;
|
|
24
|
+
titles: string[];
|
|
25
|
+
listColumnMap?: ListColumnMap;
|
|
26
|
+
assigneeUserId?: string;
|
|
27
|
+
dueDate?: string;
|
|
28
|
+
}): Promise<{
|
|
29
|
+
createdItemIds: string[];
|
|
30
|
+
listColumnMap?: ListColumnMap;
|
|
31
|
+
}>;
|
|
32
|
+
/** Fetch items from a Slack list, paginating up to `limit`. */
|
|
33
|
+
export declare function listItems(listId: string, limit?: number): Promise<SlackListsItem[]>;
|
|
34
|
+
/** Update fields (title, completed) on an existing Slack list item. */
|
|
35
|
+
export declare function updateListItem(input: {
|
|
36
|
+
listId: string;
|
|
37
|
+
itemId: string;
|
|
38
|
+
listColumnMap: ListColumnMap;
|
|
39
|
+
completed?: boolean;
|
|
40
|
+
title?: string;
|
|
41
|
+
}): Promise<void>;
|
|
42
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ToolRuntimeContext, ToolState } from "@/chat/tools/types";
|
|
2
|
+
export declare function createSlackMessageAddReactionTool(context: ToolRuntimeContext, state: ToolState): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{
|
|
3
|
+
emoji: import("@sinclair/typebox").TString;
|
|
4
|
+
}>>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ToolRuntimeContext } from "@/chat/tools/types";
|
|
2
|
+
/** Create a tool that stores a scheduled task for the active Slack context. */
|
|
3
|
+
export declare function createSlackScheduleCreateTaskTool(context: ToolRuntimeContext): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{
|
|
4
|
+
task: import("@sinclair/typebox").TString;
|
|
5
|
+
schedule: import("@sinclair/typebox").TString;
|
|
6
|
+
timezone: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
7
|
+
next_run_at: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
8
|
+
recurrence: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"daily">, import("@sinclair/typebox").TLiteral<"weekly">, import("@sinclair/typebox").TLiteral<"monthly">, import("@sinclair/typebox").TLiteral<"yearly">]>>;
|
|
9
|
+
}>>;
|
|
10
|
+
/** Create a tool that lists scheduled tasks for the active Slack destination. */
|
|
11
|
+
export declare function createSlackScheduleListTasksTool(context: ToolRuntimeContext): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{}>>;
|
|
12
|
+
/** Create a tool that edits a scheduled task in the active Slack destination. */
|
|
13
|
+
export declare function createSlackScheduleUpdateTaskTool(context: ToolRuntimeContext): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{
|
|
14
|
+
task_id: import("@sinclair/typebox").TString;
|
|
15
|
+
task: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
16
|
+
schedule: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
17
|
+
timezone: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
18
|
+
next_run_at: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
19
|
+
recurrence: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"daily">, import("@sinclair/typebox").TLiteral<"weekly">, import("@sinclair/typebox").TLiteral<"monthly">, import("@sinclair/typebox").TLiteral<"yearly">]>, import("@sinclair/typebox").TNull]>>;
|
|
20
|
+
status: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"active">, import("@sinclair/typebox").TLiteral<"paused">, import("@sinclair/typebox").TLiteral<"blocked">]>>;
|
|
21
|
+
}>>;
|
|
22
|
+
/** Create a tool that removes a scheduled task from the active Slack destination. */
|
|
23
|
+
export declare function createSlackScheduleDeleteTaskTool(context: ToolRuntimeContext): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{
|
|
24
|
+
task_id: import("@sinclair/typebox").TString;
|
|
25
|
+
}>>;
|
|
26
|
+
/** Create a tool that marks an existing scheduled task due immediately. */
|
|
27
|
+
export declare function createSlackScheduleRunTaskNowTool(context: ToolRuntimeContext): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{
|
|
28
|
+
task_id: import("@sinclair/typebox").TString;
|
|
29
|
+
}>>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** Parse Slack archive URLs into structured message references. */
|
|
2
|
+
export interface SlackMessageReference {
|
|
3
|
+
channelId: string;
|
|
4
|
+
messageTs: string;
|
|
5
|
+
threadTs?: string;
|
|
6
|
+
}
|
|
7
|
+
type ParseResult = {
|
|
8
|
+
ok: true;
|
|
9
|
+
reference: SlackMessageReference;
|
|
10
|
+
} | {
|
|
11
|
+
ok: false;
|
|
12
|
+
error: string;
|
|
13
|
+
};
|
|
14
|
+
/** Slack message timestamp format: 10 digits, dot, 6 digits. */
|
|
15
|
+
export declare const SLACK_TS_PATTERN: RegExp;
|
|
16
|
+
/** Parse a Slack archive URL (or mrkdwn-wrapped URL) into a message reference. */
|
|
17
|
+
export declare function parseSlackMessageReference(input: string): ParseResult;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ToolRuntimeContext } from "@/chat/tools/types";
|
|
2
|
+
/** Create a tool that reads a Slack thread from a shared message URL or explicit coordinates. */
|
|
3
|
+
export declare function createSlackThreadReadTool(context: ToolRuntimeContext): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{
|
|
4
|
+
url: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
5
|
+
channel_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
6
|
+
ts: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
7
|
+
limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
8
|
+
max_pages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
9
|
+
}>>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function createSlackUserLookupTool(): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{
|
|
2
|
+
user_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
3
|
+
email: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
4
|
+
query: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
5
|
+
limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
6
|
+
max_pages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
7
|
+
include_bots: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
8
|
+
}>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function createSystemTimeTool(): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{}>>;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { FileUpload } from "chat";
|
|
2
|
+
import type { McpToolManager } from "@/chat/mcp/tool-manager";
|
|
3
|
+
import type { SandboxWorkspace } from "@/chat/sandbox/workspace";
|
|
4
|
+
import type { ThreadArtifactsState } from "@/chat/state/artifacts";
|
|
5
|
+
import type { Skill } from "@/chat/skills";
|
|
6
|
+
import type { LoadSkillMetadata } from "@/chat/tools/skill/load-skill";
|
|
7
|
+
import type { ChannelCapabilities } from "@/chat/tools/channel-capabilities";
|
|
8
|
+
import type { AdvisorToolRuntimeContext } from "@/chat/tools/advisor/tool";
|
|
9
|
+
export interface ImageGenerateToolDeps {
|
|
10
|
+
fetch?: typeof fetch;
|
|
11
|
+
}
|
|
12
|
+
export interface WebFetchToolDeps {
|
|
13
|
+
execute?: (input: {
|
|
14
|
+
url: string;
|
|
15
|
+
max_chars?: number;
|
|
16
|
+
}) => Promise<unknown> | unknown;
|
|
17
|
+
}
|
|
18
|
+
export interface WebSearchToolDeps {
|
|
19
|
+
execute?: (input: {
|
|
20
|
+
query: string;
|
|
21
|
+
max_results?: number;
|
|
22
|
+
}) => Promise<unknown> | unknown;
|
|
23
|
+
}
|
|
24
|
+
export interface ToolHooks {
|
|
25
|
+
getGeneratedFile?: (filename: string) => FileUpload | undefined;
|
|
26
|
+
onGeneratedArtifactFiles?: (files: FileUpload[]) => void;
|
|
27
|
+
onGeneratedFiles?: (files: FileUpload[]) => void;
|
|
28
|
+
onArtifactStatePatch?: (patch: Partial<ThreadArtifactsState>) => void | Promise<void>;
|
|
29
|
+
onSkillLoaded?: (skill: Skill) => void | LoadSkillMetadata | Promise<void | LoadSkillMetadata>;
|
|
30
|
+
toolOverrides?: {
|
|
31
|
+
imageGenerate?: ImageGenerateToolDeps;
|
|
32
|
+
webFetch?: WebFetchToolDeps;
|
|
33
|
+
webSearch?: WebSearchToolDeps;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export interface ToolRuntimeContext {
|
|
37
|
+
advisor?: AdvisorToolRuntimeContext;
|
|
38
|
+
channelId?: string;
|
|
39
|
+
channelCapabilities: ChannelCapabilities;
|
|
40
|
+
requester?: {
|
|
41
|
+
userId?: string;
|
|
42
|
+
userName?: string;
|
|
43
|
+
fullName?: string;
|
|
44
|
+
};
|
|
45
|
+
teamId?: string;
|
|
46
|
+
messageTs?: string;
|
|
47
|
+
threadTs?: string;
|
|
48
|
+
userText?: string;
|
|
49
|
+
artifactState?: ThreadArtifactsState;
|
|
50
|
+
configuration?: Record<string, unknown>;
|
|
51
|
+
getActiveSkills?: () => Skill[];
|
|
52
|
+
mcpToolManager?: McpToolManager;
|
|
53
|
+
sandbox: SandboxWorkspace;
|
|
54
|
+
}
|
|
55
|
+
export interface ToolState {
|
|
56
|
+
artifactState: ThreadArtifactsState;
|
|
57
|
+
patchArtifactState: (patch: Partial<ThreadArtifactsState>) => void | Promise<void>;
|
|
58
|
+
getCurrentListId: () => string | undefined;
|
|
59
|
+
getOperationResult: <T>(operationKey: string) => T | undefined;
|
|
60
|
+
setOperationResult: (operationKey: string, result: unknown) => void;
|
|
61
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const USER_AGENT = "junior-bot/0.1";
|
|
2
|
+
export declare const FETCH_TIMEOUT_MS = 8000;
|
|
3
|
+
export declare const MAX_REDIRECTS = 3;
|
|
4
|
+
export declare const DEFAULT_MAX_CHARS = 6000;
|
|
5
|
+
export declare const MAX_FETCH_CHARS = 12000;
|
|
6
|
+
export declare const MAX_FETCH_BYTES = 1000000;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { MAX_FETCH_CHARS } from "@/chat/tools/web/constants";
|
|
2
|
+
export { MAX_FETCH_CHARS };
|
|
3
|
+
export interface WebFetchResponseContent {
|
|
4
|
+
content: string;
|
|
5
|
+
title?: string;
|
|
6
|
+
truncated: boolean;
|
|
7
|
+
extractedChars: number;
|
|
8
|
+
}
|
|
9
|
+
export interface WebFetchResponse {
|
|
10
|
+
url: string;
|
|
11
|
+
content: string;
|
|
12
|
+
title?: string;
|
|
13
|
+
content_type: string;
|
|
14
|
+
source_bytes: number;
|
|
15
|
+
extracted_chars: number;
|
|
16
|
+
truncated: boolean;
|
|
17
|
+
}
|
|
18
|
+
/** Extract readable content and metadata from a fetched response body. */
|
|
19
|
+
export declare function extractContentDetails(body: string, contentType: string, maxChars: number): WebFetchResponseContent;
|
|
20
|
+
/** Extract readable content from a fetched response body, converting HTML to markdown. */
|
|
21
|
+
export declare function extractContent(body: string, contentType: string, maxChars: number): string;
|
|
22
|
+
/** Extract text content from a web fetch response, validating content type and size. */
|
|
23
|
+
export declare function extractWebFetchResponse(url: URL, response: Response, maxChars?: number): Promise<WebFetchResponse>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ToolHooks } from "@/chat/tools/types";
|
|
2
|
+
export declare function createWebFetchTool(hooks: ToolHooks): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{
|
|
3
|
+
url: import("@sinclair/typebox").TString;
|
|
4
|
+
max_chars: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
5
|
+
}>>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ImageGenerateToolDeps, ToolHooks } from "@/chat/tools/types";
|
|
2
|
+
export declare function createImageGenerateTool(hooks: ToolHooks, deps?: ImageGenerateToolDeps): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{
|
|
3
|
+
prompt: import("@sinclair/typebox").TString;
|
|
4
|
+
}>>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function assertPublicUrl(rawUrl: string): Promise<URL>;
|
|
2
|
+
export declare function withTimeout<T>(task: Promise<T>, timeoutMs: number, label: string, options?: {
|
|
3
|
+
onTimeout?: () => void;
|
|
4
|
+
}): Promise<T>;
|
|
5
|
+
export declare function fetchTextWithRedirects(url: URL, redirectsLeft: number): Promise<Response>;
|
|
6
|
+
export declare function readResponseBody(response: Response, maxBytes: number): Promise<string>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { WebSearchToolDeps } from "@/chat/tools/types";
|
|
2
|
+
export declare function createWebSearchTool(override?: WebSearchToolDeps): import("@/chat/tools/definition").ToolDefinition<import("@sinclair/typebox").TObject<{
|
|
3
|
+
query: import("@sinclair/typebox").TString;
|
|
4
|
+
max_results: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
|
|
5
|
+
}>>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical tag name for the runtime turn context block injected into Pi
|
|
3
|
+
* messages. Shared between prompt assembly and turn context stripping to keep
|
|
4
|
+
* both in sync without requiring the full prompt module.
|
|
5
|
+
*/
|
|
6
|
+
export declare const TURN_CONTEXT_TAG = "runtime-turn-context";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structured token usage captured for a single agent turn.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors the fields pi-ai emits on `AssistantMessage.usage` (see
|
|
5
|
+
* `@earendil-works/pi-ai` `Usage`) so diagnostics carry every counter the
|
|
6
|
+
* provider normalizes into the pi-ai shape as its own item. Renderers decide
|
|
7
|
+
* whether to display a breakdown or a single aggregate.
|
|
8
|
+
*/
|
|
9
|
+
export interface AgentTurnUsage {
|
|
10
|
+
/** Non-cached input tokens; OTel `gen_ai.usage.input_tokens` adds cache counters back in. */
|
|
11
|
+
inputTokens?: number;
|
|
12
|
+
/** Output tokens; pi-ai folds reasoning tokens into this for providers that report them. */
|
|
13
|
+
outputTokens?: number;
|
|
14
|
+
/** Cached input tokens read from the provider's prompt cache. */
|
|
15
|
+
cachedInputTokens?: number;
|
|
16
|
+
/** Input tokens written into the provider's prompt cache. */
|
|
17
|
+
cacheCreationTokens?: number;
|
|
18
|
+
/** Provider-reported total. May not equal the sum of individual counters across providers. */
|
|
19
|
+
totalTokens?: number;
|
|
20
|
+
}
|
|
21
|
+
/** Return whether any token counter is present on a usage record. */
|
|
22
|
+
export declare function hasAgentTurnUsage(usage: AgentTurnUsage | undefined): usage is AgentTurnUsage;
|
|
23
|
+
/** Aggregate token usage across slices without double-counting provider totals. */
|
|
24
|
+
export declare function addAgentTurnUsage(...usages: Array<AgentTurnUsage | undefined>): AgentTurnUsage | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function escapeXml(value: string): string;
|