@geohar/unbien-durable 0.0.0-stage → 0.1.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.
Files changed (48) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +52 -2
  3. package/dist/agent_config.d.ts +56 -0
  4. package/dist/agent_config.js +92 -0
  5. package/dist/agent_config.js.map +1 -0
  6. package/dist/bridge.d.ts +175 -0
  7. package/dist/bridge.js +921 -0
  8. package/dist/bridge.js.map +1 -0
  9. package/dist/event_source.d.ts +53 -0
  10. package/dist/event_source.js +124 -0
  11. package/dist/event_source.js.map +1 -0
  12. package/dist/extension.d.ts +34 -0
  13. package/dist/extension.js +46 -0
  14. package/dist/extension.js.map +1 -0
  15. package/dist/host.d.ts +2 -0
  16. package/dist/host.js +261 -0
  17. package/dist/host.js.map +1 -0
  18. package/dist/index.d.ts +17 -0
  19. package/dist/index.js +18 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/launch_wait_quit.d.ts +12 -0
  22. package/dist/launch_wait_quit.js +136 -0
  23. package/dist/launch_wait_quit.js.map +1 -0
  24. package/dist/mesh_delivery.d.ts +28 -0
  25. package/dist/mesh_delivery.js +31 -0
  26. package/dist/mesh_delivery.js.map +1 -0
  27. package/dist/mirror.d.ts +56 -0
  28. package/dist/mirror.js +136 -0
  29. package/dist/mirror.js.map +1 -0
  30. package/dist/ollama_cloud.d.ts +2 -0
  31. package/dist/ollama_cloud.js +98 -0
  32. package/dist/ollama_cloud.js.map +1 -0
  33. package/dist/pi_launch.d.ts +50 -0
  34. package/dist/pi_launch.js +84 -0
  35. package/dist/pi_launch.js.map +1 -0
  36. package/dist/port.d.ts +94 -0
  37. package/dist/port.js +121 -0
  38. package/dist/port.js.map +1 -0
  39. package/dist/registrar.d.ts +7 -0
  40. package/dist/registrar.js +31 -0
  41. package/dist/registrar.js.map +1 -0
  42. package/dist/thinking.d.ts +24 -0
  43. package/dist/thinking.js +36 -0
  44. package/dist/thinking.js.map +1 -0
  45. package/dist/view_translator.d.ts +83 -0
  46. package/dist/view_translator.js +317 -0
  47. package/dist/view_translator.js.map +1 -0
  48. package/package.json +63 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Durable binding's EventSource: watches the conversation view
