@akala/pm 14.6.2 → 15.0.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.
Files changed (56) hide show
  1. package/changelog.md +23 -5
  2. package/cli-commands.json +14 -3
  3. package/commands.json +15 -0
  4. package/dist/esm/akala.d.mts +4 -0
  5. package/dist/esm/akala.mjs +37 -18
  6. package/dist/esm/akala.mjs.map +1 -1
  7. package/dist/esm/cli-commands/discover.js +6 -6
  8. package/dist/esm/cli-commands/discover.js.map +1 -1
  9. package/dist/esm/cli-commands/map.d.ts +2 -2
  10. package/dist/esm/cli-commands/map.js +2 -2
  11. package/dist/esm/cli-commands/map.js.map +1 -1
  12. package/dist/esm/cli-commands/run.d.ts +6 -1
  13. package/dist/esm/cli-commands/run.js +13 -36
  14. package/dist/esm/cli-commands/run.js.map +1 -1
  15. package/dist/esm/cli-container.d.ts +3 -3
  16. package/dist/esm/cli-container.js +1 -1
  17. package/dist/esm/cli-container.js.map +1 -1
  18. package/dist/esm/commands/start.js +87 -111
  19. package/dist/esm/commands/start.js.map +1 -1
  20. package/dist/esm/commands/status.js +1 -1
  21. package/dist/esm/commands/status.js.map +1 -1
  22. package/dist/esm/commands/stop.js +1 -1
  23. package/dist/esm/commands/stop.js.map +1 -1
  24. package/dist/esm/container.d.ts +3 -3
  25. package/dist/esm/container.js +1 -1
  26. package/dist/esm/container.js.map +1 -1
  27. package/dist/esm/runtimes/child_process.d.ts +3 -1
  28. package/dist/esm/runtimes/child_process.js +14 -6
  29. package/dist/esm/runtimes/child_process.js.map +1 -1
  30. package/dist/esm/runtimes/process.d.ts +2 -0
  31. package/dist/esm/runtimes/process.js +3 -8
  32. package/dist/esm/runtimes/process.js.map +1 -1
  33. package/dist/esm/runtimes/shared.d.ts +2 -0
  34. package/dist/esm/runtimes/worker.d.ts +1 -0
  35. package/dist/esm/runtimes/worker.js +1 -0
  36. package/dist/esm/runtimes/worker.js.map +1 -1
  37. package/dist/esm/state.d.ts +2 -2
  38. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  39. package/package.json +6 -6
  40. package/src/akala.mts +48 -19
  41. package/src/cli-commands/discover.ts +7 -7
  42. package/src/cli-commands/map.json +10 -2
  43. package/src/cli-commands/map.ts +4 -4
  44. package/src/cli-commands/run.json +3 -1
  45. package/src/cli-commands/run.ts +15 -42
  46. package/src/cli-container.ts +3 -3
  47. package/src/commands/$init.json +15 -0
  48. package/src/commands/start.ts +96 -128
  49. package/src/commands/status.ts +2 -2
  50. package/src/commands/stop.ts +1 -1
  51. package/src/container.ts +3 -3
  52. package/src/runtimes/child_process.ts +15 -6
  53. package/src/runtimes/process.ts +3 -10
  54. package/src/runtimes/shared.ts +2 -0
  55. package/src/runtimes/worker.ts +1 -0
  56. package/src/state.ts +2 -2
@@ -1,6 +1,8 @@
1
1
  import { IpcAdapter } from "../ipc-adapter.js";
2
2
  import { EventEmitter } from "@akala/core";
