@treeseed/sdk 0.10.11 → 0.10.13

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.
Files changed (52) hide show
  1. package/README.md +2 -2
  2. package/dist/api/auth/d1-store.js +20 -1
  3. package/dist/capacity-provider.d.ts +53 -1
  4. package/dist/capacity.d.ts +80 -1
  5. package/dist/capacity.js +687 -8
  6. package/dist/db/d1.d.ts +109 -3227
  7. package/dist/db/index.d.ts +1 -0
  8. package/dist/db/index.js +1 -0
  9. package/dist/db/market-schema.d.ts +43769 -0
  10. package/dist/db/market-schema.js +1878 -0
  11. package/dist/db/node-sqlite.d.ts +109 -3227
  12. package/dist/db/schema.d.ts +226 -5757
  13. package/dist/db/schema.js +35 -226
  14. package/dist/index.d.ts +6 -4
  15. package/dist/index.js +32 -0
  16. package/dist/market-client.d.ts +135 -0
  17. package/dist/market-client.js +134 -1
  18. package/dist/operations/services/commit-message-provider.js +1 -1
  19. package/dist/operations/services/d1-migration.js +0 -59
  20. package/dist/operations/services/deploy.js +5 -1
  21. package/dist/operations/services/github-api.d.ts +83 -0
  22. package/dist/operations/services/github-api.js +167 -0
  23. package/dist/operations/services/local-dev.js +3 -3
  24. package/dist/operations/services/mailpit-runtime.d.ts +13 -2
  25. package/dist/operations/services/mailpit-runtime.js +19 -14
  26. package/dist/operations/services/project-web-monitor.d.ts +15 -0
  27. package/dist/operations/services/project-web-monitor.js +260 -0
  28. package/dist/operations/services/railway-api.js +2 -2
  29. package/dist/operations/services/release-candidate.js +9 -9
  30. package/dist/operations/services/runtime-paths.d.ts +1 -1
  31. package/dist/operations/services/runtime-paths.js +2 -2
  32. package/dist/operations/services/template-registry.js +10 -1
  33. package/dist/operations.d.ts +1 -0
  34. package/dist/operations.js +11 -1
  35. package/dist/platform-operation-store.d.ts +4 -0
  36. package/dist/platform-operation-store.js +29 -3
  37. package/dist/platform-operations.d.ts +8 -0
  38. package/dist/platform-operations.js +19 -0
  39. package/dist/remote.js +6 -6
  40. package/dist/scripts/tenant-d1-migrate-local.js +2 -3
  41. package/dist/scripts/test-cloudflare-local.js +1 -1
  42. package/dist/scripts/workspace-command-e2e.js +3 -1
  43. package/dist/sdk-types.d.ts +281 -3
  44. package/dist/sdk-types.js +5 -1
  45. package/dist/seeds/normalize.js +6 -0
  46. package/dist/seeds/schema.js +61 -1
  47. package/dist/seeds/types.d.ts +32 -0
  48. package/drizzle/d1/0000_treeseed_d1.sql +37 -0
  49. package/drizzle/market/0000_market_control_plane.sql +2929 -0
  50. package/drizzle/market/0001_capacity_budget_mode_default.sql +4 -0
  51. package/drizzle/market/0002_user_email_addresses.sql +26 -0
  52. package/package.json +8 -1
