@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 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
- This first public runtime supports Projects, Journeys, participants, current context, append-only
21
- command receipts, events, Change Review summaries and the five public MCP operations. It does not
22
- include managed execution, hosted identity, billing, organization administration or Jentra's private
23
- large-scale control-plane implementation.
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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAgB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAmDpF,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;AA2BD,wBAAsB,qBAAqB,CAAC,OAAO,GAAE,uBAA4B;;;;GAgBhF"}
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 empty = () => ({ schemaVersion: 1, projects: {}, journeys: {} });
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
- this.state = JSON.parse(await readFile(this.path, "utf8"));
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: 1 });
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 (token && request.headers.authorization !== `Bearer ${token}`) {
62
- problem(response, 401, "AUTH_REQUIRED", "Supply the configured Community Runtime token.");
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 id = input.projectId ?? randomUUID();
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 id = input.journeyId ?? randomUUID();
116
- const journey = await store.change((state) => (state.journeys[id] ??= {
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
- version: 1,
124
- status: "ACTIVE",
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) => ({ "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" })[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 escape = (value) => value.replace(/[&<>"']/gu, (c) => ({ "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" })[c]);
318
- return `<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Jentra Community</title><style>body{margin:0;background:#111b34;color:#eef4ff;font:16px system-ui}main{max-width:900px;margin:auto;padding:8vw 24px}small{color:#9fb4d7}h1{font-size:clamp(2.4rem,8vw,5rem);margin:.2em 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.card{border:1px solid #526b96;border-radius:18px;padding:20px;background:#182746}.tag{color:#ff8b6a}code{background:#0a1226;padding:3px 6px;border-radius:5px}a{color:#a9c8ff}</style></head><body><main><small>LOCAL COORDINATION RUNTIME</small><h1>Jentra Community</h1><p>Your Projects, Journeys and agent context stay in <code>.jentra/community.json</code>.</p><section><h2>Projects</h2><div class="grid">${projects.map((p) => `<article class="card"><span class="tag">Project</span><h3>${escape(p.name)}</h3><small>${escape(p.id)}</small></article>`).join("") || "<p>No Projects yet. Create one with the SDK or API.</p>"}</div></section><section><h2>Journeys</h2><div class="grid">${journeys.map((j) => `<article class="card"><span class="tag">${escape(j.status)}</span><h3>${escape(j.outcome)}</h3><p>${escape(j.workKind)} · revision ${String(j.version)}</p><small>${escape(j.id)}</small></article>`).join("") || "<p>No Journeys yet.</p>"}</div></section></main></body></html>`;
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.1.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"