@mondaydotcomorg/atp-client 0.19.5 → 0.19.7

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.
Files changed (40) hide show
  1. package/dist/client.d.ts +23 -2
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +26 -5
  4. package/dist/client.js.map +1 -1
  5. package/dist/core/api-operations.d.ts +4 -2
  6. package/dist/core/api-operations.d.ts.map +1 -1
  7. package/dist/core/api-operations.js +25 -1
  8. package/dist/core/api-operations.js.map +1 -1
  9. package/dist/core/execution-operations.d.ts +4 -2
  10. package/dist/core/execution-operations.d.ts.map +1 -1
  11. package/dist/core/execution-operations.js +60 -40
  12. package/dist/core/execution-operations.js.map +1 -1
  13. package/dist/core/in-process-session.d.ts +96 -0
  14. package/dist/core/in-process-session.d.ts.map +1 -0
  15. package/dist/core/in-process-session.js +175 -0
  16. package/dist/core/in-process-session.js.map +1 -0
  17. package/dist/core/index.d.ts +1 -0
  18. package/dist/core/index.d.ts.map +1 -1
  19. package/dist/core/index.js +1 -0
  20. package/dist/core/index.js.map +1 -1
  21. package/dist/core/provenance-registry.d.ts +3 -0
  22. package/dist/core/provenance-registry.d.ts.map +1 -1
  23. package/dist/core/provenance-registry.js +12 -6
  24. package/dist/core/provenance-registry.js.map +1 -1
  25. package/dist/core/session.d.ts +24 -1
  26. package/dist/core/session.d.ts.map +1 -1
  27. package/dist/core/session.js.map +1 -1
  28. package/dist/index.d.ts +2 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +1 -0
  31. package/dist/index.js.map +1 -1
  32. package/package.json +8 -5
  33. package/src/client.ts +47 -7
  34. package/src/core/api-operations.ts +35 -3
  35. package/src/core/execution-operations.ts +69 -45
  36. package/src/core/in-process-session.ts +294 -0
  37. package/src/core/index.ts +1 -0
  38. package/src/core/provenance-registry.ts +14 -6
  39. package/src/core/session.ts +20 -1
  40. package/src/index.ts +2 -0
