@goable-io/sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/generated/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * GENERATED FILE — do not edit by hand.
3
+ * Source: apps/api/src/openapi/spec.ts (buildOpenApiSpec).
4
+ * Regenerate: pnpm --filter @goable-io/sdk gen
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/generated/api.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @goable-io/sdk — TypeScript client for the Goable API.
3
+ *
4
+ * import { GoableClient } from "@goable-io/sdk"
5
+ * const goable = new GoableClient({ apiKey: process.env.GOABLE_API_KEY! })
6
+ * const { score, verdict } = await goable.score({
7
+ * activity: "kitesurfing",
8
+ * location: { lat: 43.7, lng: 7.27 },
9
+ * })
10
+ */
11
+ export { GoableClient } from "./client.js";
12
+ export type { FetchLike, GoableClientOptions } from "./client.js";
13
+ export { GoableApiError, GoableNetworkError, type ZodIssueLike, } from "./errors.js";
14
+ export type * from "./types.js";
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjE,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,KAAK,YAAY,GAClB,MAAM,aAAa,CAAA;AACpB,mBAAmB,YAAY,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @goable-io/sdk — TypeScript client for the Goable API.
3
+ *
4
+ * import { GoableClient } from "@goable-io/sdk"
5
+ * const goable = new GoableClient({ apiKey: process.env.GOABLE_API_KEY! })
6
+ * const { score, verdict } = await goable.score({
7
+ * activity: "kitesurfing",
8
+ * location: { lat: 43.7, lng: 7.27 },
9
+ * })
10
+ */
11
+ export { GoableClient } from "./client.js";
12
+ export { GoableApiError, GoableNetworkError, } from "./errors.js";
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EACL,cAAc,EACd,kBAAkB,GAEnB,MAAM,aAAa,CAAA"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Public request/response types — DERIVED from the generated OpenAPI
3
+ * contract (src/generated/api.ts), never hand-authored. A change to the
4
+ * API's OpenAPI document + `pnpm gen` updates these automatically; only a
5
+ * genuinely new endpoint (new client method) is a manual change.
6
+ *
7
+ * These are thin, named aliases over `paths[...]` so call sites read
8
+ * nicely (`ScoreRequest`, `ScoreResponse`) instead of deep index chains.
9
+ */
10
+ import type { components, paths } from "./generated/api.js";
11
+ type JsonOf<T> = T extends {
12
+ content: {
13
+ "application/json": infer B;
14
+ };
15
+ } ? B : never;
16
+ /** application/json request body of an operation. */
17
+ type ReqOf<O> = O extends {
18
+ requestBody?: infer RB;
19
+ } ? JsonOf<NonNullable<RB>> : never;
20
+ /** application/json body of a response status code. */
21
+ type ResOf<O, C extends number> = O extends {
22
+ responses: infer R;
23
+ } ? C extends keyof R ? JsonOf<R[C]> : never : never;
24
+ type Post<P extends keyof paths> = paths[P] extends {
25
+ post: infer O;
26
+ } ? O : never;
27
+ export type GeoPoint = components["schemas"]["GeoPoint"];
28
+ export type TimeWindowInput = components["schemas"]["TimeWindow"];
29
+ export type Verdict = components["schemas"]["Verdict"];
30
+ export type ScoreRequest = ReqOf<Post<"/v1/score">>;
31
+ export type ScoreResponse = ResOf<Post<"/v1/score">, 200>;
32
+ export type ScoreSeriesRequest = ReqOf<Post<"/v1/score/series">>;
33
+ export type ScoreSeriesResponse = ResOf<Post<"/v1/score/series">, 200>;
34
+ export type ScoreMultiRequest = ReqOf<Post<"/v1/score/multi">>;
35
+ export type ScoreMultiResponse = ResOf<Post<"/v1/score/multi">, 200>;
36
+ export type ScoreHistoricalRequest = ReqOf<Post<"/v1/score/historical">>;
37
+ export type ScoreHistoricalResponse = ResOf<Post<"/v1/score/historical">, 200>;
38
+ export type ScorePortfolioRequest = ReqOf<Post<"/v1/score/portfolio">>;
39
+ export type ScorePortfolioResponse = ResOf<Post<"/v1/score/portfolio">, 200>;
40
+ export type CounterfactualRequest = ReqOf<Post<"/v1/score/explain-counterfactual">>;
41
+ export type CounterfactualResponse = ResOf<Post<"/v1/score/explain-counterfactual">, 200>;
42
+ export type DecisionRequest = ReqOf<Post<"/v1/decision">>;
43
+ export type DecisionResponse = ResOf<Post<"/v1/decision">, 200>;
44
+ export type ExplainRequest = ReqOf<Post<"/v1/intelligence/explain">>;
45
+ export type ExplainResponse = ResOf<Post<"/v1/intelligence/explain">, 200>;
46
+ export type BriefingRequest = ReqOf<Post<"/v1/intelligence/briefing">>;
47
+ export type BriefingResponse = ResOf<Post<"/v1/intelligence/briefing">, 200>;
48
+ export type ProjectionsRequest = ReqOf<Post<"/v1/projections">>;
49
+ export type ProjectionsResponse = ResOf<Post<"/v1/projections">, 200>;
50
+ export type QuoteRequest = ReqOf<Post<"/v1/underwriting/quote">>;
51
+ export type QuoteResponse = ResOf<Post<"/v1/underwriting/quote">, 200>;
52
+ export type HealthResponse = ResOf<paths["/v1/health"] extends {
53
+ get: infer O;
54
+ } ? O : never, 200>;
55
+ /** GDPR erasure surfaces receipt headers from the 204 response. */
56
+ export interface DeleteUserDataResult {
57
+ status: number;
58
+ anonymizedRows: number | null;
59
+ anonymizedDecisionRuns: number | null;
60
+ receipt: string | null;
61
+ }
62
+ export type { components, paths } from "./generated/api.js";
63
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Public request/response types — DERIVED from the generated OpenAPI
3
+ * contract (src/generated/api.ts), never hand-authored. A change to the
4
+ * API's OpenAPI document + `pnpm gen` updates these automatically; only a
5
+ * genuinely new endpoint (new client method) is a manual change.
6
+ *
7
+ * These are thin, named aliases over `paths[...]` so call sites read
8
+ * nicely (`ScoreRequest`, `ScoreResponse`) instead of deep index chains.
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@goable-io/sdk",
3
+ "version": "0.1.0",
4
+ "description": "TypeScript client for the Goable API — suitability scoring for outdoor activities.",
5
+ "private": false,
6
+ "type": "module",
7
+ "license": "MIT",
8
+ "homepage": "https://goable.io",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/goable-io/goable",
12
+ "directory": "packages/sdk"
13
+ },
14
+ "keywords": [
15
+ "goable",
16
+ "weather",
17
+ "scoring",
18
+ "outdoor",
19
+ "forecast",
20
+ "kitesurf",
21
+ "api-client",
22
+ "sdk"
23
+ ],
24
+ "sideEffects": false,
25
+ "main": "./dist/index.js",
26
+ "types": "./dist/index.d.ts",
27
+ "exports": {
28
+ ".": {
29
+ "types": "./dist/index.d.ts",
30
+ "default": "./dist/index.js"
31
+ }
32
+ },
33
+ "files": [
34
+ "dist",
35
+ "src",
36
+ "README.md"
37
+ ],
38
+ "engines": {
39
+ "node": ">=18"
40
+ },
41
+ "publishConfig": {
42
+ "access": "public"
43
+ },
44
+ "devDependencies": {
45
+ "openapi-typescript": "^7.13.0",
46
+ "tsx": "^4.19.2",
47
+ "typescript": "^5.7.2",
48
+ "vitest": "^2.1.8"
49
+ },
50
+ "scripts": {
51
+ "build": "tsc -b",
52
+ "typecheck": "tsc --noEmit",
53
+ "test": "vitest run --passWithNoTests",
54
+ "gen": "tsx scripts/gen.ts",
55
+ "clean": "rm -rf dist .turbo *.tsbuildinfo"
56
+ }
57
+ }
package/src/client.ts ADDED
@@ -0,0 +1,206 @@
1
+ /**
2
+ * GoableClient — thin typed transport over the public Goable REST API.
3
+ * No caching, no business logic; one `request<T>` powers every method.
4
+ */
5
+
6
+ import { GoableNetworkError, toApiError } from "./errors.js"
7
+ import type {
8
+ BriefingRequest,
9
+ BriefingResponse,
10
+ CounterfactualRequest,
11
+ CounterfactualResponse,
12
+ DecisionRequest,
13
+ DecisionResponse,
14
+ DeleteUserDataResult,
15
+ ExplainRequest,
16
+ ExplainResponse,
17
+ HealthResponse,
18
+ ProjectionsRequest,
19
+ ProjectionsResponse,
20
+ QuoteRequest,
21
+ QuoteResponse,
22
+ ScoreHistoricalRequest,
23
+ ScoreHistoricalResponse,
24
+ ScoreMultiRequest,
25
+ ScoreMultiResponse,
26
+ ScorePortfolioRequest,
27
+ ScorePortfolioResponse,
28
+ ScoreRequest,
29
+ ScoreResponse,
30
+ ScoreSeriesRequest,
31
+ ScoreSeriesResponse,
32
+ } from "./types.js"
33
+
34
+ export type FetchLike = (
35
+ input: string,
36
+ init?: {
37
+ method?: string
38
+ headers?: Record<string, string>
39
+ body?: string
40
+ signal?: AbortSignal
41
+ },
42
+ ) => Promise<{
43
+ ok: boolean
44
+ status: number
45
+ headers: { get(name: string): string | null }
46
+ text(): Promise<string>
47
+ }>
48
+
49
+ export interface GoableClientOptions {
50
+ /** Tenant API key — sent as `Authorization: Bearer <apiKey>`. */
51
+ apiKey: string
52
+ /** Base URL. Default https://api.goable.io */
53
+ baseUrl?: string
54
+ /** Injected fetch (tests, non-global-fetch runtimes). Default globalThis.fetch. */
55
+ fetch?: FetchLike
56
+ /** Per-request timeout in ms. Default 30000. 0 disables. */
57
+ timeoutMs?: number
58
+ }
59
+
60
+ const DEFAULT_BASE_URL = "https://api.goable.io"
61
+ const DEFAULT_TIMEOUT_MS = 30_000
62
+
63
+ export class GoableClient {
64
+ private readonly apiKey: string
65
+ private readonly baseUrl: string
66
+ private readonly fetchImpl: FetchLike
67
+ private readonly timeoutMs: number
68
+
69
+ constructor(options: GoableClientOptions) {
70
+ if (!options.apiKey) throw new Error("GoableClient requires an apiKey")
71
+ this.apiKey = options.apiKey
72
+ this.baseUrl = (options.baseUrl ?? DEFAULT_BASE_URL).replace(/\/+$/, "")
73
+ const f = options.fetch ?? (globalThis.fetch as unknown as FetchLike | undefined)
74
+ if (!f) {
75
+ throw new Error("No fetch available — pass options.fetch (Node < 18 or non-fetch runtime)")
76
+ }
77
+ this.fetchImpl = f
78
+ this.timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS
79
+ }
80
+
81
+ // ── public methods ──────────────────────────────────────────────────────
82
+ health(): Promise<HealthResponse> {
83
+ return this.request<HealthResponse>("GET", "/v1/health")
84
+ }
85
+
86
+ score(input: ScoreRequest): Promise<ScoreResponse> {
87
+ return this.request<ScoreResponse>("POST", "/v1/score", input)
88
+ }
89
+
90
+ scoreSeries(input: ScoreSeriesRequest): Promise<ScoreSeriesResponse> {
91
+ return this.request<ScoreSeriesResponse>("POST", "/v1/score/series", input)
92
+ }
93
+
94
+ scoreMulti(input: ScoreMultiRequest): Promise<ScoreMultiResponse> {
95
+ return this.request<ScoreMultiResponse>("POST", "/v1/score/multi", input)
96
+ }
97
+
98
+ scoreHistorical(input: ScoreHistoricalRequest): Promise<ScoreHistoricalResponse> {
99
+ return this.request<ScoreHistoricalResponse>("POST", "/v1/score/historical", input)
100
+ }
101
+
102
+ scorePortfolio(input: ScorePortfolioRequest): Promise<ScorePortfolioResponse> {
103
+ return this.request<ScorePortfolioResponse>("POST", "/v1/score/portfolio", input)
104
+ }
105
+
106
+ explainCounterfactual(input: CounterfactualRequest): Promise<CounterfactualResponse> {
107
+ return this.request<CounterfactualResponse>("POST", "/v1/score/explain-counterfactual", input)
108
+ }
109
+
110
+ decision(input: DecisionRequest): Promise<DecisionResponse> {
111
+ return this.request<DecisionResponse>("POST", "/v1/decision", input)
112
+ }
113
+
114
+ explain(input: ExplainRequest): Promise<ExplainResponse> {
115
+ return this.request<ExplainResponse>("POST", "/v1/intelligence/explain", input)
116
+ }
117
+
118
+ briefing(input: BriefingRequest): Promise<BriefingResponse> {
119
+ return this.request<BriefingResponse>("POST", "/v1/intelligence/briefing", input)
120
+ }
121
+
122
+ projections(input: ProjectionsRequest): Promise<ProjectionsResponse> {
123
+ return this.request<ProjectionsResponse>("POST", "/v1/projections", input)
124
+ }
125
+
126
+ quote(input: QuoteRequest): Promise<QuoteResponse> {
127
+ return this.request<QuoteResponse>("POST", "/v1/underwriting/quote", input)
128
+ }
129
+
130
+ /** GDPR Art. 17 erasure. Surfaces the receipt headers from a 204. */
131
+ async deleteUserData(pseudonym: string): Promise<DeleteUserDataResult> {
132
+ const res = await this.rawRequest(
133
+ "DELETE",
134
+ `/v1/decision/user-data/${encodeURIComponent(pseudonym)}`,
135
+ )
136
+ if (!res.ok) {
137
+ throw toApiError(res.status, await safeJson(res))
138
+ }
139
+ const intHeader = (name: string): number | null => {
140
+ const v = res.headers.get(name)
141
+ const n = v === null ? Number.NaN : Number(v)
142
+ return Number.isFinite(n) ? n : null
143
+ }
144
+ return {
145
+ status: res.status,
146
+ anonymizedRows: intHeader("X-Anonymized-Rows"),
147
+ anonymizedDecisionRuns: intHeader("X-Anonymized-Decision-Runs"),
148
+ receipt: res.headers.get("X-Receipt"),
149
+ }
150
+ }
151
+
152
+ // ── transport ─────────────────────────────────────────────────────────────
153
+ private async request<T>(method: string, path: string, body?: unknown): Promise<T> {
154
+ const res = await this.rawRequest(method, path, body)
155
+ const parsed = await safeJson(res)
156
+ if (!res.ok) throw toApiError(res.status, parsed)
157
+ return parsed as T
158
+ }
159
+
160
+ private async rawRequest(method: string, path: string, body?: unknown): ReturnType<FetchLike> {
161
+ const headers: Record<string, string> = {
162
+ Authorization: `Bearer ${this.apiKey}`,
163
+ Accept: "application/json",
164
+ }
165
+ if (body !== undefined) headers["Content-Type"] = "application/json"
166
+
167
+ const controller = this.timeoutMs > 0 ? new AbortController() : undefined
168
+ const timer =
169
+ controller && this.timeoutMs > 0
170
+ ? setTimeout(() => controller.abort(), this.timeoutMs)
171
+ : undefined
172
+
173
+ try {
174
+ return await this.fetchImpl(`${this.baseUrl}${path}`, {
175
+ method,
176
+ headers,
177
+ ...(body !== undefined && { body: JSON.stringify(body) }),
178
+ ...(controller && { signal: controller.signal }),
179
+ })
180
+ } catch (err) {
181
+ const aborted = (err as { name?: string })?.name === "AbortError"
182
+ throw new GoableNetworkError(
183
+ aborted ? `Request timed out after ${this.timeoutMs}ms` : `Network request failed: ${path}`,
184
+ aborted ? "timeout" : "network",
185
+ err,
186
+ )
187
+ } finally {
188
+ if (timer) clearTimeout(timer)
189
+ }
190
+ }
191
+ }
192
+
193
+ async function safeJson(res: { text(): Promise<string> }): Promise<unknown> {
194
+ let text: string
195
+ try {
196
+ text = await res.text()
197
+ } catch (err) {
198
+ throw new GoableNetworkError("Failed to read response body", "parse", err)
199
+ }
200
+ if (text === "") return undefined
201
+ try {
202
+ return JSON.parse(text)
203
+ } catch {
204
+ return text
205
+ }
206
+ }
package/src/errors.ts ADDED
@@ -0,0 +1,75 @@
1
+ /**
2
+ * SDK error model. Two distinct failure modes:
3
+ * - GoableApiError : the API returned a non-2xx response. Maps the
4
+ * canonical flat error envelope
5
+ * ({ error, message?, issues?, detail? }).
6
+ * - GoableNetworkError: the request never produced an HTTP response
7
+ * (DNS, connection, abort/timeout, JSON parse).
8
+ */
9
+
10
+ export interface ZodIssueLike {
11
+ code?: string
12
+ path?: Array<string | number>
13
+ message?: string
14
+ [k: string]: unknown
15
+ }
16
+
17
+ export class GoableApiError extends Error {
18
+ override readonly name = "GoableApiError"
19
+ /** HTTP status code. */
20
+ readonly status: number
21
+ /** Machine-readable code from the `error` field (e.g. "PAYMENT_REQUIRED"). */
22
+ readonly code: string
23
+ /** Zod validation issues, present on 422 VALIDATION_ERROR responses. */
24
+ readonly issues?: ZodIssueLike[]
25
+ /** Free-form extra context (e.g. plan info, quote id). */
26
+ readonly detail?: Record<string, unknown>
27
+
28
+ constructor(
29
+ status: number,
30
+ code: string,
31
+ message?: string,
32
+ extra?: { issues?: ZodIssueLike[]; detail?: Record<string, unknown> },
33
+ ) {
34
+ super(message ?? code)
35
+ this.status = status
36
+ this.code = code
37
+ if (extra?.issues) this.issues = extra.issues
38
+ if (extra?.detail) this.detail = extra.detail
39
+ // Restore prototype chain for `instanceof` across transpilation targets.
40
+ Object.setPrototypeOf(this, GoableApiError.prototype)
41
+ }
42
+ }
43
+
44
+ export class GoableNetworkError extends Error {
45
+ override readonly name = "GoableNetworkError"
46
+ /** "timeout" when the request was aborted by the configured timeout. */
47
+ readonly kind: "timeout" | "network" | "parse"
48
+ override readonly cause?: unknown
49
+
50
+ constructor(message: string, kind: "timeout" | "network" | "parse", cause?: unknown) {
51
+ super(message)
52
+ this.kind = kind
53
+ if (cause !== undefined) this.cause = cause
54
+ Object.setPrototypeOf(this, GoableNetworkError.prototype)
55
+ }
56
+ }
57
+
58
+ interface RawErrorBody {
59
+ error?: unknown
60
+ message?: unknown
61
+ issues?: unknown
62
+ detail?: unknown
63
+ }
64
+
65
+ /** Map a parsed error body + status into a GoableApiError. Tolerant of a
66
+ * non-conforming body (falls back to the status code as the error code). */
67
+ export function toApiError(status: number, body: unknown): GoableApiError {
68
+ const b = (body ?? {}) as RawErrorBody
69
+ const code = typeof b.error === "string" ? b.error : `HTTP_${status}`
70
+ const message = typeof b.message === "string" ? b.message : undefined
71
+ const extra: { issues?: ZodIssueLike[]; detail?: Record<string, unknown> } = {}
72
+ if (Array.isArray(b.issues)) extra.issues = b.issues as ZodIssueLike[]
73
+ if (b.detail && typeof b.detail === "object") extra.detail = b.detail as Record<string, unknown>
74
+ return new GoableApiError(status, code, message, extra)
75
+ }