@fnndsc/cumin 3.2.4 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/activities/chrisActivity.d.ts +1 -1
  2. package/dist/chrisapi/adapter.d.ts +142 -0
  3. package/dist/chrisapi/adapter.js +196 -0
  4. package/dist/chrisapi/adapter.js.map +1 -0
  5. package/dist/cli.js.map +1 -1
  6. package/dist/compute/computeResources.js +3 -2
  7. package/dist/compute/computeResources.js.map +1 -1
  8. package/dist/connect/chrisConnection.d.ts +8 -4
  9. package/dist/connect/chrisConnection.js +12 -8
  10. package/dist/connect/chrisConnection.js.map +1 -1
  11. package/dist/error/errorStack.d.ts +48 -0
  12. package/dist/error/errorStack.js +71 -10
  13. package/dist/error/errorStack.js.map +1 -1
  14. package/dist/feeds/chrisFeed.d.ts +1 -3
  15. package/dist/feeds/chrisFeed.js +4 -3
  16. package/dist/feeds/chrisFeed.js.map +1 -1
  17. package/dist/filebrowser/chrisFileBrowser.d.ts +1 -2
  18. package/dist/filebrowser/chrisFileBrowser.js.map +1 -1
  19. package/dist/filebrowser/chrisFiles.d.ts +1 -1
  20. package/dist/filebrowser/chrisFiles.js.map +1 -1
  21. package/dist/filebrowser/chrisPipeline.js +4 -3
  22. package/dist/filebrowser/chrisPipeline.js.map +1 -1
  23. package/dist/index.d.ts +3 -0
  24. package/dist/index.js +7 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/io/chrisIO.d.ts +1 -1
  27. package/dist/io/chrisIO.js +4 -3
  28. package/dist/io/chrisIO.js.map +1 -1
  29. package/dist/jobs/chrisJob.js +5 -4
  30. package/dist/jobs/chrisJob.js.map +1 -1
  31. package/dist/pacs/chrisPACS.js +12 -49
  32. package/dist/pacs/chrisPACS.js.map +1 -1
  33. package/dist/pipelines/chrisPipeline.js +19 -15
  34. package/dist/pipelines/chrisPipeline.js.map +1 -1
  35. package/dist/plugins/chrisPlugins.d.ts +1 -1
  36. package/dist/plugins/chrisPlugins.js +16 -19
  37. package/dist/plugins/chrisPlugins.js.map +1 -1
  38. package/dist/resources/chrisEmbeddedResourceGroup.d.ts +1 -1
  39. package/dist/resources/chrisEmbeddedResourceGroup.js +1 -1
  40. package/dist/resources/chrisResourceGroup.d.ts +1 -1
  41. package/dist/resources/chrisResources.d.ts +1 -2
  42. package/dist/resources/chrisResources.js +7 -7
  43. package/dist/resources/chrisResources.js.map +1 -1
  44. package/dist/users/chrisUsers.js +7 -2
  45. package/dist/users/chrisUsers.js.map +1 -1
  46. package/dist/utils/envelope.d.ts +115 -0
  47. package/dist/utils/envelope.js +70 -0
  48. package/dist/utils/envelope.js.map +1 -0
  49. package/package.json +6 -5
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * @module
7
7
  */
8
- import Client from "@fnndsc/chrisapi";
8
+ import type { Client } from "../chrisapi/adapter.js";
9
9
  /**
10
10
  * Base class for ChRIS activities.
11
11
  */