@@ -0,0 +1,175 @@
1
+ export class InProcessSession {
2
+ server;
3
+ clientId;
4
+ clientToken;
5
+ initialized = false;
6
+ initPromise;
7
+ constructor(server) {
8
+ this.server = server;
9
+ }
10
+ async init(clientInfo, tools, services) {
11
+ if (this.initPromise) {
12
+ await this.initPromise;
13
+ return {
14
+ clientId: this.clientId,
15
+ token: this.clientToken,
16
+ expiresAt: 0,
17
+ tokenRotateAt: 0,
18
+ };
19
+ }
20
+ this.initPromise = (async () => {
21
+ await this.server.start();
22
+ const ctx = this.createContext({
23
+ method: 'POST',
24
+ path: '/api/init',
25
+ body: {
26
+ clientInfo,
27
+ tools: tools || [],
28
+ services,
29
+ },
30
+ });
31
+ const result = (await this.server.handleInit(ctx));
32
+ this.clientId = result.clientId;
33
+ this.clientToken = result.token;
34
+ this.initialized = true;
35
+ })();
36
+ await this.initPromise;
37
+ return {
38
+ clientId: this.clientId,
39
+ token: this.clientToken,
40
+ expiresAt: 0,
41
+ tokenRotateAt: 0,
42
+ };
43
+ }
44
+ getClientId() {
45
+ if (!this.clientId) {
46
+ throw new Error('Client not initialized. Call init() first.');
47
+ }
48
+ return this.clientId;
49
+ }
50
+ async ensureInitialized() {
51
+ if (!this.initialized) {
52
+ throw new Error('Client not initialized. Call init() first.');
53
+ }
54
+ }
55
+ getHeaders() {
56
+ const headers = {
57
+ 'content-type': 'application/json',
58
+ };
59
+ if (this.clientId) {
60
+ headers['x-client-id'] = this.clientId;
61
+ }
62
+ if (this.clientToken) {
63
+ headers['authorization'] = `Bearer ${this.clientToken}`;
64
+ }
65
+ return headers;
66
+ }
67
+ getBaseUrl() {
68
+ return '';
69
+ }
70
+ updateToken(_response) {
71
+ // No-op for in-process - tokens are managed directly
72
+ }
73
+ async prepareHeaders(_method, _url, _body) {
74
+ return this.getHeaders();
75
+ }
76
+ async getDefinitions(options) {
77
+ await this.ensureInitialized();
78
+ const ctx = this.createContext({
79
+ method: 'GET',
80
+ path: '/api/definitions',
81
+ query: options?.apiGroups ? { apiGroups: options.apiGroups.join(',') } : {},
82
+ });
83
+ return (await this.server.getDefinitions(ctx));
84
+ }
85
+ async getRuntimeDefinitions(options) {
86
+ await this.ensureInitialized();
87
+ const ctx = this.createContext({
88
+ method: 'GET',
89
+ path: '/api/runtime',
90
+ query: options?.apis?.length ? { apis: options.apis.join(',') } : {},
91
+ });
92
+ return await this.server.getRuntimeDefinitions(ctx);
93
+ }
94
+ async getServerInfo() {
95
+ await this.ensureInitialized();
96
+ return this.server.getInfo();
97
+ }
98
+ async search(query, options) {
99
+ await this.ensureInitialized();
100
+ const ctx = this.createContext({
101
+ method: 'POST',
102
+ path: '/api/search',
103
+ body: { query, ...options },
104
+ });
105
+ return (await this.server.handleSearch(ctx));
106
+ }
107
+ async explore(path) {
108
+ await this.ensureInitialized();
109
+ const ctx = this.createContext({
110
+ method: 'POST',
111
+ path: '/api/explore',
112
+ body: { path },
113
+ });
114
+ return await this.server.handleExplore(ctx);
115
+ }
116
+ async execute(code, config) {
117
+ await this.ensureInitialized();
118
+ const ctx = this.createContext({
119
+ method: 'POST',
120
+ path: '/api/execute',
121
+ body: { code, config },
122
+ });
123
+ return await this.server.handleExecute(ctx);
124
+ }
125
+ async resume(executionId, callbackResult) {
126
+ await this.ensureInitialized();
127
+ const ctx = this.createContext({
128
+ method: 'POST',
129
+ path: `/api/resume/${executionId}`,
130
+ body: { result: callbackResult },
131
+ });
132
+ return await this.server.handleResume(ctx, executionId);
133
+ }
134
+ async resumeWithBatchResults(executionId, batchResults) {
135
+ await this.ensureInitialized();
136
+ const ctx = this.createContext({
137
+ method: 'POST',
138
+ path: `/api/resume/${executionId}`,
139
+ body: { results: batchResults },
140
+ });
141
+ return await this.server.handleResume(ctx, executionId);
142
+ }
143
+ createContext(options) {
144
+ const noopLogger = {
145
+ debug: () => { },
146
+ info: () => { },
147
+ warn: () => { },
148
+ error: () => { },
149
+ };
150
+ return {
151
+ method: options.method,
152
+ path: options.path,
153
+ query: options.query || {},
154
+ headers: this.getHeaders(),
155
+ body: options.body,
156
+ clientId: this.clientId,
157
+ clientToken: this.clientToken,
158
+ logger: noopLogger,
159
+ status: 200,
160
+ responseBody: null,
161
+ throw: (status, message) => {
162
+ const error = new Error(message);
163
+ error.status = status;
164
+ throw error;
165
+ },
166
+ assert: (condition, message) => {
167
+ if (!condition) {
168
+ throw new Error(message);
169
+ }
170
+ },
171
+ set: () => { },
172
+ };
173
+ }
174
+ }
175
+ //# sourceMappingURL=in-process-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-process-session.js","sourceRoot":"","sources":["../../src/core/in-process-session.ts"],"names":[],"mappings":"AAsCA,MAAM,OAAO,gBAAgB;IACpB,MAAM,CAAkB;IACxB,QAAQ,CAAU;IAClB,WAAW,CAAU;IACrB,WAAW,GAAY,KAAK,CAAC;IAC7B,WAAW,CAAiB;IAEpC,YAAY,MAAuB;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,IAAI,CACT,UAAwE,EACxE,KAA8B,EAC9B,QAA8F;QAO9F,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,WAAW,CAAC;YACvB,OAAO;gBACN,QAAQ,EAAE,IAAI,CAAC,QAAS;gBACxB,KAAK,EAAE,IAAI,CAAC,WAAY;gBACxB,SAAS,EAAE,CAAC;gBACZ,aAAa,EAAE,CAAC;aAChB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,IAAI,EAAE;YAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAE1B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;gBAC9B,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE;oBACL,UAAU;oBACV,KAAK,EAAE,KAAK,IAAI,EAAE;oBAClB,QAAQ;iBACR;aACD,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAKhD,CAAC;YAEF,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACzB,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,IAAI,CAAC,WAAW,CAAC;QAEvB,OAAO;YACN,QAAQ,EAAE,IAAI,CAAC,QAAS;YACxB,KAAK,EAAE,IAAI,CAAC,WAAY;YACxB,SAAS,EAAE,CAAC;YACZ,aAAa,EAAE,CAAC;SAChB,CAAC;IACH,CAAC;IAED,WAAW;QACV,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,iBAAiB;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC/D,CAAC;IACF,CAAC;IAED,UAAU;QACT,MAAM,OAAO,GAA2B;YACvC,cAAc,EAAE,kBAAkB;SAClC,CAAC;QAEF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACxC,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;QACzD,CAAC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,UAAU;QACT,OAAO,EAAE,CAAC;IACX,CAAC;IAED,WAAW,CAAC,SAAmB;QAC9B,qDAAqD;IACtD,CAAC;IAED,KAAK,CAAC,cAAc,CACnB,OAAe,EACf,IAAY,EACZ,KAAe;QAEf,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAkC;QAKtD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;YAC9B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;SAC3E,CAAC,CAAC;QAEH,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAI5C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,OAA6B;QACxD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;YAC9B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;SACpE,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,aAAa;QAIlB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAGzB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,OAAiC;QAC5D,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;YAC9B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE;SAC3B,CAAC,CAAC;QAEH,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAA2B,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY;QACzB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;YAC9B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,EAAE,IAAI,EAAE;SACd,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,MAAgC;QAC3D,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;YAC9B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACtB,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,cAAuB;QACxD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;YAC9B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,eAAe,WAAW,EAAE;YAClC,IAAI,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE;SAChC,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC3B,WAAmB,EACnB,YAAoD;QAEpD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;YAC9B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,eAAe,WAAW,EAAE;YAClC,IAAI,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE;SAC/B,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IAEO,aAAa,CAAC,OAKrB;QACA,MAAM,UAAU,GAAG;YAClB,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;YACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;YACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;YACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;SACf,CAAC;QAEF,OAAO;YACN,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;YAC1B,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,GAAG;YACX,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE;gBAC1C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;gBAChC,KAAoC,CAAC,MAAM,GAAG,MAAM,CAAC;gBACtD,MAAM,KAAK,CAAC;YACb,CAAC;YACD,MAAM,EAAE,CAAC,SAAkB,EAAE,OAAe,EAAE,EAAE;gBAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC1B,CAAC;YACF,CAAC;YACD,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;SACb,CAAC;IACH,CAAC;CACD"}
@@ -1,4 +1,5 @@
1
1
  export * from './session.js';