3
3
  export default class Runtime extends EventEmitter {
4
+ static name = 'self';
5
+ runtime = Runtime;
4
6
  adapter;
5
7
  stdio;
6
8
  constructor(stdio) {
@@ -10,14 +12,7 @@ export default class Runtime extends EventEmitter {
10
12
  this.stdio = process;
11
13
  }
12
14
  stop(timeoutInMs) {
13
- return new Promise((resolve) => {
14
- process.on('exit', (code, signal) => {
15
- clearTimeout(timeout);
16
- resolve(code);
17
- });
18
- process.kill(process.pid, 'SIGINT');
19
- const timeout = setTimeout(() => { process.exit(); }, timeoutInMs || 5000);
20
- });
15
+ return Promise.resolve(0);
21
16
  }
22
17
  get stderr() { return this.stdio.stderr; }
23
18
  get stdout() { return this.stdio.stdout; }
@@ -1 +1 @@
1
- {"version":3,"file":"process.js","sourceRoot":"","sources":["../../../src/runtimes/process.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,YAA6B;IAE9C,OAAO,CAAa;IAC5B,KAAK,CAAyD;IACtE,YAAY,KAA+D;QAEvE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YACN,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;IAC7B,CAAC;IACD,IAAI,CAAC,WAAoB;QAErB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAE3B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;gBAEhC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,CAAC,CAAA;YACF,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YACnC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA,CAAC,CAAC,EAAE,WAAW,IAAI,IAAI,CAAC,CAAA;QAC7E,CAAC,CAAC,CAAA;IACN,CAAC;IACD,IAAI,MAAM,KAAe,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA,CAAC,CAAC;IACnD,IAAI,MAAM,KAAe,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA,CAAC,CAAC;IAEnD,IAAI,OAAO,KAAK,OAAO,IAAI,CAAA,CAAC,CAAC;CAChC"}
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../../src/runtimes/process.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,YAA6B;IAEvD,MAAM,CAAU,IAAI,GAAG,MAAM,CAAA;IACpB,OAAO,GAAG,OAAO,CAAC;IAClB,OAAO,CAAa;IAC5B,KAAK,CAAyD;IACtE,YAAY,KAA+D;QAEvE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YACN,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;IAC7B,CAAC;IACD,IAAI,CAAC,WAAoB;QAErB,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM,KAAe,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA,CAAC,CAAC;IACnD,IAAI,MAAM,KAAe,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA,CAAC,CAAC;IAEnD,IAAI,OAAO,KAAK,OAAO,IAAI,CAAA,CAAC,CAAC"}
@@ -2,6 +2,7 @@ import { IEvent, EventEmitter } from "@akala/core";
2
2
  import { SocketAdapter } from "@akala/json-rpc-ws";
3
3
  import { Readable } from "stream";
4
4
  export interface Runtime {
5
+ name: string;
5
6
  build(args: string[], options: {
6
7
  new?: boolean;
7
8
  name: string;
@@ -16,6 +17,7 @@ export type RuntimeEventMap = {
16
17
  exit: IEvent<[], void>;
17
18
  };
18
19
  export interface RuntimeInstance<T extends RuntimeEventMap = RuntimeEventMap> extends EventEmitter<T> {
20
+ runtime: Omit<Runtime, 'build'>;
19
21
  stop(): Promise<number>;
20
22
  get adapter(): SocketAdapter;
21
23
  get stderr(): Readable;
@@ -3,6 +3,7 @@ import { MessagePortAdapter } from "../messageport-adapter.js";
3
3
  import { RuntimeEventMap, RuntimeInstance } from "./shared.js";
4
4
  import { EventEmitter } from "@akala/core";
5
5
  export default class Runtime extends EventEmitter<RuntimeEventMap> implements RuntimeInstance {
6
+ readonly runtime: typeof Runtime;
6
7
  private readonly cp;
7
8
  readonly adapter: MessagePortAdapter;
8
9
  private _running;
@@ -5,6 +5,7 @@ import module from 'module';
5
5
  import { EventEmitter } from "@akala/core";
6
6
  const require = module.createRequire(import.meta.url);
7
7
  export default class Runtime extends EventEmitter {
8
+ runtime = Runtime;
8
9
  cp;
9
10
  adapter;
10
11
  _running;
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/runtimes/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,YAA6B;IAE7C,EAAE,CAAS;IACZ,OAAO,CAAqB;IACpC,QAAQ,CAAU;IAC1B,YAAY,IAAc,EAAE,OAAqH;QAE7I,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5F,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxG,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IACpF,CAAC;IACD,IAAI;QAEA,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,IAAc,EAAE,OAAqH;QAErJ,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,MAAM,KAAe,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAA,CAAC,CAAC;IAChD,IAAI,MAAM,KAAe,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAA,CAAC,CAAC;IAEhD,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC1C"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/runtimes/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,YAA6B;IAE9C,OAAO,GAAG,OAAO,CAAC;IACjB,EAAE,CAAS;IACZ,OAAO,CAAqB;IACpC,QAAQ,CAAU;IAC1B,YAAY,IAAc,EAAE,OAAqH;QAE7I,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5F,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxG,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IACpF,CAAC;IACD,IAAI;QAEA,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,IAAc,EAAE,OAAqH;QAErJ,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,MAAM,KAAe,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAA,CAAC,CAAC;IAChD,IAAI,MAAM,KAAe,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAA,CAAC,CAAC;IAEhD,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC1C"}
@@ -33,7 +33,7 @@ export interface SidecarMetadata {
33
33
  stateless: boolean;
34
34
  dependencies?: string[];
35
35
  commandable: boolean;
36
- type?: 'nodejs' | 'worker';
36
+ type: 'nodejs' | 'worker';
37
37
  }
38
38
  export interface SidecarConfiguration<T extends string | SerializableObject = SerializableObject> {
39
39
  cli?: string[];
@@ -43,7 +43,7 @@ export interface SidecarConfiguration<T extends string | SerializableObject = Se
43
43
  config?: T;
44
44
  autostart?: boolean;
45
45
  }
46
- export interface RunningContainer<T extends string | SerializableObject = any> extends Container<unknown>, SidecarConfiguration<T>, SidecarMetadata {
46
+ export interface RunningContainer<T extends string | SerializableObject = any> extends Container<unknown>, SidecarConfiguration<T>, Omit<SidecarMetadata, 'type'> {
47
47
  process: RuntimeInstance;
48
48
  running?: boolean;
49
49
  stateless: boolean;