@introspection-sdk/introspection-node 0.4.1 → 0.4.3

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 (166) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-check-types.log +4 -0
  3. package/.turbo/turbo-lint.log +5 -0
  4. package/dist/ai-sdk-integration.d.ts.map +1 -1
  5. package/dist/ai-sdk-integration.js +2 -2
  6. package/dist/claude-hooks.d.ts.map +1 -1
  7. package/dist/claude-hooks.js +3 -3
  8. package/dist/client.d.ts +42 -132
  9. package/dist/client.d.ts.map +1 -1
  10. package/dist/client.js +66 -365
  11. package/dist/client.js.map +1 -0
  12. package/dist/converters/claude.d.ts +5 -1
  13. package/dist/converters/claude.d.ts.map +1 -1
  14. package/dist/converters/claude.js +7 -0
  15. package/dist/converters/claude.js.map +1 -0
  16. package/dist/converters/gemini.d.ts +90 -0
  17. package/dist/converters/gemini.d.ts.map +1 -0
  18. package/dist/converters/gemini.js +171 -0
  19. package/dist/converters/gemini.js.map +1 -0
  20. package/dist/converters/index.d.ts +1 -1
  21. package/dist/converters/index.d.ts.map +1 -1
  22. package/dist/converters/index.js +2 -1
  23. package/dist/converters/index.js.map +1 -0
  24. package/dist/converters/openai.js +1 -0
  25. package/dist/converters/openai.js.map +1 -0
  26. package/dist/converters/openclaw.d.ts +16 -0
  27. package/dist/converters/openclaw.d.ts.map +1 -0
  28. package/dist/converters/openclaw.js +49 -0
  29. package/dist/converters/openinference.js +1 -0
  30. package/dist/converters/openinference.js.map +1 -0
  31. package/dist/converters/vercel.d.ts.map +1 -1
  32. package/dist/converters/vercel.js +31 -3
  33. package/dist/converters/vercel.js.map +1 -0
  34. package/dist/http.d.ts +36 -0
  35. package/dist/http.d.ts.map +1 -0
  36. package/dist/http.js +145 -0
  37. package/dist/http.js.map +1 -0
  38. package/dist/index.d.ts +24 -27
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +22 -32
  41. package/dist/index.js.map +1 -0
  42. package/dist/langchain-handler.d.ts.map +1 -1
  43. package/dist/langchain-handler.js +2 -2
  44. package/dist/mastra-exporter.d.ts.map +1 -1
  45. package/dist/mastra-exporter.js +2 -2
  46. package/dist/otel/anthropic.d.ts +62 -0
  47. package/dist/otel/anthropic.d.ts.map +1 -0
  48. package/dist/otel/anthropic.js +425 -0
  49. package/dist/otel/anthropic.js.map +1 -0
  50. package/dist/otel/claude-hooks.d.ts +346 -0
  51. package/dist/otel/claude-hooks.d.ts.map +1 -0
  52. package/dist/otel/claude-hooks.js +645 -0
  53. package/dist/otel/claude-hooks.js.map +1 -0
  54. package/dist/otel/claude-wrapper.d.ts +93 -0
  55. package/dist/otel/claude-wrapper.d.ts.map +1 -0
  56. package/dist/otel/claude-wrapper.js +155 -0
  57. package/dist/otel/claude-wrapper.js.map +1 -0
  58. package/dist/otel/gemini.d.ts +48 -0
  59. package/dist/otel/gemini.d.ts.map +1 -0
  60. package/dist/otel/gemini.js +297 -0
  61. package/dist/otel/gemini.js.map +1 -0
  62. package/dist/otel/index.d.ts +27 -0
  63. package/dist/otel/index.d.ts.map +1 -0
  64. package/dist/otel/index.js +33 -0
  65. package/dist/otel/index.js.map +1 -0
  66. package/dist/otel/langchain-handler.d.ts +112 -0
  67. package/dist/otel/langchain-handler.d.ts.map +1 -0
  68. package/dist/otel/langchain-handler.js +555 -0
  69. package/dist/otel/langchain-handler.js.map +1 -0
  70. package/dist/otel/logs.d.ts +82 -0
  71. package/dist/otel/logs.d.ts.map +1 -0
  72. package/dist/otel/logs.js +271 -0
  73. package/dist/otel/logs.js.map +1 -0
  74. package/dist/otel/mastra-exporter.d.ts +87 -0
  75. package/dist/otel/mastra-exporter.d.ts.map +1 -0
  76. package/dist/otel/mastra-exporter.js +525 -0
  77. package/dist/otel/mastra-exporter.js.map +1 -0
  78. package/dist/otel/pi.d.ts +59 -0
  79. package/dist/otel/pi.d.ts.map +1 -0
  80. package/dist/otel/pi.js +67 -0
  81. package/dist/otel/pi.js.map +1 -0
  82. package/dist/otel/setup.d.ts +23 -0
  83. package/dist/otel/setup.d.ts.map +1 -0
  84. package/dist/otel/setup.js +127 -0
  85. package/dist/otel/setup.js.map +1 -0
  86. package/dist/otel/span-processor.d.ts +62 -0
  87. package/dist/otel/span-processor.d.ts.map +1 -0
  88. package/dist/otel/span-processor.js +319 -0
  89. package/dist/otel/span-processor.js.map +1 -0
  90. package/dist/otel/tracing-processor.d.ts +139 -0
  91. package/dist/otel/tracing-processor.d.ts.map +1 -0
  92. package/dist/otel/tracing-processor.js +418 -0
  93. package/dist/otel/tracing-processor.js.map +1 -0
  94. package/dist/resources/experiments.d.ts +31 -0
  95. package/dist/resources/experiments.d.ts.map +1 -0
  96. package/dist/resources/experiments.js +133 -0
  97. package/dist/resources/experiments.js.map +1 -0
  98. package/dist/resources/recipes.d.ts +22 -0
  99. package/dist/resources/recipes.d.ts.map +1 -0
  100. package/dist/resources/recipes.js +61 -0
  101. package/dist/resources/recipes.js.map +1 -0
  102. package/dist/resources/runtimes.d.ts +76 -0
  103. package/dist/resources/runtimes.d.ts.map +1 -0
  104. package/dist/resources/runtimes.js +179 -0
  105. package/dist/resources/runtimes.js.map +1 -0
  106. package/dist/runner-resources/files.d.ts +35 -0
  107. package/dist/runner-resources/files.d.ts.map +1 -0
  108. package/dist/runner-resources/files.js +131 -0
  109. package/dist/runner-resources/files.js.map +1 -0
  110. package/dist/runner-resources/tasks.d.ts +39 -0
  111. package/dist/runner-resources/tasks.d.ts.map +1 -0
  112. package/dist/runner-resources/tasks.js +129 -0
  113. package/dist/runner-resources/tasks.js.map +1 -0
  114. package/dist/runner.d.ts +80 -0
  115. package/dist/runner.d.ts.map +1 -0
  116. package/dist/runner.js +159 -0
  117. package/dist/runner.js.map +1 -0
  118. package/dist/span-processor.d.ts.map +1 -1
  119. package/dist/span-processor.js +3 -3
  120. package/dist/streaming.d.ts +8 -0
  121. package/dist/streaming.d.ts.map +1 -0
  122. package/dist/streaming.js +67 -0
  123. package/dist/streaming.js.map +1 -0
  124. package/dist/tracing-processor.d.ts.map +1 -1
  125. package/dist/tracing-processor.js +3 -3
  126. package/dist/types/genai.d.ts +165 -0
  127. package/dist/types/genai.d.ts.map +1 -0
  128. package/dist/types/genai.js +82 -0
  129. package/dist/types.js +1 -0
  130. package/dist/types.js.map +1 -0
  131. package/dist/utils.d.ts +1 -0
  132. package/dist/utils.d.ts.map +1 -1
  133. package/dist/utils.js +14 -0
  134. package/dist/utils.js.map +1 -0
  135. package/dist/version.js +1 -0
  136. package/dist/version.js.map +1 -0
  137. package/package.json +83 -25
  138. package/src/client.ts +76 -471
  139. package/src/converters/claude.ts +11 -1
  140. package/src/converters/gemini.ts +243 -0
  141. package/src/converters/index.ts +13 -7
  142. package/src/converters/vercel.ts +41 -3
  143. package/src/http.ts +163 -0
  144. package/src/index.ts +110 -75
  145. package/src/{anthropic.ts → otel/anthropic.ts} +95 -8
  146. package/src/{claude-hooks.ts → otel/claude-hooks.ts} +125 -24
  147. package/src/{claude-wrapper.ts → otel/claude-wrapper.ts} +1 -1
  148. package/src/otel/gemini.ts +397 -0
  149. package/src/otel/index.ts +80 -0
  150. package/src/{langchain-handler.ts → otel/langchain-handler.ts} +56 -7
  151. package/src/otel/logs.ts +394 -0
  152. package/src/{mastra-exporter.ts → otel/mastra-exporter.ts} +86 -23
  153. package/src/otel/pi.ts +88 -0
  154. package/src/otel/setup.ts +174 -0
  155. package/src/{span-processor.ts → otel/span-processor.ts} +17 -10
  156. package/src/{tracing-processor.ts → otel/tracing-processor.ts} +100 -23
  157. package/src/resources/experiments.ts +170 -0
  158. package/src/resources/recipes.ts +73 -0
  159. package/src/resources/runtimes.ts +231 -0
  160. package/src/runner-resources/files.ts +163 -0
  161. package/src/runner-resources/tasks.ts +156 -0
  162. package/src/runner.ts +194 -0
  163. package/src/streaming.ts +57 -0
  164. package/src/utils.ts +15 -0
  165. package/src/ai-sdk-integration.ts +0 -689
  166. package/src/converters/ai-sdk.ts +0 -323