@@ -0,0 +1,142 @@
1
+ /**
2
+ * @file ChRIS API adapter — the single seam between cumin and `@fnndsc/chrisapi`.
3
+ *
4
+ * This module is the only place in cumin that imports `@fnndsc/chrisapi` and
5
+ * the only place allowed to cast against its objects. The chrisapi typings
6
+ * lag the real API surface (missing methods, untyped `data` payloads), so
7
+ * every other module works through the small set of generics exported here:
8
+ * lifecycle (`authToken_get`, `client_create`), payload extractors
9
+ * (`listData_get`, `itemData_get`, `items_get`, `collectionItems_get`),
10
+ * dynamic dispatch for methods absent from the typings (`resource_call`),
11
+ * and client-shape helpers (`client_authGet`, `client_adminUrlEnsure`).
12
+ *
13
+ * Domain modules pass their own target type `T`; the adapter performs the
14
+ * cast. This keeps the unsafe surface auditable in one file and gives tests
15
+ * a single boundary to stub.
16
+ *
17
+ * @module
18
+ */
19
+ import Client, { ListResource } from '@fnndsc/chrisapi';
20
+ /**
21
+ * The chrisapi Client class, re-exported as a value.
22
+ *
23
+ * Kept as a value (not `export type`) because downstream packages call
24
+ * static methods such as `Client.getAuthToken` through cumin's public API.
25
+ */
26
+ export { Client };
27
+ export type { ListResource, Resource, ItemResource, GroupList, ComputeResourceList, PluginInstance, PluginList, Feed, CommentList, Note, Comment, FileBrowserFolder, UserFile, PACSFile, PipelineSourceFile, PipelineSourceFileList, } from '@fnndsc/chrisapi';
28
+ /**
29
+ * Authentication slice of a connected chrisapi Client.
30
+ *
31
+ * The chrisapi typings omit the `auth` property although it exists at
32
+ * runtime on every connected client.
33
+ *
34
+ * @property cubeUrl - Base URL of the CUBE instance, when present.
35
+ * @property token - The bearer token for the current session.
36
+ */
37
+ export interface ClientAuth {
38
+ cubeUrl?: string;
39
+ token: string;
40
+ [key: string]: unknown;
41
+ }
42
+ /**
43
+ * Requests an authentication token from a CUBE auth endpoint.
44
+ *
45
+ * @param authUrl - Full URL of the CUBE `auth-token/` endpoint.
46
+ * @param user - Username to authenticate as.
47
+ * @param password - Password for the user.
48
+ * @returns The bearer token string.
49
+ * @throws {Error} Propagates chrisapi/network errors (e.g. bad credentials).
50
+ */
51
+ export declare function authToken_get(authUrl: string, user: string, password: string): Promise<string>;
52
+ /**
53
+ * Creates a chrisapi Client bound to a CUBE URL and bearer token.
54
+ *
55
+ * @param url - Base URL of the CUBE API (e.g. `https://cube/api/v1/`).
56
+ * @param token - Bearer token obtained from `authToken_get`.
57
+ * @returns A connected Client instance.
58
+ */
59
+ export declare function client_create(url: string, token: string): Client;
60
+ /**
61
+ * Reads the runtime `auth` slice of a connected client.
62
+ *
63
+ * @param client - A connected chrisapi Client.
64
+ * @returns The client's auth object (token and, when present, cubeUrl).
65
+ */
66
+ export declare function client_authGet(client: Client): ClientAuth;
67
+ /**
68
+ * Resolves the admin URL of a client, populating client URLs if needed.
69
+ *
70
+ * Non-admin users have no admin link; for them this resolves to null.
71
+ *
72
+ * @param client - A connected chrisapi Client.
73
+ * @returns The admin URL string, or null when the user has no admin access.
74
+ */
75
+ export declare function client_adminUrlEnsure(client: Client): Promise<string | null>;
76
+ /**
77
+ * Narrows an arbitrary resource to a chrisapi ListResource.
78
+ *
79
+ * @param resource - Any value to test.
80
+ * @returns True when the value is a ListResource instance.
81
+ */
82
+ export declare function resource_isList(resource: unknown): resource is ListResource;
83
+ /**
84
+ * Extracts the `data` payload of a list resource as a typed array.
85
+ *
86
+ * @param list - A chrisapi list resource (or anything carrying `data`).
87
+ * @returns The `data` array as `T[]`, or an empty array when absent.
88
+ */
89
+ export declare function listData_get<T>(list: {
90
+ data?: unknown;
91
+ } | null | undefined): T[];
92
+ /**
93
+ * Extracts the `data` payload of an item resource as a typed object.
94
+ *
95
+ * @param item - A chrisapi item resource (or anything carrying `data`).
96
+ * @returns The `data` object as `T`, or null when absent.
97
+ */
98
+ export declare function itemData_get<T>(item: {
99
+ data?: unknown;
100
+ } | null | undefined): T | null;
101
+ /**
102
+ * Returns the items of a list resource as a typed array.
103
+ *
104
+ * @param list - A chrisapi list resource exposing `getItems()`.
105
+ * @returns The items as `T[]`, or an empty array when absent.
106
+ */
107
+ export declare function items_get<T>(list: {
108
+ getItems(): unknown;
109
+ } | null | undefined): T[];
110
+ /**
111
+ * Returns the collection+json items embedded in a resource as a typed array.
112
+ *
113
+ * @param resource - A chrisapi resource carrying a `collection` document.
114
+ * @returns The collection items as `T[]`, or an empty array when absent.
115
+ */
116
+ export declare function collectionItems_get<T>(resource: {
117
+ collection?: unknown;
118
+ } | null | undefined): T[];
119
+ /**
120
+ * Invokes a method on a chrisapi object that its typings do not declare.
121
+ *
122
+ * Used for client/resource methods that exist at runtime but are missing or
123
+ * mistyped in `@fnndsc/chrisapi` (e.g. `createWorkflow`,
124
+ * `getPipelineSourceFiles`, `_post`, `put` with a `path` body).
125
+ *
126
+ * @param obj - The chrisapi object to dispatch on.
127
+ * @param methodName - Name of the runtime method to invoke.
128
+ * @param args - Arguments forwarded to the method.
129
+ * @returns The method's resolved value as `T`.
130
+ * @throws {Error} When the named method does not exist on the object.
131
+ */
132
+ export declare function resource_call<T>(obj: object, methodName: string, ...args: unknown[]): Promise<T>;
133
+ /**
134
+ * Deletes a PACS retrieve resource addressed by URL.
135
+ *
136
+ * The chrisapi Client offers no delete-by-id for retrieves, so the resource
137
+ * is constructed directly from its REST URL and the client's auth.
138
+ *
139
+ * @param retrieveUrl - Full REST URL of the retrieve resource.
140
+ * @param auth - Auth slice of the connected client (from `client_authGet`).
141
+ */
142
+ export declare function pacsRetrieve_deleteByUrl(retrieveUrl: string, auth: ClientAuth): Promise<void>;
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ /**
3
+ * @file ChRIS API adapter — the single seam between cumin and `@fnndsc/chrisapi`.
4
+ *
5
+ * This module is the only place in cumin that imports `@fnndsc/chrisapi` and
6
+ * the only place allowed to cast against its objects. The chrisapi typings
7
+ * lag the real API surface (missing methods, untyped `data` payloads), so
8
+ * every other module works through the small set of generics exported here:
9
+ * lifecycle (`authToken_get`, `client_create`), payload extractors
10
+ * (`listData_get`, `itemData_get`, `items_get`, `collectionItems_get`),
11
+ * dynamic dispatch for methods absent from the typings (`resource_call`),
12
+ * and client-shape helpers (`client_authGet`, `client_adminUrlEnsure`).
13
+ *
14
+ * Domain modules pass their own target type `T`; the adapter performs the
15
+ * cast. This keeps the unsafe surface auditable in one file and gives tests
16
+ * a single boundary to stub.
17
+ *
18
+ * @module
19
+ */
20
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ var desc = Object.getOwnPropertyDescriptor(m, k);
23
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
24
+ desc = { enumerable: true, get: function() { return m[k]; } };
25
+ }
26
+ Object.defineProperty(o, k2, desc);
27
+ }) : (function(o, m, k, k2) {
28
+ if (k2 === undefined) k2 = k;
29
+ o[k2] = m[k];
30
+ }));
31
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
32
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
33
+ }) : function(o, v) {
34
+ o["default"] = v;
35
+ });
36
+ var __importStar = (this && this.__importStar) || (function () {
37
+ var ownKeys = function(o) {
38
+ ownKeys = Object.getOwnPropertyNames || function (o) {
39
+ var ar = [];
40
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
41
+ return ar;
42
+ };
43
+ return ownKeys(o);
44
+ };
45
+ return function (mod) {
46
+ if (mod && mod.__esModule) return mod;
47
+ var result = {};
48
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
49
+ __setModuleDefault(result, mod);
50
+ return result;
51
+ };
52
+ })();
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.Client = void 0;
55
+ exports.authToken_get = authToken_get;
56
+ exports.client_create = client_create;
57
+ exports.client_authGet = client_authGet;
58
+ exports.client_adminUrlEnsure = client_adminUrlEnsure;
59
+ exports.resource_isList = resource_isList;
60
+ exports.listData_get = listData_get;
61
+ exports.itemData_get = itemData_get;
62
+ exports.items_get = items_get;
63
+ exports.collectionItems_get = collectionItems_get;
64
+ exports.resource_call = resource_call;
65
+ exports.pacsRetrieve_deleteByUrl = pacsRetrieve_deleteByUrl;
66
+ const chrisapi_1 = __importStar(require("@fnndsc/chrisapi"));
67
+ exports.Client = chrisapi_1.default;
68
+ /**
69
+ * Requests an authentication token from a CUBE auth endpoint.
70
+ *
71
+ * @param authUrl - Full URL of the CUBE `auth-token/` endpoint.
72
+ * @param user - Username to authenticate as.
73
+ * @param password - Password for the user.
74
+ * @returns The bearer token string.
75
+ * @throws {Error} Propagates chrisapi/network errors (e.g. bad credentials).
76
+ */
77
+ async function authToken_get(authUrl, user, password) {
78
+ return chrisapi_1.default.getAuthToken(authUrl, user, password);
79
+ }
80
+ /**
81
+ * Creates a chrisapi Client bound to a CUBE URL and bearer token.
82
+ *
83
+ * @param url - Base URL of the CUBE API (e.g. `https://cube/api/v1/`).
84
+ * @param token - Bearer token obtained from `authToken_get`.
85
+ * @returns A connected Client instance.
86
+ */
87
+ function client_create(url, token) {
88
+ return new chrisapi_1.default(url, { token });
89
+ }
90
+ /**
91
+ * Reads the runtime `auth` slice of a connected client.
92
+ *
93
+ * @param client - A connected chrisapi Client.
94
+ * @returns The client's auth object (token and, when present, cubeUrl).
95
+ */
96
+ function client_authGet(client) {
97
+ return client.auth;
98
+ }
99
+ /**
100
+ * Resolves the admin URL of a client, populating client URLs if needed.
101
+ *
102
+ * Non-admin users have no admin link; for them this resolves to null.
103
+ *
104
+ * @param client - A connected chrisapi Client.
105
+ * @returns The admin URL string, or null when the user has no admin access.
106
+ */
107
+ async function client_adminUrlEnsure(client) {
108
+ const slice = client;
109
+ if (!slice.adminUrl && typeof slice.setUrls === 'function') {
110
+ await slice.setUrls().catch(() => undefined);
111
+ }
112
+ return slice.adminUrl ?? null;
113
+ }
114
+ /**
115
+ * Narrows an arbitrary resource to a chrisapi ListResource.
116
+ *
117
+ * @param resource - Any value to test.
118
+ * @returns True when the value is a ListResource instance.
119
+ */
120
+ function resource_isList(resource) {
121
+ return resource instanceof chrisapi_1.ListResource;
122
+ }
123
+ /**
124
+ * Extracts the `data` payload of a list resource as a typed array.
125
+ *
126
+ * @param list - A chrisapi list resource (or anything carrying `data`).
127
+ * @returns The `data` array as `T[]`, or an empty array when absent.
128
+ */
129
+ function listData_get(list) {
130
+ const data = list?.data;
131
+ return Array.isArray(data) ? data : [];
132
+ }
133
+ /**
134
+ * Extracts the `data` payload of an item resource as a typed object.
135
+ *
136
+ * @param item - A chrisapi item resource (or anything carrying `data`).
137
+ * @returns The `data` object as `T`, or null when absent.
138
+ */
139
+ function itemData_get(item) {
140
+ const data = item?.data;
141
+ return data === undefined || data === null ? null : data;
142
+ }
143
+ /**
144
+ * Returns the items of a list resource as a typed array.
145
+ *
146
+ * @param list - A chrisapi list resource exposing `getItems()`.
147
+ * @returns The items as `T[]`, or an empty array when absent.
148
+ */
149
+ function items_get(list) {
150
+ const items = list?.getItems();
151
+ return Array.isArray(items) ? items : [];
152
+ }
153
+ /**
154
+ * Returns the collection+json items embedded in a resource as a typed array.
155
+ *
156
+ * @param resource - A chrisapi resource carrying a `collection` document.
157
+ * @returns The collection items as `T[]`, or an empty array when absent.
158
+ */
159
+ function collectionItems_get(resource) {
160
+ const items = resource?.collection?.items;
161
+ return Array.isArray(items) ? items : [];
162
+ }
163
+ /**
164
+ * Invokes a method on a chrisapi object that its typings do not declare.
165
+ *
166
+ * Used for client/resource methods that exist at runtime but are missing or
167
+ * mistyped in `@fnndsc/chrisapi` (e.g. `createWorkflow`,
168
+ * `getPipelineSourceFiles`, `_post`, `put` with a `path` body).
169
+ *
170
+ * @param obj - The chrisapi object to dispatch on.
171
+ * @param methodName - Name of the runtime method to invoke.
172
+ * @param args - Arguments forwarded to the method.
173
+ * @returns The method's resolved value as `T`.
174
+ * @throws {Error} When the named method does not exist on the object.
175
+ */
176
+ async function resource_call(obj, methodName, ...args) {
177
+ const method = obj[methodName];
178
+ if (typeof method !== 'function') {
179
+ throw new Error(`chrisapi object has no method '${methodName}'`);
180
+ }
181
+ return method.apply(obj, args);
182
+ }
183
+ /**
184
+ * Deletes a PACS retrieve resource addressed by URL.
185
+ *
186
+ * The chrisapi Client offers no delete-by-id for retrieves, so the resource
187
+ * is constructed directly from its REST URL and the client's auth.
188
+ *
189
+ * @param retrieveUrl - Full REST URL of the retrieve resource.
190
+ * @param auth - Auth slice of the connected client (from `client_authGet`).
191
+ */
192
+ async function pacsRetrieve_deleteByUrl(retrieveUrl, auth) {
193
+ const retrieve = new chrisapi_1.PACSRetrieve(retrieveUrl, auth);
194
+ await retrieve.delete();
195
+ }
196
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/chrisapi/adapter.ts"],"names":[],"mappings":"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"}
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AACA;;;;GAIG;;;;;AAEH,oDAA4B;AAE5B,2BAAkC;AAClC,+BAA4B;AAG5B,+DAAkF;AAClF,4CAAmD;AACnD,gDAAsD;AAOtD,oBAAoB;AACpB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAC7D,CAAC;AACF,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;AAEpC;;;GAGG;AACH,KAAK,UAAU,IAAI;IACjB,MAAM,mBAAmB,GAAwB,IAAI,gCAAmB,EAAE,CAAC;IAC3E,MAAM,IAAA,sCAAoB,EAAC,mBAAmB,CAAC,CAAC;IAEhD,OAAO,CAAC,GAAG,CAAC,gBAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,CACT,mEAAmE,CACpE,CAAC;IACF,OAAO,CAAC,GAAG,CACT,yEAAyE,CAC1E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,wEAAwE,CACzE,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,CACT,kEAAkE,CACnE,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,MAAM,iCAAe,CAAC,aAAa,EAAE,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,iCAAe,CAAC,YAAY,EAAE,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,yBAAgB,CAAC,CAAC;AAChC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AACA;;;;GAIG;;;;;AAEH,oDAA4B;AAC5B,2BAAkC;AAClC,+BAA4B;AAG5B,+DAAkF;AAClF,4CAAmD;AACnD,gDAAsD;AAOtD,oBAAoB;AACpB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAC7D,CAAC;AACF,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;AAEpC;;;GAGG;AACH,KAAK,UAAU,IAAI;IACjB,MAAM,mBAAmB,GAAwB,IAAI,gCAAmB,EAAE,CAAC;IAC3E,MAAM,IAAA,sCAAoB,EAAC,mBAAmB,CAAC,CAAC;IAEhD,OAAO,CAAC,GAAG,CAAC,gBAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,CACT,mEAAmE,CACpE,CAAC;IACF,OAAO,CAAC,GAAG,CACT,yEAAyE,CAC1E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,wEAAwE,CACzE,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,CACT,kEAAkE,CACnE,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,MAAM,iCAAe,CAAC,aAAa,EAAE,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,iCAAe,CAAC,YAAY,EAAE,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,yBAAgB,CAAC,CAAC;AAChC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
@@ -14,6 +14,7 @@ exports.computeResources_validate = computeResources_validate;
14
14
  exports.computeResources_getAll = computeResources_getAll;
