@zixt/host 0.0.43 → 0.0.44
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/index.js +167 -8
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -31,7 +31,7 @@ import { homedir } from "node:os";
|
|
|
31
31
|
// package.json
|
|
32
32
|
var package_default = {
|
|
33
33
|
name: "@zixt/host",
|
|
34
|
-
version: "0.0.
|
|
34
|
+
version: "0.0.44",
|
|
35
35
|
type: "module",
|
|
36
36
|
exports: {
|
|
37
37
|
".": "./src/client.ts",
|
|
@@ -14648,7 +14648,15 @@ var ID_PREFIXES = {
|
|
|
14648
14648
|
/** One file a person attached to a chat message ('att' is taken by attempt). */
|
|
14649
14649
|
attachment: "atc",
|
|
14650
14650
|
/** One curated memory entry an agent chose to keep ('mem' is taken by member). */
|
|
14651
|
-
memory: "mry"
|
|
14651
|
+
memory: "mry",
|
|
14652
|
+
/** Org-singleton Manager configuration (PRD §8.13). */
|
|
14653
|
+
manager: "mgr",
|
|
14654
|
+
/** One Manager conversation thread (MG-2). */
|
|
14655
|
+
conversation: "cnv",
|
|
14656
|
+
/** One immutable Conversation timeline entry. */
|
|
14657
|
+
conversationEvent: "cve",
|
|
14658
|
+
/** One Manager inference call's token-metering row (MG-8). */
|
|
14659
|
+
managerUsage: "mgu"
|
|
14652
14660
|
};
|
|
14653
14661
|
var idPattern = (prefix) => new RegExp(`^${prefix}_[0-9a-f]{32}$`);
|
|
14654
14662
|
function newId(prefix) {
|
|
@@ -14671,6 +14679,9 @@ var OrgRoutineId = idSchema(ID_PREFIXES.orgRoutine, "organization routine id");
|
|
|
14671
14679
|
var BrowserSessionId = idSchema(ID_PREFIXES.browserSession, "browser session id");
|
|
14672
14680
|
var AttachmentId = idSchema(ID_PREFIXES.attachment, "attachment id");
|
|
14673
14681
|
var MemoryId = idSchema(ID_PREFIXES.memory, "memory id");
|
|
14682
|
+
var ManagerId = idSchema(ID_PREFIXES.manager, "manager id");
|
|
14683
|
+
var ConversationId = idSchema(ID_PREFIXES.conversation, "conversation id");
|
|
14684
|
+
var ConversationEventId = idSchema(ID_PREFIXES.conversationEvent, "conversation event id");
|
|
14674
14685
|
|
|
14675
14686
|
// ../../packages/contracts/src/browser.ts
|
|
14676
14687
|
var BrowserViewport = external_exports.object({
|
|
@@ -14853,7 +14864,7 @@ var ApprovalDeliveryStatus = external_exports.enum(["pending", "delivered", "no_
|
|
|
14853
14864
|
var ApprovalCategory = external_exports.union([ActionCategory, external_exports.literal("agent.question")]);
|
|
14854
14865
|
var ApprovalRequestContext = external_exports.object({
|
|
14855
14866
|
requester: external_exports.object({
|
|
14856
|
-
source: external_exports.enum(["manual", "webhook", "message", "schedule", "agent", "handoff"]).nullable(),
|
|
14867
|
+
source: external_exports.enum(["manual", "webhook", "message", "schedule", "agent", "handoff", "manager"]).nullable(),
|
|
14857
14868
|
trust: external_exports.enum(["internal", "external"]).nullable(),
|
|
14858
14869
|
contentTrust: PromptContentTrust.nullable(),
|
|
14859
14870
|
requestedBy: external_exports.string().min(1).nullable(),
|
|
@@ -15801,7 +15812,7 @@ var TaskAttemptExecutionContext = external_exports.object({
|
|
|
15801
15812
|
identity: external_exports.object({
|
|
15802
15813
|
actingAgentId: AgentId,
|
|
15803
15814
|
source: external_exports.object({
|
|
15804
|
-
source: external_exports.enum(["manual", "webhook", "message", "schedule", "agent", "handoff"]),
|
|
15815
|
+
source: external_exports.enum(["manual", "webhook", "message", "schedule", "agent", "handoff", "manager"]),
|
|
15805
15816
|
trust: external_exports.enum(["internal", "external"]),
|
|
15806
15817
|
/** Current attempt prompt authority; absent only on pre-TS-10 snapshots. */
|
|
15807
15818
|
contentTrust: PromptContentTrust.optional(),
|
|
@@ -15830,7 +15841,7 @@ var MemberTaskAttemptExecutionContext = TaskAttemptExecutionContext.omit({
|
|
|
15830
15841
|
identity: external_exports.object({
|
|
15831
15842
|
actingAgentId: AgentId,
|
|
15832
15843
|
source: external_exports.object({
|
|
15833
|
-
source: external_exports.enum(["manual", "webhook", "message", "schedule", "agent", "handoff"]),
|
|
15844
|
+
source: external_exports.enum(["manual", "webhook", "message", "schedule", "agent", "handoff", "manager"]),
|
|
15834
15845
|
trust: external_exports.enum(["internal", "external"]),
|
|
15835
15846
|
contentTrust: PromptContentTrust.optional(),
|
|
15836
15847
|
requestedBy: external_exports.null(),
|
|
@@ -15915,7 +15926,8 @@ var TaskStatus = external_exports.enum([
|
|
|
15915
15926
|
"cancelled"
|
|
15916
15927
|
]);
|
|
15917
15928
|
var TaskOrigin = external_exports.object({
|
|
15918
|
-
|
|
15929
|
+
/** `manager` = delegated from a Manager Conversation (MG-4). */
|
|
15930
|
+
source: external_exports.enum(["manual", "webhook", "message", "schedule", "agent", "handoff", "manager"]),
|
|
15919
15931
|
/** TS-10: external content is data, not instructions. */
|
|
15920
15932
|
trust: external_exports.enum(["internal", "external"]),
|
|
15921
15933
|
/** Member id, connector name, or agent id — whoever caused the task. */
|
|
@@ -15984,6 +15996,12 @@ var Task = external_exports.object({
|
|
|
15984
15996
|
/** Higher runs first; FIFO within equal priority. */
|
|
15985
15997
|
priority: external_exports.number().int().min(0).max(9),
|
|
15986
15998
|
origin: TaskOrigin,
|
|
15999
|
+
/**
|
|
16000
|
+
* The Manager thread this Task was delegated from (MG-4); null for
|
|
16001
|
+
* engine-born work (webhook, schedule, provider). Lets task lists tell
|
|
16002
|
+
* thread-backed work from standalone rows without a second lookup.
|
|
16003
|
+
*/
|
|
16004
|
+
conversationId: ConversationId.nullable().default(null),
|
|
15987
16005
|
/** Formal human review is opt-in per Task; ordinary Chat defaults to none. */
|
|
15988
16006
|
reviewMode: TaskReviewMode.default("none"),
|
|
15989
16007
|
/** Assignment epoch — bumped every time the task is (re)assigned (PRD §7.4). */
|
|
@@ -16457,7 +16475,7 @@ var ListTasksResponse = external_exports.object({
|
|
|
16457
16475
|
});
|
|
16458
16476
|
|
|
16459
16477
|
// ../../packages/contracts/src/protocol.ts
|
|
16460
|
-
var PROTOCOL_VERSION =
|
|
16478
|
+
var PROTOCOL_VERSION = 6;
|
|
16461
16479
|
var TASK_CANCEL_ACK_EVENT = "zixt.task.cancel.acknowledged";
|
|
16462
16480
|
var TASK_CREDENTIAL_ROLLOVER_ACK_EVENT = "zixt.task.credential_rollover.acknowledged";
|
|
16463
16481
|
var UnwoundAssignmentRef = external_exports.object({
|
|
@@ -16960,7 +16978,18 @@ var TaskAssign = external_exports.object({
|
|
|
16960
16978
|
* so protocol-v5 outbox rows and hosts remain parseable during rollout;
|
|
16961
16979
|
* current clouds always populate it for newly dispatched work.
|
|
16962
16980
|
*/
|
|
16963
|
-
origin: TaskOrigin.pick({
|
|
16981
|
+
origin: TaskOrigin.pick({ trust: true }).extend({
|
|
16982
|
+
/**
|
|
16983
|
+
* Trigger classification, kept as a lenient string on the wire on
|
|
16984
|
+
* purpose. The Host uses it for a display label and telemetry only,
|
|
16985
|
+
* never for behavior, while the enum on the durable Task keeps its
|
|
16986
|
+
* closed meaning. Parsing it strictly here made adding one source
|
|
16987
|
+
* (`manager`) a breaking wire change: a Host built against the older
|
|
16988
|
+
* enum failed the whole frame union and dropped `task.assign`
|
|
16989
|
+
* silently, so the work sat Assigned forever with no diagnosis. An
|
|
16990
|
+
* unknown value now degrades to an unlabeled source instead.
|
|
16991
|
+
*/
|
|
16992
|
+
source: external_exports.string().min(1).max(64),
|
|
16964
16993
|
/** Cloud-verified provider source; never inferred from provider-authored text. */
|
|
16965
16994
|
provider: ProviderKind.optional(),
|
|
16966
16995
|
/**
|
|
@@ -18553,6 +18582,134 @@ var LinearOAuthPopupMessage = external_exports.discriminatedUnion("ok", [
|
|
|
18553
18582
|
LinearOAuthPopupFailure
|
|
18554
18583
|
]);
|
|
18555
18584
|
|
|
18585
|
+
// ../../packages/contracts/src/manager.ts
|
|
18586
|
+
var MANAGER_DISPLAY_NAME_MAX = 60;
|
|
18587
|
+
var MANAGER_INSTRUCTIONS_MAX = 2e4;
|
|
18588
|
+
var CONVERSATION_MESSAGE_MAX = 1e5;
|
|
18589
|
+
var CONVERSATION_LIST_LIMIT = 50;
|
|
18590
|
+
var ManagerReasoningEffort = external_exports.enum([
|
|
18591
|
+
"none",
|
|
18592
|
+
"minimal",
|
|
18593
|
+
"low",
|
|
18594
|
+
"medium",
|
|
18595
|
+
"high",
|
|
18596
|
+
"xhigh",
|
|
18597
|
+
"max"
|
|
18598
|
+
]);
|
|
18599
|
+
var ManagerConfigProjection = external_exports.object({
|
|
18600
|
+
id: ManagerId,
|
|
18601
|
+
/** Shown in the UI and on chat channels; the persona carries the personality (MG-7). */
|
|
18602
|
+
displayName: external_exports.string().min(1).max(MANAGER_DISPLAY_NAME_MAX),
|
|
18603
|
+
/** Appended to the product-owned built-in system prompt; never replaces it. */
|
|
18604
|
+
instructions: external_exports.string().max(MANAGER_INSTRUCTIONS_MAX),
|
|
18605
|
+
model: external_exports.string().min(1).max(100),
|
|
18606
|
+
reasoningEffort: ManagerReasoningEffort,
|
|
18607
|
+
/**
|
|
18608
|
+
* Where the Manager answers on Slack. The workspace bot speaks for the
|
|
18609
|
+
* Manager (MG-1), so the per-teammate mention/DM switches that used to
|
|
18610
|
+
* decide this belong here now — an organization keeps a truthful off
|
|
18611
|
+
* switch for each surface without disconnecting the workspace.
|
|
18612
|
+
*/
|
|
18613
|
+
slack: external_exports.object({ answerMentions: external_exports.boolean(), answerDirectMessages: external_exports.boolean() }).strict(),
|
|
18614
|
+
revision: external_exports.number().int().min(0),
|
|
18615
|
+
updatedAt: external_exports.string().nullable()
|
|
18616
|
+
}).strict();
|
|
18617
|
+
var ManagerMode = external_exports.enum(["openai", "demo", "unconfigured"]);
|
|
18618
|
+
var GetManagerResponse = external_exports.object({ manager: ManagerConfigProjection, mode: ManagerMode }).strict();
|
|
18619
|
+
var UpdateManagerRequest = external_exports.object({
|
|
18620
|
+
displayName: external_exports.string().min(1).max(MANAGER_DISPLAY_NAME_MAX).optional(),
|
|
18621
|
+
instructions: external_exports.string().max(MANAGER_INSTRUCTIONS_MAX).optional(),
|
|
18622
|
+
model: external_exports.string().min(1).max(100).optional(),
|
|
18623
|
+
reasoningEffort: ManagerReasoningEffort.optional(),
|
|
18624
|
+
slack: external_exports.object({
|
|
18625
|
+
answerMentions: external_exports.boolean().optional(),
|
|
18626
|
+
answerDirectMessages: external_exports.boolean().optional()
|
|
18627
|
+
}).strict().optional(),
|
|
18628
|
+
/** Optimistic concurrency: refuse when another admin saved first. */
|
|
18629
|
+
expectedRevision: external_exports.number().int().min(0).optional()
|
|
18630
|
+
}).strict().superRefine((value, ctx) => {
|
|
18631
|
+
if (value.displayName === void 0 && value.instructions === void 0 && value.model === void 0 && value.reasoningEffort === void 0 && value.slack === void 0) {
|
|
18632
|
+
ctx.addIssue({ code: "custom", message: "nothing to update" });
|
|
18633
|
+
}
|
|
18634
|
+
});
|
|
18635
|
+
var ConversationChannel = external_exports.enum(["web", "slack", "whatsapp"]);
|
|
18636
|
+
var ConversationStatus = external_exports.enum(["idle", "thinking"]);
|
|
18637
|
+
var ConversationProjection = external_exports.object({
|
|
18638
|
+
id: ConversationId,
|
|
18639
|
+
/** First message prefix until the Manager supplies a concise title. */
|
|
18640
|
+
title: external_exports.string().min(1).max(200),
|
|
18641
|
+
channel: ConversationChannel,
|
|
18642
|
+
status: ConversationStatus,
|
|
18643
|
+
/** TS-10 origin trust of the channel; propagated into every delegated Task. */
|
|
18644
|
+
trust: external_exports.enum(["internal", "external"]),
|
|
18645
|
+
/** Subject of whoever opened the thread (member subject or provider actor). */
|
|
18646
|
+
createdBy: external_exports.string(),
|
|
18647
|
+
createdAt: external_exports.string(),
|
|
18648
|
+
lastActivityAt: external_exports.string(),
|
|
18649
|
+
archivedAt: external_exports.string().nullable()
|
|
18650
|
+
}).strict();
|
|
18651
|
+
var conversationEventBase = {
|
|
18652
|
+
id: ConversationEventId,
|
|
18653
|
+
at: external_exports.string()
|
|
18654
|
+
};
|
|
18655
|
+
var ConversationEventProjection = external_exports.discriminatedUnion("kind", [
|
|
18656
|
+
/** A human message into the Conversation. */
|
|
18657
|
+
external_exports.object({
|
|
18658
|
+
...conversationEventBase,
|
|
18659
|
+
kind: external_exports.literal("user"),
|
|
18660
|
+
text: external_exports.string(),
|
|
18661
|
+
author: external_exports.object({ subject: external_exports.string(), displayName: external_exports.string().nullable() }).strict()
|
|
18662
|
+
}).strict(),
|
|
18663
|
+
/** The Manager's prose reply. */
|
|
18664
|
+
external_exports.object({ ...conversationEventBase, kind: external_exports.literal("manager"), text: external_exports.string() }).strict(),
|
|
18665
|
+
/** One Manager tool step: a delegation, follow-up, or status check. */
|
|
18666
|
+
external_exports.object({
|
|
18667
|
+
...conversationEventBase,
|
|
18668
|
+
kind: external_exports.literal("tool"),
|
|
18669
|
+
tool: external_exports.string(),
|
|
18670
|
+
summary: external_exports.string(),
|
|
18671
|
+
taskId: TaskId.nullable(),
|
|
18672
|
+
agentId: AgentId.nullable()
|
|
18673
|
+
}).strict(),
|
|
18674
|
+
/** A mirrored child-Task event: what the teammate wrote or became. */
|
|
18675
|
+
external_exports.object({
|
|
18676
|
+
...conversationEventBase,
|
|
18677
|
+
kind: external_exports.literal("task"),
|
|
18678
|
+
taskId: TaskId,
|
|
18679
|
+
agentId: AgentId.nullable(),
|
|
18680
|
+
eventKind: external_exports.enum(["response", "error", "status", "question"]),
|
|
18681
|
+
summary: external_exports.string(),
|
|
18682
|
+
taskStatus: TaskStatus.nullable()
|
|
18683
|
+
}).strict(),
|
|
18684
|
+
/** A Manager loop failure a person should see (provider outage, refusal). */
|
|
18685
|
+
external_exports.object({ ...conversationEventBase, kind: external_exports.literal("error"), message: external_exports.string() }).strict()
|
|
18686
|
+
]);
|
|
18687
|
+
var CreateConversationRequest = external_exports.object({
|
|
18688
|
+
/** Stable client-generated key: retrying the same submission returns one Conversation. */
|
|
18689
|
+
requestId: external_exports.uuid(),
|
|
18690
|
+
message: external_exports.string().min(1).max(CONVERSATION_MESSAGE_MAX)
|
|
18691
|
+
}).strict();
|
|
18692
|
+
var PostConversationMessageRequest = external_exports.object({ message: external_exports.string().min(1).max(CONVERSATION_MESSAGE_MAX) }).strict();
|
|
18693
|
+
var UpdateConversationRequest = external_exports.object({
|
|
18694
|
+
title: external_exports.string().min(1).max(200).optional(),
|
|
18695
|
+
archived: external_exports.boolean().optional()
|
|
18696
|
+
}).strict().superRefine((value, ctx) => {
|
|
18697
|
+
if (value.title === void 0 && value.archived === void 0) {
|
|
18698
|
+
ctx.addIssue({ code: "custom", message: "nothing to update" });
|
|
18699
|
+
}
|
|
18700
|
+
});
|
|
18701
|
+
var ConversationResponse = external_exports.object({ conversation: ConversationProjection }).strict();
|
|
18702
|
+
var ListConversationsResponse = external_exports.object({ conversations: external_exports.array(ConversationProjection).max(CONVERSATION_LIST_LIMIT) }).strict();
|
|
18703
|
+
var ConversationDetailResponse = external_exports.object({
|
|
18704
|
+
conversation: ConversationProjection,
|
|
18705
|
+
events: external_exports.array(ConversationEventProjection)
|
|
18706
|
+
}).strict();
|
|
18707
|
+
var ManagerStreamFrame = external_exports.discriminatedUnion("type", [
|
|
18708
|
+
external_exports.object({ type: external_exports.literal("event"), event: ConversationEventProjection }).strict(),
|
|
18709
|
+
external_exports.object({ type: external_exports.literal("delta"), text: external_exports.string() }).strict(),
|
|
18710
|
+
external_exports.object({ type: external_exports.literal("conversation"), conversation: ConversationProjection }).strict()
|
|
18711
|
+
]);
|
|
18712
|
+
|
|
18556
18713
|
// ../../packages/contracts/src/slack.ts
|
|
18557
18714
|
var SlackInstallationProjection = external_exports.object({
|
|
18558
18715
|
id: external_exports.string(),
|
|
@@ -37694,6 +37851,8 @@ function taskSourceLabel(origin) {
|
|
|
37694
37851
|
return "Message";
|
|
37695
37852
|
case "webhook":
|
|
37696
37853
|
return "Webhook";
|
|
37854
|
+
case "manager":
|
|
37855
|
+
return "Manager";
|
|
37697
37856
|
default:
|
|
37698
37857
|
return void 0;
|
|
37699
37858
|
}
|