paperkite 0.1.2 → 0.1.4

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 (85) hide show
  1. package/README.md +5 -0
  2. package/dist/src/app.js +2 -0
  3. package/dist/src/app.js.map +1 -1
  4. package/dist/src/engine/errors.d.ts +8 -0
  5. package/dist/src/engine/errors.js +14 -0
  6. package/dist/src/engine/errors.js.map +1 -0
  7. package/dist/src/engine/hooks.d.ts +4 -0
  8. package/dist/src/engine/hooks.js +20 -0
  9. package/dist/src/engine/hooks.js.map +1 -1
  10. package/dist/src/engine/runtime.js +16 -12
  11. package/dist/src/engine/runtime.js.map +1 -1
  12. package/dist/src/extensions/abi.d.ts +30 -0
  13. package/dist/src/extensions/abi.js +280 -0
  14. package/dist/src/extensions/abi.js.map +1 -0
  15. package/dist/src/extensions/loader.d.ts +4 -1
  16. package/dist/src/extensions/loader.js +26 -15
  17. package/dist/src/extensions/loader.js.map +1 -1
  18. package/dist/src/extensions/manager.js +5 -13
  19. package/dist/src/extensions/manager.js.map +1 -1
  20. package/dist/src/extensions/profile.d.ts +2 -0
  21. package/dist/src/extensions/profile.js +15 -15
  22. package/dist/src/extensions/profile.js.map +1 -1
  23. package/dist/src/telegram/failure.js +1 -1
  24. package/dist/src/telegram/failure.js.map +1 -1
  25. package/dist/src/telegram/pool.d.ts +1 -1
  26. package/dist/src/telegram/pool.js +1 -1
  27. package/dist/src/telegram/pool.js.map +1 -1
  28. package/package.json +19 -12
  29. package/dist/data/hooks/weekend-slot.d.ts +0 -12
  30. package/dist/data/hooks/weekend-slot.js +0 -107
  31. package/dist/data/hooks/weekend-slot.js.map +0 -1
  32. package/dist/packages/account-health/src/index.d.ts +0 -8
  33. package/dist/packages/account-health/src/index.js +0 -37
  34. package/dist/packages/account-health/src/index.js.map +0 -1
  35. package/dist/packages/archive/src/archiver.d.ts +0 -98
  36. package/dist/packages/archive/src/archiver.js +0 -399
  37. package/dist/packages/archive/src/archiver.js.map +0 -1
  38. package/dist/packages/archive/src/config.d.ts +0 -22
  39. package/dist/packages/archive/src/config.js +0 -62
  40. package/dist/packages/archive/src/config.js.map +0 -1
  41. package/dist/packages/archive/src/console/live.d.ts +0 -24
  42. package/dist/packages/archive/src/console/live.js +0 -144
  43. package/dist/packages/archive/src/console/live.js.map +0 -1
  44. package/dist/packages/archive/src/console/media.d.ts +0 -66
  45. package/dist/packages/archive/src/console/media.js +0 -368
  46. package/dist/packages/archive/src/console/media.js.map +0 -1
  47. package/dist/packages/archive/src/console/server.d.ts +0 -12
  48. package/dist/packages/archive/src/console/server.js +0 -583
  49. package/dist/packages/archive/src/console/server.js.map +0 -1
  50. package/dist/packages/archive/src/console/service.d.ts +0 -13
  51. package/dist/packages/archive/src/console/service.js +0 -86
  52. package/dist/packages/archive/src/console/service.js.map +0 -1
  53. package/dist/packages/archive/src/storage/index.d.ts +0 -6
  54. package/dist/packages/archive/src/storage/index.js +0 -23
  55. package/dist/packages/archive/src/storage/index.js.map +0 -1
  56. package/dist/packages/archive/src/storage/model.d.ts +0 -296
  57. package/dist/packages/archive/src/storage/model.js +0 -151
  58. package/dist/packages/archive/src/storage/model.js.map +0 -1
  59. package/dist/packages/archive/src/storage/postgres.d.ts +0 -67
  60. package/dist/packages/archive/src/storage/postgres.js +0 -1021
  61. package/dist/packages/archive/src/storage/postgres.js.map +0 -1
  62. package/dist/packages/archive/src/storage/sqlite.d.ts +0 -59
  63. package/dist/packages/archive/src/storage/sqlite.js +0 -981
  64. package/dist/packages/archive/src/storage/sqlite.js.map +0 -1
  65. package/dist/packages/messages-watch/src/index.d.ts +0 -26
  66. package/dist/packages/messages-watch/src/index.js +0 -255
  67. package/dist/packages/messages-watch/src/index.js.map +0 -1
  68. package/dist/packages/messages-watch/src/resolve.d.ts +0 -8
  69. package/dist/packages/messages-watch/src/resolve.js +0 -49
  70. package/dist/packages/messages-watch/src/resolve.js.map +0 -1
  71. package/dist/packages/notify-bark/src/index.d.ts +0 -33
  72. package/dist/packages/notify-bark/src/index.js +0 -96
  73. package/dist/packages/notify-bark/src/index.js.map +0 -1
  74. package/dist/packages/runtime-console/src/console/errors.d.ts +0 -5
  75. package/dist/packages/runtime-console/src/console/errors.js +0 -11
  76. package/dist/packages/runtime-console/src/console/errors.js.map +0 -1
  77. package/dist/packages/runtime-console/src/console/logs.d.ts +0 -1
  78. package/dist/packages/runtime-console/src/console/logs.js +0 -27
  79. package/dist/packages/runtime-console/src/console/logs.js.map +0 -1
  80. package/dist/packages/runtime-console/src/console/server.d.ts +0 -6
  81. package/dist/packages/runtime-console/src/console/server.js +0 -182
  82. package/dist/packages/runtime-console/src/console/server.js.map +0 -1
  83. package/dist/packages/runtime-console/src/index.d.ts +0 -10
  84. package/dist/packages/runtime-console/src/index.js +0 -83
  85. package/dist/packages/runtime-console/src/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../../../packages/runtime-console/src/console/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,MAAM,eAAe,GAAG,GAAG,GAAG,IAAI,CAAC;AACnC,MAAM,SAAS,GAAG,KAAK,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAAgB,EAAE,cAAsB;IACrE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC;QAC1D,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,YAAY,IAAI,CAAC;YAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;YAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { FastifyInstance } from "fastify";