15
15
  exports.computeResourceNames_parse = computeResourceNames_parse;
16
16
  const chrisConnection_js_1 = require("../connect/chrisConnection.js");
17
+ const adapter_js_1 = require("../chrisapi/adapter.js");
17
18
  const chrisResourceGroup_js_1 = require("../resources/chrisResourceGroup.js");
18
19
  const errorStack_js_1 = require("../error/errorStack.js");
19
20
  const result_js_1 = require("../utils/result.js");
@@ -52,7 +53,7 @@ async function computeResources_validate(resourceNames) {
52
53
  return (0, result_js_1.Err)();
53
54
  }
54
55
  const computeResourceList = await client.getComputeResources();
55
- const resources = computeResourceList.data || [];
56
+ const resources = (0, adapter_js_1.listData_get)(computeResourceList);
56
57
  const availableNames = new Set(resources.map((r) => r.name));
57
58
  // Validate requested resources
58
59
  const invalidResources = resourceNames.filter((name) => !availableNames.has(name));
@@ -83,7 +84,7 @@ async function computeResources_getAll() {
83
84
  return (0, result_js_1.Err)();
84
85
  }
85
86
  const computeResourceList = await client.getComputeResources();
86
- const resources = computeResourceList.data || [];
87
+ const resources = (0, adapter_js_1.listData_get)(computeResourceList);
87
88
  return (0, result_js_1.Ok)(resources);
