memax-sdk 0.1.12 → 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.
- package/dist/client.d.ts +4 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +6 -3
- package/dist/client.js.map +1 -1
- package/dist/client.test.js +226 -1
- package/dist/client.test.js.map +1 -1
- package/dist/errors.d.ts +4 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +7 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/resources/admin.d.ts +357 -0
- package/dist/resources/admin.d.ts.map +1 -0
- package/dist/resources/admin.js +168 -0
- package/dist/resources/admin.js.map +1 -0
- package/dist/resources/agent-sessions.d.ts +3 -1
- package/dist/resources/agent-sessions.d.ts.map +1 -1
- package/dist/resources/agent-sessions.js +6 -0
- package/dist/resources/agent-sessions.js.map +1 -1
- package/dist/resources/agents.d.ts +14 -0
- package/dist/resources/agents.d.ts.map +1 -1
- package/dist/resources/agents.js +21 -1
- package/dist/resources/agents.js.map +1 -1
- package/dist/resources/auth.d.ts +12 -2
- package/dist/resources/auth.d.ts.map +1 -1
- package/dist/resources/auth.js +15 -1
- package/dist/resources/auth.js.map +1 -1
- package/dist/resources/configs.d.ts +20 -1
- package/dist/resources/configs.d.ts.map +1 -1
- package/dist/resources/configs.js +25 -0
- package/dist/resources/configs.js.map +1 -1
- package/dist/resources/hubs.d.ts +22 -3
- package/dist/resources/hubs.d.ts.map +1 -1
- package/dist/resources/hubs.js +26 -4
- package/dist/resources/hubs.js.map +1 -1
- package/dist/resources/memories.d.ts +48 -7
- package/dist/resources/memories.d.ts.map +1 -1
- package/dist/resources/memories.js +60 -3
- package/dist/resources/memories.js.map +1 -1
- package/dist/resources/notifications.d.ts +75 -0
- package/dist/resources/notifications.d.ts.map +1 -0
- package/dist/resources/notifications.js +106 -0
- package/dist/resources/notifications.js.map +1 -0
- package/dist/resources/settings.d.ts +11 -3
- package/dist/resources/settings.d.ts.map +1 -1
- package/dist/resources/settings.js +10 -0
- package/dist/resources/settings.js.map +1 -1
- package/dist/resources/topics.d.ts +54 -2
- package/dist/resources/topics.d.ts.map +1 -1
- package/dist/resources/topics.js +58 -2
- package/dist/resources/topics.js.map +1 -1
- package/dist/transport.d.ts +8 -1
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +20 -2
- package/dist/transport.js.map +1 -1
- package/dist/types.d.ts +771 -18
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/resources/reviews.d.ts +0 -9
- package/dist/resources/reviews.d.ts.map +0 -1
- package/dist/resources/reviews.js +0 -16
- package/dist/resources/reviews.js.map +0 -1
package/dist/resources/auth.d.ts
CHANGED
|
@@ -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
|
-
|
|
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;
|
|
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"}
|
package/dist/resources/auth.js
CHANGED
|
@@ -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":"
|
|
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;
|
|
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":"
|
|
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"}
|
package/dist/resources/hubs.d.ts
CHANGED
|
@@ -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
|
-
|
|
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;
|
|
1
|
+
{"version":3,"file":"hubs.d.ts","sourceRoot":"","sources":["../../src/resources/hubs.ts"],"names":[],"mappings":"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"}
|
package/dist/resources/hubs.js
CHANGED
|
@@ -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
|
-
|
|
39
|
-
|
|
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":"
|
|
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
|
-
|
|
28
|
-
|
|
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;
|
|
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",
|
|
@@ -95,7 +97,7 @@ export class MemoriesResource {
|
|
|
95
97
|
/** Fast full-text search (trigram + tsvector, no embeddings). Target: <200ms. */
|
|
96
98
|
async search(query, options) {
|
|
97
99
|
return this.req("GET", "/v1/memories/search", {
|
|
98
|
-
query: { q: query, limit: options?.limit },
|
|
100
|
+
query: { q: query, limit: options?.limit, topic_id: options?.topicId },
|
|
99
101
|
hubId: options?.hubId,
|
|
100
102
|
});
|
|
101
103
|
}
|
|
@@ -122,15 +124,70 @@ export class MemoriesResource {
|
|
|
122
124
|
async downloadAttachment(memoryID, attachmentID) {
|
|
123
125
|
return this.download(`/v1/memories/${memoryID}/attachments/${attachmentID}/download`);
|
|
124
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
|
+
*/
|
|
125
154
|
async batchDelete(ids) {
|
|
126
|
-
|
|
155
|
+
const raw = await this.req("POST", "/v1/memories/batch-delete", {
|
|
127
156
|
body: { ids },
|
|
128
157
|
});
|
|
158
|
+
return {
|
|
159
|
+
deleted: raw?.deleted ?? 0,
|
|
160
|
+
skipped: raw?.skipped ?? [],
|
|
161
|
+
};
|
|
129
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
|
+
*/
|
|
130
182
|
async batchMove(ids, target) {
|
|
131
|
-
|
|
183
|
+
const raw = await this.req("POST", "/v1/memories/batch-move", {
|
|
132
184
|
body: { ids, topic_id: target.topicId, hub_id: target.hubId },
|
|
185
|
+
hubId: target.hubId,
|
|
133
186
|
});
|
|
187
|
+
return {
|
|
188
|
+
moved: raw?.moved ?? 0,
|
|
189
|
+
skipped: raw?.skipped ?? [],
|
|
190
|
+
};
|
|
134
191
|
}
|
|
135
192
|
}
|
|
136
193
|
//# sourceMappingURL=memories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memories.js","sourceRoot":"","sources":["../../src/resources/memories.ts"],"names":[],"mappings":"
|
|
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"}
|