@engineer-ai/sdk 1.5.4 → 1.5.6

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/v2/client.js CHANGED
@@ -21,7 +21,7 @@ export function createEngineerClient(config) {
21
21
  // This avoids HTTP header charset restrictions for non-ASCII paths (e.g. Chinese).
22
22
  // The directory held by the client is authoritative: overwrite any existing
23
23
  // value that is empty or differs from the client's directory.
24
- config.fetch = async (input, init) => {
24
+ config.fetch = (async (input, init) => {
25
25
  const request = new Request(input, init);
26
26
  const url = new URL(request.url);
27
27
  const existing = url.searchParams.get("directory");
@@ -29,7 +29,7 @@ export function createEngineerClient(config) {
29
29
  url.searchParams.set("directory", directory);
30
30
  }
31
31
  return userFetch(new Request(url.toString(), request));
32
- };
32
+ });
33
33
  }
34
34
  const client = createClient(config);
35
35
  return new EngineerClient({ client });
@@ -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, 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, 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, EventSubscribeResponses, EventTuiCommandExecute, EventTuiPromptAppend, EventTuiPromptModeReset, EventTuiPromptReplace, EventTuiSessionSelect, EventTuiToastShow, 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";
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
@@ -386,6 +386,15 @@ export declare class Session extends HeyApiClient {
386
386
  sessionID: string;
387
387
  directory?: string;
388
388
  }, options?: Options<never, ThrowOnError>): import("./client/types.gen.js").RequestResult<SessionTodoResponses, SessionTodoErrors, ThrowOnError, "fields">;