88
89
  }
89
90
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"computeResources.js","sourceRoot":"","sources":["../../src/compute/computeResources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"computeResources.js","sourceRoot":"","sources":["../../src/compute/computeResources.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AA8CH,8DAqCC;AAOD,0DAiBC;AAcD,gEAKC;AA5HD,sEAAgE;AAChE,uDAAgF;AAChF,8EAAwE;AACxE,0DAAoD;AACpD,kDAAqD;AAErD;;GAEG;AACH,MAAa,yBAA0B,SAAQ,0CAAkB;IAC/D;QACE,KAAK,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;IACnD,CAAC;CACF;AAJD,8DAIC;AAaD;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,UAAU,yBAAyB,CAC7C,aAAuB;IAEvB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,oCAAe,CAAC,UAAU,EAAE,CAAC;QAClD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,0BAAU,CAAC,UAAU,CAAC,OAAO,EAAE,wCAAwC,CAAC,CAAC;YACzE,OAAO,IAAA,eAAG,GAAE,CAAC;QACf,CAAC;QAED,MAAM,mBAAmB,GAAwB,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;QACpF,MAAM,SAAS,GAAsB,IAAA,yBAAY,EAAkB,mBAAmB,CAAC,CAAC;QAExF,MAAM,cAAc,GAAgB,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3F,+BAA+B;QAC/B,MAAM,gBAAgB,GAAa,aAAa,CAAC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAErG,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,aAAa,GAAW,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,0BAAU,CAAC,UAAU,CACnB,OAAO,EACP,gCAAgC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9D,CAAC;YACF,0BAAU,CAAC,UAAU,CACnB,OAAO,EACP,gCAAgC,aAAa,EAAE,CAChD,CAAC;YACF,OAAO,IAAA,eAAG,GAAE,CAAC;QACf,CAAC;QAED,OAAO,IAAA,cAAE,EAAC,aAAa,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,YAAY,GAAW,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpF,0BAAU,CAAC,UAAU,CAAC,OAAO,EAAE,yCAAyC,YAAY,EAAE,CAAC,CAAC;QACxF,OAAO,IAAA,eAAG,GAAE,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,uBAAuB;IAC3C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,oCAAe,CAAC,UAAU,EAAE,CAAC;QAClD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,0BAAU,CAAC,UAAU,CAAC,OAAO,EAAE,wCAAwC,CAAC,CAAC;YACzE,OAAO,IAAA,eAAG,GAAE,CAAC;QACf,CAAC;QAED,MAAM,mBAAmB,GAAwB,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;QACpF,MAAM,SAAS,GAAsB,IAAA,yBAAY,EAAkB,mBAAmB,CAAC,CAAC;QAExF,OAAO,IAAA,cAAE,EAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,YAAY,GAAW,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpF,0BAAU,CAAC,UAAU,CAAC,OAAO,EAAE,sCAAsC,YAAY,EAAE,CAAC,CAAC;QACrF,OAAO,IAAA,eAAG,GAAE,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,0BAA0B,CAAC,YAA+B;IACxE,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACpE,CAAC"}
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * @module
10
10
  */
11
- import Client from "@fnndsc/chrisapi";
11
+ import { Client } from "../chrisapi/adapter.js";
12
12
  import { ConnectionConfig } from "../config/config.js";
13
13
  import { IStorageProvider } from "../io/io.js";
14
14
  /**
@@ -111,11 +111,15 @@ export declare class ChRISConnection {
111
111
  private token_load;
112
112
  }
113
113
  /**
114
- * Global instance of ChRISConnection, initialized as a constant singleton.
114
+ * Global instance of ChRISConnection, a stable singleton.
115
+ *
116
+ * Never reassigned: ESM consumers snapshot named imports of this CJS
117
+ * module, so replacing the instance would leave them holding a stale,
118
+ * uninitialized object. `chrisConnection_init` initializes it in place.
115
119
  */
116
- export declare let chrisConnection: ChRISConnection;
120
+ export declare const chrisConnection: ChRISConnection;
117
121
  /**
118
- * Initializes the global ChRISConnection instance.
122
+ * Initializes the global ChRISConnection instance in place.
119
123
  * @param storageProvider - The storage provider to use for the connection.
120
124
  */
121
125
  export declare function chrisConnection_init(storageProvider: IStorageProvider): Promise<ChRISConnection>;
@@ -15,8 +15,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.chrisConnection = exports.ChRISConnection = exports.Client = void 0;
17
17
  exports.chrisConnection_init = chrisConnection_init;
18
- const chrisapi_1 = __importDefault(require("@fnndsc/chrisapi"));
19
- exports.Client = chrisapi_1.default;
18
+ const adapter_js_1 = require("../chrisapi/adapter.js");
19
+ Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return adapter_js_1.Client; } });
20
20
  const config_js_1 = require("../config/config.js");
