@realtimex/sdk 2.0.65 → 2.0.67

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/index.d.ts CHANGED
@@ -74,6 +74,26 @@ export interface AskHumanOptions extends RealtimeXRequestOptions {
74
74
  body?: AskHumanBody;
75
75
  }
76
76
 
77
+ export type CalibrateChannelGateParams = Record<string, never>;
78
+ export type CalibrateChannelGateQuery = Record<string, never>;
79
+ export type CalibrateChannelGateHeaders = {
80
+ "x-app-id"?: string;
81
+ };
82
+ export type CalibrateChannelGateBody = {
83
+ battery?: string;
84
+ corpus?: string;
85
+ corpusPath?: string;
86
+ write?: boolean;
87
+ perStateTimeoutMs?: number;
88
+ };
89
+ export type CalibrateChannelGateResponse = unknown;
90
+ export interface CalibrateChannelGateOptions extends RealtimeXRequestOptions {
91
+ params?: CalibrateChannelGateParams;
92
+ query?: CalibrateChannelGateQuery;
93
+ headers?: CalibrateChannelGateHeaders & Record<string, string>;
94
+ body?: CalibrateChannelGateBody;
95
+ }
96
+
77
97
  export type CalibrateDecisionBatteryParams = Record<string, never>;
78
98
  export type CalibrateDecisionBatteryQuery = Record<string, never>;
