@nuvin/session 0.1.0-rc.9 → 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/dist/chunk-7HGJO7ZX.js +9 -0
  2. package/dist/chunk-HJLRL64D.js +13 -0
  3. package/dist/{chunk-3IPZO7LP.js → chunk-TUNCGICQ.js} +19 -1
  4. package/dist/{chunk-FR3R66RD.js → chunk-WAMOWOCO.js} +20 -2
  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/session.d.ts.map +1 -1
  43. package/dist/state/tool-preview.d.ts.map +1 -1
  44. package/dist/state/tool-preview.js +50 -1
  45. package/dist/test-utils/fake-relay.d.ts.map +1 -1
  46. package/dist/test-utils/index.js +6 -4
  47. package/package.json +5 -4
  48. package/dist/chunk-NN43LVAS.js +0 -0
@@ -223,6 +223,52 @@ 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 MemorySave_fmt = (msg) => {
238
+ const input = asObj(msg.input);
239
+ const structured = asObj(msg.structured);
240
+ const mainArg = str(structured, "id") ?? str(input, "id");
241
+ let phrase = str(input, "id") ? "Updated memory" : "Saved memory";
242
+ if (msg.status === "pending") phrase = "Waiting to save memory";
243
+ else if (msg.status === "running" || msg.status === "approved") phrase = "Saving memory";
244
+ else if (msg.status === "rejected") phrase = "Skipped memory save";
245
+ else if (msg.status === "error") phrase = "Memory save failed";
246
+ return { mainArg, phrase };
247
+ };
248
+ var MemoryQuery_fmt = (msg) => {
249
+ const input = asObj(msg.input);
250
+ const structured = asObj(msg.structured);
251
+ const mainArg = str(input, "query") ?? (msg.summary || void 0);
252
+ let phrase;
253
+ if (msg.status === "pending") phrase = "Waiting to query memory";
254
+ else if (msg.status === "running" || msg.status === "approved") phrase = "Querying memory";
255
+ else if (msg.status === "rejected") phrase = "Skipped memory query";
256
+ else if (msg.status === "error") phrase = "Memory query failed";
257
+ else {
258
+ const matches = structured?.matches;
259
+ const index = structured?.index;
260
+ if (Array.isArray(matches) && matches.length > 0) {
261
+ phrase = `Found ${matches.length} ${matches.length === 1 ? "memory" : "memories"}`;
262
+ } else if (Array.isArray(matches) && Array.isArray(index) && index.length > 0) {
263
+ phrase = "No direct match";
264
+ } else if (Array.isArray(matches)) {
265
+ phrase = "No memories found";
266
+ } else {
267
+ phrase = "Queried memory";
268
+ }
269
+ }
270
+ return { mainArg, phrase };
271
+ };
226
272
  function genericStatusPhrase(status) {
227
273
  switch (status) {
228
274
  case "approved":
@@ -256,6 +302,9 @@ var FORMATTERS = {
256
302
  LoadSkill: LoadSkill_fmt,
257
303
  ViewFile: ViewFile_fmt,
258
304
  TodoWrite: TodoWrite_fmt,
305
+ UpdateTopic: UpdateTopic_fmt,
306
+ MemorySave: MemorySave_fmt,
307
+ MemoryQuery: MemoryQuery_fmt,
259
308
  AskUserTool: Unknown_fmt
260
309
  };
261
310
  function getToolStatusGlyph(status) {
@@ -266,7 +315,7 @@ function getToolStatusGlyph(status) {
266
315
  case "ok":
267
316
  return "\u2699";
268
317
  case "error":
269
- return "\u2715";
318
+ return "\u2717";
270
319
  case "rejected":
271
320
  return "\u2298";
272
321
  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.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