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
@@ -0,0 +1,106 @@
1
+ /**
2
+ * NotificationsResource is the SDK client for the /v1/notifications
3
+ * surface landed in Phase 3b of the inbox notification framework.
4
+ * Mirrors the handler in packages/server/internal/handler/notifications.go
5
+ * and the /v1/notifications route set in serverapp/routes.go.
6
+ */
7
+ export class NotificationsResource {
8
+ req;
9
+ constructor(req) {
10
+ this.req = req;
11
+ }
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
+ async list(query) {
20
+ return this.req("GET", "/v1/notifications", {
21
+ query: {
22
+ hub: query?.hub,
23
+ status: query?.status,
24
+ kind: query?.kind,
25
+ resolution: query?.resolution,
26
+ unseen_only: query?.unseenOnly,
27
+ since: query?.since,
28
+ limit: query?.limit,
29
+ cursor: query?.cursor,
30
+ },
31
+ });
32
+ }
33
+ /**
34
+ * GET /v1/notifications/summary
35
+ *
36
+ * Returns the canonical summary shape from plan §4.4: badge-dot
37
+ * total, Updates bucket totals, and a `by_kind` map pre-populated
38
+ * with zero counts for every supported kind.
39
+ */
40
+ async summary(hubId) {
41
+ return this.req("GET", "/v1/notifications/summary", {
42
+ query: { hub: hubId },
43
+ });
44
+ }
45
+ /**
46
+ * POST /v1/notifications/{id}/seen (idempotent)
47
+ *
48
+ * Writes seen_at=now() on a row the caller can see. Called by the
49
+ * bar push renderer the moment a notification is shown so the
50
+ * same row cannot re-push on reconnect or first-load hydration.
51
+ */
52
+ async markSeen(id, hubId) {
53
+ return this.req("POST", `/v1/notifications/${id}/seen`, { hubId });
54
+ }
55
+ /**
56
+ * POST /v1/notifications/{id}/dismiss (receipt-only)
57
+ *
58
+ * Server refuses decision kinds with
59
+ * `400 dismiss_not_applicable_to_decision`. Clients should check
60
+ * `notification.kind` against the decision-kind set before calling
61
+ * so the affordance never appears on a decision row.
62
+ */
63
+ async dismiss(id, hubId) {
64
+ return this.req("POST", `/v1/notifications/${id}/dismiss`, { hubId });
65
+ }
66
+ /**
67
+ * POST /v1/notifications/{id}/resolve (decision-only)
68
+ *
69
+ * Server validates action against the per-kind allow-list and
70
+ * refuses with `400 invalid_action_for_notification_kind` on a
71
+ * mismatch. Mirrors the Phase 1 /v1/reviews/resolve contract so
72
+ * the Phase 4 client migration is a straight swap of endpoint
73
+ * paths.
74
+ */
75
+ async resolve(id, action, hubId) {
76
+ return this.req("POST", `/v1/notifications/${id}/resolve`, {
77
+ hubId,
78
+ body: { action },
79
+ });
80
+ }
81
+ /**
82
+ * POST /v1/notifications/seen
83
+ *
84
+ * Bulk mark-seen for every pending row matching the filter.
85
+ * Decision kinds are refused with
86
+ * `400 bulk_not_allowed_for_decision_kind`.
87
+ */
88
+ async bulkSeen(query) {
89
+ return this.req("POST", "/v1/notifications/seen", {
90
+ hubId: query.hub,
91
+ body: { kinds: query.kinds, since: query.since },
92
+ });
93
+ }
94
+ /**
95
+ * POST /v1/notifications/dismiss
96
+ *
97
+ * Bulk dismiss for every pending receipt row matching the filter.
98
+ */
99
+ async bulkDismiss(query) {
100
+ return this.req("POST", "/v1/notifications/dismiss", {
101
+ hubId: query.hub,
102
+ body: { kinds: query.kinds, since: query.since },
103
+ });
104
+ }
105
+ }
106
+ //# sourceMappingURL=notifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/resources/notifications.ts"],"names":[],"mappings":"AAYA;;;;;GAKG;AACH,MAAM,OAAO,qBAAqB;IACH;IAA7B,YAA6B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CAAC,KAA6B;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,mBAAmB,EAAE;YAC1C,KAAK,EAAE;gBACL,GAAG,EAAE,KAAK,EAAE,GAAG;gBACf,MAAM,EAAE,KAAK,EAAE,MAAM;gBACrB,IAAI,EAAE,KAAK,EAAE,IAAI;gBACjB,UAAU,EAAE,KAAK,EAAE,UAAU;gBAC7B,WAAW,EAAE,KAAK,EAAE,UAAU;gBAC9B,KAAK,EAAE,KAAK,EAAE,KAAK;gBACnB,KAAK,EAAE,KAAK,EAAE,KAAK;gBACnB,MAAM,EAAE,KAAK,EAAE,MAAM;aACtB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,KAAc;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,2BAA2B,EAAE;YAClD,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,CAAC,EAAU,EAAE,KAAc;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,KAAc;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,qBAAqB,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO,CACX,EAAU,EACV,MAAiC,EACjC,KAAc;QAEd,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,qBAAqB,EAAE,UAAU,EAAE;YACzD,KAAK;YACL,IAAI,EAAE,EAAE,MAAM,EAAE;SACjB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,CACZ,KAA4B;QAE5B,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,wBAAwB,EAAE;YAChD,KAAK,EAAE,KAAK,CAAC,GAAG;YAChB,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;SACjD,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CACf,KAA4B;QAE5B,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,2BAA2B,EAAE;YACnD,KAAK,EAAE,KAAK,CAAC,GAAG;YAChB,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;SACjD,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,10 +1,18 @@
1
- import type { Settings, Usage } from "../types.js";
1
+ import type { PlanDefinition, Settings, SettingsUpdateInput, Usage, UsageWithLimits } from "../types.js";
2
2
  import type { RequestFn } from "../transport.js";
