@tapflowio/agent-core 0.5.0 → 0.6.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/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/power.d.ts +19 -0
- package/dist/utils/power.d.ts.map +1 -0
- package/dist/utils/power.js +41 -0
- package/dist/utils/power.js.map +1 -0
- package/package.json +1 -1
package/dist/utils/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export { TFFE_MAGIC, HEADER_SIZE, CODEC_JPEG, CODEC_H264, hasEnvelope, writeEnve
|
|
|
5
5
|
export type { EnvelopeFlags } from './envelope.js';
|
|
6
6
|
export { createThroughputSampler } from './throughput.js';
|
|
7
7
|
export type { ThroughputSample } from './throughput.js';
|
|
8
|
+
export { createSleepBlocker } from './power.js';
|
|
9
|
+
export type { SleepBlocker } from './power.js';
|
|
8
10
|
export { parseSpsVui, rewriteSpsLowLatency, rewriteLowLatencySpsInFrame, } from './sps.js';
|
|
9
11
|
export type { SpsVuiInfo } from './sps.js';
|
|
10
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EACL,UAAU,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,GACf,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,UAAU,CAAA;AACjB,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EACL,UAAU,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,GACf,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,UAAU,CAAA;AACjB,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA"}
|
package/dist/utils/index.js
CHANGED
|
@@ -2,5 +2,6 @@ export { createResourceSampler } from './resources.js';
|
|
|
2
2
|
export { registerStreamWs, sendBinaryWithBackpressure, createKeyframeAwareSender, createRateLimitedDropWarn, DEFAULT_BACKPRESSURE_BYTES, } from './stream.js';
|
|
3
3
|
export { TFFE_MAGIC, HEADER_SIZE, CODEC_JPEG, CODEC_H264, hasEnvelope, writeEnvelopeHeader, readEnvelopeFlags, patchRelayedAt, } from './envelope.js';
|
|
4
4
|
export { createThroughputSampler } from './throughput.js';
|
|
5
|
+
export { createSleepBlocker } from './power.js';
|
|
5
6
|
export { parseSpsVui, rewriteSpsLowLatency, rewriteLowLatencySpsInFrame, } from './sps.js';
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,UAAU,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,GACf,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,UAAU,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,GACf,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAE/C,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,UAAU,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { spawn } from 'child_process';
|
|
2
|
+
export interface SleepBlocker {
|
|
3
|
+
/** Start holding the power assertion (idempotent). No-op off macOS. */
|
|
4
|
+
acquire(): void;
|
|
5
|
+
/** Release the assertion. Safe to call when not held. */
|
|
6
|
+
release(): void;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* macOS-only host power assertion via `caffeinate -i`, so the system doesn't
|
|
10
|
+
* idle-throttle (or sleep) the simulator/emulator while a session is active —
|
|
11
|
+
* the emulator's software H.264 encoder starves badly when the host idles
|
|
12
|
+
* (unattended/backgrounded Mac). Off macOS this is a complete no-op.
|
|
13
|
+
*
|
|
14
|
+
* `caffeinate -i` only prevents idle/system sleep; it does NOT override battery
|
|
15
|
+
* CPU scaling. Partial but meaningful mitigation. `platform`/`spawnFn` are
|
|
16
|
+
* injectable for tests.
|
|
17
|
+
*/
|
|
18
|
+
export declare function createSleepBlocker(platform?: NodeJS.Platform, spawnFn?: typeof spawn): SleepBlocker;
|
|
19
|
+
//# sourceMappingURL=power.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"power.d.ts","sourceRoot":"","sources":["../../src/utils/power.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAGrC,MAAM,WAAW,YAAY;IAC3B,uEAAuE;IACvE,OAAO,IAAI,IAAI,CAAA;IACf,yDAAyD;IACzD,OAAO,IAAI,IAAI,CAAA;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,OAAO,GAAE,OAAO,KAAa,GAC5B,YAAY,CAyBd"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { spawn } from 'child_process';
|
|
2
|
+
/**
|
|
3
|
+
* macOS-only host power assertion via `caffeinate -i`, so the system doesn't
|
|
4
|
+
* idle-throttle (or sleep) the simulator/emulator while a session is active —
|
|
5
|
+
* the emulator's software H.264 encoder starves badly when the host idles
|
|
6
|
+
* (unattended/backgrounded Mac). Off macOS this is a complete no-op.
|
|
7
|
+
*
|
|
8
|
+
* `caffeinate -i` only prevents idle/system sleep; it does NOT override battery
|
|
9
|
+
* CPU scaling. Partial but meaningful mitigation. `platform`/`spawnFn` are
|
|
10
|
+
* injectable for tests.
|
|
11
|
+
*/
|
|
12
|
+
export function createSleepBlocker(platform = process.platform, spawnFn = spawn) {
|
|
13
|
+
let proc = null;
|
|
14
|
+
return {
|
|
15
|
+
acquire() {
|
|
16
|
+
if (proc || platform !== 'darwin')
|
|
17
|
+
return;
|
|
18
|
+
try {
|
|
19
|
+
const child = spawnFn('caffeinate', ['-i'], { stdio: 'ignore' });
|
|
20
|
+
proc = child;
|
|
21
|
+
// Drop the handle on any termination (missing binary, external kill, exit) so a
|
|
22
|
+
// later acquire() re-spawns. Guard on identity so a stale child's late event can't
|
|
23
|
+
// null out a newer one.
|
|
24
|
+
const clear = () => { if (proc === child)
|
|
25
|
+
proc = null; };
|
|
26
|
+
child.once('error', clear);
|
|
27
|
+
child.once('close', clear);
|
|
28
|
+
child.once('exit', clear);
|
|
29
|
+
child.unref();
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
proc = null;
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
release() {
|
|
36
|
+
proc?.kill();
|
|
37
|
+
proc = null;
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=power.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"power.js","sourceRoot":"","sources":["../../src/utils/power.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAUrC;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAA4B,OAAO,CAAC,QAAQ,EAC5C,UAAwB,KAAK;IAE7B,IAAI,IAAI,GAAwB,IAAI,CAAA;IACpC,OAAO;QACL,OAAO;YACL,IAAI,IAAI,IAAI,QAAQ,KAAK,QAAQ;gBAAE,OAAM;YACzC,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;gBAChE,IAAI,GAAG,KAAK,CAAA;gBACZ,gFAAgF;gBAChF,mFAAmF;gBACnF,wBAAwB;gBACxB,MAAM,KAAK,GAAG,GAAS,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK;oBAAE,IAAI,GAAG,IAAI,CAAA,CAAC,CAAC,CAAA;gBAC7D,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;gBAC1B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;gBAC1B,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;gBACzB,KAAK,CAAC,KAAK,EAAE,CAAA;YACf,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,GAAG,IAAI,CAAA;YACb,CAAC;QACH,CAAC;QACD,OAAO;YACL,IAAI,EAAE,IAAI,EAAE,CAAA;YACZ,IAAI,GAAG,IAAI,CAAA;QACb,CAAC;KACF,CAAA;AACH,CAAC"}
|