@lunnoa/client 1.5.0 → 2.1.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.
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import { UIMessage, UIMessageChunk } from 'ai';
2
2
  export { UIMessage, UIMessageChunk } from 'ai';
3
3
 
4
4
  /**
5
- * Pluggable storage for Pattern B JWTs.
5
+ * Pluggable storage for Lunnoa user JWTs.
6
6
  * The SDK never uses httpOnly cookies: Automate auth is bearer JWT based.
7
7
  */
8
8
  interface TokenStore {
@@ -46,20 +46,20 @@ interface LunnoaClientOptions {
46
46
  */
47
47
  baseUrl: string;
48
48
  /**
49
- * Server-side machine credential (`lna_...`). Never usable in browsers —
50
- * the constructor throws if one is supplied while `window` exists.
49
+ * Machine credential (`lna_...`) for the CLI and operator scripts, not for app login.
50
+ * Never usable in browsers: the constructor throws if one is supplied while `window` exists.
51
51
  */
52
52
  apiKey?: string;
53
53
  /**
54
54
  * User JWT obtained from login / SSO. The supported credential for browser
55
55
  * applications. May be a function so refreshed tokens are picked up per request.
56
56
  *
57
- * Prefer {@link tokenStore} for Pattern B so login/refresh can persist tokens
57
+ * Prefer {@link tokenStore} so login/refresh can persist tokens
58
58
  * and optionally auto-refresh on 401.
59
59
  */
60
60
  accessToken?: string | (() => string | Promise<string>);
61
61
  /**
62
- * Optional JWT store for Pattern B. When set, authenticated requests read
62
+ * Optional JWT store for a signed-in Lunnoa user. When set, authenticated requests read
63
63
  * the access token from the store. Login / refresh helpers write back into it.
64
64
  */
65
65
  tokenStore?: TokenStore;
@@ -249,50 +249,6 @@ interface paths {
249
249
  patch?: never;
250
250
  trace?: never;
251
251
  };
252
- "/api/projects": {
253
- parameters: {
254
- query?: never;
255
- header?: never;
256
- path?: never;
257
- cookie?: never;
258
- };
259
- /**
260
- * List projects in current workspace
261
- * @description Returns all projects in the current workspace, ordered by most recently updated.
262
- */
263
- get: operations["ProjectsController_findAllForWorkspace"];
264
- put?: never;
265
- /**
266
- * Create a project in current workspace
267
- * @description Creates a project in the current workspace. Projects are organisational containers accessible to all workspace users.
268
- */
269
- post: operations["ProjectsController_create"];
270
- delete?: never;
271
- options?: never;
272
- head?: never;
273
- patch?: never;
274
- trace?: never;
275
- };
276
- "/api/projects/{projectId}": {
277
- parameters: {
278
- query?: never;
279
- header?: never;
280
- path?: never;
281
- cookie?: never;
282
- };
283
- /**
284
- * Get project by ID
285
- * @description Returns a single project.
286
- */
287
- get: operations["ProjectsController_findOne"];
288
- put?: never;
289
- post?: never;
290
- delete?: never;
291
- options?: never;
292
- head?: never;
293
- patch?: never;
294
- trace?: never;
295
- };
296
252
  "/api/queues": {
297
253
  parameters: {
298
254
  query?: never;
@@ -308,7 +264,7 @@ interface paths {
308
264
  put?: never;
309
265
  /**
310
266
  * Create queue
311
- * @description Creates a queue in the given project. Queues are the platform's human-in-the-loop work surface: items are added to a queue, then processed by workflows or reviewed by people.
267
+ * @description Creates a queue in the current workspace. Queues are the platform's human-in-the-loop work surface: items are added to a queue, then processed by workflows or reviewed by people.
312
268
  */
313
269
  post: operations["QueuesController_create"];
314
270
  delete?: never;
@@ -745,40 +701,40 @@ interface paths {
745
701
  patch?: never;
746
702
  trace?: never;
747
703
  };
748
- "/api/workflows/{workflowId}": {
704
+ "/api/workflows/upsert": {
749
705
  parameters: {
750
706
  query?: never;
751
707
  header?: never;
752
708
  path?: never;
753
709
  cookie?: never;
754
710
  };
711
+ get?: never;
712
+ put?: never;
755
713
  /**
756
- * Get workflow by ID
757
- * @description Returns a single workflow. By default only the ID and name are returned; use the expansion query parameter to include further fields.
714
+ * Upsert a workflow by slug from a linear step list
715
+ * @description Creates or updates a workflow identified by workspace-scoped `slug`. Builds a minimal valid graph (manual trigger → linear catalogue-action steps). Marks `managedByCode` by default. Prefer the CLI (`npx @lunnoa/client workflows deploy`) over calling this from application code.
758
716
  */
759
- get: operations["WorkflowsController_findOne"];
760
- put?: never;
761
- post?: never;
717
+ post: operations["WorkflowsController_upsertBySlug"];
762
718
  delete?: never;
763
719
  options?: never;
764
720
  head?: never;
765
721
  patch?: never;
766
722
  trace?: never;
767
723
  };
768
- "/api/projects/{projectId}/workflows/upsert": {
724
+ "/api/workflows/{workflowId}": {
769
725
  parameters: {
770
726
  query?: never;
771
727
  header?: never;
772
728
  path?: never;
773
729
  cookie?: never;
774
730
  };
775
- get?: never;
776
- put?: never;
777
731
  /**
778
- * Upsert a workflow by slug from a linear step list
779
- * @description Creates or updates a workflow identified by project-scoped `slug`. Builds a minimal valid graph (manual trigger → linear catalogue-action steps). Marks `managedByCode` by default. Prefer the CLI (`npx @lunnoa/client workflows deploy`) over calling this from application code.
732
+ * Get workflow by ID
733
+ * @description Returns a single workflow. By default only the ID and name are returned; use the expansion query parameter to include further fields.
780
734
  */
781
- post: operations["ProjectWorkflowsController_upsertBySlug"];
735
+ get: operations["WorkflowsController_findOne"];
736
+ put?: never;
737
+ post?: never;
782
738
  delete?: never;
783
739
  options?: never;
784
740
  head?: never;
@@ -805,40 +761,40 @@ interface paths {
805
761
  patch?: never;
806
762
  trace?: never;
807
763
  };
808
- "/api/agents/{agentId}": {
764
+ "/api/agents/upsert": {
809
765
  parameters: {
810
766
  query?: never;
811
767
  header?: never;
812
768
  path?: never;
813
769
  cookie?: never;
814
770
  };
771
+ get?: never;
772
+ put?: never;
815
773
  /**
816
- * Get agent by ID
817
- * @description Returns a single agent. By default only `id`, `name`, and `FK_aiConnectionId` are returned; request additional fields with the `expansion` query parameter. Access is gated by the `agents:use` permission, so agents reachable via a share grant can also be fetched.
774
+ * Upsert an agent by slug
775
+ * @description Creates or updates an agent identified by workspace-scoped `slug`. Accepts instructions, model, optional aiConnectionId / connectionIds / workflowIds, and catalogue action tools. Marks `managedByCode` by default. Prefer the CLI (`npx @lunnoa/client agents deploy`) over calling this from application code.
818
776
  */
819
- get: operations["AgentsController_findOne"];
820
- put?: never;
821
- post?: never;
777
+ post: operations["AgentsController_upsertBySlug"];
822
778
  delete?: never;
823
779
  options?: never;
824
780
  head?: never;
825
781
  patch?: never;
826
782
  trace?: never;
827
783
  };
828
- "/api/projects/{projectId}/agents/upsert": {
784
+ "/api/agents/{agentId}": {
829
785
  parameters: {
830
786
  query?: never;
831
787
  header?: never;
832
788
  path?: never;
833
789
  cookie?: never;
834
790
  };
835
- get?: never;
836
- put?: never;
837
791
  /**
838
- * Upsert an agent by slug
839
- * @description Creates or updates an agent identified by project-scoped `slug`. Accepts instructions, model, optional aiConnectionId / connectionIds / workflowIds, and catalogue action tools. Marks `managedByCode` by default. Prefer the CLI (`npx @lunnoa/client agents deploy`) over calling this from application code.
792
+ * Get agent by ID
793
+ * @description Returns a single agent. By default only `id`, `name`, and `FK_aiConnectionId` are returned; request additional fields with the `expansion` query parameter. Access is gated by the `agents:use` permission, so agents reachable via a share grant can also be fetched.
840
794
  */
841
- post: operations["ProjectAgentsController_upsertBySlug"];
795
+ get: operations["AgentsController_findOne"];
796
+ put?: never;
797
+ post?: never;
842
798
  delete?: never;
843
799
  options?: never;
844
800
  head?: never;
@@ -1376,7 +1332,7 @@ interface paths {
1376
1332
  put?: never;
1377
1333
  /**
1378
1334
  * Create variable in current workspace
1379
- * @description Creates a variable in the current workspace. Provide projectId to scope the variable to a project.
1335
+ * @description Creates a variable in the current workspace.
1380
1336
  */
1381
1337
  post: operations["VariablesController_create"];
1382
1338
  delete?: never;
@@ -1758,64 +1714,6 @@ interface components {
1758
1714
  /** @description Availability of authentication methods for this deployment. */
1759
1715
  AUTH_METHODS: components["schemas"]["AuthMethodFlagsDto"];
1760
1716
  };
1761
- CreateProjectDto: {
1762
- /** @description Name of the project. */
1763
- name: string;
1764
- /** @description Description of the project. */
1765
- description?: string;
1766
- };
1767
- ProjectCountDto: {
1768
- /** @description Number of agents in the project. */
1769
- agents?: number;
1770
- /** @description Number of variables in the project. */
1771
- variables?: number;
1772
- /** @description Number of workflows in the project. */
1773
- workflows?: number;
1774
- };
1775
- ProjectCreatedByUserDto: {
1776
- /** @description User ID. */
1777
- id: string;
1778
- /** @description User email address. */
1779
- email: string;
1780
- /** @description User display name. */
1781
- name: string;
1782
- };
1783
- ProjectCreatedByWorkspaceUserDto: {
1784
- /** @description Workspace user ID. */
1785
- id: string;
1786
- /** @description The underlying user. */
1787
- user: components["schemas"]["ProjectCreatedByUserDto"];
1788
- };
1789
- ProjectWorkflowSummaryDto: {
1790
- /** @description Workflow ID. */
1791
- id: string;
1792
- /** @description Workflow name. */
1793
- name: string;
1794
- };
1795
- ProjectResponseDto: {
1796
- /** @description Project ID. */
1797
- id: string;
1798
- /** @description Project name. */
1799
- name: string;
1800
- /** @description Project description. Included when `expansion=description` is requested. */
1801
- description?: string;
1802
- /**
1803
- * Format: date-time
1804
- * @description Creation timestamp. Included when `expansion=createdAt` is requested.
1805
- */
1806
- createdAt?: string;
1807
- /**
1808
- * Format: date-time
1809
- * @description Last update timestamp. Included when `expansion=updatedAt` is requested.
1810
- */
1811
- updatedAt?: string;
1812
- /** @description Aggregate counts. Included when `expansion=countAgents` is requested; countVariables and countWorkflows add their respective counts. */
1813
- _count?: components["schemas"]["ProjectCountDto"];
1814
- /** @description Workspace user who created the project. Included when `expansion=createdByWorkspaceUser` is requested. */
1815
- createdByWorkspaceUser?: components["schemas"]["ProjectCreatedByWorkspaceUserDto"];
1816
- /** @description Workflows in the project. Included when `expansion=workflows` is requested. */
1817
- workflows?: components["schemas"]["ProjectWorkflowSummaryDto"][];
1818
- };
1819
1717
  CreateQueueDto: {
1820
1718
  /** @description Human-readable name for the queue. */
1821
1719
  name: string;
@@ -1832,12 +1730,6 @@ interface components {
1832
1730
  /** @description Default priority for items in this queue. Higher values are processed first. Defaults to 0. */
1833
1731
  priority?: number;
1834
1732
  };
1835
- QueueProjectSummaryDto: {
1836
- /** @description Project ID. */
1837
- id: string;
1838
- /** @description Project name. */
1839
- name: string;
1840
- };
1841
1733
  QueueWorkspaceSummaryDto: {
1842
1734
  /** @description Workspace ID. */
1843
1735
  id: string;
@@ -1907,8 +1799,6 @@ interface components {
1907
1799
  successItems?: number;
1908
1800
  /** @description Number of failed items. Included when `expansion=statistics` is requested. */
1909
1801
  failedItems?: number;
1910
- /** @description Owning project. Included when `expansion=project` is requested. */
1911
- project?: components["schemas"]["QueueProjectSummaryDto"];
1912
1802
  /** @description Owning workspace. Included when `expansion=workspace` is requested. */
1913
1803
  workspace?: components["schemas"]["QueueWorkspaceSummaryDto"];
1914
1804
  /** @description Workspace user who created the queue. Included when `expansion=createdByWorkspaceUser` is requested. */
@@ -2385,18 +2275,44 @@ interface components {
2385
2275
  /** @description Number of item IDs submitted for deletion. */
2386
2276
  requestedCount: number;
2387
2277
  };
2388
- WorkflowProjectSummaryDto: {
2389
- /** @description Project ID */
2390
- id: string;
2391
- /** @description Project name */
2392
- name: string;
2278
+ UpsertWorkflowStepDto: {
2279
+ /** @description Workflow app id (catalogue slug). */
2280
+ appId: string;
2281
+ /** @description Catalogue action id. */
2282
+ actionId: string;
2283
+ /** @description Connection instance UUID for this step. */
2284
+ connectionId?: string;
2285
+ /** @description Action input / config fields. */
2286
+ input?: {
2287
+ [key: string]: unknown;
2288
+ };
2289
+ /** @description Display name for the step node. */
2290
+ name?: string;
2291
+ /** @description Step description. */
2292
+ description?: string;
2293
+ };
2294
+ UpsertWorkflowBySlugDto: {
2295
+ /**
2296
+ * @description Stable workspace-scoped slug (lowercase, digits, hyphens). Used as the upsert key.
2297
+ * @example sync-orders
2298
+ */
2299
+ slug: string;
2300
+ /** @description Display name. Defaults to the slug when omitted. */
2301
+ name?: string;
2302
+ description?: string;
2303
+ /** @description Whether the workflow is active. */
2304
+ isActive?: boolean;
2305
+ /** @description Linear catalogue-action steps (v1; no branches). */
2306
+ steps: components["schemas"]["UpsertWorkflowStepDto"][];
2307
+ /** @description Marks the row as managed by code (CLI / SDK). Defaults to true on this endpoint. */
2308
+ managedByCode?: boolean;
2393
2309
  };
2394
2310
  WorkflowResponseDto: {
2395
2311
  /** @description Workflow ID */
2396
2312
  id: string;
2397
2313
  /** @description Workflow name */
2398
2314
  name: string;
2399
- /** @description Stable project-scoped slug for CLI / code deploy upserts. Included when `expansion=slug` is requested. */
2315
+ /** @description Stable workspace-scoped slug for CLI / code deploy upserts. Included when `expansion=slug` is requested. */
2400
2316
  slug?: string | null;
2401
2317
  /** @description True when last written by code (CLI / SDK). Included when `expansion=managedByCode` is requested. */
2402
2318
  managedByCode?: boolean;
@@ -2458,42 +2374,48 @@ interface components {
2458
2374
  * @enum {string}
2459
2375
  */
2460
2376
  workflowOrientation?: "HORIZONTAL" | "VERTICAL";
2461
- /** @description The project the workflow belongs to. Included when `expansion=project` is requested. */
2462
- project?: components["schemas"]["WorkflowProjectSummaryDto"];
2463
2377
  /** @description AI provider connection used by the workflow builder chat. Always returned on GET /workflows/{workflowId}. */
2464
2378
  aiConnectionId?: string | null;
2465
2379
  /** @description Selected model ID within the AI provider connection for workflow builder chat. Always returned on GET /workflows/{workflowId}. */
2466
2380
  selectedModelId?: string | null;
2467
2381
  };
2468
- UpsertWorkflowStepDto: {
2382
+ UpsertAgentToolDto: {
2469
2383
  /** @description Workflow app id (catalogue slug). */
2470
2384
  appId: string;
2471
2385
  /** @description Catalogue action id. */
2472
2386
  actionId: string;
2473
- /** @description Connection instance UUID for this step. */
2387
+ /** @description Connection instance UUID pre-bound on the tool. */
2474
2388
  connectionId?: string;
2475
- /** @description Action input / config fields. */
2389
+ /** @description Tool display name for the model. */
2390
+ name?: string;
2391
+ /** @description Tool description shown to the model. */
2392
+ description?: string;
2393
+ /** @description Pre-filled tool config (fields left empty are filled by the model). */
2476
2394
  input?: {
2477
2395
  [key: string]: unknown;
2478
2396
  };
2479
- /** @description Display name for the step node. */
2480
- name?: string;
2481
- /** @description Step description. */
2482
- description?: string;
2483
2397
  };
2484
- UpsertWorkflowBySlugDto: {
2398
+ UpsertAgentBySlugDto: {
2485
2399
  /**
2486
- * @description Stable project-scoped slug (lowercase, digits, hyphens). Used as the upsert key.
2487
- * @example sync-orders
2400
+ * @description Stable workspace-scoped slug (lowercase, digits, hyphens). Used as the upsert key.
2401
+ * @example support-triage
2488
2402
  */
2489
2403
  slug: string;
2490
2404
  /** @description Display name. Defaults to the slug when omitted. */
2491
2405
  name?: string;
2492
2406
  description?: string;
2493
- /** @description Whether the workflow is active. */
2494
- isActive?: boolean;
2495
- /** @description Linear catalogue-action steps (v1; no branches). */
2496
- steps: components["schemas"]["UpsertWorkflowStepDto"][];
2407
+ /** @description System instructions / prompt for the agent. */
2408
+ instructions: string;
2409
+ /** @description Selected model id on the AI provider connection (e.g. `gpt-4o`). */
2410
+ model: string;
2411
+ /** @description AiProviderConnection UUID. When omitted, platform AI defaults apply. */
2412
+ aiConnectionId?: string;
2413
+ /** @description App Connection UUIDs the agent may use for tools. */
2414
+ connectionIds?: string[];
2415
+ /** @description Workflow UUIDs the agent may run (AgentWorkflow links). */
2416
+ workflowIds?: string[];
2417
+ /** @description Catalogue action tools (WorkflowNodeForRunner-shaped). */
2418
+ tools?: components["schemas"]["UpsertAgentToolDto"][];
2497
2419
  /** @description Marks the row as managed by code (CLI / SDK). Defaults to true on this endpoint. */
2498
2420
  managedByCode?: boolean;
2499
2421
  };
@@ -2508,7 +2430,7 @@ interface components {
2508
2430
  * @example Invoice Triage Agent
2509
2431
  */
2510
2432
  name: string;
2511
- /** @description Stable project-scoped slug for CLI / code deploy upserts. Included when `expansion=slug` is requested. */
2433
+ /** @description Stable workspace-scoped slug for CLI / code deploy upserts. Included when `expansion=slug` is requested. */
2512
2434
  slug?: string | null;
2513
2435
  /** @description True when last written by code (CLI / SDK). Included when `expansion=managedByCode` is requested. */
2514
2436
  managedByCode?: boolean;
@@ -2751,51 +2673,6 @@ interface components {
2751
2673
  outboundCallsEnabled?: boolean;
2752
2674
  inboundCallsEnabled?: boolean;
2753
2675
  } | null;
2754
- /** @description Project the agent belongs to. Included when `expansion=project` is requested. */
2755
- project?: {
2756
- id?: string;
2757
- name?: string;
2758
- };
2759
- };
2760
- UpsertAgentToolDto: {
2761
- /** @description Workflow app id (catalogue slug). */
2762
- appId: string;
2763
- /** @description Catalogue action id. */
2764
- actionId: string;
2765
- /** @description Connection instance UUID pre-bound on the tool. */
2766
- connectionId?: string;
2767
- /** @description Tool display name for the model. */
2768
- name?: string;
2769
- /** @description Tool description shown to the model. */
2770
- description?: string;
2771
- /** @description Pre-filled tool config (fields left empty are filled by the model). */
2772
- input?: {
2773
- [key: string]: unknown;
2774
- };
2775
- };
2776
- UpsertAgentBySlugDto: {
2777
- /**
2778
- * @description Stable project-scoped slug (lowercase, digits, hyphens). Used as the upsert key.
2779
- * @example support-triage
2780
- */
2781
- slug: string;
2782
- /** @description Display name. Defaults to the slug when omitted. */
2783
- name?: string;
2784
- description?: string;
2785
- /** @description System instructions / prompt for the agent. */
2786
- instructions: string;
2787
- /** @description Selected model id on the AI provider connection (e.g. `gpt-4o`). */
2788
- model: string;
2789
- /** @description AiProviderConnection UUID. When omitted, platform AI defaults apply. */
2790
- aiConnectionId?: string;
2791
- /** @description App Connection UUIDs the agent may use for tools. */
2792
- connectionIds?: string[];
2793
- /** @description Workflow UUIDs the agent may run (AgentWorkflow links). */
2794
- workflowIds?: string[];
2795
- /** @description Catalogue action tools (WorkflowNodeForRunner-shaped). */
2796
- tools?: components["schemas"]["UpsertAgentToolDto"][];
2797
- /** @description Marks the row as managed by code (CLI / SDK). Defaults to true on this endpoint. */
2798
- managedByCode?: boolean;
2799
2676
  };
2800
2677
  WorkflowAppResponseDto: {
2801
2678
  /** @description App ID, e.g. `gmail`. Matches the appId used in workflow execution steps. */
@@ -3348,21 +3225,13 @@ interface components {
3348
3225
  /** @description Workspace name */
3349
3226
  name: string;
3350
3227
  };
3351
- ExecutionProjectSummaryDto: {
3352
- /** @description Project ID */
3353
- id: string;
3354
- /** @description Project name */
3355
- name: string;
3356
- /** @description The workspace the project belongs to. Included when `expansion=workspace` is requested alongside `workflow` and `project`. */
3357
- workspace?: components["schemas"]["ExecutionWorkspaceSummaryDto"];
3358
- };
3359
3228
  ExecutionWorkflowSummaryDto: {
3360
3229
  /** @description Workflow ID */
3361
3230
  id: string;
3362
3231
  /** @description Workflow name */
3363
3232
  name: string;
3364
- /** @description The project the workflow belongs to. Included when `expansion=project` is requested alongside `workflow`. */
3365
- project?: components["schemas"]["ExecutionProjectSummaryDto"];
3233
+ /** @description The workspace the workflow belongs to. Included when `expansion=workspace` is requested alongside `workflow`. */
3234
+ workspace?: components["schemas"]["ExecutionWorkspaceSummaryDto"];
3366
3235
  };
3367
3236
  ExecutionPathStepDto: {
3368
3237
  /** @description ID of the workflow node this step represents */
@@ -3510,8 +3379,6 @@ interface components {
3510
3379
  actionId: string;
3511
3380
  /** @description Connection instance UUID (`Connection.id`). Required when the action needs a connection and the workspace has more than one connection for the app with no single workspace default. When omitted: sole usable connection for the app is used; else the workspace default (`isDefault`); else 400 with candidates. Never silently picks among multiple non-default connections. */
3512
3381
  connectionId?: string;
3513
- /** @description Project UUID used for variable/project scoping. When omitted and the workspace has exactly one project, that project is used; otherwise the request fails with 400. */
3514
- projectId?: string;
3515
3382
  /** @description Action input fields (mirrors the action `inputConfig` keys). Combined with `connectionId` into the action configValue. */
3516
3383
  input?: {
3517
3384
  [key: string]: unknown;
@@ -3553,8 +3420,6 @@ interface components {
3553
3420
  StartRunDto: {
3554
3421
  /** @description Linear catalogue-action steps. Executed as one multi-step Execution with `source: SDK` (not a soft batch / correlation id). */
3555
3422
  steps: components["schemas"]["RunStepDto"][];
3556
- /** @description Project UUID for variable/project scoping. When omitted and the workspace has exactly one project, that project is used. */
3557
- projectId?: string;
3558
3423
  /** @description Optional display name for the ad-hoc Execution. */
3559
3424
  name?: string;
3560
3425
  };
@@ -3564,17 +3429,15 @@ interface components {
3564
3429
  /** @description Description of the variable. */
3565
3430
  description?: string;
3566
3431
  /**
3567
- * @description Scope of the variable (system, workspace or project).
3432
+ * @description Scope of the variable (system or workspace).
3568
3433
  * @enum {string}
3569
3434
  */
3570
- type: "system" | "workspace" | "project";
3435
+ type: "system" | "workspace";
3571
3436
  /**
3572
3437
  * @description Data type of the variable value.
3573
3438
  * @enum {string}
3574
3439
  */
3575
3440
  dataType: "string" | "number" | "boolean" | "date" | "json";
3576
- /** @description Project ID to scope the variable to. Must belong to the current workspace. */
3577
- projectId?: string;
3578
3441
  /** @description Variable value, submitted as a string. Values with dataType `number` are converted to numbers on save. */
3579
3442
  value: string;
3580
3443
  };
@@ -3584,12 +3447,6 @@ interface components {
3584
3447
  /** @description Workspace name. */
3585
3448
  name: string;
3586
3449
  };
3587
- VariableProjectDto: {
3588
- /** @description Project ID. */
3589
- id: string;
3590
- /** @description Project name. */
3591
- name: string;
3592
- };
3593
3450
  VariableResponseDto: {
3594
3451
  /** @description Variable ID. */
3595
3452
  id: string;
@@ -3601,10 +3458,10 @@ interface components {
3601
3458
  */
3602
3459
  dataType: "string" | "number" | "boolean" | "date" | "json";
3603
3460
  /**
3604
- * @description Scope of the variable (system, workspace or project).
3461
+ * @description Scope of the variable (system or workspace).
3605
3462
  * @enum {string}
3606
3463
  */
3607
- type: "system" | "workspace" | "project";
3464
+ type: "system" | "workspace";
3608
3465
  /** @description Variable value. Included when `expansion=value` is requested. */
3609
3466
  value?: Record<string, never>;
3610
3467
  /** @description Variable description. Included when `expansion=description` is requested. */
@@ -3621,8 +3478,6 @@ interface components {
3621
3478
  updatedAt?: string;
3622
3479
  /** @description Owning workspace. Included when `expansion=workspace` is requested. */
3623
3480
  workspace?: components["schemas"]["VariableWorkspaceDto"];
3624
- /** @description Owning project for project-scoped variables. Included when `expansion=project` is requested. */
3625
- project?: components["schemas"]["VariableProjectDto"];
3626
3481
  };
3627
3482
  UpdateVariableDto: {
3628
3483
  /** @description Name of the variable. */
@@ -3630,17 +3485,15 @@ interface components {
3630
3485
  /** @description Description of the variable. */
3631
3486
  description?: string;
3632
3487
  /**
3633
- * @description Scope of the variable (system, workspace or project).
3488
+ * @description Scope of the variable (system or workspace).
3634
3489
  * @enum {string}
3635
3490
  */
3636
- type?: "system" | "workspace" | "project";
3491
+ type?: "system" | "workspace";
3637
3492
  /**
3638
3493
  * @description Data type of the variable value.
3639
3494
  * @enum {string}
3640
3495
  */
3641
3496
  dataType?: "string" | "number" | "boolean" | "date" | "json";
3642
- /** @description Project ID to scope the variable to. Must belong to the current workspace. */
3643
- projectId?: string;
3644
3497
  /** @description Variable value, submitted as a string. Values with dataType `number` are converted to numbers on save. */
3645
3498
  value?: string;
3646
3499
  };
@@ -3649,8 +3502,6 @@ interface components {
3649
3502
  name?: string;
3650
3503
  /** @description What the table contains. Agents use this to choose a table. */
3651
3504
  description?: string;
3652
- /** @description Project ID to scope the table to. Omit for a workspace-wide table. */
3653
- projectId?: string;
3654
3505
  /** @description Column names: [{ key }]. */
3655
3506
  columns?: {
3656
3507
  [key: string]: unknown;
@@ -3664,10 +3515,6 @@ interface components {
3664
3515
  /** @description Marks the table as code-managed. Defaults to true on upsert. */
3665
3516
  managedByCode?: boolean;
3666
3517
  };
3667
- TableProjectDto: {
3668
- id: string;
3669
- name: string;
3670
- };
3671
3518
  TableColumnDto: {
3672
3519
  /** @description Column key used in rows. */
3673
3520
  key: string;
@@ -3685,9 +3532,6 @@ interface components {
3685
3532
  description?: string | null;
3686
3533
  /** @description Whether the table is managed by code (CLI / API upsert). */
3687
3534
  managedByCode: boolean;
3688
- /** @description Project the table is scoped to, or null for workspace-wide. */
3689
- FK_projectId?: string | null;
3690
- project?: components["schemas"]["TableProjectDto"] | null;
3691
3535
  /** @description Columns. Returned by get and upsert, not by list. */
3692
3536
  columns?: components["schemas"]["TableColumnDto"][];
3693
3537
  /** @description Rows keyed by column key. Returned by get and upsert, not by list. */
@@ -3773,14 +3617,10 @@ interface components {
3773
3617
  [key: string]: unknown;
3774
3618
  } | null;
3775
3619
  }[];
3776
- /** @description Agent the task belongs to. Included when `expansion=agent` is requested. The nested `project` is included when `expansion=project` is also requested. */
3620
+ /** @description Agent the task belongs to. Included when `expansion=agent` is requested. */
3777
3621
  agent?: {
3778
3622
  id?: string;
3779
3623
  name?: string;
3780
- project?: {
3781
- id?: string;
3782
- name?: string;
3783
- };
3784
3624
  };
3785
3625
  };
3786
3626
  TaskLatestRunDto: {
@@ -3855,14 +3695,10 @@ interface components {
3855
3695
  [key: string]: unknown;
3856
3696
  } | null;
3857
3697
  }[];
3858
- /** @description Agent the task belongs to. Included when `expansion=agent` is requested. The nested `project` is included when `expansion=project` is also requested. */
3698
+ /** @description Agent the task belongs to. Included when `expansion=agent` is requested. */
3859
3699
  agent?: {
3860
3700
  id?: string;
3861
3701
  name?: string;
3862
- project?: {
3863
- id?: string;
3864
- name?: string;
3865
- };
3866
3702
  };
3867
3703
  };
3868
3704
  UpdateTaskDto: {
@@ -3991,85 +3827,10 @@ interface operations {
3991
3827
  };
3992
3828
  };
3993
3829
  };
3994
- ProjectsController_findAllForWorkspace: {
3995
- parameters: {
3996
- query?: {
3997
- /** @description Comma-separated fields to expand. Available: createdAt, updatedAt, description, workflows, createdByWorkspaceUser, countAgents, countVariables, countWorkflows */
3998
- expansion?: string;
3999
- };
4000
- header?: never;
4001
- path?: never;
4002
- cookie?: never;
4003
- };
4004
- requestBody?: never;
4005
- responses: {
4006
- /** @description Projects in the workspace. */
4007
- 200: {
4008
- headers: {
4009
- [name: string]: unknown;
4010
- };
4011
- content: {
4012
- "application/json": components["schemas"]["ProjectResponseDto"][];
4013
- };
4014
- };
4015
- };
4016
- };
4017
- ProjectsController_create: {
4018
- parameters: {
4019
- query?: {
4020
- /** @description Comma-separated fields to expand. Available: createdAt, updatedAt, description, workflows, createdByWorkspaceUser, countAgents, countVariables, countWorkflows */
4021
- expansion?: string;
4022
- };
4023
- header?: never;
4024
- path?: never;
4025
- cookie?: never;
4026
- };
4027
- requestBody: {
4028
- content: {
4029
- "application/json": components["schemas"]["CreateProjectDto"];
4030
- };
4031
- };
4032
- responses: {
4033
- /** @description The created project. */
4034
- 201: {
4035
- headers: {
4036
- [name: string]: unknown;
4037
- };
4038
- content: {
4039
- "application/json": components["schemas"]["ProjectResponseDto"];
4040
- };
4041
- };
4042
- };
4043
- };
4044
- ProjectsController_findOne: {
4045
- parameters: {
4046
- query?: {
4047
- /** @description Comma-separated fields to expand. Available: createdAt, updatedAt, description, workflows, createdByWorkspaceUser, countAgents, countVariables, countWorkflows */
4048
- expansion?: string;
4049
- };
4050
- header?: never;
4051
- path: {
4052
- projectId: string;
4053
- };
4054
- cookie?: never;
4055
- };
4056
- requestBody?: never;
4057
- responses: {
4058
- /** @description The requested project. */
4059
- 200: {
4060
- headers: {
4061
- [name: string]: unknown;
4062
- };
4063
- content: {
4064
- "application/json": components["schemas"]["ProjectResponseDto"];
4065
- };
4066
- };
4067
- };
4068
- };
4069
3830
  QueuesController_findAllForWorkspace: {
4070
3831
  parameters: {
4071
3832
  query?: {
4072
- /** @description Comma-separated key:value filter pairs. Available keys: projectId, isActive, search, priority. */
3833
+ /** @description Comma-separated key:value filter pairs. Available keys: isActive, search, priority. */
4073
3834
  filterBy?: string;
4074
3835
  /** @description Comma-separated fields to expand. Available: createdAt, updatedAt, description, project, workspace, createdByWorkspaceUser, statistics, itemCounts. */
4075
3836
  expansion?: string;
@@ -4095,9 +3856,7 @@ interface operations {
4095
3856
  };
4096
3857
  QueuesController_create: {
4097
3858
  parameters: {
4098
- query: {
4099
- /** @description ID of the project the queue belongs to. */
4100
- projectId: string;
3859
+ query?: {
4101
3860
  /** @description Comma-separated fields to expand. Available: createdAt, updatedAt, description, project, workspace, createdByWorkspaceUser, statistics, itemCounts. */
4102
3861
  expansion?: string;
4103
3862
  };
@@ -4833,9 +4592,9 @@ interface operations {
4833
4592
  query?: {
4834
4593
  /** @description Comma-separated inclusion flags. Available: all, internal. Pass internal to include internal workflows, which are excluded by default. */
4835
4594
  includeType?: string;
4836
- /** @description Comma-separated key:value filters. Available: projectId, agentCanTrigger. Example: filterBy=projectId:proj_123 */
4595
+ /** @description Comma-separated key:value filters. Available: agentCanTrigger. Example: filterBy=agentCanTrigger:true */
4837
4596
  filterBy?: string;
4838
- /** @description Comma-separated fields to expand. Available: createdAt, updatedAt, isActive, isInternal, description, output, project, nodes, edges, triggerNode, triggerAndActionIds, pollStorage, nextScheduledExecution, orientation. Example: expansion=description,isActive,project */
4597
+ /** @description Comma-separated fields to expand. Available: createdAt, updatedAt, isActive, isInternal, description, output, nodes, edges, triggerNode, triggerAndActionIds, pollStorage, nextScheduledExecution, orientation. Example: expansion=description,isActive */
4839
4598
  expansion?: string;
4840
4599
  };
4841
4600
  header?: never;
@@ -4855,21 +4614,20 @@ interface operations {
4855
4614
  };
4856
4615
  };
4857
4616
  };
4858
- WorkflowsController_findOne: {
4617
+ WorkflowsController_upsertBySlug: {
4859
4618
  parameters: {
4860
- query?: {
4861
- /** @description Comma-separated fields to expand. Available: createdAt, updatedAt, isActive, isInternal, description, output, project, nodes, edges, triggerNode, triggerAndActionIds, subWorkflowIds, agentIds, pollStorage, nextScheduledExecution, orientation. Example: expansion=description,nodes,edges */
4862
- expansion?: string;
4863
- };
4619
+ query?: never;
4864
4620
  header?: never;
4865
- path: {
4866
- workflowId: string;
4867
- };
4621
+ path?: never;
4868
4622
  cookie?: never;
4869
4623
  };
4870
- requestBody?: never;
4624
+ requestBody: {
4625
+ content: {
4626
+ "application/json": components["schemas"]["UpsertWorkflowBySlugDto"];
4627
+ };
4628
+ };
4871
4629
  responses: {
4872
- /** @description The workflow. Fields beyond the ID and name are included according to the expansion query parameter. */
4630
+ /** @description The created or updated workflow. */
4873
4631
  200: {
4874
4632
  headers: {
4875
4633
  [name: string]: unknown;
@@ -4880,22 +4638,21 @@ interface operations {
4880
4638
  };
4881
4639
  };
4882
4640
  };
4883
- ProjectWorkflowsController_upsertBySlug: {
4641
+ WorkflowsController_findOne: {
4884
4642
  parameters: {
4885
- query?: never;
4643
+ query?: {
4644
+ /** @description Comma-separated fields to expand. Available: createdAt, updatedAt, isActive, isInternal, description, output, project, nodes, edges, triggerNode, triggerAndActionIds, subWorkflowIds, agentIds, pollStorage, nextScheduledExecution, orientation. Example: expansion=description,nodes,edges */
4645
+ expansion?: string;
4646
+ };
4886
4647
  header?: never;
4887
4648
  path: {
4888
- projectId: string;
4649
+ workflowId: string;
4889
4650
  };
4890
4651
  cookie?: never;
4891
4652
  };
4892
- requestBody: {
4893
- content: {
4894
- "application/json": components["schemas"]["UpsertWorkflowBySlugDto"];
4895
- };
4896
- };
4653
+ requestBody?: never;
4897
4654
  responses: {
4898
- /** @description The created or updated workflow. */
4655
+ /** @description The workflow. Fields beyond the ID and name are included according to the expansion query parameter. */
4899
4656
  200: {
4900
4657
  headers: {
4901
4658
  [name: string]: unknown;
@@ -4911,9 +4668,9 @@ interface operations {
4911
4668
  query?: {
4912
4669
  /** @description Comma-separated include flags, e.g. `includeType=all`. Available: all */
4913
4670
  includeType?: string;
4914
- /** @description Filters in `key:value` format, comma-separated, e.g. `filterBy=projectId:<uuid>`. Available: projectId */
4671
+ /** @description Filters in `key:value` format, comma-separated. */
4915
4672
  filterBy?: string;
4916
- /** @description Comma-separated fields to expand, e.g. `expansion=description,createdAt`. Available: createdAt, updatedAt, description, profileImageUrl, instructions, temperature, maxOutputTokens, topP, frequencyPenalty, presencePenalty, maxRetries, seed, maxToolRoundtrips, messageLookbackLimit, project, tools, toolIds, knowledge, objects, objectTypes, connections, variables, workflows, subAgents, webAccess, phoneAccess, aiConnection, selectedModelId, taskNamingInstructions, enabledBuiltInTools, enabledPlatformTools, mcpServers, a2aAgents, dynamicActionDiscoveryEnabled, dynamicMcpDiscoveryEnabled, dynamicSelfInstructionsEnabled, memoryEnabled, memoryScope, memoryRetentionDays, enablePlanning, enableToolResultOffload, toolResultOffloadThresholdBytes, longHorizonMode, longHorizonMaxSteps, longHorizonMaxTokensPerRun, enabledToolPolicies, forcedTools, requirePlanApproval, suggestedPrompts, builderSetupCompletedAt, builderCanvasPositions, slug, managedByCode */
4673
+ /** @description Comma-separated fields to expand, e.g. `expansion=description,createdAt`. Available: createdAt, updatedAt, description, profileImageUrl, instructions, temperature, maxOutputTokens, topP, frequencyPenalty, presencePenalty, maxRetries, seed, maxToolRoundtrips, messageLookbackLimit, tools, toolIds, knowledge, objects, objectTypes, connections, variables, workflows, subAgents, webAccess, phoneAccess, aiConnection, selectedModelId, taskNamingInstructions, enabledBuiltInTools, enabledPlatformTools, mcpServers, a2aAgents, dynamicActionDiscoveryEnabled, dynamicMcpDiscoveryEnabled, dynamicSelfInstructionsEnabled, memoryEnabled, memoryScope, memoryRetentionDays, enablePlanning, enableToolResultOffload, toolResultOffloadThresholdBytes, longHorizonMode, longHorizonMaxSteps, longHorizonMaxTokensPerRun, enabledToolPolicies, forcedTools, requirePlanApproval, suggestedPrompts, builderSetupCompletedAt, builderCanvasPositions, slug, managedByCode */
4917
4674
  expansion?: string;
4918
4675
  };
4919
4676
  header?: never;
@@ -4933,21 +4690,20 @@ interface operations {
4933
4690
  };
4934
4691
  };
4935
4692
  };
4936
- AgentsController_findOne: {
4693
+ AgentsController_upsertBySlug: {
4937
4694
  parameters: {
4938
- query?: {
4939
- /** @description Comma-separated fields to expand, e.g. `expansion=description,createdAt`. Available: createdAt, updatedAt, description, profileImageUrl, instructions, temperature, maxOutputTokens, topP, frequencyPenalty, presencePenalty, maxRetries, seed, maxToolRoundtrips, messageLookbackLimit, project, tools, toolIds, knowledge, objects, objectTypes, connections, variables, workflows, subAgents, webAccess, phoneAccess, aiConnection, selectedModelId, taskNamingInstructions, enabledBuiltInTools, enabledPlatformTools, mcpServers, a2aAgents, dynamicActionDiscoveryEnabled, dynamicMcpDiscoveryEnabled, dynamicSelfInstructionsEnabled, memoryEnabled, memoryScope, memoryRetentionDays, enablePlanning, enableToolResultOffload, toolResultOffloadThresholdBytes, longHorizonMode, longHorizonMaxSteps, longHorizonMaxTokensPerRun, enabledToolPolicies, forcedTools, requirePlanApproval, suggestedPrompts, builderSetupCompletedAt, builderCanvasPositions, slug, managedByCode */
4940
- expansion?: string;
4941
- };
4695
+ query?: never;
4942
4696
  header?: never;
4943
- path: {
4944
- agentId: string;
4945
- };
4697
+ path?: never;
4946
4698
  cookie?: never;
4947
4699
  };
4948
- requestBody?: never;
4700
+ requestBody: {
4701
+ content: {
4702
+ "application/json": components["schemas"]["UpsertAgentBySlugDto"];
4703
+ };
4704
+ };
4949
4705
  responses: {
4950
- /** @description The requested agent */
4706
+ /** @description The created or updated agent. */
4951
4707
  200: {
4952
4708
  headers: {
4953
4709
  [name: string]: unknown;
@@ -4958,22 +4714,21 @@ interface operations {
4958
4714
  };
4959
4715
  };
4960
4716
  };
4961
- ProjectAgentsController_upsertBySlug: {
4717
+ AgentsController_findOne: {
4962
4718
  parameters: {
4963
- query?: never;
4719
+ query?: {
4720
+ /** @description Comma-separated fields to expand, e.g. `expansion=description,createdAt`. Available: createdAt, updatedAt, description, profileImageUrl, instructions, temperature, maxOutputTokens, topP, frequencyPenalty, presencePenalty, maxRetries, seed, maxToolRoundtrips, messageLookbackLimit, tools, toolIds, knowledge, objects, objectTypes, connections, variables, workflows, subAgents, webAccess, phoneAccess, aiConnection, selectedModelId, taskNamingInstructions, enabledBuiltInTools, enabledPlatformTools, mcpServers, a2aAgents, dynamicActionDiscoveryEnabled, dynamicMcpDiscoveryEnabled, dynamicSelfInstructionsEnabled, memoryEnabled, memoryScope, memoryRetentionDays, enablePlanning, enableToolResultOffload, toolResultOffloadThresholdBytes, longHorizonMode, longHorizonMaxSteps, longHorizonMaxTokensPerRun, enabledToolPolicies, forcedTools, requirePlanApproval, suggestedPrompts, builderSetupCompletedAt, builderCanvasPositions, slug, managedByCode */
4721
+ expansion?: string;
4722
+ };
4964
4723
  header?: never;
4965
4724
  path: {
4966
- projectId: string;
4725
+ agentId: string;
4967
4726
  };
4968
4727
  cookie?: never;
4969
4728
  };
4970
- requestBody: {
4971
- content: {
4972
- "application/json": components["schemas"]["UpsertAgentBySlugDto"];
4973
- };
4974
- };
4729
+ requestBody?: never;
4975
4730
  responses: {
4976
- /** @description The created or updated agent. */
4731
+ /** @description The requested agent */
4977
4732
  200: {
4978
4733
  headers: {
4979
4734
  [name: string]: unknown;
@@ -5722,7 +5477,7 @@ interface operations {
5722
5477
  query?: {
5723
5478
  /** @description Comma-separated inclusion flags. Available: all, internal. Pass internal to include executions of internal workflows, which are excluded by default. */
5724
5479
  includeType?: string;
5725
- /** @description Comma-separated key:value filters. Available: projectId, workflowId, source (WORKFLOW|SDK), objectId. Example: filterBy=workflowId:wf_123 or filterBy=objectId:<uuid> */
5480
+ /** @description Comma-separated key:value filters. Available: workflowId, source (WORKFLOW|SDK), objectId. Example: filterBy=workflowId:wf_123 or filterBy=objectId:<uuid> */
5726
5481
  filterBy?: string;
5727
5482
  /** @description Comma-separated fields to expand. Available: createdAt, updatedAt, startedAt, stoppedAt, executionNumber, nodes, edges, status, statusMessage, continueExecutionAt, workflow, project, workspace, output, orientation, executionVariables, source, name. The executionPath expansion is only honoured on GET /executions/{executionId}. Example: expansion=status,startedAt,workflow,source */
5728
5483
  expansion?: string;
@@ -5844,9 +5599,9 @@ interface operations {
5844
5599
  query?: {
5845
5600
  /** @description Comma-separated include flags. Available: all */
5846
5601
  includeType?: string;
5847
- /** @description Comma-separated key:value filters. Available: projectId (variables owned by the project), projectAccessId (variables the project can access, including workspace-wide ones). Example: filterBy=projectId:abc123 */
5602
+ /** @description Comma-separated key:value filters. Variables are workspace-scoped; this list has no project filter. */
5848
5603
  filterBy?: string;
5849
- /** @description Comma-separated fields to expand. Available: description, createdAt, updatedAt, value, workspace, project */
5604
+ /** @description Comma-separated fields to expand. Available: description, createdAt, updatedAt, value, workspace */
5850
5605
  expansion?: string;
5851
5606
  };
5852
5607
  header?: never;
@@ -5869,7 +5624,7 @@ interface operations {
5869
5624
  VariablesController_create: {
5870
5625
  parameters: {
5871
5626
  query?: {
5872
- /** @description Comma-separated fields to expand. Available: description, createdAt, updatedAt, value, workspace, project */
5627
+ /** @description Comma-separated fields to expand. Available: description, createdAt, updatedAt, value, workspace */
5873
5628
  expansion?: string;
5874
5629
  };
5875
5630
  header?: never;
@@ -5896,7 +5651,7 @@ interface operations {
5896
5651
  VariablesController_findOne: {
5897
5652
  parameters: {
5898
5653
  query?: {
5899
- /** @description Comma-separated fields to expand. Available: description, createdAt, updatedAt, value, workspace, project */
5654
+ /** @description Comma-separated fields to expand. Available: description, createdAt, updatedAt, value, workspace */
5900
5655
  expansion?: string;
5901
5656
  };
5902
5657
  header?: never;
@@ -5943,7 +5698,7 @@ interface operations {
5943
5698
  VariablesController_update: {
5944
5699
  parameters: {
5945
5700
  query?: {
5946
- /** @description Comma-separated fields to expand. Available: description, createdAt, updatedAt, value, workspace, project */
5701
+ /** @description Comma-separated fields to expand. Available: description, createdAt, updatedAt, value, workspace */
5947
5702
  expansion?: string;
5948
5703
  };
5949
5704
  header?: never;
@@ -5971,9 +5726,7 @@ interface operations {
5971
5726
  };
5972
5727
  TablesController_findAll: {
5973
5728
  parameters: {
5974
- query?: {
5975
- projectId?: string;
5976
- };
5729
+ query?: never;
5977
5730
  header?: never;
5978
5731
  path?: never;
5979
5732
  cookie?: never;
@@ -6231,7 +5984,7 @@ interface operations {
6231
5984
  query?: {
6232
5985
  /** @description Comma-separated include flags, e.g. `includeType=all`. Available: all */
6233
5986
  includeType?: string;
6234
- /** @description Filters in `key:value` format, comma-separated, e.g. `filterBy=agentId:<uuid>`. Available: projectId, agentId */
5987
+ /** @description Filters in `key:value` format, comma-separated, e.g. `filterBy=agentId:<uuid>`. Available: agentId */
6235
5988
  filterBy?: string;
6236
5989
  /** @description Comma-separated fields to expand, e.g. `expansion=description,createdAt`. Available: createdAt, updatedAt, description, agent, project, messages, messageCreatedAt, messageUsage, finishReason, customIdentifier */
6237
5990
  expansion?: string;
@@ -6484,8 +6237,6 @@ interface operations {
6484
6237
 
6485
6238
  type Schemas = components['schemas'];
6486
6239
  type EnabledFeatures = Schemas['EnabledFeaturesResponseDto'];
6487
- type Project = Schemas['ProjectResponseDto'];
6488
- type CreateProjectInput = Schemas['CreateProjectDto'];
6489
6240
  type Agent = Schemas['AgentResponseDto'];
6490
6241
  type Task = Schemas['TaskResponseDto'];
6491
6242
  type TaskListItem = Schemas['TaskListItemResponseDto'];
@@ -6741,11 +6492,6 @@ interface RunActionOptions {
6741
6492
  * and exactly one connection exists, the platform uses that connection.
6742
6493
  */
6743
6494
  connectionId?: string;
6744
- /**
6745
- * Project UUID for variable/project scoping. Required when the workspace has
6746
- * more than one project.
6747
- */
6748
- projectId?: string;
6749
6495
  /** Action input fields (keys from the action `inputConfig`). */
6750
6496
  input?: Record<string, unknown>;
6751
6497
  /** Optional display name for the ad-hoc Execution. */
@@ -6834,7 +6580,7 @@ interface WorkflowStepDefinition {
6834
6580
  }
6835
6581
  interface WorkflowDefinition {
6836
6582
  kind: typeof DEFINE_KINDS.workflow;
6837
- /** Stable project-scoped slug (upsert key). */
6583
+ /** Stable slug, unique in the workspace (upsert key). */
6838
6584
  slug: string;
6839
6585
  name?: string;
6840
6586
  description?: string;
@@ -6847,7 +6593,7 @@ type AgentToolDefinition = ActionDefinition | WorkflowDefinition | {
6847
6593
  };
6848
6594
  interface AgentDefinition {
6849
6595
  kind: typeof DEFINE_KINDS.agent;
6850
- /** Stable project-scoped slug (upsert key). */
6596
+ /** Stable slug, unique in the workspace (upsert key). */
6851
6597
  slug: string;
6852
6598
  name?: string;
6853
6599
  description?: string;
@@ -6917,10 +6663,10 @@ declare class AgentsResource {
6917
6663
  /** Returns a single agent. */
6918
6664
  get(agentId: string, options?: Pick<ListQueryOptions, 'expansion'>): Promise<Agent>;
6919
6665
  /**
6920
- * Upsert an agent by project-scoped slug.
6666
+ * Upsert an agent by slug inside the workspace on the API key.
6921
6667
  * Prefer the CLI (`npx @lunnoa/client agents deploy`) for happy-path deploy.
6922
6668
  */
6923
- upsertBySlug(projectId: string, body: UpsertAgentBySlugInput | AgentDefinition, options?: {
6669
+ upsertBySlug(body: UpsertAgentBySlugInput | AgentDefinition, options?: {
6924
6670
  workflowIds?: string[];
6925
6671
  }): Promise<Agent>;
6926
6672
  }
@@ -6975,7 +6721,7 @@ interface CurrentUser {
6975
6721
  }
6976
6722
 
6977
6723
  /**
6978
- * Login, refresh, SSO discovery, and session helpers for Pattern B.
6724
+ * Login, refresh, SSO discovery, and session helpers for Lunnoa users.
6979
6725
  *
6980
6726
  * Password login, token exchange, refresh, and SSO provider listing are
6981
6727
  * **public** endpoints (no Bearer). `me()` requires a user JWT.
@@ -7222,9 +6968,7 @@ declare class TablesResource {
7222
6968
  private readonly http;
7223
6969
  constructor(http: HttpClient);
7224
6970
  /** Lists tables in the API key's workspace (without columns and rows). */
7225
- list(options?: {
7226
- projectId?: string;
7227
- }): Promise<Table[]>;
6971
+ list(): Promise<Table[]>;
7228
6972
  /** Returns a single table by ID, including columns and rows. */
7229
6973
  get(id: string): Promise<Table>;
7230
6974
  /** Returns a single table by its workspace slug, including columns and rows. */
@@ -7325,17 +7069,6 @@ declare class KnowledgeResource {
7325
7069
  deleteDocumentGroup(knowledgeId: string, groupId: string): Promise<boolean>;
7326
7070
  }
7327
7071
 
7328
- declare class ProjectsResource {
7329
- private readonly http;
7330
- constructor(http: HttpClient);
7331
- /** Lists projects in the workspace, most recently updated first. */
7332
- list(options?: ListQueryOptions): Promise<Project[]>;
7333
- /** Returns a single project. */
7334
- get(projectId: string, options?: Pick<ListQueryOptions, 'expansion'>): Promise<Project>;
7335
- /** Creates a project. */
7336
- create(data: CreateProjectInput): Promise<Project>;
7337
- }
7338
-
7339
7072
  type QueueItemStatus = 'PENDING' | 'PROCESSING' | 'SUCCESS' | 'FAILED' | 'RETRYING';
7340
7073
  interface AddQueueItemErrorInput {
7341
7074
  /** Error message recorded on the item. */
@@ -7449,7 +7182,6 @@ interface StartRunStep {
7449
7182
  }
7450
7183
  interface StartRunOptions {
7451
7184
  steps: StartRunStep[];
7452
- projectId?: string;
7453
7185
  name?: string;
7454
7186
  }
7455
7187
  type StartRunInput = StartRunOptions | WorkflowDefinition | WorkflowStepDefinition[] | StartRunStep[];
@@ -7464,7 +7196,7 @@ declare class RunsResource {
7464
7196
  * Start a linear multi-step ad-hoc Execution.
7465
7197
  *
7466
7198
  * Accepts a `defineWorkflow` result, a step array, or an explicit
7467
- * `{ steps, projectId?, name? }` payload.
7199
+ * `{ steps, name? }` payload.
7468
7200
  */
7469
7201
  start(input: StartRunInput): Promise<RunActionResult>;
7470
7202
  /** Convenience: start and wait until terminal / NEEDS_INPUT. */
@@ -7621,10 +7353,10 @@ declare class WorkflowsResource {
7621
7353
  */
7622
7354
  get(workflowId: string, options?: Pick<ListQueryOptions, 'expansion'>): Promise<Workflow>;
7623
7355
  /**
7624
- * Upsert a workflow by project-scoped slug from a linear step list.
7356
+ * Upsert a workflow by slug inside the workspace on the API key.
7625
7357
  * Prefer the CLI (`npx @lunnoa/client workflows deploy`) for happy-path deploy.
7626
7358
  */
7627
- upsertBySlug(projectId: string, body: UpsertWorkflowBySlugInput | WorkflowDefinition): Promise<Workflow>;
7359
+ upsertBySlug(body: UpsertWorkflowBySlugInput | WorkflowDefinition): Promise<Workflow>;
7628
7360
  /**
7629
7361
  * Starts a new execution of the workflow with the given trigger inputs.
7630
7362
  * Returns immediately with the execution ID.
@@ -7647,28 +7379,21 @@ declare class WorkflowsResource {
7647
7379
  /**
7648
7380
  * Typed client for the Lunnoa Automate Public API.
7649
7381
  *
7650
- * Server-side (Pattern A — the backend holds the key):
7651
- * ```ts
7652
- * const lunnoa = new LunnoaClient({
7653
- * baseUrl: 'https://lunnoa.acme.example',
7654
- * apiKey: process.env.LUNNOA_API_KEY, // lna_...
7655
- * });
7656
- * ```
7657
- *
7658
- * Browser (Pattern B — the end user is a Lunnoa user):
7382
+ * Apps sign people in as Lunnoa users:
7659
7383
  * ```ts
7660
7384
  * import { createBrowserClient } from '@lunnoa/client';
7661
7385
  * const lunnoa = createBrowserClient({ baseUrl: 'https://lunnoa.acme.example' });
7662
7386
  * await lunnoa.auth.login({ email, password });
7663
7387
  * ```
7664
7388
  *
7665
- * Passing an `lna_` API key in a browser throws immediately: API keys are
7666
- * workspace-wide server credentials and must never ship to browsers.
7389
+ * `apiKey` (`lna_...`) is for the CLI and operator scripts (codegen, discovery,
7390
+ * deploy). It is not an app login. Passing one while `window` exists throws:
7391
+ * a leaked key acts as that service account across its whole workspace.
7667
7392
  */
7668
7393
  declare class LunnoaClient {
7669
7394
  /** The underlying HTTP layer, exposed for advanced/escape-hatch requests. */
7670
7395
  readonly http: HttpClient;
7671
- /** Login, refresh, SSO discovery, and session helpers (Pattern B). */
7396
+ /** Login, refresh, SSO discovery, and session helpers for Lunnoa users. */
7672
7397
  readonly auth: AuthResource;
7673
7398
  readonly agents: AgentsResource;
7674
7399
  readonly tasks: TasksResource;
@@ -7695,7 +7420,6 @@ declare class LunnoaClient {
7695
7420
  readonly variables: VariablesResource;
7696
7421
  readonly scorecards: ScorecardsResource;
7697
7422
  readonly connections: ConnectionsResource;
7698
- readonly projects: ProjectsResource;
7699
7423
  readonly workflowApps: WorkflowAppsResource;
7700
7424
  readonly discovery: DiscoveryResource;
7701
7425
  constructor(options: LunnoaClientOptions);
@@ -7732,11 +7456,10 @@ declare const API_KEY_PREFIX = "lna_";
7732
7456
  /** Returns true when running inside a browser (or browser-like) environment. */
7733
7457
  declare function isBrowserEnvironment(): boolean;
7734
7458
  /**
7735
- * API keys are server-to-server credentials. Shipping one to a browser exposes
7736
- * the whole workspace the key is scoped to, so the SDK refuses outright.
7459
+ * API keys are operator credentials (CLI, codegen, deploy). Shipping one to a
7460
+ * browser exposes the whole workspace the key is scoped to, so the SDK refuses.
7737
7461
  *
7738
- * Browser apps must authenticate end users with a Lunnoa user JWT (Pattern B)
7739
- * or proxy through their own backend which holds the key (Pattern A / BFF).
7462
+ * Apps authenticate end users with a Lunnoa user JWT.
7740
7463
  */
7741
7464
  declare function assertApiKeyAllowedInEnvironment(apiKey: string): void;
7742
7465
 
@@ -7809,7 +7532,7 @@ interface CreateBrowserClientOptions {
7809
7532
  headers?: Record<string, string>;
7810
7533
  }
7811
7534
  /**
7812
- * Pattern B helper: browser (or isomorphic) client with JWT storage,
7535
+ * Browser (or isomorphic) client with JWT storage,
7813
7536
  * `lunnoa.auth.login` / refresh, and optional auto-refresh on 401.
7814
7537
  *
7815
7538
  * Never pass an `lna_` API key here.
@@ -7819,13 +7542,13 @@ interface CreateServerClientOptions {
7819
7542
  /** Base URL of the Lunnoa Automate deployment. */
7820
7543
  baseUrl: string;
7821
7544
  /**
7822
- * Workspace API key (`lna_...`). Preferred for Pattern A backends / BFFs.
7545
+ * Workspace API key (`lna_...`) for operator scripts and the CLI.
7546
+ * Not an app login: people using an app authenticate as Lunnoa users.
7823
7547
  * Mutually exclusive with `accessToken` / `tokenStore`.
7824
7548
  */
7825
7549
  apiKey?: string;
7826
7550
  /**
7827
- * User JWT (or getter) when the server acts on behalf of a logged-in user.
7828
- * Prefer this over embedding tokens in the browser when you own the session.
7551
+ * User JWT (or getter) when the server already holds a signed-in Lunnoa user's token.
7829
7552
  */
7830
7553
  accessToken?: string | (() => string | Promise<string>);
7831
7554
  /** Optional store when the server holds both access and refresh tokens. */
@@ -7835,11 +7558,10 @@ interface CreateServerClientOptions {
7835
7558
  headers?: Record<string, string>;
7836
7559
  }
7837
7560
  /**
7838
- * Pattern A (or server-side Pattern B) helper for Node / BFF / route handlers.
7839
- *
7840
- * Provide `apiKey` for a service account, or `accessToken` / `tokenStore` for a
7841
- * user JWT held on the server. Throws if used with an API key in a browser.
7561
+ * Node helper for a Lunnoa user JWT held on the server, or an `lna_` key for
7562
+ * operator scripts. App login uses {@link createBrowserClient}. Throws if
7563
+ * used with an API key in a browser.
7842
7564
  */
7843
7565
  declare function createServerClient(options: CreateServerClientOptions): LunnoaClient;
7844
7566
 
7845
- export { API_KEY_PREFIX, type ActionDefinition, ActionsResource, type AddQueueItemErrorInput, type Agent, AgentChatClient, AgentChatStream, type AgentDefinition, type AgentToolDefinition, AgentsResource, type AiConnectionDefinition, type ApprovalInboxItem, ApprovalsResource, AuthResource, type AuthTokens, type BulkCreateQueueItemsInput, type BulkCreateQueueItemsResult, type ChangeEntityStateInput, type ChangeEntityStateResult, type ChatMode, type Connection, type ConnectionDefinition, ConnectionsResource, type CreateBrowserClientOptions, type CreateEntityInput, type CreateKnowledgeInput, type CreateProjectInput, type CreateQueueInput, type CreateQueueItemInput, type CreateServerClientOptions, type CreateTaskInput, type CreateVariableInput, type CurrentUser, DEFINE_KINDS, type DefineKind, type DeletedTask, DiscoveryResource, type EligibleApprover, type EnabledFeatures, EntitiesResource, type Entity, type EntityStateHistoryEntry, type EntityStateTransitions, type EntityType, type EntityTypeDefinition, type EntityTypeReadOptions, EntityTypesResource, type ExecuteWorkflowResult, type Execution, type ExecutionPathStep, type ExecutionProgress, type ExecutionProgressPayload, type ExecutionProgressStep, ExecutionProgressStream, type ExecutionStatus, type ExecutionStreamEvent, type ExecutionStreamEventType, ExecutionTimeoutError, ExecutionsResource, type ExportEntitiesInput, type FetchLike, HttpClient, type ImportEntitiesInput, type ImportEntitiesResult, type ImportTemplate, type Knowledge, type KnowledgeDocument, type KnowledgeDocumentGroup, KnowledgeResource, type ListEntitiesOptions, type ListQueryOptions, type ListQueueItemsByObjectOptions, type ListQueueItemsOptions, type LocalStorageTokenStoreOptions, type LoginRequires2FA, type LoginResult, type LoginSuccess, LunnoaApiError, LunnoaClient, type LunnoaClientOptions, type MessageTaskInput, type OffsetPagination, type PagePagination, type PaginatedEntities, type PendingInput, type PendingInputField, type Project, ProjectsResource, type QueryValue, type Queue, type QueueAllowedObjectType, type QueueItem, type QueueItemCreated, type QueueItemErrorEntry, type QueueItemFull, type QueueItemList, type QueueItemObjectSummary, type QueueItemStats, type QueueItemStatus, QueueItemsResource, type QueueStats, QueuesResource, type RecordMeasureValueInput, type RequestOptions, type RunActionInput, type RunActionOptions, type RunActionResult, RunsResource, type SaveUploadedTextInput, type Scorecard, type ScorecardMeasure, type ScorecardMeasureStatus, type ScorecardMeasureValue, type ScorecardObjective, type ScorecardSummary, ScorecardsResource, type SseEvent, SsoAuthResource, type SsoProviderSummary, type SsoProvidersResponse, type StartRunInput, type StartRunInputDto, type StartRunOptions, type StartRunStep, type StopStreamOptions, type StreamMessageOptions, type Table, TablesResource, type Task, type TaskListItem, TasksResource, type TokenStore, type UpdateEntityInput, type UpdateKnowledgeInput, type UpdateQueueInput, type UpdateQueueItemInput, type UpdateTaskInput, type UpdateVariableInput, type UpsertAgentBySlugInput, type UpsertAgentBySlugInputDto, type UpsertAgentToolInput, type UpsertEntityTypeBySlugInput, type UpsertTableBySlugInput, type UpsertWorkflowBySlugInput, type UpsertWorkflowBySlugInputDto, type UpsertWorkflowStepInput, type Variable, VariablesResource, type WaitUntilFinishedOptions, type WatchProgressOptions, type Workflow, type WorkflowApp, WorkflowAppsResource, type WorkflowDefinition, type WorkflowStepDefinition, WorkflowsResource, assertApiKeyAllowedInEnvironment, type components, createBrowserClient, createLocalStorageTokenStore, createMemoryTokenStore, createServerClient, defineAction, defineAgent, defineAiConnection, defineConnection, defineEntityType, defineWorkflow, entityTypeDefinitionToUpsert, isBrowserEnvironment, isLoginRequires2FA, iterateOffset, iteratePages, type operations, parseSseEvents, parseSseStream, type paths, resolveActionAppId, resolveActionId };
7567
+ export { API_KEY_PREFIX, type ActionDefinition, ActionsResource, type AddQueueItemErrorInput, type Agent, AgentChatClient, AgentChatStream, type AgentDefinition, type AgentToolDefinition, AgentsResource, type AiConnectionDefinition, type ApprovalInboxItem, ApprovalsResource, AuthResource, type AuthTokens, type BulkCreateQueueItemsInput, type BulkCreateQueueItemsResult, type ChangeEntityStateInput, type ChangeEntityStateResult, type ChatMode, type Connection, type ConnectionDefinition, ConnectionsResource, type CreateBrowserClientOptions, type CreateEntityInput, type CreateKnowledgeInput, type CreateQueueInput, type CreateQueueItemInput, type CreateServerClientOptions, type CreateTaskInput, type CreateVariableInput, type CurrentUser, DEFINE_KINDS, type DefineKind, type DeletedTask, DiscoveryResource, type EligibleApprover, type EnabledFeatures, EntitiesResource, type Entity, type EntityStateHistoryEntry, type EntityStateTransitions, type EntityType, type EntityTypeDefinition, type EntityTypeReadOptions, EntityTypesResource, type ExecuteWorkflowResult, type Execution, type ExecutionPathStep, type ExecutionProgress, type ExecutionProgressPayload, type ExecutionProgressStep, ExecutionProgressStream, type ExecutionStatus, type ExecutionStreamEvent, type ExecutionStreamEventType, ExecutionTimeoutError, ExecutionsResource, type ExportEntitiesInput, type FetchLike, HttpClient, type ImportEntitiesInput, type ImportEntitiesResult, type ImportTemplate, type Knowledge, type KnowledgeDocument, type KnowledgeDocumentGroup, KnowledgeResource, type ListEntitiesOptions, type ListQueryOptions, type ListQueueItemsByObjectOptions, type ListQueueItemsOptions, type LocalStorageTokenStoreOptions, type LoginRequires2FA, type LoginResult, type LoginSuccess, LunnoaApiError, LunnoaClient, type LunnoaClientOptions, type MessageTaskInput, type OffsetPagination, type PagePagination, type PaginatedEntities, type PendingInput, type PendingInputField, type QueryValue, type Queue, type QueueAllowedObjectType, type QueueItem, type QueueItemCreated, type QueueItemErrorEntry, type QueueItemFull, type QueueItemList, type QueueItemObjectSummary, type QueueItemStats, type QueueItemStatus, QueueItemsResource, type QueueStats, QueuesResource, type RecordMeasureValueInput, type RequestOptions, type RunActionInput, type RunActionOptions, type RunActionResult, RunsResource, type SaveUploadedTextInput, type Scorecard, type ScorecardMeasure, type ScorecardMeasureStatus, type ScorecardMeasureValue, type ScorecardObjective, type ScorecardSummary, ScorecardsResource, type SseEvent, SsoAuthResource, type SsoProviderSummary, type SsoProvidersResponse, type StartRunInput, type StartRunInputDto, type StartRunOptions, type StartRunStep, type StopStreamOptions, type StreamMessageOptions, type Table, TablesResource, type Task, type TaskListItem, TasksResource, type TokenStore, type UpdateEntityInput, type UpdateKnowledgeInput, type UpdateQueueInput, type UpdateQueueItemInput, type UpdateTaskInput, type UpdateVariableInput, type UpsertAgentBySlugInput, type UpsertAgentBySlugInputDto, type UpsertAgentToolInput, type UpsertEntityTypeBySlugInput, type UpsertTableBySlugInput, type UpsertWorkflowBySlugInput, type UpsertWorkflowBySlugInputDto, type UpsertWorkflowStepInput, type Variable, VariablesResource, type WaitUntilFinishedOptions, type WatchProgressOptions, type Workflow, type WorkflowApp, WorkflowAppsResource, type WorkflowDefinition, type WorkflowStepDefinition, WorkflowsResource, assertApiKeyAllowedInEnvironment, type components, createBrowserClient, createLocalStorageTokenStore, createMemoryTokenStore, createServerClient, defineAction, defineAgent, defineAiConnection, defineConnection, defineEntityType, defineWorkflow, entityTypeDefinitionToUpsert, isBrowserEnvironment, isLoginRequires2FA, iterateOffset, iteratePages, type operations, parseSseEvents, parseSseStream, type paths, resolveActionAppId, resolveActionId };