@tai42/studio-sdk 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
  * half of {@link ViewToggle}). It lays its children out on the design system's
4
4
  * responsive `.tai-grid-cards` track (three columns, dropping to two then one down
5
5
  * the responsive bands); each child is expected to be an interactive `Card`. Living
6
- * in the SDK keeps the tools screen and PLAN_4's flows page on one identical grid.
6
+ * in the SDK keeps the tools screen and the flows page on one identical grid.
7
7
  */
8
8
  import type { ReactNode } from 'react';
9
9
  export interface EntityCardGridProps {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Folder navigation primitives for the tool-organization tree — shared by the tools
3
- * screen and PLAN_4's flows page so both explore, breadcrumb, and re-file against
3
+ * screen and the flows page so both explore, breadcrumb, and re-file against
4
4
  * one identical set of controls.
5
5
  *
6
6
  * The tree is passed FLAT (a {@link Folder} list keyed by `id`, each naming its
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /**
3
3
  * Folder navigation primitives for the tool-organization tree — shared by the tools
4
- * screen and PLAN_4's flows page so both explore, breadcrumb, and re-file against
4
+ * screen and the flows page so both explore, breadcrumb, and re-file against
5
5
  * one identical set of controls.
6
6
  *
7
7
  * The tree is passed FLAT (a {@link Folder} list keyed by `id`, each naming its
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * `OverlayDetailsFields` — the display-name + user-tags editor shared by EVERY
3
3
  * tool_meta edit surface (the tools-screen edit dialog, the presets screen, and
4
- * PLAN_4's flows page). One canonical control means the merge-patch write semantics
4
+ * the flows page). One canonical control means the merge-patch write semantics
5
5
  * exist exactly once.
6
6
  *
7
7
  * Controlled: the caller owns `value` (prefilled from the tool's overlay row) and
@@ -6,7 +6,7 @@
6
6
  * so the segment shows just its glyph while keeping a real accessible name. A single
7
7
  * screen's choice persists across sessions in `localStorage`, keyed per SURFACE —
8
8
  * the tools screen and the flows page each remember their own view — via
9
- * {@link useViewMode}. The two live in the SDK so every entity screen (and PLAN_4's
9
+ * {@link useViewMode}. The two live in the SDK so every entity screen (and the
10
10
  * flows page) toggles identically; `EntityCardGrid` renders the card half.
11
11
  */
12
12
  import { type ReactNode } from 'react';
@@ -7,7 +7,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
7
7
  * so the segment shows just its glyph while keeping a real accessible name. A single
8
8
  * screen's choice persists across sessions in `localStorage`, keyed per SURFACE —
9
9
  * the tools screen and the flows page each remember their own view — via
10
- * {@link useViewMode}. The two live in the SDK so every entity screen (and PLAN_4's
10
+ * {@link useViewMode}. The two live in the SDK so every entity screen (and the
11
11
  * flows page) toggles identically; `EntityCardGrid` renders the card half.
12
12
  */
13
13
  import { useCallback, useState } from 'react';
@@ -1401,7 +1401,10 @@ export declare const ApiProvider: import("react").Provider<{
1401
1401
  format: "csv" | "json";
1402
1402
  }, signal?: AbortSignal) => Promise<Blob>;
1403
1403
  readonly searchMarketplace: (query?: import("@tai42/api-client").MarketplaceSearchQuery, signal?: AbortSignal) => Promise<{
1404
- items: {
1404
+ total: number;
1405
+ page: number;
1406
+ page_size: number;
1407
+ listings: {
1405
1408
  name: string;
1406
1409
  description: string;
1407
1410
  tags: string[];
@@ -1409,12 +1412,10 @@ export declare const ApiProvider: import("react").Provider<{
1409
1412
  icon_url: string | null;
1410
1413
  categories: string[];
1411
1414
  updated_at: string;
1412
- item: {
1415
+ groups: {
1413
1416
  name: string;
1414
- description: string;
1415
- tags: string[];
1416
- kind: string;
1417
- };
1417
+ count: number;
1418
+ }[];
1418
1419
  ref: string;
1419
1420
  namespace: string;
1420
1421
  package: string;
@@ -1422,11 +1423,13 @@ export declare const ApiProvider: import("react").Provider<{
1422
1423
  pricing: string;
1423
1424
  latest_version: string | null;
1424
1425
  downloads: number;
1426
+ kinds: {
1427
+ kind: string;
1428
+ count: number;
1429
+ names: string[];
1430
+ }[];
1425
1431
  premium?: boolean | null | undefined;
1426
1432
  }[];
1427
- total: number;
1428
- page: number;
1429
- page_size: number;
1430
1433
  }>;
1431
1434
  readonly getMarketplacePlugin: (namespace: string, name: string, signal?: AbortSignal) => Promise<{
1432
1435
  name: string;
@@ -1457,6 +1460,7 @@ export declare const ApiProvider: import("react").Provider<{
1457
1460
  description: string;
1458
1461
  tags: string[];
1459
1462
  kind: string;
1463
+ group: string | null;
1460
1464
  }[];
1461
1465
  version: string;
1462
1466
  contract_range: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"useApi.d.ts","sourceRoot":"","sources":["../../src/hooks/useApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useApi.d.ts","sourceRoot":"","sources":["../../src/hooks/useApi.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@
5
5
  * EFFECTIVE hidden is the overlay's tri-state OVERRIDE of the plugin's own
6
6
  * declaration: an overlay opinion (`true`/`false`) wins, else the plugin
7
7
  * declaration stands. So an overlay `false` UNHIDES a plugin-hidden tool, `true`
8
- * force-hides, and `null` (no overlay row is the same) DEFERS to the declaration
9
- * (PLAN §Tools-read-surface). The rule lives here ONCE so the list-exclusion and
8
+ * force-hides, and `null` (no overlay row is the same) DEFERS to the declaration.
9
+ * The rule lives here ONCE so the list-exclusion and
10
10
  * the picker-exclusion can never drift apart.
11
11
  */
12
12
  import type { ToolMetaRecord, ToolTagEntry } from '@tai42/api-client';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tai42/studio-sdk",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "The Studio plugin contract, shared UI components, and hooks that every feature builds on.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "tai42 <oss@tai42.ai>",
@@ -89,7 +89,7 @@
89
89
  "@radix-ui/react-select": "^2.3.2",
90
90
  "@radix-ui/react-tabs": "^1.1.16",
91
91
  "@radix-ui/react-tooltip": "^1.2.11",
92
- "@tai42/api-client": "1.4.0"
92
+ "@tai42/api-client": "1.5.0"
93
93
  },
94
94
  "scripts": {
95
95
  "build": "tsc -b tsconfig.build.json && node scripts/copy-assets.mjs",
@@ -3,7 +3,7 @@
3
3
  * half of {@link ViewToggle}). It lays its children out on the design system's
4
4
  * responsive `.tai-grid-cards` track (three columns, dropping to two then one down
5
5
  * the responsive bands); each child is expected to be an interactive `Card`. Living
6
- * in the SDK keeps the tools screen and PLAN_4's flows page on one identical grid.
6
+ * in the SDK keeps the tools screen and the flows page on one identical grid.
7
7
  */
8
8
  import type { ReactNode } from 'react';
9
9
 
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Folder navigation primitives for the tool-organization tree — shared by the tools
3
- * screen and PLAN_4's flows page so both explore, breadcrumb, and re-file against
3
+ * screen and the flows page so both explore, breadcrumb, and re-file against
4
4
  * one identical set of controls.
5
5
  *
6
6
  * The tree is passed FLAT (a {@link Folder} list keyed by `id`, each naming its
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * `OverlayDetailsFields` — the display-name + user-tags editor shared by EVERY
3
3
  * tool_meta edit surface (the tools-screen edit dialog, the presets screen, and
4
- * PLAN_4's flows page). One canonical control means the merge-patch write semantics
4
+ * the flows page). One canonical control means the merge-patch write semantics
5
5
  * exist exactly once.
6
6
  *
7
7
  * Controlled: the caller owns `value` (prefilled from the tool's overlay row) and
@@ -6,7 +6,7 @@
6
6
  * so the segment shows just its glyph while keeping a real accessible name. A single
7
7
  * screen's choice persists across sessions in `localStorage`, keyed per SURFACE —
8
8
  * the tools screen and the flows page each remember their own view — via
9
- * {@link useViewMode}. The two live in the SDK so every entity screen (and PLAN_4's
9
+ * {@link useViewMode}. The two live in the SDK so every entity screen (and the
10
10
  * flows page) toggles identically; `EntityCardGrid` renders the card half.
11
11
  */
12
12
  import { useCallback, useState, type ReactNode } from 'react';
@@ -5,8 +5,8 @@
5
5
  * EFFECTIVE hidden is the overlay's tri-state OVERRIDE of the plugin's own
6
6
  * declaration: an overlay opinion (`true`/`false`) wins, else the plugin
7
7
  * declaration stands. So an overlay `false` UNHIDES a plugin-hidden tool, `true`
8
- * force-hides, and `null` (no overlay row is the same) DEFERS to the declaration
9
- * (PLAN §Tools-read-surface). The rule lives here ONCE so the list-exclusion and
8
+ * force-hides, and `null` (no overlay row is the same) DEFERS to the declaration.
9
+ * The rule lives here ONCE so the list-exclusion and
10
10
  * the picker-exclusion can never drift apart.
11
11
  */
12
12
  import type { ToolMetaRecord, ToolTagEntry } from '@tai42/api-client';