backpack-ontology 0.7.8 → 0.7.9

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.
@@ -36,35 +36,35 @@ export class SyncRelayClient {
36
36
  /** POST /api/sync/register — idempotent. Returns the canonical record. */
37
37
  async register(input) {
38
38
  const res = await this.request("POST", "/api/sync/register", input);
39
- if (!res.ok) {
39
+ if (!res.ok || isHtmlResponse(res)) {
40
40
  throw await errorFromResponse(res, "register failed");
41
41
  }
42
- return (await res.json());
42
+ return (await safeJson(res, "register"));
43
43
  }
44
44
  /** GET /api/sync/backpacks — list the user's sync backpacks. */
45
45
  async listBackpacks() {
46
46
  const res = await this.request("GET", "/api/sync/backpacks");
47
- if (!res.ok) {
47
+ if (!res.ok || isHtmlResponse(res)) {
48
48
  throw await errorFromResponse(res, "listBackpacks failed");
49
49
  }
50
- const body = (await res.json());
51
- return body.backpacks ?? [];
50
+ const body = await safeJson(res, "listBackpacks");
51
+ return body?.backpacks ?? [];
52
52
  }
53
53
  /** GET /api/sync/backpacks/{id}/manifest. */
54
54
  async manifest(backpackId) {
55
55
  const res = await this.request("GET", `/api/sync/backpacks/${encodeURIComponent(backpackId)}/manifest`);
56
- if (!res.ok) {
56
+ if (!res.ok || isHtmlResponse(res)) {
57
57
  throw await errorFromResponse(res, "manifest failed");
58
58
  }
59
- return (await res.json());
59
+ return (await safeJson(res, "manifest"));
60
60
  }
61
61
  /** GET one artifact. */
62
62
  async getArtifact(backpackId, artifactId) {
63
63
  const res = await this.request("GET", `/api/sync/backpacks/${encodeURIComponent(backpackId)}/artifacts/${encodeURIComponent(artifactId)}`);
64
- if (!res.ok) {
64
+ if (!res.ok || isHtmlResponse(res)) {
65
65
  throw await errorFromResponse(res, "getArtifact failed");
66
66
  }
67
- return (await res.json());
67
+ return (await safeJson(res, "getArtifact"));
68
68
  }
69
69
  /**
70
70
  * PUT one artifact. expectedVersion is the version the client believes the
@@ -78,10 +78,10 @@ export class SyncRelayClient {
78
78
  const cur = body.current;
79
79
  throw new SyncVersionConflictError(artifactId, cur?.version ?? 0, cur?.content_hash ?? "");
80
80
  }
81
- if (!res.ok) {
81
+ if (!res.ok || isHtmlResponse(res)) {
82
82
  throw await errorFromResponse(res, "putArtifact failed");
83
83
  }
84
- return (await res.json());
84
+ return (await safeJson(res, "putArtifact"));
85
85
  }
86
86
  /** DELETE one artifact (tombstones it). */
87
87
  async deleteArtifact(backpackId, artifactId) {
@@ -104,6 +104,14 @@ export class SyncRelayClient {
104
104
  }
105
105
  async function errorFromResponse(res, prefix) {
106
106
  const text = await res.text().catch(() => "");
107
+ // Special-case the oauth2-proxy redirect-to-IDP HTML response: that means
108
+ // the bearer token was rejected (typically expired). Surface a clear
109
+ // message instead of the raw HTML.
110
+ if (res.status === 302 ||
111
+ res.headers.get("content-type")?.includes("text/html") ||
112
+ /^\s*<(!doctype|html|\?xml)/i.test(text)) {
113
+ return new Error(`${prefix}: relay token rejected (likely expired). Re-sign-in via the Share extension and try again.`);
114
+ }
107
115
  let detail = text;
108
116
  try {
109
117
  const parsed = JSON.parse(text);
@@ -115,4 +123,17 @@ async function errorFromResponse(res, prefix) {
115
123
  }
116
124
  return new Error(`${prefix}: ${res.status} ${res.statusText}${detail ? ` — ${detail}` : ""}`);
117
125
  }
126
+ function isHtmlResponse(res) {
127
+ const ct = res.headers.get("content-type") ?? "";
128
+ return ct.includes("text/html");
129
+ }
130
+ async function safeJson(res, op) {
131
+ const text = await res.text();
132
+ try {
133
+ return JSON.parse(text);
134
+ }
135
+ catch {
136
+ throw new Error(`${op} returned non-JSON body (status ${res.status})`);
137
+ }
138
+ }
118
139
  //# sourceMappingURL=sync-relay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync-relay.js","sourceRoot":"","sources":["../../src/sync/sync-relay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-relay.js","sourceRoot":"","sources":["../../src/sync/sync-relay.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "backpack-ontology",
3
- "version": "0.7.8",
3
+ "version": "0.7.9",
4
4
  "description": "A persistent learning graph engine for Claude Code via MCP — structured knowledge that carries forward across sessions",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Noah Irzinger",