3
3
  export declare class SettingsResource {
4
4
  private readonly req;
5
5
  constructor(req: RequestFn);
6
6
  get(): Promise<Settings>;
7
- update(patch: Partial<Settings>): Promise<Settings>;
8
- usage(): Promise<Usage>;
7
+ update(patch: SettingsUpdateInput): Promise<Settings>;
8
+ /**
9
+ * Returns current billing period usage. When the plan registry is active,
10
+ * the response includes plan limits alongside the usage counters
11
+ * (UsageWithLimits). The flat Usage fields are always present for
12
+ * backward compatibility.
13
+ */
14
+ usage(): Promise<UsageWithLimits | Usage>;
15
+ /** Returns all active plan definitions (public, no auth required). */
16
+ plans(): Promise<PlanDefinition[]>;
9
17
  }
10
18
  //# sourceMappingURL=settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/resources/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAErC,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;IAIxB,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAInD,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;CAG9B"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/resources/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACL,eAAe,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAErC,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;IAIxB,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI3D;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC;IAI/C,sEAAsE;IAChE,KAAK,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;CAGzC"}
@@ -9,8 +9,18 @@ export class SettingsResource {
9
9
  async update(patch) {
10
10
  return this.req("PATCH", "/v1/settings", { body: patch });
11
11
  }
12
+ /**
13
+ * Returns current billing period usage. When the plan registry is active,
14
+ * the response includes plan limits alongside the usage counters
15
+ * (UsageWithLimits). The flat Usage fields are always present for
16
+ * backward compatibility.
17
+ */
12
18
  async usage() {
13
19
  return this.req("GET", "/v1/usage");
14
20
  }
21
+ /** Returns all active plan definitions (public, no auth required). */
22
+ async plans() {
23
+ return this.req("GET", "/v1/plans");
24
+ }
15
25
  }
16
26
  //# sourceMappingURL=settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/resources/settings.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C,KAAK,CAAC,GAAG;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAwB;QACnC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACtC,CAAC;CACF"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/resources/settings.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C,KAAK,CAAC,GAAG;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAA0B;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACtC,CAAC;IAED,sEAAsE;IACtE,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACtC,CAAC;CACF"}
