@devpad/api 2.0.0 → 2.0.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devpad/api",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
4
4
  "author": {
5
5
  "name": "f0rbit",
6
6
  "url": "https://github.com/f0rbit"
@@ -12,8 +12,8 @@
12
12
  },
13
13
  "main": "dist/index.js",
14
14
  "scripts": {
15
- "build": "bunx tsc",
16
- "build:watch": "bunx tsc --watch",
15
+ "build": "bunx tsup",
16
+ "build:watch": "bunx tsup --watch",
17
17
  "test": "bun test",
18
18
  "test:unit": "bun test tests/unit/",
19
19
  "test:integration": "bun test tests/integration/",
@@ -23,20 +23,33 @@
23
23
  "clean": "rm -rf dist"
24
24
  },
25
25
  "dependencies": {
26
- "@devpad/schema": "^2.0.0",
27
26
  "@f0rbit/corpus": "^0.3.5",
28
27
  "zod": "^3.22.4"
29
28
  },
30
29
  "devDependencies": {
30
+ "@devpad/schema": "^2.0.2",
31
31
  "@types/node": "^20.11.24",
32
32
  "bun-types": "latest",
33
33
  "eslint": "^8.57.0",
34
+ "tsup": "^8.0.0",
34
35
  "typescript": "^5.9.2"
35
36
  },
36
37
  "exports": {
37
38
  ".": {
38
39
  "types": "./dist/index.d.ts",
39
40
  "import": "./dist/index.js"
41
+ },
42
+ "./schema": {
43
+ "types": "./dist/schema/index.d.ts",
44
+ "import": "./dist/schema/index.js"
45
+ },
46
+ "./schema/blog": {
47
+ "types": "./dist/schema/blog.d.ts",
48
+ "import": "./dist/schema/blog.js"
49
+ },
50
+ "./schema/media": {
51
+ "types": "./dist/schema/media.d.ts",
52
+ "import": "./dist/schema/media.js"
40
53
  }
41
54
  },
