terse-sdk 0.1.0 → 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/types.d.ts CHANGED
@@ -1,10 +1,14 @@
1
1
  import { IntegrationType } from "./shared/Integrations.js";
2
+ import type { ConfigInstance } from "./shared/Configs.js";
3
+ import type { SerializedEvent } from "./shared/types.js";
4
+ import type { WorkOSEventType } from "./shared/Configs.js";
2
5
  /**
3
6
  * Lightweight interface for input events.
4
7
  * The backend's concrete InputEvent abstract class structurally satisfies this interface.
5
8
  */
6
9
  export interface InputEvent {
7
10
  readonly integrationType: IntegrationType;
11
+ readonly eventType: string;
8
12
  formatForAgentRunner(): string;
9
13
  debugLog(): string;
10
14
  }
@@ -17,4 +21,180 @@ export interface ToolboxEntry {
17
21
  integration: IntegrationType;
18
22
  displayName: string;
19
23
  }
24
+ export interface TypedTrigger<TEvent extends InputEvent = InputEvent> extends ConfigInstance {
25
+ readonly __eventType?: TEvent;
26
+ }
27
+ export type InferEvent<T> = T extends TypedTrigger<infer E> ? E : InputEvent;
28
+ export type InferEvents<T extends readonly unknown[]> = InferEvent<T[number]>;
29
+ export interface GithubRepository {
30
+ id: number;
31
+ name: string;
32
+ owner: string;
33
+ defaultBranch: string;
34
+ }
35
+ export interface GithubUser {
36
+ login: string;
37
+ email?: string;
38
+ }
39
+ export interface GithubFileDiff {
40
+ filename: string;
41
+ diff: string;
42
+ }
43
+ export interface GithubCommit {
44
+ sha: string;
45
+ message: string;
46
+ fileDiffs: GithubFileDiff[];
47
+ }
48
+ export interface GithubPRData {
49
+ number: number;
50
+ title: string;
51
+ body?: string;
52
+ state: "open" | "closed";
53
+ merged: boolean;
54
+ head: {
55
+ ref: string;
56
+ sha: string;
57
+ };
58
+ base: {
59
+ ref: string;
60
+ sha: string;
61
+ };
62
+ author: GithubUser;
63
+ url: string;
64
+ }
65
+ export declare class GithubInputEvent implements InputEvent {
66
+ readonly integrationType = IntegrationType.GITHUB;
67
+ readonly eventType: string;
68
+ readonly repository: GithubRepository;
69
+ readonly sender: GithubUser;
70
+ readonly commits: GithubCommit[];
71
+ private readonly _formattedContent;
72
+ private readonly _debugLog;
73
+ constructor(opts: {
74
+ eventType: string;
75
+ repository: GithubRepository;
76
+ sender: GithubUser;
77
+ commits: GithubCommit[];
78
+ formattedContent: string;
79
+ debugLog: string;
80
+ });
81
+ formatForAgentRunner(): string;
82
+ debugLog(): string;
83
+ }
84
+ export declare class GithubPRInputEvent extends GithubInputEvent {
85
+ readonly pullRequest: GithubPRData;
86
+ constructor(opts: {
87
+ eventType: string;
88
+ repository: GithubRepository;
89
+ sender: GithubUser;
90
+ commits: GithubCommit[];
91
+ pullRequest: GithubPRData;
92
+ formattedContent: string;
93
+ debugLog: string;
94
+ });
95
+ }
96
+ export declare class GithubPushInputEvent extends GithubInputEvent {
97
+ readonly branch: string;
98
+ constructor(opts: {
99
+ eventType: string;
100
+ repository: GithubRepository;
101
+ sender: GithubUser;
102
+ commits: GithubCommit[];
103
+ branch: string;
104
+ formattedContent: string;
105
+ debugLog: string;
106
+ });
107
+ }
108
+ export declare function isGithubEvent(event: InputEvent): event is GithubInputEvent;
109
+ export declare function isGithubPREvent(event: InputEvent): event is GithubPRInputEvent;
110
+ export declare function isGithubPushEvent(event: InputEvent): event is GithubPushInputEvent;
111
+ export interface WorkOSEventUser {
112
+ id: string;
113
+ email: string;
114
+ firstName?: string;
115
+ lastName?: string;
116
+ emailVerified: boolean;
117
+ profilePictureUrl?: string;
118
+ }
119
+ export interface WorkOSEventMembership {
120
+ id: string;
121
+ userId: string;
122
+ organizationId: string;
123
+ role: {
124
+ slug: string;
125
+ };
126
+ status: string;
127
+ }
128
+ export interface WorkOSEventInvitation {
129
+ id: string;
130
+ email: string;
131
+ organizationId: string;
132
+ inviterEmail?: string;
133
+ state: string;
134
+ acceptedAt?: string;
135
+ }
136
+ export declare class WorkOSInputEvent implements InputEvent {
137
+ readonly integrationType = IntegrationType.WORKOS;
138
+ readonly eventType: WorkOSEventType | string;
139
+ readonly eventId: string;
140
+ readonly createdAt: string;
141
+ private readonly _formattedContent;
142
+ private readonly _debugLog;
143
+ constructor(opts: {
144
+ eventType: WorkOSEventType | string;
145
+ eventId: string;
146
+ createdAt: string;
147
+ formattedContent: string;
148
+ debugLog: string;
149
+ });
150
+ formatForAgentRunner(): string;
151
+ debugLog(): string;
152
+ }
153
+ export declare class WorkOSUserInputEvent extends WorkOSInputEvent {
154
+ readonly user: WorkOSEventUser;
155
+ constructor(opts: {
156
+ eventType: WorkOSEventType | string;
157
+ eventId: string;
158
+ createdAt: string;
159
+ user: WorkOSEventUser;
160
+ formattedContent: string;
161
+ debugLog: string;
162
+ });
163
+ }
164
+ export declare class WorkOSMembershipInputEvent extends WorkOSInputEvent {
165
+ readonly membership: WorkOSEventMembership;
166
+ constructor(opts: {
167
+ eventType: WorkOSEventType | string;
168
+ eventId: string;
169
+ createdAt: string;
170
+ membership: WorkOSEventMembership;
171
+ formattedContent: string;
172
+ debugLog: string;
173
+ });
174
+ }
175
+ export declare class WorkOSInvitationInputEvent extends WorkOSInputEvent {
176
+ readonly invitation: WorkOSEventInvitation;
177
+ constructor(opts: {
178
+ eventType: WorkOSEventType | string;
179
+ eventId: string;
180
+ createdAt: string;
181
+ invitation: WorkOSEventInvitation;
182
+ formattedContent: string;
183
+ debugLog: string;
184
+ });
185
+ }
186
+ export declare function isWorkOSEvent(event: InputEvent): event is WorkOSInputEvent;
187
+ export declare function isWorkOSUserEvent(event: InputEvent): event is WorkOSUserInputEvent;
188
+ export declare function isWorkOSMembershipEvent(event: InputEvent): event is WorkOSMembershipInputEvent;
189
+ export declare function isWorkOSInvitationEvent(event: InputEvent): event is WorkOSInvitationInputEvent;
190
+ export declare class SerializedEventInputEvent implements InputEvent {
191
+ readonly integrationType: IntegrationType;
192
+ readonly eventType: string;
193
+ private readonly formattedContent;
194
+ private readonly debugLogResult;
195
+ constructor(serializedEvent: SerializedEvent);
196
+ formatForAgentRunner(): string;
197
+ debugLog(): string;
198
+ }
199
+ export declare function deserializeInputEvent(se: SerializedEvent): InputEvent;
20
200
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE1D;;;GAGG;AACH,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,oBAAoB,IAAI,MAAM,CAAA;IAC9B,QAAQ,IAAI,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,OAAO,CAAA;IACnB,WAAW,EAAE,eAAe,CAAA;IAC5B,WAAW,EAAE,MAAM,CAAA;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,2 +1,179 @@
1
- export {};
1
+ import { IntegrationType } from "./shared/Integrations.js";
2
+ // ---------------------------------------------------------------------------
3
+ // GitHub event classes
4
+ // ---------------------------------------------------------------------------
5
+ export class GithubInputEvent {
6
+ integrationType = IntegrationType.GITHUB;
7
+ eventType;
8
+ repository;
9
+ sender;
10
+ commits;
11
+ _formattedContent;
12
+ _debugLog;
13
+ constructor(opts) {
14
+ this.eventType = opts.eventType;
15
+ this.repository = opts.repository;
16
+ this.sender = opts.sender;
17
+ this.commits = opts.commits;
18
+ this._formattedContent = opts.formattedContent;
19
+ this._debugLog = opts.debugLog;
20
+ }
21
+ formatForAgentRunner() {
22
+ return this._formattedContent;
23
+ }
24
+ debugLog() {
25
+ return this._debugLog;
26
+ }
27
+ }
28
+ export class GithubPRInputEvent extends GithubInputEvent {
29
+ pullRequest;
30
+ constructor(opts) {
31
+ super(opts);
32
+ this.pullRequest = opts.pullRequest;
33
+ }
34
+ }
35
+ export class GithubPushInputEvent extends GithubInputEvent {
36
+ branch;
37
+ constructor(opts) {
38
+ super(opts);
39
+ this.branch = opts.branch;
40
+ }
41
+ }
42
+ // ---------------------------------------------------------------------------
43
+ // Type guards
44
+ // ---------------------------------------------------------------------------
45
+ export function isGithubEvent(event) {
46
+ return event instanceof GithubInputEvent;
47
+ }
48
+ export function isGithubPREvent(event) {
49
+ return event instanceof GithubPRInputEvent;
50
+ }
51
+ export function isGithubPushEvent(event) {
52
+ return event instanceof GithubPushInputEvent;
53
+ }
54
+ // ---------------------------------------------------------------------------
55
+ // WorkOS event classes
56
+ // ---------------------------------------------------------------------------
57
+ export class WorkOSInputEvent {
58
+ integrationType = IntegrationType.WORKOS;
59
+ eventType;
60
+ eventId;
61
+ createdAt;
62
+ _formattedContent;
63
+ _debugLog;
64
+ constructor(opts) {
65
+ this.eventType = opts.eventType;
66
+ this.eventId = opts.eventId;
67
+ this.createdAt = opts.createdAt;
68
+ this._formattedContent = opts.formattedContent;
69
+ this._debugLog = opts.debugLog;
70
+ }
71
+ formatForAgentRunner() {
72
+ return this._formattedContent;
73
+ }
74
+ debugLog() {
75
+ return this._debugLog;
76
+ }
77
+ }
78
+ export class WorkOSUserInputEvent extends WorkOSInputEvent {
79
+ user;
80
+ constructor(opts) {
81
+ super(opts);
82
+ this.user = opts.user;
83
+ }
84
+ }
85
+ export class WorkOSMembershipInputEvent extends WorkOSInputEvent {
86
+ membership;
87
+ constructor(opts) {
88
+ super(opts);
89
+ this.membership = opts.membership;
90
+ }
91
+ }
92
+ export class WorkOSInvitationInputEvent extends WorkOSInputEvent {
93
+ invitation;
94
+ constructor(opts) {
95
+ super(opts);
96
+ this.invitation = opts.invitation;
97
+ }
98
+ }
99
+ // ---------------------------------------------------------------------------
100
+ // WorkOS type guards
101
+ // ---------------------------------------------------------------------------
102
+ export function isWorkOSEvent(event) {
103
+ return event instanceof WorkOSInputEvent;
104
+ }
105
+ export function isWorkOSUserEvent(event) {
106
+ return event instanceof WorkOSUserInputEvent;
107
+ }
108
+ export function isWorkOSMembershipEvent(event) {
109
+ return event instanceof WorkOSMembershipInputEvent;
110
+ }
111
+ export function isWorkOSInvitationEvent(event) {
112
+ return event instanceof WorkOSInvitationInputEvent;
113
+ }
114
+ // ---------------------------------------------------------------------------
115
+ // Generic fallback for non-typed serialized events
116
+ // ---------------------------------------------------------------------------
117
+ export class SerializedEventInputEvent {
118
+ integrationType;
119
+ eventType;
120
+ formattedContent;
121
+ debugLogResult;
122
+ constructor(serializedEvent) {
123
+ this.integrationType = serializedEvent.integrationType;
124
+ this.eventType = serializedEvent.eventType ?? "unknown";
125
+ this.formattedContent = serializedEvent.formattedContent;
126
+ this.debugLogResult = serializedEvent.debugLog;
127
+ }
128
+ formatForAgentRunner() {
129
+ return this.formattedContent;
130
+ }
131
+ debugLog() {
132
+ return this.debugLogResult;
133
+ }
134
+ }
135
+ // ---------------------------------------------------------------------------
136
+ // Deserialization – constructs typed event subclasses from SerializedEvent
137
+ // ---------------------------------------------------------------------------
138
+ export function deserializeInputEvent(se) {
139
+ if (se.integrationType === IntegrationType.GITHUB && se.metadata) {
140
+ const meta = se.metadata;
141
+ const base = {
142
+ eventType: se.eventType ?? "unknown",
143
+ repository: meta.repository ?? { id: 0, name: "", owner: "", defaultBranch: "main" },
144
+ sender: meta.sender ?? { login: "" },
145
+ commits: meta.commits ?? [],
146
+ formattedContent: se.formattedContent,
147
+ debugLog: se.debugLog
148
+ };
149
+ if (meta.pullRequest) {
150
+ return new GithubPRInputEvent({ ...base, pullRequest: meta.pullRequest });
151
+ }
152
+ if (meta.branch) {
153
+ return new GithubPushInputEvent({ ...base, branch: meta.branch });
154
+ }
155
+ return new GithubInputEvent(base);
156
+ }
157
+ if (se.integrationType === IntegrationType.WORKOS && se.metadata) {
158
+ const meta = se.metadata;
159
+ const base = {
160
+ eventType: se.eventType ?? "unknown",
161
+ eventId: meta.eventId ?? "",
162
+ createdAt: meta.createdAt ?? "",
163
+ formattedContent: se.formattedContent,
164
+ debugLog: se.debugLog
165
+ };
166
+ if (meta.user) {
167
+ return new WorkOSUserInputEvent({ ...base, user: meta.user });
168
+ }
169
+ if (meta.membership) {
170
+ return new WorkOSMembershipInputEvent({ ...base, membership: meta.membership });
171
+ }
172
+ if (meta.invitation) {
173
+ return new WorkOSInvitationInputEvent({ ...base, invitation: meta.invitation });
174
+ }
175
+ return new WorkOSInputEvent(base);
176
+ }
177
+ return new SerializedEventInputEvent(se);
178
+ }
2
179
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AA4E1D,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,MAAM,OAAO,gBAAgB;IAChB,eAAe,GAAG,eAAe,CAAC,MAAM,CAAA;IACxC,SAAS,CAAQ;IACjB,UAAU,CAAkB;IAC5B,MAAM,CAAY;IAClB,OAAO,CAAgB;IACf,iBAAiB,CAAQ;IACzB,SAAS,CAAQ;IAElC,YAAY,IAOX;QACG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAA;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAA;IAClC,CAAC;IAED,oBAAoB;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAA;IACjC,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;CACJ;AAED,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IAC3C,WAAW,CAAc;IAElC,YAAY,IAQX;QACG,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;IACvC,CAAC;CACJ;AAED,MAAM,OAAO,oBAAqB,SAAQ,gBAAgB;IAC7C,MAAM,CAAQ;IAEvB,YAAY,IAQX;QACG,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC7B,CAAC;CACJ;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,UAAU,aAAa,CAAC,KAAiB;IAC3C,OAAO,KAAK,YAAY,gBAAgB,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAiB;IAC7C,OAAO,KAAK,YAAY,kBAAkB,CAAA;AAC9C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAiB;IAC/C,OAAO,KAAK,YAAY,oBAAoB,CAAA;AAChD,CAAC;AAgCD,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,MAAM,OAAO,gBAAgB;IAChB,eAAe,GAAG,eAAe,CAAC,MAAM,CAAA;IACxC,SAAS,CAA0B;IACnC,OAAO,CAAQ;IACf,SAAS,CAAQ;IACT,iBAAiB,CAAQ;IACzB,SAAS,CAAQ;IAElC,YAAY,IAMX;QACG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAA;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAA;IAClC,CAAC;IAED,oBAAoB;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAA;IACjC,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;CACJ;AAED,MAAM,OAAO,oBAAqB,SAAQ,gBAAgB;IAC7C,IAAI,CAAiB;IAE9B,YAAY,IAOX;QACG,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACzB,CAAC;CACJ;AAED,MAAM,OAAO,0BAA2B,SAAQ,gBAAgB;IACnD,UAAU,CAAuB;IAE1C,YAAY,IAOX;QACG,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;IACrC,CAAC;CACJ;AAED,MAAM,OAAO,0BAA2B,SAAQ,gBAAgB;IACnD,UAAU,CAAuB;IAE1C,YAAY,IAOX;QACG,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;IACrC,CAAC;CACJ;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,MAAM,UAAU,aAAa,CAAC,KAAiB;IAC3C,OAAO,KAAK,YAAY,gBAAgB,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAiB;IAC/C,OAAO,KAAK,YAAY,oBAAoB,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAiB;IACrD,OAAO,KAAK,YAAY,0BAA0B,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAiB;IACrD,OAAO,KAAK,YAAY,0BAA0B,CAAA;AACtD,CAAC;AAED,8EAA8E;AAC9E,mDAAmD;AACnD,8EAA8E;AAE9E,MAAM,OAAO,yBAAyB;IACzB,eAAe,CAAiB;IAChC,SAAS,CAAQ;IACT,gBAAgB,CAAQ;IACxB,cAAc,CAAQ;IAEvC,YAAY,eAAgC;QACxC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC,eAAe,CAAA;QACtD,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,SAAS,IAAI,SAAS,CAAA;QACvD,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC,gBAAgB,CAAA;QACxD,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC,QAAQ,CAAA;IAClD,CAAC;IAED,oBAAoB;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAChC,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,cAAc,CAAA;IAC9B,CAAC;CACJ;AAED,8EAA8E;AAC9E,2EAA2E;AAC3E,8EAA8E;AAE9E,MAAM,UAAU,qBAAqB,CAAC,EAAmB;IACrD,IAAI,EAAE,CAAC,eAAe,KAAK,eAAe,CAAC,MAAM,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,EAAE,CAAC,QAMf,CAAA;QAED,MAAM,IAAI,GAAG;YACT,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,SAAS;YACpC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE;YACpF,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YACpC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;YAC3B,gBAAgB,EAAE,EAAE,CAAC,gBAAgB;YACrC,QAAQ,EAAE,EAAE,CAAC,QAAQ;SACxB,CAAA;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,IAAI,kBAAkB,CAAC,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QAC7E,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO,IAAI,oBAAoB,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QACrE,CAAC;QACD,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,IAAI,EAAE,CAAC,eAAe,KAAK,eAAe,CAAC,MAAM,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,EAAE,CAAC,QAMf,CAAA;QAED,MAAM,IAAI,GAAG;YACT,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,SAAS;YACpC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;YAC/B,gBAAgB,EAAE,EAAE,CAAC,gBAAgB;YACrC,QAAQ,EAAE,EAAE,CAAC,QAAQ;SACxB,CAAA;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,OAAO,IAAI,oBAAoB,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACjE,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO,IAAI,0BAA0B,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QACnF,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO,IAAI,0BAA0B,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QACnF,CAAC;QACD,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,OAAO,IAAI,yBAAyB,CAAC,EAAE,CAAC,CAAA;AAC5C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "terse-sdk",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",