corsair 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/drizzle/postgres.d.ts.map +1 -1
- package/dist/adapters/drizzle/postgres.js +43 -9
- package/dist/adapters/index.d.ts +8 -5
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +5 -5
- package/dist/core/client/index.d.ts +6 -3
- package/dist/core/client/index.d.ts.map +1 -1
- package/dist/core/client/index.js +50 -32
- package/dist/core/plugins/index.d.ts +5 -0
- package/dist/core/plugins/index.d.ts.map +1 -1
- package/dist/core/utils.d.ts +2 -4
- package/dist/core/utils.d.ts.map +1 -1
- package/dist/core/utils.js +4 -16
- package/dist/core/webhooks/index.d.ts +4 -0
- package/dist/core/webhooks/index.d.ts.map +1 -1
- package/dist/core.d.ts +18 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +17 -0
- package/dist/db/orm.d.ts +91 -8
- package/dist/db/orm.d.ts.map +1 -1
- package/dist/db/orm.js +50 -22
- package/dist/index.d.ts +13 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -6
- package/dist/orm.d.ts +31 -0
- package/dist/orm.d.ts.map +1 -0
- package/dist/orm.js +28 -0
- package/dist/plugins/gmail/endpoints/drafts.d.ts.map +1 -1
- package/dist/plugins/gmail/endpoints/drafts.js +10 -24
- package/dist/plugins/gmail/endpoints/index.d.ts.map +1 -1
- package/dist/plugins/gmail/endpoints/labels.d.ts.map +1 -1
- package/dist/plugins/gmail/endpoints/labels.js +9 -46
- package/dist/plugins/gmail/endpoints/messages.d.ts.map +1 -1
- package/dist/plugins/gmail/endpoints/messages.js +19 -69
- package/dist/plugins/gmail/endpoints/threads.d.ts.map +1 -1
- package/dist/plugins/gmail/endpoints/threads.js +15 -18
- package/dist/plugins/gmail/index.d.ts +1 -2
- package/dist/plugins/gmail/index.d.ts.map +1 -1
- package/dist/plugins/gmail/schema/database.d.ts +14 -14
- package/dist/plugins/gmail/schema/index.d.ts +14 -14
- package/dist/plugins/gmail/webhooks/index.d.ts +45 -9
- package/dist/plugins/gmail/webhooks/index.d.ts.map +1 -1
- package/dist/plugins/gmail/webhooks/messages.d.ts +46 -10
- package/dist/plugins/gmail/webhooks/messages.d.ts.map +1 -1
- package/dist/plugins/gmail/webhooks/messages.js +115 -17
- package/dist/plugins/gmail/webhooks/types.d.ts +4 -12
- package/dist/plugins/gmail/webhooks/types.d.ts.map +1 -1
- package/dist/plugins/linear/endpoints/comments.d.ts.map +1 -1
- package/dist/plugins/linear/endpoints/comments.js +15 -24
- package/dist/plugins/linear/endpoints/index.d.ts.map +1 -1
- package/dist/plugins/linear/endpoints/issues.d.ts.map +1 -1
- package/dist/plugins/linear/endpoints/issues.js +16 -95
- package/dist/plugins/linear/endpoints/projects.d.ts.map +1 -1
- package/dist/plugins/linear/endpoints/projects.js +15 -82
- package/dist/plugins/linear/endpoints/teams.d.ts.map +1 -1
- package/dist/plugins/linear/endpoints/teams.js +4 -18
- package/dist/plugins/linear/index.d.ts +3 -3
- package/dist/plugins/linear/index.d.ts.map +1 -1
- package/dist/plugins/linear/schema/database.d.ts +14 -14
- package/dist/plugins/linear/schema/index.d.ts +14 -14
- package/dist/plugins/linear/webhooks/comments.d.ts.map +1 -1
- package/dist/plugins/linear/webhooks/comments.js +38 -28
- package/dist/plugins/linear/webhooks/index.d.ts +9 -9
- package/dist/plugins/linear/webhooks/issues.d.ts.map +1 -1
- package/dist/plugins/linear/webhooks/issues.js +44 -38
- package/dist/plugins/linear/webhooks/projects.d.ts.map +1 -1
- package/dist/plugins/linear/webhooks/projects.js +41 -33
- package/dist/plugins/linear/webhooks/types.d.ts +18 -14
- package/dist/plugins/linear/webhooks/types.d.ts.map +1 -1
- package/dist/plugins/posthog/endpoints/events.d.ts.map +1 -1
- package/dist/plugins/posthog/endpoints/events.js +5 -8
- package/dist/plugins/posthog/index.d.ts +1 -2
- package/dist/plugins/posthog/index.d.ts.map +1 -1
- package/dist/plugins/posthog/webhooks/events.d.ts.map +1 -1
- package/dist/plugins/posthog/webhooks/events.js +18 -8
- package/dist/plugins/posthog/webhooks/index.d.ts +1 -1
- package/dist/plugins/posthog/webhooks/types.d.ts +1 -1
- package/dist/plugins/posthog/webhooks/types.d.ts.map +1 -1
- package/dist/plugins/resend/endpoints/domains.d.ts.map +1 -1
- package/dist/plugins/resend/endpoints/domains.js +13 -41
- package/dist/plugins/resend/endpoints/emails.d.ts.map +1 -1
- package/dist/plugins/resend/endpoints/emails.js +9 -27
- package/dist/plugins/resend/endpoints/index.d.ts.map +1 -1
- package/dist/plugins/resend/index.d.ts +3 -3
- package/dist/plugins/resend/index.d.ts.map +1 -1
- package/dist/plugins/resend/schema/database.d.ts +2 -2
- package/dist/plugins/resend/schema/index.d.ts +2 -2
- package/dist/plugins/resend/webhooks/domains.d.ts.map +1 -1
- package/dist/plugins/resend/webhooks/domains.js +29 -10
- package/dist/plugins/resend/webhooks/emails.d.ts.map +1 -1
- package/dist/plugins/resend/webhooks/emails.js +83 -18
- package/dist/plugins/resend/webhooks/index.d.ts +10 -10
- package/dist/plugins/resend/webhooks/types.d.ts +12 -12
- package/dist/plugins/resend/webhooks/types.d.ts.map +1 -1
- package/dist/plugins/slack/endpoints/channels.d.ts.map +1 -1
- package/dist/plugins/slack/endpoints/channels.js +47 -130
- package/dist/plugins/slack/endpoints/files.d.ts.map +1 -1
- package/dist/plugins/slack/endpoints/files.js +7 -18
- package/dist/plugins/slack/endpoints/messages.d.ts.map +1 -1
- package/dist/plugins/slack/endpoints/messages.js +8 -11
- package/dist/plugins/slack/endpoints/user-groups.d.ts.map +1 -1
- package/dist/plugins/slack/endpoints/user-groups.js +10 -24
- package/dist/plugins/slack/endpoints/users.d.ts.map +1 -1
- package/dist/plugins/slack/endpoints/users.js +8 -18
- package/dist/plugins/slack/index.d.ts +6 -4
- package/dist/plugins/slack/index.d.ts.map +1 -1
- package/dist/plugins/slack/index.js +1 -0
- package/dist/plugins/slack/schema/database.d.ts +10 -10
- package/dist/plugins/slack/schema/index.d.ts +10 -10
- package/dist/plugins/slack/webhooks/channels.d.ts.map +1 -1
- package/dist/plugins/slack/webhooks/channels.js +16 -19
- package/dist/plugins/slack/webhooks/files.d.ts.map +1 -1
- package/dist/plugins/slack/webhooks/files.js +45 -30
- package/dist/plugins/slack/webhooks/index.d.ts +8 -9
- package/dist/plugins/slack/webhooks/index.d.ts.map +1 -1
- package/dist/plugins/slack/webhooks/index.js +0 -1
- package/dist/plugins/slack/webhooks/messages.d.ts.map +1 -1
- package/dist/plugins/slack/webhooks/messages.js +16 -18
- package/dist/plugins/slack/webhooks/reactions.d.ts.map +1 -1
- package/dist/plugins/slack/webhooks/reactions.js +11 -1
- package/dist/plugins/slack/webhooks/types.d.ts +8 -11
- package/dist/plugins/slack/webhooks/types.d.ts.map +1 -1
- package/dist/plugins/slack/webhooks/users.d.ts.map +1 -1
- package/dist/plugins/slack/webhooks/users.js +31 -22
- package/dist/plugins/utils/events.js +2 -2
- package/dist/webhooks/index.d.ts +8 -52
- package/dist/webhooks/index.d.ts.map +1 -1
- package/dist/webhooks/index.js +1 -53
- package/package.json +2 -1
- package/dist/constants.d.ts +0 -7
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../adapters/drizzle/postgres.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,gBAAgB,EAMhB,MAAM,UAAU,CAAC;AAyClB,MAAM,MAAM,oBAAoB,GAAG;IAClC;;OAEG;IACH,QAAQ,EAAE,IAAI,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC7C;;OAEG;IACH,UAAU,CAAC,EACR;QACA,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC3B,GACD,SAAS,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAAC;
|
|
1
|
+
{"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../adapters/drizzle/postgres.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,gBAAgB,EAMhB,MAAM,UAAU,CAAC;AAyClB,MAAM,MAAM,oBAAoB,GAAG;IAClC;;OAEG;IACH,QAAQ,EAAE,IAAI,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC7C;;OAEG;IACH,UAAU,CAAC,EACR;QACA,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC3B,GACD,SAAS,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAAC;AA4KF;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC7B,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,oBAAoB,GAC1B,gBAAgB,CAiIlB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { and, asc, count, desc, eq, ilike, inArray } from 'drizzle-orm';
|
|
1
|
+
import { and, asc, count, desc, eq, ilike, inArray, sql } from 'drizzle-orm';
|
|
2
2
|
function normalizeOperator(op) {
|
|
3
3
|
return op ?? '=';
|
|
4
4
|
}
|
|
@@ -18,16 +18,50 @@ function buildWhereExpr(tableObj, where) {
|
|
|
18
18
|
const parts = [];
|
|
19
19
|
for (const w of where) {
|
|
20
20
|
const operator = normalizeOperator(w.operator);
|
|
21
|
-
|
|
22
|
-
if (
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
// Check if field is a JSONB path query (e.g., "data->>'name'")
|
|
22
|
+
if (w.field.includes('->>')) {
|
|
23
|
+
// Handle JSONB path queries
|
|
24
|
+
const parts_split = w.field.split('->>');
|
|
25
|
+
const jsonbColumn = parts_split[0];
|
|
26
|
+
const jsonbPath = parts_split[1];
|
|
27
|
+
if (!jsonbColumn || !jsonbPath) {
|
|
28
|
+
throw new Error(`Invalid JSONB path format: "${w.field}". Expected format: "column->>'path'"`);
|
|
29
|
+
}
|
|
30
|
+
const col = getColumn(tableObj, jsonbColumn.trim());
|
|
31
|
+
// Remove surrounding quotes if present (e.g., "'name'" -> "name")
|
|
32
|
+
const cleanPath = jsonbPath.trim().replace(/^'|'$/g, '');
|
|
33
|
+
// Escape single quotes in path for SQL safety
|
|
34
|
+
const escapedPath = cleanPath.replace(/'/g, "''");
|
|
35
|
+
if (operator === 'like') {
|
|
36
|
+
// Use ILIKE for case-insensitive search on JSONB text
|
|
37
|
+
// Path is raw SQL (identifier), value is parameterized
|
|
38
|
+
parts.push(sql `${col}->>'${sql.raw(escapedPath)}' ILIKE ${String(w.value)}`);
|
|
39
|
+
}
|
|
40
|
+
else if (operator === 'in') {
|
|
41
|
+
// For 'in' operator with JSONB, check if value matches any in the array
|
|
42
|
+
const values = toArray(w.value);
|
|
43
|
+
const conditions = values.map((v) => sql `${col}->>'${sql.raw(escapedPath)}' = ${String(v)}`);
|
|
44
|
+
parts.push(and(...conditions));
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
// Use equality for JSONB text
|
|
48
|
+
// Path is raw SQL (identifier), value is parameterized
|
|
49
|
+
parts.push(sql `${col}->>'${sql.raw(escapedPath)}' = ${String(w.value)}`);
|
|
50
|
+
}
|
|
28
51
|
}
|
|
29
52
|
else {
|
|
30
|
-
|
|
53
|
+
// Regular column query
|
|
54
|
+
const col = getColumn(tableObj, w.field);
|
|
55
|
+
if (operator === 'in') {
|
|
56
|
+
parts.push(inArray(col, toArray(w.value)));
|
|
57
|
+
}
|
|
58
|
+
else if (operator === 'like') {
|
|
59
|
+
// Postgres-only: use ILIKE for case-insensitive search.
|
|
60
|
+
parts.push(ilike(col, String(w.value)));
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
parts.push(eq(col, w.value));
|
|
64
|
+
}
|
|
31
65
|
}
|
|
32
66
|
}
|
|
33
67
|
return parts.length === 1 ? parts[0] : and(...parts);
|
package/dist/adapters/index.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
1
|
+
export type { DrizzleAdapterConfig } from './drizzle';
|
|
2
|
+
export { drizzleAdapter } from './drizzle';
|
|
3
|
+
export type { KyselyAdapterConfig, KyselyPostgresAdapterConfig, } from './kysely';
|
|
4
|
+
export { kyselyAdapter, kyselyPostgresAdapter } from './kysely';
|
|
5
|
+
export type { PrismaPostgresAdapterConfig } from './prisma';
|
|
6
|
+
export { prismaPostgresAdapter } from './prisma';
|
|
7
|
+
export { withTenantAdapter } from './tenant';
|
|
8
|
+
export type { CorsairAccountInsert, CorsairAccountUpdate, CorsairDbAdapter, CorsairEntityInsert, CorsairEntityUpdate, CorsairEventInsert, CorsairEventUpdate, CorsairIntegrationInsert, CorsairIntegrationUpdate, CorsairSortBy, CorsairTableInsert, CorsairTableName, CorsairTableRow, CorsairTableUpdate, CorsairTransactionAdapter, CorsairWhere, CorsairWhereOperator, TableInsertType, TableRowType, TableUpdateType, } from './types';
|
|
6
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../adapters/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../adapters/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG3C,YAAY,EACX,mBAAmB,EACnB,2BAA2B,GAC3B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAGhE,YAAY,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAGjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAG7C,YAAY,EACX,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,eAAe,GACf,MAAM,SAAS,CAAC"}
|
package/dist/adapters/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
export
|
|
1
|
+
export { drizzleAdapter } from './drizzle';
|
|
2
|
+
export { kyselyAdapter, kyselyPostgresAdapter } from './kysely';
|
|
3
|
+
export { prismaPostgresAdapter } from './prisma';
|
|
4
|
+
// Tenant utilities
|
|
5
|
+
export { withTenantAdapter } from './tenant';
|
|
@@ -22,14 +22,15 @@ type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (
|
|
|
22
22
|
/**
|
|
23
23
|
* Extracts the authType from plugin options.
|
|
24
24
|
* @template Options - The plugin options type
|
|
25
|
-
* @template DefaultAuthType - Optional default auth type to use when authType is optional
|
|
25
|
+
* @template DefaultAuthType - Optional default auth type to use when authType is optional or not present
|
|
26
26
|
*
|
|
27
27
|
* Priority:
|
|
28
28
|
* 1. If authType is a specific single AuthType (not a union), use that
|
|
29
29
|
* 2. If DefaultAuthType parameter is provided, use that as the fallback
|
|
30
30
|
* 3. Otherwise use the non-nullable union from authType
|
|
31
|
+
* 4. If authType is not in Options at all, fall back to DefaultAuthType
|
|
31
32
|
*/
|
|
32
|
-
export type ExtractAuthType<Options, DefaultAuthType extends AuthTypes | undefined = undefined> = 'authType' extends keyof Options ? Options['authType'] extends AuthTypes ? Options['authType'] : DefaultAuthType extends AuthTypes ? DefaultAuthType : NonNullable<Options['authType']> extends AuthTypes ? NonNullable<Options['authType']> : never : never;
|
|
33
|
+
export type ExtractAuthType<Options, DefaultAuthType extends AuthTypes | undefined = undefined> = 'authType' extends keyof Options ? Options['authType'] extends AuthTypes ? Options['authType'] : DefaultAuthType extends AuthTypes ? DefaultAuthType : NonNullable<Options['authType']> extends AuthTypes ? NonNullable<Options['authType']> : never : DefaultAuthType extends AuthTypes ? DefaultAuthType : never;
|
|
33
34
|
/**
|
|
34
35
|
* Extracts Options type from plugin's options property.
|
|
35
36
|
*/
|
|
@@ -38,10 +39,12 @@ type InferPluginOptions<P> = P extends {
|
|
|
38
39
|
} ? O : never;
|
|
39
40
|
/**
|
|
40
41
|
* Extracts DefaultAuthType from plugin's __defaultAuthType property.
|
|
42
|
+
* Uses NonNullable<D> because the __defaultAuthType property is optional,
|
|
43
|
+
* which causes TypeScript to infer D as `AuthType | undefined`.
|
|
41
44
|
*/
|
|
42
45
|
type InferDefaultAuthType<P> = P extends {
|
|
43
46
|
__defaultAuthType?: infer D;
|
|
44
|
-
} ? D extends AuthTypes ? D : undefined : undefined;
|
|
47
|
+
} ? NonNullable<D> extends AuthTypes ? NonNullable<D> : undefined : undefined;
|
|
45
48
|
/**
|
|
46
49
|
* Infers the complete namespace for a single plugin, including API endpoints,
|
|
47
50
|
* database entities, webhooks, and account-level keys.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEtC,OAAO,KAAK,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/client/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { withTenantAdapter } from '../../adapters/tenant';
|
|
2
2
|
import { createAccountKeyManager, createIntegrationKeyManager, } from '../auth/key-manager';
|
|
3
3
|
import { bindEndpointsRecursively } from '../endpoints/bind';
|
|
4
|
+
import { generateUUID } from '../utils';
|
|
4
5
|
import { bindWebhooksRecursively } from '../webhooks/bind';
|
|
5
6
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
6
7
|
// Account ID Resolver
|
|
@@ -40,25 +41,6 @@ function createAccountIdResolver(database, integrationName, tenantId) {
|
|
|
40
41
|
return cachedAccountId;
|
|
41
42
|
};
|
|
42
43
|
}
|
|
43
|
-
// ─────────────────────────────────────────────────────────────────────────────
|
|
44
|
-
// Entity Client Factory
|
|
45
|
-
// ─────────────────────────────────────────────────────────────────────────────
|
|
46
|
-
/**
|
|
47
|
-
* Generates a UUID v4 string using crypto.randomUUID() if available,
|
|
48
|
-
* otherwise falls back to a Math.random() implementation.
|
|
49
|
-
* @returns A UUID v4 string
|
|
50
|
-
*/
|
|
51
|
-
function generateUuidV4() {
|
|
52
|
-
const cryptoAny = globalThis.crypto;
|
|
53
|
-
if (cryptoAny?.randomUUID) {
|
|
54
|
-
return cryptoAny.randomUUID();
|
|
55
|
-
}
|
|
56
|
-
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
|
57
|
-
const r = (Math.random() * 16) | 0;
|
|
58
|
-
const v = c === 'x' ? r : (r & 0x3) | 0x8;
|
|
59
|
-
return v.toString(16);
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
44
|
/**
|
|
63
45
|
* Attempts to parse a value as JSON if it's a string, otherwise returns the value unchanged.
|
|
64
46
|
* @param value - The value to parse
|
|
@@ -146,26 +128,60 @@ function createEntityClient(database, getAccountId, entityTypeName, version, dat
|
|
|
146
128
|
});
|
|
147
129
|
return rows.map(parseRow);
|
|
148
130
|
},
|
|
149
|
-
search: async (
|
|
131
|
+
search: async (options) => {
|
|
150
132
|
if (!database)
|
|
151
133
|
return [];
|
|
152
134
|
const accountId = await getAccountId();
|
|
135
|
+
// Build where clauses from search options
|
|
136
|
+
const whereConditions = [...baseWhere(accountId)];
|
|
137
|
+
// Helper to parse filter value into operator and value
|
|
138
|
+
function parseFilterValue(filterValue) {
|
|
139
|
+
if (typeof filterValue === 'object' &&
|
|
140
|
+
filterValue !== null &&
|
|
141
|
+
!Array.isArray(filterValue)) {
|
|
142
|
+
const obj = filterValue;
|
|
143
|
+
if ('contains' in obj && typeof obj.contains === 'string') {
|
|
144
|
+
return { operator: 'like', value: `%${obj.contains}%` };
|
|
145
|
+
}
|
|
146
|
+
if ('equals' in obj) {
|
|
147
|
+
return { operator: '=', value: obj.equals };
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// Exact match
|
|
151
|
+
return { operator: '=', value: filterValue };
|
|
152
|
+
}
|
|
153
|
+
// Reserved keys that aren't entity column filters
|
|
154
|
+
const reservedKeys = new Set(['data', 'limit', 'offset']);
|
|
155
|
+
// Handle entity column filters (derived from CorsairEntity)
|
|
156
|
+
for (const [key, filterValue] of Object.entries(options)) {
|
|
157
|
+
if (reservedKeys.has(key) || filterValue === undefined)
|
|
158
|
+
continue;
|
|
159
|
+
const { operator, value } = parseFilterValue(filterValue);
|
|
160
|
+
whereConditions.push({ field: key, operator, value });
|
|
161
|
+
}
|
|
162
|
+
// Handle data (JSONB) filters
|
|
163
|
+
if (options.data && typeof options.data === 'object') {
|
|
164
|
+
for (const [key, filterValue] of Object.entries(options.data)) {
|
|
165
|
+
if (filterValue === undefined)
|
|
166
|
+
continue;
|
|
167
|
+
const { operator, value } = parseFilterValue(filterValue);
|
|
168
|
+
// Use JSONB path query syntax: data->>'key'
|
|
169
|
+
whereConditions.push({
|
|
170
|
+
field: `data->>'${key}'`,
|
|
171
|
+
operator,
|
|
172
|
+
value,
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
}
|
|
153
176
|
const rows = await database.findMany({
|
|
154
177
|
table: tableName,
|
|
155
|
-
where:
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
field: 'entity_id',
|
|
159
|
-
operator: 'like',
|
|
160
|
-
value: `%${query}%`,
|
|
161
|
-
},
|
|
162
|
-
],
|
|
163
|
-
limit: limit ?? 100,
|
|
164
|
-
offset: offset ?? 0,
|
|
178
|
+
where: whereConditions,
|
|
179
|
+
limit: options.limit ?? 100,
|
|
180
|
+
offset: options.offset ?? 0,
|
|
165
181
|
});
|
|
166
182
|
return rows.map(parseRow);
|
|
167
183
|
},
|
|
168
|
-
|
|
184
|
+
upsertByEntityId: async (entityId, data) => {
|
|
169
185
|
if (!database)
|
|
170
186
|
throw new Error('Database not configured');
|
|
171
187
|
const accountId = await getAccountId();
|
|
@@ -191,7 +207,7 @@ function createEntityClient(database, getAccountId, entityTypeName, version, dat
|
|
|
191
207
|
});
|
|
192
208
|
return parseRow(updated);
|
|
193
209
|
}
|
|
194
|
-
const id =
|
|
210
|
+
const id = generateUUID();
|
|
195
211
|
await database.insert({
|
|
196
212
|
table: tableName,
|
|
197
213
|
data: {
|
|
@@ -298,6 +314,8 @@ export function buildCorsairClient(plugins, options) {
|
|
|
298
314
|
...(accountKeyManager
|
|
299
315
|
? { keys: accountKeyManager, authType: pluginOptions?.authType }
|
|
300
316
|
: {}),
|
|
317
|
+
// Include tenantId in context so it's available in webhook hooks
|
|
318
|
+
...(tenantId ? { tenantId } : {}),
|
|
301
319
|
};
|
|
302
320
|
const endpoints = plugin.endpoints ?? {};
|
|
303
321
|
const hooks = plugin.hooks;
|
|
@@ -209,6 +209,11 @@ export type CorsairPluginContext<Schema extends CorsairPluginSchema<Record<strin
|
|
|
209
209
|
* This is populated by the keyBuilder before endpoint execution.
|
|
210
210
|
*/
|
|
211
211
|
key: string;
|
|
212
|
+
/**
|
|
213
|
+
* The tenant ID for this context (when multi-tenancy is enabled).
|
|
214
|
+
* Available in webhook hooks and endpoint hooks.
|
|
215
|
+
*/
|
|
216
|
+
tenantId?: string;
|
|
212
217
|
} & (Options extends undefined ? {} : {
|
|
213
218
|
options: Options;
|
|
214
219
|
}) & (ExtractAuthType<Options> extends AuthTypes ? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/plugins/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/plugins/index.ts"],"names":[],"mappings":"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"}
|
package/dist/core/utils.d.ts
CHANGED
|
@@ -14,11 +14,9 @@ export type Bivariant<Args extends unknown[], R> = {
|
|
|
14
14
|
bivarianceHack(...args: Args): R;
|
|
15
15
|
}['bivarianceHack'];
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
18
|
-
* otherwise falls back to a Math.random() implementation.
|
|
19
|
-
* @returns A UUID v4 string
|
|
17
|
+
* @returns A UUID v7 string
|
|
20
18
|
*/
|
|
21
|
-
export declare function
|
|
19
|
+
export declare function generateUUID(): string;
|
|
22
20
|
/**
|
|
23
21
|
* Attempts to parse a value as JSON if it's a string, otherwise returns the value unchanged.
|
|
24
22
|
* This is useful for handling database values that might be stored as JSON strings.
|
package/dist/core/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../core/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../core/utils.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CACpC,CAAC,SAAS,GAAG,GACV,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GACd,KAAK,CACR,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GAC3B,CAAC,GACD,KAAK,CAAC;AAET;;;;;GAKG;AACH,MAAM,MAAM,SAAS,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,CAAC,IAAI;IAClD,cAAc,CAAC,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC;CACjC,CAAC,gBAAgB,CAAC,CAAC;AAMpB;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAMD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CASrD"}
|
package/dist/core/utils.js
CHANGED
|
@@ -1,24 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
// Type Utilities
|
|
3
|
-
// ─────────────────────────────────────────────────────────────────────────────
|
|
1
|
+
import { v7 } from 'uuid';
|
|
4
2
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
5
3
|
// UUID Generation
|
|
6
4
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
7
5
|
/**
|
|
8
|
-
*
|
|
9
|
-
* otherwise falls back to a Math.random() implementation.
|
|
10
|
-
* @returns A UUID v4 string
|
|
6
|
+
* @returns A UUID v7 string
|
|
11
7
|
*/
|
|
12
|
-
export function
|
|
13
|
-
|
|
14
|
-
if (cryptoAny?.randomUUID) {
|
|
15
|
-
return cryptoAny.randomUUID();
|
|
16
|
-
}
|
|
17
|
-
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
|
18
|
-
const r = (Math.random() * 16) | 0;
|
|
19
|
-
const v = c === 'x' ? r : (r & 0x3) | 0x8;
|
|
20
|
-
return v.toString(16);
|
|
21
|
-
});
|
|
8
|
+
export function generateUUID() {
|
|
9
|
+
return v7();
|
|
22
10
|
}
|
|
23
11
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
24
12
|
// JSON Utilities
|
|
@@ -29,6 +29,10 @@ export type WebhookRequest<TPayload = unknown> = {
|
|
|
29
29
|
export type WebhookResponse<TData = unknown> = {
|
|
30
30
|
/** Whether the webhook was processed successfully */
|
|
31
31
|
success: boolean;
|
|
32
|
+
/** The entity relevant to the webhook (note that this is corsair_entities.id) */
|
|
33
|
+
corsairEntityId?: string;
|
|
34
|
+
/** The tenant this is being performed for (if multi-tenancy is disabled, this is undefined) */
|
|
35
|
+
tenantId?: string;
|
|
32
36
|
/** Optional data to return in the HTTP response */
|
|
33
37
|
data?: TData;
|
|
34
38
|
/** Optional error message if processing failed */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/webhooks/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/webhooks/index.ts"],"names":[],"mappings":"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"}
|
package/dist/core.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Corsair Core - Core types and utilities for building Corsair integrations
|
|
3
|
+
*
|
|
4
|
+
* This module exports all core infrastructure types including:
|
|
5
|
+
* - Main factory function (createCorsair)
|
|
6
|
+
* - Client types (CorsairClient, CorsairTenantWrapper, etc.)
|
|
7
|
+
* - Plugin system types
|
|
8
|
+
* - Endpoint and webhook infrastructure
|
|
9
|
+
* - Auth types and utilities
|
|
10
|
+
* - Error handling
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* import { createCorsair, type CorsairPlugin } from 'corsair/core';
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export * from './core/index';
|
|
18
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,cAAc,cAAc,CAAC"}
|
package/dist/core.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Corsair Core - Core types and utilities for building Corsair integrations
|
|
3
|
+
*
|
|
4
|
+
* This module exports all core infrastructure types including:
|
|
5
|
+
* - Main factory function (createCorsair)
|
|
6
|
+
* - Client types (CorsairClient, CorsairTenantWrapper, etc.)
|
|
7
|
+
* - Plugin system types
|
|
8
|
+
* - Endpoint and webhook infrastructure
|
|
9
|
+
* - Auth types and utilities
|
|
10
|
+
* - Error handling
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* import { createCorsair, type CorsairPlugin } from 'corsair/core';
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export * from './core/index';
|
package/dist/db/orm.d.ts
CHANGED
|
@@ -134,6 +134,75 @@ export type CorsairPluginSchema<Entities extends Record<string, ZodTypeAny>> = {
|
|
|
134
134
|
export type TypedEntity<DataSchema extends ZodTypeAny> = Omit<CorsairEntity, 'data'> & {
|
|
135
135
|
data: z.infer<DataSchema>;
|
|
136
136
|
};
|
|
137
|
+
/**
|
|
138
|
+
* Search filter value - can be an exact value or an operator object.
|
|
139
|
+
* @example
|
|
140
|
+
* // Exact match
|
|
141
|
+
* { name: "sdk-test" }
|
|
142
|
+
* // LIKE match (case-insensitive)
|
|
143
|
+
* { name: { contains: "sdk" } }
|
|
144
|
+
*/
|
|
145
|
+
export type SearchFilterValue<T> = T | {
|
|
146
|
+
contains: string;
|
|
147
|
+
} | {
|
|
148
|
+
equals: T;
|
|
149
|
+
};
|
|
150
|
+
/**
|
|
151
|
+
* Fields that are automatically filtered by the ORM (not user-searchable).
|
|
152
|
+
*/
|
|
153
|
+
type AutoFilteredFields = 'account_id' | 'entity_type';
|
|
154
|
+
/**
|
|
155
|
+
* Fields that require special handling (pagination, data).
|
|
156
|
+
*/
|
|
157
|
+
type SpecialFields = 'data' | 'created_at' | 'updated_at';
|
|
158
|
+
/**
|
|
159
|
+
* Searchable entity fields derived from CorsairEntity.
|
|
160
|
+
* Excludes auto-filtered fields and special fields.
|
|
161
|
+
*/
|
|
162
|
+
type SearchableEntityFields = Omit<CorsairEntity, AutoFilteredFields | SpecialFields>;
|
|
163
|
+
/**
|
|
164
|
+
* Search filter for entity table columns (derived from CorsairEntity).
|
|
165
|
+
* Maps each searchable field to SearchFilterValue.
|
|
166
|
+
*/
|
|
167
|
+
type EntityFieldsFilter = {
|
|
168
|
+
[K in keyof SearchableEntityFields]?: SearchFilterValue<SearchableEntityFields[K]>;
|
|
169
|
+
};
|
|
170
|
+
/**
|
|
171
|
+
* Search filter for JSONB data fields.
|
|
172
|
+
* Only supports top-level fields.
|
|
173
|
+
* Nested objects (like topic, purpose) are excluded.
|
|
174
|
+
*/
|
|
175
|
+
export type DataSearchFilter<DataSchema extends ZodTypeAny> = {
|
|
176
|
+
[K in keyof z.infer<DataSchema>]?: z.infer<DataSchema>[K] extends string | number | boolean | undefined ? SearchFilterValue<NonNullable<z.infer<DataSchema>[K]>> : never;
|
|
177
|
+
};
|
|
178
|
+
/**
|
|
179
|
+
* Search options for querying entities.
|
|
180
|
+
* Supports filtering by entity columns (derived from CorsairEntity) and JSONB data fields.
|
|
181
|
+
*
|
|
182
|
+
* @example
|
|
183
|
+
* // Search channels by name in JSONB data
|
|
184
|
+
* await tenant.slack.db.channels.search({
|
|
185
|
+
* data: { name: "sdk-test" }
|
|
186
|
+
* });
|
|
187
|
+
*
|
|
188
|
+
* // Search with contains (LIKE)
|
|
189
|
+
* await tenant.slack.db.channels.search({
|
|
190
|
+
* data: { name: { contains: "sdk" } }
|
|
191
|
+
* });
|
|
192
|
+
*
|
|
193
|
+
* // Search by entity_id
|
|
194
|
+
* await tenant.slack.db.channels.search({
|
|
195
|
+
* entity_id: "C0123456789"
|
|
196
|
+
* });
|
|
197
|
+
*/
|
|
198
|
+
export type EntitySearchOptions<DataSchema extends ZodTypeAny> = EntityFieldsFilter & {
|
|
199
|
+
/** Filter by JSONB data fields */
|
|
200
|
+
data?: DataSearchFilter<DataSchema>;
|
|
201
|
+
/** Maximum number of results */
|
|
202
|
+
limit?: number;
|
|
203
|
+
/** Number of results to skip */
|
|
204
|
+
offset?: number;
|
|
205
|
+
};
|
|
137
206
|
/**
|
|
138
207
|
* Entity client for a specific plugin entity type (e.g., slack.messages).
|
|
139
208
|
* Provides typed access to entities with the entity type's data schema.
|
|
@@ -150,14 +219,28 @@ export type PluginEntityClient<DataSchema extends ZodTypeAny> = {
|
|
|
150
219
|
limit?: number;
|
|
151
220
|
offset?: number;
|
|
152
221
|
}) => Promise<TypedEntity<DataSchema>[]>;
|
|
153
|
-
/**
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
222
|
+
/**
|
|
223
|
+
* Search entities with typed filters.
|
|
224
|
+
*
|
|
225
|
+
* @example
|
|
226
|
+
* // Search by JSONB data field
|
|
227
|
+
* await tenant.slack.db.channels.search({
|
|
228
|
+
* data: { name: "sdk-test" }
|
|
229
|
+
* });
|
|
230
|
+
*
|
|
231
|
+
* // Search with contains (LIKE)
|
|
232
|
+
* await tenant.slack.db.channels.search({
|
|
233
|
+
* data: { name: { contains: "sdk" } }
|
|
234
|
+
* });
|
|
235
|
+
*
|
|
236
|
+
* // Search by entity_id
|
|
237
|
+
* await tenant.slack.db.channels.search({
|
|
238
|
+
* entity_id: { contains: "C012" }
|
|
239
|
+
* });
|
|
240
|
+
*/
|
|
241
|
+
search: (options: EntitySearchOptions<DataSchema>) => Promise<TypedEntity<DataSchema>[]>;
|
|
159
242
|
/** Create or update by external entity ID. */
|
|
160
|
-
|
|
243
|
+
upsertByEntityId: (entityId: string, data: z.input<DataSchema>) => Promise<TypedEntity<DataSchema>>;
|
|
161
244
|
/** Delete by internal UUID. */
|
|
162
245
|
deleteById: (id: string) => Promise<boolean>;
|
|
163
246
|
/** Delete by external entity ID. */
|
|
@@ -256,7 +339,7 @@ export type TenantScopedOrm = {
|
|
|
256
339
|
* const message = await slackOrm.messages.findByEntityId('1234567890.123456');
|
|
257
340
|
* // message.data is typed as SlackMessage
|
|
258
341
|
*
|
|
259
|
-
* await slackOrm.channels.
|
|
342
|
+
* await slackOrm.channels.upsertByEntityId('C123', {
|
|
260
343
|
* id: 'C123',
|
|
261
344
|
* name: 'general',
|
|
262
345
|
* is_private: false,
|
package/dist/db/orm.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orm.d.ts","sourceRoot":"","sources":["../../db/orm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAEzC,OAAO,KAAK,EACX,gBAAgB,EAIhB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EACX,cAAc,EACd,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"orm.d.ts","sourceRoot":"","sources":["../../db/orm.ts"],"names":[],"mappings":"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"}
|