42
55
  "bugs": {
@@ -1,470 +0,0 @@
1
- import type { ApiKey, GetConfigResult, Goal, HistoryAction, Milestone, Project, SaveConfigRequest, TagWithTypedColor, TaskWithDetails, UpsertProject, UpsertTag, UpsertTodo } from "@devpad/schema";
2
- import type { AccessKey, Category, CategoryCreate, Post, PostContent, PostCreate, PostListParams, PostsResponse, PostUpdate, VersionInfo } from "@devpad/schema/blog";
3
- import type { Account, AddFilterInput, CreateProfileInput, PlatformSettings, Profile, ProfileFilter, Timeline, UpdateProfileInput } from "@devpad/schema/media";
4
- import { type ApiResult } from "./result";
5
- type TagWithCount = {
6
- tag: string;
7
- count: number;
8
- };
9
- type SanitizedToken = {
10
- id: string;
11
- name: string | null;
12
- note: string | null;
13
- enabled: boolean;
14
- created_at: string;
15
- };
16
- type CreatedToken = SanitizedToken & {
17
- token: string;
18
- };
19
- type AccessKeyCreate = {
20
- name: string;
21
- note?: string;
22
- };
23
- type AccessKeyUpdate = {
24
- name?: string;
25
- note?: string;
26
- enabled?: boolean;
27
- };
28
- /**
29
- * Authentication mode for the API client
30
- */
31
- export type AuthMode = "session" | "key" | "cookie";
32
- /**
33
- * API client with Result-wrapped operations for clean error handling
34
- * All methods return ApiResult<T> types using @f0rbit/corpus Result
35
- */
36
- export declare class ApiClient {
37
- private readonly clients;
38
- private _api_key;
39
- private _auth_mode;
40
- constructor(options: {
41
- base_url?: string;
42
- api_key?: string;
43
- auth_mode?: AuthMode;
44
- max_history_size?: number;
45
- credentials?: "include" | "omit" | "same-origin";
46
- default_headers?: Record<string, string>;
47
- custom_fetch?: typeof fetch;
48
- });
49
- /**
50
- * Auth namespace with Result-wrapped operations
51
- */
52
- readonly auth: {
53
- session: () => Promise<ApiResult<{
54
- authenticated: boolean;
55
- user: any;
56
- session: any;
57
- }>>;
58
- keys: {
59
- list: () => Promise<ApiResult<ApiKey[]>>;
60
- create: (name?: string) => Promise<ApiResult<{
61
- message: string;
62
- key: string;
63
- }>>;
64
- revoke: (key_id: string) => Promise<ApiResult<{
65
- message: string;
66
- success: boolean;
67
- }>>;
68
- remove: (key_id: string) => Promise<ApiResult<{
69
- message: string;
70
- success: boolean;
71
- }>>;
72
- };
73
- };
74
- /**
75
- * Projects namespace with Result-wrapped operations
76
- */
77
- readonly projects: {
78
- /**
79
- * List projects with optional filtering
80
- */
81
- list: (filters?: {
82
- private?: boolean;
83
- }) => Promise<ApiResult<Project[]>>;
84
- /**
85
- * Get project map
86
- */
87
- map: (filters?: {
88
- private?: boolean;
89
- }) => Promise<ApiResult<Record<string, Project>>>;
90
- /**
91
- * Get project by ID
92
- */
93
- find: (id: string) => Promise<ApiResult<Project | null>>;
94
- /**
95
- * Get project by name
96
- */
97
- getByName: (name: string) => Promise<ApiResult<Project>>;
98
- /**
99
- * Get project by ID (throws if not found)
100
- */
101
- getById: (id: string) => Promise<ApiResult<Project>>;
102
- /**
103
- * Create a new project
104
- */
105
- create: (data: Omit<UpsertProject, "id">) => Promise<ApiResult<Project>>;
106
- /**
107
- * Update an existing project
108
- */
109
- update: (idOrData: string | UpsertProject, changes?: Partial<Omit<UpsertProject, "id" | "project_id">>) => Promise<ApiResult<Project>>;
110
- /**
111
- * Project configuration operations
112
- */
113
- config: {
114
- /**
115
- * Get project configuration
116
- */
117
- load: (project_id: string) => Promise<ApiResult<GetConfigResult>>;
118
- /**
119
- * Save project configuration
120
- */
121
- save: (request: SaveConfigRequest) => Promise<ApiResult<void>>;
122
- };
123
- /**
124
- * Scanning operations
125
- */
126
- scan: {
127
- /**
128
- * Initiate a repository scan (returns stream)
129
- */
130
- initiate: (project_id: string) => Promise<ReadableStream<string>>;
131
- /**
132
- * Get pending scan updates for a project
133
- */
134
- updates: (project_id: string) => Promise<ApiResult<any[]>>;
135
- /**
136
- * Process scan results
137
- */
138
- update: (project_id: string, data: any) => Promise<ApiResult<void>>;
139
- };
140
- /**
141
- * Get project history
142
- */
143
- history: (project_id: string) => Promise<ApiResult<any[]>>;
144
- /**
145
- * Legacy methods (keeping for compatibility)
146
- */
147
- upsert: (data: UpsertProject) => Promise<ApiResult<Project>>;
148
- /**
149
- * Fetch project specification from GitHub
150
- */
151
- specification: (project_id: string) => Promise<ApiResult<string>>;
152
- /**
153
- * Delete project (soft delete)
154
- */
155
- deleteProject: (project: Project) => Promise<ApiResult<void>>;
156
- };
157
- /**
158
- * Milestones namespace with Result-wrapped operations
159
- */
160
- readonly milestones: {
161
- /**
162
- * List milestones for authenticated user
163
- */
164
- list: () => Promise<ApiResult<Milestone[]>>;
165
- /**
166
- * Get milestones by project ID
167
- */
168
- getByProject: (project_id: string) => Promise<ApiResult<Milestone[]>>;
169
- /**
170
- * Get milestone by ID
171
- */
172
- find: (id: string) => Promise<ApiResult<Milestone | null>>;
173
- /**
174
- * Create new milestone
175
- */
176
- create: (data: {
177
- project_id: string;
178
- name: string;
179
- description?: string;
180
- target_time?: string;
181
- target_version?: string;
182
- }) => Promise<ApiResult<Milestone>>;
183
- /**
184
- * Update milestone
185
- */
186
- update: (id: string, data: {
187
- name?: string;
188
- description?: string;
189
- target_time?: string;
190
- target_version?: string;
191
- }) => Promise<ApiResult<Milestone>>;
192
- /**
193
- * Delete milestone (soft delete)
194
- */
195
- delete: (id: string) => Promise<ApiResult<{
196
- success: boolean;
197
- message: string;
198
- }>>;
199
- /**
200
- * Get goals for a milestone
201
- */
202
- goals: (id: string) => Promise<ApiResult<Goal[]>>;
203
- };
204
- /**
205
- * Goals namespace with Result-wrapped operations
206
- */
207
- readonly goals: {
208
- /**
209
- * List goals for authenticated user
210
- */
211
- list: () => Promise<ApiResult<Goal[]>>;
212
- /**
213
- * Get goal by ID
214
- */
215
- find: (id: string) => Promise<ApiResult<Goal | null>>;
216
- /**
217
- * Create new goal
218
- */
219
- create: (data: {
220
- milestone_id: string;
221
- name: string;
222
- description?: string;
223
- target_time?: string;
224
- }) => Promise<ApiResult<Goal>>;
225
- /**
226
- * Update goal
227
- */
228
- update: (id: string, data: {
229
- name?: string;
230
- description?: string;
231
- target_time?: string;
232
- }) => Promise<ApiResult<Goal>>;
233
- /**
234
- * Delete goal (soft delete)
235
- */
236
- delete: (id: string) => Promise<ApiResult<{
237
- success: boolean;
238
- message: string;
239
- }>>;
240
- };
241
- /**
242
- * Tasks namespace with Result-wrapped operations
243
- */
244
- readonly tasks: {
245
- /**
246
- * List tasks with optional filtering
247
- */
248
- list: (filters?: {
249
- project_id?: string;
250
- tag_id?: string;
251
- }) => Promise<ApiResult<TaskWithDetails[]>>;
252
- /**
253
- * Get task by ID
254
- */
255
- find: (id: string) => Promise<ApiResult<TaskWithDetails | null>>;
256
- /**
257
- * Get tasks by project ID
258
- */
259
- getByProject: (project_id: string) => Promise<ApiResult<TaskWithDetails[]>>;
260
- /**
261
- * Create a new task
262
- */
263
- create: (data: Omit<UpsertTodo, "id"> & {
264
- tags?: UpsertTag[];
265
- }) => Promise<ApiResult<TaskWithDetails>>;
266
- /**
267
- * Update an existing task
268
- */
269
- update: (id: string, changes: Partial<Omit<UpsertTodo, "id">> & {
270
- tags?: UpsertTag[];
271
- }) => Promise<ApiResult<TaskWithDetails>>;
272
- /**
273
- * Upsert task (create or update)
274
- */
275
- upsert: (data: UpsertTodo & {
276
- tags?: UpsertTag[];
277
- }) => Promise<ApiResult<TaskWithDetails>>;
278
- /**
279
- * Save tags for tasks
280
- */
281
- saveTags: (data: any) => Promise<ApiResult<void>>;
282
- /**
283
- * Delete task (soft delete)
284
- */
285
- deleteTask: (task: TaskWithDetails) => Promise<ApiResult<void>>;
286
- /**
287
- * Task history operations
288
- */
289
- history: {
290
- /**
291
- * Get task history by task ID
292
- */
293
- get: (task_id: string) => Promise<ApiResult<HistoryAction[]>>;
294
- };
295
- };
296
- /**
297
- * Tags namespace with Result-wrapped operations
298
- */
299
- readonly tags: {
300
- /**
301
- * List tags for authenticated user
302
- */
303
- list: () => Promise<ApiResult<TagWithTypedColor[]>>;
304
- };
305
- /**
306
- * GitHub namespace with Result-wrapped operations
307
- */
308
- readonly github: {
309
- /**
310
- * List repositories for authenticated user
311
- */
312
- repos: () => Promise<ApiResult<any[]>>;
313
- /**
314
- * List branches for a GitHub repository
315
- */
316
- branches: (owner: string, repo: string) => Promise<ApiResult<any[]>>;
317
- };
318
- readonly blog: {
319
- posts: {
320
- list: (params?: Partial<PostListParams>) => Promise<ApiResult<PostsResponse>>;
321
- getBySlug: (slug: string) => Promise<ApiResult<Post>>;
322
- create: (data: PostCreate) => Promise<ApiResult<Post>>;
323
- update: (uuid: string, data: PostUpdate) => Promise<ApiResult<Post>>;
324
- delete: (uuid: string) => Promise<ApiResult<{
325
- success: boolean;
326
- }>>;
327
- versions: (uuid: string) => Promise<ApiResult<{
328
- versions: VersionInfo[];
329
- }>>;
330
- version: (uuid: string, hash: string) => Promise<ApiResult<PostContent>>;
331
- restore: (uuid: string, hash: string) => Promise<ApiResult<Post>>;
332
- };
333
- tags: {
334
- list: () => Promise<ApiResult<{
335
- tags: TagWithCount[];
336
- }>>;
337
- getForPost: (uuid: string) => Promise<ApiResult<{
338
- tags: string[];
339
- }>>;
340
- setForPost: (uuid: string, tags: string[]) => Promise<ApiResult<{
341
- tags: string[];
342
- }>>;
343
- addToPost: (uuid: string, tags: string[]) => Promise<ApiResult<{
344
- tags: string[];
345
- }>>;
346
- removeFromPost: (uuid: string, tag: string) => Promise<ApiResult<void>>;
347
- };
348
- categories: {
349
- tree: () => Promise<ApiResult<{
350
- categories: Category[];
351
- }>>;
352
- create: (data: CategoryCreate) => Promise<ApiResult<Category>>;
353
- update: (name: string, data: {
354
- name: string;
355
- }) => Promise<ApiResult<Category>>;
356
- delete: (name: string) => Promise<ApiResult<void>>;
357
- };
358
- tokens: {
359
- list: () => Promise<ApiResult<{
360
- tokens: SanitizedToken[];
361
- }>>;
362
- create: (data: AccessKeyCreate) => Promise<ApiResult<CreatedToken>>;
363
- update: (id: string, data: AccessKeyUpdate) => Promise<ApiResult<AccessKey>>;
364
- delete: (id: string) => Promise<ApiResult<void>>;
365
- };
366
- };
367
- readonly media: {
368
- profiles: {
369
- list: () => Promise<ApiResult<Profile[]>>;
370
- create: (data: CreateProfileInput) => Promise<ApiResult<Profile>>;
371
- get: (id: string) => Promise<ApiResult<Profile>>;
372
- update: (id: string, data: UpdateProfileInput) => Promise<ApiResult<Profile>>;
373
- delete: (id: string) => Promise<ApiResult<{
374
- success: boolean;
375
- }>>;
376
- filters: {
377
- list: (profile_id: string) => Promise<ApiResult<ProfileFilter[]>>;
378
- add: (profile_id: string, data: AddFilterInput) => Promise<ApiResult<ProfileFilter>>;
379
- remove: (profile_id: string, filter_id: string) => Promise<ApiResult<void>>;
380
- };
381
- timeline: (slug: string, params?: {
382
- limit?: number;
383
- before?: string;
384
- }) => Promise<ApiResult<Timeline>>;
385
- };
386
- connections: {
387
- list: (profile_id: string, options?: {
388
- include_settings?: boolean;
389
- }) => Promise<ApiResult<Account[]>>;
390
- create: (data: {
391
- profile_id: string;
392
- platform: string;
393
- access_token: string;
394
- refresh_token?: string;
395
- platform_user_id?: string;
396
- platform_username?: string;
397
- token_expires_at?: string;
398
- }) => Promise<ApiResult<Account>>;
399
- delete: (account_id: string) => Promise<ApiResult<{
400
- success: boolean;
401
- }>>;
402
- refresh: (account_id: string) => Promise<ApiResult<any>>;
403
- refreshAll: () => Promise<ApiResult<any>>;
404
- updateStatus: (account_id: string, is_active: boolean) => Promise<ApiResult<Account>>;
405
- settings: {
406
- get: (account_id: string) => Promise<ApiResult<PlatformSettings>>;
407
- update: (account_id: string, settings: Record<string, unknown>) => Promise<ApiResult<any>>;
408
- };
409
- repos: (account_id: string) => Promise<ApiResult<any[]>>;
410
- subreddits: (account_id: string) => Promise<ApiResult<any[]>>;
411
- };
412
- credentials: {
413
- check: (platform: string, profile_id: string) => Promise<ApiResult<{
414
- exists: boolean;
415
- isVerified: boolean;
416
- clientId: string | null;
417
- }>>;
418
- save: (platform: string, data: {
419
- profile_id: string;
420
- client_id: string;
421
- client_secret: string;
422
- redirect_uri?: string;
423
- reddit_username?: string;
424
- }) => Promise<ApiResult<{
425
- success: boolean;
426
- id: string;
427
- }>>;
428
- delete: (platform: string, profile_id: string) => Promise<ApiResult<{
429
- success: boolean;
430
- }>>;
431
- };
432
- timeline: {
433
- get: (user_id: string, params?: {
434
- from?: string;
435
- to?: string;
436
- }) => Promise<ApiResult<Timeline>>;
437
- getRaw: (user_id: string, platform: string, account_id: string) => Promise<ApiResult<any>>;
438
- };
439
- };
440
- /**
441
- * User namespace with Result-wrapped operations
442
- */
443
- readonly user: {
444
- /**
445
- * Get user activity history
446
- */
447
- history: () => Promise<ApiResult<any[]>>;
448
- /**
449
- * Update user preferences
450
- */
451
- preferences: (data: {
452
- id: string;
453
- task_view: string;
454
- }) => Promise<ApiResult<any>>;
455
- };
456
- /**
457
- * Get request history for debugging
458
- */
459
- history(): import("@devpad/schema").BufferedQueue<import("./request").RequestHistoryEntry>;
460
- /**
461
- * Get the API key
462
- */
463
- getApiKey(): string;
464
- /**
465
- * Get the authentication mode
466
- */
467
- getAuthMode(): AuthMode;
468
- }
469
- export {};
470
- //# sourceMappingURL=api-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}