@nuvin/session 0.1.0-rc.9 → 0.1.1-rc.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 (49) hide show
  1. package/dist/chunk-7HGJO7ZX.js +9 -0
  2. package/dist/{chunk-FR3R66RD.js → chunk-COVRYM64.js} +24 -4
  3. package/dist/chunk-HJLRL64D.js +13 -0
  4. package/dist/{chunk-3IPZO7LP.js → chunk-TUNCGICQ.js} +19 -1
  5. package/dist/{chunk-3J44LBXZ.js → chunk-WB4FEWBI.js} +1 -1
  6. package/dist/client/daemon-client.d.ts +50 -0
  7. package/dist/client/daemon-client.d.ts.map +1 -0
  8. package/dist/client/data-client.d.ts +21 -3
  9. package/dist/client/data-client.d.ts.map +1 -1
  10. package/dist/client/directory.d.ts +7 -12
  11. package/dist/client/directory.d.ts.map +1 -1
  12. package/dist/client/http-data-client.d.ts +2 -0
  13. package/dist/client/http-data-client.d.ts.map +1 -1
  14. package/dist/client/index.d.ts +1 -0
  15. package/dist/client/index.d.ts.map +1 -1
  16. package/dist/client/index.js +1300 -979
  17. package/dist/client/session-client.d.ts +19 -6
  18. package/dist/client/session-client.d.ts.map +1 -1
  19. package/dist/client/transport.d.ts +18 -2
  20. package/dist/client/transport.d.ts.map +1 -1
  21. package/dist/client/websocket.d.ts +5 -0
  22. package/dist/client/websocket.d.ts.map +1 -1
  23. package/dist/controller/index.js +129 -40
  24. package/dist/controller/session-controller.d.ts +18 -5
  25. package/dist/controller/session-controller.d.ts.map +1 -1
  26. package/dist/grant/index.d.ts +1 -1
  27. package/dist/grant/index.d.ts.map +1 -1
  28. package/dist/grant/index.js +2 -1
  29. package/dist/protocol/data-rpc.d.ts +70 -3
  30. package/dist/protocol/data-rpc.d.ts.map +1 -1
  31. package/dist/protocol/index.d.ts +1 -0
  32. package/dist/protocol/index.d.ts.map +1 -1
  33. package/dist/protocol/index.js +12 -3
  34. package/dist/protocol/model-identity.d.ts +7 -0
  35. package/dist/protocol/model-identity.d.ts.map +1 -0
  36. package/dist/protocol/types.d.ts +176 -83
  37. package/dist/protocol/types.d.ts.map +1 -1
  38. package/dist/protocol/version.d.ts +1 -1
  39. package/dist/state/approvals.d.ts +6 -3
  40. package/dist/state/approvals.d.ts.map +1 -1
  41. package/dist/state/index.js +5 -1
  42. package/dist/state/messages.d.ts.map +1 -1
  43. package/dist/state/session.d.ts.map +1 -1
  44. package/dist/state/tool-preview.d.ts.map +1 -1
  45. package/dist/state/tool-preview.js +65 -1
  46. package/dist/test-utils/fake-relay.d.ts.map +1 -1
  47. package/dist/test-utils/index.js +6 -4
  48. package/package.json +5 -4
  49. package/dist/chunk-NN43LVAS.js +0 -0
@@ -223,6 +223,66 @@ var TodoWrite_fmt = (msg) => {
223
223
  }
224
224
  return { mainArg, phrase };
225
225
  };