79
99
  export type CalibrateDecisionBatteryHeaders = {
@@ -892,6 +912,68 @@ export interface GetChannelOptions extends RealtimeXRequestOptions {
892
912
  body?: GetChannelBody;
893
913
  }
894
914
 
915
+ export type GetChannelGateParams = {
916
+ channelId: string;
917
+ };
918
+ export type GetChannelGateQuery = {
919
+ level?: string;
920
+ chatType?: string;
921
+ chatId?: string;
922
+ chatName?: string;
923
+ };
924
+ export type GetChannelGateHeaders = {
925
+ "x-app-id"?: string;
926
+ };
927
+ export type GetChannelGateBody = unknown;
928
+ export type GetChannelGateResponse = Record<string, unknown>;
929
+ export interface GetChannelGateOptions extends RealtimeXRequestOptions {
930
+ params?: GetChannelGateParams;
931
+ query?: GetChannelGateQuery;
932
+ headers?: GetChannelGateHeaders & Record<string, string>;
933
+ body?: GetChannelGateBody;
934
+ }
935
+
936
+ export type GetChannelGateDecisionsParams = {
937
+ channelId: string;
938
+ };
939
+ export type GetChannelGateDecisionsQuery = {
940
+ chatType: string;
941
+ chatId: string;
942
+ limit?: number;
943
+ };
944
+ export type GetChannelGateDecisionsHeaders = {
945
+ "x-app-id"?: string;
946
+ };
947
+ export type GetChannelGateDecisionsBody = unknown;
948
+ export type GetChannelGateDecisionsResponse = Record<string, unknown>;
949
+ export interface GetChannelGateDecisionsOptions extends RealtimeXRequestOptions {
950
+ params?: GetChannelGateDecisionsParams;
951
+ query?: GetChannelGateDecisionsQuery;
952
+ headers?: GetChannelGateDecisionsHeaders & Record<string, string>;
953
+ body?: GetChannelGateDecisionsBody;
954
+ }
955
+
956
+ export type GetChannelGuidanceParams = {
957
+ channelId: string;
958
+ };
959
+ export type GetChannelGuidanceQuery = {
960
+ level?: string;
961
+ chatType?: string;
962
+ chatId?: string;
963
+ chatName?: string;
964
+ };
965
+ export type GetChannelGuidanceHeaders = {
966
+ "x-app-id"?: string;
967
+ };
968
+ export type GetChannelGuidanceBody = unknown;
969
+ export type GetChannelGuidanceResponse = Record<string, unknown>;
970
+ export interface GetChannelGuidanceOptions extends RealtimeXRequestOptions {
971
+ params?: GetChannelGuidanceParams;
972
+ query?: GetChannelGuidanceQuery;
973
+ headers?: GetChannelGuidanceHeaders & Record<string, string>;
974
+ body?: GetChannelGuidanceBody;
975
+ }
976
+
895
977
  export type GetChannelWebhookParams = {
896
978
  channelId: string;
897
979
  };
@@ -1381,6 +1463,20 @@ export interface ListChannelFriendsOptions extends RealtimeXRequestOptions {
1381
1463
  body?: ListChannelFriendsBody;
1382
1464
  }
1383
1465
 
1466
+ export type ListChannelGateBatteriesParams = Record<string, never>;
1467
+ export type ListChannelGateBatteriesQuery = Record<string, never>;
1468
+ export type ListChannelGateBatteriesHeaders = {
1469
+ "x-app-id"?: string;
1470
+ };
1471
+ export type ListChannelGateBatteriesBody = unknown;
1472
+ export type ListChannelGateBatteriesResponse = Record<string, unknown>;
1473
+ export interface ListChannelGateBatteriesOptions extends RealtimeXRequestOptions {
1474
+ params?: ListChannelGateBatteriesParams;
1475
+ query?: ListChannelGateBatteriesQuery;
1476
+ headers?: ListChannelGateBatteriesHeaders & Record<string, string>;
1477
+ body?: ListChannelGateBatteriesBody;
1478
+ }
1479
+
1384
1480
  export type ListChannelGroupsParams = {
1385
1481
  channelId: string;
1386
1482
  };
@@ -2777,6 +2873,7 @@ export type SetChannelChatBody = {
2777
2873
  replyMode?: "mention" | "always" | "agent";
2778
2874
  guidance?: string;
2779
2875
  clearGuidance?: boolean;
2876
+ useFrom?: string;
2780
2877
  picked?: boolean;
2781
2878
  routeWorkspaceId?: number;
2782
2879
  routeThreadId?: number;
@@ -2790,6 +2887,51 @@ export interface SetChannelChatOptions extends RealtimeXRequestOptions {
2790
2887
  body?: SetChannelChatBody;
2791
2888
  }
2792
2889
 
2890
+ export type SetChannelGateParams = {
2891
+ channelId: string;
2892
+ };
2893
+ export type SetChannelGateQuery = Record<string, never>;
2894
+ export type SetChannelGateHeaders = {
2895
+ "x-app-id"?: string;
2896
+ };
2897
+ export type SetChannelGateBody = {
2898
+ level?: "all" | "private" | "groups";
2899
+ chatType?: "group" | "dm";
2900
+ chatId?: string;
2901
+ chatName?: string;
2902
+ mode?: "off" | "on" | "shadow";
2903
+ battery?: string | null;
2904
+ clear?: boolean;
2905
+ };
2906
+ export type SetChannelGateResponse = Record<string, unknown>;
2907
+ export interface SetChannelGateOptions extends RealtimeXRequestOptions {
2908
+ params?: SetChannelGateParams;
2909
+ query?: SetChannelGateQuery;
2910
+ headers?: SetChannelGateHeaders & Record<string, string>;
2911
+ body?: SetChannelGateBody;
2912
+ }
2913
+
2914
+ export type SetChannelGuidanceParams = {
2915
+ channelId: string;
2916
+ };
2917
+ export type SetChannelGuidanceQuery = Record<string, never>;
2918
+ export type SetChannelGuidanceHeaders = {
2919
+ "x-app-id"?: string;
2920
+ };
2921
+ export type SetChannelGuidanceBody = {
2922
+ level: "all" | "private" | "groups";
2923
+ guidance?: string;
2924
+ clearGuidance?: boolean;
2925
+ useFrom?: string;
2926
+ };
2927
+ export type SetChannelGuidanceResponse = Record<string, unknown>;
2928
+ export interface SetChannelGuidanceOptions extends RealtimeXRequestOptions {
2929
+ params?: SetChannelGuidanceParams;
2930
+ query?: SetChannelGuidanceQuery;
2931
+ headers?: SetChannelGuidanceHeaders & Record<string, string>;
2932
+ body?: SetChannelGuidanceBody;
2933
+ }
2934
+
2793
2935
  export type SetDefaultWorkspaceAgentParams = Record<string, never>;
2794
2936
  export type SetDefaultWorkspaceAgentQuery = Record<string, never>;
2795
2937
  export type SetDefaultWorkspaceAgentHeaders = Record<string, never>;
@@ -3495,6 +3637,7 @@ export type UpdateChannelGroupRuleBody = {
3495
3637
  replyMode?: "mention" | "always" | "agent";
3496
3638
  guidance?: string;
3497
3639
  clearGuidance?: boolean;
3640
+ useFrom?: string;
3498
3641
  targetGroupId?: string;
3499
3642
  };
3500
3643
  export type UpdateChannelGroupRuleResponse = Record<string, unknown>;
@@ -3750,6 +3893,9 @@ export declare class RealtimeXClient {
3750
3893
  archiveActiveThreadSpa(body: ArchiveActiveThreadSpaBody, options?: Omit<ArchiveActiveThreadSpaOptions, 'body'>): Promise<ArchiveActiveThreadSpaResponse>;
3751
3894
  askHuman(options?: AskHumanOptions): Promise<AskHumanResponse>;
3752
3895
  askHuman(body: AskHumanBody, options?: Omit<AskHumanOptions, 'body'>): Promise<AskHumanResponse>;
3896
+ /** Fit per-model thresholds for a Message gate battery from labelled messages: every state is built the way the gate builds it and sent under the channel.message-gate class (the decision model\'s allowance for that class applies). corpus builtin is the shipped Vietnamese and English corpus; corpusPath names a .jsonl file in this workspace\'s .realtimex-decisions/corpus folder; each line is { id, lang, state: { message, guidance, recent }, expected: { <question>: <answer> } } with at least 50 labels per question. Thresholds keep zero consequential false positives and maximize coverage. Reports coverage, false positives and negatives, accuracy and the unsure rate per question and language; write true saves the lock (workspace batteries in .realtimex-decisions/locks; the built-in battery only in development). Errors: 400 invalid corpus or battery (DECISION_INVALID_REQUEST), 429 rate limited. */
3897
+ calibrateChannelGate(options?: CalibrateChannelGateOptions): Promise<CalibrateChannelGateResponse>;
3898
+ calibrateChannelGate(body: CalibrateChannelGateBody, options?: Omit<CalibrateChannelGateOptions, 'body'>): Promise<CalibrateChannelGateResponse>;
3753
3899
  /** Fit per-model battery thresholds from labelled states or paired decision digests; report only unless write=true. */
3754
3900
  calibrateDecisionBattery(options?: CalibrateDecisionBatteryOptions): Promise<CalibrateDecisionBatteryResponse>;
3755
3901
  calibrateDecisionBattery(body: CalibrateDecisionBatteryBody, options?: Omit<CalibrateDecisionBatteryOptions, 'body'>): Promise<CalibrateDecisionBatteryResponse>;
@@ -3851,9 +3997,18 @@ export declare class RealtimeXClient {
3851
3997
  /** Get one public artifact by artifact id. */
3852
3998
  getArtifact(options?: GetArtifactOptions): Promise<GetArtifactResponse>;
3853
3999
  getArtifact(artifactId: string, options?: Omit<GetArtifactOptions, 'params'>): Promise<GetArtifactResponse>;
3854
- /** Show one chat channel by exact channel id: its non-secret settings, who can use it (whoCanUse), access policies, pending request count, live status, setup state and guidancePolicy. Tokens, app secrets and account sessions are never returned. Errors: 404 no such channel, or one in a workspace this caller cannot reach. */
4000
+ /** Show one chat channel by exact channel id: its non-secret settings, who can use it (whoCanUse), access policies, pending request count, live status, setup state, guidancePolicy and guidance: the default levels all (All chats), private (All private chats) and groups (All groups), each with its text, boxes and the combined text the agent sees (see set-channel-guidance, get-channel-guidance). Tokens, app secrets and account sessions are never returned. Errors: 404 no such channel, or one in a workspace this caller cannot reach. */
3855
4001
  getChannel(options?: GetChannelOptions): Promise<GetChannelResponse>;
3856
4002
  getChannel(channelId: string, options?: Omit<GetChannelOptions, 'params'>): Promise<GetChannelResponse>;
4003
+ /** The Message gate of one level (level all, private or groups) or one chat (chatType group or dm with chatId; a group may also take chatName). Returns setting (mode, battery, the level it comes from and inheritedFrom), chain (the value set at each level, null where none), battery (id, version, title, source and whether it is tuned for the active decision model), consent (required, state current, missing, stale or not_needed, backend, destination and model) and status: off, on, shadow, not_tuned (thresholds missing for this model: it wakes more often), consent_pending (waiting for the owner\'s confirmation: every message wakes the agent) or unavailable (no decision model: every message wakes the agent). Errors: 400 no level or chat named, 404 no such channel or person, 409 CONTACT_AMBIGUOUS. */
4004
+ getChannelGate(options?: GetChannelGateOptions): Promise<GetChannelGateResponse>;
4005
+ getChannelGate(channelId: string, options?: Omit<GetChannelGateOptions, 'params'>): Promise<GetChannelGateResponse>;
4006
+ /** One chat\'s recent Message gate decisions, newest first (chatType group or dm with chatId; limit up to 100, default 20): decision (wake, hold or drop), the rule that matched (or otherwise, onUnsure, onUnavailable), reason, source (on or shadow), the input cuts, battery, backend and model, whether thresholds were fitted, the verdicts, latency and any error code. Never the message text. Errors: 400 no chat named (INVALID_CHAT), 404 no such channel or person. */
4007
+ getChannelGateDecisions(options?: GetChannelGateDecisionsOptions): Promise<GetChannelGateDecisionsResponse>;
4008
+ getChannelGateDecisions(channelId: string, options?: Omit<GetChannelGateDecisionsOptions, 'params'>): Promise<GetChannelGateDecisionsResponse>;
4009
+ /** What the agent sees: the combined guidance of one level (level all, private or groups) or one chat (chatType group or dm with chatId; a group may also take chatName; a private chat also a sealed sender_handle cu_<n>). Returns combined (text, length, warn above 8,000 characters, and the parts in order) and every level on the chain with its text, boxes (ticks) and the boxes changed at that level (changedHere). Errors: 400 no level or chat named (GUIDANCE_LEVEL_INVALID, INVALID_CHAT; CHANNEL_TYPE_UNSUPPORTED for a website private chat), 404 no such channel or person (CONTACT_NOT_FOUND), 409 a person with several conversations (CONTACT_AMBIGUOUS). */
4010
+ getChannelGuidance(options?: GetChannelGuidanceOptions): Promise<GetChannelGuidanceResponse>;
4011
+ getChannelGuidance(channelId: string, options?: Omit<GetChannelGuidanceOptions, 'params'>): Promise<GetChannelGuidanceResponse>;
3857
4012
  getChannelWebhook(options?: GetChannelWebhookOptions): Promise<GetChannelWebhookResponse>;
3858
4013
  getChannelWebhook(channelId: string, options?: Omit<GetChannelWebhookOptions, 'params'>): Promise<GetChannelWebhookResponse>;
3859
4014
  getDelegateMandate(options?: GetDelegateMandateOptions): Promise<GetDelegateMandateResponse>;
@@ -3919,6 +4074,8 @@ export declare class RealtimeXClient {
3919
4074
  /** List the friends or contacts of a Zalo Personal or WhatsApp account by name, with the ids to use in set-channel-access --add-allow-from or set-channel-chat --chat-type dm --chat-id. Errors: 400 another channel type (CHANNEL_TYPE_UNSUPPORTED) or the account is not logged in, 404 no such channel. */
3920
4075
  listChannelFriends(options?: ListChannelFriendsOptions): Promise<ListChannelFriendsResponse>;
3921
4076
  listChannelFriends(channelId: string, options?: Omit<ListChannelFriendsOptions, 'params'>): Promise<ListChannelFriendsResponse>;
4077
+ /** List the Message gate batteries: the built-in channel-gate (Follow guidance) and this workspace\'s batteries in .realtimex-decisions/batteries with policy kind gate. Each has its questions, rule ids, the lock identities it ships and whether it is tuned for the active decision model (an untuned battery wakes more often; calibrate it with calibrate-channel-gate). No model call. */
4078
+ listChannelGateBatteries(options?: ListChannelGateBatteriesOptions): Promise<ListChannelGateBatteriesResponse>;
3922
4079
  /** List the groups of a Zalo Personal or WhatsApp account by name, with the ids to use in set-channel-chat --chat-type group --chat-id. Errors: 400 another channel type (CHANNEL_TYPE_UNSUPPORTED) or the account is not logged in, 404 no such channel. */
3923
4080
  listChannelGroups(options?: ListChannelGroupsOptions): Promise<ListChannelGroupsResponse>;
3924
4081
  listChannelGroups(channelId: string, options?: Omit<ListChannelGroupsOptions, 'params'>): Promise<ListChannelGroupsResponse>;
@@ -4108,9 +4265,15 @@ export declare class RealtimeXClient {
4108
4265
  /** Set who can use one channel, as Settings › Channels › Who can use it does. Only the fields you pass change. Private chats (dmPolicy): open (anyone), pairing (people I approve; not on Pancake), allowlist (only people I pick) or disabled. On Zalo Personal and WhatsApp also: groups (groupPolicy open, allowlist = only groups I turn on, or disabled), requireMention and replyMode for groups, the picked people (addAllowFrom/removeAllowFrom, ids from list-channel-friends) and the trusted members whose new groups turn on automatically (addTrustedMembers/removeTrustedMembers). Switching to allowlist while people can use the agent privately needs approvedPeople keep (they join the list) or pause. Pancake also takes its picked conversations (addAllowFrom/removeAllowFrom, Pancake conversation ids) and an invite code testers send to be picked (inviteCode create with inviteHours and inviteMaxUses, or inviteCode revoke; leaving allowlist revokes it); anyone else who messages the page is ignored. Other channel types take dmPolicy only. Anything that may widen access (any policy but disabled, adding people or members, creating an invite code, mentions not required, replies to every message) waits for the owner on the desktop when run from a terminal answering an external chat. Errors: 400 invalid value or a setting this channel type does not have, 404 no such channel, 409 approvedPeople needed. */
4109
4266
  setChannelAccess(options?: SetChannelAccessOptions): Promise<SetChannelAccessResponse>;
4110
4267
  setChannelAccess(channelId: string, body: SetChannelAccessBody, options?: Omit<SetChannelAccessOptions, 'params' | 'body'>): Promise<SetChannelAccessResponse>;
4111
- /** Change one chat of a Zalo Personal or WhatsApp channel, as the Chats tab does. Name it with chatType (group or dm) and chatId (from list-channel-groups or list-channel-friends). For a group: allow (turn it on or off), replyMode and guidance (or clearGuidance). For a private chat: picked (on or off the list under only people I pick). For either: routeWorkspaceId and routeThreadId send the chat to that workspace or thread; clearRoute sends it back to the channel\'s own. Only the fields you pass change. Turning a group on, picking a person, replies to every message and any route change wait for the owner on the desktop when run from a terminal answering an external chat. Errors: 400 invalid chat or field (CHANNEL_TYPE_UNSUPPORTED for other channel types), 403 a route into or out of a workspace this session cannot reach (ISOLATED_WORKSPACE_CROSSING_REFUSED), 404 no such channel, 409 picked while the channel does not use only people I pick. */
4268
+ /** Change one chat of a channel, as the Chats tab does. Name it with chatType (group or dm) and chatId (from list-channel-groups or list-channel-friends; for a private chat also a sealed sender_handle cu_<n>, or on Pancake the conversation id or the person\'s id). Any chat: guidance (or clearGuidance) is the chat\'s own guidance, always used when set, and useFrom picks which levels above it apply: a group uses all (All chats) and groups (All groups), a private chat all and private (All private chats); each on, off or inherit (follow the level above), for example all=off,groups=on. get-channel-guidance shows what the agent then sees. Zalo Personal and WhatsApp only: for a group allow (turn it on or off) and replyMode; for a private chat picked (on or off the list under only people I pick); for either routeWorkspaceId and routeThreadId send the chat to that workspace or thread, clearRoute sends it back to the channel\'s own. Other channel types take guidance, clearGuidance and useFrom only; website takes none. Only the fields you pass change. Turning a group on, picking a person, replies to every message and any route change wait for the owner on the desktop when run from a terminal answering an external chat. Errors: 400 invalid chat or field (CHANNEL_TYPE_UNSUPPORTED for a field this channel type does not have; USE_FROM_INVALID_KEY or USE_FROM_INVALID_VALUE for useFrom; CHANNEL_GUIDANCE_TOO_LONG above 4,000 characters), 403 a route into or out of a workspace this session cannot reach (ISOLATED_WORKSPACE_CROSSING_REFUSED), 404 no such channel or person (CONTACT_NOT_FOUND), 409 picked while the channel does not use only people I pick, or a person with several conversations (CONTACT_AMBIGUOUS, lists them). */
4112
4269
  setChannelChat(options?: SetChannelChatOptions): Promise<SetChannelChatResponse>;
4113
4270
  setChannelChat(channelId: string, body: SetChannelChatBody, options?: Omit<SetChannelChatOptions, 'params' | 'body'>): Promise<SetChannelChatResponse>;
4271
+ /** Set the Message gate of one level (level all, private or groups) or one chat (chatType group or dm with chatId; a group may also take chatName; a private chat also a sealed sender_handle cu_<n>). mode off (default everywhere) lets every message wake the agent; on screens each incoming message with the gate battery (one decision-model call when a rule needs it) and wakes the agent, holds the message (saved, readable in channel-act history) or drops it; shadow evaluates and logs but always wakes. battery is a gate battery id (list-channel-gate-batteries) or null for the built-in Follow guidance battery (channel-gate). clear removes the setting at that level, so it follows the level above. The nearest level that sets the gate wins. Agent decides chats only. With a decision model that runs off this computer, the owner must confirm in Settings before any message is sent out; until then every message wakes the agent and get-channel-gate reports status consent_pending. Errors: 400 invalid level or chat (GATE_LEVEL_INVALID, INVALID_CHAT), mode (GATE_MODE_INVALID), battery (GATE_BATTERY_INVALID, GATE_BATTERY_UNKNOWN, GATE_BATTERY_NOT_GATE) or nothing to change (NOTHING_TO_UPDATE, CONFLICTING_FIELDS), 404 no such channel or person, 409 a person with several conversations (CONTACT_AMBIGUOUS). */
4272
+ setChannelGate(options?: SetChannelGateOptions): Promise<SetChannelGateResponse>;
4273
+ setChannelGate(channelId: string, body: SetChannelGateBody, options?: Omit<SetChannelGateOptions, 'params' | 'body'>): Promise<SetChannelGateResponse>;
4274
+ /** Set the guidance of one default level of a channel. level all is All chats (every chat; the same text as update-channel --agent-guidance), private is All private chats and groups is All groups. guidance (or clearGuidance) is the level\'s own text, up to 4,000 characters. useFrom (private and groups only) picks whether All chats applies: all=on, off or inherit. Unticks pass down: a chat follows the level above unless it changed that box itself. Each chat can add its own guidance with set-channel-chat. get-channel-guidance shows the combined text the agent sees; above 8,000 characters it warns but still saves. Errors: 400 invalid level (GUIDANCE_LEVEL_INVALID), useFrom on all (USE_FROM_NOT_ALLOWED), a wrong box (USE_FROM_INVALID_KEY or USE_FROM_INVALID_VALUE) or text over 4,000 characters (CHANNEL_GUIDANCE_TOO_LONG), 404 no such channel. */
4275
+ setChannelGuidance(options?: SetChannelGuidanceOptions): Promise<SetChannelGuidanceResponse>;
4276
+ setChannelGuidance(channelId: string, body: SetChannelGuidanceBody, options?: Omit<SetChannelGuidanceOptions, 'params' | 'body'>): Promise<SetChannelGuidanceResponse>;
4114
4277
  /** Set a workspace default agent from the desktop workspace chat settings UI. */
4115
4278
  setDefaultWorkspaceAgent(options?: SetDefaultWorkspaceAgentOptions): Promise<SetDefaultWorkspaceAgentResponse>;
4116
4279
  setDefaultWorkspaceAgent(body: SetDefaultWorkspaceAgentBody, options?: Omit<SetDefaultWorkspaceAgentOptions, 'body'>): Promise<SetDefaultWorkspaceAgentResponse>;
@@ -4192,7 +4355,7 @@ export declare class RealtimeXClient {
4192
4355
  /** Update one chat channel by exact channel id. Only the fields you pass change; every other setting, the token and the account session keep their values. Limits keep the server floors and ceilings: an out-of-range value returns 400 LIMIT_OUT_OF_RANGE with the allowed min and max, and nothing is saved. From a terminal answering an external chat, a change that may widen access or loosen a limit (dmPolicy other than disabled, workspaceId, a rate limit, pacing or splitting off, enabling slash commands, approvalPrompts chat) waits for the owner on the desktop. Errors: 400 invalid value or nothing to update, 403 a move into or out of a client-isolated workspace (desktop owner only), 404 no such channel, or one in a workspace this caller cannot reach, 409 a move while a Take over runs. */
4193
4356
  updateChannel(options?: UpdateChannelOptions): Promise<UpdateChannelResponse>;
4194
4357
  updateChannel(channelId: string, body: UpdateChannelBody, options?: Omit<UpdateChannelOptions, 'params' | 'body'>): Promise<UpdateChannelResponse>;
4195
- /** Change one group name rule of a Zalo Personal or WhatsApp channel (the rules under get-channel policies.groups whose key is a name pattern, not a group id). action update sets allow, replyMode or guidance (or clearGuidance); remove deletes the rule; apply copies the rule onto one group (targetGroupId) and deletes the rule. Removing or applying a rule, turning it on and replies to every message wait for the owner on the desktop when run from a terminal answering an external chat. Errors: 400 invalid rule (CHANNEL_TYPE_UNSUPPORTED for other channel types), 404 no such channel or rule. */
4358
+ /** Change one group name rule of a Zalo Personal or WhatsApp channel (the rules under get-channel policies.groups whose key is a name pattern, not a group id). action update sets allow, replyMode or guidance (or clearGuidance) and useFrom (all, groups: on, off or inherit); the key * is All groups, whose guidance and useFrom are saved as that level (set-channel-guidance --level groups); remove deletes the rule; apply copies the rule onto one group (targetGroupId) and deletes the rule. Removing or applying a rule, turning it on and replies to every message wait for the owner on the desktop when run from a terminal answering an external chat. Errors: 400 invalid rule (CHANNEL_TYPE_UNSUPPORTED for other channel types), 404 no such channel or rule. */
4196
4359
  updateChannelGroupRule(options?: UpdateChannelGroupRuleOptions): Promise<UpdateChannelGroupRuleResponse>;
4197
4360
  updateChannelGroupRule(channelId: string, body: UpdateChannelGroupRuleBody, options?: Omit<UpdateChannelGroupRuleOptions, 'params' | 'body'>): Promise<UpdateChannelGroupRuleResponse>;
4198
4361
  updateLocalApp(options?: UpdateLocalAppOptions): Promise<UpdateLocalAppResponse>;
package/index.js CHANGED
@@ -31,6 +31,16 @@ const operations = {
31
31
  "headerParams": [],
32
32
  "hasBody": true
33
33
  },
34
+ "calibrateChannelGate": {
35
+ "method": "POST",
36
+ "path": "/calibrate-channel-gate",
37
+ "pathParams": [],
38
+ "queryParams": [],
39
+ "headerParams": [
40
+ "x-app-id"
41
+ ],
42
+ "hasBody": true
43
+ },
34
44
  "calibrateDecisionBattery": {
35
45
  "method": "POST",
36
46
  "path": "/calibrate-decision-battery",
@@ -422,6 +432,56 @@ const operations = {
422
432
  ],
423
433
  "hasBody": false
424
434
  },
435
+ "getChannelGate": {
436
+ "method": "GET",
437
+ "path": "/get-channel-gate/{channelId}",
438
+ "pathParams": [
439
+ "channelId"
440
+ ],
441
+ "queryParams": [
442
+ "level",
443
+ "chatType",
444
+ "chatId",
445
+ "chatName"
446
+ ],
447
+ "headerParams": [
448
+ "x-app-id"
449
+ ],
450
+ "hasBody": false
451
+ },
452
+ "getChannelGateDecisions": {
453
+ "method": "GET",
454
+ "path": "/get-channel-gate-decisions/{channelId}",
455
+ "pathParams": [
456
+ "channelId"
457
+ ],
458
+ "queryParams": [
459
+ "chatType",
460
+ "chatId",
461
+ "limit"
462
+ ],
463
+ "headerParams": [
464
+ "x-app-id"
465
+ ],
466
+ "hasBody": false
467
+ },
468
+ "getChannelGuidance": {
469
+ "method": "GET",
470
+ "path": "/get-channel-guidance/{channelId}",
471
+ "pathParams": [
472
+ "channelId"
473
+ ],
474
+ "queryParams": [
475
+ "level",
476
+ "chatType",
477
+ "chatId",
478
+ "chatName"
479
+ ],
480
+ "headerParams": [
481
+ "x-app-id"
482
+ ],
483
+ "hasBody": false
484
+ },
425
485
  "getChannelWebhook": {
426
486
  "method": "GET",
427
487
  "path": "/get-channel-webhook/{channelId}",
@@ -701,6 +761,16 @@ const operations = {
701
761
  ],
702
762
  "hasBody": false
703
763
  },
764
+ "listChannelGateBatteries": {
765
+ "method": "GET",
766
+ "path": "/list-channel-gate-batteries",
767
+ "pathParams": [],
768
+ "queryParams": [],
769
+ "headerParams": [
770
+ "x-app-id"
771
+ ],
772
+ "hasBody": false
773
+ },
704
774
  "listChannelGroups": {
705
775
  "method": "GET",
706
776
  "path": "/list-channel-groups/{channelId}",
@@ -1510,6 +1580,30 @@ const operations = {
1510
1580
  ],
1511
1581
  "hasBody": true
1512
1582
  },
1583
+ "setChannelGate": {
1584
+ "method": "POST",
1585
+ "path": "/set-channel-gate/{channelId}",
1586
+ "pathParams": [
1587
+ "channelId"
1588
+ ],
1589
+ "queryParams": [],
1590
+ "headerParams": [
1591
+ "x-app-id"
1592
+ ],
1593
+ "hasBody": true
1594
+ },
1595
+ "setChannelGuidance": {
1596
+ "method": "POST",
1597
+ "path": "/set-channel-guidance/{channelId}",
1598
+ "pathParams": [
1599
+ "channelId"
1600
+ ],
1601
+ "queryParams": [],
1602
+ "headerParams": [
1603
+ "x-app-id"
1604
+ ],
1605
+ "hasBody": true
1606
+ },
1513
1607
  "setDefaultWorkspaceAgent": {
1514
1608
  "method": "POST",
1515
1609
  "path": "/set-default-workspace-agent",
@@ -2335,6 +2429,13 @@ class RealtimeXClient {
2335
2429
  );
2336
2430
  }
2337
2431
 
2432
+ calibrateChannelGate(...args) {
2433
+ return this.request(
2434
+ "calibrateChannelGate",
2435
+ normalizeOperationOptions(operations["calibrateChannelGate"], args)
2436
+ );
2437
+ }
2438
+
2338
2439
  calibrateDecisionBattery(...args) {
2339
2440
  return this.request(
2340
2441
  "calibrateDecisionBattery",
@@ -2594,6 +2695,27 @@ class RealtimeXClient {
2594
2695
  );
2595
2696
  }
2596
2697
 
2698
+ getChannelGate(...args) {
2699
+ return this.request(
2700
+ "getChannelGate",
2701
+ normalizeOperationOptions(operations["getChannelGate"], args)
2702
+ );
2703
+ }
2704
+
2705
+ getChannelGateDecisions(...args) {
2706
+ return this.request(
2707
+ "getChannelGateDecisions",
2708
+ normalizeOperationOptions(operations["getChannelGateDecisions"], args)
2709
+ );
2710
+ }
2711
+
2712
+ getChannelGuidance(...args) {
2713
+ return this.request(
2714
+ "getChannelGuidance",
2715
+ normalizeOperationOptions(operations["getChannelGuidance"], args)
2716
+ );
2717
+ }
2718
+
2597
2719
  getChannelWebhook(...args) {
2598
2720
  return this.request(
2599
2721
  "getChannelWebhook",
@@ -2769,6 +2891,13 @@ class RealtimeXClient {
2769
2891
  );
2770
2892
  }
2771
2893
 
2894
+ listChannelGateBatteries(...args) {
2895
+ return this.request(
2896
+ "listChannelGateBatteries",
2897
+ normalizeOperationOptions(operations["listChannelGateBatteries"], args)
2898
+ );
2899
+ }
2900
+
2772
2901
  listChannelGroups(...args) {
2773
2902
  return this.request(
2774
2903
  "listChannelGroups",
@@ -3280,6 +3409,20 @@ class RealtimeXClient {
3280
3409
  );
3281
3410
  }
3282
3411
 
3412
+ setChannelGate(...args) {
3413
+ return this.request(
3414
+ "setChannelGate",
3415
+ normalizeOperationOptions(operations["setChannelGate"], args)
3416
+ );
3417
+ }
3418
+
3419
+ setChannelGuidance(...args) {
3420
+ return this.request(
3421
+ "setChannelGuidance",
3422
+ normalizeOperationOptions(operations["setChannelGuidance"], args)
3423
+ );
3424
+ }
3425
+
3283
3426
  setDefaultWorkspaceAgent(...args) {
3284
3427
  return this.request(
3285
3428
  "setDefaultWorkspaceAgent",
@@ -3550,5 +3693,5 @@ module.exports = {
3550
3693
  createRealtimeXClient,
3551
3694
  createRealtimeXWebhookClient,
3552
3695
  operations,
3553
- version: "2.0.65",
3696
+ version: "2.0.67",
3554
3697
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@realtimex/sdk",
3
- "version": "2.0.65",
3
+ "version": "2.0.67",
4
4
  "description": "RealtimeX runtime SDK package and moderator agent skill assets.",
5
5
  "private": false,
6
6
  "main": "./index.js",
@@ -15,16 +15,16 @@ List, publish, inspect, pause, resume, and revoke RealTimeX workspace artifacts.
15
15
 
16
16
  ## CLI setup
17
17
 
18
- This skill uses `realtimex-pp-cli` version 2.0.65. Before using its commands:
18
+ This skill uses `realtimex-pp-cli` version 2.0.67. Before using its commands:
19
19
 
20
20
  ```bash
21
21
  realtimex-pp-cli --version
22
22
  ```
23
23
 
24
- If it is missing or does not report `realtimex-pp-cli 2.0.65`, install the pinned version:
24
+ If it is missing or does not report `realtimex-pp-cli 2.0.67`, install the pinned version:
25
25
 
26
26
  ```bash
27
- npm install -g @realtimex/pp-cli@2.0.65
27
+ npm install -g @realtimex/pp-cli@2.0.67
28
28
  ```
29
29
 
30
30
  For requests about the current workspace or thread, resolve context first:
@@ -15,16 +15,16 @@ Run RealTimeX automation workflows and guided automation-flow commands, includin
15
15
 
16
16
  ## CLI setup
17
17
 
18
- This skill uses `realtimex-pp-cli` version 2.0.65. Before using its commands:
18
+ This skill uses `realtimex-pp-cli` version 2.0.67. Before using its commands:
19
19
 
20
20
  ```bash
21
21
  realtimex-pp-cli --version
22
22
  ```
23
23
 
24
- If it is missing or does not report `realtimex-pp-cli 2.0.65`, install the pinned version:
24
+ If it is missing or does not report `realtimex-pp-cli 2.0.67`, install the pinned version:
25
25
 
26
26
  ```bash
27
- npm install -g @realtimex/pp-cli@2.0.65
27
+ npm install -g @realtimex/pp-cli@2.0.67
28
28
  ```
29
29
 
30
30
  For requests about the current workspace or thread, resolve context first:
@@ -15,16 +15,16 @@ List, create, start, stop, delete and show tabs of named RealTimeX browser sessi
15
15
 
16
16
  ## CLI setup
17
17
 
18
- This skill uses `realtimex-pp-cli` version 2.0.65. Before using its commands:
18
+ This skill uses `realtimex-pp-cli` version 2.0.67. Before using its commands:
19
19
 
20
20
  ```bash
21
21
  realtimex-pp-cli --version
22
22
  ```
23
23
 
24
- If it is missing or does not report `realtimex-pp-cli 2.0.65`, install the pinned version:
24
+ If it is missing or does not report `realtimex-pp-cli 2.0.67`, install the pinned version:
25
25
 
26
26
  ```bash
27
- npm install -g @realtimex/pp-cli@2.0.65
27
+ npm install -g @realtimex/pp-cli@2.0.67
28
28
  ```
29
29
 
30
30
  For requests about the current workspace or thread, resolve context first:
@@ -15,16 +15,16 @@ Create, configure, start, stop, and delete RealTimeX chat channels: who can use
15
15
 
16
16
  ## CLI setup
17
17
 
18
- This skill uses `realtimex-pp-cli` version 2.0.65. Before using its commands:
18
+ This skill uses `realtimex-pp-cli` version 2.0.67. Before using its commands:
19
19
 
20
20
  ```bash
21
21
  realtimex-pp-cli --version
22
22
  ```
23
23
 
24
- If it is missing or does not report `realtimex-pp-cli 2.0.65`, install the pinned version:
24
+ If it is missing or does not report `realtimex-pp-cli 2.0.67`, install the pinned version:
25
25
 
26
26
  ```bash
27
- npm install -g @realtimex/pp-cli@2.0.65
27
+ npm install -g @realtimex/pp-cli@2.0.67
28
28
  ```
29
29
 
30
30
  For requests about the current workspace or thread, resolve context first:
@@ -39,6 +39,10 @@ realtimex-pp-cli prepare --agent
39
39
 
40
40
  - `realtimex-pp-cli approve-channel-pairing-code <code>` — Approve one pending channel pairing code by visible 6-digit code or database id.
41
41
 
42
+ **calibrate-channel-gate** — Manage calibrate channel gate
43
+
44
+ - `realtimex-pp-cli calibrate-channel-gate` — Fit per-model thresholds for a Message gate battery from labelled messages
45
+
42
46
  **channel-act** — Manage channel act
43
47
 
44
48
  - `realtimex-pp-cli channel-act <control>` — Run one control of the external chat this terminal answers (Zalo Personal first)
@@ -59,6 +63,18 @@ realtimex-pp-cli prepare --agent
59
63
 
60
64
  - `realtimex-pp-cli get-channel <channelId>` — Show one chat channel by exact channel id: its non-secret settings, who can use it (whoCanUse), access policies
61
65
 
66
+ **get-channel-gate** — Manage get channel gate
67
+
68
+ - `realtimex-pp-cli get-channel-gate <channelId>` — The Message gate of one level (level all, private or groups) or one chat (chatType group or dm with chatId
69
+
70
+ **get-channel-gate-decisions** — Manage get channel gate decisions
71
+
72
+ - `realtimex-pp-cli get-channel-gate-decisions <channelId>` — One chat's recent Message gate decisions, newest first (chatType group or dm with chatId; limit up to 100, default 20)
73
+
74
+ **get-channel-guidance** — Manage get channel guidance
75
+
76
+ - `realtimex-pp-cli get-channel-guidance <channelId>` — What the agent sees: the combined guidance of one level (level all, private or groups)
77
+
62
78
  **get-channel-webhook** — Manage get channel webhook
63
79
 
64
80
  - `realtimex-pp-cli get-channel-webhook <channelId>` — Get channel webhook
@@ -71,6 +87,10 @@ realtimex-pp-cli prepare --agent
71
87
 
72
88
  - `realtimex-pp-cli list-channel-friends <channelId>` — List the friends or contacts of a Zalo Personal or WhatsApp account by name
73
89
 
90
+ **list-channel-gate-batteries** — Manage list channel gate batteries
91
+
92
+ - `realtimex-pp-cli list-channel-gate-batteries` — List the Message gate batteries: the built-in channel-gate (Follow guidance) and this workspace's batteries in .
93
+
74
94
  **list-channel-groups** — Manage list channel groups
75
95
 
76
96
  - `realtimex-pp-cli list-channel-groups <channelId>` — List the groups of a Zalo Personal or WhatsApp account by name
@@ -133,7 +153,15 @@ realtimex-pp-cli prepare --agent
133
153
 
134
154
  **set-channel-chat** — Manage set channel chat
135
155
 
136
- - `realtimex-pp-cli set-channel-chat <channelId>` — Change one chat of a Zalo Personal or WhatsApp channel, as the Chats tab does.
156
+ - `realtimex-pp-cli set-channel-chat <channelId>` — Change one chat of a channel, as the Chats tab does.
157
+
158
+ **set-channel-gate** — Manage set channel gate
159
+
160
+ - `realtimex-pp-cli set-channel-gate <channelId>` — Set the Message gate of one level (level all, private or groups) or one chat (chatType group or dm with chatId
161
+
162
+ **set-channel-guidance** — Manage set channel guidance
163
+
164
+ - `realtimex-pp-cli set-channel-guidance <channelId>` — Set the guidance of one default level of a channel.
137
165
 
138
166
  **start-channel** — Manage start channel
139
167
 
@@ -15,16 +15,16 @@ Run advisory decision-model judgments, list decision batteries, and calibrate ba
15
15
 
16
16
  ## CLI setup
17
17
 
18
- This skill uses `realtimex-pp-cli` version 2.0.65. Before using its commands:
18
+ This skill uses `realtimex-pp-cli` version 2.0.67. Before using its commands:
19
19
 
20
20
  ```bash
21
21
  realtimex-pp-cli --version
22
22
  ```
23
23
 
24
- If it is missing or does not report `realtimex-pp-cli 2.0.65`, install the pinned version:
24
+ If it is missing or does not report `realtimex-pp-cli 2.0.67`, install the pinned version:
25
25
 
26
26
  ```bash
27
- npm install -g @realtimex/pp-cli@2.0.65
27
+ npm install -g @realtimex/pp-cli@2.0.67
28
28
  ```
29
29
 
30
30
  For requests about the current workspace or thread, resolve context first:
@@ -15,16 +15,16 @@ Manage RealTimeX Delegate scope bindings, policy drafts and compiler jobs, activ
15
15
 
16
16
  ## CLI setup
17
17
 
18
- This skill uses `realtimex-pp-cli` version 2.0.65. Before using its commands:
18
+ This skill uses `realtimex-pp-cli` version 2.0.67. Before using its commands:
19
19
 
20
20
  ```bash
21
21
  realtimex-pp-cli --version
22
22
  ```
23
23
 
24
- If it is missing or does not report `realtimex-pp-cli 2.0.65`, install the pinned version:
24
+ If it is missing or does not report `realtimex-pp-cli 2.0.67`, install the pinned version:
25
25
 
26
26
  ```bash
27
- npm install -g @realtimex/pp-cli@2.0.65
27
+ npm install -g @realtimex/pp-cli@2.0.67
28
28
  ```
29
29
 
30
30
  For requests about the current workspace or thread, resolve context first:
@@ -15,16 +15,16 @@ Configure RealTimeX heartbeat scheduling, agents, active hours, timezone, autopi
15
15
 
16
16
  ## CLI setup
17
17
 
18
- This skill uses `realtimex-pp-cli` version 2.0.65. Before using its commands:
18
+ This skill uses `realtimex-pp-cli` version 2.0.67. Before using its commands:
19
19
 
20
20
  ```bash
21
21
  realtimex-pp-cli --version
22
22
  ```
23
23
 
24
- If it is missing or does not report `realtimex-pp-cli 2.0.65`, install the pinned version:
24
+ If it is missing or does not report `realtimex-pp-cli 2.0.67`, install the pinned version:
25
25
 
26
26
  ```bash
27
- npm install -g @realtimex/pp-cli@2.0.65
27
+ npm install -g @realtimex/pp-cli@2.0.67
28
28
  ```
29
29
 
30
30
  For requests about the current workspace or thread, resolve context first:
@@ -15,16 +15,16 @@ Create, inspect, configure, start, stop, restart, and delete RealTimeX Local App
15
15
 
16
16
  ## CLI setup
17
17
 
18
- This skill uses `realtimex-pp-cli` version 2.0.65. Before using its commands:
18
+ This skill uses `realtimex-pp-cli` version 2.0.67. Before using its commands:
19
19
 
20
20
  ```bash
21
21
  realtimex-pp-cli --version
22
22
  ```
23
23
 
24
- If it is missing or does not report `realtimex-pp-cli 2.0.65`, install the pinned version:
24
+ If it is missing or does not report `realtimex-pp-cli 2.0.67`, install the pinned version:
25
25
 
26
26
  ```bash
27
- npm install -g @realtimex/pp-cli@2.0.65
27
+ npm install -g @realtimex/pp-cli@2.0.67
28
28
  ```
29
29
 
30
30
  For requests about the current workspace or thread, resolve context first:
@@ -15,16 +15,16 @@ Use this router to select the smallest RealTimeX skill that owns the requested o
15
15
 
16
16
  ## CLI setup
17
17
 
18
- This skill uses `realtimex-pp-cli` version 2.0.65. Before using its commands:
18
+ This skill uses `realtimex-pp-cli` version 2.0.67. Before using its commands:
19
19
 
20
20
  ```bash
21
21
  realtimex-pp-cli --version
22
22
  ```
23
23
 
24
- If it is missing or does not report `realtimex-pp-cli 2.0.65`, install the pinned version:
24
+ If it is missing or does not report `realtimex-pp-cli 2.0.67`, install the pinned version:
25
25
 
26
26
  ```bash
27
- npm install -g @realtimex/pp-cli@2.0.65
27
+ npm install -g @realtimex/pp-cli@2.0.67
28
28
  ```
29
29
 
30
30
  For requests about the current workspace or thread, resolve context first:
@@ -15,16 +15,16 @@ Manage RealTimeX plugins and agent skills, including configuration, enablement,
15
15
 
16
16
  ## CLI setup
17
17
 
18
- This skill uses `realtimex-pp-cli` version 2.0.65. Before using its commands:
18
+ This skill uses `realtimex-pp-cli` version 2.0.67. Before using its commands:
19
19
 
20
20
  ```bash
21
21
  realtimex-pp-cli --version
22
22
  ```
23
23
 
24
- If it is missing or does not report `realtimex-pp-cli 2.0.65`, install the pinned version:
24
+ If it is missing or does not report `realtimex-pp-cli 2.0.67`, install the pinned version:
25
25
 
26
26
  ```bash
27
- npm install -g @realtimex/pp-cli@2.0.65
27
+ npm install -g @realtimex/pp-cli@2.0.67
28
28
  ```
29
29
 
30
30
  For requests about the current workspace or thread, resolve context first:
@@ -15,16 +15,16 @@ Manage encrypted Login, Card, Identity, SSH key and Secure note items, tags and
15
15
 
16
16
  ## CLI setup
17
17
 
18
- This skill uses `realtimex-pp-cli` version 2.0.65. Before using its commands:
18
+ This skill uses `realtimex-pp-cli` version 2.0.67. Before using its commands:
19
19
 
20
20
  ```bash
21
21
  realtimex-pp-cli --version
22
22
  ```
23
23
 
24
- If it is missing or does not report `realtimex-pp-cli 2.0.65`, install the pinned version:
24
+ If it is missing or does not report `realtimex-pp-cli 2.0.67`, install the pinned version:
25
25
 
26
26
  ```bash
27
- npm install -g @realtimex/pp-cli@2.0.65
27
+ npm install -g @realtimex/pp-cli@2.0.67
28
28
  ```
29
29
 
30
30
  For requests about the current workspace or thread, resolve context first:
@@ -15,16 +15,16 @@ Manage RealTimeX terminal agents, terminal sessions, session messages, and idle
15
15
 
16
16
  ## CLI setup
17
17
 
18
- This skill uses `realtimex-pp-cli` version 2.0.65. Before using its commands:
18
+ This skill uses `realtimex-pp-cli` version 2.0.67. Before using its commands:
19
19
 
20
20
  ```bash
21
21
  realtimex-pp-cli --version
22
22
  ```
23
23
 
24
- If it is missing or does not report `realtimex-pp-cli 2.0.65`, install the pinned version:
24
+ If it is missing or does not report `realtimex-pp-cli 2.0.67`, install the pinned version:
25
25
 
26
26
  ```bash
27
- npm install -g @realtimex/pp-cli@2.0.65
27
+ npm install -g @realtimex/pp-cli@2.0.67
28
28
  ```
29
29
 
30
30
  For requests about the current workspace or thread, resolve context first:
@@ -15,16 +15,16 @@ Create, inspect, update, test, and delete RealTimeX public webhook endpoints and
15
15
 
16
16
  ## CLI setup
17
17
 
18
- This skill uses `realtimex-pp-cli` version 2.0.65. Before using its commands:
18
+ This skill uses `realtimex-pp-cli` version 2.0.67. Before using its commands:
19
19
 
20
20
  ```bash
21
21
  realtimex-pp-cli --version
22
22
  ```
23
23
 
24
- If it is missing or does not report `realtimex-pp-cli 2.0.65`, install the pinned version:
24
+ If it is missing or does not report `realtimex-pp-cli 2.0.67`, install the pinned version:
25
25
 
26
26
  ```bash
27
- npm install -g @realtimex/pp-cli@2.0.65
27
+ npm install -g @realtimex/pp-cli@2.0.67
28
28
  ```
29
29
 
30
30
  For requests about the current workspace or thread, resolve context first:
@@ -15,16 +15,16 @@ Manage RealTimeX workspaces, threads, messages, workspace personality, LLM confi
15
15
 
16
16
  ## CLI setup
17
17
 
18
- This skill uses `realtimex-pp-cli` version 2.0.65. Before using its commands:
18
+ This skill uses `realtimex-pp-cli` version 2.0.67. Before using its commands:
19
19
 
20
20
  ```bash
21
21
  realtimex-pp-cli --version
22
22
  ```
23
23
 
24
- If it is missing or does not report `realtimex-pp-cli 2.0.65`, install the pinned version:
24
+ If it is missing or does not report `realtimex-pp-cli 2.0.67`, install the pinned version:
25
25
 
26
26
  ```bash
27
- npm install -g @realtimex/pp-cli@2.0.65
27
+ npm install -g @realtimex/pp-cli@2.0.67
28
28
  ```
29
29
 
30
30
  For requests about the current workspace or thread, resolve context first: