@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.
Files changed (62) hide show
  1. package/lib/Annotation.d.ts.map +1 -1
  2. package/lib/Annotation.js +2 -2
  3. package/lib/Annotation.js.map +1 -1
  4. package/lib/ApiToken.d.ts +10 -0
  5. package/lib/ApiToken.d.ts.map +1 -1
  6. package/lib/ApiToken.js +10 -3
  7. package/lib/ApiToken.js.map +1 -1
  8. package/lib/AuthProvider.d.ts +1 -1
  9. package/lib/AuthProvider.d.ts.map +1 -1
  10. package/lib/AuthProvider.js.map +1 -1
  11. package/lib/Chart.d.ts.map +1 -1
  12. package/lib/Chart.js.map +1 -1
  13. package/lib/Contributions.d.ts +1 -1
  14. package/lib/Contributions.d.ts.map +1 -1
  15. package/lib/Contributions.js.map +1 -1
  16. package/lib/Credentials.d.ts +1 -1
  17. package/lib/Credentials.d.ts.map +1 -1
  18. package/lib/Credentials.js +7 -20
  19. package/lib/Credentials.js.map +1 -1
  20. package/lib/Dashboard.d.ts +24 -5
  21. package/lib/Dashboard.d.ts.map +1 -1
  22. package/lib/Dashboard.js +23 -10
  23. package/lib/Dashboard.js.map +1 -1
  24. package/lib/Dataset.d.ts +28 -1
  25. package/lib/Dataset.d.ts.map +1 -1
  26. package/lib/Dataset.js +24 -4
  27. package/lib/Dataset.js.map +1 -1
  28. package/lib/Monitor.d.ts +19 -1
  29. package/lib/Monitor.d.ts.map +1 -1
  30. package/lib/Monitor.js +15 -2
  31. package/lib/Monitor.js.map +1 -1
  32. package/lib/Notifier.d.ts +19 -1
  33. package/lib/Notifier.d.ts.map +1 -1
  34. package/lib/Notifier.js +15 -2
  35. package/lib/Notifier.js.map +1 -1
  36. package/lib/OtelHeaders.d.ts.map +1 -1
  37. package/lib/OtelHeaders.js.map +1 -1
  38. package/lib/Providers.d.ts +1 -1
  39. package/lib/Providers.d.ts.map +1 -1
  40. package/lib/Providers.js.map +1 -1
  41. package/lib/Telemetry.d.ts.map +1 -1
  42. package/lib/Telemetry.js.map +1 -1
  43. package/lib/View.d.ts +19 -1
  44. package/lib/View.d.ts.map +1 -1
  45. package/lib/View.js +15 -2
  46. package/lib/View.js.map +1 -1
  47. package/lib/VirtualField.d.ts +19 -1
  48. package/lib/VirtualField.d.ts.map +1 -1
  49. package/lib/VirtualField.js +15 -2
  50. package/lib/VirtualField.js.map +1 -1
  51. package/lib/index.d.ts.map +1 -1
  52. package/lib/index.js.map +1 -1
  53. package/package.json +8 -8
  54. package/src/Annotation.ts +2 -2
  55. package/src/ApiToken.ts +13 -3
  56. package/src/Credentials.ts +7 -49
  57. package/src/Dashboard.ts +43 -15
  58. package/src/Dataset.ts +41 -7
  59. package/src/Monitor.ts +27 -3
  60. package/src/Notifier.ts +30 -3
  61. package/src/View.ts +30 -3
  62. 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
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Monitor.d.ts","sourceRoot":"","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,CACV,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,eAAO,MAAM,OAAO,mDAAqC,CAAC;AAE1D,eAAO,MAAM,eAAe,6FA6DzB,CAAC"}
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.succeed(undefined)))
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.succeed(undefined)));
135
+ return yield* get({ id: output.id }).pipe(Effect.catchTag("NotFound", () => Effect.undefined));
123
136
  }),
124
137
  };
125
138
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"Monitor.js","sourceRoot":"","sources":["../src/Monitor.ts"],"names":[],"mappings":"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"}
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
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Notifier.d.ts","sourceRoot":"","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,CACV,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,eAAO,MAAM,QAAQ,oDAAuC,CAAC;AAE7D,eAAO,MAAM,gBAAgB,8FA+D1B,CAAC"}
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.succeed(undefined)))
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.succeed(undefined)));
121
+ })), Effect.catchTag("NotFound", () => Effect.undefined));
109
122
  }),
110
123
  };
111
124
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"Notifier.js","sourceRoot":"","sources":["../src/Notifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Notifier.js","sources":["../src/Notifier.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OtelHeaders.d.ts","sourceRoot":"","sources":["../src/OtelHeaders.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,YAAa,OAAO,KAAG,MACI,CAAC"}
1
+ {"version":3,"file":"OtelHeaders.d.ts","sources":["../src/OtelHeaders.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,YAAa,OAAO,KAAG,MACI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"OtelHeaders.js","sourceRoot":"","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"}
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"}
@@ -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/AuthProvider").AuthProviders | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("alchemy/Stack").Stack | import("alchemy/Stage").Stage>;
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
@@ -1 +1 @@
1
- {"version":3,"file":"Providers.d.ts","sourceRoot":"","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,0YAgCnB,CAAC"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Providers.js","sourceRoot":"","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"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Telemetry.d.ts","sourceRoot":"","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"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Telemetry.js","sourceRoot":"","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"}
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","sourceRoot":"","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,CACV,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,IAAI,gDAA+B,CAAC;AAEjD,eAAO,MAAM,YAAY,0FA8DtB,CAAC"}
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.succeed(undefined)));
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.succeed(undefined)));
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","sourceRoot":"","sources":["../src/View.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"View.js","sources":["../src/View.ts"],"names":[],"mappings":"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"}
@@ -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","sourceRoot":"","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,CACV,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,YAAY,wDAA+C,CAAC;AAEzE,eAAO,MAAM,oBAAoB,kGAoE9B,CAAC"}
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"}
@@ -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.succeed(undefined)))
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.succeed(undefined)));
106
+ return yield* get({ id: output.id }).pipe(Effect.catchTag("NotFound", () => Effect.undefined));
94
107
  }),
95
108
  };
96
109
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualField.js","sourceRoot":"","sources":["../src/VirtualField.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VirtualField.js","sources":["../src/VirtualField.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","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"}
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","sourceRoot":"","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"}
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.84",
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.17",
50
- "@distilled.cloud/core": "1.0.0-rc.17"
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.84",
55
- "effect": "^4.0.5",
56
- "typescript": "^7.0.2"
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.84",
60
- "effect": "^4.0.5"
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.succeed(undefined)),
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.succeed(undefined)),
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 Error("Axiom did not return a token on create"));
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.succeed(undefined)),
153
+ Effect.catchTag("NotFound", () => Effect.undefined),
144
154
  );
145
155
  }),
146
156
  };