21
21
  const chrisContext_js_1 = require("../context/chrisContext.js");
22
22
  const chrisIO_js_1 = require("../io/chrisIO.js");
@@ -93,7 +93,7 @@ class ChRISConnection {
93
93
  await this._config.context_set(user, url);
94
94
  this.tokenFile = this._config.tokenFilepath;
95
95
  try {
96
- this.authToken = await chrisapi_1.default.getAuthToken(authUrl, user, password);
96
+ this.authToken = await (0, adapter_js_1.authToken_get)(authUrl, user, password);
97
97
  if (this.authToken) {
98
98
  // console.log("Auth token: " + this.authToken);
99
99
  await this.token_saveToFile(this.tokenFile, this.authToken);
@@ -219,7 +219,7 @@ class ChRISConnection {
219
219
  this.chrisURL = await this.chrisURL_get();
220
220
  this.authToken = await this.authToken_get(true); // Pass true directly
221
221
  if (this.chrisURL && this.authToken) {
222
- this.client = new chrisapi_1.default(this.chrisURL, { token: this.authToken });
222
+ this.client = (0, adapter_js_1.client_create)(this.chrisURL, this.authToken);
223
223
  }
224
224
  return this.client;
225
225
  }
@@ -233,7 +233,7 @@ class ChRISConnection {
233
233
  this.chrisURL &&
234
234
  this.authToken) {
235
235
  if (!this.client) {
236
- this.client = new chrisapi_1.default(this.chrisURL, { token: this.authToken });
236
+ this.client = (0, adapter_js_1.client_create)(this.chrisURL, this.authToken);
237
237
  }
238
238
  }
239
239
  return this.client;
@@ -287,16 +287,20 @@ class ChRISConnection {
287
287
  }
288
288
  exports.ChRISConnection = ChRISConnection;
289
289
  /**
290
- * Global instance of ChRISConnection, initialized as a constant singleton.
290
+ * Global instance of ChRISConnection, a stable singleton.
291
+ *
292
+ * Never reassigned: ESM consumers snapshot named imports of this CJS
293
+ * module, so replacing the instance would leave them holding a stale,
294
+ * uninitialized object. `chrisConnection_init` initializes it in place.
291
295
  */
292
296
  exports.chrisConnection = new ChRISConnection();
293
297
  /**
294
- * Initializes the global ChRISConnection instance.
298
+ * Initializes the global ChRISConnection instance in place.
295
299
  * @param storageProvider - The storage provider to use for the connection.
296
300
  */
297
301
  async function chrisConnection_init(storageProvider) {
298
302
  await (0, config_js_1.config_init)(storageProvider); // This sets the global connectionConfig
299
- exports.chrisConnection = new ChRISConnection(config_js_1.connectionConfig, storageProvider);
303
+ exports.chrisConnection.init(config_js_1.connectionConfig, storageProvider);
300
304
  chrisIO_js_1.chrisIO.storageProvider_set(storageProvider);
301
305
  return exports.chrisConnection;
302
306
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chrisConnection.js","sourceRoot":"","sources":["../../src/connect/chrisConnection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chrisConnection.js","sourceRoot":"","sources":["../../src/connect/chrisConnection.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,15 @@
1
1
  /**
2
2
  * @file Process-wide error/message stack for deferred, structured reporting.
3
3
  *
4
+ * The stack is a process singleton, but it is *async-context aware*: work run
5
+ * inside {@link ErrorStack.scope_run} pushes to and pops from its own isolated
6
+ * stack rather than the shared one. This lets fire-and-forget background work
7
+ * (cache warming, background refreshes) keep its error traffic off the shared
8
+ * stack, so a foreground command that checkpoints the stack and drains it
9
+ * afterward (see {@link ErrorStack.checkpoint_mark} /
10
+ * {@link ErrorStack.checkpoint_drain}) captures only its own messages and is
11
+ * never corrupted by a background push landing in its drain window.
12
+ *
4
13
  * @module
5
14
  */
6
15
  type MessageType = "error" | "warning";
@@ -25,7 +34,46 @@ declare class ErrorStack {
25
34
  private static instance;
26
35
  private stack;
27
36
  private functionNamePadWidth;
37
+ /**
38
+ * Holds the isolated stack for work running inside {@link scope_run}. When
39
+ * a store is present, all operations target it instead of the shared stack.
40
+ */
41
+ private scopeStorage;
28
42
  private constructor();
43
+ /**
44
+ * Returns the stack the current async context should operate on: the
45
+ * isolated stack when inside a {@link scope_run}, otherwise the shared one.
46
+ *
47
+ * @returns The active stack array.
48
+ */
49
+ private stack_active;
50
+ /**
51
+ * Runs a function with an isolated error stack that the shared stack — and
52
+ * any foreground command draining it — never sees. Fire-and-forget
53
+ * background work wraps its body in this so its error traffic cannot land
54
+ * in a concurrent foreground command's drain window. The isolation follows
55
+ * the whole async causal chain started inside `fn`.
56
+ *
57
+ * @param fn - The work to run against a fresh, isolated stack.
58
+ * @returns Whatever `fn` returns.
59
+ */
60
+ scope_run<T>(fn: () => T): T;
61
+ /**
62
+ * Marks the current depth of the active stack, for a later
63
+ * {@link checkpoint_drain}.
64
+ *
65
+ * @returns An opaque checkpoint (the current stack depth).
66
+ */
67
+ checkpoint_mark(): number;
68
+ /**
69
+ * Removes and returns every message pushed above a checkpoint, so a command
70
+ * boundary can drain exactly the messages produced since it marked the
71
+ * stack. Messages the command's own code already popped are simply absent.
72
+ *
73
+ * @param checkpoint - A checkpoint from {@link checkpoint_mark}.
74
+ * @returns The drained messages, oldest first.
75
+ */
76
+ checkpoint_drain(checkpoint: number): StackMessage[];
29
77
  /**
30
78
  * Get the singleton instance of the ErrorStack.
31
79
  *