@engineer-ai/sdk 1.6.1 → 1.7.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.
@@ -1,5 +1,5 @@
1
1
  import { type Client, type Options as Options2, type TDataShape } from "./client/index.js";
2
- import type { AgentPartInput, AppAgentsResponses, AppLogErrors, AppLogResponses, AppRulesResponses, AppSkillsResponses, Auth as Auth3, AuthRemoveErrors, AuthRemoveResponses, AuthSetErrors, AuthSetResponses, CommandListResponses, CommandValidateErrors, CommandValidateResponses, Config as Config3, ConfigGetResponses, ConfigProvidersResponses, ConfigUpdateErrors, ConfigUpdateResponses, EventSubscribeResponses, EventTuiCommandExecute, EventTuiPromptAppend, EventTuiPromptModeReset, EventTuiPromptReplace, EventTuiSessionSelect, EventTuiToastShow, ExperimentalMavenStatusResponses, ExperimentalResourceListResponses, FileListResponses, FilePartInput, FilePartSource, FileReadResponses, FileStatusResponses, FindFilesResponses, FindSymbolsResponses, FindTextResponses, FormatterStatusResponses, GitCheckResponses, GlobalConfigGetResponses, GlobalConfigUpdateErrors, GlobalConfigUpdateResponses, GlobalDisposeResponses, GlobalEventResponses, GlobalHealthResponses, InstanceDisposeResponses, LspStatusResponses, McpAddErrors, McpAddResponses, McpAuthAuthenticateErrors, McpAuthAuthenticateResponses, McpAuthCallbackErrors, McpAuthCallbackResponses, McpAuthRemoveErrors, McpAuthRemoveResponses, McpAuthStartErrors, McpAuthStartResponses, McpConnectResponses, McpDisconnectResponses, McpLocalConfig, McpRemoteConfig, McpStatusResponses, Part as Part2, PartDeleteErrors, PartDeleteResponses, PartUpdateErrors, PartUpdateResponses, PathGetResponses, PermissionListResponses, PermissionReplyErrors, PermissionReplyResponses, PermissionRespondErrors, PermissionRespondResponses, PermissionRuleset, ProjectCurrentResponses, ProjectListResponses, ProjectUpdateErrors, ProjectUpdateResponses, ProviderAuthResponses, ProviderListResponses, ProviderOauthAuthorizeErrors, ProviderOauthAuthorizeResponses, ProviderOauthCallbackErrors, ProviderOauthCallbackResponses, PtyConnectErrors, PtyConnectResponses, PtyCreateErrors, PtyCreateResponses, PtyGetErrors, PtyGetResponses, PtyListResponses, PtyRemoveErrors, PtyRemoveResponses, PtyUpdateErrors, PtyUpdateResponses, QuestionAnswer, QuestionListResponses, QuestionRejectErrors, QuestionRejectResponses, QuestionReplyErrors, QuestionReplyResponses, RulePartInput, SessionAbortErrors, SessionAbortResponses, SessionChildrenErrors, SessionChildrenResponses, SessionCommandErrors, SessionCommandResponses, SessionCreateErrors, SessionCreateResponses, SessionDeleteErrors, SessionDeleteResponses, SessionDiffResponses, SessionForkResponses, SessionGetErrors, SessionGetResponses, SessionInitErrors, SessionInitResponses, SessionListResponses, SessionMessageErrors, SessionMessageResponses, SessionMessagesErrors, SessionMessagesResponses, SessionOptimizeErrors, SessionOptimizeResponses, SessionPromptAsyncErrors, SessionPromptAsyncResponses, SessionPromptErrors, SessionPromptResponses, SessionRevertErrors, SessionRevertResponses, SessionShareErrors, SessionShareResponses, SessionShellErrors, SessionShellResponses, SessionSpecErrors, SessionSpecResponses, SessionStatusErrors, SessionStatusResponses, SessionSummarizeErrors, SessionSummarizeResponses, SessionTodoErrors, SessionTodoResponses, SessionUnrevertErrors, SessionUnrevertResponses, SessionUnshareErrors, SessionUnshareResponses, SessionUpdateErrors, SessionUpdateResponses, SubtaskPartInput, TeamConfigResponses, TeamFireResponses, TeamHireResponses, TeamMessagesResponses, TeamRolesResponses, TeamStatusResponses, TextPartInput, ToolIdsErrors, ToolIdsResponses, ToolListErrors, ToolListResponses, TuiAppendPromptErrors, TuiAppendPromptResponses, TuiClearPromptResponses, TuiControlNextResponses, TuiControlResponseResponses, TuiExecuteCommandErrors, TuiExecuteCommandResponses, TuiOpenHelpResponses, TuiOpenModelsResponses, TuiOpenSessionsResponses, TuiOpenThemesResponses, TuiPublishErrors, TuiPublishResponses, TuiReplacePromptErrors, TuiReplacePromptResponses, TuiResetPromptModeErrors, TuiResetPromptModeResponses, TuiSelectSessionErrors, TuiSelectSessionResponses, TuiShowToastResponses, TuiSubmitPromptResponses, VcsGetResponses, WorktreeCreateErrors, WorktreeCreateInput, WorktreeCreateResponses, WorktreeListMetaResponses, WorktreeListResponses, WorktreeRemoveErrors, WorktreeRemoveInput, WorktreeRemoveResponses, WorktreeResetErrors, WorktreeResetInput, WorktreeResetResponses, WorktreeSwitchErrors, WorktreeSwitchInput, WorktreeSwitchResponses } from "./types.gen.js";
2
+ import type { AgentPartInput, AppAgentsResponses, AppLogErrors, AppLogResponses, AppRulesResponses, AppSkillsResponses, Auth as Auth3, AuthRemoveErrors, AuthRemoveResponses, AuthSetErrors, AuthSetResponses, CommandListResponses, CommandValidateErrors, CommandValidateResponses, Config as Config3, ConfigGetResponses, ConfigProvidersResponses, ConfigUpdateErrors, ConfigUpdateResponses, CronCreateErrors, CronCreateResponses, CronDeleteErrors, CronDeleteResponses, CronGetErrors, CronGetResponses, CronListResponses, CronSessionsErrors, CronSessionsResponses, CronUpdateErrors, CronUpdateResponses, EventSubscribeResponses, EventTuiCommandExecute, EventTuiPromptAppend, EventTuiPromptModeReset, EventTuiPromptReplace, EventTuiSessionSelect, EventTuiToastShow, ExperimentalMavenStatusResponses, ExperimentalResourceListResponses, ExpertListResponses, FileListResponses, FilePartInput, FilePartSource, FileReadResponses, FileStatusResponses, FindFilesResponses, FindSymbolsResponses, FindTextResponses, FormatterStatusResponses, GitCheckResponses, GlobalConfigGetResponses, GlobalConfigUpdateErrors, GlobalConfigUpdateResponses, GlobalDisposeResponses, GlobalEventResponses, GlobalHealthResponses, InstanceDisposeResponses, LspStatusResponses, McpAddErrors, McpAddResponses, McpAuthAuthenticateErrors, McpAuthAuthenticateResponses, McpAuthCallbackErrors, McpAuthCallbackResponses, McpAuthRemoveErrors, McpAuthRemoveResponses, McpAuthStartErrors, McpAuthStartResponses, McpConnectResponses, McpDisconnectResponses, McpLocalConfig, McpRemoteConfig, McpStatusResponses, Part as Part2, PartDeleteErrors, PartDeleteResponses, PartUpdateErrors, PartUpdateResponses, PathGetResponses, PermissionListResponses, PermissionReplyErrors, PermissionReplyResponses, PermissionRespondErrors, PermissionRespondResponses, PermissionRuleset, ProjectCurrentResponses, ProjectListResponses, ProjectUpdateErrors, ProjectUpdateResponses, ProviderAuthResponses, ProviderListResponses, ProviderOauthAuthorizeErrors, ProviderOauthAuthorizeResponses, ProviderOauthCallbackErrors, ProviderOauthCallbackResponses, PtyConnectErrors, PtyConnectResponses, PtyCreateErrors, PtyCreateResponses, PtyGetErrors, PtyGetResponses, PtyListResponses, PtyRemoveErrors, PtyRemoveResponses, PtyUpdateErrors, PtyUpdateResponses, QuestionAnswer, QuestionListResponses, QuestionRejectErrors, QuestionRejectResponses, QuestionReplyErrors, QuestionReplyResponses, RulePartInput, SessionAbortErrors, SessionAbortResponses, SessionChildrenErrors, SessionChildrenResponses, SessionCommandErrors, SessionCommandResponses, SessionCreateErrors, SessionCreateResponses, SessionDeleteErrors, SessionDeleteResponses, SessionDiffResponses, SessionForkResponses, SessionGetErrors, SessionGetResponses, SessionInitErrors, SessionInitResponses, SessionListResponses, SessionMessageErrors, SessionMessageResponses, SessionMessagesErrors, SessionMessagesResponses, SessionOptimizeErrors, SessionOptimizeResponses, SessionPromptAsyncErrors, SessionPromptAsyncResponses, SessionPromptErrors, SessionPromptResponses, SessionRevertErrors, SessionRevertResponses, SessionShareErrors, SessionShareResponses, SessionShellErrors, SessionShellResponses, SessionSpecErrors, SessionSpecResponses, SessionStatusErrors, SessionStatusResponses, SessionSummarizeErrors, SessionSummarizeResponses, SessionTodoErrors, SessionTodoResponses, SessionUnrevertErrors, SessionUnrevertResponses, SessionUnshareErrors, SessionUnshareResponses, SessionUpdateErrors, SessionUpdateResponses, SubtaskPartInput, TeamConfigResponses, TeamFireResponses, TeamHireResponses, TeamMessagesResponses, TeamRolesResponses, TeamStatusResponses, TextPartInput, ToolIdsErrors, ToolIdsResponses, ToolListErrors, ToolListResponses, TuiAppendPromptErrors, TuiAppendPromptResponses, TuiClearPromptResponses, TuiControlNextResponses, TuiControlResponseResponses, TuiExecuteCommandErrors, TuiExecuteCommandResponses, TuiOpenHelpResponses, TuiOpenModelsResponses, TuiOpenSessionsResponses, TuiOpenThemesResponses, TuiPublishErrors, TuiPublishResponses, TuiReplacePromptErrors, TuiReplacePromptResponses, TuiResetPromptModeErrors, TuiResetPromptModeResponses, TuiSelectSessionErrors, TuiSelectSessionResponses, TuiShowToastResponses, TuiSubmitPromptResponses, VcsGetResponses, WorktreeCreateErrors, WorktreeCreateInput, WorktreeCreateResponses, WorktreeListMetaResponses, WorktreeListResponses, WorktreeRemoveErrors, WorktreeRemoveInput, WorktreeRemoveResponses, WorktreeResetErrors, WorktreeResetInput, WorktreeResetResponses, WorktreeSwitchErrors, WorktreeSwitchInput, WorktreeSwitchResponses } from "./types.gen.js";
3
3
  export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2<TData, ThrowOnError> & {
4
4
  /**
5
5
  * You can provide a client instance returned by `createClient()` instead of
@@ -326,6 +326,8 @@ export declare class Session extends HeyApiClient {
326
326
  start?: number;
327
327
  search?: string;
328
328
  limit?: number;
329
+ cronName?: string;
330
+ includeCron?: boolean;
329
331
  }, options?: Options<never, ThrowOnError>): import("./client/types.gen.js").RequestResult<SessionListResponses, unknown, ThrowOnError, "fields">;
330
332
  /**
331
333
  * Create session
@@ -336,7 +338,8 @@ export declare class Session extends HeyApiClient {
336
338
  directory?: string;
337
339
  parentID?: string;
338
340
  title?: string;
339
- type?: "session_memory_extraction";
341
+ type?: "session_memory_extraction" | "cron";
342
+ cronName?: string;
340
343
  mode?: "agent" | "plan" | "goal";
341
344
  permission?: PermissionRuleset;
342
345
  }, options?: Options<never, ThrowOnError>): import("./client/types.gen.js").RequestResult<SessionCreateResponses, SessionCreateErrors, ThrowOnError, "fields">;
@@ -1074,6 +1077,86 @@ export declare class Team extends HeyApiClient {
1074
1077
  unread?: boolean;
1075
1078
  }, options?: Options<never, ThrowOnError>): import("./client/types.gen.js").RequestResult<TeamMessagesResponses, unknown, ThrowOnError, "fields">;
1076
1079
  }
1080
+ export declare class Cron extends HeyApiClient {
1081
+ /**
1082
+ * List cron configs
1083
+ *
1084
+ * Get a list of all cron configurations.
1085
+ */
1086
+ list<ThrowOnError extends boolean = false>(parameters?: {
1087
+ directory?: string;
1088
+ }, options?: Options<never, ThrowOnError>): import("./client/types.gen.js").RequestResult<CronListResponses, unknown, ThrowOnError, "fields">;
1089
+ /**
1090
+ * Create cron config
1091
+ *
1092
+ * Create a new cron configuration with a CRON.md file.
1093
+ */
1094
+ create<ThrowOnError extends boolean = false>(parameters?: {
1095
+ directory?: string;
1096
+ name?: string;
1097
+ description?: string;
1098
+ schedule?: string;
1099
+ type?: "agent" | "command";
1100
+ enabled?: boolean;
1101
+ model?: string;
1102
+ steps?: number;
1103
+ command?: string;
1104
+ body?: string;
1105
+ }, options?: Options<never, ThrowOnError>): import("./client/types.gen.js").RequestResult<CronCreateResponses, CronCreateErrors, ThrowOnError, "fields">;
1106
+ /**
1107
+ * Delete cron config
1108
+ *
1109
+ * Delete a cron configuration and stop its scheduler.
1110
+ */
1111
+ delete<ThrowOnError extends boolean = false>(parameters: {
1112
+ name: string;
1113
+ directory?: string;
1114
+ }, options?: Options<never, ThrowOnError>): import("./client/types.gen.js").RequestResult<CronDeleteResponses, CronDeleteErrors, ThrowOnError, "fields">;
1115
+ /**
1116
+ * Get cron config
1117
+ *
1118
+ * Retrieve a specific cron configuration by name.
1119
+ */
1120
+ get<ThrowOnError extends boolean = false>(parameters: {
1121
+ name: string;
1122
+ directory?: string;
1123
+ }, options?: Options<never, ThrowOnError>): import("./client/types.gen.js").RequestResult<CronGetResponses, CronGetErrors, ThrowOnError, "fields">;
1124
+ /**
1125
+ * Update cron config
1126
+ *
1127
+ * Update properties of an existing cron configuration.
1128
+ */
1129
+ update<ThrowOnError extends boolean = false>(parameters: {
1130
+ name: string;
1131
+ directory?: string;
1132
+ description?: string;
1133
+ schedule?: string;
1134
+ type?: "agent" | "command";
1135
+ enabled?: boolean;
1136
+ model?: string;
1137
+ steps?: number;
1138
+ command?: string;
1139
+ }, options?: Options<never, ThrowOnError>): import("./client/types.gen.js").RequestResult<CronUpdateResponses, CronUpdateErrors, ThrowOnError, "fields">;
1140
+ /**
1141
+ * Get cron sessions
1142
+ *
1143
+ * Retrieve sessions created by a specific cron configuration, limited to 20 most recent.
1144
+ */
1145
+ sessions<ThrowOnError extends boolean = false>(parameters: {
1146
+ name: string;
1147
+ directory?: string;
1148
+ }, options?: Options<never, ThrowOnError>): import("./client/types.gen.js").RequestResult<CronSessionsResponses, CronSessionsErrors, ThrowOnError, "fields">;
1149
+ }
1150
+ export declare class Expert extends HeyApiClient {
1151
+ /**
1152
+ * List experts
1153
+ *
1154
+ * Get a list of all available experts (digital employees).
1155
+ */
1156
+ list<ThrowOnError extends boolean = false>(parameters?: {
1157
+ directory?: string;
1158
+ }, options?: Options<never, ThrowOnError>): import("./client/types.gen.js").RequestResult<ExpertListResponses, unknown, ThrowOnError, "fields">;
1159
+ }
1077
1160
  export declare class Instance extends HeyApiClient {
1078
1161
  /**
1079
1162
  * Dispose instance
@@ -1238,6 +1321,10 @@ export declare class EngineerClient extends HeyApiClient {
1238
1321
  get tui(): Tui;
1239
1322
  private _team?;
1240
1323
  get team(): Team;
1324
+ private _cron?;
1325
+ get cron(): Cron;
1326
+ private _expert?;
1327
+ get expert(): Expert;
1241
1328
  private _instance?;
1242
1329
  get instance(): Instance;
1243
1330
  private _path?;
@@ -590,6 +590,8 @@ export class Session extends HeyApiClient {
590
590
  { in: "query", key: "start" },
591
591
  { in: "query", key: "search" },
592
592
  { in: "query", key: "limit" },
593
+ { in: "query", key: "cronName" },
594
+ { in: "query", key: "includeCron" },
593
595
  ],
594
596
  },
595
597
  ]);
@@ -612,6 +614,7 @@ export class Session extends HeyApiClient {
612
614
  { in: "body", key: "parentID" },
613
615
  { in: "body", key: "title" },
614
616
  { in: "body", key: "type" },
617
+ { in: "body", key: "cronName" },
615
618
  { in: "body", key: "mode" },
616
619
  { in: "body", key: "permission" },
617
620
  ],
@@ -2162,6 +2165,161 @@ export class Team extends HeyApiClient {
2162
2165
  });
2163
2166
  }
2164
2167
  }
2168
+ export class Cron extends HeyApiClient {
2169
+ /**
2170
+ * List cron configs
2171
+ *
2172
+ * Get a list of all cron configurations.
2173
+ */
2174
+ list(parameters, options) {
2175
+ const params = buildClientParams([parameters], [{ args: [{ in: "query", key: "directory" }] }]);
2176
+ return (options?.client ?? this.client).get({
2177
+ url: "/cron",
2178
+ ...options,
2179
+ ...params,
2180
+ });
2181
+ }
2182
+ /**
2183
+ * Create cron config
2184
+ *
2185
+ * Create a new cron configuration with a CRON.md file.
2186
+ */
2187
+ create(parameters, options) {
2188
+ const params = buildClientParams([parameters], [
2189
+ {
2190
+ args: [
2191
+ { in: "query", key: "directory" },
2192
+ { in: "body", key: "name" },
2193
+ { in: "body", key: "description" },
2194
+ { in: "body", key: "schedule" },
2195
+ { in: "body", key: "type" },
2196
+ { in: "body", key: "enabled" },
2197
+ { in: "body", key: "model" },
2198
+ { in: "body", key: "steps" },
2199
+ { in: "body", key: "command" },
2200
+ { in: "body", key: "body" },
2201
+ ],
2202
+ },
2203
+ ]);
2204
+ return (options?.client ?? this.client).post({
2205
+ url: "/cron",
2206
+ ...options,
2207
+ ...params,
2208
+ headers: {
2209
+ "Content-Type": "application/json",
2210
+ ...options?.headers,
2211
+ ...params.headers,
2212
+ },
2213
+ });
2214
+ }
2215
+ /**
2216
+ * Delete cron config
2217
+ *
2218
+ * Delete a cron configuration and stop its scheduler.
2219
+ */
2220
+ delete(parameters, options) {
2221
+ const params = buildClientParams([parameters], [
2222
+ {
2223
+ args: [
2224
+ { in: "path", key: "name" },
2225
+ { in: "query", key: "directory" },
2226
+ ],
2227
+ },
2228
+ ]);
2229
+ return (options?.client ?? this.client).delete({
2230
+ url: "/cron/{name}",
2231
+ ...options,
2232
+ ...params,
2233
+ });
2234
+ }
2235
+ /**
2236
+ * Get cron config
2237
+ *
2238
+ * Retrieve a specific cron configuration by name.
2239
+ */
2240
+ get(parameters, options) {
2241
+ const params = buildClientParams([parameters], [
2242
+ {
2243
+ args: [
2244
+ { in: "path", key: "name" },
2245
+ { in: "query", key: "directory" },
2246
+ ],
2247
+ },
2248
+ ]);
2249
+ return (options?.client ?? this.client).get({
2250
+ url: "/cron/{name}",
2251
+ ...options,
2252
+ ...params,
2253
+ });
2254
+ }
2255
+ /**
2256
+ * Update cron config
2257
+ *
2258
+ * Update properties of an existing cron configuration.
2259
+ */
2260
+ update(parameters, options) {
2261
+ const params = buildClientParams([parameters], [
2262
+ {
2263
+ args: [
2264
+ { in: "path", key: "name" },
2265
+ { in: "query", key: "directory" },
2266
+ { in: "body", key: "description" },
2267
+ { in: "body", key: "schedule" },
2268
+ { in: "body", key: "type" },
2269
+ { in: "body", key: "enabled" },
2270
+ { in: "body", key: "model" },
2271
+ { in: "body", key: "steps" },
2272
+ { in: "body", key: "command" },
2273
+ ],
2274
+ },
2275
+ ]);
2276
+ return (options?.client ?? this.client).patch({
2277
+ url: "/cron/{name}",
2278
+ ...options,
2279
+ ...params,
2280
+ headers: {
2281
+ "Content-Type": "application/json",
2282
+ ...options?.headers,
2283
+ ...params.headers,
2284
+ },
2285
+ });
2286
+ }
2287
+ /**
2288
+ * Get cron sessions
2289
+ *
2290
+ * Retrieve sessions created by a specific cron configuration, limited to 20 most recent.
2291
+ */
2292
+ sessions(parameters, options) {
2293
+ const params = buildClientParams([parameters], [
2294
+ {
2295
+ args: [
2296
+ { in: "path", key: "name" },
2297
+ { in: "query", key: "directory" },
2298
+ ],
2299
+ },
2300
+ ]);
2301
+ return (options?.client ?? this.client).get({
2302
+ url: "/cron/{name}/sessions",
2303
+ ...options,
2304
+ ...params,
2305
+ });
2306
+ }
2307
+ }
2308
+ export class Expert extends HeyApiClient {
2309
+ /**
2310
+ * List experts
2311
+ *
2312
+ * Get a list of all available experts (digital employees).
2313
+ */
2314
+ list(parameters, options) {
2315
+ const params = buildClientParams([parameters], [{ args: [{ in: "query", key: "directory" }] }]);
2316
+ return (options?.client ?? this.client).get({
2317
+ url: "/expert",
2318
+ ...options,
2319
+ ...params,
2320
+ });
2321
+ }
2322
+ }
2165
2323
  export class Instance extends HeyApiClient {
2166
2324
  /**
2167
2325
  * Dispose instance
@@ -2444,6 +2602,14 @@ export class EngineerClient extends HeyApiClient {
2444
2602
  get team() {
2445
2603
  return (this._team ??= new Team({ client: this.client }));
2446
2604
  }
2605
+ _cron;
2606
+ get cron() {
2607
+ return (this._cron ??= new Cron({ client: this.client }));
2608
+ }
2609
+ _expert;
2610
+ get expert() {
2611
+ return (this._expert ??= new Expert({ client: this.client }));
2612
+ }
2447
2613
  _instance;
2448
2614
  get instance() {
2449
2615
  return (this._instance ??= new Instance({ client: this.client }));
@@ -35,6 +35,7 @@ export type Project = {
35
35
  initialized?: number;
36
36
  };
37
37
  sandboxes: Array<string>;
38
+ subrepos?: Array<string>;
38
39
  };
39
40
  export type EventProjectUpdated = {
40
41
  type: "project.updated";
@@ -495,6 +496,13 @@ export type EventPermissionReplied = {
495
496
  reply: "once" | "always" | "reject";
496
497
  };
497
498
  };
499
+ export type EventExpertCreated = {
500
+ type: "expert.created";
501
+ properties: {
502
+ name: string;
503
+ description: string;
504
+ };
505
+ };
498
506
  export type EventTuiPromptAppend = {
499
507
  type: "tui.prompt.append";
500
508
  properties: {
@@ -553,56 +561,13 @@ export type EventMcpBrowserOpenFailed = {
553
561
  url: string;
554
562
  };
555
563
  };
556
- export type EventWorktreeReady = {
557
- type: "worktree.ready";
558
- properties: {
559
- name: string;
560
- branch: string;
561
- };
562
- };
563
- export type EventWorktreeFailed = {
564
- type: "worktree.failed";
565
- properties: {
566
- message: string;
567
- };
568
- };
569
- export type EventCommandExecuted = {
570
- type: "command.executed";
571
- properties: {
572
- name: string;
573
- sessionID: string;
574
- arguments: string;
575
- messageID: string;
576
- };
577
- };
578
- export type EventSkillCreated = {
579
- type: "skill.created";
564
+ export type EventRuleCreated = {
565
+ type: "rule.created";
580
566
  properties: {
581
567
  name: string;
582
568
  description: string;
583
- };
584
- };
585
- export type SessionStatus = {
586
- type: "idle";
587
- } | {
588
- type: "retry";
589
- attempt: number;
590
- message: string;
591
- next: number;
592
- } | {
593
- type: "busy";
594
- };
595
- export type EventSessionStatus = {
596
- type: "session.status";
597
- properties: {
598
- sessionID: string;
599
- status: SessionStatus;
600
- };
601
- };
602
- export type EventSessionIdle = {
603
- type: "session.idle";
604
- properties: {
605
- sessionID: string;
569
+ alwaysApply: boolean;
570
+ globs: Array<string>;
606
571
  };
607
572
  };
608
573
  export type QuestionOption = {
@@ -669,30 +634,6 @@ export type EventQuestionRejected = {
669
634
  requestID: string;
670
635
  };
671
636
  };
672
- export type EventTaskNotification = {
673
- type: "task.notification";
674
- properties: {
675
- taskId: string;
676
- parentSessionId: string;
677
- status: "pending" | "running" | "completed" | "failed" | "cancelled";
678
- description: string;
679
- output?: string;
680
- error?: string;
681
- };
682
- };
683
- export type EventSessionMemoryExtracted = {
684
- type: "session.memory.extracted";
685
- properties: {
686
- sessionID: string;
687
- projectID: string;
688
- };
689
- };
690
- export type EventSessionCompacted = {
691
- type: "session.compacted";
692
- properties: {
693
- sessionID: string;
694
- };
695
- };
696
637
  export type EventFileWatcherUpdated = {
697
638
  type: "file.watcher.updated";
698
639
  properties: {
@@ -700,13 +641,15 @@ export type EventFileWatcherUpdated = {
700
641
  event: "add" | "change" | "unlink";
701
642
  };
702
643
  };
703
- export type EventRuleCreated = {
704
- type: "rule.created";
644
+ export type EventTaskNotification = {
645
+ type: "task.notification";
705
646
  properties: {
706
- name: string;
647
+ taskId: string;
648
+ parentSessionId: string;
649
+ status: "pending" | "running" | "completed" | "failed" | "cancelled";
707
650
  description: string;
708
- alwaysApply: boolean;
709
- globs: Array<string>;
651
+ output?: string;
652
+ error?: string;
710
653
  };
711
654
  };
712
655
  export type Todo = {
@@ -873,6 +816,29 @@ export type EventSpecUpdated = {
873
816
  };
874
817
  };
875
818
  };
819
+ export type SessionStatus = {
820
+ type: "idle";
821
+ } | {
822
+ type: "retry";
823
+ attempt: number;
824
+ message: string;
825
+ next: number;
826
+ } | {
827
+ type: "busy";
828
+ };
829
+ export type EventSessionStatus = {
830
+ type: "session.status";
831
+ properties: {
832
+ sessionID: string;
833
+ status: SessionStatus;
834
+ };
835
+ };
836
+ export type EventSessionIdle = {
837
+ type: "session.idle";
838
+ properties: {
839
+ sessionID: string;
840
+ };
841
+ };
876
842
  export type EventMavenIndexReady = {
877
843
  type: "maven.index.ready";
878
844
  properties: {
@@ -889,6 +855,48 @@ export type EventMavenIndexBuilding = {
889
855
  pomFiles: Array<string>;
890
856
  };
891
857
  };
858
+ export type EventWorktreeReady = {
859
+ type: "worktree.ready";
860
+ properties: {
861
+ name: string;
862
+ branch: string;
863
+ };
864
+ };
865
+ export type EventWorktreeFailed = {
866
+ type: "worktree.failed";
867
+ properties: {
868
+ message: string;
869
+ };
870
+ };
871
+ export type EventCommandExecuted = {
872
+ type: "command.executed";
873
+ properties: {
874
+ name: string;
875
+ sessionID: string;
876
+ arguments: string;
877
+ messageID: string;
878
+ };
879
+ };
880
+ export type EventSkillCreated = {
881
+ type: "skill.created";
882
+ properties: {
883
+ name: string;
884
+ description: string;
885
+ };
886
+ };
887
+ export type EventSessionMemoryExtracted = {
888
+ type: "session.memory.extracted";
889
+ properties: {
890
+ sessionID: string;
891
+ projectID: string;
892
+ };
893
+ };
894
+ export type EventSessionCompacted = {
895
+ type: "session.compacted";
896
+ properties: {
897
+ sessionID: string;
898
+ };
899
+ };
892
900
  export type EventVcsBranchUpdated = {
893
901
  type: "vcs.branch.updated";
894
902
  properties: {
@@ -909,7 +917,11 @@ export type Session = {
909
917
  projectID: string;
910
918
  directory: string;
911
919
  parentID?: string;
912
- type?: "session_memory_extraction";
920
+ type?: "session_memory_extraction" | "cron";
921
+ /**
922
+ * Cron config name that created this session
923
+ */
924
+ cronName?: string;
913
925
  summary?: {
914
926
  additions: number;
915
927
  deletions: number;
@@ -1009,7 +1021,49 @@ export type EventPtyDeleted = {
1009
1021
  id: string;
1010
1022
  };
1011
1023
  };
1012
- export type Event = EventInstallationUpdated | EventEngineerUpdateAvailable | EventProjectUpdated | EventServerInstanceDisposed | EventServerConnected | EventGlobalDisposed | EventLspClientDiagnostics | EventLspUpdated | EventFileEdited | EventMessageUpdated | EventMessageRemoved | EventMessagePartUpdated | EventMessagePartRemoved | EventPermissionAsked | EventPermissionReplied | EventTuiPromptAppend | EventTuiPromptReplace | EventTuiPromptModeReset | EventTuiCommandExecute | EventTuiToastShow | EventTuiSessionSelect | EventMcpToolsChanged | EventMcpBrowserOpenFailed | EventWorktreeReady | EventWorktreeFailed | EventCommandExecuted | EventSkillCreated | EventSessionStatus | EventSessionIdle | EventQuestionAsked | EventQuestionReplied | EventQuestionRejected | EventTaskNotification | EventSessionMemoryExtracted | EventSessionCompacted | EventFileWatcherUpdated | EventRuleCreated | EventTodoUpdated | EventTeamWorkerStarted | EventTeamWorkerStopped | EventTeamTaskAssigned | EventTeamTaskCompleted | EventTeamTaskFailed | EventTeamMessageReceived | EventTeamMemberHired | EventTeamMemberFired | EventTeamWorkerStatusChanged | EventSpecUpdated | EventMavenIndexReady | EventMavenIndexBuilding | EventVcsBranchUpdated | EventSessionCreated | EventSessionUpdated | EventSessionDeleted | EventSessionDiff | EventSessionError | EventPtyCreated | EventPtyUpdated | EventPtyExited | EventPtyDeleted;
1024
+ export type EventCronCreated = {
1025
+ type: "cron.created";
1026
+ properties: {
1027
+ info: {
1028
+ name: string;
1029
+ description: string;
1030
+ schedule: string;
1031
+ type: "agent" | "command";
1032
+ enabled?: boolean;
1033
+ model?: string;
1034
+ steps?: number;
1035
+ command?: string;
1036
+ location: string;
1037
+ source: "global" | "project";
1038
+ body: string;
1039
+ };
1040
+ };
1041
+ };
1042
+ export type EventCronUpdated = {
1043
+ type: "cron.updated";
1044
+ properties: {
1045
+ info: {
1046
+ name: string;
1047
+ description: string;
1048
+ schedule: string;
1049
+ type: "agent" | "command";
1050
+ enabled?: boolean;
1051
+ model?: string;
1052
+ steps?: number;
1053
+ command?: string;
1054
+ location: string;
1055
+ source: "global" | "project";
1056
+ body: string;
1057
+ };
1058
+ };
1059
+ };
1060
+ export type EventCronDeleted = {
1061
+ type: "cron.deleted";
1062
+ properties: {
1063
+ name: string;
1064
+ };
1065
+ };
1066
+ export type Event = EventInstallationUpdated | EventEngineerUpdateAvailable | EventProjectUpdated | EventServerInstanceDisposed | EventServerConnected | EventGlobalDisposed | EventLspClientDiagnostics | EventLspUpdated | EventFileEdited | EventMessageUpdated | EventMessageRemoved | EventMessagePartUpdated | EventMessagePartRemoved | EventPermissionAsked | EventPermissionReplied | EventExpertCreated | EventTuiPromptAppend | EventTuiPromptReplace | EventTuiPromptModeReset | EventTuiCommandExecute | EventTuiToastShow | EventTuiSessionSelect | EventMcpToolsChanged | EventMcpBrowserOpenFailed | EventRuleCreated | EventQuestionAsked | EventQuestionReplied | EventQuestionRejected | EventFileWatcherUpdated | EventTaskNotification | EventTodoUpdated | EventTeamWorkerStarted | EventTeamWorkerStopped | EventTeamTaskAssigned | EventTeamTaskCompleted | EventTeamTaskFailed | EventTeamMessageReceived | EventTeamMemberHired | EventTeamMemberFired | EventTeamWorkerStatusChanged | EventSpecUpdated | EventSessionStatus | EventSessionIdle | EventMavenIndexReady | EventMavenIndexBuilding | EventWorktreeReady | EventWorktreeFailed | EventCommandExecuted | EventSkillCreated | EventSessionMemoryExtracted | EventSessionCompacted | EventVcsBranchUpdated | EventSessionCreated | EventSessionUpdated | EventSessionDeleted | EventSessionDiff | EventSessionError | EventPtyCreated | EventPtyUpdated | EventPtyExited | EventPtyDeleted | EventCronCreated | EventCronUpdated | EventCronDeleted;
1013
1067
  export type GlobalEvent = {
1014
1068
  directory: string;
1015
1069
  payload: Event;
@@ -1596,9 +1650,13 @@ export type McpLocalConfig = {
1596
1650
  */
1597
1651
  timeout?: number;
1598
1652
  /**
1599
- * Agent name patterns that can access this MCP server. Supports glob wildcards like 'goal_*'. If not set, all agents can access.
1653
+ * Agent name patterns that can access this MCP server. Supports glob wildcards like 'goal_*'. Prefix with '!' for blacklist (e.g. '!goal' excludes goal). If not set, all agents can access.
1600
1654
  */
1601
1655
  agent?: Array<string>;
1656
+ /**
1657
+ * Description of the MCP server's capabilities, injected into leader prompt for task assignment.
1658
+ */
1659
+ description?: string;
1602
1660
  };
1603
1661
  export type McpOAuthConfig = {
1604
1662
  /**
@@ -1642,9 +1700,13 @@ export type McpRemoteConfig = {
1642
1700
  */
1643
1701
  timeout?: number;
1644
1702
  /**
1645
- * Agent name patterns that can access this MCP server. Supports glob wildcards like 'goal_*'. If not set, all agents can access.
1703
+ * Agent name patterns that can access this MCP server. Supports glob wildcards like 'goal_*'. Prefix with '!' for blacklist (e.g. '!goal' excludes goal). If not set, all agents can access.
1646
1704
  */
1647
1705
  agent?: Array<string>;
1706
+ /**
1707
+ * Description of the MCP server's capabilities, injected into leader prompt for task assignment.
1708
+ */
1709
+ description?: string;
1648
1710
  };
1649
1711
  /**
1650
1712
  * @deprecated Always uses stretch layout.
@@ -1719,6 +1781,10 @@ export type Config = {
1719
1781
  */
1720
1782
  paths?: Array<string>;
1721
1783
  };
1784
+ /**
1785
+ * Product names passed to the business knowledge backend (productNames) to scope business_search queries
1786
+ */
1787
+ products?: Array<string>;
1722
1788
  watcher?: {
1723
1789
  ignore?: Array<string>;
1724
1790
  };
@@ -2296,6 +2362,8 @@ export type Agent = {
2296
2362
  [key: string]: unknown;
2297
2363
  };
2298
2364
  steps?: number;
2365
+ expert?: boolean;
2366
+ label?: string;
2299
2367
  };
