@okrlinkhub/okrhub 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.
Files changed (148) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +579 -0
  3. package/dist/client/_generated/_ignore.d.ts +1 -0
  4. package/dist/client/_generated/_ignore.d.ts.map +1 -0
  5. package/dist/client/_generated/_ignore.js +3 -0
  6. package/dist/client/_generated/_ignore.js.map +1 -0
  7. package/dist/client/index.d.ts +593 -0
  8. package/dist/client/index.d.ts.map +1 -0
  9. package/dist/client/index.js +704 -0
  10. package/dist/client/index.js.map +1 -0
  11. package/dist/component/_generated/api.d.ts +72 -0
  12. package/dist/component/_generated/api.d.ts.map +1 -0
  13. package/dist/component/_generated/api.js +31 -0
  14. package/dist/component/_generated/api.js.map +1 -0
  15. package/dist/component/_generated/component.d.ts +1986 -0
  16. package/dist/component/_generated/component.d.ts.map +1 -0
  17. package/dist/component/_generated/component.js +11 -0
  18. package/dist/component/_generated/component.js.map +1 -0
  19. package/dist/component/_generated/dataModel.d.ts +46 -0
  20. package/dist/component/_generated/dataModel.d.ts.map +1 -0
  21. package/dist/component/_generated/dataModel.js +11 -0
  22. package/dist/component/_generated/dataModel.js.map +1 -0
  23. package/dist/component/_generated/server.d.ts +121 -0
  24. package/dist/component/_generated/server.d.ts.map +1 -0
  25. package/dist/component/_generated/server.js +78 -0
  26. package/dist/component/_generated/server.js.map +1 -0
  27. package/dist/component/convex.config.d.ts +3 -0
  28. package/dist/component/convex.config.d.ts.map +1 -0
  29. package/dist/component/convex.config.js +3 -0
  30. package/dist/component/convex.config.js.map +1 -0
  31. package/dist/component/entities/batch.d.ts +121 -0
  32. package/dist/component/entities/batch.d.ts.map +1 -0
  33. package/dist/component/entities/batch.js +81 -0
  34. package/dist/component/entities/batch.js.map +1 -0
  35. package/dist/component/entities/index.d.ts +13 -0
  36. package/dist/component/entities/index.d.ts.map +1 -0
  37. package/dist/component/entities/index.js +22 -0
  38. package/dist/component/entities/index.js.map +1 -0
  39. package/dist/component/entities/indicatorForecasts.d.ts +61 -0
  40. package/dist/component/entities/indicatorForecasts.d.ts.map +1 -0
  41. package/dist/component/entities/indicatorForecasts.js +180 -0
  42. package/dist/component/entities/indicatorForecasts.js.map +1 -0
  43. package/dist/component/entities/indicatorValues.d.ts +77 -0
  44. package/dist/component/entities/indicatorValues.d.ts.map +1 -0
  45. package/dist/component/entities/indicatorValues.js +218 -0
  46. package/dist/component/entities/indicatorValues.js.map +1 -0
  47. package/dist/component/entities/indicators.d.ts +90 -0
  48. package/dist/component/entities/indicators.d.ts.map +1 -0
  49. package/dist/component/entities/indicators.js +239 -0
  50. package/dist/component/entities/indicators.js.map +1 -0
  51. package/dist/component/entities/initiatives.d.ts +103 -0
  52. package/dist/component/entities/initiatives.d.ts.map +1 -0
  53. package/dist/component/entities/initiatives.js +275 -0
  54. package/dist/component/entities/initiatives.js.map +1 -0
  55. package/dist/component/entities/keyResults.d.ts +111 -0
  56. package/dist/component/entities/keyResults.d.ts.map +1 -0
  57. package/dist/component/entities/keyResults.js +284 -0
  58. package/dist/component/entities/keyResults.js.map +1 -0
  59. package/dist/component/entities/milestones.d.ts +93 -0
  60. package/dist/component/entities/milestones.d.ts.map +1 -0
  61. package/dist/component/entities/milestones.js +249 -0
  62. package/dist/component/entities/milestones.js.map +1 -0
  63. package/dist/component/entities/objectives.d.ts +99 -0
  64. package/dist/component/entities/objectives.d.ts.map +1 -0
  65. package/dist/component/entities/objectives.js +261 -0
  66. package/dist/component/entities/objectives.js.map +1 -0
  67. package/dist/component/entities/risks.d.ts +126 -0
  68. package/dist/component/entities/risks.d.ts.map +1 -0
  69. package/dist/component/entities/risks.js +315 -0
  70. package/dist/component/entities/risks.js.map +1 -0
  71. package/dist/component/externalId.d.ts +79 -0
  72. package/dist/component/externalId.d.ts.map +1 -0
  73. package/dist/component/externalId.js +124 -0
  74. package/dist/component/externalId.js.map +1 -0
  75. package/dist/component/lib/hmac.d.ts +18 -0
  76. package/dist/component/lib/hmac.d.ts.map +1 -0
  77. package/dist/component/lib/hmac.js +35 -0
  78. package/dist/component/lib/hmac.js.map +1 -0
  79. package/dist/component/lib/index.d.ts +7 -0
  80. package/dist/component/lib/index.d.ts.map +1 -0
  81. package/dist/component/lib/index.js +6 -0
  82. package/dist/component/lib/index.js.map +1 -0
  83. package/dist/component/lib/types.d.ts +30 -0
  84. package/dist/component/lib/types.d.ts.map +1 -0
  85. package/dist/component/lib/types.js +7 -0
  86. package/dist/component/lib/types.js.map +1 -0
  87. package/dist/component/lib/validation.d.ts +15 -0
  88. package/dist/component/lib/validation.d.ts.map +1 -0
  89. package/dist/component/lib/validation.js +29 -0
  90. package/dist/component/lib/validation.js.map +1 -0
  91. package/dist/component/okrhub.d.ts +31 -0
  92. package/dist/component/okrhub.d.ts.map +1 -0
  93. package/dist/component/okrhub.js +45 -0
  94. package/dist/component/okrhub.js.map +1 -0
  95. package/dist/component/schema.d.ts +943 -0
  96. package/dist/component/schema.d.ts.map +1 -0
  97. package/dist/component/schema.js +437 -0
  98. package/dist/component/schema.js.map +1 -0
  99. package/dist/component/sync/http.d.ts +30 -0
  100. package/dist/component/sync/http.d.ts.map +1 -0
  101. package/dist/component/sync/http.js +114 -0
  102. package/dist/component/sync/http.js.map +1 -0
  103. package/dist/component/sync/index.d.ts +7 -0
  104. package/dist/component/sync/index.d.ts.map +1 -0
  105. package/dist/component/sync/index.js +7 -0
  106. package/dist/component/sync/index.js.map +1 -0
  107. package/dist/component/sync/processor.d.ts +20 -0
  108. package/dist/component/sync/processor.d.ts.map +1 -0
  109. package/dist/component/sync/processor.js +67 -0
  110. package/dist/component/sync/processor.js.map +1 -0
  111. package/dist/component/sync/queue.d.ts +40 -0
  112. package/dist/component/sync/queue.d.ts.map +1 -0
  113. package/dist/component/sync/queue.js +176 -0
  114. package/dist/component/sync/queue.js.map +1 -0
  115. package/dist/react/index.d.ts +2 -0
  116. package/dist/react/index.d.ts.map +1 -0
  117. package/dist/react/index.js +6 -0
  118. package/dist/react/index.js.map +1 -0
  119. package/package.json +117 -0
  120. package/src/client/_generated/_ignore.ts +1 -0
  121. package/src/client/index.ts +1004 -0
  122. package/src/component/_generated/api.ts +88 -0
  123. package/src/component/_generated/component.ts +2685 -0
  124. package/src/component/_generated/dataModel.ts +60 -0
  125. package/src/component/_generated/server.ts +156 -0
  126. package/src/component/convex.config.ts +3 -0
  127. package/src/component/entities/batch.ts +90 -0
  128. package/src/component/entities/index.ts +64 -0
  129. package/src/component/entities/indicatorForecasts.ts +205 -0
  130. package/src/component/entities/indicatorValues.ts +254 -0
  131. package/src/component/entities/indicators.ts +290 -0
  132. package/src/component/entities/initiatives.ts +342 -0
  133. package/src/component/entities/keyResults.ts +334 -0
  134. package/src/component/entities/milestones.ts +296 -0
  135. package/src/component/entities/objectives.ts +294 -0
  136. package/src/component/entities/risks.ts +383 -0
  137. package/src/component/externalId.ts +172 -0
  138. package/src/component/lib/hmac.ts +53 -0
  139. package/src/component/lib/index.ts +7 -0
  140. package/src/component/lib/types.ts +31 -0
  141. package/src/component/lib/validation.ts +41 -0
  142. package/src/component/okrhub.ts +110 -0
  143. package/src/component/schema.ts +574 -0
  144. package/src/component/sync/http.ts +138 -0
  145. package/src/component/sync/index.ts +11 -0
  146. package/src/component/sync/processor.ts +77 -0
  147. package/src/component/sync/queue.ts +201 -0
  148. package/src/react/index.ts +7 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,437 @@