@@ -6,6 +6,30 @@ export declare class TopicsResource {
6
6
  list(hubId?: string): Promise<TopicListResponse>;
7
7
  get(id: string, hubId?: string): Promise<Topic>;
8
8
  create(params: TopicCreateParams, hubId?: string): Promise<Topic>;
9
+ /**
10
+ * update patches an existing topic. Name/description/icon/pinned/position
11
+ * are thin field updates. A `parent_id` change runs the full reparent
12
+ * validation pipeline on the server:
13
+ *
14
+ * - `invalid_parent` — parent id does not exist in the moving topic's
15
+ * hub. This code collapses "no such topic" with "topic in a different
16
+ * hub" to avoid leaking cross-hub existence; if you need to
17
+ * distinguish them for admin tooling, do it server-side with a
18
+ * dedicated error code at that point.
19
+ * - `cycle_detected` — parent id equals the moving topic id, or is a
20
+ * transitive descendant of it (would create a cycle).
21
+ * - `max_depth_subtree` — the moving topic's subtree, planted under the
22
+ * new parent, would exceed the 5-level (0-indexed cap 4) hard limit.
23
+ * - `max_depth` — legacy code from the Create path; preserved for
24
+ * symmetry.
25
+ * - `duplicate_name` — a sibling with the same name already exists at
26
+ * the destination.
27
+ *
28
+ * On success, the server flips UserModified = true on the moving topic
29
+ * so the dream engine respects the manual intent, parity with rename.
30
+ *
31
+ * Pass `parent_id: ""` (or `null`) to reparent to the root.
32
+ */
9
33
  update(id: string, params: TopicUpdateParams, hubId?: string): Promise<Topic>;
10
34
  delete(id: string, hubId?: string): Promise<void>;
11
35
  listMemories(topicId: string, options?: {
@@ -13,8 +37,36 @@ export declare class TopicsResource {
13
37
  cursor?: string;
14
38
  hubId?: string;
15
39
  }): Promise<TopicMemoriesResponse>;
16
- addMemory(topicId: string, memoryId: string, confidence?: number, hubId?: string): Promise<void>;
17
- removeMemory(topicId: string, memoryId: string, hubId?: string): Promise<void>;
40
+ /**
41
+ * assignMemory is the AUTO-ASSIGNMENT primitive — confidence-gated on the
42
+ * server (ingest + dreams workers only). User-initiated moves MUST go
43
+ * through memories.batchMove, which is authoritative and replaces
44
+ * unconditionally. See docs/plans/10-dreams-and-knowledge.md for the
45
+ * contract rules.
46
+ *
47
+ * The HTTP route is unchanged (POST /v1/topics/{id}/memories) so external
48
+ * API users are not broken — only the TypeScript method name changes to
49
+ * match the actual auto-assignment semantics.
50
+ */
51
+ assignMemory(topicId: string, memoryId: string, confidence?: number, hubId?: string): Promise<void>;
52
+ /**
53
+ * unassignMemory removes an auto-assigned topic link. Like assignMemory,
54
+ * this is reserved for worker surfaces. User-initiated clears go through
55
+ * memories.batchMove with a hub-only target (no topic_id).
56
+ */
57
+ unassignMemory(topicId: string, memoryId: string, hubId?: string): Promise<void>;
18
58
  reorder(operations: TopicReorderOperation[], hubId?: string): Promise<void>;
59
+ /**
60
+ * markVisit records that the caller has visited this topic now. This
61
+ * anchors the clear-on-visit semantics for scan-surface dream-delta
62
+ * signals (memory row breadcrumb tint + topic card delta chip).
63
+ *
64
+ * Clients should fire this ONLY on real topic page mount — never from
65
+ * prefetch, hover, or memory detail. The server response is a plain
66
+ * ack; after a successful write, invalidate `['topics']` and
67
+ * `['memories']` query caches so lifecycle signals resolve against
68
+ * the updated visit timestamp on the next read.
69
+ */
70
+ markVisit(topicId: string): Promise<void>;
19
71
  }
20
72
  //# sourceMappingURL=topics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"topics.d.ts","sourceRoot":"","sources":["../../src/resources/topics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAErC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAMhD,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAI/C,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAIjE,MAAM,CACV,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,iBAAiB,EACzB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,KAAK,CAAC;IAOX,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5D,OAAO,CAAC,qBAAqB,CAAC;IAc3B,SAAS,CACb,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAOV,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAQV,OAAO,CACX,UAAU,EAAE,qBAAqB,EAAE,EACnC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;CAMjB"}
1
+ {"version":3,"file":"topics.d.ts","sourceRoot":"","sources":["../../src/resources/topics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAErC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAMhD,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAI/C,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAIvE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,MAAM,CACV,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,iBAAiB,EACzB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,KAAK,CAAC;IAOX,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5D,OAAO,CAAC,qBAAqB,CAAC;IAcjC;;;;;;;;;;OAUG;IACG,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;OAIG;IACG,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAQV,OAAO,CACX,UAAU,EAAE,qBAAqB,EAAE,EACnC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;;;;;;;OAUG;IACG,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAKhD"}
@@ -14,6 +14,30 @@ export class TopicsResource {
14
14
  async create(params, hubId) {
15
15
  return this.req("POST", "/v1/topics", { body: params, hubId });
16
16
  }
17
+ /**
18
+ * update patches an existing topic. Name/description/icon/pinned/position
19
+ * are thin field updates. A `parent_id` change runs the full reparent
20
+ * validation pipeline on the server:
21
+ *
22
+ * - `invalid_parent` — parent id does not exist in the moving topic's
23
+ * hub. This code collapses "no such topic" with "topic in a different
24
+ * hub" to avoid leaking cross-hub existence; if you need to
25
+ * distinguish them for admin tooling, do it server-side with a
26
+ * dedicated error code at that point.
27
+ * - `cycle_detected` — parent id equals the moving topic id, or is a
28
+ * transitive descendant of it (would create a cycle).
29
+ * - `max_depth_subtree` — the moving topic's subtree, planted under the
30
+ * new parent, would exceed the 5-level (0-indexed cap 4) hard limit.
31
+ * - `max_depth` — legacy code from the Create path; preserved for
32
+ * symmetry.
33
+ * - `duplicate_name` — a sibling with the same name already exists at
34
+ * the destination.
35
+ *
36
+ * On success, the server flips UserModified = true on the moving topic
37
+ * so the dream engine respects the manual intent, parity with rename.
38
+ *
39
+ * Pass `parent_id: ""` (or `null`) to reparent to the root.
40
+ */
17
41
  async update(id, params, hubId) {
18
42
  return this.req("PATCH", `/v1/topics/${id}`, {
19
43
  body: params,
@@ -32,13 +56,29 @@ export class TopicsResource {
32
56
  hubId: options?.hubId,
33
57
  });
34
58
  }
35
- async addMemory(topicId, memoryId, confidence, hubId) {
59
+ /**
60
+ * assignMemory is the AUTO-ASSIGNMENT primitive — confidence-gated on the
61
+ * server (ingest + dreams workers only). User-initiated moves MUST go
62
+ * through memories.batchMove, which is authoritative and replaces
63
+ * unconditionally. See docs/plans/10-dreams-and-knowledge.md for the
64
+ * contract rules.
65
+ *
66
+ * The HTTP route is unchanged (POST /v1/topics/{id}/memories) so external
67
+ * API users are not broken — only the TypeScript method name changes to
68
+ * match the actual auto-assignment semantics.
69
+ */
70
+ async assignMemory(topicId, memoryId, confidence, hubId) {
36
71
  await this.req("POST", `/v1/topics/${topicId}/memories`, {
37
72
  body: { memory_id: memoryId, ...(confidence != null && { confidence }) },
38
73
  hubId,
39
74
  });
40
75
  }
41
- async removeMemory(topicId, memoryId, hubId) {
76
+ /**
77
+ * unassignMemory removes an auto-assigned topic link. Like assignMemory,
78
+ * this is reserved for worker surfaces. User-initiated clears go through
79
+ * memories.batchMove with a hub-only target (no topic_id).
80
+ */
81
+ async unassignMemory(topicId, memoryId, hubId) {
42
82
  await this.req("DELETE", `/v1/topics/${topicId}/memories/${memoryId}`, { hubId });
43
83
  }
44
84
  async reorder(operations, hubId) {
@@ -47,5 +87,21 @@ export class TopicsResource {
47
87
  hubId,
48
88
  });
49
89
  }
90
+ /**
91
+ * markVisit records that the caller has visited this topic now. This
92
+ * anchors the clear-on-visit semantics for scan-surface dream-delta
93
+ * signals (memory row breadcrumb tint + topic card delta chip).
94
+ *
95
+ * Clients should fire this ONLY on real topic page mount — never from
96
+ * prefetch, hover, or memory detail. The server response is a plain
97
+ * ack; after a successful write, invalidate `['topics']` and
98
+ * `['memories']` query caches so lifecycle signals resolve against
99
+ * the updated visit timestamp on the next read.
100
+ */
101
+ async markVisit(topicId) {
102
+ await this.req("POST", `/v1/topics/${topicId}/visit`, {
103
+ body: {},
104
+ });
105
+ }
50
106
  }
51
107
  //# sourceMappingURL=topics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"topics.js","sourceRoot":"","sources":["../../src/resources/topics.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C,KAAK,CAAC,IAAI,CAAC,KAAc;QACvB,OAAO,IAAI,CAAC,GAAG,CAAoB,KAAK,EAAE,YAAY,EAAE;YACtD,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;SACzB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU,EAAE,KAAc;QAClC,OAAO,IAAI,CAAC,GAAG,CAAQ,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAyB,EAAE,KAAc;QACpD,OAAO,IAAI,CAAC,GAAG,CAAQ,MAAM,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,MAAM,CACV,EAAU,EACV,MAAyB,EACzB,KAAc;QAEd,OAAO,IAAI,CAAC,GAAG,CAAQ,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE;YAClD,IAAI,EAAE,MAAM;YACZ,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,KAAc;QACrC,MAAM,IAAI,CAAC,GAAG,CAAO,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAe,EACf,OAA6D;QAE7D,OAAO,IAAI,CAAC,GAAG,CACb,KAAK,EACL,cAAc,OAAO,WAAW,EAChC;YACE,KAAK,EAAE;gBACL,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,MAAM,EAAE,OAAO,EAAE,MAAM;aACxB;YACD,KAAK,EAAE,OAAO,EAAE,KAAK;SACtB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CACb,OAAe,EACf,QAAgB,EAChB,UAAmB,EACnB,KAAc;QAEd,MAAM,IAAI,CAAC,GAAG,CAAO,MAAM,EAAE,cAAc,OAAO,WAAW,EAAE;YAC7D,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE;YACxE,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAe,EACf,QAAgB,EAChB,KAAc;QAEd,MAAM,IAAI,CAAC,GAAG,CACZ,QAAQ,EACR,cAAc,OAAO,aAAa,QAAQ,EAAE,EAC5C,EAAE,KAAK,EAAE,CACV,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CACX,UAAmC,EACnC,KAAc;QAEd,MAAM,IAAI,CAAC,GAAG,CAAO,MAAM,EAAE,oBAAoB,EAAE;YACjD,IAAI,EAAE,EAAE,UAAU,EAAE;YACpB,KAAK;SACN,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"topics.js","sourceRoot":"","sources":["../../src/resources/topics.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C,KAAK,CAAC,IAAI,CAAC,KAAc;QACvB,OAAO,IAAI,CAAC,GAAG,CAAoB,KAAK,EAAE,YAAY,EAAE;YACtD,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;SACzB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU,EAAE,KAAc;QAClC,OAAO,IAAI,CAAC,GAAG,CAAQ,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAyB,EAAE,KAAc;QACpD,OAAO,IAAI,CAAC,GAAG,CAAQ,MAAM,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,CAAC,MAAM,CACV,EAAU,EACV,MAAyB,EACzB,KAAc;QAEd,OAAO,IAAI,CAAC,GAAG,CAAQ,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE;YAClD,IAAI,EAAE,MAAM;YACZ,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,KAAc;QACrC,MAAM,IAAI,CAAC,GAAG,CAAO,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAe,EACf,OAA6D;QAE7D,OAAO,IAAI,CAAC,GAAG,CACb,KAAK,EACL,cAAc,OAAO,WAAW,EAChC;YACE,KAAK,EAAE;gBACL,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,MAAM,EAAE,OAAO,EAAE,MAAM;aACxB;YACD,KAAK,EAAE,OAAO,EAAE,KAAK;SACtB,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,YAAY,CAChB,OAAe,EACf,QAAgB,EAChB,UAAmB,EACnB,KAAc;QAEd,MAAM,IAAI,CAAC,GAAG,CAAO,MAAM,EAAE,cAAc,OAAO,WAAW,EAAE;YAC7D,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE;YACxE,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAClB,OAAe,EACf,QAAgB,EAChB,KAAc;QAEd,MAAM,IAAI,CAAC,GAAG,CACZ,QAAQ,EACR,cAAc,OAAO,aAAa,QAAQ,EAAE,EAC5C,EAAE,KAAK,EAAE,CACV,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CACX,UAAmC,EACnC,KAAc;QAEd,MAAM,IAAI,CAAC,GAAG,CAAO,MAAM,EAAE,oBAAoB,EAAE;YACjD,IAAI,EAAE,EAAE,UAAU,EAAE;YACpB,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,SAAS,CAAC,OAAe;QAC7B,MAAM,IAAI,CAAC,GAAG,CAAO,MAAM,EAAE,cAAc,OAAO,QAAQ,EAAE;YAC1D,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,8 +1,14 @@
1
1
  import type { MemaxConfig } from "./types.js";
2
+ /**
3
+ * A value that can be serialized into a query string. Arrays produce
4
+ * repeated `?key=a&key=b` pairs — required by the /v1/notifications
5
+ * list endpoint for `kind` and `resolution` filters.
6
+ */
7
+ export type QueryValue = string | number | boolean | null | undefined | ReadonlyArray<string | number | boolean>;
2
8
  export interface RequestOptions {
3
9
  body?: unknown;
4
10
  hubId?: string;
5
- query?: Record<string, string | number | boolean | null | undefined>;
11
+ query?: Record<string, QueryValue>;
6
12
  }
7
13
  export interface StreamOptions extends RequestOptions {
8
14
  onEvent: (event: string, data: unknown) => void;
@@ -21,6 +27,7 @@ export declare class ApiTransport {
21
27
  private readonly headers;
22
28
  private readonly maxRetries;
23
29
  private readonly retryDelayMs;
30
+ private readonly onWarning?;
24
31
  constructor(config: MemaxConfig);
25
32
  request<T>(method: string, path: string, options?: RequestOptions): Promise<T>;
26
33
  download(path: string, options?: DownloadOptions): Promise<Response>;
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAO9C,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,CAAC,CAAC,CAAC;AAEhB,MAAM,MAAM,QAAQ,GAAG,CACrB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,KACnB,eAAe,CAAC;AAErB,MAAM,MAAM,UAAU,GAAG,CACvB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,eAAe,KACtB,OAAO,CAAC,QAAQ,CAAC,CAAC;AA0DvB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwC;IAChE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,MAAM,EAAE,WAAW;IASzB,OAAO,CAAC,CAAC,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC;IAyFP,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IAoE1E,MAAM,CACJ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,GACrB,eAAe;CAuHnB"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAO9C;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,aAAa,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,CAAC,CAAC,CAAC;AAEhB,MAAM,MAAM,QAAQ,GAAG,CACrB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,KACnB,eAAe,CAAC;AAErB,MAAM,MAAM,UAAU,GAAG,CACvB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,eAAe,KACtB,OAAO,CAAC,QAAQ,CAAC,CAAC;AAoEvB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwC;IAChE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAA4B;gBAE3C,MAAM,EAAE,WAAW;IAUzB,OAAO,CAAC,CAAC,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC;IAqGP,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IA6E1E,MAAM,CACJ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,GACrB,eAAe;CAkInB"}
package/dist/transport.js CHANGED
@@ -42,6 +42,17 @@ function buildQueryString(query) {
42
42
  if (value == null) {
43
43
  continue;
44
44
  }
45
+ if (Array.isArray(value)) {
46
+ // Repeatable params (e.g. ?kind=a&kind=b) — required by the
47
+ // /v1/notifications list endpoint. Skip empty entries rather
48
+ // than emitting `?kind=`.
49
+ for (const item of value) {
50
+ if (item == null || item === "")
51
+ continue;
52
+ params.append(key, String(item));
53
+ }
54
+ continue;
55
+ }
45
56
  params.set(key, String(value));
46
57
  }
47
58
  const encoded = params.toString();
@@ -54,6 +65,7 @@ export class ApiTransport {
54
65
  headers;
55
66
  maxRetries;
56
67
  retryDelayMs;
68
+ onWarning;
57
69
  constructor(config) {
58
70
  this.apiUrl = (config.apiUrl ?? DEFAULT_API_URL).replace(/\/$/, "");
59
71
  this.getAuth = createAuthProvider(config);
@@ -61,6 +73,7 @@ export class ApiTransport {
61
73
  this.headers = config.headers ?? {};
62
74
  this.maxRetries = config.maxRetries ?? DEFAULT_MAX_RETRIES;
63
75
  this.retryDelayMs = config.retryDelayMs ?? DEFAULT_RETRY_DELAY_MS;
76
+ this.onWarning = config.onWarning;
64
77
  }
65
78
  async request(method, path, options) {
66
79
  const url = `${this.apiUrl}${path}${buildQueryString(options?.query)}`;
@@ -98,6 +111,10 @@ export class ApiTransport {
98
111
  throw new MemaxError(`Cannot reach API at ${url} — is the server running?`, "network_error", 0);
99
112
  }
100
113
  const text = await res.text();
114
+ const warning = res.headers.get("X-Memax-Warning");
115
+ if (warning) {
116
+ this.onWarning?.(warning);
117
+ }
101
118
  if (!text && res.ok) {
102
119
  return undefined;
103
120
  }
@@ -116,7 +133,7 @@ export class ApiTransport {
116
133
  : `${requestLabel} returned ${res.status} with non-JSON response`, "invalid_response", res.status);
117
134
  }
118
135
  if (json.error) {
119
- const err = new MemaxError(json.error.message, json.error.code, res.status);
136
+ const err = new MemaxError(json.error.message, json.error.code, res.status, json.error.details);
120
137
  if (json.error.code === "not_ready" && attempt < this.maxRetries) {
121
138
  lastErr = err;
122
139
  await new Promise((resolve) => setTimeout(resolve, this.retryDelayMs));
@@ -167,7 +184,7 @@ export class ApiTransport {
167
184
  try {
168
185
  const json = JSON.parse(text);
169
186
  if (json.error) {
170
- throw new MemaxError(json.error.message, json.error.code, res.status);
187
+ throw new MemaxError(json.error.message, json.error.code, res.status, json.error.details);
171
188
  }
172
189
  }
173
190
  catch (error) {
@@ -235,6 +252,7 @@ export class ApiTransport {
235
252
  message: payload?.error?.message ??
236
253
  `Stream request failed with ${res.status}`,
237
254
  status: res.status,
255
+ details: payload?.error?.details,
238
256
  });
239
257
  return;
240
258
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,eAAe,GAAG,uBAAuB,CAAC;AAChD,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,sBAAsB,GAAG,IAAI,CAAC;AA+CpC,SAAS,YAAY,CAAC,MAAmB;IACvC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IACD,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAmB;IAEnB,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,GAAG,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,UAAU,CAAC,MAAM,GAAG,GAAG;QAC5B,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK;QAClC,CAAC,CAAC,UAAU,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc,EAAE,GAAW;IACrD,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,GAAG,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA+B;IACvD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,4DAA4D;YAC5D,6DAA6D;YAC7D,0BAA0B;YAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE;oBAAE,SAAS;gBAC1C,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAClC,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,OAAO,YAAY;IACN,MAAM,CAAS;IACf,OAAO,CAAwC;IAC/C,SAAS,CAA0B;IACnC,OAAO,CAAyB;IAChC,UAAU,CAAS;IACnB,YAAY,CAAS;IACrB,SAAS,CAA6B;IAEvD,YAAY,MAAmB;QAC7B,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,mBAAmB,CAAC;QAC3D,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,sBAAsB,CAAC;QAClE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,OAAO,CACX,MAAc,EACd,IAAY,EACZ,OAAwB;QAExB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;QAEvE,IAAI,OAAgB,CAAC;QACrB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YAC5D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,OAAO,GAA2B;gBACtC,cAAc,EAAE,kBAAkB;gBAClC,GAAG,IAAI,CAAC,OAAO;gBACf,GAAG,WAAW;aACf,CAAC;YACF,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;gBACnB,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;YACtC,CAAC;YACD,kEAAkE;YAClE,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;gBAC5D,IAAI,EAAE;oBAAE,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YACrC,CAAC;YAAC,MAAM,CAAC;gBACP,sDAAsD;YACxD,CAAC;YAED,IAAI,GAAa,CAAC;YAClB,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;oBAC9B,MAAM;oBACN,OAAO;oBACP,IAAI,EACF,OAAO,EAAE,IAAI,KAAK,SAAS;wBACzB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;wBAC9B,CAAC,CAAC,SAAS;iBAChB,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,UAAU,CAClB,uBAAuB,GAAG,2BAA2B,EACrD,eAAe,EACf,CAAC,CACF,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACnD,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACpB,OAAO,SAAc,CAAC;YACxB,CAAC;YAED,IAAI,IAOH,CAAC;YACF,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACrD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACvB,MAAM,IAAI,UAAU,CAClB,GAAG,YAAY,4BAA4B,EAC3C,cAAc,EACd,GAAG,CACJ,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBAC5C,MAAM,IAAI,UAAU,CAClB,OAAO;oBACL,CAAC,CAAC,GAAG,YAAY,aAAa,GAAG,CAAC,MAAM,4BAA4B,OAAO,EAAE;oBAC7E,CAAC,CAAC,GAAG,YAAY,aAAa,GAAG,CAAC,MAAM,yBAAyB,EACnE,kBAAkB,EAClB,GAAG,CAAC,MAAM,CACX,CAAC;YACJ,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,IAAI,UAAU,CACxB,IAAI,CAAC,KAAK,CAAC,OAAO,EAClB,IAAI,CAAC,KAAK,CAAC,IAAI,EACf,GAAG,CAAC,MAAM,EACV,IAAI,CAAC,KAAK,CAAC,OAAO,CACnB,CAAC;gBACF,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBACjE,OAAO,GAAG,GAAG,CAAC;oBACd,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5B,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CACvC,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,OAAO,IAAI,CAAC,IAAS,CAAC;QACxB,CAAC;QAED,MAAM,OAAO,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,OAAyB;QACpD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,OAAO,GAA2B;YACtC,GAAG,IAAI,CAAC,OAAO;YACf,GAAG,WAAW;SACf,CAAC;QACF,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;QACtC,CAAC;QACD,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;YAC5D,IAAI,EAAE;gBAAE,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;QAED,IAAI,GAAa,CAAC;QAClB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;gBAC9B,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,UAAU;gBACjB,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,UAAU,CAClB,uBAAuB,GAAG,2BAA2B,EACrD,eAAe,EACf,CAAC,CACF,CAAC;QACJ,CAAC;QAED,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACX,OAAO,GAAG,CAAC;QACb,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,UAAU,CAClB,GAAG,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,aAAa,GAAG,CAAC,MAAM,+BAA+B,EACvF,kBAAkB,EAClB,GAAG,CAAC,MAAM,CACX,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAM3B,CAAC;YACF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,UAAU,CAClB,IAAI,CAAC,KAAK,CAAC,OAAO,EAClB,IAAI,CAAC,KAAK,CAAC,IAAI,EACf,GAAG,CAAC,MAAM,EACV,IAAI,CAAC,KAAK,CAAC,OAAO,CACnB,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;gBAChC,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,IAAI,UAAU,CAClB,OAAO;YACL,CAAC,CAAC,GAAG,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,aAAa,GAAG,CAAC,MAAM,4BAA4B,OAAO,EAAE;YAC/F,CAAC,CAAC,GAAG,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,aAAa,GAAG,CAAC,MAAM,yBAAyB,EACrF,kBAAkB,EAClB,GAAG,CAAC,MAAM,CACX,CAAC;IACJ,CAAC;IAED,MAAM,CACJ,MAAc,EACd,IAAY,EACZ,OAAsB;QAEtB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAEtE,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,OAAO,GAA2B;gBACtC,cAAc,EAAE,kBAAkB;gBAClC,MAAM,EAAE,mBAAmB;gBAC3B,GAAG,IAAI,CAAC,OAAO;gBACf,GAAG,WAAW;aACf,CAAC;YACF,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;YACtC,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;gBAC5D,IAAI,EAAE;oBAAE,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YACrC,CAAC;YAAC,MAAM,CAAC;gBACP,4BAA4B;YAC9B,CAAC;YAED,IAAI,GAAa,CAAC;YAClB,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;oBAC9B,MAAM;oBACN,OAAO;oBACP,IAAI,EACF,OAAO,CAAC,IAAI,KAAK,SAAS;wBACxB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;wBAC9B,CAAC,CAAC,SAAS;oBACf,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC/B,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;wBACvB,IAAI,EAAE,eAAe;wBACrB,OAAO,EACL,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;qBACpE,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACzB,IAAI,OAQS,CAAC;gBACd,IAAI,CAAC;oBACH,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAM1B,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;oBACvB,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,IAAI,cAAc;oBAC5C,OAAO,EACL,OAAO,EAAE,KAAK,EAAE,OAAO;wBACvB,8BAA8B,GAAG,CAAC,MAAM,EAAE;oBAC5C,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO;iBACjC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,YAAY,GAAG,EAAE,CAAC;YAEtB,IAAI,CAAC;gBACH,OAAO,IAAI,EAAE,CAAC;oBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC5C,IAAI,IAAI;wBAAE,MAAM;oBAEhB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;oBAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;oBAE3B,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;wBAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;wBAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;4BACV,YAAY,GAAG,EAAE,CAAC;4BAClB,SAAS;wBACX,CAAC;wBACD,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;4BAC/B,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;4BACpC,SAAS;wBACX,CAAC;wBACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;4BAAE,SAAS;wBAEzC,MAAM,SAAS,GAAG,YAAY,IAAI,SAAS,CAAC;wBAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC9B,IAAI,IAAI,GAAY,OAAO,CAAC;wBAC5B,IAAI,CAAC;4BACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC7B,CAAC;wBAAC,MAAM,CAAC;4BACP,kBAAkB;wBACpB,CAAC;wBACD,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC/B,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;wBACvB,IAAI,EAAE,cAAc;wBACpB,OAAO,EACL,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB;qBAChE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC/B,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}