@muha-sdk/agy-adapter 0.0.0-stage → 0.1.13
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/LICENSE +21 -0
- package/README.md +71 -2
- package/dist/agy-process.d.ts +41 -0
- package/dist/agy-process.d.ts.map +1 -0
- package/dist/agy-process.js +430 -0
- package/dist/agy-process.js.map +1 -0
- package/dist/agy-supervisor +0 -0
- package/dist/agy-supervisor-glibc-compat.c +17 -0
- package/dist/agy-supervisor.c +205 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/native-metadata.d.ts +3 -0
- package/dist/native-metadata.d.ts.map +1 -0
- package/dist/native-metadata.js +164 -0
- package/dist/native-metadata.js.map +1 -0
- package/dist/owned-cli.d.ts +11 -0
- package/dist/owned-cli.d.ts.map +1 -0
- package/dist/owned-cli.js +182 -0
- package/dist/owned-cli.js.map +1 -0
- package/dist/protocol.d.ts +18 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +52 -0
- package/dist/protocol.js.map +1 -0
- package/package.json +37 -4
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { HarnessErrorData } from "@muha-sdk/core";
|
|
2
|
+
export type JsonObject = Record<string, unknown>;
|
|
3
|
+
export declare function object(value: unknown): JsonObject;
|
|
4
|
+
export declare function failure(operation: HarnessErrorData["operation"], message: string): HarnessErrorData;
|
|
5
|
+
export declare class Deferred<T> {
|
|
6
|
+
readonly promise: Promise<T>;
|
|
7
|
+
resolve: (value: T) => void;
|
|
8
|
+
reject: (error: unknown) => void;
|
|
9
|
+
constructor();
|
|
10
|
+
}
|
|
11
|
+
export declare function bounded<T>(promise: Promise<T>, ms: number, error: HarnessErrorData): Promise<T>;
|
|
12
|
+
export declare class EventQueue<T> implements AsyncIterable<T> {
|
|
13
|
+
#private;
|
|
14
|
+
push(value: T): void;
|
|
15
|
+
end(): void;
|
|
16
|
+
[Symbol.asyncIterator](): AsyncIterator<T>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACjD,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAGjD;AACD,wBAAgB,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAEnG;AAED,qBAAa,QAAQ,CAAC,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,EAAG,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,MAAM,EAAG,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;;CAMnC;AAED,wBAAsB,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,CAOrG;AAED,qBAAa,UAAU,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;;IAIpD,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IACpB,GAAG,IAAI,IAAI;IACJ,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;CAQlD"}
|
package/dist/protocol.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export function object(value) {
|
|
2
|
+
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
3
|
+
throw failure("startTurn", "Invalid AGY protocol object");
|
|
4
|
+
return value;
|
|
5
|
+
}
|
|
6
|
+
export function failure(operation, message) {
|
|
7
|
+
return { code: "HARNESS_ERROR", harness: "agy", operation, command: "agy", message, retryable: false };
|
|
8
|
+
}
|
|
9
|
+
export class Deferred {
|
|
10
|
+
promise;
|
|
11
|
+
resolve;
|
|
12
|
+
reject;
|
|
13
|
+
constructor() {
|
|
14
|
+
this.promise = new Promise((resolve, reject) => { this.resolve = resolve; this.reject = reject; });
|
|
15
|
+
// A native channel can fail before its consumer reaches the await.
|
|
16
|
+
void this.promise.catch(() => { });
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export async function bounded(promise, ms, error) {
|
|
20
|
+
let timer;
|
|
21
|
+
try {
|
|
22
|
+
return await Promise.race([promise, new Promise((_, reject) => {
|
|
23
|
+
timer = setTimeout(() => reject(error), ms);
|
|
24
|
+
})]);
|
|
25
|
+
}
|
|
26
|
+
finally {
|
|
27
|
+
clearTimeout(timer);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export class EventQueue {
|
|
31
|
+
#items = [];
|
|
32
|
+
#wake;
|
|
33
|
+
#ended = false;
|
|
34
|
+
push(value) { if (!this.#ended) {
|
|
35
|
+
this.#items.push(value);
|
|
36
|
+
this.#wake?.();
|
|
37
|
+
} }
|
|
38
|
+
end() { this.#ended = true; this.#wake?.(); }
|
|
39
|
+
async *[Symbol.asyncIterator]() {
|
|
40
|
+
for (;;) {
|
|
41
|
+
if (this.#items.length) {
|
|
42
|
+
yield this.#items.shift();
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
if (this.#ended)
|
|
46
|
+
return;
|
|
47
|
+
await new Promise(resolve => { this.#wake = resolve; });
|
|
48
|
+
this.#wake = undefined;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,OAAO,CAAC,WAAW,EAAE,6BAA6B,CAAC,CAAC;IACnI,OAAO,KAAmB,CAAC;AAC7B,CAAC;AACD,MAAM,UAAU,OAAO,CAAC,SAAwC,EAAE,OAAe;IAC/E,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACzG,CAAC;AAED,MAAM,OAAO,QAAQ;IACV,OAAO,CAAa;IAC7B,OAAO,CAAsB;IAC7B,MAAM,CAA4B;IAClC;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtG,mEAAmE;QACnE,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACpC,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAI,OAAmB,EAAE,EAAU,EAAE,KAAuB;IACvF,IAAI,KAAgD,CAAC;IACrD,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBACnE,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC,CAAC,CAAC;IACP,CAAC;YAAS,CAAC;QAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAAC,CAAC;AACpC,CAAC;AAED,MAAM,OAAO,UAAU;IACZ,MAAM,GAAQ,EAAE,CAAC;IAC1B,KAAK,CAA2B;IAChC,MAAM,GAAG,KAAK,CAAC;IACf,IAAI,CAAC,KAAQ,IAAU,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;IAAC,CAAC,CAAC,CAAC;IACvF,GAAG,KAAW,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IACnD,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3B,SAAS,CAAC;YACR,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAG,CAAC;gBAAC,SAAS;YAAC,CAAC;YACjE,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO;YACxB,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACzB,CAAC;IACH,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,39 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@muha-sdk/agy-adapter",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.1.13",
|
|
4
|
+
"description": "Official native AGY CLI adapter for Muha SDK.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"engines": {
|
|
7
|
+
"node": ">=22.20.0"
|
|
8
|
+
},
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"default": "./dist/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build:native": "node scripts/build-native.mjs"
|
|
20
|
+
},
|
|
21
|
+
"sideEffects": false,
|
|
22
|
+
"license": "MIT",
|
|
23
|
+
"repository": {
|
|
24
|
+
"type": "git",
|
|
25
|
+
"url": "https://github.com/Gao-Sijie/muha.git",
|
|
26
|
+
"directory": "packages/agy-adapter"
|
|
27
|
+
},
|
|
28
|
+
"bugs": {
|
|
29
|
+
"url": "https://github.com/Gao-Sijie/muha/issues"
|
|
30
|
+
},
|
|
31
|
+
"homepage": "https://github.com/Gao-Sijie/muha/tree/main/packages/agy-adapter#readme",
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"@muha-sdk/core": "0.1.13"
|
|
34
|
+
},
|
|
35
|
+
"publishConfig": {
|
|
36
|
+
"access": "public",
|
|
37
|
+
"registry": "https://registry.npmjs.org/"
|
|
38
|
+
}
|
|
39
|
+
}
|