@bastani/atomic 0.9.44-alpha.6 → 0.9.44
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/CHANGELOG.md +55 -0
- package/dist/builtin/intercom/CHANGELOG.md +18 -0
- package/dist/builtin/intercom/index.bundle.mjs +32 -4
- package/dist/builtin/intercom/package.json +1 -1
- package/dist/builtin/mcp/CHANGELOG.md +7 -0
- package/dist/builtin/mcp/package.json +1 -1
- package/dist/builtin/subagents/CHANGELOG.md +9 -0
- package/dist/builtin/subagents/package.json +1 -1
- package/dist/builtin/web-access/package.json +1 -1
- package/dist/builtin/workflows/CHANGELOG.md +31 -0
- package/dist/builtin/workflows/package.json +1 -1
- package/dist/builtin/workflows/src/extension/index.bundle.mjs +141 -38
- package/dist/builtin/workflows/src/extension/local-worker-entry.mjs +139 -30
- package/dist/builtin/workflows/src/index.js +139 -30
- package/dist/builtin/workflows/src/local-worker-entry.mjs +139 -30
- package/npm-shrinkwrap.json +32 -32
- package/package.json +3 -3
|
@@ -58349,6 +58349,9 @@ var init_workflow_stage_target = __esm(() => {
|
|
|
58349
58349
|
});
|
|
58350
58350
|
|
|
58351
58351
|
// dist/builtin/workflows/src/shared/pending-stage-status.ts
|
|
58352
|
+
function isAddressableStageStatus(status) {
|
|
58353
|
+
return ADDRESSABLE_STAGE_STATUSES.has(status);
|
|
58354
|
+
}
|
|
58352
58355
|
function workflowBoundarySegments(runs, runId) {
|
|
58353
58356
|
return createWorkflowBoundarySegmentsResolver(runs)(runId);
|
|
58354
58357
|
}
|
|
@@ -58471,9 +58474,17 @@ function createStagePathPatternIndex(patterns) {
|
|
|
58471
58474
|
}
|
|
58472
58475
|
};
|
|
58473
58476
|
}
|
|
58477
|
+
var ADDRESSABLE_STAGE_STATUSES;
|
|
58474
58478
|
var init_pending_stage_status = __esm(() => {
|
|
58475
58479
|
init_store_internal();
|
|
58476
58480
|
init_workflow_stage_target();
|
|
58481
|
+
ADDRESSABLE_STAGE_STATUSES = new Set([
|
|
58482
|
+
"pending",
|
|
58483
|
+
"running",
|
|
58484
|
+
"awaiting_input",
|
|
58485
|
+
"paused",
|
|
58486
|
+
"blocked"
|
|
58487
|
+
]);
|
|
58477
58488
|
});
|
|
58478
58489
|
|
|
58479
58490
|
// dist/builtin/workflows/src/shared/sticky-delivery-state-bound.ts
|
|
@@ -59187,7 +59198,7 @@ function registerPendingStageIntercomBridge(pi, activeStore, ownsRun = () => tru
|
|
|
59187
59198
|
stageName: stage.name,
|
|
59188
59199
|
target: stageRouteTarget(runs, rootRunId, run.id, stage.id, resolveBoundarySegments),
|
|
59189
59200
|
lifecycle: stage.sessionId === undefined && stage.sessionFile === undefined ? "pending" : "running",
|
|
59190
|
-
routeEligible: stage.pendingStageDeliveryAvailable === true && (stage.status
|
|
59201
|
+
routeEligible: stage.pendingStageDeliveryAvailable === true && isAddressableStageStatus(stage.status),
|
|
59191
59202
|
group: stage.intercomGroup ?? workflowInvocationIntercomGroup(rootRunId)
|
|
59192
59203
|
})),
|
|
59193
59204
|
...nonAgentNodes(run).map((node) => ({
|
|
@@ -59690,7 +59701,7 @@ function knownUninitializedStage(run, stageKey) {
|
|
|
59690
59701
|
if (candidates.length !== 1)
|
|
59691
59702
|
return;
|
|
59692
59703
|
const stage = candidates[0];
|
|
59693
|
-
return (stage.status
|
|
59704
|
+
return isAddressableStageStatus(stage.status) && stage.sessionId === undefined && stage.sessionFile === undefined ? stage : undefined;
|
|
59694
59705
|
}
|
|
59695
59706
|
function pendingStageDestination(run, entry) {
|
|
59696
59707
|
if (entry.stageId !== undefined) {
|
|
@@ -64371,15 +64382,74 @@ function isWorkflowPendingStageDeliveryFailure(error) {
|
|
|
64371
64382
|
return true;
|
|
64372
64383
|
return error?.code === "pending_stage_delivery_failed";
|
|
64373
64384
|
}
|
|
64374
|
-
function createWorkflowPendingStageDelivery(activeStore, runId, stageId, stageName, commit = (action) => action()) {
|
|
64385
|
+
function createWorkflowPendingStageDelivery(activeStore, runId, stageId, stageName, commit = (action) => action(), options = {}) {
|
|
64375
64386
|
let resolveReady;
|
|
64376
64387
|
let rejectReady;
|
|
64377
64388
|
let readyPromise;
|
|
64378
64389
|
let drainError;
|
|
64379
64390
|
let terminalError;
|
|
64380
64391
|
let drainPromise;
|
|
64392
|
+
let drainedSessionId;
|
|
64381
64393
|
let currentRecipient;
|
|
64382
|
-
|
|
64394
|
+
let lastProgressAt = Date.now();
|
|
64395
|
+
let stallReported = false;
|
|
64396
|
+
const progress = () => {
|
|
64397
|
+
lastProgressAt = Date.now();
|
|
64398
|
+
};
|
|
64399
|
+
const progressingCommit = async (action) => {
|
|
64400
|
+
try {
|
|
64401
|
+
return await commit(action);
|
|
64402
|
+
} finally {
|
|
64403
|
+
progress();
|
|
64404
|
+
}
|
|
64405
|
+
};
|
|
64406
|
+
const reportStall = (sessionId) => {
|
|
64407
|
+
if (stallReported)
|
|
64408
|
+
return;
|
|
64409
|
+
stallReported = true;
|
|
64410
|
+
const undelivered = [
|
|
64411
|
+
...activeStore.pendingStageMessagesFor(runId, stageId),
|
|
64412
|
+
...stageId === stageName ? [] : activeStore.pendingStageMessagesFor(runId, stageName)
|
|
64413
|
+
].map((entry) => `${entry.message.id} (direct → ${entry.stageKey})`).concat(stickyPendingStageEntriesForStage(activeStore, runId, stageId, stageName, sessionId === undefined ? undefined : { sessionId }).map((entry) => `${entry.message.id} (sticky → ${entry.targetPath ?? entry.stageKey})`));
|
|
64414
|
+
const listed = undelivered.slice(0, 10).join(", ");
|
|
64415
|
+
const more = undelivered.length > 10 ? `, and ${undelivered.length - 10} more` : "";
|
|
64416
|
+
const message = `atomic-workflows: stage "${stageName}" (${stageId}) is starting without its queued Intercom messages: ` + `no delivery progress for ${PENDING_STAGE_READY_STALL_MS / 1000}s; ` + `drain ${drainPromise === undefined ? "not running" : "running but hung"}; ` + `undelivered: ${listed.length === 0 ? "none" : `${listed}${more}`}. ` + "They stay queued and arrive live or on the stage's next drain.";
|
|
64417
|
+
try {
|
|
64418
|
+
(options.reportStall ?? console.warn)(message);
|
|
64419
|
+
} catch {}
|
|
64420
|
+
};
|
|
64421
|
+
const watchStall = (pending, sessionId, onStall) => {
|
|
64422
|
+
let timer;
|
|
64423
|
+
let settled = false;
|
|
64424
|
+
const check = () => {
|
|
64425
|
+
if (settled)
|
|
64426
|
+
return;
|
|
64427
|
+
const remaining = lastProgressAt + PENDING_STAGE_READY_STALL_MS - Date.now();
|
|
64428
|
+
if (remaining > 0) {
|
|
64429
|
+
timer = setTimeout(check, remaining);
|
|
64430
|
+
timer.unref?.();
|
|
64431
|
+
return;
|
|
64432
|
+
}
|
|
64433
|
+
reportStall(sessionId);
|
|
64434
|
+
onStall();
|
|
64435
|
+
};
|
|
64436
|
+
const stop = () => {
|
|
64437
|
+
settled = true;
|
|
64438
|
+
clearTimeout(timer);
|
|
64439
|
+
};
|
|
64440
|
+
pending.then(stop, stop);
|
|
64441
|
+
check();
|
|
64442
|
+
};
|
|
64443
|
+
const boundedDrain = (drain, sessionId) => {
|
|
64444
|
+
const waiting = new Promise((resolve, reject) => {
|
|
64445
|
+
drain.then(resolve, reject);
|
|
64446
|
+
watchStall(drain, sessionId, resolve);
|
|
64447
|
+
});
|
|
64448
|
+
waiting.catch(() => {});
|
|
64449
|
+
return waiting;
|
|
64450
|
+
};
|
|
64451
|
+
const hasUndeliveredExact = () => activeStore.pendingStageMessagesFor(runId, stageId).length > 0 || stageId !== stageName && activeStore.pendingStageMessagesFor(runId, stageName).length > 0;
|
|
64452
|
+
const hasUndelivered = (sessionId) => hasUndeliveredExact() || stickyPendingStageEntriesForStage(activeStore, runId, stageId, stageName, sessionId === undefined ? undefined : { sessionId }).length > 0;
|
|
64383
64453
|
const pendingReady = () => {
|
|
64384
64454
|
if (readyPromise === undefined) {
|
|
64385
64455
|
readyPromise = new Promise((resolve, reject) => {
|
|
@@ -64389,35 +64459,64 @@ function createWorkflowPendingStageDelivery(activeStore, runId, stageId, stageNa
|
|
|
64389
64459
|
}
|
|
64390
64460
|
return readyPromise;
|
|
64391
64461
|
};
|
|
64462
|
+
let followUp;
|
|
64463
|
+
const startDrain = (deliver, recipient) => {
|
|
64464
|
+
if (terminalError !== undefined)
|
|
64465
|
+
return Promise.resolve();
|
|
64466
|
+
drainError = undefined;
|
|
64467
|
+
progress();
|
|
64468
|
+
const attempt = deliverPendingStageMessages(activeStore, runId, stageId, stageName, async (from, message) => {
|
|
64469
|
+
progress();
|
|
64470
|
+
await deliver(from, message);
|
|
64471
|
+
progress();
|
|
64472
|
+
}, progressingCommit, recipient);
|
|
64473
|
+
const drain = attempt.then(() => {
|
|
64474
|
+
progress();
|
|
64475
|
+
drainedSessionId = recipient?.sessionId;
|
|
64476
|
+
resolveReady?.();
|
|
64477
|
+
readyPromise = undefined;
|
|
64478
|
+
resolveReady = undefined;
|
|
64479
|
+
rejectReady = undefined;
|
|
64480
|
+
if (drainPromise === drain)
|
|
64481
|
+
drainPromise = undefined;
|
|
64482
|
+
}, (error) => {
|
|
64483
|
+
progress();
|
|
64484
|
+
drainError = error;
|
|
64485
|
+
rejectReady?.(error);
|
|
64486
|
+
readyPromise = undefined;
|
|
64487
|
+
resolveReady = undefined;
|
|
64488
|
+
rejectReady = undefined;
|
|
64489
|
+
if (drainPromise === drain)
|
|
64490
|
+
drainPromise = undefined;
|
|
64491
|
+
throw error;
|
|
64492
|
+
});
|
|
64493
|
+
drainPromise = drain;
|
|
64494
|
+
return boundedDrain(drain, recipient?.sessionId);
|
|
64495
|
+
};
|
|
64496
|
+
const requestDrain = (deliver, recipient) => {
|
|
64497
|
+
const running = drainPromise;
|
|
64498
|
+
if (running === undefined)
|
|
64499
|
+
return startDrain(deliver, recipient);
|
|
64500
|
+
if (followUp !== undefined) {
|
|
64501
|
+
followUp.deliver = deliver;
|
|
64502
|
+
followUp.recipient = recipient;
|
|
64503
|
+
return boundedDrain(followUp.settled.promise, recipient?.sessionId);
|
|
64504
|
+
}
|
|
64505
|
+
const next = { deliver, recipient, settled: Promise.withResolvers() };
|
|
64506
|
+
next.settled.promise.catch(() => {});
|
|
64507
|
+
followUp = next;
|
|
64508
|
+
running.catch(() => {}).then(() => {
|
|
64509
|
+
if (followUp === next)
|
|
64510
|
+
followUp = undefined;
|
|
64511
|
+
return requestDrain(next.deliver, next.recipient);
|
|
64512
|
+
}).then(next.settled.resolve, next.settled.reject);
|
|
64513
|
+
return boundedDrain(next.settled.promise, recipient?.sessionId);
|
|
64514
|
+
};
|
|
64392
64515
|
return {
|
|
64393
64516
|
routeCapability: workflowPendingStageRouteCapability(activeStore, runId),
|
|
64394
64517
|
deliverPending(deliver, recipient) {
|
|
64395
64518
|
currentRecipient = recipient;
|
|
64396
|
-
|
|
64397
|
-
return drainPromise;
|
|
64398
|
-
if (terminalError !== undefined)
|
|
64399
|
-
return Promise.resolve();
|
|
64400
|
-
drainError = undefined;
|
|
64401
|
-
const attempt = deliverPendingStageMessages(activeStore, runId, stageId, stageName, deliver, commit, recipient);
|
|
64402
|
-
const drain = attempt.then(() => {
|
|
64403
|
-
resolveReady?.();
|
|
64404
|
-
readyPromise = undefined;
|
|
64405
|
-
resolveReady = undefined;
|
|
64406
|
-
rejectReady = undefined;
|
|
64407
|
-
if (drainPromise === drain)
|
|
64408
|
-
drainPromise = undefined;
|
|
64409
|
-
}, (error) => {
|
|
64410
|
-
drainError = error;
|
|
64411
|
-
rejectReady?.(error);
|
|
64412
|
-
readyPromise = undefined;
|
|
64413
|
-
resolveReady = undefined;
|
|
64414
|
-
rejectReady = undefined;
|
|
64415
|
-
if (drainPromise === drain)
|
|
64416
|
-
drainPromise = undefined;
|
|
64417
|
-
throw error;
|
|
64418
|
-
});
|
|
64419
|
-
drainPromise = drain;
|
|
64420
|
-
return drainPromise;
|
|
64519
|
+
return requestDrain(deliver, recipient);
|
|
64421
64520
|
},
|
|
64422
64521
|
ready(sessionId) {
|
|
64423
64522
|
if (!hasUndelivered(sessionId)) {
|
|
@@ -64427,6 +64526,8 @@ function createWorkflowPendingStageDelivery(activeStore, runId, stageId, stageNa
|
|
|
64427
64526
|
return Promise.reject(terminalError);
|
|
64428
64527
|
if (drainError !== undefined)
|
|
64429
64528
|
return Promise.reject(drainError);
|
|
64529
|
+
if (drainPromise === undefined && sessionId !== undefined && drainedSessionId === sessionId && !hasUndeliveredExact())
|
|
64530
|
+
return;
|
|
64430
64531
|
const ready = pendingReady();
|
|
64431
64532
|
if (sessionId !== undefined && activeStore.pendingStageMessagesFor(runId, stageId).length === 0 && activeStore.pendingStageMessagesFor(runId, stageName).length === 0) {
|
|
64432
64533
|
const entries = stickyPendingStageEntriesForStage(activeStore, runId, stageId, stageName, { sessionId });
|
|
@@ -64450,6 +64551,14 @@ function createWorkflowPendingStageDelivery(activeStore, runId, stageId, stageNa
|
|
|
64450
64551
|
rejectReady?.(error);
|
|
64451
64552
|
});
|
|
64452
64553
|
}
|
|
64554
|
+
watchStall(ready, sessionId, () => {
|
|
64555
|
+
if (readyPromise !== ready)
|
|
64556
|
+
return;
|
|
64557
|
+
resolveReady?.();
|
|
64558
|
+
readyPromise = undefined;
|
|
64559
|
+
resolveReady = undefined;
|
|
64560
|
+
rejectReady = undefined;
|
|
64561
|
+
});
|
|
64453
64562
|
return ready;
|
|
64454
64563
|
},
|
|
64455
64564
|
fail(reason) {
|
|
@@ -64577,7 +64686,7 @@ function toPendingStageSender(entry) {
|
|
|
64577
64686
|
lastActivity: entry.from.lastActivity ?? entry.message.timestamp
|
|
64578
64687
|
};
|
|
64579
64688
|
}
|
|
64580
|
-
var pendingDeliveryClaims, WorkflowPendingStageDeliveryFailedError;
|
|
64689
|
+
var pendingDeliveryClaims, WorkflowPendingStageDeliveryFailedError, PENDING_STAGE_READY_STALL_MS = 60000;
|
|
64581
64690
|
var init_pending_stage_delivery2 = __esm(() => {
|
|
64582
64691
|
init_run_owner_backend();
|
|
64583
64692
|
init_store_backend();
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bastani/atomic",
|
|
3
|
-
"version": "0.9.44
|
|
3
|
+
"version": "0.9.44",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@bastani/atomic",
|
|
9
|
-
"version": "0.9.44
|
|
9
|
+
"version": "0.9.44",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@bastani/atomic-natives": "0.9.44
|
|
13
|
-
"@bastani/pi-ai": "0.9.44
|
|
12
|
+
"@bastani/atomic-natives": "0.9.44",
|
|
13
|
+
"@bastani/pi-ai": "0.9.44",
|
|
14
14
|
"@earendil-works/pi-agent-core": "1.4.0",
|
|
15
15
|
"@earendil-works/pi-codemode": "1.4.0",
|
|
16
16
|
"@earendil-works/pi-tui": "1.4.0",
|
|
@@ -427,18 +427,18 @@
|
|
|
427
427
|
}
|
|
428
428
|
},
|
|
429
429
|
"node_modules/@bastani/atomic-natives": {
|
|
430
|
-
"version": "0.9.44
|
|
431
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives/-/atomic-natives-0.9.44
|
|
430
|
+
"version": "0.9.44",
|
|
431
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives/-/atomic-natives-0.9.44.tgz",
|
|
432
432
|
"license": "MIT",
|
|
433
433
|
"optionalDependencies": {
|
|
434
|
-
"@bastani/atomic-natives-darwin-arm64": "0.9.44
|
|
435
|
-
"@bastani/atomic-natives-darwin-x64": "0.9.44
|
|
436
|
-
"@bastani/atomic-natives-linux-arm64-gnu": "0.9.44
|
|
437
|
-
"@bastani/atomic-natives-linux-arm64-musl": "0.9.44
|
|
438
|
-
"@bastani/atomic-natives-linux-x64-gnu": "0.9.44
|
|
439
|
-
"@bastani/atomic-natives-linux-x64-musl": "0.9.44
|
|
440
|
-
"@bastani/atomic-natives-win32-arm64-msvc": "0.9.44
|
|
441
|
-
"@bastani/atomic-natives-win32-x64-msvc": "0.9.44
|
|
434
|
+
"@bastani/atomic-natives-darwin-arm64": "0.9.44",
|
|
435
|
+
"@bastani/atomic-natives-darwin-x64": "0.9.44",
|
|
436
|
+
"@bastani/atomic-natives-linux-arm64-gnu": "0.9.44",
|
|
437
|
+
"@bastani/atomic-natives-linux-arm64-musl": "0.9.44",
|
|
438
|
+
"@bastani/atomic-natives-linux-x64-gnu": "0.9.44",
|
|
439
|
+
"@bastani/atomic-natives-linux-x64-musl": "0.9.44",
|
|
440
|
+
"@bastani/atomic-natives-win32-arm64-msvc": "0.9.44",
|
|
441
|
+
"@bastani/atomic-natives-win32-x64-msvc": "0.9.44"
|
|
442
442
|
},
|
|
443
443
|
"engines": {
|
|
444
444
|
"bun": ">=1.4.2",
|
|
@@ -446,8 +446,8 @@
|
|
|
446
446
|
}
|
|
447
447
|
},
|
|
448
448
|
"node_modules/@bastani/atomic-natives-darwin-arm64": {
|
|
449
|
-
"version": "0.9.44
|
|
450
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-darwin-arm64/-/atomic-natives-darwin-arm64-0.9.44
|
|
449
|
+
"version": "0.9.44",
|
|
450
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-darwin-arm64/-/atomic-natives-darwin-arm64-0.9.44.tgz",
|
|
451
451
|
"license": "MIT",
|
|
452
452
|
"os": [
|
|
453
453
|
"darwin"
|
|
@@ -458,8 +458,8 @@
|
|
|
458
458
|
"optional": true
|
|
459
459
|
},
|
|
460
460
|
"node_modules/@bastani/atomic-natives-darwin-x64": {
|
|
461
|
-
"version": "0.9.44
|
|
462
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-darwin-x64/-/atomic-natives-darwin-x64-0.9.44
|
|
461
|
+
"version": "0.9.44",
|
|
462
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-darwin-x64/-/atomic-natives-darwin-x64-0.9.44.tgz",
|
|
463
463
|
"license": "MIT",
|
|
464
464
|
"os": [
|
|
465
465
|
"darwin"
|
|
@@ -470,8 +470,8 @@
|
|
|
470
470
|
"optional": true
|
|
471
471
|
},
|
|
472
472
|
"node_modules/@bastani/atomic-natives-linux-arm64-gnu": {
|
|
473
|
-
"version": "0.9.44
|
|
474
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-arm64-gnu/-/atomic-natives-linux-arm64-gnu-0.9.44
|
|
473
|
+
"version": "0.9.44",
|
|
474
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-arm64-gnu/-/atomic-natives-linux-arm64-gnu-0.9.44.tgz",
|
|
475
475
|
"license": "MIT",
|
|
476
476
|
"os": [
|
|
477
477
|
"linux"
|
|
@@ -485,8 +485,8 @@
|
|
|
485
485
|
"optional": true
|
|
486
486
|
},
|
|
487
487
|
"node_modules/@bastani/atomic-natives-linux-arm64-musl": {
|
|
488
|
-
"version": "0.9.44
|
|
489
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-arm64-musl/-/atomic-natives-linux-arm64-musl-0.9.44
|
|
488
|
+
"version": "0.9.44",
|
|
489
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-arm64-musl/-/atomic-natives-linux-arm64-musl-0.9.44.tgz",
|
|
490
490
|
"license": "MIT",
|
|
491
491
|
"os": [
|
|
492
492
|
"linux"
|
|
@@ -500,8 +500,8 @@
|
|
|
500
500
|
"optional": true
|
|
501
501
|
},
|
|
502
502
|
"node_modules/@bastani/atomic-natives-linux-x64-gnu": {
|
|
503
|
-
"version": "0.9.44
|
|
504
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-x64-gnu/-/atomic-natives-linux-x64-gnu-0.9.44
|
|
503
|
+
"version": "0.9.44",
|
|
504
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-x64-gnu/-/atomic-natives-linux-x64-gnu-0.9.44.tgz",
|
|
505
505
|
"license": "MIT",
|
|
506
506
|
"os": [
|
|
507
507
|
"linux"
|
|
@@ -515,8 +515,8 @@
|
|
|
515
515
|
"optional": true
|
|
516
516
|
},
|
|
517
517
|
"node_modules/@bastani/atomic-natives-linux-x64-musl": {
|
|
518
|
-
"version": "0.9.44
|
|
519
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-x64-musl/-/atomic-natives-linux-x64-musl-0.9.44
|
|
518
|
+
"version": "0.9.44",
|
|
519
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-x64-musl/-/atomic-natives-linux-x64-musl-0.9.44.tgz",
|
|
520
520
|
"license": "MIT",
|
|
521
521
|
"os": [
|
|
522
522
|
"linux"
|
|
@@ -530,8 +530,8 @@
|
|
|
530
530
|
"optional": true
|
|
531
531
|
},
|
|
532
532
|
"node_modules/@bastani/atomic-natives-win32-arm64-msvc": {
|
|
533
|
-
"version": "0.9.44
|
|
534
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-win32-arm64-msvc/-/atomic-natives-win32-arm64-msvc-0.9.44
|
|
533
|
+
"version": "0.9.44",
|
|
534
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-win32-arm64-msvc/-/atomic-natives-win32-arm64-msvc-0.9.44.tgz",
|
|
535
535
|
"license": "MIT",
|
|
536
536
|
"os": [
|
|
537
537
|
"win32"
|
|
@@ -542,8 +542,8 @@
|
|
|
542
542
|
"optional": true
|
|
543
543
|
},
|
|
544
544
|
"node_modules/@bastani/atomic-natives-win32-x64-msvc": {
|
|
545
|
-
"version": "0.9.44
|
|
546
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-win32-x64-msvc/-/atomic-natives-win32-x64-msvc-0.9.44
|
|
545
|
+
"version": "0.9.44",
|
|
546
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-win32-x64-msvc/-/atomic-natives-win32-x64-msvc-0.9.44.tgz",
|
|
547
547
|
"license": "MIT",
|
|
548
548
|
"os": [
|
|
549
549
|
"win32"
|
|
@@ -554,8 +554,8 @@
|
|
|
554
554
|
"optional": true
|
|
555
555
|
},
|
|
556
556
|
"node_modules/@bastani/pi-ai": {
|
|
557
|
-
"version": "0.9.44
|
|
558
|
-
"resolved": "https://registry.npmjs.org/@bastani/pi-ai/-/pi-ai-0.9.44
|
|
557
|
+
"version": "0.9.44",
|
|
558
|
+
"resolved": "https://registry.npmjs.org/@bastani/pi-ai/-/pi-ai-0.9.44.tgz",
|
|
559
559
|
"license": "MIT",
|
|
560
560
|
"dependencies": {
|
|
561
561
|
"@anthropic-ai/sdk": "0.129.0",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bastani/atomic",
|
|
3
|
-
"version": "0.9.44
|
|
3
|
+
"version": "0.9.44",
|
|
4
4
|
"description": "Atomic coding agent CLI with read, bash, edit, write tools and session management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"atomicConfig": {
|
|
@@ -89,8 +89,8 @@
|
|
|
89
89
|
"prepublishOnly": "bun run clean && bun run build && bun run shrinkwrap"
|
|
90
90
|
},
|
|
91
91
|
"dependencies": {
|
|
92
|
-
"@bastani/atomic-natives": "0.9.44
|
|
93
|
-
"@bastani/pi-ai": "0.9.44
|
|
92
|
+
"@bastani/atomic-natives": "0.9.44",
|
|
93
|
+
"@bastani/pi-ai": "0.9.44",
|
|
94
94
|
"@earendil-works/pi-agent-core": "1.4.0",
|
|
95
95
|
"@earendil-works/pi-codemode": "1.4.0",
|
|
96
96
|
"@earendil-works/pi-tui": "1.4.0",
|