@chipschat/harness 1.0.1 → 1.0.3

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
@@ -12,7 +12,7 @@ npm install @chipschat/harness
12
12
  import { connect } from "@chipschat/harness";
13
13
 
14
14
  const token = process.env["CHIPS_HARNESS_TOKEN"] ?? "";
15
- const chips = await connect({ url: "http://127.0.0.1:4432", token });
15
+ const chips = await connect({ url: "http://127.0.0.1:4431", token });
16
16
 
17
17
  chips.on("message.new", async (message) => {
18
18
  if (message.from.kind !== "person") return;
package/dist/asks.d.ts CHANGED
@@ -8,7 +8,14 @@
8
8
  * Once is per connection object: a reconnect keeps what was handed. A harness that stops before
9
9
  * it claims a room is handed it again at its next start, because the room is still listed as
10
10
  * asked until it is claimed, which is the point of the list.
11
+ *
12
+ * Words heard live come with the `message.new` they arrived as, and `firstTurnOf` makes that the
13
+ * turn of the agent the claim puts in the harness's place: who is in the room and its note, which
14
+ * Chips wrote for the harness before the agent was made. A bridge that answered the words alone
15
+ * told the agent nothing of the room: in Bruh chat (5 November 2026) three of five agents
16
+ * introduced themselves without knowing their names, who else was there or who led.
11
17
  */
18
+ import { type MessageNew } from "@chipschat/protocol";
12
19
  /** A room a person asked this harness for, and what they said it was for. */
13
20
  export interface SpaceAsked {
14
21
  readonly spaceId: string;
@@ -19,6 +26,12 @@ export interface SpaceAsked {
19
26
  readonly messageId: string;
20
27
  readonly text: string;
21
28
  };
29
+ /**
30
+ * The words as Chips handed them to the harness, when heard live: with who is in the room and
31
+ * the room's note and rules for the harness. Answer them with `firstTurnOf`. Absent when read
32
+ * from the room's history at a catch-up.
33
+ */
34
+ readonly message?: MessageNew | undefined;
22
35
  }
23
36
  /** What `claimSpace` did. */
24
37
  export interface ClaimedSpace {
@@ -69,6 +82,15 @@ export declare class Asks {
69
82
  private note;
70
83
  private hand;
71
84
  }
85
+ /**
86
+ * A room's first words as the turn of the agent its claim put in the harness's place: the
87
+ * `message.new` Chips handed the harness, for the agent instead. Chips wrote the room's note
88
+ * before the agent was made, naming the harness by the first name the room held for its agent
89
+ * (ADR 0150), so the note, the rules and the harness's place among the members become the
90
+ * agent's, and `promptFor` with the agent as taker says them. Nothing when the words were read
91
+ * from the room's history, which carries no note: answer the words alone then.
92
+ */
93
+ export declare function firstTurnOf(asked: SpaceAsked, agentId: string): MessageNew | undefined;
72
94
  /** The first thing a person said in a page of a room's history, as `GET /v1/events` returns it. */
73
95
  export declare function firstWords(history: readonly Frame[]): SpaceAsked["firstMessage"] | undefined;
74
96
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"asks.d.ts","sourceRoot":"","sources":["../src/asks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,6EAA6E;AAC7E,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,4BAA4B;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gFAAgF;IAChF,QAAQ,CAAC,YAAY,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9E;AAED,6BAA6B;AAC7B,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uFAAuF;IACvF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,+FAA+F;IAC/F,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,uFAAuF;AACvF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAQD,KAAK,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE/C,qBAAa,IAAI;IAIb,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAN3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;;IAGpD,qDAAqD;IACpC,SAAS,EAAE,MAAM,MAAM,GAAG,SAAS;IACpD,uEAAuE;IACtD,QAAQ,EAAE;QACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC;QAClC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;KAC5C;IAGH;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAqB5B;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAOjB,sDAAsD;IACtD,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIhC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,GAAG,SAAS,GAAG,IAAI;IAKnF,OAAO,CAAC,IAAI;IAQZ,OAAO,CAAC,IAAI;CAIb;AAED,mGAAmG;AACnG,wBAAgB,UAAU,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,GAAG,SAAS,CAO5F"}
1
+ {"version":3,"file":"asks.d.ts","sourceRoot":"","sources":["../src/asks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,KAAK,UAAU,EAAe,MAAM,qBAAqB,CAAC;AAEnE,6EAA6E;AAC7E,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,4BAA4B;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gFAAgF;IAChF,QAAQ,CAAC,YAAY,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7E;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC3C;AAED,6BAA6B;AAC7B,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uFAAuF;IACvF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,+FAA+F;IAC/F,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,uFAAuF;AACvF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAQD,KAAK,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE/C,qBAAa,IAAI;IAIb,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAN3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;;IAGpD,qDAAqD;IACpC,SAAS,EAAE,MAAM,MAAM,GAAG,SAAS;IACpD,uEAAuE;IACtD,QAAQ,EAAE;QACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC;QAClC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;KAC5C;IAGH;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAuB5B;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAOjB,sDAAsD;IACtD,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIhC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,GAAG,SAAS,GAAG,IAAI;IAKnF,OAAO,CAAC,IAAI;IAQZ,OAAO,CAAC,IAAI;CAcb;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CA4BtF;AAED,mGAAmG;AACnG,wBAAgB,UAAU,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,GAAG,SAAS,CAO5F"}
package/dist/asks.js CHANGED
@@ -8,6 +8,12 @@
8
8
  * Once is per connection object: a reconnect keeps what was handed. A harness that stops before
9
9
  * it claims a room is handed it again at its next start, because the room is still listed as
10
10
  * asked until it is claimed, which is the point of the list.
11
+ *
12
+ * Words heard live come with the `message.new` they arrived as, and `firstTurnOf` makes that the
13
+ * turn of the agent the claim puts in the harness's place: who is in the room and its note, which
14
+ * Chips wrote for the harness before the agent was made. A bridge that answered the words alone
15
+ * told the agent nothing of the room: in Bruh chat (5 November 2026) three of five agents
16
+ * introduced themselves without knowing their names, who else was there or who led.
11
17
  */
12
18
  import { messageIdOf } from "@chipschat/protocol";
13
19
  export class Asks {
@@ -46,10 +52,7 @@ export class Asks {
46
52
  const from = event["from"];
47
53
  if (!this.listener.listening() || from?.kind !== "person")
48
54
  return false;
49
- this.hand(spaceId, room, {
50
- messageId: String(event["message_id"]),
51
- text: String(event["text"] ?? ""),
52
- });
55
+ this.hand(spaceId, room, { messageId: String(event["message_id"]), text: String(event["text"] ?? "") }, event);
53
56
  return true;
54
57
  }
55
58
  /**
@@ -85,10 +88,52 @@ export class Asks {
85
88
  this.rooms.set(spaceId, room);
86
89
  return room;
87
90
  }
88
- hand(spaceId, room, first) {
91
+ hand(spaceId, room, first, message) {
89
92
  room.first = first.messageId;
90
- this.listener.hand({ spaceId, askedBy: room.askedBy, firstMessage: first });
93
+ this.listener.hand({
94
+ spaceId,
95
+ askedBy: room.askedBy,
96
+ firstMessage: first,
97
+ ...(message === undefined ? {} : { message }),
98
+ });
99
+ }
100
+ }
101
+ /**
102
+ * A room's first words as the turn of the agent its claim put in the harness's place: the
103
+ * `message.new` Chips handed the harness, for the agent instead. Chips wrote the room's note
104
+ * before the agent was made, naming the harness by the first name the room held for its agent
105
+ * (ADR 0150), so the note, the rules and the harness's place among the members become the
106
+ * agent's, and `promptFor` with the agent as taker says them. Nothing when the words were read
107
+ * from the room's history, which carries no note: answer the words alone then.
108
+ */
109
+ export function firstTurnOf(asked, agentId) {
110
+ const { message } = asked;
111
+ if (message === undefined)
112
+ return undefined;
113
+ const room = message.room;
114
+ const notes = room?.notes ?? {};
115
+ // The harness's note is the one the words carry: they were for the harness alone.
116
+ const [place, ...more] = Object.keys(notes);
117
+ if (room === undefined || place === undefined || more.length > 0) {
118
+ return { ...message, for: [agentId] };
91
119
  }
120
+ const placed = (each) => each.participant_id === place ? { ...each, participant_id: agentId } : each;
121
+ const note = notes[place];
122
+ const rules = room.rules?.[place];
123
+ return {
124
+ ...message,
125
+ for: [agentId],
126
+ room: {
127
+ ...room,
128
+ members: room.members.map(placed),
129
+ notes: note === undefined ? {} : { [agentId]: note },
130
+ ...(room.rules === undefined
131
+ ? {}
132
+ : { rules: rules === undefined ? {} : { [agentId]: rules } }),
133
+ ...(room.working === undefined ? {} : { working: room.working.map(placed) }),
134
+ ...(room.idle === undefined ? {} : { idle: room.idle.map(placed) }),
135
+ },
136
+ };
92
137
  }
93
138
  /** The first thing a person said in a page of a room's history, as `GET /v1/events` returns it. */
94
139
  export function firstWords(history) {
package/dist/asks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"asks.js","sourceRoot":"","sources":["../src/asks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asks.js","sourceRoot":"","sources":["../src/asks.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -21,6 +21,7 @@
21
21
  export type { ContextBudget, ContextLine, RoomContext, RoomFile, RoomMember, RoomNote, } from "@chipschat/protocol";
22
22
  export { noteWithoutRules, renderContext, renderLine, renderReplyingTo, renderRoomNote, } from "@chipschat/protocol";
23
23
  export type { ClaimedSpace, SpaceAsked } from "./asks.js";
24
+ export { firstTurnOf } from "./asks.js";
24
25
  export type { Agent, ConnectOptions, PostInput, RestartAsk, SocketLike, Speaker, StartRunInput, } from "./connect.js";
25
26
  export { Chips, ConnectError, connect } from "./connect.js";
26
27
  export type { ChipsEvents, ConnectionState, Handler, Receipt } from "./events.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10,6 +10,7 @@
10
10
  * keeps what must survive a restart.
11
11
  */
12
12
  export { noteWithoutRules, renderContext, renderLine, renderReplyingTo, renderRoomNote, } from "@chipschat/protocol";
13
+ export { firstTurnOf } from "./asks.js";
13
14
  export { Chips, ConnectError, connect } from "./connect.js";
14
15
  export { PIECE_BYTES } from "./files.js";
15
16
  export { overheardLine, workingTurnsOf } from "./heard.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmBH,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAW7B,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEvF,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAErF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAkB1C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,OAAO,EACL,YAAY,EACZ,eAAe,EACf,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,UAAU,EACV,eAAe,EACf,WAAW,EACX,QAAQ,EACR,UAAU,EACV,WAAW,EACX,WAAW,GACZ,MAAM,cAAc,CAAC;AAUtB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmBH,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAUxC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEvF,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAErF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAkB1C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,OAAO,EACL,YAAY,EACZ,eAAe,EACf,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,UAAU,EACV,eAAe,EACf,WAAW,EACX,QAAQ,EACR,UAAU,EACV,WAAW,EACX,WAAW,GACZ,MAAM,cAAc,CAAC;AAUtB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
package/dist/join.d.ts CHANGED
@@ -19,7 +19,10 @@
19
19
  * so a command run again as it was first written still starts.
20
20
  *
21
21
  * The server is found from the link, then `url`, then `CHIPS_URL`, then the `server.json` that
22
- * `chips up` writes on its own machine.
22
+ * `chips up` writes on its own machine. A link to the server on this very machine is taken up at the
23
+ * address `server.json` gives, its loopback one, and that is the address handed back and kept: the
24
+ * address in the link is the machine's on its Wi-Fi, which changes with the network, and a harness
25
+ * that kept it would go quiet the next time it did (the onboarding audit, Part 2, item 2).
23
26
  */
24
27
  import { type Environment, type KeyStore } from "./keep.js";
25
28
  export interface JoinOptions {
@@ -62,6 +65,12 @@ export declare class JoinError extends Error {
62
65
  readonly name = "JoinError";
63
66
  constructor(refusal: string, message: string);
64
67
  }
68
+ /**
69
+ * The address to reach a server at from here, when `url` is the server on this machine at another of
70
+ * its addresses (its Wi-Fi one, say): `server.json`'s, which stays the same whatever network the
71
+ * machine is on. Nothing when `url` is somewhere else.
72
+ */
73
+ export declare function hereInstead(url: string, env: Environment): string | undefined;
65
74
  /** The server, and the link's secret when there is one. */
66
75
  export declare function findServer(options: Pick<JoinOptions, "link" | "url">, env: Environment): {
67
76
  readonly url: string;
@@ -1 +1 @@
1
- {"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../src/join.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../src/join.ts"],"names":[],"mappings":"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"}
package/dist/join.js CHANGED
@@ -19,11 +19,14 @@
19
19
  * so a command run again as it was first written still starts.
20
20
  *
21
21
  * The server is found from the link, then `url`, then `CHIPS_URL`, then the `server.json` that
22
- * `chips up` writes on its own machine.
22
+ * `chips up` writes on its own machine. A link to the server on this very machine is taken up at the
23
+ * address `server.json` gives, its loopback one, and that is the address handed back and kept: the
24
+ * address in the link is the machine's on its Wi-Fi, which changes with the network, and a harness
25
+ * that kept it would go quiet the next time it did (the onboarding audit, Part 2, item 2).
23
26
  */
24
27
  import { createHash } from "node:crypto";
25
28
  import { readFileSync } from "node:fs";
26
- import { hostname } from "node:os";
29
+ import { hostname, networkInterfaces } from "node:os";
27
30
  import { join as joinPath } from "node:path";
28
31
  import { HARNESS_CAPABILITIES, JOIN_POLL_SECONDS, parseJoinLink, } from "@chipschat/protocol";
29
32
  import { configHome, openKeyStore } from "./keep.js";
@@ -47,6 +50,62 @@ function serverJsonUrl(env) {
47
50
  return undefined;
48
51
  }
49
52
  }
53
+ /** The server `chips up` runs on this machine: its own address, and the hosts that are this machine. */
54
+ function serverHere(env) {
55
+ const url = serverJsonUrl(env);
56
+ if (url === undefined)
57
+ return undefined;
58
+ let port;
59
+ try {
60
+ const parsed = new URL(url);
61
+ if (parsed.protocol !== "http:")
62
+ return undefined;
63
+ port = parsed.port;
64
+ }
65
+ catch {
66
+ return undefined;
67
+ }
68
+ const hosts = new Set(["localhost", "127.0.0.1", "[::1]", hostname().toLowerCase()]);
69
+ for (const each of Object.values(networkInterfaces()).flat()) {
70
+ if (each === undefined)
71
+ continue;
72
+ hosts.add(each.family === "IPv6" ? `[${each.address}]` : each.address);
73
+ }
74
+ return { url: url.replace(/\/$/, ""), port, hosts };
75
+ }
76
+ /**
77
+ * The address to reach a server at from here, when `url` is the server on this machine at another of
78
+ * its addresses (its Wi-Fi one, say): `server.json`'s, which stays the same whatever network the
79
+ * machine is on. Nothing when `url` is somewhere else.
80
+ */
81
+ export function hereInstead(url, env) {
82
+ const here = serverHere(env);
83
+ if (here === undefined)
84
+ return undefined;
85
+ try {
86
+ const parsed = new URL(url);
87
+ const same = parsed.protocol === "http:" &&
88
+ parsed.port === here.port &&
89
+ here.hosts.has(parsed.hostname.toLowerCase());
90
+ return same ? here.url : undefined;
91
+ }
92
+ catch {
93
+ return undefined;
94
+ }
95
+ }
96
+ /**
97
+ * The accounts a key for the server on this machine may be kept under, after `url`'s own: one at
98
+ * each of the machine's addresses, where a harness joined from a link before links to this machine
99
+ * were taken up at its loopback address.
100
+ */
101
+ function accountsHere(url, name, env) {
102
+ const here = serverHere(env);
103
+ if (here === undefined || here.url !== url.replace(/\/$/, ""))
104
+ return [];
105
+ return [...here.hosts]
106
+ .filter((host) => /^\d+\.\d+\.\d+\.\d+$/.test(host) && host !== "127.0.0.1")
107
+ .map((host) => accountOf(`http://${host}${here.port === "" ? "" : `:${here.port}`}`, name));
108
+ }
50
109
  /** The server, and the link's secret when there is one. */
51
110
  export function findServer(options, env) {
52
111
  if (options.link !== undefined) {
@@ -54,7 +113,8 @@ export function findServer(options, env) {
54
113
  if (parsed === undefined) {
55
114
  throw new JoinError("invalid", "That is not a join link: it looks like <address>/j/<secret>.");
56
115
  }
57
- return parsed;
116
+ const here = hereInstead(parsed.url, env);
117
+ return here === undefined ? parsed : { url: here, secret: parsed.secret };
58
118
  }
59
119
  const url = options.url ?? env["CHIPS_URL"] ?? serverJsonUrl(env);
60
120
  if (url === undefined || url === "") {
@@ -79,6 +139,35 @@ function joinedOf(answer) {
79
139
  function linkHash(secret) {
80
140
  return createHash("sha256").update(secret).digest("base64url");
81
141
  }
142
+ /** The first of `accounts` a key is kept under, and which. */
143
+ function keptAtAny(store, accounts) {
144
+ for (const account of accounts) {
145
+ const kept = keptAt(store, account);
146
+ if (kept !== undefined)
147
+ return { account, kept };
148
+ }
149
+ return undefined;
150
+ }
151
+ /**
152
+ * A kept key whose server is this machine at an address that changes with the network, pointed at
153
+ * the machine's own address instead, and kept so: a bridge whose service still names the old address
154
+ * (`CHIPS_URL`) finds a key that reaches its server wherever the machine is.
155
+ */
156
+ function rehomed(store, account, joined, env) {
157
+ const here = hereInstead(joined.url, env);
158
+ if (here === undefined || here === joined.url)
159
+ return joined;
160
+ if (store !== false) {
161
+ try {
162
+ const record = JSON.parse(store.get(account) ?? "{}");
163
+ store.set(account, JSON.stringify({ ...record, url: here }));
164
+ }
165
+ catch {
166
+ // Kept as it was: the address comes back changed all the same.
167
+ }
168
+ }
169
+ return { ...joined, url: here };
170
+ }
82
171
  function keptAt(store, account) {
83
172
  if (store === false)
84
173
  return undefined;
@@ -116,8 +205,11 @@ export function keptJoin(name, options = {}) {
116
205
  catch {
117
206
  return {};
118
207
  }
119
- const kept = keptAt(options.keep ?? openKeyStore(env), accountOf(url, name));
120
- return kept === undefined ? { url } : { url, joined: kept.joined };
208
+ const store = options.keep ?? openKeyStore(env);
209
+ const found = keptAtAny(store, [accountOf(url, name), ...accountsHere(url, name, env)]);
210
+ if (found === undefined)
211
+ return { url };
212
+ return { url, joined: rehomed(store, found.account, found.kept.joined, env) };
121
213
  }
122
214
  /** The refusals that mean a link was already taken up or has lapsed: the kept key still stands. */
123
215
  const USED_UP = new Set(["spent", "expired"]);
@@ -215,21 +307,22 @@ export async function join(options) {
215
307
  const server = findServer(options, env);
216
308
  const store = options.keep ?? openKeyStore(env);
217
309
  const account = accountOf(server.url, options.name);
218
- const kept = keptAt(store, account);
310
+ const found = keptAtAny(store, [account, ...accountsHere(server.url, options.name, env)]);
219
311
  const from = server.secret === undefined ? undefined : linkHash(server.secret);
220
312
  // No link, or the very link it was handed this key by: the key, and nothing asked.
221
- if (kept !== undefined && (from === undefined || kept.from === from))
222
- return kept.joined;
313
+ if (found !== undefined && (from === undefined || found.kept.from === from))
314
+ return rehomed(store, found.account, found.kept.joined, env);
223
315
  let answer;
224
316
  try {
225
317
  answer = await askOrRedeem(server, options);
226
318
  }
227
319
  catch (error) {
228
- if (kept !== undefined && usedUp(error))
229
- return kept.joined;
320
+ if (found !== undefined && usedUp(error))
321
+ return rehomed(store, found.account, found.kept.joined, env);
230
322
  throw error;
231
323
  }
232
- const joined = joinedOf(answer);
324
+ const answered = joinedOf(answer);
325
+ const joined = { ...answered, url: hereInstead(answered.url, env) ?? answered.url };
233
326
  // Handed over now, so its first words are due (`helloOnce`).
234
327
  if (store !== false)
235
328
  store.set(account, JSON.stringify({ ...joined, from, hello: "due" }));
package/dist/join.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"join.js","sourceRoot":"","sources":["../src/join.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EAEjB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAmC,YAAY,EAAE,MAAM,WAAW,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAsCxC,oGAAoG;AACpG,MAAM,OAAO,SAAU,SAAQ,KAAK;IAGvB;IAFO,IAAI,GAAG,WAAW,CAAC;IACrC,YACW,OAAe,EACxB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,YAAO,GAAP,OAAO,CAAQ;IAI1B,CAAC;CACF;AAED,2DAA2D;AAC3D,SAAS,aAAa,CAAC,GAAgB;IACrC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAErF,CAAC;QACF,OAAO,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,UAAU,CACxB,OAA0C,EAC1C,GAAgB;IAEhB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,SAAS,CACjB,SAAS,EACT,8DAA8D,CAC/D,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;IAClE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,SAAS,CACjB,SAAS,EACT,qFAAqF,CACtF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;AACzC,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,IAAY;IACjD,OAAO,WAAW,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,QAAQ,CAAC,MAAqB;IACrC,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,SAAS,EAAE,MAAM,CAAC,UAAU;QAC5B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtE,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC;AACJ,CAAC;AAQD,kGAAkG;AAClG,SAAS,QAAQ,CAAC,MAAc;IAC9B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,MAAM,CAAC,KAAuB,EAAE,OAAe;IACtD,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACzC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAGjD,CAAC;QACF,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC/F,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACrD,OAAO;YACL,MAAM,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,MAAM,EAAY;YACjD,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SAClD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CACtB,IAAY,EACZ,UAAqD,EAAE;IAEvD,qDAAqD;IACrD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7E,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AACrE,CAAC;AAED,mGAAmG;AACnG,MAAM,OAAO,GAAwB,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAEnE,gDAAgD;AAChD,KAAK,UAAU,OAAO,CAAC,QAAkB;IACvC,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAEpD,CAAC;IACF,OAAO,IAAI,SAAS,CAClB,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,QAAQ,QAAQ,CAAC,MAAM,EAAE,EACpE,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,kBAAkB,QAAQ,CAAC,MAAM,GAAG,CAC5D,CAAC;AACJ,CAAC;AAED,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,MAA+B,EAAE,EAAE,CAC3D,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IACpC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,gBAAgB,CACtB,OAAO,EACP,GAAG,EAAE;QACH,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,SAAS,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC,CAAC;IACvE,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,8CAA8C;AAC9C,KAAK,UAAU,GAAG,CAChB,GAAW,EACX,OAAoB,EACpB,IAAkB,EAClB,OAAe;IAEf,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,GAAG,UAAU,EAAE;QACzC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO;YACP,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzE,KAAK,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC/D,CAAC;KACH,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;QAAE,MAAM,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAKjE,CAAC;IACF,MAAM,IAAI,GACR,OAAO,CAAC,MAAM;QACd,CAAC,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,OAAO,CAAC,IAAI,gBAAgB,KAAK,iBAAiB,KAAK,KAAK,CAAC,CAAC,CAAC;IACjG,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAChB,SAAS,CAAC;QACR,MAAM,IAAI,CAAC,CAAC,QAAQ,IAAI,iBAAiB,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,GAAG,YAAY,UAAU,SAAS,EAAE;YAC/D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;SACjC,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;YAAE,SAAS;QACpC,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAkB,CAAC;QACzE,MAAM,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,KAAK,UAAU,MAAM,CACnB,GAAW,EACX,MAAc,EACd,OAAoB,EACpB,IAAkB,EAClB,OAAe;IAEf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,GAAG,iBAAiB,EAAE;QACnD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,MAAM;YACN,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO;YACP,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;SAC1E,CAAC;KACH,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QAAE,MAAM,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3D,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,IAAkB,EAAE,GAAW;IAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;gBAAE,MAAM,KAAK,CAAC;YACvE,MAAM,IAAI,SAAS,CACjB,aAAa,EACb,wBAAwB,GAAG,2IAA2I,CACvK,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,SAAS,WAAW,CAClB,MAA0D,EAC1D,OAAoB;IAEpB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC;IAC9C,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS;QAChC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC;QACzC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK,YAAY,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAE5F,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAoB;IAC7C,mGAAmG;IACnG,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,UAAU,CAAC,SAAS,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/E,mFAAmF;IACnF,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IAEzF,IAAI,MAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QAC5D,MAAM,KAAK,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC,6DAA6D;IAC7D,IAAI,KAAK,KAAK,KAAK;QAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAc,EACd,OAEC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAC3B,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxC,qDAAqD;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,MAA2C,CAAC;IAChD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAA6B,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;IACD,oEAAoE;IACpE,MAAM,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC;IACjG,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,IAAI,KAAK,KAAK,KAAK;QAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACtF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAyB;IAChD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC3B,OAAO,KAAK,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,UAAU,CACxB,OAAoE;IAEpE,qDAAqD;IACrD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO;IAC5B,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"join.js","sourceRoot":"","sources":["../src/join.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chipschat/harness",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "The Agent Connect client for a harness you control: connect, start runs, log steps, ask, and hear what people say back.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://chipschat.ai/connect/sdk/",
@@ -24,7 +24,7 @@
24
24
  "dist"
25
25
  ],
26
26
  "dependencies": {
27
- "@chipschat/protocol": "1.0.1"
27
+ "@chipschat/protocol": "1.0.3"
28
28
  },
29
29
  "devDependencies": {
30
30
  "kysely": "0.29.5",