@inline-openclaw/inline 0.0.65 → 0.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/README.md +15 -7
- package/dist/approval-handler.runtime.js +44 -5
- package/dist/approval-handler.runtime.js.map +3 -3
- package/dist/channel-plugin-api.js +110 -29
- package/dist/channel-plugin-api.js.map +8 -7
- package/dist/runtime-register-api.js +238 -11
- package/dist/runtime-register-api.js.map +9 -6
- package/docs/openclaw-setup.md +1 -1
- package/openclaw.plugin.json +0 -1
- package/package.json +1 -1
|
@@ -5622,6 +5622,20 @@ var BlockDisclosure_Kind;
|
|
|
5622
5622
|
BlockDisclosure_Kind2[BlockDisclosure_Kind2["DEFAULT"] = 0] = "DEFAULT";
|
|
5623
5623
|
BlockDisclosure_Kind2[BlockDisclosure_Kind2["PROGRESS"] = 1] = "PROGRESS";
|
|
5624
5624
|
})(BlockDisclosure_Kind || (BlockDisclosure_Kind = {}));
|
|
5625
|
+
var BlockDisclosure_ActivityKind;
|
|
5626
|
+
(function(BlockDisclosure_ActivityKind2) {
|
|
5627
|
+
BlockDisclosure_ActivityKind2[BlockDisclosure_ActivityKind2["UNSPECIFIED"] = 0] = "UNSPECIFIED";
|
|
5628
|
+
BlockDisclosure_ActivityKind2[BlockDisclosure_ActivityKind2["REASONING"] = 1] = "REASONING";
|
|
5629
|
+
BlockDisclosure_ActivityKind2[BlockDisclosure_ActivityKind2["EXPLORE"] = 2] = "EXPLORE";
|
|
5630
|
+
BlockDisclosure_ActivityKind2[BlockDisclosure_ActivityKind2["READ"] = 3] = "READ";
|
|
5631
|
+
BlockDisclosure_ActivityKind2[BlockDisclosure_ActivityKind2["SEARCH"] = 4] = "SEARCH";
|
|
5632
|
+
BlockDisclosure_ActivityKind2[BlockDisclosure_ActivityKind2["EDIT"] = 5] = "EDIT";
|
|
5633
|
+
BlockDisclosure_ActivityKind2[BlockDisclosure_ActivityKind2["DELETE"] = 6] = "DELETE";
|
|
5634
|
+
BlockDisclosure_ActivityKind2[BlockDisclosure_ActivityKind2["MOVE"] = 7] = "MOVE";
|
|
5635
|
+
BlockDisclosure_ActivityKind2[BlockDisclosure_ActivityKind2["COMMAND"] = 8] = "COMMAND";
|
|
5636
|
+
BlockDisclosure_ActivityKind2[BlockDisclosure_ActivityKind2["WEB"] = 9] = "WEB";
|
|
5637
|
+
BlockDisclosure_ActivityKind2[BlockDisclosure_ActivityKind2["TOOL"] = 10] = "TOOL";
|
|
5638
|
+
})(BlockDisclosure_ActivityKind || (BlockDisclosure_ActivityKind = {}));
|
|
5625
5639
|
var BlockTable_Alignment;
|
|
5626
5640
|
(function(BlockTable_Alignment2) {
|
|
5627
5641
|
BlockTable_Alignment2[BlockTable_Alignment2["UNSPECIFIED"] = 0] = "UNSPECIFIED";
|
|
@@ -9541,13 +9555,15 @@ class BlockDisclosure$Type extends import_runtime4.MessageType {
|
|
|
9541
9555
|
{ no: 2, name: "kind", kind: "enum", T: () => ["BlockDisclosure.Kind", BlockDisclosure_Kind, "KIND_"] },
|
|
9542
9556
|
{ no: 3, name: "initially_open", kind: "scalar", opt: true, T: 8 },
|
|
9543
9557
|
{ no: 4, name: "children", kind: "message", repeat: 1, T: () => Block },
|
|
9544
|
-
{ no: 5, name: "is_rtl", kind: "scalar", opt: true, T: 8 }
|
|
9558
|
+
{ no: 5, name: "is_rtl", kind: "scalar", opt: true, T: 8 },
|
|
9559
|
+
{ no: 6, name: "activity_kind", kind: "enum", T: () => ["BlockDisclosure.ActivityKind", BlockDisclosure_ActivityKind, "ACTIVITY_KIND_"] }
|
|
9545
9560
|
]);
|
|
9546
9561
|
}
|
|
9547
9562
|
create(value) {
|
|
9548
9563
|
const message = globalThis.Object.create(this.messagePrototype);
|
|
9549
9564
|
message.kind = 0;
|
|
9550
9565
|
message.children = [];
|
|
9566
|
+
message.activityKind = 0;
|
|
9551
9567
|
if (value !== undefined)
|
|
9552
9568
|
import_runtime3.reflectionMergePartial(this, message, value);
|
|
9553
9569
|
return message;
|
|
@@ -9572,6 +9588,9 @@ class BlockDisclosure$Type extends import_runtime4.MessageType {
|
|
|
9572
9588
|
case 5:
|
|
9573
9589
|
message.isRtl = reader.bool();
|
|
9574
9590
|
break;
|
|
9591
|
+
case 6:
|
|
9592
|
+
message.activityKind = reader.int32();
|
|
9593
|
+
break;
|
|
9575
9594
|
default:
|
|
9576
9595
|
let u = options.readUnknownField;
|
|
9577
9596
|
if (u === "throw")
|
|
@@ -9594,6 +9613,8 @@ class BlockDisclosure$Type extends import_runtime4.MessageType {
|
|
|
9594
9613
|
Block.internalBinaryWrite(message.children[i], writer.tag(4, import_runtime.WireType.LengthDelimited).fork(), options).join();
|
|
9595
9614
|
if (message.isRtl !== undefined)
|
|
9596
9615
|
writer.tag(5, import_runtime.WireType.Varint).bool(message.isRtl);
|
|
9616
|
+
if (message.activityKind !== 0)
|
|
9617
|
+
writer.tag(6, import_runtime.WireType.Varint).int32(message.activityKind);
|
|
9597
9618
|
let u = options.writeUnknownFields;
|
|
9598
9619
|
if (u !== false)
|
|
9599
9620
|
(u == true ? import_runtime2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
|
@@ -33860,7 +33881,8 @@ class AgentProjectCatalog$Type extends import_runtime4.MessageType {
|
|
|
33860
33881
|
constructor() {
|
|
33861
33882
|
super("AgentProjectCatalog", [
|
|
33862
33883
|
{ no: 1, name: "options", kind: "message", repeat: 1, T: () => AgentProjectOption },
|
|
33863
|
-
{ no: 2, name: "can_select_folder", kind: "scalar", opt: true, T: 8 }
|
|
33884
|
+
{ no: 2, name: "can_select_folder", kind: "scalar", opt: true, T: 8 },
|
|
33885
|
+
{ no: 3, name: "default_project_id", kind: "scalar", opt: true, T: 9 }
|
|
33864
33886
|
]);
|
|
33865
33887
|
}
|
|
33866
33888
|
create(value) {
|
|
@@ -33881,6 +33903,9 @@ class AgentProjectCatalog$Type extends import_runtime4.MessageType {
|
|
|
33881
33903
|
case 2:
|
|
33882
33904
|
message.canSelectFolder = reader.bool();
|
|
33883
33905
|
break;
|
|
33906
|
+
case 3:
|
|
33907
|
+
message.defaultProjectId = reader.string();
|
|
33908
|
+
break;
|
|
33884
33909
|
default:
|
|
33885
33910
|
let u = options.readUnknownField;
|
|
33886
33911
|
if (u === "throw")
|
|
@@ -33897,6 +33922,8 @@ class AgentProjectCatalog$Type extends import_runtime4.MessageType {
|
|
|
33897
33922
|
AgentProjectOption.internalBinaryWrite(message.options[i], writer.tag(1, import_runtime.WireType.LengthDelimited).fork(), options).join();
|
|
33898
33923
|
if (message.canSelectFolder !== undefined)
|
|
33899
33924
|
writer.tag(2, import_runtime.WireType.Varint).bool(message.canSelectFolder);
|
|
33925
|
+
if (message.defaultProjectId !== undefined)
|
|
33926
|
+
writer.tag(3, import_runtime.WireType.LengthDelimited).string(message.defaultProjectId);
|
|
33900
33927
|
let u = options.writeUnknownFields;
|
|
33901
33928
|
if (u !== false)
|
|
33902
33929
|
(u == true ? import_runtime2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
|
@@ -34010,7 +34037,8 @@ class AgentModelOption$Type extends import_runtime4.MessageType {
|
|
|
34010
34037
|
{ no: 1, name: "id", kind: "scalar", T: 9 },
|
|
34011
34038
|
{ no: 2, name: "label", kind: "scalar", T: 9 },
|
|
34012
34039
|
{ no: 3, name: "description", kind: "scalar", opt: true, T: 9 },
|
|
34013
|
-
{ no: 4, name: "reasoning_effort_ids", kind: "scalar", repeat: 2, T: 9 }
|
|
34040
|
+
{ no: 4, name: "reasoning_effort_ids", kind: "scalar", repeat: 2, T: 9 },
|
|
34041
|
+
{ no: 5, name: "default_reasoning_effort_id", kind: "scalar", opt: true, T: 9 }
|
|
34014
34042
|
]);
|
|
34015
34043
|
}
|
|
34016
34044
|
create(value) {
|
|
@@ -34039,6 +34067,9 @@ class AgentModelOption$Type extends import_runtime4.MessageType {
|
|
|
34039
34067
|
case 4:
|
|
34040
34068
|
message.reasoningEffortIds.push(reader.string());
|
|
34041
34069
|
break;
|
|
34070
|
+
case 5:
|
|
34071
|
+
message.defaultReasoningEffortId = reader.string();
|
|
34072
|
+
break;
|
|
34042
34073
|
default:
|
|
34043
34074
|
let u = options.readUnknownField;
|
|
34044
34075
|
if (u === "throw")
|
|
@@ -34059,6 +34090,8 @@ class AgentModelOption$Type extends import_runtime4.MessageType {
|
|
|
34059
34090
|
writer.tag(3, import_runtime.WireType.LengthDelimited).string(message.description);
|
|
34060
34091
|
for (let i = 0;i < message.reasoningEffortIds.length; i++)
|
|
34061
34092
|
writer.tag(4, import_runtime.WireType.LengthDelimited).string(message.reasoningEffortIds[i]);
|
|
34093
|
+
if (message.defaultReasoningEffortId !== undefined)
|
|
34094
|
+
writer.tag(5, import_runtime.WireType.LengthDelimited).string(message.defaultReasoningEffortId);
|
|
34062
34095
|
let u = options.writeUnknownFields;
|
|
34063
34096
|
if (u !== false)
|
|
34064
34097
|
(u == true ? import_runtime2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
|
@@ -34070,7 +34103,8 @@ var AgentModelOption = new AgentModelOption$Type;
|
|
|
34070
34103
|
class AgentModelCatalog$Type extends import_runtime4.MessageType {
|
|
34071
34104
|
constructor() {
|
|
34072
34105
|
super("AgentModelCatalog", [
|
|
34073
|
-
{ no: 1, name: "options", kind: "message", repeat: 1, T: () => AgentModelOption }
|
|
34106
|
+
{ no: 1, name: "options", kind: "message", repeat: 1, T: () => AgentModelOption },
|
|
34107
|
+
{ no: 2, name: "default_model_id", kind: "scalar", opt: true, T: 9 }
|
|
34074
34108
|
]);
|
|
34075
34109
|
}
|
|
34076
34110
|
create(value) {
|
|
@@ -34088,6 +34122,9 @@ class AgentModelCatalog$Type extends import_runtime4.MessageType {
|
|
|
34088
34122
|
case 1:
|
|
34089
34123
|
message.options.push(AgentModelOption.internalBinaryRead(reader, reader.uint32(), options));
|
|
34090
34124
|
break;
|
|
34125
|
+
case 2:
|
|
34126
|
+
message.defaultModelId = reader.string();
|
|
34127
|
+
break;
|
|
34091
34128
|
default:
|
|
34092
34129
|
let u = options.readUnknownField;
|
|
34093
34130
|
if (u === "throw")
|
|
@@ -34102,6 +34139,8 @@ class AgentModelCatalog$Type extends import_runtime4.MessageType {
|
|
|
34102
34139
|
internalBinaryWrite(message, writer, options) {
|
|
34103
34140
|
for (let i = 0;i < message.options.length; i++)
|
|
34104
34141
|
AgentModelOption.internalBinaryWrite(message.options[i], writer.tag(1, import_runtime.WireType.LengthDelimited).fork(), options).join();
|
|
34142
|
+
if (message.defaultModelId !== undefined)
|
|
34143
|
+
writer.tag(2, import_runtime.WireType.LengthDelimited).string(message.defaultModelId);
|
|
34105
34144
|
let u = options.writeUnknownFields;
|
|
34106
34145
|
if (u !== false)
|
|
34107
34146
|
(u == true ? import_runtime2.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
|
@@ -66279,13 +66318,44 @@ function createInlineUpdateCommand(api2) {
|
|
|
66279
66318
|
};
|
|
66280
66319
|
}
|
|
66281
66320
|
|
|
66321
|
+
// src/inline/maintenance-command-specs.ts
|
|
66322
|
+
var INLINE_SYNC_COMMAND_SPEC = {
|
|
66323
|
+
name: "inline-sync",
|
|
66324
|
+
nativeNames: { inline: "inline_sync" },
|
|
66325
|
+
nativeProgressMessages: { inline: "Syncing Inline commands and skills…" },
|
|
66326
|
+
description: "Resync Inline commands and skills",
|
|
66327
|
+
channels: ["inline"],
|
|
66328
|
+
acceptsArgs: false
|
|
66329
|
+
};
|
|
66330
|
+
var INLINE_VERSION_COMMAND_SPEC = {
|
|
66331
|
+
name: "inline-version",
|
|
66332
|
+
nativeNames: { inline: "inline_version" },
|
|
66333
|
+
description: "Show Inline plugin and sync information",
|
|
66334
|
+
channels: ["inline"],
|
|
66335
|
+
acceptsArgs: false
|
|
66336
|
+
};
|
|
66337
|
+
function listInlineMaintenanceCommandSpecs() {
|
|
66338
|
+
return [INLINE_SYNC_COMMAND_SPEC, INLINE_VERSION_COMMAND_SPEC].map((spec) => ({
|
|
66339
|
+
name: spec.nativeNames.inline,
|
|
66340
|
+
description: spec.description,
|
|
66341
|
+
acceptsArgs: spec.acceptsArgs
|
|
66342
|
+
}));
|
|
66343
|
+
}
|
|
66344
|
+
|
|
66282
66345
|
// src/inline/bot-commands-sync.ts
|
|
66283
66346
|
var INLINE_COMMAND_NAME_RE = /^[a-z0-9_]{1,32}$/;
|
|
66284
66347
|
var INLINE_COMMAND_LIMIT = 100;
|
|
66285
66348
|
var INLINE_COMMAND_DESCRIPTION_LIMIT = 256;
|
|
66286
66349
|
var INLINE_COMMAND_RETRY_RATIO = 0.8;
|
|
66287
66350
|
var INLINE_NATIVE_COMMAND_PROVIDER = "inline";
|
|
66288
|
-
var INLINE_REQUIRED_COMMAND_NAMES = new Set([
|
|
66351
|
+
var INLINE_REQUIRED_COMMAND_NAMES = new Set([
|
|
66352
|
+
"follow",
|
|
66353
|
+
"unfollow",
|
|
66354
|
+
"threadreply",
|
|
66355
|
+
"inline_update",
|
|
66356
|
+
"inline_sync",
|
|
66357
|
+
"inline_version"
|
|
66358
|
+
]);
|
|
66289
66359
|
function resolveInlineChannelCommands(cfg) {
|
|
66290
66360
|
const inline = cfg.channels?.inline;
|
|
66291
66361
|
if (typeof inline !== "object" || inline === null || Array.isArray(inline))
|
|
@@ -66395,7 +66465,8 @@ async function buildInlineNativeCommandsForConfig(params) {
|
|
|
66395
66465
|
...getPluginCommandSpecs("inline", { config: params.cfg }),
|
|
66396
66466
|
...listInlineFollowCommandSpecs(),
|
|
66397
66467
|
...listInlineBuiltinCommandSpecs(),
|
|
66398
|
-
...listInlineUpdateCommandSpecs()
|
|
66468
|
+
...listInlineUpdateCommandSpecs(),
|
|
66469
|
+
...listInlineMaintenanceCommandSpecs()
|
|
66399
66470
|
];
|
|
66400
66471
|
const seen = new Set;
|
|
66401
66472
|
const resolved = [];
|
|
@@ -66576,6 +66647,155 @@ async function syncInlineAgentSkills(params) {
|
|
|
66576
66647
|
return { attempted, synced, failed };
|
|
66577
66648
|
}
|
|
66578
66649
|
|
|
66650
|
+
// src/inline/catalog-sync.ts
|
|
66651
|
+
var syncTail = Promise.resolve();
|
|
66652
|
+
var lastStatus;
|
|
66653
|
+
async function performInlineCatalogSync(params) {
|
|
66654
|
+
const commands = await syncInlineNativeCommands({
|
|
66655
|
+
cfg: params.cfg,
|
|
66656
|
+
...params.logger ? { logger: params.logger } : {}
|
|
66657
|
+
});
|
|
66658
|
+
const skills = await syncInlineAgentSkills({
|
|
66659
|
+
cfg: params.cfg,
|
|
66660
|
+
...params.logger ? { logger: params.logger } : {}
|
|
66661
|
+
});
|
|
66662
|
+
const status = {
|
|
66663
|
+
reason: params.reason,
|
|
66664
|
+
completedAt: new Date().toISOString(),
|
|
66665
|
+
commands,
|
|
66666
|
+
skills
|
|
66667
|
+
};
|
|
66668
|
+
lastStatus = status;
|
|
66669
|
+
return status;
|
|
66670
|
+
}
|
|
66671
|
+
function syncInlineCatalogs(params) {
|
|
66672
|
+
const run = syncTail.then(() => performInlineCatalogSync(params), () => performInlineCatalogSync(params));
|
|
66673
|
+
syncTail = run;
|
|
66674
|
+
return run;
|
|
66675
|
+
}
|
|
66676
|
+
function getLastInlineCatalogSyncStatus() {
|
|
66677
|
+
return lastStatus;
|
|
66678
|
+
}
|
|
66679
|
+
|
|
66680
|
+
// src/inline/maintenance-command.ts
|
|
66681
|
+
import { stat } from "node:fs/promises";
|
|
66682
|
+
function formatTimestamp(value) {
|
|
66683
|
+
if (!value)
|
|
66684
|
+
return "unavailable";
|
|
66685
|
+
const date5 = new Date(value);
|
|
66686
|
+
return Number.isNaN(date5.valueOf()) ? "unavailable" : date5.toISOString();
|
|
66687
|
+
}
|
|
66688
|
+
function summarizeSync(status) {
|
|
66689
|
+
if (!status)
|
|
66690
|
+
return "not run in this process";
|
|
66691
|
+
const commands = `${status.commands.synced}/${status.commands.attempted} command account(s) synced`;
|
|
66692
|
+
const skills = `${status.skills.synced}/${status.skills.attempted} skill account(s) synced`;
|
|
66693
|
+
const failures = status.commands.failed + status.skills.failed;
|
|
66694
|
+
return `${status.completedAt} (${status.reason}; ${commands}; ${skills}; ${failures} failure(s))`;
|
|
66695
|
+
}
|
|
66696
|
+
function installRecord(api2) {
|
|
66697
|
+
const plugins = api2.config.plugins;
|
|
66698
|
+
return plugins?.installs?.[api2.id] ?? plugins?.installs?.inline;
|
|
66699
|
+
}
|
|
66700
|
+
async function resolveInstallMetadata(api2) {
|
|
66701
|
+
let record3 = installRecord(api2);
|
|
66702
|
+
try {
|
|
66703
|
+
if (await api2.runtime.gateway.isAvailable()) {
|
|
66704
|
+
const inspection = await api2.runtime.gateway.request("plugins.inspect", {
|
|
66705
|
+
pluginId: api2.id
|
|
66706
|
+
});
|
|
66707
|
+
record3 = {
|
|
66708
|
+
...record3,
|
|
66709
|
+
...inspection.plugin?.version ? { version: inspection.plugin.version } : {},
|
|
66710
|
+
...inspection.source?.kind ? { source: inspection.source.kind } : {}
|
|
66711
|
+
};
|
|
66712
|
+
}
|
|
66713
|
+
} catch {}
|
|
66714
|
+
if (record3?.installedAt || !api2.rootDir) {
|
|
66715
|
+
return { record: record3, timestampIsFilesystemMetadata: false };
|
|
66716
|
+
}
|
|
66717
|
+
try {
|
|
66718
|
+
const metadata = await stat(api2.rootDir);
|
|
66719
|
+
const timestampMs = Math.max(metadata.birthtimeMs, metadata.ctimeMs, metadata.mtimeMs);
|
|
66720
|
+
if (Number.isFinite(timestampMs) && timestampMs > 0) {
|
|
66721
|
+
record3 = { ...record3, installedAt: new Date(timestampMs).toISOString() };
|
|
66722
|
+
return { record: record3, timestampIsFilesystemMetadata: true };
|
|
66723
|
+
}
|
|
66724
|
+
} catch {}
|
|
66725
|
+
return { record: record3, timestampIsFilesystemMetadata: false };
|
|
66726
|
+
}
|
|
66727
|
+
function buildInlineVersionText(api2, metadata = {
|
|
66728
|
+
record: installRecord(api2),
|
|
66729
|
+
timestampIsFilesystemMetadata: false
|
|
66730
|
+
}) {
|
|
66731
|
+
const { record: record3 } = metadata;
|
|
66732
|
+
const pluginVersion = api2.version ?? record3?.resolvedVersion ?? record3?.version ?? "unknown";
|
|
66733
|
+
const resolvedVersion = record3?.resolvedVersion;
|
|
66734
|
+
const lines = [
|
|
66735
|
+
"Inline OpenClaw plugin",
|
|
66736
|
+
`Plugin version: ${pluginVersion}`,
|
|
66737
|
+
`OpenClaw version: ${api2.runtime.version || "unknown"}`,
|
|
66738
|
+
`Install source: ${record3?.source ?? "unavailable"}`,
|
|
66739
|
+
`Last install/update: ${formatTimestamp(record3?.installedAt)}${metadata.timestampIsFilesystemMetadata ? " (filesystem metadata)" : ""}`
|
|
66740
|
+
];
|
|
66741
|
+
if (resolvedVersion && resolvedVersion !== pluginVersion) {
|
|
66742
|
+
lines.push(`Resolved version: ${resolvedVersion}`);
|
|
66743
|
+
}
|
|
66744
|
+
if (record3?.resolvedAt) {
|
|
66745
|
+
lines.push(`Resolved at: ${formatTimestamp(record3.resolvedAt)}`);
|
|
66746
|
+
}
|
|
66747
|
+
lines.push(`Last catalog sync: ${summarizeSync(getLastInlineCatalogSyncStatus())}`);
|
|
66748
|
+
return lines.join(`
|
|
66749
|
+
`);
|
|
66750
|
+
}
|
|
66751
|
+
async function handleInlineSyncCommand(api2, ctx) {
|
|
66752
|
+
if (!ctx.isAuthorizedSender) {
|
|
66753
|
+
return { text: "This Inline command is not available to this sender." };
|
|
66754
|
+
}
|
|
66755
|
+
if (ctx.args?.trim()) {
|
|
66756
|
+
return { text: "Usage: /inline_sync" };
|
|
66757
|
+
}
|
|
66758
|
+
try {
|
|
66759
|
+
const status = await syncInlineCatalogs({
|
|
66760
|
+
cfg: api2.config,
|
|
66761
|
+
logger: api2.logger,
|
|
66762
|
+
reason: "manual"
|
|
66763
|
+
});
|
|
66764
|
+
const failed = status.commands.failed + status.skills.failed;
|
|
66765
|
+
if (failed > 0) {
|
|
66766
|
+
return {
|
|
66767
|
+
text: `Inline catalog sync completed with ${failed} failure(s). Commands: ${status.commands.synced}/${status.commands.attempted} accounts. Skills: ${status.skills.synced}/${status.skills.attempted} accounts. Check OpenClaw logs for [inline] sync details.`
|
|
66768
|
+
};
|
|
66769
|
+
}
|
|
66770
|
+
return {
|
|
66771
|
+
text: `Inline catalogs synced. Commands: ${status.commands.synced}/${status.commands.attempted} accounts. Skills: ${status.skills.synced}/${status.skills.attempted} accounts. Open or reopen the Skilled Agent editor in Inline to load the updated catalog.`
|
|
66772
|
+
};
|
|
66773
|
+
} catch (error51) {
|
|
66774
|
+
api2.logger.warn?.(`[inline] manual catalog sync failed: ${String(error51)}`);
|
|
66775
|
+
return { text: "Inline catalog sync failed. Check OpenClaw logs for [inline] sync details." };
|
|
66776
|
+
}
|
|
66777
|
+
}
|
|
66778
|
+
function createInlineMaintenanceCommands(api2) {
|
|
66779
|
+
return [
|
|
66780
|
+
{
|
|
66781
|
+
...INLINE_SYNC_COMMAND_SPEC,
|
|
66782
|
+
handler: async (ctx) => await handleInlineSyncCommand(api2, ctx)
|
|
66783
|
+
},
|
|
66784
|
+
{
|
|
66785
|
+
...INLINE_VERSION_COMMAND_SPEC,
|
|
66786
|
+
handler: async (ctx) => {
|
|
66787
|
+
if (!ctx.isAuthorizedSender) {
|
|
66788
|
+
return { text: "This Inline command is not available to this sender." };
|
|
66789
|
+
}
|
|
66790
|
+
if (ctx.args?.trim()) {
|
|
66791
|
+
return { text: "Usage: /inline_version" };
|
|
66792
|
+
}
|
|
66793
|
+
return { text: buildInlineVersionText(api2, await resolveInstallMetadata(api2)) };
|
|
66794
|
+
}
|
|
66795
|
+
}
|
|
66796
|
+
];
|
|
66797
|
+
}
|
|
66798
|
+
|
|
66579
66799
|
// src/runtime-register-api.ts
|
|
66580
66800
|
function registerInlinePluginFull(api2) {
|
|
66581
66801
|
api2.registerTool((ctx) => createInlineMembersTool(ctx), {
|
|
@@ -66606,6 +66826,9 @@ function registerInlinePluginFull(api2) {
|
|
|
66606
66826
|
registerCommand(command);
|
|
66607
66827
|
}
|
|
66608
66828
|
registerCommand(createInlineUpdateCommand(api2));
|
|
66829
|
+
for (const command of createInlineMaintenanceCommands(api2)) {
|
|
66830
|
+
registerCommand(command);
|
|
66831
|
+
}
|
|
66609
66832
|
}
|
|
66610
66833
|
api2.on("message_sending", (event, ctx) => {
|
|
66611
66834
|
if (ctx.channelId !== "inline")
|
|
@@ -66624,13 +66847,17 @@ function registerInlinePluginFull(api2) {
|
|
|
66624
66847
|
return { content };
|
|
66625
66848
|
});
|
|
66626
66849
|
api2.on("gateway_start", async () => {
|
|
66627
|
-
await
|
|
66850
|
+
await syncInlineCatalogs({
|
|
66628
66851
|
cfg: api2.config,
|
|
66629
|
-
logger: api2.logger
|
|
66852
|
+
logger: api2.logger,
|
|
66853
|
+
reason: "gateway_start"
|
|
66630
66854
|
});
|
|
66631
|
-
|
|
66855
|
+
});
|
|
66856
|
+
api2.on("skill_changed", async () => {
|
|
66857
|
+
await syncInlineCatalogs({
|
|
66632
66858
|
cfg: api2.config,
|
|
66633
|
-
logger: api2.logger
|
|
66859
|
+
logger: api2.logger,
|
|
66860
|
+
reason: "skill_changed"
|
|
66634
66861
|
});
|
|
66635
66862
|
});
|
|
66636
66863
|
}
|
|
@@ -66638,5 +66865,5 @@ export {
|
|
|
66638
66865
|
registerInlinePluginFull
|
|
66639
66866
|
};
|
|
66640
66867
|
|
|
66641
|
-
//# debugId=
|
|
66868
|
+
//# debugId=DA1777113556991A64756E2164756E21
|
|
66642
66869
|
//# sourceMappingURL=runtime-register-api.js.map
|