@sudobility/types 1.9.36 → 1.9.38
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/types/entity/entity.cjs +48 -0
- package/dist/types/entity/entity.d.ts +135 -0
- package/dist/types/entity/entity.d.ts.map +1 -0
- package/dist/types/entity/entity.js +48 -0
- package/dist/types/entity/entity.js.map +1 -0
- package/dist/types/entity/index.cjs +29 -0
- package/dist/types/entity/index.d.ts +9 -0
- package/dist/types/entity/index.d.ts.map +1 -0
- package/dist/types/entity/index.js +29 -0
- package/dist/types/entity/index.js.map +1 -0
- package/dist/types/entity/permissions.cjs +91 -0
- package/dist/types/entity/permissions.d.ts +50 -0
- package/dist/types/entity/permissions.d.ts.map +1 -0
- package/dist/types/entity/permissions.js +91 -0
- package/dist/types/entity/permissions.js.map +1 -0
- package/dist/types/entity/requests.cjs +7 -0
- package/dist/types/entity/requests.d.ts +64 -0
- package/dist/types/entity/requests.d.ts.map +1 -0
- package/dist/types/entity/requests.js +7 -0
- package/dist/types/entity/requests.js.map +1 -0
- package/dist/types/entity/responses.cjs +7 -0
- package/dist/types/entity/responses.d.ts +48 -0
- package/dist/types/entity/responses.d.ts.map +1 -0
- package/dist/types/entity/responses.js +7 -0
- package/dist/types/entity/responses.js.map +1 -0
- package/dist/types/index.cjs +4 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/subscription/index.cjs +19 -0
- package/dist/types/subscription/index.d.ts +2 -0
- package/dist/types/subscription/index.d.ts.map +1 -0
- package/dist/types/subscription/index.js +19 -0
- package/dist/types/subscription/index.js.map +1 -0
- package/dist/types/subscription/rate-limits.cjs +20 -0
- package/dist/types/subscription/rate-limits.d.ts +94 -0
- package/dist/types/subscription/rate-limits.d.ts.map +1 -0
- package/dist/types/subscription/rate-limits.js +20 -0
- package/dist/types/subscription/rate-limits.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Entity Type Definitions
|
|
4
|
+
* @description Core types for the entity/organization system used across shapeshyft and whisperly
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.InvitationStatus = exports.EntityRole = exports.EntityType = void 0;
|
|
8
|
+
// ========================================
|
|
9
|
+
// ENUMS
|
|
10
|
+
// ========================================
|
|
11
|
+
/**
|
|
12
|
+
* Type of entity.
|
|
13
|
+
* - personal: Auto-created for each user, cannot be deleted
|
|
14
|
+
* - organization: User-created, supports multiple members
|
|
15
|
+
*/
|
|
16
|
+
var EntityType;
|
|
17
|
+
(function (EntityType) {
|
|
18
|
+
EntityType["PERSONAL"] = "personal";
|
|
19
|
+
EntityType["ORGANIZATION"] = "organization";
|
|
20
|
+
})(EntityType || (exports.EntityType = EntityType = {}));
|
|
21
|
+
/**
|
|
22
|
+
* Role of a user within an entity.
|
|
23
|
+
* Determines permissions for various operations.
|
|
24
|
+
*/
|
|
25
|
+
var EntityRole;
|
|
26
|
+
(function (EntityRole) {
|
|
27
|
+
/** Full access: manage entity, members, projects, and API keys */
|
|
28
|
+
EntityRole["ADMIN"] = "admin";
|
|
29
|
+
/** Can create/edit projects and API keys, but cannot manage members */
|
|
30
|
+
EntityRole["MANAGER"] = "manager";
|
|
31
|
+
/** Read-only access to projects and API keys */
|
|
32
|
+
EntityRole["VIEWER"] = "viewer";
|
|
33
|
+
})(EntityRole || (exports.EntityRole = EntityRole = {}));
|
|
34
|
+
/**
|
|
35
|
+
* Status of an entity invitation.
|
|
36
|
+
*/
|
|
37
|
+
var InvitationStatus;
|
|
38
|
+
(function (InvitationStatus) {
|
|
39
|
+
/** Invitation sent, awaiting response */
|
|
40
|
+
InvitationStatus["PENDING"] = "pending";
|
|
41
|
+
/** Invitation accepted, user is now a member */
|
|
42
|
+
InvitationStatus["ACCEPTED"] = "accepted";
|
|
43
|
+
/** Invitation declined by the invitee */
|
|
44
|
+
InvitationStatus["DECLINED"] = "declined";
|
|
45
|
+
/** Invitation expired (not accepted within time limit) */
|
|
46
|
+
InvitationStatus["EXPIRED"] = "expired";
|
|
47
|
+
})(InvitationStatus || (exports.InvitationStatus = InvitationStatus = {}));
|
|
48
|
+
//# sourceMappingURL=entity.js.map
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Entity Type Definitions
|
|
3
|
+
* @description Core types for the entity/organization system used across shapeshyft and whisperly
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Type of entity.
|
|
7
|
+
* - personal: Auto-created for each user, cannot be deleted
|
|
8
|
+
* - organization: User-created, supports multiple members
|
|
9
|
+
*/
|
|
10
|
+
export declare enum EntityType {
|
|
11
|
+
PERSONAL = "personal",
|
|
12
|
+
ORGANIZATION = "organization"
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Role of a user within an entity.
|
|
16
|
+
* Determines permissions for various operations.
|
|
17
|
+
*/
|
|
18
|
+
export declare enum EntityRole {
|
|
19
|
+
/** Full access: manage entity, members, projects, and API keys */
|
|
20
|
+
ADMIN = "admin",
|
|
21
|
+
/** Can create/edit projects and API keys, but cannot manage members */
|
|
22
|
+
MANAGER = "manager",
|
|
23
|
+
/** Read-only access to projects and API keys */
|
|
24
|
+
VIEWER = "viewer"
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Status of an entity invitation.
|
|
28
|
+
*/
|
|
29
|
+
export declare enum InvitationStatus {
|
|
30
|
+
/** Invitation sent, awaiting response */
|
|
31
|
+
PENDING = "pending",
|
|
32
|
+
/** Invitation accepted, user is now a member */
|
|
33
|
+
ACCEPTED = "accepted",
|
|
34
|
+
/** Invitation declined by the invitee */
|
|
35
|
+
DECLINED = "declined",
|
|
36
|
+
/** Invitation expired (not accepted within time limit) */
|
|
37
|
+
EXPIRED = "expired"
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* An entity represents a workspace that can own projects and API keys.
|
|
41
|
+
* Can be either a personal workspace (one per user) or an organization (shared).
|
|
42
|
+
*/
|
|
43
|
+
export interface Entity {
|
|
44
|
+
/** Unique identifier (UUID) */
|
|
45
|
+
id: string;
|
|
46
|
+
/** URL-friendly slug (8-12 alphanumeric characters) */
|
|
47
|
+
entitySlug: string;
|
|
48
|
+
/** Type of entity: personal or organization */
|
|
49
|
+
entityType: EntityType;
|
|
50
|
+
/** Display name shown in UI */
|
|
51
|
+
displayName: string;
|
|
52
|
+
/** Optional description */
|
|
53
|
+
description: string | null;
|
|
54
|
+
/** Optional avatar URL */
|
|
55
|
+
avatarUrl: string | null;
|
|
56
|
+
/** User ID of the entity owner/creator */
|
|
57
|
+
ownerUserId: string;
|
|
58
|
+
/** ISO 8601 timestamp of creation */
|
|
59
|
+
createdAt: string;
|
|
60
|
+
/** ISO 8601 timestamp of last update */
|
|
61
|
+
updatedAt: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Entity with the current user's role included.
|
|
65
|
+
* Used when listing entities for a user.
|
|
66
|
+
*/
|
|
67
|
+
export interface EntityWithRole extends Entity {
|
|
68
|
+
/** Current user's role in this entity */
|
|
69
|
+
userRole: EntityRole;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Minimal user information for display in member lists.
|
|
73
|
+
*/
|
|
74
|
+
export interface EntityMemberUser {
|
|
75
|
+
/** User's unique identifier */
|
|
76
|
+
id: string;
|
|
77
|
+
/** User's email address */
|
|
78
|
+
email: string | null;
|
|
79
|
+
/** User's display name */
|
|
80
|
+
displayName: string | null;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* A membership record linking a user to an entity with a specific role.
|
|
84
|
+
*/
|
|
85
|
+
export interface EntityMember {
|
|
86
|
+
/** Unique identifier (UUID) */
|
|
87
|
+
id: string;
|
|
88
|
+
/** Entity this membership belongs to */
|
|
89
|
+
entityId: string;
|
|
90
|
+
/** User who is a member */
|
|
91
|
+
userId: string;
|
|
92
|
+
/** User's role in the entity */
|
|
93
|
+
role: EntityRole;
|
|
94
|
+
/** ISO 8601 timestamp when user joined */
|
|
95
|
+
joinedAt: string;
|
|
96
|
+
/** ISO 8601 timestamp of record creation */
|
|
97
|
+
createdAt: string;
|
|
98
|
+
/** ISO 8601 timestamp of last update */
|
|
99
|
+
updatedAt: string;
|
|
100
|
+
/** Populated user information (when joined) */
|
|
101
|
+
user?: EntityMemberUser;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* An invitation for a user to join an entity.
|
|
105
|
+
* Stored with email address to support inviting users who haven't signed up yet.
|
|
106
|
+
*/
|
|
107
|
+
export interface EntityInvitation {
|
|
108
|
+
/** Unique identifier (UUID) */
|
|
109
|
+
id: string;
|
|
110
|
+
/** Entity the user is invited to join */
|
|
111
|
+
entityId: string;
|
|
112
|
+
/** Email address of the invitee */
|
|
113
|
+
email: string;
|
|
114
|
+
/** Role the user will have upon accepting */
|
|
115
|
+
role: EntityRole;
|
|
116
|
+
/** Current status of the invitation */
|
|
117
|
+
status: InvitationStatus;
|
|
118
|
+
/** User ID of who sent the invitation */
|
|
119
|
+
invitedByUserId: string;
|
|
120
|
+
/** Unique token for accepting/declining (included in invitation link) */
|
|
121
|
+
token: string;
|
|
122
|
+
/** ISO 8601 timestamp when invitation expires */
|
|
123
|
+
expiresAt: string;
|
|
124
|
+
/** ISO 8601 timestamp when invitation was accepted (null if not accepted) */
|
|
125
|
+
acceptedAt: string | null;
|
|
126
|
+
/** ISO 8601 timestamp of creation */
|
|
127
|
+
createdAt: string;
|
|
128
|
+
/** ISO 8601 timestamp of last update */
|
|
129
|
+
updatedAt: string;
|
|
130
|
+
/** Populated entity information (when joined) */
|
|
131
|
+
entity?: Entity;
|
|
132
|
+
/** Populated inviter information (when joined) */
|
|
133
|
+
invitedBy?: EntityMemberUser;
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=entity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/types/entity/entity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;;;GAIG;AACH,oBAAY,UAAU;IACpB,QAAQ,aAAa;IACrB,YAAY,iBAAiB;CAC9B;AAED;;;GAGG;AACH,oBAAY,UAAU;IACpB,kEAAkE;IAClE,KAAK,UAAU;IACf,uEAAuE;IACvE,OAAO,YAAY;IACnB,gDAAgD;IAChD,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,gBAAgB;IAC1B,yCAAyC;IACzC,OAAO,YAAY;IACnB,gDAAgD;IAChD,QAAQ,aAAa;IACrB,yCAAyC;IACzC,QAAQ,aAAa;IACrB,0DAA0D;IAC1D,OAAO,YAAY;CACpB;AAMD;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,UAAU,EAAE,UAAU,CAAC;IACvB,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,0BAA0B;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,MAAM;IAC5C,yCAAyC;IACzC,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,IAAI,EAAE,UAAU,CAAC;IACjB,uCAAuC;IACvC,MAAM,EAAE,gBAAgB,CAAC;IACzB,yCAAyC;IACzC,eAAe,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Entity Type Definitions
|
|
4
|
+
* @description Core types for the entity/organization system used across shapeshyft and whisperly
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.InvitationStatus = exports.EntityRole = exports.EntityType = void 0;
|
|
8
|
+
// ========================================
|
|
9
|
+
// ENUMS
|
|
10
|
+
// ========================================
|
|
11
|
+
/**
|
|
12
|
+
* Type of entity.
|
|
13
|
+
* - personal: Auto-created for each user, cannot be deleted
|
|
14
|
+
* - organization: User-created, supports multiple members
|
|
15
|
+
*/
|
|
16
|
+
var EntityType;
|
|
17
|
+
(function (EntityType) {
|
|
18
|
+
EntityType["PERSONAL"] = "personal";
|
|
19
|
+
EntityType["ORGANIZATION"] = "organization";
|
|
20
|
+
})(EntityType || (exports.EntityType = EntityType = {}));
|
|
21
|
+
/**
|
|
22
|
+
* Role of a user within an entity.
|
|
23
|
+
* Determines permissions for various operations.
|
|
24
|
+
*/
|
|
25
|
+
var EntityRole;
|
|
26
|
+
(function (EntityRole) {
|
|
27
|
+
/** Full access: manage entity, members, projects, and API keys */
|
|
28
|
+
EntityRole["ADMIN"] = "admin";
|
|
29
|
+
/** Can create/edit projects and API keys, but cannot manage members */
|
|
30
|
+
EntityRole["MANAGER"] = "manager";
|
|
31
|
+
/** Read-only access to projects and API keys */
|
|
32
|
+
EntityRole["VIEWER"] = "viewer";
|
|
33
|
+
})(EntityRole || (exports.EntityRole = EntityRole = {}));
|
|
34
|
+
/**
|
|
35
|
+
* Status of an entity invitation.
|
|
36
|
+
*/
|
|
37
|
+
var InvitationStatus;
|
|
38
|
+
(function (InvitationStatus) {
|
|
39
|
+
/** Invitation sent, awaiting response */
|
|
40
|
+
InvitationStatus["PENDING"] = "pending";
|
|
41
|
+
/** Invitation accepted, user is now a member */
|
|
42
|
+
InvitationStatus["ACCEPTED"] = "accepted";
|
|
43
|
+
/** Invitation declined by the invitee */
|
|
44
|
+
InvitationStatus["DECLINED"] = "declined";
|
|
45
|
+
/** Invitation expired (not accepted within time limit) */
|
|
46
|
+
InvitationStatus["EXPIRED"] = "expired";
|
|
47
|
+
})(InvitationStatus || (exports.InvitationStatus = InvitationStatus = {}));
|
|
48
|
+
//# sourceMappingURL=entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../src/types/entity/entity.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,2CAA2C;AAC3C,QAAQ;AACR,2CAA2C;AAE3C;;;;GAIG;AACH,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,mCAAqB,CAAA;IACrB,2CAA6B,CAAA;AAC/B,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAED;;;GAGG;AACH,IAAY,UAOX;AAPD,WAAY,UAAU;IACpB,kEAAkE;IAClE,6BAAe,CAAA;IACf,uEAAuE;IACvE,iCAAmB,CAAA;IACnB,gDAAgD;IAChD,+BAAiB,CAAA;AACnB,CAAC,EAPW,UAAU,0BAAV,UAAU,QAOrB;AAED;;GAEG;AACH,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B,yCAAyC;IACzC,uCAAmB,CAAA;IACnB,gDAAgD;IAChD,yCAAqB,CAAA;IACrB,yCAAyC;IACzC,yCAAqB,CAAA;IACrB,0DAA0D;IAC1D,uCAAmB,CAAA;AACrB,CAAC,EATW,gBAAgB,gCAAhB,gBAAgB,QAS3B"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Entity Types Module
|
|
4
|
+
* @description Exports all entity-related types for organization/workspace management
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
// Core entity types and enums
|
|
22
|
+
__exportStar(require("./entity"), exports);
|
|
23
|
+
// Request types
|
|
24
|
+
__exportStar(require("./requests"), exports);
|
|
25
|
+
// Response types
|
|
26
|
+
__exportStar(require("./responses"), exports);
|
|
27
|
+
// Permission types and utilities
|
|
28
|
+
__exportStar(require("./permissions"), exports);
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Entity Types Module
|
|
3
|
+
* @description Exports all entity-related types for organization/workspace management
|
|
4
|
+
*/
|
|
5
|
+
export * from './entity';
|
|
6
|
+
export * from './requests';
|
|
7
|
+
export * from './responses';
|
|
8
|
+
export * from './permissions';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/entity/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,UAAU,CAAC;AAGzB,cAAc,YAAY,CAAC;AAG3B,cAAc,aAAa,CAAC;AAG5B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Entity Types Module
|
|
4
|
+
* @description Exports all entity-related types for organization/workspace management
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
// Core entity types and enums
|
|
22
|
+
__exportStar(require("./entity"), exports);
|
|
23
|
+
// Request types
|
|
24
|
+
__exportStar(require("./requests"), exports);
|
|
25
|
+
// Response types
|
|
26
|
+
__exportStar(require("./responses"), exports);
|
|
27
|
+
// Permission types and utilities
|
|
28
|
+
__exportStar(require("./permissions"), exports);
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/entity/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,8BAA8B;AAC9B,2CAAyB;AAEzB,gBAAgB;AAChB,6CAA2B;AAE3B,iBAAiB;AACjB,8CAA4B;AAE5B,iCAAiC;AACjC,gDAA8B"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Entity Permission Type Definitions
|
|
4
|
+
* @description Permission types and constants for role-based access control
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ROLE_PERMISSIONS = void 0;
|
|
8
|
+
exports.getPermissionsForRole = getPermissionsForRole;
|
|
9
|
+
exports.hasPermission = hasPermission;
|
|
10
|
+
const entity_1 = require("./entity");
|
|
11
|
+
// ========================================
|
|
12
|
+
// ROLE PERMISSION MAPPINGS
|
|
13
|
+
// ========================================
|
|
14
|
+
/**
|
|
15
|
+
* Permission set for the Admin role.
|
|
16
|
+
* Full access to all entity operations.
|
|
17
|
+
*/
|
|
18
|
+
const ADMIN_PERMISSIONS = {
|
|
19
|
+
canViewEntity: true,
|
|
20
|
+
canEditEntity: true,
|
|
21
|
+
canDeleteEntity: true,
|
|
22
|
+
canManageMembers: true,
|
|
23
|
+
canInviteMembers: true,
|
|
24
|
+
canManageProjects: true,
|
|
25
|
+
canCreateProjects: true,
|
|
26
|
+
canViewProjects: true,
|
|
27
|
+
canManageApiKeys: true,
|
|
28
|
+
canViewApiKeys: true,
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Permission set for the Manager role.
|
|
32
|
+
* Can manage projects and API keys, but not entity settings or members.
|
|
33
|
+
*/
|
|
34
|
+
const MANAGER_PERMISSIONS = {
|
|
35
|
+
canViewEntity: true,
|
|
36
|
+
canEditEntity: false,
|
|
37
|
+
canDeleteEntity: false,
|
|
38
|
+
canManageMembers: false,
|
|
39
|
+
canInviteMembers: false,
|
|
40
|
+
canManageProjects: true,
|
|
41
|
+
canCreateProjects: true,
|
|
42
|
+
canViewProjects: true,
|
|
43
|
+
canManageApiKeys: true,
|
|
44
|
+
canViewApiKeys: true,
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Permission set for the Viewer role.
|
|
48
|
+
* Read-only access to projects and API keys.
|
|
49
|
+
*/
|
|
50
|
+
const VIEWER_PERMISSIONS = {
|
|
51
|
+
canViewEntity: true,
|
|
52
|
+
canEditEntity: false,
|
|
53
|
+
canDeleteEntity: false,
|
|
54
|
+
canManageMembers: false,
|
|
55
|
+
canInviteMembers: false,
|
|
56
|
+
canManageProjects: false,
|
|
57
|
+
canCreateProjects: false,
|
|
58
|
+
canViewProjects: true,
|
|
59
|
+
canManageApiKeys: false,
|
|
60
|
+
canViewApiKeys: true,
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Maps each role to its permission set.
|
|
64
|
+
* Used by permission checking utilities.
|
|
65
|
+
*/
|
|
66
|
+
exports.ROLE_PERMISSIONS = {
|
|
67
|
+
[entity_1.EntityRole.ADMIN]: ADMIN_PERMISSIONS,
|
|
68
|
+
[entity_1.EntityRole.MANAGER]: MANAGER_PERMISSIONS,
|
|
69
|
+
[entity_1.EntityRole.VIEWER]: VIEWER_PERMISSIONS,
|
|
70
|
+
};
|
|
71
|
+
// ========================================
|
|
72
|
+
// UTILITY FUNCTIONS
|
|
73
|
+
// ========================================
|
|
74
|
+
/**
|
|
75
|
+
* Get permissions for a given role.
|
|
76
|
+
* @param role - The entity role
|
|
77
|
+
* @returns The permission set for that role
|
|
78
|
+
*/
|
|
79
|
+
function getPermissionsForRole(role) {
|
|
80
|
+
return exports.ROLE_PERMISSIONS[role];
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Check if a role has a specific permission.
|
|
84
|
+
* @param role - The entity role to check
|
|
85
|
+
* @param permission - The permission key to check
|
|
86
|
+
* @returns Whether the role has the permission
|
|
87
|
+
*/
|
|
88
|
+
function hasPermission(role, permission) {
|
|
89
|
+
return exports.ROLE_PERMISSIONS[role][permission];
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=permissions.js.map
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Entity Permission Type Definitions
|
|
3
|
+
* @description Permission types and constants for role-based access control
|
|
4
|
+
*/
|
|
5
|
+
import { EntityRole } from './entity';
|
|
6
|
+
/**
|
|
7
|
+
* Defines all available permissions within an entity.
|
|
8
|
+
* Each permission maps to a specific action a user can perform.
|
|
9
|
+
*/
|
|
10
|
+
export interface EntityPermissions {
|
|
11
|
+
/** Can view entity details and settings */
|
|
12
|
+
canViewEntity: boolean;
|
|
13
|
+
/** Can edit entity name, description, avatar */
|
|
14
|
+
canEditEntity: boolean;
|
|
15
|
+
/** Can delete the entity (organizations only) */
|
|
16
|
+
canDeleteEntity: boolean;
|
|
17
|
+
/** Can add, remove, and change roles of members */
|
|
18
|
+
canManageMembers: boolean;
|
|
19
|
+
/** Can send invitations to new members */
|
|
20
|
+
canInviteMembers: boolean;
|
|
21
|
+
/** Can create, edit, and delete projects */
|
|
22
|
+
canManageProjects: boolean;
|
|
23
|
+
/** Can create new projects */
|
|
24
|
+
canCreateProjects: boolean;
|
|
25
|
+
/** Can view projects and their details */
|
|
26
|
+
canViewProjects: boolean;
|
|
27
|
+
/** Can create, edit, and delete API keys */
|
|
28
|
+
canManageApiKeys: boolean;
|
|
29
|
+
/** Can view and use API keys for invocations */
|
|
30
|
+
canViewApiKeys: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Maps each role to its permission set.
|
|
34
|
+
* Used by permission checking utilities.
|
|
35
|
+
*/
|
|
36
|
+
export declare const ROLE_PERMISSIONS: Record<EntityRole, EntityPermissions>;
|
|
37
|
+
/**
|
|
38
|
+
* Get permissions for a given role.
|
|
39
|
+
* @param role - The entity role
|
|
40
|
+
* @returns The permission set for that role
|
|
41
|
+
*/
|
|
42
|
+
export declare function getPermissionsForRole(role: EntityRole): EntityPermissions;
|
|
43
|
+
/**
|
|
44
|
+
* Check if a role has a specific permission.
|
|
45
|
+
* @param role - The entity role to check
|
|
46
|
+
* @param permission - The permission key to check
|
|
47
|
+
* @returns Whether the role has the permission
|
|
48
|
+
*/
|
|
49
|
+
export declare function hasPermission(role: EntityRole, permission: keyof EntityPermissions): boolean;
|
|
50
|
+
//# sourceMappingURL=permissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/types/entity/permissions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAMtC;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,aAAa,EAAE,OAAO,CAAC;IACvB,gDAAgD;IAChD,aAAa,EAAE,OAAO,CAAC;IACvB,iDAAiD;IACjD,eAAe,EAAE,OAAO,CAAC;IACzB,mDAAmD;IACnD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,0CAA0C;IAC1C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,4CAA4C;IAC5C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,8BAA8B;IAC9B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,0CAA0C;IAC1C,eAAe,EAAE,OAAO,CAAC;IACzB,4CAA4C;IAC5C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gDAAgD;IAChD,cAAc,EAAE,OAAO,CAAC;CACzB;AAyDD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAIlE,CAAC;AAMF;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,iBAAiB,CAEzE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,MAAM,iBAAiB,GAClC,OAAO,CAET"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Entity Permission Type Definitions
|
|
4
|
+
* @description Permission types and constants for role-based access control
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ROLE_PERMISSIONS = void 0;
|
|
8
|
+
exports.getPermissionsForRole = getPermissionsForRole;
|
|
9
|
+
exports.hasPermission = hasPermission;
|
|
10
|
+
const entity_1 = require("./entity");
|
|
11
|
+
// ========================================
|
|
12
|
+
// ROLE PERMISSION MAPPINGS
|
|
13
|
+
// ========================================
|
|
14
|
+
/**
|
|
15
|
+
* Permission set for the Admin role.
|
|
16
|
+
* Full access to all entity operations.
|
|
17
|
+
*/
|
|
18
|
+
const ADMIN_PERMISSIONS = {
|
|
19
|
+
canViewEntity: true,
|
|
20
|
+
canEditEntity: true,
|
|
21
|
+
canDeleteEntity: true,
|
|
22
|
+
canManageMembers: true,
|
|
23
|
+
canInviteMembers: true,
|
|
24
|
+
canManageProjects: true,
|
|
25
|
+
canCreateProjects: true,
|
|
26
|
+
canViewProjects: true,
|
|
27
|
+
canManageApiKeys: true,
|
|
28
|
+
canViewApiKeys: true,
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Permission set for the Manager role.
|
|
32
|
+
* Can manage projects and API keys, but not entity settings or members.
|
|
33
|
+
*/
|
|
34
|
+
const MANAGER_PERMISSIONS = {
|
|
35
|
+
canViewEntity: true,
|
|
36
|
+
canEditEntity: false,
|
|
37
|
+
canDeleteEntity: false,
|
|
38
|
+
canManageMembers: false,
|
|
39
|
+
canInviteMembers: false,
|
|
40
|
+
canManageProjects: true,
|
|
41
|
+
canCreateProjects: true,
|
|
42
|
+
canViewProjects: true,
|
|
43
|
+
canManageApiKeys: true,
|
|
44
|
+
canViewApiKeys: true,
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Permission set for the Viewer role.
|
|
48
|
+
* Read-only access to projects and API keys.
|
|
49
|
+
*/
|
|
50
|
+
const VIEWER_PERMISSIONS = {
|
|
51
|
+
canViewEntity: true,
|
|
52
|
+
canEditEntity: false,
|
|
53
|
+
canDeleteEntity: false,
|
|
54
|
+
canManageMembers: false,
|
|
55
|
+
canInviteMembers: false,
|
|
56
|
+
canManageProjects: false,
|
|
57
|
+
canCreateProjects: false,
|
|
58
|
+
canViewProjects: true,
|
|
59
|
+
canManageApiKeys: false,
|
|
60
|
+
canViewApiKeys: true,
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Maps each role to its permission set.
|
|
64
|
+
* Used by permission checking utilities.
|
|
65
|
+
*/
|
|
66
|
+
exports.ROLE_PERMISSIONS = {
|
|
67
|
+
[entity_1.EntityRole.ADMIN]: ADMIN_PERMISSIONS,
|
|
68
|
+
[entity_1.EntityRole.MANAGER]: MANAGER_PERMISSIONS,
|
|
69
|
+
[entity_1.EntityRole.VIEWER]: VIEWER_PERMISSIONS,
|
|
70
|
+
};
|
|
71
|
+
// ========================================
|
|
72
|
+
// UTILITY FUNCTIONS
|
|
73
|
+
// ========================================
|
|
74
|
+
/**
|
|
75
|
+
* Get permissions for a given role.
|
|
76
|
+
* @param role - The entity role
|
|
77
|
+
* @returns The permission set for that role
|
|
78
|
+
*/
|
|
79
|
+
function getPermissionsForRole(role) {
|
|
80
|
+
return exports.ROLE_PERMISSIONS[role];
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Check if a role has a specific permission.
|
|
84
|
+
* @param role - The entity role to check
|
|
85
|
+
* @param permission - The permission key to check
|
|
86
|
+
* @returns Whether the role has the permission
|
|
87
|
+
*/
|
|
88
|
+
function hasPermission(role, permission) {
|
|
89
|
+
return exports.ROLE_PERMISSIONS[role][permission];
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/types/entity/permissions.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA6GH,sDAEC;AAQD,sCAKC;AA1HD,qCAAsC;AAiCtC,2CAA2C;AAC3C,2BAA2B;AAC3B,2CAA2C;AAE3C;;;GAGG;AACH,MAAM,iBAAiB,GAAsB;IAC3C,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,IAAI;IACtB,cAAc,EAAE,IAAI;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,mBAAmB,GAAsB;IAC7C,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,KAAK;IACpB,eAAe,EAAE,KAAK;IACtB,gBAAgB,EAAE,KAAK;IACvB,gBAAgB,EAAE,KAAK;IACvB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,IAAI;IACtB,cAAc,EAAE,IAAI;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,kBAAkB,GAAsB;IAC5C,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,KAAK;IACpB,eAAe,EAAE,KAAK;IACtB,gBAAgB,EAAE,KAAK;IACvB,gBAAgB,EAAE,KAAK;IACvB,iBAAiB,EAAE,KAAK;IACxB,iBAAiB,EAAE,KAAK;IACxB,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,KAAK;IACvB,cAAc,EAAE,IAAI;CACrB,CAAC;AAEF;;;GAGG;AACU,QAAA,gBAAgB,GAA0C;IACrE,CAAC,mBAAU,CAAC,KAAK,CAAC,EAAE,iBAAiB;IACrC,CAAC,mBAAU,CAAC,OAAO,CAAC,EAAE,mBAAmB;IACzC,CAAC,mBAAU,CAAC,MAAM,CAAC,EAAE,kBAAkB;CACxC,CAAC;AAEF,2CAA2C;AAC3C,oBAAoB;AACpB,2CAA2C;AAE3C;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,IAAgB;IACpD,OAAO,wBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAC3B,IAAgB,EAChB,UAAmC;IAEnC,OAAO,wBAAgB,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Entity Request Type Definitions
|
|
3
|
+
* @description Request types for entity API endpoints
|
|
4
|
+
*/
|
|
5
|
+
import type { EntityRole } from './entity';
|
|
6
|
+
/**
|
|
7
|
+
* Request to create a new organization entity.
|
|
8
|
+
* Personal entities are created automatically and cannot be created via API.
|
|
9
|
+
*/
|
|
10
|
+
export interface CreateEntityRequest {
|
|
11
|
+
/** Display name for the organization */
|
|
12
|
+
displayName: string;
|
|
13
|
+
/** Optional custom slug (8-12 alphanumeric). Auto-generated if not provided */
|
|
14
|
+
entitySlug?: string;
|
|
15
|
+
/** Optional description */
|
|
16
|
+
description?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Request to update an entity's details.
|
|
20
|
+
* Only admins can update entity settings.
|
|
21
|
+
*/
|
|
22
|
+
export interface UpdateEntityRequest {
|
|
23
|
+
/** New display name */
|
|
24
|
+
displayName?: string;
|
|
25
|
+
/** New slug (must be unique and available) */
|
|
26
|
+
entitySlug?: string;
|
|
27
|
+
/** New description */
|
|
28
|
+
description?: string;
|
|
29
|
+
/** New avatar URL */
|
|
30
|
+
avatarUrl?: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Request to update a member's role.
|
|
34
|
+
* Only admins can update member roles.
|
|
35
|
+
*/
|
|
36
|
+
export interface UpdateMemberRoleRequest {
|
|
37
|
+
/** New role for the member */
|
|
38
|
+
role: EntityRole;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Request to invite a user to join an entity.
|
|
42
|
+
* Only admins can send invitations.
|
|
43
|
+
*/
|
|
44
|
+
export interface InviteMemberRequest {
|
|
45
|
+
/** Email address of the user to invite */
|
|
46
|
+
email: string;
|
|
47
|
+
/** Role to assign when invitation is accepted */
|
|
48
|
+
role: EntityRole;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Request to accept an invitation using its token.
|
|
52
|
+
*/
|
|
53
|
+
export interface AcceptInvitationRequest {
|
|
54
|
+
/** Unique invitation token from the invitation link */
|
|
55
|
+
token: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Request to decline an invitation using its token.
|
|
59
|
+
*/
|
|
60
|
+
export interface DeclineInvitationRequest {
|
|
61
|
+
/** Unique invitation token from the invitation link */
|
|
62
|
+
token: string;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=requests.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../../src/types/entity/requests.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAM3C;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,8BAA8B;IAC9B,IAAI,EAAE,UAAU,CAAC;CAClB;AAMD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,IAAI,EAAE,UAAU,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requests.js","sourceRoot":"","sources":["../../../src/types/entity/requests.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Entity Response Type Definitions
|
|
3
|
+
* @description Response types for entity API endpoints
|
|
4
|
+
*/
|
|
5
|
+
import type { BaseResponse } from '../common';
|
|
6
|
+
import type { Entity, EntityWithRole, EntityMember, EntityInvitation } from './entity';
|
|
7
|
+
/**
|
|
8
|
+
* Response for single entity operations (get, create, update).
|
|
9
|
+
*/
|
|
10
|
+
export type EntityResponse = BaseResponse<Entity>;
|
|
11
|
+
/**
|
|
12
|
+
* Response for listing user's entities.
|
|
13
|
+
* Includes the user's role in each entity.
|
|
14
|
+
*/
|
|
15
|
+
export type EntityWithRoleListResponse = BaseResponse<EntityWithRole[]>;
|
|
16
|
+
/**
|
|
17
|
+
* Response for getting a single entity with role.
|
|
18
|
+
*/
|
|
19
|
+
export type EntityWithRoleResponse = BaseResponse<EntityWithRole>;
|
|
20
|
+
/**
|
|
21
|
+
* Response for single member operations (add, update role).
|
|
22
|
+
*/
|
|
23
|
+
export type EntityMemberResponse = BaseResponse<EntityMember>;
|
|
24
|
+
/**
|
|
25
|
+
* Response for listing entity members.
|
|
26
|
+
*/
|
|
27
|
+
export type EntityMemberListResponse = BaseResponse<EntityMember[]>;
|
|
28
|
+
/**
|
|
29
|
+
* Response for single invitation operations (create, accept, decline).
|
|
30
|
+
*/
|
|
31
|
+
export type EntityInvitationResponse = BaseResponse<EntityInvitation>;
|
|
32
|
+
/**
|
|
33
|
+
* Response for listing invitations.
|
|
34
|
+
*/
|
|
35
|
+
export type EntityInvitationListResponse = BaseResponse<EntityInvitation[]>;
|
|
36
|
+
/**
|
|
37
|
+
* Response for checking if an entity slug is available.
|
|
38
|
+
*/
|
|
39
|
+
export interface SlugAvailabilityData {
|
|
40
|
+
/** The slug that was checked */
|
|
41
|
+
slug: string;
|
|
42
|
+
/** Whether the slug is available for use */
|
|
43
|
+
available: boolean;
|
|
44
|
+
/** Suggested alternative if not available */
|
|
45
|
+
suggestion?: string;
|
|
46
|
+
}
|
|
47
|
+
export type SlugAvailabilityResponse = BaseResponse<SlugAvailabilityData>;
|
|
48
|
+
//# sourceMappingURL=responses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../../src/types/entity/responses.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EACV,MAAM,EACN,cAAc,EACd,YAAY,EACZ,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAMlB;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;AAExE;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;AAMlE;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC;AAMpE;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAEtE;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,YAAY,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAM5E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,SAAS,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,wBAAwB,GAAG,YAAY,CAAC,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responses.js","sourceRoot":"","sources":["../../../src/types/entity/responses.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
package/dist/types/index.cjs
CHANGED
|
@@ -24,4 +24,8 @@ __exportStar(require("./blockchain"), exports);
|
|
|
24
24
|
__exportStar(require("./config"), exports);
|
|
25
25
|
// Infrastructure types
|
|
26
26
|
__exportStar(require("./infrastructure"), exports);
|
|
27
|
+
// Subscription types (rate limits, etc.)
|
|
28
|
+
__exportStar(require("./subscription"), exports);
|
|
29
|
+
// Entity types (organizations, workspaces, members)
|
|
30
|
+
__exportStar(require("./entity"), exports);
|
|
27
31
|
//# sourceMappingURL=index.js.map
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,cAAc,UAAU,CAAC;AAGzB,cAAc,YAAY,CAAC;AAG3B,cAAc,cAAc,CAAC;AAG7B,cAAc,UAAU,CAAC;AAGzB,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,cAAc,UAAU,CAAC;AAGzB,cAAc,YAAY,CAAC;AAG3B,cAAc,cAAc,CAAC;AAG7B,cAAc,UAAU,CAAC;AAGzB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,UAAU,CAAC"}
|
package/dist/types/index.js
CHANGED
|
@@ -24,4 +24,8 @@ __exportStar(require("./blockchain"), exports);
|
|
|
24
24
|
__exportStar(require("./config"), exports);
|
|
25
25
|
// Infrastructure types
|
|
26
26
|
__exportStar(require("./infrastructure"), exports);
|
|
27
|
+
// Subscription types (rate limits, etc.)
|
|
28
|
+
__exportStar(require("./subscription"), exports);
|
|
29
|
+
// Entity types (organizations, workspaces, members)
|
|
30
|
+
__exportStar(require("./entity"), exports);
|
|
27
31
|
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uBAAuB;AACvB,2CAAyB;AAEzB,wBAAwB;AACxB,6CAA2B;AAE3B,8BAA8B;AAC9B,+CAA6B;AAE7B,4BAA4B;AAC5B,2CAAyB;AAEzB,uBAAuB;AACvB,mDAAiC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uBAAuB;AACvB,2CAAyB;AAEzB,wBAAwB;AACxB,6CAA2B;AAE3B,8BAA8B;AAC9B,+CAA6B;AAE7B,4BAA4B;AAC5B,2CAAyB;AAEzB,uBAAuB;AACvB,mDAAiC;AAEjC,yCAAyC;AACzC,iDAA+B;AAE/B,oDAAoD;AACpD,2CAAyB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
// Rate limit types
|
|
18
|
+
__exportStar(require("./rate-limits"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/subscription/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
// Rate limit types
|
|
18
|
+
__exportStar(require("./rate-limits"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/subscription/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mBAAmB;AACnB,gDAA8B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Rate Limit Type Definitions
|
|
4
|
+
* @description Types for rate limiting endpoints across sudojo_api, shapeshyft_api, and whisperly_api
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.RateLimitPeriodType = void 0;
|
|
8
|
+
// ========================================
|
|
9
|
+
// RATE LIMIT HISTORY TYPES
|
|
10
|
+
// ========================================
|
|
11
|
+
/**
|
|
12
|
+
* Valid period types for rate limit history.
|
|
13
|
+
*/
|
|
14
|
+
var RateLimitPeriodType;
|
|
15
|
+
(function (RateLimitPeriodType) {
|
|
16
|
+
RateLimitPeriodType["HOUR"] = "hour";
|
|
17
|
+
RateLimitPeriodType["DAY"] = "day";
|
|
18
|
+
RateLimitPeriodType["MONTH"] = "month";
|
|
19
|
+
})(RateLimitPeriodType || (exports.RateLimitPeriodType = RateLimitPeriodType = {}));
|
|
20
|
+
//# sourceMappingURL=rate-limits.js.map
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Rate Limit Type Definitions
|
|
3
|
+
* @description Types for rate limiting endpoints across sudojo_api, shapeshyft_api, and whisperly_api
|
|
4
|
+
*/
|
|
5
|
+
import type { BaseResponse } from "../common";
|
|
6
|
+
/**
|
|
7
|
+
* Rate limits for a single time period.
|
|
8
|
+
* null/undefined means unlimited for that period.
|
|
9
|
+
*/
|
|
10
|
+
export interface RateLimits {
|
|
11
|
+
/** Requests allowed per hour. null = unlimited */
|
|
12
|
+
hourly: number | null;
|
|
13
|
+
/** Requests allowed per day. null = unlimited */
|
|
14
|
+
daily: number | null;
|
|
15
|
+
/** Requests allowed per month. null = unlimited */
|
|
16
|
+
monthly: number | null;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Rate limit configuration for a single entitlement tier.
|
|
20
|
+
*/
|
|
21
|
+
export interface RateLimitTier {
|
|
22
|
+
/** Entitlement name (e.g., "none", "pro", "enterprise") */
|
|
23
|
+
entitlement: string;
|
|
24
|
+
/** Display name for the tier */
|
|
25
|
+
displayName: string;
|
|
26
|
+
/** Rate limits for this tier */
|
|
27
|
+
limits: RateLimits;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Response data for GET /ratelimits endpoint.
|
|
31
|
+
* Returns all rate limit configurations for all entitlement tiers.
|
|
32
|
+
*/
|
|
33
|
+
export interface RateLimitsConfigData {
|
|
34
|
+
/** All available rate limit tiers */
|
|
35
|
+
tiers: RateLimitTier[];
|
|
36
|
+
/** Current user's active entitlement */
|
|
37
|
+
currentEntitlement: string;
|
|
38
|
+
/** Current user's rate limits */
|
|
39
|
+
currentLimits: RateLimits;
|
|
40
|
+
/** Current usage counts */
|
|
41
|
+
currentUsage: RateLimitUsage;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Current usage counts for rate limiting.
|
|
45
|
+
*/
|
|
46
|
+
export interface RateLimitUsage {
|
|
47
|
+
/** Requests used this hour */
|
|
48
|
+
hourly: number;
|
|
49
|
+
/** Requests used today */
|
|
50
|
+
daily: number;
|
|
51
|
+
/** Requests used this month */
|
|
52
|
+
monthly: number;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* API response for GET /ratelimits endpoint.
|
|
56
|
+
*/
|
|
57
|
+
export type RateLimitsConfigResponse = BaseResponse<RateLimitsConfigData>;
|
|
58
|
+
/**
|
|
59
|
+
* Valid period types for rate limit history.
|
|
60
|
+
*/
|
|
61
|
+
export declare enum RateLimitPeriodType {
|
|
62
|
+
HOUR = "hour",
|
|
63
|
+
DAY = "day",
|
|
64
|
+
MONTH = "month"
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* A single history entry for a time period.
|
|
68
|
+
*/
|
|
69
|
+
export interface RateLimitHistoryEntry {
|
|
70
|
+
/** Start of the time period (ISO 8601 string) */
|
|
71
|
+
periodStart: string;
|
|
72
|
+
/** End of the time period (ISO 8601 string, exclusive) */
|
|
73
|
+
periodEnd: string;
|
|
74
|
+
/** Number of requests in this period */
|
|
75
|
+
requestCount: number;
|
|
76
|
+
/** Rate limit for this period (null = unlimited) */
|
|
77
|
+
limit: number | null;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Response data for GET /ratelimits/history/{periodType} endpoint.
|
|
81
|
+
*/
|
|
82
|
+
export interface RateLimitHistoryData {
|
|
83
|
+
/** Type of period: 'hour', 'day', or 'month' */
|
|
84
|
+
periodType: RateLimitPeriodType;
|
|
85
|
+
/** Historical entries, sorted by periodStart descending (most recent first) */
|
|
86
|
+
entries: RateLimitHistoryEntry[];
|
|
87
|
+
/** Total number of entries available */
|
|
88
|
+
totalEntries: number;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* API response for GET /ratelimits/history/{periodType} endpoint.
|
|
92
|
+
*/
|
|
93
|
+
export type RateLimitHistoryResponse = BaseResponse<RateLimitHistoryData>;
|
|
94
|
+
//# sourceMappingURL=rate-limits.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rate-limits.d.ts","sourceRoot":"","sources":["../../../src/types/subscription/rate-limits.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAM9C;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,kDAAkD;IAClD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iDAAiD;IACjD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,mDAAmD;IACnD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,MAAM,EAAE,UAAU,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,qCAAqC;IACrC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,wCAAwC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iCAAiC;IACjC,aAAa,EAAE,UAAU,CAAC;IAC1B,2BAA2B;IAC3B,YAAY,EAAE,cAAc,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,YAAY,CAAC,oBAAoB,CAAC,CAAC;AAM1E;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gDAAgD;IAChD,UAAU,EAAE,mBAAmB,CAAC;IAChC,+EAA+E;IAC/E,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,YAAY,CAAC,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Rate Limit Type Definitions
|
|
4
|
+
* @description Types for rate limiting endpoints across sudojo_api, shapeshyft_api, and whisperly_api
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.RateLimitPeriodType = void 0;
|
|
8
|
+
// ========================================
|
|
9
|
+
// RATE LIMIT HISTORY TYPES
|
|
10
|
+
// ========================================
|
|
11
|
+
/**
|
|
12
|
+
* Valid period types for rate limit history.
|
|
13
|
+
*/
|
|
14
|
+
var RateLimitPeriodType;
|
|
15
|
+
(function (RateLimitPeriodType) {
|
|
16
|
+
RateLimitPeriodType["HOUR"] = "hour";
|
|
17
|
+
RateLimitPeriodType["DAY"] = "day";
|
|
18
|
+
RateLimitPeriodType["MONTH"] = "month";
|
|
19
|
+
})(RateLimitPeriodType || (exports.RateLimitPeriodType = RateLimitPeriodType = {}));
|
|
20
|
+
//# sourceMappingURL=rate-limits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rate-limits.js","sourceRoot":"","sources":["../../../src/types/subscription/rate-limits.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAiEH,2CAA2C;AAC3C,2BAA2B;AAC3B,2CAA2C;AAE3C;;GAEG;AACH,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,kCAAW,CAAA;IACX,sCAAe,CAAA;AACjB,CAAC,EAJW,mBAAmB,mCAAnB,mBAAmB,QAI9B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sudobility/types",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.38",
|
|
4
4
|
"description": "Comprehensive TypeScript types, interfaces, and utilities for Web3 email applications - optimized for AI-assisted development",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.js",
|