@corenel/harness 0.4.1 → 0.5.1

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 (65) hide show
  1. package/dist/api/backend.d.ts +24 -0
  2. package/dist/api/backend.d.ts.map +1 -1
  3. package/dist/api/backend.js +32 -8
  4. package/dist/api/backend.js.map +1 -1
  5. package/dist/api/client.d.ts.map +1 -1
  6. package/dist/api/client.js +10 -1
  7. package/dist/api/client.js.map +1 -1
  8. package/dist/core/budget.d.ts +6 -0
  9. package/dist/core/budget.d.ts.map +1 -1
  10. package/dist/core/budget.js +16 -0
  11. package/dist/core/budget.js.map +1 -1
  12. package/dist/core/factFile.d.ts +25 -0
  13. package/dist/core/factFile.d.ts.map +1 -0
  14. package/dist/core/factFile.js +59 -0
  15. package/dist/core/factFile.js.map +1 -0
  16. package/dist/core/loop.d.ts +18 -0
  17. package/dist/core/loop.d.ts.map +1 -1
  18. package/dist/core/loop.js +50 -2
  19. package/dist/core/loop.js.map +1 -1
  20. package/dist/core/recovery.d.ts +4 -3
  21. package/dist/core/recovery.d.ts.map +1 -1
  22. package/dist/core/recovery.js +20 -0
  23. package/dist/core/recovery.js.map +1 -1
  24. package/dist/prompts/config.d.ts +14 -0
  25. package/dist/prompts/config.d.ts.map +1 -1
  26. package/dist/prompts/config.js +25 -0
  27. package/dist/prompts/config.js.map +1 -1
  28. package/dist/prompts/library/defaults.generated.js +4 -4
  29. package/dist/prompts/library/defaults.generated.js.map +1 -1
  30. package/dist/providers/gateway.d.ts.map +1 -1
  31. package/dist/providers/gateway.js +11 -1
  32. package/dist/providers/gateway.js.map +1 -1
  33. package/dist/redact.d.ts +10 -0
  34. package/dist/redact.d.ts.map +1 -0
  35. package/dist/redact.js +53 -0
  36. package/dist/redact.js.map +1 -0
  37. package/dist/rooms/findings.d.ts +134 -0
  38. package/dist/rooms/findings.d.ts.map +1 -0
  39. package/dist/rooms/findings.js +262 -0
  40. package/dist/rooms/findings.js.map +1 -0
  41. package/dist/sidecar/host.d.ts +192 -2
  42. package/dist/sidecar/host.d.ts.map +1 -1
  43. package/dist/sidecar/host.js +407 -0
  44. package/dist/sidecar/host.js.map +1 -1
  45. package/dist/sidecar/server.d.ts +185 -1
  46. package/dist/sidecar/server.d.ts.map +1 -1
  47. package/dist/sidecar/server.js +515 -3
  48. package/dist/sidecar/server.js.map +1 -1
  49. package/dist/tools/builtins.d.ts.map +1 -1
  50. package/dist/tools/builtins.js +8 -0
  51. package/dist/tools/builtins.js.map +1 -1
  52. package/dist/tools/files.d.ts.map +1 -1
  53. package/dist/tools/files.js +8 -0
  54. package/dist/tools/files.js.map +1 -1
  55. package/dist/tools/roomTools.d.ts +95 -0
  56. package/dist/tools/roomTools.d.ts.map +1 -0
  57. package/dist/tools/roomTools.js +279 -0
  58. package/dist/tools/roomTools.js.map +1 -0
  59. package/dist/tools/sessions.d.ts.map +1 -1
  60. package/dist/tools/sessions.js +1 -0
  61. package/dist/tools/sessions.js.map +1 -1
  62. package/dist/tools/web.d.ts.map +1 -1
  63. package/dist/tools/web.js +3 -0
  64. package/dist/tools/web.js.map +1 -1
  65. package/package.json +7 -2