2
- import type { RuntimeControl, RuntimeLogger } from "@paperkite/sdk";
3
- export interface RuntimeConsoleServerOptions {
4
- readonly logger: RuntimeLogger;
5
- }
6
- export declare function createRuntimeConsoleServer(control: RuntimeControl, options: RuntimeConsoleServerOptions): FastifyInstance;
@@ -1,182 +0,0 @@
1
- import fastify from "fastify";
2
- import { HttpError, isHttpError } from "./errors.js";
3
- import { tailFile } from "./logs.js";
4
- const MAX_BUFFERED_EVENTS = 2000;
5
- export function createRuntimeConsoleServer(control, options) {
6
- const server = fastify({ logger: false });
7
- const liveSockets = new Set();
8
- const bufferedEvents = [];
9
- const unsubscribeBuffer = control.subscribe((event) => {
10
- bufferedEvents.push(event);
11
- if (bufferedEvents.length > MAX_BUFFERED_EVENTS) {
12
- bufferedEvents.splice(0, bufferedEvents.length - MAX_BUFFERED_EVENTS);
13
- }
14
- });
15
- server.addHook("onClose", (_instance, done) => {
16
- unsubscribeBuffer();
17
- for (const socket of liveSockets)
18
- socket.destroy();
19
- liveSockets.clear();
20
- releaseIdleConnections(server);
21
- done();
22
- });
23
- server.setErrorHandler((error, _request, reply) => {
24
- const status = error instanceof Error ? error.statusCode ?? 500 : 500;
25
- if (status >= 500)
26
- options.logger.error("runtime console request failed", error);
27
- if (!reply.sent)
28
- return reply.code(status).send({ error: error instanceof Error ? error.message : String(error) });
29
- });
30
- registerRoutes(server, control, options.logger, liveSockets, bufferedEvents);
31
- return server;
32
- }
33
- function registerRoutes(server, control, logger, liveSockets, bufferedEvents) {
34
- server.get("/api/snapshot", async () => control.snapshot);
35
- server.get("/api/plugins", async () => control.listPlugins());
36
- server.get("/api/logs", async () => ({ scopes: control.snapshot.logs }));
37
- server.get("/api/logs/:scope", async (request, reply) => {
38
- try {
39
- const entry = control.snapshot.logs.find((item) => item.scope === decodeURIComponent(request.params.scope));
40
- if (!entry)
41
- throw new HttpError(404, "unknown log scope");
42
- const lines = await tailFile(entry.path, Number(request.query.lines ?? 200)).catch((error) => {
43
- if (isNodeError(error) && error.code === "ENOENT")
44
- return [];
45
- throw error;
46
- });
47
- return { scope: entry.scope, path: entry.path, lines };
48
- }
49
- catch (error) {
50
- return sendError(reply, error, logger);
51
- }
52
- });
53
- server.get("/api/events", async (request, reply) => streamEvents(request, reply, control, liveSockets, bufferedEvents));
54
- server.post("/api/action/run", async (request, reply) => {
55
- try {
56
- const spec = request.body?.spec;
57
- if (!spec || !String(spec.capability ?? "").trim())
58
- throw new HttpError(422, "action.run needs spec.capability");
59
- await control.executeAction(spec);
60
- return { ok: true };
61
- }
62
- catch (error) {
63
- return sendError(reply, error, logger);
64
- }
65
- });
66
- server.post("/api/flows/:id/run", async (request, reply) => {
67
- try {
68
- await control.runFlow(flowId(request));
69
- return { ok: true };
70
- }
71
- catch (error) {
72
- return sendError(reply, error, logger);
73
- }
74
- });
75
- server.post("/api/flows/:id/reload", async (request, reply) => {
76
- try {
77
- await control.reloadFlow(flowId(request));
78
- return { ok: true };
79
- }
80
- catch (error) {
81
- return sendError(reply, error, logger);
82
- }
83
- });
84
- server.patch("/api/flows/:id", async (request, reply) => {
85
- try {
86
- const changed = await control.updateFlow(flowId(request), request.body ?? {});
87
- return { ok: true, changed };
88
- }
89
- catch (error) {
90
- return sendError(reply, error, logger);
91
- }
92
- });
93
- server.post("/api/services/:id/start", async (request, reply) => {
94
- try {
95
- await control.startService(flowId(request));
96
- return { ok: true };
97
- }
98
- catch (error) {
99
- return sendError(reply, error, logger);
100
- }
101
- });
102
- server.post("/api/services/:id/stop", async (request, reply) => {
103
- try {
104
- await control.stopService(flowId(request));
105
- return { ok: true };
106
- }
107
- catch (error) {
108
- return sendError(reply, error, logger);
109
- }
110
- });
111
- server.post("/api/sessions/:id/reconnect", async (request, reply) => {
112
- try {
113
- await control.reconnectSession(flowId(request));
114
- return { ok: true };
115
- }
116
- catch (error) {
117
- return sendError(reply, error, logger);
118
- }
119
- });
120
- server.post("/api/runtime/reload", async (request, reply) => {
121
- reply.send({ ok: true });
122
- try {
123
- await control.reload();
124
- }
125
- catch (error) {
126
- logger.error("runtime reload failed", error);
127
- }
128
- });
129
- }
130
- function flowId(request) {
131
- return decodeURIComponent(request.params.id);
132
- }
133
- function isNodeError(error) {
134
- return error instanceof Error && "code" in error;
135
- }
136
- function sendError(reply, error, logger) {
137
- if (isHttpError(error))
138
- return reply.code(error.status).send({ error: error.message });
139
- const message = error instanceof Error ? error.message : String(error);
140
- logger.error("runtime console request failed", error);
141
- return reply.code(500).send({ error: message });
142
- }
143
- const EVENT_HEADERS = {
144
- "content-type": "text/event-stream",
145
- "cache-control": "no-cache, no-transform",
146
- connection: "keep-alive",
147
- "x-accel-buffering": "no"
148
- };
149
- async function streamEvents(request, reply, control, liveSockets, bufferedEvents) {
150
- reply.hijack();
151
- const raw = reply.raw;
152
- const socket = raw.socket;
153
- if (socket)
154
- liveSockets.add(socket);
155
- raw.writeHead(200, EVENT_HEADERS);
156
- raw.write("retry: 3000\n\n");
157
- for (const event of bufferedEvents)
158
- raw.write(`data: ${JSON.stringify(event)}\n\n`);
159
- const unsubscribe = control.subscribe((event) => {
160
- raw.write(`data: ${JSON.stringify(event)}\n\n`);
161
- });
162
- const heartbeat = setInterval(() => raw.write(": keep-alive\n\n"), 15_000);
163
- request.raw.once("close", () => {
164
- clearInterval(heartbeat);
165
- unsubscribe();
166
- if (socket)
167
- liveSockets.delete(socket);
168
- });
169
- }
170
- function releaseIdleConnections(server) {
171
- let attempts = 0;
172
- const tick = () => {
173
- server.server.closeIdleConnections();
174
- attempts += 1;
175
- if (attempts >= 5)
176
- return;
177
- const timer = setTimeout(tick, 100);
178
- timer.unref();
179
- };
180
- tick();
181
- }
182
- //# sourceMappingURL=server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../../packages/runtime-console/src/console/server.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { Service } from "@paperkite/sdk";
2
- interface ConsoleWebConfig {
3
- readonly host?: string;
4
- readonly port?: number;
5
- readonly publicDir?: string;
6
- }
7
- export declare class RuntimeConsoleWebService extends Service<ConsoleWebConfig> {
8
- run(): Promise<void>;
9
- }
10
- export {};
@@ -1,83 +0,0 @@
1
- import { access } from "node:fs/promises";
2
- import { resolve } from "node:path";
3
- import { fileURLToPath } from "node:url";
4
- import fastifyStatic from "@fastify/static";
5
- import { Service } from "@paperkite/sdk";
6
- import { createRuntimeConsoleServer } from "./console/server.js";
7
- export class RuntimeConsoleWebService extends Service {
8
- async run() {
9
- if (!this.control)
10
- throw new Error("runtime console needs the runtime control contract");
11
- const server = createRuntimeConsoleServer(this.control, { logger: this.context.logger });
12
- try {
13
- await server.register(fastifyStatic, {
14
- root: await publicDirectory(this.config?.publicDir),
15
- index: "index.html"
16
- });
17
- server.setNotFoundHandler(spaFallback);
18
- const host = this.config?.host ?? "127.0.0.1";
19
- const port = normalizePort(this.config?.port);
20
- await listenRetrying(server, host, port, this.context.logger);
21
- this.context.logger.info("runtime web console listening", { host, port });
22
- await waitForAbort(this.signal);
23
- }
24
- finally {
25
- await server.close().catch(() => undefined);
26
- }
27
- }
28
- }
29
- function normalizePort(value) {
30
- const port = Number(value ?? 3378);
31
- if (!Number.isInteger(port) || port < 1 || port > 65_535) {
32
- throw new Error("runtime console port must be an integer between 1 and 65535");
33
- }
34
- return port;
35
- }
36
- async function listenRetrying(server, host, port, logger) {
37
- for (let attempt = 0;; attempt += 1) {
38
- try {
39
- await server.listen({ host, port });
40
- return;
41
- }
42
- catch (error) {
43
- if (attempt < 6 && isEaddrinuse(error)) {
44
- logger.warn("runtime web console port is still held by a stopping instance, retrying", { host, port });
45
- await new Promise((resolve) => setTimeout(resolve, 500));
46
- continue;
47
- }
48
- throw error;
49
- }
50
- }
51
- }
52
- function isEaddrinuse(error) {
53
- return error instanceof Error && "code" in error && error.code === "EADDRINUSE";
54
- }
55
- function waitForAbort(signal) {
56
- if (signal.aborted)
57
- return Promise.resolve();
58
- return new Promise((resolvePromise) => {
59
- signal.addEventListener("abort", () => resolvePromise(), { once: true });
60
- });
61
- }
62
- async function publicDirectory(configured) {
63
- if (configured)
64
- return resolve(configured);
65
- const local = fileURLToPath(new URL("../public", import.meta.url));
66
- try {
67
- await access(local);
68
- return local;
69
- }
70
- catch {
71
- return resolve(process.cwd(), "packages/runtime-console/public");
72
- }
73
- }
74
- async function spaFallback(request, reply) {
75
- if (request.method !== "GET" && request.method !== "HEAD") {
76
- return reply.code(405).send({ error: "method not allowed" });
77
- }
78
- if (request.url.startsWith("/api/")) {
79
- return reply.code(404).send({ error: "not found" });
80
- }
81
- return reply.sendFile("index.html");
82
- }
83
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/runtime-console/src/index.ts"],"names":[],"mappings":"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"}