389
+ /**
390
+ * Get session spec tree
391
+ *
392
+ * Retrieve the spec file tree associated with a specific session, including the entry spec.md and sub-documents.
393
+ */
394
+ spec<ThrowOnError extends boolean = false>(parameters: {
395
+ sessionID: string;
396
+ directory?: string;
397
+ }, options?: Options<never, ThrowOnError>): import("./client/types.gen.js").RequestResult<SessionSpecResponses, SessionSpecErrors, ThrowOnError, "fields">;
389
398
  /**
390
399
  * Initialize session
391
400
  *
@@ -730,6 +730,26 @@ export class Session extends HeyApiClient {
730
730
  ...params,
731
731
  });
732
732
  }
733
+ /**
734
+ * Get session spec tree
735
+ *
736
+ * Retrieve the spec file tree associated with a specific session, including the entry spec.md and sub-documents.
737
+ */
738
+ spec(parameters, options) {
739
+ const params = buildClientParams([parameters], [
740
+ {
741
+ args: [
742
+ { in: "path", key: "sessionID" },
743
+ { in: "query", key: "directory" },
744
+ ],
745
+ },
746
+ ]);
747
+ return (options?.client ?? this.client).get({
748
+ url: "/session/{sessionID}/spec",
749
+ ...options,
750
+ ...params,
751
+ });
752
+ }
733
753
  /**
734
754
  * Initialize session
735
755
  *
@@ -831,6 +831,48 @@ export type EventTeamWorkerStatusChanged = {
831
831
  currentTask?: string;
832
832
  };
833
833
  };
834
+ export type EventSpecUpdated = {
835
+ type: "spec.updated";
836
+ properties: {
837
+ sessionID: string;
838
+ tree: {
839
+ /**
840
+ * The spec.md root node; absent if no spec exists
841
+ */
842
+ entry?: {
843
+ /**
844
+ * Display name: 'spec.md' for root, filename for children
845
+ */
846
+ name: string;
847
+ /**
848
+ * Absolute file path on disk
849
+ */
850
+ path: string;
851
+ /**
852
+ * 'entry' for spec.md, 'sub' for spec/ children
853
+ */
854
+ type: "entry" | "sub";
855
+ };
856
+ /**
857
+ * Sub-documents under spec/, sorted by filename
858
+ */
859
+ children: Array<{
860
+ /**
861
+ * Display name: 'spec.md' for root, filename for children
862
+ */
863
+ name: string;
864
+ /**
865
+ * Absolute file path on disk
866
+ */
867
+ path: string;
868
+ /**
869
+ * 'entry' for spec.md, 'sub' for spec/ children
870
+ */
871
+ type: "entry" | "sub";
872
+ }>;
873
+ };
874
+ };
875
+ };
834
876
  export type EventMavenIndexReady = {
835
877
  type: "maven.index.ready";
836
878
  properties: {
@@ -966,7 +1008,7 @@ export type EventPtyDeleted = {
966
1008
  id: string;
967
1009
  };
968
1010
  };
969
- 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 | EventMavenIndexReady | EventMavenIndexBuilding | EventVcsBranchUpdated | EventSessionCreated | EventSessionUpdated | EventSessionDeleted | EventSessionDiff | EventSessionError | EventPtyCreated | EventPtyUpdated | EventPtyExited | EventPtyDeleted;
1011
+ 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;
970
1012
  export type GlobalEvent = {
971
1013
  directory: string;
972
1014
  payload: Event;
@@ -3071,6 +3113,72 @@ export type SessionTodoResponses = {
3071
3113
  200: Array<Todo>;
3072
3114
  };
3073
3115
  export type SessionTodoResponse = SessionTodoResponses[keyof SessionTodoResponses];
3116
+ export type SessionSpecData = {
3117
+ body?: never;
3118
+ path: {
3119
+ /**
3120
+ * Session ID
3121
+ */
3122
+ sessionID: string;
3123
+ };
3124
+ query?: {
3125
+ directory?: string;
3126
+ };
3127
+ url: "/session/{sessionID}/spec";
3128
+ };
3129
+ export type SessionSpecErrors = {
3130
+ /**
3131
+ * Bad request
3132
+ */
3133
+ 400: BadRequestError;
3134
+ /**
3135
+ * Not found
3136
+ */
3137
+ 404: NotFoundError;
3138
+ };
3139
+ export type SessionSpecError = SessionSpecErrors[keyof SessionSpecErrors];
3140
+ export type SessionSpecResponses = {
3141
+ /**
3142
+ * Spec tree
3143
+ */
3144
+ 200: {
3145
+ /**
3146
+ * The spec.md root node; absent if no spec exists
3147
+ */
3148
+ entry?: {
3149
+ /**
3150
+ * Display name: 'spec.md' for root, filename for children
3151
+ */
3152
+ name: string;
3153
+ /**
3154
+ * Absolute file path on disk
3155
+ */
3156
+ path: string;
3157
+ /**
3158
+ * 'entry' for spec.md, 'sub' for spec/ children
3159
+ */
3160
+ type: "entry" | "sub";
3161
+ };
3162
+ /**
3163
+ * Sub-documents under spec/, sorted by filename
3164
+ */
3165
+ children: Array<{
3166
+ /**
3167
+ * Display name: 'spec.md' for root, filename for children
3168
+ */
3169
+ name: string;
3170
+ /**
3171
+ * Absolute file path on disk
3172
+ */
3173
+ path: string;
3174
+ /**
3175
+ * 'entry' for spec.md, 'sub' for spec/ children
3176
+ */
3177
+ type: "entry" | "sub";
3178
+ }>;
3179
+ };
3180
+ };
3181
+ export type SessionSpecResponse = SessionSpecResponses[keyof SessionSpecResponses];
3074
3182
  export type SessionInitData = {
3075
3183
  body?: {
3076
3184
  modelID: string;
@@ -4369,6 +4477,10 @@ export type GitCheckResponses = {
4369
4477
  * Error message if CHECK file write failed
4370
4478
  */
4371
4479
  checkFileError?: string;
4480
+ /**
4481
+ * Adoption rate warning, format: taskId=rate|taskId=rate, empty means all pass
4482
+ */
4483
+ rateWarning?: string;
4372
4484
  };
4373
4485
  };
4374
4486
  };
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.5.4",
4
+ "version": "1.5.6",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "scripts": {