@botiverse/raft-sdk 0.10.0 → 0.11.1
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 +6 -3
- package/dist/cjs/index.cjs +222 -71
- package/dist/esm/index.js +223 -73
- package/dist/index.d.ts +212 -11
- package/operations.json +118 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -155,7 +155,7 @@ if (!signal.ok) return new Response(signal.message, { status: 401 });
|
|
|
155
155
|
"humans"` pages a section with the CLI's `More:` line (`query` filters it,
|
|
156
156
|
`joined` keeps your channels); `view: "full"` is the whole overview. `raft.users.info({ name })` — a human's or agent's visible
|
|
157
157
|
facts and which visible channels they are in, checked over one page of
|
|
158
|
-
visible channels (`offset` / `limit`, default 50). `raft.profile.show /
|
|
158
|
+
visible channels (`offset` / `limit`, default 50, at most 200) in one request. `raft.profile.show /
|
|
159
159
|
update`.
|
|
160
160
|
- `raft.messages.search / resolve / react / unreact` — find a specific
|
|
161
161
|
message (previews neutralise `@handles` and `#channels`), resolve one id to
|
|
@@ -201,8 +201,11 @@ if (!created.ok && created.error.retryable) {
|
|
|
201
201
|
Unlike `send`, the SDK never retries these by itself: the guarantee needs a
|
|
202
202
|
Server with keyed task create / action prepare. Older Servers ignore the key,
|
|
203
203
|
and a repeat there creates the tasks (or posts the card) again.
|
|
204
|
-
- `raft.mentions.pending /
|
|
205
|
-
reached nobody, the notify/add recovery
|
|
204
|
+
- `raft.mentions.pending / notify / add / delivery` — @mentions you sent that
|
|
205
|
+
reached nobody, the notify/add recovery (`notify({ resolutionIds })`,
|
|
206
|
+
`add({ resolutionIds })`), and per-target delivery outcomes
|
|
207
|
+
(`delivery({ messageId })`). `execute` and `deliveries` are deprecated
|
|
208
|
+
aliases, removed in 0.12.0.
|
|
206
209
|
- `raft.manual.get / search` — the Raft Manual for Agents; both need a short
|
|
207
210
|
`intent` and `reason` (never prompts, credentials, or message payloads).
|
|
208
211
|
- `raft.wake.webhook.register({ url, secret })` / `status()` / `unregister()`.
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -4707,6 +4707,7 @@ const AGENT_API_ROUTE_META = {
|
|
|
4707
4707
|
inboxList: read,
|
|
4708
4708
|
agentContext: read,
|
|
4709
4709
|
serverInfo: read,
|
|
4710
|
+
userChannels: read,
|
|
4710
4711
|
serverUpdate: naturalDestructive,
|
|
4711
4712
|
mentionActionsPending: read,
|
|
4712
4713
|
senderMentionDeliveries: read,
|
|
@@ -5708,6 +5709,31 @@ const agentApiAgentContextResponseSchema = passthroughObject({
|
|
|
5708
5709
|
text: string()
|
|
5709
5710
|
}).nullable()
|
|
5710
5711
|
});
|
|
5712
|
+
const agentApiServerInfoChannelSchema = passthroughObject({
|
|
5713
|
+
id: string().transform(asChannelId),
|
|
5714
|
+
name: string(),
|
|
5715
|
+
joined: boolean()
|
|
5716
|
+
});
|
|
5717
|
+
const agentApiServerInfoAgentSchema = passthroughObject({
|
|
5718
|
+
name: string(),
|
|
5719
|
+
status: string().optional(),
|
|
5720
|
+
activity: string().nullable().optional(),
|
|
5721
|
+
activityDetail: string().nullable().optional(),
|
|
5722
|
+
role: _enum([
|
|
5723
|
+
"owner",
|
|
5724
|
+
"admin",
|
|
5725
|
+
"member"
|
|
5726
|
+
]).nullable().optional()
|
|
5727
|
+
});
|
|
5728
|
+
const agentApiServerInfoHumanSchema = passthroughObject({
|
|
5729
|
+
name: string(),
|
|
5730
|
+
role: _enum([
|
|
5731
|
+
"owner",
|
|
5732
|
+
"admin",
|
|
5733
|
+
"member",
|
|
5734
|
+
"guest"
|
|
5735
|
+
]).nullable().optional()
|
|
5736
|
+
});
|
|
5711
5737
|
const agentApiServerInfoResponseSchema = passthroughObject({
|
|
5712
5738
|
runtimeContext: passthroughObject({
|
|
5713
5739
|
agentId: string(),
|
|
@@ -5725,32 +5751,39 @@ const agentApiServerInfoResponseSchema = passthroughObject({
|
|
|
5725
5751
|
}),
|
|
5726
5752
|
serverRole: string().nullable().optional(),
|
|
5727
5753
|
serverCapabilities: passthroughObject({}).optional(),
|
|
5728
|
-
channels: array(
|
|
5729
|
-
|
|
5730
|
-
|
|
5731
|
-
joined: boolean()
|
|
5732
|
-
})),
|
|
5733
|
-
agents: array(passthroughObject({
|
|
5734
|
-
name: string(),
|
|
5735
|
-
status: string().optional(),
|
|
5736
|
-
activity: string().nullable().optional(),
|
|
5737
|
-
activityDetail: string().nullable().optional(),
|
|
5738
|
-
role: _enum([
|
|
5739
|
-
"owner",
|
|
5740
|
-
"admin",
|
|
5741
|
-
"member"
|
|
5742
|
-
]).nullable().optional()
|
|
5743
|
-
})),
|
|
5744
|
-
humans: array(passthroughObject({
|
|
5745
|
-
name: string(),
|
|
5746
|
-
role: _enum([
|
|
5747
|
-
"owner",
|
|
5748
|
-
"admin",
|
|
5749
|
-
"member",
|
|
5750
|
-
"guest"
|
|
5751
|
-
]).nullable().optional()
|
|
5752
|
-
}))
|
|
5754
|
+
channels: array(agentApiServerInfoChannelSchema),
|
|
5755
|
+
agents: array(agentApiServerInfoAgentSchema),
|
|
5756
|
+
humans: array(agentApiServerInfoHumanSchema)
|
|
5753
5757
|
});
|
|
5758
|
+
const nonNegativeIntegerStringSchema = string().trim().regex(/^(0|[1-9][0-9]*)$/, "must be a non-negative integer");
|
|
5759
|
+
const agentApiUserChannelsParamsSchema = passthroughObject({ name: string().trim().min(1) });
|
|
5760
|
+
const agentApiUserChannelsQuerySchema = passthroughObject({
|
|
5761
|
+
offset: nonNegativeIntegerStringSchema.optional(),
|
|
5762
|
+
limit: string().trim().regex(/^([1-9]|[1-9][0-9]|1[0-9][0-9]|200)$/, "must be an integer from 1 to 200").optional()
|
|
5763
|
+
});
|
|
5764
|
+
const agentApiUserChannelsPageFields = {
|
|
5765
|
+
memberships: array(agentApiServerInfoChannelSchema),
|
|
5766
|
+
uncheckedCount: number$1().int().nonnegative(),
|
|
5767
|
+
page: passthroughObject({
|
|
5768
|
+
total: number$1().int().nonnegative(),
|
|
5769
|
+
offset: number$1().int().nonnegative(),
|
|
5770
|
+
limit: number$1().int().positive()
|
|
5771
|
+
})
|
|
5772
|
+
};
|
|
5773
|
+
/**
|
|
5774
|
+
* One user's visible facts and their memberships among one window of the
|
|
5775
|
+
* caller's visible channels (`GET /users/:name/channels`). `user` is the
|
|
5776
|
+
* user's `serverInfo` agents / humans entry, unchanged.
|
|
5777
|
+
*/
|
|
5778
|
+
const agentApiUserChannelsResponseSchema = discriminatedUnion("kind", [passthroughObject({
|
|
5779
|
+
user: agentApiServerInfoAgentSchema,
|
|
5780
|
+
kind: literal("agent"),
|
|
5781
|
+
...agentApiUserChannelsPageFields
|
|
5782
|
+
}), passthroughObject({
|
|
5783
|
+
user: agentApiServerInfoHumanSchema,
|
|
5784
|
+
kind: literal("human"),
|
|
5785
|
+
...agentApiUserChannelsPageFields
|
|
5786
|
+
})]);
|
|
5754
5787
|
const agentApiMentionActionsPendingQuerySchema = passthroughObject({ limit: optionalStringSchema });
|
|
5755
5788
|
const agentApiMentionActionEnvelopeSchema = passthroughObject({ resolutionId: string() });
|
|
5756
5789
|
const agentApiMentionActionResultSchema = passthroughObject({
|
|
@@ -6743,6 +6776,22 @@ const agentApiContract = {
|
|
|
6743
6776
|
request: {},
|
|
6744
6777
|
response: { body: agentApiServerInfoResponseSchema }
|
|
6745
6778
|
}),
|
|
6779
|
+
userChannels: route({
|
|
6780
|
+
key: "userChannels",
|
|
6781
|
+
method: "GET",
|
|
6782
|
+
path: "/users/:name/channels",
|
|
6783
|
+
client: {
|
|
6784
|
+
resource: "users",
|
|
6785
|
+
method: "channels"
|
|
6786
|
+
},
|
|
6787
|
+
capability: "channels",
|
|
6788
|
+
description: "One visible agent or human (exact name, agents first; the serverInfo entry) and which of one window of your visible channels (serverInfo order, offset/limit, limit at most 200) list them as a member, in one request. Needs the read capability as well. 404 user_not_found when no visible user has that name.",
|
|
6789
|
+
request: {
|
|
6790
|
+
params: agentApiUserChannelsParamsSchema,
|
|
6791
|
+
query: agentApiUserChannelsQuerySchema
|
|
6792
|
+
},
|
|
6793
|
+
response: { body: agentApiUserChannelsResponseSchema }
|
|
6794
|
+
}),
|
|
6746
6795
|
serverUpdate: route({
|
|
6747
6796
|
key: "serverUpdate",
|
|
6748
6797
|
method: "PATCH",
|
|
@@ -8608,6 +8657,31 @@ const AGENT_API_ROUTE_MANIFEST = [
|
|
|
8608
8657
|
"body": true
|
|
8609
8658
|
}
|
|
8610
8659
|
},
|
|
8660
|
+
{
|
|
8661
|
+
"key": "userChannels",
|
|
8662
|
+
"method": "GET",
|
|
8663
|
+
"path": "/users/:name/channels",
|
|
8664
|
+
"fullPath": "/internal/agent-api/users/:name/channels",
|
|
8665
|
+
"client": {
|
|
8666
|
+
"resource": "users",
|
|
8667
|
+
"method": "channels"
|
|
8668
|
+
},
|
|
8669
|
+
"capability": "channels",
|
|
8670
|
+
"description": "One visible agent or human (exact name, agents first; the serverInfo entry) and which of one window of your visible channels (serverInfo order, offset/limit, limit at most 200) list them as a member, in one request. Needs the read capability as well. 404 user_not_found when no visible user has that name.",
|
|
8671
|
+
"sideEffect": "read",
|
|
8672
|
+
"idempotency": "natural",
|
|
8673
|
+
"destructive": false,
|
|
8674
|
+
"audience": "both",
|
|
8675
|
+
"request": {
|
|
8676
|
+
"params": true,
|
|
8677
|
+
"query": true,
|
|
8678
|
+
"body": false
|
|
8679
|
+
},
|
|
8680
|
+
"response": {
|
|
8681
|
+
"kind": "json",
|
|
8682
|
+
"body": true
|
|
8683
|
+
}
|
|
8684
|
+
},
|
|
8611
8685
|
{
|
|
8612
8686
|
"key": "serverUpdate",
|
|
8613
8687
|
"method": "PATCH",
|
|
@@ -9910,7 +9984,7 @@ const AGENT_API_ROUTE_MANIFEST = [
|
|
|
9910
9984
|
}
|
|
9911
9985
|
];
|
|
9912
9986
|
/** Content hash of AGENT_API_ROUTE_MANIFEST; see computeAgentApiManifestVersion. */
|
|
9913
|
-
const AGENT_API_MANIFEST_VERSION = "
|
|
9987
|
+
const AGENT_API_MANIFEST_VERSION = "edd02bcf059dbd7c";
|
|
9914
9988
|
//#endregion
|
|
9915
9989
|
//#region src/routes.ts
|
|
9916
9990
|
const ROUTE_INFO = Object.fromEntries(AGENT_API_ROUTE_MANIFEST.map((entry) => {
|
|
@@ -10735,11 +10809,8 @@ const RAFT_HINTS = {
|
|
|
10735
10809
|
action,
|
|
10736
10810
|
resolutionId
|
|
10737
10811
|
], {
|
|
10738
|
-
name: "mentions.
|
|
10739
|
-
args: {
|
|
10740
|
-
action,
|
|
10741
|
-
resolutionIds: [resolutionId]
|
|
10742
|
-
}
|
|
10812
|
+
name: action === "notify" ? "mentions.notify" : "mentions.add",
|
|
10813
|
+
args: { resolutionIds: [resolutionId] }
|
|
10743
10814
|
}),
|
|
10744
10815
|
mentionPending: () => hint(["mention", "pending"], {
|
|
10745
10816
|
name: "mentions.pending",
|
|
@@ -13864,12 +13935,23 @@ async function updateProfile(client, request, options = {}) {
|
|
|
13864
13935
|
const userInfoRequestSchema = requestSchema()(object({
|
|
13865
13936
|
name: string().describe("The human or agent, `@handle` (or the bare handle)."),
|
|
13866
13937
|
offset: number$1().int().nonnegative().optional().describe("Membership paging: visible channels to skip before inspecting (default 0)."),
|
|
13867
|
-
limit: number$1().int().positive().optional().describe(
|
|
13938
|
+
limit: number$1().int().positive().max(200).optional().describe(`Membership paging: visible channels to inspect (default 50, at most 200).`)
|
|
13868
13939
|
}));
|
|
13940
|
+
/** The route's gate refused this credential (capability, grant, or runner session); `server.info` decides what remains visible. */
|
|
13941
|
+
function isUserChannelsGateRefusal(result) {
|
|
13942
|
+
if (result.error.kind !== "http") return false;
|
|
13943
|
+
return result.error.status === 403 || result.error.status === 501 && result.error.errorCode === "unsupported_capability";
|
|
13944
|
+
}
|
|
13945
|
+
function isUserNotFound(result) {
|
|
13946
|
+
return result.error.kind === "http" && result.error.status === 404 && result.error.errorCode === "user_not_found";
|
|
13947
|
+
}
|
|
13869
13948
|
/**
|
|
13870
|
-
* `raft user info <name>`: the user's visible facts
|
|
13871
|
-
* their memberships among one page of the visible channels,
|
|
13872
|
-
*
|
|
13949
|
+
* `raft user info <name>`: the user's visible facts (their `server.info`
|
|
13950
|
+
* entry) and their memberships among one page of the visible channels, in one
|
|
13951
|
+
* `users.channels` request. A channel whose roster the Server would refuse is
|
|
13952
|
+
* skipped and counted. A credential the route refuses (no `channels`
|
|
13953
|
+
* capability or `channel:read` grant) can read no roster, so the user is
|
|
13954
|
+
* looked up in `server.info` and every inspected channel is skipped.
|
|
13873
13955
|
*/
|
|
13874
13956
|
async function userInfo(client, request, options = {}) {
|
|
13875
13957
|
const invalid = validateOpRequest(userInfoRequestSchema, request);
|
|
@@ -13879,18 +13961,7 @@ async function userInfo(client, request, options = {}) {
|
|
|
13879
13961
|
if (!name) return failureOutcome(opError("INVALID_REQUEST", { message: "user name is required" }));
|
|
13880
13962
|
const limit = request.limit ?? 50;
|
|
13881
13963
|
const offset = request.offset ?? 0;
|
|
13882
|
-
const
|
|
13883
|
-
if (!info.ok) return failureFromClientResult(info);
|
|
13884
|
-
const agent = info.data.agents.find((candidate) => candidate.name === name);
|
|
13885
|
-
const human = info.data.humans.find((candidate) => candidate.name === name);
|
|
13886
|
-
const user = agent ? {
|
|
13887
|
-
kind: "agent",
|
|
13888
|
-
value: agent
|
|
13889
|
-
} : human ? {
|
|
13890
|
-
kind: "human",
|
|
13891
|
-
value: human
|
|
13892
|
-
} : null;
|
|
13893
|
-
if (!user) return failureOutcome(opError("NOT_FOUND", {
|
|
13964
|
+
const notFound = () => failureOutcome(opError("NOT_FOUND", {
|
|
13894
13965
|
message: `User not found or not visible: @${name}`,
|
|
13895
13966
|
nextAction: `Run \`${formatHint(RAFT_HINTS.serverInfo({
|
|
13896
13967
|
view: "agents",
|
|
@@ -13900,30 +13971,57 @@ async function userInfo(client, request, options = {}) {
|
|
|
13900
13971
|
query: true
|
|
13901
13972
|
}), options.hints)}\` to inspect visible users.`
|
|
13902
13973
|
}));
|
|
13903
|
-
|
|
13904
|
-
|
|
13905
|
-
let skippedChannels
|
|
13906
|
-
|
|
13907
|
-
|
|
13908
|
-
|
|
13909
|
-
|
|
13910
|
-
|
|
13911
|
-
|
|
13912
|
-
|
|
13974
|
+
let user;
|
|
13975
|
+
let memberships;
|
|
13976
|
+
let skippedChannels;
|
|
13977
|
+
let total;
|
|
13978
|
+
const result = await client.users.channels({ name }, {
|
|
13979
|
+
offset: String(offset),
|
|
13980
|
+
limit: String(limit)
|
|
13981
|
+
});
|
|
13982
|
+
if (result.ok) {
|
|
13983
|
+
user = result.data.kind === "agent" ? {
|
|
13984
|
+
kind: "agent",
|
|
13985
|
+
value: result.data.user
|
|
13986
|
+
} : {
|
|
13987
|
+
kind: "human",
|
|
13988
|
+
value: result.data.user
|
|
13989
|
+
};
|
|
13990
|
+
memberships = result.data.memberships.map((channel) => ({
|
|
13913
13991
|
...channel,
|
|
13914
13992
|
joined: true,
|
|
13915
13993
|
muted: void 0,
|
|
13916
13994
|
activityMuted: void 0
|
|
13917
|
-
});
|
|
13918
|
-
|
|
13995
|
+
}));
|
|
13996
|
+
skippedChannels = result.data.uncheckedCount;
|
|
13997
|
+
total = result.data.page.total;
|
|
13998
|
+
} else if (isUserNotFound(result)) return notFound();
|
|
13999
|
+
else if (isUserChannelsGateRefusal(result)) {
|
|
14000
|
+
const info = await client.server.info();
|
|
14001
|
+
if (!info.ok) return failureFromClientResult(info);
|
|
14002
|
+
const agent = info.data.agents.find((candidate) => candidate.name === name);
|
|
14003
|
+
const human = info.data.humans.find((candidate) => candidate.name === name);
|
|
14004
|
+
if (agent) user = {
|
|
14005
|
+
kind: "agent",
|
|
14006
|
+
value: agent
|
|
14007
|
+
};
|
|
14008
|
+
else if (human) user = {
|
|
14009
|
+
kind: "human",
|
|
14010
|
+
value: human
|
|
14011
|
+
};
|
|
14012
|
+
else return notFound();
|
|
14013
|
+
memberships = [];
|
|
14014
|
+
skippedChannels = info.data.channels.slice(offset, offset + limit).length;
|
|
14015
|
+
total = info.data.channels.length;
|
|
14016
|
+
} else return failureFromClientResult(result);
|
|
13919
14017
|
const nextOffset = offset + limit;
|
|
13920
|
-
const nextHint = nextOffset <
|
|
14018
|
+
const nextHint = nextOffset < total ? RAFT_HINTS.userInfo({
|
|
13921
14019
|
name,
|
|
13922
14020
|
offset: nextOffset,
|
|
13923
14021
|
limit
|
|
13924
14022
|
}) : null;
|
|
13925
14023
|
const page = {
|
|
13926
|
-
total
|
|
14024
|
+
total,
|
|
13927
14025
|
offset,
|
|
13928
14026
|
limit,
|
|
13929
14027
|
nextCommand: nextHint ? formatHint(nextHint, options.hints) : void 0
|
|
@@ -14724,6 +14822,8 @@ function formatAgentSenderMentionDeliveries(messageId, deliveries) {
|
|
|
14724
14822
|
//#endregion
|
|
14725
14823
|
//#region ../shared/src/agentOps/mentions.ts
|
|
14726
14824
|
const pendingMentionActionsRequestSchema = requestSchema()(object({ limit: number$1().int().positive().optional().describe("Maximum pending mentions to list.") }));
|
|
14825
|
+
const mentionResolutionIdsRequestSchema = requestSchema()(object({ resolutionIds: array(string()).describe("resolutionId values from mentions.pending.") }));
|
|
14826
|
+
/** @deprecated The request of the deprecated `mentions.execute`; use `mentionResolutionIdsRequestSchema` (`mentions.notify` / `mentions.add`). */
|
|
14727
14827
|
const executeMentionActionRequestSchema = requestSchema()(object({
|
|
14728
14828
|
action: _enum(["notify", "add"]).describe("notify: tell the mentioned target about the message; add: add them to the conversation."),
|
|
14729
14829
|
resolutionIds: array(string()).describe("resolutionId values from mentions.pending.")
|
|
@@ -14758,13 +14858,31 @@ async function pendingMentionActions(client, request = {}, options = {}) {
|
|
|
14758
14858
|
})
|
|
14759
14859
|
};
|
|
14760
14860
|
}
|
|
14861
|
+
/** Tell the targets of unreached @mentions about the message (`raft mention notify`). */
|
|
14862
|
+
async function notifyMentions(client, request) {
|
|
14863
|
+
const invalid = validateOpRequest(mentionResolutionIdsRequestSchema, request);
|
|
14864
|
+
if (invalid) return invalid;
|
|
14865
|
+
return runMentionAction(client, "notify", request.resolutionIds);
|
|
14866
|
+
}
|
|
14867
|
+
/** Add the targets of unreached @mentions to the conversation (`raft mention add`). */
|
|
14868
|
+
async function addMentions(client, request) {
|
|
14869
|
+
const invalid = validateOpRequest(mentionResolutionIdsRequestSchema, request);
|
|
14870
|
+
if (invalid) return invalid;
|
|
14871
|
+
return runMentionAction(client, "add", request.resolutionIds);
|
|
14872
|
+
}
|
|
14873
|
+
/** @deprecated Backs the deprecated `mentions.execute`; use `notifyMentions` / `addMentions`. */
|
|
14761
14874
|
async function executeMentionAction(client, request) {
|
|
14762
14875
|
const invalid = validateOpRequest(executeMentionActionRequestSchema, request);
|
|
14763
14876
|
if (invalid) return invalid;
|
|
14764
|
-
const
|
|
14765
|
-
if (
|
|
14877
|
+
const missing = "Pass an action (notify | add) and at least one resolution id.";
|
|
14878
|
+
if (request.action !== "notify" && request.action !== "add") return failureOutcome(opError("INVALID_REQUEST", { message: missing }));
|
|
14879
|
+
return runMentionAction(client, request.action, request.resolutionIds, missing);
|
|
14880
|
+
}
|
|
14881
|
+
async function runMentionAction(client, action, resolutionIds, missingIdsMessage = "Pass at least one resolution id.") {
|
|
14882
|
+
const ids = (resolutionIds ?? []).map((id) => id.trim()).filter(Boolean);
|
|
14883
|
+
if (ids.length === 0) return failureOutcome(opError("INVALID_REQUEST", { message: missingIdsMessage }));
|
|
14766
14884
|
const result = await client.mentions.executeAction({
|
|
14767
|
-
action
|
|
14885
|
+
action,
|
|
14768
14886
|
resolutionIds: ids
|
|
14769
14887
|
});
|
|
14770
14888
|
if (!result.ok) return failureFromClientResult(result);
|
|
@@ -14773,11 +14891,11 @@ async function executeMentionAction(client, request) {
|
|
|
14773
14891
|
ok: true,
|
|
14774
14892
|
state: "executed",
|
|
14775
14893
|
data: {
|
|
14776
|
-
action
|
|
14894
|
+
action,
|
|
14777
14895
|
results
|
|
14778
14896
|
},
|
|
14779
14897
|
next: null,
|
|
14780
|
-
text: formatAgentMentionActionResults(
|
|
14898
|
+
text: formatAgentMentionActionResults(action, results)
|
|
14781
14899
|
};
|
|
14782
14900
|
}
|
|
14783
14901
|
async function senderMentionDeliveries(client, request) {
|
|
@@ -15549,21 +15667,47 @@ const OPERATION_DEFS = [
|
|
|
15549
15667
|
}
|
|
15550
15668
|
},
|
|
15551
15669
|
{
|
|
15552
|
-
name: "mentions.
|
|
15553
|
-
description: "Deliver unreached @mentions
|
|
15554
|
-
schema:
|
|
15670
|
+
name: "mentions.notify",
|
|
15671
|
+
description: "Deliver unreached @mentions by notifying each mentioned target about the message, without adding them to the conversation. Takes resolutionId values from mentions.pending.",
|
|
15672
|
+
schema: mentionResolutionIdsRequestSchema,
|
|
15555
15673
|
routes: ["mentionActionsExecute"],
|
|
15556
15674
|
consumes: nothing,
|
|
15557
15675
|
output: small
|
|
15558
15676
|
},
|
|
15559
15677
|
{
|
|
15560
|
-
name: "mentions.
|
|
15678
|
+
name: "mentions.add",
|
|
15679
|
+
description: "Deliver unreached @mentions by adding each mentioned target to the conversation, so they see the message and what follows. Takes resolutionId values from mentions.pending.",
|
|
15680
|
+
schema: mentionResolutionIdsRequestSchema,
|
|
15681
|
+
routes: ["mentionActionsExecute"],
|
|
15682
|
+
consumes: nothing,
|
|
15683
|
+
output: small
|
|
15684
|
+
},
|
|
15685
|
+
{
|
|
15686
|
+
name: "mentions.delivery",
|
|
15561
15687
|
description: "Whether each @mention in a message you sent reached its target.",
|
|
15562
15688
|
schema: senderMentionDeliveriesRequestSchema,
|
|
15563
15689
|
routes: ["senderMentionDeliveries"],
|
|
15564
15690
|
consumes: nothing,
|
|
15565
15691
|
output: small
|
|
15566
15692
|
},
|
|
15693
|
+
{
|
|
15694
|
+
name: "mentions.execute",
|
|
15695
|
+
description: "Deprecated: use mentions.notify / mentions.add. Removed in the next minor release. Deliver unreached @mentions: notify the mentioned target, or add them to the conversation.",
|
|
15696
|
+
schema: executeMentionActionRequestSchema,
|
|
15697
|
+
routes: ["mentionActionsExecute"],
|
|
15698
|
+
consumes: nothing,
|
|
15699
|
+
output: small,
|
|
15700
|
+
deprecated: true
|
|
15701
|
+
},
|
|
15702
|
+
{
|
|
15703
|
+
name: "mentions.deliveries",
|
|
15704
|
+
description: "Deprecated: use mentions.delivery. Removed in the next minor release. Whether each @mention in a message you sent reached its target.",
|
|
15705
|
+
schema: senderMentionDeliveriesRequestSchema,
|
|
15706
|
+
routes: ["senderMentionDeliveries"],
|
|
15707
|
+
consumes: nothing,
|
|
15708
|
+
output: small,
|
|
15709
|
+
deprecated: true
|
|
15710
|
+
},
|
|
15567
15711
|
{
|
|
15568
15712
|
name: "actions.prepare",
|
|
15569
15713
|
description: "Post an action card (create a channel, add members, create an agent, or an integration step) for a human to confirm; the human who clicks it carries it out as themselves. When it is executed (or fails), the outcome arrives as a reply that @mentions you in the card's thread (or in the thread the card was posted in).",
|
|
@@ -15798,7 +15942,7 @@ const OPERATION_DEFS = [
|
|
|
15798
15942
|
name: "users.info",
|
|
15799
15943
|
description: "A human's or agent's visible facts (kind, status, role, description) and which visible channels they are in. Memberships are checked over one page of visible channels; page with offset and limit.",
|
|
15800
15944
|
schema: userInfoRequestSchema,
|
|
15801
|
-
routes: ["
|
|
15945
|
+
routes: ["userChannels", "serverInfo"],
|
|
15802
15946
|
consumes: nothing,
|
|
15803
15947
|
output: {
|
|
15804
15948
|
mayBeLarge: true,
|
|
@@ -16035,6 +16179,9 @@ function createRaft(options) {
|
|
|
16035
16179
|
},
|
|
16036
16180
|
mentions: {
|
|
16037
16181
|
pending: (request) => pendingMentionActions(api, request, style).then(styled),
|
|
16182
|
+
notify: (request) => notifyMentions(api, request).then(styled),
|
|
16183
|
+
add: (request) => addMentions(api, request).then(styled),
|
|
16184
|
+
delivery: (request) => senderMentionDeliveries(api, request).then(styled),
|
|
16038
16185
|
execute: (request) => executeMentionAction(api, request).then(styled),
|
|
16039
16186
|
deliveries: (request) => senderMentionDeliveries(api, request).then(styled)
|
|
16040
16187
|
},
|
|
@@ -16125,6 +16272,9 @@ function createRaft(options) {
|
|
|
16125
16272
|
"attachments.downloadUrl": (args) => raft.attachments.downloadUrl(args),
|
|
16126
16273
|
"attachments.comments": (args) => raft.attachments.comments(args),
|
|
16127
16274
|
"mentions.pending": (args) => raft.mentions.pending(args),
|
|
16275
|
+
"mentions.notify": (args) => raft.mentions.notify(args),
|
|
16276
|
+
"mentions.add": (args) => raft.mentions.add(args),
|
|
16277
|
+
"mentions.delivery": (args) => raft.mentions.delivery(args),
|
|
16128
16278
|
"mentions.execute": (args) => raft.mentions.execute(args),
|
|
16129
16279
|
"mentions.deliveries": (args) => raft.mentions.deliveries(args),
|
|
16130
16280
|
"actions.prepare": (args) => raft.actions.prepare(args),
|
|
@@ -16239,6 +16389,7 @@ exports.listInboxRequestSchema = listInboxRequestSchema;
|
|
|
16239
16389
|
exports.listRaftRoutes = listRaftRoutes;
|
|
16240
16390
|
exports.listTasksRequestSchema = listTasksRequestSchema;
|
|
16241
16391
|
exports.listThreadsRequestSchema = listThreadsRequestSchema;
|
|
16392
|
+
exports.mentionResolutionIdsRequestSchema = mentionResolutionIdsRequestSchema;
|
|
16242
16393
|
exports.parseRaftRegularChannelTarget = parseRaftRegularChannelTarget;
|
|
16243
16394
|
exports.parseRaftState = parseRaftState;
|
|
16244
16395
|
exports.pendingMentionActionsRequestSchema = pendingMentionActionsRequestSchema;
|