@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,42 +1,44 @@
|
|
|
1
|
-
import
|
|
2
|
-
export
|
|
3
|
-
registry
|
|
4
|
-
|
|
5
|
-
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
};
|
|
1
|
+
import Envelope from "../envelope.js";
|
|
2
|
+
export default class SessionAttachMethod {
|
|
3
|
+
static register(registry) {
|
|
4
|
+
registry.registerMethod("session.attach", {
|
|
5
|
+
handler: async (params, ctx) => {
|
|
6
|
+
if (ctx.session !== null) {
|
|
7
|
+
throw new Error("connection already has a session attached");
|
|
8
|
+
}
|
|
9
|
+
const p = params;
|
|
10
|
+
if (typeof p.id !== "number") {
|
|
11
|
+
throw new Error("session.attach requires params.id: number");
|
|
12
|
+
}
|
|
13
|
+
if (p.runId !== undefined && typeof p.runId !== "number") {
|
|
14
|
+
throw new Error("session.attach: runId must be a number");
|
|
15
|
+
}
|
|
16
|
+
if (p.runName !== undefined && (typeof p.runName !== "string" || p.runName.length === 0)) {
|
|
17
|
+
throw new Error("session.attach: runName must be a non-empty string");
|
|
18
|
+
}
|
|
19
|
+
const persona = p.persona ?? null;
|
|
20
|
+
if (persona !== null && typeof persona !== "string") {
|
|
21
|
+
throw new Error("session.attach: persona must be a string or null");
|
|
22
|
+
}
|
|
23
|
+
const envelope = await Envelope.attachToSession(ctx.db, p.id, { runId: p.runId, runName: p.runName, persona });
|
|
24
|
+
ctx.attachSession(envelope);
|
|
25
|
+
return {
|
|
26
|
+
id: envelope.sessionId,
|
|
27
|
+
name: envelope.sessionName,
|
|
28
|
+
sessionPersona: envelope.sessionPersona,
|
|
29
|
+
runId: envelope.runId,
|
|
30
|
+
runName: envelope.runName,
|
|
31
|
+
runPersona: envelope.runPersona,
|
|
32
|
+
};
|
|
33
|
+
},
|
|
34
|
+
description: "Attach this connection to an existing session. Optionally resume an existing run by id or name; otherwise creates a fresh run. The persona param sets run-level persona ONLY when a new run is created (reusing an existing run preserves its stored persona; use session.set_persona for session-level changes).",
|
|
35
|
+
params: {
|
|
36
|
+
id: "number — session id to attach to",
|
|
37
|
+
runId: "number? — resume the run with this id (must belong to the session)",
|
|
38
|
+
runName: "string? — resume the run with this name within the session; create if absent",
|
|
39
|
+
persona: "string? — run-level persona (text/markdown); applied to a NEWLY created run only",
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
42
44
|
//# sourceMappingURL=session_attach.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_attach.js","sourceRoot":"","sources":["../../../src/server/methods/session_attach.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"session_attach.js","sourceRoot":"","sources":["../../../src/server/methods/session_attach.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACpC,MAAM,CAAC,QAAQ,CAAC,QAAwB;QACpC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAAE;YACtC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC3B,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBACjE,CAAC;gBACD,MAAM,CAAC,GAAG,MAAmF,CAAC;gBAC9F,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBACjE,CAAC;gBACD,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACvD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBAC9D,CAAC;gBACD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;oBACvF,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBAC1E,CAAC;gBACD,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;gBAClC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAClD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACxE,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/G,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC5B,OAAO;oBACH,EAAE,EAAE,QAAQ,CAAC,SAAS;oBACtB,IAAI,EAAE,QAAQ,CAAC,WAAW;oBAC1B,cAAc,EAAE,QAAQ,CAAC,cAAc;oBACvC,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;iBAClC,CAAC;YACN,CAAC;YACD,WAAW,EAAE,mTAAmT;YAChU,MAAM,EAAE;gBACJ,EAAE,EAAE,kCAAkC;gBACtC,KAAK,EAAE,oEAAoE;gBAC3E,OAAO,EAAE,8EAA8E;gBACvF,OAAO,EAAE,kFAAkF;aAC9F;SACJ,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import type MethodRegistry from "../MethodRegistry.ts";
|
|
2
|
-
export
|
|
2
|
+
export default class SessionCreateMethod {
|
|
3
|
+
static register(registry: MethodRegistry): void;
|
|
4
|
+
}
|
|
3
5
|
//# sourceMappingURL=session_create.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_create.d.ts","sourceRoot":"","sources":["../../../src/server/methods/session_create.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAGvD,
|
|
1
|
+
{"version":3,"file":"session_create.d.ts","sourceRoot":"","sources":["../../../src/server/methods/session_create.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAGvD,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACpC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CAmDlD"}
|
|
@@ -1,53 +1,55 @@
|
|
|
1
1
|
import { isAbsolute } from "node:path";
|
|
2
|
-
import
|
|
3
|
-
export
|
|
4
|
-
registry
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const p = (params ?? {});
|
|
10
|
-
const projectRoot = p.projectRoot ?? null;
|
|
11
|
-
if (projectRoot !== null) {
|
|
12
|
-
if (typeof projectRoot !== "string" || projectRoot.length === 0) {
|
|
13
|
-
throw new Error("session.create: projectRoot must be a non-empty string or null");
|
|
2
|
+
import Envelope from "../envelope.js";
|
|
3
|
+
export default class SessionCreateMethod {
|
|
4
|
+
static register(registry) {
|
|
5
|
+
registry.registerMethod("session.create", {
|
|
6
|
+
handler: async (params, ctx) => {
|
|
7
|
+
if (ctx.session !== null) {
|
|
8
|
+
throw new Error("connection already has a session attached");
|
|
14
9
|
}
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
const p = params;
|
|
11
|
+
const projectRoot = p.projectRoot ?? null;
|
|
12
|
+
if (projectRoot !== null) {
|
|
13
|
+
if (typeof projectRoot !== "string" || projectRoot.length === 0) {
|
|
14
|
+
throw new Error("session.create: projectRoot must be a non-empty string or null");
|
|
15
|
+
}
|
|
16
|
+
if (!isAbsolute(projectRoot)) {
|
|
17
|
+
throw new Error("session.create: projectRoot must be an absolute path");
|
|
18
|
+
}
|
|
17
19
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
20
|
+
const persona = p.persona ?? null;
|
|
21
|
+
if (persona !== null && typeof persona !== "string") {
|
|
22
|
+
throw new Error("session.create: persona must be a string or null");
|
|
23
|
+
}
|
|
24
|
+
const envelope = await Envelope.createClientEnvelope(ctx.db, { name: p.name, projectRoot, persona });
|
|
25
|
+
ctx.attachSession(envelope);
|
|
26
|
+
ctx.notify("all", "session/created", {
|
|
27
|
+
id: envelope.sessionId,
|
|
28
|
+
name: envelope.sessionName,
|
|
29
|
+
projectRoot: envelope.projectRoot,
|
|
30
|
+
persona: envelope.sessionPersona,
|
|
31
|
+
});
|
|
32
|
+
return {
|
|
33
|
+
id: envelope.sessionId, name: envelope.sessionName,
|
|
34
|
+
projectRoot: envelope.projectRoot, persona: envelope.sessionPersona,
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
description: "Create a new session and attach this connection to it. Optionally pin the session to a workspace via projectRoot, and/or set a session-level persona (text/markdown injected into packet.system.persona). Per-run and per-loop overrides may further refine the persona.",
|
|
38
|
+
params: {
|
|
39
|
+
name: "string? — session name (auto-generated if omitted)",
|
|
40
|
+
projectRoot: "string? — absolute path to the client's workspace; null/omitted = headless mode (no disk side-effects on file ops)",
|
|
41
|
+
persona: "string? — session-level persona (text/markdown); cascades as: loops.persona > runs.persona > sessions.persona > PLURNK_PERSONA file",
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
registry.registerNotification("session/created", {
|
|
45
|
+
description: "A new session has been created. Broadcast to all connected clients.",
|
|
46
|
+
params: {
|
|
47
|
+
id: "number — session id",
|
|
48
|
+
name: "string — session name",
|
|
49
|
+
projectRoot: "string|null — workspace pointer for the session (null = headless)",
|
|
50
|
+
persona: "string|null — session-level persona override (null = no override at this level)",
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
53
55
|
//# sourceMappingURL=session_create.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_create.js","sourceRoot":"","sources":["../../../src/server/methods/session_create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,
|
|
1
|
+
{"version":3,"file":"session_create.js","sourceRoot":"","sources":["../../../src/server/methods/session_create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACpC,MAAM,CAAC,QAAQ,CAAC,QAAwB;QACpC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAAE;YACtC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC3B,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBACjE,CAAC;gBACD,MAAM,CAAC,GAAG,MAAiF,CAAC;gBAC5F,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC;gBAC1C,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;oBACvB,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC9D,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;oBACtF,CAAC;oBACD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC3B,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;oBAC5E,CAAC;gBACL,CAAC;gBACD,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;gBAClC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAClD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACxE,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;gBACrG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC5B,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,iBAAiB,EAAE;oBACjC,EAAE,EAAE,QAAQ,CAAC,SAAS;oBACtB,IAAI,EAAE,QAAQ,CAAC,WAAW;oBAC1B,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,OAAO,EAAE,QAAQ,CAAC,cAAc;iBACnC,CAAC,CAAC;gBACH,OAAO;oBACH,EAAE,EAAE,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,WAAW;oBAClD,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,cAAc;iBACtE,CAAC;YACN,CAAC;YACD,WAAW,EAAE,0QAA0Q;YACvR,MAAM,EAAE;gBACJ,IAAI,EAAE,oDAAoD;gBAC1D,WAAW,EAAE,oHAAoH;gBACjI,OAAO,EAAE,qIAAqI;aACjJ;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,oBAAoB,CAAC,iBAAiB,EAAE;YAC7C,WAAW,EAAE,qEAAqE;YAClF,MAAM,EAAE;gBACJ,EAAE,EAAE,qBAAqB;gBACzB,IAAI,EAAE,uBAAuB;gBAC7B,WAAW,EAAE,mEAAmE;gBAChF,OAAO,EAAE,iFAAiF;aAC7F;SACJ,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_list.d.ts","sourceRoot":"","sources":["../../../src/server/methods/session_list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAGvD,
|
|
1
|
+
{"version":3,"file":"session_list.d.ts","sourceRoot":"","sources":["../../../src/server/methods/session_list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAGvD,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAClC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CAMlD"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
export
|
|
3
|
-
registry
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
};
|
|
1
|
+
import Envelope from "../envelope.js";
|
|
2
|
+
export default class SessionListMethod {
|
|
3
|
+
static register(registry) {
|
|
4
|
+
registry.registerMethod("session.list", {
|
|
5
|
+
handler: async (_params, ctx) => ({ sessions: await Envelope.listSessions(ctx.db) }),
|
|
6
|
+
description: "List all sessions, most recent first.",
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
}
|
|
8
10
|
//# sourceMappingURL=session_list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_list.js","sourceRoot":"","sources":["../../../src/server/methods/session_list.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"session_list.js","sourceRoot":"","sources":["../../../src/server/methods/session_list.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAClC,MAAM,CAAC,QAAQ,CAAC,QAAwB;QACpC,QAAQ,CAAC,cAAc,CAAC,cAAc,EAAE;YACpC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACpF,WAAW,EAAE,uCAAuC;SACvD,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_runs.d.ts","sourceRoot":"","sources":["../../../src/server/methods/session_runs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAGvD,
|
|
1
|
+
{"version":3,"file":"session_runs.d.ts","sourceRoot":"","sources":["../../../src/server/methods/session_runs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAGvD,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAClC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CAgBlD"}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
import
|
|
2
|
-
export
|
|
3
|
-
registry
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
};
|
|
1
|
+
import Envelope from "../envelope.js";
|
|
2
|
+
export default class SessionRunsMethod {
|
|
3
|
+
static register(registry) {
|
|
4
|
+
registry.registerMethod("session.runs", {
|
|
5
|
+
handler: async (params, ctx) => {
|
|
6
|
+
const p = params;
|
|
7
|
+
const sessionId = p.id ?? ctx.session?.sessionId;
|
|
8
|
+
if (typeof sessionId !== "number") {
|
|
9
|
+
throw new Error("session.runs requires params.id: number (or an attached session)");
|
|
10
|
+
}
|
|
11
|
+
return { runs: await Envelope.listRunsForSession(ctx.db, sessionId) };
|
|
12
|
+
},
|
|
13
|
+
description: "List runs in a session, most recent first.",
|
|
14
|
+
params: {
|
|
15
|
+
id: "number? — session id; defaults to the attached session",
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
18
20
|
//# sourceMappingURL=session_runs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_runs.js","sourceRoot":"","sources":["../../../src/server/methods/session_runs.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"session_runs.js","sourceRoot":"","sources":["../../../src/server/methods/session_runs.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAClC,MAAM,CAAC,QAAQ,CAAC,QAAwB;QACpC,QAAQ,CAAC,cAAc,CAAC,cAAc,EAAE;YACpC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC3B,MAAM,CAAC,GAAG,MAAyB,CAAC;gBACpC,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC;gBACjD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;oBAChC,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;gBACxF,CAAC;gBACD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC;YAC1E,CAAC;YACD,WAAW,EAAE,4CAA4C;YACzD,MAAM,EAAE;gBACJ,EAAE,EAAE,wDAAwD;aAC/D;SACJ,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import type MethodRegistry from "../MethodRegistry.ts";
|
|
2
|
-
export
|
|
2
|
+
export default class SessionSetPersonaMethod {
|
|
3
|
+
static register(registry: MethodRegistry): void;
|
|
4
|
+
}
|
|
3
5
|
//# sourceMappingURL=session_set_persona.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_set_persona.d.ts","sourceRoot":"","sources":["../../../src/server/methods/session_set_persona.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAGvD,
|
|
1
|
+
{"version":3,"file":"session_set_persona.d.ts","sourceRoot":"","sources":["../../../src/server/methods/session_set_persona.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAGvD,MAAM,CAAC,OAAO,OAAO,uBAAuB;IACxC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CAyBlD"}
|
|
@@ -1,27 +1,29 @@
|
|
|
1
|
-
import
|
|
2
|
-
export
|
|
3
|
-
registry
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
};
|
|
1
|
+
import Envelope from "../envelope.js";
|
|
2
|
+
export default class SessionSetPersonaMethod {
|
|
3
|
+
static register(registry) {
|
|
4
|
+
registry.registerMethod("session.set_persona", {
|
|
5
|
+
handler: async (params, ctx) => {
|
|
6
|
+
if (ctx.session === null) {
|
|
7
|
+
throw new Error("session.set_persona requires an attached session");
|
|
8
|
+
}
|
|
9
|
+
const p = params;
|
|
10
|
+
const persona = p.persona ?? null;
|
|
11
|
+
if (persona !== null && typeof persona !== "string") {
|
|
12
|
+
throw new Error("session.set_persona: persona must be a string or null");
|
|
13
|
+
}
|
|
14
|
+
const updated = await Envelope.updateSessionPersona(ctx.db, ctx.session.sessionId, persona);
|
|
15
|
+
// Mutate the attached envelope so subsequent handler invocations
|
|
16
|
+
// on this connection observe the new value. ctx.session is the
|
|
17
|
+
// same object reference held in ClientConnection.#session.
|
|
18
|
+
ctx.session.sessionPersona = updated;
|
|
19
|
+
return { id: ctx.session.sessionId, persona: updated };
|
|
20
|
+
},
|
|
21
|
+
description: "Update the session-level persona (text/markdown injected into packet.system.persona when no per-run or per-loop override exists). Pass null to clear the override and fall through to PLURNK_PERSONA file.",
|
|
22
|
+
params: {
|
|
23
|
+
persona: "string|null — session-level persona content; null clears the override",
|
|
24
|
+
},
|
|
25
|
+
requiresInit: true,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
27
29
|
//# sourceMappingURL=session_set_persona.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_set_persona.js","sourceRoot":"","sources":["../../../src/server/methods/session_set_persona.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"session_set_persona.js","sourceRoot":"","sources":["../../../src/server/methods/session_set_persona.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,uBAAuB;IACxC,MAAM,CAAC,QAAQ,CAAC,QAAwB;QACpC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,EAAE;YAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC3B,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACxE,CAAC;gBACD,MAAM,CAAC,GAAG,MAAqC,CAAC;gBAChD,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;gBAClC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAClD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;gBAC7E,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC5F,iEAAiE;gBACjE,+DAA+D;gBAC/D,2DAA2D;gBAC3D,GAAG,CAAC,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC;gBACrC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;YAC3D,CAAC;YACD,WAAW,EAAE,4MAA4M;YACzN,MAAM,EAAE;gBACJ,OAAO,EAAE,uEAAuE;aACnF;YACD,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import type MethodRegistry from "../MethodRegistry.ts";
|
|
2
|
-
export
|
|
2
|
+
export default class SessionSetRootMethod {
|
|
3
|
+
static register(registry: MethodRegistry): void;
|
|
4
|
+
}
|
|
3
5
|
//# sourceMappingURL=session_set_root.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_set_root.d.ts","sourceRoot":"","sources":["../../../src/server/methods/session_set_root.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAGvD,
|
|
1
|
+
{"version":3,"file":"session_set_root.d.ts","sourceRoot":"","sources":["../../../src/server/methods/session_set_root.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAGvD,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACrC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CA8BlD"}
|
|
@@ -1,33 +1,35 @@
|
|
|
1
1
|
import { isAbsolute } from "node:path";
|
|
2
|
-
import
|
|
3
|
-
export
|
|
4
|
-
registry
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const p = (params ?? {});
|
|
10
|
-
const projectRoot = p.projectRoot ?? null;
|
|
11
|
-
if (projectRoot !== null) {
|
|
12
|
-
if (typeof projectRoot !== "string" || projectRoot.length === 0) {
|
|
13
|
-
throw new Error("session.set_root: projectRoot must be a non-empty string or null");
|
|
2
|
+
import Envelope from "../envelope.js";
|
|
3
|
+
export default class SessionSetRootMethod {
|
|
4
|
+
static register(registry) {
|
|
5
|
+
registry.registerMethod("session.set_root", {
|
|
6
|
+
handler: async (params, ctx) => {
|
|
7
|
+
if (ctx.session === null) {
|
|
8
|
+
throw new Error("session.set_root requires an attached session");
|
|
14
9
|
}
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
const p = params;
|
|
11
|
+
const projectRoot = p.projectRoot ?? null;
|
|
12
|
+
if (projectRoot !== null) {
|
|
13
|
+
if (typeof projectRoot !== "string" || projectRoot.length === 0) {
|
|
14
|
+
throw new Error("session.set_root: projectRoot must be a non-empty string or null");
|
|
15
|
+
}
|
|
16
|
+
if (!isAbsolute(projectRoot)) {
|
|
17
|
+
throw new Error("session.set_root: projectRoot must be an absolute path");
|
|
18
|
+
}
|
|
17
19
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
}
|
|
20
|
+
const updated = await Envelope.updateSessionProjectRoot(ctx.db, ctx.session.sessionId, projectRoot);
|
|
21
|
+
// Mutate the attached envelope so subsequent handler invocations on
|
|
22
|
+
// this connection observe the new value. ctx.session is the same
|
|
23
|
+
// object reference held in ClientConnection.#session.
|
|
24
|
+
ctx.session.projectRoot = updated;
|
|
25
|
+
return { id: ctx.session.sessionId, projectRoot: updated };
|
|
26
|
+
},
|
|
27
|
+
description: "Update the workspace pointer (projectRoot) on the currently-attached session. Pass null to revert to headless mode.",
|
|
28
|
+
params: {
|
|
29
|
+
projectRoot: "string|null — absolute path to the client's workspace; null = headless",
|
|
30
|
+
},
|
|
31
|
+
requiresInit: true,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
33
35
|
//# sourceMappingURL=session_set_root.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_set_root.js","sourceRoot":"","sources":["../../../src/server/methods/session_set_root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,
|
|
1
|
+
{"version":3,"file":"session_set_root.js","sourceRoot":"","sources":["../../../src/server/methods/session_set_root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACrC,MAAM,CAAC,QAAQ,CAAC,QAAwB;QACpC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,EAAE;YACxC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC3B,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACrE,CAAC;gBACD,MAAM,CAAC,GAAG,MAAyC,CAAC;gBACpD,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC;gBAC1C,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;oBACvB,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC9D,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;oBACxF,CAAC;oBACD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC3B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;oBAC9E,CAAC;gBACL,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBACpG,oEAAoE;gBACpE,iEAAiE;gBACjE,sDAAsD;gBACtD,GAAG,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC;gBAClC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;YAC/D,CAAC;YACD,WAAW,EAAE,qHAAqH;YAClI,MAAM,EAAE;gBACJ,WAAW,EAAE,wEAAwE;aACxF;YACD,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;IACP,CAAC;CACJ"}
|
package/dist/server/yolo.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type Engine from "../core/Engine.ts";
|
|
2
2
|
import type { Db } from "../core/Db.ts";
|
|
3
|
-
export
|
|
3
|
+
export default class Yolo {
|
|
4
|
+
static attachYolo(engine: Engine, _db: Db): void;
|
|
5
|
+
}
|
|
4
6
|
//# sourceMappingURL=yolo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yolo.d.ts","sourceRoot":"","sources":["../../src/server/yolo.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC,
|
|
1
|
+
{"version":3,"file":"yolo.d.ts","sourceRoot":"","sources":["../../src/server/yolo.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,OAAO,OAAO,IAAI;IACrB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI;CAWnD"}
|
package/dist/server/yolo.js
CHANGED
|
@@ -32,17 +32,19 @@
|
|
|
32
32
|
// fan out independently) — clients in server-YOLO runs may see a brief
|
|
33
33
|
// proposed-then-resolved blink in their UI. The carried event.flags.yolo
|
|
34
34
|
// lets clients suppress review-UI rendering for those entries.
|
|
35
|
-
export
|
|
36
|
-
engine
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
};
|
|
35
|
+
export default class Yolo {
|
|
36
|
+
static attachYolo(engine, _db) {
|
|
37
|
+
engine.onProposalPending((event) => {
|
|
38
|
+
if (!event.flags.yolo)
|
|
39
|
+
return;
|
|
40
|
+
try {
|
|
41
|
+
engine.resolveProposal(event.logEntryId, { decision: "accept" });
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
// Errors here don't abort dispatch — the proposal stays
|
|
45
|
+
// pending and falls through to the RPC / timeout path.
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
48
50
|
//# sourceMappingURL=yolo.js.map
|
package/dist/server/yolo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yolo.js","sourceRoot":"","sources":["../../src/server/yolo.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,6EAA6E;AAC7E,8DAA8D;AAC9D,EAAE;AACF,0CAA0C;AAC1C,EAAE;AACF,uEAAuE;AACvE,sBAAsB;AACtB,EAAE;AACF,iCAAiC;AACjC,yDAAyD;AACzD,qDAAqD;AACrD,0EAA0E;AAC1E,2EAA2E;AAC3E,oEAAoE;AACpE,yEAAyE;AACzE,wBAAwB;AACxB,2EAA2E;AAC3E,qEAAqE;AACrE,EAAE;AACF,2DAA2D;AAC3D,uEAAuE;AACvE,wEAAwE;AACxE,wEAAwE;AACxE,2BAA2B;AAC3B,sEAAsE;AACtE,uEAAuE;AACvE,EAAE;AACF,wEAAwE;AACxE,yEAAyE;AACzE,0EAA0E;AAC1E,uEAAuE;AACvE,yEAAyE;AACzE,+DAA+D;AAM/D,MAAM,CAAC,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"yolo.js","sourceRoot":"","sources":["../../src/server/yolo.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,6EAA6E;AAC7E,8DAA8D;AAC9D,EAAE;AACF,0CAA0C;AAC1C,EAAE;AACF,uEAAuE;AACvE,sBAAsB;AACtB,EAAE;AACF,iCAAiC;AACjC,yDAAyD;AACzD,qDAAqD;AACrD,0EAA0E;AAC1E,2EAA2E;AAC3E,oEAAoE;AACpE,yEAAyE;AACzE,wBAAwB;AACxB,2EAA2E;AAC3E,qEAAqE;AACrE,EAAE;AACF,2DAA2D;AAC3D,uEAAuE;AACvE,wEAAwE;AACxE,wEAAwE;AACxE,2BAA2B;AAC3B,sEAAsE;AACtE,uEAAuE;AACvE,EAAE;AACF,wEAAwE;AACxE,yEAAyE;AACzE,0EAA0E;AAC1E,uEAAuE;AACvE,yEAAyE;AACzE,+DAA+D;AAM/D,MAAM,CAAC,OAAO,OAAO,IAAI;IACrB,MAAM,CAAC,UAAU,CAAC,MAAc,EAAE,GAAO;QACrC,MAAM,CAAC,iBAAiB,CAAC,CAAC,KAA2B,EAAE,EAAE;YACrD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;gBAAE,OAAO;YAC9B,IAAI,CAAC;gBACD,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YACrE,CAAC;YAAC,MAAM,CAAC;gBACL,wDAAwD;gBACxD,uDAAuD;YAC3D,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
|