@plurnk/plurnk-service 0.7.0 → 0.8.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/SPEC.md +104 -74
- package/bin/plurnk-service.ts +132 -0
- package/dist/Paths.d.ts +8 -0
- package/dist/Paths.d.ts.map +1 -0
- package/dist/Paths.js +47 -0
- package/dist/Paths.js.map +1 -0
- package/dist/content/index.d.ts +9 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +10 -0
- package/dist/content/index.js.map +1 -0
- package/dist/content/line-marker.d.ts +26 -0
- package/dist/content/line-marker.d.ts.map +1 -0
- package/dist/content/line-marker.js +323 -0
- package/dist/content/line-marker.js.map +1 -0
- package/dist/content/matcher.d.ts +15 -0
- package/dist/content/matcher.d.ts.map +1 -0
- package/dist/content/matcher.js +112 -0
- package/dist/content/matcher.js.map +1 -0
- package/dist/content/mimetype-binary.d.ts +9 -0
- package/dist/content/mimetype-binary.d.ts.map +1 -0
- package/dist/content/mimetype-binary.js +86 -0
- package/dist/content/mimetype-binary.js.map +1 -0
- package/dist/content/path-mimetype.d.ts +6 -0
- package/dist/content/path-mimetype.d.ts.map +1 -0
- package/dist/content/path-mimetype.js +49 -0
- package/dist/content/path-mimetype.js.map +1 -0
- package/dist/content/read-resolve.d.ts +20 -0
- package/dist/content/read-resolve.d.ts.map +1 -0
- package/dist/content/read-resolve.js +60 -0
- package/dist/content/read-resolve.js.map +1 -0
- package/dist/core/ChannelWrite.d.ts +33 -30
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js +43 -41
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/Engine.d.ts +14 -10
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +269 -94
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/EnvFlags.d.ts +6 -3
- package/dist/core/EnvFlags.d.ts.map +1 -1
- package/dist/core/EnvFlags.js +62 -60
- package/dist/core/EnvFlags.js.map +1 -1
- package/dist/core/PluginLoader.d.ts +6 -3
- package/dist/core/PluginLoader.d.ts.map +1 -1
- package/dist/core/PluginLoader.js +77 -73
- package/dist/core/PluginLoader.js.map +1 -1
- package/dist/core/ProviderInstantiate.d.ts +4 -2
- package/dist/core/ProviderInstantiate.d.ts.map +1 -1
- package/dist/core/ProviderInstantiate.js +23 -22
- package/dist/core/ProviderInstantiate.js.map +1 -1
- package/dist/core/SchemeRegistry.d.ts +1 -1
- package/dist/core/SchemeRegistry.d.ts.map +1 -1
- package/dist/core/SchemeRegistry.js +3 -3
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/git-membership.d.ts +8 -0
- package/dist/core/git-membership.d.ts.map +1 -0
- package/dist/core/git-membership.js +125 -0
- package/dist/core/git-membership.js.map +1 -0
- package/dist/core/packet-wire.d.ts +47 -6
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +376 -312
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/resolveForLoop.d.ts +14 -0
- package/dist/core/resolveForLoop.d.ts.map +1 -0
- package/dist/core/resolveForLoop.js +34 -0
- package/dist/core/resolveForLoop.js.map +1 -0
- package/dist/core/results.d.ts +40 -0
- package/dist/core/results.d.ts.map +1 -0
- package/dist/core/results.js +52 -0
- package/dist/core/results.js.map +1 -0
- package/dist/core/scheme-types.d.ts +5 -4
- package/dist/core/scheme-types.d.ts.map +1 -1
- package/dist/core/scheme-types.js +4 -4
- package/dist/core/scheme-types.js.map +1 -1
- package/dist/core/types.d.ts +27 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +17 -0
- package/dist/core/types.js.map +1 -0
- package/dist/index.d.ts +1 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -43
- package/dist/index.js.map +1 -1
- package/dist/schemes/Exec.d.ts +1 -0
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +37 -21
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/File.d.ts +0 -1
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +32 -66
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Known.d.ts.map +1 -1
- package/dist/schemes/Known.js +13 -13
- package/dist/schemes/Known.js.map +1 -1
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +8 -52
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Plurnk.d.ts.map +1 -1
- package/dist/schemes/Plurnk.js +13 -13
- package/dist/schemes/Plurnk.js.map +1 -1
- package/dist/schemes/Skill.d.ts.map +1 -1
- package/dist/schemes/Skill.js +13 -13
- package/dist/schemes/Skill.js.map +1 -1
- package/dist/schemes/Unknown.d.ts.map +1 -1
- package/dist/schemes/Unknown.js +13 -13
- package/dist/schemes/Unknown.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts +5 -3
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +55 -50
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-find.d.ts +10 -3
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +99 -77
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-manifest.d.ts +6 -0
- package/dist/schemes/_entry-manifest.d.ts.map +1 -0
- package/dist/schemes/_entry-manifest.js +45 -0
- package/dist/schemes/_entry-manifest.js.map +1 -0
- package/dist/schemes/_entry-ops.d.ts +7 -4
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +198 -316
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_entry-send.d.ts +4 -1
- package/dist/schemes/_entry-send.d.ts.map +1 -1
- package/dist/schemes/_entry-send.js +57 -55
- package/dist/schemes/_entry-send.js.map +1 -1
- package/dist/server/ClientConnection.js +3 -3
- package/dist/server/ClientConnection.js.map +1 -1
- package/dist/server/Daemon.d.ts +5 -5
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +221 -176
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/clientTurn.d.ts +4 -1
- package/dist/server/clientTurn.d.ts.map +1 -1
- package/dist/server/clientTurn.js +19 -17
- package/dist/server/clientTurn.js.map +1 -1
- package/dist/server/dsl.d.ts +19 -16
- package/dist/server/dsl.d.ts.map +1 -1
- package/dist/server/dsl.js +127 -105
- package/dist/server/dsl.js.map +1 -1
- package/dist/server/envelope.d.ts +22 -19
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js +116 -102
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/logEntry.d.ts +4 -1
- package/dist/server/logEntry.d.ts.map +1 -1
- package/dist/server/logEntry.js +41 -39
- package/dist/server/logEntry.js.map +1 -1
- package/dist/server/methods/_dispatchAsClient.d.ts +3 -1
- package/dist/server/methods/_dispatchAsClient.d.ts.map +1 -1
- package/dist/server/methods/_dispatchAsClient.js +31 -29
- package/dist/server/methods/_dispatchAsClient.js.map +1 -1
- package/dist/server/methods/discover.d.ts +3 -1
- package/dist/server/methods/discover.d.ts.map +1 -1
- package/dist/server/methods/discover.js +8 -6
- package/dist/server/methods/discover.js.map +1 -1
- package/dist/server/methods/entry_read.d.ts +4 -1
- package/dist/server/methods/entry_read.d.ts.map +1 -1
- package/dist/server/methods/entry_read.js +54 -52
- package/dist/server/methods/entry_read.js.map +1 -1
- package/dist/server/methods/log_read.d.ts +4 -1
- package/dist/server/methods/log_read.d.ts.map +1 -1
- package/dist/server/methods/log_read.js +38 -36
- package/dist/server/methods/log_read.js.map +1 -1
- package/dist/server/methods/loop_cancel.d.ts +3 -1
- package/dist/server/methods/loop_cancel.d.ts.map +1 -1
- package/dist/server/methods/loop_cancel.js +19 -17
- package/dist/server/methods/loop_cancel.js.map +1 -1
- package/dist/server/methods/loop_resolve.d.ts +3 -1
- package/dist/server/methods/loop_resolve.d.ts.map +1 -1
- package/dist/server/methods/loop_resolve.js +42 -40
- package/dist/server/methods/loop_resolve.js.map +1 -1
- package/dist/server/methods/loop_run.d.ts +3 -1
- package/dist/server/methods/loop_run.d.ts.map +1 -1
- package/dist/server/methods/loop_run.js +104 -102
- package/dist/server/methods/loop_run.js.map +1 -1
- package/dist/server/methods/op_copy.d.ts +3 -1
- package/dist/server/methods/op_copy.d.ts.map +1 -1
- package/dist/server/methods/op_copy.js +25 -23
- package/dist/server/methods/op_copy.js.map +1 -1
- package/dist/server/methods/op_dispatch.d.ts +3 -1
- package/dist/server/methods/op_dispatch.d.ts.map +1 -1
- package/dist/server/methods/op_dispatch.js +18 -16
- package/dist/server/methods/op_dispatch.js.map +1 -1
- package/dist/server/methods/op_edit.d.ts +3 -1
- package/dist/server/methods/op_edit.d.ts.map +1 -1
- package/dist/server/methods/op_edit.js +23 -21
- package/dist/server/methods/op_edit.js.map +1 -1
- package/dist/server/methods/op_exec.d.ts +3 -1
- package/dist/server/methods/op_exec.d.ts.map +1 -1
- package/dist/server/methods/op_exec.js +20 -18
- package/dist/server/methods/op_exec.js.map +1 -1
- package/dist/server/methods/op_find.d.ts +3 -1
- package/dist/server/methods/op_find.d.ts.map +1 -1
- package/dist/server/methods/op_find.js +23 -21
- package/dist/server/methods/op_find.js.map +1 -1
- package/dist/server/methods/op_hide.d.ts +3 -1
- package/dist/server/methods/op_hide.d.ts.map +1 -1
- package/dist/server/methods/op_hide.js +23 -21
- package/dist/server/methods/op_hide.js.map +1 -1
- package/dist/server/methods/op_move.d.ts +3 -1
- package/dist/server/methods/op_move.d.ts.map +1 -1
- package/dist/server/methods/op_move.js +23 -21
- package/dist/server/methods/op_move.js.map +1 -1
- package/dist/server/methods/op_parse.d.ts +3 -1
- package/dist/server/methods/op_parse.d.ts.map +1 -1
- package/dist/server/methods/op_parse.js +24 -22
- package/dist/server/methods/op_parse.js.map +1 -1
- package/dist/server/methods/op_read.d.ts +3 -1
- package/dist/server/methods/op_read.d.ts.map +1 -1
- package/dist/server/methods/op_read.js +23 -21
- package/dist/server/methods/op_read.js.map +1 -1
- package/dist/server/methods/op_send.d.ts +3 -1
- package/dist/server/methods/op_send.d.ts.map +1 -1
- package/dist/server/methods/op_send.js +22 -20
- package/dist/server/methods/op_send.js.map +1 -1
- package/dist/server/methods/op_show.d.ts +3 -1
- package/dist/server/methods/op_show.d.ts.map +1 -1
- package/dist/server/methods/op_show.js +23 -21
- package/dist/server/methods/op_show.js.map +1 -1
- package/dist/server/methods/ping.d.ts +3 -1
- package/dist/server/methods/ping.d.ts.map +1 -1
- package/dist/server/methods/ping.js +8 -6
- package/dist/server/methods/ping.js.map +1 -1
- package/dist/server/methods/providers_list.d.ts +3 -1
- package/dist/server/methods/providers_list.d.ts.map +1 -1
- package/dist/server/methods/providers_list.js +19 -17
- package/dist/server/methods/providers_list.js.map +1 -1
- package/dist/server/methods/session_attach.d.ts +3 -1
- package/dist/server/methods/session_attach.d.ts.map +1 -1
- package/dist/server/methods/session_attach.js +43 -41
- package/dist/server/methods/session_attach.js.map +1 -1
- package/dist/server/methods/session_create.d.ts +3 -1
- package/dist/server/methods/session_create.d.ts.map +1 -1
- package/dist/server/methods/session_create.js +51 -49
- package/dist/server/methods/session_create.js.map +1 -1
- package/dist/server/methods/session_list.d.ts +3 -1
- package/dist/server/methods/session_list.d.ts.map +1 -1
- package/dist/server/methods/session_list.js +9 -7
- package/dist/server/methods/session_list.js.map +1 -1
- package/dist/server/methods/session_runs.d.ts +3 -1
- package/dist/server/methods/session_runs.d.ts.map +1 -1
- package/dist/server/methods/session_runs.js +19 -17
- package/dist/server/methods/session_runs.js.map +1 -1
- package/dist/server/methods/session_set_persona.d.ts +3 -1
- package/dist/server/methods/session_set_persona.d.ts.map +1 -1
- package/dist/server/methods/session_set_persona.js +28 -26
- package/dist/server/methods/session_set_persona.js.map +1 -1
- package/dist/server/methods/session_set_root.d.ts +3 -1
- package/dist/server/methods/session_set_root.d.ts.map +1 -1
- package/dist/server/methods/session_set_root.js +31 -29
- package/dist/server/methods/session_set_root.js.map +1 -1
- package/dist/server/yolo.d.ts +3 -1
- package/dist/server/yolo.d.ts.map +1 -1
- package/dist/server/yolo.js +15 -13
- package/dist/server/yolo.js.map +1 -1
- package/package.json +74 -30
- package/bin/plurnk-service.js +0 -112
- /package/migrations/{001_schema.sql → 0000-00-00.01_schema.sql} +0 -0
|
@@ -1,63 +1,65 @@
|
|
|
1
1
|
// Shared SEND dispatcher for entry-bearing schemes. Schemes interpret
|
|
2
2
|
// status codes per SPEC §3.5. v0 handles 410 (Gone, delete the resource)
|
|
3
3
|
// and 499 (Client Closed Request, cancel active subscription).
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
4
|
+
import EntryCrud from "./_entry-crud.js";
|
|
5
|
+
import ChannelWrite from "../core/ChannelWrite.js";
|
|
6
|
+
export default class EntrySend {
|
|
7
|
+
static #pathnameOf(statement) {
|
|
8
|
+
const path = statement.target;
|
|
9
|
+
if (path === null)
|
|
10
|
+
return null;
|
|
11
|
+
if (path.kind === "url")
|
|
12
|
+
return path.pathname;
|
|
13
|
+
return path.raw;
|
|
14
|
+
}
|
|
15
|
+
static #fragmentOf(statement) {
|
|
16
|
+
const path = statement.target;
|
|
17
|
+
if (path === null || path.kind !== "url")
|
|
18
|
+
return null;
|
|
19
|
+
return path.fragment;
|
|
20
|
+
}
|
|
21
|
+
static async sendToSessionEntry(statement, ctx, scheme) {
|
|
22
|
+
if (statement.target === null)
|
|
23
|
+
return { status: 400, error: "directed SEND requires a path" };
|
|
24
|
+
const status = statement.signal;
|
|
25
|
+
if (status === null)
|
|
26
|
+
return { status: 400, error: "SEND requires a numeric status code" };
|
|
27
|
+
// SEND[410] Gone — delete the targeted resource (SPEC §3.5). With a
|
|
28
|
+
// #fragment, deletes just that channel; without, deletes the whole entry.
|
|
29
|
+
if (status === 410) {
|
|
30
|
+
const pathname = EntrySend.#pathnameOf(statement);
|
|
31
|
+
if (pathname === null)
|
|
32
|
+
return { status: 400 };
|
|
33
|
+
const fragment = EntrySend.#fragmentOf(statement);
|
|
34
|
+
if (fragment !== null) {
|
|
35
|
+
const { db, sessionId } = ctx;
|
|
36
|
+
const entry = await db.crud_find_session_entry.get({ session_id: sessionId, scheme, pathname });
|
|
37
|
+
if (entry === undefined)
|
|
38
|
+
return { status: 404 };
|
|
39
|
+
const deleted = await db.crud_delete_channel.get({ entry_id: entry.id, name: fragment });
|
|
40
|
+
return { status: deleted === undefined ? 404 : 200 };
|
|
41
|
+
}
|
|
42
|
+
const result = await EntryCrud.deleteEntry(pathname, ctx, scheme);
|
|
43
|
+
return { status: result.status };
|
|
44
|
+
}
|
|
45
|
+
// SEND[499] Client Closed Request — cancel active subscription (SPEC §3.5, §7.7).
|
|
46
|
+
// Entry-bearing schemes never have subscriptions in v0; always return 404.
|
|
47
|
+
// Streaming schemes (sse / exec / etc.) override this and look up via
|
|
48
|
+
// findActiveSubscription, then call their teardown using the stored handle.
|
|
49
|
+
if (status === 499) {
|
|
50
|
+
const pathname = EntrySend.#pathnameOf(statement);
|
|
51
|
+
if (pathname === null)
|
|
52
|
+
return { status: 400 };
|
|
53
|
+
const { db, sessionId, runId } = ctx;
|
|
35
54
|
const entry = await db.crud_find_session_entry.get({ session_id: sessionId, scheme, pathname });
|
|
36
55
|
if (entry === undefined)
|
|
37
|
-
return { status: 404 };
|
|
38
|
-
const
|
|
39
|
-
|
|
56
|
+
return { status: 404, error: "no entry at path" };
|
|
57
|
+
const subscription = await ChannelWrite.findActiveSubscription(db, { runId, entryId: entry.id });
|
|
58
|
+
if (subscription === null)
|
|
59
|
+
return { status: 404, error: "no active subscription to cancel" };
|
|
60
|
+
return { status: 501, error: `entry scheme does not own subscription cancellation; subscription owned by scheme '${subscription.scheme}'` };
|
|
40
61
|
}
|
|
41
|
-
|
|
42
|
-
return { status: result.status };
|
|
43
|
-
}
|
|
44
|
-
// SEND[499] Client Closed Request — cancel active subscription (SPEC §3.5, §7.7).
|
|
45
|
-
// Entry-bearing schemes never have subscriptions in v0; always return 404.
|
|
46
|
-
// Streaming schemes (sse / exec / etc.) override this and look up via
|
|
47
|
-
// findActiveSubscription, then call their teardown using the stored handle.
|
|
48
|
-
if (status === 499) {
|
|
49
|
-
const pathname = pathnameOf(statement);
|
|
50
|
-
if (pathname === null)
|
|
51
|
-
return { status: 400 };
|
|
52
|
-
const { db, sessionId, runId } = ctx;
|
|
53
|
-
const entry = await db.crud_find_session_entry.get({ session_id: sessionId, scheme, pathname });
|
|
54
|
-
if (entry === undefined)
|
|
55
|
-
return { status: 404, error: "no entry at path" };
|
|
56
|
-
const subscription = await findActiveSubscription(db, { runId, entryId: entry.id });
|
|
57
|
-
if (subscription === null)
|
|
58
|
-
return { status: 404, error: "no active subscription to cancel" };
|
|
59
|
-
return { status: 501, error: `entry scheme does not own subscription cancellation; subscription owned by scheme '${subscription.scheme}'` };
|
|
62
|
+
return { status: 501, error: `entry scheme does not interpret SEND status ${status}` };
|
|
60
63
|
}
|
|
61
|
-
|
|
62
|
-
};
|
|
64
|
+
}
|
|
63
65
|
//# sourceMappingURL=_entry-send.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_entry-send.js","sourceRoot":"","sources":["../../src/schemes/_entry-send.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,yEAAyE;AACzE,+DAA+D;AAK/D,OAAO,
|
|
1
|
+
{"version":3,"file":"_entry-send.js","sourceRoot":"","sources":["../../src/schemes/_entry-send.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// first requiresInit RPC, closes the client loop on disconnect.
|
|
4
4
|
//
|
|
5
5
|
// SPEC §13.2 (protocol), §13.7 (lifecycle), §13.8 (errors).
|
|
6
|
-
import
|
|
6
|
+
import Envelope from "./envelope.js";
|
|
7
7
|
// JSON-RPC 2.0 standard error codes (SPEC §13.8).
|
|
8
8
|
const ERR_PARSE = -32700;
|
|
9
9
|
const ERR_INVALID_REQUEST = -32600;
|
|
@@ -45,7 +45,7 @@ export default class ClientConnection {
|
|
|
45
45
|
// connection that only ran loop.run never spawned a client
|
|
46
46
|
// loop and has nothing to clean up here.
|
|
47
47
|
if (this.#session.clientLoopId !== null) {
|
|
48
|
-
void closeClientLoop(this.#db, this.#session.clientLoopId, 200);
|
|
48
|
+
void Envelope.closeClientLoop(this.#db, this.#session.clientLoopId, 200);
|
|
49
49
|
}
|
|
50
50
|
this.#session = null;
|
|
51
51
|
}
|
|
@@ -75,7 +75,7 @@ export default class ClientConnection {
|
|
|
75
75
|
}
|
|
76
76
|
if (registration.requiresInit && this.#session === null) {
|
|
77
77
|
try {
|
|
78
|
-
const envelope = await createClientEnvelope(this.#db, { prefix: "auto" });
|
|
78
|
+
const envelope = await Envelope.createClientEnvelope(this.#db, { prefix: "auto" });
|
|
79
79
|
this.#session = envelope;
|
|
80
80
|
this.#broadcast("all", this, "session/created", {
|
|
81
81
|
id: envelope.sessionId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientConnection.js","sourceRoot":"","sources":["../../src/server/ClientConnection.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,0EAA0E;AAC1E,gEAAgE;AAChE,EAAE;AACF,4DAA4D;AAO5D,OAAO,
|
|
1
|
+
{"version":3,"file":"ClientConnection.js","sourceRoot":"","sources":["../../src/server/ClientConnection.ts"],"names":[],"mappings":"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"}
|
package/dist/server/Daemon.d.ts
CHANGED
|
@@ -82,11 +82,11 @@ export default class Daemon {
|
|
|
82
82
|
drainPromise?: Promise<unknown>;
|
|
83
83
|
}>;
|
|
84
84
|
/**
|
|
85
|
-
* Cancel the
|
|
86
|
-
* the
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
85
|
+
* Cancel the run's in-flight work (loop.cancel). One abort, one scope: the
|
|
86
|
+
* run signal stops the running loop's turn generation AND tears down every
|
|
87
|
+
* stream linked to it — a background exec that outlived its loop, or even a
|
|
88
|
+
* spawn that registers after this abort (it self-aborts against the aborted
|
|
89
|
+
* signal). Returns cancelled iff there was work. Queued loops stay enqueued.
|
|
90
90
|
*/
|
|
91
91
|
cancelDrain(runId: number, reason?: string): boolean;
|
|
92
92
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Daemon.d.ts","sourceRoot":"","sources":["../../src/server/Daemon.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,EAAE,EAAc,MAAM,eAAe,CAAC;AAGpD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAgB,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAgCnF,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,CAAC,OAAO,OAAO,MAAM;;
|
|
1
|
+
{"version":3,"file":"Daemon.d.ts","sourceRoot":"","sources":["../../src/server/Daemon.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,EAAE,EAAc,MAAM,eAAe,CAAC;AAGpD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAgB,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAgCnF,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,CAAC,OAAO,OAAO,MAAM;;gBA2BX,EACR,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,GACpD,EAAE;QACC,EAAE,EAAE,EAAE,CAAC;QACP,OAAO,CAAC,EAAE,cAAc,CAAC;QACzB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC5B;IAqDD,IAAI,QAAQ,IAAI,cAAc,CAA2B;IACzD,IAAI,MAAM,IAAI,MAAM,CAAyB;IAC7C,IAAI,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAA2B;IAC1D,IAAI,OAAO,IAAI,cAAc,CAA0B;IACvD,IAAI,SAAS,IAAI,SAAS,CAA4B;IAEhD,KAAK,CAAC,EAAE,IAAkB,EAAE,IAAW,EAAE,GAAE,aAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IA4BtF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAyH3B;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAI7H;;;;;;OAMG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAIzF;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,IAAI,EAAE;QACf,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QACjD,QAAQ,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAClF,GAAG,OAAO,CAAC;QACR,MAAM,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;QACnD,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAC5C,YAAY,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;KACnC,CAAC;IAsNF;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAyB,GAAG,OAAO;CAqIzE"}
|