1
+ /**
2
+ * OKRHub Component Schema
3
+ *
4
+ * This file defines payload validators for the OKRHub component.
5
+ * These are simplified versions of LinkHub's schema that use externalId
6
+ * instead of Convex internal IDs.
7
+ *
8
+ * IMPORTANT: All references use externalId strings, not v.id() types,
9
+ * because the component runs in a different Convex deployment.
10
+ */
11
+ import { defineSchema, defineTable } from "convex/server";
12
+ import { v } from "convex/values";
13
+ // ============================================================================
14
+ // ENUMS - Matching LinkHub's schema
15
+ // ============================================================================
16
+ export const PrioritySchema = v.union(v.literal("lowest"), v.literal("low"), v.literal("medium"), v.literal("high"), v.literal("highest"));
17
+ export const PeriodicitySchema = v.union(v.literal("weekly"), v.literal("monthly"), v.literal("quarterly"), v.literal("semesterly"), v.literal("yearly"));
18
+ export const InitiativeStatusSchema = v.union(v.literal("ON_TIME"), v.literal("OVERDUE"), v.literal("FINISHED"));
19
+ export const MilestoneStatusSchema = v.union(v.literal("ON_TIME"), v.literal("OVERDUE"), v.literal("ACHIEVED_ON_TIME"), v.literal("ACHIEVED_LATE"));
20
+ export const IndicatorTypeSchema = v.union(v.literal("OUTPUT"), v.literal("OUTCOME"));
21
+ // ============================================================================
22
+ // PAYLOAD VALIDATORS - For ingestion into LinkHub
23
+ // ============================================================================
24
+ /**
25
+ * Objective payload for insertion/update
26
+ * Maps to LinkHub's objectives table
27
+ */
28
+ export const objectivePayloadValidator = v.object({
29
+ // Required: External ID for mapping
30
+ externalId: v.string(),
31
+ // Required fields
32
+ title: v.string(),
33
+ description: v.string(),
34
+ teamExternalId: v.string(), // Reference to team via externalId
35
+ // Optional metadata
36
+ createdAt: v.optional(v.number()),
37
+ updatedAt: v.optional(v.number()),
38
+ });
39
+ /**
40
+ * Key Result payload for insertion/update
41
+ * Maps to LinkHub's keyResults table
42
+ */
43
+ export const keyResultPayloadValidator = v.object({
44
+ // Required: External ID for mapping
45
+ externalId: v.string(),
46
+ // Required: Reference to parent objective
47
+ objectiveExternalId: v.string(),
48
+ // Required: Reference to indicator
49
+ indicatorExternalId: v.string(),
50
+ // Required: Reference to team
51
+ teamExternalId: v.string(),
52
+ // Required: Weight (percentage 0-100)
53
+ weight: v.number(),
54
+ // Optional values
55
+ impact: v.optional(v.number()),
56
+ forecastValue: v.optional(v.number()),
57
+ targetValue: v.optional(v.number()),
58
+ // Optional metadata
59
+ createdAt: v.optional(v.number()),
60
+ updatedAt: v.optional(v.number()),
61
+ });
62
+ /**
63
+ * Risk (KPI) payload for insertion/update
64
+ * Maps to LinkHub's risks table
65
+ */
66
+ export const riskPayloadValidator = v.object({
67
+ // Required: External ID for mapping
68
+ externalId: v.string(),
69
+ // Required fields
70
+ description: v.string(),
71
+ teamExternalId: v.string(),
72
+ priority: PrioritySchema,
73
+ // Required: Reference to parent key result
74
+ keyResultExternalId: v.string(),
75
+ // Optional: Reference to indicator for KPI trigger
76
+ indicatorExternalId: v.optional(v.string()),
77
+ // KPI trigger configuration
78
+ triggerValue: v.optional(v.number()),
79
+ triggeredIfLower: v.optional(v.boolean()),
80
+ useForecastAsTrigger: v.optional(v.boolean()),
81
+ // Optional status
82
+ isRed: v.optional(v.boolean()),
83
+ // Optional metadata
84
+ createdAt: v.optional(v.number()),
85
+ });
86
+ /**
87
+ * Initiative payload for insertion/update
88
+ * Maps to LinkHub's initiatives table
89
+ */
90
+ export const initiativePayloadValidator = v.object({
91
+ // Required: External ID for mapping
92
+ externalId: v.string(),
93
+ // Required fields
94
+ description: v.string(),
95
+ teamExternalId: v.string(),
96
+ assigneeExternalId: v.string(), // User external ID
97
+ createdByExternalId: v.string(), // User external ID
98
+ priority: PrioritySchema,
99
+ // Required: Reference to parent risk
100
+ riskExternalId: v.string(),
101
+ // Status (required, default ON_TIME)
102
+ status: InitiativeStatusSchema,
103
+ isNew: v.optional(v.boolean()),
104
+ finishedAt: v.optional(v.number()),
105
+ // Optional fields
106
+ externalUrl: v.optional(v.string()),
107
+ // Optional metadata
108
+ createdAt: v.optional(v.number()),
109
+ updatedAt: v.optional(v.number()),
110
+ });
111
+ /**
112
+ * Indicator payload for insertion/update
113
+ * Maps to LinkHub's indicators table
114
+ */
115
+ export const indicatorPayloadValidator = v.object({
116
+ // Required: External ID for mapping
117
+ externalId: v.string(),
118
+ // Required: Reference to company
119
+ companyExternalId: v.string(),
120
+ // Required fields
121
+ description: v.string(),
122
+ symbol: v.string(),
123
+ periodicity: PeriodicitySchema,
124
+ // Optional fields
125
+ isReverse: v.optional(v.boolean()),
126
+ automationUrl: v.optional(v.string()),
127
+ automationDescription: v.optional(v.string()),
128
+ forecastDate: v.optional(v.number()),
129
+ // Optional metadata
130
+ createdAt: v.optional(v.number()),
131
+ });
132
+ /**
133
+ * Indicator Value payload for tracking
134
+ * Maps to LinkHub's values table
135
+ */
136
+ export const indicatorValuePayloadValidator = v.object({
137
+ // Required: External ID for mapping
138
+ externalId: v.string(),
139
+ // Required: Reference to indicator
140
+ indicatorExternalId: v.string(),
141
+ // Required: Value data
142
+ value: v.number(),
143
+ date: v.number(), // Timestamp
144
+ // Optional metadata
145
+ createdAt: v.optional(v.number()),
146
+ });
147
+ /**
148
+ * Indicator Forecast payload
149
+ * Maps to LinkHub's forecasts table
150
+ */
151
+ export const indicatorForecastPayloadValidator = v.object({
152
+ // Required: External ID for mapping
153
+ externalId: v.string(),
154
+ // Required: Reference to indicator
155
+ indicatorExternalId: v.string(),
156
+ // Required: Forecast data
157
+ value: v.number(),
158
+ date: v.number(), // Timestamp
159
+ // Optional metadata
160
+ createdAt: v.optional(v.number()),
161
+ });
162
+ /**
163
+ * Milestone payload for insertion/update
164
+ * Maps to LinkHub's milestones table
165
+ */
166
+ export const milestonePayloadValidator = v.object({
167
+ // Required: External ID for mapping
168
+ externalId: v.string(),
169
+ // Required: Reference to indicator
170
+ indicatorExternalId: v.string(),
171
+ // Required fields
172
+ description: v.string(),
173
+ value: v.number(),
174
+ status: MilestoneStatusSchema, // Required, default ON_TIME
175
+ // Optional: Achievement tracking
176
+ achievedAt: v.optional(v.number()),
177
+ forecastDate: v.optional(v.number()),
178
+ // Optional metadata
179
+ createdAt: v.optional(v.number()),
180
+ updatedAt: v.optional(v.number()),
181
+ });
182
+ /**
183
+ * Team payload for reference mapping
184
+ * Used to map external team IDs to LinkHub teams
185
+ */
186
+ export const teamPayloadValidator = v.object({
187
+ // Required: External ID for mapping
188
+ externalId: v.string(),
189
+ // Required: Reference to company
190
+ companyExternalId: v.string(),
191
+ // Required fields
192
+ name: v.string(),
193
+ // Optional metadata
194
+ createdAt: v.optional(v.number()),
195
+ });
196
+ /**
197
+ * User payload for reference mapping
198
+ * Used to map external user IDs to LinkHub users
199
+ */
200
+ export const userPayloadValidator = v.object({
201
+ // Required: External ID for mapping
202
+ externalId: v.string(),
203
+ // Required fields
204
+ email: v.string(),
205
+ name: v.optional(v.string()),
206
+ surname: v.optional(v.string()),
207
+ // Optional metadata
208
+ createdAt: v.optional(v.number()),
209
+ });
210
+ /**
211
+ * Company payload for reference mapping
212
+ * Used to map external company IDs to LinkHub companies
213
+ */
214
+ export const companyPayloadValidator = v.object({
215
+ // Required: External ID for mapping
216
+ externalId: v.string(),
217
+ // Required fields
218
+ name: v.string(),
219
+ // Optional metadata
220
+ createdAt: v.optional(v.number()),
221
+ });
222
+ // ============================================================================
223
+ // BATCH PAYLOAD VALIDATORS
224
+ // ============================================================================
225
+ /**
226
+ * Batch payload for inserting multiple entities at once
227
+ */
228
+ export const batchPayloadValidator = v.object({
229
+ // Optional: Companies to create/update
230
+ companies: v.optional(v.array(companyPayloadValidator)),
231
+ // Optional: Teams to create/update
232
+ teams: v.optional(v.array(teamPayloadValidator)),
233
+ // Optional: Users to create/update
234
+ users: v.optional(v.array(userPayloadValidator)),
235
+ // Optional: Indicators to create/update
236
+ indicators: v.optional(v.array(indicatorPayloadValidator)),
237
+ // Optional: Objectives to create/update
238
+ objectives: v.optional(v.array(objectivePayloadValidator)),
239
+ // Optional: Key Results to create/update
240
+ keyResults: v.optional(v.array(keyResultPayloadValidator)),
241
+ // Optional: Risks to create/update
242
+ risks: v.optional(v.array(riskPayloadValidator)),
243
+ // Optional: Initiatives to create/update
244
+ initiatives: v.optional(v.array(initiativePayloadValidator)),
245
+ // Optional: Milestones to create/update
246
+ milestones: v.optional(v.array(milestonePayloadValidator)),
247
+ // Optional: Indicator values to create
248
+ indicatorValues: v.optional(v.array(indicatorValuePayloadValidator)),
249
+ // Optional: Indicator forecasts to create
250
+ indicatorForecasts: v.optional(v.array(indicatorForecastPayloadValidator)),
251
+ });
252
+ // ============================================================================
253
+ // SYNC STATUS ENUM
254
+ // ============================================================================
255
+ export const SyncStatusSchema = v.union(v.literal("pending"), v.literal("synced"), v.literal("failed"));
256
+ // ============================================================================
257
+ // COMPONENT INTERNAL SCHEMA
258
+ // ============================================================================
259
+ /**
260
+ * Component schema with local tables for OKR entities.
261
+ * These tables store data locally before syncing to LinkHub.
262
+ */
263
+ export default defineSchema({
264
+ // =========================================================================
265
+ // SYNC INFRASTRUCTURE
266
+ // =========================================================================
267
+ // Sync queue for pending items
268
+ syncQueue: defineTable({
269
+ entityType: v.string(), // objective, keyResult, risk, etc.
270
+ externalId: v.string(),
271
+ payload: v.string(), // JSON stringified payload
272
+ status: v.union(v.literal("pending"), v.literal("processing"), v.literal("success"), v.literal("failed")),
273
+ attempts: v.number(),
274
+ lastAttemptAt: v.optional(v.number()),
275
+ errorMessage: v.optional(v.string()),
276
+ createdAt: v.number(),
277
+ })
278
+ .index("by_status", ["status"])
279
+ .index("by_external_id", ["externalId"])
280
+ .index("by_entity_type_status", ["entityType", "status"]),
281
+ // Sync log for tracking successful syncs
282
+ syncLog: defineTable({
283
+ entityType: v.string(),
284
+ externalId: v.string(),
285
+ linkHubId: v.optional(v.string()), // The ID returned from LinkHub
286
+ syncedAt: v.number(),
287
+ action: v.union(v.literal("create"), v.literal("update")),
288
+ })
289
+ .index("by_external_id", ["externalId"])
290
+ .index("by_entity_type", ["entityType"])
291
+ .index("by_synced_at", ["syncedAt"]),
292
+ // =========================================================================
293
+ // LOCAL OKR TABLES
294
+ // =========================================================================
295
+ // Objectives - local storage before sync
296
+ objectives: defineTable({
297
+ externalId: v.string(),
298
+ title: v.string(),
299
+ description: v.string(),
300
+ teamExternalId: v.string(),
301
+ slug: v.string(),
302
+ syncStatus: SyncStatusSchema,
303
+ createdAt: v.number(),
304
+ updatedAt: v.optional(v.number()),
305
+ deletedAt: v.optional(v.number()),
306
+ })
307
+ .index("by_external_id", ["externalId"])
308
+ .index("by_team", ["teamExternalId"])
309
+ .index("by_slug", ["slug"])
310
+ .index("by_sync_status", ["syncStatus"]),
311
+ // Key Results - local storage before sync
312
+ keyResults: defineTable({
313
+ externalId: v.string(),
314
+ objectiveExternalId: v.string(), // Required: Reference to objective
315
+ indicatorExternalId: v.string(),
316
+ teamExternalId: v.string(),
317
+ forecastValue: v.optional(v.number()),
318
+ targetValue: v.optional(v.number()),
319
+ slug: v.string(),
320
+ syncStatus: SyncStatusSchema,
321
+ createdAt: v.number(),
322
+ updatedAt: v.optional(v.number()),
323
+ deletedAt: v.optional(v.number()),
324
+ })
325
+ .index("by_external_id", ["externalId"])
326
+ .index("by_objective", ["objectiveExternalId"])
327
+ .index("by_team", ["teamExternalId"])
328
+ .index("by_indicator", ["indicatorExternalId"])
329
+ .index("by_slug", ["slug"])
330
+ .index("by_sync_status", ["syncStatus"]),
331
+ // Risks - local storage before sync
332
+ risks: defineTable({
333
+ externalId: v.string(),
334
+ description: v.string(),
335
+ teamExternalId: v.string(),
336
+ keyResultExternalId: v.string(), // Required: Reference to key result
337
+ priority: PrioritySchema,
338
+ indicatorExternalId: v.optional(v.string()),
339
+ triggerValue: v.optional(v.number()),
340
+ triggeredIfLower: v.optional(v.boolean()),
341
+ useForecastAsTrigger: v.optional(v.boolean()),
342
+ isRed: v.optional(v.boolean()),
343
+ slug: v.string(),
344
+ syncStatus: SyncStatusSchema,
345
+ createdAt: v.number(),
346
+ deletedAt: v.optional(v.number()),
347
+ })
348
+ .index("by_external_id", ["externalId"])
349
+ .index("by_key_result", ["keyResultExternalId"])
350
+ .index("by_team", ["teamExternalId"])
351
+ .index("by_slug", ["slug"])
352
+ .index("by_sync_status", ["syncStatus"]),
353
+ // Initiatives - local storage before sync
354
+ initiatives: defineTable({
355
+ externalId: v.string(),
356
+ description: v.string(),
357
+ teamExternalId: v.string(),
358
+ riskExternalId: v.string(), // Required: Reference to risk
359
+ assigneeExternalId: v.string(),
360
+ createdByExternalId: v.string(),
361
+ status: InitiativeStatusSchema, // Required, default ON_TIME
362
+ priority: PrioritySchema,
363
+ finishedAt: v.optional(v.number()),
364
+ slug: v.string(),
365
+ syncStatus: SyncStatusSchema,
366
+ createdAt: v.number(),
367
+ updatedAt: v.optional(v.number()),
368
+ deletedAt: v.optional(v.number()),
369
+ })
370
+ .index("by_external_id", ["externalId"])
371
+ .index("by_risk", ["riskExternalId"])
372
+ .index("by_team", ["teamExternalId"])
373
+ .index("by_assignee", ["assigneeExternalId"])
374
+ .index("by_slug", ["slug"])
375
+ .index("by_sync_status", ["syncStatus"]),
376
+ // Indicators - local storage before sync
377
+ indicators: defineTable({
378
+ externalId: v.string(),
379
+ companyExternalId: v.string(),
380
+ description: v.string(),
381
+ symbol: v.string(),
382
+ periodicity: PeriodicitySchema,
383
+ isReverse: v.optional(v.boolean()),
384
+ slug: v.string(),
385
+ syncStatus: SyncStatusSchema,
386
+ createdAt: v.number(),
387
+ deletedAt: v.optional(v.number()),
388
+ })
389
+ .index("by_external_id", ["externalId"])
390
+ .index("by_company", ["companyExternalId"])
391
+ .index("by_slug", ["slug"])
392
+ .index("by_sync_status", ["syncStatus"]),
393
+ // Indicator Values - local storage before sync
394
+ indicatorValues: defineTable({
395
+ externalId: v.string(),
396
+ indicatorExternalId: v.string(),
397
+ value: v.number(),
398
+ date: v.number(),
399
+ syncStatus: SyncStatusSchema,
400
+ createdAt: v.number(),
401
+ })
402
+ .index("by_external_id", ["externalId"])
403
+ .index("by_indicator", ["indicatorExternalId"])
404
+ .index("by_sync_status", ["syncStatus"]),
405
+ // Indicator Forecasts - local storage before sync
406
+ indicatorForecasts: defineTable({
407
+ externalId: v.string(),
408
+ indicatorExternalId: v.string(),
409
+ value: v.number(),
410
+ date: v.number(),
411
+ syncStatus: SyncStatusSchema,
412
+ createdAt: v.number(),
413
+ })
414
+ .index("by_external_id", ["externalId"])
415
+ .index("by_indicator", ["indicatorExternalId"])
416
+ .index("by_sync_status", ["syncStatus"]),
417
+ // Milestones - local storage before sync
418
+ milestones: defineTable({
419
+ externalId: v.string(),
420
+ indicatorExternalId: v.string(),
421
+ description: v.string(),
422
+ value: v.number(),
423
+ forecastDate: v.optional(v.number()),
424
+ status: MilestoneStatusSchema, // Required, default ON_TIME
425
+ achievedAt: v.optional(v.number()),
426
+ slug: v.string(),
427
+ syncStatus: SyncStatusSchema,
428
+ createdAt: v.number(),
429
+ updatedAt: v.optional(v.number()),
430
+ deletedAt: v.optional(v.number()),
431
+ })
432
+ .index("by_external_id", ["externalId"])
433
+ .index("by_indicator", ["indicatorExternalId"])
434
+ .index("by_slug", ["slug"])
435
+ .index("by_sync_status", ["syncStatus"]),
436
+ });
437
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * HTTP Actions for OKRHub Component
3
+ *
4
+ * Direct API calls to LinkHub's ingest endpoints.
5
+ */
6
+ import type { IngestResponse, BatchIngestResponse } from "../lib/types.js";
7
+ /**
8
+ * Sends a single entity to LinkHub's ingest API
9
+ */
10
+ export declare const sendToLinkHub: import("convex/server").RegisteredAction<"public", {
11
+ entityType: string;
12
+ payload: string;
13
+ apiKeyPrefix: string;
14
+ endpointUrl: string;
15
+ signingSecret: string;
16
+ }, Promise<IngestResponse | {
17
+ success: boolean;
18
+ externalId: string;
19
+ error: string;
20
+ }>>;
21
+ /**
22
+ * Sends a batch of entities to LinkHub's ingest API
23
+ */
24
+ export declare const sendBatchToLinkHub: import("convex/server").RegisteredAction<"public", {
25
+ payload: string;
26
+ apiKeyPrefix: string;
27
+ endpointUrl: string;
28
+ signingSecret: string;
29
+ }, Promise<BatchIngestResponse>>;
30
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/component/sync/http.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;GAyDxB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;gCA6D7B,CAAC"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * HTTP Actions for OKRHub Component
3
+ *
4
+ * Direct API calls to LinkHub's ingest endpoints.
5
+ */
6
+ import { v } from "convex/values";
7
+ import { action } from "../_generated/server.js";
8
+ import { createRequestHeaders } from "../lib/hmac.js";
9
+ /**
10
+ * Sends a single entity to LinkHub's ingest API
11
+ */
12
+ export const sendToLinkHub = action({
13
+ args: {
14
+ endpointUrl: v.string(),
15
+ apiKeyPrefix: v.string(),
16
+ signingSecret: v.string(),
17
+ entityType: v.string(),
18
+ payload: v.string(), // JSON stringified payload
19
+ },
20
+ returns: v.object({
21
+ success: v.boolean(),
22
+ externalId: v.string(),
23
+ linkHubId: v.optional(v.string()),
24
+ action: v.optional(v.union(v.literal("create"), v.literal("update"))),
25
+ error: v.optional(v.string()),
26
+ }),
27
+ handler: async (_ctx, args) => {
28
+ const { endpointUrl, apiKeyPrefix, signingSecret, entityType, payload } = args;
29
+ try {
30
+ const headers = await createRequestHeaders(payload, apiKeyPrefix, signingSecret);
31
+ const url = `${endpointUrl}/ingest/okr/v1/${entityType}`;
32
+ const response = await fetch(url, {
33
+ method: "POST",
34
+ headers,
35
+ body: payload,
36
+ });
37
+ if (!response.ok) {
38
+ const errorText = await response.text();
39
+ return {
40
+ success: false,
41
+ externalId: "",
42
+ error: `HTTP ${response.status}: ${errorText}`,
43
+ };
44
+ }
45
+ const result = (await response.json());
46
+ return result;
47
+ }
48
+ catch (error) {
49
+ const errorMessage = error && typeof error === "object" && "message" in error
50
+ ? error.message
51
+ : "Unknown error";
52
+ return {
53
+ success: false,
54
+ externalId: "",
55
+ error: errorMessage,
56
+ };
57
+ }
58
+ },
59
+ });
60
+ /**
61
+ * Sends a batch of entities to LinkHub's ingest API
62
+ */
63
+ export const sendBatchToLinkHub = action({
64
+ args: {
65
+ endpointUrl: v.string(),
66
+ apiKeyPrefix: v.string(),
67
+ signingSecret: v.string(),
68
+ payload: v.string(), // JSON stringified BatchPayload
69
+ },
70
+ returns: v.object({
71
+ success: v.boolean(),
72
+ results: v.array(v.object({
73
+ entityType: v.string(),
74
+ externalId: v.string(),
75
+ linkHubId: v.optional(v.string()),
76
+ action: v.optional(v.union(v.literal("create"), v.literal("update"))),
77
+ error: v.optional(v.string()),
78
+ })),
79
+ errors: v.array(v.string()),
80
+ }),
81
+ handler: async (_ctx, args) => {
82
+ const { endpointUrl, apiKeyPrefix, signingSecret, payload } = args;
83
+ try {
84
+ const headers = await createRequestHeaders(payload, apiKeyPrefix, signingSecret);
85
+ const url = `${endpointUrl}/ingest/okr/v1/batch`;
86
+ const response = await fetch(url, {
87
+ method: "POST",
88
+ headers,
89
+ body: payload,
90
+ });
91
+ if (!response.ok) {
92
+ const errorText = await response.text();
93
+ return {
94
+ success: false,
95
+ results: [],
96
+ errors: [`HTTP ${response.status}: ${errorText}`],
97
+ };
98
+ }
99
+ const result = (await response.json());
100
+ return result;
101
+ }
102
+ catch (error) {
103
+ const errorMessage = error && typeof error === "object" && "message" in error
104
+ ? error.message
105
+ : "Unknown error";
106
+ return {
107
+ success: false,
108
+ results: [],
109
+ errors: [errorMessage],
110
+ };
111
+ }
112
+ },
113
+ });
114
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/component/sync/http.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Sync infrastructure barrel export
3
+ */
4
+ export { addToSyncQueue, updateSyncQueueItem, getPendingSyncItems, } from "./queue.js";
5
+ export { sendToLinkHub, sendBatchToLinkHub } from "./http.js";
6
+ export { processSyncQueue } from "./processor.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/component/sync/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Sync infrastructure barrel export
3
+ */
4
+ export { addToSyncQueue, updateSyncQueueItem, getPendingSyncItems, } from "./queue.js";
5
+ export { sendToLinkHub, sendBatchToLinkHub } from "./http.js";
6
+ export { processSyncQueue } from "./processor.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/component/sync/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}