@elevasis/sdk 1.34.0 → 1.35.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.
@@ -259,7 +259,7 @@ type GoogleModel = 'gemini-3-flash-preview' | 'gemini-3.1-flash-lite-preview';
259
259
  /**
260
260
  * Supported Anthropic models (direct SDK access via @anthropic-ai/sdk)
261
261
  */
262
- type AnthropicModel = 'claude-sonnet-4-5';
262
+ type AnthropicModel = 'claude-opus-4-8' | 'claude-sonnet-4-6' | 'claude-haiku-4-5-20251001' | 'claude-haiku-4-5' | 'claude-sonnet-4-5';
263
263
  /** Supported LLM models */
264
264
  type LLMModel = OpenAIModel | OpenRouterModel | GoogleModel | AnthropicModel | 'mock';
265
265
  /**
@@ -302,9 +302,9 @@ declare const GoogleOptionsSchema: z.ZodObject<{
302
302
  }, z.core.$strip>;
303
303
  /**
304
304
  * Anthropic model options schema
305
- * Currently empty - future options: budget_tokens for extended thinking
305
+ * Currently empty - future options must be added per supported model family
306
306
  */
307
- declare const AnthropicOptionsSchema: z.ZodObject<{}, z.core.$strip>;
307
+ declare const AnthropicOptionsSchema: z.ZodObject<{}, z.core.$strict>;
308
308
  /**
309
309
  * Infer TypeScript types from schemas
310
310
  */
@@ -3370,6 +3370,138 @@ type Database = {
3370
3370
  };
3371
3371
  Relationships: [];
3372
3372
  };