@@ -0,0 +1,279 @@
1
+ import { MAX_FINDING_TEXT, activeFindings, planFindingEdits, renderFindings, } from '../rooms/findings.js';
2
+ export const ROOM_RUNSTATE_KEY = 'room';
3
+ /** The tools that exist only inside a room, named once.
4
+ *
5
+ * A host offers these CONDITIONALLY -- only to a participant in a room -- which
6
+ * makes them subject to the offer-carries-grant rule
7
+ * (`grantOfferedTools`, packages/crew/offerGrants.ts): a policy that does not
8
+ * name them would otherwise leave a participant unable to hand over the floor
9
+ * or end the room, and every room would run to its turn cap.
10
+ *
11
+ * The grant site and the offer site must agree, so both read this. A test below
12
+ * pins it against what `makeRoomTools` actually returns. */
13
+ export const ROOM_TOOL_NAMES = [
14
+ 'address_participant', 'close_room', 'record_finding', 'withdraw_finding',
15
+ ];
16
+ /**
17
+ * Resolve one addressing reference against the room's membership.
18
+ *
19
+ * Ids first and EXACTLY -- they are opaque tokens a model copies verbatim,
20
+ * never composed by hand -- then names, matched case-insensitively and trimmed,
21
+ * since a model echoes the name it was told rather than the exact casing it was
22
+ * given. Self is refused by either spelling.
23
+ */
24
+ export function resolveAddressee(participants, meId, raw) {
25
+ const others = participants.filter((p) => p.id !== meId).map((p) => ({ id: p.id, name: p.name }));
26
+ const value = str(raw);
27
+ if (!value)
28
+ return { ok: false, reason: 'empty', candidates: others };
29
+ if (value === meId)
30
+ return { ok: false, reason: 'self', candidates: others };
31
+ const byId = others.find((p) => p.id === value);
32
+ if (byId)
33
+ return { ok: true, id: byId.id, name: byId.name };
34
+ const needle = value.toLowerCase();
35
+ const me = participants.find((p) => p.id === meId);
36
+ if (me && me.name.toLowerCase() === needle)
37
+ return { ok: false, reason: 'self', candidates: others };
38
+ const byName = others.filter((p) => p.name.toLowerCase() === needle);
39
+ if (byName.length > 1)
40
+ return { ok: false, reason: 'ambiguous', candidates: byName };
41
+ if (byName.length === 1)
42
+ return { ok: true, id: byName[0].id, name: byName[0].name };
43
+ return { ok: false, reason: 'unknown', candidates: others };
44
+ }
45
+ /** Render a candidate set the way every caller names people: `id (name)`. */
46
+ export function describeParticipants(refs) {
47
+ return refs.map((p) => `${p.id} (${p.name})`).join(', ') || '(nobody else)';
48
+ }
49
+ function slot(ctx) {
50
+ const state = ctx.runState;
51
+ if (!state)
52
+ return { addressed: null, close: null, findings: [] };
53
+ const existing = state[ROOM_RUNSTATE_KEY];
54
+ if (existing && typeof existing === 'object') {
55
+ const held = existing;
56
+ // A turn's outcome minted before findings existed (or by a caller that
57
+ // seeded the slot itself) still has to be appendable.
58
+ if (!Array.isArray(held.findings))
59
+ held.findings = [];
60
+ return held;
61
+ }
62
+ const fresh = { addressed: null, close: null, findings: [] };
63
+ state[ROOM_RUNSTATE_KEY] = fresh;
64
+ return fresh;
65
+ }
66
+ /** One edit read back off the wire-ish `runState` shape, or null. Kept narrow
67
+ * on purpose: a half-shaped edit handed to the engine would be planned against
68
+ * the real document and refused there, which is a worse place to find out. */
69
+ function readFindingEdit(v) {
70
+ if (!v || typeof v !== 'object')
71
+ return null;
72
+ const o = v;
73
+ const text = typeof o.text === 'string' ? o.text : '';
74
+ const id = typeof o.id === 'string' ? o.id : '';
75
+ if (o.kind === 'record' && text)
76
+ return { kind: 'record', text };
77
+ if (o.kind === 'revise' && id && text)
78
+ return { kind: 'revise', id, text };
79
+ if (o.kind === 'withdraw' && id && typeof o.reason === 'string' && o.reason) {
80
+ return { kind: 'withdraw', id, reason: o.reason };
81
+ }
82
+ return null;
83
+ }
84
+ function str(v) { return typeof v === 'string' ? v.trim() : ''; }
85
+ export function readRoomOutcome(runState) {
86
+ const v = runState?.[ROOM_RUNSTATE_KEY];
87
+ if (!v || typeof v !== 'object')
88
+ return { addressed: null, close: null, findings: [] };
89
+ const o = v;
90
+ const raw = Array.isArray(o.findings) ? o.findings : [];
91
+ const findings = [];
92
+ for (const e of raw) {
93
+ const edit = readFindingEdit(e);
94
+ if (edit)
95
+ findings.push(edit);
96
+ }
97
+ return {
98
+ addressed: typeof o.addressed === 'string' ? o.addressed : null,
99
+ close: o.close && typeof o.close.reason === 'string' ? { reason: o.close.reason } : null,
100
+ findings,
101
+ };
102
+ }
103
+ export function makeRoomTools(opts) {
104
+ const others = opts.participants.filter((p) => p.id !== opts.meId);
105
+ const list = describeParticipants(others);
106
+ /* The document as this turn has left it so far: the turn-start snapshot with
107
+ * every edit already queued in `runState` applied on top. Recomputed on each
108
+ * call rather than cached, because a tool call in between may have changed
109
+ * it -- two records in one turn must get two ids, and a withdrawal must be
110
+ * visible to the record that comes after it. */
111
+ const projected = (ctx) => planFindingEdits(opts.findings?.() ?? [], slot(ctx).findings, opts.meId, 0).doc;
112
+ /** Queue one edit, or say why not, in the SAME words the engine would use --
113
+ * `planFindingEdit` is the one definition of a legal finding. */
114
+ const queue = (ctx, edit, describe) => {
115
+ const outcome = slot(ctx);
116
+ const before = projected(ctx);
117
+ const planned = planFindingEdits(before, [edit], opts.meId, 0);
118
+ if (!planned.lines.length) {
119
+ return planned.problems[0] ?? 'That change to the findings could not be made.';
120
+ }
121
+ outcome.findings.push(edit);
122
+ return describe(planned.lines[0].id);
123
+ };
124
+ return [
125
+ {
126
+ name: 'address_participant',
127
+ mutates: false,
128
+ description: 'Hand the floor to one other participant, who speaks next and once, after which the '
129
+ + 'rotation resumes. Say your piece FIRST and call this afterwards: it hands your turn '
130
+ + 'over, it does not take one, and a turn that only addresses people contributes '
131
+ + 'nothing. Once per turn -- a second call is refused and the first hand-over stands. '
132
+ + `You may address by id or name: ${list}.`,
133
+ parameters: {
134
+ type: 'object',
135
+ properties: {
136
+ participant: {
137
+ type: 'string',
138
+ description: `The participant id or name to address. One of: ${list}.`,
139
+ },
140
+ },
141
+ required: ['participant'],
142
+ },
143
+ async run(args, ctx) {
144
+ const raw = str(args.participant);
145
+ const outcome = slot(ctx);
146
+ /* ONCE PER TURN. `runState` is minted fresh for every turn
147
+ * (`makeCrewTurnRuntime`), so a target already recorded here was
148
+ * recorded by this same turn. The old handler simply overwrote it and
149
+ * answered "the floor goes to X" again, which is how one turn came to
150
+ * hold eight hand-overs and no words: nothing ever told the model to
151
+ * stop. Refused OUT LOUD rather than ignored -- a silent no-op reads
152
+ * exactly like success, and a model that cannot tell them apart tries
153
+ * again. */
154
+ if (outcome.addressed !== null) {
155
+ return `The floor is already going to ${outcome.addressed} after this turn, and that `
156
+ + 'hand-over is fixed for the rest of it. Say your piece now.';
157
+ }
158
+ /* Addressing is what you do AFTER speaking. A turn that has produced no
159
+ * text has nothing to hand over: it would spend the room's money and
160
+ * one of its turns moving the floor around. Enforced only where the
161
+ * host can actually answer the question (see `hasSpoken`). */
162
+ if (opts.hasSpoken && !opts.hasSpoken()) {
163
+ return 'Say your piece first. address_participant hands this turn to whoever answers '
164
+ + 'you, so there is nothing to hand over until you have said something. Write your '
165
+ + 'contribution, then call this once if you want a particular participant to take it up.';
166
+ }
167
+ const res = resolveAddressee(opts.participants, opts.meId, raw);
168
+ if (!res.ok) {
169
+ if (res.reason === 'empty')
170
+ return 'Provide the `participant` to address.';
171
+ if (res.reason === 'self')
172
+ return 'You cannot address yourself; say your piece and stop.';
173
+ if (res.reason === 'ambiguous') {
174
+ return `"${raw}" matches more than one participant: ${describeParticipants(res.candidates)}.`
175
+ + ' Address by id instead.';
176
+ }
177
+ return `"${raw}" is not in this room. You may address: ${list}.`;
178
+ }
179
+ outcome.addressed = res.id;
180
+ return `The floor goes to ${res.id} next.`;
181
+ },
182
+ },
183
+ {
184
+ name: 'close_room',
185
+ // Mutating: ending a shared conversation on everyone else's behalf is an
186
+ // effect, and a policy must be able to gate it.
187
+ mutates: true,
188
+ description: 'End this room, giving the reason it is done. Use it when the room has achieved what '
189
+ + 'it met to do; do not let it run to its cap instead. If a PERSON is in this room, '
190
+ + 'it is theirs to end: say the work is done and hand them the floor rather than '
191
+ + 'closing on their behalf.',
192
+ parameters: {
193
+ type: 'object',
194
+ properties: {
195
+ reason: { type: 'string', description: 'Why the room is finished. Recorded with the close.' },
196
+ },
197
+ required: ['reason'],
198
+ },
199
+ async run(args, ctx) {
200
+ const reason = str(args.reason);
201
+ if (!reason)
202
+ return 'Provide a `reason` -- a close with no reason cannot be reviewed later.';
203
+ slot(ctx).close = { reason };
204
+ return `Room closed: ${reason}`;
205
+ },
206
+ },
207
+ {
208
+ name: 'record_finding',
209
+ // Not mutating: a finding is the room writing down what the room already
210
+ // said, in the room's own directory. Nothing outside the room changes,
211
+ // and a policy that gated it would leave the document empty in exactly
212
+ // the rooms that most needed one. Withdrawing IS gated -- see below.
213
+ mutates: false,
214
+ description: 'Write one decision the room has reached into its findings document, which lives with '
215
+ + 'the room and is shown to every participant on every turn. Record a decision WHEN the '
216
+ + 'room reaches it, not at the end: one finding per decision, stated so someone who was '
217
+ + 'not here could act on it. Do not record discussion, opinions, or things still being '
218
+ + 'argued. Pass `replaces` with an existing finding id to correct one that is now wrong '
219
+ + `-- that rewrites it in place rather than adding a near-duplicate. Up to ${MAX_FINDING_TEXT} `
220
+ + 'characters.\n\n'
221
+ + renderFindings(opts.findings?.() ?? []),
222
+ parameters: {
223
+ type: 'object',
224
+ properties: {
225
+ finding: {
226
+ type: 'string',
227
+ description: 'The decision, stated in full and on its own -- it is read without the transcript around it.',
228
+ },
229
+ replaces: {
230
+ type: 'string',
231
+ description: 'Optional. The id of an existing finding this corrects (for example "f2"). Omit to record a new one.',
232
+ },
233
+ },
234
+ required: ['finding'],
235
+ },
236
+ async run(args, ctx) {
237
+ const text = str(args.finding);
238
+ const replaces = str(args.replaces);
239
+ const edit = replaces
240
+ ? { kind: 'revise', id: replaces, text }
241
+ : { kind: 'record', text };
242
+ return queue(ctx, edit, (id) => (replaces
243
+ ? `Finding ${id} now reads: ${text}`
244
+ : `Recorded as finding ${id}. It is in the room's findings from the next turn on, so do not record it again.`));
245
+ },
246
+ },
247
+ {
248
+ name: 'withdraw_finding',
249
+ // Mutating: retiring a decision on the whole room's behalf is an effect,
250
+ // and a policy must be able to gate it -- the same reasoning close_room
251
+ // carries.
252
+ mutates: true,
253
+ description: 'Withdraw a finding the room has changed its mind about, giving the reason. The finding '
254
+ + 'stops being shown to participants but stays in the record, so the room can be read '
255
+ + 'back later as having believed it. Use this only when the decision no longer holds at '
256
+ + 'all -- to reword one that is merely imprecise, use record_finding with `replaces`.',
257
+ parameters: {
258
+ type: 'object',
259
+ properties: {
260
+ finding_id: { type: 'string', description: 'The id of the finding to withdraw (for example "f2").' },
261
+ reason: { type: 'string', description: 'Why it no longer holds. Recorded with the withdrawal.' },
262
+ },
263
+ required: ['finding_id', 'reason'],
264
+ },
265
+ async run(args, ctx) {
266
+ const id = str(args.finding_id);
267
+ const reason = str(args.reason);
268
+ if (!reason) {
269
+ return 'Provide a `reason` -- a decision that disappears without one cannot be reviewed later.';
270
+ }
271
+ return queue(ctx, { kind: 'withdraw', id, reason }, (withdrawn) => {
272
+ const left = activeFindings(projected(ctx)).length;
273
+ return `Finding ${withdrawn} is withdrawn. ${left} finding(s) still stand.`;
274
+ });
275
+ },
276
+ },
277
+ ];
278
+ }
279
+ //# sourceMappingURL=roomTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roomTools.js","sourceRoot":"","sources":["../../tools/roomTools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../tools/sessions.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AA2EnD,eAAO,MAAM,kBAAkB,EAAE,SA0DhC,CAAC"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../tools/sessions.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AA2EnD,eAAO,MAAM,kBAAkB,EAAE,SA2DhC,CAAC"}
@@ -90,6 +90,7 @@ function relTime(ts, now) {
90
90
  }
