@adhdev/mesh-shared 1.0.82-rc.27 → 1.0.82-rc.29

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.
@@ -107,6 +107,7 @@ export interface AssistantRemoteAccessBinding {
107
107
  grantRevision: number;
108
108
  status: 'active' | 'revoked';
109
109
  allowedOps: readonly AssistantFollowerAllowedOp[];
110
+ allowCoordinatorLaunch?: boolean;
110
111
  grantedAt: number;
111
112
  revokedAt?: number;
112
113
  }
@@ -142,6 +143,7 @@ export interface FollowedRemoteProjectEntry {
142
143
  accountSlot: AssistantAccountSlot;
143
144
  bindingRevision: number;
144
145
  grantRevision: number;
146
+ allowCoordinatorLaunch?: boolean;
145
147
  state: FollowedRemoteProjectState;
146
148
  followedAt: number | string;
147
149
  updatedAt: number | string;
@@ -170,6 +172,7 @@ export interface RemoteProjectCatalogItem {
170
172
  name: string;
171
173
  sanitizedRepoIdentity: string | null;
172
174
  coordinatorState?: 'none' | 'idle' | 'working' | 'waiting' | string;
175
+ allowCoordinatorLaunch?: boolean;
173
176
  capabilities: {
174
177
  status: true;
175
178
  read: true;
@@ -177,6 +180,7 @@ export interface RemoteProjectCatalogItem {
177
180
  report: true;
178
181
  send: true;
179
182
  coordinatorPresent?: boolean;
183
+ allowCoordinatorLaunch?: boolean;
180
184
  };
181
185
  observedAt: number | string;
182
186
  }
package/dist/index.d.ts CHANGED
@@ -45,3 +45,4 @@ export * from './provider-approval';
45
45
  export * from './provider-question';
46
46
  export * from './launch-defaults';
47
47
  export * from './role-launch';
48
+ export * from './task-source-phase';
package/dist/index.js CHANGED
@@ -206,6 +206,8 @@ __export(index_exports, {
206
206
  decodeQueueQueryResponse: () => decodeQueueQueryResponse,
207
207
  decodeQueueRequeueRequest: () => decodeQueueRequeueRequest,
208
208
  decodeQueueRequeueResponse: () => decodeQueueRequeueResponse,
209
+ decodeQueueReviseRequest: () => decodeQueueReviseRequest,
210
+ decodeQueueReviseResponse: () => decodeQueueReviseResponse,
209
211
  decodeRecordLocalRequest: () => decodeRecordLocalRequest,
210
212
  decodeRecordLocalResponse: () => decodeRecordLocalResponse,
211
213
  decodeRecoveryContextQueryRequest: () => decodeRecoveryContextQueryRequest,
@@ -758,19 +760,21 @@ function isPhantomDaemonEntry(entry) {
758
760
  function machineCoreFromDaemonId(id2) {
759
761
  const trimmed = readString(id2);
760
762
  if (!trimmed) return void 0;
763
+ const lower = trimmed.toLowerCase();
761
764
  for (const prefix of DAEMON_ID_PREFIXES) {
762
- if (trimmed.startsWith(prefix)) {
765
+ if (lower.startsWith(prefix)) {
763
766
  const core = trimmed.slice(prefix.length).trim();
764
- return core || void 0;
767
+ if (!core) return void 0;
768
+ return /^mach_/i.test(core) ? `mach_${core.slice(5)}` : core;
765
769
  }
766
770
  }
767
- return trimmed;
771
+ return /^mach_/i.test(trimmed) ? `mach_${trimmed.slice(5)}` : trimmed;
768
772
  }
769
773
  function canonicalDaemonId(id2) {
770
774
  const core = machineCoreFromDaemonId(id2);
771
775
  if (!core) return void 0;
772
- if (!core.startsWith("mach_")) return core;
773
- return `daemon_${core}`;
776
+ if (!/^mach_/i.test(core)) return core;
777
+ return `daemon_mach_${core.slice(5)}`;
774
778
  }
775
779
  function daemonIdsEquivalent(a, b) {
776
780
  const coreA = machineCoreFromDaemonId(a);
@@ -1137,6 +1141,7 @@ var CANONICAL_MESH_TOOL_NAMES = [
1137
1141
  "mesh_view_queue",
1138
1142
  "mesh_queue_cancel",
1139
1143
  "mesh_queue_requeue",
1144
+ "mesh_queue_revise",
1140
1145
  "mesh_send_task",
1141
1146
  "mesh_read_chat",
1142
1147
  "mesh_read_debug",
@@ -1858,8 +1863,8 @@ function isIdleSessionState(state) {
1858
1863
  }
1859
1864
 
1860
1865
  // src/mesh-vocabulary.ts
1861
- var MESH_TASK_STATUSES = ["pending", "assigned", "completed", "failed", "cancelled"];
1862
- var MESH_TERMINAL_TASK_STATUSES = ["completed", "failed", "cancelled"];
1866
+ var MESH_TASK_STATUSES = ["pending", "assigned", "completed", "blocked", "failed", "cancelled"];
1867
+ var MESH_TERMINAL_TASK_STATUSES = ["completed", "blocked", "failed", "cancelled"];
1863
1868
  var MESH_TASK_MODES = ["code_change", "validation", "live_debug_readonly", "launch_app", "convergence"];
1864
1869
  var MESH_TASK_PRIORITIES = ["low", "normal", "high"];
1865
1870
  var MESH_THINKING_LEVELS = ["low", "medium", "high"];
@@ -2380,7 +2385,7 @@ var HOLD_REASONS = [
2380
2385
  "await_end",
2381
2386
  "report_correction"
2382
2387
  ];
2383
- var TURN_OUTCOMES = ["completed", "failed", "cancelled"];
2388
+ var TURN_OUTCOMES = ["completed", "blocked", "failed", "cancelled"];
2384
2389
  var COMMIT_STRENGTHS = ["genuine", "weak", "tool_report", "operator"];
2385
2390
  var TURN_REASONS = [
2386
2391
  // commits
@@ -2425,6 +2430,7 @@ var TURN_REASONS = [
2425
2430
  ];
2426
2431
  var NOTIFY_KINDS = [
2427
2432
  "completed",
2433
+ "blocked",
2428
2434
  "failed",
2429
2435
  "cancelled",
2430
2436
  "stopped",
@@ -2918,7 +2924,7 @@ function isTurnAttemptRefValue(value) {
2918
2924
  function isTurnObserveResponse(value) {
2919
2925
  return isRecord(value) && hasOnlyKeys2(value, ["verdict", "attemptRef", "outcome"]) && isTurnObserveVerdict(value.verdict) && isTurnAttemptRefValue(value.attemptRef) && (value.outcome === void 0 || isTurnOutcomeValue(value.outcome));
2920
2926
  }
2921
- var TURN_OUTCOMES_LOCAL = ["completed", "failed", "cancelled"];
2927
+ var TURN_OUTCOMES_LOCAL = ["completed", "blocked", "failed", "cancelled"];
2922
2928
  function isTurnOutcomeValue(value) {
2923
2929
  return typeof value === "string" && TURN_OUTCOMES_LOCAL.includes(value);
2924
2930
  }
@@ -3219,12 +3225,13 @@ function isMeshMissionTaskAggregateWire(value) {
3219
3225
  return value.lastActivityAt === null || typeof value.lastActivityAt === "string";
3220
3226
  }
3221
3227
  function isMeshMissionStatsWire(value) {
3222
- const keys = ["missionId", "taskCount", "completed", "failed", "totalDurationMs", "wallClockMs", "retries", "incompleteTaskIds"];
3228
+ const keys = ["missionId", "taskCount", "completed", "failed", "blocked", "totalDurationMs", "wallClockMs", "retries", "incompleteTaskIds"];
3223
3229
  if (!isRecord(value) || !hasOnlyKeys2(value, keys)) return false;
3224
3230
  if (!isEvidenceIdentifier(value.missionId)) return false;
3225
3231
  for (const k of ["taskCount", "completed", "failed", "totalDurationMs", "retries"]) {
3226
3232
  if (!isNonNegativeInt(value[k])) return false;
3227
3233
  }
3234
+ if (value.blocked !== void 0 && !isNonNegativeInt(value.blocked)) return false;
3228
3235
  if (value.wallClockMs !== null && !isNonNegativeInt(value.wallClockMs)) return false;
3229
3236
  if (!Array.isArray(value.incompleteTaskIds) || !value.incompleteTaskIds.every(isEvidenceIdentifier)) return false;
3230
3237
  return true;
@@ -3346,12 +3353,13 @@ function isLedgerQueryEntryWire(value) {
3346
3353
  return true;
3347
3354
  }
3348
3355
  function isLedgerQuerySummaryWire(value) {
3349
- const keys = ["meshId", "totalEntries", "taskDispatched", "taskCompleted", "taskFailed", "taskStalled", "sessionLaunched", "checkpointCreated", "lastActivityAt", "recentFailures"];
3356
+ const keys = ["meshId", "totalEntries", "taskDispatched", "taskCompleted", "taskFailed", "taskBlocked", "taskStalled", "sessionLaunched", "checkpointCreated", "lastActivityAt", "recentFailures"];
3350
3357
  if (!isRecord(value) || !hasOnlyKeys2(value, keys)) return false;
3351
3358
  if (!isEvidenceIdentifier(value.meshId)) return false;
3352
3359
  for (const k of ["totalEntries", "taskDispatched", "taskCompleted", "taskFailed", "taskStalled", "sessionLaunched", "checkpointCreated", "recentFailures"]) {
3353
3360
  if (!isNonNegativeInt(value[k])) return false;
3354
3361
  }
3362
+ if (value.taskBlocked !== void 0 && !isNonNegativeInt(value.taskBlocked)) return false;
3355
3363
  if (value.lastActivityAt !== null && typeof value.lastActivityAt !== "string") return false;
3356
3364
  return true;
3357
3365
  }
@@ -3395,9 +3403,10 @@ function isQueueDependencyHeadWire(value) {
3395
3403
  return isRecord(value) && hasOnlyKeys2(value, ["id", "status", "cancelReason"]) && typeof value.id === "string" && typeof value.status === "string" && (value.cancelReason === void 0 || typeof value.cancelReason === "string");
3396
3404
  }
3397
3405
  function isQueueQueryResponse(value) {
3398
- if (!isRecord(value) || !hasOnlyKeys2(value, ["entries", "counts", "oldHistoricalCount", "dependencyHeads"])) return false;
3406
+ if (!isRecord(value) || !hasOnlyKeys2(value, ["entries", "counts", "oldHistoricalCount", "legacyReportedBlockedCount", "dependencyHeads"])) return false;
3399
3407
  if (!Array.isArray(value.entries) || !value.entries.every(isQueueEntryWire)) return false;
3400
3408
  if (value.counts !== void 0 && (!isRecord(value.counts) || !Object.values(value.counts).every(isNonNegativeInt))) return false;
3409
+ if (value.legacyReportedBlockedCount !== void 0 && !isNonNegativeInt(value.legacyReportedBlockedCount)) return false;
3401
3410
  if (value.oldHistoricalCount !== void 0 && !isNonNegativeInt(value.oldHistoricalCount)) return false;
3402
3411
  if (value.dependencyHeads !== void 0 && (!Array.isArray(value.dependencyHeads) || !value.dependencyHeads.every(isQueueDependencyHeadWire))) return false;
3403
3412
  return true;
@@ -3519,6 +3528,17 @@ function isRecoveryContextQueryResponse(value) {
3519
3528
  function decodeRecoveryContextQueryResponse(value) {
3520
3529
  return isRecoveryContextQueryResponse(value) ? value : null;
3521
3530
  }
3531
+ function decodeQueueReviseRequest(value) {
3532
+ if (!isRecord(value) || !hasOnlyKeys2(value, ["v", "meshId", "taskId", "expectedRevision", "patch"]) || value.v !== TURN_IPC_PROTOCOL_VERSION || !isEvidenceIdentifier(value.meshId) || !isEvidenceIdentifier(value.taskId) || !Number.isSafeInteger(value.expectedRevision) || value.expectedRevision < 0 || !isRecord(value.patch) || !Object.keys(value.patch).length || !hasOnlyKeys2(value.patch, ["message", "ownedPaths", "phase", "dependsOn", "routingPreferences", "review"])) return null;
3533
+ const p = value.patch;
3534
+ if (p.message !== void 0 && (typeof p.message !== "string" || !p.message.trim())) return null;
3535
+ if (p.phase !== void 0 && p.phase !== "source" && p.phase !== "integration") return null;
3536
+ for (const key of ["ownedPaths", "dependsOn"]) {
3537
+ if (p[key] !== void 0 && (!Array.isArray(p[key]) || !p[key].every((x) => typeof x === "string" && !!x.trim()))) return null;
3538
+ }
3539
+ return value;
3540
+ }
3541
+ var decodeQueueReviseResponse = decodeQueueRequeueResponse;
3522
3542
 
3523
3543
  // src/turn-ipc-stats.ts
3524
3544
  function isTaskStatsQueryRequest(value) {
@@ -3617,6 +3637,7 @@ var TURN_IPC_COMMANDS = [
3617
3637
  "queue_enqueue_batch",
3618
3638
  "queue_cancel",
3619
3639
  "queue_requeue",
3640
+ "queue_revise",
3620
3641
  "direct_dispatch_record",
3621
3642
  "active_work_query",
3622
3643
  "recovery_context_query",
@@ -4306,6 +4327,8 @@ function isProviderQuestionBinding(value) {
4306
4327
  decodeQueueQueryResponse,
4307
4328
  decodeQueueRequeueRequest,
4308
4329
  decodeQueueRequeueResponse,
4330
+ decodeQueueReviseRequest,
4331
+ decodeQueueReviseResponse,
4309
4332
  decodeRecordLocalRequest,
4310
4333
  decodeRecordLocalResponse,
4311
4334
  decodeRecoveryContextQueryRequest,