@alchemy.run/axiom 2.0.0-beta.84 → 2.0.0-beta.86
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Annotation.d.ts.map +1 -1
- package/lib/Annotation.js +2 -2
- package/lib/Annotation.js.map +1 -1
- package/lib/ApiToken.d.ts +10 -0
- package/lib/ApiToken.d.ts.map +1 -1
- package/lib/ApiToken.js +10 -3
- package/lib/ApiToken.js.map +1 -1
- package/lib/AuthProvider.d.ts +1 -1
- package/lib/AuthProvider.d.ts.map +1 -1
- package/lib/AuthProvider.js.map +1 -1
- package/lib/Chart.d.ts.map +1 -1
- package/lib/Chart.js.map +1 -1
- package/lib/Contributions.d.ts +1 -1
- package/lib/Contributions.d.ts.map +1 -1
- package/lib/Contributions.js.map +1 -1
- package/lib/Credentials.d.ts +1 -1
- package/lib/Credentials.d.ts.map +1 -1
- package/lib/Credentials.js +7 -20
- package/lib/Credentials.js.map +1 -1
- package/lib/Dashboard.d.ts +24 -5
- package/lib/Dashboard.d.ts.map +1 -1
- package/lib/Dashboard.js +23 -10
- package/lib/Dashboard.js.map +1 -1
- package/lib/Dataset.d.ts +28 -1
- package/lib/Dataset.d.ts.map +1 -1
- package/lib/Dataset.js +24 -4
- package/lib/Dataset.js.map +1 -1
- package/lib/Monitor.d.ts +19 -1
- package/lib/Monitor.d.ts.map +1 -1
- package/lib/Monitor.js +15 -2
- package/lib/Monitor.js.map +1 -1
- package/lib/Notifier.d.ts +19 -1
- package/lib/Notifier.d.ts.map +1 -1
- package/lib/Notifier.js +15 -2
- package/lib/Notifier.js.map +1 -1
- package/lib/OtelHeaders.d.ts.map +1 -1
- package/lib/OtelHeaders.js.map +1 -1
- package/lib/Providers.d.ts +1 -1
- package/lib/Providers.d.ts.map +1 -1
- package/lib/Providers.js.map +1 -1
- package/lib/Telemetry.d.ts.map +1 -1
- package/lib/Telemetry.js.map +1 -1
- package/lib/View.d.ts +19 -1
- package/lib/View.d.ts.map +1 -1
- package/lib/View.js +15 -2
- package/lib/View.js.map +1 -1
- package/lib/VirtualField.d.ts +19 -1
- package/lib/VirtualField.d.ts.map +1 -1
- package/lib/VirtualField.js +15 -2
- package/lib/VirtualField.js.map +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/package.json +8 -8
- package/src/Annotation.ts +2 -2
- package/src/ApiToken.ts +13 -3
- package/src/Credentials.ts +7 -49
- package/src/Dashboard.ts +43 -15
- package/src/Dataset.ts +41 -7
- package/src/Monitor.ts +27 -3
- package/src/Notifier.ts +30 -3
- package/src/View.ts +30 -3
- package/src/VirtualField.ts +27 -3
package/lib/Monitor.d.ts
CHANGED
|
@@ -3,7 +3,15 @@ import * as Provider from "alchemy/Provider";
|
|
|
3
3
|
import { Resource } from "alchemy/Resource";
|
|
4
4
|
import type { Providers } from "./Providers.ts";
|
|
5
5
|
export type MonitorProps = Axiom.CreateMonitorRequest;
|
|
6
|
-
export type Monitor = Resource<"Axiom.Monitor", MonitorProps, Axiom.CreateMonitorResponse, never, Providers>;
|
|
6
|
+
export type Monitor = Resource<"Axiom.Monitor", MonitorProps, Axiom.CreateMonitorResponse, never, Providers, MonitorLookup>;
|
|
7
|
+
/**
|
|
8
|
+
* Props for {@link Monitor.lookup}: find a monitor this stack
|
|
9
|
+
* doesn't manage by its id.
|
|
10
|
+
*/
|
|
11
|
+
export interface MonitorLookup {
|
|
12
|
+
/** Axiom monitor id. */
|
|
13
|
+
id: string;
|
|
14
|
+
}
|
|
7
15
|
/**
|
|
8
16
|
* An Axiom monitor — a scheduled APL/MPL query that evaluates on a fixed
|
|
9
17
|
* cadence and fires alerts via {@link Notifier notifiers} when its
|
|
@@ -68,6 +76,16 @@ export type Monitor = Resource<"Axiom.Monitor", MonitorProps, Axiom.CreateMonito
|
|
|
68
76
|
* });
|
|
69
77
|
* ```
|
|
70
78
|
*
|
|
79
|
+
* ### Looking up an existing monitor
|
|
80
|
+
* `Monitor.lookup` references a monitor Alchemy doesn't manage (created in
|
|
81
|
+
* the Axiom console or by another stack). It is read during plan/deploy,
|
|
82
|
+
* never created, updated or deleted.
|
|
83
|
+
*
|
|
84
|
+
* **Example:** Reference an existing monitor
|
|
85
|
+
* ```typescript
|
|
86
|
+
* const ref = Axiom.Monitor.lookup({ id: "m_abc123" });
|
|
87
|
+
* ```
|
|
88
|
+
*
|
|
71
89
|
* @resource
|
|
72
90
|
* @product Monitor
|
|
73
91
|
*/
|
package/lib/Monitor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Monitor.d.ts","
|
|
1
|
+
{"version":3,"file":"Monitor.d.ts","sources":["../src/Monitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,wBAAwB,CAAC;AAEhD,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,oBAAoB,CAAC;AAEtD,MAAM,MAAM,OAAO,GAAG,QAAQ,CAC5B,eAAe,EACf,YAAY,EACZ,KAAK,CAAC,qBAAqB,EAC3B,KAAK,EACL,SAAS,EACT,aAAa,CACd,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EG;AACH,eAAO,MAAM,OAAO,mDAAqC,CAAC;AAE1D,eAAO,MAAM,eAAe,6FAiEzB,CAAC"}
|
package/lib/Monitor.js
CHANGED
|
@@ -67,6 +67,16 @@ import * as Effect from "effect/Effect";
|
|
|
67
67
|
* });
|
|
68
68
|
* ```
|
|
69
69
|
*
|
|
70
|
+
* ### Looking up an existing monitor
|
|
71
|
+
* `Monitor.lookup` references a monitor Alchemy doesn't manage (created in
|
|
72
|
+
* the Axiom console or by another stack). It is read during plan/deploy,
|
|
73
|
+
* never created, updated or deleted.
|
|
74
|
+
*
|
|
75
|
+
* **Example:** Reference an existing monitor
|
|
76
|
+
* ```typescript
|
|
77
|
+
* const ref = Axiom.Monitor.lookup({ id: "m_abc123" });
|
|
78
|
+
* ```
|
|
79
|
+
*
|
|
70
80
|
* @resource
|
|
71
81
|
* @product Monitor
|
|
72
82
|
*/
|
|
@@ -103,7 +113,7 @@ export const MonitorProvider = () => Provider.effect(Monitor, Effect.gen(functio
|
|
|
103
113
|
// (deleted out-of-band) as "no observed state" so we converge by
|
|
104
114
|
// re-creating.
|
|
105
115
|
const observed = output?.id
|
|
106
|
-
? yield* get({ id: output.id }).pipe(Effect.catchTag("NotFound", () => Effect.
|
|
116
|
+
? yield* get({ id: output.id }).pipe(Effect.catchTag("NotFound", () => Effect.undefined))
|
|
107
117
|
: undefined;
|
|
108
118
|
// Ensure — POST mints a new monitor with a fresh id.
|
|
109
119
|
if (observed === undefined) {
|
|
@@ -116,10 +126,13 @@ export const MonitorProvider = () => Provider.effect(Monitor, Effect.gen(functio
|
|
|
116
126
|
delete: Effect.fn(function* ({ output }) {
|
|
117
127
|
yield* del({ id: output.id }).pipe(Effect.catchTag("NotFound", () => Effect.void));
|
|
118
128
|
}),
|
|
129
|
+
lookup: Effect.fn(function* ({ id }) {
|
|
130
|
+
return yield* get({ id }).pipe(Effect.catchTag("NotFound", () => Effect.undefined));
|
|
131
|
+
}),
|
|
119
132
|
read: Effect.fn(function* ({ output }) {
|
|
120
133
|
if (!output?.id)
|
|
121
134
|
return undefined;
|
|
122
|
-
return yield* get({ id: output.id }).pipe(Effect.catchTag("NotFound", () => Effect.
|
|
135
|
+
return yield* get({ id: output.id }).pipe(Effect.catchTag("NotFound", () => Effect.undefined));
|
|
123
136
|
}),
|
|
124
137
|
};
|
|
125
138
|
}));
|
package/lib/Monitor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Monitor.js","
|
|
1
|
+
{"version":3,"file":"Monitor.js","sources":["../src/Monitor.ts"],"names":[],"mappings":"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"}
|
package/lib/Notifier.d.ts
CHANGED
|
@@ -5,7 +5,15 @@ import type { Providers } from "./Providers.ts";
|
|
|
5
5
|
export type NotifierProps = Axiom.CreateNotifierRequest;
|
|
6
6
|
export type Notifier = Resource<"Axiom.Notifier", NotifierProps, Axiom.CreateNotifierResponse & {
|
|
7
7
|
id: string;
|
|
8
|
-
}, never, Providers>;
|
|
8
|
+
}, never, Providers, NotifierLookup>;
|
|
9
|
+
/**
|
|
10
|
+
* Props for {@link Notifier.lookup}: find a notifier this stack
|
|
11
|
+
* doesn't manage by its id.
|
|
12
|
+
*/
|
|
13
|
+
export interface NotifierLookup {
|
|
14
|
+
/** Axiom notifier id. */
|
|
15
|
+
id: string;
|
|
16
|
+
}
|
|
9
17
|
/**
|
|
10
18
|
* An Axiom notifier — an alert destination (Slack, email, PagerDuty,
|
|
11
19
|
* Opsgenie, Discord, Microsoft Teams, generic webhook, or a fully custom
|
|
@@ -57,6 +65,16 @@ export type Notifier = Resource<"Axiom.Notifier", NotifierProps, Axiom.CreateNot
|
|
|
57
65
|
* });
|
|
58
66
|
* ```
|
|
59
67
|
*
|
|
68
|
+
* ### Looking up an existing notifier
|
|
69
|
+
* `Notifier.lookup` references a notifier Alchemy doesn't manage (created in
|
|
70
|
+
* the Axiom console or by another stack). It is read during plan/deploy,
|
|
71
|
+
* never created, updated or deleted.
|
|
72
|
+
*
|
|
73
|
+
* **Example:** Reference an existing notifier
|
|
74
|
+
* ```typescript
|
|
75
|
+
* const ref = Axiom.Notifier.lookup({ id: "n_abc123" });
|
|
76
|
+
* ```
|
|
77
|
+
*
|
|
60
78
|
* @resource
|
|
61
79
|
* @product Monitor
|
|
62
80
|
*/
|
package/lib/Notifier.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Notifier.d.ts","
|
|
1
|
+
{"version":3,"file":"Notifier.d.ts","sources":["../src/Notifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,wBAAwB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,qBAAqB,CAAC;AAExD,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAC7B,gBAAgB,EAChB,aAAa,EACb,KAAK,CAAC,sBAAsB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC7C,KAAK,EACL,SAAS,EACT,cAAc,CACf,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,yBAAyB;IACzB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,eAAO,MAAM,QAAQ,oDAAuC,CAAC;AAE7D,eAAO,MAAM,gBAAgB,8FAsE1B,CAAC"}
|
package/lib/Notifier.js
CHANGED
|
@@ -53,6 +53,16 @@ import * as Effect from "effect/Effect";
|
|
|
53
53
|
* });
|
|
54
54
|
* ```
|
|
55
55
|
*
|
|
56
|
+
* ### Looking up an existing notifier
|
|
57
|
+
* `Notifier.lookup` references a notifier Alchemy doesn't manage (created in
|
|
58
|
+
* the Axiom console or by another stack). It is read during plan/deploy,
|
|
59
|
+
* never created, updated or deleted.
|
|
60
|
+
*
|
|
61
|
+
* **Example:** Reference an existing notifier
|
|
62
|
+
* ```typescript
|
|
63
|
+
* const ref = Axiom.Notifier.lookup({ id: "n_abc123" });
|
|
64
|
+
* ```
|
|
65
|
+
*
|
|
56
66
|
* @resource
|
|
57
67
|
* @product Monitor
|
|
58
68
|
*/
|
|
@@ -81,7 +91,7 @@ export const NotifierProvider = () => Provider.effect(Notifier, Effect.gen(funct
|
|
|
81
91
|
// (deleted out-of-band) as "no observed state" so we converge
|
|
82
92
|
// by re-creating.
|
|
83
93
|
const observed = output?.id
|
|
84
|
-
? yield* get({ id: output.id }).pipe(Effect.catchTag("NotFound", () => Effect.
|
|
94
|
+
? yield* get({ id: output.id }).pipe(Effect.catchTag("NotFound", () => Effect.undefined))
|
|
85
95
|
: undefined;
|
|
86
96
|
// Ensure — POST mints a new notifier. The Axiom create response
|
|
87
97
|
// sometimes omits `id` on the body; default to "" to keep the
|
|
@@ -99,13 +109,16 @@ export const NotifierProvider = () => Provider.effect(Notifier, Effect.gen(funct
|
|
|
99
109
|
delete: Effect.fn(function* ({ output }) {
|
|
100
110
|
yield* del({ id: output.id }).pipe(Effect.catchTag("NotFound", () => Effect.void));
|
|
101
111
|
}),
|
|
112
|
+
lookup: Effect.fn(function* ({ id }) {
|
|
113
|
+
return yield* get({ id }).pipe(Effect.map((current) => ({ ...current, id: current.id ?? id })), Effect.catchTag("NotFound", () => Effect.undefined));
|
|
114
|
+
}),
|
|
102
115
|
read: Effect.fn(function* ({ output }) {
|
|
103
116
|
if (!output?.id)
|
|
104
117
|
return undefined;
|
|
105
118
|
return yield* get({ id: output.id }).pipe(Effect.map((current) => ({
|
|
106
119
|
...current,
|
|
107
120
|
id: current.id ?? output.id,
|
|
108
|
-
})), Effect.catchTag("NotFound", () => Effect.
|
|
121
|
+
})), Effect.catchTag("NotFound", () => Effect.undefined));
|
|
109
122
|
}),
|
|
110
123
|
};
|
|
111
124
|
}));
|
package/lib/Notifier.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Notifier.js","
|
|
1
|
+
{"version":3,"file":"Notifier.js","sources":["../src/Notifier.ts"],"names":[],"mappings":"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"}
|
package/lib/OtelHeaders.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OtelHeaders.d.ts","
|
|
1
|
+
{"version":3,"file":"OtelHeaders.d.ts","sources":["../src/OtelHeaders.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,YAAa,OAAO,KAAG,MACI,CAAC"}
|
package/lib/OtelHeaders.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OtelHeaders.js","
|
|
1
|
+
{"version":3,"file":"OtelHeaders.js","sources":["../src/OtelHeaders.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAgB,EAAU,EAAE,CAC5D,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,iBAAiB,CAAC"}
|
package/lib/Providers.d.ts
CHANGED
|
@@ -11,5 +11,5 @@ export type ProviderRequirements = Layer.Services<ReturnType<typeof providers>>;
|
|
|
11
11
|
* Monitor, Dashboard, VirtualField, View and Annotation resources, and
|
|
12
12
|
* registers the Axiom AuthProvider so `alchemy profile edit` can configure it.
|
|
13
13
|
*/
|
|
14
|
-
export declare const providers: () => Layer.Layer<Credentials.Credentials | import("alchemy/Auth/Credentials").CredentialsStore | import("effect/http/HttpClient").HttpClient | import("alchemy/Auth/Profile").ProfileStore | Providers, never, import("alchemy/Auth/
|
|
14
|
+
export declare const providers: () => Layer.Layer<Credentials.Credentials | import("alchemy/Auth/Credentials").CredentialsStore | import("effect/http/HttpClient").HttpClient | import("alchemy/Auth/Profile").ProfileStore | Providers, never, import("alchemy/Auth/Registry").AuthProviders | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("effect/crypto/SecureRandom").SecureRandom | import("alchemy/Stack").Stack | import("alchemy/Stage").Stage>;
|
|
15
15
|
//# sourceMappingURL=Providers.d.ts.map
|
package/lib/Providers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Providers.d.ts","
|
|
1
|
+
{"version":3,"file":"Providers.d.ts","sources":["../src/Providers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAQhD,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;;AAEjE,qBAAa,SAAU,SAAQ,cAAiD;CAAG;AAEnF,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,SAAS,0bAgCnB,CAAC"}
|
package/lib/Providers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Providers.js","
|
|
1
|
+
{"version":3,"file":"Providers.js","sources":["../src/Providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,eAAe,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAEjE,MAAM,OAAO,SAAU,SAAQ,QAAQ,CAAC,kBAAkB,EAAa,CAAC,OAAO,CAAC;CAAG;AAInF;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAC5B,KAAK,CAAC,MAAM,CACV,SAAS,EACT,QAAQ,CAAC,UAAU,CAAC;IAClB,UAAU;IACV,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,QAAQ;IACR,IAAI;IACJ,YAAY;CACb,CAAC,CACH,CAAC,IAAI,CACJ,KAAK,CAAC,OAAO,CACX,KAAK,CAAC,QAAQ,CACZ,kBAAkB,EAAE,EACpB,gBAAgB,EAAE,EAClB,iBAAiB,EAAE,EACnB,eAAe,EAAE,EACjB,eAAe,EAAE,EACjB,gBAAgB,EAAE,EAClB,YAAY,EAAE,EACd,oBAAoB,EAAE,CACvB,CACF,EACD,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,EAClD,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,EACzC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,EAC7B,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,EACpC,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,EACxC,KAAK,CAAC,KAAK,CACZ,CAAC"}
|
package/lib/Telemetry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Telemetry.d.ts","
|
|
1
|
+
{"version":3,"file":"Telemetry.d.ts","sources":["../src/Telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C;;;;GAIG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC/B,6DAA6D;IAC7D,MAAM,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAC5C,yDAAyD;IACzD,IAAI,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAC1C,+DAA+D;IAC/D,OAAO,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAC7C;;;OAGG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;CACzC;AA6BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,SAAS,UAAW,mBAAmB,KAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAiB/C,CAAC"}
|
package/lib/Telemetry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Telemetry.js","
|
|
1
|
+
{"version":3,"file":"Telemetry.js","sources":["../src/Telemetry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,SAAS,EAA0B,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAgCrD;;;;GAIG;AACH,MAAM,QAAQ,GAAG,CAAI,QAA0B,EAAoB,EAAE,CACnE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,QAA6B,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAExF,MAAM,MAAM,GAAG,CACb,KAAe,EACf,OAA4B,EAC5B,OAA0E,EAC3C,EAAE,CACjC,OAAO,KAAK,SAAS;IACnB,CAAC,CAAC,SAAS;IACX,CAAC,CAAC;QACE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC;QACrB,OAAO,EAAE;YACP,aAAa,EAAE,MAAM,CAAC,GAAG,CACvB,KAAK,CAAC,KAAK,EACX,CAAC,MAAM,EAAE,EAAE,CACT,QAAQ,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAA8B,CACjF;YACD,CAAC,iBAAiB,CAAC,OAAO,KAAK,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI;SACrE;KACF,CAAC;AAER;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAA0B,EAAsB,EAAE,CAC1E,KAAK,CAAC,MAAM,CACV,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,iEAAiE;IACjE,kEAAkE;IAClE,kDAAkD;IAClD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,OAAO,SAAS,CAAC;QACf,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,oBAAoB,CAAC;QACnD,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC;QAC7C,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,qBAAqB,CAAC;KACvD,CAAC,CAAC;AACL,CAAC,CAAC,CACmB,CAAC"}
|
package/lib/View.d.ts
CHANGED
|
@@ -10,7 +10,15 @@ export type View = Resource<"Axiom.View", ViewProps, Axiom.View & {
|
|
|
10
10
|
* don't expose a separate id field.
|
|
11
11
|
*/
|
|
12
12
|
id: string;
|
|
13
|
-
}, never, Providers>;
|
|
13
|
+
}, never, Providers, ViewLookup>;
|
|
14
|
+
/**
|
|
15
|
+
* Props for {@link View.lookup}: find a view this stack
|
|
16
|
+
* doesn't manage by its id.
|
|
17
|
+
*/
|
|
18
|
+
export interface ViewLookup {
|
|
19
|
+
/** Axiom view id. */
|
|
20
|
+
id: string;
|
|
21
|
+
}
|
|
14
22
|
/**
|
|
15
23
|
* An Axiom saved view — a named, shareable APL query. Useful for building
|
|
16
24
|
* starter dashboards, providing canned "open in Axiom" links from your app,
|
|
@@ -49,6 +57,16 @@ export type View = Resource<"Axiom.View", ViewProps, Axiom.View & {
|
|
|
49
57
|
* });
|
|
50
58
|
* ```
|
|
51
59
|
*
|
|
60
|
+
* ### Looking up an existing view
|
|
61
|
+
* `View.lookup` references a view Alchemy doesn't manage (created in
|
|
62
|
+
* the Axiom console or by another stack). It is read during plan/deploy,
|
|
63
|
+
* never created, updated or deleted.
|
|
64
|
+
*
|
|
65
|
+
* **Example:** Reference an existing view
|
|
66
|
+
* ```typescript
|
|
67
|
+
* const ref = Axiom.View.lookup({ id: "v_abc123" });
|
|
68
|
+
* ```
|
|
69
|
+
*
|
|
52
70
|
* @resource
|
|
53
71
|
* @product Dashboard
|
|
54
72
|
*/
|
package/lib/View.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"View.d.ts","
|
|
1
|
+
{"version":3,"file":"View.d.ts","sources":["../src/View.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,wBAAwB,CAAC;AAEhD,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,iBAAiB,CAAC;AAEhD,MAAM,MAAM,IAAI,GAAG,QAAQ,CACzB,YAAY,EACZ,SAAS,EACT,KAAK,CAAC,IAAI,GAAG;IACX;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ,EACD,KAAK,EACL,SAAS,EACT,UAAU,CACX,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,eAAO,MAAM,IAAI,gDAA+B,CAAC;AAEjD,eAAO,MAAM,YAAY,0FAqEtB,CAAC"}
|
package/lib/View.js
CHANGED
|
@@ -41,6 +41,16 @@ import * as Effect from "effect/Effect";
|
|
|
41
41
|
* });
|
|
42
42
|
* ```
|
|
43
43
|
*
|
|
44
|
+
* ### Looking up an existing view
|
|
45
|
+
* `View.lookup` references a view Alchemy doesn't manage (created in
|
|
46
|
+
* the Axiom console or by another stack). It is read during plan/deploy,
|
|
47
|
+
* never created, updated or deleted.
|
|
48
|
+
*
|
|
49
|
+
* **Example:** Reference an existing view
|
|
50
|
+
* ```typescript
|
|
51
|
+
* const ref = Axiom.View.lookup({ id: "v_abc123" });
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
44
54
|
* @resource
|
|
45
55
|
* @product Dashboard
|
|
46
56
|
*/
|
|
@@ -76,7 +86,7 @@ export const ViewProvider = () => Provider.effect(View, Effect.gen(function* ()
|
|
|
76
86
|
// `output.id` (set to `news.name` on first create) and the
|
|
77
87
|
// current `news.name` always agree by the time we land here.
|
|
78
88
|
const viewId = output?.id ?? news.name;
|
|
79
|
-
const observed = yield* get({ id: viewId }).pipe(Effect.catchTag("NotFound", () => Effect.
|
|
89
|
+
const observed = yield* get({ id: viewId }).pipe(Effect.catchTag("NotFound", () => Effect.undefined));
|
|
80
90
|
// Ensure — POST creates the view under `news.name`.
|
|
81
91
|
if (observed === undefined) {
|
|
82
92
|
const result = yield* create(news);
|
|
@@ -90,10 +100,13 @@ export const ViewProvider = () => Provider.effect(View, Effect.gen(function* ()
|
|
|
90
100
|
delete: Effect.fn(function* ({ output }) {
|
|
91
101
|
yield* del({ id: output.id }).pipe(Effect.catchTag("NotFound", () => Effect.void));
|
|
92
102
|
}),
|
|
103
|
+
lookup: Effect.fn(function* ({ id }) {
|
|
104
|
+
return yield* get({ id }).pipe(Effect.map((current) => ({ ...current, id })), Effect.catchTag("NotFound", () => Effect.undefined));
|
|
105
|
+
}),
|
|
93
106
|
read: Effect.fn(function* ({ output }) {
|
|
94
107
|
if (!output?.id)
|
|
95
108
|
return undefined;
|
|
96
|
-
return yield* get({ id: output.id }).pipe(Effect.map((current) => ({ ...current, id: output.id })), Effect.catchTag("NotFound", () => Effect.
|
|
109
|
+
return yield* get({ id: output.id }).pipe(Effect.map((current) => ({ ...current, id: output.id })), Effect.catchTag("NotFound", () => Effect.undefined));
|
|
97
110
|
}),
|
|
98
111
|
};
|
|
99
112
|
}));
|
package/lib/View.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"View.js","
|
|
1
|
+
{"version":3,"file":"View.js","sources":["../src/View.ts"],"names":[],"mappings":"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"}
|
package/lib/VirtualField.d.ts
CHANGED
|
@@ -3,7 +3,15 @@ import * as Provider from "alchemy/Provider";
|
|
|
3
3
|
import { Resource } from "alchemy/Resource";
|
|
4
4
|
import type { Providers } from "./Providers.ts";
|
|
5
5
|
export type VirtualFieldProps = Axiom.CreateVirtualFieldRequest;
|
|
6
|
-
export type VirtualField = Resource<"Axiom.VirtualField", VirtualFieldProps, Axiom.CreateVirtualFieldResponse, never, Providers>;
|
|
6
|
+
export type VirtualField = Resource<"Axiom.VirtualField", VirtualFieldProps, Axiom.CreateVirtualFieldResponse, never, Providers, VirtualFieldLookup>;
|
|
7
|
+
/**
|
|
8
|
+
* Props for {@link VirtualField.lookup}: find a virtual field this stack
|
|
9
|
+
* doesn't manage by its id.
|
|
10
|
+
*/
|
|
11
|
+
export interface VirtualFieldLookup {
|
|
12
|
+
/** Axiom virtual field id. */
|
|
13
|
+
id: string;
|
|
14
|
+
}
|
|
7
15
|
/**
|
|
8
16
|
* An Axiom virtual field — a saved APL expression that appears as a derived
|
|
9
17
|
* column on a dataset at query time. Use these to standardise common
|
|
@@ -36,6 +44,16 @@ export type VirtualField = Resource<"Axiom.VirtualField", VirtualFieldProps, Axi
|
|
|
36
44
|
* });
|
|
37
45
|
* ```
|
|
38
46
|
*
|
|
47
|
+
* ### Looking up an existing virtual field
|
|
48
|
+
* `VirtualField.lookup` references a virtual field Alchemy doesn't manage (created in
|
|
49
|
+
* the Axiom console or by another stack). It is read during plan/deploy,
|
|
50
|
+
* never created, updated or deleted.
|
|
51
|
+
*
|
|
52
|
+
* **Example:** Reference an existing virtual field
|
|
53
|
+
* ```typescript
|
|
54
|
+
* const ref = Axiom.VirtualField.lookup({ id: "vf_abc123" });
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
39
57
|
* @resource
|
|
40
58
|
* @product Dataset
|
|
41
59
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualField.d.ts","
|
|
1
|
+
{"version":3,"file":"VirtualField.d.ts","sources":["../src/VirtualField.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,wBAAwB,CAAC;AAEhD,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,yBAAyB,CAAC;AAEhE,MAAM,MAAM,YAAY,GAAG,QAAQ,CACjC,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,CAAC,0BAA0B,EAChC,KAAK,EACL,SAAS,EACT,kBAAkB,CACnB,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,YAAY,wDAA+C,CAAC;AAEzE,eAAO,MAAM,oBAAoB,kGAwE9B,CAAC"}
|
package/lib/VirtualField.js
CHANGED
|
@@ -35,6 +35,16 @@ import * as Effect from "effect/Effect";
|
|
|
35
35
|
* });
|
|
36
36
|
* ```
|
|
37
37
|
*
|
|
38
|
+
* ### Looking up an existing virtual field
|
|
39
|
+
* `VirtualField.lookup` references a virtual field Alchemy doesn't manage (created in
|
|
40
|
+
* the Axiom console or by another stack). It is read during plan/deploy,
|
|
41
|
+
* never created, updated or deleted.
|
|
42
|
+
*
|
|
43
|
+
* **Example:** Reference an existing virtual field
|
|
44
|
+
* ```typescript
|
|
45
|
+
* const ref = Axiom.VirtualField.lookup({ id: "vf_abc123" });
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
38
48
|
* @resource
|
|
39
49
|
* @product Dataset
|
|
40
50
|
*/
|
|
@@ -74,7 +84,7 @@ export const VirtualFieldProvider = () => Provider.effect(VirtualField, Effect.g
|
|
|
74
84
|
// (deleted out-of-band) as "no observed state" so we converge by
|
|
75
85
|
// re-creating.
|
|
76
86
|
const observed = output?.id
|
|
77
|
-
? yield* get({ id: output.id }).pipe(Effect.catchTag("NotFound", () => Effect.
|
|
87
|
+
? yield* get({ id: output.id }).pipe(Effect.catchTag("NotFound", () => Effect.undefined))
|
|
78
88
|
: undefined;
|
|
79
89
|
// Ensure — POST mints a new virtual field with a fresh id.
|
|
80
90
|
if (observed === undefined) {
|
|
@@ -87,10 +97,13 @@ export const VirtualFieldProvider = () => Provider.effect(VirtualField, Effect.g
|
|
|
87
97
|
delete: Effect.fn(function* ({ output }) {
|
|
88
98
|
yield* del({ id: output.id }).pipe(Effect.catchTag("NotFound", () => Effect.void));
|
|
89
99
|
}),
|
|
100
|
+
lookup: Effect.fn(function* ({ id }) {
|
|
101
|
+
return yield* get({ id }).pipe(Effect.catchTag("NotFound", () => Effect.undefined));
|
|
102
|
+
}),
|
|
90
103
|
read: Effect.fn(function* ({ output }) {
|
|
91
104
|
if (!output?.id)
|
|
92
105
|
return undefined;
|
|
93
|
-
return yield* get({ id: output.id }).pipe(Effect.catchTag("NotFound", () => Effect.
|
|
106
|
+
return yield* get({ id: output.id }).pipe(Effect.catchTag("NotFound", () => Effect.undefined));
|
|
94
107
|
}),
|
|
95
108
|
};
|
|
96
109
|
}));
|
package/lib/VirtualField.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualField.js","
|
|
1
|
+
{"version":3,"file":"VirtualField.js","sources":["../src/VirtualField.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC"}
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alchemy.run/axiom",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.86",
|
|
4
4
|
"description": "Axiom datasets, dashboards, monitors and telemetry export for Alchemy.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"alchemy",
|
|
@@ -46,18 +46,18 @@
|
|
|
46
46
|
"access": "public"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@distilled.cloud/axiom": "1.0.0-rc.
|
|
50
|
-
"@distilled.cloud/core": "1.0.0-rc.
|
|
49
|
+
"@distilled.cloud/axiom": "1.0.0-rc.19",
|
|
50
|
+
"@distilled.cloud/core": "1.0.0-rc.19"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@types/bun": "1.4.3",
|
|
54
|
-
"alchemy": "2.0.0-beta.
|
|
55
|
-
"effect": "^4.
|
|
56
|
-
"typescript": "^7.0.
|
|
54
|
+
"alchemy": "2.0.0-beta.86",
|
|
55
|
+
"effect": "^4.1.4",
|
|
56
|
+
"typescript": "^7.1.0-dev.20261105.1"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
|
-
"alchemy": "2.0.0-beta.
|
|
60
|
-
"effect": "^4.
|
|
59
|
+
"alchemy": "2.0.0-beta.86",
|
|
60
|
+
"effect": "^4.1.4"
|
|
61
61
|
},
|
|
62
62
|
"alchemy": {
|
|
63
63
|
"contributes": [
|
package/src/Annotation.ts
CHANGED
|
@@ -83,7 +83,7 @@ export const AnnotationProvider = () =>
|
|
|
83
83
|
// (deleted out-of-band, or never created) as "no observed state".
|
|
84
84
|
const observed = output?.id
|
|
85
85
|
? yield* get({ id: output.id }).pipe(
|
|
86
|
-
Effect.catchTag("NotFound", () => Effect.
|
|
86
|
+
Effect.catchTag("NotFound", () => Effect.undefined),
|
|
87
87
|
)
|
|
88
88
|
: undefined;
|
|
89
89
|
|
|
@@ -113,7 +113,7 @@ export const AnnotationProvider = () =>
|
|
|
113
113
|
id: current.id ?? output.id,
|
|
114
114
|
time: current.time ?? output.time,
|
|
115
115
|
})),
|
|
116
|
-
Effect.catchTag("NotFound", () => Effect.
|
|
116
|
+
Effect.catchTag("NotFound", () => Effect.undefined),
|
|
117
117
|
);
|
|
118
118
|
}),
|
|
119
119
|
};
|
package/src/ApiToken.ts
CHANGED
|
@@ -2,6 +2,7 @@ import * as Axiom from "@distilled.cloud/axiom";
|
|
|
2
2
|
import { deepEqual, isResolved } from "alchemy/Diff";
|
|
3
3
|
import * as Provider from "alchemy/Provider";
|
|
4
4
|
import { Resource } from "alchemy/Resource";
|
|
5
|
+
import * as Data from "effect/Data";
|
|
5
6
|
import * as Effect from "effect/Effect";
|
|
6
7
|
import * as Redacted from "effect/Redacted";
|
|
7
8
|
import type { Providers } from "./Providers.ts";
|
|
@@ -72,6 +73,15 @@ export type ApiToken = Resource<
|
|
|
72
73
|
*/
|
|
73
74
|
export const ApiToken = Resource<ApiToken>("Axiom.ApiToken");
|
|
74
75
|
|
|
76
|
+
/** Axiom created a token but returned no bearer value. */
|
|
77
|
+
export class MissingApiTokenValue extends Data.TaggedError("MissingApiTokenValue")<{
|
|
78
|
+
readonly id: string;
|
|
79
|
+
}> {
|
|
80
|
+
override get message() {
|
|
81
|
+
return `Axiom did not return a value for the new API token ${this.id}`;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
75
85
|
export const ApiTokenProvider = () =>
|
|
76
86
|
Provider.effect(
|
|
77
87
|
ApiToken,
|
|
@@ -126,11 +136,11 @@ export const ApiTokenProvider = () =>
|
|
|
126
136
|
// once; capture it into Redacted state for downstream consumers.
|
|
127
137
|
const result = yield* create(news);
|
|
128
138
|
if (!result.token) {
|
|
129
|
-
return yield* Effect.die(new
|
|
139
|
+
return yield* Effect.die(new MissingApiTokenValue({ id: result.id }));
|
|
130
140
|
}
|
|
131
141
|
return {
|
|
132
142
|
...result,
|
|
133
|
-
token: Redacted.make(result.token),
|
|
143
|
+
token: Redacted.isRedacted(result.token) ? result.token : Redacted.make(result.token),
|
|
134
144
|
};
|
|
135
145
|
}),
|
|
136
146
|
delete: Effect.fn(function* ({ output }) {
|
|
@@ -140,7 +150,7 @@ export const ApiTokenProvider = () =>
|
|
|
140
150
|
if (!output?.id) return undefined;
|
|
141
151
|
return yield* get({ id: output.id }).pipe(
|
|
142
152
|
Effect.map((current) => ({ ...current, token: output.token })),
|
|
143
|
-
Effect.catchTag("NotFound", () => Effect.
|
|
153
|
+
Effect.catchTag("NotFound", () => Effect.undefined),
|
|
144
154
|
);
|
|
145
155
|
}),
|
|
146
156
|
};
|