package/dist/db/schema.js CHANGED
@@ -1,240 +1,49 @@
1
- import { index, integer, primaryKey, sqliteTable, text, uniqueIndex } from "drizzle-orm/sqlite-core";
2
- const betterAuthUser = sqliteTable("better_auth_user", {
3
- id: text("id").primaryKey(),
4
- name: text("name").notNull(),
5
- email: text("email").notNull().unique(),
6
- username: text("username").unique(),
7
- firstName: text("firstName"),
8
- lastName: text("lastName"),
9
- emailVerified: integer("emailVerified", { mode: "boolean" }).notNull().default(false),
10
- image: text("image"),
11
- createdAt: integer("createdAt", { mode: "timestamp_ms" }).notNull(),
12
- updatedAt: integer("updatedAt", { mode: "timestamp_ms" }).notNull()
13
- });
14
- const betterAuthSession = sqliteTable("better_auth_session", {
15
- id: text("id").primaryKey(),
16
- expiresAt: integer("expiresAt", { mode: "timestamp_ms" }).notNull(),
17
- token: text("token").notNull().unique(),
18
- createdAt: integer("createdAt", { mode: "timestamp_ms" }).notNull(),
19
- updatedAt: integer("updatedAt", { mode: "timestamp_ms" }).notNull(),
20
- ipAddress: text("ipAddress"),
21
- userAgent: text("userAgent"),
22
- userId: text("userId").notNull().references(() => betterAuthUser.id, { onDelete: "cascade" })
23
- });
24
- const betterAuthAccount = sqliteTable("better_auth_account", {
25
- id: text("id").primaryKey(),
26
- accountId: text("accountId").notNull(),
27
- providerId: text("providerId").notNull(),
28
- userId: text("userId").notNull().references(() => betterAuthUser.id, { onDelete: "cascade" }),
29
- accessToken: text("accessToken"),
30
- refreshToken: text("refreshToken"),
31
- idToken: text("idToken"),
32
- accessTokenExpiresAt: integer("accessTokenExpiresAt", { mode: "timestamp_ms" }),
33
- refreshTokenExpiresAt: integer("refreshTokenExpiresAt", { mode: "timestamp_ms" }),
34
- scope: text("scope"),
35
- password: text("password"),
36
- createdAt: integer("createdAt", { mode: "timestamp_ms" }).notNull(),
37
- updatedAt: integer("updatedAt", { mode: "timestamp_ms" }).notNull()
38
- }, (table) => [
39
- uniqueIndex("idx_better_auth_account_provider_account").on(table.providerId, table.accountId)
40
- ]);
41
- const betterAuthVerification = sqliteTable("better_auth_verification", {
42
- id: text("id").primaryKey(),
43
- identifier: text("identifier").notNull(),
44
- value: text("value").notNull(),
45
- expiresAt: integer("expiresAt", { mode: "timestamp_ms" }).notNull(),
46
- createdAt: integer("createdAt", { mode: "timestamp_ms" }).notNull(),
47
- updatedAt: integer("updatedAt", { mode: "timestamp_ms" }).notNull()
48
- });
49
- const userPreferences = sqliteTable("user_preferences", {
50
- userId: text("user_id").primaryKey().references(() => betterAuthUser.id, { onDelete: "cascade" }),
51
- colorScheme: text("color_scheme").notNull().default("fern"),
52
- themeMode: text("theme_mode").notNull().default("system"),
53
- createdAt: text("created_at").notNull(),
54
- updatedAt: text("updated_at").notNull()
55
- });
56
- const users = sqliteTable("users", {
57
- id: text("id").primaryKey(),
58
- email: text("email"),
59
- username: text("username").unique(),
60
- displayName: text("display_name"),
61
- status: text("status").notNull().default("active"),
62
- metadataJson: text("metadata_json"),
63
- createdAt: text("created_at").notNull(),
64
- updatedAt: text("updated_at").notNull()
65
- });
66
- const userIdentities = sqliteTable("user_identities", {
67
- id: text("id").primaryKey(),
68
- userId: text("user_id").notNull().references(() => users.id, { onDelete: "cascade" }),
69
- provider: text("provider").notNull(),
70
- providerSubject: text("provider_subject").notNull(),
71
- email: text("email"),
72
- emailVerified: integer("email_verified", { mode: "boolean" }).notNull().default(false),
73
- profileJson: text("profile_json"),
74
- createdAt: text("created_at").notNull(),
75
- updatedAt: text("updated_at").notNull()
76
- }, (table) => [
77
- uniqueIndex("idx_user_identities_provider_subject").on(table.provider, table.providerSubject)
78
- ]);
79
- const roles = sqliteTable("roles", {
80
- id: text("id").primaryKey(),
81
- key: text("key").notNull().unique(),
82
- description: text("description"),
83
- createdAt: text("created_at").notNull()
84
- });
85
- const permissions = sqliteTable("permissions", {
86
- id: text("id").primaryKey(),
87
- key: text("key").notNull().unique(),
88
- resource: text("resource").notNull(),
89
- action: text("action").notNull(),
90
- scope: text("scope").notNull(),
91
- description: text("description"),
1
+ import { index, integer, sqliteTable, text, uniqueIndex } from "drizzle-orm/sqlite-core";
2
+ const subscribers = sqliteTable("subscribers", {
3
+ email: text("email").primaryKey(),
92
4
  createdAt: text("created_at").notNull()
93
5
  });
94
- const rolePermissions = sqliteTable("role_permissions", {
95
- roleId: text("role_id").notNull().references(() => roles.id, { onDelete: "cascade" }),
96
- permissionId: text("permission_id").notNull().references(() => permissions.id, { onDelete: "cascade" }),
97
- createdAt: text("created_at").notNull()
98
- }, (table) => [
99
- primaryKey({ columns: [table.roleId, table.permissionId] })
100
- ]);
101
- const userRoleBindings = sqliteTable("user_role_bindings", {
102
- id: text("id").primaryKey(),
103
- userId: text("user_id").notNull().references(() => users.id, { onDelete: "cascade" }),
104
- roleId: text("role_id").notNull().references(() => roles.id, { onDelete: "cascade" }),
105
- createdAt: text("created_at").notNull()
106
- }, (table) => [
107
- uniqueIndex("idx_user_role_bindings_user_role").on(table.userId, table.roleId)
108
- ]);
109
- const teams = sqliteTable("teams", {
110
- id: text("id").primaryKey(),
111
- slug: text("slug").notNull().unique(),
112
- name: text("name").notNull().unique(),
113
- displayName: text("display_name"),
114
- logoUrl: text("logo_url"),
115
- profileSummary: text("profile_summary"),
116
- metadataJson: text("metadata_json"),
117
- createdAt: text("created_at").notNull(),
118
- updatedAt: text("updated_at").notNull()
119
- });
120
- const teamInvites = sqliteTable("team_invites", {
121
- id: text("id").primaryKey(),
122
- teamId: text("team_id").notNull().references(() => teams.id, { onDelete: "cascade" }),
6
+ const contactSubmissions = sqliteTable("contact_submissions", {
7
+ id: integer("id").primaryKey({ autoIncrement: true }),
8
+ name: text("name"),
123
9
  email: text("email").notNull(),
124
- roleKey: text("role_key").notNull(),
125
- tokenPrefix: text("token_prefix").notNull(),
126
- tokenHash: text("token_hash").notNull(),
127
- status: text("status").notNull().default("pending"),
128
- invitedByUserId: text("invited_by_user_id").references(() => users.id, { onDelete: "set null" }),
129
- acceptedByUserId: text("accepted_by_user_id").references(() => users.id, { onDelete: "set null" }),
130
- acceptedAt: text("accepted_at"),
131
- expiresAt: text("expires_at").notNull(),
132
- createdAt: text("created_at").notNull(),
133
- updatedAt: text("updated_at").notNull()
134
- }, (table) => [
135
- index("idx_team_invites_team_status").on(table.teamId, table.status, table.createdAt),
136
- index("idx_team_invites_token_prefix").on(table.tokenPrefix)
137
- ]);
138
- const teamMemberships = sqliteTable("team_memberships", {
139
- id: text("id").primaryKey(),
140
- teamId: text("team_id").notNull().references(() => teams.id, { onDelete: "cascade" }),
141
- userId: text("user_id").notNull().references(() => users.id, { onDelete: "cascade" }),
142
- status: text("status").notNull().default("active"),
143
- createdAt: text("created_at").notNull(),
144
- updatedAt: text("updated_at").notNull()
145
- }, (table) => [
146
- uniqueIndex("idx_team_memberships_team_user").on(table.teamId, table.userId)
147
- ]);
148
- const webSessions = sqliteTable("web_sessions", {
149
- id: text("id").primaryKey(),
150
- userId: text("user_id").notNull().references(() => users.id, { onDelete: "cascade" }),
151
- identityId: text("identity_id"),
152
- betterAuthSessionId: text("better_auth_session_id"),
153
- provider: text("provider").notNull(),
154
- providerSubject: text("provider_subject").notNull(),
155
- email: text("email"),
156
- displayName: text("display_name"),
157
- principalJson: text("principal_json").notNull(),
158
- ipAddress: text("ip_address"),
10
+ organization: text("organization"),
11
+ contactType: text("contact_type"),
12
+ subject: text("subject"),
13
+ message: text("message").notNull(),
159
14
  userAgent: text("user_agent"),
160
- authenticatedAt: text("authenticated_at").notNull(),
161
- lastSeenAt: text("last_seen_at").notNull(),
162
- expiresAt: text("expires_at").notNull(),
163
- revokedAt: text("revoked_at"),
164
- createdAt: text("created_at").notNull(),
165
- updatedAt: text("updated_at").notNull()
166
- });
167
- const projects = sqliteTable("projects", {
168
- id: text("id").primaryKey(),
169
- teamId: text("team_id").notNull().references(() => teams.id, { onDelete: "cascade" }),
170
- slug: text("slug").notNull(),
171
- name: text("name").notNull(),
172
- description: text("description"),
173
- metadataJson: text("metadata_json"),
174
15
  createdAt: text("created_at").notNull(),
175
- updatedAt: text("updated_at").notNull()
16
+ ipHash: text("ip_hash")
176
17
  }, (table) => [
177
- uniqueIndex("idx_projects_team_slug").on(table.teamId, table.slug)
18
+ index("idx_contact_submissions_created_at").on(table.createdAt),
19
+ index("idx_contact_submissions_email").on(table.email)
178
20
  ]);
179
- const remoteJobs = sqliteTable("remote_jobs", {
180
- id: text("id").primaryKey(),
181
- projectId: text("project_id").notNull().references(() => projects.id, { onDelete: "cascade" }),
182
- namespace: text("namespace").notNull(),
183
- operation: text("operation").notNull(),
21
+ const runtimeRecords = sqliteTable("runtime_records", {
22
+ id: integer("id").primaryKey({ autoIncrement: true }),
23
+ recordType: text("record_type").notNull(),
24
+ recordKey: text("record_key").notNull(),
25
+ lookupKey: text("lookup_key"),
26
+ secondaryKey: text("secondary_key"),
184
27
  status: text("status").notNull(),
185
- preferredMode: text("preferred_mode"),
186
- selectedTarget: text("selected_target"),
187
- requestedByType: text("requested_by_type").notNull(),
188
- requestedById: text("requested_by_id"),
189
- inputJson: text("input_json"),
190
- outputJson: text("output_json"),
191
- errorJson: text("error_json"),
192
- idempotencyKey: text("idempotency_key"),
28
+ schemaVersion: integer("schema_version").notNull().default(1),
193
29
  createdAt: text("created_at").notNull(),
194
30
  updatedAt: text("updated_at").notNull(),
195
- startedAt: text("started_at"),
196
- finishedAt: text("finished_at")
197
- });
31
+ expiresAt: text("expires_at"),
32
+ payloadJson: text("payload_json").notNull(),
33
+ metaJson: text("meta_json").notNull()
34
+ }, (table) => [
35
+ index("idx_runtime_records_type_lookup_updated").on(table.recordType, table.lookupKey, table.updatedAt),
36
+ index("idx_runtime_records_type_status_updated").on(table.recordType, table.status, table.updatedAt),
37
+ uniqueIndex("idx_runtime_records_type_record_key").on(table.recordType, table.recordKey)
38
+ ]);
198
39
  const treeseedSchema = {
199
- better_auth_user: betterAuthUser,
200
- better_auth_session: betterAuthSession,
201
- better_auth_account: betterAuthAccount,
202
- better_auth_verification: betterAuthVerification,
203
- userPreferences,
204
- user: betterAuthUser,
205
- session: betterAuthSession,
206
- account: betterAuthAccount,
207
- verification: betterAuthVerification,
208
- users,
209
- userIdentities,
210
- roles,
211
- permissions,
212
- rolePermissions,
213
- userRoleBindings,
214
- teams,
215
- teamInvites,
216
- teamMemberships,
217
- webSessions,
218
- projects,
219
- remoteJobs
40
+ subscribers,
41
+ contactSubmissions,
42
+ runtimeRecords
220
43
  };
221
44
  export {
222
- betterAuthAccount,
223
- betterAuthSession,
224
- betterAuthUser,
225
- betterAuthVerification,
226
- permissions,
227
- projects,
228
- remoteJobs,
229
- rolePermissions,
230
- roles,
231
- teamInvites,
232
- teamMemberships,
233
- teams,
234
- treeseedSchema,
235
- userIdentities,
236
- userPreferences,
237
- userRoleBindings,
238
- users,
239
- webSessions
45
+ contactSubmissions,
46
+ runtimeRecords,
47
+ subscribers,
48
+ treeseedSchema
240
49
  };
package/dist/index.d.ts CHANGED
@@ -7,7 +7,9 @@ export * from './seeds/index.ts';
7
7
  export { CAPACITY_PROVIDER_ENDPOINTS, CAPACITY_PROVIDER_DEPLOYMENT_SERVICE_ROLES, CAPACITY_PROVIDER_ENV_KEYS, CAPACITY_PROVIDER_SCOPES, CapacityProviderApiError, MarketProviderClient, assertCapacityProviderOkEnvelope, assertCapacityProviderPortfolioManifest, assertCapacityProviderRegistrationResponse, buildCapacityProviderAuthHeaders, deployCapacityProviderToManagedMarketHost, deployCapacityProviderToRailway, isCapacityProviderSecretEnvKey, redactCapacityProviderEnv, redactCapacityProviderSecret, renderCapacityProviderSelfHostInstructions, persistCapacityProviderConnectionToTreeseedConfig, resolveCapacityProviderEnvironment, resolveCapacityProviderLaunchEnvironment, } from './capacity-provider.ts';
8
8
  export { PLATFORM_OPERATION_ENDPOINTS, PLATFORM_OPERATION_NAMESPACES, PLATFORM_OPERATION_SCOPES, PLATFORM_OPERATION_STATUSES, PLATFORM_OPERATION_TARGETS, PlatformOperationApiError, PlatformRunnerClient, assertPlatformOperation, assertPlatformOperationEvent, assertPlatformOperationOkEnvelope, buildPlatformRunnerAuthHeaders, createPlatformOperationExecutorRegistry, derivePlatformOperationNavigation, isPlatformOperationSuccessful, isPlatformOperationTerminal, pollPlatformOperation, runPlatformOperationOnce, type PlatformOperation, type PlatformOperationEvent, type PlatformOperationNavigationResult, type PlatformOperationPollOptions, type PlatformOperationPollResult, } from './platform-operations.ts';
9
9
  export { PLATFORM_CONTENT_COLLECTIONS, PLATFORM_WORK_CONTENT_COLLECTIONS, createPlatformRepositoryClaim, derivePlatformRepositoryKey, executePlatformRepositoryOperation, normalizePlatformContentInput, normalizePlatformRelationArray, platformContentRelationPolicy, resolvePlatformRepositoryWorkspacePath, slugifyPlatformContent, type PlatformContentCollection, type PlatformRepositoryClaim, type PlatformRepositoryClaimInput, type PlatformRepositoryDescriptor, type PlatformRepositoryOperationInput, type PlatformRepositoryOperationOptions, type PlatformRepositoryOperationResult, type PlatformRepositoryPathPolicy, type PlatformRepositoryVerificationCommand, type PlatformRepositoryVerificationResult, type NormalizedPlatformContentInput, } from './operations/repository-operations.ts';
10
- export { DEFAULT_EXECUTION_PROFILE_ID, DEFAULT_EXECUTION_PROFILES, DEFAULT_TASK_ADMISSION_POLICY, buildTaskEstimateProfileFromActuals, computeWorkdayBudgetEnvelope, decideTaskAdmission, estimateAttentionForTask, estimateConfidenceFromProfile, estimateLearningPercentile, estimateLearningVariance, estimateForClassification, estimateProfileConfidenceScore, estimateUtilityForTask, isInterruptedUsageActual, normalizeHybridExecutionPlan, mutationRequiresRepositoryClaim, normalizePlanningPolicy, normalizePredictiveReservePolicy, normalizeTaskPlanProposal, normalizeExecutionProfile, normalizeAttentionPolicy, normalizeTaskAdmissionPolicy, normalizeUtilityPolicy, predictReserveForCapacityPlan, progressivelyAdmitPlanProposal, rankPlannedTaskNodes, reservationHasCapacity, reserveCreditsForEstimate, routeAndReserveCapacity, scoreCapacityLane, selectBestCapacityLane, selectTaskEstimateProfile, settleCapacityActuals, shouldInterruptForCapacity, synthesizePlanEstimate, createReservationReleaseEntry, summarizeCapacityPlan, summarizeProjectCapacityPlan, summarizeTeamCapacityPlan, validateTaskPlanProposal, } from './capacity.ts';
10
+ export { cancelGitHubWorkflowRun, dispatchGitHubWorkflowRun, formatGitHubWorkflowFailure, getGitHubWorkflowFileStatus, getLatestGitHubWorkflowRun, waitForGitHubWorkflowRunCompletion, type GitHubWorkflowCancellationResult, type GitHubWorkflowDispatchResult, type GitHubWorkflowFailureSummary, type GitHubWorkflowFailureSummaryInput, type GitHubWorkflowFileStatus, type GitHubWorkflowProgressEvent, } from './operations/services/github-api.ts';
11
+ export { buildProjectWebMonitorResult, } from './operations/services/project-web-monitor.ts';
12
+ export { DEFAULT_EXECUTION_PROFILE_ID, DEFAULT_EXECUTION_PROFILES, DEFAULT_TASK_ADMISSION_POLICY, buildTaskEstimateProfileFromActuals, computeWorkdayBudgetEnvelope, decideTaskAdmission, estimateAttentionForTask, estimateConfidenceFromProfile, estimateLearningPercentile, estimateLearningVariance, estimateForClassification, estimateProfileConfidenceScore, estimateUtilityForTask, isInterruptedUsageActual, normalizeHybridExecutionPlan, mutationRequiresRepositoryClaim, normalizePlanningPolicy, normalizePredictiveReservePolicy, normalizeTaskPlanProposal, normalizeExecutionProfile, normalizeAttentionPolicy, normalizeTaskAdmissionPolicy, normalizeUtilityPolicy, predictReserveForCapacityPlan, progressivelyAdmitPlanProposal, rankPlannedTaskNodes, reservationHasCapacity, reserveCreditsForEstimate, routeAndReserveCapacity, scoreCapacityLane, selectBestCapacityLane, selectTaskEstimateProfile, ACTUAL_CREDIT_FORMULA_VERSION, buildCreditConversionProfileFromActuals, calculateActualCredits, deriveAvailableCredits, nativeUsageAmount, nativeUsageUnit, selectCreditConversionProfile, settleCapacityActuals, shouldInterruptForCapacity, synthesizePlanEstimate, createReservationReleaseEntry, summarizeCapacityPlan, summarizeProjectCapacityPlan, summarizeTeamCapacityPlan, validateTaskPlanProposal, } from './capacity.ts';
11
13
  export { executeKnowledgeHubProviderLaunch, validateKnowledgeHubProviderLaunchPrerequisites, } from './operations/services/hub-provider-launch.ts';
12
14
  export { createKnowledgeHubRepositories, defaultHubContentResolutionPolicy, executeKnowledgeHubLaunch, normalizeKnowledgeHubLaunchIntent, planKnowledgeHubLaunch, planKnowledgeHubRepositories, validateRepositoryHost, type HubContentResolutionPolicy, type KnowledgeHubLaunchIntent, type KnowledgeHubLaunchPhase, type KnowledgeHubLaunchPlan, type KnowledgeHubLaunchResult, type KnowledgeHubRepositoryPlan, type RepositoryHost, } from './operations/services/hub-launch.ts';
13
15
  export { ensureRailwayEnvironment, ensureRailwayProject, ensureRailwayService, getRailwayAuthProfile, listRailwayEnvironments, listRailwayProjects, listRailwayServices, listRailwayVariables, railwayGraphqlRequest, resolveRailwayApiToken, resolveRailwayApiUrl, resolveRailwayWorkspace, resolveRailwayWorkspaceContext, upsertRailwayVariables, } from './operations/services/railway-api.ts';
@@ -38,12 +40,12 @@ export { TreeseedWorkflowSdk } from './workflow.ts';
38
40
  export * from './db/index.ts';
39
41
  export { collectTreeseedReconcileStatus, createTreeseedReconcileRegistry, deriveTreeseedDesiredUnits, destroyTreeseedTargetUnits, observeTreeseedUnits, planTreeseedReconciliation, reconcileTreeseedTarget, } from './reconcile/index.ts';
40
42
  export { getTreeseedVerifyDriverStatus, runTreeseedVerifyDriver } from './verification.ts';
41
- export type { KnowledgeHubProviderLaunchPreflightReport, KnowledgeHubProviderLaunchFailurePhase, KnowledgeHubProviderLaunchInput, KnowledgeHubProviderLaunchResult, AgentMessageKind, AgentMessageRecord, AgentStatusRecord, DirectBoardItemSummary, InboxItem, ProjectJobStatus, LaunchProjectRequest, LaunchProjectResult, LinkedProjectRecordRef, ProjectConnectionStatus, ProjectOverviewSummary, ReleaseDetail, ReleaseState, ReleaseSummary, SharePackageState, SharePackageStatus, TeamCapability, TeamHomeSummary, TeamMemberSummary, WorkstreamDetail, WorkstreamEvent, WorkstreamState, WorkstreamSummary, SdkContentEntry, SdkDispatchCapability, SdkDispatchConfig, SdkDispatchCredentialSource, SdkDispatchExecutionClass, SdkDispatchNamespace, SdkDispatchPolicy, SdkDispatchRequest, SdkDispatchResult, SdkDispatchTarget, SdkCursorEntity, SdkFilterCondition, SdkFollowRequest, SdkGraphEdge, SdkGraphEdgeType, SdkGraphDslRelation, SdkGraphDslParseResult, SdkGraphModelConfig, SdkGraphNode, SdkGraphNodeType, SdkGraphPathExplanation, SdkGraphQueryStage, SdkGraphQueryView, SdkGraphQueryOptions, SdkGraphQueryRequest, SdkGraphQueryResult, SdkGraphRankingBuildInput, SdkGraphRankingDiagnostics, SdkGraphRankingIndex, SdkGraphRankingNodeResult, SdkGraphRankingProvider, SdkGraphRankingQueryRequest, SdkGraphRankingQueryResult, SdkGraphRankingSearchRequest, SdkGraphRefreshPayload, SdkGraphRefreshRequest, SdkGraphSearchOptions, SdkGraphSearchResult, SdkGraphSeed, SdkGraphSeedResolution, SdkGraphTraversalResult, SdkGraphWhereFilter, SdkContextPack, SdkContextPackRequest, SdkGetRequest, SdkJsonEnvelope, SdkLeaseEntity, SdkManagerContextPayload, SdkMessageEntity, SdkModelFieldBinding, SdkModelDefinition, SdkModelRegistry, SdkModelName, SdkMutationRequest, SdkOperation, SdkPickRequest, SdkPickResult, SdkQueueMessageEnvelope, SdkRunEntity, SdkSearchRequest, SdkTaskEntity, SdkTaskEventEntity, SdkTaskOutputEntity, SdkWorkDayEntity, SdkGraphRunEntity, SdkReportEntity, SdkSubscriptionEntity, SdkTemplateCatalogEntry, SdkTemplateCatalogPublisher, SdkTemplateCatalogResponse, SdkTemplateCatalogSource, SdkUpdateRequest, ProjectCapabilityGrant, ProjectConnection, ProjectConnectionMode, ProjectDeployment, ProjectDeploymentKind, ProjectDeploymentStatus, ProjectEnvironment, ProjectExecutionOwner, ProjectHosting, ProjectInfrastructureResource, ProjectInfrastructureResourceKind, ProjectInfrastructureResourceProvider, ProjectRunnerRegistrationState, RemoteJob, RemoteJobEvent, RemoteJobStatus, AgentPool, AgentPoolAutoscalePolicy, AgentPoolRegistration, AgentPoolScaleDecision, AgentPoolStatus, CatalogArtifactVersion, CatalogItem, CatalogItemFilters, CatalogItemOfferMode, ProjectEnvironmentName, ProjectWorkdaySummary, TreeseedHostingKind, TreeseedHostingRegistration, PriorityOverride, WorkdayWindow, WorkdaySchedule, WorkdayRequest, WorkdayManagerLease, WorkerRunner, WorkerRunnerState, RepositoryClaim, TaskCreditWeight, TaskCreditBudget, WorkdayPolicy, PrioritySnapshotItem, PrioritySnapshot, TaskCreditLedgerEntry, ApprovalRequest, DecideApprovalRequestRequest, ListApprovalRequestsRequest, CapacityBusinessModel, CapacityGrant, CapacityGrantScope, CapacityLedgerEntry, CapacityLaneUnit, CapacityPlan, CapacityProvider, CapacityProviderHost, CapacityProviderKind, CapacityProviderLane, CapacityReservation, CapacityRoutingDecision, CapacityTaskExecutionEnvelope, CanonicalTaskState, CreateApprovalRequestRequest, CreateCapacityReservationRequest, CreateCapacityRoutingDecisionRequest, CreateTaskEstimateRequest, CreateTaskUsageActualRequest, UpsertTeamInboxItemRequest, ExecutionProfile, HybridExecutionPhase, HybridExecutionPlan, PlannedTaskNode, PlanningAdmissionResult, PlanningPolicy, PredictiveReservePolicy, RecordCapacityUsageRequest, RepositoryWorkState, ReservePrediction, TaskAdmissionDecision, TaskAdmissionOutcome, TaskAdmissionPolicy, TaskClassification, TaskEstimate, TaskEstimateProfile, TaskCheckpointArtifact, TaskConcurrencyClass, TaskPlanProposal, TaskMutationScope, TaskRiskClass, TaskUsageActual, UtilityEstimate, UtilityPolicy, UpsertCapacityGrantRequest, UpsertCapacityProviderHostRequest, UpsertCapacityProviderLaneRequest, UpsertCapacityProviderRequest, ScaleDecision, RunnerScaleDecision, TeamStorageLocator, TeamWebHost, TeamWebHostOwnership, TeamWebHostProvider, EncryptedWebHostPayload, UpsertAgentPoolRequest, UpsertCatalogArtifactVersionRequest, UpsertCatalogItemRequest, UpsertProjectEnvironmentRequest, UpsertProjectHostingRequest, UpsertProjectInfrastructureResourceRequest, UpsertTeamStorageLocatorRequest, UpsertTeamWebHostRequest, CreateProjectDeploymentRequest, RecordAgentPoolRegistrationRequest, SdkAppendTaskEventRequest, SdkClaimTaskRequest, SdkCreateWorkdayRequest, SdkCloseWorkDayRequest, SdkCompleteTaskRequest, SdkCreateTaskRequest, SdkFailTaskRequest, SdkManagerContextPayload, SdkClaimWorkdayManagerLeaseRequest, SdkReleaseWorkdayManagerLeaseRequest, SdkRecordWorkerRunnerRequest, SdkRecordRepositoryClaimRequest, SdkRecordRunnerScaleDecisionRequest, SdkStartWorkDayRequest, SdkTaskEntity, SdkTaskEventEntity, SdkTaskOutputEntity, SdkTaskProgressRequest, SdkTaskSearchRequest, SdkUpdateWorkDayGraphRequest, SdkWorkDayEntity, WorkerPoolScaleResult, WorkerPoolScaler, } from './sdk-types.ts';
43
+ export type { KnowledgeHubProviderLaunchPreflightReport, KnowledgeHubProviderLaunchFailurePhase, KnowledgeHubProviderLaunchInput, KnowledgeHubProviderLaunchResult, AgentMessageKind, AgentMessageRecord, AgentStatusRecord, DirectBoardItemSummary, InboxItem, ProjectJobStatus, LaunchProjectRequest, LaunchProjectResult, LinkedProjectRecordRef, ProjectConnectionStatus, ProjectOverviewSummary, ReleaseDetail, ReleaseState, ReleaseSummary, SharePackageState, SharePackageStatus, TeamCapability, TeamHomeSummary, TeamMemberSummary, WorkstreamDetail, WorkstreamEvent, WorkstreamState, WorkstreamSummary, SdkContentEntry, SdkDispatchCapability, SdkDispatchConfig, SdkDispatchCredentialSource, SdkDispatchExecutionClass, SdkDispatchNamespace, SdkDispatchPolicy, SdkDispatchRequest, SdkDispatchResult, SdkDispatchTarget, SdkCursorEntity, SdkFilterCondition, SdkFollowRequest, SdkGraphEdge, SdkGraphEdgeType, SdkGraphDslRelation, SdkGraphDslParseResult, SdkGraphModelConfig, SdkGraphNode, SdkGraphNodeType, SdkGraphPathExplanation, SdkGraphQueryStage, SdkGraphQueryView, SdkGraphQueryOptions, SdkGraphQueryRequest, SdkGraphQueryResult, SdkGraphRankingBuildInput, SdkGraphRankingDiagnostics, SdkGraphRankingIndex, SdkGraphRankingNodeResult, SdkGraphRankingProvider, SdkGraphRankingQueryRequest, SdkGraphRankingQueryResult, SdkGraphRankingSearchRequest, SdkGraphRefreshPayload, SdkGraphRefreshRequest, SdkGraphSearchOptions, SdkGraphSearchResult, SdkGraphSeed, SdkGraphSeedResolution, SdkGraphTraversalResult, SdkGraphWhereFilter, SdkContextPack, SdkContextPackRequest, SdkGetRequest, SdkJsonEnvelope, SdkLeaseEntity, SdkManagerContextPayload, SdkMessageEntity, SdkModelFieldBinding, SdkModelDefinition, SdkModelRegistry, SdkModelName, SdkMutationRequest, SdkOperation, SdkPickRequest, SdkPickResult, SdkQueueMessageEnvelope, SdkRunEntity, SdkSearchRequest, SdkTaskEntity, SdkTaskEventEntity, SdkTaskOutputEntity, SdkWorkDayEntity, SdkGraphRunEntity, SdkReportEntity, SdkSubscriptionEntity, SdkTemplateCatalogEntry, SdkTemplateCatalogPublisher, SdkTemplateCatalogResponse, SdkTemplateCatalogSource, SdkUpdateRequest, ProjectCapabilityGrant, ProjectConnection, ProjectConnectionMode, ProjectDeployment, ProjectDeploymentActionAvailability, ProjectDeploymentEnvironment, ProjectDeploymentEvent, ProjectDeploymentKind, ProjectDeploymentReadiness, ProjectDeploymentStatus, ProjectEnvironment, ProjectExecutionOwner, ProjectWebDeploymentAction, ProjectWebMonitorCheck, ProjectWebMonitorCheckSource, ProjectWebMonitorCheckStatus, ProjectWebMonitorResult, ProjectWebMonitorStatus, ProjectHosting, ProjectInfrastructureResource, ProjectInfrastructureResourceKind, ProjectInfrastructureResourceProvider, ProjectRunnerRegistrationState, RemoteJob, RemoteJobEvent, RemoteJobStatus, AgentPool, AgentPoolAutoscalePolicy, AgentPoolRegistration, AgentPoolScaleDecision, AgentPoolStatus, CatalogArtifactVersion, CatalogItem, CatalogItemFilters, CatalogItemOfferMode, ProjectEnvironmentName, ProjectWorkdaySummary, TreeseedHostingKind, TreeseedHostingRegistration, PriorityOverride, WorkdayWindow, WorkdaySchedule, WorkdayRequest, WorkdayManagerLease, WorkerRunner, WorkerRunnerState, RepositoryClaim, TaskCreditWeight, TaskCreditBudget, WorkdayPolicy, PrioritySnapshotItem, PrioritySnapshot, TaskCreditLedgerEntry, ApprovalRequest, DecideApprovalRequestRequest, ListApprovalRequestsRequest, CapacityBusinessModel, CapacityGrant, CapacityGrantScope, CapacityLedgerEntry, CapacityLaneUnit, CapacityPlan, CapacityProvider, CapacityProviderHost, CapacityProviderKind, CapacityProviderLane, CapacityReservation, CapacityRoutingDecision, CapacityTaskExecutionEnvelope, CanonicalTaskState, CreateApprovalRequestRequest, CreateCapacityReservationRequest, CreateCapacityRoutingDecisionRequest, CreateTaskEstimateRequest, CreateTaskUsageActualRequest, CreditConversionProfile, DerivedCapacityAvailability, DerivedCapacityInput, DerivedCapacitySummary, NativeUsageObservation, UpsertTeamInboxItemRequest, ExecutionProfile, HybridExecutionPhase, HybridExecutionPlan, PlannedTaskNode, PlanningAdmissionResult, PlanningPolicy, PredictiveReservePolicy, RecordCapacityUsageRequest, RepositoryWorkState, ReservePrediction, TaskAdmissionDecision, TaskAdmissionOutcome, TaskAdmissionPolicy, TaskClassification, TaskEstimate, TaskEstimateProfile, TaskCheckpointArtifact, TaskConcurrencyClass, TaskPlanProposal, TaskMutationScope, TaskRiskClass, TaskUsageActual, UtilityEstimate, UtilityPolicy, UpsertCapacityGrantRequest, UpsertCapacityProviderHostRequest, UpsertCapacityProviderLaneRequest, UpsertCapacityProviderRequest, ScaleDecision, RunnerScaleDecision, TeamStorageLocator, TeamWebHost, TeamWebHostOwnership, TeamWebHostProvider, EncryptedWebHostPayload, UpsertAgentPoolRequest, UpsertCatalogArtifactVersionRequest, UpsertCatalogItemRequest, UpsertProjectEnvironmentRequest, UpsertProjectHostingRequest, UpsertProjectInfrastructureResourceRequest, UpsertTeamStorageLocatorRequest, UpsertTeamWebHostRequest, CreateProjectDeploymentRequest, CreateProjectWebDeploymentRequest, CreateProjectWebDeploymentResponse, RecordAgentPoolRegistrationRequest, SdkAppendTaskEventRequest, SdkClaimTaskRequest, SdkCreateWorkdayRequest, SdkCloseWorkDayRequest, SdkCompleteTaskRequest, SdkCreateTaskRequest, SdkFailTaskRequest, SdkManagerContextPayload, SdkClaimWorkdayManagerLeaseRequest, SdkReleaseWorkdayManagerLeaseRequest, SdkRecordWorkerRunnerRequest, SdkRecordRepositoryClaimRequest, SdkRecordRunnerScaleDecisionRequest, SdkStartWorkDayRequest, SdkTaskEntity, SdkTaskEventEntity, SdkTaskOutputEntity, SdkTaskProgressRequest, SdkTaskSearchRequest, SdkUpdateWorkDayGraphRequest, SdkWorkDayEntity, WorkerPoolScaleResult, WorkerPoolScaler, } from './sdk-types.ts';
42
44
  export type * from './project-workflow.ts';
43
45
  export type { ControlPlaneAgentPoolHeartbeat, ControlPlaneDeploymentReport, ControlPlaneEnvironmentReport, ControlPlaneReporter, ControlPlaneReporterKind, ControlPlaneResourceReport, ControlPlaneScaleDecisionReport, ControlPlaneWorkdaySummaryReport, } from './control-plane.ts';
44
46
  export type { ControlPlaneClientOptions } from './control-plane-client.ts';
45
- export type { CapacityProviderBudgetCapacity, CapacityProviderCapability, CapacityProviderConnectionState, CapacityProviderDeploymentIntent, CapacityProviderDeploymentResult, CapacityProviderDeploymentStatus, CapacityProviderEnvironmentInput, CapacityProviderEnvironmentName, CapacityProviderHealthState, CapacityProviderHeartbeatRequest, CapacityProviderHeartbeatResponse, CapacityProviderLaunchMode, CapacityProviderLaunchEnvironment, CapacityProviderLaunchEnvironmentInput, CapacityProviderConnectionConfigInput, CapacityProviderConnectionConfigResult, CapacityProviderPortfolioManifest, CapacityProviderPortfolioProject, CapacityProviderRegistrationRequest, CapacityProviderRegistrationResponse, CapacityProviderRuntimeInfo, CapacityProviderScope, CapacityProviderSelfHostInstructions, CapacityProviderStatus, MarketProviderClientOptions, ProviderReportRequest, ProviderReportResponse, ProviderTaskClaimRequest, ProviderTaskClaimResponse, ProviderTaskCompleteRequest, ProviderTaskCompleteResponse, ProviderTaskEventRequest, ProviderTaskEventResponse, ProviderTaskFailRequest, ProviderTaskFailResponse, ProviderUsageReport, ProviderUsageReportResponse, ProviderWorkdayRequest, ProviderWorkdayResponse, } from './capacity-provider.ts';
46
- export type { AdmissionEstimateInput, CapacityInterruptionInput, CapacityEstimateInput, CapacityLaneCandidate, CapacityLaneScore, CapacityTaskEstimate, AttentionEstimate, AttentionPolicy, CapacityRoutePressure, RouteAndReserveCandidate, RouteAndReserveResult, TaskAdmissionInput, WorkdayBudgetEnvelopeInput, } from './capacity.ts';
47
+ export type { CapacityProviderBudgetCapacity, CapacityProviderCapability, CapacityProviderConnectionState, CapacityProviderDeploymentIntent, CapacityProviderDeploymentResult, CapacityProviderDeploymentStatus, CapacityProviderEnvironmentInput, CapacityProviderEnvironmentName, CapacityProviderHealthState, CapacityProviderHeartbeatRequest, CapacityProviderHeartbeatResponse, CapacityProviderLaunchMode, CapacityProviderLaunchEnvironment, CapacityProviderLaunchEnvironmentInput, CapacityProviderConnectionConfigInput, CapacityProviderConnectionConfigResult, CapacityProviderPortfolioManifest, CapacityProviderPortfolioProject, CapacityProviderRegistrationRequest, CapacityProviderRegistrationResponse, CapacityProviderRuntimeInfo, CapacityProviderScope, CapacityProviderSelfHostInstructions, CapacityProviderStatus, CapacityProviderNativeCapacity, ExecutionProviderNativeCapacity, ExecutionProviderNativeLimitCapacity, ExecutionProviderObservationCapacity, MarketProviderClientOptions, NativeCapacityConfidence, NativeCapacityLimitScope, NativeCapacityLimitSource, NativeCapacityUnit, ProviderQuotaVisibility, ProviderReportRequest, ProviderReportResponse, ProviderTaskClaimRequest, ProviderTaskClaimResponse, ProviderTaskCompleteRequest, ProviderTaskCompleteResponse, ProviderTaskEventRequest, ProviderTaskEventResponse, ProviderTaskFailRequest, ProviderTaskFailResponse, ProviderUsageReport, ProviderUsageReportResponse, ProviderWorkdayRequest, ProviderWorkdayResponse, } from './capacity-provider.ts';
48
+ export type { AdmissionEstimateInput, CapacityInterruptionInput, CapacityEstimateInput, CapacityLaneCandidate, CapacityLaneScore, CapacityTaskEstimate, AttentionEstimate, AttentionPolicy, CapacityRouteNativePressure, CapacityRoutePressure, ActualCreditCalculation, ActualCreditCalculationInput, RouteAndReserveCandidate, RouteAndReserveResult, TaskAdmissionInput, WorkdayBudgetEnvelopeInput, } from './capacity.ts';
47
49
  export type { TreeseedFieldAliasBinding, TreeseedFieldAliasRegistry, } from './field-aliases.ts';
48
50
  export type * from './operations-types.ts';
49
51
  export type * from './workflow.ts';
package/dist/index.js CHANGED
@@ -56,6 +56,17 @@ import {
56
56
  resolvePlatformRepositoryWorkspacePath,
57
57
  slugifyPlatformContent
58
58
  } from "./operations/repository-operations.js";
59
+ import {
60
+ cancelGitHubWorkflowRun,
61
+ dispatchGitHubWorkflowRun,
62
+ formatGitHubWorkflowFailure,
63
+ getGitHubWorkflowFileStatus,
64
+ getLatestGitHubWorkflowRun,
65
+ waitForGitHubWorkflowRunCompletion
66
+ } from "./operations/services/github-api.js";
67
+ import {
68
+ buildProjectWebMonitorResult
69
+ } from "./operations/services/project-web-monitor.js";
59
70
  import {
60
71
  DEFAULT_EXECUTION_PROFILE_ID,
61
72
  DEFAULT_EXECUTION_PROFILES,
@@ -89,6 +100,13 @@ import {
89
100
  scoreCapacityLane,
90
101
  selectBestCapacityLane,
91
102
  selectTaskEstimateProfile,
103
+ ACTUAL_CREDIT_FORMULA_VERSION,
104
+ buildCreditConversionProfileFromActuals,
105
+ calculateActualCredits,
106
+ deriveAvailableCredits,
107
+ nativeUsageAmount,
108
+ nativeUsageUnit,
109
+ selectCreditConversionProfile,
92
110
  settleCapacityActuals,
93
111
  shouldInterruptForCapacity,
94
112
  synthesizePlanEstimate,
@@ -296,6 +314,7 @@ import {
296
314
  import { getTreeseedVerifyDriverStatus, runTreeseedVerifyDriver } from "./verification.js";
297
315
  import { CloudflareHttpD1Database } from "./d1-http.js";
298
316
  export {
317
+ ACTUAL_CREDIT_FORMULA_VERSION,
299
318
  AGENT_MESSAGE_KINDS,
300
319
  AGENT_OPERATION_MODES,
301
320
  AGENT_OPERATION_NAMES,
@@ -365,12 +384,16 @@ export {
365
384
  buildBuiltinModelRegistry,
366
385
  buildCapacityProviderAuthHeaders,
367
386
  buildCopilotAllowToolArgs,
387
+ buildCreditConversionProfileFromActuals,
368
388
  buildKnowledgePackMarketPackage,
369
389
  buildModelRegistry,
370
390
  buildPlatformRunnerAuthHeaders,
391
+ buildProjectWebMonitorResult,
371
392
  buildScopedModelRegistry,
372
393
  buildTaskEstimateProfileFromActuals,
373
394
  buildTemplateMarketPackage,
395
+ calculateActualCredits,
396
+ cancelGitHubWorkflowRun,
374
397
  canonicalizeFrontmatter,
375
398
  clearMarketSession,
376
399
  collectTreeseedDependencyStatus,
@@ -399,10 +422,12 @@ export {
399
422
  deniedAgentOperationResult,
400
423
  deployCapacityProviderToManagedMarketHost,
401
424
  deployCapacityProviderToRailway,
425
+ deriveAvailableCredits,
402
426
  derivePlatformOperationNavigation,
403
427
  derivePlatformRepositoryKey,
404
428
  deriveTreeseedDesiredUnits,
405
429
  destroyTreeseedTargetUnits,
430
+ dispatchGitHubWorkflowRun,
406
431
  ensureRailwayEnvironment,
407
432
  ensureRailwayProject,
408
433
  ensureRailwayService,
@@ -420,7 +445,10 @@ export {
420
445
  findDispatchCapability,
421
446
  findSdkOperation,
422
447
  findTreeseedOperation,
448
+ formatGitHubWorkflowFailure,
423
449
  formatTreeseedDependencyReport,
450
+ getGitHubWorkflowFileStatus,
451
+ getLatestGitHubWorkflowRun,
424
452
  getRailwayAuthProfile,
425
453
  getTenantContentRoot,
426
454
  getTreeseedVerifyDriverStatus,
@@ -446,6 +474,8 @@ export {
446
474
  loadTreeseedTenantManifest,
447
475
  mergeModelRegistries,
448
476
  mutationRequiresRepositoryClaim,
477
+ nativeUsageAmount,
478
+ nativeUsageUnit,
449
479
  normalizeAgentCliOptions,
450
480
  normalizeAliasedRecord,
451
481
  normalizeAttentionPolicy,
@@ -525,6 +555,7 @@ export {
525
555
  runTreeseedVerifyDriver,
526
556
  scoreCapacityLane,
527
557
  selectBestCapacityLane,
558
+ selectCreditConversionProfile,
528
559
  selectTaskEstimateProfile,
529
560
  setActiveMarketProfile,
530
561
  setMarketSession,
@@ -545,5 +576,6 @@ export {
545
576
  validateTaskPlanProposal,
546
577
  verifyArtifactBytes,
547
578
  verifyEditorialPreviewToken,
579
+ waitForGitHubWorkflowRunCompletion,
548
580
  writeMarketRegistryState
549
581
  };
@@ -1,4 +1,5 @@
1
1
  import type { ApiPrincipal, DeviceCodePollRequest, DeviceCodePollResponse, DeviceCodeStartRequest, DeviceCodeStartResponse, TokenRefreshRequest, TokenRefreshResponse } from './remote.ts';
2
+ import type { CreateProjectWebDeploymentRequest, CreateProjectWebDeploymentResponse, ProjectDeployment, ProjectDeploymentActionAvailability, ProjectDeploymentEnvironment, ProjectDeploymentEvent, ProjectDeploymentReadiness, ProjectWebDeploymentAction } from './sdk-types.ts';
2
3
  export declare const DEFAULT_TREESEED_MARKET_BASE_URL = "https://api.treeseed.ai";
3
4
  export declare const TREESEED_CENTRAL_MARKET_API_BASE_URL_ENV = "TREESEED_CENTRAL_MARKET_API_BASE_URL";
4
5
  export declare const TREESEED_MARKET_API_BASE_URL_ENV = "TREESEED_MARKET_API_BASE_URL";
@@ -26,6 +27,18 @@ export interface MarketWebAuthSession {
26
27
  principal: ApiPrincipal;
27
28
  session?: Record<string, unknown> | null;
28
29
  }
30
+ export interface MarketUserEmailAddress {
31
+ id: string;
32
+ userId: string;
33
+ email: string;
34
+ status: string;
35
+ verified: boolean;
36
+ isPrimary: boolean;
37
+ verificationRequestedAt?: string | null;
38
+ verifiedAt?: string | null;
39
+ createdAt?: string | null;
40
+ updatedAt?: string | null;
41
+ }
29
42
  export interface MarketRegistryState {
30
43
  version: 1;
31
44
  activeMarketId: string;
@@ -82,6 +95,34 @@ export interface IntegratedMarketCatalogResult<T extends Record<string, unknown>
82
95
  error: string;
83
96
  }>;
84
97
  }
98
+ export interface MarketProjectDeploymentState {
99
+ ok: true;
100
+ project: Record<string, unknown>;
101
+ launch: Record<string, unknown> | null;
102
+ environments: unknown[];
103
+ repositories: unknown[];
104
+ hosts: unknown[];
105
+ runner: Record<string, unknown>;
106
+ latestDeployments: {
107
+ staging: ProjectDeployment | null;
108
+ prod: ProjectDeployment | null;
109
+ };
110
+ latestMonitors: {
111
+ staging: Record<string, unknown> | null;
112
+ prod: Record<string, unknown> | null;
113
+ };
114
+ activeOperations: ProjectDeployment[];
115
+ recentDeployments: ProjectDeployment[];
116
+ readiness: ProjectDeploymentReadiness;
117
+ actions: ProjectDeploymentActionAvailability[];
118
+ target: Record<string, unknown> | null;
119
+ }
120
+ export interface ProjectDeploymentListFilters {
121
+ environment?: ProjectDeploymentEnvironment | string | null;
122
+ action?: ProjectWebDeploymentAction | string | null;
123
+ status?: string | null;
124
+ limit?: number | string | null;
125
+ }
85
126
  export interface MarketClientOptions {
86
127
  profile: MarketProfile;
87
128
  accessToken?: string | null;
@@ -155,6 +196,12 @@ export declare class MarketClient {
155
196
  ok: true;
156
197
  payload: MarketWebAuthSession;
157
198
  }>;
199
+ confirmWebEmail(body: {
200
+ token: string;
201
+ }): Promise<{
202
+ ok: true;
203
+ payload: MarketWebAuthSession;
204
+ }>;
158
205
  checkWebUsername(username: string): Promise<{
159
206
  ok: true;
160
207
  payload: {
@@ -163,6 +210,38 @@ export declare class MarketClient {
163
210
  status: string;
164
211
  };
165
212
  }>;
213
+ webEmails(): Promise<{
214
+ ok: true;
215
+ payload: MarketUserEmailAddress[];
216
+ }>;
217
+ addWebEmail(body: {
218
+ email: string;
219
+ }): Promise<{
220
+ ok: true;
221
+ payload: {
222
+ emailAddress: MarketUserEmailAddress;
223
+ verificationSent: boolean;
224
+ confirmationToken?: string;
225
+ };
226
+ }>;
227
+ verifyWebEmail(emailId: string): Promise<{
228
+ ok: true;
229
+ payload: {
230
+ emailAddress: MarketUserEmailAddress;
231
+ verificationSent: boolean;
232
+ confirmationToken?: string;
233
+ };
234
+ }>;
235
+ setPrimaryWebEmail(emailId: string): Promise<{
236
+ ok: true;
237
+ payload: MarketWebAuthSession & {
238
+ emailAddress: MarketUserEmailAddress;
239
+ };
240
+ }>;
241
+ deleteWebEmail(emailId: string): Promise<{
242
+ ok: true;
243
+ payload: MarketUserEmailAddress[];
244
+ }>;
166
245
  webSessions(): Promise<{
167
246
  ok: true;
168
247
  payload: unknown[];
@@ -286,10 +365,42 @@ export declare class MarketClient {
286
365
  environments: ProjectEnvironmentAccess[];
287
366
  };
288
367
  }>;
368
+ projectDeploymentState(projectId: string): Promise<MarketProjectDeploymentState>;
369
+ projectDeployments(projectId: string, filters?: ProjectDeploymentListFilters): Promise<{
370
+ ok: true;
371
+ payload: ProjectDeployment[];
372
+ }>;
373
+ projectDeployment(projectId: string, deploymentId: string): Promise<{
374
+ ok: true;
375
+ payload: ProjectDeployment;
376
+ }>;
377
+ projectDeploymentEvents(projectId: string, deploymentId: string, options?: {
378
+ limit?: number | string | null;
379
+ }): Promise<{
380
+ ok: true;
381
+ payload: ProjectDeploymentEvent[];
382
+ }>;
383
+ createProjectWebDeployment(projectId: string, body: CreateProjectWebDeploymentRequest): Promise<CreateProjectWebDeploymentResponse>;
384
+ retryProjectDeployment(projectId: string, deploymentId: string, body?: Record<string, unknown>): Promise<{
385
+ ok: true;
386
+ originalDeployment: ProjectDeployment;
387
+ retryDeployment: ProjectDeployment;
388
+ operation: Record<string, unknown>;
389
+ }>;
390
+ resumeProjectDeployment(projectId: string, deploymentId: string, body?: Record<string, unknown>): Promise<Record<string, unknown>>;
391
+ cancelProjectDeployment(projectId: string, deploymentId: string, body?: Record<string, unknown>): Promise<{
392
+ ok: true;
393
+ deployment: ProjectDeployment;
394
+ cancellation: "completed" | "requested" | string;
395
+ }>;
289
396
  teamCapacity(teamId: string): Promise<{
290
397
  ok: true;
291
398
  payload: Record<string, unknown>;
292
399
  }>;
400
+ teamCapacityProviders(teamId: string): Promise<{
401
+ ok: true;
402
+ payload: unknown[];
403
+ }>;
293
404
  launchManagedCapacityProvider(teamId: string, body?: Record<string, unknown>): Promise<{
294
405
  ok: true;
295
406
  payload: Record<string, unknown>;
@@ -306,10 +417,34 @@ export declare class MarketClient {
306
417
  ok: true;
307
418
  payload: unknown[];
308
419
  }>;
420
+ updateCapacityProvider(teamId: string, providerId: string, body: Record<string, unknown>): Promise<{
421
+ ok: true;
422
+ provider: Record<string, unknown>;
423
+ }>;
309
424
  createCapacityGrant(teamId: string, body: Record<string, unknown>): Promise<{
310
425
  ok: true;
311
426
  payload: Record<string, unknown>;
312
427
  }>;
428
+ executionProviders(teamId: string, providerId: string): Promise<{
429
+ ok: true;
430
+ payload: unknown[];
431
+ }>;
432
+ createExecutionProvider(teamId: string, providerId: string, body: Record<string, unknown>): Promise<{
433
+ ok: true;
434
+ payload: Record<string, unknown>;
435
+ }>;
436
+ updateExecutionProvider(teamId: string, providerId: string, executionProviderId: string, body: Record<string, unknown>): Promise<{
437
+ ok: true;
438
+ payload: Record<string, unknown>;
439
+ }>;
440
+ createExecutionProviderNativeLimit(teamId: string, providerId: string, executionProviderId: string, body: Record<string, unknown>): Promise<{
441
+ ok: true;
442
+ payload: Record<string, unknown>;
443
+ }>;
444
+ projectCapacityPlan(projectId: string, environment?: string | null): Promise<{
445
+ ok: true;
446
+ payload: Record<string, unknown>;
447
+ }>;
313
448
  planSeed(seedName: string, body: Record<string, unknown>): Promise<Record<string, unknown>>;
314
449
  applySeed(seedName: string, body: Record<string, unknown>): Promise<Record<string, unknown>>;
315
450
  listSeedRuns(limit?: number): Promise<{