2
+ export * from './in-process-session.js';
2
3
  export * from './api-operations.js';
3
4
  export * from './execution-operations.js';
4
5
  export * from './service-providers.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,YAAY,EACX,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,GACtB,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,YAAY,EACX,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,GACtB,MAAM,+BAA+B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './session.js';
2
+ export * from './in-process-session.js';
2
3
  export * from './api-operations.js';
3
4
  export * from './execution-operations.js';
4
5
  export * from './service-providers.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC"}
@@ -6,11 +6,13 @@
6
6
  export interface TokenEntry {
7
7
  token: string;
8
8
  addedAt: number;
9
+ sequence: number;
9
10
  }
10
11
  export declare class ProvenanceTokenRegistry {
11
12
  private cache;
12
13
  private maxSize;
13
14
  private ttl;
15
+ private sequenceCounter;
14
16
  constructor(maxSize?: number, ttlHours?: number);
15
17
  /**
16
18
  * Add a token to the registry
@@ -18,6 +20,7 @@ export declare class ProvenanceTokenRegistry {
18
20
  add(token: string): void;
19
21
  /**
20
22
  * Get recent tokens (non-expired, sorted by age, limited)
23
+ * Returns tokens in chronological order (oldest first, most recent last)
21
24
  */
22
25
  getRecentTokens(maxCount?: number): string[];
23
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"provenance-registry.d.ts","sourceRoot":"","sources":["../../src/core/provenance-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,uBAAuB;IACnC,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,GAAG,CAAS;gBAER,OAAO,GAAE,MAAc,EAAE,QAAQ,GAAE,MAAU;IAKzD;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAgBxB;;OAEG;IACH,eAAe,CAAC,QAAQ,GAAE,MAAa,GAAG,MAAM,EAAE;IAmClD;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,OAAO,CAAC,YAAY;IAepB;;OAEG;IACH,OAAO,CAAC,QAAQ;CAehB"}
1
+ {"version":3,"file":"provenance-registry.d.ts","sourceRoot":"","sources":["../../src/core/provenance-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,uBAAuB;IACnC,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,eAAe,CAAa;gBAExB,OAAO,GAAE,MAAc,EAAE,QAAQ,GAAE,MAAU;IAKzD;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAiBxB;;;OAGG;IACH,eAAe,CAAC,QAAQ,GAAE,MAAa,GAAG,MAAM,EAAE;IAuClD;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,OAAO,CAAC,YAAY;IAepB;;OAEG;IACH,OAAO,CAAC,QAAQ;CAehB"}
@@ -7,6 +7,7 @@ export class ProvenanceTokenRegistry {
7
7
  cache = new Map();
8
8
  maxSize;
9
9
  ttl;
10
+ sequenceCounter = 0;
10
11
  constructor(maxSize = 10000, ttlHours = 1) {
11
12
  this.maxSize = maxSize;
12
13
  this.ttl = ttlHours * 3600 * 1000;
@@ -21,16 +22,21 @@ export class ProvenanceTokenRegistry {
21
22
  if (this.cache.size >= this.maxSize) {
22
23
  this.evictLRU();
23
24
  }
24
- // Store token
25
+ // Store token with sequence number for stable ordering
25
26
  this.cache.set(token, {
26
27
  token,
27
28
  addedAt: Date.now(),
29
+ sequence: this.sequenceCounter++,
28
30
  });
29
31
  }
30
32
  /**
31
33
  * Get recent tokens (non-expired, sorted by age, limited)
34
+ * Returns tokens in chronological order (oldest first, most recent last)
32
35
  */
33
36
  getRecentTokens(maxCount = 1000) {
37
+ if (maxCount <= 0) {
38
+ return [];
39
+ }
34
40
  this.evictExpired();
35
41
  const now = Date.now();
36
42
  const expiredTokens = [];
@@ -54,8 +60,8 @@ export class ProvenanceTokenRegistry {
54
60
  return false;
55
61
  }
56
62
  })
57
- .sort((a, b) => b.addedAt - a.addedAt)
58
- .slice(0, maxCount);
63
+ .sort((a, b) => a.sequence - b.sequence)
64
+ .slice(-maxCount);
59
65
  for (const token of expiredTokens) {
60
66
  this.cache.delete(token);
61
67
  }
@@ -93,10 +99,10 @@ export class ProvenanceTokenRegistry {
93
99
  */
94
100
  evictLRU() {
95
101
  let oldestToken = null;
96
- let oldestTime = Infinity;
102
+ let oldestSequence = Infinity;
97
103
  for (const [token, entry] of this.cache.entries()) {
98
- if (entry.addedAt < oldestTime) {
99
- oldestTime = entry.addedAt;
104
+ if (entry.sequence < oldestSequence) {
105
+ oldestSequence = entry.sequence;
100
106
  oldestToken = token;
101
107
  }
102
108
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provenance-registry.js","sourceRoot":"","sources":["../../src/core/provenance-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provenance-registry.js","sourceRoot":"","sources":["../../src/core/provenance-registry.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,29 @@
1
1
  import type { ClientHooks } from './types.js';
2
2
  import type { ClientToolDefinition } from '@mondaydotcomorg/atp-protocol';
3
- export declare class ClientSession {
3
+ export interface ISession {
4
+ init(clientInfo?: {
5
+ name?: string;
6
+ version?: string;
7
+ [key: string]: unknown;
8
+ }, tools?: ClientToolDefinition[], services?: {
9
+ hasLLM: boolean;
10
+ hasApproval: boolean;
11
+ hasEmbedding: boolean;
12
+ hasTools: boolean;
13
+ }): Promise<{
14
+ clientId: string;
15
+ token: string;
16
+ expiresAt: number;
17
+ tokenRotateAt: number;
18
+ }>;
19
+ getClientId(): string;
20
+ ensureInitialized(): Promise<void>;
21
+ getHeaders(): Record<string, string>;
22
+ getBaseUrl(): string;
23
+ updateToken(response: Response): void;
24
+ prepareHeaders(method: string, url: string, body?: unknown): Promise<Record<string, string>>;
25
+ }
26
+ export declare class ClientSession implements ISession {
4
27
  private baseUrl;
5
28
  private customHeaders;
6
29
  private clientId?;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,qBAAa,aAAa;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAC,CAAgB;IACpC,OAAO,CAAC,KAAK,CAAC,CAAc;gBAEhB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,WAAW;IAMlF;;;;;;;OAOG;IACG,IAAI,CACT,UAAU,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EACxE,KAAK,CAAC,EAAE,oBAAoB,EAAE,EAC9B,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GAC5F,OAAO,CAAC;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACtB,CAAC;IAmDF;;OAEG;IACH,WAAW,IAAI,MAAM;IAOrB;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxC;;OAEG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAiBpC,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAOrC;;OAEG;IACG,cAAc,CACnB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,OAAO,GACZ,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAqClC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,MAAM,WAAW,QAAQ;IACxB,IAAI,CACH,UAAU,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EACxE,KAAK,CAAC,EAAE,oBAAoB,EAAE,EAC9B,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GAC5F,OAAO,CAAC;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;IACH,WAAW,IAAI,MAAM,CAAC;IACtB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,UAAU,IAAI,MAAM,CAAC;IACrB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC7F;AAED,qBAAa,aAAc,YAAW,QAAQ;IAC7C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAC,CAAgB;IACpC,OAAO,CAAC,KAAK,CAAC,CAAc;gBAEhB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,WAAW;IAMlF;;;;;;;OAOG;IACG,IAAI,CACT,UAAU,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EACxE,KAAK,CAAC,EAAE,oBAAoB,EAAE,EAC9B,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GAC5F,OAAO,CAAC;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACtB,CAAC;IAmDF;;OAEG;IACH,WAAW,IAAI,MAAM;IAOrB;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxC;;OAEG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAiBpC,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAOrC;;OAEG;IACG,cAAc,CACnB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,OAAO,GACZ,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAqClC"}
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,4 +8,6 @@ export type { RuntimeAPIName } from '@mondaydotcomorg/atp-runtime';
8
8
  export type { Tool, ToolName } from './tools/types.js';
9
9
  export { ToolNames } from './tools/types.js';
10
10
  export type { AgentToolProtocolClientOptions } from './client.js';
11
+ export { InProcessSession } from './core/in-process-session.js';
12
+ export type { ISession } from './core/session.js';
11
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,YAAY,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,YAAY,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -5,4 +5,5 @@ export * from './core/types.js';
5
5
  export * from './errors.js';
6
6
  export { ExecutionStatus } from '@mondaydotcomorg/atp-protocol';
7
7
  export { ToolNames } from './tools/types.js';
8
+ export { InProcessSession } from './core/in-process-session.js';
8
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mondaydotcomorg/atp-client",
3
- "version": "0.19.5",
3
+ "version": "0.19.7",
4
4
  "description": "Client SDK for Agent Tool Protocol",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -44,14 +44,17 @@
44
44
  },
45
45
  "license": "MIT",
46
46
  "dependencies": {
47
- "@mondaydotcomorg/atp-protocol": "0.19.5",
48
- "@mondaydotcomorg/atp-runtime": "0.19.5",
47
+ "@mondaydotcomorg/atp-protocol": "0.19.7",
48
+ "@mondaydotcomorg/atp-runtime": "0.19.7",
49
49
  "undici": "*",
50
- "zod": "^3.25.0",
51
50
  "zod-to-json-schema": "^3.24.6"
52
51
  },
52
+ "peerDependencies": {
53
+ "zod": "^3.25.0"
54
+ },
53
55
  "devDependencies": {
54
56
  "typescript": "^5.3.3",
55
- "vitest": "^1.2.1"
57
+ "vitest": "^1.2.1",
58
+ "zod": "^3.25.0"
56
59
  }
57
60
  }
package/src/client.ts CHANGED
@@ -15,7 +15,9 @@ import {
15
15
  type ClientEmbeddingHandler,
16
16
  type ClientServiceProviders,
17
17
  type ClientHooks,
18
+ type ISession,
18
19
  ClientSession,
20
+ InProcessSession,
19
21
  APIOperations,
20
22
  ExecutionOperations,
21
23
  ServiceProviders,
@@ -28,12 +30,26 @@ import {
28
30
  createExploreApiTool,
29
31
  } from './tools/index.js';
30
32
 
33
+ interface InProcessServer {
34
+ start(): Promise<void>;
35
+ handleInit(ctx: unknown): Promise<unknown>;
36
+ getDefinitions(ctx?: unknown): Promise<unknown>;
37
+ getRuntimeDefinitions(ctx?: unknown): Promise<string>;
38
+ getInfo(): unknown;
39
+ handleSearch(ctx: unknown): Promise<unknown>;
40
+ handleExplore(ctx: unknown): Promise<unknown>;
41
+ handleExecute(ctx: unknown): Promise<unknown>;
42
+ handleResume(ctx: unknown, executionId: string): Promise<unknown>;
43
+ }
44
+
31
45
  /**
32
46
  * Options for creating an AgentToolProtocolClient
33
47
  */
34
48
  export interface AgentToolProtocolClientOptions {
35
- /** Base URL of the Agent Tool Protocol server */
36
- baseUrl: string;
49
+ /** Base URL of the Agent Tool Protocol server (HTTP mode) */
50
+ baseUrl?: string;
51
+ /** Server instance for in-process mode (no HTTP, no port binding) */
52
+ server?: InProcessServer;
37
53
  /** Optional headers for authentication (e.g., { Authorization: 'Bearer token' }) */
38
54
  headers?: Record<string, string>;
39
55
  /** Optional client-provided services (LLM, approval, embedding) */
@@ -47,7 +63,8 @@ export interface AgentToolProtocolClientOptions {
47
63
  * Agent Tool Protocol servers and executing code.
48
64
  */
49
65
  export class AgentToolProtocolClient {
50
- private session: ClientSession;
66
+ private session: ISession;
67
+ private inProcessSession?: InProcessSession;
51
68
  private apiOps: APIOperations;
52
69
  private execOps: ExecutionOperations;
53
70
  private serviceProviders: ServiceProviders;
@@ -57,6 +74,7 @@ export class AgentToolProtocolClient {
57
74
  *
58
75
  * @example
59
76
  * ```typescript
77
+ * // HTTP mode
60
78
  * const client = new AgentToolProtocolClient({
61
79
  * baseUrl: 'http://localhost:3333',
62
80
  * headers: { Authorization: 'Bearer token' },
@@ -67,14 +85,36 @@ export class AgentToolProtocolClient {
67
85
  * }
68
86
  * }
69
87
  * });
88
+ *
89
+ * // In-process mode (no port binding)
90
+ * const server = createServer();
91
+ * server.use(myApiGroup);
92
+ * const client = new AgentToolProtocolClient({ server });
70
93
  * ```
71
94
  */
72
95
  constructor(options: AgentToolProtocolClientOptions) {
73
- const { baseUrl, headers, serviceProviders, hooks } = options;
74
- this.session = new ClientSession(baseUrl, headers, hooks);
96
+ const { baseUrl, server, headers, serviceProviders, hooks } = options;
97
+
98
+ if (!baseUrl && !server) {
99
+ throw new Error('Either baseUrl or server must be provided');
100
+ }
101
+
102
+ if (baseUrl && server) {
103
+ throw new Error('Cannot provide both baseUrl and server');
104
+ }
105
+
75
106
  this.serviceProviders = new ServiceProviders(serviceProviders);
76
- this.apiOps = new APIOperations(this.session);
77
- this.execOps = new ExecutionOperations(this.session, this.serviceProviders);
107
+
108
+ if (server) {
109
+ this.inProcessSession = new InProcessSession(server);
110
+ this.session = this.inProcessSession;
111
+ this.apiOps = new APIOperations(this.session, this.inProcessSession);
112
+ this.execOps = new ExecutionOperations(this.session, this.serviceProviders, this.inProcessSession);
113
+ } else {
114
+ this.session = new ClientSession(baseUrl!, headers, hooks);
115
+ this.apiOps = new APIOperations(this.session);
116
+ this.execOps = new ExecutionOperations(this.session, this.serviceProviders);
117
+ }
78
118
  }
79
119
 
80
120
  /**
@@ -1,13 +1,16 @@
1
1
  import type { SearchOptions, SearchResult, ExploreResult } from '@mondaydotcomorg/atp-protocol';
2
2
  import type { RuntimeAPIName } from '@mondaydotcomorg/atp-runtime';
3
- import type { ClientSession } from './session.js';
3
+ import type { ISession } from './session.js';
4
+ import type { InProcessSession } from './in-process-session.js';
4
5
 
5
6
  export class APIOperations {
6
- private session: ClientSession;
7
+ private session: ISession;
8
+ private inProcessSession?: InProcessSession;
7
9
  private apiDefinitions?: string;
8
10
 
9
- constructor(session: ClientSession) {
11
+ constructor(session: ISession, inProcessSession?: InProcessSession) {
10
12
  this.session = session;
13
+ this.inProcessSession = inProcessSession;
11
14
  }
12
15
 
13
16
  /**
@@ -20,6 +23,16 @@ export class APIOperations {
20
23
  }> {
21
24
  await this.session.ensureInitialized();
22
25
 
26
+ if (this.inProcessSession) {
27
+ const data = await this.inProcessSession.getDefinitions(options);
28
+ this.apiDefinitions = data.typescript;
29
+ return {
30
+ serverVersion: data.version,
31
+ capabilities: {},
32
+ apiGroups: data.apiGroups,
33
+ };
34
+ }
35
+
23
36
  const params = new URLSearchParams();
24
37
  if (options?.apiGroups) {
25
38
  params.set('apiGroups', options.apiGroups.join(','));
@@ -64,6 +77,11 @@ export class APIOperations {
64
77
  async searchAPI(query: string, options?: SearchOptions): Promise<SearchResult[]> {
65
78
  await this.session.ensureInitialized();
66
79
 
80
+ if (this.inProcessSession) {
81
+ const data = await this.inProcessSession.search(query, options as unknown as Record<string, unknown>);
82
+ return data.results as SearchResult[];
83
+ }
84
+
67
85
  const url = `${this.session.getBaseUrl()}/api/search`;
68
86
  const body = JSON.stringify({ query, ...options });
69
87
  const headers = await this.session.prepareHeaders('POST', url, body);
@@ -88,6 +106,10 @@ export class APIOperations {
88
106
  async exploreAPI(path: string): Promise<ExploreResult> {
89
107
  await this.session.ensureInitialized();
90
108
 
109
+ if (this.inProcessSession) {
110
+ return (await this.inProcessSession.explore(path)) as ExploreResult;
111
+ }
112
+
91
113
  const url = `${this.session.getBaseUrl()}/api/explore`;
92
114
  const body = JSON.stringify({ path });
93
115
  const headers = await this.session.prepareHeaders('POST', url, body);
@@ -114,6 +136,10 @@ export class APIOperations {
114
136
  }> {
115
137
  await this.session.ensureInitialized();
116
138
 
139
+ if (this.inProcessSession) {
140
+ return await this.inProcessSession.getServerInfo();
141
+ }
142
+
117
143
  const url = `${this.session.getBaseUrl()}/api/info`;
118
144
  const headers = await this.session.prepareHeaders('GET', url);
119
145
 
@@ -145,6 +171,12 @@ export class APIOperations {
145
171
  async getRuntimeDefinitions(options?: { apis?: RuntimeAPIName[] }): Promise<string> {
146
172
  await this.session.ensureInitialized();
147
173
 
174
+ if (this.inProcessSession) {
175
+ return await this.inProcessSession.getRuntimeDefinitions(
176
+ options?.apis ? { apis: options.apis } : undefined
177
+ );
178
+ }
179
+
148
180
  const params = new URLSearchParams();
149
181
  if (options?.apis && options.apis.length > 0) {
150
182
  params.set('apis', options.apis.join(','));