memax-sdk 0.1.11 → 0.1.13

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 (64) hide show
  1. package/dist/client.d.ts +4 -2
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +6 -3
  4. package/dist/client.js.map +1 -1
  5. package/dist/client.test.js +226 -1
  6. package/dist/client.test.js.map +1 -1
  7. package/dist/errors.d.ts +4 -1
  8. package/dist/errors.d.ts.map +1 -1
  9. package/dist/errors.js +7 -1
  10. package/dist/errors.js.map +1 -1
  11. package/dist/index.d.ts +2 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/resources/admin.d.ts +357 -0
  15. package/dist/resources/admin.d.ts.map +1 -0
  16. package/dist/resources/admin.js +168 -0
  17. package/dist/resources/admin.js.map +1 -0
  18. package/dist/resources/agent-sessions.d.ts +3 -1
  19. package/dist/resources/agent-sessions.d.ts.map +1 -1
  20. package/dist/resources/agent-sessions.js +6 -0
  21. package/dist/resources/agent-sessions.js.map +1 -1
  22. package/dist/resources/agents.d.ts +14 -0
  23. package/dist/resources/agents.d.ts.map +1 -1
  24. package/dist/resources/agents.js +21 -1
  25. package/dist/resources/agents.js.map +1 -1
  26. package/dist/resources/auth.d.ts +12 -2
  27. package/dist/resources/auth.d.ts.map +1 -1
  28. package/dist/resources/auth.js +15 -1
  29. package/dist/resources/auth.js.map +1 -1
  30. package/dist/resources/configs.d.ts +20 -1
  31. package/dist/resources/configs.d.ts.map +1 -1
  32. package/dist/resources/configs.js +25 -0
  33. package/dist/resources/configs.js.map +1 -1
  34. package/dist/resources/hubs.d.ts +22 -3
  35. package/dist/resources/hubs.d.ts.map +1 -1
  36. package/dist/resources/hubs.js +26 -4
  37. package/dist/resources/hubs.js.map +1 -1
  38. package/dist/resources/memories.d.ts +48 -7
  39. package/dist/resources/memories.d.ts.map +1 -1
  40. package/dist/resources/memories.js +67 -3
  41. package/dist/resources/memories.js.map +1 -1
  42. package/dist/resources/notifications.d.ts +75 -0
  43. package/dist/resources/notifications.d.ts.map +1 -0
  44. package/dist/resources/notifications.js +106 -0
  45. package/dist/resources/notifications.js.map +1 -0
  46. package/dist/resources/settings.d.ts +11 -3
  47. package/dist/resources/settings.d.ts.map +1 -1
  48. package/dist/resources/settings.js +10 -0
  49. package/dist/resources/settings.js.map +1 -1
  50. package/dist/resources/topics.d.ts +54 -2
  51. package/dist/resources/topics.d.ts.map +1 -1
  52. package/dist/resources/topics.js +58 -2
  53. package/dist/resources/topics.js.map +1 -1
  54. package/dist/transport.d.ts +8 -1
  55. package/dist/transport.d.ts.map +1 -1
  56. package/dist/transport.js +20 -2
  57. package/dist/transport.js.map +1 -1
  58. package/dist/types.d.ts +780 -18
  59. package/dist/types.d.ts.map +1 -1
  60. package/package.json +1 -1
  61. package/dist/resources/reviews.d.ts +0 -9
  62. package/dist/resources/reviews.d.ts.map +0 -1
  63. package/dist/resources/reviews.js +0 -16
  64. package/dist/resources/reviews.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import type { ApiKey, ApiKeyCreateOptions, ApiKeyListItem, AuthIdentity, AuthProviderName, AuthTokenPair, ImpersonationResult, MeResponse, OAuthConsentRequest, UnlinkProviderResult, UpdateProfileResult } from "../types.js";
1
+ import type { ApiKey, ApiKeyCreateOptions, ApiKeyListItem, ApiKeyRevokeResult, AuthIdentity, AuthProviderName, AuthTokenPair, ImpersonationResult, MeResponse, OAuthConsentRequest, UnlinkProviderResult, UpdateProfileResult } from "../types.js";
2
2
  import type { RequestFn } from "../transport.js";
