@cat-factory/integrations 0.156.1 → 0.158.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.
- package/dist/modules/github/GitHubSyncService.d.ts +46 -3
- package/dist/modules/github/GitHubSyncService.d.ts.map +1 -1
- package/dist/modules/github/GitHubSyncService.js +89 -19
- package/dist/modules/github/GitHubSyncService.js.map +1 -1
- package/dist/modules/providers/LocalModelEndpointService.d.ts +5 -3
- package/dist/modules/providers/LocalModelEndpointService.d.ts.map +1 -1
- package/dist/modules/providers/LocalModelEndpointService.js +20 -2
- package/dist/modules/providers/LocalModelEndpointService.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
import type { Clock } from '@cat-factory/kernel';
|
|
2
|
-
import type { GitHubClient } from '@cat-factory/kernel';
|
|
2
|
+
import type { GitHubClient, Paged } from '@cat-factory/kernel';
|
|
3
3
|
import type { BranchProjectionRepository, CheckRunProjectionRepository, CommitProjectionRepository, GitHubInstallationRepository, GroupCacheHandle, IssueProjectionRepository, PullRequestProjectionRepository, RepoProjectionRepository, UserRepoAccessRepository } from '@cat-factory/kernel';
|
|
4
4
|
import type { GitHubAvailableRepo, GitHubRepo, RepoTreeEntry } from '@cat-factory/kernel';
|
|
5
|
+
/**
|
|
6
|
+
* What a workspace's connection can reach right now, and whether that is all of it.
|
|
7
|
+
*
|
|
8
|
+
* A result object rather than a bare array because the caps behind the read are real: the App
|
|
9
|
+
* enumeration stops at a page cap and a name search at a result cap, so on a wide installation the
|
|
10
|
+
* rows are a PREFIX. The two facts have to travel together, or the caller that publishes them
|
|
11
|
+
* reports an absent repository as unreachable when the truth is that the walk stopped first.
|
|
12
|
+
*/
|
|
13
|
+
export interface AvailableRepoListing {
|
|
14
|
+
repos: GitHubAvailableRepo[];
|
|
15
|
+
/** True when a provider leg stopped at its cap, so reachable repositories are missing. */
|
|
16
|
+
truncated: boolean;
|
|
17
|
+
}
|
|
5
18
|
export interface GitHubSyncServiceDependencies {
|
|
6
19
|
githubClient: GitHubClient;
|
|
7
20
|
githubInstallationRepository: GitHubInstallationRepository;
|
|
@@ -43,7 +56,7 @@ export interface GitHubSyncServiceDependencies {
|
|
|
43
56
|
* stored PAT changes; the short TTL backstops repos created straight on GitHub. Absent (tests /
|
|
44
57
|
* the Worker's pass-through profile) ⇒ the enumeration runs live per request.
|
|
45
58
|
*/
|
|
46
|
-
viewerReposCache?: GroupCacheHandle<GitHubRepo
|
|
59
|
+
viewerReposCache?: GroupCacheHandle<Paged<GitHubRepo>>;
|
|
47
60
|
}
|
|
48
61
|
export declare class GitHubSyncService {
|
|
49
62
|
private readonly deps;
|
|
@@ -61,12 +74,16 @@ export declare class GitHubSyncService {
|
|
|
61
74
|
* filtering in memory both truncates at the enumeration cap (dropping matches beyond it)
|
|
62
75
|
* and re-fetches every page on each keystroke. A blank/whitespace query returns every
|
|
63
76
|
* accessible repo (the repo-link panel's browse-all), so existing callers are unchanged.
|
|
77
|
+
*
|
|
78
|
+
* Answers an {@link AvailableRepoListing} rather than an array because every leg here has a cap
|
|
79
|
+
* and a caller that renders the result owes its reader the difference between "not reachable" and
|
|
80
|
+
* "not listed".
|
|
64
81
|
*/
|
|
65
82
|
listAvailableRepos(workspaceId: string, opts?: {
|
|
66
83
|
q?: string;
|
|
67
84
|
userId?: string;
|
|
68
85
|
userToken?: string;
|
|
69
|
-
}): Promise<
|
|
86
|
+
}): Promise<AvailableRepoListing>;
|
|
70
87
|
/**
|
|
71
88
|
* Point-read an exact `owner/name` query through the installation, so a repo the token can
|
|
72
89
|
* reach resolves even when the provider's name search misses it (a pasted URL collapsed to
|
|
@@ -108,6 +125,32 @@ export declare class GitHubSyncService {
|
|
|
108
125
|
* tree may be truncated by the provider).
|
|
109
126
|
*/
|
|
110
127
|
listRepoFiles(workspaceId: string, repoGithubId: number): Promise<RepoTreeEntry[]>;
|
|
128
|
+
/**
|
|
129
|
+
* Link a repo named as `owner/name`, resolving the provider id here rather than in the caller.
|
|
130
|
+
*
|
|
131
|
+
* The door a HEADLESS caller comes through (`POST /api/v1/repos/link`): a browser-driven flow
|
|
132
|
+
* picks a repo out of {@link listAvailableRepos} and already holds a provider id, but a setup
|
|
133
|
+
* script holds the name a person typed and cannot know an id for a repo no public read lists.
|
|
134
|
+
*
|
|
135
|
+
* Resolution goes through `listAvailableRepos` with an exact-slug query rather than a bare
|
|
136
|
+
* `getRepo`, so it reaches everything the picker can reach: the App/PAT point-read, the provider
|
|
137
|
+
* search, and the viewer expansion when a token is supplied. Null means UNREACHABLE, which is the
|
|
138
|
+
* one thing the caller must not report as "linked": there is nothing here that could tell an
|
|
139
|
+
* unreachable repo from one that does not exist, so the refusal names both.
|
|
140
|
+
*
|
|
141
|
+
* **A repository this workspace ALREADY links resolves off the projection, before any of that.**
|
|
142
|
+
* Reachability and linkage are different facts and the second does not imply the first: a
|
|
143
|
+
* personal repository linked through somebody's own token, or one an App grant has since been
|
|
144
|
+
* narrowed away from, is listed by `GET /api/v1/repos` and reached by nothing this method could
|
|
145
|
+
* ask. Resolving only through the provider made re-running an idempotent adopt answer `404` for a
|
|
146
|
+
* repository the platform is already using, which is the one answer a setup script acts on by
|
|
147
|
+
* telling its operator to go create it. That mirrors {@link linkRepo}, which short-circuits on the
|
|
148
|
+
* same row by id; this is the same short-circuit keyed by the name a caller holds.
|
|
149
|
+
*/
|
|
150
|
+
linkRepoBySlug(workspaceId: string, owner: string, name: string, opts?: {
|
|
151
|
+
userId?: string;
|
|
152
|
+
userToken?: string;
|
|
153
|
+
}): Promise<GitHubRepo | null>;
|
|
111
154
|
/**
|
|
112
155
|
* Link a single repo into this workspace without disturbing the rest (unlike
|
|
113
156
|
* {@link setLinkedRepos}, which sets the exact set and tombstones the others).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitHubSyncService.d.ts","sourceRoot":"","sources":["../../../src/modules/github/GitHubSyncService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"GitHubSyncService.d.ts","sourceRoot":"","sources":["../../../src/modules/github/GitHubSyncService.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,11 +31,17 @@ export class GitHubSyncService {
|
|
|
31
31
|
* filtering in memory both truncates at the enumeration cap (dropping matches beyond it)
|
|
32
32
|
* and re-fetches every page on each keystroke. A blank/whitespace query returns every
|
|
33
33
|
* accessible repo (the repo-link panel's browse-all), so existing callers are unchanged.
|
|
34
|
+
*
|
|
35
|
+
* Answers an {@link AvailableRepoListing} rather than an array because every leg here has a cap
|
|
36
|
+
* and a caller that renders the result owes its reader the difference between "not reachable" and
|
|
37
|
+
* "not listed".
|
|
34
38
|
*/
|
|
35
39
|
async listAvailableRepos(workspaceId, opts = {}) {
|
|
36
40
|
const installation = await this.deps.githubInstallationRepository.getByWorkspace(workspaceId);
|
|
41
|
+
// No connection reaches nothing, and reaches nothing COMPLETELY: there is no cap involved, so
|
|
42
|
+
// the empty answer is the whole answer.
|
|
37
43
|
if (!installation || installation.deletedAt)
|
|
38
|
-
return [];
|
|
44
|
+
return { repos: [], truncated: false };
|
|
39
45
|
// A pasted repository URL must never depend on the provider's name search (which
|
|
40
46
|
// tokenizes names — a full URL matches nothing): collapse it to its `owner/name` slug
|
|
41
47
|
// BEFORE searching, and point-read that slug directly alongside the search below.
|
|
@@ -54,16 +60,14 @@ export class GitHubSyncService {
|
|
|
54
60
|
// App's grant — even on the hosted facades. The App repos win on a github-id collision
|
|
55
61
|
// (they're shared, so a repo reachable both ways is NOT personal). Personal-only repos are
|
|
56
62
|
// badged so the user knows linking one makes a frame others may not see.
|
|
57
|
-
const [trackedRows,
|
|
63
|
+
const [trackedRows, searched, directRepo, personal] = await Promise.all([
|
|
58
64
|
this.deps.repoProjectionRepository.list(workspaceId),
|
|
59
65
|
query
|
|
60
66
|
? this.deps.githubClient.searchInstallationRepos(installation.installationId, query, {
|
|
61
67
|
owner: installation.accountLogin || undefined,
|
|
62
68
|
ownerType: installation.targetType,
|
|
63
69
|
})
|
|
64
|
-
: this.deps.githubClient
|
|
65
|
-
.listInstallationRepos(installation.installationId)
|
|
66
|
-
.then((page) => page.items),
|
|
70
|
+
: this.deps.githubClient.listInstallationRepos(installation.installationId),
|
|
67
71
|
// An exact `owner/name` query (typed, or collapsed from a pasted URL) is ALSO resolved
|
|
68
72
|
// by a direct point-read, because the search leg alone is not sufficient: the GitHub-App
|
|
69
73
|
// adapter delegates to GitHub's tokenized name search, which can miss an exact slug
|
|
@@ -74,7 +78,7 @@ export class GitHubSyncService {
|
|
|
74
78
|
// The direct hit leads so an exact match is first in the picker; search rows dedup onto it.
|
|
75
79
|
const appRepos = [
|
|
76
80
|
...(directRepo ? [directRepo] : []),
|
|
77
|
-
...
|
|
81
|
+
...searched.items.filter((r) => r.githubId !== directRepo?.githubId),
|
|
78
82
|
];
|
|
79
83
|
const tracked = new Map(trackedRows.map((r) => [r.githubId, r]));
|
|
80
84
|
const appIds = new Set(appRepos.map((r) => r.githubId));
|
|
@@ -91,7 +95,7 @@ export class GitHubSyncService {
|
|
|
91
95
|
// that connection's provider.
|
|
92
96
|
provider: installation.provider,
|
|
93
97
|
}));
|
|
94
|
-
for (const r of
|
|
98
|
+
for (const r of personal.repos) {
|
|
95
99
|
if (appIds.has(r.githubId))
|
|
96
100
|
continue;
|
|
97
101
|
merged.push({
|
|
@@ -106,7 +110,11 @@ export class GitHubSyncService {
|
|
|
106
110
|
provider: installation.provider,
|
|
107
111
|
});
|
|
108
112
|
}
|
|
109
|
-
|
|
113
|
+
// A fact about the LIST, not about the query: either provider leg can stop at a cap, and a
|
|
114
|
+
// caller reading a row's absence has to know which of "not reachable" and "not listed" it is
|
|
115
|
+
// looking at. It says nothing about the point-read leg, which resolves an exact `owner/name`
|
|
116
|
+
// directly and so answers about THAT slug completely either way.
|
|
117
|
+
return { repos: merged, truncated: searched.truncated === true || personal.truncated };
|
|
110
118
|
}
|
|
111
119
|
/**
|
|
112
120
|
* Point-read an exact `owner/name` query through the installation, so a repo the token can
|
|
@@ -131,8 +139,10 @@ export class GitHubSyncService {
|
|
|
131
139
|
async viewerPatRepos(workspaceId, opts, query) {
|
|
132
140
|
const { userToken, userId } = opts;
|
|
133
141
|
const listReposForToken = this.deps.githubClient.listReposForToken;
|
|
142
|
+
// No token supplied, or a client that cannot enumerate by one: this leg contributes nothing and
|
|
143
|
+
// omitted nothing, which is not the same as an enumeration that stopped early.
|
|
134
144
|
if (!userToken || !listReposForToken)
|
|
135
|
-
return [];
|
|
145
|
+
return { repos: [], truncated: false };
|
|
136
146
|
// Hot path — the add-service picker's typeahead (a query is always present). Serve the token's
|
|
137
147
|
// repo enumeration from the per-user cache and filter it in memory, so a keystroke costs a
|
|
138
148
|
// substring scan of a cached complete set rather than re-walking the whole `/user/repos` set on
|
|
@@ -141,17 +151,22 @@ export class GitHubSyncService {
|
|
|
141
151
|
// stays uncached: it also refreshes the fail-closed access projection and wants fresh data.
|
|
142
152
|
if (query && userId && this.deps.viewerReposCache) {
|
|
143
153
|
const q = query.toLowerCase();
|
|
144
|
-
let
|
|
154
|
+
let cached;
|
|
145
155
|
try {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
156
|
+
// The whole page is cached, not its items: an enumeration that stopped at the cap is an
|
|
157
|
+
// incomplete prefix, and a cache that kept only the rows would serve that prefix to every
|
|
158
|
+
// later keystroke as though it were the complete set.
|
|
159
|
+
cached = await this.deps.viewerReposCache.get(userId, userId, () => listReposForToken(userToken));
|
|
150
160
|
}
|
|
151
161
|
catch {
|
|
152
|
-
|
|
162
|
+
// A personal-token failure degrades to App-only, and the App legs are complete on their own
|
|
163
|
+
// terms: nothing was dropped from a listing this leg never produced.
|
|
164
|
+
return { repos: [], truncated: false };
|
|
153
165
|
}
|
|
154
|
-
return
|
|
166
|
+
return {
|
|
167
|
+
repos: cached.items.filter((r) => `${r.owner}/${r.name}`.toLowerCase().includes(q)),
|
|
168
|
+
truncated: cached.truncated === true,
|
|
169
|
+
};
|
|
155
170
|
}
|
|
156
171
|
// A stored PAT can be expired/revoked while still decrypting fine (or GitHub can be
|
|
157
172
|
// unreachable). Enumerating with it must NOT 500 the whole available-repos listing — the App
|
|
@@ -162,7 +177,7 @@ export class GitHubSyncService {
|
|
|
162
177
|
page = await listReposForToken(userToken);
|
|
163
178
|
}
|
|
164
179
|
catch {
|
|
165
|
-
return [];
|
|
180
|
+
return { repos: [], truncated: false };
|
|
166
181
|
}
|
|
167
182
|
const { items, truncated } = page;
|
|
168
183
|
// Refresh the fail-closed access cache only on a blank browse-all (the picker's initial
|
|
@@ -178,10 +193,14 @@ export class GitHubSyncService {
|
|
|
178
193
|
else
|
|
179
194
|
await this.deps.userRepoAccessRepository.replaceForUser(userId, records);
|
|
180
195
|
}
|
|
196
|
+
const capped = truncated === true;
|
|
181
197
|
if (!query)
|
|
182
|
-
return items;
|
|
198
|
+
return { repos: items, truncated: capped };
|
|
183
199
|
const q = query.toLowerCase();
|
|
184
|
-
return
|
|
200
|
+
return {
|
|
201
|
+
repos: items.filter((r) => `${r.owner}/${r.name}`.toLowerCase().includes(q)),
|
|
202
|
+
truncated: capped,
|
|
203
|
+
};
|
|
185
204
|
}
|
|
186
205
|
toAccessRecord(userId, repo) {
|
|
187
206
|
return {
|
|
@@ -265,6 +284,45 @@ export class GitHubSyncService {
|
|
|
265
284
|
.map((e) => ({ path: e.path, name: e.name, type: e.type }))
|
|
266
285
|
.sort((a, b) => a.path.localeCompare(b.path));
|
|
267
286
|
}
|
|
287
|
+
/**
|
|
288
|
+
* Link a repo named as `owner/name`, resolving the provider id here rather than in the caller.
|
|
289
|
+
*
|
|
290
|
+
* The door a HEADLESS caller comes through (`POST /api/v1/repos/link`): a browser-driven flow
|
|
291
|
+
* picks a repo out of {@link listAvailableRepos} and already holds a provider id, but a setup
|
|
292
|
+
* script holds the name a person typed and cannot know an id for a repo no public read lists.
|
|
293
|
+
*
|
|
294
|
+
* Resolution goes through `listAvailableRepos` with an exact-slug query rather than a bare
|
|
295
|
+
* `getRepo`, so it reaches everything the picker can reach: the App/PAT point-read, the provider
|
|
296
|
+
* search, and the viewer expansion when a token is supplied. Null means UNREACHABLE, which is the
|
|
297
|
+
* one thing the caller must not report as "linked": there is nothing here that could tell an
|
|
298
|
+
* unreachable repo from one that does not exist, so the refusal names both.
|
|
299
|
+
*
|
|
300
|
+
* **A repository this workspace ALREADY links resolves off the projection, before any of that.**
|
|
301
|
+
* Reachability and linkage are different facts and the second does not imply the first: a
|
|
302
|
+
* personal repository linked through somebody's own token, or one an App grant has since been
|
|
303
|
+
* narrowed away from, is listed by `GET /api/v1/repos` and reached by nothing this method could
|
|
304
|
+
* ask. Resolving only through the provider made re-running an idempotent adopt answer `404` for a
|
|
305
|
+
* repository the platform is already using, which is the one answer a setup script acts on by
|
|
306
|
+
* telling its operator to go create it. That mirrors {@link linkRepo}, which short-circuits on the
|
|
307
|
+
* same row by id; this is the same short-circuit keyed by the name a caller holds.
|
|
308
|
+
*/
|
|
309
|
+
async linkRepoBySlug(workspaceId, owner, name, opts = {}) {
|
|
310
|
+
const linked = await this.deps.repoProjectionRepository.list(workspaceId);
|
|
311
|
+
const already = linked.find((repo) => sameSlug(repo, owner, name));
|
|
312
|
+
if (already)
|
|
313
|
+
return already;
|
|
314
|
+
const { repos: available } = await this.listAvailableRepos(workspaceId, {
|
|
315
|
+
...opts,
|
|
316
|
+
q: `${owner}/${name}`,
|
|
317
|
+
});
|
|
318
|
+
// Matched case-insensitively, as both providers treat a repository name, and against the OWNER
|
|
319
|
+
// too: a slug search can surface a same-named repository under another account, and linking that
|
|
320
|
+
// one would be a silent substitution rather than the miss it is.
|
|
321
|
+
const match = available.find((repo) => sameSlug(repo, owner, name));
|
|
322
|
+
if (!match)
|
|
323
|
+
return null;
|
|
324
|
+
return this.linkRepo(workspaceId, match.githubId, opts);
|
|
325
|
+
}
|
|
268
326
|
/**
|
|
269
327
|
* Link a single repo into this workspace without disturbing the rest (unlike
|
|
270
328
|
* {@link setLinkedRepos}, which sets the exact set and tombstones the others).
|
|
@@ -526,4 +584,16 @@ export class GitHubSyncService {
|
|
|
526
584
|
});
|
|
527
585
|
}
|
|
528
586
|
}
|
|
587
|
+
/**
|
|
588
|
+
* Whether a row IS the named repository, folding case on both halves.
|
|
589
|
+
*
|
|
590
|
+
* One rule for the two populations `linkRepoBySlug` consults (the workspace's own projection and
|
|
591
|
+
* what the connection reaches), because both providers treat a repository name case-insensitively:
|
|
592
|
+
* an operator who created `Catalog-Api` and typed `catalog-api` named one repository, and a second
|
|
593
|
+
* copy of that judgement is where one of the two comparisons quietly becomes exact.
|
|
594
|
+
*/
|
|
595
|
+
function sameSlug(repo, owner, name) {
|
|
596
|
+
return (repo.owner.toLowerCase() === owner.toLowerCase() &&
|
|
597
|
+
repo.name.toLowerCase() === name.toLowerCase());
|
|
598
|
+
}
|
|
529
599
|
//# sourceMappingURL=GitHubSyncService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitHubSyncService.js","sourceRoot":"","sources":["../../../src/modules/github/GitHubSyncService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GitHubSyncService.js","sourceRoot":"","sources":["../../../src/modules/github/GitHubSyncService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Clock, LocalModelEndpointRepository, SecretCipher } from '@cat-factory/kernel';
|
|
2
|
-
import type { LocalModelEndpoint, LocalModelEndpointTestResult, LocalRunner, TestLocalModelEndpointInput, UpsertLocalModelEndpointInput } from '@cat-factory/contracts';
|
|
2
|
+
import type { LocalModelDeclaration, LocalModelEndpoint, LocalModelEndpointTestResult, LocalRunner, TestLocalModelEndpointInput, UpsertLocalModelEndpointInput } from '@cat-factory/contracts';
|
|
3
3
|
import { type LocalRunnerUrlRefusal } from './localModelUrl.js';
|
|
4
4
|
/**
|
|
5
5
|
* HKDF domain tag separating a local runner's sealed bearer key from every other cipher (mirrors
|
|
@@ -49,12 +49,14 @@ export declare class LocalModelEndpointService {
|
|
|
49
49
|
remove(userId: string, provider: LocalRunner): Promise<void>;
|
|
50
50
|
/**
|
|
51
51
|
* The set of local-runner providers the user has configured with ≥1 enabled model,
|
|
52
|
-
* plus the enabled models per provider
|
|
52
|
+
* plus the enabled models per provider: the input to the per-user model catalog. Each model
|
|
53
|
+
* carries the user's own declaration about it, so the picker can state what a local model may
|
|
54
|
+
* be given exactly as it does for a curated one.
|
|
53
55
|
*/
|
|
54
56
|
capabilitiesFor(userId: string): Promise<{
|
|
55
57
|
provider: LocalRunner;
|
|
56
58
|
label: string;
|
|
57
|
-
models:
|
|
59
|
+
models: LocalModelDeclaration[];
|
|
58
60
|
}[]>;
|
|
59
61
|
/**
|
|
60
62
|
* Resolve a user's endpoint for run-time forwarding: base URL + decrypted optional key.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalModelEndpointService.d.ts","sourceRoot":"","sources":["../../../src/modules/providers/LocalModelEndpointService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAEL,4BAA4B,EAC5B,YAAY,EACb,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EACV,kBAAkB,EAClB,4BAA4B,EAC5B,WAAW,EAEX,2BAA2B,EAC3B,6BAA6B,EAC9B,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAGL,KAAK,qBAAqB,EAG3B,MAAM,oBAAoB,CAAA;AAa3B;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,sCAAsC,CAAA;AAEpF,MAAM,WAAW,qCAAqC;IACpD,4BAA4B,EAAE,4BAA4B,CAAA;IAC1D,gFAAgF;IAChF,YAAY,EAAE,YAAY,CAAA;IAC1B,KAAK,EAAE,KAAK,CAAA;IACZ,wDAAwD;IACxD,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IACpB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,wFAAwF;AACxF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,WAAW,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB;AAED,qBAAa,yBAAyB;IAIxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAEhD,YAA6B,IAAI,EAAE,qCAAqC,EAEvE;IAED;;;;;OAKG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAGxD;IAED,qFAAqF;IACrF,OAAO,CAAC,aAAa;IAIrB,0DAA0D;IACpD,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"LocalModelEndpointService.d.ts","sourceRoot":"","sources":["../../../src/modules/providers/LocalModelEndpointService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAEL,4BAA4B,EAC5B,YAAY,EACb,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,4BAA4B,EAC5B,WAAW,EAEX,2BAA2B,EAC3B,6BAA6B,EAC9B,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAGL,KAAK,qBAAqB,EAG3B,MAAM,oBAAoB,CAAA;AAa3B;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,sCAAsC,CAAA;AAEpF,MAAM,WAAW,qCAAqC;IACpD,4BAA4B,EAAE,4BAA4B,CAAA;IAC1D,gFAAgF;IAChF,YAAY,EAAE,YAAY,CAAA;IAC1B,KAAK,EAAE,KAAK,CAAA;IACZ,wDAAwD;IACxD,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IACpB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,wFAAwF;AACxF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,WAAW,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB;AAED,qBAAa,yBAAyB;IAIxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAEhD,YAA6B,IAAI,EAAE,qCAAqC,EAEvE;IAED;;;;;OAKG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAGxD;IAED,qFAAqF;IACrF,OAAO,CAAC,aAAa;IAIrB,0DAA0D;IACpD,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAoC9F;IAED,+CAA+C;IACzC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjE;IAED;;;;;OAKG;IACG,eAAe,CACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,QAAQ,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,qBAAqB,EAAE,CAAA;KAAE,EAAE,CAAC,CAYtF;IAED;;;OAGG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAUrF;IAED;;;OAGG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAUnE;IAED;;;;;OAKG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAEhE;IAED;;;;;OAKG;IACH,WAAW,CACT,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,IAAI,MAAM,EAAE,GACnB;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,qBAAqB,CAAA;KAAE,CAEtD;IAED;;;;OAIG;IACG,cAAc,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CA+B9F;CACF"}
|
|
@@ -64,6 +64,10 @@ export class LocalModelEndpointService {
|
|
|
64
64
|
baseUrl: input.baseUrl,
|
|
65
65
|
apiKeyCipher,
|
|
66
66
|
models: dedupe(input.models),
|
|
67
|
+
// What is about to be stored is exactly what the request validated, so nothing was discarded
|
|
68
|
+
// reading it. This write is also the FIX for a row that did lose entries: it replaces the
|
|
69
|
+
// whole blob, so the next read of it reports clean again.
|
|
70
|
+
unreadableModels: false,
|
|
67
71
|
createdAt: existing?.createdAt ?? now,
|
|
68
72
|
updatedAt: now,
|
|
69
73
|
};
|
|
@@ -77,7 +81,9 @@ export class LocalModelEndpointService {
|
|
|
77
81
|
}
|
|
78
82
|
/**
|
|
79
83
|
* The set of local-runner providers the user has configured with ≥1 enabled model,
|
|
80
|
-
* plus the enabled models per provider
|
|
84
|
+
* plus the enabled models per provider: the input to the per-user model catalog. Each model
|
|
85
|
+
* carries the user's own declaration about it, so the picker can state what a local model may
|
|
86
|
+
* be given exactly as it does for a curated one.
|
|
81
87
|
*/
|
|
82
88
|
async capabilitiesFor(userId) {
|
|
83
89
|
const rows = await this.deps.localModelEndpointRepository.listByUser(userId);
|
|
@@ -183,12 +189,24 @@ function toWire(record, urlBlockedReason) {
|
|
|
183
189
|
baseUrl: record.baseUrl,
|
|
184
190
|
hasApiKey: record.apiKeyCipher !== null,
|
|
185
191
|
models: record.models,
|
|
192
|
+
unreadableModels: record.unreadableModels,
|
|
186
193
|
urlBlockedReason,
|
|
187
194
|
createdAt: record.createdAt,
|
|
188
195
|
updatedAt: record.updatedAt,
|
|
189
196
|
};
|
|
190
197
|
}
|
|
198
|
+
/**
|
|
199
|
+
* One entry per model id, in first-seen order. LAST declaration wins for a repeated id: the panel
|
|
200
|
+
* sends one entry per ticked model, so a duplicate is a client bug rather than a choice, and taking
|
|
201
|
+
* the later one means the value the user set most recently is the one stored.
|
|
202
|
+
*/
|
|
191
203
|
function dedupe(models) {
|
|
192
|
-
|
|
204
|
+
const byId = new Map();
|
|
205
|
+
for (const model of models) {
|
|
206
|
+
const id = model.id.trim();
|
|
207
|
+
if (id)
|
|
208
|
+
byId.set(id, { ...model, id });
|
|
209
|
+
}
|
|
210
|
+
return [...byId.values()];
|
|
193
211
|
}
|
|
194
212
|
//# sourceMappingURL=LocalModelEndpointService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalModelEndpointService.js","sourceRoot":"","sources":["../../../src/modules/providers/LocalModelEndpointService.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"LocalModelEndpointService.js","sourceRoot":"","sources":["../../../src/modules/providers/LocalModelEndpointService.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAUtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EACL,gBAAgB,EAGhB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,oBAAoB,CAAA;AAE3B,uFAAuF;AACvF,yFAAyF;AACzF,oFAAoF;AACpF,kFAAkF;AAClF,kEAAkE;AAClE,EAAE;AACF,yFAAyF;AACzF,0FAA0F;AAC1F,yFAAyF;AACzF,kEAAkE;AAElE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,mCAAmC,CAAA;AAyBpF,MAAM,OAAO,yBAAyB;IAIP,IAAI;IAHjC,+EAA+E;IAC9D,SAAS,CAAsB;IAEhD,YAA6B,IAA2C;oBAA3C,IAAI;QAC/B,IAAI,CAAC,SAAS,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,oBAAoB,IAAI,KAAK,EAAE,CAAA;IAC1E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,MAAc;QACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAC5E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAClE,CAAC;IAED,qFAAqF;IAC7E,aAAa,CAAC,OAAe;QACnC,OAAO,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,IAAI,CAAA;IACvE,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,KAAoC;QAC/D,qFAAqF;QACrF,sFAAsF;QACtF,oFAAoF;QACpF,iEAAiE;QACjE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QACrE,IAAI,QAAQ;YAAE,MAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QACtF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,iBAAiB,CAC7E,MAAM,EACN,KAAK,CAAC,QAAQ,CACf,CAAA;QACD,8EAA8E;QAC9E,MAAM,YAAY,GAChB,KAAK,CAAC,MAAM,KAAK,SAAS;YACxB,CAAC,CAAC,CAAC,QAAQ,EAAE,YAAY,IAAI,IAAI,CAAC;YAClC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBACvB,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;gBACpD,CAAC,CAAC,IAAI,CAAA;QACZ,MAAM,MAAM,GAA6B;YACvC,MAAM;YACN,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC;YACjE,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,YAAY;YACZ,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YAC5B,6FAA6F;YAC7F,0FAA0F;YAC1F,0DAA0D;YAC1D,gBAAgB,EAAE,KAAK;YACvB,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,GAAG;YACrC,SAAS,EAAE,GAAG;SACf,CAAA;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC3D,wEAAwE;QACxE,OAAO,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC7B,CAAC;IAED,+CAA+C;IAC/C,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,QAAqB;QAChD,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACvE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CACnB,MAAc;QAEd,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAC5E,OAAO,CACL,IAAI;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YACnC,sFAAsF;YACtF,qFAAqF;YACrF,oFAAoF;YACpF,iDAAiD;aAChD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;aACrD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAC5E,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,QAAgB;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,iBAAiB,CAC3E,MAAM,EACN,QAAuB,CACxB,CAAA;QACD,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY;YAChC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;YAC3D,CAAC,CAAC,IAAI,CAAA;QACR,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAA;IACvE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAC5E,MAAM,GAAG,GAA4B,EAAE,CAAA;QACvC,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY;gBAChC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;gBAC3D,CAAC,CAAC,IAAI,CAAA;YACR,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;QAC1E,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,MAAc,EAAE,IAAiB;QAC3C,OAAO,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IACjF,CAAC;IAED;;;;;OAKG;IACH,WAAW,CACT,OAAe,EACf,MAAoB;QAEpB,OAAO,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IAC1D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,KAAkC;QACrD,uFAAuF;QACvF,qFAAqF;QACrF,qFAAqF;QACrF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAC3E,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;YAC1B,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO;gBAC/B,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;aACrC,CAAA;QACH,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAA;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,GAA2B,EAAE,CAAA;YAC1C,IAAI,KAAK,CAAC,MAAM;gBAAE,OAAO,CAAC,aAAa,GAAG,UAAU,KAAK,CAAC,MAAM,EAAE,CAAA;YAClE,8EAA8E;YAC9E,gEAAgE;YAChE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACvF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,wBAAwB,GAAG,CAAC,MAAM,EAAE,EAAE,CAAA;YACtF,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAkC,CAAA;YAChE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBACrC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC3D,CAAC,CAAC,EAAE,CAAA;YACN,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAA;QACtE,CAAC;IACH,CAAC;CACF;AAED,SAAS,MAAM,CACb,MAAgC,EAChC,gBAA6C;IAE7C,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,YAAY,KAAK,IAAI;QACvC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,gBAAgB;QAChB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,MAAM,CAAC,MAA+B;IAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAiC,CAAA;IACrD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;QAC1B,IAAI,EAAE;YAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IACxC,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;AAC3B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/integrations",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.158.0",
|
|
4
4
|
"description": "External-system integration domain logic for the Agent Architecture Board (GitHub, documents, tasks, environments, runners).",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -28,14 +28,14 @@
|
|
|
28
28
|
"p-map": "^7.0.6",
|
|
29
29
|
"undici": "^8.10.0",
|
|
30
30
|
"yaml": "^2.9.0",
|
|
31
|
-
"@cat-factory/contracts": "0.
|
|
32
|
-
"@cat-factory/kernel": "0.
|
|
31
|
+
"@cat-factory/contracts": "0.297.0",
|
|
32
|
+
"@cat-factory/kernel": "0.288.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"typescript": "7.0.2",
|
|
36
36
|
"valibot": "^1.4.2",
|
|
37
37
|
"vitest": "^4.1.10",
|
|
38
|
-
"@cat-factory/caching": "0.
|
|
38
|
+
"@cat-factory/caching": "0.20.0"
|
|
39
39
|
},
|
|
40
40
|
"scripts": {
|
|
41
41
|
"build": "tsc -b tsconfig.build.json",
|