226
+ var UpdateTopic_fmt = (msg) => {
227
+ const input = asObj(msg.input);
228
+ const structured = asObj(msg.structured);
229
+ const mainArg = str(structured, "topic") ?? str(input, "topic") ?? (msg.summary || void 0);
230
+ let phrase = "Updated topic";
231
+ if (msg.status === "pending") phrase = "Waiting to update topic";
232
+ else if (msg.status === "running" || msg.status === "approved") phrase = "Updating topic";
233
+ else if (msg.status === "rejected") phrase = "Skipped topic update";
234
+ else if (msg.status === "error") phrase = "Topic update failed";
235
+ return { mainArg, phrase };
236
+ };
237
+ var InvokeCommand_fmt = (msg) => {
238
+ const input = asObj(msg.input);
239
+ const structured = asObj(msg.structured);
240
+ const name = str(structured, "name") ?? str(input, "name");
241
+ const args = str(input, "args");
242
+ const slash = name ? `/${name}` : void 0;
243
+ const mainArg = slash && args ? `${slash} with ${args}` : slash;
244
+ let phrase = "Invoked";
245
+ if (msg.status === "pending") phrase = "Waiting to invoke";
246
+ else if (msg.status === "running" || msg.status === "approved") phrase = "Invoking";
247
+ else if (msg.status === "rejected") phrase = "Skipped command";
248
+ else if (msg.status === "error") phrase = "Command failed";
249
+ return { mainArg, phrase };
250
+ };
251
+ var MemorySave_fmt = (msg) => {
252
+ const input = asObj(msg.input);
253
+ const structured = asObj(msg.structured);
254
+ const mainArg = str(structured, "id") ?? str(input, "id");
255
+ let phrase = str(input, "id") ? "Updated memory" : "Saved memory";
256
+ if (msg.status === "pending") phrase = "Waiting to save memory";
257
+ else if (msg.status === "running" || msg.status === "approved") phrase = "Saving memory";
258
+ else if (msg.status === "rejected") phrase = "Skipped memory save";
259
+ else if (msg.status === "error") phrase = "Memory save failed";
260
+ return { mainArg, phrase };
261
+ };
262
+ var MemoryQuery_fmt = (msg) => {
263
+ const input = asObj(msg.input);
264
+ const structured = asObj(msg.structured);
265
+ const mainArg = str(input, "query") ?? (msg.summary || void 0);
266
+ let phrase;
267
+ if (msg.status === "pending") phrase = "Waiting to query memory";
268
+ else if (msg.status === "running" || msg.status === "approved") phrase = "Querying memory";
269
+ else if (msg.status === "rejected") phrase = "Skipped memory query";
270
+ else if (msg.status === "error") phrase = "Memory query failed";
271
+ else {
272
+ const matches = structured?.matches;
273
+ const index = structured?.index;
274
+ if (Array.isArray(matches) && matches.length > 0) {
275
+ phrase = `Found ${matches.length} ${matches.length === 1 ? "memory" : "memories"}`;
276
+ } else if (Array.isArray(matches) && Array.isArray(index) && index.length > 0) {
277
+ phrase = "No direct match";
278
+ } else if (Array.isArray(matches)) {
279
+ phrase = "No memories found";
280
+ } else {
281
+ phrase = "Queried memory";
282
+ }
283
+ }
284
+ return { mainArg, phrase };
285
+ };
226
286
  function genericStatusPhrase(status) {
227
287
  switch (status) {
228
288
  case "approved":
@@ -256,6 +316,10 @@ var FORMATTERS = {
256
316
  LoadSkill: LoadSkill_fmt,
257
317
  ViewFile: ViewFile_fmt,
258
318
  TodoWrite: TodoWrite_fmt,
319
+ UpdateTopic: UpdateTopic_fmt,
320
+ MemorySave: MemorySave_fmt,
321
+ MemoryQuery: MemoryQuery_fmt,
322
+ InvokeCommand: InvokeCommand_fmt,
259
323
  AskUserTool: Unknown_fmt
260
324
  };
261
325
  function getToolStatusGlyph(status) {
@@ -266,7 +330,7 @@ function getToolStatusGlyph(status) {
266
330
  case "ok":
267
331
  return "\u2699";
268
332
  case "error":
269
- return "\u2715";
333
+ return "\u2297";
270
334
  case "rejected":
271
335
  return "\u2298";
272
336
  case "pending":
@@ -1 +1 @@
1
- {"version":3,"file":"fake-relay.d.ts","sourceRoot":"","sources":["../../src/test-utils/fake-relay.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD;;;;;;;;GAQG;AAEH,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,OAAO,gBAAgB,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,wEAAwE;IACxE,gBAAgB,IAAI,IAAI,CAAC;IACzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAgDF,wBAAsB,cAAc,CAAC,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAwO9F"}
1
+ {"version":3,"file":"fake-relay.d.ts","sourceRoot":"","sources":["../../src/test-utils/fake-relay.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD;;;;;;;;GAQG;AAEH,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,OAAO,gBAAgB,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,wEAAwE;IACxE,gBAAgB,IAAI,IAAI,CAAC;IACzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAgDF,wBAAsB,cAAc,CAAC,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CA4O9F"}
@@ -1,11 +1,12 @@
1
- import "../chunk-NN43LVAS.js";
1
+ import "../chunk-7HGJO7ZX.js";
2
2
  import {
3
3
  PROTOCOL_VERSION
4
- } from "../chunk-3J44LBXZ.js";
4
+ } from "../chunk-WB4FEWBI.js";
5
5
  import {
6
6
  generateGrantKeyPair,
7
7
  signGrant
8
- } from "../chunk-3IPZO7LP.js";
8
+ } from "../chunk-TUNCGICQ.js";
9
+ import "../chunk-HJLRL64D.js";
9
10
 
10
11
  // src/test-utils/fake-relay.ts
11
12
  import { randomUUID } from "crypto";
@@ -164,7 +165,8 @@ async function startFakeRelay(options = {}) {
164
165
  userId,
165
166
  grantId: randomUUID(),
166
167
  issuedAt,
167
- expiresAt: issuedAt + grantTtlMs
168
+ expiresAt: issuedAt + grantTtlMs,
169
+ ...row.userId === userId ? { capabilities: ["manage-provider-auth"] } : {}
168
170
  };
169
171
  control.send(JSON.stringify({ type: "open-channel", channelId }));
170
172
  sendJson(res, 200, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nuvin/session",
3
- "version": "0.1.0-rc.9",
3
+ "version": "0.1.1-rc.0",
4
4
  "private": false,
5
5
  "description": "Headless session layer for Nuvin: state reducers, wire protocol, session controller",
6
6
  "license": "Apache-2.0",
@@ -50,7 +50,7 @@
50
50
  },
51
51
  "dependencies": {
52
52
  "ws": "^8.20.0",
53
- "@nuvin/agent-core": "^0.1.0-rc.8"
53
+ "@nuvin/agent-core": "^0.1.0"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@types/node": "^22.0.0",
@@ -60,10 +60,11 @@
60
60
  "vitest": "^4.1.2"
61
61
  },
62
62
  "scripts": {
63
- "build": "tsup && tsc -p tsconfig.build.json --emitDeclarationOnly",
63
+ "build": "pnpm run typecheck && tsup && tsc -p tsconfig.build.json --emitDeclarationOnly",
64
64
  "dev": "tsup --watch",
65
- "test": "vitest run",
65
+ "test": "pnpm run typecheck && vitest run",
66
66
  "test:watch": "vitest",
67
+ "typecheck": "tsc -p tsconfig.json --noEmit",
67
68
  "clean": "rm -rf dist",
68
69
  "lint": "biome check ."
69
70
  }
File without changes