@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.
- package/dist/assistant-protocol.d.ts +4 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +35 -12
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +33 -12
- package/dist/index.mjs.map +1 -1
- package/dist/mesh-tool-names.d.ts +2 -2
- package/dist/mesh-vocabulary.d.ts +6 -4
- package/dist/task-source-phase.d.ts +75 -0
- package/dist/turn-evidence.d.ts +4 -4
- package/dist/turn-ipc-mission.d.ts +4 -0
- package/dist/turn-ipc-queue.d.ts +19 -0
- package/dist/turn-ipc.d.ts +2 -2
- package/package.json +1 -1
- package/src/assistant-protocol.ts +4 -0
- package/src/daemon-normalize.ts +7 -5
- package/src/index.ts +1 -0
- package/src/mesh-tool-names.ts +1 -0
- package/src/mesh-vocabulary.ts +4 -2
- package/src/task-source-phase.ts +61 -0
- package/src/turn-evidence.ts +2 -2
- package/src/turn-ipc-mission.ts +8 -2
- package/src/turn-ipc-queue.ts +29 -1
- package/src/turn-ipc-turn.ts +1 -1
- package/src/turn-ipc.ts +1 -0
|
@@ -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
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 (
|
|
765
|
+
if (lower.startsWith(prefix)) {
|
|
763
766
|
const core = trimmed.slice(prefix.length).trim();
|
|
764
|
-
|
|
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 (
|
|
773
|
-
return `
|
|
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,
|