@rotorsoft/act 0.44.0 → 0.46.0
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/README.md +87 -379
- package/dist/.tsbuildinfo +1 -1
- package/dist/@types/act.d.ts +93 -5
- package/dist/@types/act.d.ts.map +1 -1
- package/dist/@types/adapters/console-logger.d.ts.map +1 -1
- package/dist/@types/adapters/in-memory-store.d.ts +4 -1
- package/dist/@types/adapters/in-memory-store.d.ts.map +1 -1
- package/dist/@types/builders/act-builder.d.ts +33 -9
- package/dist/@types/builders/act-builder.d.ts.map +1 -1
- package/dist/@types/builders/slice-builder.d.ts +23 -8
- package/dist/@types/builders/slice-builder.d.ts.map +1 -1
- package/dist/@types/internal/audit.d.ts +95 -0
- package/dist/@types/internal/audit.d.ts.map +1 -0
- package/dist/@types/internal/build-classify.d.ts +20 -0
- package/dist/@types/internal/build-classify.d.ts.map +1 -1
- package/dist/@types/internal/correlate-cycle.d.ts +1 -0
- package/dist/@types/internal/correlate-cycle.d.ts.map +1 -1
- package/dist/@types/internal/drain-cycle.d.ts +43 -3
- package/dist/@types/internal/drain-cycle.d.ts.map +1 -1
- package/dist/@types/internal/drain.d.ts +3 -1
- package/dist/@types/internal/drain.d.ts.map +1 -1
- package/dist/@types/internal/index.d.ts +4 -2
- package/dist/@types/internal/index.d.ts.map +1 -1
- package/dist/@types/internal/reactions.d.ts.map +1 -1
- package/dist/@types/internal/tracing.d.ts +51 -0
- package/dist/@types/internal/tracing.d.ts.map +1 -1
- package/dist/@types/ports.d.ts +10 -0
- package/dist/@types/ports.d.ts.map +1 -1
- package/dist/@types/test/sandbox.d.ts +1 -1
- package/dist/@types/test/sandbox.d.ts.map +1 -1
- package/dist/@types/types/audit.d.ts +126 -0
- package/dist/@types/types/audit.d.ts.map +1 -0
- package/dist/@types/types/index.d.ts +1 -0
- package/dist/@types/types/index.d.ts.map +1 -1
- package/dist/@types/types/ports.d.ts +9 -2
- package/dist/@types/types/ports.d.ts.map +1 -1
- package/dist/@types/types/reaction.d.ts +20 -2
- package/dist/@types/types/reaction.d.ts.map +1 -1
- package/dist/{chunk-VMX7RPTC.js → chunk-TZWDSNSN.js} +1 -1
- package/dist/{chunk-VMX7RPTC.js.map → chunk-TZWDSNSN.js.map} +1 -1
- package/dist/{chunk-LKRNWD7C.js → chunk-VC6MSVC3.js} +47 -12
- package/dist/chunk-VC6MSVC3.js.map +1 -0
- package/dist/index.cjs +1584 -886
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1538 -874
- package/dist/index.js.map +1 -1
- package/dist/test/index.cjs +52 -18
- package/dist/test/index.cjs.map +1 -1
- package/dist/test/index.js +11 -11
- package/dist/test/index.js.map +1 -1
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.js +1 -1
- package/package.json +2 -2
- package/dist/chunk-LKRNWD7C.js.map +0 -1
package/dist/test/index.cjs
CHANGED
|
@@ -232,7 +232,7 @@ function C({ force: e } = {}) {
|
|
|
232
232
|
var d = C();
|
|
233
233
|
var y = d;
|
|
234
234
|
|
|
235
|
-
// ../../node_modules/.pnpm/@vitest+pretty-format@4.1.
|
|
235
|
+
// ../../node_modules/.pnpm/@vitest+pretty-format@4.1.7/node_modules/@vitest/pretty-format/dist/index.js
|
|
236
236
|
function _mergeNamespaces(n, m) {
|
|
237
237
|
m.forEach(function(e) {
|
|
238
238
|
e && typeof e !== "string" && !Array.isArray(e) && Object.keys(e).forEach(function(k) {
|
|
@@ -1228,7 +1228,7 @@ var plugins = {
|
|
|
1228
1228
|
Error: ErrorPlugin
|
|
1229
1229
|
};
|
|
1230
1230
|
|
|
1231
|
-
// ../../node_modules/.pnpm/@vitest+utils@4.1.
|
|
1231
|
+
// ../../node_modules/.pnpm/@vitest+utils@4.1.7/node_modules/@vitest/utils/dist/display.js
|
|
1232
1232
|
var ansiColors = {
|
|
1233
1233
|
bold: ["1", "22"],
|
|
1234
1234
|
dim: ["2", "22"],
|
|
@@ -1942,7 +1942,7 @@ function objDisplay(obj, options = {}) {
|
|
|
1942
1942
|
return str;
|
|
1943
1943
|
}
|
|
1944
1944
|
|
|
1945
|
-
// ../../node_modules/.pnpm/@vitest+utils@4.1.
|
|
1945
|
+
// ../../node_modules/.pnpm/@vitest+utils@4.1.7/node_modules/@vitest/utils/dist/helpers.js
|
|
1946
1946
|
function assertTypes(value, name, types) {
|
|
1947
1947
|
const receivedType = typeof value;
|
|
1948
1948
|
const pass = types.includes(receivedType);
|
|
@@ -2037,7 +2037,7 @@ function unique(array) {
|
|
|
2037
2037
|
return Array.from(new Set(array));
|
|
2038
2038
|
}
|
|
2039
2039
|
|
|
2040
|
-
// ../../node_modules/.pnpm/@vitest+utils@4.1.
|
|
2040
|
+
// ../../node_modules/.pnpm/@vitest+utils@4.1.7/node_modules/@vitest/utils/dist/timers.js
|
|
2041
2041
|
var SAFE_TIMERS_SYMBOL = /* @__PURE__ */ Symbol("vitest:SAFE_TIMERS");
|
|
2042
2042
|
function getSafeTimers() {
|
|
2043
2043
|
const { setTimeout: safeSetTimeout, setInterval: safeSetInterval, clearInterval: safeClearInterval, clearTimeout: safeClearTimeout, setImmediate: safeSetImmediate, clearImmediate: safeClearImmediate, queueMicrotask: safeQueueMicrotask } = globalThis[SAFE_TIMERS_SYMBOL] || globalThis;
|
|
@@ -2054,7 +2054,7 @@ function getSafeTimers() {
|
|
|
2054
2054
|
};
|
|
2055
2055
|
}
|
|
2056
2056
|
|
|
2057
|
-
// ../../node_modules/.pnpm/@vitest+utils@4.1.
|
|
2057
|
+
// ../../node_modules/.pnpm/@vitest+utils@4.1.7/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js
|
|
2058
2058
|
var _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//;
|
|
2059
2059
|
function normalizeWindowsPath(input = "") {
|
|
2060
2060
|
if (!input) {
|
|
@@ -2151,7 +2151,7 @@ var isAbsolute = function(p) {
|
|
|
2151
2151
|
return _IS_ABSOLUTE_RE.test(p);
|
|
2152
2152
|
};
|
|
2153
2153
|
|
|
2154
|
-
// ../../node_modules/.pnpm/@vitest+utils@4.1.
|
|
2154
|
+
// ../../node_modules/.pnpm/@vitest+utils@4.1.7/node_modules/@vitest/utils/dist/source-map.js
|
|
2155
2155
|
var comma = ",".charCodeAt(0);
|
|
2156
2156
|
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
2157
2157
|
var intToChar = new Uint8Array(64);
|
|
@@ -2278,7 +2278,7 @@ function parseSingleV8Stack(raw) {
|
|
|
2278
2278
|
};
|
|
2279
2279
|
}
|
|
2280
2280
|
|
|
2281
|
-
// ../../node_modules/.pnpm/@vitest+runner@4.1.
|
|
2281
|
+
// ../../node_modules/.pnpm/@vitest+runner@4.1.7/node_modules/@vitest/runner/dist/chunk-artifact.js
|
|
2282
2282
|
var PendingError = class extends Error {
|
|
2283
2283
|
code = "VITEST_PENDING";
|
|
2284
2284
|
taskId;
|
|
@@ -3831,7 +3831,7 @@ function manageArtifactAttachment(attachment) {
|
|
|
3831
3831
|
}
|
|
3832
3832
|
}
|
|
3833
3833
|
|
|
3834
|
-
// ../../node_modules/.pnpm/vite@7.3.3_@types+node@25.
|
|
3834
|
+
// ../../node_modules/.pnpm/vite@7.3.3_@types+node@25.8.0_jiti@2.6.1_lightningcss@1.32.0_terser@5.46.1_tsx@4.22.3_yaml@2.9.0/node_modules/vite/dist/node/module-runner.js
|
|
3835
3835
|
var SOURCEMAPPING_URL = "sourceMa";
|
|
3836
3836
|
SOURCEMAPPING_URL += "ppingURL";
|
|
3837
3837
|
var isWindows = typeof process < "u" && process.platform === "win32";
|
|
@@ -3876,7 +3876,7 @@ var envProxy = new Proxy({}, { get(_, p) {
|
|
|
3876
3876
|
throw Error(`[module runner] Dynamic access of "import.meta.env" is not supported. Please, use "import.meta.env.${String(p)}" instead.`);
|
|
3877
3877
|
} });
|
|
3878
3878
|
|
|
3879
|
-
// ../../node_modules/.pnpm/vitest@4.1.
|
|
3879
|
+
// ../../node_modules/.pnpm/vitest@4.1.7_@opentelemetry+api@1.9.0_@types+node@25.8.0_@vitest+coverage-v8@4.1.7_vite_57ef914dc51ad29f4e9504d1edcad562/node_modules/vitest/dist/index.js
|
|
3880
3880
|
var import_expect_type = __toESM(require_dist(), 1);
|
|
3881
3881
|
|
|
3882
3882
|
// src/internal/lru-map.ts
|
|
@@ -4021,6 +4021,12 @@ var ConsoleLogger = class _ConsoleLogger {
|
|
|
4021
4021
|
if (typeof objOrMsg === "string") {
|
|
4022
4022
|
message = objOrMsg;
|
|
4023
4023
|
obj = {};
|
|
4024
|
+
} else if (objOrMsg instanceof Error) {
|
|
4025
|
+
message = msg ?? objOrMsg.message;
|
|
4026
|
+
obj = {
|
|
4027
|
+
error: { message: objOrMsg.message, name: objOrMsg.name },
|
|
4028
|
+
stack: objOrMsg.stack
|
|
4029
|
+
};
|
|
4024
4030
|
} else if (objOrMsg !== null && typeof objOrMsg === "object") {
|
|
4025
4031
|
message = msg;
|
|
4026
4032
|
obj = { ...objOrMsg };
|
|
@@ -4051,6 +4057,9 @@ var ConsoleLogger = class _ConsoleLogger {
|
|
|
4051
4057
|
let data;
|
|
4052
4058
|
if (typeof objOrMsg === "string") {
|
|
4053
4059
|
message = objOrMsg;
|
|
4060
|
+
} else if (objOrMsg instanceof Error) {
|
|
4061
|
+
message = msg ?? objOrMsg.message;
|
|
4062
|
+
data = objOrMsg.stack;
|
|
4054
4063
|
} else {
|
|
4055
4064
|
message = msg ?? "";
|
|
4056
4065
|
if (objOrMsg !== void 0 && objOrMsg !== null) {
|
|
@@ -4266,13 +4275,15 @@ var _cache = port(function cache(adapter) {
|
|
|
4266
4275
|
});
|
|
4267
4276
|
var SNAP_EVENT = "__snapshot__";
|
|
4268
4277
|
var TOMBSTONE_EVENT = "__tombstone__";
|
|
4278
|
+
var DEFAULT_LANE = "default";
|
|
4269
4279
|
|
|
4270
4280
|
// src/adapters/in-memory-store.ts
|
|
4271
4281
|
var InMemoryStream = class {
|
|
4272
|
-
constructor(stream, source, priority = 0) {
|
|
4282
|
+
constructor(stream, source, priority = 0, lane = DEFAULT_LANE) {
|
|
4273
4283
|
this.stream = stream;
|
|
4274
4284
|
this.source = source;
|
|
4275
4285
|
this._priority = priority;
|
|
4286
|
+
this._lane = lane;
|
|
4276
4287
|
}
|
|
4277
4288
|
_at = -1;
|
|
4278
4289
|
_retry = -1;
|
|
@@ -4281,9 +4292,17 @@ var InMemoryStream = class {
|
|
|
4281
4292
|
_leased_by = void 0;
|
|
4282
4293
|
_leased_until = void 0;
|
|
4283
4294
|
_priority = 0;
|
|
4295
|
+
_lane = DEFAULT_LANE;
|
|
4284
4296
|
get priority() {
|
|
4285
4297
|
return this._priority;
|
|
4286
4298
|
}
|
|
4299
|
+
get lane() {
|
|
4300
|
+
return this._lane;
|
|
4301
|
+
}
|
|
4302
|
+
/** Replace on every subscribe — current builder config wins on restart. */
|
|
4303
|
+
set lane(value) {
|
|
4304
|
+
this._lane = value;
|
|
4305
|
+
}
|
|
4287
4306
|
/**
|
|
4288
4307
|
* Bump the priority via {@link subscribe}: keeps the maximum across
|
|
4289
4308
|
* reactions so the highest-priority registrant wins.
|
|
@@ -4337,7 +4356,8 @@ var InMemoryStream = class {
|
|
|
4337
4356
|
at: lease.at,
|
|
4338
4357
|
by: lease.by,
|
|
4339
4358
|
retry: this._retry,
|
|
4340
|
-
lagging: lease.lagging
|
|
4359
|
+
lagging: lease.lagging,
|
|
4360
|
+
lane: this._lane
|
|
4341
4361
|
};
|
|
4342
4362
|
}
|
|
4343
4363
|
/**
|
|
@@ -4356,7 +4376,8 @@ var InMemoryStream = class {
|
|
|
4356
4376
|
at: this._at,
|
|
4357
4377
|
by: lease.by,
|
|
4358
4378
|
retry: this._retry,
|
|
4359
|
-
lagging: lease.lagging
|
|
4379
|
+
lagging: lease.lagging,
|
|
4380
|
+
lane: this._lane
|
|
4360
4381
|
};
|
|
4361
4382
|
}
|
|
4362
4383
|
}
|
|
@@ -4376,7 +4397,8 @@ var InMemoryStream = class {
|
|
|
4376
4397
|
by: this._leased_by,
|
|
4377
4398
|
retry: this._retry,
|
|
4378
4399
|
error: this._error,
|
|
4379
|
-
lagging: lease.lagging
|
|
4400
|
+
lagging: lease.lagging,
|
|
4401
|
+
lane: this._lane
|
|
4380
4402
|
};
|
|
4381
4403
|
}
|
|
4382
4404
|
}
|
|
@@ -4552,7 +4574,7 @@ var InMemoryStore = class {
|
|
|
4552
4574
|
* @param millis - Lease duration in milliseconds.
|
|
4553
4575
|
* @returns Granted leases.
|
|
4554
4576
|
*/
|
|
4555
|
-
async claim(lagging, leading, by, millis) {
|
|
4577
|
+
async claim(lagging, leading, by, millis, lane) {
|
|
4556
4578
|
await sleep();
|
|
4557
4579
|
const sourceRegex = /* @__PURE__ */ new Map();
|
|
4558
4580
|
const getRegex = (source) => {
|
|
@@ -4573,7 +4595,7 @@ var InMemoryStore = class {
|
|
|
4573
4595
|
return false;
|
|
4574
4596
|
};
|
|
4575
4597
|
const available = [...this._streams.values()].filter(
|
|
4576
|
-
(s) => s.is_available && hasWork(s)
|
|
4598
|
+
(s) => s.is_available && hasWork(s) && (lane === void 0 || s.lane === lane)
|
|
4577
4599
|
);
|
|
4578
4600
|
const lag = available.sort((a, b2) => b2.priority - a.priority || a.at - b2.at).slice(0, lagging).map((s) => ({
|
|
4579
4601
|
stream: s.stream,
|
|
@@ -4609,12 +4631,21 @@ var InMemoryStore = class {
|
|
|
4609
4631
|
async subscribe(streams) {
|
|
4610
4632
|
await sleep();
|
|
4611
4633
|
let subscribed = 0;
|
|
4612
|
-
for (const {
|
|
4634
|
+
for (const {
|
|
4635
|
+
stream,
|
|
4636
|
+
source,
|
|
4637
|
+
priority = 0,
|
|
4638
|
+
lane = DEFAULT_LANE
|
|
4639
|
+
} of streams) {
|
|
4613
4640
|
const existing = this._streams.get(stream);
|
|
4614
4641
|
if (existing) {
|
|
4615
4642
|
existing.bumpPriority(priority);
|
|
4643
|
+
existing.lane = lane;
|
|
4616
4644
|
} else {
|
|
4617
|
-
this._streams.set(
|
|
4645
|
+
this._streams.set(
|
|
4646
|
+
stream,
|
|
4647
|
+
new InMemoryStream(stream, source, priority, lane)
|
|
4648
|
+
);
|
|
4618
4649
|
subscribed++;
|
|
4619
4650
|
}
|
|
4620
4651
|
}
|
|
@@ -4661,6 +4692,7 @@ var InMemoryStore = class {
|
|
|
4661
4692
|
}
|
|
4662
4693
|
if (filter.blocked !== void 0 && s.blocked !== filter.blocked)
|
|
4663
4694
|
return false;
|
|
4695
|
+
if (filter.lane !== void 0 && s.lane !== filter.lane) return false;
|
|
4664
4696
|
return true;
|
|
4665
4697
|
};
|
|
4666
4698
|
}
|
|
@@ -4771,6 +4803,7 @@ var InMemoryStore = class {
|
|
|
4771
4803
|
continue;
|
|
4772
4804
|
}
|
|
4773
4805
|
if (blocked !== void 0 && s.blocked !== blocked) continue;
|
|
4806
|
+
if (query?.lane !== void 0 && s.lane !== query.lane) continue;
|
|
4774
4807
|
callback({
|
|
4775
4808
|
stream: s.stream,
|
|
4776
4809
|
source: s.source,
|
|
@@ -4780,7 +4813,8 @@ var InMemoryStore = class {
|
|
|
4780
4813
|
error: s.error,
|
|
4781
4814
|
priority: s.priority,
|
|
4782
4815
|
leased_by: s.leased_by,
|
|
4783
|
-
leased_until: s.leased_until
|
|
4816
|
+
leased_until: s.leased_until,
|
|
4817
|
+
lane: s.lane
|
|
4784
4818
|
});
|
|
4785
4819
|
count++;
|
|
4786
4820
|
if (count >= limit) break;
|