2300
2368
  export type LspStatus = {
2301
2369
  id: string;
@@ -2932,6 +3000,14 @@ export type SessionListData = {
2932
3000
  * Maximum number of sessions to return
2933
3001
  */
2934
3002
  limit?: number;
3003
+ /**
3004
+ * Filter sessions by cron config name
3005
+ */
3006
+ cronName?: string;
3007
+ /**
3008
+ * Include cron sessions in results
3009
+ */
3010
+ includeCron?: boolean;
2935
3011
  };
2936
3012
  url: "/session";
2937
3013
  };
@@ -2946,7 +3022,8 @@ export type SessionCreateData = {
2946
3022
  body?: {
2947
3023
  parentID?: string;
2948
3024
  title?: string;
2949
- type?: "session_memory_extraction";
3025
+ type?: "session_memory_extraction" | "cron";
3026
+ cronName?: string;
2950
3027
  mode?: "agent" | "plan" | "goal";
2951
3028
  permission?: PermissionRuleset;
2952
3029
  };
@@ -4938,6 +5015,249 @@ export type TeamMessagesResponses = {
4938
5015
  }>;
4939
5016
  };
4940
5017
  export type TeamMessagesResponse = TeamMessagesResponses[keyof TeamMessagesResponses];
5018
+ export type CronListData = {
5019
+ body?: never;
5020
+ path?: never;
5021
+ query?: {
5022
+ directory?: string;
5023
+ };
5024
+ url: "/cron";
5025
+ };
5026
+ export type CronListResponses = {
5027
+ /**
5028
+ * List of cron configs
5029
+ */
5030
+ 200: Array<{
5031
+ name: string;
5032
+ description: string;
5033
+ schedule: string;
5034
+ type: "agent" | "command";
5035
+ enabled?: boolean;
5036
+ model?: string;
5037
+ steps?: number;
5038
+ command?: string;
5039
+ location: string;
5040
+ source: "global" | "project";
5041
+ body: string;
5042
+ }>;
5043
+ };
5044
+ export type CronListResponse = CronListResponses[keyof CronListResponses];
5045
+ export type CronCreateData = {
5046
+ body?: {
5047
+ name: string;
5048
+ description: string;
5049
+ schedule: string;
5050
+ type: "agent" | "command";
5051
+ enabled?: boolean;
5052
+ model?: string;
5053
+ steps?: number;
5054
+ command?: string;
5055
+ body: string;
5056
+ };
5057
+ path?: never;
5058
+ query?: {
5059
+ directory?: string;
5060
+ };
5061
+ url: "/cron";
5062
+ };
5063
+ export type CronCreateErrors = {
5064
+ /**
5065
+ * Bad request
5066
+ */
5067
+ 400: BadRequestError;
5068
+ };
5069
+ export type CronCreateError = CronCreateErrors[keyof CronCreateErrors];
5070
+ export type CronCreateResponses = {
5071
+ /**
5072
+ * Created cron config
5073
+ */
5074
+ 200: {
5075
+ name: string;
5076
+ description: string;
5077
+ schedule: string;
5078
+ type: "agent" | "command";
5079
+ enabled?: boolean;
5080
+ model?: string;
5081
+ steps?: number;
5082
+ command?: string;
5083
+ location: string;
5084
+ source: "global" | "project";
5085
+ body: string;
5086
+ };
5087
+ };
5088
+ export type CronCreateResponse = CronCreateResponses[keyof CronCreateResponses];
5089
+ export type CronDeleteData = {
5090
+ body?: never;
5091
+ path: {
5092
+ name: string;
5093
+ };
5094
+ query?: {
5095
+ directory?: string;
5096
+ };
5097
+ url: "/cron/{name}";
5098
+ };
5099
+ export type CronDeleteErrors = {
5100
+ /**
5101
+ * Bad request
5102
+ */
5103
+ 400: BadRequestError;
5104
+ /**
5105
+ * Not found
5106
+ */
5107
+ 404: NotFoundError;
5108
+ };
5109
+ export type CronDeleteError = CronDeleteErrors[keyof CronDeleteErrors];
5110
+ export type CronDeleteResponses = {
5111
+ /**
5112
+ * Successfully deleted
5113
+ */
5114
+ 200: boolean;
5115
+ };
5116
+ export type CronDeleteResponse = CronDeleteResponses[keyof CronDeleteResponses];
5117
+ export type CronGetData = {
5118
+ body?: never;
5119
+ path: {
5120
+ name: string;
5121
+ };
5122
+ query?: {
5123
+ directory?: string;
5124
+ };
5125
+ url: "/cron/{name}";
5126
+ };
5127
+ export type CronGetErrors = {
5128
+ /**
5129
+ * Bad request
5130
+ */
5131
+ 400: BadRequestError;
5132
+ /**
5133
+ * Not found
5134
+ */
5135
+ 404: NotFoundError;
5136
+ };
5137
+ export type CronGetError = CronGetErrors[keyof CronGetErrors];
5138
+ export type CronGetResponses = {
5139
+ /**
5140
+ * Cron config
5141
+ */
5142
+ 200: {
5143
+ name: string;
5144
+ description: string;
5145
+ schedule: string;
5146
+ type: "agent" | "command";
5147
+ enabled?: boolean;
5148
+ model?: string;
5149
+ steps?: number;
5150
+ command?: string;
5151
+ location: string;
5152
+ source: "global" | "project";
5153
+ body: string;
5154
+ };
5155
+ };
5156
+ export type CronGetResponse = CronGetResponses[keyof CronGetResponses];
5157
+ export type CronUpdateData = {
5158
+ body?: {
5159
+ description?: string;
5160
+ schedule?: string;
5161
+ type?: "agent" | "command";
5162
+ enabled?: boolean;
5163
+ model?: string;
5164
+ steps?: number;
5165
+ command?: string;
5166
+ };
5167
+ path: {
5168
+ name: string;
5169
+ };
5170
+ query?: {
5171
+ directory?: string;
5172
+ };
5173
+ url: "/cron/{name}";
5174
+ };
5175
+ export type CronUpdateErrors = {
5176
+ /**
5177
+ * Bad request
5178
+ */
5179
+ 400: BadRequestError;
5180
+ /**
5181
+ * Not found
5182
+ */
5183
+ 404: NotFoundError;
5184
+ };
5185
+ export type CronUpdateError = CronUpdateErrors[keyof CronUpdateErrors];
5186
+ export type CronUpdateResponses = {
5187
+ /**
5188
+ * Updated cron config
5189
+ */
5190
+ 200: {
5191
+ name: string;
5192
+ description: string;
5193
+ schedule: string;
5194
+ type: "agent" | "command";
5195
+ enabled?: boolean;
5196
+ model?: string;
5197
+ steps?: number;
5198
+ command?: string;
5199
+ location: string;
5200
+ source: "global" | "project";
5201
+ body: string;
5202
+ };
5203
+ };
5204
+ export type CronUpdateResponse = CronUpdateResponses[keyof CronUpdateResponses];
5205
+ export type CronSessionsData = {
5206
+ body?: never;
5207
+ path: {
5208
+ name: string;
5209
+ };
5210
+ query?: {
5211
+ directory?: string;
5212
+ };
5213
+ url: "/cron/{name}/sessions";
5214
+ };
5215
+ export type CronSessionsErrors = {
5216
+ /**
5217
+ * Bad request
5218
+ */
5219
+ 400: BadRequestError;
5220
+ /**
5221
+ * Not found
5222
+ */
5223
+ 404: NotFoundError;
5224
+ };
5225
+ export type CronSessionsError = CronSessionsErrors[keyof CronSessionsErrors];
5226
+ export type CronSessionsResponses = {
5227
+ /**
5228
+ * List of sessions
5229
+ */
5230
+ 200: Array<Session>;
5231
+ };
5232
+ export type CronSessionsResponse = CronSessionsResponses[keyof CronSessionsResponses];
5233
+ export type ExpertListData = {
5234
+ body?: never;
5235
+ path?: never;
5236
+ query?: {
5237
+ directory?: string;
5238
+ };
5239
+ url: "/expert";
5240
+ };
5241
+ export type ExpertListResponses = {
5242
+ /**
5243
+ * List of experts
5244
+ */
5245
+ 200: Array<{
5246
+ name: string;
5247
+ label: string;
5248
+ modality?: "text" | "vision";
5249
+ description: string;
5250
+ resources?: {
5251
+ mcp?: Array<string>;
5252
+ skills?: Array<string>;
5253
+ rules?: Array<string>;
5254
+ tools?: Array<string>;
5255
+ } | null;
5256
+ location: string;
5257
+ content: string;
5258
+ }>;
5259
+ };
5260
+ export type ExpertListResponse = ExpertListResponses[keyof ExpertListResponses];
4941
5261
  export type InstanceDisposeData = {
4942
5262
  body?: never;
4943
5263
  path?: never;
@@ -5103,6 +5423,7 @@ export type AppSkillsResponses = {
5103
5423
  200: Array<{
5104
5424
  name: string;
5105
5425
  description: string;
5426
+ inject?: boolean;
5106
5427
  location: string;
5107
5428
  content: string;
5108
5429
  }>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@engineer-ai/sdk",
4
- "version": "1.6.1",
4
+ "version": "1.7.0",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "scripts": {