@dereekb/openrouter 13.37.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 (51) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +195 -0
  3. package/firebase/index.cjs.default.js +1 -0
  4. package/firebase/index.cjs.js +666 -0
  5. package/firebase/index.cjs.mjs +2 -0
  6. package/firebase/index.d.ts +1 -0
  7. package/firebase/index.esm.js +626 -0
  8. package/firebase/package.json +25 -0
  9. package/firebase/src/index.d.ts +1 -0
  10. package/firebase/src/lib/index.d.ts +4 -0
  11. package/firebase/src/lib/openrouter.api.d.ts +226 -0
  12. package/firebase/src/lib/openrouter.id.d.ts +56 -0
  13. package/firebase/src/lib/openrouter.model.d.ts +609 -0
  14. package/firebase/src/lib/openrouter.query.d.ts +121 -0
  15. package/firebase-server/index.cjs.default.js +1 -0
  16. package/firebase-server/index.cjs.js +4520 -0
  17. package/firebase-server/index.cjs.mjs +2 -0
  18. package/firebase-server/index.d.ts +1 -0
  19. package/firebase-server/index.esm.js +4466 -0
  20. package/firebase-server/package.json +38 -0
  21. package/firebase-server/src/index.d.ts +1 -0
  22. package/firebase-server/src/lib/index.d.ts +10 -0
  23. package/firebase-server/src/lib/openrouter.action.server.d.ts +196 -0
  24. package/firebase-server/src/lib/openrouter.broadcast.d.ts +93 -0
  25. package/firebase-server/src/lib/openrouter.call.inline.d.ts +57 -0
  26. package/firebase-server/src/lib/openrouter.file.attachment.d.ts +97 -0
  27. package/firebase-server/src/lib/openrouter.module.d.ts +65 -0
  28. package/firebase-server/src/lib/openrouter.prompt.service.d.ts +109 -0
  29. package/firebase-server/src/lib/openrouter.runtask.handle.d.ts +56 -0
  30. package/firebase-server/src/lib/openrouter.runtask.service.d.ts +380 -0
  31. package/firebase-server/src/lib/openrouter.runtask.sweep.d.ts +170 -0
  32. package/firebase-server/src/lib/openrouter.state.accessor.d.ts +106 -0
  33. package/firebase-server/src/test/openrouter.fake.d.ts +134 -0
  34. package/index.cjs.default.js +1 -0
  35. package/index.cjs.js +1867 -0
  36. package/index.cjs.mjs +2 -0
  37. package/index.d.ts +1 -0
  38. package/index.esm.js +1771 -0
  39. package/package.json +32 -0
  40. package/src/index.d.ts +1 -0
  41. package/src/lib/index.d.ts +10 -0
  42. package/src/lib/openrouter.call.d.ts +268 -0
  43. package/src/lib/openrouter.config.d.ts +314 -0
  44. package/src/lib/openrouter.embedding.d.ts +87 -0
  45. package/src/lib/openrouter.generation.d.ts +46 -0
  46. package/src/lib/openrouter.input.d.ts +238 -0
  47. package/src/lib/openrouter.prompt.d.ts +79 -0
  48. package/src/lib/openrouter.request.d.ts +91 -0
  49. package/src/lib/openrouter.sdk.d.ts +37 -0
  50. package/src/lib/openrouter.tool.d.ts +99 -0
  51. package/src/lib/openrouter.type.d.ts +125 -0
