ente-cli 0.4.76 → 0.4.77

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 CHANGED
@@ -444,3 +444,5 @@ separate human-admin JWT surface and never serves as a fallback.
444
444
  Diagnostics is unavailable inside Ente-hosted chats, recordings and automations.
445
445
  Use the external operator command. Whole-history panel sharing does not grant
446
446
  access to diagnostics, and diagnostic reads do not append to chat history.
447
+
448
+ Identify your connection with `ente agent set-icon fish` (or `--reset`), then find its icon in `/agents`. Requires write scope and always targets your own bound agent.
package/dist/SKILL.md CHANGED
@@ -614,3 +614,12 @@ No customer bodies, arbitrary account lookup, settings writes or mailbox retries
614
614
  Diagnostics is unavailable inside Ente-hosted chats, recordings and automations.
615
615
  Use the external operator command. Whole-history panel sharing does not grant
616
616
  access to diagnostics, and diagnostic reads do not append to chat history.
617
+
618
+
619
+ ### Identify this connection
620
+
621
+ Use `ente agent set-icon fish` to change only this credential’s own Ente agent
622
+ icon, then find it in `/agents`. Use `ente agent set-icon --reset` to restore the
623
+ default. Run `ente agent set-icon --help` for curated IDs. Write scope is required;
624
+ there is no agent-ID option. Connections shows last recorded external access,
625
+ which can have historical gaps and excludes hosted/scheduled activity.
package/dist/cli.mjs CHANGED
@@ -3800,7 +3800,7 @@ async function runCli(cli2, argv, context) {
3800
3800
  }
3801
3801
 
3802
3802
  // ente/version.ts
3803
- var VERSION = "0.4.76";
3803
+ var VERSION = "0.4.77";
3804
3804
 
3805
3805
  // ente/branding.ts
3806
3806
  var NPM_REGISTRY = "https://registry.npmjs.org";
@@ -4285,6 +4285,9 @@ var EnteClient = class _EnteClient {
4285
4285
  getAuthContext() {
4286
4286
  return this.rest.get("/api/external/auth-context");
4287
4287
  }
4288
+ setAgentIcon(icon) {
4289
+ return this.rest.patch("/api/external/agent/icon", { icon });
4290
+ }
4288
4291
  getAgentConfiguration() {
4289
4292
  return this.rest.get("/api/external/agent");
4290
4293
  }
@@ -15226,6 +15229,72 @@ var RECORDINGS_COMMANDS = [
15226
15229
  RecordingBackupJoinCommand
15227
15230
  ];
15228
15231
 
15232
+ // ../packages/shared/src/agent-icon.ts
15233
+ var entityCustomIconIds = [
15234
+ "lightbulb",
15235
+ "star",
15236
+ "bookmark",
15237
+ "target",
15238
+ "flag",
15239
+ "brain",
15240
+ "book-open",
15241
+ "puzzle",
15242
+ "zap",
15243
+ "compass",
15244
+ "map",
15245
+ "wrench",
15246
+ "shield",
15247
+ "heart-handshake",
15248
+ "trophy",
15249
+ "globe-2",
15250
+ "network",
15251
+ "landmark",
15252
+ "leaf",
15253
+ "route",
15254
+ "binoculars",
15255
+ "gem",
15256
+ "crown",
15257
+ "key",
15258
+ "satellite",
15259
+ "sun"
15260
+ ];
15261
+ var activityCustomIconIds = [
15262
+ "fish",
15263
+ "bird",
15264
+ "rabbit",
15265
+ "turtle",
15266
+ "squirrel",
15267
+ "snail",
15268
+ "bug",
15269
+ "wand-sparkles",
15270
+ "drama",
15271
+ "music",
15272
+ "dice-5",
15273
+ "gift",
15274
+ "flame",
15275
+ "coffee",
15276
+ "party-popper",
15277
+ "rainbow",
15278
+ "umbrella",
15279
+ "anchor",
15280
+ "sailboat",
15281
+ "gamepad-2",
15282
+ "ghost",
15283
+ "bot",
15284
+ "cloud",
15285
+ "moon",
15286
+ "smile"
15287
+ ];
15288
+ var AGENT_ICON_IDS = [...entityCustomIconIds, ...activityCustomIconIds];
15289
+ function parseAgentIconInput(raw) {
15290
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) throw new Error("Expected { icon: curated icon ID or null }");
15291
+ const input = raw;
15292
+ if (Object.keys(input).length !== 1 || !("icon" in input) || input.icon !== null && !AGENT_ICON_IDS.some((icon) => icon === input.icon)) {
15293
+ throw new Error("Expected only icon: a curated icon ID or null; no agent ID is accepted");
15294
+ }
15295
+ return { icon: input.icon };
15296
+ }
15297
+
15229
15298
  // ente/commands/agent.ts
15230
15299
  import { readFileSync as readFileSync11 } from "node:fs";
15231
15300
  import { randomUUID } from "node:crypto";
@@ -15594,6 +15663,18 @@ var AgentNew = class extends ClientCommand {
15594
15663
  throw new Error("This connection has no bound agent. Reconnect it in /agents.");
15595
15664
  }
15596
15665
  };
15666
+ var AgentSetIcon = class extends ClientCommand {
15667
+ static paths = [["agent", "set-icon"]];
15668
+ static usage = Command.Usage({ category: "Agent", description: "Change your own agent icon (curated ID, or --reset)", details: `Icons: ${AGENT_ICON_IDS.join(", ")}` });
15669
+ icon = options_exports.String({ required: false });
15670
+ reset = options_exports.Boolean("--reset", false);
15671
+ async run() {
15672
+ if (this.reset === (this.icon !== void 0)) throw new Error("Provide one icon ID or --reset.");
15673
+ const { icon } = parseAgentIconInput({ icon: this.reset ? null : this.icon });
15674
+ const result = await this.client().setAgentIcon(icon);
15675
+ this.emitText(result, () => `Agent ${result.data.agentId}: ${result.data.icon ?? "default icon"}`);
15676
+ }
15677
+ };
15597
15678
  var AgentConfigShow = class extends ClientCommand {
15598
15679
  static paths = [["agent", "config", "show"]];
15599
15680
  static usage = Command.Usage({
@@ -15650,6 +15731,7 @@ var AGENT_COMMANDS = [
15650
15731
  AgentSend,
15651
15732
  AgentNew,
15652
15733
  AgentAnalyze,
15734
+ AgentSetIcon,
15653
15735
  AgentConfigShow,
15654
15736
  AgentConfigSetPrompt,
15655
15737
  AgentSchedulesConfigure