@@ -0,0 +1,133 @@
1
+ import { Runner } from "../runner.js";
2
+ function toRunBody(opts) {
3
+ if (!opts)
4
+ return undefined;
5
+ const out = {};
6
+ if (opts.identity)
7
+ out.identity = opts.identity;
8
+ if (opts.ttl_seconds !== undefined)
9
+ out.ttl_seconds = opts.ttl_seconds;
10
+ return out;
11
+ }
12
+ export class ExperimentsApi {
13
+ http;
14
+ client;
15
+ constructor(http, client) {
16
+ this.http = http;
17
+ this.client = client;
18
+ }
19
+ list(params) {
20
+ return this.http.request({
21
+ method: "GET",
22
+ path: "/v1/experiments",
23
+ query: params,
24
+ });
25
+ }
26
+ async *listAll(params) {
27
+ let next = params.next;
28
+ do {
29
+ const page = await this.list({ ...params, next });
30
+ for (const r of page.records)
31
+ yield r;
32
+ next = page.next ?? undefined;
33
+ } while (next);
34
+ }
35
+ get(id) {
36
+ return this.http.request({
37
+ method: "GET",
38
+ path: `/v1/experiments/${encodeURIComponent(id)}`,
39
+ });
40
+ }
41
+ create(input) {
42
+ return this.http.request({
43
+ method: "POST",
44
+ path: "/v1/experiments",
45
+ body: input,
46
+ });
47
+ }
48
+ update(id, input) {
49
+ return this.http.request({
50
+ method: "PATCH",
51
+ path: `/v1/experiments/${encodeURIComponent(id)}`,
52
+ body: input,
53
+ });
54
+ }
55
+ delete(id) {
56
+ return this.http.request({
57
+ method: "DELETE",
58
+ path: `/v1/experiments/${encodeURIComponent(id)}`,
59
+ expect: "empty",
60
+ });
61
+ }
62
+ startById(id) {
63
+ return this.http.request({
64
+ method: "POST",
65
+ path: `/v1/experiments/${encodeURIComponent(id)}/start`,
66
+ body: {},
67
+ });
68
+ }
69
+ endById(id, params) {
70
+ return this.http.request({
71
+ method: "POST",
72
+ path: `/v1/experiments/${encodeURIComponent(id)}/end`,
73
+ body: params ?? {},
74
+ });
75
+ }
76
+ cancelById(id) {
77
+ return this.http.request({
78
+ method: "POST",
79
+ path: `/v1/experiments/${encodeURIComponent(id)}/cancel`,
80
+ body: {},
81
+ });
82
+ }
83
+ async runById(id, opts) {
84
+ const spec = await this.http.request({
85
+ method: "POST",
86
+ path: `/v1/experiments/${encodeURIComponent(id)}/run`,
87
+ body: toRunBody(opts) ?? {},
88
+ });
89
+ const source = {
90
+ kind: "experiment",
91
+ id,
92
+ options: opts,
93
+ };
94
+ return new Runner(this.client, source, spec);
95
+ }
96
+ }
97
+ export class ExperimentHandle {
98
+ api;
99
+ id;
100
+ constructor(api, id) {
101
+ this.api = api;
102
+ this.id = id;
103
+ }
104
+ run(opts) {
105
+ return this.api.runById(this.id, opts);
106
+ }
107
+ start() {
108
+ return this.api.startById(this.id);
109
+ }
110
+ end(opts) {
111
+ return this.api.endById(this.id, opts);
112
+ }
113
+ cancel() {
114
+ return this.api.cancelById(this.id);
115
+ }
116
+ }
117
+ export function attachExperiments(client, http) {
118
+ const api = new ExperimentsApi(http, client);
119
+ const factory = (id) => new ExperimentHandle(api, id);
120
+ const hybrid = factory;
121
+ hybrid.list = api.list.bind(api);
122
+ hybrid.listAll = api.listAll.bind(api);
123
+ hybrid.get = api.get.bind(api);
124
+ hybrid.create = api.create.bind(api);
125
+ hybrid.update = api.update.bind(api);
126
+ hybrid.delete = api.delete.bind(api);
127
+ hybrid.startById = api.startById.bind(api);
128
+ hybrid.endById = api.endById.bind(api);
129
+ hybrid.cancelById = api.cancelById.bind(api);
130
+ hybrid.runById = api.runById.bind(api);
131
+ return hybrid;
132
+ }
133
+ //# sourceMappingURL=experiments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experiments.js","sourceRoot":"","sources":["../../src/resources/experiments.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { Paginated, Recipe, RecipeCreate, RecipeListParams, RecipeUpdate, Uuid } from "@introspection-sdk/types";
2
+ import type { HttpClient } from "../http.js";
3
+ /**
4
+ * Programmatic CRUD for `/v1/recipes` on the CP.
5
+ *
6
+ * Recipes are immutable build artefacts (repository + git ref + commit
7
+ * sha + optional sub-path). They are referenced by runtimes via
8
+ * `runtime.recipe_id` and by experiment arms via `arm.recipe_id`.
9
+ */
10
+ export declare class RecipesApi {
11
+ private readonly http;
12
+ constructor(http: HttpClient);
13
+ list(params: RecipeListParams): Promise<Paginated<Recipe>>;
14
+ /** Async-iterate every page that matches `params`. */
15
+ listAll(params: RecipeListParams): AsyncIterable<Recipe>;
16
+ get(id: Uuid): Promise<Recipe>;
17
+ create(input: RecipeCreate): Promise<Recipe>;
18
+ update(id: Uuid, input: RecipeUpdate): Promise<Recipe>;
19
+ delete(id: Uuid): Promise<void>;
20
+ }
21
+ export declare function attachRecipes(http: HttpClient): RecipesApi;
22
+ //# sourceMappingURL=recipes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipes.d.ts","sourceRoot":"","sources":["../../src/resources/recipes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,IAAI,EACL,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;GAMG;AACH,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,IAAI,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAQ1D,sDAAsD;IAC/C,OAAO,CAAC,MAAM,EAAE,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC;IAS/D,GAAG,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAO9B,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ5C,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAQtD,MAAM,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAOhC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAE1D"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Programmatic CRUD for `/v1/recipes` on the CP.
3
+ *
4
+ * Recipes are immutable build artefacts (repository + git ref + commit
5
+ * sha + optional sub-path). They are referenced by runtimes via
6
+ * `runtime.recipe_id` and by experiment arms via `arm.recipe_id`.
7
+ */
8
+ export class RecipesApi {
9
+ http;
10
+ constructor(http) {
11
+ this.http = http;
12
+ }
13
+ list(params) {
14
+ return this.http.request({
15
+ method: "GET",
16
+ path: "/v1/recipes",
17
+ query: params,
18
+ });
19
+ }
20
+ /** Async-iterate every page that matches `params`. */
21
+ async *listAll(params) {
22
+ let next = params.next;
23
+ do {
24
+ const page = await this.list({ ...params, next });
25
+ for (const r of page.records)
26
+ yield r;
27
+ next = page.next ?? undefined;
28
+ } while (next);
29
+ }
30
+ get(id) {
31
+ return this.http.request({
32
+ method: "GET",
33
+ path: `/v1/recipes/${encodeURIComponent(id)}`,
34
+ });
35
+ }
36
+ create(input) {
37
+ return this.http.request({
38
+ method: "POST",
39
+ path: "/v1/recipes",
40
+ body: input,
41
+ });
42
+ }
43
+ update(id, input) {
44
+ return this.http.request({
45
+ method: "PATCH",
46
+ path: `/v1/recipes/${encodeURIComponent(id)}`,
47
+ body: input,
48
+ });
49
+ }
50
+ delete(id) {
51
+ return this.http.request({
52
+ method: "DELETE",
53
+ path: `/v1/recipes/${encodeURIComponent(id)}`,
54
+ expect: "empty",
55
+ });
56
+ }
57
+ }
58
+ export function attachRecipes(http) {
59
+ return new RecipesApi(http);
60
+ }
61
+ //# sourceMappingURL=recipes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipes.js","sourceRoot":"","sources":["../../src/resources/recipes.ts"],"names":[],"mappings":"AAUA;;;;;;GAMG;AACH,MAAM,OAAO,UAAU;IACQ;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,IAAI,CAAC,MAAwB;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAoB;YAC1C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,MAA4C;SACpD,CAAC,CAAC;IACL,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,CAAC,OAAO,CAAC,MAAwB;QACrC,IAAI,IAAI,GAAuB,MAAM,CAAC,IAAI,CAAC;QAC3C,GAAG,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO;gBAAE,MAAM,CAAC,CAAC;YACtC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;QAChC,CAAC,QAAQ,IAAI,EAAE;IACjB,CAAC;IAED,GAAG,CAAC,EAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAS;YAC/B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,eAAe,kBAAkB,CAAC,EAAE,CAAC,EAAE;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAmB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAS;YAC/B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,EAAQ,EAAE,KAAmB;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAS;YAC/B,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,eAAe,kBAAkB,CAAC,EAAE,CAAC,EAAE;YAC7C,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,EAAQ;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAO;YAC7B,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,eAAe,kBAAkB,CAAC,EAAE,CAAC,EAAE;YAC7C,MAAM,EAAE,OAAO;SAChB,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,UAAU,aAAa,CAAC,IAAgB;IAC5C,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,76 @@
1
+ import type { Paginated, Recipe, RunRequest, Runtime, RuntimeCreate, RuntimeListParams, RuntimeUpdate, Uuid } from "@introspection-sdk/types";
2
+ import type { HttpClient } from "../http.js";
3
+ import type { IntrospectionClient } from "../client.js";
4
+ import { Runner } from "../runner.js";
5
+ export declare function isUuid(value: string): boolean;
6
+ export interface RuntimeRunRequestBody {
7
+ identity?: {
8
+ user_id?: string;
9
+ anonymous_id?: string;
10
+ conversation_id?: string;
11
+ };
12
+ ttl_seconds?: number;
13
+ recipe_id?: Uuid;
14
+ }
15
+ /**
16
+ * Programmatic CRUD for `/v1/runtimes` on the CP. Mounted on the
17
+ * IntrospectionClient as a callable hybrid (see `RuntimeHandleFactory`).
18
+ */
19
+ export declare class RuntimesApi {
20
+ private readonly http;
21
+ private readonly client;
22
+ constructor(http: HttpClient, client: IntrospectionClient);
23
+ list(params: RuntimeListParams): Promise<Paginated<Runtime>>;
24
+ listAll(params: RuntimeListParams): AsyncIterable<Runtime>;
25
+ get(id: Uuid, params: {
26
+ project_id?: Uuid;
27
+ }): Promise<Runtime>;
28
+ create(input: RuntimeCreate): Promise<Runtime>;
29
+ update(id: Uuid, input: RuntimeUpdate): Promise<Runtime>;
30
+ delete(id: Uuid): Promise<void>;
31
+ /** Resolve a name to a runtime by querying `/v1/runtimes?name=…`. */
32
+ resolveByName(name: string, projectId?: Uuid): Promise<Runtime>;
33
+ /** POST `/v1/runtimes/{id}/run` and wrap the result in a `Runner`. */
34
+ runById(id: Uuid, opts?: RunRequest): Promise<Runner>;
35
+ activateById(id: Uuid, params?: {
36
+ project_id?: Uuid;
37
+ }): Promise<Runtime>;
38
+ }
39
+ /**
40
+ * Handle returned by `client.runtimes(idOrName)`. Resolves the underlying
41
+ * runtime id lazily — if you pass a UUID, no extra lookup happens; if you
42
+ * pass a name, the first call that needs the id will hit
43
+ * `/v1/runtimes?name=…`.
44
+ */
45
+ export declare class RuntimeHandle {
46
+ private readonly api;
47
+ private readonly client;
48
+ private readonly idOrName;
49
+ private resolvedId;
50
+ private readonly pinnedRecipeId;
51
+ constructor(api: RuntimesApi, client: IntrospectionClient, idOrName: string, pinnedRecipeId?: Uuid | null);
52
+ private resolveId;
53
+ /**
54
+ * Pin to a specific recipe — canary a previous version. Subsequent
55
+ * `.run()` calls on the returned handle open a runner against the
56
+ * runtime row in this name whose `recipe_id` matches `recipe.id`
57
+ * (resolved server-side by CP).
58
+ *
59
+ * Returns a new child {@link RuntimeHandle}; the original handle is
60
+ * unaffected. Accepts a {@link Recipe} object (uses `.id`) or a
61
+ * recipe id string.
62
+ */
63
+ pin(recipe: Recipe | string): RuntimeHandle;
64
+ run(opts?: RunRequest): Promise<Runner>;
65
+ activate(params?: {
66
+ projectId?: Uuid;
67
+ }): Promise<Runtime>;
68
+ }
69
+ /**
70
+ * Callable hybrid: `client.runtimes` exposes the CRUD methods of
71
+ * `RuntimesApi` AND can be invoked as a function returning a
72
+ * `RuntimeHandle`. Realised by `attachRuntimes` below.
73
+ */
74
+ export type RuntimeHandleFactory = (idOrName: string) => RuntimeHandle;
75
+ export declare function attachRuntimes(client: IntrospectionClient, http: HttpClient): RuntimesApi & RuntimeHandleFactory;
76
+ //# sourceMappingURL=runtimes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimes.d.ts","sourceRoot":"","sources":["../../src/resources/runtimes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,179 @@
1
+ import { NotFoundError } from "@introspection-sdk/types";
2
+ import { Runner } from "../runner.js";
3
+ const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
4
+ export function isUuid(value) {
5
+ return UUID_RE.test(value);
6
+ }
7
+ function toRunBody(opts) {
8
+ if (!opts)
9
+ return undefined;
10
+ const out = {};
11
+ if (opts.identity)
12
+ out.identity = opts.identity;
13
+ if (opts.ttl_seconds !== undefined)
14
+ out.ttl_seconds = opts.ttl_seconds;
15
+ if (opts.recipe_id !== undefined)
16
+ out.recipe_id = opts.recipe_id;
17
+ return out;
18
+ }
19
+ /**
20
+ * Programmatic CRUD for `/v1/runtimes` on the CP. Mounted on the
21
+ * IntrospectionClient as a callable hybrid (see `RuntimeHandleFactory`).
22
+ */
23
+ export class RuntimesApi {
24
+ http;
25
+ client;
26
+ constructor(http, client) {
27
+ this.http = http;
28
+ this.client = client;
29
+ }
30
+ list(params) {
31
+ return this.http.request({
32
+ method: "GET",
33
+ path: "/v1/runtimes",
34
+ query: params,
35
+ });
36
+ }
37
+ async *listAll(params) {
38
+ let next = params.next;
39
+ do {
40
+ const page = await this.list({ ...params, next });
41
+ for (const r of page.records)
42
+ yield r;
43
+ next = page.next ?? undefined;
44
+ } while (next);
45
+ }
46
+ get(id, params) {
47
+ return this.http.request({
48
+ method: "GET",
49
+ path: `/v1/runtimes/${encodeURIComponent(id)}`,
50
+ query: params,
51
+ });
52
+ }
53
+ create(input) {
54
+ return this.http.request({
55
+ method: "POST",
56
+ path: "/v1/runtimes",
57
+ body: input,
58
+ });
59
+ }
60
+ update(id, input) {
61
+ return this.http.request({
62
+ method: "PATCH",
63
+ path: `/v1/runtimes/${encodeURIComponent(id)}`,
64
+ body: input,
65
+ });
66
+ }
67
+ delete(id) {
68
+ return this.http.request({
69
+ method: "DELETE",
70
+ path: `/v1/runtimes/${encodeURIComponent(id)}`,
71
+ expect: "empty",
72
+ });
73
+ }
74
+ /** Resolve a name to a runtime by querying `/v1/runtimes?name=…`. */
75
+ async resolveByName(name, projectId) {
76
+ const page = await this.list({ project_id: projectId, name, limit: 2 });
77
+ const match = page.records.find((r) => r.name === name);
78
+ if (!match) {
79
+ throw new NotFoundError({
80
+ message: `Runtime '${name}' not found${projectId ? ` in project ${projectId}` : ""}`,
81
+ status: 404,
82
+ code: "not_found",
83
+ });
84
+ }
85
+ return match;
86
+ }
87
+ /** POST `/v1/runtimes/{id}/run` and wrap the result in a `Runner`. */
88
+ async runById(id, opts) {
89
+ const spec = await this.http.request({
90
+ method: "POST",
91
+ path: `/v1/runtimes/${encodeURIComponent(id)}/run`,
92
+ body: toRunBody(opts) ?? {},
93
+ });
94
+ const source = {
95
+ kind: "runtime",
96
+ id,
97
+ options: opts,
98
+ };
99
+ return new Runner(this.client, source, spec);
100
+ }
101
+ async activateById(id, params) {
102
+ return this.http.request({
103
+ method: "POST",
104
+ path: `/v1/runtimes/${encodeURIComponent(id)}/activate`,
105
+ query: params,
106
+ body: {},
107
+ });
108
+ }
109
+ }
110
+ /**
111
+ * Handle returned by `client.runtimes(idOrName)`. Resolves the underlying
112
+ * runtime id lazily — if you pass a UUID, no extra lookup happens; if you
113
+ * pass a name, the first call that needs the id will hit
114
+ * `/v1/runtimes?name=…`.
115
+ */
116
+ export class RuntimeHandle {
117
+ api;
118
+ client;
119
+ idOrName;
120
+ resolvedId;
121
+ pinnedRecipeId;
122
+ constructor(api, client, idOrName, pinnedRecipeId = null) {
123
+ this.api = api;
124
+ this.client = client;
125
+ this.idOrName = idOrName;
126
+ this.resolvedId = isUuid(idOrName) ? idOrName : null;
127
+ this.pinnedRecipeId = pinnedRecipeId;
128
+ }
129
+ async resolveId() {
130
+ if (this.resolvedId)
131
+ return this.resolvedId;
132
+ const runtime = await this.api.resolveByName(this.idOrName, this.client.projectId);
133
+ this.resolvedId = runtime.id;
134
+ return runtime.id;
135
+ }
136
+ /**
137
+ * Pin to a specific recipe — canary a previous version. Subsequent
138
+ * `.run()` calls on the returned handle open a runner against the
139
+ * runtime row in this name whose `recipe_id` matches `recipe.id`
140
+ * (resolved server-side by CP).
141
+ *
142
+ * Returns a new child {@link RuntimeHandle}; the original handle is
143
+ * unaffected. Accepts a {@link Recipe} object (uses `.id`) or a
144
+ * recipe id string.
145
+ */
146
+ pin(recipe) {
147
+ const recipeId = typeof recipe === "string" ? recipe : recipe.id;
148
+ return new RuntimeHandle(this.api, this.client, this.idOrName, recipeId);
149
+ }
150
+ async run(opts) {
151
+ const id = await this.resolveId();
152
+ const merged = this.pinnedRecipeId !== null
153
+ ? { ...(opts ?? {}), recipe_id: this.pinnedRecipeId }
154
+ : opts;
155
+ return this.api.runById(id, merged);
156
+ }
157
+ async activate(params) {
158
+ const id = await this.resolveId();
159
+ return this.api.activateById(id, { project_id: params?.projectId });
160
+ }
161
+ }
162
+ export function attachRuntimes(client, http) {
163
+ const api = new RuntimesApi(http, client);
164
+ const factory = (idOrName) => new RuntimeHandle(api, client, idOrName);
165
+ // Mount the API methods on the factory function. Using bound copies so
166
+ // the methods can be invoked off the proxy without losing `this`.
167
+ const hybrid = factory;
168
+ hybrid.list = api.list.bind(api);
169
+ hybrid.listAll = api.listAll.bind(api);
170
+ hybrid.get = api.get.bind(api);
171
+ hybrid.create = api.create.bind(api);
172
+ hybrid.update = api.update.bind(api);
173
+ hybrid.delete = api.delete.bind(api);
174
+ hybrid.resolveByName = api.resolveByName.bind(api);
175
+ hybrid.runById = api.runById.bind(api);
176
+ hybrid.activateById = api.activateById.bind(api);
177
+ return hybrid;
178
+ }
179
+ //# sourceMappingURL=runtimes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimes.js","sourceRoot":"","sources":["../../src/resources/runtimes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { File as FileResource, FileCreateTextParams, FileListParams, FileType, FileUpdateParams, ListParams, Paginated } from "@introspection-sdk/types";
2
+ import { HttpClient } from "../http.js";
3
+ export type FileUploadBody = {
4
+ file: Blob;
5
+ name?: string;
6
+ file_type?: FileType;
7
+ } | {
8
+ file: Uint8Array;
9
+ name: string;
10
+ file_type?: FileType;
11
+ contentType?: string;
12
+ };
13
+ export declare class FileVersionsApi {
14
+ private readonly http;
15
+ constructor(http: HttpClient);
16
+ list(fileId: string, params?: ListParams): Promise<Paginated<FileResource>>;
17
+ listAll(fileId: string, params?: ListParams): AsyncIterable<FileResource>;
18
+ get(fileId: string, versionId: string): Promise<FileResource>;
19
+ create(fileId: string, body: FileUploadBody): Promise<FileResource>;
20
+ }
21
+ export declare class FilesApi {
22
+ private readonly http;
23
+ readonly versions: FileVersionsApi;
24
+ constructor(http: HttpClient);
25
+ list(params?: FileListParams): Promise<Paginated<FileResource>>;
26
+ listAll(params?: FileListParams): AsyncIterable<FileResource>;
27
+ upload(body: FileUploadBody): Promise<FileResource>;
28
+ createText(body: FileCreateTextParams): Promise<FileResource>;
29
+ get(fileId: string): Promise<FileResource>;
30
+ update(fileId: string, body: FileUpdateParams): Promise<FileResource>;
31
+ delete(fileId: string): Promise<void>;
32
+ download(fileId: string): Promise<Uint8Array>;
33
+ downloadStream(fileId: string): Promise<ReadableStream<Uint8Array>>;
34
+ }
35
+ //# sourceMappingURL=files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/runner-resources/files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,IAAI,YAAY,EACpB,oBAAoB,EACpB,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,SAAS,EACV,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,QAAQ,CAAA;CAAE,GACnD;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEN,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAQpE,OAAO,CACZ,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,UAAU,GAClB,aAAa,CAAC,YAAY,CAAC;IAS9B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAO7D,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;CAQpE;AAED,qBAAa,QAAQ;IAGP,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;gBAEN,IAAI,EAAE,UAAU;IAI7C,IAAI,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAQxD,OAAO,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,YAAY,CAAC;IASpE,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IASnD,UAAU,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC;IAQ7D,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAO1C,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;IAQrE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAQ7C,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;CAOpE"}