@@ -0,0 +1,121 @@
1
+ import { type FirestoreQueryConstraint } from '@dereekb/firebase';
2
+ import { type OpenRouterPromptState } from './openrouter.model';
3
+ /**
4
+ * Params for {@link openRouterPromptsWithStateQuery}.
5
+ */
6
+ export interface OpenRouterPromptsWithStateQueryParams {
7
+ /**
8
+ * The lifecycle state to match.
9
+ */
10
+ readonly state: OpenRouterPromptState;
11
+ }
12
+ /**
13
+ * Query for the prompts in one lifecycle state.
14
+ *
15
+ * Needs no composite index, and is deliberately kept that way. Unordered, so pagination falls through to
16
+ * Firestore's implicit `__name__` order — which for this model is the prompt's own readable key, already
17
+ * the order a listing wants — and state is the only filter axis: pairing it with an `array-contains` on
18
+ * `t` would buy a composite index for a collection measured in dozens of documents.
19
+ *
20
+ * @param params - The state to match.
21
+ * @returns Firestore query constraints for the prompts in that state.
22
+ *
23
+ * @dbxModelFirebaseIndex
24
+ * @dbxModelFirebaseIndexModel OpenRouterPrompt
25
+ * @dbxModelFirebaseIndexScope COLLECTION
26
+ * @dbxModelFirebaseIndexCategory admin
27
+ */
28
+ export declare function openRouterPromptsWithStateQuery(params: OpenRouterPromptsWithStateQueryParams): FirestoreQueryConstraint[];
29
+ /**
30
+ * Params for {@link openRouterRunTasksRunnableQuery}.
31
+ */
32
+ export interface OpenRouterRunTasksRunnableQueryParams {
33
+ /**
34
+ * Maximum number of tasks to return.
35
+ */
36
+ readonly limit: number;
37
+ }
38
+ /**
39
+ * Query for the run tasks a sweep may execute, oldest-queued first.
40
+ *
41
+ * Queue order is the ONLY order, and deliberately so. A priority column costs a second composite index
42
+ * and buys a second failure mode: Firestore sorts `null` before every number, so one task written without
43
+ * a priority jumps the entire queue. Delaying a run is `NotificationTask`'s job — it owns the delayed
44
+ * firing — which leaves nothing for a priority here to express.
45
+ *
46
+ * @param params - The page limit.
47
+ * @returns Firestore query constraints for the runnable page.
48
+ *
49
+ * @dbxModelFirebaseIndex
50
+ * @dbxModelFirebaseIndexModel OpenRouterRunTask
51
+ * @dbxModelFirebaseIndexScope COLLECTION
52
+ * @dbxModelFirebaseIndexCategory sweep
53
+ */
54
+ export declare function openRouterRunTasksRunnableQuery(params: OpenRouterRunTasksRunnableQueryParams): FirestoreQueryConstraint[];
55
+ /**
56
+ * Params for {@link openRouterRunTasksReclaimableQuery}.
57
+ */
58
+ export interface OpenRouterRunTasksReclaimableQueryParams {
59
+ /**
60
+ * Maximum number of tasks to return.
61
+ */
62
+ readonly limit: number;
63
+ /**
64
+ * Leases taken at or before this date are stale.
65
+ */
66
+ readonly leaseCutoff: Date;
67
+ }
68
+ /**
69
+ * Query for RUNNING run tasks whose lease has gone stale — crash recovery.
70
+ *
71
+ * Separate from {@link openRouterRunTasksRunnableQuery} because it needs a range filter on `lat`, and
72
+ * Firestore allows the range filter on only one field, which the ordering must then lead with.
73
+ *
74
+ * The cutoff goes through `whereDateIsOnOrBefore` rather than a bare `where('lat', '<=', date)`:
75
+ * `firestoreDate` persists an ISO8601 STRING, so comparing the field against a `Date` compares a string
76
+ * to a timestamp and matches nothing — silently, with no error and an empty page, which reads exactly
77
+ * like "no crashed sweeps to recover".
78
+ *
79
+ * @param params - The page limit and lease cutoff.
80
+ * @returns Firestore query constraints for the reclaimable page.
81
+ *
82
+ * @dbxModelFirebaseIndex
83
+ * @dbxModelFirebaseIndexModel OpenRouterRunTask
84
+ * @dbxModelFirebaseIndexScope COLLECTION
85
+ * @dbxModelFirebaseIndexCategory sweep
86
+ */
87
+ export declare function openRouterRunTasksReclaimableQuery(params: OpenRouterRunTasksReclaimableQueryParams): FirestoreQueryConstraint[];
88
+ /**
89
+ * Params for {@link openRouterRunTasksExpiredQuery}.
90
+ */
91
+ export interface OpenRouterRunTasksExpiredQueryParams {
92
+ /**
93
+ * Tasks queued at or before this date are returned.
94
+ */
95
+ readonly before: Date;
96
+ /**
97
+ * Maximum number of tasks to return.
98
+ */
99
+ readonly limit: number;
100
+ }
101
+ /**
102
+ * Query for run tasks past their retention age, for deletion. Matches EVERY state, `RUNNING` included —
103
+ * see {@link OPENROUTER_RUN_TASK_MAX_AGE} for why the ceiling is the whole requirement.
104
+ *
105
+ * Ordered by `qat` with no state filter, so it needs no composite index at all: a single-field range with
106
+ * a matching order is served by Firestore's automatic single-field index.
107
+ *
108
+ * Firestore's NATIVE TTL policy cannot do this job, for the same reason the cutoff goes through
109
+ * `whereDateIsOnOrBefore` rather than a bare `where('qat', '<=', date)`: `firestoreDate` persists an
110
+ * ISO8601 STRING, and a TTL policy only deletes on a `Timestamp` field. Pointed at `qat` it would
111
+ * silently never fire. The app-level sweep is the mechanism here, not a stopgap for one.
112
+ *
113
+ * @param params - The retention cutoff and page limit.
114
+ * @returns Firestore query constraints for the expired page.
115
+ *
116
+ * @dbxModelFirebaseIndex
117
+ * @dbxModelFirebaseIndexModel OpenRouterRunTask
118
+ * @dbxModelFirebaseIndexScope COLLECTION
119
+ * @dbxModelFirebaseIndexCategory cleanup
120
+ */
121
+ export declare function openRouterRunTasksExpiredQuery(params: OpenRouterRunTasksExpiredQueryParams): FirestoreQueryConstraint[];
@@ -0,0 +1 @@
1
+ exports._default = require('./index.cjs.js').default;