@inf-monkeys-tech/monkeys 1.0.19 → 1.0.21
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/lib/contracts/agent.d.ts +513 -0
- package/lib/contracts/agent.d.ts.map +1 -1
- package/lib/contracts/agent.js +155 -1
- package/lib/contracts/agent.js.map +1 -1
- package/lib/contracts/tenant.d.ts +8 -0
- package/lib/contracts/tenant.d.ts.map +1 -1
- package/lib/contracts/tenant.js +1 -0
- package/lib/contracts/tenant.js.map +1 -1
- package/lib/esm/contracts/index.mjs +142 -2
- package/lib/esm/contracts/index.mjs.map +1 -1
- package/lib/esm/index.mjs +145 -2
- package/lib/esm/index.mjs.map +1 -1
- package/lib/esm/runtime/index.mjs +123 -2
- package/lib/esm/runtime/index.mjs.map +1 -1
- package/lib/esm/schemas/index.mjs +130 -2
- package/lib/esm/schemas/index.mjs.map +1 -1
- package/lib/json-schema/agent-session-command-result.schema.json +15 -0
- package/lib/json-schema/agent-session-command.schema.json +20 -0
- package/lib/json-schema/agent-session-event.schema.json +179 -0
- package/lib/json-schema/agent-session-run-event.schema.json +1501 -0
- package/lib/json-schema/agent-session-run.schema.json +72 -0
- package/lib/json-schema/agent-session-targeted-command.schema.json +302 -0
- package/lib/json-schema/agent-session-view-model.schema.json +179 -0
- package/lib/json-schema/index.json +3 -0
- package/lib/json-schema/tenant-product-config.schema.json +6 -0
- package/lib/json-schema/tenant-runtime-config.schema.json +6 -0
- package/lib/schemas/index.d.ts +504 -1
- package/lib/schemas/index.d.ts.map +1 -1
- package/lib/schemas/index.js +10 -3
- package/lib/schemas/index.js.map +1 -1
- package/package.json +1 -1
- package/test/fixtures/agent-session-runs.json +51 -0
|
@@ -6782,11 +6782,70 @@ var AgentSessionStatusSchema = z3.enum([
|
|
|
6782
6782
|
"completed",
|
|
6783
6783
|
"failed"
|
|
6784
6784
|
]);
|
|
6785
|
+
var AgentSessionTerminalStatusSchema = z3.enum(["stopped", "completed", "failed"]);
|
|
6786
|
+
var AgentSessionRunSchema = z3.object({
|
|
6787
|
+
runId: ContractIdentifierSchema,
|
|
6788
|
+
sessionId: ContractIdentifierSchema,
|
|
6789
|
+
sourceMessageId: ContractIdentifierSchema,
|
|
6790
|
+
status: AgentSessionStatusSchema,
|
|
6791
|
+
startedAt: IsoDateTimeSchema,
|
|
6792
|
+
stoppingRequestedAt: IsoDateTimeSchema.optional(),
|
|
6793
|
+
stoppedAt: IsoDateTimeSchema.optional(),
|
|
6794
|
+
completedAt: IsoDateTimeSchema.optional(),
|
|
6795
|
+
failedAt: IsoDateTimeSchema.optional(),
|
|
6796
|
+
durationMs: z3.number().nonnegative().optional()
|
|
6797
|
+
}).strict().superRefine((value, context) => {
|
|
6798
|
+
const terminalTimestamps = [value.stoppedAt, value.completedAt, value.failedAt].filter(Boolean);
|
|
6799
|
+
if (terminalTimestamps.length > 1) {
|
|
6800
|
+
context.addIssue({
|
|
6801
|
+
code: "custom",
|
|
6802
|
+
path: ["status"],
|
|
6803
|
+
message: "A run may declare only one terminal timestamp."
|
|
6804
|
+
});
|
|
6805
|
+
}
|
|
6806
|
+
const expectedTimestamp = value.status === "stopped" ? value.stoppedAt : value.status === "completed" ? value.completedAt : value.status === "failed" ? value.failedAt : void 0;
|
|
6807
|
+
if (AgentSessionTerminalStatusSchema.safeParse(value.status).success && !expectedTimestamp) {
|
|
6808
|
+
context.addIssue({
|
|
6809
|
+
code: "custom",
|
|
6810
|
+
path: [value.status === "stopped" ? "stoppedAt" : value.status === "completed" ? "completedAt" : "failedAt"],
|
|
6811
|
+
message: `Run status ${value.status} requires its matching terminal timestamp.`
|
|
6812
|
+
});
|
|
6813
|
+
}
|
|
6814
|
+
if (!AgentSessionTerminalStatusSchema.safeParse(value.status).success && terminalTimestamps.length > 0) {
|
|
6815
|
+
context.addIssue({
|
|
6816
|
+
code: "custom",
|
|
6817
|
+
path: ["status"],
|
|
6818
|
+
message: "A non-terminal run must not declare a terminal timestamp."
|
|
6819
|
+
});
|
|
6820
|
+
}
|
|
6821
|
+
if ((value.status === "stopping" || value.status === "stopped") && !value.stoppingRequestedAt) {
|
|
6822
|
+
context.addIssue({
|
|
6823
|
+
code: "custom",
|
|
6824
|
+
path: ["stoppingRequestedAt"],
|
|
6825
|
+
message: `Run status ${value.status} requires stoppingRequestedAt.`
|
|
6826
|
+
});
|
|
6827
|
+
}
|
|
6828
|
+
if (!isAgentSessionTerminalStatus(value.status) && value.durationMs !== void 0) {
|
|
6829
|
+
context.addIssue({
|
|
6830
|
+
code: "custom",
|
|
6831
|
+
path: ["durationMs"],
|
|
6832
|
+
message: "Only a terminal run may declare durationMs."
|
|
6833
|
+
});
|
|
6834
|
+
}
|
|
6835
|
+
if (isAgentSessionTerminalStatus(value.status) && value.durationMs === void 0) {
|
|
6836
|
+
context.addIssue({
|
|
6837
|
+
code: "custom",
|
|
6838
|
+
path: ["durationMs"],
|
|
6839
|
+
message: `Terminal run status ${value.status} requires durationMs.`
|
|
6840
|
+
});
|
|
6841
|
+
}
|
|
6842
|
+
});
|
|
6785
6843
|
var AgentSessionCommandTypeSchema = z3.enum(["stop", "resume", "retry", "approval"]);
|
|
6786
6844
|
var AgentSessionCommandHeaderSchema = z3.object({
|
|
6787
6845
|
contract: z3.literal("AgentSessionCommand"),
|
|
6788
6846
|
commandId: ContractIdentifierSchema,
|
|
6789
6847
|
sessionId: ContractIdentifierSchema,
|
|
6848
|
+
runId: ContractIdentifierSchema.optional(),
|
|
6790
6849
|
idempotencyKey: ContractIdentifierSchema,
|
|
6791
6850
|
expectedSequence: z3.number().int().min(-1),
|
|
6792
6851
|
issuedAt: IsoDateTimeSchema
|
|
@@ -6811,8 +6870,14 @@ var AgentSessionCommandSchema = z3.discriminatedUnion("commandType", [
|
|
|
6811
6870
|
reason: z3.string().trim().min(1).optional()
|
|
6812
6871
|
})
|
|
6813
6872
|
]);
|
|
6873
|
+
var AgentSessionTargetedCommandSchema = AgentSessionCommandSchema.and(
|
|
6874
|
+
z3.object({ runId: ContractIdentifierSchema })
|
|
6875
|
+
);
|
|
6814
6876
|
var AgentSessionCommandErrorCodeSchema = z3.enum([
|
|
6815
6877
|
"SESSION_NOT_FOUND",
|
|
6878
|
+
"RUN_NOT_FOUND",
|
|
6879
|
+
"RUN_ALREADY_FINISHED",
|
|
6880
|
+
"STOP_TIMEOUT",
|
|
6816
6881
|
"COMMAND_NOT_SUPPORTED",
|
|
6817
6882
|
"CAPABILITY_UNAVAILABLE",
|
|
6818
6883
|
"SEQUENCE_CONFLICT",
|
|
@@ -6827,11 +6892,13 @@ var AgentSessionCommandResultSchema = z3.object({
|
|
|
6827
6892
|
contract: z3.literal("AgentSessionCommandResult"),
|
|
6828
6893
|
commandId: ContractIdentifierSchema,
|
|
6829
6894
|
sessionId: ContractIdentifierSchema,
|
|
6895
|
+
runId: ContractIdentifierSchema.optional(),
|
|
6830
6896
|
idempotencyKey: ContractIdentifierSchema,
|
|
6831
6897
|
outcome: z3.enum(["accepted", "duplicate", "rejected", "failed"]),
|
|
6832
6898
|
sessionStatus: AgentSessionStatusSchema,
|
|
6833
6899
|
acceptedSequence: z3.number().int().nonnegative().optional(),
|
|
6834
6900
|
resultEventIds: z3.array(ContractIdentifierSchema).default([]),
|
|
6901
|
+
termination: z3.enum(["requested", "confirmed"]).optional(),
|
|
6835
6902
|
error: z3.object({
|
|
6836
6903
|
code: AgentSessionCommandErrorCodeSchema,
|
|
6837
6904
|
message: z3.string(),
|
|
@@ -6847,6 +6914,20 @@ var AgentSessionCommandResultSchema = z3.object({
|
|
|
6847
6914
|
message: requiresError ? "Rejected and failed command results require an error." : "Accepted and duplicate command results must not contain an error."
|
|
6848
6915
|
});
|
|
6849
6916
|
}
|
|
6917
|
+
if (value.termination === "requested" && value.sessionStatus !== "stopping") {
|
|
6918
|
+
context.addIssue({
|
|
6919
|
+
code: "custom",
|
|
6920
|
+
path: ["termination"],
|
|
6921
|
+
message: "A requested termination must leave the run in stopping status."
|
|
6922
|
+
});
|
|
6923
|
+
}
|
|
6924
|
+
if (value.termination === "confirmed" && !isAgentSessionTerminalStatus(value.sessionStatus)) {
|
|
6925
|
+
context.addIssue({
|
|
6926
|
+
code: "custom",
|
|
6927
|
+
path: ["termination"],
|
|
6928
|
+
message: "A confirmed termination requires a terminal run status."
|
|
6929
|
+
});
|
|
6930
|
+
}
|
|
6850
6931
|
});
|
|
6851
6932
|
var AGENT_SESSION_COMMAND_TRANSITIONS = {
|
|
6852
6933
|
stop: { queued: "stopping", running: "stopping", waiting_approval: "stopping" },
|
|
@@ -6857,10 +6938,28 @@ var AGENT_SESSION_COMMAND_TRANSITIONS = {
|
|
|
6857
6938
|
function resolveAgentSessionCommandTransition(status, commandType) {
|
|
6858
6939
|
return AGENT_SESSION_COMMAND_TRANSITIONS[commandType][status];
|
|
6859
6940
|
}
|
|
6941
|
+
function isAgentSessionTerminalStatus(status) {
|
|
6942
|
+
return AgentSessionTerminalStatusSchema.safeParse(status).success;
|
|
6943
|
+
}
|
|
6944
|
+
function canApplyAgentSessionRunStatus(current, next) {
|
|
6945
|
+
if (current === next) return true;
|
|
6946
|
+
const transitions = {
|
|
6947
|
+
queued: ["running", "stopping", "failed"],
|
|
6948
|
+
running: ["waiting_approval", "stopping", "completed", "failed"],
|
|
6949
|
+
waiting_approval: ["running", "stopping", "failed"],
|
|
6950
|
+
stopping: ["stopped", "completed", "failed"],
|
|
6951
|
+
stopped: [],
|
|
6952
|
+
completed: [],
|
|
6953
|
+
failed: []
|
|
6954
|
+
};
|
|
6955
|
+
return transitions[current].includes(next);
|
|
6956
|
+
}
|
|
6860
6957
|
var AgentSessionEventHeaderSchema = z3.object({
|
|
6861
6958
|
contract: z3.literal("AgentSessionEvent"),
|
|
6862
6959
|
eventId: ContractIdentifierSchema,
|
|
6863
6960
|
sessionId: ContractIdentifierSchema,
|
|
6961
|
+
runId: ContractIdentifierSchema.optional(),
|
|
6962
|
+
sourceMessageId: ContractIdentifierSchema.optional(),
|
|
6864
6963
|
sequence: z3.number().int().nonnegative(),
|
|
6865
6964
|
idempotencyKey: ContractIdentifierSchema,
|
|
6866
6965
|
occurredAt: IsoDateTimeSchema
|
|
@@ -6920,7 +7019,13 @@ var AgentSessionEventSchema = z3.discriminatedUnion("eventType", [
|
|
|
6920
7019
|
}),
|
|
6921
7020
|
sessionEvent("status", {
|
|
6922
7021
|
status: AgentSessionStatusSchema,
|
|
6923
|
-
detail: z3.string().optional()
|
|
7022
|
+
detail: z3.string().optional(),
|
|
7023
|
+
startedAt: IsoDateTimeSchema.optional(),
|
|
7024
|
+
stoppingRequestedAt: IsoDateTimeSchema.optional(),
|
|
7025
|
+
stoppedAt: IsoDateTimeSchema.optional(),
|
|
7026
|
+
completedAt: IsoDateTimeSchema.optional(),
|
|
7027
|
+
failedAt: IsoDateTimeSchema.optional(),
|
|
7028
|
+
durationMs: z3.number().nonnegative().optional()
|
|
6924
7029
|
}),
|
|
6925
7030
|
sessionEvent("artifact", {
|
|
6926
7031
|
artifactId: ContractIdentifierSchema,
|
|
@@ -6976,6 +7081,34 @@ var AgentSessionEventSchema = z3.discriminatedUnion("eventType", [
|
|
|
6976
7081
|
output: z3.string().optional()
|
|
6977
7082
|
})
|
|
6978
7083
|
]);
|
|
7084
|
+
var AgentSessionRunEventSchema = AgentSessionEventSchema.superRefine((value, context) => {
|
|
7085
|
+
if (!value.runId) {
|
|
7086
|
+
context.addIssue({ code: "custom", path: ["runId"], message: "Run events require runId." });
|
|
7087
|
+
}
|
|
7088
|
+
if (!value.sourceMessageId) {
|
|
7089
|
+
context.addIssue({
|
|
7090
|
+
code: "custom",
|
|
7091
|
+
path: ["sourceMessageId"],
|
|
7092
|
+
message: "Run events require sourceMessageId."
|
|
7093
|
+
});
|
|
7094
|
+
}
|
|
7095
|
+
if (value.eventType !== "status") return;
|
|
7096
|
+
const requiredTimeField = value.payload.status === "running" ? "startedAt" : value.payload.status === "stopping" ? "stoppingRequestedAt" : value.payload.status === "stopped" ? "stoppedAt" : value.payload.status === "completed" ? "completedAt" : value.payload.status === "failed" ? "failedAt" : void 0;
|
|
7097
|
+
if (requiredTimeField && !value.payload[requiredTimeField]) {
|
|
7098
|
+
context.addIssue({
|
|
7099
|
+
code: "custom",
|
|
7100
|
+
path: ["payload", requiredTimeField],
|
|
7101
|
+
message: `Run status ${value.payload.status} requires ${requiredTimeField}.`
|
|
7102
|
+
});
|
|
7103
|
+
}
|
|
7104
|
+
if (isAgentSessionTerminalStatus(value.payload.status) && value.payload.durationMs === void 0) {
|
|
7105
|
+
context.addIssue({
|
|
7106
|
+
code: "custom",
|
|
7107
|
+
path: ["payload", "durationMs"],
|
|
7108
|
+
message: `Terminal run status ${value.payload.status} requires durationMs.`
|
|
7109
|
+
});
|
|
7110
|
+
}
|
|
7111
|
+
});
|
|
6979
7112
|
var AgentSessionViewModelSchema = z3.object({
|
|
6980
7113
|
contract: z3.literal("AgentSessionViewModel"),
|
|
6981
7114
|
sessionId: ContractIdentifierSchema,
|
|
@@ -10391,7 +10524,8 @@ var TenantHeadbarModuleLeafSchema = z12.object({
|
|
|
10391
10524
|
disabled: z12.boolean().optional(),
|
|
10392
10525
|
icon: z12.string().optional(),
|
|
10393
10526
|
showQuickSwitcher: z12.boolean().optional(),
|
|
10394
|
-
showSidebar: z12.boolean().optional()
|
|
10527
|
+
showSidebar: z12.boolean().optional(),
|
|
10528
|
+
showContentFrame: z12.boolean().optional()
|
|
10395
10529
|
}).strict();
|
|
10396
10530
|
var TenantHeadbarModuleItemSchema = TenantHeadbarModuleLeafSchema.extend({
|
|
10397
10531
|
children: z12.array(TenantHeadbarModuleLeafSchema).optional()
|
|
@@ -11675,8 +11809,12 @@ export {
|
|
|
11675
11809
|
AgentSessionCommandSchema,
|
|
11676
11810
|
AgentSessionCommandTypeSchema,
|
|
11677
11811
|
AgentSessionEventSchema,
|
|
11812
|
+
AgentSessionRunEventSchema,
|
|
11813
|
+
AgentSessionRunSchema,
|
|
11678
11814
|
AgentSessionSnapshotSchema,
|
|
11679
11815
|
AgentSessionStatusSchema,
|
|
11816
|
+
AgentSessionTargetedCommandSchema,
|
|
11817
|
+
AgentSessionTerminalStatusSchema,
|
|
11680
11818
|
AgentSessionViewModelSchema,
|
|
11681
11819
|
ApplicationHandoffEndpointSchema,
|
|
11682
11820
|
ApplicationHandoffSchema,
|
|
@@ -11808,10 +11946,12 @@ export {
|
|
|
11808
11946
|
WorkflowTriggerSchema,
|
|
11809
11947
|
WorkflowValidationIssueSchema,
|
|
11810
11948
|
agentModeHasCapability,
|
|
11949
|
+
canApplyAgentSessionRunStatus,
|
|
11811
11950
|
findUnsupportedAgentSessionCapabilities,
|
|
11812
11951
|
getAgentModeCapabilities,
|
|
11813
11952
|
getAgentSessionRuntimeCapabilities,
|
|
11814
11953
|
isAgentResourceModeCompatible,
|
|
11954
|
+
isAgentSessionTerminalStatus,
|
|
11815
11955
|
normalizeAgentExecutionMode,
|
|
11816
11956
|
normalizeAgentMode,
|
|
11817
11957
|
resolveAgentSessionCommandTransition
|