91
91
  export const searchSessionsTool = {
92
92
  name: 'search_sessions',
93
+ roomSafe: true, // recalling what was decided before is grounding, not editing
93
94
  noOffload: true, // results are short snippets the user asked to recall — keep inline
94
95
  description: "Search the user's previous chat sessions (this app's saved conversations, for the signed-in user) by keyword. " +
95
96
  'Use it to recall what was discussed or decided in an earlier chat — when the user says things like "like we ' +
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../tools/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../tools/sessions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../tools/web.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAOnD,eAAO,MAAM,aAAa,EAAE,SA6B3B,CAAC"}
1
+ {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../tools/web.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAOnD,eAAO,MAAM,aAAa,EAAE,SAgC3B,CAAC"}
package/dist/tools/web.js CHANGED
@@ -4,6 +4,9 @@ function str(args, key) {
4
4
  }
5
5
  export const webSearchTool = {
6
6
  name: 'web_search',
7
+ // Room-safe: a read. Its `requiresFeature` gate below is unchanged -- being
8
+ // offered in a room is not permission to run it.
9
+ roomSafe: true,
7
10
  // Gateway-backed (can spend the Prompd-paid Tavily fallback) — account-gated
8
11
  // when run directly from the console.
9
12
  requiresFeature: 'llm-execution',
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../tools/web.ts"],"names":[],"mappings":"AAKA,SAAS,GAAG,CAAC,IAA6B,EAAE,GAAW;IACrD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC,IAAI,EAAE,YAAY;IAClB,6EAA6E;IAC7E,sCAAsC;IACtC,eAAe,EAAE,eAAe;IAChC,WAAW,EACT,0FAA0F;QAC1F,8FAA8F;IAChG,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,EAAE;QAC3E,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;IACD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG;QACjB,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACjE,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;QAC3B,MAAM,OAAO,GAA8D,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QAC9F,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACtD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CACR,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAC3G,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC;IAC7C,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../tools/web.ts"],"names":[],"mappings":"AAKA,SAAS,GAAG,CAAC,IAA6B,EAAE,GAAW;IACrD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC,IAAI,EAAE,YAAY;IAClB,4EAA4E;IAC5E,iDAAiD;IACjD,QAAQ,EAAE,IAAI;IACd,6EAA6E;IAC7E,sCAAsC;IACtC,eAAe,EAAE,eAAe;IAChC,WAAW,EACT,0FAA0F;QAC1F,8FAA8F;IAChG,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,EAAE;QAC3E,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;IACD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG;QACjB,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACjE,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;QAC3B,MAAM,OAAO,GAA8D,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QAC9F,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACtD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CACR,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAC3G,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC;IAC7C,CAAC;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@corenel/harness",
3
- "version": "0.4.1",
3
+ "version": "0.5.1",
4
4
  "license": "Elastic-2.0",
5
5
  "type": "module",
6
6
  "description": "Corenel — host-agnostic agent harness (kernel). The app resolves it via the `corenel` path alias (bypasses these exports entirely); vitest aliases it to source too. Everything else — node consumers like @corenel/cli, @corenel/term, @corenel/sidecar — resolves it through this workspace package via the exports map below, which points at dist/ unconditionally (not just at publish) so in-repo and published resolution are identical: a bundle that treats @corenel/harness as external (see packages/term/build.mjs) must see the SAME module instance node sees when it later resolves this package at runtime, and plain node cannot execute the raw .ts sources at all. Run `pnpm build` here (or let a dependent's prebuild do it) before relying on this package outside the app/vitest. NOTE: @xyflow/react and dagre are NOT dependencies here at all — this package has no .tsx files and imports neither. `react` IS a real (small) runtime dependency: `todos.ts` uses `useSyncExternalStore`. It is declared below as an OPTIONAL peer, not a hard dependency, so node-only consumers (cli/term/sidecar) aren't forced to install react; node consumers hoist it today only because something else in the tree happens to pull it in. Do not add @xyflow/react or dagre as dependencies/peers without testing a packed install end to end — an earlier attempt at that (before this package had any .tsx files) failed npm's peer resolution with ERESOLVE.",
@@ -29,7 +29,7 @@
29
29
  "dependencies": {
30
30
  "openai": "^4.77.0",
31
31
  "yaml": "^2.8.3",
32
- "@corenel/protocol": "0.4.1"
32
+ "@corenel/protocol": "0.5.0"
33
33
  },
34
34
  "peerDependencies": {
35
35
  "react": "^18.0.0 || ^19.0.0"
@@ -48,6 +48,11 @@
48
48
  "files": [
49
49
  "dist"
50
50
  ],
51
+ "repository": {
52
+ "type": "git",
53
+ "url": "git+https://github.com/Prompd/prompd-web.git",
54
+ "directory": "packages/harness"
55
+ },
51
56
  "scripts": {
52
57
  "prebuild": "pnpm --filter @corenel/protocol build",
53
58
  "build": "node build.mjs"