3
+ * (`Conversation.watch()`) and turns each value into the pi-shaped events
4
+ * the rpc-envelope producer consumes (see ViewTranslator for the table),
5
+ * keeping the transcript mirror (the get_entries surface) in step.
6
+ *
7
+ * The view's `entries` are a window over the transcript. A
8
+ * ConversationTranscript layered over it keeps every entry it has seen and
9
+ * pages in the rest: at attachment it loads the whole history before the
10
+ * window, and whenever a value leaves a gap (a stall or an overflow skipped
11
+ * entries) it fills the gap before anything is emitted. The mirror and the
12
+ * translator therefore always see the transcript complete and in order.
13
+ */
14
+ import type { Context, WatchEnd } from "@earendil-works/chord";
15
+ import { type Conversation, type InboxState, type RunFailure } from "@earendil-works/pi-durable";
16
+ import type { EventSource } from "@geohar/un-bien/core";
17
+ import type { DurableTranscriptMirror } from "./mirror.js";
18
+ export interface ConversationViewSourceOptions {
19
+ conversation: Conversation;
20
+ context: Context;
21
+ /** Transcript mirror: grown with every entry the view adds. */
22
+ mirror: DurableTranscriptMirror;
23
+ /** Busy-flag callback: a run in flight → true, run ended → false. */
24
+ onBusyChange?(busy: boolean): void;
25
+ /** A run ended without an answer (`pi.live.runFailure`). */
26
+ onRunFailure?(failure: RunFailure): void;
27
+ /** The watch ended for a reason other than stop(). */
28
+ onEnd?(end: WatchEnd): void;
29
+ }
30
+ export declare class ConversationViewSource implements EventSource {
31
+ private readonly opts;
32
+ private readonly handlers;
33
+ private readonly wildcards;
34
+ private readonly translator;
35
+ private readonly transcript;
36
+ private watch;
37
+ private stopping;
38
+ private inboxState;
39
+ constructor(opts: ConversationViewSourceOptions);
40
+ /** Attach: the first value seeds the mirror and the translator, silently. */
41
+ open(): Promise<void>;
42
+ /** Start consuming values. One call per folded batch of commits. */
43
+ start(): void;
44
+ /** The conversation's queued submissions, as of the latest view value. */
45
+ get inbox(): InboxState | undefined;
46
+ stop(): Promise<void>;
47
+ on(event: string, handler: (payload: unknown) => void): void;
48
+ /** Wildcard subscribers (the port's subscribeEvents fanout). */
49
+ onAny(handler: (event: string, payload: unknown) => void): () => void;
50
+ /** Load everything before the window and every gap in it. */
51
+ private complete;
52
+ private dispatch;
53
+ }
@@ -0,0 +1,124 @@
1
+ import { ConversationTranscript, } from "@earendil-works/pi-durable";
2
+ import { ViewTranslator } from "./view_translator.js";
3
+ /** Entries per page when loading history before the window, or a gap. */
4
+ const PAGE_SIZE = 500;
5
+ export class ConversationViewSource {
6
+ opts;
7
+ handlers = new Map();
8
+ wildcards = new Set();
9
+ translator;
10
+ transcript;
11
+ watch = null;
12
+ stopping = false;
13
+ inboxState;
14
+ constructor(opts) {
15
+ this.opts = opts;
16
+ this.translator = new ViewTranslator({
17
+ emit: (name, payload) => this.dispatch(name, payload),
18
+ onBusyChange: opts.onBusyChange,
19
+ onRunFailure: opts.onRunFailure,
20
+ });
21
+ this.transcript = new ConversationTranscript((query, limit, context) => opts.conversation.entries(query, limit, undefined, context), { pageSize: PAGE_SIZE });
22
+ }
23
+ /** Attach: the first value seeds the mirror and the translator, silently. */
24
+ async open() {
25
+ const watch = await this.opts.conversation.watch(this.opts.context);
26
+ this.watch = watch;
27
+ const view = await this.complete(this.transcript.merge(watch.value));
28
+ this.inboxState = view.docs["pi.inbox"];
29
+ this.opts.mirror.ingest(entriesOf(view));
30
+ this.translator.prime(liveOf(view));
31
+ void watch.closed.then((end) => {
32
+ if (!this.stopping)
33
+ this.opts.onEnd?.(end);
34
+ });
35
+ }
36
+ /** Start consuming values. One call per folded batch of commits. */
37
+ start() {
38
+ this.watch?.start(async (call, context) => {
39
+ if (call.kind !== "value")
40
+ return;
41
+ const view = await this.complete(this.transcript.merge(call.value), context);
42
+ this.inboxState = view.docs["pi.inbox"];
43
+ const added = this.opts.mirror.ingest(entriesOf(view));
44
+ this.translator.feed(added, liveOf(view));
45
+ });
46
+ }
47
+ /** The conversation's queued submissions, as of the latest view value. */
48
+ get inbox() {
49
+ return this.inboxState;
50
+ }
51
+ async stop() {
52
+ this.stopping = true;
53
+ try {
54
+ await this.watch?.stop();
55
+ }
56
+ catch {
57
+ /* best-effort — a closed watch is fine */
58
+ }
59
+ this.watch = null;
60
+ }
61
+ on(event, handler) {
62
+ let set = this.handlers.get(event);
63
+ if (!set) {
64
+ set = new Set();
65
+ this.handlers.set(event, set);
66
+ }
67
+ set.add(handler);
68
+ }
69
+ /** Wildcard subscribers (the port's subscribeEvents fanout). */
70
+ onAny(handler) {
71
+ this.wildcards.add(handler);
72
+ return () => {
73
+ this.wildcards.delete(handler);
74
+ };
75
+ }
76
+ /** Load everything before the window and every gap in it. */
77
+ async complete(view, context = this.opts.context) {
78
+ let current = view;
79
+ for (;;) {
80
+ const first = current.items[0];
81
+ if (first?.kind === "earlier") {
82
+ const next = await this.transcript.loadEarlier(context);
83
+ if (next.items === current.items)
84
+ return current;
85
+ current = next;
86
+ continue;
87
+ }
88
+ const gap = current.items.find((item) => item.kind === "gap");
89
+ if (gap?.kind === "gap") {
90
+ const next = await this.transcript.fillGap(gap, context);
91
+ if (next.items === current.items)
92
+ return current;
93
+ current = next;
94
+ continue;
95
+ }
96
+ return current;
97
+ }
98
+ }
99
+ dispatch(name, payload) {
100
+ for (const handler of this.wildcards) {
101
+ try {
102
+ handler(name, payload);
103
+ }
104
+ catch {
105
+ /* never let one consumer break the batch */
106
+ }
107
+ }
108
+ for (const handler of this.handlers.get(name) ?? []) {
109
+ try {
110
+ handler(payload);
111
+ }
112
+ catch {
113
+ /* never let one consumer break the batch */
114
+ }
115
+ }
116
+ }
117
+ }
118
+ function entriesOf(view) {
119
+ return view.items.flatMap((item) => (item.kind === "entry" ? [item.entry] : []));
120
+ }
121
+ function liveOf(view) {
122
+ return view.docs["pi.live"];
123
+ }
124
+ //# sourceMappingURL=event_source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event_source.js","sourceRoot":"","sources":["../src/event_source.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,sBAAsB,GAQvB,MAAM,4BAA4B,CAAA;AAGnC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,yEAAyE;AACzE,MAAM,SAAS,GAAG,GAAG,CAAA;AAerB,MAAM,OAAO,sBAAsB;IASJ,IAAI;IARhB,QAAQ,GAAG,IAAI,GAAG,EAA2C,CAAA;IAC7D,SAAS,GAAG,IAAI,GAAG,EAA6C,CAAA;IAChE,UAAU,CAAgB;IAC1B,UAAU,CAAwB;IAC3C,KAAK,GAA6B,IAAI,CAAA;IACtC,QAAQ,GAAG,KAAK,CAAA;IAChB,UAAU,CAAwB;IAE1C,YAA6B,IAAmC;oBAAnC,IAAI;QAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,cAAc,CAAC;YACnC,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;YACrD,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAA;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,sBAAsB,CAC1C,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CACxB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAC7D,EAAE,QAAQ,EAAE,SAAS,EAAE,CACxB,CAAA;IACH,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,IAAI;QACR,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACnE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QACpE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAA2B,CAAA;QACjE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;QACxC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACnC,KAAK,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,oEAAoE;IACpE,KAAK;QACH,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;YACxC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;gBAAE,OAAM;YACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;YAC5E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAA2B,CAAA;YACjE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;YACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,0EAA0E;IAC1E,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAA;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAED,EAAE,CAAC,KAAa,EAAE,OAAmC;QACnD,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAClC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAA;YACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QAC/B,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAClB,CAAC;IAED,gEAAgE;IAChE,KAAK,CAAC,OAAkD;QACtD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC3B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAChC,CAAC,CAAA;IACH,CAAC;IAED,6DAA6D;IACrD,KAAK,CAAC,QAAQ,CACpB,IAAoB,EACpB,OAAO,GAAY,IAAI,CAAC,IAAI,CAAC,OAAO;QAEpC,IAAI,OAAO,GAAG,IAAI,CAAA;QAClB,SAAS,CAAC;YACR,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC9B,IAAI,KAAK,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;gBACvD,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;oBAAE,OAAO,OAAO,CAAA;gBAChD,OAAO,GAAG,IAAI,CAAA;gBACd,SAAQ;YACV,CAAC;YACD,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAA;YAC7D,IAAI,GAAG,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;gBACxD,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;oBAAE,OAAO,OAAO,CAAA;gBAChD,OAAO,GAAG,IAAI,CAAA;gBACd,SAAQ;YACV,CAAC;YACD,OAAO,OAAO,CAAA;QAChB,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,IAAY,EAAE,OAAgB;QAC7C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,4CAA4C;YAC9C,CAAC;QACH,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,OAAO,CAAC,OAAO,CAAC,CAAA;YAClB,CAAC;YAAC,MAAM,CAAC;gBACP,4CAA4C;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,SAAS,SAAS,CAAC,IAAoB;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAClF,CAAC;AAED,SAAS,MAAM,CAAC,IAAoB;IAClC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAA0B,CAAA;AACtD,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * The un-bien durable extension: the host installs this into its pi-durable
3
+ * registry alongside CodingTools. It carries the mesh tools (defined ONCE in
4
+ * the harness-neutral core, adapted through DurableToolRegistrar) plus the
5
+ * `launch_pi_task` tool (the launch-wait-quit meeting point).
6
+ *
7
+ * Deliberately NOT here (pi-only by design, flagged not-implemented on the
8
+ * durable v1): slash commands, the ctx.ui/pi-ask bridge, panel mirrors,
9
+ * model-registry rpc verbs. The durable conversation has no ctx.ui surface
10
+ * and its tools ARE the model surface.
11
+ */
12
+ import { type Extension } from "@earendil-works/pi-durable";
13
+ import { type HeadlessLaunchPort } from "@geohar/un-bien/core";
14
+ import type { MeshInbox, MeshNode, RelayClient } from "@geohar/un-bien/durable";
15
+ export interface UnBienDurableDeps {
16
+ /** The host's mesh node, once joined (null before). */
17
+ getMeshNode(): MeshNode | null;
18
+ /** The host's inbound mesh inbox. */
19
+ getInbox(): MeshInbox;
20
+ /** Federated peer addresses from the relay cache (discovery surface). */
21
+ getRemoteRelayPeers(): string[];
22
+ /** Federated peer detail (epk → relayName + addresses) for send routing. */
23
+ getRemoteRelayPeersDetail(): Map<string, {
24
+ relayName: string;
25
+ addresses: string[];
26
+ }>;
27
+ /** The relay WS (federated pi_envelope routing); null when down. */
28
+ getRelay(): Pick<RelayClient, "send"> | null;
29
+ /** The headless pi launch port behind launch_pi_task. */
30
+ launch: HeadlessLaunchPort;
31
+ /** The conversations' working directory. */
32
+ cwd: string;
33
+ }
34
+ export declare function createUnBienDurableExtension(deps: UnBienDurableDeps): Extension;
@@ -0,0 +1,46 @@
1
+ /**
2
+ * The un-bien durable extension: the host installs this into its pi-durable
3
+ * registry alongside CodingTools. It carries the mesh tools (defined ONCE in
4
+ * the harness-neutral core, adapted through DurableToolRegistrar) plus the
5
+ * `launch_pi_task` tool (the launch-wait-quit meeting point).
6
+ *
7
+ * Deliberately NOT here (pi-only by design, flagged not-implemented on the
8
+ * durable v1): slash commands, the ctx.ui/pi-ask bridge, panel mirrors,
9
+ * model-registry rpc verbs. The durable conversation has no ctx.ui surface
10
+ * and its tools ARE the model surface.
11
+ */
12
+ import { defineExtension, section, } from "@earendil-works/pi-durable";
13
+ import { defineMeshTools, } from "@geohar/un-bien/core";
14
+ import { DurableToolRegistrar } from "./registrar.js";
15
+ import { createLaunchWaitQuitTool } from "./launch_wait_quit.js";
16
+ export function createUnBienDurableExtension(deps) {
17
+ const registrar = new DurableToolRegistrar();
18
+ for (const def of defineMeshTools({
19
+ getSessionPeer: () => deps.getMeshNode()?.peer() ?? null,
20
+ getInbox: deps.getInbox,
21
+ getRemoteRelayPeers: deps.getRemoteRelayPeers,
22
+ getRemoteRelayPeersDetail: deps.getRemoteRelayPeersDetail,
23
+ getRelay: deps.getRelay,
24
+ }))
25
+ registrar.registerTool(def);
26
+ const tools = [
27
+ ...registrar.registrations,
28
+ createLaunchWaitQuitTool({
29
+ launch: deps.launch,
30
+ getMeshNode: deps.getMeshNode,
31
+ getInbox: deps.getInbox,
32
+ }),
33
+ ];
34
+ return defineExtension({
35
+ name: "un-bien",
36
+ tools,
37
+ sections: [
38
+ // The coding tools carry their own cwd section; this one names the
39
+ // agent-network surface the model should reach for.
40
+ section("un-bien", () => "You are on the un-bien agent mesh: agent_send / agent_request talk " +
41
+ "to peer agents (list_peers for the roster), and launch_pi_task " +
42
+ "brings up a short-lived headless pi coding agent for ad-hoc tasks.", { tag: true }),
43
+ ],
44
+ });
45
+ }
46
+ //# sourceMappingURL=extension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EACL,eAAe,EACf,OAAO,GAGR,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,eAAe,GAEhB,MAAM,sBAAsB,CAAA;AAO7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAsBhE,MAAM,UAAU,4BAA4B,CAC1C,IAAuB;IAEvB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAA;IAC5C,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC;QAChC,cAAc,EAAE,GAAuB,EAAE,CACvC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI;QACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,yBAAyB,EAAE,IAAI,CAAC,yBAAyB;QACzD,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;QACA,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;IAE7B,MAAM,KAAK,GAAuB;QAChC,GAAG,SAAS,CAAC,aAAa;QAC1B,wBAAwB,CAAC;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;KACH,CAAA;IAED,OAAO,eAAe,CAAC;QACrB,IAAI,EAAE,SAAS;QACf,KAAK;QACL,QAAQ,EAAE;YACR,mEAAmE;YACnE,oDAAoD;YACpD,OAAO,CACL,SAAS,EACT,GAAG,EAAE,CACH,qEAAqE;gBACrE,iEAAiE;gBACjE,oEAAoE,EACtE,EAAE,GAAG,EAAE,IAAI,EAAE,CACd;SACF;KACF,CAAC,CAAA;AACJ,CAAC"}
package/dist/host.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
package/dist/host.js ADDED
@@ -0,0 +1,261 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * The un-bien durable host: a small always-on agent program that opens a
4
+ * pi-durable Harness over JSONL storage, installs the un-bien durable
5
+ * extension + CodingTools, joins the local UDS agent mesh, and serves the
6
+ * un-bien mobile app over the relay through the bridge.
7
+ *
8
+ * Because the conversation id is stable (JSONL storage), there is no session
9
+ * bootstrap racing here: the room id is derived from the root conversation
10
+ * id and survives every restart — the app reconnects to the same room and
11
+ * its get_entries reconstructs the transcript from the mirror.
12
+ *
13
+ * Usage:
14
+ * unbien-durable [--cwd <dir>] [--name <agent-name>] [--relay <url>]
15
+ * [--db <path>] [--model <provider/model>]
16
+ * [--thinking <level>] [--no-pairing-qr]
17
+ *
18
+ * Env: provider API keys are read by pi-ai's provider registry exactly as
19
+ * pi reads them (ANTHROPIC_API_KEY, OPENAI_API_KEY, …). The model defaults
20
+ * from the pi-ai catalog's first configured provider/model.
21
+ * UNBIEN_NO_PAIRING_QR suppresses the auto-minted rotating pairing QR (same
22
+ * as --no-pairing-qr): the invite mints with no user gesture, which headless
23
+ * hosts pair via the un-bien CLI instead.
24
+ * --thinking (or UNBIEN_DURABLE_THINKING) sets the thinking level a
25
+ * conversation still at "off" is raised to: default "medium", pi's default,
26
+ * clamped to the model; "off" keeps pi-durable's default.
27
+ */
28
+ import { join, dirname, resolve } from "node:path";
29
+ import { mkdirSync } from "node:fs";
30
+ import { homedir } from "node:os";
31
+ import { BACKGROUND_CONTEXT } from "@earendil-works/chord/context";
32
+ import { createModels } from "@earendil-works/pi-ai/models";
33
+ import { anthropicProvider } from "@earendil-works/pi-ai/providers/anthropic";
34
+ import { openaiProvider } from "@earendil-works/pi-ai/providers/openai";
35
+ import { googleProvider } from "@earendil-works/pi-ai/providers/google";
36
+ import { groqProvider } from "@earendil-works/pi-ai/providers/groq";
37
+ import { deepseekProvider } from "@earendil-works/pi-ai/providers/deepseek";
38
+ import { mistralProvider } from "@earendil-works/pi-ai/providers/mistral";
39
+ import { openrouterProvider } from "@earendil-works/pi-ai/providers/openrouter";
40
+ import { ollamaCloudProvider } from "./ollama_cloud.js";
41
+ import { CodingTools } from "@earendil-works/pi-durable/tools";
42
+ import { createRegistry, Harness, } from "@earendil-works/pi-durable";
43
+ import { openNodeJsonlStorage } from "@earendil-works/pi-durable/storage/jsonl/node";
44
+ import { NodeExecutionEnv } from "@earendil-works/pi-durable/env/node";
45
+ import { loadConfig } from "@geohar/un-bien/durable";
46
+ import { MeshNode } from "@geohar/un-bien/durable";
47
+ import { MeshInbox } from "@geohar/un-bien/durable";
48
+ import { LOCAL_SESSION_NAME, ensureGlobalDirs, sessionSockPath, } from "@geohar/un-bien/durable";
49
+ import { createUnBienDurableExtension } from "./extension.js";
50
+ import { HeadlessPiLaunch } from "./pi_launch.js";
51
+ import { DurableBridge } from "./bridge.js";
52
+ import { wireMeshInbox } from "./mesh_delivery.js";
53
+ import { DEFAULT_THINKING_LEVEL, parseThinkingLevel, } from "./thinking.js";
54
+ function parseArgs(argv) {
55
+ const args = new Map();
56
+ let noPairingQr = process.env["UNBIEN_NO_PAIRING_QR"] !== undefined &&
57
+ process.env["UNBIEN_NO_PAIRING_QR"] !== "0" &&
58
+ process.env["UNBIEN_NO_PAIRING_QR"] !== "false";
59
+ for (let i = 0; i < argv.length;) {
60
+ const key = argv[i];
61
+ if (key === "--no-pairing-qr") {
62
+ noPairingQr = true;
63
+ i += 1;
64
+ continue;
65
+ }
66
+ const value = argv[i + 1];
67
+ if (!key.startsWith("--") || value === undefined) {
68
+ process.stderr.write(`Usage: unbien-durable [--cwd <dir>] [--name <agent-name>] [--relay <url>] [--db <path>] [--model <provider/model>] [--thinking <level>] [--no-pairing-qr]\n`);
69
+ process.exit(2);
70
+ }
71
+ args.set(key.slice(2), value);
72
+ i += 2;
73
+ }
74
+ const cwd = resolve(args.get("cwd") ?? process.cwd());
75
+ const relayUrl = args.get("relay") ??
76
+ loadConfig().relay ??
77
+ "http://127.0.0.1:8081";
78
+ const name = args.get("name") ?? "durable";
79
+ const machineName = args.get("machine-name");
80
+ const stateDir = join(process.env["XDG_STATE_HOME"] ?? join(homedir(), ".local", "state"), "un-bien", "durable");
81
+ const dbPath = resolve(args.get("db") ?? join(stateDir, "session"));
82
+ const thinkingArg = args.get("thinking") ?? process.env["UNBIEN_DURABLE_THINKING"];
83
+ const thinkingLevel = parseThinkingLevel(thinkingArg);
84
+ if (thinkingArg !== undefined && thinkingLevel === undefined) {
85
+ process.stderr.write(`unbien-durable: unknown thinking level "${thinkingArg}"\n`);
86
+ process.exit(2);
87
+ }
88
+ return {
89
+ cwd,
90
+ name,
91
+ machineName,
92
+ relayUrl,
93
+ dbPath,
94
+ model: args.get("model"),
95
+ thinkingLevel: thinkingLevel ?? DEFAULT_THINKING_LEVEL,
96
+ noPairingQr,
97
+ };
98
+ }
99
+ function log(message, level = "info") {
100
+ const prefix = level === "info" ? "" : `[${level}] `;
101
+ process.stdout.write(`[un-bien-durable] ${prefix}${message}\n`);
102
+ }
103
+ // ── Host ────────────────────────────────────────────────────────────────────
104
+ async function main() {
105
+ const opts = parseArgs(process.argv.slice(2));
106
+ ensureGlobalDirs();
107
+ mkdirSync(dirname(opts.dbPath), { recursive: true });
108
+ // Fire-and-forget async must never kill the host: several paths hand a
109
+ // promise to the void (the pairing QR rotation, relay reconnects,
110
+ // conversation abort/compact) and their per-site .catch() calls cover the
111
+ // EXPECTED failures — this process-level net catches the rest (an
112
+ // unexpected throw mid-path). Logs and continues; Node's default handler
113
+ // would exit the process, taking the always-on host down with a stray
114
+ // rejection.
115
+ process.on("unhandledRejection", (reason) => {
116
+ const detail = reason instanceof Error
117
+ ? reason.stack ?? reason.message
118
+ : String(reason);
119
+ log(`unhandled rejection: ${detail}`, "error");
120
+ });
121
+ // Models: pi-ai's provider registry reads the same env keys pi reads
122
+ // (ANTHROPIC_API_KEY, OPENAI_API_KEY, …). A provider without credentials
123
+ // simply has no configured models in the catalog.
124
+ const models = createModels();
125
+ for (const provider of [
126
+ anthropicProvider(),
127
+ openaiProvider(),
128
+ googleProvider(),
129
+ groqProvider(),
130
+ deepseekProvider(),
131
+ mistralProvider(),
132
+ openrouterProvider(),
133
+ // Ollama Cloud: composed host-side (pi-durable has no pi-extension
134
+ // interface, so the pi-ollama-cloud extension can't run here — see
135
+ // ollama_cloud.ts). Auth via OLLAMA_API_KEY; without it the provider
136
+ // registers inert (pi-ai skips credential-less providers at use time).
137
+ ollamaCloudProvider(),
138
+ ])
139
+ models.setProvider(provider);
140
+ // Registry: coding tools + the un-bien mesh/launch extension.
141
+ const registry = createRegistry();
142
+ registry.install(CodingTools);
143
+ const inbox = new MeshInbox();
144
+ const meshNode = new MeshNode({
145
+ sockPath: sessionSockPath(LOCAL_SESSION_NAME),
146
+ name: opts.name,
147
+ cwd: opts.cwd,
148
+ });
149
+ // Feed the inbox BEFORE the join: inbound agent-to-agent envelopes are
150
+ // stored for the model's pull/wait surface (launch_pi_task's correlated
151
+ // reply waits, the mesh_* tools), so nothing delivered between connect
152
+ // and the first tool call is lost.
153
+ wireMeshInbox(meshNode, inbox);
154
+ const relayPeers = [];
155
+ const relayPeersDetail = new Map();
156
+ const unBien = createUnBienDurableExtension({
157
+ getMeshNode: () => meshNode,
158
+ getInbox: () => inbox,
159
+ getRemoteRelayPeers: () => relayPeers,
160
+ getRemoteRelayPeersDetail: () => relayPeersDetail,
161
+ getRelay: () => null, // v1: the bridge owns the relay; federated routing arrives with the cross-PC bridge
162
+ launch: new HeadlessPiLaunch(),
163
+ cwd: opts.cwd,
164
+ });
165
+ registry.install(unBien);
166
+ // JSONL storage: a directory of append-only .jsonl files — durable
167
+ // conversations, stable ids, resume. Inspectable and git-friendly, with no
168
+ // native sqlite binding (portable to Bun / Cloudflare later).
169
+ const storage = await openNodeJsonlStorage(opts.dbPath, BACKGROUND_CONTEXT);
170
+ let shuttingDown = false;
171
+ const harness = await Harness.open(storage, {
172
+ models,
173
+ registry,
174
+ env: ({ cwd }) => new NodeExecutionEnv({ cwd: cwd ?? opts.cwd }),
175
+ onReport: (error) => {
176
+ log(`extension failure: ${String(error)}`, "warning");
177
+ },
178
+ }, BACKGROUND_CONTEXT);
179
+ const root = await harness.root(BACKGROUND_CONTEXT, {
180
+ agent: {
181
+ ...(opts.model && opts.model.includes("/")
182
+ ? {
183
+ model: (() => {
184
+ const [provider, ...rest] = opts.model.split("/");
185
+ return { provider, modelId: rest.join("/") };
186
+ })(),
187
+ }
188
+ : {}),
189
+ cwd: opts.cwd,
190
+ },
191
+ });
192
+ harness.resume();
193
+ // Graceful shutdown: bridge stop → mesh leave → harness close → exit.
194
+ let bridgeRef = null;
195
+ const shutdown = async () => {
196
+ if (shuttingDown)
197
+ return;
198
+ shuttingDown = true;
199
+ log("shutting down…");
200
+ try {
201
+ await bridgeRef?.stop();
202
+ }
203
+ catch {
204
+ /* best-effort */
205
+ }
206
+ try {
207
+ await meshNode.close();
208
+ }
209
+ catch {
210
+ /* best-effort */
211
+ }
212
+ try {
213
+ await harness.close(BACKGROUND_CONTEXT);
214
+ }
215
+ catch {
216
+ /* best-effort */
217
+ }
218
+ process.exit(0);
219
+ };
220
+ process.on("SIGINT", () => void shutdown());
221
+ process.on("SIGTERM", () => void shutdown());
222
+ // The relay<->conversation bridge (session-replacement machinery deleted
223
+ // by design — stable conversation ids).
224
+ const bridge = new DurableBridge({
225
+ harness,
226
+ context: BACKGROUND_CONTEXT,
227
+ relayUrl: opts.relayUrl,
228
+ displayName: opts.name,
229
+ machineName: opts.machineName,
230
+ cwd: opts.cwd,
231
+ pairingQr: !opts.noPairingQr,
232
+ models,
233
+ thinkingLevel: opts.thinkingLevel,
234
+ log: (message, level) => log(message, level ?? "info"),
235
+ shutdownHost: shutdown,
236
+ });
237
+ bridgeRef = bridge;
238
+ await bridge.attach(root);
239
+ await bridge.start();
240
+ if (opts.noPairingQr)
241
+ log("pairing QR suppressed — pair this machine via the un-bien CLI, or restart without --no-pairing-qr / UNBIEN_NO_PAIRING_QR");
242
+ // Join the local UDS agent mesh (the model's agent_send/launch_pi_task
243
+ // surface). A broker absence is tolerated: the mesh reconnects via
244
+ // MeshNode's own failover when a leader appears.
245
+ try {
246
+ const assigned = await meshNode.connect();
247
+ log(`mesh joined as "${assigned}"`);
248
+ }
249
+ catch (err) {
250
+ const detail = err instanceof Error ? err.message : String(err);
251
+ log(`mesh join deferred: ${detail}`, "warning");
252
+ }
253
+ log(`durable host up — conversation ${String(root.id)}, relay ${opts.relayUrl}`);
254
+ log(`db: ${opts.dbPath}`);
255
+ log("press Ctrl-C to shut down");
256
+ }
257
+ void main().catch((err) => {
258
+ process.stderr.write(`[un-bien-durable] fatal: ${err instanceof Error ? err.stack ?? err.message : String(err)}\n`);
259
+ process.exit(1);
260
+ });
261
+ //# sourceMappingURL=host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @geohar/unbien-durable — public surface: the durable binding's ports,
3
+ * registrar, event source, extension bundle, launch port, and bridge.
4
+ * `host.ts` is the CLI entry (bin: unbien-durable) and stays out of the
5
+ * library surface.
6
+ */
7
+ export { DurableSessionControl, DurableSessionPort, DurableTranscriptMirror, type DurableSessionControlOptions, type DurableSessionPortOptions, } from "./port.js";
8
+ export { DurableToolRegistrar } from "./registrar.js";
9
+ export { ConversationViewSource, type ConversationViewSourceOptions, } from "./event_source.js";
10
+ export { ViewTranslator, type ViewTranslatorOptions } from "./view_translator.js";
11
+ export { entryIdOf, toWire } from "./mirror.js";
12
+ export { createUnBienDurableExtension, type UnBienDurableDeps, } from "./extension.js";
13
+ export { HeadlessPiLaunch, HeadlessPiSession, } from "./pi_launch.js";
14
+ export { createLaunchWaitQuitTool, type LaunchWaitQuitDeps, } from "./launch_wait_quit.js";
15
+ export { DurableBridge, type DurableBridgeOptions } from "./bridge.js";
16
+ export { ollamaCloudProvider } from "./ollama_cloud.js";
17
+ export { DEFAULT_THINKING_LEVEL, ensureThinkingLevel, parseThinkingLevel, } from "./thinking.js";