@tai42/studio-sdk 1.3.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';
@@ -601,6 +601,12 @@ export declare const ApiProvider: import("react").Provider<{
601
601
  }, import("zod").ZodTypeAny, "passthrough">[];
602
602
  user_tools: string[];
603
603
  }>;
604
+ readonly getMcpEnvRefs: (signal?: AbortSignal) => Promise<{
605
+ set: boolean;
606
+ var: string;
607
+ pointer: string;
608
+ has_default: boolean;
609
+ }[]>;
604
610
  readonly listProviders: (signal?: AbortSignal) => Promise<{
605
611
  providers: {
606
612
  description: string;
@@ -1395,7 +1401,10 @@ export declare const ApiProvider: import("react").Provider<{
1395
1401
  format: "csv" | "json";
1396
1402
  }, signal?: AbortSignal) => Promise<Blob>;
1397
1403
  readonly searchMarketplace: (query?: import("@tai42/api-client").MarketplaceSearchQuery, signal?: AbortSignal) => Promise<{
1398
- items: {
1404
+ total: number;
1405
+ page: number;
1406
+ page_size: number;
1407
+ listings: {
1399
1408
  name: string;
1400
1409
  description: string;
1401
1410
  tags: string[];
@@ -1403,12 +1412,10 @@ export declare const ApiProvider: import("react").Provider<{
1403
1412
  icon_url: string | null;
1404
1413
  categories: string[];
1405
1414
  updated_at: string;
1406
- item: {
1415
+ groups: {
1407
1416
  name: string;
1408
- description: string;
1409
- tags: string[];
1410
- kind: string;
1411
- };
1417
+ count: number;
1418
+ }[];
1412
1419
  ref: string;
1413
1420
  namespace: string;
1414
1421
  package: string;
@@ -1416,10 +1423,13 @@ export declare const ApiProvider: import("react").Provider<{
1416
1423
  pricing: string;
1417
1424
  latest_version: string | null;
1418
1425
  downloads: number;
1426
+ kinds: {
1427
+ kind: string;
1428
+ count: number;
1429
+ names: string[];
1430
+ }[];
1431
+ premium?: boolean | null | undefined;
1419
1432
  }[];
1420
- total: number;
1421
- page: number;
1422
- page_size: number;
1423
1433
  }>;
1424
1434
  readonly getMarketplacePlugin: (namespace: string, name: string, signal?: AbortSignal) => Promise<{
1425
1435
  name: string;
@@ -1450,16 +1460,56 @@ export declare const ApiProvider: import("react").Provider<{
1450
1460
  description: string;
1451
1461
  tags: string[];
1452
1462
  kind: string;
1463
+ group: string | null;
1453
1464
  }[];
1454
1465
  version: string;
1455
1466
  contract_range: string | null;
1456
1467
  published_at: string | null;
1468
+ spec?: import("zod").objectOutputType<{
1469
+ provides: import("zod").ZodArray<import("zod").ZodObject<{
1470
+ kind: import("zod").ZodString;
1471
+ name: import("zod").ZodString;
1472
+ mcp: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
1473
+ env: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>>;
1474
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
1475
+ env: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>>;
1476
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
1477
+ env: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>>;
1478
+ }, import("zod").ZodTypeAny, "passthrough">>>>;
1479
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
1480
+ kind: import("zod").ZodString;
1481
+ name: import("zod").ZodString;
1482
+ mcp: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
1483
+ env: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>>;
1484
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
1485
+ env: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>>;
1486
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
1487
+ env: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>>;
1488
+ }, import("zod").ZodTypeAny, "passthrough">>>>;
1489
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
1490
+ kind: import("zod").ZodString;
1491
+ name: import("zod").ZodString;
1492
+ mcp: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
1493
+ env: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>>;
1494
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
1495
+ env: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>>;
1496
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
1497
+ env: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>>;
1498
+ }, import("zod").ZodTypeAny, "passthrough">>>>;
1499
+ }, import("zod").ZodTypeAny, "passthrough">>, "many">;
1500
+ }, import("zod").ZodTypeAny, "passthrough"> | null | undefined;
1457
1501
  } | null;
1502
+ premium?: boolean | null | undefined;
1503
+ docs_url?: string | null | undefined;
1458
1504
  }>;
1459
1505
  readonly listMarketplaceCategories: (signal?: AbortSignal) => Promise<string[]>;
1460
1506
  readonly listMarketplaceKinds: (signal?: AbortSignal) => Promise<string[]>;
1461
1507
  readonly listInstalledMarketplacePlugins: (signal?: AbortSignal) => Promise<{
1462
1508
  installed: {
1509
+ items: {
1510
+ name: string;
1511
+ kind: string;
1512
+ }[];
1463
1513
  version: string;
1464
1514
  ref: string;
1465
1515
  latest: 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.3.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.3.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';