3373
+ agent_access_grants: {
3374
+ Row: {
3375
+ allowed_origins: string[];
3376
+ branding: Json;
3377
+ capture_fields: Json;
3378
+ code_hash: string | null;
3379
+ code_salt: string | null;
3380
+ created_at: string;
3381
+ disabled_at: string | null;
3382
+ expires_at: string | null;
3383
+ id: string;
3384
+ max_sessions_per_visitor: number;
3385
+ max_turns_per_session: number;
3386
+ mode: string;
3387
+ organization_id: string;
3388
+ resource_id: string;
3389
+ slug: string;
3390
+ tool_policy: Json;
3391
+ updated_at: string;
3392
+ };
3393
+ Insert: {
3394
+ allowed_origins?: string[];
3395
+ branding?: Json;
3396
+ capture_fields?: Json;
3397
+ code_hash?: string | null;
3398
+ code_salt?: string | null;
3399
+ created_at?: string;
3400
+ disabled_at?: string | null;
3401
+ expires_at?: string | null;
3402
+ id?: string;
3403
+ max_sessions_per_visitor?: number;
3404
+ max_turns_per_session?: number;
3405
+ mode?: string;
3406
+ organization_id: string;
3407
+ resource_id: string;
3408
+ slug: string;
3409
+ tool_policy?: Json;
3410
+ updated_at?: string;
3411
+ };
3412
+ Update: {
3413
+ allowed_origins?: string[];
3414
+ branding?: Json;
3415
+ capture_fields?: Json;
3416
+ code_hash?: string | null;
3417
+ code_salt?: string | null;
3418
+ created_at?: string;
3419
+ disabled_at?: string | null;
3420
+ expires_at?: string | null;
3421
+ id?: string;
3422
+ max_sessions_per_visitor?: number;
3423
+ max_turns_per_session?: number;
3424
+ mode?: string;
3425
+ organization_id?: string;
3426
+ resource_id?: string;
3427
+ slug?: string;
3428
+ tool_policy?: Json;
3429
+ updated_at?: string;
3430
+ };
3431
+ Relationships: [
3432
+ {
3433
+ foreignKeyName: "agent_access_grants_organization_id_fkey";
3434
+ columns: ["organization_id"];
3435
+ isOneToOne: false;
3436
+ referencedRelation: "organizations";
3437
+ referencedColumns: ["id"];
3438
+ }
3439
+ ];
3440
+ };
3441
+ agent_chat_capabilities: {
3442
+ Row: {
3443
+ created_at: string;
3444
+ expires_at: string;
3445
+ grant_id: string;
3446
+ id: string;
3447
+ organization_id: string;
3448
+ origin: string | null;
3449
+ resource_id: string;
3450
+ revoked_at: string | null;
3451
+ session_id: string | null;
3452
+ token_hash: string;
3453
+ visitor_id: string | null;
3454
+ };
3455
+ Insert: {
3456
+ created_at?: string;
3457
+ expires_at: string;
3458
+ grant_id: string;
3459
+ id?: string;
3460
+ organization_id: string;
3461
+ origin?: string | null;
3462
+ resource_id: string;
3463
+ revoked_at?: string | null;
3464
+ session_id?: string | null;
3465
+ token_hash: string;
3466
+ visitor_id?: string | null;
3467
+ };
3468
+ Update: {
3469
+ created_at?: string;
3470
+ expires_at?: string;
3471
+ grant_id?: string;
3472
+ id?: string;
3473
+ organization_id?: string;
3474
+ origin?: string | null;
3475
+ resource_id?: string;
3476
+ revoked_at?: string | null;
3477
+ session_id?: string | null;
3478
+ token_hash?: string;
3479
+ visitor_id?: string | null;
3480
+ };
3481
+ Relationships: [
3482
+ {
3483
+ foreignKeyName: "agent_chat_capabilities_grant_id_fkey";
3484
+ columns: ["grant_id"];
3485
+ isOneToOne: false;
3486
+ referencedRelation: "agent_access_grants";
3487
+ referencedColumns: ["id"];
3488
+ },
3489
+ {
3490
+ foreignKeyName: "agent_chat_capabilities_organization_id_fkey";
3491
+ columns: ["organization_id"];
3492
+ isOneToOne: false;
3493
+ referencedRelation: "organizations";
3494
+ referencedColumns: ["id"];
3495
+ },
3496
+ {
3497
+ foreignKeyName: "agent_chat_capabilities_session_id_fkey";
3498
+ columns: ["session_id"];
3499
+ isOneToOne: false;
3500
+ referencedRelation: "sessions";
3501
+ referencedColumns: ["session_id"];
3502
+ }
3503
+ ];
3504
+ };
3373
3505
  organizations: {
3374
3506
  Row: {
3375
3507
  config: Json;
@@ -10766,6 +10898,11 @@ interface RunWorkflowOptions {
10766
10898
  adapters?: Record<string, unknown>;
10767
10899
  context?: RunWorkflowContext;
10768
10900
  }
10901
+ type RunLinearWorkflowContext = RunWorkflowContext;
10902
+ interface RunLinearWorkflowOptions {
10903
+ adapters?: Record<string, unknown>;
10904
+ context?: RunLinearWorkflowContext;
10905
+ }
10769
10906
  interface WorkflowStepEvent {
10770
10907
  type: string;
10771
10908
  stepId?: string;
@@ -10782,7 +10919,17 @@ interface RunWorkflowResult<TOutput = unknown> {
10782
10919
  logs: LogEntry[];
10783
10920
  stepEvents: WorkflowStepEvent[];
10784
10921
  }
10922
+ interface LinearWorkflowStepEvent {
10923
+ type: 'step-completed';
10924
+ stepId: string;
10925
+ output: unknown;
10926
+ }
10927
+ interface RunLinearWorkflowResult<TOutput = unknown> {
10928
+ output: TOutput;
10929
+ stepEvents: LinearWorkflowStepEvent[];
10930
+ }
10785
10931
  declare function runWorkflow<TOutput = unknown>(definition: WorkflowDefinition, input: unknown, options?: RunWorkflowOptions): Promise<RunWorkflowResult<TOutput>>;
10932
+ declare function runLinearWorkflow<TOutput = unknown>(definition: WorkflowDefinition, input: unknown, options?: RunLinearWorkflowOptions): Promise<RunLinearWorkflowResult<TOutput>>;
10786
10933
 
10787
10934
  interface AssertResourceRegistryOptions {
10788
10935
  organizationName?: string;
@@ -10824,5 +10971,5 @@ declare const createMockStripe: (_credential: string, overrides?: MockAdapterOve
10824
10971
  declare const createMockAnymailfinder: (_credential: string, overrides?: MockAdapterOverrides<AnymailfinderToolMap>) => TypedAdapter<AnymailfinderToolMap>;
10825
10972
  declare const createMockMillionVerifier: (_credential: string, overrides?: MockAdapterOverrides<MillionVerifierToolMap>) => TypedAdapter<MillionVerifierToolMap>;
10826
10973
 
10827
- export { assertResourceRegistry, createMockAnymailfinder, createMockApify, createMockAttio, createMockDropbox, createMockGmail, createMockGoogleSheets, createMockInstantly, createMockMillionVerifier, createMockResend, createMockSignatureApi, createMockStripe, createMockTomba, mockAcqDb, mockApproval, mockCrm, mockEmail, mockExecution, mockList, mockLlm, mockNotifications, mockPdf, mockProjects, mockScheduler, mockStorage, runWorkflow };
10828
- export type { AssertResourceRegistryOptions, MockAdapterOverrides, MockLlmAdapter, RunWorkflowContext, RunWorkflowOptions, RunWorkflowResult, WorkflowStepEvent };
10974
+ export { assertResourceRegistry, createMockAnymailfinder, createMockApify, createMockAttio, createMockDropbox, createMockGmail, createMockGoogleSheets, createMockInstantly, createMockMillionVerifier, createMockResend, createMockSignatureApi, createMockStripe, createMockTomba, mockAcqDb, mockApproval, mockCrm, mockEmail, mockExecution, mockList, mockLlm, mockNotifications, mockPdf, mockProjects, mockScheduler, mockStorage, runLinearWorkflow, runWorkflow };
10975
+ export type { AssertResourceRegistryOptions, LinearWorkflowStepEvent, MockAdapterOverrides, MockLlmAdapter, RunLinearWorkflowContext, RunLinearWorkflowOptions, RunLinearWorkflowResult, RunWorkflowContext, RunWorkflowOptions, RunWorkflowResult, WorkflowStepEvent };
@@ -4846,17 +4846,38 @@ var GoogleConfigSchema = z.object({
4846
4846
  topP: z.number().min(0).max(1).optional(),
4847
4847
  modelOptions: GoogleOptionsSchema.optional()
4848
4848
  });
4849
- var AnthropicOptionsSchema = z.object({});
4850
- var AnthropicConfigSchema = z.object({
4851
- model: z.enum(["claude-sonnet-4-5"]),
4849
+ var AnthropicOptionsSchema = z.object({}).strict();
4850
+ var AnthropicStandardConfigSchema = z.object({
4851
+ model: z.enum([
4852
+ "claude-sonnet-4-6",
4853
+ "claude-haiku-4-5-20251001",
4854
+ "claude-haiku-4-5",
4855
+ "claude-sonnet-4-5"
4856
+ ]),
4852
4857
  provider: z.literal("anthropic"),
4853
4858
  apiKey: z.string(),
4854
4859
  temperature: z.number().min(0).max(1).optional(),
4855
- maxOutputTokens: z.number().min(1e3).optional(),
4860
+ maxOutputTokens: z.number().min(1e3).max(64e3).optional(),
4856
4861
  // Anthropic requires max_tokens
4857
4862
  topP: z.number().min(0).max(1).optional(),
4858
4863
  modelOptions: AnthropicOptionsSchema.optional()
4859
4864
  });
4865
+ var AnthropicOpus48ConfigSchema = z.object({
4866
+ model: z.literal("claude-opus-4-8"),
4867
+ provider: z.literal("anthropic"),
4868
+ apiKey: z.string(),
4869
+ temperature: z.literal(1).optional(),
4870
+ maxOutputTokens: z.number().min(1e3).max(128e3).optional(),
4871
+ // Anthropic requires max_tokens
4872
+ topP: z.literal(1).optional(),
4873
+ topK: z.undefined().optional(),
4874
+ top_k: z.undefined().optional(),
4875
+ modelOptions: AnthropicOptionsSchema.optional()
4876
+ });
4877
+ var AnthropicConfigSchema = z.discriminatedUnion("model", [
4878
+ AnthropicOpus48ConfigSchema,
4879
+ AnthropicStandardConfigSchema
4880
+ ]);
4860
4881
  var MODEL_INFO = {
4861
4882
  // OpenAI GPT-5 (Reasoning Models)
4862
4883
  "gpt-5": {
@@ -4949,6 +4970,58 @@ var MODEL_INFO = {
4949
4970
  configSchema: GoogleConfigSchema
4950
4971
  },
4951
4972
  // Anthropic Claude Models (direct SDK access via @anthropic-ai/sdk)
4973
+ "claude-opus-4-8": {
4974
+ inputCostPer1M: 500,
4975
+ // $5.00 per 1M tokens
4976
+ outputCostPer1M: 2500,
4977
+ // $25.00 per 1M tokens
4978
+ minTokens: 4e3,
4979
+ recommendedTokens: 8e3,
4980
+ maxTokens: 1e6,
4981
+ // 1M context window
4982
+ maxOutputTokens: 128e3,
4983
+ category: "reasoning",
4984
+ configSchema: AnthropicConfigSchema
4985
+ },
4986
+ "claude-sonnet-4-6": {
4987
+ inputCostPer1M: 300,
4988
+ // $3.00 per 1M tokens
4989
+ outputCostPer1M: 1500,
4990
+ // $15.00 per 1M tokens
4991
+ minTokens: 4e3,
4992
+ recommendedTokens: 8e3,
4993
+ maxTokens: 1e6,
4994
+ // 1M context window
4995
+ maxOutputTokens: 64e3,
4996
+ category: "standard",
4997
+ configSchema: AnthropicConfigSchema
4998
+ },
4999
+ "claude-haiku-4-5-20251001": {
5000
+ inputCostPer1M: 100,
5001
+ // $1.00 per 1M tokens
5002
+ outputCostPer1M: 500,
5003
+ // $5.00 per 1M tokens
5004
+ minTokens: 4e3,
5005
+ recommendedTokens: 8e3,
5006
+ maxTokens: 2e5,
5007
+ // 200k context window
5008
+ maxOutputTokens: 64e3,
5009
+ category: "standard",
5010
+ configSchema: AnthropicConfigSchema
5011
+ },
5012
+ "claude-haiku-4-5": {
5013
+ inputCostPer1M: 100,
5014
+ // $1.00 per 1M tokens
5015
+ outputCostPer1M: 500,
5016
+ // $5.00 per 1M tokens
5017
+ minTokens: 4e3,
5018
+ recommendedTokens: 8e3,
5019
+ maxTokens: 2e5,
5020
+ // 200k context window
5021
+ maxOutputTokens: 64e3,
5022
+ category: "standard",
5023
+ configSchema: AnthropicConfigSchema
5024
+ },
4952
5025
  "claude-sonnet-4-5": {
4953
5026
  inputCostPer1M: 300,
4954
5027
  // $3.00 per 1M tokens
@@ -4958,6 +5031,7 @@ var MODEL_INFO = {
4958
5031
  recommendedTokens: 8e3,
4959
5032
  maxTokens: 2e5,
4960
5033
  // 200k context window
5034
+ maxOutputTokens: 64e3,
4961
5035
  category: "standard",
4962
5036
  configSchema: AnthropicConfigSchema
4963
5037
  }
@@ -10166,6 +10240,7 @@ function startWorker(org) {
10166
10240
  version: a3.config.version,
10167
10241
  links: a3.config.links,
10168
10242
  category: a3.config.category,
10243
+ sessionCapable: a3.config.sessionCapable ?? false,
10169
10244
  contract: {
10170
10245
  inputSchema: safeZodToJsonSchema(a3.contract?.inputSchema),
10171
10246
  outputSchema: safeZodToJsonSchema(a3.contract?.outputSchema)
@@ -10319,6 +10394,29 @@ function extractStepEvents(logs) {
10319
10394
  ];
10320
10395
  });
10321
10396
  }
10397
+ function createLinearWorkflowContext(workflow, stepId, options) {
10398
+ const context = options.context ?? {};
10399
+ return {
10400
+ executionId: context.executionId ?? `test-${workflow.config.resourceId}`,
10401
+ organizationId: context.organizationId ?? "test-org",
10402
+ organizationName: context.organizationName ?? "Test Organization",
10403
+ resourceId: workflow.config.resourceId,
10404
+ sessionId: context.sessionId ?? `test-session-${stepId}`,
10405
+ sessionTurnNumber: context.sessionTurnNumber,
10406
+ parentExecutionId: context.parentExecutionId,
10407
+ executionDepth: context.executionDepth ?? 0,
10408
+ adapters: options.adapters,
10409
+ store: /* @__PURE__ */ new Map(),
10410
+ logger: {
10411
+ debug: () => void 0,
10412
+ info: () => void 0,
10413
+ warn: () => void 0,
10414
+ error: () => void 0
10415
+ },
10416
+ onMessageEvent: async () => void 0,
10417
+ onHeartbeat: async () => void 0
10418
+ };
10419
+ }
10322
10420
  async function runWorkflow(definition, input, options = {}) {
10323
10421
  const context = options.context ?? {};
10324
10422
  const { output, logs } = await executeWorkflow(definition, input, {
@@ -10337,6 +10435,31 @@ async function runWorkflow(definition, input, options = {}) {
10337
10435
  stepEvents: extractStepEvents(logs)
10338
10436
  };
10339
10437
  }
10438
+ async function runLinearWorkflow(definition, input, options = {}) {
10439
+ let currentStepId = definition.entryPoint;
10440
+ let currentInput = definition.contract.inputSchema.parse(input);
10441
+ const stepEvents = [];
10442
+ while (currentStepId) {
10443
+ const step = definition.steps[currentStepId];
10444
+ if (!step) {
10445
+ throw new Error(`Workflow step "${currentStepId}" is not registered`);
10446
+ }
10447
+ const stepInput = step.inputSchema.parse(currentInput);
10448
+ const output = step.outputSchema.parse(
10449
+ await step.handler(stepInput, createLinearWorkflowContext(definition, currentStepId, options))
10450
+ );
10451
+ stepEvents.push({ type: "step-completed", stepId: currentStepId, output });
10452
+ currentInput = output;
10453
+ if (step.next === null) {
10454
+ currentStepId = null;
10455
+ } else if (step.next.type === "linear") {
10456
+ currentStepId = step.next.target;
10457
+ } else {
10458
+ throw new Error("runLinearWorkflow only supports linear workflow steps");
10459
+ }
10460
+ }
10461
+ return { output: currentInput, stepEvents };
10462
+ }
10340
10463
 
10341
10464
  // src/test-utils/registry.ts
10342
10465
  function assertResourceRegistry(spec, options = {}) {
@@ -27498,4 +27621,4 @@ chai/index.js:
27498
27621
  *)
27499
27622
  */
27500
27623
 
27501
- export { assertResourceRegistry, createMockAnymailfinder, createMockApify, createMockAttio, createMockDropbox, createMockGmail, createMockGoogleSheets, createMockInstantly, createMockMillionVerifier, createMockResend, createMockSignatureApi, createMockStripe, createMockTomba, mockAcqDb, mockApproval, mockCrm, mockEmail, mockExecution, mockList, mockLlm, mockNotifications, mockPdf, mockProjects, mockScheduler, mockStorage, runWorkflow };
27624
+ export { assertResourceRegistry, createMockAnymailfinder, createMockApify, createMockAttio, createMockDropbox, createMockGmail, createMockGoogleSheets, createMockInstantly, createMockMillionVerifier, createMockResend, createMockSignatureApi, createMockStripe, createMockTomba, mockAcqDb, mockApproval, mockCrm, mockEmail, mockExecution, mockList, mockLlm, mockNotifications, mockPdf, mockProjects, mockScheduler, mockStorage, runLinearWorkflow, runWorkflow };
@@ -2968,17 +2968,38 @@ var GoogleConfigSchema = z.object({
2968
2968
  topP: z.number().min(0).max(1).optional(),
2969
2969
  modelOptions: GoogleOptionsSchema.optional()
2970
2970
  });
2971
- var AnthropicOptionsSchema = z.object({});
2972
- var AnthropicConfigSchema = z.object({
2973
- model: z.enum(["claude-sonnet-4-5"]),
2971
+ var AnthropicOptionsSchema = z.object({}).strict();
2972
+ var AnthropicStandardConfigSchema = z.object({
2973
+ model: z.enum([
2974
+ "claude-sonnet-4-6",
2975
+ "claude-haiku-4-5-20251001",
2976
+ "claude-haiku-4-5",
2977
+ "claude-sonnet-4-5"
2978
+ ]),
2974
2979
  provider: z.literal("anthropic"),
2975
2980
  apiKey: z.string(),
2976
2981
  temperature: z.number().min(0).max(1).optional(),
2977
- maxOutputTokens: z.number().min(1e3).optional(),
2982
+ maxOutputTokens: z.number().min(1e3).max(64e3).optional(),
2978
2983
  // Anthropic requires max_tokens
2979
2984
  topP: z.number().min(0).max(1).optional(),
2980
2985
  modelOptions: AnthropicOptionsSchema.optional()
2981
2986
  });
2987
+ var AnthropicOpus48ConfigSchema = z.object({
2988
+ model: z.literal("claude-opus-4-8"),
2989
+ provider: z.literal("anthropic"),
2990
+ apiKey: z.string(),
2991
+ temperature: z.literal(1).optional(),
2992
+ maxOutputTokens: z.number().min(1e3).max(128e3).optional(),
2993
+ // Anthropic requires max_tokens
2994
+ topP: z.literal(1).optional(),
2995
+ topK: z.undefined().optional(),
2996
+ top_k: z.undefined().optional(),
2997
+ modelOptions: AnthropicOptionsSchema.optional()
2998
+ });
2999
+ var AnthropicConfigSchema = z.discriminatedUnion("model", [
3000
+ AnthropicOpus48ConfigSchema,
3001
+ AnthropicStandardConfigSchema
3002
+ ]);
2982
3003
  var MODEL_INFO = {
2983
3004
  // OpenAI GPT-5 (Reasoning Models)
2984
3005
  "gpt-5": {
@@ -3071,6 +3092,58 @@ var MODEL_INFO = {
3071
3092
  configSchema: GoogleConfigSchema
3072
3093
  },
3073
3094
  // Anthropic Claude Models (direct SDK access via @anthropic-ai/sdk)
3095
+ "claude-opus-4-8": {
3096
+ inputCostPer1M: 500,
3097
+ // $5.00 per 1M tokens
3098
+ outputCostPer1M: 2500,
3099
+ // $25.00 per 1M tokens
3100
+ minTokens: 4e3,
3101
+ recommendedTokens: 8e3,
3102
+ maxTokens: 1e6,
3103
+ // 1M context window
3104
+ maxOutputTokens: 128e3,
3105
+ category: "reasoning",
3106
+ configSchema: AnthropicConfigSchema
3107
+ },
3108
+ "claude-sonnet-4-6": {
3109
+ inputCostPer1M: 300,
3110
+ // $3.00 per 1M tokens
3111
+ outputCostPer1M: 1500,
3112
+ // $15.00 per 1M tokens
3113
+ minTokens: 4e3,
3114
+ recommendedTokens: 8e3,
3115
+ maxTokens: 1e6,
3116
+ // 1M context window
3117
+ maxOutputTokens: 64e3,
3118
+ category: "standard",
3119
+ configSchema: AnthropicConfigSchema
3120
+ },
3121
+ "claude-haiku-4-5-20251001": {
3122
+ inputCostPer1M: 100,
3123
+ // $1.00 per 1M tokens
3124
+ outputCostPer1M: 500,
3125
+ // $5.00 per 1M tokens
3126
+ minTokens: 4e3,
3127
+ recommendedTokens: 8e3,
3128
+ maxTokens: 2e5,
3129
+ // 200k context window
3130
+ maxOutputTokens: 64e3,
3131
+ category: "standard",
3132
+ configSchema: AnthropicConfigSchema
3133
+ },
3134
+ "claude-haiku-4-5": {
3135
+ inputCostPer1M: 100,
3136
+ // $1.00 per 1M tokens
3137
+ outputCostPer1M: 500,
3138
+ // $5.00 per 1M tokens
3139
+ minTokens: 4e3,
3140
+ recommendedTokens: 8e3,
3141
+ maxTokens: 2e5,
3142
+ // 200k context window
3143
+ maxOutputTokens: 64e3,
3144
+ category: "standard",
3145
+ configSchema: AnthropicConfigSchema
3146
+ },
3074
3147
  "claude-sonnet-4-5": {
3075
3148
  inputCostPer1M: 300,
3076
3149
  // $3.00 per 1M tokens
@@ -3080,6 +3153,7 @@ var MODEL_INFO = {
3080
3153
  recommendedTokens: 8e3,
3081
3154
  maxTokens: 2e5,
3082
3155
  // 200k context window
3156
+ maxOutputTokens: 64e3,
3083
3157
  category: "standard",
3084
3158
  configSchema: AnthropicConfigSchema
3085
3159
  }
@@ -6837,6 +6911,7 @@ function startWorker(org) {
6837
6911
  version: a.config.version,
6838
6912
  links: a.config.links,
6839
6913
  category: a.config.category,
6914
+ sessionCapable: a.config.sessionCapable ?? false,
6840
6915
  contract: {
6841
6916
  inputSchema: safeZodToJsonSchema(a.contract?.inputSchema),
6842
6917
  outputSchema: safeZodToJsonSchema(a.contract?.outputSchema)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elevasis/sdk",
3
- "version": "1.34.0",
3
+ "version": "1.35.0",
4
4
  "description": "SDK for building Elevasis organization resources",
5
5
  "type": "module",
6
6
  "bin": {
@@ -58,16 +58,18 @@
58
58
  "tsup": "^8.0.0",
59
59
  "typescript": "5.9.2",
60
60
  "zod": "^4.1.0",
61
- "@repo/core": "0.46.0",
62
- "@repo/typescript-config": "0.0.0",
63
- "@repo/eslint-config": "0.0.0"
61
+ "@repo/core": "0.48.0",
62
+ "@repo/eslint-config": "0.0.0",
63
+ "@repo/typescript-config": "0.0.0"
64
64
  },
65
65
  "scripts": {
66
66
  "lint": "eslint src --max-warnings 0",
67
67
  "build": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.core-dts.json && tsc -p tsconfig.build.json && tsup && rollup -c rollup.dts.config.mjs && esbuild src/cli/index.ts --bundle --platform=node --outfile=dist/cli.cjs --format=cjs --external:esbuild --banner:js=\"#!/usr/bin/env node\" && node scripts/verify-skill-coverage.mjs && node scripts/copy-reference-docs.mjs && node ../../scripts/monorepo/generate-reference-artifacts.js",
68
68
  "type-check": "tsc --noEmit",
69
69
  "check-types": "pnpm type-check",
70
- "test": "pnpm build && node ../../scripts/monorepo/validate-reference-artifacts.js && vitest run --config vitest.bundle.config.ts",
71
- "test:bundle": "pnpm test"
70
+ "test": "pnpm test:bundle",
71
+ "test:source": "vitest run --config vitest.config.ts",
72
+ "test:dist": "pnpm build && node ../../scripts/monorepo/validate-reference-artifacts.js && vitest run --config vitest.bundle.config.ts",
73
+ "test:bundle": "pnpm test:source && pnpm test:dist"
72
74
  }
73
75
  }
@@ -4,7 +4,7 @@
4
4
 
5
5
  Auto-generated from the package reference manifests.
6
6
 
7
- Package entries indexed: 60.
7
+ Package entries indexed: 61.
8
8
 
9
9
  ## @elevasis/core / Auth
10
10
 
@@ -101,6 +101,7 @@ Package entries indexed: 60.
101
101
  | Features Clients | `packages/ui/src/features/README.md` | Published clients feature surface for downstream shells. | (not specified) |
102
102
  | Features Notes | `packages/ui/src/features/README.md` | Published Notes panel view and supporting note components for shared right-panel integrations. | (not specified) |
103
103
  | Features Right Panel Host | `packages/ui/src/features/README.md` | Published right-panel host provider, layer, trigger, keyboard shortcut, store, and view contract. | (not specified) |
104
+ | Features Public Agent Chat | `packages/ui/src/features/README.md` | Published public agent chat surface for downstream shells. | (not specified) |
104
105
 
105
106
  ## @elevasis/ui / Foundation
106
107
 
@@ -435,6 +435,20 @@
435
435
  "referencePath": "packages/ui/src/features/README.md",
436
436
  "publishedExportPath": "./dist/features/right-panel-host/index.js"
437
437
  },
438
+ {
439
+ "packageName": "@elevasis/ui",
440
+ "packageDir": "packages/ui",
441
+ "subpath": "./features/public-agent-chat",
442
+ "kind": "subpath",
443
+ "title": "Features Public Agent Chat",
444
+ "description": "Published public agent chat surface for downstream shells.",
445
+ "group": "Features",
446
+ "order": 15,
447
+ "sourcePath": "packages/ui/src/features/public-agent-chat/index.ts",
448
+ "docPath": "packages/ui/src/features/README.md",
449
+ "referencePath": "packages/ui/src/features/README.md",
450
+ "publishedExportPath": "./dist/features/public-agent-chat/index.js"
451
+ },
438
452
  {
439
453
  "packageName": "@elevasis/ui",
440
454
  "packageDir": "packages/ui",
@@ -41,7 +41,6 @@ Skills are the slash-command surface. Each skill is `.claude/skills/{name}/SKILL
41
41
 
42
42
  <!-- @generated:start:sync-overview-skills -->
43
43
  - **client** -- Client portfolio management -- list, resolve, inspect, and maintain client records and their lineage to companies, contacts, and source deals -- via the elevasis-sdk client:* CLI.
44
- - **deploy** -- Test, build, fix issues, then commit and push
45
44
  - **dsp** -- Dispatch subagents in parallel for implementation tasks
46
45
  - **elevasis** -- Elevasis platform operations -- check, deploy, execute, inspect, and debug SDK resources
47
46
  - **explore** -- Codebase exploration anchored to project documentation
@@ -55,6 +55,10 @@ metadata:
55
55
  - show me all reference docs
56
56
  - where does
57
57
  - apply
58
+ - build a system
59
+ - design a system
60
+ - create a system that
61
+ - system architecture
58
62
  allowed-tools: Read, Write, Edit, Glob, Grep, Bash
59
63
  ---
60
64
 
@@ -87,10 +91,26 @@ Auto-invocation is driven by frontmatter `description`, `metadata.pathPatterns`,
87
91
 
88
92
  ---
89
93
 
94
+ ## Operations
95
+
96
+ | Operation | Description | Execute |
97
+ | --------- | ------------------------------------------------------------------------------------------------------------------------ | --------------------------------------- |
98
+ | `build` | Codify-ceremony runbook for building a System end to end (shell → ontology → resources → topology → knowledge → verify). | `.claude/skills/om/operations/build.md` |
99
+
100
+ ---
101
+
90
102
  ## 5-Bucket Decision Tree
91
103
 
92
- Once invoked, classify the user's input into ONE of these buckets and dispatch the matching
93
- primitive. When two buckets fit, prefer the higher one (more specific more general).
104
+ If the user expresses intent to **build, design, or architect a system** -- phrased as "build a
105
+ system", "design a system", "create a system that does X", "I want a system for Y", "system
106
+ architecture for Z", or any free-text describing a system they want to construct rather than
107
+ query -- route to `/om build` **before** the buckets below. Read
108
+ `.claude/skills/om/operations/build.md` and follow its ordered phases. This is the primary
109
+ entry; the user does not need to type `/om build` explicitly.
110
+
111
+ Once invoked for read/write intents (not build), classify the user's input into ONE of these
112
+ buckets and dispatch the matching primitive. When two buckets fit, prefer the higher one (more
113
+ specific → more general).
94
114
 
95
115
  | # | Bucket | Trigger | Dispatch |
96
116
  | --- | ------------------------------ | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |