@elmethis/core 0.17.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -889,16 +889,19 @@
889
889
  },
890
890
  "html": {
891
891
  "type": "string",
892
- "description": "Raw HTML markup to render inside a sandboxed iframe."
892
+ "description": "Raw HTML markup to render inside a sandboxed iframe. Mutually exclusive with `src` — provide exactly one of the two."
893
+ },
894
+ "src": {
895
+ "type": "string",
896
+ "description": "URL of a remote document to render inside the iframe instead of inline `html` (e.g. a presigned, time-limited link). Mutually exclusive with `html` — provide exactly one of the two. `autoHeight` doesn't apply here since cross-origin content can't be measured, and a time-limited URL isn't refreshed automatically — the caller is responsible for keeping it current."
893
897
  },
894
898
  "autoHeight": {
895
899
  "type": "boolean",
896
- "description": "Stretch the iframe to fit its content height. Defaults to true."
900
+ "description": "Stretch the iframe to fit its content height. Defaults to true. Only takes effect for `html`-rendered content."
897
901
  }
898
902
  },
899
903
  "required": [
900
- "component",
901
- "html"
904
+ "component"
902
905
  ]
903
906
  }
904
907
  ],
package/dist/index.cjs CHANGED
@@ -267,15 +267,18 @@ const BlockImageApi = {
267
267
  }).strict()
268
268
  };
269
269
  /**
270
- * Sandboxed raw-HTML embed. Renders `html` inside an iframe (e.g. a
271
- * Claude-authored artifact or a Notion page export).
270
+ * Sandboxed HTML embed, rendered inside an iframe. Provide exactly one of
271
+ * `html` (inline markup, e.g. a Claude-authored artifact or a Notion page
272
+ * export) or `src` (a remote document URL) — this catalog doesn't validate
273
+ * cross-field constraints, so the contract is documentation-only.
272
274
  */
273
275
  const HtmlApi = {
274
276
  name: "Html",
275
277
  schema: zod.z.object({
276
278
  ...CommonProps,
277
- html: zod.z.string().describe("Raw HTML markup to render inside a sandboxed iframe."),
278
- autoHeight: zod.z.boolean().describe("Stretch the iframe to fit its content height. Defaults to true.").optional()
279
+ html: zod.z.string().describe("Raw HTML markup to render inside a sandboxed iframe. Mutually exclusive with `src` — provide exactly one of the two.").optional(),
280
+ src: zod.z.string().describe("URL of a remote document to render inside the iframe instead of inline `html` (e.g. a presigned, time-limited link). Mutually exclusive with `html` — provide exactly one of the two. `autoHeight` doesn't apply here since cross-origin content can't be measured, and a time-limited URL isn't refreshed automatically — the caller is responsible for keeping it current.").optional(),
281
+ autoHeight: zod.z.boolean().describe("Stretch the iframe to fit its content height. Defaults to true. Only takes effect for `html`-rendered content.").optional()
279
282
  }).strict()
280
283
  };
281
284
  const CodeBlockApi = {
package/dist/index.d.cts CHANGED
@@ -2556,13 +2556,16 @@ declare const BlockImageApi: {
2556
2556
  }>;
2557
2557
  };
2558
2558
  /**
2559
- * Sandboxed raw-HTML embed. Renders `html` inside an iframe (e.g. a
2560
- * Claude-authored artifact or a Notion page export).
2559
+ * Sandboxed HTML embed, rendered inside an iframe. Provide exactly one of
2560
+ * `html` (inline markup, e.g. a Claude-authored artifact or a Notion page
2561
+ * export) or `src` (a remote document URL) — this catalog doesn't validate
2562
+ * cross-field constraints, so the contract is documentation-only.
2561
2563
  */
2562
2564
  declare const HtmlApi: {
2563
2565
  name: string;
2564
2566
  schema: z.ZodObject<{
2565
- html: z.ZodString;
2567
+ html: z.ZodOptional<z.ZodString>;
2568
+ src: z.ZodOptional<z.ZodString>;
2566
2569
  autoHeight: z.ZodOptional<z.ZodBoolean>;
2567
2570
  accessibility: z.ZodOptional<z.ZodObject<{
2568
2571
  label: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
@@ -2636,7 +2639,6 @@ declare const HtmlApi: {
2636
2639
  }>>;
2637
2640
  weight: z.ZodOptional<z.ZodNumber>;
2638
2641
  }, "strict", z.ZodTypeAny, {
2639
- html: string;
2640
2642
  accessibility?: {
2641
2643
  description?: string | {
2642
2644
  path: string;
@@ -2654,9 +2656,10 @@ declare const HtmlApi: {
2654
2656
  } | undefined;
2655
2657
  } | undefined;
2656
2658
  weight?: number | undefined;
2659
+ src?: string | undefined;
2660
+ html?: string | undefined;
2657
2661
  autoHeight?: boolean | undefined;
2658
2662
  }, {
2659
- html: string;
2660
2663
  accessibility?: {
2661
2664
  description?: string | {
2662
2665
  path: string;
@@ -2674,6 +2677,8 @@ declare const HtmlApi: {
2674
2677
  } | undefined;
2675
2678
  } | undefined;
2676
2679
  weight?: number | undefined;
2680
+ src?: string | undefined;
2681
+ html?: string | undefined;
2677
2682
  autoHeight?: boolean | undefined;
2678
2683
  }>;
2679
2684
  };
package/dist/index.d.mts CHANGED
@@ -2556,13 +2556,16 @@ declare const BlockImageApi: {
2556
2556
  }>;
2557
2557
  };
2558
2558
  /**
2559
- * Sandboxed raw-HTML embed. Renders `html` inside an iframe (e.g. a
2560
- * Claude-authored artifact or a Notion page export).
2559
+ * Sandboxed HTML embed, rendered inside an iframe. Provide exactly one of
2560
+ * `html` (inline markup, e.g. a Claude-authored artifact or a Notion page
2561
+ * export) or `src` (a remote document URL) — this catalog doesn't validate
2562
+ * cross-field constraints, so the contract is documentation-only.
2561
2563
  */
2562
2564
  declare const HtmlApi: {
2563
2565
  name: string;
2564
2566
  schema: z.ZodObject<{
2565
- html: z.ZodString;
2567
+ html: z.ZodOptional<z.ZodString>;
2568
+ src: z.ZodOptional<z.ZodString>;
2566
2569
  autoHeight: z.ZodOptional<z.ZodBoolean>;
2567
2570
  accessibility: z.ZodOptional<z.ZodObject<{
2568
2571
  label: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
@@ -2636,7 +2639,6 @@ declare const HtmlApi: {
2636
2639
  }>>;
2637
2640
  weight: z.ZodOptional<z.ZodNumber>;
2638
2641
  }, "strict", z.ZodTypeAny, {
2639
- html: string;
2640
2642
  accessibility?: {
2641
2643
  description?: string | {
2642
2644
  path: string;
@@ -2654,9 +2656,10 @@ declare const HtmlApi: {
2654
2656
  } | undefined;
2655
2657
  } | undefined;
2656
2658
  weight?: number | undefined;
2659
+ src?: string | undefined;
2660
+ html?: string | undefined;
2657
2661
  autoHeight?: boolean | undefined;
2658
2662
  }, {
2659
- html: string;
2660
2663
  accessibility?: {
2661
2664
  description?: string | {
2662
2665
  path: string;
@@ -2674,6 +2677,8 @@ declare const HtmlApi: {
2674
2677
  } | undefined;
2675
2678
  } | undefined;
2676
2679
  weight?: number | undefined;
2680
+ src?: string | undefined;
2681
+ html?: string | undefined;
2677
2682
  autoHeight?: boolean | undefined;
2678
2683
  }>;
2679
2684
  };
package/dist/index.mjs CHANGED
@@ -266,15 +266,18 @@ const BlockImageApi = {
266
266
  }).strict()
267
267
  };
268
268
  /**
269
- * Sandboxed raw-HTML embed. Renders `html` inside an iframe (e.g. a
270
- * Claude-authored artifact or a Notion page export).
269
+ * Sandboxed HTML embed, rendered inside an iframe. Provide exactly one of
270
+ * `html` (inline markup, e.g. a Claude-authored artifact or a Notion page
271
+ * export) or `src` (a remote document URL) — this catalog doesn't validate
272
+ * cross-field constraints, so the contract is documentation-only.
271
273
  */
272
274
  const HtmlApi = {
273
275
  name: "Html",
274
276
  schema: z.object({
275
277
  ...CommonProps,
276
- html: z.string().describe("Raw HTML markup to render inside a sandboxed iframe."),
277
- autoHeight: z.boolean().describe("Stretch the iframe to fit its content height. Defaults to true.").optional()
278
+ html: z.string().describe("Raw HTML markup to render inside a sandboxed iframe. Mutually exclusive with `src` — provide exactly one of the two.").optional(),
279
+ src: z.string().describe("URL of a remote document to render inside the iframe instead of inline `html` (e.g. a presigned, time-limited link). Mutually exclusive with `html` — provide exactly one of the two. `autoHeight` doesn't apply here since cross-origin content can't be measured, and a time-limited URL isn't refreshed automatically — the caller is responsible for keeping it current.").optional(),
280
+ autoHeight: z.boolean().describe("Stretch the iframe to fit its content height. Defaults to true. Only takes effect for `html`-rendered content.").optional()
278
281
  }).strict()
279
282
  };
280
283
  const CodeBlockApi = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elmethis/core",
3
- "version": "0.17.0",
3
+ "version": "0.18.0",
4
4
  "author": {
5
5
  "name": "Ikuma Yamashita",
6
6
  "url": "https://www.ikuma.cloud/"