ente-cli 0.4.75 → 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
@@ -527,7 +527,7 @@ appear individually in the timeline; graph content reads include bounded email
527
527
  blocks. Use existing activity controls to correct thread space/owners.
528
528
  ## Entity creation and duplication
529
529
 
530
- Entity duplication copies the type, name, description, email addresses, icon and enabled bottom-bar tabs in their configured order into the selected source space. It never copies activities or existing parents. `--include-exclusive-children` recursively recreates exclusive branches already in that space with exact child names, order and aggregation settings. Shared and archived children are excluded. The operation fails atomically above 100 entities including the root. Use parent context or an ID to distinguish same-named phases across projects.
530
+ Entity duplication copies the type, name, description, email addresses, icon and enabled bottom-bar tabs in their configured order, database columns/filters/sorts, grouping rules and the calendar-sidebar list/Kanban preference into the selected source space. It never copies activities or existing parents. `--include-exclusive-children` recursively recreates exclusive branches already in that space with exact child names, order and aggregation settings. Selected-child grouping rules refer only to copied aggregation-enabled direct children; excluded children are dropped from the rule. Shared and archived children are excluded. The operation fails atomically above 100 entities including the root. Use parent context or an ID to distinguish same-named phases across projects.
531
531
 
532
532
  `entity create --parent` atomically creates and attaches a child. Add `--exclusive-parent` to restrict it to that parent. The parent must already belong to the destination space; this path never shares it or its ancestors. Resolve same-named phases by parent context or ID. Do not combine `--parent` with `--pin`; `--pin` retains the older separate-link behavior.
533
533
 
@@ -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.75";
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
  }
@@ -11253,7 +11256,7 @@ var AUTH_COMMANDS = [AuthLogin, AuthPair, AuthStatus, AuthLogout, AuthProfiles];
11253
11256
 
11254
11257
  // ../packages/shared/src/entity-duplication.ts
11255
11258
  var MAX_DUPLICATED_ENTITIES = 100;
11256
- var ENTITY_DUPLICATION_DESCRIPTION = `Duplicate an entity shell in a selected space it already belongs to. Copies type, name, description, email addresses, icon, enabled bottom-bar tabs and their order, without activities or existing parent links. Optionally recreates exclusive child branches in that same space with exact child names, order and aggregation settings. Shared and archived children are excluded. At most ${MAX_DUPLICATED_ENTITIES} entities including the root; oversized copies fail atomically.`;
11259
+ var ENTITY_DUPLICATION_DESCRIPTION = `Duplicate an entity shell in a selected space it already belongs to. Copies type, name, description, email addresses, icon, enabled bottom-bar tabs and their order, database columns/filters/sorts, grouping rules and calendar-sidebar list/Kanban preference, without activities or existing parent links. Optionally recreates exclusive child branches in that same space with exact child names, order and aggregation settings. Selected-child grouping rules are remapped to copied aggregation-enabled direct children. Shared and archived children are excluded. At most ${MAX_DUPLICATED_ENTITIES} entities including the root; oversized copies fail atomically.`;
11257
11260
 
11258
11261
  // ../packages/shared/src/entity-types.ts
11259
11262
  var ENTITY_TYPE_VALUES = [
@@ -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
@@ -16061,7 +16143,8 @@ Creating entities:
16061
16143
  ente entity create "Leistungsphase 1" --type topic --space "Studio" --parent "Building A" --exclusive-parent
16062
16144
  Creates and attaches an exclusive child atomically; the parent must already be in that space.
16063
16145
  ente entity duplicate "Building A" --space "Studio" --name "Building B" --include-exclusive-children
16064
- Copies shells, enabled bottom-bar tabs and their order, and exclusive child branches without activities (maximum 100 entities).
16146
+ Copies shells, enabled bottom-bar tabs and their order, database columns/filters/sorts, grouping rules and calendar-sidebar preference.
16147
+ Selected-child groups point to copied aggregation-enabled direct children; activities are excluded (maximum 100 entities).
16065
16148
  ente entity create "Jane Doe" --type person --pin "Acme Corp" --alias "JD"
16066
16149
  # Add --share-parents when the parent is not already in the new entity's space.
16067
16150