@lota-sdk/shared 0.1.21 → 0.1.22
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/package.json
CHANGED
|
@@ -7,6 +7,9 @@ export const messageMetadataSchema = z
|
|
|
7
7
|
.object({
|
|
8
8
|
agentId: z.string().optional(),
|
|
9
9
|
agentName: z.string().optional(),
|
|
10
|
+
trigger: z.enum(['user-turn', 'approval-continuation', 'plan-turn']).optional(),
|
|
11
|
+
planRunId: z.string().optional(),
|
|
12
|
+
planNodeId: z.string().optional(),
|
|
10
13
|
semanticTerminationReason: z.enum(['none', 'conflict', 'cycle-detected']).optional(),
|
|
11
14
|
inputTokens: z.number().optional(),
|
|
12
15
|
outputTokens: z.number().optional(),
|
|
@@ -153,7 +153,9 @@ export const PlanEventTypeSchema = z
|
|
|
153
153
|
'plan-created',
|
|
154
154
|
'plan-replaced',
|
|
155
155
|
'run-status-changed',
|
|
156
|
+
'ownership-transition',
|
|
156
157
|
'node-ready',
|
|
158
|
+
'node-unblocked',
|
|
157
159
|
'node-running',
|
|
158
160
|
'node-awaiting-human',
|
|
159
161
|
'node-completed',
|
|
@@ -172,6 +174,7 @@ export const PlanEventTypeSchema = z
|
|
|
172
174
|
'schedule-missed',
|
|
173
175
|
'deadline-warning',
|
|
174
176
|
'deadline-missed',
|
|
177
|
+
'escalation-triggered',
|
|
175
178
|
'node-scheduled',
|
|
176
179
|
'node-monitoring',
|
|
177
180
|
'cycle-started',
|
|
@@ -181,6 +184,9 @@ export const PlanEventTypeSchema = z
|
|
|
181
184
|
.meta({ id: 'PlanEventTypeSchema' })
|
|
182
185
|
export type PlanEventType = z.infer<typeof PlanEventTypeSchema>
|
|
183
186
|
|
|
187
|
+
export const PlanExecutionVisibilitySchema = z.enum(['visible', 'silent', 'auto'])
|
|
188
|
+
export type PlanExecutionVisibility = z.infer<typeof PlanExecutionVisibilitySchema>
|
|
189
|
+
|
|
184
190
|
const planOwnerRefSchema = z.string().trim().min(1).max(200)
|
|
185
191
|
const planOwnerOperationSchema = z.string().trim().min(1).max(200)
|
|
186
192
|
|
|
@@ -301,6 +307,16 @@ export const DeadlineSpecSchema = z
|
|
|
301
307
|
.strict()
|
|
302
308
|
export type DeadlineSpec = z.infer<typeof DeadlineSpecSchema>
|
|
303
309
|
|
|
310
|
+
export const PlanNodeEscalationSchema = z
|
|
311
|
+
.object({
|
|
312
|
+
deadlineThresholdMinutes: z.number().int().positive().optional(),
|
|
313
|
+
autoEscalateAfterMinutes: z.number().int().positive().optional(),
|
|
314
|
+
escalateToAgent: z.string().trim().min(1).max(200).optional(),
|
|
315
|
+
escalateToUser: z.boolean().default(false),
|
|
316
|
+
})
|
|
317
|
+
.strict()
|
|
318
|
+
export type PlanNodeEscalation = z.infer<typeof PlanNodeEscalationSchema>
|
|
319
|
+
|
|
304
320
|
export const NotificationSeveritySchema = z.enum(['info', 'warning', 'urgent', 'critical'])
|
|
305
321
|
export type NotificationSeverity = z.infer<typeof NotificationSeveritySchema>
|
|
306
322
|
|
|
@@ -391,6 +407,18 @@ export type NodeWorkspaceEntry = z.infer<typeof NodeWorkspaceEntrySchema>
|
|
|
391
407
|
export const NodeResultQualitySchema = z.enum(['full', 'partial']).default('full')
|
|
392
408
|
export type NodeResultQuality = z.infer<typeof NodeResultQualitySchema>
|
|
393
409
|
|
|
410
|
+
export const PlanNodeHandoffContextSchema = z
|
|
411
|
+
.object({
|
|
412
|
+
summary: z.string().trim().min(1).max(4000),
|
|
413
|
+
keyDecisions: z.array(z.string().trim().min(1).max(1000)).default([]),
|
|
414
|
+
openQuestions: z.array(z.string().trim().min(1).max(1000)).default([]),
|
|
415
|
+
risks: z.array(z.string().trim().min(1).max(1000)).default([]),
|
|
416
|
+
recommendations: z.array(z.string().trim().min(1).max(1000)).default([]),
|
|
417
|
+
references: z.array(z.string().trim().min(1).max(2000)).default([]),
|
|
418
|
+
})
|
|
419
|
+
.strict()
|
|
420
|
+
export type PlanNodeHandoffContext = z.infer<typeof PlanNodeHandoffContextSchema>
|
|
421
|
+
|
|
394
422
|
const planJsonValueSchema: z.ZodType<unknown> = z.lazy(() =>
|
|
395
423
|
z.union([z.string(), z.number(), z.boolean(), z.null(), z.array(planJsonValueSchema), planStructuredObjectSchema]),
|
|
396
424
|
)
|
|
@@ -420,12 +448,24 @@ export const PlanNodeResultSubmissionSchema = z
|
|
|
420
448
|
structuredOutput: planStructuredObjectSchema.optional(),
|
|
421
449
|
artifacts: z.array(PlanArtifactSubmissionSchema).default([]),
|
|
422
450
|
notes: z.string().trim().min(1).max(2000).optional(),
|
|
451
|
+
handoffContext: PlanNodeHandoffContextSchema.optional(),
|
|
423
452
|
quality: NodeResultQualitySchema.optional(),
|
|
424
453
|
})
|
|
425
454
|
.strict()
|
|
426
455
|
export type PlanNodeResultSubmission = z.infer<typeof PlanNodeResultSubmissionSchema>
|
|
427
456
|
export type PlanNodeResult = PlanNodeResultSubmission
|
|
428
457
|
|
|
458
|
+
export const UpstreamHandoffSchema = z
|
|
459
|
+
.object({
|
|
460
|
+
nodeId: z.string().trim().min(1).max(200),
|
|
461
|
+
label: z.string().trim().min(1).max(300),
|
|
462
|
+
ownerRef: z.string().trim().min(1).max(200),
|
|
463
|
+
ownerType: PlanNodeExecutorTypeSchema,
|
|
464
|
+
handoffContext: PlanNodeHandoffContextSchema,
|
|
465
|
+
})
|
|
466
|
+
.strict()
|
|
467
|
+
export type UpstreamHandoff = z.infer<typeof UpstreamHandoffSchema>
|
|
468
|
+
|
|
429
469
|
export interface OwnershipDispatchContext {
|
|
430
470
|
organizationId: string
|
|
431
471
|
workstreamId: string
|
|
@@ -434,6 +474,7 @@ export interface OwnershipDispatchContext {
|
|
|
434
474
|
leadAgentId: string
|
|
435
475
|
userId?: string
|
|
436
476
|
userName?: string
|
|
477
|
+
upstreamHandoffs?: UpstreamHandoff[]
|
|
437
478
|
}
|
|
438
479
|
|
|
439
480
|
export const MonitoringWindowConfigSchema = z.object({
|
|
@@ -518,8 +559,10 @@ export const PlanNodeSpecSchema = z
|
|
|
518
559
|
attachmentPolicy: 'referenced-only',
|
|
519
560
|
webPolicy: 'allowed',
|
|
520
561
|
}),
|
|
562
|
+
executionVisibility: PlanExecutionVisibilitySchema.default('auto'),
|
|
521
563
|
schedule: PlanScheduleSpecSchema.optional(),
|
|
522
564
|
deadline: DeadlineSpecSchema.optional(),
|
|
565
|
+
escalation: PlanNodeEscalationSchema.optional(),
|
|
523
566
|
monitoringConfig: MonitoringWindowConfigSchema.optional(),
|
|
524
567
|
delayAfterPredecessorMs: z.number().int().positive().optional(),
|
|
525
568
|
deliberationConfig: DeliberationForkConfigSchema.optional(),
|
|
@@ -543,6 +586,7 @@ export const PlanDraftSchema = z
|
|
|
543
586
|
title: z.string().trim().min(1).max(200),
|
|
544
587
|
objective: z.string().trim().min(1).max(2000),
|
|
545
588
|
schemas: PlanSchemaRegistrySchema.default({}),
|
|
589
|
+
defaultExecutionVisibility: PlanExecutionVisibilitySchema.default('auto'),
|
|
546
590
|
nodes: z.array(PlanNodeSpecSchema).min(1).max(32),
|
|
547
591
|
edges: z.array(PlanEdgeSpecSchema).default([]),
|
|
548
592
|
entryNodeIds: z.array(z.string().trim().min(1).max(200)).min(1).optional(),
|
|
@@ -568,6 +612,7 @@ export const PlanSpecSchema = z.object({
|
|
|
568
612
|
schemaRegistry: PlanSchemaRegistrySchema,
|
|
569
613
|
edges: z.array(PlanEdgeSpecSchema),
|
|
570
614
|
entryNodeIds: z.array(z.string()),
|
|
615
|
+
defaultExecutionVisibility: PlanExecutionVisibilitySchema.default('auto'),
|
|
571
616
|
executionMode: ExecutionModeSchema,
|
|
572
617
|
schedule: PlanScheduleSpecSchema.optional(),
|
|
573
618
|
dependencies: z.array(PlanDependencySchema).optional(),
|
|
@@ -599,8 +644,10 @@ export const PlanNodeSpecRecordSchema = z.object({
|
|
|
599
644
|
timeoutMs: z.number().int().positive().optional(),
|
|
600
645
|
toolPolicy: PlanToolPolicySchema,
|
|
601
646
|
contextPolicy: PlanContextPolicySchema,
|
|
647
|
+
executionVisibility: PlanExecutionVisibilitySchema.default('auto'),
|
|
602
648
|
schedule: PlanScheduleSpecSchema.optional(),
|
|
603
649
|
deadline: DeadlineSpecSchema.optional(),
|
|
650
|
+
escalation: PlanNodeEscalationSchema.optional(),
|
|
604
651
|
monitoringConfig: MonitoringWindowConfigSchema.optional(),
|
|
605
652
|
delayAfterPredecessorMs: z.number().int().positive().optional(),
|
|
606
653
|
deliberationConfig: DeliberationForkConfigSchema.optional(),
|
|
@@ -644,6 +691,7 @@ export const PlanNodeRunSchema = z.object({
|
|
|
644
691
|
resolvedInput: z.record(z.string(), z.unknown()).optional(),
|
|
645
692
|
latestStructuredOutput: z.record(z.string(), z.unknown()).optional(),
|
|
646
693
|
latestNotes: z.string().optional(),
|
|
694
|
+
handoffContext: PlanNodeHandoffContextSchema.optional(),
|
|
647
695
|
latestAttemptId: recordIdSchema.optional(),
|
|
648
696
|
blockedReason: z.string().optional(),
|
|
649
697
|
failureClass: PlanFailureClassSchema.optional(),
|
|
@@ -747,6 +795,7 @@ export const PlanEventSchema = z.object({
|
|
|
747
795
|
detail: z.record(z.string(), z.unknown()).optional(),
|
|
748
796
|
emittedBy: z.string(),
|
|
749
797
|
createdAt: dbDateTimeSchema,
|
|
798
|
+
deliveredAt: dbDateTimeSchema.optional(),
|
|
750
799
|
})
|
|
751
800
|
export type PlanEventRecord = z.infer<typeof PlanEventSchema>
|
|
752
801
|
|
|
@@ -767,8 +816,10 @@ export const SerializablePlanNodeSchema = z.object({
|
|
|
767
816
|
timeoutMs: z.number().int().positive().nullish(),
|
|
768
817
|
toolPolicy: PlanToolPolicySchema,
|
|
769
818
|
contextPolicy: PlanContextPolicySchema,
|
|
819
|
+
executionVisibility: PlanExecutionVisibilitySchema,
|
|
770
820
|
schedule: PlanScheduleSpecSchema.nullish(),
|
|
771
821
|
deadline: DeadlineSpecSchema.nullish(),
|
|
822
|
+
escalation: PlanNodeEscalationSchema.nullish(),
|
|
772
823
|
monitoringConfig: MonitoringWindowConfigSchema.nullish(),
|
|
773
824
|
delayAfterPredecessorMs: z.number().int().positive().nullish(),
|
|
774
825
|
deliberationConfig: DeliberationForkConfigSchema.nullish(),
|
|
@@ -778,6 +829,7 @@ export const SerializablePlanNodeSchema = z.object({
|
|
|
778
829
|
resolvedInput: z.record(z.string(), z.unknown()).nullish(),
|
|
779
830
|
latestStructuredOutput: z.record(z.string(), z.unknown()).nullish(),
|
|
780
831
|
latestNotes: z.string().nullish(),
|
|
832
|
+
handoffContext: PlanNodeHandoffContextSchema.nullish(),
|
|
781
833
|
blockedReason: z.string().nullish(),
|
|
782
834
|
failureClass: PlanFailureClassSchema.nullish(),
|
|
783
835
|
upstreamNodeIds: z.array(z.string()),
|
|
@@ -885,6 +937,7 @@ export const SerializableExecutionPlanSchema = z.object({
|
|
|
885
937
|
version: z.number().int().positive(),
|
|
886
938
|
status: PlanRunStatusSchema,
|
|
887
939
|
leadAgentId: z.string(),
|
|
940
|
+
defaultExecutionVisibility: PlanExecutionVisibilitySchema,
|
|
888
941
|
executionMode: ExecutionModeSchema,
|
|
889
942
|
schemaRegistry: PlanSchemaRegistrySchema,
|
|
890
943
|
entryNodeIds: z.array(z.string()),
|
|
@@ -35,6 +35,8 @@ export const RecentActivityMetadataSchema = z
|
|
|
35
35
|
userMessageText: z.string().optional(),
|
|
36
36
|
assistantSummary: z.string().optional(),
|
|
37
37
|
messageId: z.string().optional(),
|
|
38
|
+
planStatus: z.enum(['awaiting-human', 'blocked', 'completed', 'failed']).optional(),
|
|
39
|
+
planTitle: z.string().optional(),
|
|
38
40
|
})
|
|
39
41
|
.partial()
|
|
40
42
|
|
package/src/schemas/tools.ts
CHANGED
|
@@ -15,6 +15,7 @@ export const CONSULT_TEAM_TOOL_NAME = 'consultTeam' as const
|
|
|
15
15
|
export const CREATE_EXECUTION_PLAN_TOOL_NAME = 'createExecutionPlan' as const
|
|
16
16
|
export const REPLACE_EXECUTION_PLAN_TOOL_NAME = 'replaceExecutionPlan' as const
|
|
17
17
|
export const SUBMIT_EXECUTION_NODE_RESULT_TOOL_NAME = 'submitExecutionNodeResult' as const
|
|
18
|
+
export const SUBMIT_PLAN_TURN_RESULT_TOOL_NAME = 'submitPlanTurnResult' as const
|
|
18
19
|
export const LIST_EXECUTION_PLANS_TOOL_NAME = 'listExecutionPlans' as const
|
|
19
20
|
export const GET_EXECUTION_PLAN_DETAILS_TOOL_NAME = 'getExecutionPlanDetails' as const
|
|
20
21
|
export const GET_ACTIVE_EXECUTION_PLAN_TOOL_NAME = 'getActiveExecutionPlan' as const
|
|
@@ -70,6 +71,8 @@ export const SubmitExecutionNodeResultArgsSchema = z
|
|
|
70
71
|
.object({ runId: z.string().trim().min(1), nodeId: z.string().trim().min(1), result: PlanNodeResultSubmissionSchema })
|
|
71
72
|
.strict()
|
|
72
73
|
|
|
74
|
+
export const SubmitPlanTurnResultArgsSchema = PlanNodeResultSubmissionSchema
|
|
75
|
+
|
|
73
76
|
export const ListExecutionPlansArgsSchema = z.object({}).strict()
|
|
74
77
|
|
|
75
78
|
export const GetActiveExecutionPlanArgsSchema = z
|
|
@@ -132,6 +135,7 @@ export type ConsultTeamResultData = { responses: ConsultTeamResponseData[] }
|
|
|
132
135
|
export type CreateExecutionPlanArgs = z.infer<typeof CreateExecutionPlanArgsSchema>
|
|
133
136
|
export type ReplaceExecutionPlanArgs = z.infer<typeof ReplaceExecutionPlanArgsSchema>
|
|
134
137
|
export type SubmitExecutionNodeResultArgs = z.infer<typeof SubmitExecutionNodeResultArgsSchema>
|
|
138
|
+
export type SubmitPlanTurnResultArgs = z.infer<typeof SubmitPlanTurnResultArgsSchema>
|
|
135
139
|
export type ListExecutionPlansArgs = z.infer<typeof ListExecutionPlansArgsSchema>
|
|
136
140
|
export type ListExecutionPlansSummary = z.infer<typeof ListExecutionPlansSummarySchema>
|
|
137
141
|
export type ListExecutionPlansToolResultData = z.infer<typeof ListExecutionPlansToolResultDataSchema>
|
|
@@ -145,6 +149,7 @@ export type CoreChatTools = {
|
|
|
145
149
|
createExecutionPlan: { input: CreateExecutionPlanArgs; output: ExecutionPlanToolResultData }
|
|
146
150
|
replaceExecutionPlan: { input: ReplaceExecutionPlanArgs; output: ExecutionPlanToolResultData }
|
|
147
151
|
submitExecutionNodeResult: { input: SubmitExecutionNodeResultArgs; output: ExecutionPlanToolResultData }
|
|
152
|
+
submitPlanTurnResult: { input: SubmitPlanTurnResultArgs; output: ExecutionPlanToolResultData }
|
|
148
153
|
listExecutionPlans: { input: ListExecutionPlansArgs; output: ListExecutionPlansToolResultData }
|
|
149
154
|
getExecutionPlanDetails: { input: GetActiveExecutionPlanArgs; output: ExecutionPlanToolResultData }
|
|
150
155
|
resumeExecutionPlanRun: { input: ResumeExecutionPlanRunArgs; output: ExecutionPlanToolResultData }
|