@adhdev/mesh-shared 1.0.82-rc.16 → 1.0.82-rc.18

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.
@@ -15,7 +15,7 @@
15
15
  * belongs in `CANONICAL_MESH_TOOL_NAMES`, and the coordinator/worker MCP modes
16
16
  * never publish them.
17
17
  */
18
- export declare const ASSISTANT_TOOLS: readonly ["projects", "environment", "assistant_action", "project_watch", "project_status", "project_send", "project_read", "project_add", "discover_repos", "memory", "skill_view", "skill_manage", "project_note"];
18
+ export declare const ASSISTANT_TOOLS: readonly ["projects", "environment", "assistant_action", "project_watch", "project_status", "project_send", "project_read", "project_add", "project_attach_remote", "discover_repos", "memory", "skill_view", "skill_manage", "project_note", "launch_defaults", "launch_defaults_set"];
19
19
  export type AssistantTool = typeof ASSISTANT_TOOLS[number];
20
20
  export declare function isAssistantTool(value: unknown): value is AssistantTool;
21
21
  /** Daemon verb names (§4.4 table + the five verbs below it). */
@@ -30,11 +30,14 @@ export declare const ASSISTANT_VERB: {
30
30
  readonly projectSend: "assistant_project_send";
31
31
  readonly projectRead: "assistant_project_read";
32
32
  readonly projectAdd: "assistant_project_add";
33
+ readonly projectAttachRemote: "assistant_project_attach_remote";
33
34
  readonly discoverRepos: "assistant_discover_repos";
34
35
  readonly memory: "assistant_memory";
35
36
  readonly skillView: "assistant_skill_view";
36
37
  readonly skillManage: "assistant_skill_manage";
37
38
  readonly projectNote: "assistant_project_note";
39
+ readonly launchDefaults: "assistant_launch_defaults";
40
+ readonly launchDefaultsSet: "assistant_launch_defaults_set";
38
41
  readonly launch: "launch_assistant";
39
42
  readonly pendingRelays: "assistant_pending_relays";
40
43
  readonly stagedResolve: "assistant_staged_resolve";
package/dist/index.d.ts CHANGED
@@ -43,3 +43,4 @@ export * from './mission-brief';
43
43
  export * from './keyed-doc-delta';
44
44
  export * from './provider-approval';
45
45
  export * from './provider-question';
46
+ export * from './launch-defaults';
package/dist/index.js CHANGED
@@ -57,6 +57,10 @@ __export(index_exports, {
57
57
  EVIDENCE_ENVELOPE_FIELD_SPECS: () => EVIDENCE_ENVELOPE_FIELD_SPECS,
58
58
  EVIDENCE_SOURCE_IDS: () => EVIDENCE_SOURCE_IDS,
59
59
  HOLD_REASONS: () => HOLD_REASONS,
60
+ LAUNCH_DEFAULTS_NEXT_LAUNCH_NOTE: () => LAUNCH_DEFAULTS_NEXT_LAUNCH_NOTE,
61
+ LAUNCH_DEFAULT_ERROR_CODES: () => LAUNCH_DEFAULT_ERROR_CODES,
62
+ LAUNCH_DEFAULT_ROLES: () => LAUNCH_DEFAULT_ROLES,
63
+ LAUNCH_DEFAULT_SOURCES: () => LAUNCH_DEFAULT_SOURCES,
60
64
  LIVENESS_RESULTS: () => LIVENESS_RESULTS,
61
65
  MAX_MESH_RECORD_STRING: () => MAX_MESH_RECORD_STRING,
62
66
  MAX_OWNED_PATHS: () => MAX_OWNED_PATHS,
@@ -251,6 +255,8 @@ __export(index_exports, {
251
255
  isFiniteNumber: () => isFiniteNumber,
252
256
  isIdleSessionState: () => isIdleSessionState,
253
257
  isInputEnvelopeWire: () => isInputEnvelopeWire,
258
+ isLaunchDefaultRole: () => isLaunchDefaultRole,
259
+ isLaunchDefaultSource: () => isLaunchDefaultSource,
254
260
  isMeshDeliveryMode: () => isMeshDeliveryMode,
255
261
  isMeshIndexQueryResponse: () => isMeshIndexQueryResponse,
256
262
  isMeshMissionStatusValue: () => isMeshMissionStatusValue,
@@ -691,9 +697,15 @@ function backfillCheckAt(quota, now) {
691
697
  function assessQuotaFreshness(quota, now = Date.now()) {
692
698
  const meta = quota.metadata;
693
699
  const kind = meta?.failureKind;
694
- const userMustAct = kind === "no-data" && quota.provider !== "codex-cli" || kind === "expired-token" && quota.provider === "antigravity-cli";
695
- if (userMustAct && hasReading(quota)) return { cue: "stale", userMustAct: true };
696
- if (meta?.lastGoodWindows !== true) return { userMustAct };
700
+ const userMustAct = kind === "no-data" && quota.provider !== "codex-cli" || kind === "expired-token" && ["grok-cli", "kimi", "antigravity-cli"].includes(quota.provider);
701
+ if (userMustAct) return hasReading(quota) ? { cue: "stale", userMustAct: true } : { userMustAct: true };
702
+ if (meta?.lastGoodWindows !== true) {
703
+ const measuredAt = finiteMs(quota.updatedAt);
704
+ if (hasReading(quota) && (measuredAt === void 0 || now - measuredAt >= QUOTA_BACKFILL_HORIZON_MS)) {
705
+ return { cue: "stale", userMustAct };
706
+ }
707
+ return { userMustAct };
708
+ }
697
709
  const retryAtMs = finiteMs(meta?.retryAtMs);
698
710
  const retryStopped = meta?.retryExhausted === true || retryAtMs !== void 0 && retryAtMs + QUOTA_RETRY_INFLIGHT_GRACE_MS < now;
699
711
  if (kind !== "no-data" && !retryStopped) return { cue: "refreshing", userMustAct: false };
@@ -1095,6 +1107,7 @@ var CANONICAL_MESH_TOOL_NAMES = [
1095
1107
  "mesh_list_pending_approvals",
1096
1108
  "mesh_create",
1097
1109
  "mesh_add_node",
1110
+ "mesh_attach_remote",
1098
1111
  "mesh_clone_node",
1099
1112
  "mesh_remove_node",
1100
1113
  "mesh_cleanup_worktree_nodes",
@@ -2079,11 +2092,14 @@ var ASSISTANT_TOOLS = [
2079
2092
  "project_send",
2080
2093
  "project_read",
2081
2094
  "project_add",
2095
+ "project_attach_remote",
2082
2096
  "discover_repos",
2083
2097
  "memory",
2084
2098
  "skill_view",
2085
2099
  "skill_manage",
2086
- "project_note"
2100
+ "project_note",
2101
+ "launch_defaults",
2102
+ "launch_defaults_set"
2087
2103
  ];
2088
2104
  var ASSISTANT_TOOL_SET = new Set(ASSISTANT_TOOLS);
2089
2105
  function isAssistantTool(value) {
@@ -2101,11 +2117,14 @@ var ASSISTANT_VERB = {
2101
2117
  projectSend: "assistant_project_send",
2102
2118
  projectRead: "assistant_project_read",
2103
2119
  projectAdd: "assistant_project_add",
2120
+ projectAttachRemote: "assistant_project_attach_remote",
2104
2121
  discoverRepos: "assistant_discover_repos",
2105
2122
  memory: "assistant_memory",
2106
2123
  skillView: "assistant_skill_view",
2107
2124
  skillManage: "assistant_skill_manage",
2108
2125
  projectNote: "assistant_project_note",
2126
+ launchDefaults: "assistant_launch_defaults",
2127
+ launchDefaultsSet: "assistant_launch_defaults_set",
2109
2128
  // assistant-side daemon verbs without a tool of the same name
2110
2129
  launch: "launch_assistant",
2111
2130
  pendingRelays: "assistant_pending_relays",
@@ -2123,13 +2142,16 @@ var ASSISTANT_TOOL_VERBS = {
2123
2142
  project_send: ASSISTANT_VERB.projectSend,
2124
2143
  project_read: ASSISTANT_VERB.projectRead,
2125
2144
  project_add: ASSISTANT_VERB.projectAdd,
2145
+ project_attach_remote: ASSISTANT_VERB.projectAttachRemote,
2126
2146
  discover_repos: ASSISTANT_VERB.discoverRepos,
2127
2147
  memory: ASSISTANT_VERB.memory,
2128
2148
  skill_view: ASSISTANT_VERB.skillView,
2129
2149
  skill_manage: ASSISTANT_VERB.skillManage,
2130
- project_note: ASSISTANT_VERB.projectNote
2150
+ project_note: ASSISTANT_VERB.projectNote,
2151
+ launch_defaults: ASSISTANT_VERB.launchDefaults,
2152
+ launch_defaults_set: ASSISTANT_VERB.launchDefaultsSet
2131
2153
  };
2132
- var ASSISTANT_WRITE_TOOLS = ["project_watch", "assistant_action", "memory", "skill_manage", "project_note", "project_send", "project_add"];
2154
+ var ASSISTANT_WRITE_TOOLS = ["project_watch", "assistant_action", "memory", "skill_manage", "project_note", "project_send", "project_add", "project_attach_remote", "launch_defaults_set"];
2133
2155
  var ASSISTANT_OWNER_VERBS = [
2134
2156
  ASSISTANT_VERB.executionSettings,
2135
2157
  ASSISTANT_VERB.stagedResolve,
@@ -3894,6 +3916,35 @@ function isProviderQuestionBinding(value) {
3894
3916
  if (["sessionId", "generation", "threadId", "turnId", "itemId"].some((key) => typeof b[key] !== "string" || !b[key].trim())) return false;
3895
3917
  return b.transport === "codex_async" ? b.requestId === void 0 : typeof b.requestId === "string" && !!b.requestId.trim() || typeof b.requestId === "number" && Number.isFinite(b.requestId);
3896
3918
  }
3919
+
3920
+ // src/launch-defaults.ts
3921
+ var LAUNCH_DEFAULT_ROLES = ["assistant", "coordinator"];
3922
+ var LAUNCH_DEFAULT_SOURCES = ["user", "stored_default", "project_default", "provider_default"];
3923
+ var LAUNCH_DEFAULTS_NEXT_LAUNCH_NOTE = "Applies to the next launch; running sessions are unchanged.";
3924
+ function isLaunchDefaultRole(value) {
3925
+ return typeof value === "string" && LAUNCH_DEFAULT_ROLES.includes(value);
3926
+ }
3927
+ function isLaunchDefaultSource(value) {
3928
+ return typeof value === "string" && LAUNCH_DEFAULT_SOURCES.includes(value);
3929
+ }
3930
+ var LAUNCH_DEFAULT_ERROR_CODES = [
3931
+ "invalid_args",
3932
+ "launch_default_required",
3933
+ "launch_default_unavailable",
3934
+ "launch_selection_invalid",
3935
+ "launch_default_invalid",
3936
+ "revision_conflict",
3937
+ "store_unavailable",
3938
+ "store_busy",
3939
+ "persistence_failed",
3940
+ "project_not_found",
3941
+ "project_ambiguous",
3942
+ "project_not_hosted",
3943
+ "project_storage_unavailable",
3944
+ "staging_unavailable",
3945
+ "staging_failed",
3946
+ "review_turn_tool_denied"
3947
+ ];
3897
3948
  // Annotate the CommonJS export names for ESM import in node:
3898
3949
  0 && (module.exports = {
3899
3950
  ASSISTANT_OWNER_VERBS,
@@ -3933,6 +3984,10 @@ function isProviderQuestionBinding(value) {
3933
3984
  EVIDENCE_ENVELOPE_FIELD_SPECS,
3934
3985
  EVIDENCE_SOURCE_IDS,
3935
3986
  HOLD_REASONS,
3987
+ LAUNCH_DEFAULTS_NEXT_LAUNCH_NOTE,
3988
+ LAUNCH_DEFAULT_ERROR_CODES,
3989
+ LAUNCH_DEFAULT_ROLES,
3990
+ LAUNCH_DEFAULT_SOURCES,
3936
3991
  LIVENESS_RESULTS,
3937
3992
  MAX_MESH_RECORD_STRING,
3938
3993
  MAX_OWNED_PATHS,
@@ -4127,6 +4182,8 @@ function isProviderQuestionBinding(value) {
4127
4182
  isFiniteNumber,
4128
4183
  isIdleSessionState,
4129
4184
  isInputEnvelopeWire,
4185
+ isLaunchDefaultRole,
4186
+ isLaunchDefaultSource,
4130
4187
  isMeshDeliveryMode,
4131
4188
  isMeshIndexQueryResponse,
4132
4189
  isMeshMissionStatusValue,