3
3
  export declare class AuthResource {
4
4
  private readonly req;
@@ -7,7 +7,17 @@ export declare class AuthResource {
7
7
  me(): Promise<MeResponse>;
8
8
  createKey(options: ApiKeyCreateOptions): Promise<ApiKey>;
9
9
  listKeys(): Promise<ApiKeyListItem[]>;
10
- revokeKey(id: string): Promise<void>;
10
+ /**
11
+ * Revoke an API key. Returns a structured `ApiKeyRevokeResult`
12
+ * with a `skipped` array carrying per-reason skip entries.
13
+ * Partial-success shape mirrors `memories.batchDelete`,
14
+ * `configs.batchDelete`, and `agents.disconnect`.
15
+ *
16
+ * Response is normalized at the SDK boundary so `skipped` is
17
+ * always a real array and `revoked` is always a boolean, even
18
+ * when the server response omits fields.
19
+ */
20
+ revokeKey(id: string): Promise<ApiKeyRevokeResult>;
11
21
  updateProfile(displayName: string): Promise<UpdateProfileResult>;
12
22
  refresh(refreshToken: string): Promise<AuthTokenPair>;
13
23
  exchangeCode(code: string): Promise<AuthTokenPair>;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/resources/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,MAAM;IAG3B,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC;IAIzB,SAAS,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAexD,QAAQ,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAIrC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpC,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMhE,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAMrD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAMlD,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,mBAAmB,CAAC;IAS/B,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAI3C,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAI3C,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IASzE,eAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAIlE,cAAc,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAIzC,cAAc,CAClB,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,oBAAoB,CAAC;IAIhC,+FAA+F;IACzF,WAAW,CAAC,MAAM,EAAE;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAKjC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/resources/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,MAAM;IAG3B,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC;IAIzB,SAAS,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAexD,QAAQ,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAI3C;;;;;;;;;OASG;IACG,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAWlD,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMhE,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAMrD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAMlD,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,mBAAmB,CAAC;IAS/B,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAI3C,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAI3C,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IASzE,eAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAIlE,cAAc,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAIzC,cAAc,CAClB,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,oBAAoB,CAAC;IAIhC,+FAA+F;IACzF,WAAW,CAAC,MAAM,EAAE;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAKjC"}
@@ -25,8 +25,22 @@ export class AuthResource {
25
25
  async listKeys() {
26
26
  return this.req("GET", "/v1/auth/api-keys");
27
27
  }
28
+ /**
29
+ * Revoke an API key. Returns a structured `ApiKeyRevokeResult`
30
+ * with a `skipped` array carrying per-reason skip entries.
31
+ * Partial-success shape mirrors `memories.batchDelete`,
32
+ * `configs.batchDelete`, and `agents.disconnect`.
33
+ *
34
+ * Response is normalized at the SDK boundary so `skipped` is
35
+ * always a real array and `revoked` is always a boolean, even
36
+ * when the server response omits fields.
37
+ */
28
38
  async revokeKey(id) {
29
- await this.req("DELETE", `/v1/auth/api-keys/${id}`);
39
+ const raw = await this.req("DELETE", `/v1/auth/api-keys/${id}`);
40
+ return {
41
+ revoked: raw?.revoked ?? false,
42
+ skipped: raw?.skipped ?? [],
43
+ };
30
44
  }
31
45
  async updateProfile(displayName) {
32
46
  return this.req("PATCH", "/v1/auth/me", {
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/resources/auth.ts"],"names":[],"mappings":"AAeA,MAAM,OAAO,YAAY;IAEJ;IACA;IAFnB,YACmB,GAAc,EACd,MAAc;QADd,QAAG,GAAH,GAAG,CAAW;QACd,WAAM,GAAN,MAAM,CAAQ;IAC9B,CAAC;IAEJ,KAAK,CAAC,EAAE;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAA4B;QAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE;YAC3C,IAAI,EAAE;gBACJ,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,KAAK;gBACrB,OAAO,EAAE,OAAO,CAAC,MAAM;gBACvB,UAAU,EAAE,OAAO,CAAC,SAAS;gBAC7B,eAAe,EAAE,OAAO,CAAC,aAAa;gBACtC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,WAAW,EAAE,OAAO,CAAC,UAAU;aAChC;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,MAAM,IAAI,CAAC,GAAG,CAAO,QAAQ,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,WAAmB;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE;YACtC,IAAI,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,YAAoB;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE;YAC1C,IAAI,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE;SACtC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE;YAC3C,IAAI,EAAE,EAAE,IAAI,EAAE;SACf,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,SAAiB,EACjB,YAAoB;QAEpB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,kCAAkC,EAAE;YACzD,KAAK,EAAE;gBACL,UAAU,EAAE,SAAS;gBACrB,aAAa,EAAE,YAAY;aAC5B;SACF,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,WAAmB;QAChC,OAAO,GAAG,IAAI,CAAC,MAAM,gCAAgC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;IACzF,CAAC;IAED,cAAc,CAAC,WAAmB;QAChC,OAAO,GAAG,IAAI,CAAC,MAAM,gCAAgC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;IACzF,CAAC;IAED,gBAAgB,CAAC,QAA0B,EAAE,WAAmB;QAC9D,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAC1C,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,eAAe,CAAC,QAA0B,EAAE,WAAmB;QAC7D,OAAO,GAAG,IAAI,CAAC,MAAM,iBAAiB,QAAQ,iBAAiB,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;IACnG,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,QAA0B;QAE1B,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,+FAA+F;IAC/F,KAAK,CAAC,WAAW,CAAC,MAGjB;QACC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,sBAAsB,EAAE;YAC9C,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;SACtD,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/resources/auth.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AgentConfig, DeletedAgentConfig, AgentConfigListResult, ConfigLocalDeleteRequest, ConfigMergeRequest, RestoreDeletedConfigRequest, ConfigSyncAckRequest, ConfigSyncRequest, ConfigUpsertRequest, SyncPlanAction } from "../types.js";
1
+ import type { AgentConfig, AgentConfigBatchDeleteResult, DeletedAgentConfig, AgentConfigListResult, ConfigLocalDeleteRequest, ConfigMergeRequest, RestoreDeletedConfigRequest, ConfigSyncAckRequest, ConfigSyncRequest, ConfigUpsertRequest, SyncPlanAction } from "../types.js";
2
2
  import type { RequestFn } from "../transport.js";
3
3
  export declare class ConfigsResource {
4
4
  private readonly req;
@@ -17,6 +17,25 @@ export declare class ConfigsResource {
17
17
  configs: DeletedAgentConfig[];
18
18
  }>;
19
19
  delete(id: string): Promise<void>;
20
+ /**
21
+ * Delete multiple agent configs in a single request. Mirrors
22
+ * `memories.batchDelete` — returns a structured
23
+ * `AgentConfigBatchDeleteResult` with `deleted` count and a `skipped`
24
+ * array carrying per-id reasons (`not_found` | `delete_failed`).
25
+ *
26
+ * Partial-success is the default: the server commits what it can and
27
+ * reports the rest. `deleted > 0` with non-empty `skipped` is a normal
28
+ * outcome. Clients should inspect `skipped[].reason` to pick the right
29
+ * toast copy — `not_found` is "already gone" (idempotent success),
30
+ * `delete_failed` is retryable infra failure.
31
+ *
32
+ * Response is normalized at the SDK boundary so `skipped` is always a
33
+ * real array and `deleted` is always a number, even if the server
34
+ * response omits fields or encodes an empty slice as JSON null. This
35
+ * matches the same defense-in-depth used by `memories.batchDelete` and
36
+ * `memories.batchMove`.
37
+ */
38
+ batchDelete(ids: string[]): Promise<AgentConfigBatchDeleteResult>;
20
39
  restore(request: RestoreDeletedConfigRequest): Promise<AgentConfig>;
21
40
  merge(request: ConfigMergeRequest): Promise<{
22
41
  merged_content: string;
@@ -1 +1 @@
1
- {"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../../src/resources/configs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAErC,IAAI,CACR,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC;QAAE,OAAO,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;IAInC,GAAG,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,WAAW,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIrC,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC;IAIzD,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAMlE,WAAW,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,kBAAkB,EAAE,CAAA;KAAE,CAAC;IAIzD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,OAAO,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,WAAW,CAAC;IAInE,KAAK,CACT,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAGvC"}
1
+ {"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../../src/resources/configs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,4BAA4B,EAC5B,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAErC,IAAI,CACR,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC;QAAE,OAAO,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;IAInC,GAAG,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,WAAW,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIrC,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC;IAIzD,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAMlE,WAAW,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,kBAAkB,EAAE,CAAA;KAAE,CAAC;IAIzD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC;;;;;;;;;;;;;;;;;OAiBG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAYjE,OAAO,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,WAAW,CAAC;IAInE,KAAK,CACT,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAGvC"}
@@ -29,6 +29,31 @@ export class ConfigsResource {
29
29
  async delete(id) {
30
30
  await this.req("DELETE", `/v1/configs/${id}`);
31
31
  }
32
+ /**
33
+ * Delete multiple agent configs in a single request. Mirrors
34
+ * `memories.batchDelete` — returns a structured
35
+ * `AgentConfigBatchDeleteResult` with `deleted` count and a `skipped`
36
+ * array carrying per-id reasons (`not_found` | `delete_failed`).
37
+ *
38
+ * Partial-success is the default: the server commits what it can and
39
+ * reports the rest. `deleted > 0` with non-empty `skipped` is a normal
40
+ * outcome. Clients should inspect `skipped[].reason` to pick the right
41
+ * toast copy — `not_found` is "already gone" (idempotent success),
42
+ * `delete_failed` is retryable infra failure.
43
+ *
44
+ * Response is normalized at the SDK boundary so `skipped` is always a
45
+ * real array and `deleted` is always a number, even if the server
46
+ * response omits fields or encodes an empty slice as JSON null. This
47
+ * matches the same defense-in-depth used by `memories.batchDelete` and
48
+ * `memories.batchMove`.
49
+ */
50
+ async batchDelete(ids) {
51
+ const raw = await this.req("POST", "/v1/configs/batch-delete", { body: { ids } });
52
+ return {
53
+ deleted: raw?.deleted ?? 0,
54
+ skipped: raw?.skipped ?? [],
55
+ };
56
+ }
32
57
  async restore(request) {
33
58
  return this.req("POST", "/v1/configs/restore", { body: request });
34
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"configs.js","sourceRoot":"","sources":["../../src/resources/configs.ts"],"names":[],"mappings":"AAcA,MAAM,OAAO,eAAe;IACG;IAA7B,YAA6B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C,KAAK,CAAC,IAAI,CACR,OAA0B;QAE1B,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAA6B;QACrC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAiC;QACjD,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,0BAA0B,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAA2B;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA4B;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE;YACpC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;SACjC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,IAAI,CAAC,GAAG,CAAO,QAAQ,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAoC;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,qBAAqB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,KAAK,CACT,OAA2B;QAE3B,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;CACF"}
1
+ {"version":3,"file":"configs.js","sourceRoot":"","sources":["../../src/resources/configs.ts"],"names":[],"mappings":"AAeA,MAAM,OAAO,eAAe;IACG;IAA7B,YAA6B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C,KAAK,CAAC,IAAI,CACR,OAA0B;QAE1B,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAA6B;QACrC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAiC;QACjD,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,0BAA0B,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAA2B;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA4B;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE;YACpC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;SACjC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,IAAI,CAAC,GAAG,CAAO,QAAQ,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,WAAW,CAAC,GAAa;QAC7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CACxB,MAAM,EACN,0BAA0B,EAC1B,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,CAClB,CAAC;QACF,OAAO;YACL,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,CAAC;YAC1B,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,EAAE;SAC5B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAoC;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,qBAAqB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,KAAK,CACT,OAA2B;QAE3B,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;CACF"}
@@ -1,10 +1,14 @@
1
- import type { Hub, HubDetailResult, HubInvite, HubMember, HubOwnershipTransfer, HubSummary, HubUpdateParams, HubWithRole } from "../types.js";
1
+ import type { Hub, HubDetailResult, HubInvite, HubInviteeInput, HubMember, HubOwnershipTransfer, HubRole, HubSummary, HubUpdateParams, HubWithRole } from "../types.js";
2
2
  import type { RequestFn } from "../transport.js";
3
3
  export declare class HubsResource {
4
4
  private readonly req;
5
5
  constructor(req: RequestFn);
6
6
  list(): Promise<HubWithRole[]>;
7
- create(name: string): Promise<Hub>;
7
+ create(name: string, slug?: string): Promise<Hub>;
8
+ checkSlug(slug: string): Promise<{
9
+ available: boolean;
10
+ reason?: string;
11
+ }>;
8
12
  get(id: string): Promise<HubDetailResult>;
9
13
  summary(id: string): Promise<HubSummary>;
10
14
  markVisit(id: string): Promise<{
@@ -29,13 +33,28 @@ export declare class HubsResource {
29
33
  deleted: boolean;
30
34
  hub_id: string;
31
35
  }>;
32
- createInvite(id: string, role?: string): Promise<HubInvite>;
36
+ /**
37
+ * Creates a hub invite. When `invitee` is provided and the email
38
+ * or user id resolves to an existing account, the server addresses
39
+ * the invite to that user and fires a hub_invite notification into
40
+ * their inbox. Unknown emails fall back to a link-only invite so
41
+ * the admin can still forward the URL manually. Omitting `invitee`
42
+ * keeps the legacy copy-link flow.
43
+ */
44
+ createInvite(id: string, params?: {
45
+ role?: HubRole;
46
+ invitee?: HubInviteeInput;
47
+ }): Promise<HubInvite>;
33
48
  listInvites(id: string): Promise<HubInvite[]>;
34
49
  revokeInvite(id: string, inviteId: string): Promise<{
35
50
  status: string;
36
51
  invite_id: string;
37
52
  }>;
38
53
  regenerateInvite(id: string, inviteId: string): Promise<HubInvite>;
54
+ resendInvite(id: string, inviteId: string): Promise<{
55
+ status: string;
56
+ email_enqueued_at: string;
57
+ }>;
39
58
  createOwnershipTransfer(id: string, targetUserId: string): Promise<HubOwnershipTransfer>;
40
59
  acceptOwnershipTransfer(id: string, transferId: string): Promise<HubOwnershipTransfer>;
41
60
  cancelOwnershipTransfer(id: string, transferId: string): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"hubs.d.ts","sourceRoot":"","sources":["../../src/resources/hubs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,GAAG,EACH,eAAe,EACf,SAAS,EACT,SAAS,EACT,oBAAoB,EACpB,UAAU,EACV,eAAe,EACf,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAErC,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAI9B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIlC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAIzC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAIxC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAIlE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAIzD,YAAY,CAChB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAIzC,gBAAgB,CACpB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,GACxC,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IAMlE,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAI9D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAIjE,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,SAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IAIlE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAI7C,YAAY,CAChB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAI3C,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAMlE,uBAAuB,CAC3B,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,oBAAoB,CAAC;IAM1B,uBAAuB,CAC3B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,CAAC;IAQ1B,uBAAuB,CAC3B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAOpD"}
1
+ {"version":3,"file":"hubs.d.ts","sourceRoot":"","sources":["../../src/resources/hubs.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,11 @@ export class HubsResource {
6
6
  async list() {
7
7
  return this.req("GET", "/v1/hubs");
8
8
  }
9
- async create(name) {
10
- return this.req("POST", "/v1/hubs", { body: { name } });
9
+ async create(name, slug) {
10
+ return this.req("POST", "/v1/hubs", { body: { name, slug } });
11
+ }
12
+ async checkSlug(slug) {
13
+ return this.req("GET", "/v1/hubs/check-slug", { query: { slug } });
11
14
  }
12
15
  async get(id) {
13
16
  return this.req("GET", `/v1/hubs/${id}`);
@@ -35,8 +38,22 @@ export class HubsResource {
35
38
  async delete(id) {
36
39
  return this.req("DELETE", `/v1/hubs/${id}`);
37
40
  }
38
- async createInvite(id, role = "contributor") {
39
- return this.req("POST", `/v1/hubs/${id}/invites`, { body: { role } });
41
+ /**
42
+ * Creates a hub invite. When `invitee` is provided and the email
43
+ * or user id resolves to an existing account, the server addresses
44
+ * the invite to that user and fires a hub_invite notification into
45
+ * their inbox. Unknown emails fall back to a link-only invite so
46
+ * the admin can still forward the URL manually. Omitting `invitee`
47
+ * keeps the legacy copy-link flow.
48
+ */
49
+ async createInvite(id, params = {}) {
50
+ const body = {
51
+ role: params.role ?? "contributor",
52
+ };
53
+ if (params.invitee) {
54
+ body.invitee = params.invitee;
55
+ }
56
+ return this.req("POST", `/v1/hubs/${id}/invites`, { body });
40
57
  }
41
58
  async listInvites(id) {
42
59
  return this.req("GET", `/v1/hubs/${id}/invites`);
@@ -49,6 +66,11 @@ export class HubsResource {
49
66
  body: {},
50
67
  });
51
68
  }
69
+ async resendInvite(id, inviteId) {
70
+ return this.req("POST", `/v1/hubs/${id}/invites/${inviteId}/resend`, {
71
+ body: {},
72
+ });
73
+ }
52
74
  async createOwnershipTransfer(id, targetUserId) {
53
75
  return this.req("POST", `/v1/hubs/${id}/ownership-transfer`, {
54
76
  body: { target_user_id: targetUserId },
@@ -1 +1 @@
1
- {"version":3,"file":"hubs.js","sourceRoot":"","sources":["../../src/resources/hubs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hubs.js","sourceRoot":"","sources":["../../src/resources/hubs.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AskOptions, AskResult, ListMemoriesOptions, ListMemoriesResult, Memory, MemoryUpdateInput, PushOptions, RecallOptions, RecallResult, RelatedMemory, SearchResult, ShareMemoryResult } from "../types.js";
1
+ import type { AskOptions, AskResult, AttachmentViewURL, BatchDeleteResult, BatchMoveResult, ListMemoriesOptions, ListMemoriesResult, Memory, MemoryUpdateInput, PushOptions, RecallOptions, RecallResult, RelatedMemory, SearchResult, ShareMemoryResult } from "../types.js";
2
2
  import type { DownloadFn, RequestFn, StreamFn } from "../transport.js";
3
3
  export declare class MemoriesResource {
4
4
  private readonly req;
@@ -14,6 +14,7 @@ export declare class MemoriesResource {
14
14
  search(query: string, options?: {
15
15
  limit?: number;
16
16
  hubId?: string;
17
+ topicId?: string;
17
18
  }): Promise<SearchResult[]>;
18
19
  get(id: string): Promise<Memory>;
19
20
  /** Semantically related memories via vector nearest-neighbor. Sub-50ms, no external API calls. */
@@ -24,14 +25,54 @@ export declare class MemoriesResource {
24
25
  update(id: string, patch: MemoryUpdateInput): Promise<Memory>;
25
26
  share(id: string, targetHubId: string): Promise<ShareMemoryResult>;
26
27
  downloadAttachment(memoryID: string, attachmentID: string): Promise<Response>;
27
- batchDelete(ids: string[]): Promise<{
28
- deleted: number;
29
- }>;
28
+ /**
29
+ * Request a short-lived signed URL that renders the attachment
30
+ * inline via <img src>. Reuse within the TTL window is expected;
31
+ * the caller should cache on the client and refresh near expiry.
32
+ *
33
+ * Returns a rejected promise if the endpoint is unavailable (503 —
34
+ * ATTACHMENT_VIEW_SIGNING_KEY not set on the server) or the
35
+ * attachment is not found. Callers should fall through to
36
+ * downloadAttachment in those cases.
37
+ */
38
+ attachmentViewURL(memoryID: string, attachmentID: string): Promise<AttachmentViewURL>;
39
+ /**
40
+ * Delete multiple memories in a single request. Returns a structured
41
+ * result mirroring `batchMove`: `deleted` counts committed removals
42
+ * and `skipped` carries per-id reasons (`not_owned`, `not_found`,
43
+ * `delete_failed`). Consumers should inspect skip reasons to pick
44
+ * UX copy — `not_found` is usually the user's desired end state,
45
+ * `delete_failed` is infra failure the user may retry, and
46
+ * `not_owned` is a permission denial that retry will not fix.
47
+ *
48
+ * Response is normalized so `skipped` is always a real array and
49
+ * `deleted` is always a number, even if the server omits fields or
50
+ * encodes an empty slice as JSON null. See `batchMove` comment for
51
+ * the rationale.
52
+ */
53
+ batchDelete(ids: string[]): Promise<BatchDeleteResult>;
54
+ /**
55
+ * Move multiple memories to a topic and/or hub in a single request.
56
+ * Returns a structured result with `moved` (count committed) and
57
+ * `skipped` (per-id reasons: `not_owned`, `not_found`,
58
+ * `already_at_target`, `source_delete_forbidden`). The last reason
59
+ * surfaces cross-hub moves where the caller owns the memory but
60
+ * lacks authority to remove it from its current hub — move is
61
+ * semantically delete-from-source + create-in-destination, so the
62
+ * source hub's `contributor_delete_policy` is enforced.
63
+ *
64
+ * Response is normalized at the SDK boundary: `skipped` is guaranteed
65
+ * to be an array (never undefined or null) and `moved` is guaranteed
66
+ * to be a number. The Go server initializes `Skipped` to an empty
67
+ * slice so the wire format should already conform, but the SDK
68
+ * defends against (a) older server builds that omitted the field,
69
+ * (b) JSON encodings that emit nil slices as `null`, and (c) future
70
+ * middleware that might strip empty arrays. Callers can read
71
+ * `result.skipped.length` without a defensive guard.
72
+ */
30
73
  batchMove(ids: string[], target: {
31
74
  topicId?: string;
32
75
  hubId?: string;
33
- }): Promise<{
34
- moved: number;
35
- }>;
76
+ }): Promise<BatchMoveResult>;
36
77
  }
37
78
  //# sourceMappingURL=memories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memories.d.ts","sourceRoot":"","sources":["../../src/resources/memories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,kBAAkB,EAClB,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEvE,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,UAAU;IAGjC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAmB7D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAgBrE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAYlE,SAAS,CACP,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,UAAU,GAAG,SAAS,EAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,GAC9C,eAAe;IAaZ,IAAI,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA6BtE,iFAAiF;IAC3E,MAAM,CACV,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,OAAO,CAAC,YAAY,EAAE,CAAC;IAOpB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAItC,kGAAkG;IAC5F,OAAO,CACX,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3B,OAAO,CAAC,aAAa,EAAE,CAAC;IAMrB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAI7D,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAMlE,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,QAAQ,CAAC;IAMd,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAMxD,SAAS,CACb,GAAG,EAAE,MAAM,EAAE,EACb,MAAM,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAK9B"}
1
+ {"version":3,"file":"memories.d.ts","sourceRoot":"","sources":["../../src/resources/memories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEvE,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,UAAU;IAGjC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAqB7D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAkBrE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAclE,SAAS,CACP,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,UAAU,GAAG,SAAS,EAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,GAC9C,eAAe;IAeZ,IAAI,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8BtE,iFAAiF;IAC3E,MAAM,CACV,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7D,OAAO,CAAC,YAAY,EAAE,CAAC;IAOpB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAItC,kGAAkG;IAC5F,OAAO,CACX,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3B,OAAO,CAAC,aAAa,EAAE,CAAC;IAMrB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAI7D,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAMlE,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,QAAQ,CAAC;IAMpB;;;;;;;;;OASG;IACG,iBAAiB,CACrB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC;IAO7B;;;;;;;;;;;;;OAaG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAc5D;;;;;;;;;;;;;;;;;;OAkBG;IACG,SAAS,CACb,GAAG,EAAE,MAAM,EAAE,EACb,MAAM,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,OAAO,CAAC,eAAe,CAAC;CAc5B"}
@@ -16,6 +16,8 @@ export class MemoriesResource {
16
16
  tags: options?.tags ?? [],
17
17
  source: options?.source ?? "sdk",
18
18
  source_agent: options?.sourceAgent ?? "",
19
+ assisted_by_agent: options?.assistedByAgent ?? "",
20
+ initiation_type: options?.initiationType ?? "",
19
21
  source_path: options?.sourcePath,
20
22
  hub_reason: options?.hubReason ?? "",
21
23
  content_type: options?.contentType ?? "markdown",
@@ -32,7 +34,9 @@ export class MemoriesResource {
32
34
  limit: options?.limit ?? 10,
33
35
  kind: options?.kind,
34
36
  tags: options?.tags,
37
+ topic_id: options?.topicId,
35
38
  include_archived: options?.includeArchived,
39
+ no_rerank: options?.noRerank,
36
40
  source: options?.source ?? "sdk",
37
41
  working_dir: options?.workingDir,
38
42
  project_context: options?.projectContext,
@@ -47,6 +51,8 @@ export class MemoriesResource {
47
51
  limit: options?.limit ?? 10,
48
52
  model: options?.model ?? "auto",
49
53
  locale: options?.locale,
54
+ no_rerank: options?.noRerank,
55
+ topic_id: options?.topicId,
50
56
  },
51
57
  hubId: options?.hubId,
52
58
  });
@@ -58,6 +64,8 @@ export class MemoriesResource {
58
64
  limit: options?.limit ?? 10,
59
65
  model: options?.model ?? "auto",
60
66
  locale: options?.locale,
67
+ no_rerank: options?.noRerank,
68
+ topic_id: options?.topicId,
61
69
  },
62
70
  hubId: options?.hubId,
63
71
  onEvent,
@@ -72,6 +80,7 @@ export class MemoriesResource {
72
80
  kind: options?.kind,
73
81
  created_after: options?.createdAfter,
74
82
  actor: options?.actor,
83
+ topic_id: options?.topicId,
75
84
  },
76
85
  hubId: options?.hubId,
77
86
  });
@@ -88,7 +97,7 @@ export class MemoriesResource {
88
97
  /** Fast full-text search (trigram + tsvector, no embeddings). Target: <200ms. */
89
98
  async search(query, options) {
90
99
  return this.req("GET", "/v1/memories/search", {
91
- query: { q: query, limit: options?.limit },
100
+ query: { q: query, limit: options?.limit, topic_id: options?.topicId },
92
101
  hubId: options?.hubId,
93
102
  });
94
103
  }
@@ -115,15 +124,70 @@ export class MemoriesResource {
115
124
  async downloadAttachment(memoryID, attachmentID) {
116
125
  return this.download(`/v1/memories/${memoryID}/attachments/${attachmentID}/download`);
117
126
  }
127
+ /**
128
+ * Request a short-lived signed URL that renders the attachment
129
+ * inline via <img src>. Reuse within the TTL window is expected;
130
+ * the caller should cache on the client and refresh near expiry.
131
+ *
132
+ * Returns a rejected promise if the endpoint is unavailable (503 —
133
+ * ATTACHMENT_VIEW_SIGNING_KEY not set on the server) or the
134
+ * attachment is not found. Callers should fall through to
135
+ * downloadAttachment in those cases.
136
+ */
137
+ async attachmentViewURL(memoryID, attachmentID) {
138
+ return this.req("POST", `/v1/memories/${memoryID}/attachments/${attachmentID}/view-url`);
139
+ }
140
+ /**
141
+ * Delete multiple memories in a single request. Returns a structured
142
+ * result mirroring `batchMove`: `deleted` counts committed removals
143
+ * and `skipped` carries per-id reasons (`not_owned`, `not_found`,
144
+ * `delete_failed`). Consumers should inspect skip reasons to pick
145
+ * UX copy — `not_found` is usually the user's desired end state,
146
+ * `delete_failed` is infra failure the user may retry, and
147
+ * `not_owned` is a permission denial that retry will not fix.
148
+ *
149
+ * Response is normalized so `skipped` is always a real array and
150
+ * `deleted` is always a number, even if the server omits fields or
151
+ * encodes an empty slice as JSON null. See `batchMove` comment for
152
+ * the rationale.
153
+ */
118
154
  async batchDelete(ids) {
119
- return this.req("POST", "/v1/memories/batch-delete", {
155
+ const raw = await this.req("POST", "/v1/memories/batch-delete", {
120
156
  body: { ids },
121
157
  });
158
+ return {
159
+ deleted: raw?.deleted ?? 0,
160
+ skipped: raw?.skipped ?? [],
161
+ };
122
162
  }
163
+ /**
164
+ * Move multiple memories to a topic and/or hub in a single request.
165
+ * Returns a structured result with `moved` (count committed) and
166
+ * `skipped` (per-id reasons: `not_owned`, `not_found`,
167
+ * `already_at_target`, `source_delete_forbidden`). The last reason
168
+ * surfaces cross-hub moves where the caller owns the memory but
169
+ * lacks authority to remove it from its current hub — move is
170
+ * semantically delete-from-source + create-in-destination, so the
171
+ * source hub's `contributor_delete_policy` is enforced.
172
+ *
173
+ * Response is normalized at the SDK boundary: `skipped` is guaranteed
174
+ * to be an array (never undefined or null) and `moved` is guaranteed
175
+ * to be a number. The Go server initializes `Skipped` to an empty
176
+ * slice so the wire format should already conform, but the SDK
177
+ * defends against (a) older server builds that omitted the field,
178
+ * (b) JSON encodings that emit nil slices as `null`, and (c) future
179
+ * middleware that might strip empty arrays. Callers can read
180
+ * `result.skipped.length` without a defensive guard.
181
+ */
123
182
  async batchMove(ids, target) {
124
- return this.req("POST", "/v1/memories/batch-move", {
183
+ const raw = await this.req("POST", "/v1/memories/batch-move", {
125
184
  body: { ids, topic_id: target.topicId, hub_id: target.hubId },
185
+ hubId: target.hubId,
126
186
  });
187
+ return {
188
+ moved: raw?.moved ?? 0,
189
+ skipped: raw?.skipped ?? [],
190
+ };
127
191
  }
128
192
  }
129
193
  //# sourceMappingURL=memories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memories.js","sourceRoot":"","sources":["../../src/resources/memories.ts"],"names":[],"mappings":"AAgBA,MAAM,OAAO,gBAAgB;IAER;IACA;IACA;IAHnB,YACmB,GAAc,EACd,MAAgB,EAChB,QAAoB;QAFpB,QAAG,GAAH,GAAG,CAAW;QACd,WAAM,GAAN,MAAM,CAAU;QAChB,aAAQ,GAAR,QAAQ,CAAY;IACpC,CAAC;IAEJ,KAAK,CAAC,IAAI,CAAC,OAAe,EAAE,OAAqB;QAC/C,OAAO,IAAI,CAAC,GAAG,CAAS,MAAM,EAAE,cAAc,EAAE;YAC9C,IAAI,EAAE;gBACJ,OAAO;gBACP,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;gBAC3B,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE;gBACzB,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,KAAK;gBAChC,YAAY,EAAE,OAAO,EAAE,WAAW,IAAI,EAAE;gBACxC,WAAW,EAAE,OAAO,EAAE,UAAU;gBAChC,UAAU,EAAE,OAAO,EAAE,SAAS,IAAI,EAAE;gBACpC,YAAY,EAAE,OAAO,EAAE,WAAW,IAAI,UAAU;gBAChD,eAAe,EAAE,OAAO,EAAE,cAAc;gBACxC,QAAQ,EAAE,OAAO,EAAE,OAAO;aAC3B;YACD,KAAK,EAAE,OAAO,EAAE,KAAK;SACtB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,OAAuB;QACjD,OAAO,IAAI,CAAC,GAAG,CAAe,MAAM,EAAE,YAAY,EAAE;YAClD,IAAI,EAAE;gBACJ,KAAK;gBACL,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;gBAC3B,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,gBAAgB,EAAE,OAAO,EAAE,eAAe;gBAC1C,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,KAAK;gBAChC,WAAW,EAAE,OAAO,EAAE,UAAU;gBAChC,eAAe,EAAE,OAAO,EAAE,cAAc;aACzC;YACD,KAAK,EAAE,OAAO,EAAE,KAAK;SACtB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAa,EAAE,OAAoB;QAC3C,OAAO,IAAI,CAAC,GAAG,CAAY,MAAM,EAAE,SAAS,EAAE;YAC5C,IAAI,EAAE;gBACJ,KAAK;gBACL,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;gBAC3B,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,MAAM;gBAC/B,MAAM,EAAE,OAAO,EAAE,MAAM;aACxB;YACD,KAAK,EAAE,OAAO,EAAE,KAAK;SACtB,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CACP,KAAa,EACb,OAA+B,EAC/B,OAA+C;QAE/C,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE;YACpC,IAAI,EAAE;gBACJ,KAAK;gBACL,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;gBAC3B,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,MAAM;gBAC/B,MAAM,EAAE,OAAO,EAAE,MAAM;aACxB;YACD,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA6B;QACtC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CACxB,KAAK,EACL,cAAc,EACd;YACE,KAAK,EAAE;gBACL,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,aAAa,EAAE,OAAO,EAAE,YAAY;gBACpC,KAAK,EAAE,OAAO,EAAE,KAAK;aACtB;YACD,KAAK,EAAE,OAAO,EAAE,KAAK;SACtB,CACF,CAAC;QAEF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,QAAQ,EAAE,GAAG;gBACb,WAAW,EAAE,EAAE;gBACf,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,GAAG,CAAC,MAAM;aAClB,CAAC;QACJ,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,iFAAiF;IACjF,KAAK,CAAC,MAAM,CACV,KAAa,EACb,OAA4C;QAE5C,OAAO,IAAI,CAAC,GAAG,CAAiB,KAAK,EAAE,qBAAqB,EAAE;YAC5D,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;YAC1C,KAAK,EAAE,OAAO,EAAE,KAAK;SACtB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,GAAG,CAAS,KAAK,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,kGAAkG;IAClG,KAAK,CAAC,OAAO,CACX,EAAU,EACV,OAA4B;QAE5B,OAAO,IAAI,CAAC,GAAG,CAAkB,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE;YACpE,KAAK,EAAE,OAAO,EAAE,KAAK;SACtB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,IAAI,CAAC,GAAG,CAAO,QAAQ,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,KAAwB;QAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAU,EAAE,WAAmB;QACzC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE;YAClD,IAAI,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE;SACrC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,QAAgB,EAChB,YAAoB;QAEpB,OAAO,IAAI,CAAC,QAAQ,CAClB,gBAAgB,QAAQ,gBAAgB,YAAY,WAAW,CAChE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAa;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAsB,MAAM,EAAE,2BAA2B,EAAE;YACxE,IAAI,EAAE,EAAE,GAAG,EAAE;SACd,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CACb,GAAa,EACb,MAA4C;QAE5C,OAAO,IAAI,CAAC,GAAG,CAAoB,MAAM,EAAE,yBAAyB,EAAE;YACpE,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE;SAC9D,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"memories.js","sourceRoot":"","sources":["../../src/resources/memories.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import type { Notification, NotificationBulkQuery, NotificationBulkResult, NotificationListQuery, NotificationListResponse, NotificationResolveAction, NotificationResolveResult, NotificationSummary } from "../types.js";
2
+ import type { RequestFn } from "../transport.js";
3
+ /**
4
+ * NotificationsResource is the SDK client for the /v1/notifications
5
+ * surface landed in Phase 3b of the inbox notification framework.
6
+ * Mirrors the handler in packages/server/internal/handler/notifications.go
7
+ * and the /v1/notifications route set in serverapp/routes.go.
8
+ */
9
+ export declare class NotificationsResource {
10
+ private readonly req;
11
+ constructor(req: RequestFn);
12
+ /**
13
+ * GET /v1/notifications
14
+ *
15
+ * Returns the page of notifications visible to the caller (union of
16
+ * hub membership and direct user address). Defaults to pending rows;
17
+ * pass `status: "resolved"` + `resolution` filters for history views.
18
+ */
19
+ list(query?: NotificationListQuery): Promise<NotificationListResponse>;
20
+ /**
21
+ * GET /v1/notifications/summary
22
+ *
23
+ * Returns the canonical summary shape from plan §4.4: badge-dot
24
+ * total, Updates bucket totals, and a `by_kind` map pre-populated
25
+ * with zero counts for every supported kind.
26
+ */
27
+ summary(hubId?: string): Promise<NotificationSummary>;
28
+ /**
29
+ * POST /v1/notifications/{id}/seen (idempotent)
30
+ *
31
+ * Writes seen_at=now() on a row the caller can see. Called by the
32
+ * bar push renderer the moment a notification is shown so the
33
+ * same row cannot re-push on reconnect or first-load hydration.
34
+ */
35
+ markSeen(id: string, hubId?: string): Promise<{
36
+ status: "seen";
37
+ }>;
38
+ /**
39
+ * POST /v1/notifications/{id}/dismiss (receipt-only)
40
+ *
41
+ * Server refuses decision kinds with
42
+ * `400 dismiss_not_applicable_to_decision`. Clients should check
43
+ * `notification.kind` against the decision-kind set before calling
44
+ * so the affordance never appears on a decision row.
45
+ */
46
+ dismiss(id: string, hubId?: string): Promise<{
47
+ status: "dismissed";
48
+ }>;
49
+ /**
50
+ * POST /v1/notifications/{id}/resolve (decision-only)
51
+ *
52
+ * Server validates action against the per-kind allow-list and
53
+ * refuses with `400 invalid_action_for_notification_kind` on a
54
+ * mismatch. Mirrors the Phase 1 /v1/reviews/resolve contract so
55
+ * the Phase 4 client migration is a straight swap of endpoint
56
+ * paths.
57
+ */
58
+ resolve(id: string, action: NotificationResolveAction, hubId?: string): Promise<NotificationResolveResult>;
59
+ /**
60
+ * POST /v1/notifications/seen
61
+ *
62
+ * Bulk mark-seen for every pending row matching the filter.
63
+ * Decision kinds are refused with
64
+ * `400 bulk_not_allowed_for_decision_kind`.
65
+ */
66
+ bulkSeen(query: NotificationBulkQuery): Promise<NotificationBulkResult>;
67
+ /**
68
+ * POST /v1/notifications/dismiss
69
+ *
70
+ * Bulk dismiss for every pending receipt row matching the filter.
71
+ */
72
+ bulkDismiss(query: NotificationBulkQuery): Promise<NotificationBulkResult>;
73
+ }
74
+ export type { Notification };
75
+ //# sourceMappingURL=notifications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../src/resources/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;GAKG;AACH,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAE3C;;;;;;OAMG;IACG,IAAI,CAAC,KAAK,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAe5E;;;;;;OAMG;IACG,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAM3D;;;;;;OAMG;IACG,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAIvE;;;;;;;OAOG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC;IAI3E;;;;;;;;OAQG;IACG,OAAO,CACX,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,yBAAyB,EACjC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,yBAAyB,CAAC;IAOrC;;;;;;OAMG;IACG,QAAQ,CACZ,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,sBAAsB,CAAC;IAOlC;;;;OAIG;IACG,WAAW,CACf,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,sBAAsB,CAAC;CAMnC;AAID,YAAY,EAAE,YAAY,EAAE,CAAC"}