@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.
@@ -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(["follow", "unfollow", "threadreply", "inline_update"]);
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 syncInlineNativeCommands({
66850
+ await syncInlineCatalogs({
66628
66851
  cfg: api2.config,
66629
- logger: api2.logger
66852
+ logger: api2.logger,
66853
+ reason: "gateway_start"
66630
66854
  });
66631
- await syncInlineAgentSkills({
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=8789878E20DDF25E64756E2164756E21
66868
+ //# debugId=DA1777113556991A64756E2164756E21
66642
66869
  //# sourceMappingURL=runtime-register-api.js.map