@legioncodeinc/honeycomb 0.1.7 → 0.1.9

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.
@@ -83,8 +83,28 @@ function nested(raw, key) {
83
83
  function userMessageData(text) {
84
84
  return { kind: "user_message", text };
85
85
  }
86
- function assistantMessageData(text) {
87
- return { kind: "assistant_message", text };
86
+ function assistantMessageData(text, usage) {
87
+ const normalized = usage !== void 0 ? compactUsage(usage) : void 0;
88
+ return {
89
+ kind: "assistant_message",
90
+ text,
91
+ ...normalized !== void 0 ? { usage: normalized } : {}
92
+ };
93
+ }
94
+ function compactUsage(usage) {
95
+ const out = {};
96
+ if (isCount(usage.input))
97
+ out.input = usage.input;
98
+ if (isCount(usage.output))
99
+ out.output = usage.output;
100
+ if (isCount(usage.cacheRead))
101
+ out.cacheRead = usage.cacheRead;
102
+ if (isCount(usage.cacheCreation))
103
+ out.cacheCreation = usage.cacheCreation;
104
+ return Object.keys(out).length > 0 ? out : void 0;
105
+ }
106
+ function isCount(n) {
107
+ return typeof n === "number" && Number.isInteger(n) && n >= 0;
88
108
  }
89
109
  function toolCallData(tool, input, response) {
90
110
  return { kind: "tool_call", tool, input, response };
@@ -950,38 +970,52 @@ var SKILL_ROW_DEFAULTS = Object.freeze({
950
970
  });
951
971
 
952
972
  // dist/src/commands/contracts.js
973
+ var VERB_GROUPS = Object.freeze([
974
+ { key: "memory", label: "Memory & recall" },
975
+ { key: "knowledge", label: "Knowledge & skills" },
976
+ { key: "agents", label: "Agents, routing & config" },
977
+ { key: "account", label: "Account & workspaces" },
978
+ { key: "system", label: "Setup & system" }
979
+ ]);
953
980
  var VERB_TABLE = Object.freeze([
954
- { verb: "setup", cls: "local", summary: "detect assistants, wire hooks, bring up the daemon" },
955
- { verb: "install", cls: "local", summary: "bring up the daemon (health-gated) + open the dashboard (PRD-050a)" },
956
- { verb: "status", cls: "local", summary: "daemon connectivity + login + D1\u2013D5 environment health" },
957
- { verb: "daemon", cls: "local", summary: "start | stop | status the loopback daemon (3850)" },
958
- { verb: "dashboard", cls: "local", summary: "launch the daemon-served dashboard (020b)" },
959
- { verb: "telemetry", cls: "local", summary: "show exactly what adoption telemetry has been / would be sent (--show, PRD-050e)" },
960
- { verb: "pollinate", cls: "storage", summary: "trigger a pollinating consolidation pass on the daemon (009/026)" },
961
- { verb: "maintenance", cls: "storage", summary: "run version-history compaction over version-bumped tables (030)" },
962
- { verb: "remember", cls: "storage", summary: "write a memory through the daemon (--type fact|convention|preference|decision|gotcha|reference)" },
963
- { verb: "recall", cls: "storage", summary: "recall memories through the daemon" },
964
- { verb: "memory", cls: "storage", summary: "lifecycle: conflicts (list/resolve), stale-refs (list), inspect <id> --lifecycle (058d)" },
965
- { verb: "agent", cls: "storage", summary: "run an agent turn through the daemon" },
966
- { verb: "ontology", cls: "storage", summary: "inspect/propose ontology changes through the daemon" },
967
- { verb: "secret", cls: "storage", summary: "manage named secrets through the daemon" },
968
- { verb: "settings", cls: "storage", summary: "get/set/list vault settings + provider\u2192model selector through the daemon" },
969
- { verb: "asset", cls: "storage", summary: "register/promote/demote/style skills+agents through the tier\xD7style lattice (033)" },
970
- { verb: "skill", cls: "storage", summary: "skillify scope/pull/unpull/force/promote through the daemon (promote = cross-project, 049c)" },
971
- { verb: "skillify", cls: "storage", summary: "pull team skills from the daemon (016c)" },
972
- { verb: "hook", cls: "local", summary: "inspect/wire harness hooks" },
973
- { verb: "route", cls: "storage", summary: "manage inference routes through the daemon" },
974
- { verb: "sources", cls: "storage", summary: "connect/index/purge sources through the daemon" },
975
- { verb: "graph", cls: "storage", summary: "build/query the codebase graph through the daemon" },
976
- { verb: "goal", cls: "storage", summary: "manage goals/KPIs through the daemon" },
977
- { verb: "whoami", cls: "auth", summary: "show the authenticated user, org, and workspace (GET /me)" },
978
- { verb: "org", cls: "auth", summary: "list/switch org (passthrough to the auth dispatcher)" },
979
- { verb: "workspace", cls: "auth", summary: "list/switch/use workspace (passthrough to the auth dispatcher)" },
980
- { verb: "workspaces", cls: "auth", summary: "list workspaces in the active org (alias of `workspace list`)" },
981
- { verb: "project", cls: "auth", summary: "list/bind/use projects + show the resolved per-folder scope (049d)" },
982
- { verb: "sessions", cls: "storage", summary: "list/prune captured sessions through the daemon" },
983
- { verb: "uninstall", cls: "local", summary: "reverse only Honeycomb's changes" },
984
- { verb: "update", cls: "local", summary: "self-update the CLI, daemon, and bundles" }
981
+ // Memory & recall the product's core write/read/lifecycle surface.
982
+ { verb: "remember", cls: "storage", group: "memory", summary: "write a memory through the daemon (--type fact|convention|preference|decision|gotcha|reference)" },
983
+ { verb: "recall", cls: "storage", group: "memory", summary: "recall memories through the daemon" },
984
+ { verb: "memory", cls: "storage", group: "memory", summary: "lifecycle: conflicts (list/resolve), stale-refs (list), inspect <id> --lifecycle (058d)" },
985
+ { verb: "sessions", cls: "storage", group: "memory", summary: "list/prune captured sessions through the daemon" },
986
+ { verb: "pollinate", cls: "storage", group: "memory", summary: "trigger a pollinating consolidation pass on the daemon (009/026)" },
987
+ { verb: "maintenance", cls: "storage", group: "memory", summary: "run version-history compaction over version-bumped tables (030)" },
988
+ // Knowledge & skills — skills, assets, ontology, the codebase graph, and goals.
989
+ { verb: "skill", cls: "storage", group: "knowledge", summary: "skillify scope/pull/unpull/force/promote through the daemon (promote = cross-project, 049c)" },
990
+ { verb: "skillify", cls: "storage", group: "knowledge", summary: "pull team skills from the daemon (016c)" },
991
+ { verb: "asset", cls: "storage", group: "knowledge", summary: "register/promote/demote/style skills+agents through the tier\xD7style lattice (033)" },
992
+ { verb: "ontology", cls: "storage", group: "knowledge", summary: "inspect/propose ontology changes through the daemon" },
993
+ { verb: "graph", cls: "storage", group: "knowledge", summary: "build/query the codebase graph through the daemon" },
994
+ { verb: "sources", cls: "storage", group: "knowledge", summary: "connect/index/purge sources through the daemon" },
995
+ { verb: "goal", cls: "storage", group: "knowledge", summary: "manage goals/KPIs through the daemon" },
996
+ // Agents, routing & config agent turns, inference routes, secrets, and vault settings.
997
+ { verb: "agent", cls: "storage", group: "agents", summary: "run an agent turn through the daemon" },
998
+ { verb: "route", cls: "storage", group: "agents", summary: "manage inference routes through the daemon" },
999
+ { verb: "secret", cls: "storage", group: "agents", summary: "manage named secrets through the daemon" },
1000
+ { verb: "settings", cls: "storage", group: "agents", summary: "get/set/list vault settings + provider\u2192model selector through the daemon" },
1001
+ // Account & workspaces — auth, identity, and the org/workspace/project scope surface.
1002
+ { verb: "login", cls: "auth", group: "account", summary: "authenticate via device flow, or --token <key> for headless (023)" },
1003
+ { verb: "logout", cls: "auth", group: "account", summary: "remove the shared credentials and sign out (023)" },
1004
+ { verb: "whoami", cls: "auth", group: "account", summary: "show the authenticated user, org, and workspace (GET /me)" },
1005
+ { verb: "org", cls: "auth", group: "account", summary: "list/switch org (passthrough to the auth dispatcher)" },
1006
+ { verb: "workspace", cls: "auth", group: "account", summary: "list/switch/use workspace (passthrough to the auth dispatcher)" },
1007
+ { verb: "workspaces", cls: "auth", group: "account", summary: "list workspaces in the active org (alias of `workspace list`)" },
1008
+ { verb: "project", cls: "auth", group: "account", summary: "list/bind/use projects + show the resolved per-folder scope (049d)" },
1009
+ // Setup & system install/onboard, daemon lifecycle, dashboard, hooks, telemetry, update.
1010
+ { verb: "setup", cls: "local", group: "system", summary: "detect assistants, wire hooks, bring up the daemon" },
1011
+ { verb: "install", cls: "local", group: "system", summary: "bring up the daemon (health-gated) + open the dashboard (PRD-050a)" },
1012
+ { verb: "status", cls: "local", group: "system", summary: "daemon connectivity + login + D1\u2013D5 environment health" },
1013
+ { verb: "daemon", cls: "local", group: "system", summary: "start | stop | status the loopback daemon (3850)" },
1014
+ { verb: "dashboard", cls: "local", group: "system", summary: "launch the daemon-served dashboard (020b)" },
1015
+ { verb: "hook", cls: "local", group: "system", summary: "inspect/wire harness hooks" },
1016
+ { verb: "telemetry", cls: "local", group: "system", summary: "show exactly what adoption telemetry has been / would be sent (--show, PRD-050e)" },
1017
+ { verb: "update", cls: "local", group: "system", summary: "self-update the CLI, daemon, and bundles" },
1018
+ { verb: "uninstall", cls: "local", group: "system", summary: "reverse only Honeycomb's changes" }
985
1019
  ]);
986
1020
  var DEFAULT_GLOBAL_FLAGS = Object.freeze({
987
1021
  help: false,
@@ -83,8 +83,28 @@ function nested(raw, key) {
83
83
  function userMessageData(text) {
84
84
  return { kind: "user_message", text };
85
85
  }
86
- function assistantMessageData(text) {
87
- return { kind: "assistant_message", text };
86
+ function assistantMessageData(text, usage) {
87
+ const normalized = usage !== void 0 ? compactUsage(usage) : void 0;
88
+ return {
89
+ kind: "assistant_message",
90
+ text,
91
+ ...normalized !== void 0 ? { usage: normalized } : {}
92
+ };
93
+ }
94
+ function compactUsage(usage) {
95
+ const out = {};
96
+ if (isCount(usage.input))
97
+ out.input = usage.input;
98
+ if (isCount(usage.output))
99
+ out.output = usage.output;
100
+ if (isCount(usage.cacheRead))
101
+ out.cacheRead = usage.cacheRead;
102
+ if (isCount(usage.cacheCreation))
103
+ out.cacheCreation = usage.cacheCreation;
104
+ return Object.keys(out).length > 0 ? out : void 0;
105
+ }
106
+ function isCount(n) {
107
+ return typeof n === "number" && Number.isInteger(n) && n >= 0;
88
108
  }
89
109
  function toolCallData(tool, input, response) {
90
110
  return { kind: "tool_call", tool, input, response };
@@ -950,38 +970,52 @@ var SKILL_ROW_DEFAULTS = Object.freeze({
950
970
  });
951
971
 
952
972
  // dist/src/commands/contracts.js
973
+ var VERB_GROUPS = Object.freeze([
974
+ { key: "memory", label: "Memory & recall" },
975
+ { key: "knowledge", label: "Knowledge & skills" },
976
+ { key: "agents", label: "Agents, routing & config" },
977
+ { key: "account", label: "Account & workspaces" },
978
+ { key: "system", label: "Setup & system" }
979
+ ]);
953
980
  var VERB_TABLE = Object.freeze([
954
- { verb: "setup", cls: "local", summary: "detect assistants, wire hooks, bring up the daemon" },
955
- { verb: "install", cls: "local", summary: "bring up the daemon (health-gated) + open the dashboard (PRD-050a)" },
956
- { verb: "status", cls: "local", summary: "daemon connectivity + login + D1\u2013D5 environment health" },
957
- { verb: "daemon", cls: "local", summary: "start | stop | status the loopback daemon (3850)" },
958
- { verb: "dashboard", cls: "local", summary: "launch the daemon-served dashboard (020b)" },
959
- { verb: "telemetry", cls: "local", summary: "show exactly what adoption telemetry has been / would be sent (--show, PRD-050e)" },
960
- { verb: "pollinate", cls: "storage", summary: "trigger a pollinating consolidation pass on the daemon (009/026)" },
961
- { verb: "maintenance", cls: "storage", summary: "run version-history compaction over version-bumped tables (030)" },
962
- { verb: "remember", cls: "storage", summary: "write a memory through the daemon (--type fact|convention|preference|decision|gotcha|reference)" },
963
- { verb: "recall", cls: "storage", summary: "recall memories through the daemon" },
964
- { verb: "memory", cls: "storage", summary: "lifecycle: conflicts (list/resolve), stale-refs (list), inspect <id> --lifecycle (058d)" },
965
- { verb: "agent", cls: "storage", summary: "run an agent turn through the daemon" },
966
- { verb: "ontology", cls: "storage", summary: "inspect/propose ontology changes through the daemon" },
967
- { verb: "secret", cls: "storage", summary: "manage named secrets through the daemon" },
968
- { verb: "settings", cls: "storage", summary: "get/set/list vault settings + provider\u2192model selector through the daemon" },
969
- { verb: "asset", cls: "storage", summary: "register/promote/demote/style skills+agents through the tier\xD7style lattice (033)" },
970
- { verb: "skill", cls: "storage", summary: "skillify scope/pull/unpull/force/promote through the daemon (promote = cross-project, 049c)" },
971
- { verb: "skillify", cls: "storage", summary: "pull team skills from the daemon (016c)" },
972
- { verb: "hook", cls: "local", summary: "inspect/wire harness hooks" },
973
- { verb: "route", cls: "storage", summary: "manage inference routes through the daemon" },
974
- { verb: "sources", cls: "storage", summary: "connect/index/purge sources through the daemon" },
975
- { verb: "graph", cls: "storage", summary: "build/query the codebase graph through the daemon" },
976
- { verb: "goal", cls: "storage", summary: "manage goals/KPIs through the daemon" },
977
- { verb: "whoami", cls: "auth", summary: "show the authenticated user, org, and workspace (GET /me)" },
978
- { verb: "org", cls: "auth", summary: "list/switch org (passthrough to the auth dispatcher)" },
979
- { verb: "workspace", cls: "auth", summary: "list/switch/use workspace (passthrough to the auth dispatcher)" },
980
- { verb: "workspaces", cls: "auth", summary: "list workspaces in the active org (alias of `workspace list`)" },
981
- { verb: "project", cls: "auth", summary: "list/bind/use projects + show the resolved per-folder scope (049d)" },
982
- { verb: "sessions", cls: "storage", summary: "list/prune captured sessions through the daemon" },
983
- { verb: "uninstall", cls: "local", summary: "reverse only Honeycomb's changes" },
984
- { verb: "update", cls: "local", summary: "self-update the CLI, daemon, and bundles" }
981
+ // Memory & recall the product's core write/read/lifecycle surface.
982
+ { verb: "remember", cls: "storage", group: "memory", summary: "write a memory through the daemon (--type fact|convention|preference|decision|gotcha|reference)" },
983
+ { verb: "recall", cls: "storage", group: "memory", summary: "recall memories through the daemon" },
984
+ { verb: "memory", cls: "storage", group: "memory", summary: "lifecycle: conflicts (list/resolve), stale-refs (list), inspect <id> --lifecycle (058d)" },
985
+ { verb: "sessions", cls: "storage", group: "memory", summary: "list/prune captured sessions through the daemon" },
986
+ { verb: "pollinate", cls: "storage", group: "memory", summary: "trigger a pollinating consolidation pass on the daemon (009/026)" },
987
+ { verb: "maintenance", cls: "storage", group: "memory", summary: "run version-history compaction over version-bumped tables (030)" },
988
+ // Knowledge & skills — skills, assets, ontology, the codebase graph, and goals.
989
+ { verb: "skill", cls: "storage", group: "knowledge", summary: "skillify scope/pull/unpull/force/promote through the daemon (promote = cross-project, 049c)" },
990
+ { verb: "skillify", cls: "storage", group: "knowledge", summary: "pull team skills from the daemon (016c)" },
991
+ { verb: "asset", cls: "storage", group: "knowledge", summary: "register/promote/demote/style skills+agents through the tier\xD7style lattice (033)" },
992
+ { verb: "ontology", cls: "storage", group: "knowledge", summary: "inspect/propose ontology changes through the daemon" },
993
+ { verb: "graph", cls: "storage", group: "knowledge", summary: "build/query the codebase graph through the daemon" },
994
+ { verb: "sources", cls: "storage", group: "knowledge", summary: "connect/index/purge sources through the daemon" },
995
+ { verb: "goal", cls: "storage", group: "knowledge", summary: "manage goals/KPIs through the daemon" },
996
+ // Agents, routing & config agent turns, inference routes, secrets, and vault settings.
997
+ { verb: "agent", cls: "storage", group: "agents", summary: "run an agent turn through the daemon" },
998
+ { verb: "route", cls: "storage", group: "agents", summary: "manage inference routes through the daemon" },
999
+ { verb: "secret", cls: "storage", group: "agents", summary: "manage named secrets through the daemon" },
1000
+ { verb: "settings", cls: "storage", group: "agents", summary: "get/set/list vault settings + provider\u2192model selector through the daemon" },
1001
+ // Account & workspaces — auth, identity, and the org/workspace/project scope surface.
1002
+ { verb: "login", cls: "auth", group: "account", summary: "authenticate via device flow, or --token <key> for headless (023)" },
1003
+ { verb: "logout", cls: "auth", group: "account", summary: "remove the shared credentials and sign out (023)" },
1004
+ { verb: "whoami", cls: "auth", group: "account", summary: "show the authenticated user, org, and workspace (GET /me)" },
1005
+ { verb: "org", cls: "auth", group: "account", summary: "list/switch org (passthrough to the auth dispatcher)" },
1006
+ { verb: "workspace", cls: "auth", group: "account", summary: "list/switch/use workspace (passthrough to the auth dispatcher)" },
1007
+ { verb: "workspaces", cls: "auth", group: "account", summary: "list workspaces in the active org (alias of `workspace list`)" },
1008
+ { verb: "project", cls: "auth", group: "account", summary: "list/bind/use projects + show the resolved per-folder scope (049d)" },
1009
+ // Setup & system install/onboard, daemon lifecycle, dashboard, hooks, telemetry, update.
1010
+ { verb: "setup", cls: "local", group: "system", summary: "detect assistants, wire hooks, bring up the daemon" },
1011
+ { verb: "install", cls: "local", group: "system", summary: "bring up the daemon (health-gated) + open the dashboard (PRD-050a)" },
1012
+ { verb: "status", cls: "local", group: "system", summary: "daemon connectivity + login + D1\u2013D5 environment health" },
1013
+ { verb: "daemon", cls: "local", group: "system", summary: "start | stop | status the loopback daemon (3850)" },
1014
+ { verb: "dashboard", cls: "local", group: "system", summary: "launch the daemon-served dashboard (020b)" },
1015
+ { verb: "hook", cls: "local", group: "system", summary: "inspect/wire harness hooks" },
1016
+ { verb: "telemetry", cls: "local", group: "system", summary: "show exactly what adoption telemetry has been / would be sent (--show, PRD-050e)" },
1017
+ { verb: "update", cls: "local", group: "system", summary: "self-update the CLI, daemon, and bundles" },
1018
+ { verb: "uninstall", cls: "local", group: "system", summary: "reverse only Honeycomb's changes" }
985
1019
  ]);
986
1020
  var DEFAULT_GLOBAL_FLAGS = Object.freeze({
987
1021
  help: false,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "honeycomb-codex",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "Honeycomb — persistent shared memory for OpenAI Codex CLI via the local Honeycomb daemon",
5
5
  "type": "module",
6
6
  "license": "MIT"
@@ -83,8 +83,28 @@ function nested(raw, key) {
83
83
  function userMessageData(text) {
84
84
  return { kind: "user_message", text };
85
85
  }
86
- function assistantMessageData(text) {
87
- return { kind: "assistant_message", text };
86
+ function assistantMessageData(text, usage) {
87
+ const normalized = usage !== void 0 ? compactUsage(usage) : void 0;
88
+ return {
89
+ kind: "assistant_message",
90
+ text,
91
+ ...normalized !== void 0 ? { usage: normalized } : {}
92
+ };
93
+ }
94
+ function compactUsage(usage) {
95
+ const out = {};
96
+ if (isCount(usage.input))
97
+ out.input = usage.input;
98
+ if (isCount(usage.output))
99
+ out.output = usage.output;
100
+ if (isCount(usage.cacheRead))
101
+ out.cacheRead = usage.cacheRead;
102
+ if (isCount(usage.cacheCreation))
103
+ out.cacheCreation = usage.cacheCreation;
104
+ return Object.keys(out).length > 0 ? out : void 0;
105
+ }
106
+ function isCount(n) {
107
+ return typeof n === "number" && Number.isInteger(n) && n >= 0;
88
108
  }
89
109
  function toolCallData(tool, input, response) {
90
110
  return { kind: "tool_call", tool, input, response };
@@ -958,38 +978,52 @@ var SKILL_ROW_DEFAULTS = Object.freeze({
958
978
  });
959
979
 
960
980
  // dist/src/commands/contracts.js
981
+ var VERB_GROUPS = Object.freeze([
982
+ { key: "memory", label: "Memory & recall" },
983
+ { key: "knowledge", label: "Knowledge & skills" },
984
+ { key: "agents", label: "Agents, routing & config" },
985
+ { key: "account", label: "Account & workspaces" },
986
+ { key: "system", label: "Setup & system" }
987
+ ]);
961
988
  var VERB_TABLE = Object.freeze([
962
- { verb: "setup", cls: "local", summary: "detect assistants, wire hooks, bring up the daemon" },
963
- { verb: "install", cls: "local", summary: "bring up the daemon (health-gated) + open the dashboard (PRD-050a)" },
964
- { verb: "status", cls: "local", summary: "daemon connectivity + login + D1\u2013D5 environment health" },
965
- { verb: "daemon", cls: "local", summary: "start | stop | status the loopback daemon (3850)" },
966
- { verb: "dashboard", cls: "local", summary: "launch the daemon-served dashboard (020b)" },
967
- { verb: "telemetry", cls: "local", summary: "show exactly what adoption telemetry has been / would be sent (--show, PRD-050e)" },
968
- { verb: "pollinate", cls: "storage", summary: "trigger a pollinating consolidation pass on the daemon (009/026)" },
969
- { verb: "maintenance", cls: "storage", summary: "run version-history compaction over version-bumped tables (030)" },
970
- { verb: "remember", cls: "storage", summary: "write a memory through the daemon (--type fact|convention|preference|decision|gotcha|reference)" },
971
- { verb: "recall", cls: "storage", summary: "recall memories through the daemon" },
972
- { verb: "memory", cls: "storage", summary: "lifecycle: conflicts (list/resolve), stale-refs (list), inspect <id> --lifecycle (058d)" },
973
- { verb: "agent", cls: "storage", summary: "run an agent turn through the daemon" },
974
- { verb: "ontology", cls: "storage", summary: "inspect/propose ontology changes through the daemon" },
975
- { verb: "secret", cls: "storage", summary: "manage named secrets through the daemon" },
976
- { verb: "settings", cls: "storage", summary: "get/set/list vault settings + provider\u2192model selector through the daemon" },
977
- { verb: "asset", cls: "storage", summary: "register/promote/demote/style skills+agents through the tier\xD7style lattice (033)" },
978
- { verb: "skill", cls: "storage", summary: "skillify scope/pull/unpull/force/promote through the daemon (promote = cross-project, 049c)" },
979
- { verb: "skillify", cls: "storage", summary: "pull team skills from the daemon (016c)" },
980
- { verb: "hook", cls: "local", summary: "inspect/wire harness hooks" },
981
- { verb: "route", cls: "storage", summary: "manage inference routes through the daemon" },
982
- { verb: "sources", cls: "storage", summary: "connect/index/purge sources through the daemon" },
983
- { verb: "graph", cls: "storage", summary: "build/query the codebase graph through the daemon" },
984
- { verb: "goal", cls: "storage", summary: "manage goals/KPIs through the daemon" },
985
- { verb: "whoami", cls: "auth", summary: "show the authenticated user, org, and workspace (GET /me)" },
986
- { verb: "org", cls: "auth", summary: "list/switch org (passthrough to the auth dispatcher)" },
987
- { verb: "workspace", cls: "auth", summary: "list/switch/use workspace (passthrough to the auth dispatcher)" },
988
- { verb: "workspaces", cls: "auth", summary: "list workspaces in the active org (alias of `workspace list`)" },
989
- { verb: "project", cls: "auth", summary: "list/bind/use projects + show the resolved per-folder scope (049d)" },
990
- { verb: "sessions", cls: "storage", summary: "list/prune captured sessions through the daemon" },
991
- { verb: "uninstall", cls: "local", summary: "reverse only Honeycomb's changes" },
992
- { verb: "update", cls: "local", summary: "self-update the CLI, daemon, and bundles" }
989
+ // Memory & recall the product's core write/read/lifecycle surface.
990
+ { verb: "remember", cls: "storage", group: "memory", summary: "write a memory through the daemon (--type fact|convention|preference|decision|gotcha|reference)" },
991
+ { verb: "recall", cls: "storage", group: "memory", summary: "recall memories through the daemon" },
992
+ { verb: "memory", cls: "storage", group: "memory", summary: "lifecycle: conflicts (list/resolve), stale-refs (list), inspect <id> --lifecycle (058d)" },
993
+ { verb: "sessions", cls: "storage", group: "memory", summary: "list/prune captured sessions through the daemon" },
994
+ { verb: "pollinate", cls: "storage", group: "memory", summary: "trigger a pollinating consolidation pass on the daemon (009/026)" },
995
+ { verb: "maintenance", cls: "storage", group: "memory", summary: "run version-history compaction over version-bumped tables (030)" },
996
+ // Knowledge & skills — skills, assets, ontology, the codebase graph, and goals.
997
+ { verb: "skill", cls: "storage", group: "knowledge", summary: "skillify scope/pull/unpull/force/promote through the daemon (promote = cross-project, 049c)" },
998
+ { verb: "skillify", cls: "storage", group: "knowledge", summary: "pull team skills from the daemon (016c)" },
999
+ { verb: "asset", cls: "storage", group: "knowledge", summary: "register/promote/demote/style skills+agents through the tier\xD7style lattice (033)" },
1000
+ { verb: "ontology", cls: "storage", group: "knowledge", summary: "inspect/propose ontology changes through the daemon" },
1001
+ { verb: "graph", cls: "storage", group: "knowledge", summary: "build/query the codebase graph through the daemon" },
1002
+ { verb: "sources", cls: "storage", group: "knowledge", summary: "connect/index/purge sources through the daemon" },
1003
+ { verb: "goal", cls: "storage", group: "knowledge", summary: "manage goals/KPIs through the daemon" },
1004
+ // Agents, routing & config agent turns, inference routes, secrets, and vault settings.
1005
+ { verb: "agent", cls: "storage", group: "agents", summary: "run an agent turn through the daemon" },
1006
+ { verb: "route", cls: "storage", group: "agents", summary: "manage inference routes through the daemon" },
1007
+ { verb: "secret", cls: "storage", group: "agents", summary: "manage named secrets through the daemon" },
1008
+ { verb: "settings", cls: "storage", group: "agents", summary: "get/set/list vault settings + provider\u2192model selector through the daemon" },
1009
+ // Account & workspaces — auth, identity, and the org/workspace/project scope surface.
1010
+ { verb: "login", cls: "auth", group: "account", summary: "authenticate via device flow, or --token <key> for headless (023)" },
1011
+ { verb: "logout", cls: "auth", group: "account", summary: "remove the shared credentials and sign out (023)" },
1012
+ { verb: "whoami", cls: "auth", group: "account", summary: "show the authenticated user, org, and workspace (GET /me)" },
1013
+ { verb: "org", cls: "auth", group: "account", summary: "list/switch org (passthrough to the auth dispatcher)" },
1014
+ { verb: "workspace", cls: "auth", group: "account", summary: "list/switch/use workspace (passthrough to the auth dispatcher)" },
1015
+ { verb: "workspaces", cls: "auth", group: "account", summary: "list workspaces in the active org (alias of `workspace list`)" },
1016
+ { verb: "project", cls: "auth", group: "account", summary: "list/bind/use projects + show the resolved per-folder scope (049d)" },
1017
+ // Setup & system install/onboard, daemon lifecycle, dashboard, hooks, telemetry, update.
1018
+ { verb: "setup", cls: "local", group: "system", summary: "detect assistants, wire hooks, bring up the daemon" },
1019
+ { verb: "install", cls: "local", group: "system", summary: "bring up the daemon (health-gated) + open the dashboard (PRD-050a)" },
1020
+ { verb: "status", cls: "local", group: "system", summary: "daemon connectivity + login + D1\u2013D5 environment health" },
1021
+ { verb: "daemon", cls: "local", group: "system", summary: "start | stop | status the loopback daemon (3850)" },
1022
+ { verb: "dashboard", cls: "local", group: "system", summary: "launch the daemon-served dashboard (020b)" },
1023
+ { verb: "hook", cls: "local", group: "system", summary: "inspect/wire harness hooks" },
1024
+ { verb: "telemetry", cls: "local", group: "system", summary: "show exactly what adoption telemetry has been / would be sent (--show, PRD-050e)" },
1025
+ { verb: "update", cls: "local", group: "system", summary: "self-update the CLI, daemon, and bundles" },
1026
+ { verb: "uninstall", cls: "local", group: "system", summary: "reverse only Honeycomb's changes" }
993
1027
  ]);
994
1028
  var DEFAULT_GLOBAL_FLAGS = Object.freeze({
995
1029
  help: false,
@@ -83,8 +83,28 @@ function nested(raw, key) {
83
83
  function userMessageData(text) {
84
84
  return { kind: "user_message", text };
85
85
  }
86
- function assistantMessageData(text) {
87
- return { kind: "assistant_message", text };
86
+ function assistantMessageData(text, usage) {
87
+ const normalized = usage !== void 0 ? compactUsage(usage) : void 0;
88
+ return {
89
+ kind: "assistant_message",
90
+ text,
91
+ ...normalized !== void 0 ? { usage: normalized } : {}
92
+ };
93
+ }
94
+ function compactUsage(usage) {
95
+ const out = {};
96
+ if (isCount(usage.input))
97
+ out.input = usage.input;
98
+ if (isCount(usage.output))
99
+ out.output = usage.output;
100
+ if (isCount(usage.cacheRead))
101
+ out.cacheRead = usage.cacheRead;
102
+ if (isCount(usage.cacheCreation))
103
+ out.cacheCreation = usage.cacheCreation;
104
+ return Object.keys(out).length > 0 ? out : void 0;
105
+ }
106
+ function isCount(n) {
107
+ return typeof n === "number" && Number.isInteger(n) && n >= 0;
88
108
  }
89
109
  function toolCallData(tool, input, response) {
90
110
  return { kind: "tool_call", tool, input, response };
@@ -958,38 +978,52 @@ var SKILL_ROW_DEFAULTS = Object.freeze({
958
978
  });
959
979
 
960
980
  // dist/src/commands/contracts.js
981
+ var VERB_GROUPS = Object.freeze([
982
+ { key: "memory", label: "Memory & recall" },
983
+ { key: "knowledge", label: "Knowledge & skills" },
984
+ { key: "agents", label: "Agents, routing & config" },
985
+ { key: "account", label: "Account & workspaces" },
986
+ { key: "system", label: "Setup & system" }
987
+ ]);
961
988
  var VERB_TABLE = Object.freeze([
962
- { verb: "setup", cls: "local", summary: "detect assistants, wire hooks, bring up the daemon" },
963
- { verb: "install", cls: "local", summary: "bring up the daemon (health-gated) + open the dashboard (PRD-050a)" },
964
- { verb: "status", cls: "local", summary: "daemon connectivity + login + D1\u2013D5 environment health" },
965
- { verb: "daemon", cls: "local", summary: "start | stop | status the loopback daemon (3850)" },
966
- { verb: "dashboard", cls: "local", summary: "launch the daemon-served dashboard (020b)" },
967
- { verb: "telemetry", cls: "local", summary: "show exactly what adoption telemetry has been / would be sent (--show, PRD-050e)" },
968
- { verb: "pollinate", cls: "storage", summary: "trigger a pollinating consolidation pass on the daemon (009/026)" },
969
- { verb: "maintenance", cls: "storage", summary: "run version-history compaction over version-bumped tables (030)" },
970
- { verb: "remember", cls: "storage", summary: "write a memory through the daemon (--type fact|convention|preference|decision|gotcha|reference)" },
971
- { verb: "recall", cls: "storage", summary: "recall memories through the daemon" },
972
- { verb: "memory", cls: "storage", summary: "lifecycle: conflicts (list/resolve), stale-refs (list), inspect <id> --lifecycle (058d)" },
973
- { verb: "agent", cls: "storage", summary: "run an agent turn through the daemon" },
974
- { verb: "ontology", cls: "storage", summary: "inspect/propose ontology changes through the daemon" },
975
- { verb: "secret", cls: "storage", summary: "manage named secrets through the daemon" },
976
- { verb: "settings", cls: "storage", summary: "get/set/list vault settings + provider\u2192model selector through the daemon" },
977
- { verb: "asset", cls: "storage", summary: "register/promote/demote/style skills+agents through the tier\xD7style lattice (033)" },
978
- { verb: "skill", cls: "storage", summary: "skillify scope/pull/unpull/force/promote through the daemon (promote = cross-project, 049c)" },
979
- { verb: "skillify", cls: "storage", summary: "pull team skills from the daemon (016c)" },
980
- { verb: "hook", cls: "local", summary: "inspect/wire harness hooks" },
981
- { verb: "route", cls: "storage", summary: "manage inference routes through the daemon" },
982
- { verb: "sources", cls: "storage", summary: "connect/index/purge sources through the daemon" },
983
- { verb: "graph", cls: "storage", summary: "build/query the codebase graph through the daemon" },
984
- { verb: "goal", cls: "storage", summary: "manage goals/KPIs through the daemon" },
985
- { verb: "whoami", cls: "auth", summary: "show the authenticated user, org, and workspace (GET /me)" },
986
- { verb: "org", cls: "auth", summary: "list/switch org (passthrough to the auth dispatcher)" },
987
- { verb: "workspace", cls: "auth", summary: "list/switch/use workspace (passthrough to the auth dispatcher)" },
988
- { verb: "workspaces", cls: "auth", summary: "list workspaces in the active org (alias of `workspace list`)" },
989
- { verb: "project", cls: "auth", summary: "list/bind/use projects + show the resolved per-folder scope (049d)" },
990
- { verb: "sessions", cls: "storage", summary: "list/prune captured sessions through the daemon" },
991
- { verb: "uninstall", cls: "local", summary: "reverse only Honeycomb's changes" },
992
- { verb: "update", cls: "local", summary: "self-update the CLI, daemon, and bundles" }
989
+ // Memory & recall the product's core write/read/lifecycle surface.
990
+ { verb: "remember", cls: "storage", group: "memory", summary: "write a memory through the daemon (--type fact|convention|preference|decision|gotcha|reference)" },
991
+ { verb: "recall", cls: "storage", group: "memory", summary: "recall memories through the daemon" },
992
+ { verb: "memory", cls: "storage", group: "memory", summary: "lifecycle: conflicts (list/resolve), stale-refs (list), inspect <id> --lifecycle (058d)" },
993
+ { verb: "sessions", cls: "storage", group: "memory", summary: "list/prune captured sessions through the daemon" },
994
+ { verb: "pollinate", cls: "storage", group: "memory", summary: "trigger a pollinating consolidation pass on the daemon (009/026)" },
995
+ { verb: "maintenance", cls: "storage", group: "memory", summary: "run version-history compaction over version-bumped tables (030)" },
996
+ // Knowledge & skills — skills, assets, ontology, the codebase graph, and goals.
997
+ { verb: "skill", cls: "storage", group: "knowledge", summary: "skillify scope/pull/unpull/force/promote through the daemon (promote = cross-project, 049c)" },
998
+ { verb: "skillify", cls: "storage", group: "knowledge", summary: "pull team skills from the daemon (016c)" },
999
+ { verb: "asset", cls: "storage", group: "knowledge", summary: "register/promote/demote/style skills+agents through the tier\xD7style lattice (033)" },
1000
+ { verb: "ontology", cls: "storage", group: "knowledge", summary: "inspect/propose ontology changes through the daemon" },
1001
+ { verb: "graph", cls: "storage", group: "knowledge", summary: "build/query the codebase graph through the daemon" },
1002
+ { verb: "sources", cls: "storage", group: "knowledge", summary: "connect/index/purge sources through the daemon" },
1003
+ { verb: "goal", cls: "storage", group: "knowledge", summary: "manage goals/KPIs through the daemon" },
1004
+ // Agents, routing & config agent turns, inference routes, secrets, and vault settings.
1005
+ { verb: "agent", cls: "storage", group: "agents", summary: "run an agent turn through the daemon" },
1006
+ { verb: "route", cls: "storage", group: "agents", summary: "manage inference routes through the daemon" },
1007
+ { verb: "secret", cls: "storage", group: "agents", summary: "manage named secrets through the daemon" },
1008
+ { verb: "settings", cls: "storage", group: "agents", summary: "get/set/list vault settings + provider\u2192model selector through the daemon" },
1009
+ // Account & workspaces — auth, identity, and the org/workspace/project scope surface.
1010
+ { verb: "login", cls: "auth", group: "account", summary: "authenticate via device flow, or --token <key> for headless (023)" },
1011
+ { verb: "logout", cls: "auth", group: "account", summary: "remove the shared credentials and sign out (023)" },
1012
+ { verb: "whoami", cls: "auth", group: "account", summary: "show the authenticated user, org, and workspace (GET /me)" },
1013
+ { verb: "org", cls: "auth", group: "account", summary: "list/switch org (passthrough to the auth dispatcher)" },
1014
+ { verb: "workspace", cls: "auth", group: "account", summary: "list/switch/use workspace (passthrough to the auth dispatcher)" },
1015
+ { verb: "workspaces", cls: "auth", group: "account", summary: "list workspaces in the active org (alias of `workspace list`)" },
1016
+ { verb: "project", cls: "auth", group: "account", summary: "list/bind/use projects + show the resolved per-folder scope (049d)" },
1017
+ // Setup & system install/onboard, daemon lifecycle, dashboard, hooks, telemetry, update.
1018
+ { verb: "setup", cls: "local", group: "system", summary: "detect assistants, wire hooks, bring up the daemon" },
1019
+ { verb: "install", cls: "local", group: "system", summary: "bring up the daemon (health-gated) + open the dashboard (PRD-050a)" },
1020
+ { verb: "status", cls: "local", group: "system", summary: "daemon connectivity + login + D1\u2013D5 environment health" },
1021
+ { verb: "daemon", cls: "local", group: "system", summary: "start | stop | status the loopback daemon (3850)" },
1022
+ { verb: "dashboard", cls: "local", group: "system", summary: "launch the daemon-served dashboard (020b)" },
1023
+ { verb: "hook", cls: "local", group: "system", summary: "inspect/wire harness hooks" },
1024
+ { verb: "telemetry", cls: "local", group: "system", summary: "show exactly what adoption telemetry has been / would be sent (--show, PRD-050e)" },
1025
+ { verb: "update", cls: "local", group: "system", summary: "self-update the CLI, daemon, and bundles" },
1026
+ { verb: "uninstall", cls: "local", group: "system", summary: "reverse only Honeycomb's changes" }
993
1027
  ]);
994
1028
  var DEFAULT_GLOBAL_FLAGS = Object.freeze({
995
1029
  help: false,