@inkeep/agents-core 0.36.1 → 0.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.
- package/dist/auth/auth-validation-schemas.js +17 -17
- package/dist/auth/auth.d.ts +3 -3
- package/dist/auth/auth.js +28 -2
- package/dist/{chunk-OEHP46F7.js → chunk-32YRH2S7.js} +67 -63
- package/dist/chunk-CUM6BY2Y.js +320 -0
- package/dist/{chunk-4OISWRFK.js → chunk-ICZLNCX7.js} +49 -30
- package/dist/{chunk-FOK3JSQN.js → chunk-MB2ZIPZS.js} +5 -5
- package/dist/chunk-OUXC23J7.js +12534 -0
- package/dist/{chunk-4RVJB4KV.js → chunk-Q5U2SVA6.js} +7 -8
- package/dist/{chunk-KMLLKRUY.js → chunk-SLQW43IV.js} +5 -4
- package/dist/{chunk-7GZHUB4J.js → chunk-SSRRHYU4.js} +5 -4
- package/dist/{chunk-ZCEKN54E.js → chunk-VQXQOGJU.js} +314 -312
- package/dist/{client-HrEgt7wv.d.ts → client-CnpNkGsH.d.ts} +1 -1
- package/dist/client-exports.d.ts +2 -2
- package/dist/client-exports.js +126 -125
- package/dist/constants/schema-validation/index.js +1 -1
- package/dist/credential-stores/index.d.ts +1 -1
- package/dist/credential-stores/index.js +1 -1
- package/dist/db/schema.d.ts +2 -2
- package/dist/db/test-client.d.ts +3 -3
- package/dist/index.d.ts +23 -6
- package/dist/index.js +16 -14
- package/dist/{schema-CoC3tYFX.d.ts → schema-Cgkp_geg.d.ts} +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/{utility-C4QAannk.d.ts → utility-C_tTZ7-k.d.ts} +5 -0
- package/dist/utils/schema-conversion.js +1 -1
- package/dist/validation/index.d.ts +2 -2
- package/dist/validation/index.js +2 -2
- package/package.json +4 -8
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { user, session, account, organization, member, invitation, verification } from '../chunk-NOPEANIU.js';
|
|
2
|
+
import { external_exports } from '../chunk-OUXC23J7.js';
|
|
2
3
|
import { createSelectSchema, createInsertSchema } from 'drizzle-zod';
|
|
3
|
-
import { z } from 'zod';
|
|
4
4
|
|
|
5
5
|
var UserSelectSchema = createSelectSchema(user);
|
|
6
6
|
var UserInsertSchema = createInsertSchema(user);
|
|
@@ -16,24 +16,24 @@ var InvitationSelectSchema = createSelectSchema(invitation);
|
|
|
16
16
|
var InvitationInsertSchema = createInsertSchema(invitation);
|
|
17
17
|
var VerificationSelectSchema = createSelectSchema(verification);
|
|
18
18
|
var VerificationInsertSchema = createInsertSchema(verification);
|
|
19
|
-
var UserOrganizationSchema =
|
|
20
|
-
id:
|
|
21
|
-
userId:
|
|
22
|
-
organizationId:
|
|
23
|
-
role:
|
|
24
|
-
createdAt:
|
|
25
|
-
organizationName:
|
|
26
|
-
organizationSlug:
|
|
19
|
+
var UserOrganizationSchema = external_exports.object({
|
|
20
|
+
id: external_exports.string(),
|
|
21
|
+
userId: external_exports.string(),
|
|
22
|
+
organizationId: external_exports.string(),
|
|
23
|
+
role: external_exports.string(),
|
|
24
|
+
createdAt: external_exports.union([external_exports.string(), external_exports.date()]).transform((val) => val instanceof Date ? val.toISOString() : val),
|
|
25
|
+
organizationName: external_exports.string().nullable(),
|
|
26
|
+
organizationSlug: external_exports.string().nullable()
|
|
27
27
|
});
|
|
28
|
-
var UserOrganizationsResponseSchema =
|
|
29
|
-
var AddUserToOrganizationRequestSchema =
|
|
30
|
-
organizationId:
|
|
31
|
-
role:
|
|
28
|
+
var UserOrganizationsResponseSchema = external_exports.array(UserOrganizationSchema);
|
|
29
|
+
var AddUserToOrganizationRequestSchema = external_exports.object({
|
|
30
|
+
organizationId: external_exports.string(),
|
|
31
|
+
role: external_exports.string().default("member")
|
|
32
32
|
});
|
|
33
|
-
var AddUserToOrganizationResponseSchema =
|
|
34
|
-
organizationId:
|
|
35
|
-
role:
|
|
36
|
-
createdAt:
|
|
33
|
+
var AddUserToOrganizationResponseSchema = external_exports.object({
|
|
34
|
+
organizationId: external_exports.string(),
|
|
35
|
+
role: external_exports.string(),
|
|
36
|
+
createdAt: external_exports.string()
|
|
37
37
|
});
|
|
38
38
|
|
|
39
39
|
export { AccountInsertSchema, AccountSelectSchema, AddUserToOrganizationRequestSchema, AddUserToOrganizationResponseSchema, InvitationInsertSchema, InvitationSelectSchema, MemberInsertSchema, MemberSelectSchema, OrganizationInsertSchema, OrganizationSelectSchema, SessionInsertSchema, SessionSelectSchema, UserInsertSchema, UserOrganizationSchema, UserOrganizationsResponseSchema, UserSelectSchema, VerificationInsertSchema, VerificationSelectSchema };
|
package/dist/auth/auth.d.ts
CHANGED
|
@@ -4,13 +4,13 @@ import * as zod from 'zod';
|
|
|
4
4
|
import * as better_auth from 'better-auth';
|
|
5
5
|
import { BetterAuthAdvancedOptions } from 'better-auth';
|
|
6
6
|
import { GoogleOptions } from 'better-auth/social-providers';
|
|
7
|
-
import { D as DatabaseClient } from '../client-
|
|
7
|
+
import { D as DatabaseClient } from '../client-CnpNkGsH.js';
|
|
8
8
|
import 'drizzle-orm/node-postgres';
|
|
9
9
|
import 'drizzle-orm/pglite';
|
|
10
|
-
import '../schema-
|
|
10
|
+
import '../schema-Cgkp_geg.js';
|
|
11
11
|
import 'drizzle-orm';
|
|
12
12
|
import 'drizzle-orm/pg-core';
|
|
13
|
-
import '../utility-
|
|
13
|
+
import '../utility-C_tTZ7-k.js';
|
|
14
14
|
import 'drizzle-zod';
|
|
15
15
|
import '@hono/zod-openapi';
|
|
16
16
|
import './auth-schema.js';
|
package/dist/auth/auth.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { generateId } from '../chunk-
|
|
1
|
+
import { generateId } from '../chunk-ICZLNCX7.js';
|
|
2
2
|
import { ssoProvider } from '../chunk-NOPEANIU.js';
|
|
3
3
|
import { ownerRole, adminRole, memberRole, ac } from '../chunk-VMSYBWFH.js';
|
|
4
4
|
import { sso } from '@better-auth/sso';
|
|
@@ -7,6 +7,30 @@ import { drizzleAdapter } from 'better-auth/adapters/drizzle';
|
|
|
7
7
|
import { organization } from 'better-auth/plugins';
|
|
8
8
|
import { eq } from 'drizzle-orm';
|
|
9
9
|
|
|
10
|
+
function extractCookieDomain(baseURL) {
|
|
11
|
+
try {
|
|
12
|
+
const url = new URL(baseURL);
|
|
13
|
+
const hostname = url.hostname;
|
|
14
|
+
if (hostname === "localhost" || hostname.match(/^\d+\.\d+\.\d+\.\d+$/)) {
|
|
15
|
+
return void 0;
|
|
16
|
+
}
|
|
17
|
+
const parts = hostname.split(".");
|
|
18
|
+
if (parts.length < 2) {
|
|
19
|
+
return void 0;
|
|
20
|
+
}
|
|
21
|
+
let domainParts;
|
|
22
|
+
if (parts.length === 3) {
|
|
23
|
+
domainParts = parts;
|
|
24
|
+
} else if (parts.length > 3) {
|
|
25
|
+
domainParts = parts.slice(1);
|
|
26
|
+
} else {
|
|
27
|
+
domainParts = parts;
|
|
28
|
+
}
|
|
29
|
+
return `.${domainParts.join(".")}`;
|
|
30
|
+
} catch {
|
|
31
|
+
return void 0;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
10
34
|
async function registerSSOProvider(dbClient, provider) {
|
|
11
35
|
try {
|
|
12
36
|
const existing = await dbClient.select().from(ssoProvider).where(eq(ssoProvider.providerId, provider.providerId)).limit(1);
|
|
@@ -31,6 +55,7 @@ async function registerSSOProvider(dbClient, provider) {
|
|
|
31
55
|
}
|
|
32
56
|
}
|
|
33
57
|
function createAuth(config) {
|
|
58
|
+
const cookieDomain = extractCookieDomain(config.baseURL);
|
|
34
59
|
const auth2 = betterAuth({
|
|
35
60
|
baseURL: config.baseURL,
|
|
36
61
|
secret: config.secret,
|
|
@@ -53,7 +78,8 @@ function createAuth(config) {
|
|
|
53
78
|
},
|
|
54
79
|
advanced: {
|
|
55
80
|
crossSubDomainCookies: {
|
|
56
|
-
enabled: true
|
|
81
|
+
enabled: true,
|
|
82
|
+
...cookieDomain && { domain: cookieDomain }
|
|
57
83
|
},
|
|
58
84
|
...config.advanced
|
|
59
85
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AgentWithinContextOfProjectSchema, resourceIdSchema, MAX_ID_LENGTH } from './chunk-
|
|
2
|
-
import {
|
|
1
|
+
import { AgentWithinContextOfProjectSchema, resourceIdSchema, MAX_ID_LENGTH } from './chunk-VQXQOGJU.js';
|
|
2
|
+
import { external_exports } from './chunk-OUXC23J7.js';
|
|
3
3
|
|
|
4
4
|
// src/validation/cycleDetection.ts
|
|
5
5
|
function detectDelegationCycles(agentData) {
|
|
@@ -181,42 +181,44 @@ function validateAgentStructure(agentData, projectResources) {
|
|
|
181
181
|
}
|
|
182
182
|
validateAgentRelationships(agentData);
|
|
183
183
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
184
|
+
|
|
185
|
+
// src/validation/event-schemas.ts
|
|
186
|
+
var TransferDataSchema = external_exports.object({
|
|
187
|
+
fromSubAgent: external_exports.string().describe("ID of the sub-agent transferring control"),
|
|
188
|
+
targetSubAgent: external_exports.string().describe("ID of the sub-agent receiving control"),
|
|
189
|
+
reason: external_exports.string().optional().describe("Reason for the transfer"),
|
|
190
|
+
context: external_exports.any().optional().describe("Additional context data")
|
|
189
191
|
});
|
|
190
|
-
var DelegationSentDataSchema =
|
|
191
|
-
delegationId:
|
|
192
|
-
fromSubAgent:
|
|
193
|
-
targetSubAgent:
|
|
194
|
-
taskDescription:
|
|
195
|
-
context:
|
|
192
|
+
var DelegationSentDataSchema = external_exports.object({
|
|
193
|
+
delegationId: external_exports.string().describe("Unique identifier for this delegation"),
|
|
194
|
+
fromSubAgent: external_exports.string().describe("ID of the delegating sub-agent"),
|
|
195
|
+
targetSubAgent: external_exports.string().describe("ID of the sub-agent receiving the delegation"),
|
|
196
|
+
taskDescription: external_exports.string().describe("Description of the delegated task"),
|
|
197
|
+
context: external_exports.any().optional().describe("Additional context data")
|
|
196
198
|
});
|
|
197
|
-
var DelegationReturnedDataSchema =
|
|
198
|
-
delegationId:
|
|
199
|
-
fromSubAgent:
|
|
200
|
-
targetSubAgent:
|
|
201
|
-
result:
|
|
199
|
+
var DelegationReturnedDataSchema = external_exports.object({
|
|
200
|
+
delegationId: external_exports.string().describe("Unique identifier matching the original delegation"),
|
|
201
|
+
fromSubAgent: external_exports.string().describe("ID of the sub-agent that completed the task"),
|
|
202
|
+
targetSubAgent: external_exports.string().describe("ID of the sub-agent receiving the result"),
|
|
203
|
+
result: external_exports.any().optional().describe("Result data from the delegated task")
|
|
202
204
|
});
|
|
203
|
-
var DataOperationDetailsSchema =
|
|
204
|
-
timestamp:
|
|
205
|
-
subAgentId:
|
|
206
|
-
data:
|
|
205
|
+
var DataOperationDetailsSchema = external_exports.object({
|
|
206
|
+
timestamp: external_exports.number().describe("Unix timestamp in milliseconds"),
|
|
207
|
+
subAgentId: external_exports.string().describe("ID of the sub-agent that generated this data"),
|
|
208
|
+
data: external_exports.any().describe("The actual data payload")
|
|
207
209
|
});
|
|
208
|
-
var DataOperationEventSchema =
|
|
209
|
-
type:
|
|
210
|
-
label:
|
|
210
|
+
var DataOperationEventSchema = external_exports.object({
|
|
211
|
+
type: external_exports.string().describe("Event type identifier"),
|
|
212
|
+
label: external_exports.string().describe("Human-readable label for the event"),
|
|
211
213
|
details: DataOperationDetailsSchema
|
|
212
214
|
});
|
|
213
|
-
var A2AMessageMetadataSchema =
|
|
214
|
-
fromSubAgentId:
|
|
215
|
-
toSubAgentId:
|
|
216
|
-
fromExternalAgentId:
|
|
217
|
-
toExternalAgentId:
|
|
218
|
-
taskId:
|
|
219
|
-
a2aTaskId:
|
|
215
|
+
var A2AMessageMetadataSchema = external_exports.object({
|
|
216
|
+
fromSubAgentId: external_exports.string().optional().describe("ID of the sending sub-agent"),
|
|
217
|
+
toSubAgentId: external_exports.string().optional().describe("ID of the receiving sub-agent"),
|
|
218
|
+
fromExternalAgentId: external_exports.string().optional().describe("ID of the sending external agent"),
|
|
219
|
+
toExternalAgentId: external_exports.string().optional().describe("ID of the receiving external agent"),
|
|
220
|
+
taskId: external_exports.string().optional().describe("Associated task ID"),
|
|
221
|
+
a2aTaskId: external_exports.string().optional().describe("A2A-specific task ID")
|
|
220
222
|
});
|
|
221
223
|
|
|
222
224
|
// src/validation/id-validation.ts
|
|
@@ -339,48 +341,50 @@ function validateRender(render) {
|
|
|
339
341
|
errors
|
|
340
342
|
};
|
|
341
343
|
}
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
344
|
+
|
|
345
|
+
// src/validation/stream-event-schemas.ts
|
|
346
|
+
var TextStartEventSchema = external_exports.object({
|
|
347
|
+
type: external_exports.literal("text-start"),
|
|
348
|
+
id: external_exports.string()
|
|
345
349
|
});
|
|
346
|
-
var TextDeltaEventSchema =
|
|
347
|
-
type:
|
|
348
|
-
id:
|
|
349
|
-
delta:
|
|
350
|
+
var TextDeltaEventSchema = external_exports.object({
|
|
351
|
+
type: external_exports.literal("text-delta"),
|
|
352
|
+
id: external_exports.string(),
|
|
353
|
+
delta: external_exports.string()
|
|
350
354
|
});
|
|
351
|
-
var TextEndEventSchema =
|
|
352
|
-
type:
|
|
353
|
-
id:
|
|
355
|
+
var TextEndEventSchema = external_exports.object({
|
|
356
|
+
type: external_exports.literal("text-end"),
|
|
357
|
+
id: external_exports.string()
|
|
354
358
|
});
|
|
355
|
-
var DataComponentStreamEventSchema =
|
|
356
|
-
type:
|
|
357
|
-
id:
|
|
358
|
-
data:
|
|
359
|
+
var DataComponentStreamEventSchema = external_exports.object({
|
|
360
|
+
type: external_exports.literal("data-component"),
|
|
361
|
+
id: external_exports.string(),
|
|
362
|
+
data: external_exports.any()
|
|
359
363
|
});
|
|
360
|
-
var DataOperationStreamEventSchema =
|
|
361
|
-
type:
|
|
362
|
-
data:
|
|
364
|
+
var DataOperationStreamEventSchema = external_exports.object({
|
|
365
|
+
type: external_exports.literal("data-operation"),
|
|
366
|
+
data: external_exports.any()
|
|
363
367
|
// Contains OperationEvent types (AgentInitializingEvent, CompletionEvent, etc.)
|
|
364
368
|
});
|
|
365
|
-
var DataSummaryStreamEventSchema =
|
|
366
|
-
type:
|
|
367
|
-
data:
|
|
369
|
+
var DataSummaryStreamEventSchema = external_exports.object({
|
|
370
|
+
type: external_exports.literal("data-summary"),
|
|
371
|
+
data: external_exports.any()
|
|
368
372
|
// Contains SummaryEvent from entities.ts
|
|
369
373
|
});
|
|
370
|
-
var StreamErrorEventSchema =
|
|
371
|
-
type:
|
|
372
|
-
error:
|
|
374
|
+
var StreamErrorEventSchema = external_exports.object({
|
|
375
|
+
type: external_exports.literal("error"),
|
|
376
|
+
error: external_exports.string()
|
|
373
377
|
});
|
|
374
|
-
var StreamFinishEventSchema =
|
|
375
|
-
type:
|
|
376
|
-
finishReason:
|
|
377
|
-
usage:
|
|
378
|
-
promptTokens:
|
|
379
|
-
completionTokens:
|
|
380
|
-
totalTokens:
|
|
378
|
+
var StreamFinishEventSchema = external_exports.object({
|
|
379
|
+
type: external_exports.literal("finish"),
|
|
380
|
+
finishReason: external_exports.string().optional(),
|
|
381
|
+
usage: external_exports.object({
|
|
382
|
+
promptTokens: external_exports.number().optional(),
|
|
383
|
+
completionTokens: external_exports.number().optional(),
|
|
384
|
+
totalTokens: external_exports.number().optional()
|
|
381
385
|
}).optional()
|
|
382
386
|
});
|
|
383
|
-
var StreamEventSchema =
|
|
387
|
+
var StreamEventSchema = external_exports.discriminatedUnion("type", [
|
|
384
388
|
TextStartEventSchema,
|
|
385
389
|
TextDeltaEventSchema,
|
|
386
390
|
TextEndEventSchema,
|
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
import { external_exports } from './chunk-OUXC23J7.js';
|
|
2
|
+
|
|
3
|
+
// ../../node_modules/.pnpm/@asteasolutions+zod-to-openapi@8.1.0_zod@4.1.12/node_modules/@asteasolutions/zod-to-openapi/dist/index.mjs
|
|
4
|
+
function __rest(s, e) {
|
|
5
|
+
var t = {};
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
9
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
10
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
11
|
+
t[p[i]] = s[p[i]];
|
|
12
|
+
}
|
|
13
|
+
return t;
|
|
14
|
+
}
|
|
15
|
+
var ZodTypeKeys = {
|
|
16
|
+
ZodAny: "any",
|
|
17
|
+
ZodArray: "array",
|
|
18
|
+
ZodBigInt: "bigint",
|
|
19
|
+
ZodBoolean: "boolean",
|
|
20
|
+
ZodDefault: "default",
|
|
21
|
+
ZodTransform: "transform",
|
|
22
|
+
ZodEnum: "enum",
|
|
23
|
+
ZodIntersection: "intersection",
|
|
24
|
+
ZodLiteral: "literal",
|
|
25
|
+
ZodNever: "never",
|
|
26
|
+
ZodNull: "null",
|
|
27
|
+
ZodNullable: "nullable",
|
|
28
|
+
ZodNumber: "number",
|
|
29
|
+
ZodNonOptional: "nonoptional",
|
|
30
|
+
ZodObject: "object",
|
|
31
|
+
ZodOptional: "optional",
|
|
32
|
+
ZodPipe: "pipe",
|
|
33
|
+
ZodReadonly: "readonly",
|
|
34
|
+
ZodRecord: "record",
|
|
35
|
+
ZodString: "string",
|
|
36
|
+
ZodTuple: "tuple",
|
|
37
|
+
ZodType: "type",
|
|
38
|
+
ZodUnion: "union",
|
|
39
|
+
ZodDiscriminatedUnion: "union",
|
|
40
|
+
ZodUnknown: "unknown",
|
|
41
|
+
ZodVoid: "void",
|
|
42
|
+
ZodDate: "date"
|
|
43
|
+
};
|
|
44
|
+
function isZodType(schema, typeNames) {
|
|
45
|
+
const typeNamesArray = Array.isArray(typeNames) ? typeNames : [typeNames];
|
|
46
|
+
return typeNamesArray.some((typeName) => {
|
|
47
|
+
var _a;
|
|
48
|
+
const typeNameMatch = ((_a = schema === null || schema === void 0 ? void 0 : schema.def) === null || _a === void 0 ? void 0 : _a.type) === ZodTypeKeys[typeName];
|
|
49
|
+
if (typeName === "ZodDiscriminatedUnion") {
|
|
50
|
+
return typeNameMatch && "discriminator" in schema.def;
|
|
51
|
+
}
|
|
52
|
+
return typeNameMatch;
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
function isAnyZodType(schema) {
|
|
56
|
+
return "def" in schema;
|
|
57
|
+
}
|
|
58
|
+
var $ZodRegistry = class {
|
|
59
|
+
constructor() {
|
|
60
|
+
this._map = /* @__PURE__ */ new Map();
|
|
61
|
+
this._idmap = /* @__PURE__ */ new Map();
|
|
62
|
+
}
|
|
63
|
+
add(schema, ..._meta) {
|
|
64
|
+
const meta = _meta[0];
|
|
65
|
+
this._map.set(schema, meta);
|
|
66
|
+
if (meta && typeof meta === "object" && "id" in meta) {
|
|
67
|
+
if (this._idmap.has(meta.id)) {
|
|
68
|
+
throw new Error(`ID ${meta.id} already exists in the registry`);
|
|
69
|
+
}
|
|
70
|
+
this._idmap.set(meta.id, schema);
|
|
71
|
+
}
|
|
72
|
+
return this;
|
|
73
|
+
}
|
|
74
|
+
clear() {
|
|
75
|
+
this._map = /* @__PURE__ */ new Map();
|
|
76
|
+
this._idmap = /* @__PURE__ */ new Map();
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
79
|
+
remove(schema) {
|
|
80
|
+
const meta = this._map.get(schema);
|
|
81
|
+
if (meta && typeof meta === "object" && "id" in meta) {
|
|
82
|
+
this._idmap.delete(meta.id);
|
|
83
|
+
}
|
|
84
|
+
this._map.delete(schema);
|
|
85
|
+
return this;
|
|
86
|
+
}
|
|
87
|
+
get(schema) {
|
|
88
|
+
const p = schema._zod.parent;
|
|
89
|
+
if (p) {
|
|
90
|
+
const pm = { ...this.get(p) ?? {} };
|
|
91
|
+
delete pm.id;
|
|
92
|
+
return { ...pm, ...this._map.get(schema) };
|
|
93
|
+
}
|
|
94
|
+
return this._map.get(schema);
|
|
95
|
+
}
|
|
96
|
+
has(schema) {
|
|
97
|
+
return this._map.has(schema);
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
function registry() {
|
|
101
|
+
return new $ZodRegistry();
|
|
102
|
+
}
|
|
103
|
+
function isUndefined(value) {
|
|
104
|
+
return value === void 0;
|
|
105
|
+
}
|
|
106
|
+
function omit(object, keys) {
|
|
107
|
+
const result = {};
|
|
108
|
+
Object.entries(object).forEach(([key, value]) => {
|
|
109
|
+
if (!keys.some((keyToOmit) => keyToOmit === key)) {
|
|
110
|
+
result[key] = value;
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
return result;
|
|
114
|
+
}
|
|
115
|
+
function omitBy(object, predicate) {
|
|
116
|
+
const result = {};
|
|
117
|
+
Object.entries(object).forEach(([key, value]) => {
|
|
118
|
+
if (!predicate(value, key)) {
|
|
119
|
+
result[key] = value;
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
return result;
|
|
123
|
+
}
|
|
124
|
+
var zodToOpenAPIRegistry = registry();
|
|
125
|
+
var Metadata = class {
|
|
126
|
+
static collectMetadata(schema, metadata) {
|
|
127
|
+
const currentMetadata = this.getMetadataFromRegistry(schema);
|
|
128
|
+
const _internal = Object.assign(Object.assign({}, currentMetadata === null || currentMetadata === void 0 ? void 0 : currentMetadata._internal), metadata === null || metadata === void 0 ? void 0 : metadata._internal);
|
|
129
|
+
const param = Object.assign(Object.assign({}, currentMetadata === null || currentMetadata === void 0 ? void 0 : currentMetadata.param), metadata === null || metadata === void 0 ? void 0 : metadata.param);
|
|
130
|
+
const totalMetadata = Object.assign(Object.assign(Object.assign(Object.assign({}, Object.keys(_internal).length > 0 ? { _internal } : {}), currentMetadata), metadata), Object.keys(param).length > 0 ? { param } : {});
|
|
131
|
+
if (isZodType(schema, [
|
|
132
|
+
"ZodOptional",
|
|
133
|
+
"ZodNullable",
|
|
134
|
+
"ZodDefault",
|
|
135
|
+
"ZodReadonly",
|
|
136
|
+
"ZodNonOptional"
|
|
137
|
+
]) && isAnyZodType(schema._zod.def.innerType)) {
|
|
138
|
+
return this.collectMetadata(schema._zod.def.innerType, totalMetadata);
|
|
139
|
+
}
|
|
140
|
+
if (isZodType(schema, "ZodPipe")) {
|
|
141
|
+
const inSchema = schema._zod.def.in;
|
|
142
|
+
const outSchema = schema._zod.def.out;
|
|
143
|
+
if (isZodType(inSchema, "ZodTransform") && isAnyZodType(outSchema)) {
|
|
144
|
+
return this.collectMetadata(outSchema, totalMetadata);
|
|
145
|
+
}
|
|
146
|
+
if (isAnyZodType(inSchema)) {
|
|
147
|
+
return this.collectMetadata(inSchema, totalMetadata);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return totalMetadata;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* @deprecated Use one of `getOpenApiMetadata` or `getInternalMetadata` instead
|
|
154
|
+
*/
|
|
155
|
+
static getMetadata(zodSchema) {
|
|
156
|
+
return this.collectMetadata(zodSchema);
|
|
157
|
+
}
|
|
158
|
+
static getOpenApiMetadata(zodSchema) {
|
|
159
|
+
const metadata = this.collectMetadata(zodSchema);
|
|
160
|
+
const _a = metadata !== null && metadata !== void 0 ? metadata : {}, rest = __rest(_a, ["_internal"]);
|
|
161
|
+
return rest;
|
|
162
|
+
}
|
|
163
|
+
static getInternalMetadata(zodSchema) {
|
|
164
|
+
var _a;
|
|
165
|
+
return (_a = this.collectMetadata(zodSchema)) === null || _a === void 0 ? void 0 : _a._internal;
|
|
166
|
+
}
|
|
167
|
+
static getParamMetadata(zodSchema) {
|
|
168
|
+
const metadata = this.collectMetadata(zodSchema);
|
|
169
|
+
return Object.assign(Object.assign({}, metadata), {
|
|
170
|
+
// A description provided from .openapi() should be taken with higher precedence
|
|
171
|
+
param: Object.assign(Object.assign({}, (metadata === null || metadata === void 0 ? void 0 : metadata.description) ? { description: metadata.description } : {}), metadata === null || metadata === void 0 ? void 0 : metadata.param)
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* A method that omits all custom keys added to the regular OpenAPI
|
|
176
|
+
* metadata properties
|
|
177
|
+
*/
|
|
178
|
+
static buildSchemaMetadata(metadata) {
|
|
179
|
+
return omitBy(omit(metadata, ["param", "_internal"]), isUndefined);
|
|
180
|
+
}
|
|
181
|
+
static buildParameterMetadata(metadata) {
|
|
182
|
+
return omitBy(metadata, isUndefined);
|
|
183
|
+
}
|
|
184
|
+
static applySchemaMetadata(initialData, metadata) {
|
|
185
|
+
return omitBy(Object.assign(Object.assign({}, initialData), this.buildSchemaMetadata(metadata)), isUndefined);
|
|
186
|
+
}
|
|
187
|
+
static getRefId(zodSchema) {
|
|
188
|
+
var _a;
|
|
189
|
+
return (_a = this.getInternalMetadata(zodSchema)) === null || _a === void 0 ? void 0 : _a.refId;
|
|
190
|
+
}
|
|
191
|
+
static unwrapChained(schema) {
|
|
192
|
+
return this.unwrapUntil(schema);
|
|
193
|
+
}
|
|
194
|
+
static getDefaultValue(zodSchema) {
|
|
195
|
+
const unwrapped = this.unwrapUntil(zodSchema, "ZodDefault");
|
|
196
|
+
return unwrapped === null || unwrapped === void 0 ? void 0 : unwrapped._zod.def.defaultValue;
|
|
197
|
+
}
|
|
198
|
+
static unwrapUntil(schema, typeName) {
|
|
199
|
+
if (typeName && isZodType(schema, typeName)) {
|
|
200
|
+
return schema;
|
|
201
|
+
}
|
|
202
|
+
if (isZodType(schema, [
|
|
203
|
+
"ZodOptional",
|
|
204
|
+
"ZodNullable",
|
|
205
|
+
"ZodDefault",
|
|
206
|
+
"ZodReadonly",
|
|
207
|
+
"ZodNonOptional"
|
|
208
|
+
]) && isAnyZodType(schema._zod.def.innerType)) {
|
|
209
|
+
return this.unwrapUntil(schema._zod.def.innerType, typeName);
|
|
210
|
+
}
|
|
211
|
+
if (isZodType(schema, "ZodPipe")) {
|
|
212
|
+
const inSchema = schema._zod.def.in;
|
|
213
|
+
const outSchema = schema._zod.def.out;
|
|
214
|
+
if (isZodType(inSchema, "ZodTransform") && isAnyZodType(outSchema)) {
|
|
215
|
+
return this.unwrapUntil(outSchema, typeName);
|
|
216
|
+
}
|
|
217
|
+
if (isAnyZodType(inSchema)) {
|
|
218
|
+
return this.unwrapUntil(inSchema, typeName);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return typeName ? void 0 : schema;
|
|
222
|
+
}
|
|
223
|
+
static getMetadataFromInternalRegistry(zodSchema) {
|
|
224
|
+
return zodToOpenAPIRegistry.get(zodSchema);
|
|
225
|
+
}
|
|
226
|
+
static getMetadataFromRegistry(zodSchema) {
|
|
227
|
+
const internal = this.getMetadataFromInternalRegistry(zodSchema);
|
|
228
|
+
const general = zodSchema.meta();
|
|
229
|
+
if (!internal) {
|
|
230
|
+
return general;
|
|
231
|
+
}
|
|
232
|
+
const { _internal } = internal, rest = __rest(internal, ["_internal"]);
|
|
233
|
+
const _a = general !== null && general !== void 0 ? general : {}, { id, title } = _a, restGeneral = __rest(_a, ["id", "title"]);
|
|
234
|
+
return Object.assign(Object.assign(Object.assign({ _internal: Object.assign(Object.assign({}, id ? { refId: id } : {}), _internal) }, rest), title ? { description: title } : {}), restGeneral);
|
|
235
|
+
}
|
|
236
|
+
static setMetadataInRegistry(zodSchema, metadata) {
|
|
237
|
+
zodToOpenAPIRegistry.add(zodSchema, metadata);
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
function preserveMetadataFromModifier(zodSchema, modifier) {
|
|
241
|
+
const zodModifier = zodSchema[modifier];
|
|
242
|
+
if (typeof zodModifier !== "function") {
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
zodSchema[modifier] = function(...args) {
|
|
246
|
+
const result = zodModifier.apply(this, args);
|
|
247
|
+
const meta = Metadata.getMetadataFromRegistry(this);
|
|
248
|
+
if (meta) {
|
|
249
|
+
Metadata.setMetadataInRegistry(result, meta);
|
|
250
|
+
}
|
|
251
|
+
return result;
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
function extendZodWithOpenApi(zod) {
|
|
255
|
+
if (typeof zod.ZodType.prototype.openapi !== "undefined") {
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
zod.ZodType.prototype.openapi = function(...args) {
|
|
259
|
+
const { refId, metadata, options } = getOpenApiConfiguration(...args);
|
|
260
|
+
const _a = metadata !== null && metadata !== void 0 ? metadata : {}, { param } = _a, restOfOpenApi = __rest(_a, ["param"]);
|
|
261
|
+
const allMetadata = Metadata.getMetadataFromRegistry(this);
|
|
262
|
+
const _b = allMetadata !== null && allMetadata !== void 0 ? allMetadata : {}, { _internal: internalMetadata } = _b, currentMetadata = __rest(_b, ["_internal"]);
|
|
263
|
+
const _internal = Object.assign(Object.assign(Object.assign({}, internalMetadata), options), refId ? { refId } : void 0);
|
|
264
|
+
const resultMetadata = Object.assign(Object.assign(Object.assign({}, currentMetadata), restOfOpenApi), (currentMetadata === null || currentMetadata === void 0 ? void 0 : currentMetadata.param) || param ? {
|
|
265
|
+
param: Object.assign(Object.assign({}, currentMetadata === null || currentMetadata === void 0 ? void 0 : currentMetadata.param), param)
|
|
266
|
+
} : void 0);
|
|
267
|
+
const result = new this.constructor(this._def);
|
|
268
|
+
Metadata.setMetadataInRegistry(result, Object.assign(Object.assign({}, Object.keys(_internal).length > 0 ? { _internal } : void 0), resultMetadata));
|
|
269
|
+
if (isZodType(result, "ZodObject")) {
|
|
270
|
+
const currentMetadata2 = Metadata.getMetadataFromRegistry(result);
|
|
271
|
+
const originalExtend = result.extend;
|
|
272
|
+
result.extend = function(...args2) {
|
|
273
|
+
const extendedResult = originalExtend.apply(result, args2);
|
|
274
|
+
const _a2 = currentMetadata2 !== null && currentMetadata2 !== void 0 ? currentMetadata2 : {}, { _internal: _internal2 } = _a2, rest = __rest(_a2, ["_internal"]);
|
|
275
|
+
Metadata.setMetadataInRegistry(extendedResult, {
|
|
276
|
+
_internal: {
|
|
277
|
+
extendedFrom: (_internal2 === null || _internal2 === void 0 ? void 0 : _internal2.refId) ? { refId: _internal2.refId, schema: result } : _internal2 === null || _internal2 === void 0 ? void 0 : _internal2.extendedFrom
|
|
278
|
+
}
|
|
279
|
+
});
|
|
280
|
+
return extendedResult.openapi(rest);
|
|
281
|
+
};
|
|
282
|
+
preserveMetadataFromModifier(result, "catchall");
|
|
283
|
+
}
|
|
284
|
+
preserveMetadataFromModifier(result, "optional");
|
|
285
|
+
preserveMetadataFromModifier(result, "nullable");
|
|
286
|
+
preserveMetadataFromModifier(result, "default");
|
|
287
|
+
preserveMetadataFromModifier(result, "transform");
|
|
288
|
+
preserveMetadataFromModifier(result, "refine");
|
|
289
|
+
preserveMetadataFromModifier(result, "length");
|
|
290
|
+
preserveMetadataFromModifier(result, "min");
|
|
291
|
+
preserveMetadataFromModifier(result, "max");
|
|
292
|
+
const originalMeta = result.meta;
|
|
293
|
+
result.meta = function(...args2) {
|
|
294
|
+
const result2 = originalMeta.apply(this, args2);
|
|
295
|
+
if (args2[0]) {
|
|
296
|
+
const meta = Metadata.getMetadataFromInternalRegistry(this);
|
|
297
|
+
if (meta) {
|
|
298
|
+
Metadata.setMetadataInRegistry(result2, Object.assign(Object.assign({}, meta), args2[0]));
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
return result2;
|
|
302
|
+
};
|
|
303
|
+
return result;
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
function getOpenApiConfiguration(refOrOpenapi, metadataOrOptions, options) {
|
|
307
|
+
if (typeof refOrOpenapi === "string") {
|
|
308
|
+
return {
|
|
309
|
+
refId: refOrOpenapi,
|
|
310
|
+
metadata: metadataOrOptions,
|
|
311
|
+
options
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
return {
|
|
315
|
+
refId: void 0,
|
|
316
|
+
metadata: refOrOpenapi,
|
|
317
|
+
options: metadataOrOptions
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
extendZodWithOpenApi(external_exports);
|