@jentra/community-runtime 0.1.0 → 0.2.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/README.md +13 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +322 -39
- package/dist/index.js.map +1 -1
- package/package.json +6 -1
package/README.md
CHANGED
|
@@ -17,7 +17,16 @@ JENTRA_API_URL=http://127.0.0.1:4317 JENTRA_TEST_PARTICIPANT=local-user npx @jen
|
|
|
17
17
|
Data is stored in `.jentra/community.json`. The service binds to loopback by default. Set
|
|
18
18
|
`JENTRA_COMMUNITY_TOKEN` before binding it to another interface.
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
The local interface can create Projects and start Quick Tasks or Managed Journeys. Connect a local
|
|
21
|
+
Git repository to create Worlds as real worktrees, keep agents aligned through Journey messages and
|
|
22
|
+
propose a World's current commit for explicit Change Review. Jentra records accept or reject
|
|
23
|
+
decisions but never merges or deploys without a separate authorized action.
|
|
24
|
+
|
|
25
|
+
SDK, CLI and MCP clients see the same persisted direction, Worlds, coordination messages and review
|
|
26
|
+
state as the browser interface. Existing repositories remain intact when connection or World
|
|
27
|
+
creation fails.
|
|
28
|
+
|
|
29
|
+
The public runtime supports Projects, Journeys, participants, current context, Git-backed Worlds,
|
|
30
|
+
coordination messages, append-only command receipts, events, contribution review and the public MCP
|
|
31
|
+
operations. It does not include managed execution, hosted identity, billing, organization
|
|
32
|
+
administration or Jentra's private large-scale control-plane implementation.
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAGA,OAAO,EAAgB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AA8EpF,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAyCD,wBAAsB,qBAAqB,CAAC,OAAO,GAAE,uBAA4B;;;;GAgBhF"}
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
|
+
import { execFile } from "node:child_process";
|
|
3
4
|
import { createServer } from "node:http";
|
|
4
5
|
import { mkdir, readFile, rename, writeFile } from "node:fs/promises";
|
|
5
6
|
import { dirname, resolve } from "node:path";
|
|
7
|
+
import { promisify } from "node:util";
|
|
6
8
|
import { CommandEnvelopeSchema, ProjectCreateRequestSchema, ProjectJourneyStartRequestSchema, } from "@jentra/contracts";
|
|
7
|
-
const
|
|
9
|
+
const execFileAsync = promisify(execFile);
|
|
10
|
+
const empty = () => ({
|
|
11
|
+
schemaVersion: 2,
|
|
12
|
+
projects: {},
|
|
13
|
+
journeys: {},
|
|
14
|
+
worlds: {},
|
|
15
|
+
contributions: {},
|
|
16
|
+
});
|
|
8
17
|
class Store {
|
|
9
18
|
path;
|
|
10
19
|
state = empty();
|
|
@@ -13,7 +22,14 @@ class Store {
|
|
|
13
22
|
}
|
|
14
23
|
async load() {
|
|
15
24
|
try {
|
|
16
|
-
|
|
25
|
+
const parsed = JSON.parse(await readFile(this.path, "utf8"));
|
|
26
|
+
this.state = {
|
|
27
|
+
schemaVersion: 2,
|
|
28
|
+
projects: parsed.projects ?? {},
|
|
29
|
+
journeys: parsed.journeys ?? {},
|
|
30
|
+
worlds: parsed.worlds ?? {},
|
|
31
|
+
contributions: parsed.contributions ?? {},
|
|
32
|
+
};
|
|
17
33
|
}
|
|
18
34
|
catch (error) {
|
|
19
35
|
if (error.code !== "ENOENT")
|
|
@@ -51,28 +67,89 @@ async function route(request, response, store, token) {
|
|
|
51
67
|
const url = new URL(request.url ?? "/", "http://localhost");
|
|
52
68
|
try {
|
|
53
69
|
if (url.pathname === "/health") {
|
|
54
|
-
json(response, 200, { status: "ok", edition: "community", schemaVersion:
|
|
70
|
+
json(response, 200, { status: "ok", edition: "community", schemaVersion: 2 });
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (token && request.headers.authorization !== `Bearer ${token}`) {
|
|
74
|
+
problem(response, 401, "AUTH_REQUIRED", "Supply the configured Community Runtime token.");
|
|
55
75
|
return;
|
|
56
76
|
}
|
|
77
|
+
const participantId = String(request.headers["x-jentra-test-participant"] ?? "local-user");
|
|
57
78
|
if (url.pathname === "/" && request.method === "GET") {
|
|
58
79
|
html(response, dashboard(store.read()));
|
|
59
80
|
return;
|
|
60
81
|
}
|
|
61
|
-
if (
|
|
62
|
-
|
|
82
|
+
if (url.pathname === "/community/projects" && request.method === "POST") {
|
|
83
|
+
const form = await formBody(request);
|
|
84
|
+
await createProject(store, {
|
|
85
|
+
name: requiredFormValue(form, "name"),
|
|
86
|
+
source: form.get("source") ?? "NEW_PROJECT",
|
|
87
|
+
participantId,
|
|
88
|
+
});
|
|
89
|
+
redirect(response, "/#projects");
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (url.pathname === "/community/journeys" && request.method === "POST") {
|
|
93
|
+
const form = await formBody(request);
|
|
94
|
+
await createJourney(store, {
|
|
95
|
+
projectId: requiredFormValue(form, "projectId"),
|
|
96
|
+
outcome: requiredFormValue(form, "outcome"),
|
|
97
|
+
workKind: form.get("workKind") ?? "GENERAL",
|
|
98
|
+
autonomy: form.get("autonomy") ?? "BALANCED",
|
|
99
|
+
layer: form.get("layer") === "QUICK_TASK" ? "QUICK_TASK" : "MANAGED_JOURNEY",
|
|
100
|
+
participantId,
|
|
101
|
+
});
|
|
102
|
+
redirect(response, "/#journeys");
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
if (url.pathname === "/community/source" && request.method === "POST") {
|
|
106
|
+
const form = await formBody(request);
|
|
107
|
+
const projectId = requiredFormValue(form, "projectId");
|
|
108
|
+
const repositoryPath = requiredFormValue(form, "repositoryPath");
|
|
109
|
+
await connectRepository(store, projectId, repositoryPath);
|
|
110
|
+
redirect(response, "/#source");
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
if (url.pathname === "/community/worlds" && request.method === "POST") {
|
|
114
|
+
const form = await formBody(request);
|
|
115
|
+
await createWorld(store, {
|
|
116
|
+
journeyId: requiredFormValue(form, "journeyId"),
|
|
117
|
+
name: requiredFormValue(form, "name"),
|
|
118
|
+
ownerId: requiredFormValue(form, "ownerId"),
|
|
119
|
+
});
|
|
120
|
+
redirect(response, "/#worlds");
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
if (url.pathname === "/community/messages" && request.method === "POST") {
|
|
124
|
+
const form = await formBody(request);
|
|
125
|
+
await addMessage(store, {
|
|
126
|
+
journeyId: requiredFormValue(form, "journeyId"),
|
|
127
|
+
actorId: participantId,
|
|
128
|
+
audience: form.get("audience")?.trim() ?? "Everyone",
|
|
129
|
+
message: requiredFormValue(form, "message"),
|
|
130
|
+
});
|
|
131
|
+
redirect(response, "/#coordination");
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
if (url.pathname === "/community/contributions" && request.method === "POST") {
|
|
135
|
+
const form = await formBody(request);
|
|
136
|
+
await createContribution(store, {
|
|
137
|
+
worldId: requiredFormValue(form, "worldId"),
|
|
138
|
+
authorId: participantId,
|
|
139
|
+
summary: requiredFormValue(form, "summary"),
|
|
140
|
+
});
|
|
141
|
+
redirect(response, "/#review");
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const contributionDecision = /^\/community\/contributions\/([^/]+)\/(accept|reject)$/u.exec(url.pathname);
|
|
145
|
+
if (contributionDecision && request.method === "POST") {
|
|
146
|
+
await decideContribution(store, decodeURIComponent(contributionDecision[1]), contributionDecision[2] === "accept" ? "ACCEPTED" : "REJECTED", participantId);
|
|
147
|
+
redirect(response, "/#review");
|
|
63
148
|
return;
|
|
64
149
|
}
|
|
65
|
-
const participantId = String(request.headers["x-jentra-test-participant"] ?? "local-user");
|
|
66
150
|
if (url.pathname === "/v1/projects" && request.method === "POST") {
|
|
67
151
|
const input = ProjectCreateRequestSchema.parse(await body(request));
|
|
68
|
-
const
|
|
69
|
-
const project = await store.change((state) => (state.projects[id] ??= {
|
|
70
|
-
id,
|
|
71
|
-
name: input.name,
|
|
72
|
-
source: input.source,
|
|
73
|
-
createdAt: now(),
|
|
74
|
-
participants: [human(participantId)],
|
|
75
|
-
}));
|
|
152
|
+
const project = await createProject(store, { ...input, participantId });
|
|
76
153
|
json(response, 201, project);
|
|
77
154
|
return;
|
|
78
155
|
}
|
|
@@ -112,30 +189,15 @@ async function route(request, response, store, token) {
|
|
|
112
189
|
return;
|
|
113
190
|
}
|
|
114
191
|
const input = ProjectJourneyStartRequestSchema.parse(await body(request));
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
id,
|
|
192
|
+
const journey = await createJourney(store, {
|
|
193
|
+
journeyId: input.journeyId,
|
|
118
194
|
projectId,
|
|
119
195
|
layer: input.layer,
|
|
120
196
|
outcome: input.answers.outcome,
|
|
121
197
|
workKind: input.answers.workKind,
|
|
122
198
|
autonomy: input.answers.autonomy,
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
createdAt: now(),
|
|
126
|
-
participants: [human(participantId)],
|
|
127
|
-
events: [
|
|
128
|
-
{
|
|
129
|
-
id: randomUUID(),
|
|
130
|
-
sequence: 1,
|
|
131
|
-
type: "JourneyStarted",
|
|
132
|
-
at: now(),
|
|
133
|
-
actorId: participantId,
|
|
134
|
-
payload: { outcome: input.answers.outcome },
|
|
135
|
-
},
|
|
136
|
-
],
|
|
137
|
-
commands: {},
|
|
138
|
-
}));
|
|
199
|
+
participantId,
|
|
200
|
+
});
|
|
139
201
|
json(response, 201, journey);
|
|
140
202
|
return;
|
|
141
203
|
}
|
|
@@ -156,9 +218,9 @@ async function route(request, response, store, token) {
|
|
|
156
218
|
return;
|
|
157
219
|
}
|
|
158
220
|
json(response, 200, viewMatch[2] === "experience"
|
|
159
|
-
? context(journey)
|
|
221
|
+
? context(journey, store.read())
|
|
160
222
|
: viewMatch[2] === "change-review"
|
|
161
|
-
? review(journey)
|
|
223
|
+
? review(journey, store.read())
|
|
162
224
|
: { participants: journey.participants });
|
|
163
225
|
return;
|
|
164
226
|
}
|
|
@@ -196,6 +258,177 @@ async function route(request, response, store, token) {
|
|
|
196
258
|
return;
|
|
197
259
|
}
|
|
198
260
|
}
|
|
261
|
+
async function createProject(store, input) {
|
|
262
|
+
const id = input.projectId ?? randomUUID();
|
|
263
|
+
return store.change((state) => (state.projects[id] ??= {
|
|
264
|
+
id,
|
|
265
|
+
name: input.name,
|
|
266
|
+
source: input.source,
|
|
267
|
+
createdAt: now(),
|
|
268
|
+
participants: [human(input.participantId)],
|
|
269
|
+
}));
|
|
270
|
+
}
|
|
271
|
+
async function createJourney(store, input) {
|
|
272
|
+
if (!store.read().projects[input.projectId])
|
|
273
|
+
throw new Error("Project not found.");
|
|
274
|
+
const id = input.journeyId ?? randomUUID();
|
|
275
|
+
return store.change((state) => (state.journeys[id] ??= {
|
|
276
|
+
id,
|
|
277
|
+
projectId: input.projectId,
|
|
278
|
+
layer: input.layer,
|
|
279
|
+
outcome: input.outcome,
|
|
280
|
+
workKind: input.workKind,
|
|
281
|
+
autonomy: input.autonomy,
|
|
282
|
+
version: 1,
|
|
283
|
+
status: "ACTIVE",
|
|
284
|
+
createdAt: now(),
|
|
285
|
+
participants: [human(input.participantId)],
|
|
286
|
+
events: [
|
|
287
|
+
{
|
|
288
|
+
id: randomUUID(),
|
|
289
|
+
sequence: 1,
|
|
290
|
+
type: "JourneyStarted",
|
|
291
|
+
at: now(),
|
|
292
|
+
actorId: input.participantId,
|
|
293
|
+
payload: { outcome: input.outcome },
|
|
294
|
+
},
|
|
295
|
+
],
|
|
296
|
+
commands: {},
|
|
297
|
+
}));
|
|
298
|
+
}
|
|
299
|
+
async function connectRepository(store, projectId, requestedPath) {
|
|
300
|
+
const project = store.read().projects[projectId];
|
|
301
|
+
if (!project)
|
|
302
|
+
throw new Error("Project not found.");
|
|
303
|
+
const repositoryPath = resolve(requestedPath);
|
|
304
|
+
const { stdout: rootOutput } = await execFileAsync("git", ["-C", repositoryPath, "rev-parse", "--show-toplevel"], { windowsHide: true });
|
|
305
|
+
const root = resolve(rootOutput.trim());
|
|
306
|
+
const comparableRoot = process.platform === "win32" ? root.toLowerCase() : root;
|
|
307
|
+
const comparableRequested = process.platform === "win32" ? repositoryPath.toLowerCase() : repositoryPath;
|
|
308
|
+
if (comparableRoot !== comparableRequested)
|
|
309
|
+
throw new Error(`Use the repository root: ${root}`);
|
|
310
|
+
const { stdout: headOutput } = await execFileAsync("git", ["-C", root, "rev-parse", "HEAD"], {
|
|
311
|
+
windowsHide: true,
|
|
312
|
+
});
|
|
313
|
+
return store.change((state) => {
|
|
314
|
+
const current = state.projects[projectId];
|
|
315
|
+
current.repositoryPath = root;
|
|
316
|
+
current.repositoryHead = headOutput.trim();
|
|
317
|
+
return current;
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
async function createWorld(store, input) {
|
|
321
|
+
const journey = store.read().journeys[input.journeyId];
|
|
322
|
+
if (!journey)
|
|
323
|
+
throw new Error("Journey not found.");
|
|
324
|
+
const project = store.read().projects[journey.projectId];
|
|
325
|
+
if (!project?.repositoryPath || !project.repositoryHead)
|
|
326
|
+
throw new Error("Connect a local Git repository before creating a World.");
|
|
327
|
+
const id = randomUUID();
|
|
328
|
+
const branch = `jentra/${id}`;
|
|
329
|
+
const worldPath = resolve(dirname(store.path), "worlds", id);
|
|
330
|
+
await mkdir(dirname(worldPath), { recursive: true });
|
|
331
|
+
await execFileAsync("git", [
|
|
332
|
+
"-C",
|
|
333
|
+
project.repositoryPath,
|
|
334
|
+
"worktree",
|
|
335
|
+
"add",
|
|
336
|
+
"-b",
|
|
337
|
+
branch,
|
|
338
|
+
worldPath,
|
|
339
|
+
project.repositoryHead,
|
|
340
|
+
], { windowsHide: true });
|
|
341
|
+
return store.change((state) => {
|
|
342
|
+
const world = {
|
|
343
|
+
id,
|
|
344
|
+
journeyId: journey.id,
|
|
345
|
+
projectId: project.id,
|
|
346
|
+
name: input.name,
|
|
347
|
+
ownerId: input.ownerId,
|
|
348
|
+
path: worldPath,
|
|
349
|
+
branch,
|
|
350
|
+
baselineCommit: project.repositoryHead,
|
|
351
|
+
status: "READY",
|
|
352
|
+
createdAt: now(),
|
|
353
|
+
};
|
|
354
|
+
state.worlds[id] = world;
|
|
355
|
+
state.journeys[journey.id].events.push({
|
|
356
|
+
id: randomUUID(),
|
|
357
|
+
sequence: state.journeys[journey.id].events.length + 1,
|
|
358
|
+
type: "WorldCreated",
|
|
359
|
+
at: now(),
|
|
360
|
+
actorId: input.ownerId,
|
|
361
|
+
payload: { worldId: id, name: input.name, baselineCommit: project.repositoryHead },
|
|
362
|
+
});
|
|
363
|
+
return world;
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
async function addMessage(store, input) {
|
|
367
|
+
return store.change((state) => {
|
|
368
|
+
const journey = state.journeys[input.journeyId];
|
|
369
|
+
if (!journey)
|
|
370
|
+
throw new Error("Journey not found.");
|
|
371
|
+
journey.version += 1;
|
|
372
|
+
journey.events.push({
|
|
373
|
+
id: randomUUID(),
|
|
374
|
+
sequence: journey.events.length + 1,
|
|
375
|
+
type: "CoordinationMessage",
|
|
376
|
+
at: now(),
|
|
377
|
+
actorId: input.actorId,
|
|
378
|
+
payload: { audience: input.audience, message: input.message },
|
|
379
|
+
});
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
async function createContribution(store, input) {
|
|
383
|
+
const world = store.read().worlds[input.worldId];
|
|
384
|
+
if (!world)
|
|
385
|
+
throw new Error("World not found.");
|
|
386
|
+
const { stdout } = await execFileAsync("git", ["-C", world.path, "rev-parse", "HEAD"], {
|
|
387
|
+
windowsHide: true,
|
|
388
|
+
});
|
|
389
|
+
const id = randomUUID();
|
|
390
|
+
return store.change((state) => {
|
|
391
|
+
const contribution = {
|
|
392
|
+
id,
|
|
393
|
+
journeyId: world.journeyId,
|
|
394
|
+
worldId: world.id,
|
|
395
|
+
authorId: input.authorId,
|
|
396
|
+
summary: input.summary,
|
|
397
|
+
commit: stdout.trim(),
|
|
398
|
+
status: "PROPOSED",
|
|
399
|
+
createdAt: now(),
|
|
400
|
+
};
|
|
401
|
+
state.contributions[id] = contribution;
|
|
402
|
+
state.journeys[world.journeyId].events.push({
|
|
403
|
+
id: randomUUID(),
|
|
404
|
+
sequence: state.journeys[world.journeyId].events.length + 1,
|
|
405
|
+
type: "ContributionProposed",
|
|
406
|
+
at: now(),
|
|
407
|
+
actorId: input.authorId,
|
|
408
|
+
payload: { contributionId: id, worldId: world.id, commit: contribution.commit },
|
|
409
|
+
});
|
|
410
|
+
return contribution;
|
|
411
|
+
});
|
|
412
|
+
}
|
|
413
|
+
async function decideContribution(store, contributionId, status, actorId) {
|
|
414
|
+
return store.change((state) => {
|
|
415
|
+
const contribution = state.contributions[contributionId];
|
|
416
|
+
if (!contribution)
|
|
417
|
+
throw new Error("Contribution not found.");
|
|
418
|
+
contribution.status = status;
|
|
419
|
+
const journey = state.journeys[contribution.journeyId];
|
|
420
|
+
journey.version += 1;
|
|
421
|
+
journey.events.push({
|
|
422
|
+
id: randomUUID(),
|
|
423
|
+
sequence: journey.events.length + 1,
|
|
424
|
+
type: status === "ACCEPTED" ? "ContributionAccepted" : "ContributionRejected",
|
|
425
|
+
at: now(),
|
|
426
|
+
actorId,
|
|
427
|
+
payload: { contributionId },
|
|
428
|
+
});
|
|
429
|
+
return contribution;
|
|
430
|
+
});
|
|
431
|
+
}
|
|
199
432
|
async function applyCommand(store, journeyId, command) {
|
|
200
433
|
return store.change((state) => {
|
|
201
434
|
const journey = state.journeys[journeyId];
|
|
@@ -231,7 +464,7 @@ async function applyCommand(store, journeyId, command) {
|
|
|
231
464
|
return receipt;
|
|
232
465
|
});
|
|
233
466
|
}
|
|
234
|
-
const context = (journey) => ({
|
|
467
|
+
const context = (journey, state) => ({
|
|
235
468
|
edition: "community",
|
|
236
469
|
journey: summary(journey),
|
|
237
470
|
direction: { revision: journey.version, outcome: journey.outcome, current: true },
|
|
@@ -239,15 +472,18 @@ const context = (journey) => ({
|
|
|
239
472
|
decisions: journey.events.filter((item) => /decid|accept|reject/i.test(item.type)),
|
|
240
473
|
evidence: journey.events.filter((item) => /evidence|check|result|contribution/i.test(item.type)),
|
|
241
474
|
recentActivity: journey.events.slice(-20),
|
|
475
|
+
worlds: Object.values(state.worlds).filter((item) => item.journeyId === journey.id),
|
|
476
|
+
contributions: Object.values(state.contributions).filter((item) => item.journeyId === journey.id),
|
|
242
477
|
authority: { autonomy: journey.autonomy, consequentialActionsRequireExplicitCommand: true },
|
|
243
478
|
});
|
|
244
|
-
const review = (journey) => ({
|
|
479
|
+
const review = (journey, state) => ({
|
|
245
480
|
journeyId: journey.id,
|
|
246
481
|
status: journey.status,
|
|
247
482
|
directionRevision: journey.version,
|
|
248
483
|
proposedChanges: journey.events.filter((item) => /contribution|result|change/i.test(item.type)),
|
|
249
484
|
assurance: journey.events.filter((item) => /check|verify|assurance/i.test(item.type)),
|
|
250
485
|
decisions: journey.events.filter((item) => /decid|accept|reject/i.test(item.type)),
|
|
486
|
+
contributions: Object.values(state.contributions).filter((item) => item.journeyId === journey.id),
|
|
251
487
|
deliveryReady: journey.status === "COMPLETED",
|
|
252
488
|
});
|
|
253
489
|
const summary = (journey) => ({
|
|
@@ -281,6 +517,28 @@ async function body(request) {
|
|
|
281
517
|
}
|
|
282
518
|
return JSON.parse(Buffer.concat(chunks).toString("utf8") || "{}");
|
|
283
519
|
}
|
|
520
|
+
async function formBody(request) {
|
|
521
|
+
const value = await rawBody(request);
|
|
522
|
+
return new URLSearchParams(value);
|
|
523
|
+
}
|
|
524
|
+
async function rawBody(request) {
|
|
525
|
+
const chunks = [];
|
|
526
|
+
let size = 0;
|
|
527
|
+
for await (const chunk of request) {
|
|
528
|
+
const value = typeof chunk === "string" ? Buffer.from(chunk) : new Uint8Array(chunk);
|
|
529
|
+
size += value.byteLength;
|
|
530
|
+
if (size > 1_000_000)
|
|
531
|
+
throw new Error("Request body exceeds 1 MB.");
|
|
532
|
+
chunks.push(value);
|
|
533
|
+
}
|
|
534
|
+
return Buffer.concat(chunks).toString("utf8");
|
|
535
|
+
}
|
|
536
|
+
function requiredFormValue(form, name) {
|
|
537
|
+
const value = form.get(name)?.trim();
|
|
538
|
+
if (!value)
|
|
539
|
+
throw new Error(`${name} is required.`);
|
|
540
|
+
return value;
|
|
541
|
+
}
|
|
284
542
|
function json(response, status, value) {
|
|
285
543
|
response.writeHead(status, {
|
|
286
544
|
"content-type": "application/json; charset=utf-8",
|
|
@@ -295,6 +553,10 @@ function html(response, value) {
|
|
|
295
553
|
});
|
|
296
554
|
response.end(value);
|
|
297
555
|
}
|
|
556
|
+
function redirect(response, location) {
|
|
557
|
+
response.writeHead(303, { location, "cache-control": "no-store" });
|
|
558
|
+
response.end();
|
|
559
|
+
}
|
|
298
560
|
function entity(response, value, code) {
|
|
299
561
|
if (value)
|
|
300
562
|
json(response, 200, value);
|
|
@@ -312,11 +574,32 @@ function problem(response, status, code, messagePlain, currentVersion) {
|
|
|
312
574
|
});
|
|
313
575
|
}
|
|
314
576
|
function dashboard(state) {
|
|
577
|
+
const escape = (value) => value.replace(/[&<>"']/gu, (c) => ({ "&": "&", "<": "<", ">": ">", '"': """, "'": "'" })[c]);
|
|
578
|
+
return dashboardPage(state, escape);
|
|
579
|
+
}
|
|
580
|
+
function dashboardPage(state, escape) {
|
|
315
581
|
const projects = Object.values(state.projects);
|
|
316
582
|
const journeys = Object.values(state.journeys);
|
|
317
|
-
const
|
|
318
|
-
|
|
583
|
+
const worlds = Object.values(state.worlds);
|
|
584
|
+
const contributions = Object.values(state.contributions);
|
|
585
|
+
const projectOptions = projects
|
|
586
|
+
.map((item) => `<option value="${escape(item.id)}">${escape(item.name)}</option>`)
|
|
587
|
+
.join("");
|
|
588
|
+
const journeyOptions = journeys
|
|
589
|
+
.map((item) => `<option value="${escape(item.id)}">${escape(item.outcome)}</option>`)
|
|
590
|
+
.join("");
|
|
591
|
+
const worldOptions = worlds
|
|
592
|
+
.map((item) => `<option value="${escape(item.id)}">${escape(item.name)}</option>`)
|
|
593
|
+
.join("");
|
|
594
|
+
const messages = journeys
|
|
595
|
+
.flatMap((journey) => journey.events
|
|
596
|
+
.filter((event) => event.type === "CoordinationMessage")
|
|
597
|
+
.map((event) => ({ journey, event })))
|
|
598
|
+
.sort((left, right) => right.event.at.localeCompare(left.event.at));
|
|
599
|
+
const payloadText = (value, fallback) => typeof value === "string" ? value : fallback;
|
|
600
|
+
return `<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="theme-color" content="#131d36"><title>Jentra Community</title><style>${communityStyles}</style></head><body><header><a href="#top">Jentra Community</a><nav aria-label="Workspace"><a href="#direction">Direction</a><a href="#worlds">Worlds</a><a href="#coordination">Coordination</a><a href="#review">Review</a></nav></header><main id="top"><section class="intro"><div><h1>Keep the work moving without losing the thread.</h1><p>Set direction, open an isolated World, coordinate agents and decide what moves forward. Everything remains on this machine.</p></div><dl><div><dt>${String(projects.length)}</dt><dd>Projects</dd></div><div><dt>${String(worlds.length)}</dt><dd>Worlds</dd></div><div><dt>${String(contributions.filter((item) => item.status === "PROPOSED").length)}</dt><dd>Awaiting review</dd></div></dl></section><section id="direction"><div class="section-head"><div><h2>Direction</h2><p>Start with the intended outcome. Add process only when the work needs it.</p></div></div><div class="two"><form method="post" action="/community/projects"><h3>Create a Project</h3><label>Project name<input name="name" required maxlength="160" placeholder="Customer field guide"></label><label>Starting point<select name="source"><option value="NEW_PROJECT">New project</option><option value="EXISTING_REPOSITORY">Existing repository</option><option value="FILES">Files</option></select></label><button type="submit">Create Project</button></form><form method="post" action="/community/journeys"><h3>Start work</h3><label>Project<select name="projectId" required ${projects.length === 0 ? "disabled" : ""}>${projectOptions}</select></label><label>Outcome<input name="outcome" required maxlength="4000" placeholder="What should be true when this is done?" ${projects.length === 0 ? "disabled" : ""}></label><label>Route<select name="layer" ${projects.length === 0 ? "disabled" : ""}><option value="MANAGED_JOURNEY">Managed Journey</option><option value="QUICK_TASK">Quick Task</option></select></label><input type="hidden" name="workKind" value="GENERAL"><button type="submit" ${projects.length === 0 ? "disabled" : ""}>Start work</button>${projects.length === 0 ? '<p class="hint">Create a Project first.</p>' : ""}</form></div><div class="route">${journeys.map((journey) => `<article><span aria-hidden="true"></span><div><strong>${escape(journey.outcome)}</strong><small>${escape(journey.status)} · revision ${String(journey.version)}</small></div></article>`).join("") || '<p class="empty">No active route yet. Start work above.</p>'}</div></section><section id="source"><div class="section-head"><div><h2>Source</h2><p>Connect an existing local Git repository. Jentra records the baseline and leaves the original checkout intact.</p></div></div><form class="inline-form" method="post" action="/community/source"><label>Project<select name="projectId" required ${projects.length === 0 ? "disabled" : ""}>${projectOptions}</select></label><label>Repository root<input name="repositoryPath" required placeholder="C:\\work\\project" ${projects.length === 0 ? "disabled" : ""}></label><button type="submit" ${projects.length === 0 ? "disabled" : ""}>Connect repository</button></form><div class="rows">${projects.map((project) => `<article><div><strong>${escape(project.name)}</strong><small>${project.repositoryPath ? escape(project.repositoryPath) : "No repository connected"}</small></div><span>${project.repositoryHead ? escape(project.repositoryHead.slice(0, 10)) : "Not connected"}</span></article>`).join("")}</div></section><section id="worlds"><div class="section-head"><div><h2>Worlds</h2><p>Each World is a real Git worktree with its own branch and known baseline.</p></div></div><form class="inline-form" method="post" action="/community/worlds"><label>Journey<select name="journeyId" required ${journeys.length === 0 ? "disabled" : ""}>${journeyOptions}</select></label><label>World name<input name="name" required placeholder="Research route" ${journeys.length === 0 ? "disabled" : ""}></label><label>Owner or agent<input name="ownerId" required placeholder="agent-a" ${journeys.length === 0 ? "disabled" : ""}></label><button type="submit" ${journeys.length === 0 ? "disabled" : ""}>Create isolated World</button></form><div class="rows">${worlds.map((world) => `<article><div><strong>${escape(world.name)}</strong><small>${escape(world.ownerId)} · ${escape(world.branch)}</small></div><span>${escape(world.status)}</span></article>`).join("") || '<p class="empty">Connect a repository and create a World when parallel work needs isolation.</p>'}</div></section><section id="coordination"><div class="section-head"><div><h2>Coordination</h2><p>Speak to everyone or name a participant. Messages become shared Journey context.</p></div></div><div class="conversation"><div class="thread">${messages.map(({ journey, event }) => `<article><header><strong>${escape(event.actorId)}</strong><span>to ${escape(payloadText(event.payload.audience, "Everyone"))}</span><time>${escape(event.at)}</time></header><p>${escape(payloadText(event.payload.message, ""))}</p><small>${escape(journey.outcome)}</small></article>`).join("") || '<p class="empty">No messages yet. State what changed, what is blocked, or what another agent needs.</p>'}</div><form method="post" action="/community/messages"><label>Journey<select name="journeyId" required ${journeys.length === 0 ? "disabled" : ""}>${journeyOptions}</select></label><label>Audience<input name="audience" value="Everyone" ${journeys.length === 0 ? "disabled" : ""}></label><label>Message<textarea name="message" required rows="4" placeholder="Share a decision, blocker or request…" ${journeys.length === 0 ? "disabled" : ""}></textarea></label><button type="submit" ${journeys.length === 0 ? "disabled" : ""}>Send to Journey</button></form></div></section><section id="review"><div class="section-head"><div><h2>Change Review</h2><p>Attach a result to its World and decide explicitly what moves forward.</p></div><span class="boundary">No automatic merge or deployment</span></div><form class="inline-form" method="post" action="/community/contributions"><label>World<select name="worldId" required ${worlds.length === 0 ? "disabled" : ""}>${worldOptions}</select></label><label>Summary<input name="summary" required placeholder="What changed and why" ${worlds.length === 0 ? "disabled" : ""}></label><button type="submit" ${worlds.length === 0 ? "disabled" : ""}>Propose current commit</button></form><div class="review-list">${contributions.map((item) => `<article><div><span class="status ${item.status.toLowerCase()}">${escape(item.status)}</span><h3>${escape(item.summary)}</h3><p>Commit <code>${escape(item.commit.slice(0, 12))}</code> · ${escape(item.authorId)}</p></div>${item.status === "PROPOSED" ? `<div class="decisions"><form method="post" action="/community/contributions/${encodeURIComponent(item.id)}/accept"><button type="submit">Accept</button></form><form method="post" action="/community/contributions/${encodeURIComponent(item.id)}/reject"><button class="secondary" type="submit">Reject</button></form></div>` : ""}</article>`).join("") || '<p class="empty">No proposed changes yet.</p>'}</div></section><section class="connect"><h2>Connect an agent</h2><pre>JENTRA_API_URL=http://127.0.0.1:4317\nJENTRA_TEST_PARTICIPANT=my-agent\nnpx @jentra/mcp-server</pre><p>The agent can read the same direction, Worlds, messages and review state shown here.</p></section></main></body></html>`;
|
|
319
601
|
}
|
|
602
|
+
const communityStyles = `:root{--ink:#131d36;--deep:#293653;--blue:#304f88;--route:#5b76aa;--paper:#edf1f6;--field:#fbfcfe;--line:#d0d8e4;--coral:#d4634d;--green:#315f54;--magenta:#ad3f5e;--muted:#52617a;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--field);color:var(--ink);font:15px/1.6 Manrope,system-ui,sans-serif}header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:62px;padding:0 clamp(20px,4vw,52px);background:var(--ink);color:#fff;border-bottom:1px solid #405071}header>a{color:#fff;font:700 19px/1.2 Manrope,sans-serif;text-decoration:none}header nav{display:flex;gap:22px}header nav a{color:#dce5f3;text-decoration:none}main{max-width:1180px;margin:auto;padding:0 clamp(20px,5vw,68px) 80px}.intro{display:grid;grid-template-columns:1.4fr .6fr;gap:60px;align-items:end;padding:82px 0 68px;border-bottom:1px solid var(--line)}h1,h2,h3{font-family:"Bricolage Grotesque",Manrope,sans-serif;letter-spacing:-.025em;text-wrap:balance}h1{max-width:780px;margin:0 0 20px;font-size:clamp(44px,6vw,76px);line-height:.98}h2{margin:0;font-size:clamp(32px,4vw,48px);line-height:1.05}h3{margin:0 0 10px;font-size:20px}.intro p,.section-head p,.connect p{max-width:68ch;color:var(--muted);font-size:17px}.intro dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-block:1px solid var(--line)}.intro dl div{padding:18px 8px}.intro dt{font-size:28px;font-weight:750}.intro dd{margin:0;color:var(--muted);font-size:12px}section:not(.intro){padding:64px 0;border-bottom:1px solid var(--line);scroll-margin-top:62px}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:start;margin-bottom:28px}.section-head p{margin:8px 0 0}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}form{min-width:0}form:not(.inline-form):not(.decisions form){padding:24px;background:#fff;border:1px solid var(--line);border-radius:12px}label{display:grid;gap:6px;margin:0 0 14px;color:var(--muted);font-size:12px;font-weight:700}input,select,textarea,button{width:100%;min-height:42px;border:1px solid #aebbd0;border-radius:7px;padding:9px 11px;background:#fff;color:var(--ink);font:inherit}textarea{resize:vertical}button{border-color:var(--ink);background:var(--ink);color:#fff;font-weight:750;cursor:pointer}button:hover{background:var(--deep)}button.secondary{background:#fff;color:var(--ink)}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.48}.hint,.empty{color:var(--muted)}.route{display:grid;margin-top:28px;border-top:1px solid var(--line)}.route article{position:relative;display:grid;grid-template-columns:22px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.route article>span{width:12px;height:12px;margin-top:6px;border:3px solid var(--field);border-radius:50%;background:var(--coral);outline:1px solid var(--coral)}.route strong,.route small,.rows strong,.rows small{display:block}.route small,.rows small{color:var(--muted)}.inline-form{display:grid;grid-template-columns:1fr 2fr auto;gap:14px;align-items:end;margin-bottom:26px;padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:10px}.inline-form label{margin:0}.inline-form button{width:auto;min-width:170px}.rows,.review-list{border-top:1px solid var(--line)}.rows article,.review-list>article{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.rows article>span{font-size:12px;font-weight:750}.conversation{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:24px}.thread{min-height:300px;border-top:1px solid var(--line)}.thread article{padding:18px 0;border-bottom:1px solid var(--line)}.thread header{position:static;min-height:0;padding:0;background:none;color:var(--ink);border:0;justify-content:start}.thread header span,.thread time,.thread small{color:var(--muted);font-size:12px}.thread time{margin-left:auto}.thread p{margin:8px 0}.boundary,.status{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid #b8c4d7;border-radius:999px;font-size:11px;font-weight:750}.boundary{white-space:nowrap;background:var(--paper)}.status.accepted{color:var(--green);border-color:#82a99f}.status.rejected{color:var(--magenta);border-color:#c697a7}.review-list>article h3{margin-top:10px}.review-list>article p{margin:0;color:var(--muted)}code,pre{font-family:"Azeret Mono",ui-monospace,monospace}code{overflow-wrap:anywhere}.decisions{display:flex;gap:8px}.decisions form{padding:0;border:0}.decisions button{width:auto;min-width:86px}.connect pre{overflow:auto;padding:20px;background:var(--ink);color:#fff;border-radius:10px}:focus-visible{outline:3px solid #ec8e7c;outline-offset:3px}::selection{background:#f3d9d3;color:var(--ink)}@media(max-width:760px){header nav{display:none}.intro,.two,.conversation{grid-template-columns:1fr}.intro{gap:30px;padding-top:52px}.inline-form{grid-template-columns:1fr}.inline-form button{width:100%}.section-head,.rows article,.review-list>article{align-items:start;flex-direction:column}.boundary{white-space:normal}.decisions{width:100%}.decisions form{flex:1}.decisions button{width:100%}}`;
|
|
320
603
|
async function main() {
|
|
321
604
|
const command = process.argv[2] ?? "start";
|
|
322
605
|
if (command === "init") {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jentra/community-runtime",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Local-first Jentra coordination runtime",
|
|
5
5
|
"author": "Norvande Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/thecalebyte/jentra-community.git",
|
|
10
|
+
"directory": "apps/community-runtime"
|
|
11
|
+
},
|
|
7
12
|
"type": "module",
|
|
8
13
|
"bin": {
|
|
9
14
|
"jentra-community": "dist/index.js"
|