@plurnk/plurnk-service 0.25.0 → 0.26.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 +33 -15
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +38 -2
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/fork.js +1 -1
- package/dist/core/fork.js.map +1 -1
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +59 -24
- package/dist/core/git-membership.js.map +1 -1
- package/dist/core/git-state.js +2 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/schemes/File.js +3 -3
- package/dist/schemes/File.js.map +1 -1
- package/dist/server/dsl.d.ts +2 -2
- package/dist/server/dsl.js +2 -2
- package/dist/server/envelope.d.ts +1 -0
- package/dist/server/envelope.d.ts.map +1 -1
- package/dist/server/envelope.js +5 -5
- package/dist/server/envelope.js.map +1 -1
- package/dist/server/methods/log_read.d.ts.map +1 -1
- package/dist/server/methods/log_read.js +14 -1
- package/dist/server/methods/log_read.js.map +1 -1
- package/dist/server/methods/loop_run.d.ts.map +1 -1
- package/dist/server/methods/loop_run.js +4 -1
- package/dist/server/methods/loop_run.js.map +1 -1
- package/dist/server/methods/op_fold.js +1 -1
- package/dist/server/methods/op_open.js +1 -1
- package/dist/server/methods/session_constraints.js +6 -6
- package/dist/server/methods/session_constraints.js.map +1 -1
- package/migrations/0000-00-00.01_schema.sql +7 -5
- package/package.json +1 -1
- package/requirements.md +1 -1
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
import { execFile } from "node:child_process";
|
|
24
24
|
import { promisify } from "node:util";
|
|
25
25
|
import { readFile, glob, stat } from "node:fs/promises";
|
|
26
|
-
import { resolve, matchesGlob } from "node:path";
|
|
26
|
+
import { resolve, relative, join, matchesGlob } from "node:path";
|
|
27
27
|
import { MimetypeBinary } from "../content/index.js";
|
|
28
28
|
import EntryCrud from "../schemes/_entry-crud.js";
|
|
29
29
|
export default class GitMembership {
|
|
@@ -34,24 +34,53 @@ export default class GitMembership {
|
|
|
34
34
|
const row = await db.envelope_get_session.get({ id: sessionId });
|
|
35
35
|
return row?.project_root ?? null;
|
|
36
36
|
}
|
|
37
|
-
//
|
|
38
|
-
//
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
// Tracked files of one repo, workspace-relative, via `git ls-files --stage -z`.
|
|
38
|
+
// NUL-delimited so paths with spaces/newlines survive; gitlinks filtered. Empty → [].
|
|
39
|
+
static async #gitTrackedFiles(root, signal) {
|
|
40
|
+
// --stage exposes the mode so submodule gitlinks (mode 160000 — a commit
|
|
41
|
+
// pointer, a directory on disk, not a file) are filtered: a submodule is a
|
|
42
|
+
// separate declared repo, never a member of its superproject.
|
|
43
|
+
const { stdout } = await GitMembership.#execFileP("git", ["ls-files", "--stage", "-z"], { cwd: root, signal, maxBuffer: 64 * 1024 * 1024 });
|
|
44
|
+
const files = [];
|
|
45
|
+
for (const entry of stdout.split("\0")) {
|
|
46
|
+
if (entry.length === 0)
|
|
47
|
+
continue;
|
|
48
|
+
const tab = entry.indexOf("\t");
|
|
49
|
+
if (tab === -1)
|
|
50
|
+
continue;
|
|
51
|
+
if (entry.slice(0, entry.indexOf(" ")) === "160000")
|
|
52
|
+
continue; // gitlink — a submodule boundary
|
|
53
|
+
files.push(entry.slice(tab + 1));
|
|
54
|
+
}
|
|
55
|
+
return files;
|
|
56
|
+
}
|
|
57
|
+
// Resolve a declared repo folder to its git toplevel (the repo root containing
|
|
58
|
+
// it), or null if it isn't inside a git tree. `rev-parse --show-toplevel` handles
|
|
59
|
+
// plain repos, linked worktrees (`.git` is a gitdir: file), and submodules alike.
|
|
60
|
+
static async #repoToplevel(dir, signal) {
|
|
42
61
|
try {
|
|
43
|
-
const { stdout } = await GitMembership.#execFileP("git", ["rev-parse", "--
|
|
44
|
-
return stdout.trim()
|
|
62
|
+
const { stdout } = await GitMembership.#execFileP("git", ["rev-parse", "--show-toplevel"], { cwd: dir, signal });
|
|
63
|
+
return stdout.trim();
|
|
45
64
|
}
|
|
46
65
|
catch {
|
|
47
|
-
return
|
|
66
|
+
return null; // not a git tree (or the dir is gone) — contributes nothing
|
|
48
67
|
}
|
|
49
68
|
}
|
|
50
|
-
//
|
|
51
|
-
//
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
69
|
+
// The forest (SPEC §membership): union every declared repo's tracked files,
|
|
70
|
+
// each path-prefixed by the repo's location relative to the session root (empty
|
|
71
|
+
// prefix when the repo IS the root). Repos that don't resolve are skipped.
|
|
72
|
+
static async #forestTrackedFiles(root, repoDirs, signal) {
|
|
73
|
+
const members = new Set();
|
|
74
|
+
for (const dir of repoDirs) {
|
|
75
|
+
const repoRoot = await GitMembership.#repoToplevel(dir, signal);
|
|
76
|
+
if (repoRoot === null)
|
|
77
|
+
continue;
|
|
78
|
+
const prefix = relative(root, repoRoot);
|
|
79
|
+
for (const f of await GitMembership.#gitTrackedFiles(repoRoot, signal)) {
|
|
80
|
+
members.add(prefix === "" ? f : join(prefix, f));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return [...members];
|
|
55
84
|
}
|
|
56
85
|
// Detect a tracked file's mimetype (mirrors File.detectFileMimetype): route
|
|
57
86
|
// through the Mimetypes service when present, normalizing the auto-text result
|
|
@@ -77,20 +106,26 @@ export default class GitMembership {
|
|
|
77
106
|
if (root === null)
|
|
78
107
|
return []; // headless — no disk surface to resolve
|
|
79
108
|
const constraints = await db.crud_list_session_constraints.all({ session_id: sessionId });
|
|
80
|
-
const
|
|
81
|
-
const
|
|
82
|
-
// git substrate —
|
|
83
|
-
//
|
|
84
|
-
|
|
85
|
-
|
|
109
|
+
const hideGlobs = constraints.filter((c) => c.effect === "hide").map((c) => c.glob);
|
|
110
|
+
const pickGlobs = constraints.filter((c) => c.effect === "pick").map((c) => c.glob);
|
|
111
|
+
// git substrate — the union of the session's DECLARED repos' tracked files
|
|
112
|
+
// (SPEC §membership forest). PLURNK_GIT_ALLOWED=0 is the hard ceiling (deny all
|
|
113
|
+
// git membership); PLURNK_GIT_AUTO=1 declares project_root as an implicit repo.
|
|
114
|
+
// Empty when git is denied or no declared repo resolves, so `pick` is then the
|
|
115
|
+
// sole source. No early-return on non-git.
|
|
116
|
+
const repoDirs = constraints.filter((c) => c.effect === "repo").map((c) => c.glob);
|
|
117
|
+
if (process.env.PLURNK_GIT_AUTO === "1")
|
|
118
|
+
repoDirs.push(root);
|
|
119
|
+
const tracked = process.env.PLURNK_GIT_ALLOWED === "1"
|
|
120
|
+
? await GitMembership.#forestTrackedFiles(root, repoDirs, signal)
|
|
86
121
|
: [];
|
|
87
122
|
// `add` overlay — a targeted, client-dictated scan for untracked matches
|
|
88
123
|
// (node:fs glob over the client's pattern, never a blind walk).
|
|
89
|
-
const added =
|
|
124
|
+
const added = pickGlobs.length === 0 ? [] : await GitMembership.#scanAddMembers(root, pickGlobs, signal);
|
|
90
125
|
// Compose: (git ∪ add) − ignore, tracking origin for reconciliation — a path
|
|
91
126
|
// in `tracked` is 'git', an add-only match is 'constraint'.
|
|
92
127
|
const trackedSet = new Set(tracked);
|
|
93
|
-
const passesIgnore = (p) =>
|
|
128
|
+
const passesIgnore = (p) => hideGlobs.length === 0 || !hideGlobs.some((g) => matchesGlob(p, g));
|
|
94
129
|
const desiredGit = tracked.filter(passesIgnore);
|
|
95
130
|
const desiredAdd = added.filter((p) => !trackedSet.has(p) && passesIgnore(p));
|
|
96
131
|
const desired = [...desiredGit, ...desiredAdd];
|
|
@@ -117,9 +152,9 @@ export default class GitMembership {
|
|
|
117
152
|
// matching the client's add-globs via node:fs glob (the pattern bounds the
|
|
118
153
|
// traversal; never a blind fs-walk). Files only — directories aren't members.
|
|
119
154
|
// Workspace-relative paths, the same shape as git ls-files.
|
|
120
|
-
static async #scanAddMembers(root,
|
|
155
|
+
static async #scanAddMembers(root, pickGlobs, signal) {
|
|
121
156
|
const matches = new Set();
|
|
122
|
-
for (const pattern of
|
|
157
|
+
for (const pattern of pickGlobs) {
|
|
123
158
|
for await (const rel of glob(pattern, { cwd: root })) {
|
|
124
159
|
if (signal?.aborted)
|
|
125
160
|
return [...matches];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-membership.js","sourceRoot":"","sources":["../../src/core/git-membership.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,EAAE;AACF,yEAAyE;AACzE,2EAA2E;AAC3E,4EAA4E;AAC5E,4EAA4E;AAC5E,qFAAqF;AACrF,EAAE;AACF,2BAA2B;AAC3B,iEAAiE;AACjE,gFAAgF;AAChF,+BAA+B;AAC/B,0EAA0E;AAC1E,6EAA6E;AAC7E,8EAA8E;AAC9E,gFAAgF;AAChF,mFAAmF;AACnF,gFAAgF;AAChF,8EAA8E;AAC9E,EAAE;AACF,yEAAyE;AACzE,0EAA0E;AAE1E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"git-membership.js","sourceRoot":"","sources":["../../src/core/git-membership.ts"],"names":[],"mappings":"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"}
|
package/dist/core/git-state.js
CHANGED
|
@@ -3,7 +3,7 @@ import { promisify } from "node:util";
|
|
|
3
3
|
// SPEC §telemetry — git working-tree state for the telemetry section: the model's
|
|
4
4
|
// ambient "where am I, what have I touched" without running a command. A
|
|
5
5
|
// service-side shell-out (git is local + cheap, the same surface git membership
|
|
6
|
-
// uses), gated by `
|
|
6
|
+
// uses), gated by `PLURNK_GIT_ALLOWED` (the hard service ceiling) + a git
|
|
7
7
|
// worktree. Returns null when git is disabled, headless, or non-git — the
|
|
8
8
|
// telemetry block is then omitted entirely. This is the *state* read; the
|
|
9
9
|
// model's arbitrary git *operations* go through the (daughter) EXEC[git].
|
|
@@ -12,7 +12,7 @@ export default class GitState {
|
|
|
12
12
|
static enabled() {
|
|
13
13
|
// Feature-flag convention: `=== "1"` exactly. `.env.example` seeds it to 1
|
|
14
14
|
// (default-on); a higher cascade level (shell/params) sets 0 to disable.
|
|
15
|
-
return process.env.
|
|
15
|
+
return process.env.PLURNK_GIT_ALLOWED === "1";
|
|
16
16
|
}
|
|
17
17
|
static async status(db, sessionId, signal) {
|
|
18
18
|
if (!GitState.enabled())
|
package/dist/index.d.ts
CHANGED
|
@@ -15,4 +15,6 @@ export { Mock } from "@plurnk/plurnk-providers";
|
|
|
15
15
|
export type { MockResponse, MockAssistant, ChatMessage } from "@plurnk/plurnk-providers";
|
|
16
16
|
export type { EditResult, ReadResult, OpenFoldResult, } from "./schemes/_entry-ops.ts";
|
|
17
17
|
export { default as Paths } from "./Paths.ts";
|
|
18
|
+
export { default as EnvFlags } from "./core/EnvFlags.ts";
|
|
19
|
+
export type { FlagDescriptor } from "./core/EnvFlags.ts";
|
|
18
20
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAGrE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACvE,YAAY,EACR,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,OAAO,GACV,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEzF,YAAY,EACR,UAAU,EACV,UAAU,EACV,cAAc,GACjB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAGrE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACvE,YAAY,EACR,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,OAAO,GACV,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEzF,YAAY,EACR,UAAU,EACV,UAAU,EACV,cAAc,GACjB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAK9C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -22,4 +22,8 @@ export { Mock } from "@plurnk/plurnk-providers";
|
|
|
22
22
|
// grammar's plurnk.md, default persona/requirements). Resolution lives in the
|
|
23
23
|
// Paths class so this entry stays a pure re-export barrel.
|
|
24
24
|
export { default as Paths } from "./Paths.js";
|
|
25
|
+
// CLI-flag derivation from .env.example (PLURNK_X → --x, the comment above
|
|
26
|
+
// becomes help text, flags top the cascade) — the shared lib both the service
|
|
27
|
+
// CLI and the client TUI consume, so a flag set stays single-sourced.
|
|
28
|
+
export { default as EnvFlags } from "./core/EnvFlags.js";
|
|
25
29
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,EAAE;AACF,qEAAqE;AACrE,uEAAuE;AACvE,oCAAoC;AAEpC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,4EAA4E;AAC5E,+CAA+C;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAQvE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAShD,yEAAyE;AACzE,8EAA8E;AAC9E,2DAA2D;AAC3D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,EAAE;AACF,qEAAqE;AACrE,uEAAuE;AACvE,oCAAoC;AAEpC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,4EAA4E;AAC5E,+CAA+C;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAQvE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAShD,yEAAyE;AACzE,8EAA8E;AAC9E,2DAA2D;AAC3D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAE9C,2EAA2E;AAC3E,8EAA8E;AAC9E,sEAAsE;AACtE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/schemes/File.js
CHANGED
|
@@ -100,9 +100,9 @@ export default class File {
|
|
|
100
100
|
const member = await ctx.db.crud_find_session_entry.get({ session_id: ctx.sessionId, scheme: null, pathname: rel });
|
|
101
101
|
if (member === undefined)
|
|
102
102
|
return { ok: false, status: 403, error: "path is outside your workspace surface" };
|
|
103
|
-
const
|
|
104
|
-
.filter((c) => c.effect === "
|
|
105
|
-
if (
|
|
103
|
+
const viewGlobs = (await ctx.db.crud_list_session_constraints.all({ session_id: ctx.sessionId }))
|
|
104
|
+
.filter((c) => c.effect === "view").map((c) => c.glob);
|
|
105
|
+
if (viewGlobs.some((g) => matchesGlob(rel, g)))
|
|
106
106
|
return { ok: false, status: 403, error: "member is read-only" };
|
|
107
107
|
original = await readFile(canonical, "utf8");
|
|
108
108
|
}
|
package/dist/schemes/File.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"File.js","sourceRoot":"","sources":["../../src/schemes/File.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"File.js","sourceRoot":"","sources":["../../src/schemes/File.ts"],"names":[],"mappings":"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"}
|
package/dist/server/dsl.d.ts
CHANGED
|
@@ -39,8 +39,8 @@ export default class Dsl {
|
|
|
39
39
|
tags?: string[];
|
|
40
40
|
lineRange?: LineMarker;
|
|
41
41
|
}): PlurnkStatement;
|
|
42
|
-
static
|
|
43
|
-
static
|
|
42
|
+
static buildOpen(p: OpWithMatcher): PlurnkStatement;
|
|
43
|
+
static buildFold(p: OpWithMatcher): PlurnkStatement;
|
|
44
44
|
static buildCopy(p: OpCopyMoveParams): PlurnkStatement;
|
|
45
45
|
static buildMove(p: OpCopyMoveParams): PlurnkStatement;
|
|
46
46
|
static buildSend(p: OpSendParams): PlurnkStatement;
|
package/dist/server/dsl.js
CHANGED
|
@@ -79,7 +79,7 @@ export default class Dsl {
|
|
|
79
79
|
body: p.matcher ?? "",
|
|
80
80
|
}));
|
|
81
81
|
}
|
|
82
|
-
static
|
|
82
|
+
static buildOpen(p) {
|
|
83
83
|
return Dsl.parseSingleStatement(Dsl.#buildHeredoc({
|
|
84
84
|
op: "OPEN", suffix: Dsl.#randomSuffix(),
|
|
85
85
|
signal: Dsl.#formatTags(p.tags),
|
|
@@ -88,7 +88,7 @@ export default class Dsl {
|
|
|
88
88
|
body: p.matcher ?? "",
|
|
89
89
|
}));
|
|
90
90
|
}
|
|
91
|
-
static
|
|
91
|
+
static buildFold(p) {
|
|
92
92
|
return Dsl.parseSingleStatement(Dsl.#buildHeredoc({
|
|
93
93
|
op: "FOLD", suffix: Dsl.#randomSuffix(),
|
|
94
94
|
signal: Dsl.#formatTags(p.tags),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../src/server/envelope.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,EAAE,EAAc,MAAM,eAAe,CAAC;AAGpD,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../src/server/envelope.ts"],"names":[],"mappings":"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"}
|
package/dist/server/envelope.js
CHANGED
|
@@ -38,7 +38,7 @@ export default class Envelope {
|
|
|
38
38
|
// null (headless) or not a git working tree.
|
|
39
39
|
await GitMembership.resolveGitMembership(db, session.id, undefined);
|
|
40
40
|
const runName = Envelope.generateRunName();
|
|
41
|
-
const run = await db.envelope_insert_run.get({ session_id: session.id, name: runName, persona: null });
|
|
41
|
+
const run = await db.envelope_insert_run.get({ session_id: session.id, name: runName, persona: null, origin: "client" });
|
|
42
42
|
if (run === undefined)
|
|
43
43
|
throw new Error("createClientEnvelope: run insert returned no row");
|
|
44
44
|
return {
|
|
@@ -76,12 +76,12 @@ export default class Envelope {
|
|
|
76
76
|
const existing = await db.envelope_get_run_by_name.get({ session_id: sessionId, name: opts.runName });
|
|
77
77
|
if (existing !== undefined)
|
|
78
78
|
return existing;
|
|
79
|
-
const created = await db.envelope_insert_run.get({ session_id: sessionId, name: opts.runName, persona: opts.persona ?? null });
|
|
79
|
+
const created = await db.envelope_insert_run.get({ session_id: sessionId, name: opts.runName, persona: opts.persona ?? null, origin: "client" });
|
|
80
80
|
if (created === undefined)
|
|
81
81
|
throw new Error("resolveRun: run insert returned no row");
|
|
82
82
|
return created;
|
|
83
83
|
}
|
|
84
|
-
const created = await db.envelope_insert_run.get({ session_id: sessionId, name: Envelope.generateRunName(), persona: opts.persona ?? null });
|
|
84
|
+
const created = await db.envelope_insert_run.get({ session_id: sessionId, name: Envelope.generateRunName(), persona: opts.persona ?? null, origin: "client" });
|
|
85
85
|
if (created === undefined)
|
|
86
86
|
throw new Error("resolveRun: run insert returned no row");
|
|
87
87
|
return created;
|
|
@@ -113,7 +113,7 @@ export default class Envelope {
|
|
|
113
113
|
// (client) run, so the packet — rendered from the model's run — never carries
|
|
114
114
|
// the client's op.*. Created on the first loop.run; reused for the connection.
|
|
115
115
|
static async ensureModelRun(db, sessionId) {
|
|
116
|
-
const run = await db.envelope_insert_run.get({ session_id: sessionId, name: Envelope.#tsName("model"), persona: null });
|
|
116
|
+
const run = await db.envelope_insert_run.get({ session_id: sessionId, name: Envelope.#tsName("model"), persona: null, origin: "model" });
|
|
117
117
|
if (run === undefined)
|
|
118
118
|
throw new Error("ensureModelRun: run insert returned no row");
|
|
119
119
|
return run.id;
|
|
@@ -126,7 +126,7 @@ export default class Envelope {
|
|
|
126
126
|
const existing = await db.envelope_get_run_by_name.get({ session_id: sessionId, name: "plurnk" });
|
|
127
127
|
if (existing !== undefined)
|
|
128
128
|
return existing.id;
|
|
129
|
-
const run = await db.envelope_insert_run.get({ session_id: sessionId, name: "plurnk", persona: null });
|
|
129
|
+
const run = await db.envelope_insert_run.get({ session_id: sessionId, name: "plurnk", persona: null, origin: "plurnk" });
|
|
130
130
|
if (run === undefined)
|
|
131
131
|
throw new Error("ensurePlurnkRun: run insert returned no row");
|
|
132
132
|
return run.id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/server/envelope.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,0EAA0E;AAC1E,6EAA6E;AAC7E,kDAAkD;AAGlD,OAAO,aAAa,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/server/envelope.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log_read.d.ts","sourceRoot":"","sources":["../../../src/server/methods/log_read.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"log_read.d.ts","sourceRoot":"","sources":["../../../src/server/methods/log_read.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAavD,MAAM,CAAC,OAAO,OAAO,aAAa;;IAkB9B,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CA6BlD"}
|
|
@@ -24,11 +24,24 @@ export default class LogReadMethod {
|
|
|
24
24
|
if (ctx.session === null)
|
|
25
25
|
throw new Error("log.read requires an attached session");
|
|
26
26
|
const p = params;
|
|
27
|
-
|
|
27
|
+
// Default to the connection's own run; an explicit runId targets any
|
|
28
|
+
// run in the session — the MODEL run for a conversation client (#214) —
|
|
29
|
+
// ownership-verified so a client can't read a run outside its session.
|
|
30
|
+
let runId = ctx.session.runId;
|
|
31
|
+
if (typeof p.runId === "number" && p.runId !== runId) {
|
|
32
|
+
const target = await ctx.db.envelope_get_run_by_id.get({ id: p.runId });
|
|
33
|
+
if (target === undefined)
|
|
34
|
+
throw new Error(`run ${p.runId} not found`);
|
|
35
|
+
if (target.session_id !== ctx.session.sessionId)
|
|
36
|
+
throw new Error(`run ${p.runId} is not in this session`);
|
|
37
|
+
runId = p.runId;
|
|
38
|
+
}
|
|
39
|
+
const entries = await LogReadMethod.#fetchLogEntries(ctx.db, runId, p);
|
|
28
40
|
return { status: 200, entries };
|
|
29
41
|
},
|
|
30
42
|
description: "Read recent log entries from the attached session, optionally filtered.",
|
|
31
43
|
params: {
|
|
44
|
+
runId: "number? — read another run in this session (the model run for a conversation client); defaults to the connection's own run",
|
|
32
45
|
loopId: "number? — filter to one loop",
|
|
33
46
|
turnId: "number? — filter to one turn (within whatever loop)",
|
|
34
47
|
sinceId: "number? — return entries with id > sinceId (for incremental fetch)",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log_read.js","sourceRoot":"","sources":["../../../src/server/methods/log_read.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,8DAA8D;AAI9D,OAAO,QAAQ,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"log_read.js","sourceRoot":"","sources":["../../../src/server/methods/log_read.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop_run.d.ts","sourceRoot":"","sources":["../../../src/server/methods/loop_run.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAkCvD,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"loop_run.d.ts","sourceRoot":"","sources":["../../../src/server/methods/loop_run.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAkCvD,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CA6IlD"}
|
|
@@ -101,6 +101,7 @@ export default class LoopRunMethod {
|
|
|
101
101
|
// drain's notifications surface progress.
|
|
102
102
|
return {
|
|
103
103
|
loopId: injected.loopId,
|
|
104
|
+
modelRunId,
|
|
104
105
|
turnSeq: injected.turnSeq,
|
|
105
106
|
action: "injected_next_turn",
|
|
106
107
|
finalStatus: 100,
|
|
@@ -119,6 +120,7 @@ export default class LoopRunMethod {
|
|
|
119
120
|
if (injected.firstLoopPromise === undefined) {
|
|
120
121
|
return {
|
|
121
122
|
loopId: injected.loopId,
|
|
123
|
+
modelRunId,
|
|
122
124
|
action: "enqueued_new_loop",
|
|
123
125
|
finalStatus: 100,
|
|
124
126
|
hitMaxTurns: false,
|
|
@@ -128,6 +130,7 @@ export default class LoopRunMethod {
|
|
|
128
130
|
const first = await injected.firstLoopPromise;
|
|
129
131
|
return {
|
|
130
132
|
loopId: first.loopId,
|
|
133
|
+
modelRunId,
|
|
131
134
|
turnIds: first.turnIds,
|
|
132
135
|
finalStatus: first.finalStatus,
|
|
133
136
|
hitMaxTurns: first.hitMaxTurns,
|
|
@@ -135,7 +138,7 @@ export default class LoopRunMethod {
|
|
|
135
138
|
action: "enqueued_new_loop",
|
|
136
139
|
};
|
|
137
140
|
},
|
|
138
|
-
description: "Run a model-driven loop with a prompt. Optional per-call `alias` resolves a PLURNK_MODEL_<alias> override. Optional `flags.yolo:true` enables server-side YOLO (daemon auto-accepts proposals in-process; intended for benchmarks and automation, NOT standard client UX — see client SPEC §open-fold for client-side YOLO). Optional `persona` sets the loop-level persona override (highest precedence in the cascade loops > runs > sessions > PLURNK_PERSONA file). Streams log/entry notifications; fires loop/terminated on completion.",
|
|
141
|
+
description: "Run a model-driven loop with a prompt. Optional per-call `alias` resolves a PLURNK_MODEL_<alias> override. Optional `flags.yolo:true` enables server-side YOLO (daemon auto-accepts proposals in-process; intended for benchmarks and automation, NOT standard client UX — see client SPEC §open-fold for client-side YOLO). Optional `persona` sets the loop-level persona override (highest precedence in the cascade loops > runs > sessions > PLURNK_PERSONA file). Returns `modelRunId` — the conversation's run; a conversation client reads it via `log.read({ runId })` for live tail and hydration (§214). Streams log/entry notifications; fires loop/terminated on completion.",
|
|
139
142
|
params: {
|
|
140
143
|
prompt: "string — user prompt for the loop",
|
|
141
144
|
maxTurns: "number? — per-loop turn request; the PLURNK_MAX_TURNS operator ceiling caps it when set (§operator-config)",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop_run.js","sourceRoot":"","sources":["../../../src/server/methods/loop_run.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"loop_run.js","sourceRoot":"","sources":["../../../src/server/methods/loop_run.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export default class OpFoldMethod {
|
|
|
7
7
|
const p = params;
|
|
8
8
|
if (typeof p.target !== "string" || p.target.length === 0)
|
|
9
9
|
throw new Error("op.fold requires params.target: string");
|
|
10
|
-
const statement = Dsl.
|
|
10
|
+
const statement = Dsl.buildFold(p);
|
|
11
11
|
return DispatchAsClient.dispatch(ctx, statement);
|
|
12
12
|
},
|
|
13
13
|
description: "FOLD — collapse a log row to its path (drop its body from the render).",
|
|
@@ -7,7 +7,7 @@ export default class OpOpenMethod {
|
|
|
7
7
|
const p = params;
|
|
8
8
|
if (typeof p.target !== "string" || p.target.length === 0)
|
|
9
9
|
throw new Error("op.open requires params.target: string");
|
|
10
|
-
const statement = Dsl.
|
|
10
|
+
const statement = Dsl.buildOpen(p);
|
|
11
11
|
return DispatchAsClient.dispatch(ctx, statement);
|
|
12
12
|
},
|
|
13
13
|
description: "OPEN — restore a collapsed log row's body to the rendered log.",
|
|
@@ -2,7 +2,7 @@ import GitMembership from "../../core/git-membership.js";
|
|
|
2
2
|
// Client tooling for the SPEC §membership constraint overlay — the supersede over git
|
|
3
3
|
// membership. `constrain`/`unconstrain` mutate session_constraints then re-resolve
|
|
4
4
|
// membership so the change lands now, not next turn; `constraints` lists them.
|
|
5
|
-
const EFFECTS = new Set(["
|
|
5
|
+
const EFFECTS = new Set(["pick", "hide", "view"]);
|
|
6
6
|
export default class SessionConstraintsMethod {
|
|
7
7
|
static register(registry) {
|
|
8
8
|
registry.registerMethod("session.constrain", {
|
|
@@ -14,9 +14,9 @@ export default class SessionConstraintsMethod {
|
|
|
14
14
|
await GitMembership.resolveGitMembership(ctx.db, ctx.session.sessionId, undefined);
|
|
15
15
|
return { effect, glob };
|
|
16
16
|
},
|
|
17
|
-
description: "Add a workspace membership constraint (SPEC §membership overlay): `
|
|
17
|
+
description: "Add a workspace membership constraint (SPEC §membership overlay): `pick` admits files git misses (the sole source when git is absent), `hide` drops tracked matches, `view` admits a member for read but refuses edits. Takes effect immediately.",
|
|
18
18
|
params: {
|
|
19
|
-
effect: "string — one of:
|
|
19
|
+
effect: "string — one of: pick | hide | view",
|
|
20
20
|
glob: "string — node:path glob matched against workspace-relative paths",
|
|
21
21
|
},
|
|
22
22
|
requiresInit: true,
|
|
@@ -30,9 +30,9 @@ export default class SessionConstraintsMethod {
|
|
|
30
30
|
await GitMembership.resolveGitMembership(ctx.db, ctx.session.sessionId, undefined);
|
|
31
31
|
return { effect, glob };
|
|
32
32
|
},
|
|
33
|
-
description: "Remove a workspace membership constraint — the inverse of session.constrain (the `
|
|
33
|
+
description: "Remove a workspace membership constraint — the inverse of session.constrain (the `drop` verb is deleting the constraint row). Takes effect immediately.",
|
|
34
34
|
params: {
|
|
35
|
-
effect: "string — one of:
|
|
35
|
+
effect: "string — one of: pick | hide | view",
|
|
36
36
|
glob: "string — the glob to remove",
|
|
37
37
|
},
|
|
38
38
|
requiresInit: true,
|
|
@@ -52,7 +52,7 @@ export default class SessionConstraintsMethod {
|
|
|
52
52
|
static #parse(params, method) {
|
|
53
53
|
const p = params;
|
|
54
54
|
if (typeof p.effect !== "string" || !EFFECTS.has(p.effect)) {
|
|
55
|
-
throw new Error(`${method}: effect must be one of
|
|
55
|
+
throw new Error(`${method}: effect must be one of pick | hide | view`);
|
|
56
56
|
}
|
|
57
57
|
if (typeof p.glob !== "string" || p.glob.length === 0) {
|
|
58
58
|
throw new Error(`${method}: glob must be a non-empty string`);
|